/bio-genome-assembly-metagenome-assembly
<!--
$ npx -y skills add FreedomIntelligence/OpenClaw-Medical-Skills --skill bio-genome-assembly-metagenome-assembly --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-metagenome-assembly
Context preview
The summary Claude sees to decide when to auto-load this skill.
<!--
SKILL.md
bio-genome-assembly-metagenome-assembly.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-metagenome-assembly description: Metagenome assembly from long reads using metaFlye and metaSPAdes with binning strategies. Use when reconstructing genomes from microbial communities, recovering metagenome-assembled genomes (MAGs), or resolving strain-level variation in complex samples. tool_type: cli primary_tool: metaFlye measurable_outcome: Execute skill workflow successfully with valid output within 15 minutes. allowed-tools:
- read_file
- run_shell_command
---
Metagenome Assembly
Overview
Metagenome assembly reconstructs genomes from mixed microbial communities. Long reads enable recovery of complete circular genomes and resolution of strain-level differences.
metaFlye (Long Reads)
# ONT metagenome assembly
flye --nano-raw reads.fastq.gz \
--meta \
--out-dir flye_meta \
--threads 32
# PacBio HiFi metagenome
flye --pacbio-hifi reads.hifi.fastq.gz \
--meta \
--out-dir flye_meta_hifi \
--threads 32
# Key output files:
# assembly.fasta - assembled contigs
# assembly_graph.gfa - assembly graph
# assembly_info.txt - contig statisticsmetaSPAdes (Short Reads)
# Illumina paired-end metagenome
metaspades.py -1 R1.fastq.gz -2 R2.fastq.gz \
-o spades_meta \
-t 32 \
-m 500
# With multiple libraries
metaspades.py \
--pe1-1 lib1_R1.fq.gz --pe1-2 lib1_R2.fq.gz \
--pe2-1 lib2_R1.fq.gz --pe2-2 lib2_R2.fq.gz \
-o spades_meta -t 32Hybrid Assembly
# Combine short and long reads
flye --nano-raw ont_reads.fastq.gz \
--meta \
--out-dir flye_hybrid \
--threads 32
# Polish with short reads
pilon --genome flye_hybrid/assembly.fasta \
--frags short_reads.bam \
--output polished \
--threads 16Key Parameters
metaFlye
| Parameter | Description | |-----------|-------------| | --meta | Metagenome mode (handles uneven coverage) | | --min-overlap | Minimum overlap for assembly (default: auto) | | --genome-size | Estimated total size (optional for meta) | | --iterations | Polishing iterations (default: 1) | | --keep-haplotypes | Preserve strain variants |
metaSPAdes
| Parameter | Description | |-----------|-------------| | -m | Memory limit in GB | | --only-assembler | Skip error correction | | -k | K-mer sizes (auto-selected by default) | | --phred-offset | Quality encoding (33 or 64) |
Binning Workflow
# Step 1: Map reads back to assembly
minimap2 -ax map-ont -t 32 assembly.fasta reads.fastq.gz | \
samtools sort -o mapped.bam -
# Step 2: Generate depth file
jgi_summarize_bam_contig_depths --outputDepth depth.txt mapped.bam
# Step 3: Bin with MetaBAT2
metabat2 -i assembly.fasta -a depth.txt -o bins/bin -t 32
# Step 4: Assess bin quality with CheckM2
checkm2 predict --input bins/ --output-directory checkm2_out -x fa --threads 32SemiBin2 (Deep Learning Binning)
# Single-sample binning
SemiBin2 single_easy_bin \
-i assembly.fasta \
-b mapped.bam \
-o semibin_out \
--environment global
# Multi-sample binning (better for time-series)
SemiBin2 multi_easy_bin \
-i assembly.fasta \
-b sample1.bam sample2.bam sample3.bam \
-o semibin_multiQuality Assessment
# Assembly stats
seqkit stats assembly.fasta
# CheckM2 for bin completeness
checkm2 predict -i bins/ -o checkm2_out -x fa -t 32
# GTDB-Tk for taxonomic classification
gtdbtk classify_wf --genome_dir bins/ --out_dir gtdbtk_out --cpus 32
# QUAST for assembly metrics
metaquast.py -o metaquast_out assembly.fasta -t 32
Circular Genome Detection
# Flye marks circular contigs in assembly_info.txt
grep "Y" flye_meta/assembly_info.txt | cut -f1 > circular_contigs.txt
# Extract circular contigs
seqkit grep -f circular_contigs.txt assembly.fasta > circular_genomes.fasta
Python Pipeline
import subprocess
from pathlib import Path
import pandas as pd
def run_metaflye(reads, output_dir, read_type='nano-raw', threads=32):
cmd = ['flye', f'--{read_type}', reads, '--meta', '--out-dir', output_dir, '--threads', str(threads)]
subprocess.run(cmd, check=True)
return Path(output_dir) / 'assembly.fasta'
def run_binning(assembly, bam, output_dir, threads=32):
depth_file = Path(output_dir) / 'depth.txt'
subprocess.run(['jgi_summarize_bam_contig_depths', '--outputDepth', str(depth_file), bam], check=True)
bins_dir = Path(output_dir) / 'bins'
bins_dir.mkdir(exist_ok=True)
subprocess.run(['metabat2', '-i', assembly, '-a', str(depth_file), '-o', str(bins_dir / 'bin'), '-t', str(threads)], check=True)
return bins_dir
def assess_bins(bins_dir, output_dir, threads=32):
subprocess.run(['checkm2', 'predict', '--input', str(bins_dir), '--output-directory', output_dir, '-x', 'fa', '--threads', str(threads)], check=True)
results = pd.read_csv(Path(output_dir) / 'quality_report.tsv', sep='\t')
high_quality = results[(results['Completeness'] > 90) & (results['Contamination'] < 5)]
return high_quality
# Example workflow
assembly = run_metaflye('ont_reads.fq.gz', 'flye_out')
bins = run_binning(str(assembly), 'mapped.bam', 'binning_out')
hq_bins = assess_bins(bins, 'checkm2_out')
print(f'High-quality MAGs: {len(hq_bins)}')Expected Outputs
| Metric | Good Assembly | |--------|---------------| | N50 | >50 kb | | Largest contig | >1 Mb | | HQ MAGs (>90% complete, <5% contam) | Varies by sample | | Circular genomes | Sample dependent |
Troubleshooting
| Issue | Solution | |-------|----------| | Few long contigs | Increase read depth or length | | High chimeric rate | Use --keep-haplotypes in Flye |
Read 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-metagenome-assembly description: Metagenome assembly from long reads using metaFlye and metaSPAdes with binning strategies. Use when reconstructing genomes from microbial communities, recovering metagenome-assembled genomes (MAGs), or resolving strain-level variation in complex samples. tool_type: cli primary_tool: metaFlye measurable_outcome: Execute skill workflow successfully with valid output within 15 minutes. allowed-tools:
- read_file
- run_shell_command
---
Metagenome Assembly
Overview
Metagenome assembly reconstructs genomes from mixed microbial communities. Long reads enable recovery of complete circular genomes and resolution of strain-level differences.
metaFlye (Long Reads)
# ONT metagenome assembly
flye --nano-raw reads.fastq.gz \
--meta \
--out-dir flye_meta \
--threads 32
# PacBio HiFi metagenome
flye --pacbio-hifi reads.hifi.fastq.gz \
--meta \
--out-dir flye_meta_hifi \
--threads 32
# Key output files:
# assembly.fasta - assembled contigs
# assembly_graph.gfa - assembly graph
# assembly_info.txt - contig statisticsmetaSPAdes (Short Reads)
# Illumina paired-end metagenome
metaspades.py -1 R1.fastq.gz -2 R2.fastq.gz \
-o spades_meta \
-t 32 \
-m 500
# With multiple libraries
metaspades.py \
--pe1-1 lib1_R1.fq.gz --pe1-2 lib1_R2.fq.gz \
--pe2-1 lib2_R1.fq.gz --pe2-2 lib2_R2.fq.gz \
-o spades_meta -t 32Hybrid Assembly
# Combine short and long reads
flye --nano-raw ont_reads.fastq.gz \
--meta \
--out-dir flye_hybrid \
--threads 32
# Polish with short reads
pilon --genome flye_hybrid/assembly.fasta \
--frags short_reads.bam \
--output polished \
--threads 16Key Parameters
metaFlye
| Parameter | Description | |-----------|-------------| | --meta | Metagenome mode (handles uneven coverage) | | --min-overlap | Minimum overlap for assembly (default: auto) | | --genome-size | Estimated total size (optional for meta) | | --iterations | Polishing iterations (default: 1) | | --keep-haplotypes | Preserve strain variants |
metaSPAdes
| Parameter | Description | |-----------|-------------| | -m | Memory limit in GB | | --only-assembler | Skip error correction | | -k | K-mer sizes (auto-selected by default) | | --phred-offset | Quality encoding (33 or 64) |
Binning Workflow
# Step 1: Map reads back to assembly
minimap2 -ax map-ont -t 32 assembly.fasta reads.fastq.gz | \
samtools sort -o mapped.bam -
# Step 2: Generate depth file
jgi_summarize_bam_contig_depths --outputDepth depth.txt mapped.bam
# Step 3: Bin with MetaBAT2
metabat2 -i assembly.fasta -a depth.txt -o bins/bin -t 32
# Step 4: Assess bin quality with CheckM2
checkm2 predict --input bins/ --output-directory checkm2_out -x fa --threads 32SemiBin2 (Deep Learning Binning)
# Single-sample binning
SemiBin2 single_easy_bin \
-i assembly.fasta \
-b mapped.bam \
-o semibin_out \
--environment global
# Multi-sample binning (better for time-series)
SemiBin2 multi_easy_bin \
-i assembly.fasta \
-b sample1.bam sample2.bam sample3.bam \
-o semibin_multiQuality Assessment
# Assembly stats seqkit stats assembly.fasta # CheckM2 for bin completeness checkm2 predict -i bins/ -o checkm2_out -x fa -t 32 # GTDB-Tk for taxonomic classification gtdbtk classify_wf --genome_dir bins/ --out_dir gtdbtk_out --cpus 32 # QUAST for assembly metrics metaquast.py -o metaquast_out assembly.fasta -t 32
Circular Genome Detection
# Flye marks circular contigs in assembly_info.txt grep "Y" flye_meta/assembly_info.txt | cut -f1 > circular_contigs.txt # Extract circular contigs seqkit grep -f circular_contigs.txt assembly.fasta > circular_genomes.fasta
Python Pipeline
import subprocess
from pathlib import Path
import pandas as pd
def run_metaflye(reads, output_dir, read_type='nano-raw', threads=32):
cmd = ['flye', f'--{read_type}', reads, '--meta', '--out-dir', output_dir, '--threads', str(threads)]
subprocess.run(cmd, check=True)
return Path(output_dir) / 'assembly.fasta'
def run_binning(assembly, bam, output_dir, threads=32):
depth_file = Path(output_dir) / 'depth.txt'
subprocess.run(['jgi_summarize_bam_contig_depths', '--outputDepth', str(depth_file), bam], check=True)
bins_dir = Path(output_dir) / 'bins'
bins_dir.mkdir(exist_ok=True)
subprocess.run(['metabat2', '-i', assembly, '-a', str(depth_file), '-o', str(bins_dir / 'bin'), '-t', str(threads)], check=True)
return bins_dir
def assess_bins(bins_dir, output_dir, threads=32):
subprocess.run(['checkm2', 'predict', '--input', str(bins_dir), '--output-directory', output_dir, '-x', 'fa', '--threads', str(threads)], check=True)
results = pd.read_csv(Path(output_dir) / 'quality_report.tsv', sep='\t')
high_quality = results[(results['Completeness'] > 90) & (results['Contamination'] < 5)]
return high_quality
# Example workflow
assembly = run_metaflye('ont_reads.fq.gz', 'flye_out')
bins = run_binning(str(assembly), 'mapped.bam', 'binning_out')
hq_bins = assess_bins(bins, 'checkm2_out')
print(f'High-quality MAGs: {len(hq_bins)}')Expected Outputs
| Metric | Good Assembly | |--------|---------------| | N50 | >50 kb | | Largest contig | >1 Mb | | HQ MAGs (>90% complete, <5% contam) | Varies by sample | | Circular genomes | Sample dependent |
Troubleshooting
| Issue | Solution | |-------|----------| | Few long contigs | Increase read depth or length | | High chimeric rate | Use --keep-haplotypes in Flye |
The 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…

