티스토리 뷰

앰플리콘 시퀀싱

QIIME을 이용한 키메라 제거

메타지노믹스 2016. 12. 7. 03:07

QIIME을 이용해 키메라 (Chimera)를 제거하는 방법은 Usearch를 이용하는 것과 ChimeraSlayer를 이용하는 것 두가지가 있다.


1. usearch를 이용하는 방법

usearch61 은 QIIME기본설치에 포함되지 않기 때문에 따로 설치해야 한다. 그리고, usearch 명령어는 버전 5.2.236 그리고 usearch61은 버전 6.1.544가 설치되어야 한다. 이해하기 어렵지만 두개 버전이 모두 설치 되어야 하고, 최신 버전이 아닌 아래 제공되는 버전을 설치해야 한다. 설치하는 방법은 아래와 같다. 파일을 다운받아 시스템 폴더에 복사해 넣는 것으로 충분하다.  


curl -O https://raw.githubusercontent.com/edamame-course/2015-tutorials/master/QIIME_files/usearch5.2.236_i86linux32

sudo cp usearch5.2.236_i86linux32 /usr/local/bin/usearch

sudo chmod +x /usr/local/bin/usearch


curl -O https://raw.githubusercontent.com/edamame-course/2015-tutorials/master/QIIME_files/usearch6.1.544_i86linux32

sudo cp usearch6.1.544_i86linux32 /usr/local/bin/usearch61

sudo chmod +x /usr/local/bin/usearch61


usearch61의 장점은 속도가 빠르다는 것이다. 하지만 위에있는 무료 버전의 경우 메모리사용이 4Gb로 제한된다. 따라서 큰 데이터를 처리하기 위해서는 유료버전을 구입하거나 다른 프로그램을 사용해야 한다. 다행히 vsearch라는 프로그램이 usearch를 대체하기 위해 만들어져 무료로 제공된다. 설치는 아래와 같이 한다. 마지막 줄은 root계정에서 수행하거나 sudo를 이용한다. 혹시 '이거 치팅아닌가?'하는 생각이 들 수도 있는데, 실제 많은 연구에서 usearch 대신 vsearch를 사용해 publish하고 있다. 예를들어 여기, 여기, 여기에서 아래 방법을 사용했음을 볼 수 있다. 그리고 또한 아직은 알파버전이지만 앞으로 나올 QIIME2에서는 vsearch를 사용하게 된다. 


wget https://github.com/torognes/vsearch/archive/v2.3.3.tar.gz

tar xzf v2.3.3.tar.gz

cd vsearch-2.3.3

./autogen.sh

./configure

make

make install


약간의 트릭을 이용해 usearch61을 콜할때 vsearch를 사용하게 한다. 아래와 같이 링크를 만들어 준다.


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


usearch를 사용하기 위해서는 데이터베이스를 제공해 주어야한다. greengene 데이서 베이스를 아래와 같이 다운로드 받아 압축을 푼다.


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

tar -xvzf gg_otus_4feb2011.tgz


이제 QIIME을 이용해 키메라를 찾는다.  

identify_chimeric_seqs.py -i seqs.fna -m usearch61 -o usearch_checked_chimeras/ -r gg_97_otus_4feb2011.fasta


다음은 원래 시퀀스에서 앞에서 찾은 키메라를 제거해 준다.

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


이제 OTU를 찾아준다. 

pick_open_reference_otus.py -i combined_seqs_chimeras_filtered.fna -o uclust_openref_without_chimera/



2. ChimeraSlyer를 이용하는 방법 

 QIIME에서는 ChimeraSlyer를 default로 제공한다. 하지만 ChimeraSlyer를 이용하려면 pick_open_reference_otu.py 이후에 수행해야 한다. 그 이유는 프로그램이 align된 시퀀스를 사용하기 때문이다. 


아래와 같이 키메라 제거 없이 OTU를 찾았다고 하자.

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


이제 QIIME을 이용해 키메라를 찾는다

parallel_identify_chimeric_seqs.py -i uclust_openref/pynast_aligned_seqs/rep_set_aligned.fasta -m ChimeraSlayer -o uclust_openref/ChimeraSlayer/chimeric_seqs.txt


찾은 키메라를 제거해 준다.

filter_fasta.py -f uclust_openref/pynast_aligned_seqs/rep_set_aligned.fasta -o uclust_openref/ChimeraSlayer/non_chimeric_rep_set_aligned.fasta -s uclust_openref/ChimeraSlayer/chimeric_seqs.txt -n


OTU 테이블을 새로 만들어 준다.

make_otu_table.py -i uclust_openref/final_otu_map_mc2.txt -o uclust_openref/otu_table_mc2_noChmera.biom -e uclust_openref/ChimeraSlayer/chimeric_seqs.txt -t uclust_openref/uclust_assigned_taxonomy/rep_set_tax_assignments.txt


트리파일을 새로 만들어 준다. alignment 를 수행하고 트리 파일을 만든다. 

filter_alignment.py -i uclust_openref/ChimeraSlayer/non_chimeric_rep_set_aligned.fasta -o uclust_openref/ChimeraSlayer

make_phylogeny.py -i uclust_openref/ChimeraSlayer/non_chimeric_rep_set_aligned_pfiltered.fasta -o uclust_openref/non_chimeric_rep_set.tre 



댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
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
글 보관함