Reference Genome
Module 00 covered how to work on Mjolnir. This is where the Great Auk project itself begins: finding, evaluating, and obtaining the genome we'll compare everything else against. You already know how to connect, navigate, and run commands — the questions in this module are biological and analytical, not mechanical: which genome(s) do we actually use, and what are the consequences of that choice?
This module works with genome assemblies — already-built genome sequences — because that's what you need in order to choose and download a reference. Later in the project, for comparing genetic diversity across species, we'll instead work with raw sequencing reads processed through one consistent pipeline. Published heterozygosity estimates from different papers are rarely directly comparable: they differ in mapper, filtering, genotype calling, depth, callable-site definitions, repeat masking, and more. Running everything through the same pipeline removes those methodological differences — though, as you'll see by the end of this module, it does not remove every source of bias, since the Great Auk itself has no living member of its own genus and must be compared against a related species.
Learning objectives
- Determine which Alcidae species are relevant comparators for the Great Auk, and why
- Search NCBI for available genome assemblies, and interpret
GCA_/GCF_accessions - Evaluate assembly quality using real metrics — not a single number — and justify a choice
- Explain why the Great Auk needs a heterospecific reference, and what that costs downstream
- Download a chosen assembly reproducibly, by accession, on Mjolnir
- Organise a multi-species reference collection in a sensible project structure
- Build a reproducible provenance manifest for the genomes you select
- Explain how reference choice could bias diversity estimates — and preview how we'll test that directly
Who are the Great Auk's living relatives?
Comparative genomics starts with knowing your comparison group. The Great Auk (Pinguinus impennis, extinct since the mid-19th century) belonged to family Alcidae — the auks — within the order Charadriiformes. Before picking any genome, you need to know which living species are close enough relatives to be scientifically meaningful comparators, not just "any bird genome." Taxonomic distance affects everything downstream: how useful a species is as a mapping reference, how informative it is phylogenetically, and how interpretable any comparison ends up being.
Pinguinus was a single-species genus — the Great Auk had no other living members of its own genus. Phylogenetic work places Alca torda (the razorbill) as its closest living relative, which is why the razorbill will matter a great deal later in this module.
Where Alcini sits within Alcidae (simplified)
"Other Alcinae" groups murres, guillemots, auklets, and murrelets. Simplified from the topology in Smith & Clarke (2015); fossil lineages and exact branch lengths omitted for clarity. Not to scale.
Zoom in: Alcini
The razorbill — living, and the key mapping-reference candidate for this project — and the extinct Great Auk are recovered as sister taxa in Smith & Clarke (2011), the closest such relationship in the tree.
Both diagrams above are original illustrations redrawn from the published topologies, not reproductions of the original figures (see sources below) — the original figures weren't clearly licensed for reuse here, and a simplified version better suits a two-species zoom-in anyway.
Sources for the diagrams above
- Smith, N.A. & Clarke, J.A. (2015). Systematics and evolution of the Pan-Alcidae (Aves, Charadriiformes). Journal of Avian Biology, 46(2), 125–140. https://doi.org/10.1111/jav.00487
- Smith, N.A. & Clarke, J.A. (2011). An alphataxonomic revision of extinct and extant razorbills (Aves, Alcidae): a combined morphometric and phylogenetic approach. Ornithological Monographs, 72, 1–61. https://doi.org/10.1525/om.2011.72.1.1
Using the NCBI Taxonomy browser, look up family Alcidae and compile your own list of extant genera and representative species in your notes. You don't need to work out the exact phylogeny — focus on recognising who the family's living members actually are, beyond the razorbill.
Search "Alcidae" directly in the NCBI Taxonomy browser and look at its child taxa — this is faster and more reliable than trying to recall species names from memory.
Show model answer
Alcidae contains roughly two dozen living species across genera including Alca (razorbill), Uria (murres/guillemots), Fratercula (puffins), Cepphus (guillemots), Brachyramphus and Synthliboramphus (murrelets), and several smaller auklet genera. For this project, the razorbill, murres, and puffins are the most immediately relevant — they're well-studied, more likely to have good-quality genome assemblies, and (for the razorbill especially) phylogenetically close.
Why isn't "any bird genome" an adequate comparator here? What specifically would you lose — for mapping, and for a phylogenetic tree — if you picked a distantly related seabird instead of a close Alcidae relative?
Find available Alcidae genome assemblies
Genome assemblies for most species live in NCBI Assembly (searchable via
NCBI Datasets), with GenBank and RefSeq as the two
underlying databases. An accession starting GCA_ is a GenBank
assembly — submitted by any research group, not independently curated by NCBI. One starting
GCF_ is a RefSeq assembly — a GenBank assembly that NCBI has
additionally processed and annotated. A species can have several assemblies at once, from
different groups, of very different quality — "a genome exists for this species" does not
mean every assembly of it is equally usable. ENA (European Nucleotide Archive) mirrors much
of the same data if you ever need an alternative source, but we'll centre this workflow on
NCBI.
Using NCBI Datasets (Genome), search for 2–3 species from your Exercise 1 list, including the razorbill. For each, record in your notes: how many assemblies exist, their accessions, and which (if any) is flagged as RefSeq.
The NCBI Datasets results table has sortable columns for assembly level and RefSeq category — use them to compare candidates at a glance rather than opening each record individually.
Show solution approach
There's no single command here — this is a database navigation task. A reasonable approach:
- Search NCBI Datasets (Genome) for each species name in turn.
- Note every assembly returned, its accession, and its assembly level.
- Check whether a RefSeq (
GCF_) version exists alongside any GenBank (GCA_) ones. - Do the same for the razorbill specifically — you'll need its best assembly for Exercise 3 onward.
For the razorbill, did you find more than one assembly? Independent of quality, what does
the GCA_ vs GCF_ prefix tell you about an assembly's status — and
what does it not tell you?
Which assembly should we use?
Reference selection is a biological and analytical decision, not "pick the assembly with the biggest N50." Metrics worth weighing together include:
- Assembly level — contig, scaffold, or chromosome-level (how far sequence has been ordered and joined)
- Contig N50 / Scaffold N50 — the length at which half the assembly's total size is contained in pieces that size or longer; higher usually means more contiguous, but contig N50 and scaffold N50 measure different things
- Number of contigs/scaffolds — fewer, larger pieces are generally easier to work with
- BUSCO completeness — the proportion of expected single-copy genes found intact, a proxy for how much real biology is actually present and unbroken
- Gaps — regions of unknown sequence (often shown as runs of
N) within an otherwise joined assembly - RefSeq vs GenBank status, and provenance — who produced it, whether it's linked to a peer-reviewed paper, and how it was generated (short-read vs long-read, Hi-C scaffolded, etc.)
- Primary vs alternate/haplotype-resolved — some modern assemblies split a diploid genome into two haplotypes rather than collapsing it into one representative sequence
Two fictional candidate assemblies for the same species, to illustrate that these metrics can pull in different directions:
| Metric | Candidate A | Candidate B |
|---|---|---|
| Assembly level | Chromosome-level | Scaffold-level (no Hi-C) |
| Contig N50 | 2.1 Mb | 8.4 Mb |
| Scaffold N50 | 45 Mb | 12 Mb |
| BUSCO complete | 92% | 98.5% |
| Gaps | Moderate | Very few (long-read) |
| Status | GenBank, 2016, published | GenBank, 2023, preprint only |
Show reasoning
Neither candidate is simply "better." A is chromosome-level with a publication trail — valuable if you need chromosome-scale structure or synteny, and reassuring because it's been through peer review. B has far higher contig-level contiguity and completeness (likely long-read sequencing) — valuable for variant calling and heterozygosity estimation, where unbroken sequence matters more than chromosome assignment — but it isn't chromosome-anchored and hasn't been externally vetted yet. The right choice depends on what you're using the reference for, which is exactly why this is a judgement call rather than a lookup.
Now do this for real. Using the candidates you found in Exercise 2 for the razorbill (or another species with more than one assembly), build the same comparison for your actual options using NCBI Datasets' reported metrics, then write a justified decision: which would you choose, and why?
NCBI Datasets' genome record page reports most of these metrics directly (assembly stats, BUSCO where available) — you shouldn't need to calculate any of them yourself.
Which single metric, if you'd looked at only that one, would have given you a misleading answer? And separately: why shouldn't every Alcidae species automatically be mapped to the razorbill genome, even though it's well-studied? What's the general strategy for choosing a reference for an extant species, versus for the Great Auk specifically?
The razorbill reference and heterospecific mapping
The Great Auk has no living member of its own genus, so there is no conspecific reference genome to map its reads against. Instead, we use the razorbill — a closely related but distinct species. Mapping reads to a different species' genome is called heterospecific mapping, and it has real, predictable consequences:
Ancient DNA compounds this: Great Auk reads will typically be short and chemically damaged (characteristic cytosine-to-thymine misincorporation near fragment ends), which makes divergent regions even harder to map correctly. We won't run any of this yet — the quantitative test comes once you reach the mapping module — but the causal logic above is worth understanding now, since it's the reason reference choice matters at all.
In your own words, walk through what happens to a single Great Auk sequencing read that falls in a genomic region where the Great Auk and razorbill sequences differ substantially — follow it through each step of the chain above.
Think about what an aligner does when a read has too many mismatches to confidently place — does it map with low confidence, map incorrectly, or simply fail to map at all?
Why might heterospecific mapping specifically cause heterozygosity to be underestimated, rather than just noisier in both directions? Why does ancient DNA make this worse rather than just adding random noise?
Download a reference genome reproducibly
A filename tells a future reader nothing, and a link copied from a browser can break,
redirect, or silently point at a different assembly version later. An accession
is a stable, citable identifier that anyone can resolve back to the exact same assembly,
indefinitely. NCBI's own datasets command-line tool is built around exactly
this: datasets download genome accession <ACCESSION> fetches the official
data package for that accession, with no manual URL involved at all.
Mjolnir's software documentation doesn't list datasets as a pre-installed
module (it names samtools as its example tool, not this one) — so, exactly as
in Module 00, the first step is to check rather than assume.
Check whether datasets is already available on Mjolnir. If it isn't, fetch
NCBI's own static binary directly into your personal space (no admin rights needed) and use
that instead. Either way, use it to download your chosen razorbill assembly by its accession
from Exercise 3.
Two commands from Module 00 check whether a tool is available. If neither finds anything, NCBI publishes the tool itself as a plain downloadable binary — no module system or conda environment required.
Show command
This downloads a .zip data package (you'll open it in Exercise 6). The
curl call here fetches NCBI's own versioned tool binary, not a per-species
download link — the actual genome is still requested purely by accession, so the result
is identical whichever route got you there. If datasets turns out to be
available as a module after all, drop the curl/chmod lines and
load it the way you learned in Module 00 instead.
Why is downloading by accession more reproducible than right-clicking "download" on a web page? Exactly what would someone else need — written down, nothing more — to redo this identical download in a year's time?
Inspect and organise the downloaded reference
NCBI Datasets packages arrive as a .zip archive with a nested structure —
typically ncbi_dataset/data/<ACCESSION>/ containing the genomic FASTA
alongside metadata files (an assembly data report, sequence report, and similar). You'll
need to unzip it, find the actual FASTA inside, and confirm it before trusting it — the same
"inspect before you use it" habit from Module 00, just applied to a real, messier package
this time. From here, each species gets its own named subdirectory inside your project's
reference collection, so the structure stays legible as it grows:
great_auk/
reference_genomes/
Alca_torda/
Fratercula_arctica/
Uria_aalge/
metadata/
analysis/
raw_reads/
Species subfolders are named as they're added — you'll only have Alca_torda/ after this exercise; the others appear later as the Alcidae collection grows.
Unzip the downloaded package, locate the genomic FASTA inside it, confirm it with the file
tools you already know, then move it into a new Alca_torda/ subdirectory inside
reference_genomes/. Also create metadata/, analysis/,
and raw_reads/ as siblings of reference_genomes/ — you won't put
anything in the last two yet, but the structure should exist.
unzip <file>.zip extracts an archive (new command — your first .gz files in Module 01 didn't need it, since gzip and zip are different formats). find . -name "*.fna" will locate the FASTA regardless of how deeply it's nested.
Show command
Paths are relative to wherever you downloaded into — adjust to match your own directory structure from here.
How many sequences did grep -c '^>' report, and does that roughly match the
assembly level you recorded back in Exercise 2/3 — a small number close to a chromosome
count, or a much larger number for a scaffold-level assembly? Separately: why keep each
species in its own subfolder, rather than putting every FASTA directly inside
reference_genomes/?
Build the Alcidae genome manifest
A folder full of FASTA files means nothing on its own — without a record of what each file is, where it came from, and why it was chosen, neither you nor anyone else can reconstruct this work later. A plain-text, tab-separated manifest is simple, diffable, and easy to extend as you add more species to the Alcidae collection.
Create metadata/genome_manifest.tsv with a header row and one row for the
razorbill assembly you just downloaded. Include at minimum: species,
common_name, assembly_accession, assembly_name,
source, assembly_level, genome_size,
contig_N50, scaffold_N50, download_date,
intended_use (e.g. "Great Auk mapping reference"), and notes.
You'll add a new row for each additional species as the Alcidae collection grows — the file
just needs to exist and be correct for now.
Typing literal tab characters into a heredoc is error-prone. printf with explicit \t and \n is more reliable than echo for building a TSV line by line.
Show command
Replace every <PLACEHOLDER> with the real values you recorded in Exercises 2–5.
Six months from now, could someone redownload exactly this file using only this manifest
row — without searching NCBI's website again? If not, what's missing? Also: why record both
assembly_accession and assembly_name, when the accession
alone is the "real," permanent identifier?
Looking ahead: testing reference bias
Exercise 4 argued, conceptually, that mapping to a related-but-different species' genome should cost you something. We're not going to take that on faith. Later, once you've learned mapping, you'll take the same raw sequencing dataset from one extant Alcidae species and map it twice:
- (A) against that species' own reference genome
- (B) against a related species' reference genome (the razorbill's situation, simulated on a species where you have the choice)
Then compare mapping rate, MAPQ distribution, properly-paired rate, depth, callable genome size, and heterozygosity between the two. The teaching point: same reads, same pipeline, different reference — any difference you see is reference bias, measured directly rather than assumed. Nothing about that experiment happens in this module; the reference you've chosen, downloaded, and documented here is what makes it possible later.
This also closes the loop on this module's opening point: even with a carefully chosen assembly, a heterospecific reference is still a heterospecific reference. That's precisely why the project will eventually move to raw reads processed through one shared pipeline for the diversity comparisons — it standardises the methodology, even though, as you now know, it can't fully standardise away the fact that the Great Auk's reference isn't its own species.
Write a short prediction in your notes: for the own-reference vs. related-reference experiment above, which direction do you expect mapping rate and heterozygosity to move when using the non-native reference, and why? You're not running anything yet — this is a prediction worth revisiting once the real experiment happens.
What result from that future experiment would make you more confident in the Great Auk's razorbill-mapped heterozygosity estimate? What result would make you less confident?
Module 01 summary
By the end of this module you should have identified a scientifically justified reference genome for Great Auk mapping, downloaded it reproducibly by accession, organised it inside a multi-species project structure, and documented its provenance in a manifest — plus a clear, causal understanding of why a heterospecific reference has consequences, and a concrete prediction to test once you reach mapping.