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.3.tar.gz (15.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-1.2.3-py3-none-any.whl (21.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: biobuntu-1.2.3.tar.gz
  • Upload date:
  • Size: 15.7 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.3.tar.gz
Algorithm Hash digest
SHA256 fc3f42a7285270a526460c19023812bac414f823748c150b163e0517519605c3
MD5 683e90b76f8d6ef8b05533cda7da5d94
BLAKE2b-256 d24390a4b5ec47813dc535f09c0586691982bcb2a2e96e4018fc09b3878ffbe5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: biobuntu-1.2.3-py3-none-any.whl
  • Upload date:
  • Size: 21.2 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 87fbc4636e180751bbe979591931fe439f92cc0eff6f8fd0e77c7ed3f01e91c3
MD5 27c99506f8a62ce53a7ece02219ea16f
BLAKE2b-256 51f710bb316db5de1353d75d28038e692a960c6ff95e87661df7a3728c5a1496

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