Skip to main content

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.

Metadata

Release files for biobuntu 1.2.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for biobuntu 1.2.4
File Size Uploaded
biobuntu-1.2.4.tar.gz 60.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for biobuntu 1.2.4
File Interpreter ABI Platform
biobuntu-1.2.4-py3-none-any.whl Python 3 none any Details

Total release size: 127.5 kB

Release files / biobuntu-1.2.4.tar.gz

Download URL biobuntu-1.2.4.tar.gz
Size 60.8 kB
Tags Source
SHA-256 checksum
How to use checksums
bec091933bfd524bc9ee09260bd292949dd5de5f3ec31e7499d3f9efe754a368
BLAKE2b-256 checksum
How to use checksums
45f3a98bf49b3b90e2473a4e5d017fca7c8cbb5417ca3297544caa5d7bcf6177
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.12

Release files / biobuntu-1.2.4-py3-none-any.whl

Download URL biobuntu-1.2.4-py3-none-any.whl
Size 66.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
71092da47d4337c6c49c85343feb77697395e6aa802e9bde6332810530aa9a75
BLAKE2b-256 checksum
How to use checksums
aa892c74282e9d56f1289dfdc8a8fade26d713cdda3efdcb761529586bec9672
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.12

Release history Release notifications | RSS feed

This release

1.2.4 This release

2 release files

1.2.3

2 release files

1.2.2

2 release files

1.0.1

1 release file

1.0.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page