sc-count
Load when turning scRNA FASTQ (or existing CellRanger/STARsolo/SimpleAF/kb-python output) into a downstream-ready AnnData. Skip when reads are already counted into AnnData (use sc-standardize-input);
Files8
View on GitHubSKILL.mdskills/sc-count/SKILL.md
GitHubsc-count
When to use
The user has FASTQ files (or pre-existing tool output directories) and
wants per-cell counts in OmicsClaw's canonical AnnData contract. Four
backends share one CLI: cellranger, starsolo, simpleaf,
kb-python. When passed an already-counted directory the skill
re-canonicalises rather than re-counts. Pairs with sc-fastq-qc
upstream (read QC) and sc-multi-count downstream (merging multiple
samples).
Inputs & Outputs
<!-- AUTO-GENERATED from skill.yaml (interface) — do not edit by hand. Regenerate: python scripts/generate_skill_md.py <skill_dir> -->Inputs
- Input kinds:
file,directory - Modalities: scrna
- File types:
.fastq,.fq,.h5ad - FASTQ structure: valid first record;
pairedlayout - Directory layouts (any):
paired-fastq,tenx-matrix,cellranger-output,starsolo-output,pseudoalign-output
Outputs
tables/Summary.csvtables/backend_summary.csvtables/barcode_metrics.csvtables/barcodes.tsvtables/cell_metadata.csvtables/count_summary.csvtables/features.tsvtables/genes.tsvtables/metrics_summary.csvtables/simpleaf_t2g.tsvfigures/barcode_rank.pngfigures/count_complexity_scatter.pngfigures/count_distributions.png3M-february-2018.txt737K-august-2016.txtAligned.sortedByCoord.out.bamanalysis_summary.txtcells_x_genes.barcodes.txtcells_x_genes.genes.txtmultiqc_report.htmlpossorted_genome_bam.bamprocessed.h5adquants_mat_cols.txtquants_mat_rows.txtsimpleaf_index.jsonstandardized_input.h5adweb_summary.htmlreport.mdresult.json- Processed AnnData (
saves_h5ad)
Flow
- Resolve
--input; if it's an existing CellRanger / STARsolo / SimpleAF / kb-python output dir, re-canonicalise instead of running the backend. - Otherwise validate backend prerequisites (chemistry, reference, t2g for kb-python, whitelist for STARsolo).
- Run the chosen backend against the FASTQ (and
--read2if explicit). - Load the resulting matrix into AnnData; canonicalise (
layers["counts"],adata.raw, gene-name harmonisation). - Render barcode-rank + count-distribution figures.
- Emit
processed.h5ad+report.md+result.json.
Gotchas
- Missing input path → hard fail.
sc_count.py:356raisesFileNotFoundError(f"Input path not found: {input_path}"). Common when the FASTQ dir is on a network mount that has not been resolved at run time. - STARsolo requires explicit chemistry.
sc_count.py:420raisesValueError("STARsolo runs require an explicit--chemistryvalue such as10xv3.")when chemistry is left at theautodefault. STARsolo currently supports10xv2,10xv3, and10xv4; pass one of those. - Backend prerequisites are validated up front.
sc_count.py:401,:423,:451raiseValueErrorfor missing--reference(CellRanger/STARsolo/simpleaf), missing--t2g(kb-python), or unsupported--chemistryfor STARsolo. No silent fallback to a different backend — pick a feasible one before invoking. - Re-canonicalising-existing-output is detected by directory shape, not a flag. If
--inputpoints at a CellRanger output dir (e.g. one withouts/raw_feature_bc_matrix/), the skill skips counting and just imports the matrix. No flag separates the two paths; verify by inspectingresult.json["data"]["execution"](empty list = re-canonicalise; populated = backend invoked) or by readingtables/backend_summary.csv(lists the backend metrics only when the backend ran).
Key CLI
# Demo (synthetic FASTQ + CellRanger-shaped output)
python omicsclaw.py run sc-count --demo --output /tmp/sc_count_demo
# CellRanger over FASTQ
python omicsclaw.py run sc-count \
--input fastq_dir/ --output results/ \
--reference cellranger_transcriptome --threads 16
# STARsolo (requires explicit chemistry)
python omicsclaw.py run sc-count \
--input fastq_dir/ --output results/ \
--reference star_genome_dir --chemistry 10xv3 --whitelist barcodes.tsv
# Re-canonicalise an existing CellRanger output directory
python omicsclaw.py run sc-count \
--input cellranger_output_dir/ --output results/
See also
references/parameters.md— every CLI flag and per-backend prerequisitereferences/methodology.md— backend selection guide, re-canonicalise vs re-run logicreferences/output_contract.md—processed.h5adschema + table layouts- Adjacent skills:
sc-fastq-qc(upstream — read-quality check before counting),sc-multi-count(downstream — merge multiple sample outputs),sc-standardize-input(parallel — for AnnData from outside OmicsClaw)