zoukankan      html  css  js  c++  java
  • 蛋白添加ACE,NME

    #python3
    #ruichaomao,2022.1.4,处理经过tleap加氢的蛋白体系,为第二次tleap增加ACE+NME做准备
    pro_list = ['ALA','ARG','ASN','ASP','GLN','GLU','GLY','HIE','HID','HIP','ILE','LEU','LYS','MET','PHE','PRO','SER','THR','TRP','TYR','VAL','CYS']
    lines = open('WT+h.pdb','r').readlines()
    #first_num = 0
    new_lines = []
    len_files = len(lines)
    #for i in range(0,len_files):
    i = 0
    while i < len_files:
        print (i)
        if lines[i].startswith('TER') or i==0:
            try:
                lines[i+3]
            except:
                new_lines.append(lines[i])
                i+=1
            else:
                if lines[i+1].split()[3] in pro_list:
                    print (lines[i])
                    aa=lines[i+3].split()
                    aa[2]='C '
                    aa[3]='ACE'
                    newline = aa[0]+'{:>7}'.format(aa[1])+'{:>5}'.format(aa[2])+'{:>4}'.format(aa[3])+'{:>6}'.format(aa[4])+'{:>12}'.format(aa[5])+'{:>8}'.format(aa[6])+'{:>8}'.format(aa[7])+'{:>6}'.format(aa[8])+'{:>6}'.format(aa[9])+'\n'
                    if i == 0:
                        ace_trans=[newline,lines[i+1]]
                    else:
                        ace_trans=['TER\n',newline,lines[i+1]]
                    for s in ace_trans:
                        new_lines.append(s)
                    i = i+5
                else:
                    new_lines.append(lines[i])
                    i+=1
        elif lines[i].startswith('ATOM'):
            if lines[i].split()[2]=='OXT':
                aa = lines[i].split()
                aa[2] = 'N  '
                aa[3] = 'NME'
                newline = aa[0]+'{:>7}'.format(aa[1])+'{:>5}'.format(aa[2])+'{:>4}'.format(aa[3])+'{:>6}'.format(aa[4])+'{:>12}'.format(aa[5])+'{:>8}'.format(aa[6])+'{:>8}'.format(aa[7])+'{:>6}'.format(aa[8])+'{:>6}'.format(aa[9])+'\n'
                new_lines.append(newline)
                i+=1
            else:
                new_lines.append(lines[i])
                i+=1
        else:
            i+=1
    #print (new_lines)
    new_file = open('WT+h-acenme.pdb','w')
    for i in new_lines:
        print (type(i))
        new_file.write(i)
    new_file.close()

  • 相关阅读:
    Codeforces Round #256 (Div. 2/B)/Codeforces448B_Suffix Structures(字符串处理)
    【android】优秀的UI资源站点集合
    升级iOS8系统后,保险箱Pro、私人保险箱、私密相冊打开就闪退的官方解决方式
    js产生随机数
    java实现各种数据统计图(柱形图,饼图,折线图)
    Matlab画图-非常具体,非常全面
    Lucene教程具体解释
    NAND FLASH
    Jenkins(二)
    iOS 本地通知
  • 原文地址:https://www.cnblogs.com/jszd/p/15765028.html
Copyright © 2011-2022 走看看