Member Site › Forums › PyRosetta › PyRosetta – General › How does Rosetta select atom pairs for Lennard Jones Potential calculations?
- This topic has 4 replies, 3 voices, and was last updated 9 years, 2 months ago by Anonymous.
-
AuthorPosts
-
-
October 29, 2015 at 3:04 pm #2324Anonymous
Hi,
I am a new user for Rosetta and I am now trying to figure out how exactly PyRosetta is making the atom pair selection for scoring function calculations in general. For example, when we calculate pair-potential we will not include those bonded atom pairs and we also do not consider those who are two chemical bonds away. I wonder what is the selection rule for Rosetta? And where I could find the source code in the Rosetta folder?
Many thanks.
-
October 30, 2015 at 5:42 pm #11295Anonymous
This is all going to live somewhere under Rosetta/src/core/scoring. This is some of the most optimized, and therefore most complex to read, code. The Rosetta3 Methods in Enzymology review paper http://www.ncbi.nlm.nih.gov/pubmed/21187238, section 4.6.2, describes how different EnergyMethod types determine what atom pairs get scored (not sorted by concrete type, but by the parent classes – LJ is in the etable so it’s ContextIndependentTwoBody). The right place to start tracing code is probably src/core/scoring/ScoreFunction.cc, function operator(). You’re probably better off looking through Andrew Leaver-Fay’s papers than reading the code itself (certainly do at least read the papers first.)
-
October 31, 2015 at 4:16 pm #11298Anonymous
Specifically, it’s the CountPair functions (in Rosetta/src/core/scoring/etable/count_pair/) which determine which atoms are included/excluded in LJ calculations. The determination of which CountPair function is used is encoded in Rosetta/src/core/scoring/etable/BaseEtableEnergy.* There’s a bit of complicated logic in the determine_crossover_behavior() function, which more-or-less boils down to 1-3 exclusion for most things (e.g. disulfides), but 1-4 across the peptide bond.
Much of the details of exclusion behavior in LJ is esoteric, though, as stadard Rosetta does not really use intra-residue LJ. The internal energy of residues is based off of statistical potentials, and LJ is used just for residue-residue interactions, most of which are non-covalent. (That’s not entirely true, as fa_intra_rep is sometimes turned on at *small* levels, but the small weight means it’s normally negligible, anyway.)
-
November 3, 2015 at 3:46 am #11303Anonymous
Hi,
Thanks so much for your response, yet I am still confused about the terminology between Rosetta and PyRosetta. are all scoring function names conserved from Rosetta to PyRosetta? For example, I was trying to search for “fa_intra_rep” in Rosetta source folder but I did not find any function is calling this name. Do you have any idea where I can find the precise definition of fa_intra_rep or its corresponded equivalence in Rosetta source files?
Many thanks again.
Bo
-
November 3, 2015 at 5:17 pm #11304Anonymous
fa_intra_rep is the label for a weight for a term in the scorefunction. It’s a function in the math sense but not the programming sense. fa_intra_rep is managed by a collection of code referred to as the “Etable” (because histortically it was calculated by table lookups instead of directly, for speed reasons) – this is the location Rocco referred to you above.
-
-
AuthorPosts
- You must be logged in to reply to this topic.