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
-
Create a project:
biobuntu create-project myproject --description "RNA-seq analysis"
-
Run a pipeline:
biobuntu run workflows/rnaseq.yaml --project myproject --input sample.fastq
-
Start web interface:
biobuntu webOpen: 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 jobsGET /api/remote/status/<job_id>- Check job statusGET /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
- Getting Started - Quick start guide
- Pipelines - Pipeline creation and management
- GUI Guide - Desktop application usage
- Web Dashboard - Web interface documentation
- API Reference - Complete API documentation
- Development - Contributing and development guide
🛠️ 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.
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests
- 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
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Documentation: Full Docs
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)
| File | Size | Uploaded | |
|---|---|---|---|
| biobuntu-1.2.4.tar.gz | 60.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|