<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div>On Jul 20, 2009, at 10:37 PM, <a href="mailto:ylei@ecs.umass.edu">ylei@ecs.umass.edu</a> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>Hi all<br><br>I'm trying to get the rotamers for the given residue along the  <br>backbone using Dunbrack Backbone Dependent Library. So far, I want to  <br>use getRotamers function. But when running this command in the python  <br>shell, I got this error "No module named Dunbrack". I don't know if  <br>there is a module "Dunbrack" which I should import first.<br></div></blockquote><div><br></div>I guess I need more details about how you tried to "use" the getRotamers function.  Were you using Chimera's IDLE interpreter?  Your own version of Python?  What was the code exactly?</div><div><br><blockquote type="cite"><div>Moreover, besides getRotamers, there are several other functions, e.g.  <br>getRotamerParams, extractResInfo, useRotamer, RotamerLibraryInfo,  <br>registerLibrary, useBestRotamers, etc and a class called RotamerParams  <br>in the same file. I also found there are two associated functions in  <br>the Dunbrack folder, say, dependentRotamerParams and  <br>independentRotamerParams, which are used in the above functions.<br><br>Can someone help me distinguish these functions? Which one will be  <br>useful if I need a full set of rotamers for certain purpose (i.e.  <br>side-chain structure prediction) given the backbone?</div></blockquote><br></div><div>Here's a brief rundown on what the functions you listed do:</div><div><br></div><div><b>getRotamers</b>:  Takes a Residue instance and optionally phi/psi angles (if different from the Residue), residue type (<i>e.g.</i> "TYR"), and/or rotamer library name.  Returns a boolean and a list of Molecule instances.  The boolean indicates whether the rotamers are backbone dependent.  The Molecules are each a single residue (a rotamer) and are in descending probability order.  Each has an attribute "rotamerProb" for the probability and "chis" for the chi angles.</div><div><br></div><div><b>getRotamersParams</b>:  Takes either a Residue instance or a residue type and optionally phi and psi angles (if omitted and a Residue instance was given, then that Residue's phi/psi will be used).  Returns a boolean and a list of RotamerParams (in descending probability order).  The boolean indicates if the rotamers are backbone dependent.  <b>RotamersParams</b> is a simple container class that has an attribute 'p' for probability and 'chis' for a list of chi angles.  Most of this is covered in the getRotamerParams doc string.</div><div><br></div><div><b>extractResInfo</b>:  Takes a Residue instance.  Returns the residue type, phi, psi, and "cis" or "trans".</div><div><br></div><div><b>useRotamer</b>:  Takes a Residue instance and a list of one or more rotamers (as returned by getRotamers) and swaps the Residue's side chain with the given rotamers.  If more than one rotamer is in the list, then alt locs will be used to distinguish the different side chains.</div><div><br></div><div><b>RotamerLibraryInfo</b>:  a class that holds information about a rotamer library:  how to import it, what citation to display, <i>etc</i>.</div><div><br></div><div><b>registerLibrary</b>:  Takes a string indicated the "import name" of a library (<i>i</i>.<i>e</i>. what name to use in an import statement) and adds a RotamerLibraryInfo instance for it to the list of known rotamer libraries ("Rotamers.libraries").</div><div><br></div><div><b>useBestRotamers</b>:  the implementation of the "swapaa" command.  If you look at the documentation for that command I think this method's arguments and actions will be mostly self-explanatory.  The only slight exception is that the 'targets' argument is a list of Residue instances.</div><div><br></div><div>I hope this helps.</div><div><br></div><div>--Eric</div><div><br></div><div><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font face="Helvetica" size="5" style="font: normal normal normal 16px/normal Helvetica; ">                        Eric Pettersen</font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font face="Helvetica" size="5" style="font: normal normal normal 16px/normal Helvetica; ">                        UCSF Computer Graphics Lab</font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font face="Helvetica" size="5" style="font: normal normal normal 16px/normal Helvetica; ">                        <a href="http://www.cgl.ucsf.edu">http://www.cgl.ucsf.edu</a></font></div><br class="Apple-interchange-newline"></div></span></div><br><div></div></body></html>