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()

  • 相关阅读:
    微软TechEd2013大会门票热卖!
    2013年国庆节前51Aspx源码发布详情
    2013年9月份第2周51Aspx源码发布详情
    微软TechEd2013大会将在北京、上海召开!
    2013年9月份第1周51Aspx源码发布详情
    2013年8月份第4周51Aspx源码发布详情
    设置快速导航
    Web Service超限
    深入浅出SharePoint2013——使用沙箱解决方案
    深入浅出SharePoint2013——常用术语
  • 原文地址:https://www.cnblogs.com/jszd/p/15765028.html
Copyright © 2011-2022 走看看