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 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.2.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.2-py3-none-any.whl (11.0 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: sisana-0.0.2.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.2.tar.gz
Algorithm Hash digest
SHA256 7c4a0fc861c8dd138f6664eb08bfb235596685c56f36709335b10ef0c2c89a5e
MD5 5ff3b1abb27200e75d5e44686b548a96
BLAKE2b-256 2310295049d534717abbbd9981222a7d9025ec6cc40c49cc4f85c18030258939

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sisana-0.0.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 65f18f1f86e75c7f641f6db7bca4baac2e7a0696d628c09c1f83a7c4c946dba3
MD5 feb425a23c937a4007d01f92d5e24245
BLAKE2b-256 1a61f653f5706a7131655be9c1585b356e2f8379f74f31d94cc9bf46853379ce

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