bio-gene-calling — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited bio-gene-calling (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.
Call genes and annotate basic features for prokaryotes, viruses, and eukaryotes.
Tool guides and versions: docs/README.md.
uv run --script skills/bio-gene-calling/scripts/run_gene_calling.py \
assemblies.tsv --tool-manifest tool-manifest.json \
--out results/bio-gene-calling --threads 8
# Inspect run_manifest.json, then execute or resume the same plan
# (inside an sbatch job on HPC; match --threads to --cpus-per-task):
uv run --script skills/bio-gene-calling/scripts/run_gene_calling.py \
assemblies.tsv --tool-manifest tool-manifest.json \
--out results/bio-gene-calling --threads 8 --executeThe tool manifest must pin the BRAKER4 repository commit, Snakefile checksum, container-lock checksum, and every Rfam model checksum. The driver records input FASTA checksums, routes each assembly by domain, writes idempotent BRAKER4 samples.csv and config.ini files, uses absolute covariance-model paths, and writes the default and relaxed ncRNA census rows. --threads (default 8) sets the thread count of every tool. Execution reuses non-empty declared outputs. A tRNAscan-SE run that exits 0 without a table counts as zero tRNAs and writes trnascan.tsv.done; an empty table without that marker is rerun. Execution replaces pending ncRNA counts with parsed tRNAscan-SE and Infernal counts.
mode to single for an isolate genome (training needs at least 20 kbp of sequence) or metagenome for MAGs, short contigs, and mixed input.prodigal-gv 2.11.0 binary, use that pinned binary with -p meta and record which implementation produced the calls. ViroSync builds prodigal-gv 2.11.0 with a node-capacity patch through pixi run setup-prodigal-gv.braker.pl entry point for a BRAKER4 run. Keep BRAKER3 only for a documented legacy reproduction.Pychopper guidance in /bio-reads-qc-mapping, including plain .fastq output handling and resume from existing classified reads after report-plotting failures.-ax splice family settings appropriate to the organism/data), sort/index BAMs, and compute a per-genome mapped fraction table.gene_calling_evidence.tsv bundle with columns: sample_id, evidence_type, genome_id, path, notes. The bundle should be directly usable by BRAKER4 or another eukaryote-aware caller.output/{sample}/results/; Pyrodigal and pyrodigal-gv emit the normalized uncompressed paths recorded in the run manifest.-B bacteria, -A archaea, -E eukaryotes, -G viruses). Without a flag it uses eukaryotic models. Use ARAGORN v1.2.41+ when tmRNA is needed.cmsearch against the relevant Rfam covariance models. Pick the model set by domain of life:The default run is cmsearch --rfam --cut_ga --nohmmonly. The relaxed run drops --cut_ga and counts only hits that pass the inclusion E-value (! in the tblout inc column). Record both results.
ncRNA_census.tsv with columns: assembly, class (tRNA/rRNA/tmRNA/other), tool, model (Rfam accession when applicable), threshold (default/relaxed), count, notes. The driver writes it; add tmRNA or other ncRNA rows when you run those screens. The file is required even when all counts are zero.Prerequisites:
docs/README.md for expected tools.Inputs:
assemblies.tsv with assembly_id, domain, mode, and fasta.tool-manifest.json with pinned caller versions; BRAKER4 commit, Snakefile, and container-lock checksums; and per-model Rfam checksums.gene_calling_evidence.tsv.Written by the driver:
genes.gff3, proteins.faa, cds.fna, trnascan.tsv, and {model}.{threshold}.tbl with the matching .cmsearch.txt log.samples.csv, config.ini, and compressed output/{sample}/results/braker.{gff3,aa,codingseq}.gz paths for eukaryotic assemblies.Written by the agent from those outputs:
{ok, skill, out, manifest, warnings} (driver stdout contract in AGENTS.md)--execute and BRAKER4 runs go through sbatch on HPC, with --threads equal to the allocated CPUs.run_manifest.json; no caller output is silently shared across assemblies.--execute records every step as completed or reused.ncRNA_census.tsv exists and records the tRNAscan-SE count, default and relaxed results for every Rfam rRNA model, explicit zero counts, and the not-screened row for viruses.Issue: ONT cDNA evidence workflow failed after Pychopper but classified reads exist Solution: Follow /bio-reads-qc-mapping recovery guidance: verify/rename plain FASTQ outputs, run lightweight stats, resume mapping/StringTie/RNA-Bloom, and keep the failure plus resume command in the methods record.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.