User Tools

Site Tools


all_about_illumina_sequence_assembly_for_microbial_genomes

Differences

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

Link to this comparison view

all_about_illumina_sequence_assembly_for_microbial_genomes [2017/10/13 16:48] – [개요] hyjeongall_about_illumina_sequence_assembly_for_microbial_genomes [2021/03/17 13:09] (current) – external edit 127.0.0.1
Line 1: Line 1:
 ====== All about Illumina sequence assembly for microbial genomes ====== ====== All about Illumina sequence assembly for microbial genomes ======
-gzip 압축이 된 **Illumina paired fastq file**(file_1.fastq.gz & file_2.fastq.gz)을 시작점으로 한다. 여기에서 다루는 방법은 어디까지나 나의 경험에 의한 제안일 뿐, 반드시 이를 지켜야 하는 것은 아니다. 생소한 이름의 shell script는 내가 직접 작성하거나, 인터넷에 공유된 것을 수정한 것이다. 이 페이지는 아직 완성되지 않은 상태이다.+본 문서에서 소개한 사례에서는 gzip 압축이 된 **Illumina paired fastq file**(file_1.fastq.gz & file_2.fastq.gz)을 시작점으로 한다. 여기에서 다루는 방법은 어디까지나 나의 경험에 의한 제안일 뿐, 반드시 이를 지켜야 하는 것은 아니다. 생소한 이름의 shell script는 내가 직접 작성하거나, 인터넷에 공유된 것을 수정한 것이다. 이 페이지는 아직 완성되지 않은 상태이다. 
 +===== 이제 3세대 시퀀싱 기법(3GS)의 시대 아닌가? ===== 
 +맞다! PacBio RSII이 de novo sequencing의 새로운 강자로 부상하고 있고, Oxford Nanopore Technologies의 nanopore sequencing도 점점 많은 사람들의 관심을 끌고 있다. 그럼에도 불구하고 일루미나 시퀀싱 데이터를 이용한 분석 작업을 비용 대비 throughput이 가장 높은 방법으로서 여전히 중요하다고 생각한다. 본인 역시 3GS를 활발하게 사용하고 있으며, 이를 활용하기 위한 소프트웨어를 익힌는 데에도 열심이다.
 ===== 일반적인 주의사항 ===== ===== 일반적인 주의사항 =====
 ==== Read length ==== ==== Read length ====
Line 29: Line 31:
   $ sh file_1.sh   $ sh file_1.sh
   $ sh file_2.sh   $ sh file_2.sh
-  +2020년 5월 현재에는 이렇게 무식한(?) 방법으로 fastq 파일 이름을 정리하지 않는다. 원본의 파일 이름이 밑줄('_')로 구분된 컬럼을 갖고 있고, 그 중에서 만약 첫번째와 네번째 것을 남기고 싶다면 다음과 같이 하면 된다. 네번째 필드는 보통 판독 방향을 나타내므로(R1 or R2), 이어서 _1과 _2로 바꾸거나 혹은 그냥 놔두어도 보통의 프로그램은 다 알아먹는다.  
 +  $ ls *fastq | while read f 
 +  > do 
 +  > cut -d_ -f1,3 $(<<<$f) 
 +  > done
 ===== FastQC를 이용한 기본적인 QC ===== ===== FastQC를 이용한 기본적인 QC =====
 여기서 QC라 함은 원본 시퀀싱 데이터 파일(fastq)에 변화를 가하지 않고 단지 quality에 대한 평가를 하는 일을 뜻힌다. 따라서 수치와 도표로 표현되는 보고서가 주된 결과물이다. 매우 널리 쓰이는 QC 도구인 [[https://www.bioinformatics.babraham.ac.uk/projects/fastqc/|FastQC]]를 다음과 같이 사용하면 하나의 입력 파일 file_1.fastq(.gz)에 대해서 file_1_fastq.html 및 file_1_fastq.zip이 생성된다. 여기서 QC라 함은 원본 시퀀싱 데이터 파일(fastq)에 변화를 가하지 않고 단지 quality에 대한 평가를 하는 일을 뜻힌다. 따라서 수치와 도표로 표현되는 보고서가 주된 결과물이다. 매우 널리 쓰이는 QC 도구인 [[https://www.bioinformatics.babraham.ac.uk/projects/fastqc/|FastQC]]를 다음과 같이 사용하면 하나의 입력 파일 file_1.fastq(.gz)에 대해서 file_1_fastq.html 및 file_1_fastq.zip이 생성된다.
Line 46: Line 52:
 Sequencing reads(fastq file)의 전처리기는 위에서 나열한 작업 종류만큼 다양한 것들이 존재한다. 어떤 것은 QC plot의 생성을 겸하는 것도 있고(Prinseq), 일반적인 서열 조작 기능에 충실한 것도 있다(FASTX-toolkit). Quality-based trimming이 주요 기능인 sickle, 어댑터 제거에도 중점을 둔 trimmomatic, 복합적인 기능의 HTQC 등등. Sequencing reads(fastq file)의 전처리기는 위에서 나열한 작업 종류만큼 다양한 것들이 존재한다. 어떤 것은 QC plot의 생성을 겸하는 것도 있고(Prinseq), 일반적인 서열 조작 기능에 충실한 것도 있다(FASTX-toolkit). Quality-based trimming이 주요 기능인 sickle, 어댑터 제거에도 중점을 둔 trimmomatic, 복합적인 기능의 HTQC 등등.
  
-[[http://www.usadellab.org/cms/?page=trimmomatic|trimmomatic]]과 khmer 패키지([[http://khmer.readthedocs.org/en/v2.0/|website]] [[http://www.ncbi.nlm.nih.gov/pubmed/26535114|논문 링크]])의 interleave-reads.py 스크립트가 필요하다. 보통 read가 부족한 경우는 없으므로 orphan file은 제거하도록 하였다. 결과물은 file.pe.fq이다. 총 bp 수, read 수 및 평균 read 길이와 같은 기본 정보가 필요하면 khmer 패키지에 포함된 readstats.py 스크립트가 매우 유용하다. [[myIllu_01.trimPE.sh|myIllu_01_trimPE.sh]] 쉘 스크립트가 결코 완벽한 것은 아니다. 생각 같아서는 가장 처음 작업으로서 read의 맨 앞부분을 5-6 bp 정도 제거하고, 처리 후에는 필터나 교정 기능을 적용하는 것이 더욱 완벽한 방법일지도 모른다.+이 페이지에서 중점적으로 다루는 전처리 기법에서는 [[http://www.usadellab.org/cms/?page=trimmomatic|trimmomatic]]과 khmer 패키지([[http://khmer.readthedocs.org/en/v2.0/|website]] [[http://www.ncbi.nlm.nih.gov/pubmed/26535114|논문 링크]])의 interleave-reads.py 스크립트가 필요하다. 보통 read가 부족한 경우는 없으므로 orphan file은 제거하도록 하였다. 결과물은 file.pe.fq이다. 총 bp 수, read 수 및 평균 read 길이와 같은 기본 정보가 필요하면 khmer 패키지에 포함된 readstats.py 스크립트가 매우 유용하다. [[myIllu_01.trimPE.sh|myIllu_01_trimPE.sh]] 쉘 스크립트가 결코 완벽한 것은 아니다. 생각 같아서는 가장 처음 작업으로서 read의 맨 앞부분을 5-6 bp 정도 제거하고, 처리 후에는 필터나 교정 기능을 적용하는 것이 더욱 완벽한 방법일지도 모른다.
   $ myIllu_01_trimPE.sh file_1.fastq.gz file_2.fastq.gz # file-trim.pe.fq 생성   $ myIllu_01_trimPE.sh file_1.fastq.gz file_2.fastq.gz # file-trim.pe.fq 생성
      
Line 101: Line 107:
   $ /usr/local/apps/ngopt/bin/a5_pipeline.pl --threads=24 file_1.fastq.gz file_2.fastq.gz a5-out   $ /usr/local/apps/ngopt/bin/a5_pipeline.pl --threads=24 file_1.fastq.gz file_2.fastq.gz a5-out
 === 2. Mixed mode === === 2. Mixed mode ===
-교정을 마친 read file을 a5-out.ec.fastq로 명명해 둔다. 원본 파일(file.pe.fq)과 이름을 맞추지 않아도 된다. mixed mode에서 인수로 주어지는 file.pe.fq(염기 교정 전)은 실제로는 scaffolding에만 쓰인다. 따라서 a5-out.ec.fastq를 인수로 주어도 상관이 없을 것이다.+교정을 마친 read file을 a5-out.**ec.fastq**로 명명해 둔다. 원본 파일(file.pe.fq)과 이름을 맞추지 않아도 된다. mixed mode에서 인수로 주어지는 file.pe.fq(염기 교정 전)은 실제로는 scaffolding에만 쓰인다. 따라서 a5-out.ec.fastq를 인수로 주어도 상관이 없을 것이다.
   $ /usr/local/apps/ngopt/bin/a5_pipeline.pl --threads=24 --begin=2 --end=5 file.pe.fq a5-out   $ /usr/local/apps/ngopt/bin/a5_pipeline.pl --threads=24 --begin=2 --end=5 file.pe.fq a5-out
  
all_about_illumina_sequence_assembly_for_microbial_genomes.1507880938.txt.gz · Last modified: (external edit)