#!/usr/bin/env pythonimportsysimportargparsefromBioimportSeqIOdefmain(argv,wayout):ifnotlen(argv):argv.append('-h')parser=argparse.ArgumentParser(formatter_class=argparse.RawDescriptionHelpFormatter,description=__doc__)parser.add_argument('-a','--alignment',help="alignment in fasta format")parser.add_argument('-s','--sites',help="comma separate list of sites, like '75,79,150'")parser.add_argument('-i','--keep-index',action="store_true",help="sites given are already indexed for python (meaning minus 1)")args=parser.parse_args(argv)sites=[int(s)forsinargs.sites.split(",")]ifnotargs.keep_index:sites=[i-1foriinsites]forseqrecinSeqIO.parse(args.alignment,"fasta"):seqsites=[seqrec.seq[s]forsinsites]posstring="-".join(seqsites)seqrec.id="{}_{}".format(str(seqrec.id),posstring)wayout.write(seqrec.format("fasta"))if__name__=="__main__":main(sys.argv[1:],sys.stdout)
Comments (0)
HTTPSSSH
You can clone a snippet to your computer for local editing.
Learn more.