/tools/filters/axt_to_concat_fasta.py
https://bitbucket.org/cistrome/cistrome-harvard/ · Python · 51 lines · 30 code · 14 blank · 7 comment · 4 complexity · 092cc0e5bdf15eba96d536326996f17f MD5 · raw file
- #!/usr/bin/env python
- """
- Adapted from bx/scripts/axt_to_concat_fasta.py
- """
- from galaxy import eggs
- import pkg_resources
- pkg_resources.require( "bx-python" )
- import sys
- import bx.align.axt
- def usage(s=None):
- message = """
- axt_to_fasta species1 species2 < axt_file > fasta_file
- """
- if (s == None): sys.exit (message)
- else: sys.exit ("%s\n%s" % (s,message))
- def main():
- # check the command line
- species1 = sys.argv[1]
- species2 = sys.argv[2]
- # convert the alignment blocks
- reader = bx.align.axt.Reader(sys.stdin,support_ids=True,\
- species1=species1,species2=species2)
- sp1text = list()
- sp2text = list()
- for a in reader:
- sp1text.append(a.components[0].text)
- sp2text.append(a.components[1].text)
- sp1seq = "".join(sp1text)
- sp2seq = "".join(sp2text)
- print_component_as_fasta(sp1seq,species1)
- print_component_as_fasta(sp2seq,species2)
-
- # $$$ this should be moved to a bx.align.fasta module
- def print_component_as_fasta(text,src):
- header = ">" + src
- print header
- print text
- if __name__ == "__main__": main()