bioinfo:long_read_assembly_2024

Long read assembly 2024

이 위키페이지는 2024년 여름에 다시 미생물 유전체 조립 업무를 시작하면서 개인적으로 사용하는 서버 환경에서 작업한 것을 기록하기 위하여 생성하였다.

  • AMD Ryzen 9 5950X 16-core processor, 128 GB memory
  • 작업 환경: Ubuntu 22.04.4 LTS
  • conda zga environment - canu, flye 등 long read assembly와 관련한 것이 여기에 설치되어 있다.

minimap2-miniasm 파이프라인

다시 이 문서를 이어서 쓰기 시작한 것은 2025년 여름이다. 같은 서버에서 conda 환경을 쓰지 않고 직접 필요한 프로그램, 즉 minimap2 2.24-r1122와 miniasm 0.3-r179을 GitHub 소스로부터 깔아서 설치하였다(/data/apps/). racon 1.5.0은 apt를 이용하여 설치하였고, 바이너리 파일은 전부 /usr/local/bin/에 복사하였다. 덩달아 필요했던 cmake는 좀 석연치 않은 상태로 설치되었다. ChatGPT에게 물어서 nanopore long read를 이용한 빠른 조립과 consensus 생성까지 해 주는 스크립트를 작성하라고 하였다. 더 정확한 consensus 생성 소프트웨어는 medaka인데, 기억이 가물가물… bactopia environment에 medaka가 설치되었던 흔적은 있는데 제대로 실행이 되지는 않아서 mamba로 다시 설치하였다.

#!/bin/bash

# 파일명: assemble_racon_only.sh
# 사용법: bash assemble_racon_only.sh ABAY09004.fq

set -e

READS=$1
BASENAME=$(basename "$READS" .fq)
THREADS=4  # CPU 쓰레드 수

# 1. read-to-read overlap 계산
echo "[1/5] Running minimap2 for overlaps..."
minimap2 -x ava-ont -t $THREADS "$READS" "$READS" > "$BASENAME.overlap.paf"

# 2. miniasm으로 layout 생성
echo "[2/5] Running miniasm..."
miniasm -f "$READS" "$BASENAME.overlap.paf" > "$BASENAME.gfa"

# 3. GFA → FASTA 변환
echo "[3/5] Converting GFA to FASTA..."
awk '/^S/{print ">"$2"\n"$3}' "$BASENAME.gfa" > "$BASENAME.assembly.fasta"

# 4. racon 1차 polishing
echo "[4/5] Running racon (1st round)..."
minimap2 -x map-ont -t $THREADS "$BASENAME.assembly.fasta" "$READS" > "$BASENAME.racon1.paf"
racon -t $THREADS "$READS" "$BASENAME.racon1.paf" "$BASENAME.assembly.fasta" > "$BASENAME.racon1.fasta"

# 5. racon 2차 polishing
echo "[5/5] Running racon (2nd round)..."
minimap2 -x map-ont -t $THREADS "$BASENAME.racon1.fasta" "$READS" > "$BASENAME.racon2.paf"
racon -t $THREADS "$READS" "$BASENAME.racon2.paf" "$BASENAME.racon1.fasta" > "$BASENAME.racon2.fasta"

echo "✅ Finished! Final polished assembly: $BASENAME.racon2.fasta"

이 스크립트를 이용하여 KAP220484의 두 nanopore sequencing raw read를 성공적으로 조립하였다.

bioinfo/long_read_assembly_2024.txt · Last modified: by hyjeong