Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
This repository contains the code for the scib
package used in our benchmarking study for data integration tools.
In our study, we benchmark 16 methods (see Tools) with 4 combinations of
preprocessing steps leading to 68 methods combinations on 85 batches of gene expression and chromatin accessibility
data.
scib
package and
its documentation.Luecken, M.D., Büttner, M., Chaichoompu, K. et al. Benchmarking atlas-level data integration in single-cell genomics. Nat Methods 19, 41–50 (2022). https://doi.org/10.1038/s41592-021-01336-8
We created the python package called scib
that uses scanpy
to streamline the integration of single-cell datasets and
evaluate the results. The package contains several modules for preprocessing an anndata
object, running integration
methods and evaluating the resulting using a number of metrics. For preprocessing, scib.preprocessing
(or scib.pp
)
contains functions for normalising, scaling or batch-aware selection of highly variable genes. Functions for the
integration methods are in scib.integration
or for short scib.ig
and metrics are under
scib.metrics
(or scib.me
).
The scib
python package is available on PyPI and can be installed through
pip install scib
Import scib
in python:
import scib
The package contains optional dependencies that need to be installed manually if needed.
These include R dependencies (rpy2
, anndata2ri
) which require an installation of R integration method packages.
All optional dependencies are listed under setup.cfg
under [options.extras_require]
and can be installed through pip.
e.g. for installing rpy2
and bbknn
dependencies:
pip install 'scib[rpy2,bbknn]'
Optional dependencies outside of python need to be installed separately. For instance, in order to run kBET, install it via the following command in R:
install.packages('remotes')
remotes::install_github('theislab/kBET')
We implemented different metrics for evaluating batch correction and biological conservation in the scib.metrics
module.
Biological Conservation | Batch Correction |
---|---|
|
|
For a detailed description of the metrics implemented in this package, please see our publication and the package documentation.
Tools that are compared include:
For developing this package, please make sure to install additional dependencies so that you can use pytest
and
pre-commit
.
pip install -e '.[test,dev]'
Please refer to the setup.cfg
for more optional dependencies.
Install pre-commit
to the repository for running it automatically every time you commit in git.
pre-commit install
FAQs
Evaluating single-cell data integration methods
We found that scib demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.