User Tools

Site Tools


bioinfo:long_read_assembly_2024

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
bioinfo:long_read_assembly_2024 [2024/06/17 08:13] hyjeongbioinfo:long_read_assembly_2024 [2025/07/02 13:26] (current) hyjeong
Line 1: Line 1:
 ====== Long read assembly 2024 ====== ====== Long read assembly 2024 ======
 +이 위키페이지는 2024년 여름에 다시 미생물 유전체 조립 업무를 시작하면서 개인적으로 사용하는 서버 환경에서 작업한 것을 기록하기 위하여 생성하였다.
   * AMD Ryzen 9 5950X 16-core processor, 128 GB memory   * AMD Ryzen 9 5950X 16-core processor, 128 GB memory
   * 작업 환경: Ubuntu 22.04.4 LTS   * 작업 환경: 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"
 +
 +이 스크립트를 이용하여 [[https://kbds.re.kr/KAP220484|KAP220484]]의 두 nanopore sequencing raw read를 성공적으로 조립하였다.
bioinfo/long_read_assembly_2024.1718579612.txt.gz · Last modified: by hyjeong