This sounds like a good use fir a non-molecular hierarchy. The you can just make a particle for each type of protein and store in that particle pointers to each instance of that type orthogonally to the molecular hierarchy. Adding that fubctionaliyy should be easy.
By the way, what exactly do you five cumbersome with the hierarchy as it stands? Why do you find you are changing it a lot? Just looking for ways to make things simpler.
On Dec 19, 2008, at 12:31 AM, Friedrich Foerster <foerster@biochem.mpg.de > wrote:
> thanks. > > currently, i do not use the top hierarchy layer. personally, i find > it cumbersome to tie everything to a hierarchy on the representation > level. every time i want to incorporate a new type of experimental > data, i discover that it requires a new hierarchy level, which i > haven't imagined before. but changing the representation hierarchy > always involves so many changes so that i try to keep away from > tying the restraints to a fixed hierarchy. for example, in this case > i might discover that i require a sub-complex and a sub-sub-complex > hierarchy level and so forth. > thus, i'd appreciate some way of incorporating such a restraint > without a fixed representation hierarchy, which i would need to fix > constantly... > any other opinions? > > thanks > > frido > > > > On Dec 18, 2008, at 2:59 PM, Daniel Russel wrote: > >> See the "connectivity restraint" example (under simple examples) to >> get started. To replicate Frank's restraint you need another layer >> of conditionality which can be done by chaining the >> LowerRefinedPairScores something like >> >> ps= >> IMP.core.SphereDistancePairScore(IMP.core.HarmonicUpperBound(0,1)) >> cps= IMP.core.ChildrenParticleRefiner() >> # find the closest pair connecting two instances of two proteins >> ilrps = IMP.misc.LowestRefinedPairScore(cps,ps) >> # find the closest instances of two proteins >> lrps = IMP.misc.LowestRefinedPairScore(cps,lrps) >> cr = IMP.core.ConnectivityRestraint(lrps) >> cr.set_particles(hs) >> m.add_restraint(cr) >> >> and ensuring that your molecular hierarchy looks like >> - all proteins of type a >> - first protein of type a >> - leaf representations of first protein of type a >> ... >> - second protein of type a >> ... >> - third protein of type a >> ... >> - all proteins of type b >> - first protein of type b >> ... >> - all proteins of type c >> ... >> >> And putting the "all proteins of type x" particles in the >> ConnectivityRestraint. >> >> If such a hierarchy organization is problematic than we should talk >> some more. At the moment there is a shortage of other >> ParticleRefiners so you have little choice on your organization >> scheme. I have a table based particle refiner somewhere (so you >> could replace the first level of ChildrenParticleRefiner with a non- >> MolecularHierarchy based approach), but it never got committed >> during the reorg. >> >> The other thing to be aware of is that, if you are using a >> derivative-based optimizer, the evaluation is not very efficient >> (in that the closest pair is found twice). Let me know if it >> becomes too slow and I'll put some effort into figuring out a way >> to avoid this problem. >> >> Does this all make sense? >> >> >> On Dec 18, 2008, at 12:14 AM, Friedrich Foerster wrote: >> >>> hi there, >>> >>> is there any example for generating ambiguous restraints in imp? >>> i want to deal with a 'frank classic': multiple copies of a >>> specific protein exist in an assembly and only one instance >>> interacts with another protein (the one that is closer to its >>> putative partner). i guess npc people need it every day. >>> >>> thanks >>> >>> frido >>> >>> -- >>> >>> 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 >> > > -- > > 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