# check if NMR file #pdblines = open(files[0]).readlines() #if len(filter(lambda x: x.find("MODEL")==0, pdblines)) != 0: # nmrfile = 1 #else: # nmrfile = 0 # #models = go_lib.split_NMR_pdb(pdblines) #print models if average: meta_list = [] xyz_list = [] for file in files: meta_crd, xyz = go_lib.make_coords(open(file).readlines(), charmmpdb) meta_list.append(meta_crd) xyz_list.append(xyz) #meta_crd, xyz = go_lib.average_coords(meta_list,xyz_list) else: meta_crd, xyz = go_lib.make_coords(open(files[0]).readlines(), charmmpdb) chains = meta_crd.keys() chains.sort() nchain = len(chains) sys.stdout.write("Chains found in PDB file:\n") for c in chains: sys.stdout.write("\t%s\n" % (c))
info_out = open(outp_base + "_info.dat", "w") for i in info: sys.stdout.write("%s" % (i)) info_out.write("%s" % (i)) info_out.close() # ====================================================================== # PARSE PDB AND WRITE OUT CA-ONLY COORDS -- IF THERE IS A PDB FILE # ====================================================================== if len(sequence) == 0: # we are building from pdb if average: meta_list = [] xyz_list = [] for file in files: meta_crd, xyz = go_lib.make_coords( open(file).readlines(), charmmpdb) meta_list.append(meta_crd) xyz_list.append(xyz) else: meta_crd, xyz = go_lib.make_coords( open(files[0]).readlines(), charmmpdb) else: # if building from sequence ... make 'linear' coords # this allows us to continue as we normally would for PDB data meta_crd, xyz = go_lib.make_sequ_coords(sequence) chains = meta_crd.keys() chains.sort() nchain = len(chains) protein_chains = copy.deepcopy(chains)
#!/usr/bin/env python import sys, os, go_lib metac, xyz = go_lib.make_coords(sys.stdin.readlines()) chains = metac.keys() #print metac #c = chains[0] #for i in range(1,10): # print i, metac[c][i]["name"] #sys.exit(0) go_lib.write_CA_SC_pdb("stdout", xyz, metac, chains, 1)
info_out.write("Building go model from PDB file %s\n" % (files[0])) info_out.write("Target folding temperature = %8.3f K \n" % (Tf)) info_out.write("Key for naming output files = %s\n" % (key)) if symm: info_out.write("Will symmetrize interactions in dimer\n") else: info_out.write("Will not symmetrize interactions in dimer\n") info_out.write("Non-go weighting ('gamma') = %8.3f\n" % (gamma)) info_out.write("Base for output file names = %s\n" % (outp_base)) info_out.write("Default non-go contact distance = %8.3f\n" % (ngdist)) info_out.close() # write out CA-only coords # ====================================================================== meta_crd, xyz = go_lib.make_coords(open(files[0]).readlines()) chains = meta_crd.keys() chains.sort() nchain = len(chains) sys.stdout.write("%i chains found in PDB file:\n" % (len(chains))) for c in chains: sys.stdout.write("\t%s\n" % (c)) #if len(chains) >2: # sys.stderr.write("\n******************************************************\n") # sys.stderr.write("This version can only handle dimers\n") # sys.stderr.write("******************************************************\n") # sys.stderr.write("%s\n" % (Usage)) go_lib.write_CA_pdb(outp_base + ".pdb", xyz, chains)