• 蛋白添加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()

  • 相关阅读:
    Models(Pascal)
    Summer Plan(挖坑待填)
    C++之指针
    QuickPower快速幂
    codevs 1231最优布线问题
    颓废了1年+,今天开始勤(tui)奋(fei)啦
    l'Hopital法则
    相律
    小意外
    一种改进的动力学处理方法
  • 原文地址:https://www.cnblogs.com/jszd/p/15765028.html
Copyright © 2020-2023  润新知