Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,11 @@ A clear and concise description of what the bug is.
2. Run command '...'
3. See error

## ✅ Expected Behavior
## ✅ Expected Behaviour

A clear and concise description of what you expected to happen.

## ❌ Actual Behavior
## ❌ Actual Behaviour

What actually happened instead.

Expand Down
6 changes: 3 additions & 3 deletions .github/codeql/codeql-config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ on:

jobs:
# CodeQL analysis for supported languages
analyze:
analyse:
name: CodeQL Analyze (${{ matrix.language }})
runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }}
permissions:
Expand All @@ -35,7 +35,7 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v4

- name: Initialize CodeQL
- name: Initialise CodeQL
uses: github/codeql-action/init@v3
with:
# matrix.language is one of the languages above
Expand All @@ -53,4 +53,4 @@ jobs:
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
with:
category: "/language:${{matrix.language}}"
category: "/language:${{matrix.language}}"
2 changes: 1 addition & 1 deletion .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v6

- name: Initialize CodeQL using repo config
- name: Initialise CodeQL using repo config
uses: github/codeql-action/init@v4
with:
config-file: .github/codeql/codeql-config.yml
Expand Down
16 changes: 8 additions & 8 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ diverse, inclusive, and healthy community.

## Our Standards

Examples of behavior that contributes to a positive environment for our
Examples of behaviour that contributes to a positive environment for our
community include:

* Demonstrating empathy and kindness toward other people
Expand All @@ -25,7 +25,7 @@ community include:
* Focusing on what is best not just for us as individuals, but for the
overall community

Examples of unacceptable behavior include:
Examples of unacceptable behaviour include:

* The use of sexualised language or imagery, and sexual attention or
advances of any kind
Expand All @@ -39,8 +39,8 @@ Examples of unacceptable behavior include:
## Enforcement Responsibilities

Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
acceptable behaviour and will take appropriate and fair corrective action in
response to any behaviour that they deem inappropriate, threatening, offensive,
or harmful.

Community leaders have the right and responsibility to remove, edit, or reject
Expand All @@ -58,7 +58,7 @@ representative at an online or offline event.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be
Instances of abusive, harassing, or otherwise unacceptable behaviour may be
reported to the community leaders responsible for enforcement at
.
All complaints will be reviewed and investigated promptly and fairly.
Expand All @@ -73,12 +73,12 @@ the consequences for any action they deem in violation of this Code of Conduct:

### 1. Correction

**Community Impact**: Use of inappropriate language or other behavior deemed
**Community Impact**: Use of inappropriate language or other behaviour deemed
unprofessional or unwelcome in the community.

**Consequence**: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.
behaviour was inappropriate. A public apology may be requested.

### 2. Warning

Expand Down Expand Up @@ -106,7 +106,7 @@ Violating these terms may lead to a permanent ban.
### 4. Permanent Ban

**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
standards, including sustained inappropriate behaviour, harassment of an
individual, or aggression toward or disparagement of classes of individuals.

**Consequence**: A permanent ban from any sort of public interaction within
Expand Down
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ Rscript -e "install.packages('BiocManager'); BiocManager::install('dada2')"
### View Results

```bash
# Interactive taxonomy visualization
# Interactive taxonomy visualisation
open results/06-viz/taxa_krona.html

# ASV abundance table
Expand All @@ -106,9 +106,9 @@ FASTQ Input
[03] Chimera QC → VSEARCH UCHIME hybrid detection (GPU-optional)
[04] Taxonomy → RDP Classifier (Bayesian)
[05] Phylogenetics → FastTree 2 (ML tree, GPU-optional)
[06] Visualization → Krona interactive charts
[06] Visualisation → Krona interactive charts
Publication-Ready Tables + Interactive Visualization
Publication-Ready Tables + Interactive Visualisation
```

**Performance:**
Expand All @@ -132,7 +132,7 @@ NucleiTaxa/
│ ├── 03-chimera-vsearch.sh # Hybrid chimera detection
│ ├── 04-taxonomy-rdp.sh # Taxonomy assignment
│ ├── 05-phylo-fasttree.sh # Phylogenetic tree
│ └── 06-krona-viz.sh # Interactive visualization
│ └── 06-krona-viz.sh # Interactive visualisation
├── analytics/
│ ├── server/
│ │ └── nucleitaxa-server.cpp # C++ WebSocket backend
Expand Down Expand Up @@ -417,7 +417,7 @@ If you use NucleiTaxa in your research, please cite:

---

## 📄 License
## 📄 Licence

GNU General Public License v3.0 (GPL-3.0) - See [LICENSE](LICENSE) file

Expand Down
2 changes: 1 addition & 1 deletion SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ This security policy applies to:
- Official releases
- Documentation

## Acknowledgments
## Acknowledgements

We appreciate responsible disclosure and will acknowledge security researchers who report valid vulnerabilities.

Expand Down
18 changes: 9 additions & 9 deletions docs/CUDA_ACCELERATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
Do you have NVIDIA GPU?
├─ Yes, CUDA-capable (compute capability 3.0+)
│ ├─ Consumer GPU (GTX 1080, RTX 2080, etc.) → 10-50x speedup
│ ├─ Data center (A100, H100) → 50-200x speedup
│ ├─ Data centre (A100, H100) → 50-200x speedup
│ └─ Follow setup below
└─ No → Use CPU-only (default, fully supported)
Expand Down Expand Up @@ -140,7 +140,7 @@ vsearch --usearch_global test.fasta --db ref.fasta --id 0.85 --cuda

### Phase 3: FastTree GPU (Promising)
- **Status:** FastTree 2.1.0+ supports GPU via OpenCL (partial)
- **Alternative:** Use VeryFastTree (GPU-optimized phylogenetic inference)
- **Alternative:** Use VeryFastTree (GPU-optimised phylogenetic inference)
```bash
# Instead of FastTree 2
veryfasttree -nt -fastest -input input.fasta -output tree.nwk
Expand All @@ -149,9 +149,9 @@ vsearch --usearch_global test.fasta --db ref.fasta --id 0.85 --cuda
- **Implementation:** Add `--gpu-phylo` flag
- **Timeline:** Q2 2026

### Phase 4: WebGL Visualization (Client-side)
### Phase 4: WebGL Visualisation (Client-side)
- **Status:** D3.js + Three.js can leverage WebGL for GPU rendering
- **Optimization:** Ren 1M+ points on interactive charts
- **Optimisation:** Ren 1M+ points on interactive charts
- **Tools:** Pixi.js, Babylon.js for WebGL acceleration
- **Timeline:** Q3 2026

Expand Down Expand Up @@ -191,7 +191,7 @@ vsearch --usearch_global test.fasta --db ref.fasta --id 0.85 --cuda
watch -n 0.5 nvidia-smi

# During pipeline run, you should see:
# nvidia-smi output showing utilization %
# nvidia-smi output showing utilisation %
```

---
Expand Down Expand Up @@ -281,7 +281,7 @@ QIIME2 doesn't natively support GPU, but you can:

1. Run NucleiTaxa with `--cuda` to get faster denoising/taxonomy
2. Export results to QIIME2 format (already supported)
3. Continue analysis in QIIME2 with CPU (GPU gains already realized)
3. Continue analysis in QIIME2 with CPU (GPU gains already realised)

```bash
# Fast GPU denoising + chimera removal
Expand All @@ -299,7 +299,7 @@ qiime tools import \

**2025 Research:**
- VSEARCH GPU: Edgar et al. (2023) - CUDA implementation in mainline
- VeryFastTree: GPU-optimized phylogenetic inference (published 2024)
- VeryFastTree: GPU-optimised phylogenetic inference (published 2024)
- NVIDIA cuVS: 125x speedup for vector search (2025)

**Tools:**
Expand Down Expand Up @@ -346,7 +346,7 @@ GPU acceleration is an active research area! Contributions welcome:

- [ ] Implement DADA2 GPU kernels (CUDA/HIP)
- [ ] Add VeryFastTree integration
- [ ] Optimize WebGL rendering for 10M+ points
- [ ] Optimise WebGL rendering for 10M+ points
- [ ] Test on AMD GPUs (ROCm)
- [ ] Performance profiling + benchmarks

Expand All @@ -358,7 +358,7 @@ GPU acceleration is an active research area! Contributions welcome:
- ✅ VSEARCH GPU (done, native support)
- 🔄 DADA2 GPU (research, experimental)
- 🔄 VeryFastTree integration (ready to integrate)
- 📊 WebGL-accelerated visualization (frontend optimization)
- 📊 WebGL-accelerated visualisation (frontend optimisation)
- 🔬 End-to-end GPU pipeline for 100M+ read datasets

This is the bleeding-edge bioinformatics computing we're building! 🚀
8 changes: 4 additions & 4 deletions docs/PHASE_1_IMPLEMENTATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
- ✅ Added `--cuda-stages` for selective GPU acceleration (e.g., `--cuda-stages "03,05"`)
- ✅ Auto-detection: Runs `nvidia-smi` to verify GPU availability, gracefully falls back to CPU
- ✅ Enhanced logging with GPU status and execution times
- ✅ Stage-by-stage execution with color-coded output
- ✅ Stage-by-stage execution with colour-coded output

**Usage Examples:**
```bash
Expand Down Expand Up @@ -95,7 +95,7 @@ cat test_benchmarks/results.csv
| GPU Class | Expected Speedup | Notes |
|-----------|------------------|-------|
| RTX 2080 | 8-10x | Consumer GPU, good cost/performance |
| A100 | 12-15x | Enterprise GPU, memory-optimized |
| A100 | 12-15x | Enterprise GPU, memory-optimised |
| H100 | 15-20x | Latest NVIDIA, peak performance |
| **No GPU (CPU)** | **1.0x** | Baseline (4-6 threads) |

Expand Down Expand Up @@ -151,7 +151,7 @@ cat test_benchmarks/results.csv

1. **bin/nucleitaxa** (+85 lines)
- GPU detection and flag routing
- Enhanced logging with color codes
- Enhanced logging with colour codes
- Resume capability for failed runs

2. **pipeline/03-chimera-vsearch.sh** (+200 lines)
Expand Down Expand Up @@ -194,7 +194,7 @@ be07f7b [Main] Initial commit from cuda-expansion PR
- Status: Requires R/CUDA expertise, potential academic collaboration
- Alternative: Investigate cuDASH (if available)

### Phase 4: WebGL GPU Acceleration for Visualization (2-4 weeks)
### Phase 4: WebGL GPU Acceleration for Visualisation (2-4 weeks)
- D3.js + Three.js WebGL rendering
- GPU-accelerated taxonomy tree rendering
- Support for 1M+ sequences in interactive view
Expand Down
6 changes: 3 additions & 3 deletions pipeline/05-phylo-fasttree.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# NucleiTaxa Pipeline Stage 05: Phylogenetic Tree Construction
#
# FastTree 2 (ultra-fast maximum-likelihood tree inference)
# - 1000x faster than UPGMA or neighbor-joining
# - 1000x faster than UPGMA or neighbour-joining
# - Better accuracy for large alignments (10K+ sequences)
# - Suitable for microbiome ASV trees
#
Expand Down Expand Up @@ -141,7 +141,7 @@ log_info "=== Building Maximum-Likelihood Tree ==="
# -gtr: Use GTR model (more accurate than JC69)
# -gamma: Model gamma distribution of rates (accounting for site-to-site variation)
# -quiet: Minimal output
# Additional performance: -mlnni 4 (ML nearest neighbor interchanges)
# Additional performance: -mlnni 4 (ML nearest neighbour interchanges)

FASTTREE_OPTS="-nt -gtr -gamma -quiet"

Expand Down Expand Up @@ -304,7 +304,7 @@ OUTPUTS:
- phylo_metrics.txt (phylogenetic diversity)

NEXT STAGE:
Proceed to 06-krona-viz.sh for interactive taxonomy visualization
Proceed to 06-krona-viz.sh for interactive taxonomy visualisation

INTERPRETATION:
Tree branch lengths represent evolutionary distance
Expand Down
Loading
Loading