Skip to main content

A command line interface tool to reconstruct and analyze single sample networks.

Project description

SiSaNA

Single Sample Network Analysis

SiSaNA is used both before and after creating both PANDA and LIONESS networks from the package netZooPy. SiSaNA first needs to pre-process the data to be ran in PANDA/LIONESS. SiSaNA takes the LIONESS output, processes it to be analyzed downstream, and then calculates in- and out-degree for each of the reconstructed networks. Additionally, it can compare the expression/degree between groups of interest, including performing statistical tests, visualizing the results (volcano plots, boxplots, and violin plots), and compare the survival between groups.

Note: The steps below are for the basic use of SiSaNA. There are other functionalities across different scripts that are not covered in this file.

Requirements

  • python v3.9.19 (see installation steps for creating a conda environment with this specific Python version). SiSaNA should work with versions of Python 3.9.0 or greater, but as it has been written and tested on this version, we will use 3.9.19.

Installation can be performed by running the following steps

  1. Create a conda virtual environment with python version 3.9.19.
conda create --prefix /path/to/env-name python=3.9.19
  1. Enter the conda environment
conda activate /path/to/env-name
  1. Install SiSaNA via the pip package installer
pip3 install sisana
  1. Move into the repo directory, then run the following command to install the required modules
mkdir sisana

Pipeline overview

Pipeline overview

Setting up your params.yml file

The most important thing to get right in order to correctly run SiSaNA is the structure of your params.yml file. SiSaNA comes with a params.yml file that is annotated to explain the function of each argument. The params.yml file is separated into 'chunks' that reflect the same subcommands available in SiSaNA on the command line. For each step of SiSaNA, you will need to use the correct subcommand, as well as have the parameters set up in the params.yml file.

Setting up your params.yml file

Example input files can be found in the sisana/example_input directory. These files can be used in the commands listed down below.

Pre-processing of data

The "preprocess" subcommand is the first stage of SiSaNA, where it preprocess the input data to get it in a format that the PANDA and LIONESS algorithms can handle. This will likely involve the removal of genes or transcription factors that are not consistent across files. Information regarding the removal of these factors is given at the end of the preprocessing step.

Example command

sisana preprocess params.yml

Outputs

Three files, one for each of the three filtered input files.

Reconstruct and analyze the network

This second SiSaNA stage, "generate", uses the PANDA and LIONESS algorithms of netZooPy to reconstruct gene regulatory networks. Documentation for netZooPy can be found at https://github.com/netZoo/netZooPy/tree/master. It then performs basic analyses of these networks by calculating in-degree of genes (also called gene targeting scores)and out-degree of transcription factors (TFs).

Example command

sisana generate ./input/params.yml

Outputs

  1. lioness.npy, which contains all calculated edges for each sample
  2. lioness.pickle, which is the same thing, just serialized to make reading into python quicker
  3. A file containing the calculated indegree and outdegree of each gene and transcription factor, respectively.

Comparing two experimental groups

The next stage in SiSaNA, "compare", is used to find out how groups differ between each other. SiSaNA offers multiple ways to do this comparison, including t-tests (and Mann-Whitney tests), paired t-tests (and Wilcoxon paired t-tests), survival analysis (typically used for cancer data), and gene set enrichment analysis (GSEA).

To compare the in- and out-degrees between two treatment groups, using either a Student's t-test or a Mann-Whitney test (or for paired samples, one can use either a paired t-test or Wilcoxon signed-rank test).

Example commands

To compare the values between two groups in order to identify differentially expressed genes are differential degrees, you can use the following command:

sisana compare means params.yml

For performing survival analyses, you can use a command like this:

sisana compare survival params.yml

...and for gene set enrichment:

sisana compare gsea params.yml

Visualization of results

The final stage of SiSaNA, "visualize" allows you to visualize the results of your analysis on publication-ready figures. There are multiple types of visualization you can perform, including generating volcano plots...

sisana visualize volcano params.yml

...making boxplots or violin plots of expression/degrees...

sisana visualize quantity params.yml

...and creating heatmaps

sisana visualize heatmap params.yml

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

sisana-0.0.1.tar.gz (11.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sisana-0.0.1-py3-none-any.whl (11.0 MB view details)

Uploaded Python 3

File details

Details for the file sisana-0.0.1.tar.gz.

File metadata

  • Download URL: sisana-0.0.1.tar.gz
  • Upload date:
  • Size: 11.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.19

File hashes

Hashes for sisana-0.0.1.tar.gz
Algorithm Hash digest
SHA256 2610bfd084790b675d5ed1b34d4b47c8519b2207cc83879ed4a74c38e911b0e8
MD5 993ecf222852bcdf1932ffcaf0ae76ab
BLAKE2b-256 151276cf4c88f4277f3f96e4f89f51d1efe71bc31cb201976c7f207e4a2e52b3

See more details on using hashes here.

File details

Details for the file sisana-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: sisana-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 11.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.19

File hashes

Hashes for sisana-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 43fff27fb4de8e60d3cd6ef07be9dec3154821e8b8bddd6702b73e1302e85fc8
MD5 22787c0af85888935b0836f779688a55
BLAKE2b-256 8e506fa95c8d1a383c98a5bd66e843889fe7cda3623c7e611718821c363fc003

See more details on using hashes here.

Supported by

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