Hi again! Thank you for all the answers from last time. It was very helpful.

I have another question. I was trying to save extra attributes on a marker model from a cmm file and ran into some issues.

I made a function to test it out using:
marker_set.save_marker_attribute_in_sessions('marker_extra_attributes', Dict[str, str])

and got an error:

ValueError: error processing: 'attribute registration' -> : No bundle information for typing._GenericAlias

File "C:\Program Files\ChimeraX 1.2.5\bin\lib\site-packages\chimerax\core\session.py", line 262, in discovery
raise ValueError("error processing: %s: %s" % (_obj_stack(parents, obj), e))


Is it only possible to save more primitive types or can I fix this somehow?


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.

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.

Is there perhaps some onFileOpened that I could subscribe to, or is there another way that could allow me to achieve this?


-William


fre. 27. aug. 2021 kl. 22:15 skrev Tom Goddard <goddard@sonic.net>:
Hi William,

  To add a marker to an open marker set:

from chimerax.markers import MarkerSet
marker_sets = session.models.list(type = MarkerSet)
m = marker_sets[0]
xyz = (15.3, -34, 8.8)
color = (255,0,0,255)  # RGBA 0-255 range.
radius = 2.5
        m.create_marker(xyz, color, radius)

I see MarkerSet is not in our online programming documentation yet.  The source code is in your ChimeraX distribution under

   chimerax/lib/python3.9/site-packages/chimerax/markers/markers.py

or on GitHub


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

marker_set.save_marker_attribute_in_sessions('myattribute', float)

  For placing geometric surfaces in the scene look at the shape command


Surprised there is no cube shape, but maybe rectangle with the slab option can make a cube.  Python code is here


for example

from chimerax.shape.shape import shape_rectangle
model = shape_rectangle(session, width = 10, height = 10, slab = (-5,5), mesh = True)

  Tom


On Aug 27, 2021, at 8:21 AM, William Hofsøy via ChimeraX-users <chimerax-users@cgl.ucsf.edu> wrote:

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.
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.
Lastly, I was wondering if it is possible to place any mesh in the scene, for instance a cube.

-William
_______________________________________________
ChimeraX-users mailing list
ChimeraX-users@cgl.ucsf.edu
Manage subscription:
https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users