sciagent-skill-creator
Scaffold a new SciAgent-Skills entry. Picks pipeline/toolkit/database/guide template, creates skills/{category}/{name}/SKILL.md…
All-in-one FASTQ QC and adapter trimming. Auto-detects Illumina adapters, filters low-quality reads, corrects paired-end overlaps, emits HTML+JSON QC in one pass. 3-10x faster than Trim Galore/Trimmomatic. First step before STAR, BWA-MEM2, or Salmon.
Claude Code
$ npx -y skills add jaechang-hits/SciAgent-Skills --skill fastp-fastq-preprocessing --agent claude-code
Codex
$ npx skills add jaechang-hits/SciAgent-Skills --skill fastp-fastq-preprocessing -a codex -y
Cursor
$ npx skills add jaechang-hits/SciAgent-Skills --skill fastp-fastq-preprocessing -a cursor -y
Gemini CLI
$ npx skills add jaechang-hits/SciAgent-Skills --skill fastp-fastq-preprocessing -a gemini-cli -y
GitHub Copilot
$ npx skills add jaechang-hits/SciAgent-Skills --skill fastp-fastq-preprocessing -a github-copilot -y
OpenCode
$ npx skills add jaechang-hits/SciAgent-Skills --skill fastp-fastq-preprocessing -a opencode -y
Windsurf
$ npx skills add jaechang-hits/SciAgent-Skills --skill fastp-fastq-preprocessing -a windsurf -y
name: "fastp-fastq-preprocessing" description: "All-in-one FASTQ QC and adapter trimming. Auto-detects Illumina adapters, filters low-quality reads, corrects paired-end overlaps, emits HTML+JSON QC in one pass. 3-10x faster than Trim Galore/Trimmomatic. First step before STAR, BWA-MEM2, or Salmon." license: "MIT"
fastp performs adapter trimming, quality filtering, and QC reporting for Illumina FASTQ files in a single multi-threaded pass. It automatically detects adapter sequences from paired-end read overlaps — eliminating the need to specify adapters manually. fastp corrects mismatches in paired-end overlap regions, filters reads by quality score and length, removes polyX tails (polyA for RNA-seq), and generates interactive HTML and machine-readable JSON QC reports. Being 3–10× faster than Trim Galore and Trimmomatic while providing comparable or better results, fastp has become the standard preprocessing step before alignment in WGS, RNA-seq, and ChIP-seq pipelines.
> **Check before installing**: The tool may already be available in the current environment (e.g., inside a `pixi` / `conda` env). Run `command -v fastp` first and skip the install commands below if it returns a path. When running inside a pixi project, invoke the tool via `pixi run fastp` rather than bare `fastp`.
# Install with conda conda install -c bioconda fastp # Or download pre-compiled binary (Linux) wget https://github.com/OpenGene/fastp/releases/download/v0.24.0/fastp chmod +x fastp ./fastp --version # fastp 0.24.0 # Verify fastp --version
Settle these with the user before writing any analysis code.
decisions:
- id: D1
param: -i / -I
kind: required
source: data
ask: "Were these reads sequenced from single-end or paired-ends of each fragment?"
default: "read off the file inventory - paired when R1/R2 mates are present"
- id: D2
param: library_prep
kind: required
source: user
ask: "Which library prep produced these reads - 5'-, 3'-, small RNA, lnRNA or amplicon?"
default: null
- id: D3
param: --trim_poly_x
kind: optional
source: user
depends_on: [D2]
ask: "Trim polyA/polyT tails left by the capture step?"
default: "on for 3'-enriched RNA-seq, off otherwise"
- id: D4
param: --adapter_sequence / --detect_adapter_for_pe
kind: required
source: user
depends_on: [D1]
ask: "Auto-detect the adapter, or supply the kit's sequence explicitly?"
default: "auto-detect"
- id: D5
param: --length_required
kind: required
source: user
depends_on: [D2]
ask: "Reads shorter than this after trimming are discarded - how short is too short to map?"
default: "15 (raise to ~36 for standard RNA-seq; keep low for small RNA)"
- id: D6
param: --qualified_quality_phred
kind: optional
source: user
ask: "How confident must a base call be before it counts as good quality?"
default: "15 (20 = 1% error)"
- id: D7
param: --correction
kind: optional
source: user
depends_on: [D1]
ask: "Correct mismatched bases where the two mates overlap?"
default: "off"
skip_if: "single-end input - there is no overlap to compare"
- id: D8
param: --low_complexity_filter
kind: optional_conditional
source: data
ask: "Drop low-complexity reads (homopolymer and short-repeat runs)?"
default: "off"
- id: D9
param: --thread, --split
kind: never_ask
source: data
reason: "Parallelism and output sharding; affect runtime and file layout, not the reads kept"
default: "8 threads, no split"D2 is asked outright rather than guessed, because the prep drives two later answers: it decides whether polyA trimming is correct (D3, a 3'-enriched library ends in a capture tail that is not biological sequence) and where the length floor belongs (D5 — a 36 bp minimum that is right for RNA-seq discards the entire read in a small-RNA run). D4 and D7 hang on D1 because both describe what to do with a mate pair.
# Paired-end adapter trimming with QC report
fastp \
-i sample_R1.fastq.gz \
-I sample_R2.fastq.gz \
-o sample_R1.trimmed.fastq.gz \
-O sample_R2.trimmed.fastq.gz \
-h sample_qc.html \
-j sample_qc.json \
--thread 8
echo "Trimmed reads in: sample_R1.trimmed.fastq.gz"Run fastp on single-end FASTQ with automatic adapter detection.
# Single-end with auto adapter detection
fastp \
-i sample.fastq.gz \
-o sample.trimmed.fastq.gz \
-h sample_qc.html \
-j sample_qc.json \
--thread 8 \
--qualified_quality_phred 20 \
--length_required 36
echo "Input reads: $(zcat sample.fastq.gz | wc -l | awk '{print $1/4}')"
echo "Output reads: $(zcat sample.trimmed.fastq.gz | wc -l | awk '{print $1/4}')"Process paired-end FASTQ files with overlap-bas
Turn your AI coding agent into a life sciences expert — 199 bioinformatics skills for Claude Code covering RNA-seq, single-cell analysis, genomics, proteomics, drug discovery, and more. Boosted BixBench from 65% to 92%. Open source.
Scaffold a new SciAgent-Skills entry. Picks pipeline/toolkit/database/guide template, creates skills/{category}/{name}/SKILL.md…
Bayesian modeling with PyMC 5: priors, likelihood, NUTS/ADVI sampling, diagnostics (R-hat, ESS), LOO/WAIC comparison, prediction.…
Time-to-event modeling with scikit-survival: Cox PH (elastic net), Random Survival Forests, Boosting, SVMs for censored data.…
Guided statistical analysis: test choice, assumption checks, effect sizes, power, APA reporting. Pick tests, verify assumptions,…
Python statistical modeling: regression (OLS, WLS, GLM), discrete (Logit, Poisson, NegBin), time series (ARIMA, SARIMAX, VAR),…
DL cell/nucleus segmentation for fluorescence and brightfield microscopy. Pre-trained models (cyto3, nuclei, tissuenet) and a…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.