목요일, 10월 25, 2012

SFF 파일은 어떻게 작업을 해야하나...

아....

딱히 인연이 없던 454 파일을 작업할 기회가 생겨서..
다음과 같이 스크립트를 좀 작성했습니다.

454에서 제공하는 Data analysis를 이용하지 않아서 좀 거시기합니다.
(Homopolymer trimming은 제공하지 못하고 있습니다. ㅎㅎ)

convertsff.py 

SFF파일을 fastq 혹은 fasta, qual 파일로 변환하는 스크립트
fastq로 변환하는 경우 illumina 1.3/1.5+ score로 변환 됩니다.
biopython이 설치되어 있어야 합니다.


SFF_Filter.py

illumina 데이터와는 일단 길이가 차이가 나니.... ㅎㅎ
filtering 스크립트를 간단히 만들었습니다.
cutoff base quality와 cutoff read length는 사용자가 설정 할 수 있게 하였습니다. :)
그리고 N의 포함 정도와 cutoff base quality 포함 정도는 고갱님의 의견을 반영하여
박하지 않게 설정해서 fixed시켜 놨습니다.
맘대로 수정하셔도 무방합니다. :)
다만 더 좋은 옵션이나 방법으로 업데이트 하셨다면 공유를 해주시면 더더욱 감사드리겠습니다.

데이터 변환 및 필터링이 끝나고 나면
QC를 해봐야 겠죠?

좀 간단히 결과를 이쁘게 그려주는게 어디 없을까 하고 있었는데
prinseq라는 프로그램이 있어 잠시 사용해봤습니다.
사용방법은 어렵지 않아요~ :)


Base Quality가 Phred +33인 경우

perl prinseq-lite.pl -verbose -fastq <input.fq> -graph_data <output.gd> -out_good null -out_bad null

Base Quality가 Phred +64인 경우

perl prinseq-lite.pl -verbose -fastq <input.fq> -graph_data <output.gd> -phred64 -out_good null -out_bad null


Quality Check 결과물을 Html로 확인하는 경우
perl prinseq-graphs.pl -i <output.gd> -html_all -o <output_name>

Quality Check 결과물을 png로 확인하는 경우
perl prinseq-graphs.pl -i <output.gd> -png_all -o <output_name>





추후에 시간이되면
Data analysis 프로그램을 설치해서 작업하는 단계나 방법에 대해서 설명하도록 하겠습니다. 그리고 추가적으로 NGS QC toolkit을 사용해서 QC하는 것도..
S대 L모군이 찾아논건데 괜찮아보여서 테스트 해볼까 합니다.
Illumina 외에 454도 지원하고 제일 매력적인건 multi-thread를 지원한다는것!!

모 여하튼...

다음기회에~ :)

화요일, 10월 16, 2012

TopHat을 바라볼때 중요한것

Read Manual!!! 

TopHat manual


사실 알고리듬 모르니...
라고 생각한다면.. 모 어쩔수 없고?? ㅎㅎ :)

하지만 무엇인가 알고 돌리는것과 모르고 자연에 출판된 protocol만 따라 돌리는것에는
많은 차이가 있으니..

T사의 K박사님의 정보로 TopHat 2.0.5를 허벌나게 사용중에 있습니다.
-한달 전만해도 TopHat 2.0.4를 사용중에 있었습니다.
-그 석달 전?? 반년 전 만해도 TopHat 1.0.3?을 사용하고 있었다는...


여하튼...
이번에 TopHat 2.0.5를 사용하면서 기존과 다르게 사용한 옵션이 있으니

--read-realign-edit-dist


그리고 사용안한 옵션도 있으니

-G / --GTF

옵션 이름 만으로도 대충 감들 잡으셨을 테니 옵션에 대한 설명은 패스하고,
왜 -G/--GTF를 사용안하냐?
(엄밀히 말하자면 known gene과 prediction gene의 문제..)
이 옵션을 사용하게 되면 --read-realign-edit-dist를 active시킨 의미가 없어지기 때문입니다.

이번에 --read-realign-edit-dist를 사용하면서 running 시간이 dramatically하게 증가하는 것을 경험했는데, S대 L군의 말로는 자기는 running 시간이 차이가 많이 나지 않는 다는 것!!
둘의 차이가 모였냐하니.. -G옵션을 사용하고 안하고 차이였습니다.

-G 옵션 설명에 gtf 정보를 사용하여 transcript sequence를 뽑아내서 거기에다가만 mapping을 한다는 것;; (역시 지도 교수님은 위대하다는 ㅎㅎ, 본인의 경우 해당 페이지를 몇번을 보고도 그냥 지나쳤었는데.. ㅎㅎ)

여하튼... -G를 사용하고 --read-realign-edit-dist 옵션을 사용하는것도 의미가 있겠지만 -G를 사용하지 않는게 더 좋은 결과를 낼 수 있지 않을까하는 단상을 끄적여 봅니다.

각자 실험하는 개체에 따하 gtf 사용여부를 판단하시면 되고 어떤 결과를 보느냐에 따라
--read-realign-edit-dist를 사용 여부를 결정하시면 됩니다.

제 경우 이게 그냥 자연에 출판된 protocol에 나온 방법보다 좋을것 같다는 생각이 듭니다.
이제 조만간 결과가 나오니 확인해보고 다시 글을 쓰도록 하겠습니다.


그리고 아시다시피 TopHat을 돌렸으면 cufflink도 돌리셔야죠.. ㅎㅎ :)
(아님 말고 ㅎㅎㅎㅎ )


ps. 누누이 말하지만 Human/Mouse는 default와 자연에 출판된 protocol이 甲이 맞는듯 합니다. ㅎㅎ