레이블이 TopHat인 게시물을 표시합니다. 모든 게시물 표시
레이블이 TopHat인 게시물을 표시합니다. 모든 게시물 표시

금요일, 11월 02, 2012

Warning Warning BAM header...


Warning: BAM header too large File

TopHat - cufflinks 조합으로 RNAseq을 분석하는 분들 중에서
과연 얼마나 접해보셨을까 하는데요..
혹 수백,수천개의 chr을 가진 genome을 분석하시는 분께서는 보셨을지도..

그렇습니다. 아직 genome project가 완벽하게 완료되지않아
chr이 완벽하게 정리되지 않아 그렇게 길지 않은 scaffold로 존재하고 있는 경우
마주할 수 있는 문제입니다.
BAM header 파일이 너무 커서 즐!! 이라고 내뱉는것입죠

samtools view -H input.bam #bam파일 Header만 print하는 명령어

구글링을 통해 얻은 결론
소스코드 수정후 새로 컴파일을 해야한다는 것!
(아놔... precompile된것만 편하게 사용하고 있었는데...
 소스 컴파일한다고 더 제대로 작동한다는 보장도 없는데 말이죠 아놔;;; )

여하튼 cufflink 소스 파일과 필요한 패키지들을 (DNS가 문제인지 외부로 직접은 안붙고
내부만 붙어서 다른 서버에서 다운받아서 복사한 후) 어찌어찌해서 설치 ㅋㅋ
현재까지는 잘 작동있다는 점~
컴파일하는동안 내내 warning이 화면을 도배했다는 점~
이거마저 안되면 난 모르겠다는 점~


cufflinks 패키지 설치시 많은 난관들이 있었지만 구글링을 통해 해결
그 경험을 정리해서 필요한 것과 수정해야 하는것들을 순서대로 다시 정리하자면

1. cmake 설치
 cmake 다운로드
 생각하지도 말고 root로 접속하여
 압축 풀고 폴더 안으로 침투하여
 >./bootstrap
 >make && make install
 을 나비처럼 날아서 타이핑과 엔터를 치면 나도 모르는 사이 설치가 되고 있다는 사실!!


2. boost 설치
 boost 다운로드
 이것 역시 다운로드 후 압축 풀고 root권한으로 접속 하여 설치작업을 진행하는것이 여러모로 건강에 도움이 될 듯 하다.
>cd boost/tools/build/v2/
>./boostrap.sh
>./b2 install
>./bjam #심심하면 이것도 실행을... 아... 기억이.. ㅎㅎ
boost 설치에 대해서는 cufflinks 홈페이지를 참조하는 것도 나쁘지 않는듯
cufflinks 튜토리얼
 root 권한으로 걍 설치하면 BOOST_ROOT path 지정하는게 필요가 있을까 하는 생각도..


3. samtools 설치
 samtools 다운로드
이건 모 설치하는데 크게 어렵지 않는 관계로 걍 본인 계정으로 설치, 그냥 압축 풀고
make 실행시키면 설치될듯합니다.
다만 이후 head파일이나 library파일을 위에서 언급한 tutorial페이지에 나와있는대로
올바른 위치에 복사를 해주어야 정신건강에 좋을듯 하다는 말을 남기면서 다음 단계로 고고씽~!!!


4. eigen 설치
 eigen 다운로드
이것 역시 압축을 해제한 후 계정을 root권한으로 갈아타고
압축 해제한 폴더로 들어가서 서브 디렉토리중 하나인 Eigen 폴더를 통채로
시스템 헤더 파일이 있는 곳으로 복사하면 OK
복사할 디렉토리는 cufflinks 튜토리얼을 참고하시길..


5. cufflinks 설치
 cufflinks 다운로드
마지막으로 대미를 장식할 오늘의 주인공 cufflinks
이것은 꼭 root 권한으로 설치 안해줘도 상관없다.
각자 개인 계정에 압축을 풀고 설치 과정을 시작하면 된다.
단 이 글에서 문제가 되었던 위험 요소를 제거를 하기 위해서 파일하나를 수정할 필요가 있다. :)
>cd cuffinks-2.x.x
>vi src/hits.cpp
MAX_HEADER_LEN = 4 * 1024 * 1024 로 되어 있는 것을
각자 genome 사정에 맞게 수정하면 된다. 
본인의 경우 MAX_HEADER_LEN = 128 * 1024 * 1024
>./configure --prefix=/path/to/cufflinks/install
(위에서 root권한을 사용해서 기본설정으로 설치를 안해주었다면
 --with-boost/--with-eigen/--with-bam 경로를 설정해 주어야 한다.
>make && make install


5단계를 거치고 나서 cufflinks가 설치가 완료되면
이제 새로 컴파일한 실행 파일로 실행하면 일단 warning을 뱉어내지 않으면서
일을 시작할 것이다.

중간에 세그먼트 폴트 에러를 뱉어내면서 죽지 않기를 바랄뿐이다. :)

화요일, 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이 甲이 맞는듯 합니다. ㅎㅎ 

월요일, 8월 27, 2012

Tophat을 run할 때의 마음가짐

RNA-Seq 작업을 하면서 빈번하게 사용하는 Alignment tool로 TopHat을 꼽을 수 있다.
(나의 경우 그렇다. 아니면 말고.. 쳇~)

본인의 경우 대부분의 프로그램들의 default값을 사용하기 좋아라 하지만
최근 NGS관련 tool을 다루면서부터 default값은 신뢰하지 않기로 했다.
왜냐?

최근 각광받는 NGS 분석 tool들의 대부분의 default값들은 Human, Mouse같은 Model 종들에 대해서 적합한 것 들이지 내가 다루는 곰팡이나 식물은 전혀 Out of 안중이기 때문이다.

그래서 아주 죽을맛이다라는거다 ㅋㅋ
성능 짱 좋은 서버로 테스트 해보고 싶은 경우의 수를 모두 다 해보면 좋겠지만
논문내는건 시간싸움이다 보니 해보고 싶은 모든 경우에 대해서 테스트 못할 수 도 있다.

그래서 옵션 중에서 Key가 될만한 옵션들만 본인의 종에 맞게 조정해서 분석을 해야 그나마 시간 대비 분석 결과에 만족 할 수 있을 것으로 생각한다.

그 중 TopHat의 경우 intron-length를 분석하고자 하는 종에 맞춰서 값을 사용하기 바라는 바이다.
TopHat의 --max-intron-length의 경우 500,000bp인데 상식적으로 곰팡이 같은 종의 경우 한 유전자안에 500kbp짜리 intron이 있을리 만무하지 않겠는가?

그래서 이런 종 특이적인 정보를 사용하는 경우 본인이 분석하는 종을 대표할 수 있는 값을 사용하는 것이 보다 좋은 결과를 얻을 수 있을것이다.
(강릉 교육에서 들어서 요건 확인하고 한다는거.. ㅋㅋ)

사람이나 마우스 하는 분들은 걍 default 값 사용하면됩니다. (요건 좀 부럽습네다. ㅎㅎ)

아... intron길이 구하는건 스스로, 그걸 누가 매번 알려줄수는 없잖아~
구글링하면 어느정도 커버 할수 있을 자료 찾을 수 있습니다.
요즘 NGS때문에 denovo도 꽤나 하는듯 하니..
-대신 없으면 추가로 denovo하시면 될듯... 전략만 잘 짜면... 괜찮을듯한데.. ㅎㅎ


그래서 NGS 작업을 위해선..
스크립트언어라도 배우는게 좋다는 점~
간단한 코드는 짤 수 있어야 한다는 점~
텍스트 파싱은 할 줄 알아야 한다는 점~




화요일, 8월 21, 2012

Tophat2에서 libz.so.1 에러에 대처하는 우리들의 자세

RNA-Seq 작업을 하시는 분들의 경우
많은 분들께서 TopHat과 Cufflinks 조합으로 분석을 진행하리라 생각합니다.

본 글은 좀 old한 리눅스 시스템에서
TopHat 그것도 TopHat2의 바이너리를 사용하여 작업을 하실 때
libz.so.1 관련 에러가 나는 문제가 발생했을 때 대응 할 수 있게 해줍니다.
(경험치 +1)

기존 시스템에서 사용하고 있는 libz.so.1의 버전이 옛날것이라
이미 컴파일 되어 있는 Tophat의 바이너리파일에 저장되어 있는 정보랑 맞지 않아
발생 하는 것으로 보입니다.
fc12에서 TopHat-1.4.0에서는 전혀 문제가 없었는데..
fc12에서 TopHat2에서는 문제가 발생해버렸네요.
(그리고 fc14에서는 문제가 발생하지 않습니다.)

그러므로 다른 에러는 저도 모르겠습니다. ㅋ

/lib64/libz.so.1: no version information available

위의 에러를 만나시게 된다면
다음 링크에 있는 파일(fc14의 파일입니다.)을
리눅스의 /lib64/폴더 밑에 다운로드 받아 저장하시고,
링크를 새로 만들어 주시면 됩니다. :)


파일 다운로드 libz.so.1.2.5

원래 시스템에 있는 libz.so.1 링크는 삭제

>ln -s /lib64/libz.1.2.5 /lib64/libz.so.1

이렇게 하면 다음부터는 위의 libz.so.1 에러는 발생하지 않을 것입니다. :)

Good luck.