Skip to main content

SniffCell Lite

SniffCell Lite keeps a compact workflow:

  • sniffcell-lite find: call ctDMR catalogs from a methylation atlas.
  • sniffcell-lite anno: annotate variants from supporting reads, a BAM, a reference FASTA, and a ctDMR catalog.
  • sniffcell-lite report: build a lite-native HTML report, optionally with per-variant figures.

This repository is the canonical home of the lite find, anno, and reporting workflow.

Install

pip install sniffcell-lite

To install the latest development version directly from GitHub:

pip install git+https://github.com/Fu-Yilei/SniffCell-lite.git

Source code and issue tracking are maintained at Fu-Yilei/SniffCell-lite.

Find

find keeps the original atlas-driven flavor. The bundled tissue atlas supports tissue code or tissue name lookup through -ck.

sniffcell-lite find \
  -n atlas/all_celltypes_blocks.npy \
  -i atlas/all_celltypes_blocks.index.gz \
  -m atlas/all_celltypes.txt \
  -ck "Colon, Ascending" \
  -o colon_ascending.ctdmr.tsv

Equivalent code form:

sniffcell-lite find -ck 3E -o colon_ascending.ctdmr.tsv

The default cell-type JSON is the packaged sniffcell/data/tissue_atlas.json. You can still pass a custom atlas with -cf.

Anno

Single-variant mode requires a BAM and reference FASTA. SniffCell Lite maps the variant-supporting reads in the BAM, selects ctDMRs from the catalog that overlap those supporting-read alignment spans, computes methylation from the BAM only for those reads at those ctDMRs, and assigns the variant from the targeted read-level methylation calls. ctDMR evidence is not capped to a fixed distance from the variant.

sniffcell-lite anno \
  -i sample.bam \
  -r ref.fa \
  --variant-name variant_001 \
  --variant-location chr1:100000-101000 \
  --supporting-reads readA,readB,readC \
  --catalog colon_ascending.ctdmr.tsv \
  -o anno_out

Batch mode uses a TSV or CSV with these columns:

variant_name    variant_location    supporting_reads    catalog    bam    reference

Run:

sniffcell-lite anno --batch variants.tsv -o anno_out

supporting_reads accepts comma, pipe, semicolon, whitespace-delimited text, JSON list text, or @path/to/read_names.txt.

If every batch row uses the same reference, pass it once instead of adding a reference column:

sniffcell-lite anno --batch variants.tsv -r ref.fa -o anno_out

Outputs

sniffcell-lite find writes:

  • *.tsv: ctDMR catalog
  • *.tsv.igv.bed: IGV BED companion
  • *.tsv.catalog.json: catalog manifest when tissue metadata was used

sniffcell-lite anno writes:

  • variant_assignment.tsv
  • variant_assignment_readable.tsv
  • variant_assignment_readable_long.tsv
  • reads_classification.tsv
  • support_read_mappings.tsv
  • anno_compact_manifest.json or anno_batch_manifest.json

Report

report reads a sniffcell-lite anno output folder directly. Batch reports keep the per-row BAM and ctDMR catalog from the original lite batch manifest, so multi-tissue/multi-BAM annotation outputs do not need to be coerced into a single full-SniffCell manifest.

Table-only report:

sniffcell-lite report --anno_output anno_out -o anno_report

Report with lightweight per-variant figures:

sniffcell-lite report --anno_output anno_out --with_figures -o anno_report

Useful filters:

sniffcell-lite report \
  --anno_output anno_out \
  --min_overlap_pct 0 \
  --min_majority_pct 0 \
  --max_variants 100 \
  --with_figures \
  -o anno_report

To report only listed variants, or to remove listed variants, provide a TSV/CSV with an id column or a one-ID-per-line file:

sniffcell-lite report \
  --anno_output anno_out \
  --include_variants selected_ids.tsv \
  --with_figures \
  -o selected_report

sniffcell-lite report \
  --anno_output anno_out \
  --exclude_variants rejected_ids.tsv \
  --with_figures \
  -o filtered_report

--include_variants and --exclude_variants are mutually exclusive. The report writes index.html, high_confidence_variants.tsv, report_manifest.json, normalized inclusion/exclusion provenance when used, and optional files under figures/.

Tests

pytest -q

Metadata

Release files for sniffcell-lite 0.9.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sniffcell-lite 0.9.7
File Size Uploaded
sniffcell_lite-0.9.7.tar.gz 100.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sniffcell-lite 0.9.7
File Interpreter ABI Platform
sniffcell_lite-0.9.7-py3-none-any.whl Python 3 none any Details

Total release size: 204.0 kB

Release files / sniffcell_lite-0.9.7.tar.gz

Download URL sniffcell_lite-0.9.7.tar.gz
Size 100.6 kB
Tags Source
SHA-256 checksum
How to use checksums
b94f7c4871bc9b2e6b2f7d43a6165e777e19ecfa29ed19882dc874bb0f376678
BLAKE2b-256 checksum
How to use checksums
71db0a7ccaf4c510eee894d54a386255f7f1edce9685af4d461a14ba0191887b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 5, 2026.

Transparency log

Release files / sniffcell_lite-0.9.7-py3-none-any.whl

Download URL sniffcell_lite-0.9.7-py3-none-any.whl
Size 103.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f25e169af62ec723205fc65d4f0d706bcd0577e2cb7d3dec37427e0a53ee4ce6
BLAKE2b-256 checksum
How to use checksums
296bbcd7f2fdf761817f099867919c7bf9ef9b9180e46ac321751c8236c5b2da
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 5, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.9.7 This release

2 release files

0.9.6

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page