Skip to content

A PyQt6-based GUI application for venomic data analysis, spectral deconvolution, and statistical similarity indexing of neogastropod peptidomes. Uses a Sequential Analysis Pipeline (SAP)-structured, classical ML algorithm built with sklearn modules as its backend for the actual computational engine.

Notifications You must be signed in to change notification settings

lukelevensaler/LNVSITool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LNVSI Tool (Levensaler Neogastropod Venomic Similarity Index Tool)

A PyQt6-based GUI application for analyzing spectrophotometry data from Levensaler Immobilized Metal Chelate Affinity Labelling Assay (LIMCALA)-based marine Neogastropod venomic analysis with the SAP classical machine learning-based Levensaler Neogastropod Venomic Similarity Indexing (LNVSI) algorithm

Features

  • PyQt6 GUI
  • Robust CSV import and JSON-based autosave
  • Region-segmented spectral deconvolution (Voigt fitting, Gaussian fallback)
  • Machine learning-powered similarity metrics
  • FDR-corrected statistical testing
  • Export results as CSV, PDF, or XLSX (to Downloads)
  • Detailed logging and error handling
  • Cross-platform (macOS, Linux, Windows; see build notes)

Installation the Normal Way

Installation From Source

  1. Clone the repository:

    git clone https://github.com/lukelevensaler/LNVSITool.git
    cd LNVSITool
  2. Create and activate a virtual environment:

    MacOS/Linux:

    python3 -m venv venv
    source venv/bin/activate

    Windows:

    python3 -m venv venv
    venv\Scripts\activate
  3. Install dependencies:

    pip install -r src/requirements.txt
  4. Compile with PyInstaller:

    MacOS:

    • Run (with a :)
    pyinstaller --windowed --name "LNVSI Tool" --icon=assets/icon.png --add-data "assets:assets" src/main.py
    • The compiled .app bundle will be in the dist/ directory.

    Windows:

    • Run (with a ;)
    pyinstaller --windowed --name "LNVSI Tool" --icon=assets/icon.png --add-data "assets;assets" src/main.py
    • The compiled .exe file will be located in the dist\ directory.

    • If you see a security warning, click "More info" and "Run anyway".

    Linux:

    • You will have to first create the .desktop launcher in the project root:

      [Desktop Entry]
      Name=LNVSI Tool
      Exec=python3 /path/to/LNVSITool/src/main.py
      Icon=/path/to/LNVSITool/assets/icon.png
      Type=Application
      Categories=Science;Utility;

      Replace /path/to/LNVSITool/ with the actual path to your project directory.

    • Then Make the .desktop file executable:

      sudo chmod +x LNVSI-Tool.desktop
    • Run (with a ;)

      pyinstaller --windowed --name "LNVSI Tool" --icon=assets/icon.png --add-data "assets;assets" src/main.py
    • The compiled executable will be in the dist/ directory

    • It too must be made executable:

      sudo chmod +x LNVSI-Tool.desktop

Usage Without Compilation

  1. Clone the repository:

    git clone https://github.com/lukelevensaler/LNVSITool.git
    cd LNVSITool
  2. Create and activate a virtual environment:

    python3 -m venv venv
    source venv/bin/activate  # or 'venv\Scripts\activate' on Windows
  3. Install dependencies:

    pip install -r src/requirements.txt
  4. Run directly from source:

    python src/main.py

File Structure

  • src/ — Main application code
  • assets/ — Images, stylesheets
  • info/ — License/EULA
  • requirements.txt — Python dependencies

Logging

  • Logs and Autosave file can be found in the LNVSI Tool Utilities Directory the application creates upon usage in your "~" directory (home directory)

Exported Results

  • All exports (CSV, PDF, XLSX) are saved to your Downloads directory by default.
  • The Percentage Similarity data is saved and displayed via the main.py UI to 4 decimal places no matter what (not significant figures).
  • The p-values data is, conversely, saved and displayed with 6 significant figures (not just rote decimal places).

Full Documentation

License

See info/LICENSE.md


Created by Luke Levensaler, 2025

About

A PyQt6-based GUI application for venomic data analysis, spectral deconvolution, and statistical similarity indexing of neogastropod peptidomes. Uses a Sequential Analysis Pipeline (SAP)-structured, classical ML algorithm built with sklearn modules as its backend for the actual computational engine.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published