A comprehensive platform for running genomic analysis pipelines with CLI, GUI, and web interfaces. Perfect for researchers, labs, and bioinformatics teams.
Project description
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.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
337030cc683432987dc8c02042124d21d1b601e0112da3de5d3d326ea85a87c1
|
|
| MD5 |
174582e6b5903793f4bd30cb54037984
|
|
| BLAKE2b-256 |
46175399b95835bd8fe691bc24d3b3d8d1f8ae0c02fe51c7d30699d796524bf8
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
226ec016f95a8fd8c60668faa89d65424a14edb43af2bc2da6f17c87f61167cf
|
|
| MD5 |
bda0828c6b7bb244a353800fa0456e0a
|
|
| BLAKE2b-256 |
12b6c2041168299e2d3d34820729f2ed11126b6e622d4ffd706f61aea2bcbabf
|