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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file entrez_utils-0.0.3.tar.gz.

File metadata

  • Download URL: entrez_utils-0.0.3.tar.gz
  • Upload date:
  • Size: 8.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.1

File hashes

Hashes for entrez_utils-0.0.3.tar.gz
Algorithm Hash digest
SHA256 72d8bef2c0cfd779ec8c5a2f1a1f8ff11c055735b8e5e2b0932f2a0ef7316815
MD5 1e1e588d41582073e942f5bf6e2ea351
BLAKE2b-256 37a139549c2a26488c38e55116e835d0cc37f5d93dce324a1cabad61c3e0b259

See more details on using hashes here.

File details

Details for the file entrez_utils-0.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for entrez_utils-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 8a18709a31dc464f6602d91b7a35c23e2c1d4eeb28384cf73abe7e1d093025a7
MD5 3f23a8510ee92a282bcbcb56e136423a
BLAKE2b-256 6c4b63e5552913de2b3d180e745210c0f9182427dafbaa79aaa01bf89098efab

See more details on using hashes here.

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