Skip to main content

Model-Independent Motif Similarity Assessment tool

Project description

MIMOSA

Model-Independent Motif Similarity Assessment (MIMOSA) is tool designed to support comparisons across different motif model types.

Introduction

Transcription factors (TFs) serve as fundamental regulators of gene expression levels. These proteins modulate the activity of the RNA polymerase complex by binding to specific DNA sequences located within regulatory regions, such as promoters and enhancers [1]. The specific DNA segment recognized by a TF is termed a transcription factor binding site (TFBS). TFBSs for a given TF are typically similar but not identical; therefore, they are described using motifs that capture the variability of the recognized sequences [2]. A variety of high-throughput experimental methods, including ChIP-seq, HT-SELEX, and DAP-seq, are currently used to identify TFBS motifs [3-5]. While motifs are most frequently represented as Position Weight Matrices (PWMs), a standard supported by widely used de novo motif discovery tools like MEME [6], STREME [7], and HOMER [8], the field has increasingly adopted alternative models to capture complex nucleotide dependencies. These include diverse variants of Markov Models (BaMMs, InMoDe, DIMONT etc.) [9-14], which account for higher-order dependencies that PWMs ignore, as well as models based on locally positioned dinucleotides (SiteGA) [15-16] and deep learning architectures (DeepBind, DeeperBind, DeepGRN and etc.) [17-21].

The identification of a motif is only the first step; establishing its biological context requires robust comparison methods. Comparing motifs is essential for determining whether a newly discovered pattern represents a novel specificity or a variation of a known factor, for clustering redundant motifs identified across different experiments, and for inferring functional relationships between TFs based on binding similarity. Several established tools address this need, including Tomtom [22], STAMP [23], MACRO-APE [24] and MoSBAT [25]. These tools utilize various metrics and algorithms to quantify similarity, ranging from column-wise matrix correlations to Jaccard index-based comparisons of recognized site sets. However, a significant limitation of the current software ecosystem is its heavy reliance on matrix-based representations (PFMs or PWMs). This constraint makes it challenging to directly compare alternative models, such as Markov models or dinucleotide models, without converting them into simpler matrix formats, a process that often results in information loss.

To address these limitations, we introduce MIMOSA, a comprehensive framework designed to facilitate the comparison of diverse motif models beyond standard frequency matrices. MIMOSA implements four distinct modes of comparison to accommodate various analytical needs. The first and most universal mode involves the direct comparison of TFBS recognition profiles generated by different motifs, conceptually similar to affinity-based approaches [25]. This allows for the assessment of similarity based on the functional output of the models—the scores assigned to sequences—rather than their internal parameters. The second mode leverages the same underlying approach but allows the user to explicitly define the model architecture; currently, MIMOSA supports three specific model types: PWM, BMM, and SiteGA, with an extensible architecture designed to accommodate future model types. The third mode incorporates MoTaLi (see details). Finally, the fourth mode provides a Tomtom-like functionality for scenarios where models can be represented as N-dimensional matrix. In this mode, if the models are compatible matrix formats, they are compared using standard metrics such as Pearson Correlation Coefficient (PCC), Euclidean Distance (ED), and Cosine similarity. Crucially, if the models are of heterogeneous types (e.g., comparing a BaMM to a PWM), MIMOSA employs a strategy of scanning sequences to generate recognition profiles, which are then used to reconstruct compatible Position Frequency Matrices for comparison, ensuring that even fundamentally different model types can be quantitatively evaluated within a single framework.

Methodology

Similarity Metrics

MIMOSA implements several metrics to quantify the resemblance between motif importance profiles or matrix columns.

Continuous Jaccard (CJ) The Continuous Jaccard index extends the classical Jaccard similarity to continuous-valued vectors $v_1, v_2$. It is defined as the ratio of the sum of element-wise intersections to the sum of element-wise unions: $$\text{CJ}(v_1, v_2) = \frac{\sum_i \min(v_1^i, v_2^i)}{\sum_i \max(v_1^i, v_2^i)}$$ This metric is equivalent to averaging the binary Jaccard index across all possible thresholds, providing a threshold-independent measure of profile similarity.

Continuous Overlap (CO) The Continuous Overlap coefficient (or Szymkiewicz-Simpson coefficient) measures the sub-set relationship between two profiles, normalizing the intersection by the smaller of the two total affinities: $$\text{CO}(v_1, v_2) = \frac{\sum_i \min(v_1^i, v_2^i)}{\min\left(\sum_i v_1^i, \sum_i v_2^i\right)}$$

Pearson Correlation Coefficient (PCC) For linear correlation between profiles or motif columns, the PCC is calculated as: $$\text{PCC}(v_1, v_2) = \frac{\sum_i (v_1^i - \bar{v}_1)(v_2^i - \bar{v}_2)}{\sqrt{\sum_i (v_1^i - \bar{v}_1)^2 \sum_i (v_2^i - \bar{v}_2)^2}}$$

Null Hypothesis and Surrogate Generation

To estimate the statistical significance (p-values) of observed similarity scores, MIMOSA employs a Surrogate Null Model. Unlike simple permutations that destroy local dependencies, our tool generates synthetic "surrogate" profiles that preserve the marginal properties and biological plausibility (smoothness) of the original data.

  1. Convolutional Distortion: For profile-based surrogates, a sophisticated distortion logic is applied:

    • Kernel Selection: A base kernel (smooth, edge, or double-peak) is selected to represent typical profile features.
    • Controlled Perturbation: Noise and gradient bias are added to introduce variation while maintaining structural integrity.
    • Smoothing: Convolution ensures the surrogate remains biologically realistic.
    • Convex Combination: The final surrogate is a blend of the identity kernel and the distorted kernel, controlled by a user-defined distortion parameter.
  2. Permutation: For matrix-based comparisons (tomtom-like), the tool performs random column-wise permutations.

This methodology ensures that the null distribution reflects realistic background similarity.

Installation

MIMOSA requires Python 3.10 or higher.

From PyPI (Recommended)

The easiest way to install MIMOSA is via pip or uv. This will automatically download and install all required dependencies.

# Using uv (Fastest)
uv pip install mimosa-tool

# Using pip
pip install mimosa-tool

From Source

If you want to contribute to development or build the latest version from the repository, you will need a C++ compiler with C++17 support (e.g., GCC, Clang, or MSVC).

# Clone the repository
git clone https://github.com/ubercomrade/mimosa.git
cd mimosa

# Install in editable mode
pip install -e .

Dependencies

When installing via pip, the following dependencies are resolved automatically:

  • numpy (>= 2.0, < 2.4)
  • numba (>= 0.62.0)
  • scipy (>= 1.14.1)
  • pandas (>= 2.2.3)
  • joblib (>= 1.5.3)

Build Requirements (Source only)

To build the C++ extension from source, the following tools are used:

  • scikit-build-core (>= 0.10)
  • nanobind (>= 2.0)

CLI Reference

The mimosa tool provides four main operation modes.

profile mode

Compare motifs based on pre-calculated score profiles.

Input: Text files with numerical scores (comma, tab, or space-separated). Example Data: examples/scores_1.fasta

# in the `examples` directory
mimosa profile scores_1.fasta scores_2.fasta \
  --metric cj \
  --permutations 1000 \
  --distortion 0.5 \
  --search-range 10

All parameters for profile mode:

Flag Value Comment
profile1 Path Path to the first profile file (FASTA-like format).
profile2 Path Path to the second profile file (FASTA-like format).
--metric cj, co, corr Similarity metric: Continuous Jaccard, Continuous Overlap, or Pearson Correlation (default: cj).
--permutations Integer Number of permutations for p-value calculation (default: 0).
--distortion Float Distortion level (0.0-1.0) for surrogate generation (default: 0.4).
--search-range Integer Maximum offset range to explore when aligning profiles (default: 10).
--min-kernel-size Integer Minimum kernel size for surrogate convolution (default: 3).
--max-kernel-size Integer Maximum kernel size for surrogate convolution (default: 11).
--seed Integer Global random seed for reproducibility.
--jobs Integer Number of parallel jobs (-1 uses all cores) (default: -1).
-v, --verbose Flag Enable verbose logging.

motif mode

Compare motifs by scanning sequences with models and comparing the resulting profiles.

Input: Motif model files (PWM: .meme, .pfm; BaMM: .ihbcp + .hbcp; SiteGA: .mat). Example Models: examples/foxa2.meme, examples/gata4.meme

# in the `examples` directory
mimosa foxa2.meme gata4.meme \
  --model1-type pwm \
  --model2-type pwm \
  --fasta examples/foreground.fa \
  --metric co \
  --permutations 1000 \
  --distortion 0.3

All parameters for motif mode:

Flag Value Comment
model1 Path Path to the first motif model file.
model2 Path Path to the second motif model file.
--model1-type pwm, bamm, sitega Format of the first model (Required).
--model2-type pwm, bamm, sitega Format of the second model (Required).
--fasta Path FASTA file with target sequences. If omitted, random sequences are generated.
--promoters Path FASTA file with promoter sequences for threshold calculation.
--num-sequences Integer Number of random sequences to generate (default: 1000).
--seq-length Integer Length of random sequences (default: 200).
--metric cj, co, corr Similarity metric (default: cj).
--permutations Integer Number of permutations (default: 0).
--distortion Float Distortion level (default: 0.4).
--search-range Integer Maximum alignment offset (default: 10).
--seed Integer Global random seed.
--jobs Integer Number of parallel jobs (default: -1).

motali mode

Compare motifs by calculating Precision-Recall Curve (PRC) AUC derived from scanning sequences.

Example Models: examples/sitega_gata2.mat, examples/gata2.meme

# in the `examples` directory
mimosa motali sitega_gata2.mat gata2.meme \
  --model1-type sitega \
  --model2-type pwm \
  --fasta foreground.fa \
  --promoters background.fa \
  --num-sequences 5000 \
  --seq-length 150

All parameters for motali mode:

Flag Value Comment
model1 Path Path to the first motif model file.
model2 Path Path to the second motif model file.
--model1-type pwm, sitega Format of the first model (Required).
--model2-type pwm, sitega Format of the second model (Required).
--fasta Path FASTA file with target sequences.
--promoters Path FASTA file with promoter sequences (Required for thresholds).
--num-sequences Integer Number of random sequences (default: 10000).
--seq-length Integer Length of random sequences (default: 200).
--tmp-dir Path Directory for temporary files (default: /tmp).

tomtom-like mode

Compare motifs by direct N-dimetional matrix comparison (column-wise).

Example Models: examples/pif4.pfm, examples/pif4.meme

# in the `examples` directory
mimosa tomtom-like pif4.pfm pif4.meme \
  --model1-type pwm \
  --model2-type pwm \
  --metric cosine \
  --permutations 1000 \
  --pfm-mode \
  --num-sequences 10000 \
  --seq-length 100

All parameters for tomtom-like mode:

Flag Value Comment
model1 Path Path to the first motif model file.
model2 Path Path to the second motif model file.
--model1-type pwm, bamm, sitega Format of the first model (Required).
--model2-type pwm, bamm, sitega Format of the second model (Required).
--metric pcc, ed, cosine Column-wise metric: Pearson Correlation, Euclidean Distance, or Cosine Similarity (default: pcc).
--permutations Integer Number of Monte Carlo permutations for p-value (default: 0).
--permute-rows Flag Shuffle values within columns during permutation.
--pfm-mode Flag Derive PFM by scanning sequences (useful for comparing different model types).
--num-sequences Integer Sequences for PFM mode (default: 20000).
--seq-length Integer Sequence length for PFM mode (default: 100).
--seed Integer Global random seed.
--jobs Integer Number of parallel jobs (default: -1).

Library Usage

MIMOSA is designed as an extensible framework. You can implement your own motif models by inheriting from the base abstractions provided in mimosa/.

Implementing a Custom Model

To create a new model, inherit from the MotifModel class and implement the required methods. Below is a simplified example of a dinucleotide-based motif model implemented in pure Python/NumPy.

import numpy as np
from mimosa.models import MotifModel, RaggedData
from mimosa.pipeline import Pipeline
from mimosa.ragged import ragged_from_list

class SimpleDinucleotideMotif(MotifModel):
    """Example of a custom motif model with dinucleotide dependencies."""
    
    def __init__(self, matrix, name, length):
        # matrix shape: (16, length - 1) representing 16 possible dinucleotides
        super().__init__(matrix=matrix, name=name, length=length)
        
    def scan(self, sequences: RaggedData, strand=None) -> RaggedData:
        """
        Scan sequences with the custom model.
        Returns RaggedData containing scores for each position.
        """
        all_scores = []
        for i in range(sequences.num_sequences):
            seq = sequences.get_slice(i)
            if len(seq) < self.length:
                all_scores.append(np.array([], dtype=np.float32))
                continue
            
            n_pos = len(seq) - self.length + 1
            scores = np.zeros(n_pos, dtype=np.float32)
            
            # Simple sliding window scoring logic
            for j in range(n_pos):
                subseq = seq[j : j + self.length]
                pos_score = 0.0
                for k in range(self.length - 1):
                    # Calculate dinucleotide index (0-15) for ACGT
                    # Assuming 0=A, 1=C, 2=G, 3=T
                    if subseq[k] < 4 and subseq[k+1] < 4:
                        dinucl_idx = int(subseq[k] * 4 + subseq[k+1])
                        pos_score += self.matrix[dinucl_idx, k]
                scores[j] = pos_score
            all_scores.append(scores)
            
        return ragged_from_list(all_scores, dtype=np.float32)

    @classmethod
    def from_file(cls, path: str, **kwargs) -> SimpleDinucleotideMotif:
        """Load the model from a file."""
        # Implementation of your file parsing logic
        matrix = np.load(path)
        name = kwargs.get('name', 'custom_motif')
        return cls(matrix, name, length=matrix.shape[1] + 1)

    @property
    def model_type(self) -> str:
        """Unique identifier for the model type."""
        return 'dinucleotide'

    def write(self, path: str):
        """Save the model to a file."""
        np.save(path, self.matrix)

# Register the subclass to enable factory methods and CLI support
MotifModel.register_subclass('dinucleotide', SimpleDinucleotideMotif)

Key Methods to Override

To ensure compatibility with the internal comparison Pipeline, you must override the following methods:

Method Description
scan(sequences, strand) Required. Performs motif scanning on a set of sequences. Must accept RaggedData and return RaggedData containing position-wise scores.
from_file(path, **kwargs) Required. Class method to initialize the model from a file path. Enables the use of MotifModel.create_from_file(path, 'type').
model_type Required. Property returning a unique string identifier for the model class.
write(path) Required. Method to serialize the model to its native format.

Example: Running a Comparison

# 1. Prepare sequences and models
# Encode sequence: A=0, C=1, G=2, T=3
seq_list = [np.array([0, 1, 2, 3, 0, 1, 2, 3], dtype=np.int8)]
sequences = ragged_from_list(seq_list, dtype=np.int8)

# Initialize custom models
# Matrix for 16 dinucleotides across 9 positions (motif length 10)
m1 = SimpleDinucleotideMotif(np.random.rand(16, 9), "Motif_A", 10)
m2 = SimpleDinucleotideMotif(np.random.rand(16, 9), "Motif_B", 10)

# 2. Execute comparison using the Pipeline
pipeline = Pipeline()
result = pipeline.execute_motif_comparison(
    model1=m1,
    model2=m2,
    sequences=sequences,
    promoters=sequences, # Used for threshold (FPR) calculation
    comparison_type='motif',
    metric='cj',
    n_permutations=1000
)

print(f"Similarity (CJ): {result['similarity']:.4f}")
print(f"P-value: {result['p_value']:.4e}")

Examples

The examples/ directory contains sample data and script to demonstrate the tool's capabilities with CLI.

To run a basic comparison:

mimosa motif examples/foxa2.meme examples/gata2.meme \
  --model1-type pwm --model2-type pwm \
  --fasta examples/foreground.fa --metric cj --perm 100

Bibliography

  1. Lambert, S. A., Jolma, A., Campitelli, L. F., Das, P. K., Yin, Y., Albu, M., ... & Weirauch, M. T. (2018). The human transcription factors. Cell172(4), 650-665.

  2. Wasserman, W. W., & Sandelin, A. (2004). Applied bioinformatics for the identification of regulatory elements. _Nature Reviews Genetics, 5 (4), 276-287.

  3. Park, P. J. (2009). ChIP–seq: advantages and challenges of a maturing technology. Nature reviews genetics10(10), 669-680.

  4. Jolma, A., Kivioja, T., Toivonen, J., Cheng, L., Wei, G., Enge, M., Taipale, M., Vaquerizas, J. M., Yan, J., Sillanpää, M. J., Bonke, M., Palin, K., Talukder, S., Hughes, T. R., Luscombe, N. M., Ukkonen, E., & Taipale, J. (2010). Multiplexed massively parallel SELEX for characterization of human transcription factor binding specificities. Genome research20(6), 861–873. https://doi.org/10.1101/gr.100552.109

  5. O'Malley, R. C., Huang, S. C., Song, L., Lewsey, M. G., Bartlett, A., Nery, J. R., Galli, M., Gallavotti, A., & Ecker, J. R. (2016). Cistrome and Epicistrome Features Shape the Regulatory DNA Landscape. Cell165(5), 1280–1292. https://doi.org/10.1016/j.cell.2016.04.038

  6. Bailey, T. L., & Elkan, C. (1994). Fitting a mixture model by expectation maximization to discover motifs in biopolymers.Proceedings. International Conference on Intelligent Systems for Molecular Biology_, 2, 28–36.

  7. Bailey T. L. (2021). STREME: accurate and versatile sequence motif discovery. Bioinformatics (Oxford, England)37(18), 2834–2840. https://doi.org/10.1093/bioinformatics/btab203

  8. Heinz, S., Benner, C., Spann, N., Bertolino, E., Lin, Y. C., Laslo, P., Cheng, J. X., Murre, C., Singh, H., & Glass, C. K. (2010). Simple combinations of lineage-determining transcription factors prime cis-regulatory elements required for macrophage and B cell identities. Molecular cell38(4), 576–589. https://doi.org/10.1016/j.molcel.2010.05.004

  9. Grau J, Posch S, Grosse I, Keilwagen J. A general approach for discriminative de novo motif discovery from high-throughput data. Nucleic Acids Res. 2013 Nov;41(21):e197. doi: 10.1093/nar/gkt831. Epub 2013 Sep 20. PMID: 24057214; PMCID: PMC3834837.

  10. Eggeling R, Grosse I, Grau J. InMoDe: tools for learning and visualizing intra-motif dependencies of DNA binding sites. Bioinformatics. 2017 Feb 15;33(4):580-582. doi: 10.1093/bioinformatics/btw689. PMID: 28035026; PMCID: PMC5408807.

  11. Siebert, M., & Söding, J. (2016). Bayesian Markov models consistently outperform PWMs at predicting motifs in nucleotide sequences. Nucleic acids research44(13), 6055–6069. https://doi.org/10.1093/nar/gkw521

  12. Ge, W., Meier, M., Roth, C., & Söding, J. (2021). Bayesian Markov models improve the prediction of binding motifs beyond first order. NAR genomics and bioinformatics3(2), lqab026. https://doi.org/10.1093/nargab/lqab026

  13. Toivonen J, Das PK, Taipale J, Ukkonen E. MODER2: first-order Markov modeling and discovery of monomeric and dimeric binding motifs. Bioinformatics. 2020 May 1;36(9):2690-2696. doi: 10.1093/bioinformatics/btaa045. PMID: 31999322; PMCID: PMC7203737.

  14. Mathelier, A., & Wasserman, W. W. (2013). The next generation of transcription factor binding site prediction. PLoS computational biology9(9), e1003214. https://doi.org/10.1371/journal.pcbi.1003214

  15. Levitsky, V. G., Ignatieva, E. V., Ananko, E. A., Turnaev, I. I., Merkulova, T. I., Kolchanov, N. A., & Hodgman, T. C. (2007). Effective transcription factor binding site prediction using a combination of optimization, a genetic algorithm and discriminant analysis to capture distant interactions. BMC bioinformatics8, 481. https://doi.org/10.1186/1471-2105-8-481

  16. Tsukanov, A. V., Mironova, V. V., & Levitsky, V. G. (2022). Motif models proposing independent and interdependent impacts of nucleotides are related to high and low affinity transcription factor binding sites in Arabidopsis. Frontiers in plant science13, 938545. https://doi.org/10.3389/fpls.2022.938545

  17. Alipanahi, B., Delong, A., Weirauch, M. T., & Frey, B. J. (2015). Predicting the sequence specificities of DNA- and RNA-binding proteins by deep learning. Nature biotechnology33(8), 831–838. https://doi.org/10.1038/nbt.3300

  18. Hassanzadeh, H. R., & Wang, M. D. (2016). DeeperBind: Enhancing Prediction of Sequence Specificities of DNA Binding Proteins. Proceedings. IEEE International Conference on Bioinformatics and Biomedicine2016, 178–183. https://doi.org/10.1109/bibm.2016.7822515

  19. Chen, C., Hou, J., Shi, X., Yang, H., Birchler, J. A., & Cheng, J. (2021). DeepGRN: prediction of transcription factor binding site across cell-types using attention-based deep neural networks. BMC bioinformatics22(1), 38. https://doi.org/10.1186/s12859-020-03952-1

  20. Wang, K., Zeng, X., Zhou, J., Liu, F., Luan, X., & Wang, X. (2024). BERT-TFBS: a novel BERT-based model for predicting transcription factor binding sites by transfer learning. Briefings in bioinformatics25(3), bbae195. https://doi.org/10.1093/bib/bbae195

  21. Jing Zhang, F., Zhang, S. W., & Zhang, S. (2022). Prediction of Transcription Factor Binding Sites With an Attention Augmented Convolutional Neural Network. IEEE/ACM transactions on computational biology and bioinformatics19(6), 3614–3623. https://doi.org/10.1109/TCBB.2021.3126623

  22. Gupta, S., Stamatoyannopoulos, J. A., Bailey, T. L., & Noble, W. S. (2007). Quantifying similarity between motifs. Genome biology8(2), R24. https://doi.org/10.1186/gb-2007-8-2-r24

  23. Mahony, S., & Benos, P. V. (2007). STAMP: a web tool for exploring DNA-binding motif similarities. Nucleic acids research35(Web Server issue), W253–W258. https://doi.org/10.1093/nar/gkm272

  24. Vorontsov, I. E., Kulakovskiy, I. V., & Makeev, V. J. (2013). Jaccard index based similarity measure to compare transcription factor binding site models. Algorithms for molecular biology : AMB8(1), 23. https://doi.org/10.1186/1748-7188-8-23

  25. Lambert, S. A., Albu, M., Hughes, T. R., & Najafabadi, H. S. (2016). Motif comparison based on similarity of binding affinity profiles. Bioinformatics (Oxford, England)32(22), 3504–3506. https://doi.org/10.1093/bioinformatics/btw489

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mimosa_tool-1.0.1.tar.gz (2.8 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

mimosa_tool-1.0.1-cp314-cp314-win_amd64.whl (111.7 kB view details)

Uploaded CPython 3.14Windows x86-64

mimosa_tool-1.0.1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (111.5 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

mimosa_tool-1.0.1-cp314-cp314-macosx_11_0_arm64.whl (104.1 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

mimosa_tool-1.0.1-cp313-cp313-win_amd64.whl (109.9 kB view details)

Uploaded CPython 3.13Windows x86-64

mimosa_tool-1.0.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (111.4 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

mimosa_tool-1.0.1-cp313-cp313-macosx_11_0_arm64.whl (104.0 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

mimosa_tool-1.0.1-cp312-cp312-win_amd64.whl (110.0 kB view details)

Uploaded CPython 3.12Windows x86-64

mimosa_tool-1.0.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (111.4 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

mimosa_tool-1.0.1-cp312-cp312-macosx_11_0_arm64.whl (104.0 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

mimosa_tool-1.0.1-cp311-cp311-win_amd64.whl (110.3 kB view details)

Uploaded CPython 3.11Windows x86-64

mimosa_tool-1.0.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (112.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

mimosa_tool-1.0.1-cp311-cp311-macosx_11_0_arm64.whl (104.5 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

mimosa_tool-1.0.1-cp310-cp310-win_amd64.whl (110.3 kB view details)

Uploaded CPython 3.10Windows x86-64

mimosa_tool-1.0.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (111.9 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

mimosa_tool-1.0.1-cp310-cp310-macosx_11_0_arm64.whl (104.5 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file mimosa_tool-1.0.1.tar.gz.

File metadata

  • Download URL: mimosa_tool-1.0.1.tar.gz
  • Upload date:
  • Size: 2.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.29 {"installer":{"name":"uv","version":"0.9.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for mimosa_tool-1.0.1.tar.gz
Algorithm Hash digest
SHA256 4f5395a279d0159d11b491569b58595b7aab376ffec45fc2110f81d7449f2f76
MD5 40ccbc579fc2ec6386ce2f0e944bf74d
BLAKE2b-256 fd4c7dda3d9ab7599a605a7927df4a26fa00f7dd45126047bd70f51f855f5e86

See more details on using hashes here.

File details

Details for the file mimosa_tool-1.0.1-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: mimosa_tool-1.0.1-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 111.7 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.29 {"installer":{"name":"uv","version":"0.9.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for mimosa_tool-1.0.1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 89b6e6b82c0a29562a7db3e73cb509cf59284cbf4b23ccacbcb0cac58e13e005
MD5 921ebaa4ef8dfa9b269a02d634274767
BLAKE2b-256 7fa3a6765183dcd68eb5828513c2c27546fcf119870b52af65fddc43018d042e

See more details on using hashes here.

File details

Details for the file mimosa_tool-1.0.1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

  • Download URL: mimosa_tool-1.0.1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
  • Upload date:
  • Size: 111.5 kB
  • Tags: CPython 3.14, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.29 {"installer":{"name":"uv","version":"0.9.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for mimosa_tool-1.0.1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e5a5fa1727a1ff06e876d5aac54051e57faf7762262d0b1d4ce71d8354b04459
MD5 25c6eac1a3f76d67594fde9baa03613f
BLAKE2b-256 0f64fd1a4a8c9d7268f9e0b6a8adae4f734567566c6b905143b225d290d67ddf

See more details on using hashes here.

File details

Details for the file mimosa_tool-1.0.1-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

  • Download URL: mimosa_tool-1.0.1-cp314-cp314-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 104.1 kB
  • Tags: CPython 3.14, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.29 {"installer":{"name":"uv","version":"0.9.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for mimosa_tool-1.0.1-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7c54c83ccc3101138165463ad7fbff452571fd317d04438acffc64c943fc7bb9
MD5 eaf0ebcbcdf82ed7f2c12973d052262b
BLAKE2b-256 81a9e2cdbeabef551902441b948d1ef14013293987688a318d98fd3c37d997cd

See more details on using hashes here.

File details

Details for the file mimosa_tool-1.0.1-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: mimosa_tool-1.0.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 109.9 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.29 {"installer":{"name":"uv","version":"0.9.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for mimosa_tool-1.0.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 e42416f33fc2848dc29ea9051e63ac6d088456fbcb90c88eb720d70715ce1a61
MD5 3c0342a80d9360a52cbcbea650d04923
BLAKE2b-256 1b84d93904cb9aefeadb2dff8e69ca3b6f1c5c218bd97867fbc9f3c3f53997da

See more details on using hashes here.

File details

Details for the file mimosa_tool-1.0.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

  • Download URL: mimosa_tool-1.0.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
  • Upload date:
  • Size: 111.4 kB
  • Tags: CPython 3.13, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.29 {"installer":{"name":"uv","version":"0.9.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for mimosa_tool-1.0.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 425a8616c78c23bb0fca0ddce33144c07cd22f1b2dc9a62df5544684fb4ec392
MD5 89c8b5ecee6b6883e3ec1ae4cf2d06fa
BLAKE2b-256 f123bebd63c61176233b0661be5605800055e01edac294cb905690ffce1e471a

See more details on using hashes here.

File details

Details for the file mimosa_tool-1.0.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

  • Download URL: mimosa_tool-1.0.1-cp313-cp313-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 104.0 kB
  • Tags: CPython 3.13, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.29 {"installer":{"name":"uv","version":"0.9.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for mimosa_tool-1.0.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 feffbb27f5945f636ece37366091cfbdeb6f2f25e2780356b0ae012b7e3aff7a
MD5 06aa4356cbbe83aa8981cc74ccf317b5
BLAKE2b-256 545ac2698d7695e4ab3dca0eda3f40ae2fe1851db49ba6f33e8ab0ea646d4993

See more details on using hashes here.

File details

Details for the file mimosa_tool-1.0.1-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: mimosa_tool-1.0.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 110.0 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.29 {"installer":{"name":"uv","version":"0.9.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for mimosa_tool-1.0.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 bcc00fe1f28da807aedc98c30da02a3c91c2290e59925dadc3c65d993e95322c
MD5 aa5f04804f0f38af968c1be053a55715
BLAKE2b-256 d37a6127e7f6b5c991c13bb32fe8a9b2ff4490e6ae01f9706e4e4837b2472f43

See more details on using hashes here.

File details

Details for the file mimosa_tool-1.0.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

  • Download URL: mimosa_tool-1.0.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
  • Upload date:
  • Size: 111.4 kB
  • Tags: CPython 3.12, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.29 {"installer":{"name":"uv","version":"0.9.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for mimosa_tool-1.0.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2d8579d3c3aa91136b1649442a19119761b487a0c64c088587ce9d878c27af4c
MD5 fb96f0462176dab02ef2f8bfa178cf3e
BLAKE2b-256 3a4ee1f4eab478d40c2af2c359f10a9f2caaa32de51dffe48b8c677129d6dc67

See more details on using hashes here.

File details

Details for the file mimosa_tool-1.0.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

  • Download URL: mimosa_tool-1.0.1-cp312-cp312-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 104.0 kB
  • Tags: CPython 3.12, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.29 {"installer":{"name":"uv","version":"0.9.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for mimosa_tool-1.0.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f59e9861e81b86b6a4e57bb9e3213a0f63ba55446c177efaee6fd76159fb68a6
MD5 3312e8198d741c2e78d1582ecca9f9d6
BLAKE2b-256 5d91da1d39db1f33f39dce8833d8c71e7c59a1ceead7538351979c44fa0db3dd

See more details on using hashes here.

File details

Details for the file mimosa_tool-1.0.1-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: mimosa_tool-1.0.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 110.3 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.29 {"installer":{"name":"uv","version":"0.9.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for mimosa_tool-1.0.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 c29541a0e1af3390117e9f9e2e0f92ba9e2ab68d193fd2737e57bebb37f68b2b
MD5 cf3d1269f1195a7c41e611993f4a1826
BLAKE2b-256 dd41fdf0457204efa1e3af63d94c6e8505b3e5644c54601cbf8932b90bbe4262

See more details on using hashes here.

File details

Details for the file mimosa_tool-1.0.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

  • Download URL: mimosa_tool-1.0.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
  • Upload date:
  • Size: 112.0 kB
  • Tags: CPython 3.11, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.29 {"installer":{"name":"uv","version":"0.9.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for mimosa_tool-1.0.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 885aa8a5b42d893545ff82a3c8755ce57cdfaf3e9a3b7d11443657b2cd66394d
MD5 9cbd95b8b998724a5f8fcec951eadb2f
BLAKE2b-256 25a221cb03a7b70b46b2f100699b3a345b53df3334cf3cb11cf67d6561c7dd87

See more details on using hashes here.

File details

Details for the file mimosa_tool-1.0.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

  • Download URL: mimosa_tool-1.0.1-cp311-cp311-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 104.5 kB
  • Tags: CPython 3.11, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.29 {"installer":{"name":"uv","version":"0.9.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for mimosa_tool-1.0.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7eb06ea7737a700d69fb571c2962c3df169f4212b135b952c8c4cf65c4d15030
MD5 1f7e9df734a58d1a13e6054822eedc9e
BLAKE2b-256 e65faf14e6bbc094c53d90eab6c9ef02b363e3ead5e8d3d6635808d74ca64544

See more details on using hashes here.

File details

Details for the file mimosa_tool-1.0.1-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: mimosa_tool-1.0.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 110.3 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.29 {"installer":{"name":"uv","version":"0.9.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for mimosa_tool-1.0.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 ee97fc7e24733139b2b836a227e3e3cb6f2cffff4f18eedc5914d7ecb4309059
MD5 5eef7a8593118fe4c4e336e6ac494650
BLAKE2b-256 4bf86d3915f78867a4fcaa7c4a1dc929c6950b845138e24f0d3eb68305753923

See more details on using hashes here.

File details

Details for the file mimosa_tool-1.0.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

  • Download URL: mimosa_tool-1.0.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
  • Upload date:
  • Size: 111.9 kB
  • Tags: CPython 3.10, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.29 {"installer":{"name":"uv","version":"0.9.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for mimosa_tool-1.0.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a16945f5f586ff86b10bb588ccc4497018e3fd2157710a1101475d7ec034fdd7
MD5 4cb58d78de81dded291eb80159f944f1
BLAKE2b-256 7b6910be2481fbe21f7c4e58fcacbe92a024f7a90effdebb26d1f98dadbd39e2

See more details on using hashes here.

File details

Details for the file mimosa_tool-1.0.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

  • Download URL: mimosa_tool-1.0.1-cp310-cp310-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 104.5 kB
  • Tags: CPython 3.10, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.29 {"installer":{"name":"uv","version":"0.9.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for mimosa_tool-1.0.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2c7da789e442fdec0198cde3e3178a3c9978eb26ccdfb938fd25a0f58a3380c1
MD5 0144b42ba6f3d27d9bce036cc412cb25
BLAKE2b-256 82a5da6953faea651df95eb62e7726480d5f0589e4c569bc30520ad1d1695b68

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page