Skip to main content

Differential Correlation Network Analysis

Project description

DCoNA: tool for fast Differential Correlation Network Analysis

DCoNA is a statistical tool that allows one to identify pair interactions, which correlation significantly changes between two conditions. DCoNA was designed to test the hypothesis for a predefined list of source and target pairs ("Network" regime). However, DCoNA can also be used in the complete- network regime when the list is not given ("Exhaustive" regime). In this regime, DCoNA tests the hypothesis for all possible pairs of molecules from expression data. Aside from the hypothesis testing, DCoNA can be used to test that significantly altered correlations of a particular source molecule are overrepresented among all significantly changed correlations. Also, DCoNA can compute mean, median, and other quantiles of z-statistics associated with a particular molecule and its targets to determine a trend in correlation changes.

If you use DCoNA in work contributing to a scientific publication, we ask you to cite our publication:

Anton Zhiyanov, Narek Engibaryan, Stepan Nersisyan, Maxim Shkurnikov, Alexander Tonevitsky, Differential co-expression network analysis with DCoNA reveals isomiR targeting aberrations in prostate cancer, Bioinformatics, Volume 39, Issue 2, February 2023, btad051
https://doi.org/10.1093/bioinformatics/btad051

Table of Contents

Installation

Installation using pip

pip install dcona

Downloading example dataset

You can try DCoNA on TCGA-PRAD test dataset

Usage

You can use DCoNA either as Python-module or as a command-line tool.

Example

Detailed description of functions with data example and test launch.

Available functions

dcona.ztest

It tests the hypothesis on correlation equiavalence between pairs of genes

dcona.ztest(data_df, description_df, reference_group, experimental_group, correlation='spearman', alternative='two-sided', interaction=None, repeats_number=None, output_dir=None, process_number=None)
  • Command-line usage:
    dcona ztest config.json
    

dcona.zscore

It aggregates correlation changes of source molecule with all its targets.

dcona.zscore(data_df, description_df, reference_group, experimental_group, correlation='spearman', score='mean', alternative='two-sided', interaction=None, repeats_number=None, output_dir=None, process_number=None)
  • Command-line usage:
    dcona zscore config.json
    

dcona.hypergeom

It groups pairs with changed correlations by the source molecules and finds overrepresented groups using the hypergeometric test.

dcona.hypergeom(ztest_df, alternative='two-sided', oriented=True, output_dir=None)
  • Command-line usage:
    You should launch ztest and then hypergeom with the same config file.
    dcona hypergeom config.json
    

Data structure for CLI launch

To run the tool in command line you need the following data:

  • config.json containing data filenames and tool usage parameters
{
	"data_path": "./example/data/data.csv",
	"description_path": "./example/data/description.csv",
	"interaction_path": "./example/data/interactions.csv",
	"output_dir_path": "./../output/",
	
	"reference_group": "Normal",
	"experimental_group": "Tumor",

	"correlation": "spearman",
	"alternative": "two-sided",
	"score": "mean",
	"repeats_number": 500,
	"process_number": 2
}

Both relative and absolute file paths can be used.

Data description:

  • data_path : data.csv contains an expression table. Rows of the table should be grouped by genes, miRNAs, isomiRNAs and other items. Columns of the table are grouped by patients taken from two different groups.

    Structure of data.csv :

    sample_1 ... sample_n
    gene_1 1.2345 ... 1.2345
    ... ... ... ...
    gene_n 1.2345 ... 1.2345
  • description_path : description.csv divide patients into two non-intersecting groups (e.g. Normal and Tumor patients). It is assumed that a patient does not belong to the both groups simultaneously.

    Structure of description.csv:

    Sample Group
    sample_1 condition_1
    ... ...
    sample_n condition_2

    Column names have to be exactly Sample and Group.

  • interaction_path (optional): interaction.csv contains source/target pairs - correlations will be computed among this pairs (in network mode). You should delete this line from the config file if you want to launch an exhaustive mode.

    Structure of interaction.csv:

    Source Target
    source_gene_1 target_gene_2
    ... ...
    source_gene_n target_gene_n

    Column names have to be exactly Source and Target.

  • output_dir_path is a path to an output directory.

Usage parameters:

  • reference_group, experimental_group are names of the patient groups.

  • correlation : spearman or pearson, defines the type of correlation that will be used in the tool.

  • alternative : two-sided, less or greater.

    TODO: describe the parameter meaning in ztest and zscore regimes.

Network and exhaustive regimes

DCoNA has two working regimes:

  • Network (interactions) regime - performs calculations only on given gene pairs. Requires an interaction.csv file.
  • Exhaustive (all vs all) regime - generates all possible gene pairs from genes listed in data.csv and performs calculations. An interaction.csv file is not needed.

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

dcona-0.2.2.tar.gz (38.2 kB view hashes)

Uploaded Source

Built Distributions

dcona-0.2.2-pp38-pypy38_pp73-win_amd64.whl (579.0 kB view hashes)

Uploaded PyPy Windows x86-64

dcona-0.2.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (573.2 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

dcona-0.2.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl (429.6 kB view hashes)

Uploaded PyPy macOS 10.9+ x86-64

dcona-0.2.2-cp312-cp312-win_amd64.whl (553.4 kB view hashes)

Uploaded CPython 3.12 Windows x86-64

dcona-0.2.2-cp312-cp312-win32.whl (467.5 kB view hashes)

Uploaded CPython 3.12 Windows x86

dcona-0.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.7 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

dcona-0.2.2-cp312-cp312-macosx_11_0_arm64.whl (426.6 kB view hashes)

Uploaded CPython 3.12 macOS 11.0+ ARM64

dcona-0.2.2-cp312-cp312-macosx_10_9_x86_64.whl (460.6 kB view hashes)

Uploaded CPython 3.12 macOS 10.9+ x86-64

dcona-0.2.2-cp312-cp312-macosx_10_9_universal2.whl (857.5 kB view hashes)

Uploaded CPython 3.12 macOS 10.9+ universal2 (ARM64, x86-64)

dcona-0.2.2-cp311-cp311-win_amd64.whl (557.1 kB view hashes)

Uploaded CPython 3.11 Windows x86-64

dcona-0.2.2-cp311-cp311-win32.whl (470.1 kB view hashes)

Uploaded CPython 3.11 Windows x86

dcona-0.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.7 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

dcona-0.2.2-cp311-cp311-macosx_11_0_arm64.whl (439.7 kB view hashes)

Uploaded CPython 3.11 macOS 11.0+ ARM64

dcona-0.2.2-cp311-cp311-macosx_10_9_x86_64.whl (475.4 kB view hashes)

Uploaded CPython 3.11 macOS 10.9+ x86-64

dcona-0.2.2-cp311-cp311-macosx_10_9_universal2.whl (885.0 kB view hashes)

Uploaded CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64)

dcona-0.2.2-cp310-cp310-win_amd64.whl (551.8 kB view hashes)

Uploaded CPython 3.10 Windows x86-64

dcona-0.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.6 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

dcona-0.2.2-cp310-cp310-macosx_11_0_arm64.whl (433.1 kB view hashes)

Uploaded CPython 3.10 macOS 11.0+ ARM64

dcona-0.2.2-cp310-cp310-macosx_10_9_x86_64.whl (467.5 kB view hashes)

Uploaded CPython 3.10 macOS 10.9+ x86-64

dcona-0.2.2-cp310-cp310-macosx_10_9_universal2.whl (870.7 kB view hashes)

Uploaded CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64)

dcona-0.2.2-cp39-cp39-win_amd64.whl (552.6 kB view hashes)

Uploaded CPython 3.9 Windows x86-64

dcona-0.2.2-cp39-cp39-win32.whl (465.1 kB view hashes)

Uploaded CPython 3.9 Windows x86

dcona-0.2.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.6 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

dcona-0.2.2-cp39-cp39-macosx_11_0_arm64.whl (433.9 kB view hashes)

Uploaded CPython 3.9 macOS 11.0+ ARM64

dcona-0.2.2-cp39-cp39-macosx_10_9_x86_64.whl (468.5 kB view hashes)

Uploaded CPython 3.9 macOS 10.9+ x86-64

dcona-0.2.2-cp39-cp39-macosx_10_9_universal2.whl (872.8 kB view hashes)

Uploaded CPython 3.9 macOS 10.9+ universal2 (ARM64, x86-64)

dcona-0.2.2-cp38-cp38-win_amd64.whl (578.6 kB view hashes)

Uploaded CPython 3.8 Windows x86-64

dcona-0.2.2-cp38-cp38-win32.whl (464.6 kB view hashes)

Uploaded CPython 3.8 Windows x86

dcona-0.2.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.6 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

dcona-0.2.2-cp38-cp38-macosx_11_0_arm64.whl (432.6 kB view hashes)

Uploaded CPython 3.8 macOS 11.0+ ARM64

dcona-0.2.2-cp38-cp38-macosx_10_9_x86_64.whl (467.1 kB view hashes)

Uploaded CPython 3.8 macOS 10.9+ x86-64

dcona-0.2.2-cp38-cp38-macosx_10_9_universal2.whl (869.9 kB view hashes)

Uploaded CPython 3.8 macOS 10.9+ universal2 (ARM64, x86-64)

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