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.0.0.tar.gz (11.1 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.0.0-py3-none-any.whl (14.3 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for biobuntu-1.0.0.tar.gz
Algorithm Hash digest
SHA256 337030cc683432987dc8c02042124d21d1b601e0112da3de5d3d326ea85a87c1
MD5 174582e6b5903793f4bd30cb54037984
BLAKE2b-256 46175399b95835bd8fe691bc24d3b3d8d1f8ae0c02fe51c7d30699d796524bf8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: biobuntu-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 14.3 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.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 226ec016f95a8fd8c60668faa89d65424a14edb43af2bc2da6f17c87f61167cf
MD5 bda0828c6b7bb244a353800fa0456e0a
BLAKE2b-256 12b6c2041168299e2d3d34820729f2ed11126b6e622d4ffd706f61aea2bcbabf

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