화요일, 12월 06, 2016

getopts.pl 이 없다면!!!

perl script를 실행시킬때 Can't locate getopts.pl 이라는 에러가 났을때

당신의 OS가 우분투라면?

apt-get install libperl4-corelibs-perl
로 해결가능합니다. orz

월요일, 12월 05, 2016

16S rRNA와 시퀀싱플랫폼

블로그에 쓰는 내용이 16S rRNA에 많이 집중되고 있긴하죠? ㅎㅎ
하는일이 이거다보니.. :)

여튼 오늘은 16S rRNA와 시퀀싱플랫폼에 대해서 잠시 이야기 하도록 하겠습니다.

최근 16S rRNA sequencing의 최강자 454가 서비스를 bye bye한 관계로
많은 연구자들이 MiSeq체제로 변환하고 있는데 (물론 Ion도 있고, PacBio도 있습니다.)
기존에 454를 사용했을 때와 다른 V region을 사용하고 다소 다른 결과들을 보이는 것들이
있을 것 입니다. 그래서 이리저리 검색하다가 걸린 논문 두 개를 가지고 잠시 얘기해보고자 합니다.

Nucl. Acids Res. (2010) 38 (22): e200.

PeerJ (2016) 4:e1869

논문을 찾아보기 시작한 이유는 454가 막을 내린 후 다른 시퀀싱 플랫폼에서는 왜 다른 region을 target하고 있고 왜 diversity에 차이를 보이는지... (내가 분석을 잘못했나.. ㅎㄷㄷㄷ)

우선 V region, 454는 V1-V2였는데 MiSeq은 V4 region을, Ion은 4개 region? 7개 region? 을 동시에target하고 있다는..

모 논문보면 아시겠지만
2010년 논문은 454 vs MiSeq을 비교했습니다. 두 플랫폼이 차이가 날까? 어떤것이 차이가 날까?

2010년도 논문을 한장 figure 요약하자면 이거죠



상단은 phylum abundance/ 하단은 genus abundance 그리고 좌측에 있는 V4는 이전 연구에서 사용되었던 기준이라고 생각되는 참고용 분포입니다. 실험 결과가 V4 region이 저 분포를 나타내면 실험이 잘됐다고 확인하는 용도로 사용됩니다.

사실 phylum은 크게 차이없죠, 차이가 있기도 쉽지않습니다.
관심사는 genus되겠습니다. 일루미나 데이터의 대부분은 unclassified입니다. 논문에서는 error때문에 이렇게 나왔으니 error좀 낮아지면 일루미나가 output이 많으니 sequence error 문제점을 개선된다면 미생물 분석에 적합한 킹왕짱 시퀀서가 될거라고 하는데 개인적인 생각으로는 sequence error(454가 일루미나가 한테 sequence error ㅋㅋ 좀 웃겼다능..
systematic error는 눈에 안뵈냐라고 한다면 눼눼, 하긴 이 논문이 2010년이란 것을 감안한다면 무리는 아니긴 합니다.)보다는 db선택이 unclassified문제는 보정할 수 있지 않을까 합니다.

그렇다면 이제 16s rRNA 입문한지 얼마안된 님께서 그렇게 느끼는 느낌적인 이유는
무엇인가?

바로 2016년 논문되겠습니다.

2016년 논문은 PacBio로 시퀀싱한 것을 db에 따라 분석 결과가 달라지는냐에 대한 내용으로
다음 한 장으로 요약 할 수 있겠습니다.




동일한 시료를 가지고 시퀀싱한 데이터를 16S rRNA db에 따라 classification되는 정도를 확인해본 그래프 입니다. 느낌 딹오시죠?
다만 나중에 뒤통수 맞았다는 느낌 안 받게 하나 말씀드리자면 RDP와 Silva의 경우 genus까지만 확인했고 gg는 genus와 genus+species 두가지로 확인한 것 입니다.

이제 PacBio의 Sequel에서 CCS로 생산된 16S rRNA 서열가지고 연구해도 나쁘지 않을 것 같다는..

아.. 이제 돈만 많으면 되는건가!!! 


수요일, 11월 30, 2016

MrBayes 설치

MCMC방법으로 Phylogeny Tree를 그려주는 MrBayes!!
(컴파일해서 나오는 실행 파일명이 그닥 맘에 들지 않는 tool중 하나 ㅋㅋ)

자세한건 물어보시지 마시고 요기서는 설치만!
(그렇다고 다음에는 자세한거 말씀드리지는 않는다능)

자 설치를 위해서는 요기에서 말하는 Library는 미리미리 설치하면 암에 안 걸리니 먼저 잘 설치해주시기 바랍니다.


CentOS
yum install make,automake,gcc,gcc-c++,kernel-devel,git,autoconf,automake,libtool,subversion,pkgconfig,java-1.6.0-openjdk-devel,openmpi,openmpi-devel
CentOS에서 Autoconf 버전으로 인해 문제가 발생했을 때는 그냥 컴파일 하세요. :)
$ wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz
$ tar xvfvz autoconf-2.69.tar.gz
$ cd autoconf-2.69
$ ./configure
$ make
$ sudo make install

Ubuntu
apt-get install build-essential,autoconf,automake,libtool,subversion,pkg-config,openjdk-6-jdk,git, openmpi-bin,openmpi-doc,libopenmpi-dev

그리고 추가적으로 beagle를 설치하셔야 할겁니다.

Beagle 설치방법은 요기를 참고하시고 대략 밑에처럼 하시면 됩니다.
git clone --depth=1 https://github.com/beagle-dev/beagle-lib.git
cd beagle-lib
./autogen.sh
./configure --prefix=$HOME
make install


마지막으로
MrBayes 소스파일을 다운로드 받으시고 설치해 주시면 되겠습니다.

$ autoconf
$ ./configure --prefix=/install/to/path --enable-mpi=yes
혹은
$ ./configure --prefix=/install/to/path --enable-mpi=yes --with-beagle=/install/to/path
$ make


화요일, 11월 29, 2016

QIIME2

QIIME2 출시(된지는 한달여정도... 지났지만..)

설치만 해두려고 qiime2 설치하다가 환경 설정이 꼬였는지
쓰고있던 qiime 1이 작동안해서 멘붕이 왔다는건 비밀;;; 빼고는
아직까지는 호감인 녀석!

여튼 이번 qiime2 출시하면서 변화를 준게 완전히 qiime 플랫폼을 만든듯..
통상적으로 사용하였던 파일 포맷이 아닌 아예 새롭게
qza/qzv를 만들어서 사용한다는... 음..
qiime2를 설치하지않은 사용자들을 위한 qza/qzv view사이트까지
(모하자는거지... 유료화로 바꿀건가)

그리고 CLI기반이 아닌 q2studio라는 GUI 인터페이스를 제공한다는
기쁜소식!! (인지 아닌지는 까봐야..)
GUI는 자동화하기 귀찮은데... 제길..

qiime1보다 report가 얼마나 세련되졌는 확인할 필요가 있고
그에 따라 유료화를 점쳐볼수도...
그러므로 나는 일단 소스 다운로드;;;;


수요일, 11월 02, 2016

16S rRNA Variable regions



Variable regions of the 16S ribosomal RNA.
출처: Nat Rev Microbiol. 2014 Sep;12(9):635-45. doi: 10.1038/nrmicro3330.

화요일, 10월 25, 2016

PacBio SMRT Portal 설치


우선 서버사양은 Dell Workstation인데
CPU대비 메모리가 풍족해서 아직 메모리로 문제가 된적은 없는
Ubuntu 16.04.1 LTS 로 생정보하는데 필요한 프로그램이 설치되어 있고
관련 라이브러리가 설치된 조건하에서
SMRT Portal 설치를 시도하였고 전혀 Error없이 설치!! :)

SMRT Analysis Download 페이지에서 하단의 run 파일 두개 다운로드
무조건 2개 모두 다운로드!!

설치필수파일: smrtanalysis_2.3.0.140936.run
패치파일: smrtanalysis-patch_2.3.0.140936.p5.run

다운로드 후에
smrtanalysis 유저와 동일한 이름의 유저그룹도 생성한 후 설치 진행하시면되겠습니다.

$su -l smrtanalysis
$bash smrtanalysis_2.3.0.140936.run -p smrtanalysis-patch_2.3.0.140936.p4.run --rootdir
 /path/to/smrtanalysis

설치에 필요한 프로그램들 번들로 설치하고 기존에 mysql 서버 사용중이라도 영향을 미치지않게 포트도 별도로 사용합니다. tomcat의 경우는 기존에 설치되어 있는 서비스가 있다면 영향을 미칠지 명확하지는 않습니다.(아마 포트를 변경해서 영향이 최소화되도록 진행될것 같습니다.)

설치 후 localhost가 아닌경우 방화벽 포트 열어주시면 웹페이지로 접속하여
멋있는 SMRT portal home 화면을 보실수 있으실겁니다. :)
ufw allow [설치할때 보였던 port들]

참고문헌 [Installation SMRT Portal]

금요일, 10월 07, 2016

rRNA database 간단 비교

근래 microbiome데이터를 다루면서
16s rRNA db 사용에 대해서 확인을 하고자
데이터가 꽤나 많은 그리고 non-academic의 경우 fee도 지불하는 silva를 qiime의 default db인 greengene과 한번 비교를 해봤습니다.

rdp말고 왜 silva를 비교했느냐?
rdp는 qiime에서 사용가능한 format으로 데이터를 제공안해서
그냥 테스트로 하는건데 format 변환하는거마저 신경을 쓰기에는
좀 귀찮아서 qiime용 format을 제공하는 silva를 사용하였습니다.

모 별거 없습니다. ㅋ

GreenGeneSilva 119Silva 123
Kindom
2
3
3
Phylum
90
95
113
Class
249
480
602
Order
405
1,468
1,686
Family
514
3,123
3,670
Genus
1,816
8,056
9,835
Species
1,651
31,337
42,974
Sum
99,322
173,838
251,764

위의 GreenGene는 qiime 설치시 함께 따라오는 기본 파일을 사용했고, silva는 silva측에서 qiime format으로 제공하는 데이터중 SSU 파일입니다.
리눅스에서 cut 명령어로 -d, -f 옵션을 사용해서 unique한것을 세어본것입니다.

GreenGene과 silva의 차이점은 GG는 archaea, bacteria만 있고, silva는 Eukaryota가 함께 있다는.. silva는 엄연히 따지자면 16s/18s를 모아놓은 것으로 생각하시면되겠습니다. :)

그리고 마지막에 Sum의 의미는 이 rRNA db를 이루는 classified/unclassified 되는 species(?)의 unique 개수입니다.
이 unique 개수가 많으면 좋을 것 같은 느낌이 본능적으로 딱 오죠?

근데 말입니다.

숫자가 크다고 다 좋은것일까요?

GG와 silva에서 큰 차이점이 GG의 경우 unclassified로 분류되는 항목은 딱 하나씩 포함되어 있습니다. (그 이유는 숙제~!!)
대신 silva에는 unclassified와 같은 부류인 아직 의미가 없는 즉 정보가 없는 항목들이 다수 포함되어 있다는것입니다. unclassified, uncultured, unknow....

무엇이 우월하다 좋다 말하기는 어렵습니다.
분석 툴에 따라 궁합이 맞는 db가 존재하기 마련이고 또 목적에 따라 db는 변화해야하기에
GG는 더 curation을 했으니 좋은것이다 혹은 silva가 더 seq정보가 많으니 좋은거다라는
것은 지양하고 결국 각자가 알아서 잘 사용하면 된다능.. :)

seqtk

Site: seqtk

최근에 접한 fasta/fastq파일 핸들링 툴로 
가벼움과 사용이 쉬운것에 무한한 감사를...

사이트를 방문하시면 나와있듯이

$git clone https://github.com/lh3/seqtk.git
$cd seqtk
$make

하면 설치가 성공!! 이제 당신은 seqtk 마스터!!

잘쓰세요~ :)

ps. 전 subsampling하느라 사용했다능.. :)

월요일, 8월 08, 2016

16S rRNA Workflow

요즘하는게 요 16S rRNA작업인데
workflow와 해당 작업에서 사용할만한 tool을 잘 정리한글이 있어서..

H3abionet.org

덤으로 GOBLET이라는 사이트가 있는것도 알게 되었네요..
GOBLET이 뭔지 궁금해요?
그럼 링크에 들어가시면됩니다. :)

토요일, 6월 25, 2016

pie charts 어디까지 그려봤니? Krona

요즘 논문 낼때 고퀄의 figure들은 이제 당연한시대에 살고 있는데
나도 그런 고퀄 figure만들어보고 싶은데 잘 안된다.
네 저도 힘듭니다. 근데 다들 하니 저도 하는거죠
그 중에 독보적인 것은 circos이죠 ㅋ
그리고 pie chart를 좀 이쁘게 그리고 싶을때 사용하는것이 이것
Krona (OMIC-TOOLS에도 소개 되고있습니다.) 되겠습니다.

설치는 모 그닥 어렵지 않습니다.

Krona github가셔서 다운로드 받고 압축풀면 그걸로 끝입니다.
다만 Krona의 경우 metagenomic의 visualization을 위해서 만들어져 있는 관계로

taxonomy정보를 만들어줘야 합니다.
물론 Krona에서 해당 작업을 해주는 스크립트가 존재하니 걱정하지 마시기 바랍니다.
거기다 taxonomy 정보는 unique하고 찾기 힘든 data가 아닌 ncbi taxonomy정보입니다. 걱정마세요 :)

사용법은 제가 BLAST output을 사용한 pie charts 밖에 그려보지 않아서
Krona중에 ktImportBLAST밖에 사용해보지 못해서 말씀드릴게 별로 없네요 ㅎㅎ
-설명서를 잘 보시면 EC 카테고리별로도 pie chart를 작성할수도 있습니다.


다음은 제가 그냥 편할려고 만든 bash입니다.
#!/bin/bash

BLASTN=/path/to/ncbi-blast-plus/bin/blastn
KRONA=/path/to/Krona/bin/ktImportBLAST

ARGS=2

if [ $# -eq "$ARGS" ];
then

        $BLASTN -query $1 -db blast_database -outfmt 6 -num_threads 8 -evalue 1e-5 -out $2.outfmt6.blastn
        $KRONA -o $2.html $2.outfmt6.blastn
else
        echo "krona_BLAST.sh query.fa prefix_name"

fi
exit 0