금요일, 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

화요일, 6월 21, 2016

snpEff에서 사용하는 genome annotation은 어떻게 추가할 수 있는가?

snp annotation에 빈번히 사용되는
snpEff (snpSift는 난 모르겠고)

snpEff에서도 나름 최신의 genome 정보를 제공하고 있지만
내가 de novo진행한것은?? (제가 곰팽이 de novo들을 많이하다보니.. ㅋㅋ)
어떻하라는 말인가...

고갱님 genome과 gene정보를 NCBI에 등록하고 NCBI gff가 공개되서 snpEff팀에서 지원해주는 시점에 사용하시면 됩니다.

근데 우리 고갱님들 그때까지 기다리시면 암걸리시죠?

그래서 간단한 가내수공업만 할 줄 아시면 곧바로 작업 가능합니다.

일단 위에 소개된 snpEff 사이트에서 snpEff 다운받으시고
압축푸시면 되겠습니다.

그리고 이번에 새로 조립하신 complete든 draft든 genome의 서열과 gff(version 2/3 택일)파일을 /path/to/snpEff/data/ 폴더 밑에 genome 이름으로 폴더 만드시고 그 밑에 복사하시면 되겠습니다. 대신 genome과 gff파일 이름은 genes.gff, sequences.fa로 바꿔주시는 센스!!

ex) 새로 조립한 genome이름이 Lee girwon이라면 Lee_girwon이라고 만드시고 그 밑에 파일을 복사해주시면 되겠습니다.

그리고 추가적으로 하나더 해야 하는 작업은 snpEff.config파일 수정
/path/to/snpEff/snpEff.config파일 끝에 새롭게 추가할 genome을 추가해 줍니다.

ex) vi snpEff.config
Lee_girwon.genome : Lee_girwon
--다음 라인은 선택사항 입니다.--
[TAB]Lee_girwon.chromosomes : AAA0001.1, AAA0002.1
[TAB]Lee_girwon.AAA0001.1.codonTable : Standard
[TAB]Lee_girwon.AAA0002.1.codonTable : Invertebrate_Mitochondrial

자 snpEff.config에 필요한 정보를 추가하였다면 이제는 database를 만들어주는 시간입니다.

java -jar /path/to/snpEff/snpEff.jar build -gff3 -v Lee_girwon

하시면 snpEff database가 뚝딱 만들어 집니다.

참 쉽죠?

위에 까만글씨로 욕은 아닌데 욕먹은 느낌이 나서 귀찮다?
그럼 작업가능한 서버계정과 흡족 할 사례비주시면 대행해드립 ㅋㅋ

토요일, 4월 30, 2016

CUTADAPT 사용설명서

cutadapt는 현재 1.9.1이 최신판으로

cutadapt guide에 설치에서부터 사용법
A to Z까지 너무나도 자세히 잘  소개되어 있습니다.
2011년에 논문도 있고

여튼..

cutadapt --help하시면 잘나오고
URL을 보시면 옵션에 따라 어느 위치의 adapter를 제거해주는지
어떤 방식으로 제거해 주는지 잘 나와있습니다.

-a,-g,-b 옵션이 adapter를 확인하고 remove하는 위치를 선정하는 중요한 옵션입니다.

single-end인 경우에는 cutadapt 사용시 큰 문제는 없지만
paired-end인 경우 cutadapt 사용시 다음과 같이 사용해야 합니다.

$cutadapt -a adapt_seq -A adapt_seq -o out_1.fq -p out_2.fq in_1.fq in_2.fq
-g, -b를 paired-end에서 사용하려면 -g -G, -b -B를 사용하시면됩니다.
-u는 일정한 길이로 cutting하는 옵션인데 second에서도 적용되게 하려면 -U를 사용하시면된다고 합니다.

일요일, 4월 24, 2016

SQLite3에서 import/export 하기

SQLite3를 사용할때 csv로 import, export하는 방법에 대해서
알아보겠습니다.

이게 왜 필요한거냐구요?
저한테 필요한거라서 포스팅하는겁니다.
그리고 알아두시면 쓸일이 있을지 누가 아나요? :)

csv를 특정 테이블에 import하기

#sqlite3 <database>
sqlite> .headers on
sqlite> .separator ","
sqlite> .import <in.csv> <table.name>
이때 in.csv는 쉼표 구분자로 되어 있어야 합니다.
다른 구분자로 되어 있으면 아마 제대로 import가 되지 않겠죠? :)

특정 테이블을 csv로 export하기

#sqlite3 <database>
sqlite> .headers on
sqlite> .mode csv
sqlite> .output <output.txt>
sqlite> select * from <table.name>;
이때 output.txt는 export할때 내용을 받는 파일 이름입니다.
그리고 tab구분자를 사용하려면 아마 .mode tabs 하시면될겁니다.

그리고 sqlite3 데이터베이스안에서 작업하지 않고 다음과 같이 명령어 한줄로도 끝낼수 있습니다.

sqlite3 -header -separator " " ./home/data.db "select * from table;" > out.txt      
sqlite3 -header -separator "," ./home/data.db "select * from table;" > out.txt        
sqlite3 -header -separator quot;\t" ./home/data.db "select * from table;" > out.txt 


모 그렇다고 합니다. :)

금요일, 4월 22, 2016

월요일, 4월 04, 2016

Long-read sequence assembly of the gorilla genome

서부저지고릴라(Western Lowland Gorilla, Gorilla gorilla gorilla) 중 하나인 Susie의 genome이 PacBio를 이용해서 좀더 high resolution으로 만들어졌다는 아름다운 논문입니다.

Long-read sequence assembly of the gorilla genome

왼쪽 녹색은 Susie, 오른쪽 아이보리색은 gorGor3의 contig size
각각 전체 Genome에서 10% 서열을 나타내는데 사용되는 contig 개수를 보여주는 그림으로 PacBio로 시퀀싱하여 어셈블리한 Susie가 short read assembly로 하는것보다 월등함을 확인시켜주고 있다(300M를 보여주는데 susie는 contig개수가 10개 남짓이면 되는것에 비해 gorGor3는 세어보시길;;;).

그리고 첫장 Table1에서 기존에 short read assembly한 결과보다 이번 결과가 더 월등하다는것을 여실히 보여주고 있는데 스캣폴드 개수가 554개 무슨 곰팡이 contig 개수인줄..
contig 최대 길이 서열은 36M bp, scaffold 최대 길이 서열은 110M bp. orz

그밖에 논문에서
기존 genome에서보다 gap 더 줄였구요
기존에 짧게밖에 못봤던 mobile element들 거의 full length로 확인할수있었구요
수kb에 달하는 insertion 확인해서 유전자 없는것도 확인할수 있었습니다라는
다양한 잘난척을 시전해 주고 계시는데...


결국 사용한 SMRT cell이 236개라는...
이거 PacBio 시퀀싱가격만... ㄷㄷㄷㄷ

이 논문보시고 우리도 genome 향상시킬수있어!! 라고 핑크빛 바램을 가지고 있으시는분들..  여러분들도 원래부터 좋은 genome가지고 연구할수 있었습니다.
다만 연구비가 귀여워서 못한것 뿐이고 그리고 모든 동물에 대해서 이렇게
드라마틱하게 genome 품질이 향상되지는 않습니다.
척추동물정도면 이정도 연구비 때려부으면 가능하지만 그 이하에서는 아직
해결해야할 것들이 좀 있습니다.

다 아시는 분들께서 모르시는척 하시기는... :)

그리고 PacBio의 Sequel 출시로 기존에 RSII로 했을때 보다는 반값에 가능하지 않을까합니다.
일단 SMRT cell개수를 줄일수 있으니... ㅋㅋ
그거 노리고 일단 RSII기준으로 시퀀싱비용 비싼듯보이게하고 Sequel로 하면 싼것처럼 느끼게 하려는 고도의 노림수인가;;;

여튼... 잘 따져보시고 시퀀싱하시기 바랍니다.

너도나도 앞다투어 시퀀싱하면 거지꼴 못면합니다.

월요일, 3월 21, 2016

Widespread Polycistronic Transcripts in Fungi Revealed by Single-Molecule mRNA Sequencing


Widespread Polycistronic Transcripts in Fungi Revealed by Single-Molecule mRNA Sequencing

간만에 읽은 저널 한편...
어느 지구정복을 꿈꾸시는 과학자분께서 운영하시는 것에 비하면 그냥 트윗터 수준임을
미리 알려드립니다.

자세히 안파해칩니다.

필요한것만 읽습니다.(제목만 보고 대충 때려맞추겠다는 심본데? 정답!!)

곰팡이중 basidiomycete fungi를 Iso-Seq을 이용하여 transcriptome 분석을 수행하였고, 우리는 기존의 short read가지고 깨작대던 님들이 못찾는거 찾는 기승전시퀀싱자랑하는 논문되겠습니다.

일단 이 논문은 JGI와 Pac이 손잡고 만들었습니다.
이 말은 곧 SMRT 비용 신경안쓰고(는 아니고 다른 연구자들보다 적게 신경썪을..) 분석에 사용하기 좋은 고 퀄러티 read들을 넉넉히 생산했을 것이기에 이런거 하고 싶다고 그냥 무작정 논문에 나온 SMRT cell 만큼 시퀀싱하시면 거지꼴 못면합니다.
suppl보시면 아시겠지만 SMRT cell 두자릿수 입니다. 앞자리가 10이 아닌건 안비밀 Orz..

복잡하고 어려운거 직접 보시면되니깐 쉬운거 말씀드리고 끝내겠습니다.

기존에 분석한 basidiomycete fungi중 Plicaturopsis crispa를 집중으로 파해쳤는데 이전까지 알고 있는 isoform 비율 10%가 아닌 한 20%정도 된다. 그리고 곰팡이도 isoform 3개 이상짜리도 엄청 많이 있음. 우리 곰팡이 무시하지 마셈.

그리고 비교셋으로 일루미나 숏-리드도 시퀀싱해서 ToFU (Transcript isOforms: Full-length and Unassemble,의 약자로 iso-seq을 분석하는 파이프라인? 시퀀싱 전략? iso-seq 결과물? 논문 보시면 아시겠지만 다양하게 사용되는것을 알수 있음)와 비교해봤는데
기승전 풉 짧은 것들은 안됨.
(하..... 지금까지 짧은것가지고 한것도 서러운데.....  ㅠ.ㅜㅋ)

여튼.. 모 검증은 해봐야하는거고 이 논문에는 RT-PCR해서 polycistronic 검증을 하긴했는데 좀더 확인해봐야 할것 같고..
새로운것 찾았다고 하고싶은 분들은 Iso-Seq 관심가지고 해보시는것도 나쁘지 않을것 같습니다.

근데 왜 너는 PacBio 관계자도 아니면서 PacBio로 실험한 논문 소개 하냐?

제 비록 제가 몸담고 있는 곳에는 PacBio가 주력이 아니지만
저는 언제나 연구자분들이 좀더 멋진 연구를 하실수 있도록 아낌없이
조언을 해드리고자 고심하는 연구자아니깐요 (캬~ 멋있다)