rotifer.db.ncbi.IPGCursor#

class rotifer.db.ncbi.IPGCursor(readers=['entrez'], writers=[], local_database_path=None, progress=True, tries=3, sleep_between_tries=1, batch_size=None, threads=None, *args, **kwargs)[source]#

Bases: IPGCursor, SequentialDelegatorCursor

Fetch identical protein group (IPG) reports.

An IPG report lists every protein sequence identical to the query known to NCBI, together with the nucleotide sequences and genome assemblies encoding them. When a local SQLite3 database path is given and exists, it is queried before NCBI Entrez.

Parameters:
readerslist of str, default ['entrez']

Backend reader modules, tried in order.

writerslist of str, default []

Backend writer modules.

local_database_pathstr, optional

Path to a local SQLite3 database. Appended to the readers when the file exists.

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.

See also

rotifer.db.ncbi.entrez.IPGCursor

the remote backend

rotifer.db.sql.sqlite3.IPGCursor

the local backend

Examples

>>> from rotifer.db import ncbi
>>> ic = ncbi.IPGCursor()
>>> df = ic.fetchall("YP_009724395.1")
fetchall(accessions)[source]#

Fetch the IPG reports of all accessions as one dataframe.

Parameters:
accessionslist of str

NCBI protein accessions.

Returns:
pandas.DataFrame

The concatenated IPG reports.