티스토리 뷰

앰플리콘 시퀀싱

QIIME 사용 방법 (파이프라인)

메타지노믹스 2016. 11. 26. 04:10

QIIME 사용법 

QIIME(차임) 을 이용해 16s 시퀀스를 분석하는 방법을 설명하고자 한다. 시퀀싱을 해주는 곳에 따라서 받게 되는 파일이 다를 수 있지만 기계에서 얻어지는 파일을  아무 작업 없이 받았다고 가정하고 글을 쓴다. 가끔 시퀀싱을 해주는 곳에서 퀄리티 트림, merge 등의 작업을 해서 보내주는 경우도 있으니 그런 경우에는 단계 중간에 맞는 부분부터 시작하면 된다. 만약 일루미나 Miseq 에서 시퀀싱을 했다면 세개의 파일을 받게 된다. 


1) Undetermined_S0_L001_R1_001.fastq.gz

2) Undetermined_S0_L001_R2_001.fastq.gz

3) Undetermined_S0_L001_I1_001.fastq.gz


1번 파일은 Paired end의 forward 시퀀스이다. 2번 파일은 reverse 시퀀스이다. 3번 파일은 인덱스 파일로 인덱스를 이용해 각 시퀀스들이 어느 샘플에서 왔는지 알려주는 역할을 한다. 여기에 QIIME을 돌리기 위해 한개의 파일이 추가로 필요한데, 매핑 파일이라고 부른다. 이 파일은 간혹 시퀑싱을 해주는 곳에서 제공해 주기도 하는데 그렇지 못한 경우에는 직접 만들어야 한다. 파일 예시는 여기서 볼 수 있다. 


1. Merge paired end reads

첫번째 단계는 Paired end 의 두개 파일을 하나로 합쳐 주는 것이다. 많은 경우에 16s amplicon sequencing에서는 paired end를 겹치게 디자인하기 때문에 이런 방법으로 좋은 퀄리티에 긴 시퀀스를 얻을 수 있다. 일루미나 시퀀싱의 경우 길이가 길어지면 뒷부분에서 퀄리티가 떨어지기 때문에 앞쪽에 높은 퀄리티 시퀀스를 양쪽에서 읽은 후에 합치는 방법을 사용한다. QIIME에서 default로 되어 있는 방법은 ea-utils에 포함되어 있는 fastq-join 이라는 프로그램을 사용한다. 아래 커맨드를 이용해 프로그램을 돌리면 fastq-join_joined 라는 폴더가 만들어지고 폴더 안에 합쳐진 시퀀스와 새로운 바코드(인덱스) 파일이 만들어진다.  


join_paired_ends.py -f Undetermined_S0_L001_R1_001.fastq.gz -r Undetermined_S0_L001_R2_001.fastq.gz -o fastq-join_joined -b Undetermined_S0_L001_I1_001.fastq.gz


2. Demultiplex

다음 단계는 바코드(인덱스)를 이용해 각 시퀀스의 샘플을 찾아주는 것이다. 이 과정을 demultiplex 라고 부른다. 위에서 만들어진 폴더 안으로 이동해 아래와 같이 커맨드를 입력한다. 이 과정에서 시퀀스를 샘플별로 나누는 동시에 퀄리티가 19이 이하인 것은 제거해 준다. 


split_libraries_fastq.py -i fastqjoin.join.fastq -b fastqjoin.join_barcodes.fastq -o out_q20/ -m ../mapping.txt -q 19 --rev_comp_mapping_barcodes --store_demultiplexed_fastq


3. Chimera detection

키메라(Chimera) 제거. 다음 단계는 시퀀싱 과정에서 생기는 잘못된 시퀀스들을 제거해 주는 것이다. 알려진 데이터베이스를 이용해 완전히 이상한 시퀀스이거나 단 한개만 존재하는 경우에 에러로 생각해 제거한다. 커맨드의 첫줄은 데이터베이스를 다운로드 받는 것이고, 두번째 줄은 압축을 풀고, 세번째 줄은 userach라는 프로그램을 이용해 chimera 를 찾는 것이고, 마지막줄은 찾은 chimera를 원래 시퀀스 파일에서 제거해 주는 것이다. 이렇게 하면 준비과정이 끝나게 된다. 


http://greengenes.lbl.gov/Download/Sequence_Data/Fasta_data_files/Caporaso_Reference_OTUs/gg_otus_4feb2011.tgz

tar -xvzf gg_otus_4feb2011.tgz

identify_chimeric_seqs.py -i combined_seqs.fna -m usearch61 -o usearch_checked_chimeras/ -r gg_otus_4feb2011/rep_set/gg_97_otus_4feb2011.fasta 

filter_fasta.py -f seqs.fna -o seqs_chimeras_filtered.fna -s usearch_checked_chimeras/chimeras.txt -n


참고: 

1. usearch61 은 기본 설치에 포함되지 않으므로 따로 설치해야 한다.

2. 무료 버전의 usearch61 은 메모리를 4Gb밖에 이용하지 못한다.

3. 덩치가 큰 데이터를 분석하려면 usearch 대신 vsearch를 이용할 수 있다. vsearch를 설치하고 링크를 만들어 사용한다.

ln -s /usr/local/bin/vsearch /usr/local/bin/usearch61


4. Open reference OTU picking

이제 본격적으로 QIIME 프로그램을 돌린다. 이 커맨드가 QIIME의 가장 핵심이라고 할 수 있다. 


pick_open_reference_otus.py -i seqs_chimeras_filtered.fna -o uclust_openref/


프로그램이 완료되면 폴더안에 많은 파일들이 생성된 것을 볼 수 있다. 가장 중요한 파일은 아래와 같다.

1) otu_table_mc2_w_tax.biom : 이 biom 파일안에 OTU table 과 Taxonomy assingment 정보가 들어있다. 

2) rep_set.tre : 트리 파일 

3) rep_set.fna : 각 OTU에 해당하는 시퀀스들 


위의 파일들은 R 과 같은 프로그램에서 읽어 분석을 수행할 수 있다. 


댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/03   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함