proteinChain = ChainDescription({"chainType": "Protein", "chainID": ""}) proteinChain.createResidues(3) waterResidue = ResidueDescription({"position": 1}) waterResidue.addAtom("O") waterChain = ChainDescription({"chainType": "Water"}) waterChain.addResidue(waterResidue) description = StructureDescription({}, name="niche") description.addChain(proteinChain) description.addChain(waterChain) # create some simple measures and conditions c1 = constructSelection(chainType="Protein", residuePosition=1, atomName="C") n3 = constructSelection(chainType="Protein", residuePosition=3, atomName="N") ow = constructSelection(chainType="Water", residuePosition=1, atomName="O") phi, psi = proteinChain.createPhiPsiMeasure(2) description.addCondition(DistanceBoundCondition(c1, ow, 1.5, 1.5)) description.addCondition(DistanceBoundCondition(n3, ow, 1.5, 1.5)) distanceMeasure1 = DistanceMeasure(c1, ow) distanceMeasure2 = DistanceMeasure(n3, ow) angleMeasure = AngleMeasure(c1, ow, n3) measures = [phi, psi, distanceMeasure1, distanceMeasure2, angleMeasure] # match and measure pipe = Pipe(description, measures) run = Run([pipe], filepath) run.run()
proteinChain.createResidues(4) waterResidue = ResidueDescription({"position" : 1 }) waterResidue.addAtom("O") waterChain = ChainDescription({"chainType" : "Water"}) waterChain.addResidue(waterResidue) description = StructureDescription({}, name="classAStructure") description.addChain(proteinChain) description.addChain(waterChain) # create some simple measures and conditions o1 = constructSelection(chainType="Protein", residuePosition=1, atomName="O") o3 = constructSelection(chainType="Protein", residuePosition=3, atomName="O") ow = constructSelection(chainType="Water", residuePosition=1, atomName="O") phi1, psi1 = proteinChain.createPhiPsiMeasure(2) phi2, psi2 = proteinChain.createPhiPsiMeasure(3) description.addCondition(DistanceBoundCondition(o1, ow, 1.8, 1.8)) description.addCondition(DistanceBoundCondition(o3, ow, 1.8, 1.8)) distanceMeasure1 = DistanceMeasure(o1, ow) distanceMeasure2 = DistanceMeasure(o3, ow) angleMeasure = AngleMeasure(o1, ow, o3) measures = [phi1, psi1, phi2, psi2, distanceMeasure1, distanceMeasure2, angleMeasure] # match and measure pipe = Pipe(description, measures) run = Run([pipe], filepath) run.run()
import sys from Tailor.Condition import HBondCondition, NoneCombiner from Tailor.Description import ChainDescription, AtomDescription from Tailor.Measure import PropertyMeasure, DistanceMeasure from Tailor.Run import Run, Pipe path = sys.argv[1] tripep = ChainDescription({"chainID" : "h"}) tripep.createResidues(3) # for proline searches #tripep.getResidue(2).children.pop() measures = [] measures.extend(tripep.createPhiPsiMeasure(2)) measures.append(PropertyMeasure(tripep.selectResidue(1), "resname", str)) measures.append(PropertyMeasure(tripep.selectResidue(2), "resname", str)) measures.append(PropertyMeasure(tripep.selectResidue(3), "resname", str)) pipes = [Pipe(tripep, measures, sys.stdout)] run = Run(pipes, path) run.run()
backboneChain.createResidues(4) sidechainResidue = ResidueDescription({"position" : 1, "resname" : "ASN" }) sidechainResidue.addAtom("ND2") sidechainChain = ChainDescription({"chainType" : "Protein"}) sidechainChain.addResidue(sidechainResidue) description = StructureDescription({}, name="classAStructure") description.addChain(backboneChain) description.addChain(sidechainChain) # create some simple measures and conditions o1 = constructSelection(chainType="Protein", residuePosition=1, atomName="O") o3 = constructSelection(chainType="Protein", residuePosition=3, atomName="O") n = constructSelection(chainType="Protein", residuePosition=1, atomName="ND2") phi1, psi1 = backboneChain.createPhiPsiMeasure(2) phi2, psi2 = backboneChain.createPhiPsiMeasure(3) description.addCondition(DistanceBoundCondition(o1, n, 1.8, 1.8)) description.addCondition(DistanceBoundCondition(o3, n, 1.8, 1.8)) distanceMeasure1 = DistanceMeasure(o1, n) distanceMeasure2 = DistanceMeasure(o3, n) angleMeasure = AngleMeasure(o1, n, o3) measures = [phi1, psi1, phi2, psi2, distanceMeasure1, distanceMeasure2, angleMeasure] # match and measure pipe = Pipe(description, measures) run = Run([pipe], filepath) run.run()
tetrapep = ChainDescription({"chainID" : "t"}) tetrapep.createResidues(4) # the < 7 distance constraint ca1 = tetrapep.selectResidue(1).selectAtom("CA") ca2 = tetrapep.selectResidue(4).selectAtom("CA") tetrapep.addCondition(DistanceBoundCondition(ca1, ca2, 3.5, 3.5)) # no helical angles #phi2 = tetrapep.createPhiBoundCondition(2, -60, 10) #psi2 = tetrapep.createPsiBoundCondition(2, -60, 10) #phi3 = tetrapep.createPhiBoundCondition(3, -60, 10) #psi3 = tetrapep.createPsiBoundCondition(3, -60, 10) #for torsion in [phi2, psi2, phi3, psi3]: tetrapep.conditions.remove(torsion) #tetrapep.addCondition(NoneCombiner([phi2, psi2])) #tetrapep.addCondition(NoneCombiner([phi3, psi3])) # for proline searches #for i in range(1, 5): tetrapep.getResidue(i).children.pop() measures = [] measures.extend(tetrapep.createPhiPsiMeasure(2)) measures.extend(tetrapep.createPhiPsiMeasure(3)) measures.append(PropertyMeasure(tetrapep.selectResidue(1), "resname", str)) measures.append(PropertyMeasure(tetrapep.selectResidue(2), "resname", str)) measures.append(PropertyMeasure(tetrapep.selectResidue(3), "resname", str)) measures.append(PropertyMeasure(tetrapep.selectResidue(4), "resname", str)) pipes = [Pipe(tetrapep, measures, sys.stdout)] run = Run(pipes, path) run.run()