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. Additional functionalities are still under development.

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. Create a directory for the analysis and move into the analysis directory
mkdir sisana
cd sisana

Pipeline overview

Pipeline overview

Example input files

Example input files can be obtained using the command

sisana -e

These files will be copied to a new directory in the current working directory, called "example_inputs". The files can be used in the commands listed down below.

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.

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 ./example_inputs/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 ./example_inputs/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 another file with the 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, one can use either a Student's t-test (parametric) or a Mann-Whitney (non-parametric) test. Or for paired samples, one can use either a paired t-test or Wilcoxon signed-rank test, respectively.

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 ./example_inputs/params.yml

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

sisana compare survival ./example_inputs/params.yml

...and for gene set enrichment:

sisana compare gsea ./example_inputs/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 ./example_inputs/params.yml

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

sisana visualize quantity ./example_inputs/params.yml

...and creating heatmaps

sisana visualize heatmap ./example_inputs/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.4.tar.gz (11.2 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.4-py3-none-any.whl (11.2 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: sisana-0.0.4.tar.gz
  • Upload date:
  • Size: 11.2 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.4.tar.gz
Algorithm Hash digest
SHA256 f3c431ebf3f7fb9f4535d624ac504eb67e28059865af180f62e8ab1919a7bf3a
MD5 7b8c91a9cd2e32f46846809f186e8407
BLAKE2b-256 68c1b9092ed5c75c9028f8912b7cd599b91ceb4415505b7c10eb156e1637f4f0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sisana-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 11.2 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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 ac2ddd08f41f3b8723e757b79b8824b1c91e5fe0759886ecda412f5a62399f2e
MD5 968474b99858d7b816860a8ae0037257
BLAKE2b-256 9a0efe5ba4e692c2f9328cc1d2fd83493c5d5a99a97caf263d4fb6b8c6fc6126

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