화요일, 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)


금요일, 8월 09, 2013

genewise 설치 관련 Tip


출처: 9 by 6


최신 버전의 genewise인 2.4버전대인 경우는 source를 컴파일해야 하는데
이게 잘 안될때가 있다는 점...

src폴더에 들어가서 make all하면
conflicting type for 'getline'이라는 에러가 계속 떠서 찾아봤더니
아주 좋은 해결방법이... ㅋㅋ
getline이라는 함수가 getline_new로 바뀐듯.. ㅋㅋ

위의 블로그에 나와있듯이..
sed -i.old 's/getline/getline_new/' HMMer2/sqio.c
sed -i.old 's/isnumber/isdigit/' models/phasemodel.c
phasemodel은 상관없는데 같이 묶어놔서.. getline처럼 함수가 바뀌어서
에러가 나는 경우인듯...

모 이렇게 해주면...
착하게도 에러없이 컴파일이 잘 되고
genewise 2.4.x를 사용하실 수 있습니다. :)

금요일, 8월 02, 2013

Maker란

Maker는 Gene annotation 작업을 하는 pipeline으로 EVM과 함께 많이 사용된다고 합니다.

요즘같이 자고일어나면 DNA sequencing 가격이 계속 떨어지는 세상에서는 많은 연구자들이 de novo sequencing을 하여 생명체의 genome을 확보하기가 몇년전과 비교해보더라도 확연하게 쉬워진것을 알 수 있습니다.

그래서 이런 gene annotation tool들이 필요해졌죠
genome sequence만 있어서는 알수 있는게 별로 없으니깐요
생명체 안에서 일을하는 것은 단백질이고 그것을 만들 설계도는 gene이니
내가 sequencing해서 genome을 가지고 있다고 해서 연구 끝이 아니라는 얘기.. :)

근데 왜 EVM이 아니라 Maker를 언급하는걸까요?
걍 제가 써봤으니깐 언급한 겁니다. 다른 이유는 딱히 없습니다. ㅎㅎ :)

Maker의 경우 장점이라고 할 수 있는게
genome의 repeat masking을 pipeline에서 해준다는거 정도? 꼽을 수 있겠습니다. :)

그거 말고는 EVM이랑 비슷한듯 합니다.
Annotation 결과 품질이나 알고리즘면으로는 모...
알수가없으니..
단점은 홈페이지가 심심하면 다운된다는 정도?? ㅎㅎ

그럼 Maker를 믿을 수 있겠느냐?
그래서 한번 확인해 봤습니다.

중고등시절 들어봤을 플라나리아
그리고 애국가에도 나오는 소나무(종이 좀 다를듯합니다. ㅋ)
최재천 교수님께서 좋아하시는 개미 몇종.. 등등
GMOD 사이트를 방문하시면 확인 하실 수 있습니다.

다음에 기회가 된다면
좀더 경험을 해 본 다음에..
더 좋은글로 찾아뵙겠습니다. :)



ps. GMOD에서 NESCent라는 곳에서 매년 Gene Annotation 관련된 school이 열리는 듯 합니다. 2013년 써머스쿨은 지나갔고 관심있으시고 여력이 되신다면 한번 참석해보시는 것도 나쁘지 않을 듯 합니다 :)