[chimera-dev] Creating graphics objects from Python code

Tom Goddard goddard at sonic.net
Wed Jan 12 08:53:08 PST 2011


  Hi Konrad,

   This is certainly a bug and we'll fix it today.  The fix will be in 
tonight's Chimera daily builds (compiled 9 pm - midnight Pacific time).  
Thanks for reporting it.

     Tom

>
> This works perfectly well, except for one point: a session containing
> such models cannot be saved to a session file:
>
> Traceback (most recent call last):
>     File "/Applications/Chimera.app/Contents/Resources/lib/python2.7/
> site-packages/Pmw/Pmw_1_3/lib/PmwBase.py", line 1747, in __call__
>       return apply(self.func, args)
>     File "/Applications/Chimera.app/Contents/Resources/share/chimera/
> baseDialog.py", line 342, in command
>       getattr(s, buttonFuncName(txt))()
>     File "/Applications/Chimera.app/Contents/Resources/share/OpenSave/
> __init__.py", line 237, in Save
>       getattr(self, self.keepEquiv())()
>     File "/Applications/Chimera.app/Contents/Resources/share/chimera/
> baseDialog.py", line 560, in OK
>       self.Apply()
>     File "/Applications/Chimera.app/Contents/Resources/share/OpenSave/
> __init__.py", line 169, in Apply
>       self.command(1, self)
>     File "/Applications/Chimera.app/Contents/Resources/share/
> SimpleSession/gui.py", line 24, in _saveCB
>       saveSession(paths[0])
>     File "/Applications/Chimera.app/Contents/Resources/share/
> SimpleSession/save.py", line 151, in saveSession
>       source = v.openedAs[0]
> AttributeError: '_vrml.VRMLModel' object has no attribute 'openedAs'
>
> Should this be considered a bug or the fair punishment for using
> undocumented features?
>
> Konrad.
> --
> ---------------------------------------------------------------------
> Konrad Hinsen
> Centre de Biophysique Moléculaire, CNRS Orléans
> Synchrotron Soleil - Division Expériences
> Saint Aubin - BP 48
> 91192 Gif sur Yvette Cedex, France
> Tel. +33-1 69 35 97 15
> E-Mail: research at  khinsen dot fastmail dot net
> ---------------------------------------------------------------------
>

On 7 Jan 2011, at 19:12, Tom Goddard wrote:


>   You can use the Chimera BILD format without creating a temporary
> file by creating a string containing the commands, then use StringIO
> to make a file object from that string and open it.  For example,
>
>     from StringIO import StringIO
>     bild = StringIO(".cylinder %g %g %g %g %g %g %g\n"
>                 % (end1[0], end1[1], end1[2], end2[0], end2[1],
> end2[2], radius))
>     from chimera import openModels
>     model = openModels.open(bild, type="Bild", identifyAs='My
> annotations', sameAs = mol)
>
> The identifyAs argument assigns the name to the new model that will
> be shown in the Model Panel dialog.  The sameAs argument says that
> the new model should be aligned with the specified model (same
> positioning transform).




More information about the Chimera-dev mailing list