コード例 #1
0
ファイル: asn_reverse_corner.py プロジェクト: gilleain/tailor
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()
コード例 #2
0
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()
コード例 #3
0
ファイル: tripeptide.py プロジェクト: gilleain/tailor
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()
コード例 #4
0
ファイル: sidechain_test.py プロジェクト: gilleain/tailor
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()
コード例 #5
0
ファイル: reverse_turns.py プロジェクト: gilleain/tailor
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()