Catalog PyPI
Back to packageRELEASE DETAILS

0.6.0

PyPI

aeacus

mixture of experts single cell malignancy classifier

Published20 Jul 2026
Direct dependencies6
Transitive dependenciesNot calculated

README

Version 0.6.0 documentation
pip install aeacus

from source:

git clone https://github.com/pandey-ps/aeacus.git
cd aeacus
pip install -e .

Usage

from aeacus import Profiler

result = Profiler(test_input="query.h5ad").load().profile()
result.obs["malignancy_call"].value_counts()

Input

FormatNotes
.h5adgenes in var_names, cells in obs_names
.txt / .tsvrows = genes, columns = cells
.csvrows = genes, columns = cells
AnnData objectpassed directly

Parameters

ParameterDefaultDescription
test_inputrequiredpath to data or AnnData object
pretrain_dirautopath to folder with moe.pt, geneorder.tsv, train_mean.npy, train_std.npy, config.json.
norm_typeFalsenormalization to apply before inference (see below)
use_rawFalseif True, reads from adata.raw.X instead of adata.X
batch_size8192cells per batch, lower if out of memory
deviceauto"cuda" or "cpu"

norm_type

model was trained on CPM + log1p normalized data, choose norm_type based on your input:

Inputnorm_type
raw UMI counts (10x, etc.)"cpm_log1p" (or True)
CPM + log1p normalizedFalse (default) or "already_normalized"
TPM data (smart-seq, etc.)"tpm_log1p"

Examples:

# raw counts - normalize 
Profiler(test_input="raw_counts.h5ad", norm_type="cpm_log1p")

# normalized - skip
Profiler(test_input="normalized.h5ad", norm_type=False)

# TPM - log1p
Profiler(test_input="tpm_data.h5ad", norm_type="tpm_log1p")

use_raw

use_raw chooses which data slot to read from:

Inputuse_rawnorm_type
raw counts in .X, no .rawFalse"cpm_log1p"
raw counts in .raw, normalized in .XTrue"cpm_log1p"
normalized in .XFalseFalse

Example - AnnData with raw counts stored in .raw:

Profiler(
    test_input="adata.h5ad",
    use_raw=True,          # read from adata.raw.X
    norm_type="cpm_log1p", # then normalize
)

Inference

result = Profiler(test_input="data.h5ad", norm_type="cpm_log1p").load().profile()

Output

all predictions are added to result.obs:

ColumnDescription
malignancy_call"Malignant" or "Normal"
malignancy_scoreprobability per cell
normal_expert_weightweight assigned to the normal expert
malignant_expert_weightweight assigned to the malignant expert
result.obs[["malignancy_call", "malignancy_score"]].head()

Note

  • missing genes are filled with zeros after aligning to geneorder.tsv; warning showed if >20% of model genes are missing.

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Declared dependencies 6

Native requirements
6 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
anndata
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
anndataruntime
numpy
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
numpyruntime
pandas
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
pandasruntime
scanpy
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
scanpyruntime
scipy
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
scipyruntime
torch
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
torchruntime

Distribution files

2 collected
aeacus-0.6.0-py3-none-any.whl

bdist_wheel · 15,575.07 KB · Python py3

Source file
aeacus-0.6.0.tar.gz

sdist · 15,580.14 KB · Python source

Source file

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 20:08 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:efb4f9a16c08ffbe87e5923d70c9f8fab56176dca0c8a8bf39f5565beae6c726

Other collected versions

View all collected versions →