Hi Chengxin,
Glad to hear you'd like to make a ChimeraX plugin for US-align!  The developer documentation is here: https://www.cgl.ucsf.edu/chimerax/docs/devel/index.html.  Of particular relevance to starting out would be the developer tutorial linked on that page.  We have strived to thoroughly document how to develop a ChimeraX plugin, but it's hard to cover everything so feel free to ask questions on this list.  Other resources for resolving issues would be to look at parts of ChimeraX that carry out similar operations.  The Python source code to ChimeraX is included in every download, and is also accessible on GitHub (which also has the C++ code).  For instance the MatchMaker bundle is here: https://github.com/RBVI/ChimeraX/tree/develop/src/bundles/match_maker.  You might also want to look at what other plugin developers did.  Many of the bundles on the ChimeraX Toolshed have links to their source code repositories.  For instance, the OpenCommands code repository is here: https://github.com/ajs99778/ChimeraX_OpenCommands
Here's a very brief and partial synopsis of how things work in ChimeraX.  The current state of the ChimeraX session is encapsulated in a "session" object.  That object will be passed as an argument to the functions in your bundle that run commands and launch tools.  Among other things, the session object has a "models" attribute that encapsulates the state of the currently open models, and which can also be treated like a sequence (iterated over, indexed into).  Each model has a "scene_position" attribute that is a Place instance that controls how the model's local coordinates are transformed into the ChimeraX global coordinate space.  That's the attribute you would change to superimpose one model on another.

--Eric

Eric Pettersen
UCSF Computer Graphics Lab


On Nov 5, 2024, at 9:06 PM, Chengxin Zhang via ChimeraX-users <chimerax-users@cgl.ucsf.edu> wrote:

Dear ChimeraX developer.
I am the developer of the US-align tool for protein and nucleic  acid structure alignment. We currently offer a command line tool and a plugin for PyMOL. 

We are asked by the community to make a ChimeraX plugin. I have used ChimeraX for cryo-EM structure analysis before and know that there is a related tool called matchmaker. However, I do not know where to start to implement a matchmaker-like plugin for US-align in ChimeraX. Can you give me some recommendations and/or point me to a developer I can work with? Thanks.

Chengxin Zhang, PhD
Research Assistant Professor
Department of Computational Medicine & Bioinformatics
University of Michigan, Ann Arbor, MI
_______________________________________________
ChimeraX-users mailing list -- chimerax-users@cgl.ucsf.edu
To unsubscribe send an email to chimerax-users-leave@cgl.ucsf.edu
Archives: https://mail.cgl.ucsf.edu/mailman/archives/list/chimerax-users@cgl.ucsf.edu/