Installation Guide

This guide covers the installation of SUBMARIT for different use cases and platforms.

Requirements

  • Python 3.8 or higher

  • NumPy >= 1.20.0

  • SciPy >= 1.7.0

  • pandas >= 1.3.0

  • scikit-learn >= 0.24.0

  • matplotlib >= 3.3.0

  • seaborn >= 0.11.0

Quick Install

The simplest way to install SUBMARIT is using pip:

pip install submarit

For the latest development version:

pip install git+https://github.com/m-marinucci/SUBMARIT.git

Installation from Source

Clone the repository and install in development mode:

git clone https://github.com/m-marinucci/SUBMARIT.git
cd SUBMARIT
pip install -e .[dev]

This installs the package in editable mode along with development dependencies.

Platform-Specific Instructions

Windows

On Windows, you may need to install Visual C++ Build Tools for some dependencies:

  1. Download and install Microsoft C++ Build Tools

  2. Install SUBMARIT using pip

macOS

On macOS, ensure you have Xcode Command Line Tools installed:

xcode-select --install
pip install submarit

Linux

Most Linux distributions come with the necessary build tools. If not:

# Ubuntu/Debian
sudo apt-get install python3-dev build-essential

# Fedora/RedHat
sudo dnf install python3-devel gcc

Conda Environment

For scientific computing, we recommend using conda:

conda create -n submarit python=3.9
conda activate submarit
conda install numpy scipy pandas scikit-learn matplotlib seaborn
pip install submarit

Optional Dependencies

For enhanced functionality:

# For Jupyter notebook support
pip install jupyterlab ipywidgets

# For parallel processing
pip install joblib dask

# For advanced visualization
pip install plotly bokeh

# For MATLAB compatibility
pip install matlab.engine  # Requires MATLAB installation

Verification

Verify your installation:

import submarit
print(submarit.__version__)

# Run a simple test
from submarit.core import create_substitution_matrix
import numpy as np

# Create sample data
X = np.random.rand(100, 10)
S = create_substitution_matrix(X)
print(f"Substitution matrix shape: {S.shape}")

Troubleshooting

Common Issues

  1. ImportError: No module named ‘submarit’

    Ensure the package is installed in the correct environment:

    pip list | grep submarit
    
  2. NumPy/SciPy build errors

    Install pre-built wheels:

    pip install --only-binary :all: numpy scipy
    
  3. Memory errors with large datasets

    Consider installing with memory-efficient options:

    pip install submarit[sparse]
    
  4. MATLAB compatibility issues

    Ensure MATLAB Engine API for Python is properly installed:

    cd "matlabroot/extern/engines/python"
    python setup.py install
    

Getting Help

If you encounter issues:

  1. Check the FAQ

  2. Search GitHub Issues

  3. Ask on Stack Overflow with tag ‘submarit’

  4. Contact the maintainers