diff --git a/docs/install.md b/docs/install.md index c7131124e..1bd84dc8f 100644 --- a/docs/install.md +++ b/docs/install.md @@ -69,11 +69,16 @@ pip install . Optional dependencies --------------------- -Here is a list of optional dependencies used by SnapATAC2: +`pip install snapatac2` installs the essential dependencies needed for SnapATAC2. +For certain features, however, additional optional dependencies are necessary: -- `macs2`: Peak calling. -- `harmonypy`: Batch correction using the Harmony. -- `xgboost`: Regulatory network analysis. +- harmonypy: For the `snapatac2.pp.harmony` function. +- scanorama: For the `snapatac2.pp.scanorama_integrate` function. +- xgboot: For network structure inference. -Optional dependencies are not installed by SnapATAC2. Please install them -manually if necessary. +To install these optional dependencies, use `pip install snapatac2[extra]`. + +For downstream analysis, some helpful but not mandatory packages, such as scanpy and scvi-tools, are available. +They can be installed with `pip install snapatac2[recommend]`. + +To obtain all optional dependencies at once, use `pip install snapatac2[all]`. \ No newline at end of file diff --git a/snapatac2-python/setup.py b/snapatac2-python/setup.py index 46f264a97..e858f460f 100644 --- a/snapatac2-python/setup.py +++ b/snapatac2-python/setup.py @@ -36,6 +36,7 @@ "anndata>=0.8.0", "kaleido", "multiprocess", + "MACS2>=2.2.7", "natsort", "numpy>=1.16.0", "pandas", @@ -53,4 +54,9 @@ "typing_extensions", "umap-learn>=0.5.0", ], + extras_require={ + 'extra': ['scanorama>=1.7.3', 'harmonypy>=0.0.9', 'xgboost>=1.4'], + 'recommend': ['scanpy>=1.9', 'scvi-tools>=1.0'], + 'all': ['snapatac2[extra]', 'snapatac2[recommend]'] + } )