morphOMICs is a Python package containing tools for analyzing microglia morphology using a topological data analysis approach. Note that this algorithm is designed not only for microglia applications but also for any dynamic branching structures across natural sciences.
morphOMICs is a topological data analysis approach which combines the Topological Morphology Descriptor (TMD) with bootstrapping approach, dimensionality reduction strategies to visualize microglial morphological signatures and their relationships across different biological conditions.
This project relies on a range of scientific computing and machine learning libraries to facilitate data analysis, visualization, and modeling. Key dependencies include NumPy, Pandas, and SciPy for numerical computations, scikit-learn for machine learning, and torch alongside torch-geometric for deep learning applications. Additionally, Matplotlib and UMAP-learn support data visualization and dimensionality reduction, while NetworkX aids in graph-based analyses. The project also integrates H5Py for handling HDF5 files and WandB for experiment tracking. Ensure all dependencies are installed to guarantee full functionality.
git clone [email protected]:siegert-lab/morphOMICs.git
cd morphOMICs
You need Python 3.9 to run this package. You can install morphOMICs using either Conda or pip. Follow the steps below based on your preferred package manager.
-
Create and Activate the Conda Environment:
conda env create -f environment.yml
conda activate morphomics_env -
Install the Package:
pip install -e .
-
Create and Activate the Virtual Environment:
python -m venv morphomics_env
On macOS/Linux:
source morphomics_env/bin/activate
On Windows:
morphomics_env\Scripts\activate -
Install the Required Packages:
pip install -r requirements.txt
pip install -e .
To run a typical morphOMICs pipeline, create a .toml parameter file (see examples).
The parameter file is build such that it modularizes the steps required to generate the phenotypic spectrum.
Once you have completed filling up the necessary information in the parameter file, you can use the examples\run.ipynb file to have an idea on how to run this program.