Installation
============
**CpGtools** supports Python 3.9 or later and can be installed with ``pip``. Most Python
dependencies are installed automatically.
Some commands require additional software, such as R or TensorFlow.
Install in a Virtual Environment
--------------------------------
Using a virtual environment is recommended because it keeps CpGtools and its
Python dependencies isolated from the system Python installation and from
other projects.
Create a virtual environment
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
First, create a new environment using Python's built-in ``venv`` module:
.. code-block:: bash
python3 -m venv cpgtools-env
Activate the environment:
On Linux or macOS:
.. code-block:: bash
source cpgtools-env/bin/activate
On Windows Command Prompt:
.. code-block:: bat
cpgtools-env\Scripts\activate.bat
On Windows PowerShell:
.. code-block:: powershell
cpgtools-env\Scripts\Activate.ps1
After activation, the environment name usually appears at the beginning of
the command prompt, for example::
(cpgtools-env) $
Install CpGtools
~~~~~~~~~~~~~~~~
Upgrade ``pip`` and install CpGtools from PyPI:
.. code-block:: bash
python -m pip install --upgrade pip
python -m pip install cpgtools
Verify the installation:
.. code-block:: bash
epical --version
beta_impute --version
When finished, leave the virtual environment with:
.. code-block:: bash
deactivate
To use CpGtools again later, reactivate the same environment rather than
reinstalling the package.
Install from PyPI
-----------------
The recommended installation method is:
.. code-block:: bash
python -m pip install cpgtools
To upgrade an existing installation:
.. code-block:: bash
python -m pip install --upgrade cpgtools
Install from GitHub
-------------------
To install the latest development version directly from GitHub:
.. code-block:: bash
python -m pip install git+https://github.com/liguowang/cpgtools.git
Install from Source
-------------------
Clone the repository and install CpGtools locally:
.. code-block:: bash
git clone https://github.com/liguowang/cpgtools.git
cd cpgtools
python -m pip install .
For development, use an editable installation:
.. code-block:: bash
python -m pip install -e .
Python Dependencies
-------------------
The following packages are installed automatically with CpGtools:
* ``numpy``
* ``scipy``
* ``pandas``
* ``scikit-learn``
* ``matplotlib``
* ``umap-learn``
* ``bx-python``
* ``weblogo``
* ``pycombat``
Additional dependencies required by these packages are resolved automatically
by ``pip``.
Optional Dependencies
---------------------
TensorFlow
~~~~~~~~~~
TensorFlow is required only when using the MOREL imputation method with the
dense neural-network model:
.. code-block:: bash
beta_impute morel --model DNN ...
The default Random Forest model (``--model RF``) does not require TensorFlow.
Install TensorFlow separately if needed:
.. code-block:: bash
python -m pip install tensorflow
R and R Packages
~~~~~~~~~~~~~~~~
Some CpGtools commands call R and therefore require an R installation.
`R `_
Required by commands that execute generated R scripts.
`aod `_
Required by ``dmc_bb``.
`beanplot `_
Required by ``beta_jitter_plot``.
These R dependencies are not installed automatically by ``pip``.
Verify the Installation
-----------------------
After installation, verify several command-line programs:
.. code-block:: bash
epical --version
beta_impute --version
epical -h
beta_impute -h
beta_deconvolution -h
You can also verify that the Python package is importable:
.. code-block:: bash
python -c "import cpgmodule; print(cpgmodule.__file__)"
Troubleshooting
---------------
If a command is not found after installation, confirm that CpGtools is
installed in the active Python environment:
.. code-block:: bash
python -m pip show cpgtools
When using a virtual or Conda environment, make sure that environment is
activated before installing or running CpGtools.