Skip to main content

A comprehensive platform for running genomic analysis pipelines with CLI, GUI, and web interfaces. Perfect for researchers, labs, and bioinformatics teams.

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/biobuntu/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:biobuntu/biobuntu
sudo apt-get update
sudo apt-get install biobuntu

Conda

conda install -c biobuntu 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/biobuntu/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-1.2.4.tar.gz (60.8 kB view details)

Uploaded Source

Built Distribution

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

biobuntu-1.2.4-py3-none-any.whl (66.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: biobuntu-1.2.4.tar.gz
  • Upload date:
  • Size: 60.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for biobuntu-1.2.4.tar.gz
Algorithm Hash digest
SHA256 bec091933bfd524bc9ee09260bd292949dd5de5f3ec31e7499d3f9efe754a368
MD5 61b25830da34470d1c97eaf27ae256e4
BLAKE2b-256 45f3a98bf49b3b90e2473a4e5d017fca7c8cbb5417ca3297544caa5d7bcf6177

See more details on using hashes here.

File details

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

File metadata

  • Download URL: biobuntu-1.2.4-py3-none-any.whl
  • Upload date:
  • Size: 66.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for biobuntu-1.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 71092da47d4337c6c49c85343feb77697395e6aa802e9bde6332810530aa9a75
MD5 da23241bc060063dcee25ceedc1f13fa
BLAKE2b-256 aa892c74282e9d56f1289dfdc8a8fade26d713cdda3efdcb761529586bec9672

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