Skip to main content

A library for accessing NCBI Entrez databases.

Project description

entrez_utils

This library allows you to access information in remote Entrez databases from Python.

Examples

Creating an EntrezManager

An EntrezManager controls communication with the Entrez databases via HTTP requests. The class is aware of the methods supported by the Entrez API and ensures that the rate limits are not exceeded.

NCBI requests that the email address of the user be sent with requests, so an email is required to construct an EntrezManager.

from entrez_utils import EntrezManager

man = EntrezManager("foo@example.com")

Accessing a record

Most objects can be constructed with either an accession or an Entrez ID.

from entrez_utils import BioProject, BioSample, SRAExperiment, SRARun

project = BioProject(man, accession="PRJNA293777")
sample = BioSample(man, entrez_id="4009779")
experiment = SRAExperiment(man, accession="SRX4958339")
run = SRARun(man, accession="SRR8137396	")

Getting linked records

Properties of a record can be used to get other linked records. For example, this code gets the samples associated with a project.

samples = project.samples

Accessing raw XML

The Python objects representing Entrez records do not expose all possible data from the XML through their properties. The xml attribute give access to a parsed version of the raw XML associated with the record.

xml = project.xml

Batch fetching objects

The XML for a record is ordinarily retrieved lazily, but separately fetching XML for many records can be time consuming. To speed up the process, you can use fetch_all to fetch many records' XML at once.

samples = project.samples
fetch_all(samples)

The fetched function runs fetch_all on its argument and returns the argument, so it can be used to make the code above more concise.

samples = fetched(project.sample)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

entrez_utils-0.0.3.tar.gz (8.4 kB view hashes)

Uploaded Source

Built Distribution

entrez_utils-0.0.3-py3-none-any.whl (9.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page