목요일, 9월 27, 2012

그렇게 좋은 PacBio에 손이 안가는 이유...

"진정 우리꺼는 여러분들에게 좋으면 좋지
해를 안끼친다는.... "

- PacBio 본사 시니어 연구원느님의 발표


그렇게해도 PacBio는 정이 안간다는 ㅎㅎ

Illumima/ Life Tech.는 "우리거 좋아, 한번 써봐" (라는 우리꺼 안쓰면 니네 좀 후회할껄?)라는 느낌이라면,

PacBio는 "이번 논문에도 나왔듯이 우리꺼쓰면 울트라 캡숑 짱 따봉 좋아요 한번 써보세요" (라는 느낌?)

점심먹으면서 K군과 담소를 나누면서
Microorganism/ Meta genome 분야에서는 454에 비해 확실히 경쟁력이 있는데
(미국에서 1K Fungal genome project에서 PacBio를 사용하고 있다고 합니다.)
그외에는 과연 얼마나 경쟁력이 있는지... 잘 모르겠다는.... ㅎㅎㅎㅎ

그리고 제일 중요한건,

개인적으로 PacBio를 선듯 사용하지 못하는 이유는
비용문제에 대해서 확실한 해결책을 제시하지 못하고 있다는것도 큰 문제인듯..

PacBio를 가장 괴롭히는 것이 Error ratio문제인데
어차피 random error니깐 depth가 많으면 된다는 점~

다만, 다른 시퀀서의 QV를 맞추기위해 그 depth만큼
시퀀싱을 하면 비용 증가로 이어진다는것.

지구상에 재료비에 제한을 두지 않고 풍족하게 사용가능한 랩을 제외하고
사용 가능한 QV에 맞는 depth만큼 시퀀싱할 랩 아니면 ㅎㄷㄷㄷ

모 어차피 시퀀싱 업체에 맡기면 되니깐~  :)

ps. 약간의 글 수정이 있었습니다.
ㄴㅈㅊ에 다니는 지인의 염려가 있어 약간 수정을 하였습니다.
기술적인 부분이 아닌 현실적인 문제인 비용문제에 대해서 언급했으니
모 문제가 있겠냐마는.. ㅎㅎㅎㅎ

목요일, 9월 20, 2012

왜 샘플수가 400이어야 했는가.

왜 300을 하지?? ㅋㅋ

사실 KOGO학회 이전에
창범형님께서 facebook 담벼락에 공지하지 않았다면
그냥 지나갔을 법한 일이었습니다.

사업 취지와 목표, 방법에 대해서 주저리주저리 작성해놓은 문서 보면서
그냥 들었을만하 의구심..
물론 학회장에서 피뽑는다고 해서 신기한 마음에 걍 했지만 서도.. ㅎㅎ :)

샘플수집이 걍 지원자 400명?
2배수 3배수 뽑고 선별이나 무작위 추첨해서 분석하는것도 괜찮을듯한데..
그리고 지역별로도 차이가 날텐데.. 흠..
그리고 400명은 어떻게 나온건데?

궁금한점이 몇가지 들었죠 ㅎㅎㅎㅎ

근데 생각하다보니 이거 구상한 분들도 나랑 똑같이 귀차니즘이구만?
하고 생각을 마무리하게 됐지요 ㅎㅎㅎㅎ

그 이유..

1. 샘플 수집
이런 류의 사업을 진행하때 샘플수집을 어떻게 하는지 잘 모르겠지만..
안내문을 보면 서울에서 400명의 지원자를 받아서 사업을 진행하는 것 같이 보였는데,
이런 사업을 걍 지원자만 가지고 진행하는건지.. 좀 궁금하고..
서울에서만 진행하는건지 좀.... 그랬는데..

서울과 수도권을 포함하면 대한민국 절반이니.. 쿨럭;;;
-이거 완전 서울지상주위자로 몰리겠는데;;; 제가 이번에 시민이되서 그런게 아니라구요 ㅋㅋ

2. 대표성
위에서 언급한 수집 방법과 연결된건데...
Koread reference genome사업인데
대한민국을 대표할수있는 유전체가 될려면...??
이북도 해야하는건거 아닌가? 라는 말이 나올수 있습니다. ㅎㅎ
이북을 포함하지 않은 대표서열을 만든다면
지역적안배를 고려해볼만했을텐데
이북을 포함해서 대표서열을 구축하고자 한다면 굳이 지역적으로 나눠서 할 필요가??
ㅎㅎㅎ 어차피 이북에서 샘플을 못구하는데..
이미 이남에 편향되어 있다고 볼수 있지 않나하는 생각이...
그래서 서울에서만 해도 크게 문제가 되지 않고 대표성에도 문제가 될까하는
생각이 들었습니다.
-물론 서울에서 하니 새터민 분들도 참여를 했냐라고 물으신다면...
 아니요 라고 말씀드릴수있습니다. 확률상 서울이 높다 이거죠;;

 그리고 그분들은 이런 과제 있다는거 모르고 사실겁니다.
 저도 창범형님아니었으면 그분들과 똑같이 모르고 지나갔을테죠 ㅎㅎ
ps. 일단 본 과제에 최소한 하나는 이북 서열입니다. (저요 ㅎㅎ)


3. 샘플 숫자
아... 이건 좀...
제 생각이 맞다면 진짜 안습인데;;;
과제란게 한정된 자원으로 진행하다보니.. 쿨럭..
아시겠죠? ㅋㅋㅋㅋ
이것저것 빼고나니 시퀀싱할 비용으로 할수있는 샘플수가 400명
언저리;;;
이렇게 생각하고 싶진 않지만...ㅋㅋㅋㅋ
그리고 지원자로만 채워질 숫자라면 400도 그리 쉬운숫자가 아니었을겁니다.
이바닥에서 놀고있는 저도 창범형님아니었으면 그냥 지나가고
나중에 저런것도 했었구나 라고 할판이었으니깐요;;;; ㅎㅎㅎㅎ


여하튼... 이번 사업으로
M/D/T사 하나는 NGS로 영업이익은 꽤나 날듯(순이익은 아님..  ㅋ)
시퀀서 규모로는 M사가 유력하긴한데..
그리고  추가적으로 K사도???
아니면 걍 국책과제에 클라우드 리소스 무상 대여;;;;
그냥 그렇다고요 쿨럭;;; ㅎㅎㅎㅎ

금요일, 9월 14, 2012

파일의 포맷을 변환하는데 필요한 것들

내가 아니란 말이닷!!! ㅋㅋ

python에서 Biopython을 이용하여
간단하게 convert하는 샘플 코드를 제공하고 있으니
여러분들도 쉽게 만들수 있어요~ :)
Biopython에서 제공하는 Tutorial 


오늘 문의가 들어온 파일은 sff파일
Roche의 454 GS FLX? sequencing 결과파일로....
ABI와 함께 illumina한테 밀려서 뒷방으로 들어앉은 파일 포맷입니다.
그러나 아직도 쓰는 이유는 read 길이가 길기때문 :)

그렇습니다. PacBio도 Nanopore다 디립다 길게 sequencing해준다는
애들이 있습니다. 그런데 왜 옛날꺼 쓰냐?? PacBio는 base quality가 안습이고,
Nanopore는.... 언제 출시일지 전 잘 모르겠습니다. 업자가 아닌관계로 ㅎㅎ

그래서 위의 길게 sequencing 해준다는 시퀀서를 제외하고는 Roche의 454가 read 길이가 가장 길다고 할 수 있겠습니다. NGS중에선 말이죠

그런데 sff파일을 보려고 하면 문제가 생깁니다.
권모씨께서 문의를 한것이 그것때문인지는 모르겠지만 걍 일반인이
sff파일을 걍 직접 볼수가 없습니다. 왜냐 binary파일이니깐요(sff파일이 binary라고
알고 있는데  직접 다뤄본적이 없어서... ㅎㅎ )

그래서 사람이 볼수 있게 파일을 변환시켜줘야 한다는 겁니다.

convertSff.py
#!/usr/bin/python

import os, sys
from Bio import SeqIO

try:
inputSFF = sys.argv[1]
outputPREFIX = sys.argv[2]

except:
print "Usage: python convertSFF <input.sff> <output_name>"
print ""
exit(1)


SeqIO.convert(inputSFF,"sff","%s.fasta"%(outputPREFIX), "fasta")
SeqIO.convert(inputSFF,"sff","%s.quality"%(outputPREFIX), "qual")
SeqIO.convert(inputSFF,"sff","%s.fastq"%(outputPREFIX), "fastq")


권모씨의 요청으로 급조한 날림 convert python 코드 ㅋㅋ
이 스크립트를 수행하면 세개의 파일이 나오게 될것으로 예상됩니다. ㅎㅎ
안나오면 어쩔수없고... ㅎㅎ


아.. 그리고 사족으로 LT사의 SOLiD의 경우 우리가 알고 있는 서열과 달리
첫 염기 서열만 서열이고 그 다음부터는 A/G/T/C 알파벳이 아닌 숫자로 되어있는데..
이걸 굳이 변환해서 reference geneome에 mapped 작업하지 말라고 합니다.
Re-sequencing하는 경우라면 변환해서 mapping하지 말고 원래 원본 파일 그대로를
input으로 하는 align 프로그램을 사용해서 mapped한 다음에 그 다음 작업을
일반적으로 사용하는 samtools나 GATK같은 프로그램을 사용하라고 합니다.
(다들 알고있는거 한번더 상기 시켜드렸습니다. 혹시 아나요 SOLiD 포맷을 분석하게 될지.. ㅎㅎ)

분석시 raw 파일을 사용해야 하는 이유는 SOLiD만의 월등한 quality 효과를 볼수 있어서
그러지 않겠나하는....  믿거나 말거나 저 혼자만의 생각입니다.. ㅎㅎ
다만, 타사 제품과 다르게 복잡하게 숫자로 표현한건 아니겠죠...
나름의 숨은 뜻이.... 쿨럭.. (설마... 간지용;;;;; )

Re-sequencing이 아닌 denovo일 경우 모 어쩔수 없이 fastq파일로 변환을 해야 하지 않을까 합니다. assembly 프로그램을 작동시키려면 아무래도 SOLiD format보다는 fastq 포맷이
수월하니깐요.. :)

그럼....





월요일, 9월 10, 2012

Illumina Adapter Sequence


Illumina Sequencing에서 사용되는
Adapter중 TruSeq (분석할때 받는 데이터들이 다 요녀석으로 되어 있어서...) DNA/RNA Adapter Sequence를 확인해서 확인해봤습니다. ㅎㅎ


Type
Sequence
TruSeq Universal Adapter
AATGATACGGCGACCACCGAGATCTACACTCTTTCCCTACACGACGCTCTTCCGATCT
TruSeq Adapter, Index 1
GATCGGAAGAGCACACGTCTGAACTCCAGTCACATCACGATCTCGTATGCCGTCTTCTGCTTG
TruSeq Adapter, Index 2
GATCGGAAGAGCACACGTCTGAACTCCAGTCACCGATGTATCTCGTATGCCGTCTTCTGCTTG
TruSeq Adapter, Index 3
GATCGGAAGAGCACACGTCTGAACTCCAGTCACTTAGGCATCTCGTATGCCGTCTTCTGCTTG
TruSeq Adapter, Index 4
GATCGGAAGAGCACACGTCTGAACTCCAGTCACTGACCAATCTCGTATGCCGTCTTCTGCTTG
TruSeq Adapter, Index 5
GATCGGAAGAGCACACGTCTGAACTCCAGTCACACAGTGATCTCGTATGCCGTCTTCTGCTTG
TruSeq Adapter, Index 6
GATCGGAAGAGCACACGTCTGAACTCCAGTCACGCCAATATCTCGTATGCCGTCTTCTGCTTG
TruSeq Adapter, Index 7
GATCGGAAGAGCACACGTCTGAACTCCAGTCACCAGATCATCTCGTATGCCGTCTTCTGCTTG
TruSeq Adapter, Index 8
GATCGGAAGAGCACACGTCTGAACTCCAGTCACACTTGAATCTCGTATGCCGTCTTCTGCTTG
TruSeq Adapter, Index 9
GATCGGAAGAGCACACGTCTGAACTCCAGTCACGATCAGATCTCGTATGCCGTCTTCTGCTTG
TruSeq Adapter, Index 10
GATCGGAAGAGCACACGTCTGAACTCCAGTCACTAGCTTATCTCGTATGCCGTCTTCTGCTTG
TruSeq Adapter, Index 11
GATCGGAAGAGCACACGTCTGAACTCCAGTCACGGCTACATCTCGTATGCCGTCTTCTGCTTG
TruSeq Adapter, Index 12
GATCGGAAGAGCACACGTCTGAACTCCAGTCACCTTGTAATCTCGTATGCCGTCTTCTGCTTG


나중에 급할때 찾기 좀 애매해서...
요기다가 급 정리 ㅎㅎ

데이터 받았는데 TruSeq DNA/RNA Adapter인데 Index 12번보다 큰 경우
TruSeq Small RNA Index를 사용하는 것이라고 하네요
기본적인 Adapter sequence는 TruSeq DNA/RNA 인데 Index만 TruSeq Small RNA..
모 그렇다고 합니다. :)

좀더 자세한 Illumina Adapter Sequence에 대해서 알고 싶다면
다음 링크 참조 LINK

토요일, 9월 01, 2012

Velvet 사용 Tip

작년부터 NGS, NGS 해서 한두번쯤은
많은 NGS 프로그램들을 들어보셨을 것이고
조금이라도 관련되어 있는 일을 하시는 분이라면
이미 많이사용해 보셨을 것이라고 생각됩니다.

오늘은 그중에서 Velvet, sequence assembly 프로그램에 대해서..

Velvet은 de Bruijn graph 알고리듬을 사용했다고 합니다(라고 메뉴얼에 적혀 있습니다.
물어보지 마십시요. 저도 몰라요 ㅠ.ㅜ ).

여하튼 assembly 프로그램은 제가 알고 있는 바로는 크게 두가지
velvet과 같이 graph 알고리듬을 사용하는 프로그램과
아니면 sequence overlap 방법을 사용하는 프로그램이 있습니다.

그중에서 전 velvet이 좋은데 왜냐?
사용하기가 간편해서 입니다. ABySS나 ALLPATH-LG와 같이 복잡미묘하지 않기때문이죠
(간단하기로는 BGI의 SOAPdenovo가 최고봉인듯;;; )
단, velvet의 경우 big size의 genome을 assembly 할때는 고성능 CPU도 중요하지만
대용량 RAM도 함께 준비하시기 바랍니다.
물론 Big Size genome이라서 RAM이 많이 필요 한게 아니라 assembly read 개수가 많기 때문에
대용량 RAM이 필요한것이니.. ㅎㅎ assembly에 사용할 read 양이 적으면 상관없습니다.
다만 assembly에 사용할  read양이 많으면 대용량 RAM은 필수라는 것 잊지마시기 바랍니다.
-RAM이 작아도 작동은 하지만 swap을 사용하므로 결과 보시기 힘드실겁니다. ㅋ

곰팡이를 assembly 해본 경험으로 미루어 Velvet 에서의 RAM 요구량을
대략 적어봤습니다.
Total Input (Giga) 
Memory (Giga)
40
256
20
128
10
64
5
32
2
16
1
8

Velvet으로 assembly할때는 일단 RAM은 많으면 많을 수록 좋습니다. :) ㅎㅎ

그럼 오늘 포스팅은 여기까지 ㅋ