Package: dcona
DCoNA: tool for fast Differential Correlation Network AnalysisDCoNA 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, btad051https://doi.org/10.1093/bioinformatics/btad051Table of ContentsInstallationInstallation using pipDownloading example datasetUsageExampleAvailable functionsdcona.ztestdcona.zscoredcona.hypergeomData structure for CLI launchNetwork and exhaustive regimesInstallationInstallation using pippip install dconaDownloading example datasetYou can try DCoNA onTCGA-PRAD test datasetUsageYou can use DCoNA either as Python-module or as a command-line tool.ExampleDetailed description of functions with data example and test launch.Available functionsdcona.ztestIt tests the hypothesis on correlation equiavalence between pairs of genesdcona.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:dconaztestconfig.jsondcona.zscoreIt 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:dconazscoreconfig.jsondcona.hypergeomIt 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 launchztestand thenhypergeomwith the same config file.dconahypergeomconfig.jsonData structure for CLI launchTo run the tool in command line you need the following data:config.jsoncontaining 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.csvcontains 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 ofdata.csv:sample_1...sample_ngene_11.2345...1.2345............gene_n1.2345...1.2345description_path:description.csvdivide patients intotwonon-intersecting groups (e.g.NormalandTumorpatients). It is assumed that a patient does not belong to the both groups simultaneously.Structure ofdescription.csv:SampleGroupsample_1condition_1......sample_ncondition_2Column names have to be exactlySampleandGroup.interaction_path(optional):interaction.csvcontains source/target pairs - correlations will be computed among this pairs (innetworkmode). You should delete this line from the config file if you want to launch anexhaustivemode.Structure ofinteraction.csv:SourceTargetsource_gene_1target_gene_2......source_gene_ntarget_gene_nColumn names have to be exactlySourceandTarget.output_dir_pathis a path to an output directory.Usage parameters:reference_group,experimental_groupare names of the patient groups.correlation:spearmanorpearson, defines the type of correlation that will be used in the tool.alternative:two-sided,lessorgreater.TODO: describe the parameter meaning inztestandzscoreregimes.Network and exhaustive regimesDCoNA has two working regimes:Network (interactions) regime - performs calculations only on given gene pairs. Requires aninteraction.csvfile.Exhaustive (all vs all) regime - generates all possible gene pairs from genes listed indata.csvand performs calculations. Aninteraction.csvfile is not needed.