Mercurial > repos > artbio > cherry_pick_fasta
diff cherry_pick_fasta.py @ 0:e3aee4ba49c6 draft
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/cherry_pick_fasta commit a5e865d017e0434dae013565929ad5e6e5129fd3
author | artbio |
---|---|
date | Sun, 15 Oct 2017 13:26:45 -0400 |
parents | |
children | ea8fde9c6f82 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cherry_pick_fasta.py Sun Oct 15 13:26:45 2017 -0400 @@ -0,0 +1,40 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +""" +Chery pick of fasta sequences satisfying a query string in their header/name +""" + +import argparse + + +def Parser(): + the_parser = argparse.ArgumentParser( + description="Cherry pick fasta sequences") + the_parser.add_argument('--input', action="store", type=str, + help="input fasta file") + the_parser.add_argument('--query-string', dest="query_string", + action="store", type=str, + help="header containing the string will be\ + extracted as well as the corresponding\ + sequence") + the_parser.add_argument( + '--output', action="store", type=str, help="output fasta file") + args = the_parser.parse_args() + return args + + +def __main__(): + """ main function """ + args = Parser() + search_term = args.query_string + CrudeFasta = open(args.input, "r").read() + Output = open(args.output, "w") + FastaListe = CrudeFasta.split(">") + for sequence in FastaListe: + if search_term in sequence: + Output.write(">%s\n" % sequence.rstrip()) + Output.close() + + +if __name__ == "__main__": + __main__()