<div dir="ltr"><div>Hi again! Thank you for all the answers from last time. It was very helpful.</div><div><br></div><div>I have another question. I was trying to save extra attributes on a marker model from a cmm file and ran into some issues.</div><div><br></div><div>I made a function to test it out using:</div><div>
<span style="white-space:pre-wrap"></span>marker_set.save_marker_attribute_in_sessions('marker_extra_attributes', Dict[str, str])
</div><div><br></div><div>and got an error:<br><p style="margin:0px;text-indent:0px;white-space:pre-wrap">ValueError: error processing: 'attribute registration' -> : No bundle information for typing._GenericAlias<br><br>File "C:\Program Files\ChimeraX 1.2.5\bin\lib\site-packages\chimerax\core\session.py", line 262, in discovery<br>raise ValueError("error processing: %s: %s" % (_obj_stack(parents, obj), e))<br></p><p style="margin:0px;text-indent:0px;white-space:pre-wrap"><br><span style="font-style:italic"></span></p><p style="margin:0px;text-indent:0px;white-space:pre-wrap">Is it only possible to save more primitive types or can I fix this somehow?</p><p style="margin:0px;text-indent:0px;white-space:pre-wrap"><br></p><p style="margin:0px;text-indent:0px;white-space:pre-wrap">In my project the cmm files contain extra attributes that my plugin makes use of. These are the attributes that I would like to save in sessions.</p><p style="margin:0px;text-indent:0px;white-space:pre-wrap">I would like this save enabling function to be called automatically when a cmm file is opened so that I can enable saving of these attributes on file open.</p><p style="margin:0px;text-indent:0px;white-space:pre-wrap">Is there perhaps some onFileOpened that I could subscribe to, or is there another way that could allow me to achieve this?</p><p style="margin:0px;text-indent:0px;white-space:pre-wrap"><br></p><p style="margin:0px;text-indent:0px;white-space:pre-wrap">-William<br></p><p style="margin:0px;text-indent:0px;white-space:pre-wrap"><span style="font-style:italic"></span></p></div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">fre. 27. aug. 2021 kl. 22:15 skrev Tom Goddard <<a href="mailto:goddard@sonic.net">goddard@sonic.net</a>>:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word;line-break:after-white-space">Hi William,<div><br></div><div> To add a marker to an open marker set:</div><div><br></div><div><span style="white-space:pre-wrap"> </span>from chimerax.markers import MarkerSet</div><div><span style="white-space:pre-wrap"> </span>marker_sets = session.models.list(type = MarkerSet)</div><div><span style="white-space:pre-wrap"> </span>m = marker_sets[0]</div><div><span style="white-space:pre-wrap"> </span>xyz = (15.3, -34, 8.8)</div><div><span style="white-space:pre-wrap"> </span>color = (255,0,0,255) # RGBA 0-255 range.</div><div><span style="white-space:pre-wrap"> </span>radius = 2.5</div><div> m.create_marker(xyz, color, radius)</div><div><br></div><div>I see MarkerSet is not in our online programming documentation yet. The source code is in your ChimeraX distribution under</div><div><br></div><div> chimerax/lib/python3.9/site-packages/chimerax/markers/markers.py</div><div><div><br></div><div>or on GitHub</div><div><br></div><div><span style="white-space:pre-wrap"> </span><a href="https://github.com/RBVI/ChimeraX/blob/develop/src/bundles/markers/src/markers.py" target="_blank">https://github.com/RBVI/ChimeraX/blob/develop/src/bundles/markers/src/markers.py</a></div><div><br></div><div>The marker_extra_attributes is saved and restored in cmm files. For ChimeraX session files you can get extra attributes to save by saying what attributes you want saved</div><div><br></div><div><span style="white-space:pre-wrap"> </span>marker_set.save_marker_attribute_in_sessions('myattribute', float)</div><div><br></div><div> For placing geometric surfaces in the scene look at the shape command</div><div><br></div><div><span style="white-space:pre-wrap"> </span><a href="https://www.cgl.ucsf.edu/chimerax/docs/user/commands/shape.html" target="_blank">https://www.cgl.ucsf.edu/chimerax/docs/user/commands/shape.html</a></div><div><br></div><div>Surprised there is no cube shape, but maybe rectangle with the slab option can make a cube. Python code is here</div><div><br></div><div><span style="white-space:pre-wrap"> </span><a href="https://github.com/RBVI/ChimeraX/blob/develop/src/bundles/shape/src/shape.py" target="_blank">https://github.com/RBVI/ChimeraX/blob/develop/src/bundles/shape/src/shape.py</a></div><div><br></div><div>for example</div><div><br></div><div><span style="white-space:pre-wrap"> </span>from chimerax.shape.shape import shape_rectangle</div><div><span style="white-space:pre-wrap"> </span>model = shape_rectangle(session, width = 10, height = 10, slab = (-5,5), mesh = True)</div><div><br></div><div> Tom</div><div><br></div><div><br><blockquote type="cite"><div>On Aug 27, 2021, at 8:21 AM, William Hofsøy via ChimeraX-users <<a href="mailto:chimerax-users@cgl.ucsf.edu" target="_blank">chimerax-users@cgl.ucsf.edu</a>> wrote:</div><br><div><div dir="ltr"><div>Hi, I'm currently working on a plugin that deals with a cmm-file model and have a few questions about how to do certain things. Mainly I would like to be able to modify the model by adding new markers and links to the model. I have managed to figure out how to make new markersets and add them to the session but not how to alter existing ones aka the model that I load from the cmm file.</div><div>Additionally I am making use of the marker_extra_attributes info since the cmm file im reading has attributes there that I need, but as I read in the documentation these aren't saved in sessions and I wondered if there is a way to do just that.<br></div><div>Lastly, I was wondering if it is possible to place any mesh in the scene, for instance a cube.</div><div><br></div><div>-William<br></div></div>
_______________________________________________<br>ChimeraX-users mailing list<br><a href="mailto:ChimeraX-users@cgl.ucsf.edu" target="_blank">ChimeraX-users@cgl.ucsf.edu</a><br>Manage subscription:<br><a href="https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users" target="_blank">https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users</a><br></div></blockquote></div><br></div></div></blockquote></div></div></div>