티스토리 뷰
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
'앰플리콘 시퀀싱' 카테고리의 다른 글
Mothur에서 stability 파일 만들기 (0) | 2017.01.07 |
---|---|
R1, R2, I1, I2, 도대체 어떤게 시퀀스 파일이가? (4) | 2016.12.31 |
OTU 테이블 표준화 (normalization) (0) | 2016.12.30 |
QIIME 사용 방법 (파이프라인) (6) | 2016.11.26 |
16s 앰플리콘 시퀀스 분석을 위한 프로그램 (0) | 2016.11.18 |