Skip to main content

Bioinformatics platform

Project description

BioBuntu

License: MIT Python 3.8+

A comprehensive bioinformatics platform for running pipelines, with CLI, GUI, and web interfaces.

🚀 Features

  • Project Management: Create and manage bioinformatics projects with organized directory structures
  • Advanced Pipelines: Support for complex workflows with dependencies and parallel execution
  • Multiple Interfaces: CLI, Desktop GUI (BioBuntu Studio), and Web Dashboard
  • Remote Lab Support: API endpoints for remote pipeline execution with job tracking
  • Packaging: Available as .deb packages, PPA, and Conda packages
  • Workflow Support: RNA-seq, variant calling, metagenomics, and QC pipelines
  • Tool Integration: Wrappers for FastQC, BWA, GATK, HISAT2, Samtools

📦 Installation

From Source

git clone https://github.com/GenomeHouse/biobuntu.git
cd biobuntu
pip install -e .

Debian/Ubuntu (.deb)

sudo dpkg -i biobuntu_0.1.0_all.deb
sudo apt-get install -f  # Install dependencies

Ubuntu PPA

sudo add-apt-repository ppa:genomehouse/biobuntu
sudo apt-get update
sudo apt-get install biobuntu

Conda

conda install -c genomehouse biobuntu

🏁 Quick Start

  1. Create a project:

    biobuntu create-project myproject --description "RNA-seq analysis"
    
  2. Run a pipeline:

    biobuntu run workflows/rnaseq.yaml --project myproject --input sample.fastq
    
  3. Start web interface:

    biobuntu web
    

    Open: http://localhost:5000

💻 Usage

CLI Commands

BioBuntu provides a comprehensive CLI with 8 commands:

biobuntu --help                    # Show all commands
biobuntu create-project <name>     # Create new project
biobuntu list-projects             # List all projects
biobuntu delete-project <name>     # Delete project
biobuntu list                      # List workflows
biobuntu validate <workflow>       # Validate workflow
biobuntu run <workflow> [options]  # Run pipeline
biobuntu web                       # Start web dashboard
biobuntu gui                       # Start GUI application

Web Dashboard

Access the web interface at http://localhost:5000 with features:

  • Create and manage projects
  • Run pipelines locally or remotely
  • Monitor remote jobs with real-time updates
  • Download results and intermediate files

GUI Application

Launch BioBuntu Studio with biobuntu gui featuring:

  • Project selection and creation
  • Drag-and-drop file input
  • Real-time progress tracking
  • Workflow validation

📁 Project Structure

Projects are automatically organized:

~/biobuntu/projects/myproject/
├── raw_data/     # Input files
├── qc/          # Quality control results
├── processed/   # Intermediate processing files
├── results/     # Final analysis results
├── reports/     # Summary reports
├── logs/        # Execution logs
└── config/      # Project configuration

🔬 Advanced Pipelines

Features

  • Dependencies: Steps can depend on previous steps
  • Parallel Execution: Independent steps run concurrently
  • Parameterization: Configurable tool arguments
  • Validation: Check workflow structure before execution

Example Workflow

name: RNA-seq Pipeline
description: Complete RNA-seq analysis
steps:
  - name: qc
    tool: fastqc
    args:
      input_file: raw_data/sample.fastq
      output_dir: qc/
  - name: align
    tool: hisat2
    depends_on: [qc]
    args:
      index: genome_index
      input_fastq1: raw_data/sample.fastq
      output_sam: processed/sample.sam

🌐 Remote Lab Support

API Endpoints

  • POST /api/remote/run - Submit remote jobs
  • GET /api/remote/status/<job_id> - Check job status
  • GET /api/remote/jobs - List all remote jobs
  • Webhook callbacks for job completion

Example Remote Execution

import requests

# Submit job
response = requests.post('http://localhost:5000/api/remote/run', json={
    'workflow': 'rnaseq.yaml',
    'project': 'myproject',
    'callback_url': 'https://myapp.com/webhook'
})

job_id = response.json()['job_id']

📚 Documentation

🛠️ Development

Prerequisites

  • Python 3.8+
  • Bioinformatics tools (optional, for testing)

Setup

git clone https://github.com/GenomeHouse/biobuntu.git
cd biobuntu
pip install -e .
pip install pytest black flake8  # Development dependencies

Testing

pytest                    # Run tests
black .                  # Format code
flake8 .                 # Check style

Building Packages

./scripts/build_deb.sh    # Debian package
./scripts/build_ppa.sh    # PPA package
./scripts/build_conda.sh  # Conda package

🤝 Contributing

We welcome contributions! Please see our Development Guide for details.

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests
  5. Submit a pull request

📄 License

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

🙏 Acknowledgments

  • Built with Python, Flask, Click, and tkinter
  • Inspired by bioinformatics community needs
  • Thanks to all contributors and users

📞 Support


BioBuntu - Making bioinformatics accessible through modern interfaces and powerful automation.

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

biobuntu-0.1.0.tar.gz (10.7 kB view details)

Uploaded Source

Built Distribution

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

biobuntu-0.1.0-py3-none-any.whl (14.1 kB view details)

Uploaded Python 3

File details

Details for the file biobuntu-0.1.0.tar.gz.

File metadata

  • Download URL: biobuntu-0.1.0.tar.gz
  • Upload date:
  • Size: 10.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for biobuntu-0.1.0.tar.gz
Algorithm Hash digest
SHA256 8549bfaaedf11b45232cfde15c26b42e5df914e52ecc268c2d0dfbcc279c4a01
MD5 d45e8054ad1fd7cafcc5529c62da1bfe
BLAKE2b-256 d9114a6d8e68308234734e669afa1cd6b834cab4492099e5b846f9793c7360e2

See more details on using hashes here.

Provenance

The following attestation bundles were made for biobuntu-0.1.0.tar.gz:

Publisher: publish.yaml on GenomeHouse/biobuntu

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file biobuntu-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: biobuntu-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 14.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for biobuntu-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 05fc3d080a4bcfbf2e1d14802fc24ff21caea19a9e079d8d7934998bd8b9d529
MD5 29ef792c92a2f8054f5584881fc36fd3
BLAKE2b-256 64cf4f21daa56026906df18253ea875635d40200b04c5398c2976cbe04bcf511

See more details on using hashes here.

Provenance

The following attestation bundles were made for biobuntu-0.1.0-py3-none-any.whl:

Publisher: publish.yaml on GenomeHouse/biobuntu

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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