Package: miaaim-python
MIAAIM: multi-omics image alignment and analysis by information manifoldsMIAAIM is a software to align multiple-omics tissue imaging data. The worflow includes high-dimensional image compression, registration, and transforming images to align in the same spatial domain. MIAAIM was developed at theVaccine and Immunotherapy Center at MGHin the labs ofDr. Patrick ReevesandDr. Ruxandra Sîrbulescu.For further documentation on the MIAAIM Python impementation, please visitjoshuahess12.github.io/miaaim-python.InstallationYou can install MIAAIM in Python using either the MIAAIM-Python Docker container, which would allow for complete workflow
reproducibility, or you can install the package into your environment with pip.DependenciesMIAAIM utilizes theElastixlibrary for image registration computations, which is written in the C++ language. For this reason, we recommend running your workflows with the MIAAIM Python package inside of a Docker container, which we have created to automatically include Elastix. You can still run MIAAIM, however, if you would rather stick with installing packages via pip, you will just need to install Elastix separately. These two options for installing MIAAIM are outlined below:Cloning the repository:To clone the repository directly, use the following command to ensure that all submodules are included:gitclonehttps://github.com/JoshuaHess12/miaaim-python.git--recurse-submodulesUsage without Docker / Install with Pip:If you are unable to use Docker on your machine, then you can still use MIAAIM:downloadthe latest version of Elastix.Make Elastix accessible to your$PATHenvironment (Ex. on a Mac, access your.bash_profileand addexport PATH=~/elastix-latest/bin:$PATHandexport DYLD_LIBRARY_PATH=~/elastix-latest/lib:$DYLD_LIBRARY_PATH)Run the following command to install MIAAIM on your machine:pipinstallmiaaim-python# install miaaimReproducibility with PipIf you are using pip to install MIAAIM, you can reconstruct your working environment easily with the commands:
1.pipfreeze>requirements.txt# create documentation of installed packagesThis will create a text file that indicates the specific packages that you are using. You can then
install the specific packages that were exported into another environment with :
2.pipinstall-rrequirements.txtWe have included arequirements.txtfile in this repository to use for our convenience.DockerMIAAIM's Python implementation is containerized using Docker to enable a reproducible environment. Inside of this container,
the Python distribution of MIAAIM is already installed. It is therefore set up so that users can copy scripts and data into it in order to run analyses that they need.To get started with MIAAIM using Docker:Install Docker.Ensure that Docker is available to your system using the commanddocker imagesPull the miaaim-python docker containerdocker pull joshuahess/miaaim-python:latestwherelatestis the version number.Using MIAAIM inside of DockerIf you are using MIAAIM with Docker, we recommend having a concrete file structure for data and code with relative paths so that your script doesn't rely on absolute file paths outside of the Docker container.You can mount your custom scripts and data into the virtual environment as follows:
4. Mount your data and scripts into Docker from your local path (src-path)dockerrun-it-v/path/to/data:/datajoshuahess/miaaim-python:latestbash# mount data in the "dest-path" folderHere, we assumed that the folderdatacontains your new script and your input data that goes with it.
5. Run your script (named herescript.py) from the data folder:python./data/scipt.pyNote here that any additional packages that you use to process your data that are not included in the docker image will not be found!