consenrich


Nameconsenrich JSON
Version 0.1.0b2 PyPI version JSON
download
home_pagehttps://github.com/nolan-h-hamilton/Consenrich
SummaryGenome-wide extraction of reproducible continuous-valued signals hidden in noisy multisample functional genomics data
upload_time2025-02-04 18:25:36
maintainerNone
docs_urlNone
authorNolan H. Hamilton, Benjamin D. McMichael, Michael I. Love, Terrence S. Furey
requires_python>=3.9
licenseMIT
keywords genomics functional genomics epigenomics epigenetics signal processing data fusion state estimator filter
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Consenrich

[![Tests](https://github.com/nolan-h-hamilton/Consenrich/actions/workflows/Tests.yml/badge.svg?event=workflow_dispatch)](https://github.com/nolan-h-hamilton/Consenrich/actions/workflows/Tests.yml)
![PyPI - Version](https://img.shields.io/pypi/v/consenrich?logo=Python&logoColor=%23FFFFFF&color=%233776AB&link=https%3A%2F%2Fpypi.org%2Fproject%2Fconsenrich%2F)

*[Consenrich](https://github.com/nolan-h-hamilton/Consenrich) is a sequential genome-wide state estimator for extraction of reproducible, spatially-resolved, epigenomic signals hidden in noisy multisample HTS data.*

---

* **Input**:
  * $m \geq 1$ Sequence alignment files `-t/--bam_files` corresponding to each sample in a given HTS experiment
  * (*Optional*): $m_c = m$ control sample alignments, `-c/--control_files`, for each 'control' sample (e.g., ChIP-seq)

* **Output**: Genome-wide 'consensus' epigenomic state estimates and uncertainty metrics (BedGraph/BigWig)

---

* Uncertainty-moderated signal tracks encompassing multiple samples' epigenomic profiles $\implies$ Convenient, insightful data representation for conventional analyses aiming to profile trait-specific regulatory landscapes (e.g., via [consensus peak calling](docs/consensus_peaks.md))
* Models trends and noise profiles for each sample with scale-invariance $\implies$ [Multi-sample, multi-assay estimation of target molecular states](docs/atac_dnase.png) from related functional genomics assays, e.g., ChIP-seq + CUT-N-RUN, ATAC-seq + DNase-seq.
* [Preservation of spectral content](docs/filter_comparison.png) $\implies$ Comparison and profiling of group-specific structural signatures discarded by traditional enrichment-focused measures for HTS data.

Several technical features of Consenrich are discussed [below](#technical-features).

## Example Command-Line Use

* Run Consenrich on ten heterogeneous ATAC-seq sample alignments in the current directory (`*.bam`).
  * Generate BigWig signal track ('Consenrich Signal Track') and IVW residual estimates ('Consenrich IVW Residuals Track')

   ```bash
   consenrich --bam_files *.bam -g hg38 --signal_bigwig demo_signal.bw --residuals_bigwig demo_residuals.bw
   ```

![fig1](docs/figure_1aa.png)

---

* Use Consenrich for ChIP-seq enrichment analysis with treatment/control sample alignments (POL2RA, six donors' colon tissue samples). Generate separate BigWig output tracks for signal estimates and inverse-variance weighted residuals. Use fixed-width genomic intervals of 25bp:

   ```bash
  consenrich \
    --bam_files \
      ENCSR322JEO_POL2RA.bam \
      ENCSR472VBD_POL2RA.bam \
      ENCSR431EHE_POL2RA.bam \
      ENCSR724FCJ_POL2RA.bam \
      ENCSR974HQI_POL2RA.bam \
      ENCSR132XRW_POL2RA.bam \
    --control_files \
      ENCSR322JEO_CTRL.bam \
      ENCSR472VBD_CTRL.bam \
      ENCSR431EHE_CTRL.bam \
      ENCSR724FCJ_CTRL.bam \
      ENCSR974HQI_CTRL.bam \
      ENCSR132XRW_CTRL.bam \
    -g hg38 --step 25 \
    -o Consenrich_POL2RA.tsv \
    --signal_bigwig Consenrich_POL2RA_CTRL_Signal.bw \
    --residual_bigwig Consenrich_POL2RA_CTRL_IVW_Residuals.bw
   ```

**Output**
![ChIPDemo](docs/ChIP_POL2RA_Demo.png)

## Download/Install

Consenrich can be easily downloaded and installed from source:

1. `git clone https://github.com/nolan-h-hamilton/Consenrich.git`
2. `cd Consenrich`
3. `python setup.py sdist bdist_wheel`
4. `python -m pip install .`
5. Check installation: `consenrich --help`

Consenrich is also available via [PyPI/pip](https://pypi.org/project/consenrich/):

* `pip install consenrich`

If managing multiple Python environments, use `python -m pip install consenrich`. If lacking administrative privileges, running with flag `--user` may be necessary.

## Technical Features

* Effectively models sample-and-region-varying noise to better integrate data across heterogeneous samples
* Balances biologically-informed *a priori* predictions with observed HTS data to determine final estimates
* Provides interpretable uncertainty quantification with respect to multiple model aspects
* Runs efficiently in linear time with respect to genome size.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/nolan-h-hamilton/Consenrich",
    "name": "consenrich",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "genomics, functional genomics, epigenomics, epigenetics, signal processing, data fusion, state estimator, filter",
    "author": "Nolan H. Hamilton, Benjamin D. McMichael, Michael I. Love, Terrence S. Furey",
    "author_email": "nolan.hamilton@unc.edu, bdmcmi@ad.unc.edu, milove@email.unc.edu, tsfurey@email.unc.edu",
    "download_url": "https://files.pythonhosted.org/packages/9b/fd/f422e6a5958be7a06d66b03f332a7a62cbbd021395ec4dc656324963ec03/consenrich-0.1.0b2.tar.gz",
    "platform": null,
    "description": "# Consenrich\n\n[![Tests](https://github.com/nolan-h-hamilton/Consenrich/actions/workflows/Tests.yml/badge.svg?event=workflow_dispatch)](https://github.com/nolan-h-hamilton/Consenrich/actions/workflows/Tests.yml)\n![PyPI - Version](https://img.shields.io/pypi/v/consenrich?logo=Python&logoColor=%23FFFFFF&color=%233776AB&link=https%3A%2F%2Fpypi.org%2Fproject%2Fconsenrich%2F)\n\n*[Consenrich](https://github.com/nolan-h-hamilton/Consenrich) is a sequential genome-wide state estimator for extraction of reproducible, spatially-resolved, epigenomic signals hidden in noisy multisample HTS data.*\n\n---\n\n* **Input**:\n  * $m \\geq 1$ Sequence alignment files `-t/--bam_files` corresponding to each sample in a given HTS experiment\n  * (*Optional*): $m_c = m$ control sample alignments, `-c/--control_files`, for each 'control' sample (e.g., ChIP-seq)\n\n* **Output**: Genome-wide 'consensus' epigenomic state estimates and uncertainty metrics (BedGraph/BigWig)\n\n---\n\n* Uncertainty-moderated signal tracks encompassing multiple samples' epigenomic profiles $\\implies$ Convenient, insightful data representation for conventional analyses aiming to profile trait-specific regulatory landscapes (e.g., via [consensus peak calling](docs/consensus_peaks.md))\n* Models trends and noise profiles for each sample with scale-invariance $\\implies$ [Multi-sample, multi-assay estimation of target molecular states](docs/atac_dnase.png) from related functional genomics assays, e.g., ChIP-seq + CUT-N-RUN, ATAC-seq + DNase-seq.\n* [Preservation of spectral content](docs/filter_comparison.png) $\\implies$ Comparison and profiling of group-specific structural signatures discarded by traditional enrichment-focused measures for HTS data.\n\nSeveral technical features of Consenrich are discussed [below](#technical-features).\n\n## Example Command-Line Use\n\n* Run Consenrich on ten heterogeneous ATAC-seq sample alignments in the current directory (`*.bam`).\n  * Generate BigWig signal track ('Consenrich Signal Track') and IVW residual estimates ('Consenrich IVW Residuals Track')\n\n   ```bash\n   consenrich --bam_files *.bam -g hg38 --signal_bigwig demo_signal.bw --residuals_bigwig demo_residuals.bw\n   ```\n\n![fig1](docs/figure_1aa.png)\n\n---\n\n* Use Consenrich for ChIP-seq enrichment analysis with treatment/control sample alignments (POL2RA, six donors' colon tissue samples). Generate separate BigWig output tracks for signal estimates and inverse-variance weighted residuals. Use fixed-width genomic intervals of 25bp:\n\n   ```bash\n  consenrich \\\n    --bam_files \\\n      ENCSR322JEO_POL2RA.bam \\\n      ENCSR472VBD_POL2RA.bam \\\n      ENCSR431EHE_POL2RA.bam \\\n      ENCSR724FCJ_POL2RA.bam \\\n      ENCSR974HQI_POL2RA.bam \\\n      ENCSR132XRW_POL2RA.bam \\\n    --control_files \\\n      ENCSR322JEO_CTRL.bam \\\n      ENCSR472VBD_CTRL.bam \\\n      ENCSR431EHE_CTRL.bam \\\n      ENCSR724FCJ_CTRL.bam \\\n      ENCSR974HQI_CTRL.bam \\\n      ENCSR132XRW_CTRL.bam \\\n    -g hg38 --step 25 \\\n    -o Consenrich_POL2RA.tsv \\\n    --signal_bigwig Consenrich_POL2RA_CTRL_Signal.bw \\\n    --residual_bigwig Consenrich_POL2RA_CTRL_IVW_Residuals.bw\n   ```\n\n**Output**\n![ChIPDemo](docs/ChIP_POL2RA_Demo.png)\n\n## Download/Install\n\nConsenrich can be easily downloaded and installed from source:\n\n1. `git clone https://github.com/nolan-h-hamilton/Consenrich.git`\n2. `cd Consenrich`\n3. `python setup.py sdist bdist_wheel`\n4. `python -m pip install .`\n5. Check installation: `consenrich --help`\n\nConsenrich is also available via [PyPI/pip](https://pypi.org/project/consenrich/):\n\n* `pip install consenrich`\n\nIf managing multiple Python environments, use `python -m pip install consenrich`. If lacking administrative privileges, running with flag `--user` may be necessary.\n\n## Technical Features\n\n* Effectively models sample-and-region-varying noise to better integrate data across heterogeneous samples\n* Balances biologically-informed *a priori* predictions with observed HTS data to determine final estimates\n* Provides interpretable uncertainty quantification with respect to multiple model aspects\n* Runs efficiently in linear time with respect to genome size.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Genome-wide extraction of reproducible continuous-valued signals hidden in noisy multisample functional genomics data",
    "version": "0.1.0b2",
    "project_urls": {
        "Homepage": "https://github.com/nolan-h-hamilton/Consenrich"
    },
    "split_keywords": [
        "genomics",
        " functional genomics",
        " epigenomics",
        " epigenetics",
        " signal processing",
        " data fusion",
        " state estimator",
        " filter"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "30c4a7aedc43ecbeb263ec81e2a811b521629c89b6de8b4e9a2d7a9ec170c323",
                "md5": "357f8d45a387edbdfd9195ae5278fcf0",
                "sha256": "794f20cc7b6680c6613801d1eb828b8620a8a7a377cae73c7147601e4b1785cd"
            },
            "downloads": -1,
            "filename": "consenrich-0.1.0b2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "357f8d45a387edbdfd9195ae5278fcf0",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 9372824,
            "upload_time": "2025-02-04T18:25:27",
            "upload_time_iso_8601": "2025-02-04T18:25:27.774350Z",
            "url": "https://files.pythonhosted.org/packages/30/c4/a7aedc43ecbeb263ec81e2a811b521629c89b6de8b4e9a2d7a9ec170c323/consenrich-0.1.0b2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "9bfdf422e6a5958be7a06d66b03f332a7a62cbbd021395ec4dc656324963ec03",
                "md5": "199d66964d452b1cc2687c440cdce69b",
                "sha256": "45781b7c60ea8a3f77af22e737a7384cc0148a0445be57862ba30b4682cd8a66"
            },
            "downloads": -1,
            "filename": "consenrich-0.1.0b2.tar.gz",
            "has_sig": false,
            "md5_digest": "199d66964d452b1cc2687c440cdce69b",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 9765269,
            "upload_time": "2025-02-04T18:25:36",
            "upload_time_iso_8601": "2025-02-04T18:25:36.906032Z",
            "url": "https://files.pythonhosted.org/packages/9b/fd/f422e6a5958be7a06d66b03f332a7a62cbbd021395ec4dc656324963ec03/consenrich-0.1.0b2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-02-04 18:25:36",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "nolan-h-hamilton",
    "github_project": "Consenrich",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "consenrich"
}
        
Elapsed time: 5.60013s