Skip to main content

Container class for representing and managing multi-omics genomic experiments

Project description

MultiAssayExperiment

Container class to represent and manage multi-omics genomic experiments. Follows Bioconductor's MAE R/Package.

Install

Package is published to PyPI

pip install multiassayexperiment

Usage

First create mock sample data

import pandas as pd
import numpy as np
from genomicranges import GenomicRanges

nrows = 200
ncols = 6
counts = np.random.rand(nrows, ncols)
gr = GenomicRanges(
    {
        "seqnames": [
            "chr1",
            "chr2",
            "chr2",
            "chr2",
            "chr1",
            "chr1",
            "chr3",
            "chr3",
            "chr3",
            "chr3",
        ]
        * 20,
        "starts": range(100, 300),
        "ends": range(110, 310),
        "strand": ["-", "+", "+", "*", "*", "+", "+", "+", "-", "-"] * 20,
        "score": range(0, 200),
        "GC": [random() for _ in range(10)] * 20,
    }
)

col_data_sce = pd.DataFrame(
    {
        "treatment": ["ChIP", "Input"] * 3,
    },
    index=["sce"] * 6,
)

col_data_se = pd.DataFrame(
    {
        "treatment": ["ChIP", "Input"] * 3,
    },
    index=["se"] * 6,
)

sample_map = pd.DataFrame(
    {
        "assay": ["sce", "se"] * 6,
        "primary": ["sample1", "sample2"] * 6,
        "colname": ["sce", "se"] * 6,
    }
)

sample_data = pd.DataFrame({"samples": ["sample1", "sample2"]})

Now we can create an instance of an MAE -

from multiassayexperiment import MultiAssayExperiment
from singlecellexperiment import SingleCellExperiment
from summarizedExperiment import SummarizedExperiment

tsce = SingleCellExperiment(
    assays={"counts": counts}, row_data=df_gr, col_data=col_data_sce
)

tse2 = SummarizedExperiment(
    assays={"counts": counts.copy()},
    row_data=df_gr.copy(),
    col_data=col_data_se.copy(),
)

mae = MultiAssayExperiment(
    experiments={"sce": tsce, "se": tse2},
    col_data=sample_data,
    sample_map=sample_map,
    metadata={"could be": "anything"},
)

For more use cases, checkout the documentation.

Note

This project has been set up using PyScaffold 4.5. For details and usage information on PyScaffold see https://pyscaffold.org/.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

MultiAssayExperiment-0.3.0.tar.gz (1.1 MB view details)

Uploaded Source

Built Distribution

MultiAssayExperiment-0.3.0-py3-none-any.whl (13.0 kB view details)

Uploaded Python 3

File details

Details for the file MultiAssayExperiment-0.3.0.tar.gz.

File metadata

  • Download URL: MultiAssayExperiment-0.3.0.tar.gz
  • Upload date:
  • Size: 1.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.17

File hashes

Hashes for MultiAssayExperiment-0.3.0.tar.gz
Algorithm Hash digest
SHA256 65fb1fe2c100ac5babc6c8a97d2df91ac296787d77bce1cfa5cc4d59a7ac221e
MD5 36663513d7e56b9ffb01500de6094086
BLAKE2b-256 aaa1671bd2228097260604769a9a9d26715f1eaa4a4b1b49892defe429844499

See more details on using hashes here.

File details

Details for the file MultiAssayExperiment-0.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for MultiAssayExperiment-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 804643a74ea0488c93cabfa7f5e792cc5669515e53ad99af632c58f0d49c8606
MD5 882d68e3e95908f70aa6fa515566a52e
BLAKE2b-256 9455b8bf4dd8e1936d7ec1fe2c4969cf98c68d5e66008dc85c4321cd65b08806

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page