Skip to main content

The GSNetAct Python Package.

Project description

GSNetAct

Please cite this repository if you use this code in your work.

Prerequisites

  • Tested only on python 3.12, should work python 3.7+
  • Numpy
  • Scanpy
  • Dataclasses
  • Json
  • Scikit-learn (Should come with scanpy but still)
  • Requests

Installing

Directly install latest version with pip

pip install gsnetact

Or clone the repository from this source.

git clone https://github.com/BMGLab/GSNetAct
  • Then inside the project directory, do
pip install .

The package should be installed. You can use the -e flag for automatic updates.

Usage

You can use every part of this package to develop a further approach to this algorithm. But for simple analysis, a basic use case below would be :

#!/usr/bin/env python

from gsnetact import runGSNA

import scanpy as sc
import pandas as pd

adata_ = sc.read_h5ad("./test_data/pbmc3k.h5ad")
# Read the anndata object.

jsonFile = pjson("./test_data/deneme.json")
# Parse the json file into a pjson() object.

gsnaObject = runGSNA(adata_, jsonFile, normalized=True)
# Call the createObject function from the package.

df = pd.DataFrame(gsnaObject.X)
# Create a pandas dataframe from the AnnData object's X layer.

df.columns = gsnaObject.var
# Set the column names to the geneset names that are located in the var layer.

df.to_csv("output.csv", sep="\t")
# Create an output file, named  as output.csv.

This code firstly imports the runGSNA from the package, which is used for creating an AnnData object using the analysis results. Then, we specify our file paths. The pathwayScoring package needs two file inputs, one gene expression data file, and one JSON file that contains genesets and their relations. We then call the createObject function to get our files, analyzes them using the pathwayScoring's respected algorihm and creates an AnnData object using scanpy. We can use this object any way we want, for here it is used for creating a csv file that contains the scorings.

For further explanation, check the test files in test/ folder.

File Format for Genesets

The file that contains genesets and their relations has to be like this :

{
	"GeneSet1": {
		"Gene1": {
			"Gene2": 0.35,
			"Gene3": 0.77,
			"Gene4": 0.16
		},
		"Gene2": {
			"Gene1": 0.35,
			"Gene3": 0.51
		},
		"Gene3": {
			"Gene1": 0.77,
			"Gene2": 0.51,
			"Gene4": 0.40
		},
		"Gene4": {
			"Gene1": 0.16,
			"Gene3": 0.40
		}
	},
	"GeneSet2": {
		"Gene1": {
			"Gene2": 0.99
		},
		"Gene2": {
			"Gene1": 0.99
		}
	}
}

You can create this format easily though, check below.

JSON Creator Tool

You can create the needed JSON file containing genesets with the data from msigdb databases. All you need to do is :

#!/usr/bin/env python

from gsnetact import makeJson

makeJson("Path to your msigdb JSON file.","Name of the JSON file containing genesets, name them whatever you want.")

The makeJson function takes your geneset names from msigdb data and finds the relations between individual genes using the STRING database.

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

gsnetact-0.0.4.tar.gz (8.7 kB view details)

Uploaded Source

Built Distribution

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

gsnetact-0.0.4-py3-none-any.whl (9.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: gsnetact-0.0.4.tar.gz
  • Upload date:
  • Size: 8.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.2

File hashes

Hashes for gsnetact-0.0.4.tar.gz
Algorithm Hash digest
SHA256 f913b0b0b46b52d2a92c8802fb8e54ece16294af3078102d0ab2ad2325b9221b
MD5 3fab16a90654aeea99cc4784f748c2a9
BLAKE2b-256 14dddfcc511bd0b0735987badfa25dafe039f20afdee7c7ebff7684e14bc0622

See more details on using hashes here.

File details

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

File metadata

  • Download URL: gsnetact-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 9.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.2

File hashes

Hashes for gsnetact-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 392c4e70b531e4bf94a5d83425d24f54787f9a91ee336da116e71043fbc38462
MD5 ac728143307f688d5ade5ce7aef14981
BLAKE2b-256 0c5d8a319d55fcc28073a5677f1d28090df9e37a1b31a09d06eb20b43acab0d3

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