omics.co.in logo omics.co.in

Plant Genome Resources, Spud DB, GFF3/GTF Annotations & FASTQ QC

Tested Stacks: GATK 4.6.1 Samtools 1.21 Nextflow 24.10 Seurat v5.1 Python 3.12
Prerequisites: Basic Linux CLI & Sequencing Formats
PLANT BIOTECHNOLOGY • TRACK 20 CHAPTER 02 OF 10
50 min read • 6 Code Examples • Terminal & R

Plant Genome Resources, Spud DB, GFF3/GTF Annotations & FASTQ QC

Navigating plant reference genomes (Spud DB, Phytozome, Ensembl Plants), polyploidy considerations, filtering plastid/mitochondrial rRNA contamination, and running FastQC + fastp.

Phase: Day 1 • Genomic Resources & QC

Key Learning Deliverables & Competencies

  • Downloading Solanum tuberosum reference genomes (DM1-3 v4.04/v6.1) and GFF3/GTF annotations
  • Dissecting plant gene models: CDS, UTR, pseudogenes, transposable elements, and chloroplast/mitochondria
  • Executing FastQC and MultiQC across multiplexed paired-end plant libraries
  • Automated polyA tail trimming, adapter removal, and quality filtering with fastp

1. Solanum tuberosum Genome Resources & Structural Annotations

High-quality spliced alignment requires an authoritative reference genome. The doubled monoploid clone Solanum tuberosum Group Phureja clone DM1-3 516 R44 serves as the primary international reference (Spud DB / Ensembl Plants).

Crucial Structural Features of Plant Genome Annotations:

  • High Transposable Element Content: Plant genomes are enriched in LTR retrotransposons and inverted repeats. Reads mapping ambiguously to repetitive regions must be identified.
  • Organellar Genomes: Plant cells contain thousands of copies of chloroplast (plastid) and mitochondrial DNA. While poly(A)+ selection isolates nuclear mRNA, residual plastid ribosomal and photosynthetic RNAs (e.g. rbcL, psbA) often constitute 2–8% of total sequenced reads.
  • Alternative Splicing Complexity: Intron retention is the predominant alternative splicing mode in plants (>40% of plant AS events), requiring spliced aligners configured for plant-specific intron parameters.

2. Raw FASTQ Processing: FastQC and fastp

Polymerase artifacts, sequencing adapters (Illumina TruSeq / Nextera), low-quality bases ($Q < 20$), and polyA/polyG tails (frequent in NovaSeq two-color chemistry) must be scrubbed prior to alignment.

#!/usr/bin/env bash
# Step 1: Automated QC and Adapter/PolyA Trimming for Plant RNA-Seq
mkdir -p qc_raw qc_trimmed trimmed_fastq

# Run FastQC on raw multiplexed FASTQ reads
fastqc -t 8 -o qc_raw/ raw_fastq/*.fastq.gz

# Execute fastp with plant-optimized trimming parameters
for R1 in raw_fastq/*_R1.fastq.gz; do
    R2="${R1/_R1.fastq.gz/_R2.fastq.gz}"
    SAMPLE=$(basename "$R1" _R1.fastq.gz)
    
    echo "Processing Plant Sample: ${SAMPLE}..."
    fastp \
        --in1 "$R1" \
        --in2 "$R2" \
        --out1 "trimmed_fastq/${SAMPLE}_clean_R1.fastq.gz" \
        --out2 "trimmed_fastq/${SAMPLE}_clean_R2.fastq.gz" \
        --detect_adapter_for_pe \
        --trim_poly_g \
        --trim_poly_x \
        --cut_front --cut_tail \
        --cut_mean_quality 20 \
        --length_required 50 \
        --thread 8 \
        --html "qc_trimmed/${SAMPLE}_fastp.html" \
        --json "qc_trimmed/${SAMPLE}_fastp.json"
done

# Aggregate QC metrics across all 18 potato libraries
multiqc qc_trimmed/ -o multiqc_report/
⚠️

Common Pitfalls & Troubleshooting Checklist

  • Java Heap Exhaustion (GATK / Picard): If processes terminate with java.lang.OutOfMemoryError, set your environment variable explicitly: export _JAVA_OPTIONS="-Xmx16g -Djava.io.tmpdir=/tmp".
  • Index Timestamp Mismatch: If tools complain that a BAM index is missing or out of date, regenerate with samtools index -@ 4 sample.bam.
  • Conda Channel Conflicts: Avoid ABI incompatibilities between bioconda and conda-forge by setting strict priority: conda config --set channel_priority strict.
  • Chromosome Naming Contamination: Always verify whether reference FASTA headers use chr1 or 1; divergent naming causes silent alignment drops.
Was this guide helpful to your research?
Help us maintain 100% accurate, peer-reviewed bioinformatics standards.
📝 Propose Edit on GitHub ↗