biobuntu 1.2.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- biobuntu-1.2.2/LICENSE +21 -0
- biobuntu-1.2.2/PKG-INFO +252 -0
- biobuntu-1.2.2/README.md +231 -0
- biobuntu-1.2.2/biobuntu.egg-info/PKG-INFO +252 -0
- biobuntu-1.2.2/biobuntu.egg-info/SOURCES.txt +40 -0
- biobuntu-1.2.2/biobuntu.egg-info/dependency_links.txt +1 -0
- biobuntu-1.2.2/biobuntu.egg-info/entry_points.txt +2 -0
- biobuntu-1.2.2/biobuntu.egg-info/requires.txt +3 -0
- biobuntu-1.2.2/biobuntu.egg-info/top_level.txt +6 -0
- biobuntu-1.2.2/cli/__init__.py +0 -0
- biobuntu-1.2.2/cli/cli.py +116 -0
- biobuntu-1.2.2/core/__init__.py +0 -0
- biobuntu-1.2.2/core/config.py +19 -0
- biobuntu-1.2.2/core/engine.py +125 -0
- biobuntu-1.2.2/core/file_manager.py +6 -0
- biobuntu-1.2.2/core/logger.py +3 -0
- biobuntu-1.2.2/core/project_manager.py +79 -0
- biobuntu-1.2.2/core/runner.py +6 -0
- biobuntu-1.2.2/core/utils.py +2 -0
- biobuntu-1.2.2/gui/__init__.py +0 -0
- biobuntu-1.2.2/gui/main.py +10 -0
- biobuntu-1.2.2/gui/widgets/file_drop.py +38 -0
- biobuntu-1.2.2/gui/widgets/progress_bar.py +22 -0
- biobuntu-1.2.2/gui/windows/main_window.py +219 -0
- biobuntu-1.2.2/gui/windows/settings_window.py +45 -0
- biobuntu-1.2.2/pyproject.toml +49 -0
- biobuntu-1.2.2/setup.cfg +4 -0
- biobuntu-1.2.2/tests/test_cli.py +5 -0
- biobuntu-1.2.2/tests/test_engine.py +6 -0
- biobuntu-1.2.2/tests/test_web_routes_import.py +6 -0
- biobuntu-1.2.2/tests/test_workflows.py +4 -0
- biobuntu-1.2.2/tools/bwa.py +14 -0
- biobuntu-1.2.2/tools/fastqc.py +18 -0
- biobuntu-1.2.2/tools/gatk.py +14 -0
- biobuntu-1.2.2/tools/hisat2.py +21 -0
- biobuntu-1.2.2/tools/samtools.py +14 -0
- biobuntu-1.2.2/web/__init__.py +0 -0
- biobuntu-1.2.2/web/api.py +123 -0
- biobuntu-1.2.2/web/routes/__init__.py +1 -0
- biobuntu-1.2.2/web/routes/pipelines.py +20 -0
- biobuntu-1.2.2/web/routes/projects.py +67 -0
- biobuntu-1.2.2/web/routes/status.py +11 -0
biobuntu-1.2.2/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2024 GenomeHouse
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
biobuntu-1.2.2/PKG-INFO
ADDED
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: biobuntu
|
|
3
|
+
Version: 1.2.2
|
|
4
|
+
Summary: A comprehensive platform for running genomic analysis pipelines with CLI, GUI, and web interfaces. Perfect for researchers, labs, and bioinformatics teams.
|
|
5
|
+
Author-email: BioBuntu <info@biobuntu.com>
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
Project-URL: Homepage, https://biobuntu.github.io/
|
|
8
|
+
Project-URL: Source, https://github.com/biobuntu/biobuntu
|
|
9
|
+
Project-URL: Tracker, https://github.com/biobuntu/biobuntu/issues
|
|
10
|
+
Project-URL: Documentation, https://biobuntu.github.io/docs
|
|
11
|
+
Keywords: bioinformatics,genomics,pipelines,workflow,cli,gui,web
|
|
12
|
+
Classifier: Programming Language :: Python :: 3
|
|
13
|
+
Classifier: Operating System :: OS Independent
|
|
14
|
+
Requires-Python: >=3.8
|
|
15
|
+
Description-Content-Type: text/markdown
|
|
16
|
+
License-File: LICENSE
|
|
17
|
+
Requires-Dist: click
|
|
18
|
+
Requires-Dist: pyyaml
|
|
19
|
+
Requires-Dist: flask
|
|
20
|
+
Dynamic: license-file
|
|
21
|
+
|
|
22
|
+
<p align="center">
|
|
23
|
+
<img width="607" height="215" alt="biobuntu" src="https://github.com/user-attachments/assets/0d82cc8f-82ef-468a-b615-4f35a5a141c6" />
|
|
24
|
+
</p>
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
[](https://opensource.org/licenses/MIT)
|
|
29
|
+
[](https://www.python.org/downloads/)
|
|
30
|
+
|
|
31
|
+
A comprehensive bioinformatics platform for running pipelines, with CLI, GUI, and web interfaces.
|
|
32
|
+
|
|
33
|
+
## Features
|
|
34
|
+
|
|
35
|
+
- **Project Management**: Create and manage bioinformatics projects with organized directory structures
|
|
36
|
+
- **Advanced Pipelines**: Support for complex workflows with dependencies and parallel execution
|
|
37
|
+
- **Multiple Interfaces**: CLI, Desktop GUI (BioBuntu Studio), and Web Dashboard
|
|
38
|
+
- **Remote Lab Support**: API endpoints for remote pipeline execution with job tracking
|
|
39
|
+
- **Packaging**: Available as .deb packages, PPA, and Conda packages
|
|
40
|
+
- **Workflow Support**: RNA-seq, variant calling, metagenomics, and QC pipelines
|
|
41
|
+
- **Tool Integration**: Wrappers for FastQC, BWA, GATK, HISAT2, Samtools
|
|
42
|
+
|
|
43
|
+
## 📦 Installation
|
|
44
|
+
|
|
45
|
+
### From Source
|
|
46
|
+
```bash
|
|
47
|
+
git clone https://github.com/biobuntu/biobuntu.git
|
|
48
|
+
cd biobuntu
|
|
49
|
+
pip install -e .
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### Debian/Ubuntu (.deb)
|
|
53
|
+
```bash
|
|
54
|
+
sudo dpkg -i biobuntu_0.1.0_all.deb
|
|
55
|
+
sudo apt-get install -f # Install dependencies
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### Ubuntu PPA
|
|
59
|
+
```bash
|
|
60
|
+
sudo add-apt-repository ppa:biobuntu/biobuntu
|
|
61
|
+
sudo apt-get update
|
|
62
|
+
sudo apt-get install biobuntu
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### Conda
|
|
66
|
+
```bash
|
|
67
|
+
conda install -c biobuntu biobuntu
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## 🏁 Quick Start
|
|
71
|
+
|
|
72
|
+
1. **Create a project**:
|
|
73
|
+
```bash
|
|
74
|
+
biobuntu create-project myproject --description "RNA-seq analysis"
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
2. **Run a pipeline**:
|
|
78
|
+
```bash
|
|
79
|
+
biobuntu run workflows/rnaseq.yaml --project myproject --input sample.fastq
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
3. **Start web interface**:
|
|
83
|
+
```bash
|
|
84
|
+
biobuntu web
|
|
85
|
+
```
|
|
86
|
+
Open: http://localhost:5000
|
|
87
|
+
|
|
88
|
+
## 💻 Usage
|
|
89
|
+
|
|
90
|
+
### CLI Commands
|
|
91
|
+
|
|
92
|
+
BioBuntu provides a comprehensive CLI with 8 commands:
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
biobuntu --help # Show all commands
|
|
96
|
+
biobuntu create-project <name> # Create new project
|
|
97
|
+
biobuntu list-projects # List all projects
|
|
98
|
+
biobuntu delete-project <name> # Delete project
|
|
99
|
+
biobuntu list # List workflows
|
|
100
|
+
biobuntu validate <workflow> # Validate workflow
|
|
101
|
+
biobuntu run <workflow> [options] # Run pipeline
|
|
102
|
+
biobuntu web # Start web dashboard
|
|
103
|
+
biobuntu gui # Start GUI application
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
### Web Dashboard
|
|
107
|
+
|
|
108
|
+
Access the web interface at http://localhost:5000 with features:
|
|
109
|
+
- Create and manage projects
|
|
110
|
+
- Run pipelines locally or remotely
|
|
111
|
+
- Monitor remote jobs with real-time updates
|
|
112
|
+
- Download results and intermediate files
|
|
113
|
+
|
|
114
|
+
### GUI Application
|
|
115
|
+
|
|
116
|
+
Launch BioBuntu Studio with `biobuntu gui` featuring:
|
|
117
|
+
- Project selection and creation
|
|
118
|
+
- Drag-and-drop file input
|
|
119
|
+
- Real-time progress tracking
|
|
120
|
+
- Workflow validation
|
|
121
|
+
|
|
122
|
+
## 📁 Project Structure
|
|
123
|
+
|
|
124
|
+
Projects are automatically organized:
|
|
125
|
+
|
|
126
|
+
```
|
|
127
|
+
~/biobuntu/projects/myproject/
|
|
128
|
+
├── raw_data/ # Input files
|
|
129
|
+
├── qc/ # Quality control results
|
|
130
|
+
├── processed/ # Intermediate processing files
|
|
131
|
+
├── results/ # Final analysis results
|
|
132
|
+
├── reports/ # Summary reports
|
|
133
|
+
├── logs/ # Execution logs
|
|
134
|
+
└── config/ # Project configuration
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
## 🔬 Advanced Pipelines
|
|
138
|
+
|
|
139
|
+
### Features
|
|
140
|
+
- **Dependencies**: Steps can depend on previous steps
|
|
141
|
+
- **Parallel Execution**: Independent steps run concurrently
|
|
142
|
+
- **Parameterization**: Configurable tool arguments
|
|
143
|
+
- **Validation**: Check workflow structure before execution
|
|
144
|
+
|
|
145
|
+
### Example Workflow
|
|
146
|
+
|
|
147
|
+
```yaml
|
|
148
|
+
name: RNA-seq Pipeline
|
|
149
|
+
description: Complete RNA-seq analysis
|
|
150
|
+
steps:
|
|
151
|
+
- name: qc
|
|
152
|
+
tool: fastqc
|
|
153
|
+
args:
|
|
154
|
+
input_file: raw_data/sample.fastq
|
|
155
|
+
output_dir: qc/
|
|
156
|
+
- name: align
|
|
157
|
+
tool: hisat2
|
|
158
|
+
depends_on: [qc]
|
|
159
|
+
args:
|
|
160
|
+
index: genome_index
|
|
161
|
+
input_fastq1: raw_data/sample.fastq
|
|
162
|
+
output_sam: processed/sample.sam
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
## 🌐 Remote Lab Support
|
|
166
|
+
|
|
167
|
+
### API Endpoints
|
|
168
|
+
- `POST /api/remote/run` - Submit remote jobs
|
|
169
|
+
- `GET /api/remote/status/<job_id>` - Check job status
|
|
170
|
+
- `GET /api/remote/jobs` - List all remote jobs
|
|
171
|
+
- Webhook callbacks for job completion
|
|
172
|
+
|
|
173
|
+
### Example Remote Execution
|
|
174
|
+
```python
|
|
175
|
+
import requests
|
|
176
|
+
|
|
177
|
+
# Submit job
|
|
178
|
+
response = requests.post('http://localhost:5000/api/remote/run', json={
|
|
179
|
+
'workflow': 'rnaseq.yaml',
|
|
180
|
+
'project': 'myproject',
|
|
181
|
+
'callback_url': 'https://myapp.com/webhook'
|
|
182
|
+
})
|
|
183
|
+
|
|
184
|
+
job_id = response.json()['job_id']
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
## 📚 Documentation
|
|
188
|
+
|
|
189
|
+
- **[Getting Started](docs/getting_started.md)** - Quick start guide
|
|
190
|
+
- **[Pipelines](docs/pipelines.md)** - Pipeline creation and management
|
|
191
|
+
- **[GUI Guide](docs/gui.md)** - Desktop application usage
|
|
192
|
+
- **[Web Dashboard](docs/web.md)** - Web interface documentation
|
|
193
|
+
- **[API Reference](docs/api.md)** - Complete API documentation
|
|
194
|
+
- **[Development](docs/development.md)** - Contributing and development guide
|
|
195
|
+
|
|
196
|
+
## 🛠️ Development
|
|
197
|
+
|
|
198
|
+
### Prerequisites
|
|
199
|
+
- Python 3.8+
|
|
200
|
+
- Bioinformatics tools (optional, for testing)
|
|
201
|
+
|
|
202
|
+
### Setup
|
|
203
|
+
```bash
|
|
204
|
+
git clone https://github.com/biobuntu/biobuntu.git
|
|
205
|
+
cd biobuntu
|
|
206
|
+
pip install -e .
|
|
207
|
+
pip install pytest black flake8 # Development dependencies
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
### Testing
|
|
211
|
+
```bash
|
|
212
|
+
pytest # Run tests
|
|
213
|
+
black . # Format code
|
|
214
|
+
flake8 . # Check style
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
### Building Packages
|
|
218
|
+
```bash
|
|
219
|
+
./scripts/build_deb.sh # Debian package
|
|
220
|
+
./scripts/build_ppa.sh # PPA package
|
|
221
|
+
./scripts/build_conda.sh # Conda package
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
## 🤝 Contributing
|
|
225
|
+
|
|
226
|
+
We welcome contributions! Please see our [Development Guide](docs/development.md) for details.
|
|
227
|
+
|
|
228
|
+
1. Fork the repository
|
|
229
|
+
2. Create a feature branch
|
|
230
|
+
3. Make your changes
|
|
231
|
+
4. Add tests
|
|
232
|
+
5. Submit a pull request
|
|
233
|
+
|
|
234
|
+
## 📄 License
|
|
235
|
+
|
|
236
|
+
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
|
237
|
+
|
|
238
|
+
## 🙏 Acknowledgments
|
|
239
|
+
|
|
240
|
+
- Built with Python, Flask, Click, and tkinter
|
|
241
|
+
- Inspired by bioinformatics community needs
|
|
242
|
+
- Thanks to all contributors and users
|
|
243
|
+
|
|
244
|
+
## 📞 Support
|
|
245
|
+
|
|
246
|
+
- **Issues**: [GitHub Issues](https://github.com/biobuntu/biobuntu/issues)
|
|
247
|
+
- **Discussions**: [GitHub Discussions](https://github.com/biobuntu/biobuntu/discussions)
|
|
248
|
+
- **Documentation**: [Full Docs](docs/)
|
|
249
|
+
|
|
250
|
+
---
|
|
251
|
+
|
|
252
|
+
**BioBuntu** - Making bioinformatics accessible through modern interfaces and powerful automation.
|
biobuntu-1.2.2/README.md
ADDED
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img width="607" height="215" alt="biobuntu" src="https://github.com/user-attachments/assets/0d82cc8f-82ef-468a-b615-4f35a5a141c6" />
|
|
3
|
+
</p>
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
[](https://opensource.org/licenses/MIT)
|
|
8
|
+
[](https://www.python.org/downloads/)
|
|
9
|
+
|
|
10
|
+
A comprehensive bioinformatics platform for running pipelines, with CLI, GUI, and web interfaces.
|
|
11
|
+
|
|
12
|
+
## Features
|
|
13
|
+
|
|
14
|
+
- **Project Management**: Create and manage bioinformatics projects with organized directory structures
|
|
15
|
+
- **Advanced Pipelines**: Support for complex workflows with dependencies and parallel execution
|
|
16
|
+
- **Multiple Interfaces**: CLI, Desktop GUI (BioBuntu Studio), and Web Dashboard
|
|
17
|
+
- **Remote Lab Support**: API endpoints for remote pipeline execution with job tracking
|
|
18
|
+
- **Packaging**: Available as .deb packages, PPA, and Conda packages
|
|
19
|
+
- **Workflow Support**: RNA-seq, variant calling, metagenomics, and QC pipelines
|
|
20
|
+
- **Tool Integration**: Wrappers for FastQC, BWA, GATK, HISAT2, Samtools
|
|
21
|
+
|
|
22
|
+
## 📦 Installation
|
|
23
|
+
|
|
24
|
+
### From Source
|
|
25
|
+
```bash
|
|
26
|
+
git clone https://github.com/biobuntu/biobuntu.git
|
|
27
|
+
cd biobuntu
|
|
28
|
+
pip install -e .
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### Debian/Ubuntu (.deb)
|
|
32
|
+
```bash
|
|
33
|
+
sudo dpkg -i biobuntu_0.1.0_all.deb
|
|
34
|
+
sudo apt-get install -f # Install dependencies
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### Ubuntu PPA
|
|
38
|
+
```bash
|
|
39
|
+
sudo add-apt-repository ppa:biobuntu/biobuntu
|
|
40
|
+
sudo apt-get update
|
|
41
|
+
sudo apt-get install biobuntu
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### Conda
|
|
45
|
+
```bash
|
|
46
|
+
conda install -c biobuntu biobuntu
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## 🏁 Quick Start
|
|
50
|
+
|
|
51
|
+
1. **Create a project**:
|
|
52
|
+
```bash
|
|
53
|
+
biobuntu create-project myproject --description "RNA-seq analysis"
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
2. **Run a pipeline**:
|
|
57
|
+
```bash
|
|
58
|
+
biobuntu run workflows/rnaseq.yaml --project myproject --input sample.fastq
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
3. **Start web interface**:
|
|
62
|
+
```bash
|
|
63
|
+
biobuntu web
|
|
64
|
+
```
|
|
65
|
+
Open: http://localhost:5000
|
|
66
|
+
|
|
67
|
+
## 💻 Usage
|
|
68
|
+
|
|
69
|
+
### CLI Commands
|
|
70
|
+
|
|
71
|
+
BioBuntu provides a comprehensive CLI with 8 commands:
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
biobuntu --help # Show all commands
|
|
75
|
+
biobuntu create-project <name> # Create new project
|
|
76
|
+
biobuntu list-projects # List all projects
|
|
77
|
+
biobuntu delete-project <name> # Delete project
|
|
78
|
+
biobuntu list # List workflows
|
|
79
|
+
biobuntu validate <workflow> # Validate workflow
|
|
80
|
+
biobuntu run <workflow> [options] # Run pipeline
|
|
81
|
+
biobuntu web # Start web dashboard
|
|
82
|
+
biobuntu gui # Start GUI application
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### Web Dashboard
|
|
86
|
+
|
|
87
|
+
Access the web interface at http://localhost:5000 with features:
|
|
88
|
+
- Create and manage projects
|
|
89
|
+
- Run pipelines locally or remotely
|
|
90
|
+
- Monitor remote jobs with real-time updates
|
|
91
|
+
- Download results and intermediate files
|
|
92
|
+
|
|
93
|
+
### GUI Application
|
|
94
|
+
|
|
95
|
+
Launch BioBuntu Studio with `biobuntu gui` featuring:
|
|
96
|
+
- Project selection and creation
|
|
97
|
+
- Drag-and-drop file input
|
|
98
|
+
- Real-time progress tracking
|
|
99
|
+
- Workflow validation
|
|
100
|
+
|
|
101
|
+
## 📁 Project Structure
|
|
102
|
+
|
|
103
|
+
Projects are automatically organized:
|
|
104
|
+
|
|
105
|
+
```
|
|
106
|
+
~/biobuntu/projects/myproject/
|
|
107
|
+
├── raw_data/ # Input files
|
|
108
|
+
├── qc/ # Quality control results
|
|
109
|
+
├── processed/ # Intermediate processing files
|
|
110
|
+
├── results/ # Final analysis results
|
|
111
|
+
├── reports/ # Summary reports
|
|
112
|
+
├── logs/ # Execution logs
|
|
113
|
+
└── config/ # Project configuration
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
## 🔬 Advanced Pipelines
|
|
117
|
+
|
|
118
|
+
### Features
|
|
119
|
+
- **Dependencies**: Steps can depend on previous steps
|
|
120
|
+
- **Parallel Execution**: Independent steps run concurrently
|
|
121
|
+
- **Parameterization**: Configurable tool arguments
|
|
122
|
+
- **Validation**: Check workflow structure before execution
|
|
123
|
+
|
|
124
|
+
### Example Workflow
|
|
125
|
+
|
|
126
|
+
```yaml
|
|
127
|
+
name: RNA-seq Pipeline
|
|
128
|
+
description: Complete RNA-seq analysis
|
|
129
|
+
steps:
|
|
130
|
+
- name: qc
|
|
131
|
+
tool: fastqc
|
|
132
|
+
args:
|
|
133
|
+
input_file: raw_data/sample.fastq
|
|
134
|
+
output_dir: qc/
|
|
135
|
+
- name: align
|
|
136
|
+
tool: hisat2
|
|
137
|
+
depends_on: [qc]
|
|
138
|
+
args:
|
|
139
|
+
index: genome_index
|
|
140
|
+
input_fastq1: raw_data/sample.fastq
|
|
141
|
+
output_sam: processed/sample.sam
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
## 🌐 Remote Lab Support
|
|
145
|
+
|
|
146
|
+
### API Endpoints
|
|
147
|
+
- `POST /api/remote/run` - Submit remote jobs
|
|
148
|
+
- `GET /api/remote/status/<job_id>` - Check job status
|
|
149
|
+
- `GET /api/remote/jobs` - List all remote jobs
|
|
150
|
+
- Webhook callbacks for job completion
|
|
151
|
+
|
|
152
|
+
### Example Remote Execution
|
|
153
|
+
```python
|
|
154
|
+
import requests
|
|
155
|
+
|
|
156
|
+
# Submit job
|
|
157
|
+
response = requests.post('http://localhost:5000/api/remote/run', json={
|
|
158
|
+
'workflow': 'rnaseq.yaml',
|
|
159
|
+
'project': 'myproject',
|
|
160
|
+
'callback_url': 'https://myapp.com/webhook'
|
|
161
|
+
})
|
|
162
|
+
|
|
163
|
+
job_id = response.json()['job_id']
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
## 📚 Documentation
|
|
167
|
+
|
|
168
|
+
- **[Getting Started](docs/getting_started.md)** - Quick start guide
|
|
169
|
+
- **[Pipelines](docs/pipelines.md)** - Pipeline creation and management
|
|
170
|
+
- **[GUI Guide](docs/gui.md)** - Desktop application usage
|
|
171
|
+
- **[Web Dashboard](docs/web.md)** - Web interface documentation
|
|
172
|
+
- **[API Reference](docs/api.md)** - Complete API documentation
|
|
173
|
+
- **[Development](docs/development.md)** - Contributing and development guide
|
|
174
|
+
|
|
175
|
+
## 🛠️ Development
|
|
176
|
+
|
|
177
|
+
### Prerequisites
|
|
178
|
+
- Python 3.8+
|
|
179
|
+
- Bioinformatics tools (optional, for testing)
|
|
180
|
+
|
|
181
|
+
### Setup
|
|
182
|
+
```bash
|
|
183
|
+
git clone https://github.com/biobuntu/biobuntu.git
|
|
184
|
+
cd biobuntu
|
|
185
|
+
pip install -e .
|
|
186
|
+
pip install pytest black flake8 # Development dependencies
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
### Testing
|
|
190
|
+
```bash
|
|
191
|
+
pytest # Run tests
|
|
192
|
+
black . # Format code
|
|
193
|
+
flake8 . # Check style
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
### Building Packages
|
|
197
|
+
```bash
|
|
198
|
+
./scripts/build_deb.sh # Debian package
|
|
199
|
+
./scripts/build_ppa.sh # PPA package
|
|
200
|
+
./scripts/build_conda.sh # Conda package
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
## 🤝 Contributing
|
|
204
|
+
|
|
205
|
+
We welcome contributions! Please see our [Development Guide](docs/development.md) for details.
|
|
206
|
+
|
|
207
|
+
1. Fork the repository
|
|
208
|
+
2. Create a feature branch
|
|
209
|
+
3. Make your changes
|
|
210
|
+
4. Add tests
|
|
211
|
+
5. Submit a pull request
|
|
212
|
+
|
|
213
|
+
## 📄 License
|
|
214
|
+
|
|
215
|
+
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
|
216
|
+
|
|
217
|
+
## 🙏 Acknowledgments
|
|
218
|
+
|
|
219
|
+
- Built with Python, Flask, Click, and tkinter
|
|
220
|
+
- Inspired by bioinformatics community needs
|
|
221
|
+
- Thanks to all contributors and users
|
|
222
|
+
|
|
223
|
+
## 📞 Support
|
|
224
|
+
|
|
225
|
+
- **Issues**: [GitHub Issues](https://github.com/biobuntu/biobuntu/issues)
|
|
226
|
+
- **Discussions**: [GitHub Discussions](https://github.com/biobuntu/biobuntu/discussions)
|
|
227
|
+
- **Documentation**: [Full Docs](docs/)
|
|
228
|
+
|
|
229
|
+
---
|
|
230
|
+
|
|
231
|
+
**BioBuntu** - Making bioinformatics accessible through modern interfaces and powerful automation.
|