Skip to content

lagosproject/ps-analyzer

Repository files navigation

PS Analyzer Logo

PS Analyzer

PS Analyzer is a modern Sanger sequence analysis tool designed for clinical and research use. It provides a comprehensive suite of features for variant detection, visualization, and report generation, built with performance and security in mind using Angular and Tauri.

Features

  • High-Performance Visualization: Smooth, zoomed, and interactive Sanger trace dashboards.
  • Automated Variant Detection: Integration with bio-engine for precise SNV and Indel identification.
  • VEP Integration: Automatic annotation of variants using the Ensembl Variant Effect Predictor.
  • Clinical Reporting: Professional PDF and HTML report generation with customizable variant and read selection.
  • Self-Contained: tracy and bgzip are bundled with the application. FASTA indexing is handled internally by the bio-engine via pysam, eliminating the need for an external samtools binary.
  • Secure by Design: Local-first architecture powered by Tauri, ensuring sensitive genetic data stays on your machine.
  • Modern Tech Stack: Built with Angular 20, utilizing Signals and modern control flow for a reactive and efficient UI.

Repository Setup

This repository contains the frontend and desktop application logic. It expects a sibling directory bio-engine containing the backend analysis services.

Prerequisites

  • Node.js: v20+
  • Rust: For Tauri builds
  • Conda/Python: For the bio-engine backend (if building from source)
  • Angular CLI: npm install -g @angular/cli

Installation

We provide two versions of the Linux application:

1. Bundled Version (Recommended)

This version includes all necessary bioinformatics tools (bgzip, tracy) bundled as sidecars. FASTA indexing is handled internally by the bundled bio-engine. No additional system installation is required.

  • Download the PS.Analyzer_X.Y.Z_amd64.deb package.
  • Install using: sudo apt install ./PS.Analyzer_X.Y.Z_amd64.deb

2. Minimal Version

This version is smaller and requires you to have htslib (for bgzip) already installed on your system.

  • Download the PS.Analyzer.Minimal_X.Y.Z_amd64.deb package.
  • Install system dependencies:
    sudo apt update
    sudo apt install tabix
  • Install the package: sudo apt install ./PS.Analyzer.Minimal_X.Y.Z_amd64.deb

Ensuring bio-engine is present

The application expects a sibling directory bio-engine containing the backend analysis services if you are running from source. For packaged releases, the bio-engine is bundled automatically.

Running the Application

To run the application in development mode:

./debug/build_run.sh

This script will:

  1. Activate the necessary Conda environment.
  2. Build the bio-engine sidecar.
  3. Start the Tauri development server and Angular frontend.

Linting

To run the linter and check for code quality issues:

npm run lint

To automatically fix common linting issues:

npm run lint -- --fix

Configuration

The application communicates with a local FastAPI server (part of the bio-engine). The API URL is configurable in src/app/core/services/analysis.service.ts or via environment variables in future releases.

Contributing

Contributions are welcome! Please feel free to submit pull requests or open issues for feature requests and bug reports.

Acknowledgments

This project relies on the following open-source tools and projects:

  • Tracy - Used for trace decomposition and assembly.
  • Ensembl VEP - Used for variant effect prediction.
  • Bio-Engine - The Python backend for sequence analysis.

Built With

Here are the major technologies and packages used to build this project:

  • Angular
  • Tauri
  • Rust
  • Python

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

Comprehensive Sanger sequence analysis and clinical reporting tool. Identifies SNVs and Indels precisely while keeping your genetic data secure locally.

Topics

Resources

License

Stars

Watchers

Forks

Contributors