Published August 14, 2025 | Version 2.0

YP-Classifier - a pipeline to perform RandomForest+Bootstrapping, PERMANOVA and Mantel tests for assessing statistical significance of clade separation in 0/1 matrices

Authors/Creators

  • 1. ROR icon University of Pretoria

Description

    🔬 Purpose:
    Select statistically significant polymorphic sites (features) using chi-square
    testing and FDR correction. Assess group separability using one of the following:
        • RF        – Random Forest bootstrap classification (default)
        • PERMANOVA – Permutational Multivariate Analysis of Variance
        • MANTEL    – Mantel test for distance matrix correlation

    ⚙️ Dependencies:
    ┌───────────────────┬───────────────────────┐
    │ Tool              │ Minimum Version       │
    ├───────────────────┼───────────────────────┤
    │ Python            │ 3.12.3                │
    │ sklearn            │ 1.7.0                 │
    │ statsmodels     │ 0.14.5                │
    │ matplotlib        │ 3.10.1                │
    │ scipy               │ 1.15.2                │
    │ pandas            │ 2.2.3                 │
    │ numpy            │ 2.2.3                 │
    │ scikit-bio        │ latest                │
    └───────────────────┴───────────────────────┘

    🚀 Usage:
        python3 run.py input.csv [options]

        The input file should be a CSV matrix of binary (1/0) data with column headers.
        • The first column must contain sample names.
        • The second column must contain group labels (at least two unique groups).
        • Empty rows or rows without valid group labels will be ignored.

        Example:
        Strain, Group, locus_1, locus_2, locus_3, ...
        S1,     N,     0,       0,       1,       ...
        S2,     N,     1,       0,       1,       ...
        S3,     P,     1,       1,       0,       ...
        S4,            0,       1,       0,       ...

    🔧 Options:
        --p_value, -p         • Filter by maximum p-value (e.g. 0.05)
        --significance, -s    • Show only FDR-significant results (TRUE/FALSE)
        --bootstrap, -b       • Run bootstrap classification test (T/F), default: T
        --algorithm, -a       • Algorithm to assess group separation:
                                  RF (default), PERMANOVA, MANTEL

    🆘 Help Options:
        -h, --help            • Show this help message
        -v, --version         • Show version information

Files

Files (1.3 MB)

Name Size Download all
md5:7a0a0fff14ea06dfc607e2db8e744d8a
1.3 MB Download

Additional details

Software

Programming language
Python , Python console