A modern sequencer does not read a genome from end to end. It reads short fragments, millions or billions of times, and reports each one with a per-base confidence. Turning that into “this person carries this variant” is a pipeline of decisions, and every one of them can change the answer.
Step 0: know what you are sequencing
The first decision is made before the run. Whole-genome sequencing, whole-exome sequencing and targeted panels produce very different data: an exome captures protein-coding regions and the boundaries around them but says almost nothing about deep intronic or structural variation. A low-coverage whole-genome run can see a large deletion that a high-depth panel would miss, while being far weaker at detecting a single-base change in a specific gene.
Choosing the assay is a scientific decision, not a technical detail.
Step 1: quality control on the raw reads
FastQC and similar tools summarise the raw files: mean quality per position, GC distribution, adapter content, duplication and over-represented sequences.
Two patterns are worth memorising. Quality that falls toward the end of the read is normal for many platforms and is the reason reads are trimmed. A GC curve shifted away from the expected distribution often signals contamination or a biased library rather than a biological finding. Adapter sequence still present in the reads will misalign later, so trimming is not cosmetic.
Step 2: align to a reference
Reads are mapped to a reference genome. This step assumes the reference is a fair representation of the sample’s ancestry — an assumption that matters most exactly where variation is highest. The aligner reports a mapping quality per read, and reads that match several places (repeats, segmental duplications, pseudogenes) should be treated with suspicion rather than trusted because they aligned.
Step 3: post-alignment cleanup
Duplicates, usually created during library preparation, are marked so they are not counted as independent evidence. Local realignment and base quality score recalibration reduce systematic error in the base confidences, because the variant caller weighs each base by its reported quality — and those reported qualities are frequently optimistic.
Step 4: call variants — and filter them
The caller compares the aligned reads against the reference and decides, per position, whether the evidence supports an alternative allele. It produces variant calls, and then the harder part begins: separating true variants from artefacts.
Standard filters remove calls with weak evidence, low depth, strand bias, or positions that sit in problematic regions. Two failure modes are common and instructive. A sequencing artefact appears in one direction only or at a low allele fraction. A real low-fraction variant, such as a subclonal mutation in a tumour sample, looks similar and can be discarded by a filter tuned for germline work.
Step 5: interpretation is not automatic
A filtered list of variants is not a conclusion. Annotation links each variant to transcripts and predicted consequences; databases of known variation and curated clinical resources provide prior context. Every one of those sources has its own version and own biases, which is why a reported result should always record the reference build, the tool versions and the filter thresholds used.
Reproducibility as the actual standard
Two analyses of the same FASTQ files can disagree while both being run competently, because the pipeline differs in ways nobody wrote down. The practical standard is unglamorous: pin the reference build, pin tool versions, record the exact command lines, and keep the QC reports alongside the result. Then a disagreement is a thing you can inspect rather than an argument.