Имеется код состоящий из Н блоков ( ниже пример для 5 блоков)
# ANM conformer 1 conformer1 = parsePDB('./conf_pr/output0.pdb', model=1, subset='calpha') anm = ANM('b2ar 1') anm.buildHessian(conformer1, cutoff=8.0) anm.calcModes(100) writeNMD('b2ar_anm1.nmd', anm[:10], conformer1) # ANM conformer 2 conformer2 = parsePDB('./conf_pr/output1.pdb', model=1, subset='calpha') anm2 = ANM('b2ar 2') anm2.buildHessian(conformer2, cutoff=8.0) anm2.calcModes(100) writeNMD('b2ar_anm2.nmd', anm2[:10], conformer2) # ANM conformer 3 conformer3 = parsePDB('./conf_pr/output2.pdb', model=1, subset='calpha') anm3 = ANM('b2ar 3') anm3.buildHessian(conformer3, cutoff=8.0) anm3.calcModes(100) writeNMD('b2ar_anm3.nmd', anm3[:10], conformer3) # ANM conformer 4 conformer4 = parsePDB('./conf_pr/output3.pdb', model=1, subset='calpha') anm4 = ANM('b2ar 4') anm4.buildHessian(conformer4, cutoff=8.0) anm4.calcModes(100) writeNMD('b2ar_anm4.nmd', anm4[:10], conformer4) # ANM conformer 5 conformer5 = parsePDB('./conf_pr/output4.pdb', model=1, subset='calpha') anm5 = ANM('b2ar 5') anm5.buildHessian(conformer5, cutoff=8.0) anm5.calcModes(100) writeNMD('b2ar_anm5.nmd', anm5[:10], conformer5)
Как видно, в каждом блоке отличие только цифра перед b2ar conformer и anm ( это число блока, N), а так же в output4.pdb ( тут число N-1 )
требуется сократить этот скрипт до минимума сделать так, чтобы N указывалось только один раз в петле.