금요일, 12월 06, 2013

Velvet의 무서움...

예전에 Velvet 사용시 input 대비 사용할 만한 메모리를
표시한 포스팅이 있었는데...
input 서열양이 많아지니...
일정 이상에서는.... 그 두배정도가 필요할듯 보이네요..

raw데이터 (멀티 라이브러리) 압축 푼 데이터가 10G정도인데
필터링 하면 10G이하로 줄어들었을텐데...
72G 서버에서 헐떡데는 꼴이라니.... 쩝..

예상보다 시간이 많이 걸려서 왜 그러나 보니깐..
중간에 swap으로 가고 있는 상황이라..

velvet으로 어셈블리할때에는 일단 메모리가 무한한 곳에서... ㅎㅎ


그리고 velvet은 매번 할때마다 데이터 결과가 다르다는... ㅋㅋ
동일 버전에서 K-mer 및 다른 옵션을 동일하게 두번 돌렸을때 결과값이
달라지니 혹시 같은 옵션으로 돌린결과를 확인 할때 통계값이 상이해도
놀라시지 않으셔도 됩니다.


월요일, 12월 02, 2013

Ubuntu에서 cummeRbund 설치시 주의 사항

Ubuntu에서 RNAseq 분석 후 비주얼라이제이션 관련해서
(저는 사용하고 있습니다. ㅋ) 사용하고 있으신
cummeRbund 패키지를 설치하실라 치면 XML 에러가 생기는 것을 확인 하실 수 있습니다.

XML관련 라이브러리가 Ubuntu에 없어서 그렇다고 하네요.. ㅎㅎ

Ubuntu 10대에서 사용하던 방법인데 13에서도 먹힘니다. :)

참고 사이트 R-help

또한 XML과 함께 RCurl설치시 에러가 생기는 경우도 비슷합니다. :)
다음과 같이 라이브러리를 설치하시면 아름다운 설치 결과를 보실  수 있으십니다. ㅎㅎ

> sudo apt-get install libxml2-dev

> sudo apt-get install libcurl4-openssl-dev

잠시 헤매고 있었는데...
구글에 검색하니.... 해결 방법이 뙁~!!!

토요일, 11월 30, 2013

GFF3에서 유전자 개수가 몇개인지 궁금할때?



요즘 de novo를 다루는 관계로
assembly 후 gene prediction 할 때 지난번에 포스팅 했던 maker를 사용하는 일이
빈번하다.

maker 결과 중 gff3 type (이 gff/gtf 파일의 형식이.. 버전마다 상이해서... 물론 본인은 차이점은 잘 모르겠다는게 문제.. 여하튼 다르다고 하니...)으로도 파일이 생성되는데
이 파일을 분석에 사용하시라고 분석자에게 보내드렸는데..
안타깝게도 gff 파일이 처음이셨던듯하다.
그런 분에게 gff파일을 보낸 내가 잘못했지만...
gff파일에서 유전자개수를 잘못 알고 계신 관계로.. ㅋㅋ
(지금까지 그렇게 알고 계시면 큰 낭패인데...)

여하튼..
gff파일에서 유전자 개수를 세시는데
$wc genome.gff
하신 듯.. (다르게 하면 그 숫자가 안나오고 wc하면 언급한 숫자가 나온다)

그래서 간단하나마 gff 파일에서 유전자 개수 세기를
언급하고자 한다.
대충 숫자만을 알고 싶다면 굳이 스크립트 필요없다.
$cut -f 3 genome.gff | grep gene | wc

자 이러면 유전자 개수를 알 수 있다.

다음부터는 wc만 하지 않길 바라는 간절한 마음뿐...




토요일, 11월 09, 2013

JGI Project List

DOE산하 JGI의 프로젝트 페이지를 가보면
헐... 이라고 보일수도 있습니다만...
2014년에 새 프로젝트 레폿 시스템을 구축중에 있다니깐.. ㅎㅎ

제가 오늘 포스팅할 내용은
JGI에서 진행하고 있는 프로젝트들은 어떤게 있는지..
걍 한번 R로 그래프 그려봤습니다.
좀더 이쁜 그래프들을 많이 그릴수 있을것 같은데..
실력이 미천한지라.. ㅎㅎ


음.. 잘 보일지는 모르겠지만...
(JGI에서 export된 파일을 받아보면 아시겠지만 공란이 은근 많습니다.)
DOE산하 연구소답게 동물보다는 확실히 미생물이나 곰팡이/식물 프로젝트를
많이 진행하고 있는듯 합니다.
(archaea의 오타는... ㅋ 데이터가 원래 저러다 보니.. ㅋ)
곰팡이가 좀 증가한것처럼 보이는데..
저건 아마도 F1000의 영향인것 같네요..


위의 그래프는 JGI 프로젝트들 중 곰팡이 관련 프로젝트가  현재 어떤 상태로
있는지 보여주는 그래프 입니다. 예전에 시작했던 프로젝트들은 역시나 완료되어있습니다.(중간에 살짝 미확인 결과도 있긴 합니다만....)

다음에는 좀더 이쁘게 그래프를 그릴수 있기를 기대하며... :)




화요일, 8월 13, 2013

Regular Expression of Python

아...  간만에 re모듈 사용;;;
ㅋㅋㅋㅋ

역시.. 정규표현식은 녹녹치 않다는

ENSEMBL에서 제공하는 newick포맷을
MEGA에서도 import하게 해주는 변환시켜주는 스크립트를
re 모듈을 사용해서 구현..
이라고 해봤자 지저분한건 마찬가지...

re.split(r"\[\&\&NHX:[\w+=\w+:,\w+=\w+.\w+]+T=\d{4,10}\]",tree_string)

다른 re모듈대신 re.split를 사용한 이유는
tree정보가 한줄에 저장되어 있는 관계로... :)
그리고 match되는 pattern을 취하는것이 아니라 버리는 것이므로 split하면
pattern을 구분자로 리스트로 만들어 주므로 굳이 따로 작업을 할 필요가 없다는.. :)

다음을 해석해 보자면..
re.split(r"\[\&\&NHX:[\w+=\w+:,\w+=\w+.\w+:]+T=\d{4,10}\]",tree_string)


녹색: pattern이 대괄호([])로 쌓여져 있다는 것을 확인
빨강: 대괄호 이후 &&NHX: 문자열이 있다는 것을 확인
오렌지색: 한개이상의 문자열 "=" 한개이상의 문자열 그리고 ":" 혹은 한개 이상의 문자열 "=" 한개 이상의 문자열 "." 한개이상의 문자열 그리고 ":"으로  이루어진 문자열이 한번이상  있다는것 을 확인
노란색: 그 이후 T=로 시작하는 4자리에서 10자리의 숫자가 있다는 것을 확인

import re 
f_open = (open(file_name,"r")).readline()
ns = re.split(r"\[\&\&NHX:[\w+=\w+:,\w+=\w+.\w+:]+T=\d{4,10}\]",f_open)
print "".join(ns)