Skip to main content

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

Reason this release was yanked:

Example file URLs were not updated, so example files did not work

Project description

SiSaNA - Single Sample Network Analysis

SiSaNA is a command line tool that utiliizes the PANDA and LIONESS algorithms from the netZooPy module to generate single sample regulatory networks. Using SiSaNA, users can easily calculate in- and out-degree for each of the reconstructed networks. Additionally, SiSaNA can compare the expression/degree between groups of interest, including performing statistical tests, visualizing the results (volcano plots, boxplots, violin plots, and heatmaps), and compare the survival between groups. All this is accomplished via the command line, with little to no prior programming experience required.

Note: The steps below are for the basic use of SiSaNA. Additional functionalities are still under development.

Table of contents

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

  1. Create a conda virtual environment with python version 3.9.19. Note: You need to substitute the path you want on your own system for the --prefix argument
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

Before you begin

Pipeline overview

Example input files

Example input files can be obtained using the command

sisana -e

These files will be downloaded from Zenodo (https://zenodo.org/records/15744634) and stored in a directory called "example_inputs". One of these example files is the params.yml file, which can be used as a template and edited for your own data (see next section). Each user-defined parameter in the params.yml file is documented with a comment to explain the function of the parameter. The comments do not need to be removed prior to running SiSaNA. The files in this example_inputs directory can be used in the commands listed down below.

SiSaNA help documentation

To view help documentation on which subcommands are available, the following can be used:

sisana -h

For further information on these subcommands, simply put the name of the subcommand before the -h

sisana <subcommand> -h

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.

In the below example, the user is running the "preprocess" step of SiSaNA. They have specified the paths to the input files as well as the value for the number of samples a gene must be expressed in (in their case, 5), along with the path to the output directory in which to store their results. Pipeline overview

Running SiSaNA

Step 1: 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.

Step 2: Reconstruction and analysis of networks

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.


Step 3: Comparing two experimental groups

The next stage in SiSaNA, "compare", is used to find out how the in-degree and out-degree differ between each group. SiSaNA offers multiple ways to do this comparison, including t-tests (and Mann-Whitney tests) and paired t-tests (and Wilcoxon paired t-tests).

Example commands

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

sisana compare ./example_inputs/params.yml


Step 4: Survival analysis

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

sisana survival ./example_inputs/params.yml



Step 5: Performing gene set enrichment analysis

"sisana gsea" is used to perform gene set enrichment analysis (GSEA) to identify pathways that are differentially regulated based on the gene targeting scores. It uses the ranks of genes found in the previous step (sisana compare) as input.

Example commands

sisana gsea ./example_inputs/params.yml



Step 6: Visualization of results

The "visualize" command 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



Step 7: Summarize your results

The final stage of SiSaNA, "summarize", takes all the created images and outputs them in a single html file for convenience. This can then be opened in a web browser. Please note that you must be in the directory containing the log_files subdirectory for this command to work.

sisana summarize

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-1.5.2.tar.gz (14.4 MB view details)

Uploaded Source

Built Distribution

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

sisana-1.5.2-py3-none-any.whl (14.4 MB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for sisana-1.5.2.tar.gz
Algorithm Hash digest
SHA256 7ec04d73757282519f654e6b3f829f4d81fcf109390c3a570acf9bf037ce74e9
MD5 548280afb38844d7186ced734ac9a876
BLAKE2b-256 1b93bd1c76b9aba8af7bd02970a159882bc26e3fba9fcaa94254169b7d3b17dc

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for sisana-1.5.2-py3-none-any.whl
Algorithm Hash digest
SHA256 3b85c0ddce0fdb6f420426e6e99201bbf2249b3b2c7403c186aff0d79b6b3bee
MD5 de5ced7626f849d3000662056190eeb1
BLAKE2b-256 5e4adfc9b1b69ba4cfb6ece50b386a8fb7f1db3ec4fb15ea1e5f55bcf5feb282

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