Workflow for read alignment, sorting, indexing, mapping statistics, and downstream-ready alignment artifacts.
The English summary is being prepared. Showing the original description.
Polish genome assemblies to reduce errors using short reads (Pilon), long reads (Racon), or ONT-specific tools (medaka). Essential for improving long-read assembly accuracy. Use when improving assembly accuracy with polishing tools.
The English summary is being prepared. Showing the original description.
See how to installReview the instructions the agent will receive before you install.
Reference examples tested with: BWA 0.7.17+, QUAST 5.2+, minimap2 2.26+, samtools 1.19+
Before using code patterns, verify installed versions match. If versions differ:
<tool> --version then <tool> --help to confirm flagsIf code throws ImportError, AttributeError, or TypeError, introspect the installed package and adapt the example to match the actual API rather than retrying.
"Polish my genome assembly" → Iteratively correct base-level errors in a draft assembly using short-read or long-read alignments.
pilon --genome draft.fa --frags short_reads.bam (short-read), medaka_polish (ONT), racon (long-read)| Tool | Input Reads | Best For |
|---|---|---|
| Pilon | Illumina | Final polishing |
| medaka | ONT | ONT assemblies |
| Racon | Long reads | Quick polishing |
| NextPolish | Both | Combined approach |
conda install -c bioconda pilon
# Map short reads to assembly
bwa index assembly.fasta
bwa mem -t 16 assembly.fasta R1.fq.gz R2.fq.gz | samtools sort -o aligned.bam
samtools index aligned.bam
# Run Pilon
pilon --genome assembly.fasta --frags aligned.bam --output polished
| Option | Description |
|---|---|
--genome | Input assembly |
--frags | Paired-end BAM |
--output | Output prefix |
--changes | Write changes file |
--vcf | Write VCF of changes |
--fix | What to fix (snps, indels, gaps, all) |
--threads | Threads for alignment |
--mindepth | Min depth for correction |
#!/bin/bash
ASSEMBLY=$1
R1=$2
R2=$3
ROUNDS=${4:-3}
current=$ASSEMBLY
for i in $(seq 1 $ROUNDS); do
echo "=== Pilon round $i ==="
bwa index $current
bwa mem -t 16 $current $R1 $R2 | samtools sort -o round${i}.bam
samtools index round${i}.bam
pilon --genome $current --frags round${i}.bam --output pilon_round${i} --changes
current=pilon_round${i}.fasta
changes=$(wc -l < pilon_round${i}.changes)
echo "Changes made: $changes"
if [ $changes -eq 0 ]; then
echo "No more changes, stopping"
break
fi
done
cp $current final_polished.fasta
# Only fix SNPs and small indels
pilon --genome assembly.fa --frags aligned.bam --output polished --fix snps,indels
# Only fill gaps
pilon --genome assembly.fa --frags aligned.bam --output polished --fix gaps
conda install -c bioconda medaka
medaka_consensus -i reads.fastq.gz -d assembly.fasta -o medaka_output -t 8
| Option | Description |
|---|---|
-i | Input reads |
-d | Draft assembly |
-o | Output directory |
-t | Threads |
-m | Model name |
# List available models
medaka tools list_models
# Use specific model (match your basecaller)
medaka_consensus -i reads.fq.gz -d assembly.fa -o output -m r1041_e82_400bps_sup_v5.1.0
| Chemistry | Model |
|---|---|
| R10.4.1 + SUP | r1041_e82_400bps_sup_* |
| R10.4.1 + HAC | r1041_e82_400bps_hac_* |
| R9.4.1 + SUP | r941_sup_* |
medaka_output/
├── consensus.fasta # Polished assembly
├── calls_to_draft.bam # Alignments
└── *.hdf # Intermediate files
conda install -c bioconda racon
# Map reads to assembly
minimap2 -ax map-ont assembly.fasta reads.fastq.gz > aligned.sam
# Polish
racon -t 16 reads.fastq.gz aligned.sam assembly.fasta > polished.fasta
#!/bin/bash
ASSEMBLY=$1
READS=$2
ROUNDS=${3:-3}
current=$ASSEMBLY
for i in $(seq 1 $ROUNDS); do
echo "=== Racon round $i ==="
minimap2 -ax map-ont $current $READS > round${i}.sam
racon -t 16 $READS round${i}.sam $current > racon_round${i}.fasta
current=racon_round${i}.fasta
done
cp $current racon_polished.fasta
| Option | Description |
|---|---|
-t | Threads |
-m | Match score (default: 3) |
-x | Mismatch score (default: -5) |
-g | Gap penalty (default: -4) |
-w | Window size (default: 500) |
Goal: Maximize assembly accuracy through iterative multi-tool polishing.
Approach: Apply Racon with long reads, then medaka for ONT-specific error correction, then Pilon with short reads for final accuracy.
#!/bin/bash
set -euo pipefail
ASSEMBLY=$1 # Flye assembly
ONT_READS=$2 # ONT reads
ILLUMINA_R1=$3 # Illumina R1
ILLUMINA_R2=$4 # Illumina R2
OUTDIR=$5
mkdir -p $OUTDIR
# Step 1: Racon polishing (2 rounds)
echo "=== Racon Polishing ==="
current=$ASSEMBLY
for i in 1 2; do
minimap2 -ax map-ont $current $ONT_READS > ${OUTDIR}/racon_${i}.sam
racon -t 16 $ONT_READS ${OUTDIR}/racon_${i}.sam $current > ${OUTDIR}/racon_${i}.fasta
current=${OUTDIR}/racon_${i}.fasta
done
# Step 2: medaka polishing
echo "=== medaka Polishing ==="
medaka_consensus -i $ONT_READS -d $current -o ${OUTDIR}/medaka -t 8
current=${OUTDIR}/medaka/consensus.fasta
# Step 3: Pilon polishing (2 rounds)
echo "=== Pilon Polishing ==="
for i in 1 2; do
bwa index $current
bwa mem -t 16 $current $ILLUMINA_R1 $ILLUMINA_R2 | samtools sort -o ${OUTDIR}/pilon_${i}.bam
samtools index ${OUTDIR}/pilon_${i}.bam
pilon --genome $current --frags ${OUTDIR}/pilon_${i}.bam --output ${OUTDIR}/pilon_${i}
current=${OUTDIR}/pilon_${i}.fasta
done
cp $current ${OUTDIR}/final_polished.fasta
echo "Done: ${OUTDIR}/final_polished.fasta"
conda install -c bioconda nextpolish
# Create config file
cat > run.cfg << EOF
[General]
job_type = local
job_prefix = nextPolish
task = best
rewrite = yes
rerun = 3
parallel_jobs = 2
multithread_jobs = 8
genome = assembly.fasta
genome_size = auto
workdir = ./01_rundir
[lgs_option]
lgs_fofn = lgs.fofn
lgs_options = -min_read_len 1k -max_depth 100
lgs_minimap2_options = -x map-ont
[sgs_option]
sgs_fofn = sgs.fofn
sgs_options = -max_depth 100
EOF
# File of filenames
ls reads.fastq.gz > lgs.fofn
ls R1.fq.gz R2.fq.gz > sgs.fofn
# Run
nextPolish run.cfg
Goal: Measure the accuracy improvement from polishing.
Approach: Compare original and polished assemblies with QUAST against a reference, and check alignment error rates.
After polishing, assess improvement:
# Compare to reference (if available)
quast.py -r reference.fa original.fa polished.fa -o quast_comparison
# Check error rate
minimap2 -ax map-ont polished.fa reads.fq.gz | samtools stats | grep "error rate"
No reviews yet. Tell others what you thought.
No login needed. Share how it worked for you, ask a question, or note where it did not run.
No comments yet. Be the first to write one.
Workflow for read alignment, sorting, indexing, mapping statistics, and downstream-ready alignment artifacts.
The English summary is being prepared. Showing the original description.
Validate protein designs using AlphaFold2 structure prediction. Use this skill when: (1) Validating designed sequences fold correctly, (2) Predicting binder-target complex structures, (3) Calculating confidence metrics (pLDDT, pTM, ipTM), (4) Self-consistency validation of designs, (5) Multi-chain complex prediction with AlphaFold-Multimer. For faster single-chain prediction, use esm. For QC thresholds, use protein-qc.
The English summary is being prepared. Showing the original description.
AlphaFold2 / AlphaFold-Multimer structure prediction for validation and confidence scoring. Use this skill when: (1) Validating designed sequences fold correctly, (2) Predicting binder-target complex structures, (3) Calculating confidence metrics (pLDDT, pTM, ipTM), (4) Self-consistency validation of designs, (5) Multi-chain complex prediction with AlphaFold-Multimer. For faster single-chain prediction, use esm2-sequence-scoring. For QC thresholds, use protein-design-qc.
The English summary is being prepared. Showing the original description.
Workflow for event-level and isoform-level splicing analysis with sashimi-ready outputs and splice QC.
The English summary is being prepared. Showing the original description.
ATAC-seq processing with assay QC, MACS3 peak calling, consensus peak matrices, differential accessibility, and motif or footprint follow-up.
The English summary is being prepared. Showing the original description.
End-to-end binder design using BindCraft hallucination. Use this skill when: (1) Designing protein binders with built-in AF2 validation, (2) Running production-quality binder campaigns, (3) Using different design protocols (fast, default, slow), (4) Need joint backbone and sequence optimization, (5) Want high experimental success rate. For backbone-only generation, use rfdiffusion. For QC thresholds, use protein-qc. For tool selection guidance, use binder-design.
The English summary is being prepared. Showing the original description.