+def load_pdbid(pdbid,dirname):
+ os.mkdir(dirname)
+ if len(pdbid)==4:
+ file,header=urllib.urlretrieve('http://files.rcsb.org/download/'+pdbid+'.pdb',
+ dirname+'/plik.pdb')
+ else:
+ chain=pdbid[5]
+ pdbid=pdbid[:4]
+ pdb_tmp=urllib.urlopen('http://files.rcsb.org/download/'+pdbid+'.pdb')
+ with open(dirname+'/plik.pdb', 'w') as outfile:
+ for line in pdb_tmp:
+ if line[0:6] == 'SSBOND' and line[15] == chain and line[29] == chain:
+ outfile.write(line)
+ if line[0:6] == 'ATOM ' and line[21] == chain:
+ outfile.write(line)
+ pdb_tmp.close()
+ file=dirname+'/plik.pdb'
+
+ return(file)
+
+
+def seq_2d_from_pdb(seq_2d,seq):
+ if seq_2d =='':
+ return(seq_2d)
+ seq_2d=seq_2d.replace('C', '-')
+ seq_2d_tmp=''
+ ii=0
+ for i in range(0,len(seq)):
+ if seq[i]=='X':
+ seq_2d_tmp=seq_2d_tmp+'-'
+ else:
+ if len(seq_2d)>ii:
+ seq_2d_tmp=seq_2d_tmp+seq_2d[ii]
+ ii+=1
+ tmp=''
+ for i in range(0,len(seq_2d_tmp),40):
+ tmp=tmp+seq_2d_tmp[i:i+40]+" "
+ return(tmp)
+
+def seq_2d_add_x(seq_2d,seq,seq_form):
+ if seq_2d =='':
+ return(seq_2d)
+ seq_2d=seq_2d[:len(seq_form)]
+ seq_2d=seq_2d.replace('C', '-')
+ if seq_form[0] !='X' and seq[0] == 'X':
+ seq_2d='-'+seq_2d
+ if seq_form[-1] !='X' and seq[-1] == 'X':
+ seq_2d=seq_2d+'-'
+ seq_2d=seq_2d[:len(seq)]
+ tmp=''
+ for i in range(0,len(seq_2d),40):
+ tmp=tmp+seq_2d[i:i+40]+" "
+ return(tmp)
+