[Chimera-users] Chimera scripting question

Elaine Meng meng at cgl.ucsf.edu
Mon Sep 25 12:46:09 PDT 2017

Hi Oli,
I’ll have to leave it to the Python-eers to answer the question you actually asked… but I wanted to let people know that similar things are available through the graphical user interface.  “B” is more similar to what you were asking about because it uses intrachain distances only.

(A) RMSD for each set of equivalenced residues across multiple structures can be assigned as a residue attribute via Multalign Viewer.  This, however, depends on the superposition and does not separate local flexibility from domain displacements.  You could, however, repeatedly change the superposition and only superimpose the residues within a sliding window along the sequence or something like that.

(B) the more obscure tool “RR Distance Maps” (under Tools… Structure Comparison) does not rely on a superposition.  It calculates all-by-all intrachain CA-CA distances, and even more to the point, allows comparisons among sequence-alignable structures as average and standard deviation of the distances among equivalenced residue pairs. All of the values can be dumped to a text file using the “Export” button.

Instructions for (A) mostly involve Multalign Viewer:

- open structures
- show sequence of one structure (Favorites… Sequence)
- associate all structures with that sequence (sequence window Structures menu)
- in sequence window, using Headers menu, show RMSD header (CA or other choices)
- superimpose (any method), use values, re-superimpose if desired to get different values, ...

Per-residue RMSD value shown in the histogram above the alignment is automatically assigned as an attribute, see

Elaine C. Meng, Ph.D. 
UCSF Chimera(X) team
Department of Pharmaceutical Chemistry
University of California, San Francisco

> On Sep 25, 2017, at 12:18 PM, Oliver Clarke <olibclarke at gmail.com> wrote:
> Hi,
> I’d like to do the following (presumably with a python script):
> For each pair of Calphas in two identical structures A and B:
> 	Get list of other Calphas within distance cutoff of Calpha(0) for each conformation (say 10 Å);
> 	For each Calpha in list:
> 		Calc distance difference diff_dist between Calpha(0—>A), Calpha(0—>B)	
> 	average(diff_dist) over list and assign to attribute
> So more or less, I think I need to 
> (1) iterate through all Calphas of the first structure (this part I get); 
> (2) check if there is an equivalent Calpha in the second structure (same residue number and chain I guess?); 
> (3) get a list of nearby Calphas, merged between structures (not exactly sure about this but I think I found something in an example I can adapt) 
> (4) calculate distances, then difference-distances between the paired structures, from each target Calpha;
> (5) assign the averaged difference distance to an attribute (I think I can figure out this bit)
> Any suggestions much appreciated (or if anyone can point me towards similar scripts I can adapt the would also be most welcome!)
> The intent of this is to generate an attribute representing local structural flexibility (independent of displacement) - to capture changes in the local arrangements of atoms, decoupled from rigid displacements of domains. The idea is this may be useful for highlighting hinge regions and regions that have undergone plastic deformation, without pre-aligning structures.
> Cheers
> Oli

More information about the Chimera-users mailing list