[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