<div dir="ltr"><div><div>Thanks Eric and Elaine as always! I will take a look at the documentation you linked to Eric, this looks interesting and if I have a way to iterate through all the long bonds I can probably figure something out - I will post back to the bb if I get something working that I think might be useful to anyone else out there.<br><br></div>Cheers,<br></div>Oliver.<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Sep 28, 2015 at 5:09 PM, Eric Pettersen <span dir="ltr"><<a href="mailto:pett@cgl.ucsf.edu" target="_blank">pett@cgl.ucsf.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">Hi Oliver,<div><span style="white-space:pre-wrap">    </span>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.</div><div><span style="white-space:pre-wrap">       </span>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 (<a href="http://www.cgl.ucsf.edu/chimera/docs/ProgrammersGuide/Examples/Main_AtomTrigger.html" target="_blank">http://www.cgl.ucsf.edu/chimera/docs/ProgrammersGuide/Examples/Main_AtomTrigger.html</a>) 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.:</div><div><br></div><div><span style="white-space:pre-wrap">       </span>pb.label = str(abs(pb.atoms[0].residue.if.position - pb.atoms[1].residue.id.position) - 1) + “ residues”</div><div><br></div><div>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.</div><div><br></div><div>—Eric</div><div><br><div>
<div style="color:rgb(0,0,0);letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;word-wrap:break-word"><div><span style="white-space:pre-wrap">        </span>Eric Pettersen</div><div><span style="white-space:pre-wrap">   </span>UCSF Computer Graphics Lab</div></div><br>

</div>
<br><div><blockquote type="cite"><span class=""><div>On Sep 26, 2015, at 12:36 PM, Oliver Clarke <<a href="mailto:olibclarke@gmail.com" target="_blank">olibclarke@gmail.com</a>> wrote:</div><br></span><div><div><div class="h5">Hi all,<br><br>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.<br><br>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.<br><br>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?).<br><br>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.<br><br>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.<br><br>Cheers,<br>Oliver.<br><br><br><br></div></div>_______________________________________________<br>Chimera-users mailing list<br><a href="mailto:Chimera-users@cgl.ucsf.edu" target="_blank">Chimera-users@cgl.ucsf.edu</a><br><a href="http://plato.cgl.ucsf.edu/mailman/listinfo/chimera-users" target="_blank">http://plato.cgl.ucsf.edu/mailman/listinfo/chimera-users</a><br><br></div></blockquote></div><br></div></div></blockquote></div><br></div>