annotate tools/filters/axt_to_fasta.py @ 1:cdcb0ce84a1b

Uploaded
author xuebing
date Fri, 09 Mar 2012 19:45:15 -0500
parents 9071e359b9a3
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
1 #!/usr/bin/env python
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
2 """
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
3 Adapted from bx/scripts/axt_to_fasta.py
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
4 """
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
5 from galaxy import eggs
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
6 import pkg_resources
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
7 pkg_resources.require( "bx-python" )
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
8
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
9 import sys
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
10 import bx.align.axt
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
11
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
12 def usage(s=None):
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
13 message = """
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
14 axt_to_fasta species1 species2 < axt_file > fasta_file
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
15 """
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
16 if (s == None): sys.exit (message)
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
17 else: sys.exit ("%s\n%s" % (s,message))
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
18
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
19
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
20 def main():
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
21
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
22 # check the command line
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
23 species1 = sys.argv[1]
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
24 species2 = sys.argv[2]
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
25
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
26 # convert the alignment blocks
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
27
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
28 reader = bx.align.axt.Reader(sys.stdin,support_ids=True,\
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
29 species1=species1,species2=species2)
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
30
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
31 for a in reader:
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
32 if ("id" in a.attributes): id = a.attributes["id"]
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
33 else: id = None
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
34 print_component_as_fasta(a.components[0],id)
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
35 print_component_as_fasta(a.components[1],id)
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
36 print
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
37
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
38
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
39 # $$$ this should be moved to a bx.align.fasta module
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
40
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
41 def print_component_as_fasta(c,id=None):
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
42 header = ">%s_%s_%s" % (c.src,c.start,c.start+c.size)
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
43 if (id != None): header += " " + id
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
44 print header
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
45 print c.text
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
46
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
47
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
48 if __name__ == "__main__": main()
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
49