Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add agentlas-ai/agentlas-desktop --skill pysamgit clone --depth 1 https://github.com/agentlas-ai/agentlas-desktopWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/agentlas-ai/agentlas-desktop/pysam)<a href="https://agentmods.dev/skills/agentlas-ai/agentlas-desktop/pysam"><img src="https://agentmods.dev/badge/skills/agentlas-ai/agentlas-desktop/pysam/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/agentlas-ai/agentlas-desktop/pysam"><img src="https://agentmods.dev/badge/skills/agentlas-ai/agentlas-desktop/pysam.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00064 | $0.03175 |
| Opus 5.5 | $0.00026 | $0.01270 |
| Sonnet 5.5 | $0.00013 | $0.00635 |
| Haiku 4.5 | $0.00006 | $0.00317 |
Grade A, and why
pysam scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
bam.fetch(region="chr1:100-199") # 1-based inclusive This is a copy
100% identical to pysam — 50 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 348 lines — stays where its author put it; the contents beside it link to each section on GitHub.
pysam
Overview
Use pysam for low-level, streaming access to HTSlib-supported genomic formats:
AlignmentFileandAlignedSegmentfor SAM/BAM/CRAMVariantFile,VariantHeader, andVariantRecordfor VCF/BCFFastaFilefor indexed FASTA andFastxFilefor sequential FASTA/FASTQTabixFilefor BGZF-compressed, tabix-indexed BED/GFF/GTF/custom tablespysam.samtoolsandpysam.bcftoolsfor wrapped command dispatchers
Current upstream baseline: pysam 0.24.0 (27 April 2026), wrapping
HTSlib/samtools/bcftools 1.23.1. Read references/sources.md before updating
version-specific guidance.
Installation
Use the pinned release for reproducible work:
uv pip install "pysam==0.24.0"
Confirm the runtime:
import pysam
print(pysam.__version__) # 0.24.0
print(pysam.__samtools_version__) # 1.23.1
Prebuilt wheels are available for supported macOS and Linux platforms. A
source build needs a C compiler and HTSlib build dependencies; read the
official installation guide linked from references/sources.md.
First Decide
Before writing code:
- Identify the real format, compression, sort order, and available index.
- Decide whether coordinates are numeric Python coordinates or a region string. Do not mix them.
- For CRAM, identify the exact reference assembly and FASTA.
- Prefer indexed region access; use sequential iteration only when intended.
- Preserve headers when writing and write to a new path by default.
- State filtering semantics: mapping/base quality, flags, overlap handling, duplicate handling, and pileup depth cap.
For unfamiliar files, start with the bundled read-only inspector:
python scripts/inspect_hts.py sample.bam
python scripts/inspect_hts.py cohort.vcf.gz
python scripts/inspect_hts.py reference.fa
Bundled Scripts
| Script | Purpose | Typical call |
|---|---|---|
scripts/inspect_hts.py |
Metadata-only inspection for alignment, variant, FASTA, FASTQ, and tabix files | python scripts/inspect_hts.py sample.cram --reference ref.fa |
scripts/alignment_qc.py |
Streaming aggregate read/QC counts as JSON | python scripts/alignment_qc.py sample.bam --max-records 100000 |
scripts/variant_summary.py |
Streaming variant, FILTER, and genotype summary as JSON | python scripts/variant_summary.py cohort.vcf.gz --region chr1:1-1000000 |
scripts/filter_alignments.py |
Filter SAM/BAM/CRAM without changing record order | python scripts/filter_alignments.py input.bam output.bam --exclude-secondary |
What ships with it
13 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- references/alignment_files.md 11 KB
- references/api_reference.md 8.9 KB
- references/common_workflows.md 12 KB
- references/coordinates_and_indexing.md 8.0 KB
- references/cram_and_performance.md 8.8 KB
- references/migration_to_0_24.md 4.6 KB
- references/sequence_files.md 8.6 KB
- references/sources.md 5.9 KB
- references/variant_files.md 10 KB
- scripts/alignment_qc.py 10.0 KB runs code
- scripts/filter_alignments.py 11 KB runs code
- scripts/inspect_hts.py 13 KB runs code
- scripts/variant_summary.py 11 KB runs code
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 348 lines · 64 tokens per session scan A 4cbfdbd80b4a
pysam is a skill published in the GitHub repository agentlas-ai/agentlas-desktop (6 stars, last pushed yesterday), licensed Apache-2.0. It adds 64 tokens to every session and 3,175 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 1 finding (makes network calls). It is 100% identical to pysam, differing in 50 lines, and is treated as a copy.
Other skills, from other repositories
tbtools
Use when the user asks about TBtools, TBtools-II, TBtools RPC API, TBtools CLI, or bioinformatics operations available through TBtools such as sequence manipulation, BLAST, GFF/GTF/GXF processing, expression tables, heatmaps, trees, MCScanX, DIAMOND, HMMER, MUSCLE, and IQ-TREE.
electron-expert
Expert in Electron framework, desktop app development, IPC, and cross-platform packaging. Use when the user mentions desktop, Node.js, cross platform, Windows, macOS, or Linux, or when the task involves Electron Architecture, Process Types, IPC Communication, or App Lifecycle.
research-orchestrator
Becomes a principal research scientist who orchestrates deep, multi-source research by coordinating evidence gathering, grading source quality, and synthesizing findings with explicit confidence levels. Use when the user needs a comprehensive research report on a complex topic, evidence-based analysis with source…
autoresearch
Run an auto research / autoresearch loop for measurable improvements. Use when optimizing a skill, agent, prompt, code path, benchmark, or other target with a mechanical metric: baseline, mutate one thing, verify, keep or discard, log, chart progress, and optionally save improved custom skills or agents through Open…
architecture-diagram
How to draw and maintain the architecture diagram Ensemblr keeps for a workspace — ensemblrgetarchitecturediagram to fetch the stored one (it answers with null when nobody has drawn this workspace yet), the IR shape, how to derive it from the codebase, and ensemblrupdatearchitecturediagram to store it. Read this when…
scaffold-lean-library
Scaffold a Lean 4 library with Mathlib or PFR, Lake tests, and CI. Use for "new Lean project"; to edit Lean, use write-lean-code.