Hypercluster
A package for clustering optimization with sklearn.
Requirements:
pandas
numpy
scipy
matplotlib
seaborn
scikit-learn
hdbscan
Optional: snakemake
Install
With pip:
pip install hypercluster
or with conda:
conda install hypercluster
# or
conda install -c conda-forge -c bioconda hypercluster
If you are having problems installing with conda, try changing your channel priority. Priority of conda-forge > bioconda > defaults is recommended.
To check channel priority: conda config --get channels
It should look like:
--add channels 'defaults' # lowest priority
--add channels 'bioconda'
--add channels 'conda-forge' # highest priority
If it doesn't look like that, try:
conda config --add channels bioconda
conda config --add channels conda-forge
Docs
https://hypercluster.readthedocs.io/en/latest/index.html
It will also be useful to check out sklearn's page on clustering and evaluation metrics
Examples
https://github.com/liliblu/hypercluster/tree/dev/examples
Quickstart with SnakeMake
Default config.yml and hypercluster.smk are in the snakemake repo above.
Edit the config.yml file or arguments.
snakemake -s hypercluster.smk --configfile config.yml --config input_data_files=test_data input_data_folder=.
Example editing with python:
import yaml
with open('config.yml', 'r') as fh:
config = yaml.load(fh)
input_data_prefix = 'test_data'
config['input_data_folder'] = os.path.abspath('.')
config['input_data_files'] = [input_data_prefix]
config['read_csv_kwargs'] = {input_data_prefix:{'index_col': [0]}}
with open('config.yml', 'w') as fh:
yaml.dump(config, stream=fh)
Then call snakemake.
snakemake -s hypercluster.smk
Or submit the snakemake scheduler as an sbatch job e.g. with BigPurple Slurm:
module add slurm
sbatch snakemake_submit.sh
Examples for snakemake_submit.sh and cluster.json is in the scRNA-seq example.
Quickstart with python
import pandas as pd
from sklearn.datasets import make_blobs
import hypercluster
data, labels = make_blobs()
data = pd.DataFrame(data)
labels = pd.Series(labels, index=data.index, name='labels')
# With a single clustering algorithm
clusterer = hypercluster.AutoClusterer()
clusterer.fit(data).evaluate(
methods = hypercluster.constants.need_ground_truth+hypercluster.constants.inherent_metrics,
gold_standard = labels
)
clusterer.visualize_evaluations()
# With a range of algorithms
clusterer = hypercluster.MultiAutoClusterer()
clusterer.fit(data).evaluate(
methods = hypercluster.constants.need_ground_truth+hypercluster.constants.inherent_metrics,
gold_standard = labels
)
clusterer.visualize_evaluations()
Metadata
Release files for hypercluster 0.1.13
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| hypercluster-0.1.13.tar.gz | 18.0 kB | Without provenance | Details for hypercluster-0.1.13.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| hypercluster-0.1.13-py3-none-any.whl | Python 3 | none | any | Details for hypercluster-0.1.13-py3-none-any.whl |
Total release size: 46.6 kB
Release files / hypercluster-0.1.13.tar.gz
| Download URL | hypercluster-0.1.13.tar.gz |
|---|---|
| Size | 18.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f1428887c3b922932c51304687ac300b84c57a8474bf2b5cdbaa0729aec1e305
|
|
BLAKE2b-256 checksum How to use checksums |
34622baf4903ac02ed2053e362e559dcf2730852a6298fa7cf8869afca914425
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2.post20191201 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.0
|
Release files / hypercluster-0.1.13-py3-none-any.whl
| Download URL | hypercluster-0.1.13-py3-none-any.whl |
|---|---|
| Size | 28.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
740a4e7fb1faa4af1a45824953774929b31adb575ac3c9281d36d9fdabdfdf83
|
|
BLAKE2b-256 checksum How to use checksums |
3257c8c886d43ffed2e15ebf54d6a2ea64293c79117107d4a3ace43182eb5475
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2.post20191201 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.0
|
Security for hypercluster 0.1.13
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.