Pysam
K-Dense-AI/scientific-agent-skills
Provides Python/HTSlib workflows for genomic files. An agent skill from K-Dense-AI/scientific-agent-skills.
Generate pileup data for variant calling using samtools mpileup and pysam.
$ npx skills add GPTomics/bioSkills --skill bio-pileup-generation -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install GPTomics/bioSkills bio-pileup-generation --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/GPTomics/bioSkills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/alignment-files/pileup-generation .claude/skills/bio-pileup-generation && 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 "bio-pileup-generation" agent skill from https://github.com/GPTomics/bioSkills/tree/main/alignment-files/pileup-generation into .claude/skills/bio-pileup-generation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bio-pileup-generation", 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/GPTomics/bioSkills/tree/main/alignment-files/pileup-generationType 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 GPTomics/bioSkills --skill bio-pileup-generation -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install GPTomics/bioSkills bio-pileup-generation --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/GPTomics/bioSkills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/alignment-files/pileup-generation .agents/skills/bio-pileup-generation && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "bio-pileup-generation" agent skill from https://github.com/GPTomics/bioSkills/tree/main/alignment-files/pileup-generation into .agents/skills/bio-pileup-generation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bio-pileup-generation", 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 GPTomics/bioSkills --skill bio-pileup-generation -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install GPTomics/bioSkills bio-pileup-generation --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/GPTomics/bioSkills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/alignment-files/pileup-generation .cursor/skills/bio-pileup-generation && 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 "bio-pileup-generation" agent skill from https://github.com/GPTomics/bioSkills/tree/main/alignment-files/pileup-generation into .cursor/skills/bio-pileup-generation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bio-pileup-generation", 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/GPTomics/bioSkills.git --path alignment-files/pileup-generation--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 GPTomics/bioSkills --skill bio-pileup-generation -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install GPTomics/bioSkills bio-pileup-generation --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/GPTomics/bioSkills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/alignment-files/pileup-generation .gemini/skills/bio-pileup-generation && 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 "bio-pileup-generation" agent skill from https://github.com/GPTomics/bioSkills/tree/main/alignment-files/pileup-generation into .gemini/skills/bio-pileup-generation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bio-pileup-generation", 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 GPTomics/bioSkills bio-pileup-generationInstalls 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 GPTomics/bioSkills --skill bio-pileup-generation -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/GPTomics/bioSkills.git skills-src && mkdir -p .github/skills && cp -r skills-src/alignment-files/pileup-generation .github/skills/bio-pileup-generation && 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 "bio-pileup-generation" agent skill from https://github.com/GPTomics/bioSkills/tree/main/alignment-files/pileup-generation into .github/skills/bio-pileup-generation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bio-pileup-generation", 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 GPTomics/bioSkills --skill bio-pileup-generation -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install GPTomics/bioSkills bio-pileup-generation --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/GPTomics/bioSkills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/alignment-files/pileup-generation .opencode/skills/bio-pileup-generation && 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 "bio-pileup-generation" agent skill from https://github.com/GPTomics/bioSkills/tree/main/alignment-files/pileup-generation into .opencode/skills/bio-pileup-generation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bio-pileup-generation", 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.
bio-pileup-generationGenerate pileup data for variant calling using samtools mpileup and pysam.
Bio Pileup Generation is an agent skill from GPTomics/bioSkills. Generate pileup data for variant calling using samtools mpileup and pysam. Use when preparing data for variant calling, analyzing per-position read data, or calculating allele frequencies.
Its SKILL.md is about 3.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files (for example `examples/allele_counts.py` and `usage-guide.md`).
It sits in Research & Science, covering Bioinformatics. It works with pysam and Python. The repository describes itself as: a set of SKILLS.md for doing bioinformatics with agents like claude code. The licence is MIT.
Read from SKILL.md and the folder at commit d91ed3d. 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.
Ships script files (Python), which the agent can run.
Shell commands in SKILL.md call:
pipFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use pip, which can reach the network depending on how they are called.
From 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.
Bio Pileup Generation loads about 3.6k tokens when it runs. Until then it costs about 53 tokens; SKILL.md has 1,027 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 GPTomics/bioSkills at commit d91ed3d, republished under its MIT licence (© GPTomics). 1,027 words, ~3,620 tokens.
.claude/skills/bio-pileup-generation/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.Reference examples tested with: bcftools 1.19+, pysam 0.22+, samtools 1.19+
Before using code patterns, verify installed versions match. If versions differ:
pip show <package> then help(module.function) to check signatures<tool> --version then <tool> --help to confirm flagsIf code throws ImportError, AttributeError, or TypeError, introspect the installed package and adapt the example to match the actual API rather than retrying.
Generate pileup data for variant calling and position-level analysis.
"Generate pileup from BAM" -> Produce per-position read summaries showing depth, bases, and qualities.
samtools mpileup -f ref.fa input.bambam.pileup(chrom, start, end) (pysam)"Count alleles at a position" -> Extract per-base read support at a specific genomic coordinate.
pileup_column.pileups and count bases (pysam)Pileup shows all reads covering each position in the reference, used for:
samtools mpileup -g/-u (BCF output for variant calling) was deprecated in samtools 1.9 and removed in 1.15 (the option no longer exists; the usage/manpage directs users to bcftools mpileup) -- the genotype-likelihood code now lives in bcftools mpileup, which keeps mpileup logic versioned alongside bcftools call and avoids version-skew bugs.
| Use case | Recommended tool |
|---|---|
| Quick allele counts at known sites | samtools mpileup or pysam pileup |
| Germline variant calling (small genomes, simple cohorts) | bcftools mpileup -> bcftools call |
| Germline WGS / WES production | DeepVariant or HaplotypeCaller (not mpileup) |
| Somatic SNV/indel | Mutect2 / VarDict / VarScan2 (direct from BAM) |
| Long-read small variants | clair3 / DeepVariant ONT (direct from BAM) |
| Long-read SV | Sniffles / cuteSV (direct from BAM) |
| Ultra-low-frequency (ctDNA / MRD) | fgbio consensus -> bcftools call or hot-spot Mutect2 |
| Per-position allele counts (custom) | pysam pileup |
samtools mpileup (without -g) is still the standard tool for human-readable per-position read summaries.
samtools mpileup -f reference.fa input.bam > pileup.txtsamtools mpileup -f reference.fa -r chr1:1000000-2000000 input.bamsamtools mpileup -f reference.fa -l targets.bed input.bamsamtools mpileup -f reference.fa sample1.bam sample2.bam sample3.bam > pileup.txtText pileup format (6 columns per sample):
chr1 1000 A 15 ............... FFFFFFFFFFF
chr1 1001 T 12 ............ FFFFFFFFFFFF| Column | Description |
|---|---|
| 1 | Chromosome |
| 2 | Position (1-based) |
| 3 | Reference base |
| 4 | Read depth |
| 5 | Read bases |
| 6 | Base qualities |
| Symbol | Meaning |
|---|---|
. | Match on forward strand |
, | Match on reverse strand |
ACGT | Mismatch (uppercase = forward) |
acgt | Mismatch (lowercase = reverse) |
^Q | Start of read (Q = MAPQ as ASCII) |
$ | End of read |
+NNN | Insertion of N bases |
-NNN | Deletion of N bases |
* | Deleted base |
> / < | Reference skip (intron) |
samtools mpileup -f reference.fa -q 20 input.bamsamtools mpileup -f reference.fa -Q 20 input.bamsamtools mpileup -f reference.fa -q 20 -Q 20 input.bam# samtools mpileup default -d 8000 silently truncates targeted / mt-DNA / amplicon / UMI-deduped data
# bcftools mpileup default -d 250 is far lower; both must be set explicitly when piping
samtools mpileup -f reference.fa -d 0 input.bam # no cap
samtools mpileup -f reference.fa -d 1000000 input.bam # explicit high cap
# WRONG -- samtools 8000 cap, then bcftools 250 cap re-applied
samtools mpileup -f ref.fa in.bam | bcftools call -mv
# RIGHT -- single tool, explicit -d
bcftools mpileup -d 1000000 -f ref.fa in.bam | bcftools call -mvWhen -f ref.fa is passed, BAQ is enabled by default. BAQ Phred-scales the probability that a base is misaligned (HMM realignment over a small window) and reduces base quality near indels. Tradeoffs: ~30% slower; suppresses FP SNVs near indels; hurts indel detection sensitivity.
| Flag | Behavior |
|---|---|
(default with -f) | BAQ on (computed from CIGAR if MD missing) |
-B / --no-BAQ | Disable BAQ -- raw qualities |
-E / --redo-BAQ | Force recompute (after BQSR; if MD stale) |
BAQ ON for: short-read germline SNV (BWA, Bowtie2, HISAT2), short-read somatic SNV.
BAQ OFF (-B) for: long-read variant calling (ONT, PacBio HiFi), SV calling, RNA-seq near splice junctions, viral / amplicon, ultra-deep ctDNA from consensus reads (consensus quality already inflated), aDNA (qualities pre-rescaled by mapDamage).
-A (count anomalous read pairs / orphans) is required for amplicon -- amplicon reads are by design not properly paired.
-aa (output all positions, including zero-coverage) is required for ARTIC SARS-CoV-2 consensus generation.
| Library | Flags |
|---|---|
| Short-read germline WGS (BWA) | -q 20 -Q 20 -d 0 (BAQ on default) |
| Short-read tumor WGS | -q 1 -Q 13 -d 0 -B (low MAPQ kept; BAQ off) |
| Amplicon viral (ARTIC) | -aa -A -d 600000 -B -Q 20 |
| Capture / exome | -q 20 -Q 20 -d 250 |
| Long-read ONT R10.4+ | -q 30 -Q 0 -B -d 0; for bcftools mpileup add --max-BQ 30 (its ont preset value) |
| PacBio HiFi | -q 20 -Q 0 -B -d 0 |
| RNA-seq variants | -q 20 -Q 20 -B -d 0 |
| Forensic / aDNA | -q 0 -Q 0 -A -d 0 -B |
Goal: Call variants from alignment data using the pileup-based approach.
Approach: Use bcftools mpileup (not samtools mpileup -g) so genotype-likelihood code is co-versioned with bcftools call. Apply quality and depth caps explicitly; annotate FORMAT fields needed for downstream filtering.
bcftools mpileup -f reference.fa -d 1000000 -q 20 -Q 20 \
--annotate FORMAT/AD,FORMAT/DP,FORMAT/SP,INFO/AD \
input.bam | \
bcftools call -mv -Oz -o variants.vcf.gz
bcftools index -t variants.vcf.gzbcftools mpileup -f reference.fa --threads 4 -d 250 -q 20 -Q 20 \
-a FORMAT/AD,FORMAT/DP s1.bam s2.bam s3.bam | \
bcftools call -mv --threads 4 -Oz -o joint.vcf.gzFor somatic / low-VAF, prefer Mutect2 / Strelka2 / DeepVariant -- materially better than mpileup-based callers.
When fragment length < 2 * read_length, R1 and R2 overlap. Both samtools mpileup and bcftools mpileup enable overlap detection by default (per samtools-mpileup(1)) and count overlapping bases once; pass -x to disable (long form is --disable-overlap-removal in samtools since 1.16, but --ignore-overlaps in bcftools). Disabling overlap correction can inflate somatic VAFs at sites covered by overlapping pairs (especially in cfDNA / FFPE).
import pysam
with pysam.AlignmentFile('input.bam', 'rb') as bam:
for pileup_column in bam.pileup('chr1', 1000000, 1001000):
print(f'{pileup_column.reference_name}:{pileup_column.pos} depth={pileup_column.n}')import pysam
with pysam.AlignmentFile('input.bam', 'rb') as bam:
for pileup_column in bam.pileup('chr1', 1000000, 1000001, truncate=True):
print(f'Position: {pileup_column.pos}')
print(f'Depth: {pileup_column.n}')
for pileup_read in pileup_column.pileups:
if pileup_read.is_del:
print(' Deletion')
elif pileup_read.is_refskip:
print(' Reference skip')
else:
qpos = pileup_read.query_position
base = pileup_read.alignment.query_sequence[qpos]
qual = pileup_read.alignment.query_qualities[qpos]
print(f' {base} (Q{qual})')import pysam
from collections import Counter
def allele_counts(bam_path, chrom, pos):
counts = Counter()
with pysam.AlignmentFile(bam_path, 'rb') as bam:
for pileup_column in bam.pileup(chrom, pos, pos + 1, truncate=True):
if pileup_column.pos != pos:
continue
for pileup_read in pileup_column.pileups:
if pileup_read.is_del:
counts['DEL'] += 1
elif pileup_read.is_refskip:
continue
else:
qpos = pileup_read.query_position
base = pileup_read.alignment.query_sequence[qpos]
counts[base.upper()] += 1
return dict(counts)
counts = allele_counts('input.bam', 'chr1', 1000000)
print(counts) # {'A': 45, 'G': 5}import pysam
from collections import Counter
def allele_frequency(bam_path, chrom, pos, min_qual=20):
counts = Counter()
with pysam.AlignmentFile(bam_path, 'rb') as bam:
for pileup_column in bam.pileup(chrom, pos, pos + 1, truncate=True,
min_base_quality=min_qual):
if pileup_column.pos != pos:
continue
for pileup_read in pileup_column.pileups:
if pileup_read.is_del or pileup_read.is_refskip:
continue
qpos = pileup_read.query_position
base = pileup_read.alignment.query_sequence[qpos]
counts[base.upper()] += 1
total = sum(counts.values())
if total == 0:
return {}
return {base: count / total for base, count in counts.items()}
freq = allele_frequency('input.bam', 'chr1', 1000000)
for base, f in sorted(freq.items(), key=lambda x: -x[1]):
print(f'{base}: {f:.1%}')import pysam
with pysam.AlignmentFile('input.bam', 'rb') as bam:
for pileup_column in bam.pileup('chr1', 1000000, 1001000,
truncate=True,
min_mapping_quality=20,
min_base_quality=20):
print(f'{pileup_column.pos}: {pileup_column.n}')import pysam
def pileup_text(bam_path, ref_path, chrom, start, end):
with pysam.AlignmentFile(bam_path, 'rb') as bam:
with pysam.FastaFile(ref_path) as ref:
for pileup_column in bam.pileup(chrom, start, end, truncate=True):
pos = pileup_column.pos
ref_base = ref.fetch(chrom, pos, pos + 1)
depth = pileup_column.n
bases = []
for pileup_read in pileup_column.pileups:
if pileup_read.is_del:
bases.append('*')
elif pileup_read.is_refskip:
bases.append('>')
else:
qpos = pileup_read.query_position
base = pileup_read.alignment.query_sequence[qpos]
if base.upper() == ref_base.upper():
bases.append('.' if not pileup_read.alignment.is_reverse else ',')
else:
bases.append(base.upper() if not pileup_read.alignment.is_reverse else base.lower())
print(f'{chrom}\t{pos+1}\t{ref_base}\t{depth}\t{"".join(bases)}')
pileup_text('input.bam', 'reference.fa', 'chr1', 1000000, 1000100)| Option | Description | Common pitfall |
|---|---|---|
-f FILE | Reference FASTA | Triggers BAQ ON by default |
-r REGION | Restrict to region | |
-l FILE | BED file of regions | |
-q INT | Min mapping quality | Aligner-dependent semantics |
-Q INT | Min base quality | -Q 0 with default overlap detection has subtle behavior |
-d INT | Max depth | Default 8000 silently truncates; bcftools mpileup default is 250 |
-B | Disable BAQ | Often correct for long reads, SV, viral, consensus |
-A | Count anomalous pairs | Required for amplicon |
-aa | Output all positions | Required for consensus generation |
-x (--disable-overlap-removal; bcftools: --ignore-overlaps) | Disable mate-overlap correction | Rarely correct |
--max-BQ INT (bcftools mpileup only) | Cap baseQ/BAQ (default 60) | Not a samtools mpileup option; useful for ONT/HiFi (Q values inflated) |
-g (REMOVED in 1.15) | Old BCF output | Use bcftools mpileup instead |
| Task | Command |
|---|---|
| Basic pileup | samtools mpileup -f ref.fa in.bam |
| Quality filter | samtools mpileup -f ref.fa -q 20 -Q 20 in.bam |
| Region | samtools mpileup -f ref.fa -r chr1:1-1000 in.bam |
| To bcftools | bcftools mpileup -f ref.fa -d 1000000 in.bam | bcftools call -mv |
| Error | Cause | Solution |
|---|---|---|
No FASTA reference | Missing -f option | Add -f reference.fa |
Reference mismatch | Wrong reference | Use same reference as alignment |
| Out of memory | High coverage region | Use -d to cap depth |
© GPTomics, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files in alignment-files/pileup-generation of GPTomics/bioSkills.
Open the folder on GitHubat commit d91ed3d
We found 2 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 2 other GitHub owners. This page covers the copy in GPTomics/bioSkills, which our catalogue first saw on October 9, 2026.
Bio Pileup Generation 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 |
|---|---|---|---|---|---|---|
| Bio Pileup Generation this skillGPTomics/bioSkills | 1.2k | 2 repos | ~3.6k | Automated safety check: Pass | MIT | |
| PysamK-Dense-AI/scientific-agent-skills | 48k | 1 repos | ~3.4k | Automated safety check: Notes | MIT | |
| Tooluniverse Epigenomicswu-yc/LabClaw | 1.1k | 2 repos | ~14k | Automated safety check: Pass | None | |
| Samtools Bam Processingjaechang-hits/SciAgent-Skills | 374 | 1 repos | ~4.1k | Automated safety check: Pass | MIT | |
| Pysam Genomic Filesjaechang-hits/SciAgent-Skills | 374 | 1 repos | ~5.2k | Automated safety check: Pass | MIT | |
| Bio Splicing QcFreedomIntelligence/OpenClaw-Medical-Skills | 3.1k | — | ~1.6k | Automated safety check: Pass | None |
K-Dense-AI/scientific-agent-skills
Provides Python/HTSlib workflows for genomic files. An agent skill from K-Dense-AI/scientific-agent-skills.
wu-yc/LabClaw
Production-ready genomics and epigenomics data processing for BixBench questions.
jaechang-hits/SciAgent-Skills
CLI toolkit for SAM/BAM/CRAM: sort, index, convert, filter, QC alignments.
jaechang-hits/SciAgent-Skills
Read/write SAM/BAM/CRAM, VCF/BCF, FASTA/FASTQ. An agent skill from jaechang-hits/SciAgent-Skills.
FreedomIntelligence/OpenClaw-Medical-Skills
Assesses RNA-seq data quality for splicing analysis including junction saturation curves, splice site strength scoring, and junction coverage metrics using RSeQC.
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.
GPTomics/bioSkills
Read, write, and convert multiple sequence alignment files using Biopython Bio.AlignIO.
GPTomics/bioSkills
Installs the bioSkills collection of 425 bioinformatics skills in one step, or only chosen categories, so sequencing, RNA-seq, single-cell and variant tasks get specialized help.
GPTomics/bioSkills
Write biological sequences to files (FASTA, FASTQ, GenBank, EMBL) using Biopython Bio.SeqIO.
GPTomics/bioSkills
Soft- or hard-clips PCR primer footprints from aligned amplicon BAMs so primer bases stop masquerading as confirmed reference sequence.
GPTomics/bioSkills
Filters BAM alignments by FLAG bits, mapping quality and regions with samtools view or pysam, with recipes for common keep and drop cases.
GPTomics/bioSkills
Create and use BAI/CSI indices for BAM/CRAM files using samtools and pysam.
Categories
Generate pileup data for variant calling using samtools mpileup and pysam. Bio Pileup Generation is an agent skill from GPTomics/bioSkills. Generate pileup data for variant calling using samtools mpileup and pysam.
Bio Pileup Generation fits situations like: preparing data for variant calling; analyzing per-position read data; calculating allele frequencies.
Run `npx skills add GPTomics/bioSkills --skill bio-pileup-generation -a claude-code`. Or copy the skill folder (alignment-files/pileup-generation in GPTomics/bioSkills) into .claude/skills/bio-pileup-generation in your project. Claude Code loads it when a task matches its description.
Run `npx skills add GPTomics/bioSkills --skill bio-pileup-generation -a codex`. Or copy the skill folder (alignment-files/pileup-generation in GPTomics/bioSkills) into .agents/skills/bio-pileup-generation 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 GPTomics/bioSkills --skill bio-pileup-generation -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/bio-pileup-generation, .gemini/skills/bio-pileup-generation, .github/skills/bio-pileup-generation and .opencode/skills/bio-pileup-generation in your project.
Going by SKILL.md and its folder, Bio Pileup Generation needs Python for the scripts in its folder and the command-line tools its instructions call (pip). Our summary lists: Python 3.
SKILL.md contains no URLs. Its commands use pip, which can reach the network depending on how they are called. 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.
Bio Pileup Generation is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.6k tokens (SKILL.md is roughly 14k 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 Bio Pileup Generation: Pysam (K-Dense-AI/scientific-agent-skills, 48k stars), Tooluniverse Epigenomics (wu-yc/LabClaw, 1.1k stars), Samtools Bam Processing (jaechang-hits/SciAgent-Skills, 374 stars) and Pysam Genomic Files (jaechang-hits/SciAgent-Skills, 374 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
GPTomics (a GitHub organization) maintains it in GPTomics/bioSkills, which has 1,218 GitHub stars. The repository holds 559 skills in this directory. The repository was last updated on August 15, 2026.
Source: GPTomics/bioSkills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.