Hi everyone,
I'm trying to remotely blast about 70 200-nt sequences using Biopython.
I've been trying for hours to figure out why the following Python script won't work.
I can get it to work for a read file that contains just one fasta using SeqIO.read, but when I try to switch to SeqIO.parse, I don't get anything in the .xml save file that I create.
Any ideas?
As a side note, if anyone knows the option syntax for excluding organisms from the results (as is possible when using the ncbi website, please let me know).
Thanks very much for any help.
Matt
from Bio.Blast import NCBIWWW
from Bio import SeqIO
import tkinter.filedialog as tkfd
in_file=tkfd.askopenfilename()
record = SeqIO.parse(in_file, format="fasta")
out_file = tkfd.asksaveasfilename()
save_file = open(out_file, "w")
for rec in record:
....print(rec)
....result_handle = NCBIWWW.qblast("blastn", "nt", rec.format("fasta"))
....save_file.write(result_handle.read())
....result_handle.close()
else:
....save_file.close()
This is the content of the in_file that I'm using as a test file (the line formatting of my file is set at 80 char, which might have been lost below):
>165613
TAACTGCAGTGTTTTGTGTCGAGCCTTTTTTGTGCCTTTTTTATAAAGGCATAACGTTATATTTAATTGAAGAGTTTGAT
TCTGGCTCAGATTGAACGCTAGCGGCATGCTTAACACATGCAAGTCGAACGGCAGCGCGGGGAGCTTGCTCCCTGGCGGC
GAGTGGCGGACGGGTGAGTAATGCGTAGGAATCTACCTTG
>165875
GGGATCTTCGGACCTCGTGCTATAAGATGAGCCTACGTCGGATTAGCTTGTTGGTGGGGTAATGGCCTACCAAGGCGACG
ATCCGTAGCTGGTCTGAGAGGACGATCAGCCACACTGGGACTGAGACACGGCCCAGACTCCTACGGGAGGCAGCAGTGGG
GAATATTGGACAATGGGGGAAACCCTGATCCAGCAATGCC
I'm trying to remotely blast about 70 200-nt sequences using Biopython.
I've been trying for hours to figure out why the following Python script won't work.
I can get it to work for a read file that contains just one fasta using SeqIO.read, but when I try to switch to SeqIO.parse, I don't get anything in the .xml save file that I create.
Any ideas?
As a side note, if anyone knows the option syntax for excluding organisms from the results (as is possible when using the ncbi website, please let me know).
Thanks very much for any help.
Matt
from Bio.Blast import NCBIWWW
from Bio import SeqIO
import tkinter.filedialog as tkfd
in_file=tkfd.askopenfilename()
record = SeqIO.parse(in_file, format="fasta")
out_file = tkfd.asksaveasfilename()
save_file = open(out_file, "w")
for rec in record:
....print(rec)
....result_handle = NCBIWWW.qblast("blastn", "nt", rec.format("fasta"))
....save_file.write(result_handle.read())
....result_handle.close()
else:
....save_file.close()
This is the content of the in_file that I'm using as a test file (the line formatting of my file is set at 80 char, which might have been lost below):
>165613
TAACTGCAGTGTTTTGTGTCGAGCCTTTTTTGTGCCTTTTTTATAAAGGCATAACGTTATATTTAATTGAAGAGTTTGAT
TCTGGCTCAGATTGAACGCTAGCGGCATGCTTAACACATGCAAGTCGAACGGCAGCGCGGGGAGCTTGCTCCCTGGCGGC
GAGTGGCGGACGGGTGAGTAATGCGTAGGAATCTACCTTG
>165875
GGGATCTTCGGACCTCGTGCTATAAGATGAGCCTACGTCGGATTAGCTTGTTGGTGGGGTAATGGCCTACCAAGGCGACG
ATCCGTAGCTGGTCTGAGAGGACGATCAGCCACACTGGGACTGAGACACGGCCCAGACTCCTACGGGAGGCAGCAGTGGG
GAATATTGGACAATGGGGGAAACCCTGATCCAGCAATGCC
Comment