Thank you, Charles. I will try that and get back if any other questions will arise.
Vitaly On Sat, Mar 3, 2012 at 09:39, Charles Schwieters <char...@schwieters.org> wrote: > > Hello Vitaly-- > >> >> I am assembling a structure of a homopentamer using XPLOR-NIH. There >> are several ambiguous distance restraints that I would like to >> implement, but I am not sure if it is possible to group the >> restraints using "and" and "or" logic. As an example, suppose there >> is a residue "B" in one monomer that has an NOE contact with either >> residue "A" or residue "C" of an adjacent monomer. I would like a >> statement something among the lines of: >> >> assign [((MON1 B) (MON2 A)) AND ((MON2 B) (MON3 A)) AND ... ] OR >> [((MON1 B) (MON2 C)) AND ((MON2 B) (MON3 C)) AND ... ] >> >> Is this something that can be done? Or do I have to specify this for >> only one protomer and the symmetry restraints will take care of the >> rest? > > You could write a separate table for each subunit, or you can use a > single segid-less table and specify the nMono parameter using the > pot.setNMono(5) > accessor. > > Of course symmetry restraints should be used as well. In your case > these are ``ncs'' and distance symmetry. These should look something > like: > > from selectTools import getSegsResidues > segsResidues=getSegsResidues("name CA") > segids=sorted(segidsResidues.keys()) > resids=segidsResidues[segids[0]] > > from posDiffPotTools import create_PosDiffPot > ncs = PotList('ncs') > for (i,a) in enumerate(AtomSel("(not segid A) and resid %d" % resids[0])): > segid=a.segmentName() > ncs.append( create_PosDiffPot('ncs%d'%i, > "segid A", > "segid %s" % segid) ) > pass > ncs.setScale(50) > potList.append(ncs) > > > from distSymmTools import create_DistSymmPot, genPolyRestraints > dSymm = create_DistSymmPot('dSymm) > for (i,a) in enumerate(segids): > j= (i+1) % len(segids) > K= (i+2) % len(segids) > dSymm.addRestraints( > genPolyRestraints(resids=range(resids[0],resids[:-1]+1,5), > segids=(segids[i],segids[j],segids[k]))) > pass > dSymm.setScale(50) > potList.append(dSymm) > > best regards-- > Charles > > > > -- > Charles Schwieters email: char...@schwieters.org > www: http://schwieters.org/cds > phone: (301) 402-4914 PGP key: http://schwieters.org/cds/pgp.txt > > _______________________________________________ Xplor-nih mailing list Xplor-nih@nmr.cit.nih.gov http://dcb.cit.nih.gov/mailman/listinfo/xplor-nih