/bio-genome-assembly-assembly-qc
<!--
$ npx -y skills add FreedomIntelligence/OpenClaw-Medical-Skills --skill bio-genome-assembly-assembly-qc --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/bio-genome-assembly-assembly-qc
Context preview
The summary Claude sees to decide when to auto-load this skill.
<!--
SKILL.md
bio-genome-assembly-assembly-qc.SKILL.md<!--
COPYRIGHT NOTICE
This file is part of the "Universal Biomedical Skills" project.
Copyright (c) 2026 MD BABU MIA, PhD <md.babu.mia@mssm.edu>
All Rights Reserved.
#
This code is proprietary and confidential.
Unauthorized copying of this file, via any medium is strictly prohibited.
#
Provenance: Authenticated by MD BABU MIA
-->
--- name: bio-genome-assembly-assembly-qc description: Assess genome assembly quality using QUAST for contiguity metrics and BUSCO for completeness. Essential for evaluating assembly success and comparing assemblers. Use when evaluating assembly completeness and quality. tool_type: cli primary_tool: QUAST measurable_outcome: Execute skill workflow successfully with valid output within 15 minutes. allowed-tools:
- read_file
- run_shell_command
---
Assembly QC
Evaluate genome assembly quality with contiguity metrics (QUAST) and gene completeness (BUSCO).
Key Metrics
| Metric | Good Assembly | |--------|---------------| | N50 | High (relative to genome) | | L50 | Low | | Contigs | Few | | Misassemblies | 0 (with reference) | | BUSCO Complete | >95% | | BUSCO Duplicated | <5% (unless polyploid) |
QUAST
Installation
conda install -c bioconda quast
Basic Usage
quast.py assembly.fasta -o quast_output
With Reference Genome
quast.py assembly.fasta -r reference.fasta -o quast_output
Compare Multiple Assemblies
quast.py assembly1.fa assembly2.fa assembly3.fa -o comparison
Key Options
| Option | Description | |--------|-------------| | `-o` | Output directory | | `-r` | Reference genome | | `-g` | Gene annotations (GFF) | | `-t` | Threads | | `-m` | Min contig length (default: 500) | | `--large` | For large genomes (>100Mb) | | `--fragmented` | For highly fragmented assemblies | | `--scaffolds` | Input is scaffolds (includes N-gaps) |
With Gene Annotations
quast.py assembly.fasta -r reference.fasta -g genes.gff -o quast_output
For Large Genomes
quast.py --large assembly.fasta -o quast_output -t 16
Output Files
quast_output/
├── report.txt # Summary statistics
├── report.html # Interactive report
├── report.tsv # Tab-separated stats
├── icarus.html # Contig viewer
└── aligned_stats/ # If reference provided
Key Output Metrics
| Metric | Description | |--------|-------------| | Total length | Sum of contig lengths | | # contigs | Number of contigs (>= min length) | | Largest contig | Length of largest contig | | N50 | 50% of assembly in contigs >= this length | | N90 | 90% of assembly in contigs >= this length | | L50 | Number of contigs comprising N50 | | GC % | GC content | | # misassemblies | With reference: structural errors | | Genome fraction | With reference: % of reference covered |
BUSCO
Installation
conda install -c bioconda busco
Basic Usage
busco -i assembly.fasta -m genome -l bacteria_odb10 -o busco_output
Key Options
| Option | Description | |--------|-------------| | `-i` | Input assembly | | `-m` | Mode: genome, proteins, transcriptome | | `-l` | Lineage dataset | | `-o` | Output name | | `-c` | CPU threads | | `--auto-lineage` | Auto-detect lineage | | `--offline` | Use downloaded datasets only | | `--list-datasets` | List available lineages |
List Available Lineages
busco --list-datasets
Common Lineages
| Lineage | Use For | |---------|---------| | bacteria_odb10 | Bacteria | | archaea_odb10 | Archaea | | eukaryota_odb10 | General eukaryote | | fungi_odb10 | Fungi | | metazoa_odb10 | Animals | | vertebrata_odb10 | Vertebrates | | mammalia_odb10 | Mammals | | viridiplantae_odb10 | Plants | | saccharomycetes_odb10 | Yeasts |
Auto-Lineage Detection
busco -i assembly.fasta -m genome --auto-lineage -o busco_output
Output Files
busco_output/
├── short_summary.txt # Quick summary
├── full_table.tsv # All BUSCO results
├── missing_busco_list.tsv # Missing genes
└── busco_sequences/ # BUSCO gene sequences
Interpret Results
C:98.5%[S:97.0%,D:1.5%],F:0.5%,M:1.0%,n:4085
C - Complete (total)
S - Single-copy
D - Duplicated
F - Fragmented
M - Missing
n - Total BUSCO groups
Quality Thresholds
| Quality | Complete | Missing | |---------|----------|---------| | Excellent | >95% | <2% | | Good | >90% | <5% | | Acceptable | >80% | <10% | | Poor | <80% | >10% |
Complete QC Workflow
#!/bin/bash
set -euo pipefail
ASSEMBLY=$1
REFERENCE=${2:-}
LINEAGE=${3:-bacteria_odb10}
OUTDIR=${4:-assembly_qc}
mkdir -p $OUTDIR
echo "=== Assembly QC ==="
# QUAST
echo "Running QUAST..."
if [ -n "$REFERENCE" ]; then
quast.py $ASSEMBLY -r $REFERENCE -o ${OUTDIR}/quast -t 8
else
quast.py $ASSEMBLY -o ${OUTDIR}/quast -t 8
fi
# BUSCO
echo "Running BUSCO..."
busco -i $ASSEMBLY -m genome -l $LINEAGE -o busco_run -c 8
mv busco_run ${OUTDIR}/busco
# Summary
echo ""
echo "=== QUAST Summary ==="
cat ${OUTDIR}/quast/report.txt
echo ""
echo "=== BUSCO Summary ==="
cat ${OUTDIR}/busco/short_summary*.txt
echo ""
echo "Reports saved to $OUTDIR"Compare Assemblies
QUAST Comparison
quast.py \
spades_assembly.fa \
flye_assembly.fa \
canu_assembly.fa \
-r reference.fa \
-l "SPAdes,Flye,Canu" \
-o assembly_comparisonBUSCO Comparison
# Run BUSCO on each assembly
for asm in spades.fa flye.fa canu.fa; do
name=$(basename $asm .fa)
busco -i $asm -m genome -l bacteria_odb10 -o busco_${name}
done
# Generate comparison plot
generate_plot.py -wd . busco_spades busco_flye busco_canuPython: Parse QUAST Output
import pandas as pd
def parse_quast(report_tsv):
'''Parse QUAST report.tsv file.'''
df = pd.read_csv(report_tsv, sep='\t', index_col=0)
return df.T
stats = parse_quast('quast_output/report.tsv')
print(f"N50: {stats['N50'].values[0]}")
printRead more
<!--
COPYRIGHT NOTICE
This file is part of the "Universal Biomedical Skills" project.
Copyright (c) 2026 MD BABU MIA, PhD <md.babu.mia@mssm.edu>
All Rights Reserved.
#
This code is proprietary and confidential.
Unauthorized copying of this file, via any medium is strictly prohibited.
#
Provenance: Authenticated by MD BABU MIA
-->
--- name: bio-genome-assembly-assembly-qc description: Assess genome assembly quality using QUAST for contiguity metrics and BUSCO for completeness. Essential for evaluating assembly success and comparing assemblers. Use when evaluating assembly completeness and quality. tool_type: cli primary_tool: QUAST measurable_outcome: Execute skill workflow successfully with valid output within 15 minutes. allowed-tools:
- read_file
- run_shell_command
---
Assembly QC
Evaluate genome assembly quality with contiguity metrics (QUAST) and gene completeness (BUSCO).
Key Metrics
| Metric | Good Assembly | |--------|---------------| | N50 | High (relative to genome) | | L50 | Low | | Contigs | Few | | Misassemblies | 0 (with reference) | | BUSCO Complete | >95% | | BUSCO Duplicated | <5% (unless polyploid) |
QUAST
Installation
conda install -c bioconda quast
Basic Usage
quast.py assembly.fasta -o quast_output
With Reference Genome
quast.py assembly.fasta -r reference.fasta -o quast_output
Compare Multiple Assemblies
quast.py assembly1.fa assembly2.fa assembly3.fa -o comparison
Key Options
| Option | Description | |--------|-------------| | `-o` | Output directory | | `-r` | Reference genome | | `-g` | Gene annotations (GFF) | | `-t` | Threads | | `-m` | Min contig length (default: 500) | | `--large` | For large genomes (>100Mb) | | `--fragmented` | For highly fragmented assemblies | | `--scaffolds` | Input is scaffolds (includes N-gaps) |
With Gene Annotations
quast.py assembly.fasta -r reference.fasta -g genes.gff -o quast_output
For Large Genomes
quast.py --large assembly.fasta -o quast_output -t 16
Output Files
quast_output/ ├── report.txt # Summary statistics ├── report.html # Interactive report ├── report.tsv # Tab-separated stats ├── icarus.html # Contig viewer └── aligned_stats/ # If reference provided
Key Output Metrics
| Metric | Description | |--------|-------------| | Total length | Sum of contig lengths | | # contigs | Number of contigs (>= min length) | | Largest contig | Length of largest contig | | N50 | 50% of assembly in contigs >= this length | | N90 | 90% of assembly in contigs >= this length | | L50 | Number of contigs comprising N50 | | GC % | GC content | | # misassemblies | With reference: structural errors | | Genome fraction | With reference: % of reference covered |
BUSCO
Installation
conda install -c bioconda busco
Basic Usage
busco -i assembly.fasta -m genome -l bacteria_odb10 -o busco_output
Key Options
| Option | Description | |--------|-------------| | `-i` | Input assembly | | `-m` | Mode: genome, proteins, transcriptome | | `-l` | Lineage dataset | | `-o` | Output name | | `-c` | CPU threads | | `--auto-lineage` | Auto-detect lineage | | `--offline` | Use downloaded datasets only | | `--list-datasets` | List available lineages |
List Available Lineages
busco --list-datasets
Common Lineages
| Lineage | Use For | |---------|---------| | bacteria_odb10 | Bacteria | | archaea_odb10 | Archaea | | eukaryota_odb10 | General eukaryote | | fungi_odb10 | Fungi | | metazoa_odb10 | Animals | | vertebrata_odb10 | Vertebrates | | mammalia_odb10 | Mammals | | viridiplantae_odb10 | Plants | | saccharomycetes_odb10 | Yeasts |
Auto-Lineage Detection
busco -i assembly.fasta -m genome --auto-lineage -o busco_output
Output Files
busco_output/ ├── short_summary.txt # Quick summary ├── full_table.tsv # All BUSCO results ├── missing_busco_list.tsv # Missing genes └── busco_sequences/ # BUSCO gene sequences
Interpret Results
C:98.5%[S:97.0%,D:1.5%],F:0.5%,M:1.0%,n:4085 C - Complete (total) S - Single-copy D - Duplicated F - Fragmented M - Missing n - Total BUSCO groups
Quality Thresholds
| Quality | Complete | Missing | |---------|----------|---------| | Excellent | >95% | <2% | | Good | >90% | <5% | | Acceptable | >80% | <10% | | Poor | <80% | >10% |
Complete QC Workflow
#!/bin/bash
set -euo pipefail
ASSEMBLY=$1
REFERENCE=${2:-}
LINEAGE=${3:-bacteria_odb10}
OUTDIR=${4:-assembly_qc}
mkdir -p $OUTDIR
echo "=== Assembly QC ==="
# QUAST
echo "Running QUAST..."
if [ -n "$REFERENCE" ]; then
quast.py $ASSEMBLY -r $REFERENCE -o ${OUTDIR}/quast -t 8
else
quast.py $ASSEMBLY -o ${OUTDIR}/quast -t 8
fi
# BUSCO
echo "Running BUSCO..."
busco -i $ASSEMBLY -m genome -l $LINEAGE -o busco_run -c 8
mv busco_run ${OUTDIR}/busco
# Summary
echo ""
echo "=== QUAST Summary ==="
cat ${OUTDIR}/quast/report.txt
echo ""
echo "=== BUSCO Summary ==="
cat ${OUTDIR}/busco/short_summary*.txt
echo ""
echo "Reports saved to $OUTDIR"Compare Assemblies
QUAST Comparison
quast.py \
spades_assembly.fa \
flye_assembly.fa \
canu_assembly.fa \
-r reference.fa \
-l "SPAdes,Flye,Canu" \
-o assembly_comparisonBUSCO Comparison
# Run BUSCO on each assembly
for asm in spades.fa flye.fa canu.fa; do
name=$(basename $asm .fa)
busco -i $asm -m genome -l bacteria_odb10 -o busco_${name}
done
# Generate comparison plot
generate_plot.py -wd . busco_spades busco_flye busco_canuPython: Parse QUAST Output
import pandas as pd
def parse_quast(report_tsv):
'''Parse QUAST report.tsv file.'''
df = pd.read_csv(report_tsv, sep='\t', index_col=0)
return df.T
stats = parse_quast('quast_output/report.tsv')
print(f"N50: {stats['N50'].values[0]}")
printThe largest open-source medical AI skill library for OpenClaw.
Other skills on openclaw-medical-skills.
adaptyv
Cloud laboratory platform for automated protein testing and validation. Use when designing proteins and needing experimental validation including binding…
adhd-daily-planner
Time-blind friendly planning, executive function support, and daily structure for ADHD brains. Specializes in realistic time estimation, dopamine-aware task…
aeon
This skill should be used for time series machine learning tasks including classification, regression, clustering, forecasting, anomaly detection,…
agent-browser
Browse the web for any task — research topics, read articles, interact with web apps, fill forms, take screenshots, extract data, and test web pages. Use…

