Hi Matt,

  We don’t have a guide to porting Chimera 1 extensions to ChimeraX yet.  We have not yet even made an alpha release of ChimeraX, and have just one outside developer who is writing a new extension rather than porting an old one.

  We will be providing info on porting extensions in the future.  A major ChimeraX goal is to improve support for extension developers.  Here are some basics about porting.

1) Chimera 1 uses the Tk window tookit for dialogs, menus, buttons, … while ChimeraX uses the Qt toolkit.
2) All attributes of molecules and maps are accessible from Python in both Chimera 1 and ChimeraX.
3) Methods for density maps are mostly identical in Chimera 1 and ChimeraX.
4) Methods for molecules, atoms, residues are mostly the same but with some changes (e.g. alt locs are different, chain ids can be longer than 1 character …)
5) To get better performance operating on large numbers of atoms there are new numpy array based methods to change atom attributes.
6) The packaging of an extension is different.  Chimera 1 uses a ChimeraExtension.py file.  ChimeraX uses Python wheels and a online distribution site called Tool Shed, https://cxtoolshed.rbvi.ucsf.edu, and ChimeraX menu Tools / General / Toolshed allows one click installs of any tools.
7) Chimera 1 did not provide programming API documentation, while ChimeraX has API documentation http://www.rbvi.ucsf.edu/chimerax/docs/devel/index.html
8) Chimera 1 used Python 2, ChimeraX uses Python 3.  Python 3 import statements and print statements are different and integer divide produces a float, but mostly it is the same.

Most Chimera 1 extensions have a graphical user interface in Python / Tk that is often a lot of the code.  Now we use Python / Qt because support for Tk is poor.  Qt is totally different so all graphical user interface will have to be rewritten.

Tom



On Jan 12, 2017, at 11:51 AM, Dougherty, Matthew T  wrote:

Hi Tom,

Are there any guidelines, docs or examples as to converting extensions into chimeraX?

Matthew Dougherty
National Center for Macromolecular Imaging
Baylor College of Medicine
=================================================
=================================================