Lesson 10 of 20 · 8 min
The NCBI Entrez Ecosystem
By the end of this short overview you will see NCBI not as a pile of separate websites but as one search-and-retrieval engine wired together underneath — and you will know exactly which five of its databases this module opens up, and how a single BRCA1 query walks between them.
Entrez is one system, not many
Entrez is NCBI's integrated retrieval system: a single index sitting over roughly 38 databases, from DNA sequences to papers to variants. When you searched a GenBank page and a PubMed page in The Two Hubs: NCBI Entrez and EMBL-EBI, you were using the same engine both times. That is the whole idea: one query language, one set of tools, many data types behind it. Under the hood, every one of those searches routes through the same small family of programs, the E-utilities — ESearch to find IDs, EFetch to pull full records, ESummary for a quick digest, and ELink to jump sideways into a related database. Learn that vocabulary once and it works identically whether the record on the far end is a chromosome or a citation.
What makes Entrez more than a shared search box is that the records are linked by real biological relationships. A gene record points at the transcripts it produces; a transcript points at the protein it encodes; a variant points at the gene it sits in. NCBI stores these as links (its term for a curated edge between two records in two databases), and you can walk them without ever leaving the system. That is different from typing a new search term five times over; it is following an edge that a curator (or an automated pipeline) already drew for you, so the connection is exact rather than a guess based on keyword overlap.
The five stops in this module
This module opens the five Entrez members you will lean on most. Each takes one column of the BRCA1 map from A Field Map of the Major Databases, and each row below gets its own lesson later in this module.
| Lesson (this module) | Entrez db | Answers | BRCA1 record |
|---|---|---|---|
| GenBank | nucleotide | what raw sequence was deposited? | archived submissions |
| RefSeq | nucleotide | what is the curated reference? | NM_007294, NP_009225 |
| NCBI Gene | gene | what is this gene, as a hub? | 672 |
| dbSNP / ClinVar | snp, clinvar | how does it vary, and does it matter clinically? | pathogenic variants |
| SRA | sra | what raw reads exist? | sequencing runs |
Notice that GenBank and RefSeq share the same db value, nucleotide. They are not two separate databases in Entrez's eyes — they are two divisions of one database, distinguished by their accession prefixes rather than by a separate search index. You will see exactly how that split works in the GenBank and RefSeq lessons.
Why the links matter more than the search box
A keyword search for "BRCA1" against nucleotide alone returns thousands of records: full genes, partial clones, mRNAs from a dozen species, decades-old submissions sitting next to this year's. It cannot tell you which of those is the current human transcript, nor which variants sit on it, nor which sequencing runs back it up. Entrez's links solve that by starting from a record you already trust — say, Gene ID 672 — and walking outward along curated edges instead of re-searching blind. Each edge has a name, a linkname, such as gene_nuccore_refseqrna for "the RefSeq mRNAs of this gene," so the hop is explicit about which relationship it is following, not just "related records."
How one BRCA1 query hops between them
Say you start at NCBI Gene with BRCA1's Gene ID, 672. The ELink tool — the E-utilities call that returns linked records — lets you hop from that one ID to its RefSeq transcripts, its variants, or its reads without a second search:
from Bio import Entrez
Entrez.email = "[email protected]" # NCBI asks who you are
# Gene 672 -> its linked RefSeq nucleotide records
links = Entrez.read(Entrez.elink(
dbfrom="gene", id="672", db="nucleotide"))That single hop — Gene to nucleotide, landing on the NM_007294 you already know — is the whole ecosystem in miniature. Master these five databases and the links between them, and BRCA1 stops being ten disconnected lookups and becomes one connected object: one gene, its curated transcripts, its catalogued variants, and the raw reads behind all of it.
Heads-up before you script: the E-utilities behind ELink are rate-limited to 3 req/s per IP without an API key, or 10 req/s with a free one registered to your NCBI account. Stay under the cap and always set Entrez.email (and add an API key for heavier use), or NCBI may throttle or block your IP. If you have not set up Biopython yet, the install guide walks through it in a few minutes.