superexacttestpy

Tests Documentation

Python implementation of the SuperExactTest algorithm

Getting started

Please refer to the documentation. In particular, the

What is superexacttestpy ?

Superextractestpy is a python reimplementation of the R package SuperExactTest allowing to perform tests on the statistical distribution as well as to visualize multiset intersection.

This algorithm calculates the intersection probability of a large number of genes in a genetic set with linear complexity.

How to use it?

Import the package

import superexacttestpy as stest

For example, we want to make the test on this fictive set:

Set1 = [
    "A",
    "B",
    "C",
    "D",
    "E",
    "F",
    "G",
    "H",
    "I",
    "J",
    "K",
    "L",
    "M",
    "N",
    "O",
    "P",
    "Q",
]
Set2 = ["L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"]
Set3 = ["H", "I", "J", "K", "L", "M", "N", "O", "P", "Q"]

data = [Set1, Set2, Set3]
names = ["Set1", "Set2", "Set3"]

background_size = 1000

If you just want the df with the results, you can use the function stest.tl.supertest()

stest.tl.supertest(data=data, n=background_size, names=names).head()
_images/df.jpg

The function supertest has some optional arguments:

  • degree: the degree of the intersection you want to compute.

  • lower_tail: Let m be the number of elements shared in the sets : if True, p = P[overlap < m] and if False, p = P[overlap >= m].

If you want to get the df and plot the results, you can use the function stest.pl.plot()

stest.pl.plot(data=data, n=background_size, names=names)

The function plot has some optional arguments:

  • degree: the degree of the intersection you want to compute.

  • sort_by: on what you want to sort the bars “degree” or “p_val”

  • show_count: if True, the number of genes in the intersection is shown.

  • size: tuple of the figsize

  • background_color: the color of the background of the plot.

_images/supertest.png

Plotting function output

Side function

Some additional functions are available and will be described in the readthedocs

Installation

You need to have Python 3.8 or newer installed on your system. If you don’t have Python installed, we recommend installing Miniconda <https://docs.conda.io/en/latest/miniconda.html>_.

There are several alternative options to install superexacttestpy:

  1. Install the latest development version:

pip install git+https://github.com/theislab/superexacttestpy.git@main

Release notes

See the changelog.

Contact

For questions and help requests, you can reach out in the scverse discourse. If you found a bug, please use the issue tracker.

Citation

for cite superexactestpy, please use the following:

@software{superexacttest,
  author = {Ibarra, Mauger-Birocheau}},
  doi = {},
  month = {},
  title = {{superexacttest}},
  url = {https://github.com/theislab/superexacttestpy},
  year = {2022}
}