[Chimera-users] Proportional representation of missing segments?
Eric Pettersen
pett at cgl.ucsf.edu
Mon Sep 28 14:09:48 PDT 2015
Hi Oliver,
This is good idea, but like the mantra you’ve been hearing recently — more likely to show up in Chimera 2. Aside from Elaine’s suggestions, there are couple of things you can do in Chimera 1. By far the easiest is to show the sequence for the chain. The red boxes on the sequence will be as long as the number of missing residues. You could select the residues that bookend the box to get an idea of which missing segment it is in the 3D model.
The harder thing, but which you seem willing to try, is to write an extension to create an alternate depiction. Your extension could register for the PseudoBond trigger (http://www.cgl.ucsf.edu/chimera/docs/ProgrammersGuide/Examples/Main_AtomTrigger.html <http://www.cgl.ucsf.edu/chimera/docs/ProgrammersGuide/Examples/Main_AtomTrigger.html>) and in your callback function look through the PseudoBond ‘created’ list and if pb.category is chimera.LONGBOND_PBG_NAME then that pseudobond is a missing segment pseudobond and you can go to town. One simple thing you could do is label the pseudobond with the number of missing residues, e.g.:
pb.label = str(abs(pb.atoms[0].residue.if.position - pb.atoms[1].residue.id.position) - 1) + “ residues”
While the above is accurate in most situations, there are some where it would be slightly off, if say there were insertion codes in the missing segment. A more accurate method would be to look in the chain’s Sequence and see how far apart the residues are in the Sequence’s “residues” list. Seems a little like overkill, but I’m just putting it out there.
—Eric
Eric Pettersen
UCSF Computer Graphics Lab
> On Sep 26, 2015, at 12:36 PM, Oliver Clarke <olibclarke at gmail.com> wrote:
>
> Hi all,
>
> I think it would be handy, in a future version of chimera, to have an option to represent missing segments in a manner that is proportional to the volume of protein missing - this would be very useful for getting a sense of which chain breaks correspond to very large missing regions (e.g. whole domains), and which correspond to short linkers or loops that are missing.
>
> For example, in the structure of the ryanodine receptor, there are missing segments ranging in length from ~5-250 residues in length - it would be very handy to be able to get a quick sense, upon first opening a structure, about what fraction of the crystallized or reconstructed protein is actually present in the model.
>
> I can think of a couple of ways of doing this. One way would be to associate an attribute with each missing segment, corresponding to the number of missing residues, and allow the user to scale the radius, color or opacity of the missing segments in proportion to this value (maybe this attribute already exists somewhere internally?).
>
> Another way might be to create a completely different missing segment representation - perhaps an ellipsoid, with the ends of the ellipsoid at the N and C-terminal breakpoints, and the volume of the ellipsoid scaled to the volume of a random polymer of the known number of missing residues.
>
> I would try to do this myself by creating an extension, but I don’t really know where to start to get the information that would be required - I don’t know how to iterate over all missing segments, calculate the number of residues in each, and create a new representation. I guess there is probably a list somewhere in Chimera corresponding to the missing segments and their properties, but I have no idea how to find it.
>
> Cheers,
> Oliver.
>
>
>
> _______________________________________________
> Chimera-users mailing list
> Chimera-users at cgl.ucsf.edu
> http://plato.cgl.ucsf.edu/mailman/listinfo/chimera-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://plato.cgl.ucsf.edu/pipermail/chimera-users/attachments/20150928/9c63c006/attachment.html>
More information about the Chimera-users
mailing list