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] maxHO = 3.5 minHOC = 90.0 minNHO = 90.0 helixTerm = ChainDescription({"chainID" : "h"}) helixTerm.createResidues(9) helixTerm.createBackboneHBondCondition(6, 2, maxHO, minHOC, minNHO) helixTerm.createBackboneHBondCondition(7, 3, maxHO, minHOC, minNHO) helixTerm.getResidue(8).addPropertyCondition("resname", "PRO") helixTerm.getResidue(8).children.pop() helixTerm.getResidue(8).children.append(AtomDescription({"name" : "2HD"})) measures = [] measures.extend(helixTerm.createPhiPsiMeasures([6, 7, 8])) o = helixTerm.selectResidue(5).selectAtom("O") h = helixTerm.selectResidue(8).selectAtom("2HD") measures.append(DistanceMeasure(o, h)) pipes = [Pipe(helixTerm, measures, sys.stdout)] run = Run(pipes, path) run.run()
["c4_6r", 10, [(1, 10), (10, 1), (3, 8)], [(8, 3)], [4, 5, 6, 7]], ["c4_8r", 10, [(1, 10), (10, 1)], [(3, 8), (8, 3)], [4, 5, 6, 7]], ["c4_10r", 10, [(1, 10)], [(10, 1), (3, 8), (8, 3)], [4, 5, 6, 7]], ] pipes = [] for name, resnum, hBondNumberList, antiHBondNumberList, phipsiNums in hairpin_data: # description hairpin = ChainDescription({"chainID" : name}) hairpin.createResidues(resnum) hairpin.createBackboneHBondConditions(hBondNumberList, maxHO, minHOC, minNHO) # antibonds for i, j in antiHBondNumberList: bond = hairpin.createBackboneHBondCondition(i, j, maxHO, minHOC, minNHO) bond.negate() # measures measures = [] measures.extend(hairpin.createPhiPsiMeasures(phipsiNums)) # either this line or the other 3 would do... #measures.extend(hairpin.createBackboneHBondMeasures(hBondNumberList)) # ...but this latter is arguably more efficient, since it means less calculations for i, j in hBondNumberList: measures.append(PropertyMeasure(hairpin, "NH(%i)->CO(%i):H_A" % (i, j), float)) measures.append(PropertyMeasure(hairpin, "NH(%i)->CO(%i):DHA" % (i, j), float)) measures.append(PropertyMeasure(hairpin, "NH(%i)->CO(%i):HAA" % (i, j), float))
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] maxHO = 2.5 minHOC = 90.0 minNHO = 120.0 helixTerm = ChainDescription({"chainID" : "h"}) helixTerm.createResidues(7) helixTerm.createBackboneHBondCondition(4, 1, maxHO, minHOC, minNHO) helixTerm.createBackboneHBondCondition(5, 2, maxHO, minHOC, minNHO) helixTerm.createPhiBoundCondition(2, -90, 60) helixTerm.createPsiBoundCondition(2, 0, 60) helixTerm.createPhiBoundCondition(3, -90, 60) helixTerm.createPsiBoundCondition(3, 0, 60) helixTerm.createPhiBoundCondition(4, -90, 60) helixTerm.createPsiBoundCondition(4, 0, 60) hbond = helixTerm.createBackboneHBondCondition(6, 3, maxHO, minHOC, minNHO) hbond.negate() # for proline searches