Test 2 Wiki template raw - mestato/EPP622_2026 GitHub Wiki

Lab Notebook Wiki โ€” Template

Instructions: Copy each the template to your own github wiki. You are welcome to break into multiple pages if that makes it easier for you, just keep all the sections.

Every command must be copy-pasteable and complete. Not ran fastp on the samples. The actual command, with the actual arguments, in a formatted code block.

Each command needs a comment. What are you running and why? No need to be too long, but something like "Running FastQC to check the quality of the reads."

Overview and Setup

Name: - Server: - Repository URL: -

Create directory and symbolically link provided files.

Code:

Step 1: Quality Control (FastQC + MultiQC)

Commands

Comments

commands

Results

MultiQC report name: _

| Sample | Total reads | Quality issues? | Average Genome Coverage | | --- | --- | --- | --- | | A | \- | \- | \- | | B | \- | \- | \- | | C | \- | \- | \- | | D | \- | \- | \- |

Step 2: Read Trimming and Filtering (fastp)

Warning
Because these reads are simulated, fastp fails to identify that they need poly-G tail trimming. Turn that on with a flag.

ADVICE: Its easier to compare the reads pre and post trimming if you run multiqc on the results of fastqc of the trimmed files (and do not use the .json files from fastp).

Commands

Comments

commands
# Results

MultiQC report name: _

| Sample | Reads before | Reads after | Mean length before | Mean length after | Average Genome Coverage After | | --- | --- | --- | --- | --- | --- | | A | \- | \- | \- | \- | \- | | B | \- | \- | \- | \- | \- | | C | \- | \- | \- | \- | \- | | D | \- | \- | \- | \- | \- |

Step 3: Alignment (bwa-mem2 + samtools)

Commands

Comments

commands

Results

| Sample | % mapped | % properly paired | Mean depth | | --- | --- | --- | --- | | A | \- | \- | \- | | B | \- | \- | \- | | C | \- | \- | \- | | D | \- | \- | \- |

Step 4: Variant Calling (bcftools mpileup + call)

Commands

Comments

commands

Results

| Sample | Raw records | SNP records | Indel records | Multiallelic records | | --- | --- | --- | --- | --- | | A | \- | \- | \- | \- | | B | \- | \- | \- | \- | | C | \- | \- | \- | \- | | D | \- | \- | \- | \- |

Step 5: Filtering (bcftools filter)

Commands

I am going to try a gentle filtering and more stingent filtering.

Gentle: exclude variants with a QUAL less than 20 or less than 5 total read depth across all samples.

Stringent: exclude variants with a QUAL less than 30 or less than 10 total read depth across all samples or a site level mapping quality (root mean square) of less than 40

bcftools \ filter -e 'QUAL<30 || INFO/MQ<40 || INFO/DP<10' \ -Oz -o test2.filter_moderate.vcf.gz test2.raw.vcf.gz

#filtering gentle
#filtering stringent
# bcftools stats on gentle
# bcftools stats on stringent

Results

| Sample | SNP records raw | SNP records gentle | SNP records stringent | | --- | --- | --- | --- | | A | \- | \- | \- | | B | \- | \- | \- | | C | \- | \- | \- | | D | \- | \- | \- |

Step 6: Evaluation Against the Truth Set

Commands

Link to the provided evaluate_snps_v4.py and truth_snps.vcf. Find the precision, recall and F1 for gently filtered and stringently filtered SNP sets.

Example of how to run evaluate_snps_v4.py:

python3 evaluate_snps_v4.py \
    --truth truth_snps.vcf --calls <yourvcffile> \
    --all-samples --tag strict --outdir outdir
code

Directory structure

From this folder that holds all my analysis, here is the directory structure:

# paste the output of: tree .

Results

| Sample | Filter | TP | FP | FN | Precision | Recall | F1 | | --- | --- | --- | --- | --- | --- | --- | --- | | A | unfiltered | \- | \- | \- | \- | \- | \- | | A | gentle | \- | \- | \- | \- | \- | \- | | A | strict | \- | \- | \- | \- | \- | \- | | B | unfiltered | \- | \- | \- | \- | \- | \- | | B | gentle | \- | \- | \- | \- | \- | \- | | B | strict | \- | \- | \- | \- | \- | \- | | C | unfiltered | \- | \- | \- | \- | \- | \- | | C | gentle | \- | \- | \- | \- | \- | \- | | C | strict | \- | \- | \- | \- | \- | \- | | D | unfiltered | \- | \- | \- | \- | \- | \- | | D | gentle | \- | \- | \- | \- | \- | \- | | D | strict | \- | \- | \- | \- | \- | \- |

Questions to answer

Which samples differ from each other in read count versus in read quality? Why does that distinction matter?

What are the relative merits and drawbacks of filtering? Interpret the above chart in terms of the original quality issues, and how those yielded different outcomes. When is filtering a good idea vs when it is it a bad idea?

Pick two false negatives and two false positives, from at least two different samples. For each, tell me the coordinate, put in a screenshot of IGV or JBrwose, and explain the specific cause.

AI Pipeline Audit

This is an evaluation of the pipeline you generated at the beginning of the learning module. Provide full sentences and thoughtful rationale.

Model used: Date generated: Exact prompt:

Three things it got right.

Three things you donโ€™t understand. What specifically would you need to learn in order to assess them?

What did the labs teach you that turned out to matter for evaluating the AI-generated code?

Compare the two approaches. The good and the bad, in your opinion.

What is the value of learning a topic before using AI on it โ€” or is there none?

โš ๏ธ **GitHub.com Fallback** โš ๏ธ