Please read this README.
The MotifCompendium package provides a framework for clustering, annotating, and analyzing motifs efficiently at large scales.
(1/21/2026) The main branch of MotifCompendium has been updated! It is highly recommended to upgrade to the current version of the package. Please only work off of the main branch, which will contain the most stable build of MotifCompendium.
README sections:
- Installation
- Getting started
- Documentation/Usage
- Loading old versions of MotifCompendium
- Problems with MotifCompendium
- Developers
These are instructions for creating a conda environment within which you can run MotifCompendium code. The following instructions assume you have conda installed in a Linux environment.
If you are creating an environment for the first time, follow:
- Clone this GitHub repository:
git clone https://github.com/kundajelab/MotifCompendium.git. - Move into the MotifCompendium directory:
cd MotifCompendium. - Create a conda environment:
- If you have GPU access and want to run MotifCompendium with a GPU, run
conda env create -f environment_gpu.yml. - If you do not have GPU access or you want to run MotifCompendium only with a CPU, run
conda env create -f environment.yml.
- If you have GPU access and want to run MotifCompendium with a GPU, run
- Activate the environment with
conda activate motifcompendium-gpuorconda activate motifcompendiumdepending on which environment you built. - In the MotifCompendium directory run
pip install -e ..
If you would like to update an existing conda environment, follow:
- Run
conda env update -f environment_gpu.yml --pruneorconda env update -f environment.yml --prunedepending on which environment you want to update.
Please go through the tutorials to learn how to get started. Tutorial 1 can provide you with starter code but it is highly recommended to at least go through tutorials 2-5, as well.
(7/25/2025) Old MotifCompendium objects may not be compatible with the current version of the package! If possible, rerun your MotifCompendium code with the current version of the package. If that is not possible, you may need to upgrade your MotifCompendium object in order for it to be compatible with the newest version of the package. To check if your MotifCompendium object needs upgrading, try loading the object. If the load fails, try loading with safe=False and saving the object; the saved version will be compatible with the package. If that also fails, try loading your object with the load_old_compendium() function. And if all of that still fails, please reach out on Slack for assistance.
A Read The Docs will be released when the package is publically released. Until then, please use the tutorials as documentation. Or, please feel free to look through the source code directly.
If you run into an issue with MotifCompendium, please file a GitHub issue. And concurrently, please post a message to the #motif-compendium channel on Slack.
Developed by Salil Deshpande and Chang Yun.