How do I store output from evalrasmolscript as workspace variables?

Hi
I have a script that loads a pdb molecule file into molviewer and I would like to import information obtained using the evalrasmolscript function into the MATLAB Workspace. Is this possible, and how?
For example, I want to import the (x,y,z) coordinates of an atom selected in molviewer:
% Load pdb from online database (takes a few seconds)
h = molviewer('4INS');
% Set selection mode in viewer to single atoms:
evalrasmolscript(h,'select none; set picking SELECT ATOM; selectionHalos ON')
% Wait while a selection is made
pause
% Print x, y, and z coordinates of selected atom:
evalrasmolscript(h,'print {selected}.atomX; print {selected}.atomY; print {selected}.atomZ')
This prints the desired information of the selected atom (i.e. x, y and z coordinates) to the jmol script console and the MATLAB command window. However, I want to store the information directly in a workspace variable xyz = [x y z]. Is that somehow possible?
Thanks,
Søren

3 commentaires

A dirty solution that seems to work is to save the command window text in a cell array of strings and then use cell2mat. I.e. last line in above code replaced by:
clc
evalrasmolscript(handles.mv,'print {selected}.xyz')
c = command_window_text(1); % File exchange function
xyz = cell2mat(eval(c{1}));
(I tried using evalc instead of command_window_text, but for some reason the information sent by jmol to the command window is not read by neither evalc nor diary)
In the end I would like a standalone executable of the program in which case I cannot use the 'save command window text'-strategy.
So any other suggestions are still very welcome.
Søren
Dean Strotz
Dean Strotz le 22 Déc 2012
Modifié(e) : Dean Strotz le 22 Déc 2012
Søren,
Did you find a proper solution by now?
Maybe there is a way to get the required variables directly ? I have been trying to find out if I could retrieve and assign to a variable through appdata or findobj etc. No success so far.
Dean

Connectez-vous pour commenter.

Réponses (0)

Catégories

En savoir plus sur Data Import and Export dans Centre d'aide et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by