Skip to main content

Documentation Status PyPI version DOI

Single cell multi omics

Single cell multi omics is a set of tools to deal with multiple measurements from the same cell. This package is maintained by Barbanson Biotech.

Installation

pip install singlecellmultiomics

For creating a virtual environment look here

Usage

demux.py: This tool demultiplexes raw fastq files, adapters, molecule and cell information are removed from the fastq records and encoded into the read name including their base-calling qualities. Additional stored inforation includes:

  • Assigned and raw illumina index
  • Library
  • Demultiplexing strategy used for demultiplexing (What kind of data the read is derived from)
  • Assigned barcode index

The next step is usually to trim and then map the demultiplexed reads.

For RNA seq data aligned to a transcriptome the step after this is to run featureCounts.

The mapped reads are encoded in a BAM file. This BAM file still contains the encoded data and this has to be decoded in order to get a useful BAM file. bamtagmultiome.py

  1. Recodes the original read names and extracts all information previously encoded by the demultiplexer.

  2. Adds allele information. (A VCF file is required for this)

  3. Supports multiple protocols: RNA:CELSEQ1, CELSEQ2, VASA (with 8 and 6bp UMI), methylation digest sequencing:SC MSPJI ,
    lineage tracing:SCARTRACE, DNA digest sequencing: NLAIII, Epigenetic modification sequencing: scCHIC, scCHIC+Transcriptome, DamID, DamID+T Single cell methylation : TAPs (in combination with any other supported protocol).

  4. Assigns reads to molecules to allow for deduplication, adds duplication BAM flag

  5. Assigns read groups

  6. Splits libraries where multiple modalities are measured

  7. Estimates consensus sequences of molecules

All SAM tags used and written by this package are listed in TAGS.MD

bamToCountTable.py Extracts a count table from a bam file, look here for examples.

libraryStatistics.py All statistics plots can be generated with a single script, look here for details.

Examples:

Demultiplex all fastq.gz files in the current directory using NLAIII barcodes

demux.py *.fastq.gz -use NLAIII384C8U3 --y

Demultiplex only the specified sequencing index (GTTTGA), and everything 1 hamming distance away from GTTTGA :

demux.py -si GTTTGA *.gz --y --hdi 1

API: Using SingleCellMultiOmics from python

All molecule and fragment information can be accessed using python Documentation for the classes in available here

scCHIC

For every fragment in input.bam find scCHIC seq fragments and deduplicate these. Fragments with the same cell barcode, umi, library and strand and starting within a range of 5 bp from each other are assigned as duplicate. The mnase cut site location is expected to be between the first base (Usually an A) this A is part of the sequencing adapter, and the second base (Usually a T). The cut site location is recorded into the DS tag. When alleles are specified using -alleles, the molecule assignment is split up by allele, this means that if two fragments map to the same location and share the same umi, but contain SNPs which indicate differing alleles, the reads are not assigned to the same molecule. For every fragment the ligation sequence is recorded into the RZ tag.

bamtagmultiome.py input.bam -method chic -o tagged.bam

Complete scCHIC data processing instructions from FastQ to count table here

NlaIII

For every fragment in input.bam find NLAIII seq fragments and deduplicate these. Fragments with the same cell barcode, umi, library and strand are assigned as duplicate. The NlaIII cut site location is recorded into the DS tag. When alleles are specified using -alleles, the molecule assignment is split up by allele, this means that if two fragments map to the same location and share the same UMI, but contain SNPs which indicate differing alleles, the reads are not assigned to the same molecule. For every fragment the sequenced part of the NlaIII cut site sequence is recorded into the RZ tag, this is usually CATG, but is allowed to be shifted 1 base to ATG. In the NlaIII protocol a reverse transcription (RT) is used, generally capturing more reverse transcription reactions will yield a more accurate molecule consensus sequence. For every fragment which support the molecule the reverse transcription reaction is recorded by storing the location of the random primer used for RT and the sequence of the random primer.

bamtagmultiome.py input.bam -method nla -o tagged.bam

Complete NlaIII data processing instructions from FastQ to count table here

Plate visualisation

Show relative abundance of reads and unique molecules across 384 well plate.

bamPlateVisualisation.py tagged.bam -o ./plate_plots

Creates the folder ./plate_plots containing

raw_reads_[LIBRARY_TYPE]_[LIBRARY_NAME].png # Distribution of total reads
usable_reads_[LIBRARY_TYPE]_[LIBRARY_NAME].png # Distribution of reads which can be assigned to a molecule
unique_reads_[LIBRARY_TYPE]_[LIBRARY_NAME].png # Distribution of unique reads

All statistics plots can be generated with a single script, look here for details.

Create a contig by sample matrix and divide counts when reads are multimapping. (Used for counting transcriptome mapped reads)

bamToCountTable.py -featureTags chrom -sampleTags SM --divideMultimapping --dedup ./tagged/STAR_mappedAligned.sortedByCoord.out.bam -o transcriptome_counts.csv

Obtain sample, chromosome, restrictionsite, read start, and read end from test.bam file:

bamTabulator.py -featureTags SM,reference_name,DS,reference_start,reference_end test.bam

List all available tags:

bamTabulator.py test.bam

You can additionaly use any of the pysam read attributes

Metadata

Release files for singlecellmultiomics 0.1.47

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

Source distribution (sdist)

Source distribution for singlecellmultiomics 0.1.47
File Size Uploaded Provenance Actions
singlecellmultiomics-0.1.47.tar.gz 19.9 MB With provenance Details for singlecellmultiomics-0.1.47.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for singlecellmultiomics 0.1.47
File Interpreter ABI Platform Actions
singlecellmultiomics-0.1.47-py3-none-any.whl Python 3 none any Details for singlecellmultiomics-0.1.47-py3-none-any.whl

Total release size: 40.1 MB

Release files / singlecellmultiomics-0.1.47.tar.gz

Download URL singlecellmultiomics-0.1.47.tar.gz
Size 19.9 MB
Tags Source
SHA-256 checksum
How to use checksums
3500b67fa1abb16207991ae5c072881d8a375a611edcdc88c3a9f13709938075
BLAKE2b-256 checksum
How to use checksums
c34743b957bf1078aa350294e69d5d92eb54f3f38021698f00a56da25e50bb8c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 May 28, 2026.

Transparency log

Release files / singlecellmultiomics-0.1.47-py3-none-any.whl

Download URL singlecellmultiomics-0.1.47-py3-none-any.whl
Size 20.2 MB
Tags Python 3
SHA-256 checksum
How to use checksums
8d065fdc969a3aaef211e2aef1262e8bff105e6ee9ab27bbc53f666337bae52a
BLAKE2b-256 checksum
How to use checksums
1c58f8d32416993c1ce8d48549d6f1d194618f6e0ae345af0aebfb6e8fb54a72
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 May 28, 2026.

Transparency log

Security for singlecellmultiomics 0.1.47

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for singlecellmultiomics-0.1.47.tar.gz

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 May 28, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.47 This release

2 release files Full provenance

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