The NCBI Entrez Ecosystem

The NCBI Entrez Ecosystem · Subtopic 3 of 5 · 9 min

NCBI Gene: the Gene-Centric Hub

By the end of this lesson you will be able to open a single NCBI Gene record, read everything it ties together about one gene at a glance, and use its numeric Gene ID as the join key that stitches BRCA1's scattered records — RefSeq, Ensembl, UniProt, OMIM — into one connected object.

One gene, one hub, one number

The last two lessons in this group looked at record types: GenBank archives one submitted sequence, and RefSeq curates one reference sequence per molecule. But a gene is not one sequence. BRCA1 has a genomic locus, several transcripts, a protein, thousands of variants, and a mountain of papers, and NCBI Gene is the record that gathers all of that around one identity.

NCBI Gene is a gene-centric database — its unit is the gene itself, not any single sequence. Search BRCA1[sym] AND human[orgn] and you land on Gene ID 672. That number is the whole point of the resource.

A Gene ID is a stable, permanent integer that names one gene in one organism. 672 has meant human BRCA1 for two decades and will not be reassigned. Unlike an accession, it points at no sequence at all — it points at the concept of the gene, and lets every sequence, variant, and annotation hang off it. NCBI Gene confirms the essentials live: symbol BRCA1, official name "BRCA1 DNA repair associated", locus 17q21.31, and a pile of aliases (RNF53, FANCS, IRIS) that would otherwise send you chasing the wrong records.

What the Gene page gives you at a glance

Open Gene ID 672 and, without clicking away, you can read:

  • Summary — a curated paragraph: BRCA1 is a nuclear phosphoprotein and tumor suppressor central to double-strand-break repair.
  • Genomic context — chromosome 17, the exact coordinates, strand, and neighbouring genes.
  • Reference sequences — the RefSeq transcripts and proteins for this gene, with the MANE Select pair flagged: transcript NM_007294 and its protein NP_009225, on genomic NC_000017.
  • Phenotypes and clinical links — pointers into OMIM and ClinVar.
  • Bibliography and GeneRIFs — short, cited statements of what the gene does.

The Gene page is a dashboard, not a data file. Its job is orientation: one screen that tells you what the gene is and where everything about it lives.

db_xref: the numbers that point outward

The most valuable rows on the page are the cross-references. In NCBI's data these are db_xref entries — a db_xref is a typed pointer of the form database:identifier that says "this record corresponds to that record in another database". BRCA1's Gene record carries a set like this:

db_xrefPoints toMeaning
HGNC:HGNC:1100HGNCthe approved gene-symbol authority
Ensembl:ENSG00000012048Ensemblthe same gene in the EMBL-EBI world
MIM:113705OMIMthe inherited-disease entry

Follow those pointers and BRCA1 also resolves to UniProt P38398 for the protein and KEGG hsa:672 for pathways. Notice the shape: the Gene ID 672 sits in the middle, and every other database is one db_xref hop away. That is what makes Gene the natural hub — it is where the identifiers converge.

Try it yourself: search BRCA1[sym] AND human[orgn] rather than plain BRCA1. A bare text search returns BRCA1 from every species plus records that merely mention it, and an alias like RNF53 can surface an entirely different gene. Anchoring the symbol with [sym] and the organism with [orgn] is how you land on 672 and nothing else. The wrong Gene ID poisons every cross-reference downstream.

Reading the record with code

You can pull the same links programmatically. ESummary on the gene database returns the header fields; EFetch returns the full record including every db_xref. Here we grab the summary with Biopython:

python
from Bio import Entrez

Entrez.email = "[email protected]"          # NCBI asks who you are
handle = Entrez.esummary(db="gene", id="672")
rec = Entrez.read(handle)["DocumentSummarySet"]["DocumentSummary"][0]
handle.close()

print(rec["Name"])                         # BRCA1
print(rec["Description"])                  # BRCA1 DNA repair associated
print(rec["MapLocation"])                  # 17q21.31
print(rec["OtherAliases"])                 # BRCAI, FANCS, RNF53, ...

Because Gene is gene-centric, id="672" is all the state you need — no version, no molecule type. (Keep API calls under 3 req/s unless you have an NCBI key.) If you start from a symbol rather than an ID, ESearch on db="gene" resolves it first — the same pattern the intro course used for sequences in Fetching a Sequence.

That single Gene ID is the thread that ties BRCA1's genomic locus, its RefSeq transcript and protein, its Ensembl gene, its UniProt entry, and its OMIM disease record together — one number, one dossier, no guessing which record is "the" BRCA1.