annotate get_data/glycogenedb/getglycogene_entry.py @ 1:0a5e0df17054 draft default tip

Uploaded
author chrisb
date Fri, 06 May 2016 08:05:48 -0400
parents 89592faa2875
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
89592faa2875 Uploaded
chrisb
parents:
diff changeset
1 __author__ = 'cbarnett'
89592faa2875 Uploaded
chrisb
parents:
diff changeset
2 __license__ = "MIT"
89592faa2875 Uploaded
chrisb
parents:
diff changeset
3
89592faa2875 Uploaded
chrisb
parents:
diff changeset
4
89592faa2875 Uploaded
chrisb
parents:
diff changeset
5 def helper_get_G(lineentry):
89592faa2875 Uploaded
chrisb
parents:
diff changeset
6 if "G" in lineentry.upper():
89592faa2875 Uploaded
chrisb
parents:
diff changeset
7 splitline = lineentry.split()
89592faa2875 Uploaded
chrisb
parents:
diff changeset
8 for item in splitline:
89592faa2875 Uploaded
chrisb
parents:
diff changeset
9 if "G" in item:
89592faa2875 Uploaded
chrisb
parents:
diff changeset
10 return item
89592faa2875 Uploaded
chrisb
parents:
diff changeset
11 return None
89592faa2875 Uploaded
chrisb
parents:
diff changeset
12
89592faa2875 Uploaded
chrisb
parents:
diff changeset
13 def get_acceptor_keggids(entry):
89592faa2875 Uploaded
chrisb
parents:
diff changeset
14 """
89592faa2875 Uploaded
chrisb
parents:
diff changeset
15 :param entry. entry from glycogene db
89592faa2875 Uploaded
chrisb
parents:
diff changeset
16 :return: txt keggids
89592faa2875 Uploaded
chrisb
parents:
diff changeset
17 """
89592faa2875 Uploaded
chrisb
parents:
diff changeset
18 import StringIO
89592faa2875 Uploaded
chrisb
parents:
diff changeset
19 import xml.etree.cElementTree as ET
89592faa2875 Uploaded
chrisb
parents:
diff changeset
20 #handle = StringIO.StringIO(''.join(entry))
89592faa2875 Uploaded
chrisb
parents:
diff changeset
21 handle = StringIO.StringIO(entry)
89592faa2875 Uploaded
chrisb
parents:
diff changeset
22 tree = ET.parse(handle)
89592faa2875 Uploaded
chrisb
parents:
diff changeset
23 #print tree.findtext("acceptors")
89592faa2875 Uploaded
chrisb
parents:
diff changeset
24 root = tree.getroot()
89592faa2875 Uploaded
chrisb
parents:
diff changeset
25 print root, root.tag, root.attrib
89592faa2875 Uploaded
chrisb
parents:
diff changeset
26 for elem in root.findall('./gts/acceptors/acceptor_ref'):
89592faa2875 Uploaded
chrisb
parents:
diff changeset
27 print "acceptors ", elem.tag, elem.attrib
89592faa2875 Uploaded
chrisb
parents:
diff changeset
28 a=dict(elem.attrib)
89592faa2875 Uploaded
chrisb
parents:
diff changeset
29 for key in a.keys():
89592faa2875 Uploaded
chrisb
parents:
diff changeset
30 print key, a[key]
89592faa2875 Uploaded
chrisb
parents:
diff changeset
31
89592faa2875 Uploaded
chrisb
parents:
diff changeset
32
89592faa2875 Uploaded
chrisb
parents:
diff changeset
33 def get_entry_from_glycogene(gene):
89592faa2875 Uploaded
chrisb
parents:
diff changeset
34 """
89592faa2875 Uploaded
chrisb
parents:
diff changeset
35 :param gene. Gene name
89592faa2875 Uploaded
chrisb
parents:
diff changeset
36 :return: xml of entry information
89592faa2875 Uploaded
chrisb
parents:
diff changeset
37 """
89592faa2875 Uploaded
chrisb
parents:
diff changeset
38 import urllib2
89592faa2875 Uploaded
chrisb
parents:
diff changeset
39 #import xml.etree.cElementTree as ET
89592faa2875 Uploaded
chrisb
parents:
diff changeset
40
89592faa2875 Uploaded
chrisb
parents:
diff changeset
41
89592faa2875 Uploaded
chrisb
parents:
diff changeset
42 #tree = ET.parse()
89592faa2875 Uploaded
chrisb
parents:
diff changeset
43
89592faa2875 Uploaded
chrisb
parents:
diff changeset
44 uri = 'http://jcggdb.jp/rcmg/wsglycodb/ggdb/entry/'
89592faa2875 Uploaded
chrisb
parents:
diff changeset
45 #if inputstream is None or inputstream == []:
89592faa2875 Uploaded
chrisb
parents:
diff changeset
46 # raise IOError("empty input stream")
89592faa2875 Uploaded
chrisb
parents:
diff changeset
47 gene = "ST3GAL1"
89592faa2875 Uploaded
chrisb
parents:
diff changeset
48 try:
89592faa2875 Uploaded
chrisb
parents:
diff changeset
49 dbresponse = urllib2.urlopen(uri + gene).read()
89592faa2875 Uploaded
chrisb
parents:
diff changeset
50 except Exception as e:
89592faa2875 Uploaded
chrisb
parents:
diff changeset
51 raise urllib2.HTTPError(e.url, e.code, e.msg, e.hdrs, e.fp)
89592faa2875 Uploaded
chrisb
parents:
diff changeset
52 return dbresponse
89592faa2875 Uploaded
chrisb
parents:
diff changeset
53
89592faa2875 Uploaded
chrisb
parents:
diff changeset
54
89592faa2875 Uploaded
chrisb
parents:
diff changeset
55 if __name__ == "__main__":
89592faa2875 Uploaded
chrisb
parents:
diff changeset
56 from optparse import OptionParser
89592faa2875 Uploaded
chrisb
parents:
diff changeset
57
89592faa2875 Uploaded
chrisb
parents:
diff changeset
58 # usage = "usage: python %prog [options]\n"
89592faa2875 Uploaded
chrisb
parents:
diff changeset
59 # parser = OptionParser(usage=usage)
89592faa2875 Uploaded
chrisb
parents:
diff changeset
60 # parser.add_option("-i", action="store", type="string", dest="i", default="input",
89592faa2875 Uploaded
chrisb
parents:
diff changeset
61 # help="single or double column text file containing GL entries")
89592faa2875 Uploaded
chrisb
parents:
diff changeset
62 # parser.add_option("-k", action="store", type="string", dest="k", default="kcf.output",
89592faa2875 Uploaded
chrisb
parents:
diff changeset
63 # help="kcf output file name")
89592faa2875 Uploaded
chrisb
parents:
diff changeset
64 # parser.add_option("-d", action="store", type="string", dest="d", default="db.output",
89592faa2875 Uploaded
chrisb
parents:
diff changeset
65 # help="KEGG db entry in text format output file name")
89592faa2875 Uploaded
chrisb
parents:
diff changeset
66 # (options, args) = parser.parse_args()
89592faa2875 Uploaded
chrisb
parents:
diff changeset
67 # try:
89592faa2875 Uploaded
chrisb
parents:
diff changeset
68 # instream = file(options.i, 'r')
89592faa2875 Uploaded
chrisb
parents:
diff changeset
69 # except Exception as e:
89592faa2875 Uploaded
chrisb
parents:
diff changeset
70 # raise IOError(e, "the input file specified does not exist. Use -h flag for help")
89592faa2875 Uploaded
chrisb
parents:
diff changeset
71 entry = get_entry_from_glycogene("ST3GAL1")
89592faa2875 Uploaded
chrisb
parents:
diff changeset
72 print entry
89592faa2875 Uploaded
chrisb
parents:
diff changeset
73 #instream = file("xml.xml",'r')
89592faa2875 Uploaded
chrisb
parents:
diff changeset
74 #entry = instream.read()
89592faa2875 Uploaded
chrisb
parents:
diff changeset
75 #print entry
89592faa2875 Uploaded
chrisb
parents:
diff changeset
76 get_acceptor_keggids(entry)
89592faa2875 Uploaded
chrisb
parents:
diff changeset
77 #out = file("xml.xml",'w')
89592faa2875 Uploaded
chrisb
parents:
diff changeset
78 #out.write(entry)
89592faa2875 Uploaded
chrisb
parents:
diff changeset
79 #out.close()
89592faa2875 Uploaded
chrisb
parents:
diff changeset
80 # try:
89592faa2875 Uploaded
chrisb
parents:
diff changeset
81 # kcfout = file(options.k, 'w')
89592faa2875 Uploaded
chrisb
parents:
diff changeset
82 # dbout = file(options.d, 'w')
89592faa2875 Uploaded
chrisb
parents:
diff changeset
83 # except Exception as e:
89592faa2875 Uploaded
chrisb
parents:
diff changeset
84 # raise IOError(e, "cannot open output files. -h flag for help")
89592faa2875 Uploaded
chrisb
parents:
diff changeset
85 #
89592faa2875 Uploaded
chrisb
parents:
diff changeset
86 # kcfout.write("".join(kcf))
89592faa2875 Uploaded
chrisb
parents:
diff changeset
87 # dbout.write("".join(db))
89592faa2875 Uploaded
chrisb
parents:
diff changeset
88 # kcfout.close()
89592faa2875 Uploaded
chrisb
parents:
diff changeset
89 # dbout.close()
89592faa2875 Uploaded
chrisb
parents:
diff changeset
90