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.
Files changed (42) hide show
  1. biobuntu-1.2.2/LICENSE +21 -0
  2. biobuntu-1.2.2/PKG-INFO +252 -0
  3. biobuntu-1.2.2/README.md +231 -0
  4. biobuntu-1.2.2/biobuntu.egg-info/PKG-INFO +252 -0
  5. biobuntu-1.2.2/biobuntu.egg-info/SOURCES.txt +40 -0
  6. biobuntu-1.2.2/biobuntu.egg-info/dependency_links.txt +1 -0
  7. biobuntu-1.2.2/biobuntu.egg-info/entry_points.txt +2 -0
  8. biobuntu-1.2.2/biobuntu.egg-info/requires.txt +3 -0
  9. biobuntu-1.2.2/biobuntu.egg-info/top_level.txt +6 -0
  10. biobuntu-1.2.2/cli/__init__.py +0 -0
  11. biobuntu-1.2.2/cli/cli.py +116 -0
  12. biobuntu-1.2.2/core/__init__.py +0 -0
  13. biobuntu-1.2.2/core/config.py +19 -0
  14. biobuntu-1.2.2/core/engine.py +125 -0
  15. biobuntu-1.2.2/core/file_manager.py +6 -0
  16. biobuntu-1.2.2/core/logger.py +3 -0
  17. biobuntu-1.2.2/core/project_manager.py +79 -0
  18. biobuntu-1.2.2/core/runner.py +6 -0
  19. biobuntu-1.2.2/core/utils.py +2 -0
  20. biobuntu-1.2.2/gui/__init__.py +0 -0
  21. biobuntu-1.2.2/gui/main.py +10 -0
  22. biobuntu-1.2.2/gui/widgets/file_drop.py +38 -0
  23. biobuntu-1.2.2/gui/widgets/progress_bar.py +22 -0
  24. biobuntu-1.2.2/gui/windows/main_window.py +219 -0
  25. biobuntu-1.2.2/gui/windows/settings_window.py +45 -0
  26. biobuntu-1.2.2/pyproject.toml +49 -0
  27. biobuntu-1.2.2/setup.cfg +4 -0
  28. biobuntu-1.2.2/tests/test_cli.py +5 -0
  29. biobuntu-1.2.2/tests/test_engine.py +6 -0
  30. biobuntu-1.2.2/tests/test_web_routes_import.py +6 -0
  31. biobuntu-1.2.2/tests/test_workflows.py +4 -0
  32. biobuntu-1.2.2/tools/bwa.py +14 -0
  33. biobuntu-1.2.2/tools/fastqc.py +18 -0
  34. biobuntu-1.2.2/tools/gatk.py +14 -0
  35. biobuntu-1.2.2/tools/hisat2.py +21 -0
  36. biobuntu-1.2.2/tools/samtools.py +14 -0
  37. biobuntu-1.2.2/web/__init__.py +0 -0
  38. biobuntu-1.2.2/web/api.py +123 -0
  39. biobuntu-1.2.2/web/routes/__init__.py +1 -0
  40. biobuntu-1.2.2/web/routes/pipelines.py +20 -0
  41. biobuntu-1.2.2/web/routes/projects.py +67 -0
  42. 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.
@@ -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
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
29
+ [![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](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.
@@ -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
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
8
+ [![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](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.