bio-protein-clustering-pangenome — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited bio-protein-clustering-pangenome (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Cluster proteins into orthogroups and derive pangenome matrices.
Tool guides and versions: docs/README.md.
uv run --script skills/bio-protein-clustering-pangenome/scripts/build_pangenome_artifacts.py \
orthogroups.tsv --genomes genomes.tsv --marker-catalog marker_catalog.tsv \
--marker-hits marker_hits.tsv --ncrna ncRNA_census.tsv \
--out results/bio-protein-clustering-pangenomeorthogroups.tsv is a long table with one row per protein: orthogroup, protein_id, genome, contig, order, start, end. Build it from the clustering output (OrthoFinder Orthogroups.tsv is wide and must be melted) joined with gene coordinates from the gene-calling GFF; order is the gene's rank along its contig. genomes.tsv has genome, role (query|reference), genome_size, contig_count, n50, gene_count, coding_density, gc. The marker catalog has category, family_id, family_name; marker hits have genome, family_id, protein_id, e_value; the ncRNA census uses the /bio-gene-calling columns. The driver requires globally unique protein IDs, at least two reference genomes for a defensible median, and a fresh output directory. It persists marker and ncRNA censuses alongside copy-number, presence/absence, family-comparison, genome-frontier, and conserved-neighborhood artifacts. fixtures/ is a runnable three-genome contract test.
--gpu only for commands that expose it and record the CPU/GPU build used./bio-phylogenomics.relative_genome_metrics.tsv with one row per (query + relative) and columns for genome size, contig count, N50, gene count, coding density, GC, tRNA count, rRNA count, and any group-relevant property. Add a column that places the query in the relative distribution (percentile, min/median/max, "record-class" tag) and a column citing the literature reference defining the group's known range.Save results as conserved_neighborhoods.tsv with columns: query_block_id, relative, relative_block_id, members (ortholog IDs), intergenic_spacing_query, intergenic_spacing_relative, spacing_ratio, notes. Flag conserved gene pairs and unusual spacing/expansions.
family_copy_number_comparison.tsv (query vs relative-median fold change per family), coordinated with bio-annotation's family matrix./bio-annotation; for high-value unknowns, route representatives to /bio-structure-annotation when structure-based inference is appropriate.| Task | Action |
|---|---|
| References | See references.md. |
Prerequisites:
pixi.toml and pixi.lock, and run tools through pixi run so the lockfile records exact builds. See docs/README.md for expected tools.Inputs:
protein_fastas/ with one amino-acid FASTA per genome, for example protein_fastas/genome_A.faa and protein_fastas/genome_B.faagenomes.tsv with one row per genome, its query/reference role, and the genome-property columns listed in Instructions step 1protein_to_genome.tsv mapping every unique protein ID back to exactly one genome; a merged proteins.faa without this mapping cannot produce a valid genome-by-family matrixThe driver writes the matrices, family_copy_number_comparison.tsv, both censuses, conserved_neighborhoods.tsv (adjacent ortholog pairs only), and relative_genome_metrics.tsv (genome properties and roles; you add the percentile placement, tRNA and rRNA counts, and the literature range). Files marked agent-authored come from you.
status is one of query_specific, missing_expected, expanded, contracted, conserved, or present_in_reference_minority; the last means the reference median is 0 while at least one reference carries the family, so no fold change is reported and it is not a query-specific discovery){ok, skill, out, warnings} (driver stdout contract in AGENTS.md)relative_genome_metrics.tsv places each query in the distribution of relatives and notes the literature-defined extreme of the inferred group.family_copy_number_comparison.tsv reports per-family fold change vs the relative median for the full annotated family set, not only top candidates.conserved_neighborhoods.tsv is produced and includes intergenic spacing for both query and relative sides; broken synteny, unusual spacing, and expansions are flagged.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.