Hi I’m handling a problem where it is important to evaluate energies of interfacial residues (e.g. interface residues between two helices in a protein). In order to carry out this energy evaluation with Modeller, I start by producing a model for the protein. Then I generate two selections (e.g. one for each helix). Would it be possible to calculate the energy for residues in the interface between both selections? Thanks,
David
On 10/26/2016 08:41 AM, David De Sancho wrote: > I’m handling a problem where it is important to evaluate energies of > interfacial residues (e.g. interface residues between two helices in a > protein). In order to carry out this energy evaluation with Modeller, I > start by producing a model for the protein. Then I generate two > selections (e.g. one for each helix). Would it be possible to calculate > the energy for residues in the interface between both selections?
Calculating the energy of only the interactions between selections s1 and s2 isn't possible to do directly in Modeller, but there's a simple workaround: calculate the energy of the union s1+s2, then subtract the two energies of s1 and s2 by themselves. You'll probably also want to set nonbonded_sel_atoms to 2: https://salilab.org/modeller/9.17/manual/node140.html
Ben Webb, Modeller Caretaker
Dear Ben Thanks for the quick response. However I find something really puzzling for a few tests. Mainly, that interface energy turns out to be unfavourable. In the link below I include a gist with a self explanatory example of how this turns out to be. It corresponds to the interface between two helices in the designed a3D protein but I’ve tried with others too. https://gist.github.com/daviddesancho/c854203311ec431d0c17fcfff5055e8c https://gist.github.com/daviddesancho/c854203311ec431d0c17fcfff5055e8c Surely there is something about my selections that’s not right, but any hints at what’s going on would be very helpful. Thanks,
David
> On 26 Oct 2016, at 22:00, Modeller Caretaker modeller-care@salilab.org wrote: > > On 10/26/2016 08:41 AM, David De Sancho wrote: >> I’m handling a problem where it is important to evaluate energies of >> interfacial residues (e.g. interface residues between two helices in a >> protein). In order to carry out this energy evaluation with Modeller, I >> start by producing a model for the protein. Then I generate two >> selections (e.g. one for each helix). Would it be possible to calculate >> the energy for residues in the interface between both selections? > > Calculating the energy of only the interactions between selections s1 and s2 isn't possible to do directly in Modeller, but there's a simple workaround: calculate the energy of the union s1+s2, then subtract the two energies of s1 and s2 by themselves. You'll probably also want to set nonbonded_sel_atoms to 2: > https://salilab.org/modeller/9.17/manual/node140.html > > Ben Webb, Modeller Caretaker > -- > modeller-care@salilab.org https://salilab.org/modeller/ > Modeller mail list: https://salilab.org/mailman/listinfo/modeller_usage
Hi David!
Dope is used to measures the quality of the model. (How PDB-like are some distributions).
Your last line should probably be: s0s1.energy() - (s0.energy() + s1.energy())
Best, Ajasja
PS: You can write '%s:A'%str(2) more elegantly as '%d:A'%2
On 28 October 2016 at 12:31, David De Sancho d.desancho@nanogune.eu wrote:
> Dear Ben > Thanks for the quick response. However I find something really puzzling > for a few tests. Mainly, that interface energy turns out to be unfavourable. > In the link below I include a gist with a self explanatory example of how > this turns out to be. It corresponds to the interface between two helices > in the designed a3D protein but I’ve tried with others too. > https://gist.github.com/daviddesancho/c854203311ec431d0c17fcfff5055e8c > Surely there is something about my selections that’s not right, but any > hints at what’s going on would be very helpful. > Thanks, > > David > > > On 26 Oct 2016, at 22:00, Modeller Caretaker modeller-care@salilab.org > wrote: > > On 10/26/2016 08:41 AM, David De Sancho wrote: > > I’m handling a problem where it is important to evaluate energies of > interfacial residues (e.g. interface residues between two helices in a > protein). In order to carry out this energy evaluation with Modeller, I > start by producing a model for the protein. Then I generate two > selections (e.g. one for each helix). Would it be possible to calculate > the energy for residues in the interface between both selections? > > > Calculating the energy of only the interactions between selections s1 and > s2 isn't possible to do directly in Modeller, but there's a simple > workaround: calculate the energy of the union s1+s2, then subtract the two > energies of s1 and s2 by themselves. You'll probably also want to set > nonbonded_sel_atoms to 2: > https://salilab.org/modeller/9.17/manual/node140.html > > Ben Webb, Modeller Caretaker > -- > modeller-care@salilab.org https://salilab.org/modeller/ > Modeller mail list: https://salilab.org/mailman/listinfo/modeller_usage > > > > _______________________________________________ > modeller_usage mailing list > modeller_usage@salilab.org > https://salilab.org/mailman/listinfo/modeller_usage > >
Hi,
Please clarify this doubt regarding modeller.
Let say, I have this PIR alignment:
>P1;original1.1.24351.test
sequence:original1.1.24351.test:1 : :21 : :::-1.00:-1.00
DVAVKILKVVDPTPEQFQAFR*
>P1;4G0N
structure:4G0N: :B : :B :::-1.00:-1.00
DCLMKALKVRGLQPECCAVFR*
I do get the model from this pir alignment file. However, does not mentioning the "start" and "end" residue of the PDB file influence the quality of the structure? or influence the model any way?
Am I right, if I say, that modeller by default takes the residues of chain "B", finds the corresponding residues in chain B and correctly models the sequence as per the alignment.
Please let me know of your comments.
Thanks much!
On Fri, Oct 28, 2016 at 3:04 PM, Ajasja Ljubetič ajasja.ljubetic@gmail.com wrote:
> Hi David! > > Dope is used to measures the quality of the model. (How PDB-like are some > distributions). > > Your last line should probably be: > s0s1.energy() - (s0.energy() + s1.energy()) > > Best, > Ajasja > > PS: > You can write '%s:A'%str(2) more elegantly as '%d:A'%2 > > > On 28 October 2016 at 12:31, David De Sancho d.desancho@nanogune.eu > wrote: > >> Dear Ben >> Thanks for the quick response. However I find something really puzzling >> for a few tests. Mainly, that interface energy turns out to be unfavourable. >> In the link below I include a gist with a self explanatory example of how >> this turns out to be. It corresponds to the interface between two helices >> in the designed a3D protein but I’ve tried with others too. >> https://gist.github.com/daviddesancho/c854203311ec431d0c17fcfff5055e8c >> Surely there is something about my selections that’s not right, but any >> hints at what’s going on would be very helpful. >> Thanks, >> >> David >> >> >> On 26 Oct 2016, at 22:00, Modeller Caretaker modeller-care@salilab.org >> wrote: >> >> On 10/26/2016 08:41 AM, David De Sancho wrote: >> >> I’m handling a problem where it is important to evaluate energies of >> interfacial residues (e.g. interface residues between two helices in a >> protein). In order to carry out this energy evaluation with Modeller, I >> start by producing a model for the protein. Then I generate two >> selections (e.g. one for each helix). Would it be possible to calculate >> the energy for residues in the interface between both selections? >> >> >> Calculating the energy of only the interactions between selections s1 and >> s2 isn't possible to do directly in Modeller, but there's a simple >> workaround: calculate the energy of the union s1+s2, then subtract the two >> energies of s1 and s2 by themselves. You'll probably also want to set >> nonbonded_sel_atoms to 2: >> https://salilab.org/modeller/9.17/manual/node140.html >> >> Ben Webb, Modeller Caretaker >> -- >> modeller-care@salilab.org https://salilab.org/modeller/ >> Modeller mail list: https://salilab.org/mailman/listinfo/modeller_usage >> >> >> >> _______________________________________________ >> modeller_usage mailing list >> modeller_usage@salilab.org >> https://salilab.org/mailman/listinfo/modeller_usage >> >> > > _______________________________________________ > modeller_usage mailing list > modeller_usage@salilab.org > https://salilab.org/mailman/listinfo/modeller_usage > >
On 10/28/16 9:33 AM, deepak kumar wrote: > However, does not > mentioning the "start" and "end" residue of the PDB file influence the > quality of the structure? or influence the model any way?
No.
> Am I right, if I say, that modeller by default takes the residues of > chain "B", finds the corresponding residues in chain B and correctly > models the sequence as per the alignment.
That's correct.
Ben Webb, Modeller Caretaker
On 10/28/16 5:04 AM, Ajasja Ljubetič wrote: > Dope is used to measures the quality of the model. (How PDB-like are > some distributions).
DOPE is a pairwise atomistic statistical potential so it reports how PDB-like is each atom-atom interaction. So you can certainly use it to score a subset of a model. That said, I'm not sure that the difference between two DOPE scores necessarily makes sense, particularly if your proteins are not PDB-like.
*Normalized* DOPE, on the other hand, is a z score obtained by fitting DOPE scores for entire chains, so it doesn't make sense to use it for a subset.
> PS: > You can write'%s:A'%str(2) more elegantly as '%d:A'%2
Or even more elegantly as '2:A' ;) I assume the gist is a cut down version of a more flexible script. Residue numbers in Modeller include the insertion code, so are technically strings (e.g. '5B' is a perfectly valid residue number).
Note that you can also trivially calculate s0s1, the union of s0 and s1, with
s0s1 = s0 | s1
(no need to create a new selection).
Otherwise, the script looks fine to me.
Ben Webb, Modeller Caretaker
Hi First of all thanks both for the advice. I have been trying the use of mdl.energy() to see whether I was able to obtain a more sensible result for the energy of the interface. However, I found out that for using energy more tricky bits seem to be required, starting by an alignment between two sequences. I have tried using bits and pieces from Modeller scripts (importantly , the mutate_model.py script) and produced the following: https://gist.github.com/daviddesancho/da9dd057cf14cceac1e7e6b8dd0b56e4 https://gist.github.com/daviddesancho/da9dd057cf14cceac1e7e6b8dd0b56e4 Does this seem a reasonable way of calculating interface energies for you? To me it looks unnecessarily complicated considering I am trying to run single point energy calculations for different selections of a structure, so maybe there is a simple route to take. When it comes to the results, I am confused because it again suggests unfavourable (positive) values for everyone, and particularly for the interface energy of interest. Really grateful of any advice that you may provide.
David
> On 30 Oct 2016, at 02:48, Modeller Caretaker modeller-care@salilab.org wrote: > > On 10/28/16 5:04 AM, Ajasja Ljubetič wrote: >> Dope is used to measures the quality of the model. (How PDB-like are >> some distributions). > > DOPE is a pairwise atomistic statistical potential so it reports how PDB-like is each atom-atom interaction. So you can certainly use it to score a subset of a model. That said, I'm not sure that the difference between two DOPE scores necessarily makes sense, particularly if your proteins are not PDB-like. > > *Normalized* DOPE, on the other hand, is a z score obtained by fitting DOPE scores for entire chains, so it doesn't make sense to use it for a subset. > >> PS: >> You can write'%s:A'%str(2) more elegantly as '%d:A'%2 > > Or even more elegantly as '2:A' ;) I assume the gist is a cut down version of a more flexible script. Residue numbers in Modeller include the insertion code, so are technically strings (e.g. '5B' is a perfectly valid residue number). > > Note that you can also trivially calculate s0s1, the union of s0 and s1, with > > s0s1 = s0 | s1 > > (no need to create a new selection). > > Otherwise, the script looks fine to me. > > Ben Webb, Modeller Caretaker > -- > modeller-care@salilab.org https://salilab.org/modeller/ > Modeller mail list: https://salilab.org/mailman/listinfo/modeller_usage
On 10/31/16 7:23 AM, David De Sancho wrote: > However, I found out that for using > energy more tricky bits seem to be required, starting by an alignment > between two sequences.
Just use the complete_pdb script, which assigns CHARMM atom types so that the energy can be calculated. See https://salilab.org/modeller/9.17/manual/node455.html
Ben Webb, Modeller Caretaker
Thanks again As you suggest, the complete_pdb script helps a lot in building the model from the PDB file. For the energy calculation I still have some issues. I guess that for calculating energies of interfaces we should care primarily for the LJ and Coulomb terms. So I have added a make_restraints() function so that for each selection we generate restraints for both terms. https://gist.github.com/daviddesancho/125b446d79b75b8d346f564e967ebaa1 https://gist.github.com/daviddesancho/125b446d79b75b8d346f564e967ebaa1 This gives LJ and Coulomb energies for selections. Although again I do not seem to recover sensible results (energies for s0s1, s0 and s1 are comparable). Does this make sense for the energy estimation of interfaces?
David
> On 31 Oct 2016, at 16:44, Modeller Caretaker modeller-care@salilab.org wrote: > > On 10/31/16 7:23 AM, David De Sancho wrote: >> However, I found out that for using >> energy more tricky bits seem to be required, starting by an alignment >> between two sequences. > > Just use the complete_pdb script, which assigns CHARMM atom types so that the energy can be calculated. See > https://salilab.org/modeller/9.17/manual/node455.html > > Ben Webb, Modeller Caretaker > -- > modeller-care@salilab.org https://salilab.org/modeller/ > Modeller mail list: https://salilab.org/mailman/listinfo/modeller_usage
On 11/2/16 5:57 AM, David De Sancho wrote: > I guess that for calculating energies of interfaces we should > care primarily for the LJ and Coulomb terms. So I have added a > make_restraints() function so that for each selection we generate > restraints for both terms.
It is almost never necessary to generate static LJ or Coulomb terms; they are generated dynamically instead - just set dyanmic_lennard=True or dynamic_coulomb=True (by default Coulomb interactions are not calculated, while soft-sphere (dynamic_sphere) interactions are used for vdw rather than LJ). Setting nonbonded_sel_atoms to 2 (as I suggested before) ensures that only interactions within each selection are counted, not interactions between the selection and the rest of the system.
Ben Webb, Modeller Caretaker
participants (4)
-
Ajasja Ljubetič
-
David De Sancho
-
deepak kumar
-
Modeller Caretaker