rotifer.db.ncbi.SequenceCursor#
- class rotifer.db.ncbi.SequenceCursor(readers=['entrez'], writers=[], database='protein', progress=True, tries=3, sleep_between_tries=1, batch_size=None, threads=None, *args, **kwargs)[source]#
Bases:
SequenceCursor,SequentialDelegatorCursorFetch annotated sequences from NCBI.
Sequences are downloaded and parsed in GenBank format, the most richly annotated format NCBI provides.
- Parameters:
- readerslist of str, default
['entrez'] Backend reader modules, tried in order.
- writerslist of str, default []
Backend writer modules.
- databasestr, default ‘protein’
A valid NCBI sequence database name, such as
proteinornucleotide.- progressbool, default True
Whether to print a progress bar.
- triesint, default 3
Number of attempts to download data.
- sleep_between_triesint, default 1
Number of seconds to wait between download attempts.
- batch_sizeint, optional
Number of accessions per batch.
- threadsint, optional
Number of simultaneous threads.
- readerslist of str, default
See also
FastaCursorfaster download without annotations
rotifer.db.ncbi.entrez.SequenceCursorthe default backend
Examples
Fetch a protein sequence:
>>> from rotifer.db import ncbi >>> sc = ncbi.SequenceCursor(database="protein") >>> seqrec = sc.fetchall("YP_009724395.1")
Fetch several nucleotide entries:
>>> import sys >>> from Bio import SeqIO >>> query = ['CP084314.1', 'NC_019757.1', 'AAHROG010000026.1'] >>> sc = ncbi.SequenceCursor(database="nucleotide") >>> for seqrec in sc.fetchone(query): ... SeqIO.write(seqrec, sys.stdout, "genbank")