[Bio] / FigKernelScripts / peg_to_pdb.py Repository:
ViewVC logotype

View of /FigKernelScripts/peg_to_pdb.py

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.2 - (download) (as text) (annotate)
Mon Dec 5 18:56:37 2005 UTC (14 years, 2 months ago) by olson
Branch: MAIN
CVS Tags: mgrast_dev_08112011, rast_rel_2009_05_18, mgrast_dev_08022011, rast_rel_2014_0912, rast_rel_2008_06_18, myrast_rel40, rast_rel_2008_06_16, mgrast_dev_05262011, rast_rel_2008_12_18, mgrast_dev_04082011, rast_rel_2008_07_21, rast_rel_2010_0928, rast_2008_0924, mgrast_version_3_2, mgrast_dev_12152011, rast_rel_2008_04_23, mgrast_dev_06072011, rast_rel_2008_09_30, rast_rel_2009_0925, rast_rel_2010_0526, rast_rel_2014_0729, mgrast_dev_02212011, rast_rel_2010_1206, caBIG-05Apr06-00, mgrast_release_3_0, mgrast_dev_03252011, rast_rel_2010_0118, mgrast_rel_2008_0924, mgrast_rel_2008_1110_v2, rast_rel_2009_02_05, rast_rel_2011_0119, mgrast_rel_2008_0625, mgrast_release_3_0_4, mgrast_release_3_0_2, mgrast_release_3_0_3, mgrast_release_3_0_1, mgrast_dev_03312011, mgrast_release_3_1_2, mgrast_release_3_1_1, mgrast_release_3_1_0, mgrast_dev_04132011, rast_rel_2008_10_09, mgrast_dev_04012011, rast_release_2008_09_29, mgrast_rel_2008_0806, mgrast_rel_2008_0923, mgrast_rel_2008_0919, rast_rel_2009_07_09, rast_rel_2010_0827, mgrast_rel_2008_1110, myrast_33, rast_rel_2011_0928, rast_rel_2008_09_29, mgrast_rel_2008_0917, rast_rel_2008_10_29, mgrast_dev_04052011, mgrast_dev_02222011, caBIG-13Feb06-00, rast_rel_2009_03_26, mgrast_dev_10262011, rast_rel_2008_11_24, rast_rel_2008_08_07, HEAD
Changes since 1.1: +17 -0 lines
Add license words.

#
# Copyright (c) 2003-2006 University of Chicago and Fellowship
# for Interpretations of Genomes. All Rights Reserved.
#
# This file is part of the SEED Toolkit.
# 
# The SEED Toolkit is free software. You can redistribute
# it and/or modify it under the terms of the SEED Toolkit
# Public License. 
#
# You should have received a copy of the SEED Toolkit Public License
# along with this program; if not write to the University of Chicago
# at info or the Fellowship for Interpretation of
# Genomes at veronika or download a copy from
# http://www.theseed.org/LICENSE.TXT.
#

#
# Create a pseudo-pdb file for a given peg.
#
# Writes to standard output.
#
# usage: peg_to_pdb peg-id
#


import FIG_Config
from FigKernelPackages import FIG2 as FIG
import re

aa_dict =  {}
aa_dict['G'] = "GLY"
aa_dict['A'] = "ALA"
aa_dict['I'] = "ILE"
aa_dict['L'] = "LEU"
aa_dict['V'] = "VAL"
aa_dict['F'] = "PHE"
aa_dict['P'] = "PRO"
aa_dict['M'] = "MET"
aa_dict['D'] = "ASP"
aa_dict['E'] = "GLU"
aa_dict['K'] = "LYS"
aa_dict['R'] = "ARG"
aa_dict['S'] = "SER"
aa_dict['T'] = "THR"
aa_dict['Y'] = "TYR"
aa_dict['H'] = "HIS"
aa_dict['C'] = "CYS"
aa_dict['N'] = "ASN"
aa_dict['Q'] = "GLN"
aa_dict['W'] = "TRP"
aa_dict['U'] = "XXX"

f = FIG.FIG()

if len(sys.argv) != 2:
   print >>sys.stderr, "Usage: %s peg-id" % (sys.argv[0])
   sys.exit(1)
   

peg = sys.argv[1]

m = re.search('fig\|(\d+.\d).peg.(\d+)',peg)

genome = m.group(1)
peg_number = m.group(2)

file_prefix = "/" + genome + ".peg." + peg_number

dir = FIG_Config.organisms + "/" + genome +"/Features/peg/" 

temp_dir = os.getcwd()

fasta = dir + "fasta"

input = open(fasta, 'r')

lines = input.readlines() 

have_sequence = 0

for l in lines:
    
    if(have_sequence):
     sequence = l
     sequence = sequence.strip('\n')
     pdb = temp_dir + file_prefix + ".pdb"
     result  = f.function_of(peg)
     # print "function is: ", result
     if type(result[0]) == type([]):
        
        function = result[0][1]

     else:
        
        function = result[1]
        
     function = str(function)
     
     #output = open(pdb, 'w')
     #os.chmod(pdb, 0777)
     output = sys.stdout
     output.write('HEADER    ')
     output.write(peg)
     output.write('\n')
     output.write("COMPND    MOLECULE:")
     output.write(function)
     output.write('\n')
     output.write("COMPND    CHAIN:")
     output.write("A")
     output.write('\n')
     i = 1
     l = len(sequence)
     
     for s in sequence:
        code = aa_dict[s]
        output.write('ATOM         CA  ')
        output.write(code)
        output.write(' A')
        if i > 99000:
            no_space = 1
        elif i > 9999:
            output.write(' ')
        elif i > 999:
            output.write('  ')
        elif i > 99:
            output.write('   ')
        elif i > 9:
            output.write('    ')
        else:
            output.write('     ')
        
        counter = str(i)    
        output.write(counter)
        output.write('                           1.00')
        output.write('\n')
        i = i + 1
     have_sequence = 0
     output.close()
     break


    
    m = re.search(">(fig\|\d+.\d.peg.\d+)", l)
    if(m):
        p = m.group(1)
        if( p == peg):
            have_sequence = 1
 




MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3