A tool to assign identifiers to cell barcodes
Project description
geomux
A tool that assigns guides to cell barcodes.
Uses a hypergeometric distribution to calculate the pvalue of observing the specific count of a guide for each guide in each barcode. This can be used to calculate the MOI of the cell and assigned guides for each cell. The resulting dataframe can then be used to intersect with your original data to assign every cell to a barcode and allows you to filter for the MOI you're interested in working with.
Installation
geomux is distributed via uv
uv tool install geomux
geomux --help
Usage
Geomux can be used either as a commandline tool or as a python module
Commandline
when installing via uv, an executable will be placed in your bin path. So you can call it directly from wherever in your filesystem
# example usage
geomux <input.tab / input.h5ad>
You can also run the help flag to see the help menu for parameter options.
$ geomux --help
Usage: geomux [OPTIONS] INPUT [OUTPUT]
╭─ Arguments ──────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ * input TEXT Input file path (tsv/h5ad) to assign guides. [default: None] [required] │
│ output [OUTPUT] Output file path (tsv) to save assignments. [default: geomux.tsv] │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Options ────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ --min-umi INTEGER Minimum UMI count to consider a barcode [default: 5] │
│ --min-cells INTEGER Minimum number of barcodes to consider a guide [default: 100] │
│ --pvalue-threshold FLOAT Maximum pvalue (fdr) to consider a guide-assignment [default: 0.05] │
│ --lor-threshold FLOAT Log odds ratio threshold to use [default: 10.0] │
│ --correction TEXT Pvalue correction method to use [default: bh] │
│ --n-jobs INTEGER Number of jobs to use when calculating hypergeometric distributions [default: 1] │
│ --help Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
Python Module
Processing an h5ad file format
import anndata as ad
from geomux import Geomux
input = "filename.h5ad"
adata = ad.read_h5ad(input)
gx = Geomux(adata)
gx.test()
assignments = gx.assignments
Processing a 3-column TSV of [barcode, guide, n_umi]
from geomux import Geomux, read_table
input = "filename.tsv"
matrix = read_table(input)
gx = Geomux(
matrix,
cell_names=matrix.index.values,
guide_names=matrix.columns.values,
)
gx.test()
assignments = gx.assignments()
Outputs
The results of geomux will be an assignment dataframe that has as many
observations as there are input cells.
The columns of this dataframe will include:
| Column Name | Description |
|---|---|
| cell_id | The name of the cell provided or the index. |
| assignment | A list representing all significant guides within that cell. |
| counts | The number of UMIs observed in the cell. |
| pvalues | The adjusted p-value of the hypergeometric test for that cell/guide test. |
| log_odds | The log odds of observing the highest scoring guide compared to the second highest. |
| moi | The number of significant guides within the cell. |
| n_umi | The number of UMIs observed in the cell. |
| min_pvalue | The minimum pvalue across all significant guides within the cell. |
| max_count | The maximum count across all significant guides within the cell. |
| tested | A bool flag representing whether the cell was included in the test (or False if it was filtered for low UMI counts) |
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file geomux-0.4.1.tar.gz.
File metadata
- Download URL: geomux-0.4.1.tar.gz
- Upload date:
- Size: 10.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.8.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ab5def4586c03e8b3c11fe26aab16540b4d5c999b06255a4f1a8ac78788a3648
|
|
| MD5 |
f4819ecc231e420900aa5820f817314a
|
|
| BLAKE2b-256 |
ac3043cd8cf6eefbf297e82fadb7d18419eb5da615cdc239dbf7c9f66429386d
|
File details
Details for the file geomux-0.4.1-py3-none-any.whl.
File metadata
- Download URL: geomux-0.4.1-py3-none-any.whl
- Upload date:
- Size: 9.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.8.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
94121a2c1e6073cb0725f0bc2acbcbc34cf67c39cdf019bfba0e1f397f8468e9
|
|
| MD5 |
258419e1683d59f99a4168d18e37b314
|
|
| BLAKE2b-256 |
6d2219458577eae239001bb55496e668ad0d7c3fded677a9ec6ba5946619f314
|