On Sep 22, 2009, at 6:55 PM, Keren Lasker wrote:
> Daniel - > 1. does this solution means that f3-f5-f7 (and f0-f1-f2) are > simplified to a single sphere ? For solution 2, the distance measure used in the distance between the two single spheres. For solution 1 it is the distance between the two closest sphere fragments. > 2. if this is the case, I am not sure it answers Frido's request as > he would like to have ( i am guessing) a more accurate scoring term It was not clear from his emails which distance metric he wanted.
> 3. and so - would not it be better to wrap the 3 fragments in a > hierarchy ( that will of course be a child of the protein) ? Yes, solution 1. It does require manipulating a hierarchy a bit more (and the create_fragment function is not well documented, I think it does what is needed, but I have to check).
> Keren. > On Sep 22, 2009, at 3:45 PM, Daniel Russel wrote: > >> In general you need to associate a particle which each feature you >> want to restrain since restraints generally act on a single set of >> equivalent particles. For the connectivity case you have a bunch of >> options, all of which do slightly different things. >> >> - create a fragment in the molecular hierarchy which includes the >> other fragments (ie make this fragment the parent of the other >> fragments, the create_fragment function should help, but needs to >> be better documented) and then use a LowestRefinedPairScore >> >> - create cover particles which cover the fragments in question and >> do as you did before with the connectivity restraint. You can use >> the helper::create_cover function to set this up and then pass the >> created particle to the connectivity restraint. I think this is >> closest to what you need. I think we should have a simpler helper >> function which creates the particle for you and hides the internal >> details. I'll add such over the next couple days. Then code will be >> something like >> >> c0= IMP.helper.create_cover(IMP.Particles([f3,f5,f7])) >> c1= IMP.helper.create_cover(IMP.Particles([f0,f1,f2]) >> >> sd= IMP.core.SphereDistancePairScore(IMP.Harmonic(0,1)) >> cr= IMP.core.ConnectivityRestraint(sd) >> cr.add_particle(c0) >> cr.add_particle(c1) >> >> On Sep 22, 2009, at 4:46 AM, Friedrich Foerster wrote: >> >>> thanks. >>> but the functionality is not sufficient for my needs as it is: i do >>> not see any way to specify parts of a protein involved in an >>> interaction. >>> e.g., my proteins a and b each consist of 10 fragments. i have an >>> interaction between A and B that involves the first 3 fragments of >>> protein A and fragments 3,5,7 of protein B. how can i specify that >>> restraint currently (it used to work previously ...). so i am not >>> convinced why the old syntax had to go ... >>> >>> thanks >>> >>> frido >>> >>> On Mon, Sep 21, 2009 at 6:37 PM, Keren Lasker kerenl@salilab.org >>> wrote: >>>> one correlation - >>>> >>>> Frido - this is how it should look like: >>>> >>>> #create the two proteins >>>> prot_ps=IMP.Particles() >>>> prot_ps.append(IMP.Particle(m)) >>>> prot_ps.append(IMP.Particle(m)) >>>> prot1= >>>> IMP >>>> .atom >>>> .Hierarchy.setup_particle(prot_ps[0],IMP.atom.Hierarchy.PROTEIN) >>>> >>>> prot2= >>>> IMP >>>> .atom >>>> .Hierarchy.setup_particle(prot_ps[1],IMP.atom.Hierarchy.PROTEIN) >>>> >>>> #make the parts fragments and add to the molecules >>>> >>>> for e in [part1,part2,part3]: >>>> >>>> fh= >>>> IMP.atom.Hierarchy.setup_particle(e,IMP.atom.Hierarchy.FRAGMENT) >>>> >>>> #also make sure the part has radius >>>> prot1.add_child(fh) >>>> >>>> for e in [part4,part5,part6]: >>>> >>>> fh= >>>> IMP.atom.Hierarchy.setup_particle(e,IMP.atom.Hierarchy.FRAGMENT) >>>> >>>> #also make sure the part has radius >>>> prot2.add_child(fh) >>>> >>>> >>>> >>>> #create the restraint >>>> >>>> ufu = IMP.core.TruncatedHarmonicUpperBound( span, k, stddev, 2.) >>>> >>>> cps= IMP.core.ChildrenRefiner(IMP.atom.Hierarchy.get_traits()) >>>> lrps = IMP.misc.LowestRefinedPairScore(cps,ufu) >>>> connrest = IMP.core.ConnectivityRestraint(lrps) >>>> >>>> connrest.set_particles(prot_ps) >>>> >>>> m.add_restraint(connrest) >>>> >>>> >>>> On Sep 21, 2009, at 6:54 AM, Daniel Russel wrote: >>>> >>>> I think the problem is that the list of particles the >>>> connectivity restraint >>>> ends up with is [p0,p1...p5]. You should just give it two >>>> particles, one for >>>> each protein (with radius and center computed from a sphere >>>> cover, or with >>>> the distance computed using a particle refiner). I doubt the code >>>> below ever >>>> really did what you wanted (although it might have happened to >>>> agree:-) >>>> >>>> I can explain better once I'm back in the US in two days. >>>> >>>> >>>> On Sep 21, 2009, at 2:30 PM, Friedrich Foerster <foerster@biochem.mpg.de >>>> > >>>> wrote: >>>> >>>> hi all, >>>> >>>> i noticed that the connectivity restraint must have changed at >>>> some point: >>>> >>>> i want to impose a restraint on two proteins, each consisting of >>>> >>>> several particles. thus, i am interested in restraining the closest >>>> >>>> pair between the two proteins. whereas the following code did >>>> what i >>>> >>>> need previously it now calculates all against all distances >>>> (including >>>> >>>> intra-protein distances) - which is not what i want. >>>> >>>> i'd be grateful if anyone could tell me how i need to change my >>>> pseudo code: >>>> >>>> >>>> prot1 = [part1,part2,part3] >>>> >>>> prot2 = [part4,part5,part6] >>>> >>>> ufu = IMP.core.TruncatedHarmonicUpperBound( span, k, stddev, 2.) >>>> >>>> pairsc = IMP.core.SphereDistancePairScore(ufu, IRAD_KEY) >>>> >>>> connrest = IMP.core.ConnectivityRestraint(pairsc) >>>> >>>> for pps in [prot1,prot2]: >>>> >>>> connrest.add_particles(pps) >>>> >>>> to be explicit: the code now restrains distances in prot1 and >>>> prot2, >>>> >>>> which is what i do not want. i only want the inter-protein >>>> distances >>>> >>>> to be considered... >>>> >>>> thanks >>>> >>>> frido >>>> >>>> >>>> -- >>>> >>>> Dr. Friedrich Foerster >>>> >>>> Max-Planck Institut fuer Biochemie >>>> >>>> Am Klopferspitz 18 >>>> >>>> D-82152 Martinsried >>>> >>>> Tel: +49 89 8578 2651 >>>> >>>> Fax: +49 89 8578 2641 >>>> >>>> foerster@biochem.mpg.de >>>> >>>> www.tomotronic.org >>>> >>>> _______________________________________________ >>>> >>>> IMP-dev mailing list >>>> >>>> IMP-dev@salilab.org >>>> >>>> https://salilab.org/mailman/listinfo/imp-dev >>>> >>>> _______________________________________________ >>>> IMP-dev mailing list >>>> IMP-dev@salilab.org >>>> https://salilab.org/mailman/listinfo/imp-dev >>>> >>>> >>>> >>>> _______________________________________________ >>>> IMP-dev mailing list >>>> IMP-dev@salilab.org >>>> https://salilab.org/mailman/listinfo/imp-dev >>>> >>>> >>> >>> >>> >>> -- >>> -- >>> >>> Dr. Friedrich Foerster >>> Max-Planck Institut fuer Biochemie >>> Am Klopferspitz 18 >>> D-82152 Martinsried >>> >>> Tel: +49 89 8578 2651 >>> Fax: +49 89 8578 2641 >>> >>> foerster@biochem.mpg.de >>> >>> www.tomotronic.org >>> _______________________________________________ >>> IMP-dev mailing list >>> IMP-dev@salilab.org >>> https://salilab.org/mailman/listinfo/imp-dev >> >> _______________________________________________ >> IMP-dev mailing list >> IMP-dev@salilab.org >> https://salilab.org/mailman/listinfo/imp-dev > > _______________________________________________ > IMP-dev mailing list > IMP-dev@salilab.org > https://salilab.org/mailman/listinfo/imp-dev