Alphagenome Single Variant Analysis
google-deepmind/science-skills
Analyzes genetic variant effects on gene expression (RNA-seq), chromatin accessibility (DNASE), histone marks (ChIP), and transcription factors using the AlphaGenome API.
All-in-one FASTQ QC and adapter trimming. An agent skill from jaechang-hits/SciAgent-Skills.
$ npx skills add jaechang-hits/SciAgent-Skills --skill fastp-fastq-preprocessing -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install jaechang-hits/SciAgent-Skills fastp-fastq-preprocessing --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/jaechang-hits/SciAgent-Skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/genomics-bioinformatics/qc/fastp-fastq-preprocessing .claude/skills/fastp-fastq-preprocessing && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "fastp-fastq-preprocessing" agent skill from https://github.com/jaechang-hits/SciAgent-Skills/tree/main/skills/genomics-bioinformatics/qc/fastp-fastq-preprocessing into .claude/skills/fastp-fastq-preprocessing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fastp-fastq-preprocessing", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/jaechang-hits/SciAgent-Skills/tree/main/skills/genomics-bioinformatics/qc/fastp-fastq-preprocessingType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add jaechang-hits/SciAgent-Skills --skill fastp-fastq-preprocessing -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install jaechang-hits/SciAgent-Skills fastp-fastq-preprocessing --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jaechang-hits/SciAgent-Skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/genomics-bioinformatics/qc/fastp-fastq-preprocessing .agents/skills/fastp-fastq-preprocessing && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "fastp-fastq-preprocessing" agent skill from https://github.com/jaechang-hits/SciAgent-Skills/tree/main/skills/genomics-bioinformatics/qc/fastp-fastq-preprocessing into .agents/skills/fastp-fastq-preprocessing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fastp-fastq-preprocessing", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add jaechang-hits/SciAgent-Skills --skill fastp-fastq-preprocessing -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install jaechang-hits/SciAgent-Skills fastp-fastq-preprocessing --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jaechang-hits/SciAgent-Skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/genomics-bioinformatics/qc/fastp-fastq-preprocessing .cursor/skills/fastp-fastq-preprocessing && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "fastp-fastq-preprocessing" agent skill from https://github.com/jaechang-hits/SciAgent-Skills/tree/main/skills/genomics-bioinformatics/qc/fastp-fastq-preprocessing into .cursor/skills/fastp-fastq-preprocessing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fastp-fastq-preprocessing", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/jaechang-hits/SciAgent-Skills.git --path skills/genomics-bioinformatics/qc/fastp-fastq-preprocessing--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add jaechang-hits/SciAgent-Skills --skill fastp-fastq-preprocessing -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install jaechang-hits/SciAgent-Skills fastp-fastq-preprocessing --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jaechang-hits/SciAgent-Skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/genomics-bioinformatics/qc/fastp-fastq-preprocessing .gemini/skills/fastp-fastq-preprocessing && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "fastp-fastq-preprocessing" agent skill from https://github.com/jaechang-hits/SciAgent-Skills/tree/main/skills/genomics-bioinformatics/qc/fastp-fastq-preprocessing into .gemini/skills/fastp-fastq-preprocessing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fastp-fastq-preprocessing", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install jaechang-hits/SciAgent-Skills fastp-fastq-preprocessingInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add jaechang-hits/SciAgent-Skills --skill fastp-fastq-preprocessing -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/jaechang-hits/SciAgent-Skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/genomics-bioinformatics/qc/fastp-fastq-preprocessing .github/skills/fastp-fastq-preprocessing && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "fastp-fastq-preprocessing" agent skill from https://github.com/jaechang-hits/SciAgent-Skills/tree/main/skills/genomics-bioinformatics/qc/fastp-fastq-preprocessing into .github/skills/fastp-fastq-preprocessing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fastp-fastq-preprocessing", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add jaechang-hits/SciAgent-Skills --skill fastp-fastq-preprocessing -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install jaechang-hits/SciAgent-Skills fastp-fastq-preprocessing --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jaechang-hits/SciAgent-Skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/genomics-bioinformatics/qc/fastp-fastq-preprocessing .opencode/skills/fastp-fastq-preprocessing && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "fastp-fastq-preprocessing" agent skill from https://github.com/jaechang-hits/SciAgent-Skills/tree/main/skills/genomics-bioinformatics/qc/fastp-fastq-preprocessing into .opencode/skills/fastp-fastq-preprocessing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fastp-fastq-preprocessing", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
fastp-fastq-preprocessingAll-in-one FASTQ QC and adapter trimming. An agent skill from jaechang-hits/SciAgent-Skills.
Fastp Fastq Preprocessing is an agent skill from jaechang-hits/SciAgent-Skills. 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.
Its SKILL.md is about 4.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Research & Science, covering Bioinformatics. The repository describes itself as: 197 bioinformatics & life science skills for Claude Code and AI agents — BixBench 92.0% accuracy. RNA-seq, single-cell, drug discovery, proteomics, and more. Powers OmicsHorizon. The licence is MIT.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 82c862c. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
condawgetpython3From the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
github.comAlso links to:
doi.orgmultiqc.infoFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Fastp Fastq Preprocessing loads about 4.1k tokens when it runs. Until then it costs about 69 tokens; SKILL.md has 878 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from jaechang-hits/SciAgent-Skills at commit 82c862c, republished under its MIT licence (© jaechang-hits). 878 words, ~4,061 tokens.
.claude/skills/fastp-fastq-preprocessing/SKILL.md (or your agent's skills folder).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/condaenv). Runcommand -v fastpfirst and skip the install commands below if it returns a path. When running inside a pixi project, invoke the tool viapixi run fastprather than barefastp.
# 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 --versionSettle 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-based adapter detection and correction.
# Paired-end with overlap-based adapter auto-detection
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 \
--correction \
--detect_adapter_for_pe \
--qualified_quality_phred 20 \
--length_required 36
# Specify adapters explicitly (if auto-detection fails)
# fastp -i R1.fq.gz -I R2.fq.gz \
# --adapter_sequence AGATCGGAAGAGCACACGTCTGAACTCCAGTCA \
# --adapter_sequence_r2 AGATCGGAAGAGCGTCGTGTAGGGAAAGAGTGT \
# -o R1.out.fq.gz -O R2.out.fq.gzConfigure quality and length thresholds for stricter or more lenient filtering.
# Strict quality filtering (e.g., for variant calling)
fastp \
-i sample_R1.fastq.gz \
-I sample_R2.fastq.gz \
-o sample_R1.filtered.fastq.gz \
-O sample_R2.filtered.fastq.gz \
-h sample_qc.html \
-j sample_qc.json \
--thread 8 \
--qualified_quality_phred 25 \
--unqualified_percent_limit 20 \
--length_required 50 \
--max_len1 150 \
--max_len2 150 \
--low_complexity_filter \
--complexity_threshold 30
echo "Filtering complete. Check sample_qc.html for pass/fail rates."Remove polyA tails from 3′-enriched RNA-seq protocols before alignment.
# Remove polyA tails (QuantSeq 3′ mRNA-seq)
fastp \
-i quantseq_R1.fastq.gz \
-o quantseq_R1.trimmed.fastq.gz \
-h quantseq_qc.html \
-j quantseq_qc.json \
--thread 8 \
--trim_poly_x \
--poly_x_min_len 10 \
--qualified_quality_phred 20 \
--length_required 25
# For Smart-seq2 paired-end with polyA
fastp \
-i smartseq_R1.fastq.gz \
-I smartseq_R2.fastq.gz \
-o smartseq_R1.trimmed.fastq.gz \
-O smartseq_R2.trimmed.fastq.gz \
--trim_poly_x --poly_x_min_len 10 \
--thread 8 \
-h smartseq_qc.html -j smartseq_qc.jsonExtract key QC metrics from fastp's JSON output for automated quality gates.
import json
from pathlib import Path
def parse_fastp_json(json_path: str) -> dict:
with open(json_path) as f:
data = json.load(f)
before = data["summary"]["before_filtering"]
after = data["summary"]["after_filtering"]
return {
"total_reads_in": before["total_reads"],
"total_reads_out": after["total_reads"],
"pct_passed": after["total_reads"] / before["total_reads"] * 100,
"q30_rate_before": before["q30_rate"] * 100,
"q30_rate_after": after["q30_rate"] * 100,
"mean_len_before": before["read1_mean_length"],
"mean_len_after": after["read1_mean_length"],
"adapter_trimmed": data["filtering_result"]["adapter_trimmed"],
}
metrics = parse_fastp_json("sample_qc.json")
for key, val in metrics.items():
print(f"{key:25s}: {val:.1f}" if isinstance(val, float) else f"{key:25s}: {val:,}")
# Quality gate: fail if < 70% reads pass filter
if metrics["pct_passed"] < 70:
print("WARNING: Low pass rate — check raw data quality")Process multiple samples sequentially with per-sample QC summaries.
#!/bin/bash
# Batch paired-end preprocessing for multiple samples
SAMPLES=(ctrl_1 ctrl_2 treat_1 treat_2)
DATA="data"
OUT="trimmed"
QC="qc/fastp"
THREADS=8
mkdir -p "$OUT" "$QC"
for sample in "${SAMPLES[@]}"; do
echo "=== Processing $sample ==="
fastp \
-i "$DATA/${sample}_R1.fastq.gz" \
-I "$DATA/${sample}_R2.fastq.gz" \
-o "$OUT/${sample}_R1.fastq.gz" \
-O "$OUT/${sample}_R2.fastq.gz" \
-h "$QC/${sample}.html" \
-j "$QC/${sample}.json" \
--thread $THREADS \
--correction \
--detect_adapter_for_pe \
--qualified_quality_phred 20 \
--length_required 36 \
2>&1 | grep -E "Read[12]|Filtering|Adapter|passed"
done
# Aggregate QC metrics
python3 - << 'EOF'
import json, pandas as pd
from pathlib import Path
rows = []
for jf in sorted(Path("qc/fastp").glob("*.json")):
with open(jf) as f: data = json.load(f)
after = data["summary"]["after_filtering"]
before = data["summary"]["before_filtering"]
rows.append({
"sample": jf.stem,
"reads_in": before["total_reads"],
"reads_out": after["total_reads"],
"pct_passed": round(after["total_reads"]/before["total_reads"]*100, 1),
"q30_after": round(after["q30_rate"]*100, 1),
})
df = pd.DataFrame(rows)
print(df.to_string(index=False))
df.to_csv("fastp_summary.tsv", sep="\t", index=False)
EOF
# Run MultiQC to aggregate all fastp JSON reports
multiqc qc/fastp/ -o qc/ -n fastp_multiqc_report| Parameter | Default | Range/Options | Effect |
|---|---|---|---|
-i / -I | required | file path | Input FASTQ (R1 and R2 for paired-end) |
-o / -O | required | file path | Output trimmed FASTQ (R1 and R2) |
-h / -j | — | file path | HTML and JSON QC report output paths |
--thread | 3 | 1–16 | CPU threads; 8 is a good balance |
--qualified_quality_phred | 15 | 0–40 | Minimum base quality (Phred); 20 = 1% error |
--length_required | 15 | 1–1000 | Minimum read length after trimming; discard shorter reads |
--correction | off | flag | Correct mismatches in PE overlap region |
--detect_adapter_for_pe | off | flag | Enable overlap-based adapter auto-detection for PE data |
--adapter_sequence | auto | string | Explicit R1 adapter; overrides auto-detection |
--trim_poly_x | off | flag | Trim polyX (polyA/polyT) tails; use for 3′-enriched RNA-seq |
--low_complexity_filter | off | flag | Filter reads with low complexity (< 30% complexity by default) |
--split | off | integer | Split output into N files per direction (for parallelism) |
# Snakefile — fastp trimming rule
configfile: "config.yaml"
SAMPLES = config["samples"]
rule fastp_pe:
input:
r1 = "data/{sample}_R1.fastq.gz",
r2 = "data/{sample}_R2.fastq.gz"
output:
r1 = "trimmed/{sample}_R1.fastq.gz",
r2 = "trimmed/{sample}_R2.fastq.gz",
html = "qc/{sample}_fastp.html",
json = "qc/{sample}_fastp.json"
threads: 8
shell:
"""
fastp -i {input.r1} -I {input.r2} \
-o {output.r1} -O {output.r2} \
-h {output.html} -j {output.json} \
--thread {threads} \
--correction --detect_adapter_for_pe \
--qualified_quality_phred 20 \
--length_required 36
"""import json
import pandas as pd
from pathlib import Path
qc_dir = Path("qc/fastp")
records = []
for jf in sorted(qc_dir.glob("*.json")):
with open(jf) as f:
d = json.load(f)
b = d["summary"]["before_filtering"]
a = d["summary"]["after_filtering"]
records.append({
"sample": jf.stem.replace("_fastp", ""),
"reads_in_M": b["total_reads"] / 1e6,
"reads_out_M": a["total_reads"] / 1e6,
"pct_passed": a["total_reads"] / b["total_reads"] * 100,
"q30_pct": a["q30_rate"] * 100,
"mean_len_bp": a["read1_mean_length"],
"adapter_pct": d["filtering_result"]["adapter_trimmed"] / b["total_reads"] * 100,
})
df = pd.DataFrame(records).round(2)
print(df.to_string(index=False))
# Flag low-quality samples
low_q = df[df["pct_passed"] < 80]
if not low_q.empty:
print(f"\nSamples with < 80% reads passing: {list(low_q['sample'])}")| Output | Format | Description |
|---|---|---|
*_R1.trimmed.fastq.gz | FASTQ.gz | Trimmed R1 reads (adapters and low-quality bases removed) |
*_R2.trimmed.fastq.gz | FASTQ.gz | Trimmed R2 reads (paired-end only) |
*.html | HTML | Interactive QC report with per-base quality, GC content, adapter plots |
*.json | JSON | Machine-readable QC metrics for automation and MultiQC parsing |
fastp.log | Text | stderr summary with pass/fail read counts and filtering statistics |
| Problem | Cause | Solution |
|---|---|---|
| Adapter not detected in SE mode | SE reads require explicit adapter or --adapter_sequence | Use --detect_adapter_for_pe only for PE; specify adapter for SE: --adapter_sequence AGATCGGAAGAGC |
| Very high adapter content (> 50%) | Short inserts (small RNA, miRNA) or poor library prep | Check library protocol; use --overlap_len_require 10 to adjust overlap sensitivity |
| Too many reads filtered (< 60% pass) | Over-strict quality thresholds or low-quality sequencing run | Relax --qualified_quality_phred to 15; lower --length_required to 25 |
| JSON output missing fields | Old fastp version | Upgrade: conda update fastp or download latest binary from GitHub |
| MultiQC not parsing fastp JSON | JSON file not in the scanned directory | Run multiqc qc/ not multiqc .; verify JSON files exist with ls qc/*.json |
| Output FASTQ is empty | All reads filtered (wrong input or extreme thresholds) | Verify input FASTQ with zcat sample.fq.gz | head -8; run without --low_complexity_filter first |
| Slow performance on large files | Low thread count | Increase --thread to 8–12; ensure input is on fast storage (SSD) |
| polyA not removed | --trim_poly_x not set | Add --trim_poly_x --poly_x_min_len 10 for 3′-enriched protocols |
© jaechang-hits, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/genomics-bioinformatics/qc/fastp-fastq-preprocessing of jaechang-hits/SciAgent-Skills.
Open the folder on GitHubat commit 82c862c
We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in jaechang-hits/SciAgent-Skills, which our catalogue first saw on October 7, 2026.
Fastp Fastq Preprocessing next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Fastp Fastq Preprocessing this skilljaechang-hits/SciAgent-Skills | 371 | 1 repos | ~4.1k | Automated safety check: Pass | MIT | |
| Alphagenome Single Variant Analysisgoogle-deepmind/science-skills | 3.2k | 2 repos | ~3k | Automated safety check: Notes | Apache-2.0 | |
| 13C Metabolic Flux AnalysisK-Dense-AI/scientific-agent-skills | 48k | 1 repos | ~3.2k | Automated safety check: Pass | MIT | |
| Clinvar Databasegoogle-deepmind/science-skills | 3.2k | 2 repos | ~3.9k | Automated safety check: Notes | Apache-2.0 | |
| Metabolic Study Planneraiming-lab/AutoResearchClaw | 15k | — | ~1.9k | Automated safety check: Pass | MIT | |
| Dbsnp Databasegoogle-deepmind/science-skills | 3.2k | 2 repos | ~3.4k | Automated safety check: Notes | Apache-2.0 |
google-deepmind/science-skills
Analyzes genetic variant effects on gene expression (RNA-seq), chromatin accessibility (DNASE), histone marks (ChIP), and transcription factors using the AlphaGenome API.
K-Dense-AI/scientific-agent-skills
Estimates reaction fluxes inside cells from steady-state carbon-13 labeling data with a bundled mfapy-based solver, and reports which fluxes the data pin down.
google-deepmind/science-skills
A skill your agent uses when needing clinical significance, pathogenicity classifications (e.g., Pathogenic, Benign, VUS), clinical evidence rationales, or finding "hard positive" benchmark controls…
aiming-lab/AutoResearchClaw
Turns a broad metabolic modelling topic into a concrete, paper-shaped plan with organism, model, perturbations, metrics and figures before any FBA code is written.
google-deepmind/science-skills
A skill your agent uses when you want to look up, map, and search for short genetic variants (SNPs, indels) in NCBI's dbSNP database.
aiming-lab/AutoResearchClaw
Runs a metabolic flux analysis from model loading to phenotype prediction and figures by handing work to four sub-agents in sequence.
jaechang-hits/SciAgent-Skills
NEB-IRC activation energy pipeline for reaction barriers using GFN2-xTB and pysisyphus.
jaechang-hits/SciAgent-Skills
3Dmol.js WebGL molecular visualization emitted as self-contained HTML.
jaechang-hits/SciAgent-Skills
Constraint-based (COBRA) analysis of genome-scale metabolic models: FBA, FVA, knockouts, flux sampling, production envelopes, gapfilling, media optimization.
jaechang-hits/SciAgent-Skills
Read, write, and edit ChemDraw CDX/CDXML files with RDKit's rdkit.Chem.rdChemDraw plus direct XML editing, always paired with a rendered PNG.
jaechang-hits/SciAgent-Skills
Programmatic PubMed access via NCBI E-utilities REST API. An agent skill from jaechang-hits/SciAgent-Skills.
jaechang-hits/SciAgent-Skills
Scaffold a new SciAgent-Skills entry. An agent skill from jaechang-hits/SciAgent-Skills.
Categories
All-in-one FASTQ QC and adapter trimming. An agent skill from jaechang-hits/SciAgent-Skills. Fastp Fastq Preprocessing is an agent skill from jaechang-hits/SciAgent-Skills. All-in-one FASTQ QC and adapter trimming.
Fastp Fastq Preprocessing fits situations like: tasks that involve Bioinformatics.
Run `npx skills add jaechang-hits/SciAgent-Skills --skill fastp-fastq-preprocessing -a claude-code`. Or copy the skill folder (skills/genomics-bioinformatics/qc/fastp-fastq-preprocessing in jaechang-hits/SciAgent-Skills) into .claude/skills/fastp-fastq-preprocessing in your project. Claude Code loads it when a task matches its description.
Run `npx skills add jaechang-hits/SciAgent-Skills --skill fastp-fastq-preprocessing -a codex`. Or copy the skill folder (skills/genomics-bioinformatics/qc/fastp-fastq-preprocessing in jaechang-hits/SciAgent-Skills) into .agents/skills/fastp-fastq-preprocessing in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add jaechang-hits/SciAgent-Skills --skill fastp-fastq-preprocessing -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/fastp-fastq-preprocessing, .gemini/skills/fastp-fastq-preprocessing, .github/skills/fastp-fastq-preprocessing and .opencode/skills/fastp-fastq-preprocessing in your project.
Going by SKILL.md and its folder, Fastp Fastq Preprocessing needs the command-line tools its instructions call (conda, wget and python3). Our summary lists: Python 3.
SKILL.md names 3 domains. In commands or code: github.com; the agent is likely to contact it when it follows the instructions. As links in the text: doi.org and multiqc.info. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Fastp Fastq Preprocessing is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.1k tokens (SKILL.md is roughly 16k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Fastp Fastq Preprocessing: Alphagenome Single Variant Analysis (google-deepmind/science-skills, 3.2k stars), 13C Metabolic Flux Analysis (K-Dense-AI/scientific-agent-skills, 48k stars), Clinvar Database (google-deepmind/science-skills, 3.2k stars) and Metabolic Study Planner (aiming-lab/AutoResearchClaw, 15k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
jaechang-hits (a GitHub user) maintains it in jaechang-hits/SciAgent-Skills, which has 371 GitHub stars. The repository holds 169 skills in this directory. The repository was last updated on September 29, 2026.
Source: jaechang-hits/SciAgent-Skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.