ISV package
Python package for easy prediction of pathogenicity Copy Number Variants (CNVs)
If you mention or use the ISV tool, please cite our article
https://www.nature.com/articles/s41598-021-04505-z
Install
Install with pip install isv
This will also automatically install all required additional packages. Thus it is recommended to install the package in a separate environment (e.g. uv, virtualenv, conda, ...)
Package url: https://pypi.org/project/isv/
Module reference available at https://tsladecek.github.io/isv_package/
Modules
The package contains a wrapper function:
isv.isv(cnvs, proba, shap)
which automatically annotates and predicts cnvs provided in a list, np.array or pandas DataFrame format represented in 4 columns: chromosome, start (grch38), end (grch38) and cnv_type
- The
probaparameter controls whether probabilities should be calculated - The
shapparameter controls whether shap values should be calculated
and a Wrapper class (which is recommended):
isv.ISV(cnvs)
with methods:
- ISV.predict(proba)
- ISV.shap(data=None)
- where the
dataargument is optional
- where the
- ISV.waterfall(cnv_index)
- for creating an interactive waterfall plot for a CNV at index
cnv_index
- for creating an interactive waterfall plot for a CNV at index
The main subfunctions of the package are:
1. isv.annotate(cnvs)
- annotates cnvs provided in a list, np.array or pandas DataFrame format represented in 4 columns:
chromosome,start (grch38),end (grch38)andcnv_type - Returns an annotated dataframe which can be used as an input to following two functions
2. isv.predict(annotated_cnvs, proba)
- returns an array of isv predictions.
annotated_cnvsrepresents annotated cnvs returned by the annotate function
3. isv.shap_values(annotated_cnvs)
- calculates shap values for given CNVs.
annotated_cnvsrepresents annotated cnvs returned by the annotate function
For example
- using the simple wrapper
from isv import isv
cnvs = [
["chr8", 100000, 500000, "DEL"],
["chrX", 52000000, 55000000, "DUP"]
]
results = isv(cnvs, proba=True, shap=True)
- using the ISV class
from isv import ISV
cnvs = [
["chr8", 100000, 500000, "DEL"],
["chrX", 52000000, 55000000, "DUP"]
]
cnv_isv = ISV(cnvs)
predictions = cnv_isv.predict(proba=True)
shap_vals = cnv_isv.shap()
cnv_isv.waterfall(cnv_index=1)
Can be also used as a command line tool
isv -i <input_cnvs>.bed -o <outputpath> [-p] [-sv]
where the input should be a list of CNVs in a bed format, with columns: chromosome, start (grch38), end (grch38) and cnv_type
[!NOTE] The first row must contain column names
Results will be saved in a tab separated file at path specified by user
Optionally, use following flags:
- -p: whether probabilities should be returned
- -sv: whether shap values should be calculated
For example
isv -i examples/loss_gain_cnvs.bed -o examples/loss_gain_cnvs_out.bed -p -sv
Metadata
Release files for isv 0.3.17
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| isv-0.3.17.tar.gz | 6.0 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| isv-0.3.17-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 11.9 MB
Release files / isv-0.3.17.tar.gz
| Download URL | isv-0.3.17.tar.gz |
|---|---|
| Size | 6.0 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b422f9e46df434c9b9af7656e9238068f7cbc9b5a4734806659fc9fa3555ccca
|
|
BLAKE2b-256 checksum How to use checksums |
8c32e7ab8c0775f32862ec1b1422bd0b3097850e0cc865f6f6cb87cf963169d4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.5 {"installer":{"name":"uv","version":"0.11.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / isv-0.3.17-py3-none-any.whl
| Download URL | isv-0.3.17-py3-none-any.whl |
|---|---|
| Size | 6.0 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e1a72d59b29db5b52863d770be0c52c7bbbf90c226f4e2581019772c13b8ab59
|
|
BLAKE2b-256 checksum How to use checksums |
68deefd657d61cfde98e283742ac3077384c696668480204f9aa35bd77676189
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.5 {"installer":{"name":"uv","version":"0.11.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|