Looking at the IMP.pmi.restraints.crosslinking.CrossLinkingMassSpectrometryRestraint() source, the only parameters I can see are slope and length, there does not appear to be any sigma parameter to set an inflection point where the exponential portion of the function tops out.

 

The CrossLinkingMassSpectrometryRestraint score gets evaluated using an IMP.isd.CrosslinkMSRestraint(), where the score is calculated at IMP.isd.CrossLinkMSRestraint.cpp at line 149 as -log(get_probability()), where the probability is given a prior of exp(-slope_*dist) at line 100. Taking a log of an exponent seems to indicate that the score is an linear function of the distance, where the crosslink length is only taken into account indirectly via the psi and pofr variables.

 

When I set the slope parameter as any value much above 0.025, IMP cannot start the simulation, as it results in a frame 0 score Inf in the simulation output, due to the unbounded exponential increase in score for far-apart randomly shuffled crosslinks. Using the SigmoidCrossLinkMS to model crosslinks does work as expected, with an intial S-shaped step increase in score followed by a linear increase. I had to modify the SigmoidCrossLinkMS() class code to take a Hierarchy object instead of a Representation, but it seems to behave much more nicely.

 

Fergal Duffy
Postdoctoral Researcher

Center for Infectious Disease Research
307 Westlake Ave N, Suite 500 | Seattle, WA 98109
206.256.7435 | fergal.duffy@cidresearch.org

 

From: imp-users-bounces@salilab.org [mailto:imp-users-bounces@salilab.org] On Behalf Of Riccardo Pellarin
Sent: Thursday, June 29, 2017 2:34 AM
To: Help and discussion for users of IMP
Subject: Re: [IMP-users] Sigmoidal crosslinks in IMP.pmi 2.7.0

 

IMP.pmi.restraints.crosslinking.CrossLinkingMassSpectrometryRestraint()

is indeed a sigmoidal function modulated by two parameters sigma (inflection) and psi (baselines).

The maximal length of the crosslinker is passed through "length=..." in the constructor.

There is a linear part, but that is just a soft bias to avoid particles getting dispersed, since the potential is flat

at high distance values. The slope of the linear part is 0.01-0.02 Score Unit/ Angstrom, can be changed using "slope=..."


Riccardo Pellarin, PhD

===================

Institut Pasteur

CNRS UMR 3528

25, rue du Docteur Roux
75724 Paris Cedex 15, France

+33 (0)1 44 38 93 63

 

On Fri, Jun 9, 2017 at 1:41 AM, Fergal Duffy <fergal.duffy@cidresearch.org> wrote:

I am using IMP.pmi to model a protein complex using MS crosslinks. I notice that the IMP.pmi crosslinking function, IMP.pmi.restraints.crosslinking.CrossLinkingMassSpectrometryRestraint(), scores crosslinks basically as a linear function of crosslink distance. The crosslink length is basically irrelevant here, shorter=better.

 

Ideally, I would like to score crosslinks as a sigmoid function, with crosslinks inside the specified ‘length’ dropping in score. I notice that there is a deprecated SigmoidCrossLinkMS() function in IMP, which uses an IMP.pmi.SigmoidRestraintSphere to model the crosslinks. Is there a reason this is deprecated? Should I be using it? It seems to offer functionality not available elsewhere.

 

Regards,

Fergal

 

 

 

Fergal Duffy
Postdoctoral Researcher

Center for Infectious Disease Research
307 Westlake Ave N, Suite 500 | Seattle, WA 98109
206.256.7435 | fergal.duffy@cidresearch.org

 


_______________________________________________
IMP-users mailing list
IMP-users@salilab.org
https://salilab.org/mailman/listinfo/imp-users