[Chimera-users] 'Automatically' annotate multiple structures

Elaine Meng meng at cgl.ucsf.edu
Sat Feb 24 10:15:13 PST 2018

Hi Joe,
I can’t answer about the python part, but two comments:

If you’re using 2D labels, it has (almost) nothing to do with the X,Y coordinates of the structures. It is simply the fractional X,Y position in the graphics window rectangle.  E.g. 0.5 0.5 means lower left corner of text is smack dab in the middle of the window.  Try using the 2D Labels graphical interface  (under Tools… Utilities) and you’ll see what I mean.  

Rather than python-scripting Chimera directly, it may be easier to have your own code write a 2d-label file (see documentation), for example:

If you’re using 3D (regular) labels, then position would be based on some atom’s position (but the “label” or “rlabel” command also takes an offset, so theoretically you could offset it 20 angstroms downward or something like that).  However, the part that I don’t know how to do (that would presumably require python) is to make the text of the 3D label the name of the model.


> On Feb 24, 2018, at 5:38 AM, Healey, Joe <J.R.J.Healey at warwick.ac.uk> wrote:
> Hi Elaine,
> Ah ok I see, thank you. A python solution would be fine too, I do have quite a lot of these to do so positioning them all by hand would be a bit of a last resort.
> Naively I would have thought an approach like defining a centroid for each structure, taking the x and y coords, then looping through each structure to acquire the model name from the python object, and then positioning the label with an offset might work?
> Is there any documentation for the python implementation of 2dlabels?
> Thanks,
> Joe
> M.Sc. B.Sc. (Hons) MSRB
> PhD Student
> MOAC CDT, Senate House
> University of Warwick
> Coventry
> CV47AL
> Mob: +44 (0) 7536 042620  |  Email: J.R.J.Healey at warwick.ac.uk
> Jointly working in:
> Waterfield Lab (WMS Microbiology and Infection Unit)
> and the Gibson Lab (Warwick Chemistry)
> Twitter: @JRJHealey  |  Website: MOAC Page | ORCID: orcid.org/0000-0002-9569-6738
> On 23 Feb 2018, at 19:07, Elaine Meng <meng at cgl.ucsf.edu> wrote:
>> Hi Joe,
>> I don’t think there is a simple way (not involving python scripting) to achieve what you want…
>> The instructions in that previous post are for 3D labels, not 2D, and they work to label the first atom in each structure by the model number:
>> labelopt info molecule
>> la @/serialNumber=1  
>> The part that specifies model number is “info molecule” and it does not have a model-name option. I see that “molecule” isn’t even documented as a choice for type of info, so I will need to add it… apparently I didn’t know about it and failed to notice the omission when that previous post appeared!  Sorry about that.  IMO, “molecule” is somewhat misleading and should be “model” instead, as there could be many different molecules in a single model.
>> <http://www.rbvi.ucsf.edu/chimera/docs/UsersGuide/midas/labelopt.html>
>> Don’t be distracted by the serial number stuff in the “label” command; it simply indicates which atoms to label: the first one in each model.  It was used simply to just get one label per model without prior knowledge of the atom names and residue numbers in each structure, since the label command potentially applies to all atoms.
>> You could use the “2dlabels” command instead, but you would have to manually specify the text for each label and its X,Y position in the graphics window (or use the 2D Labels graphical interface and place the labels by hand, which is much easier as long as you don’t have to do it too many times)
>> <http://www.rbvi.ucsf.edu/chimera/docs/UsersGuide/midas/2dlabels.html>
>> <http://www.rbvi.ucsf.edu/chimera/docs/ContributedSoftware/2dlabels/2dlabels.html>
>> Somebody else would have to advise on the Python-scripting possibilities for a more automatic approach.
>> I hope this helps,
>> Elaine
>> -----
>> Elaine C. Meng, Ph.D.                       
>> UCSF Chimera(X) team
>> Department of Pharmaceutical Chemistry
>> University of California, San Francisco
>>> On Feb 23, 2018, at 1:54 AM, Healey, Joe <J.R.J.Healey at warwick.ac.uk> wrote:
>>> Hi again Chimera team,
>>> I'm looking for a fairly quick and dirty way to apply some annotations using 2D labels to a bunch of open structures.
>>> Basically, I have ~16 structures open on screen, which I then tile to compare. I'd like the model name to be displayed just below each model so that its easy to track. I've found this thread (http://www.cgl.ucsf.edu/pipermail/chimera-users/2009-July/004081.html) which appears to be attempting a similar thing (though I'd like to use the model.name not serial number), but the approach doesn't seem to work (no labels appear and there is no information in the reply log or IDLE to give me any clues).
>>> Any suggestions/alternatives appreciated!
>>> Joe
> _______________________________________________
> Chimera-users mailing list: Chimera-users at cgl.ucsf.edu
> Manage subscription: http://plato.cgl.ucsf.edu/mailman/listinfo/chimera-users

More information about the Chimera-users mailing list