Daniel - 1. does this solution means that f3-f5-f7 (and f0-f1-f2) are simplified to a single sphere ? 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 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) ? 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