/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.
- /aav-vector-design-agent
<!--
Open skill - /adaptyv
Cloud laboratory platform for automated protein testing and validation. Use when designing proteins and needing experimental validation including binding assays, expression testing, thermostability measurements, enzyme activity assays, or protein sequence optimization. Also use
Open skill - /adhd-daily-planner
Time-blind friendly planning, executive function support, and daily structure for ADHD brains. Specializes in realistic time estimation, dopamine-aware task design, and building systems that
Open skill - /aeon
This skill should be used for time series machine learning tasks including classification, regression, clustering, forecasting, anomaly detection, segmentation, and similarity search. Use when working with temporal data, sequential patterns, or time-indexed observations
Open skill - /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 whenever a browser would be useful, not just when the user explicitly asks.
Open skill - /agentd-drug-discovery
<!--
Open skill

