Skip to content

Instantly share code, notes, and snippets.

@nickloman
Last active December 22, 2015 20:09
Show Gist options
  • Save nickloman/6524509 to your computer and use it in GitHub Desktop.
Save nickloman/6524509 to your computer and use it in GitHub Desktop.
pullblast.py - retrieve BLAST HSP database hits in FASTA format, returning results in same strand orientation as query
#Usage:
#blastall -p blastn -d db -i query -m 8 | python pullblast.py db.fasta
import sys
from Bio import SeqIO
records = SeqIO.to_dict(SeqIO.parse(open(sys.argv[1]), "fasta"))
for ln in sys.stdin:
cols = ln.rstrip().split("\t")
contig = cols[1]
coord_start = int(cols[8])
coord_end = int(cols[9])
if coord_start > coord_end:
coord_start, coord_end = coord_end, coord_start
seq = records[contig][coord_start - 1:coord_end].reverse_complement(id=True, description=True)
else:
seq = records[contig][coord_start - 1:coord_end]
SeqIO.write([seq], sys.stdout, "fasta")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment