Thursday, October 28, 2010

circos

용주형의 특명으로 살펴보게된 circos. 사실 알아두면 나중에 필요할 일이 생길거 같다는 느낌에 보게되었다.
circos는 comparative genomics 데이터를 visualization하기 좋은 툴이다. 물론 개발자는 여러다른 예를 들지만..

처음에 메뉴얼 찾는데 웹페이지를 막 뒤지고 다운 받을 수 있는 모든 pdf를 다운 받고 훓어본 결과...
http://mkweb.bcgsc.ca/circos/tutorials/course/ 로 가서 개발자가 여러 컨퍼런스에서 강연했던 자료인 handout이랑 slide에 대한 ppt를 다운 받고 handout은 글이 많으므로 slide만 보면 대충 내용이 파악된다.
xml 처럼(이런게 xml 형식인가?.. 여튼) 그리고자 하는 결과의 component들을 인풋 파일로 정의해주고 이를 태그로 나타내주면 그려주는 형식이다.

개발자의 홈피를 가면 재밌는게 많은거 같은데.. 이 사람.. 색다르다. CSH 에서 나오는 저널중에 하나의 표지도 이사람이 만들었다는데(DNA sequence를 GC content로 색깔을 나타내고 sequence fragment repeat frequency로 curve를 만들어서 그렸는데 보면 무슨 virus를 형광 다이로 염색한 듯한 모습이다).. visualization에 매력을 느끼게 한다.

Saturday, October 23, 2010

python 개발 환경 구축

요즘 보는 있는 python 책들 어디서나 IDE(intergrated development enviroment)로 eclipse와 PyDev를 추천한다. 해서 미루다 미루다 미루다 오늘 한번 새로운 IDE로 이를 써볼려고 install 중이다.


1.eclipse + PyDev install
의외로 간단하다. eclipse 홈피 가서 eclipse 다운받고(난 classic 버젼으로 다운 받음) 그뒤 eclipse 압축 풀고 그담에 실행 시키고 help 메뉴로 가서 install new software을 선택한 뒤에 work with란에 http://pydev.org/updates 라고 넣어준다음에 pydev를 클릭해서 인스톨한다.
그뒤 다시 eclipse를 재실행 시킨후 window 메뉴에서 preferences 메뉴를 선택한뒤 PyDev 트리 마이템을 펼쳐 Interpreter에 python을 선택한다. 그리고 나타나는 대화상자 상단에 python interpreter 섹션에 new 버튼을 클린한뒤에 browser에서 python실행 파일을 선택하고 open 버튼을 누르고 나면 선택한 인터프린터를 위한 라이브러리 리스트를 보여주는 대화상자가 나타나는데 ok 버튼을 누르면 설정이 끝나게 된다.
http://pydev.org/manual_101_install.html

2.동적 라이브러리란?
ctypes 이라는 python의 모듈이 있는데 C언어와 호완이 가능하게 하는 모듈로 동적 라이브러리는 가져다가 쓸수 있게 한다. 그런데 동적 라이브러리란 무엇인가. C 언어 include 설명때 본적이 있는것 같은데.. 그래서 링크를 걸어본다.
http://blog.naver.com/ddrkcodz?Redirect=Log&logNo=10069875361

3.gcc 설명 및 옵션
http://blog.naver.com/alan100?Redirect=Log&logNo=60045179899

3.동적 라이브러리 만들기
opcode (*.o)에서 프로그램에서 바로 동적 라이브러리 생성: http://adnoctum.tistory.com/231
정적 라이브러리 생성 후 이를 가지고 동적 라이브러리 생성 : http://blog.naver.com/mklife?Redirect=Log&logNo=150024128340

4.동적 라이브러리의 장점
http://blog.naver.com/no1rogue?Redirect=Log&logNo=30094944212

In conclusion
정리를 해보면.. 결국 ctypes 모듈로 C 언어로 된 라이브러리(동적 라이브러리) 를 사용하려면 
C 언어로 된 프로그램을 동적 라이브러리로 생성. 
오른쪽과 같은 libhello.c 프로그램이 있을때 
gcc -fPIC -c libhello.c   #컴파일을 하되 링크까지는 수행하지 않고 오브젝트 파일 까지만 생성한다.
gcc -shared -fPIC -o libhello.so libhello.o  #shared 옵션을 이용해서 공유(동적) 라이브러리 생성
오른쪽 그림과 같이 동적 라이브러리를 사용한 python 프로그램 생성


끝...


동적 라이브러리를 이용하는 C 언어 프로그램을 만들시에는 사용하는 동적 라이브러리가 /usr/lib64에 있어야 한다. (주의 : *.so 파일을 옮긴 뒤에 ldconfig를 해야 한다)

Thursday, October 21, 2010

knock out, knock in, knock down - genetically manupulated mice and the nobel prize

http://www.nejm.org/doi/pdf/10.1056/NEJMp0707712

The New England Journal of Medicine 에 2007년도에 나온 논문
2007년도 노벨상 생리의학 부문에 대한 설명이다.

Eukaryotic Cytosine Methyltransferases

Yong-Gun Lee and I decided to write introduction and method of paper which we are planning. I don't want to fit introduction shortly after finishing research for publishing the paper. that's not the right order of work. Though this process, we try to make up for lack of story line.

This paper is quite long, but it's really good to understand a general concept of methyltransferase. Actually it's true that I deferred a study on DNMT families. Through this time, I will organize these things.


This paper was published in Annu. Rev. Biochem. 2005.

Introduction
     Cytosine Methylation in Host Defense and Genome Stability
     Cytosine Methylation and Gene Regulation
     Conservation Between Bacterial and Eukaryotic Cytosine Methyltransferase
The cytosine methyltransferase families of eukaryotes
1.Dnmt1 : 처음으로 purified & cloned 된 DNA methyltransferase. Cedar가 hemimethylaed DNA가 unmethyl보다 빨리 methylation된다는 것을 발견. Dnmt1은 hemimethylated DNA 의 methylation에 preference 하나 de novo methylation 기능도 있는것처럼 이야기를 한다(어떤 factor에 의해 inhibit 되어 있을지도 모르지만 여튼 methylation pattern이 유지 된다는 의미에서 de novo methylation 이 block을 당해야 해서). 처음 murine erythroleukemia cells의 Dnmt1의 cDNA를 찾았고, 이것은 1620개의 AA(1100 N-termi + GKGK.. + 500 C-termi)로 되어 있고 그중 C-terminal 쪽의 ~500AA가 bacterial restriction methyltransferase M.Ddel과 유사함을 알아냄.
N-termi를 보면 진화 과정에서 functional 한 domain이 늘어나는것을 볼 수있다.N-termi에 핵안으로 Dnmt1을 import 시키는 시퀀스(NLS domain)와 replication foci와 결합하는 시퀀스가 있다. 원래는 G0기에는 Dnmt1은 degradation되나 두번째 start codon에서 부터 생긴 짧은 Dnmt1은 그렇지 않으며 이 짧은 것만 가지고 있는 mouse는 생존가능.
mouse의 oocyte에는 Dnmt1의 짧은 폼만 있으며 이를 Dnmt1o 라고 한다(이와 같이 truncation되어있는것은 oocyte에서의 Dnmt1의 많은축적과 연관되어 보임).
Dnmt1의 functional domain 중 BAH(bromo-adjacent homology) domain은 protein-protein interaction module로 chromatin regulation에 속하는 protein에서도 발견된다. cysteine-rich region은 zinc ions과 결합하는데 기능은 안알려져 있지만 모든 mammalian의 methyltransferase와 MBD(methyl-binding domain) protein와 CpG binding protein에서 발견. GK(glycine, lysine) rich region은 N-termi와 C-termi를 연결해주는데 histone H4의 N-termi 와 유사하고 posttranslational modification의 역할을 하는게 아닐까 추측된다.
biological role of Dnmt1 :
loss of function allleles of Dnmt1의 결과 1. genome이 demethlation되어있고 2. homozygous embryos에서는 대부분의 imprinted gene의 biallelic expression이 나타나고 3.Xist 유전자의 demethylation결과 activation되서 모든 X chromosome 이 inactivation되고 4.exogenous marker gene의 mutation rate 올라가며 5.ES cells이 undifferentiated 상태에서는 정상적으로 크다가 differentiative 상태로 유도되면 apoptosis로 인해 죽게 되고 6.마지막으로 LTR transposons의 발현이 많아진다.
Heterozygosity for mutations in Dnmt1 결과 : 이것이 실제 측정가능한 demethylation에  영향을 미치는 지는 정확히 밝혀지지 않았지만 1.Dnmt1을 wild type의 10%정도 발현하게 했더니 생존 가능하나 성장의 제한이 생기며 lymphoma에 걸리 확률이 크게 높아지며 2. Dnmt1의 overexpression의 경우 imprinted loci에 unmethylated allele이 de novo methylation되는 현상이 나타났다(이는 Dnmt1이 methylation maintenance 역할을 한다는 것에 반하는 것).
DNMT1은 human colon cancer에서 200배 가까이 많이 발현된다는 것이 보도되어 있다(어떤 랩에서는 human colon cancer에서 다른 양상을 보이기도 한다). 일반적으로 tumor에서 m5C가 적어지는 것을 발견하는데 이는 Dnmt1의 발현이 많아지는 것과 모순되는 결과다.또한 아직까지 Dnmt1 유전자의 amplication이나 mutation으로 인한 cancer의 보고가 없기때문에 이것이 꼭 oncogene이라는 증거는 없다.
2. MET1 of A.thaliana : 처음 plant의 DNA methyltransferase는 A.thaliana에서 발견되었으며 이는 Dnmt1과 유사하였고 이름을 MET1이라 하였다. 시퀀스는 Dnmt1와 거의 유사(GK rich region이 살짝다르지만 C-termi 는 50% identity, N-termi 는 24%), BAH domain이 존재, cysteine-rich region은 없다. invitro 상에서는 MET1의 methylation 기능이 보고되지 않았지만 in vivo 상에서 homozygous mutation이 demethylation되고 phenotypic abnormalities가 나타난다. MET1의 mutant는 CpG 에 국한되어 demethylation이 나타나고 오히려 CpNpG의 methylation은 증가함을 보인다. 또한 MET1이 de novo methylation에 관여한다는 논문이 있다. homozygous mutation에 의한 demethylation은 식물에서는 후손의 heterozygous mutant나 wild-type segregants에 유전된다. 이는 각 세대마다 methylation pattern이 reset되는 mammalian과 차이를 나타낸다. 이는 genome을 알더라도 그 genome의 history를 알지 못하면 phenotype을 알 수 없다는 이야기가 될수 있다.
3. The Dnmt3 Family : 야기mammalian genome은 Dnmt3 family에 속하는 Dnmt3A와 Dnmt3B를 encoding한다. 또한 세번째 homologue인 Dnmt3L도 있는데 이는 methyltransferase activity는 없고 germ line에서의 regulatory factor로의 역할을 한다. 식물(A.thaliana)에서는 Dnmt3 family인 DRM(domains rearranged methyltransferase) family 는 methyltransferase의 motif가 circular permutation 되어 있다. 또한 Apis mellifera(꿀벌)에서도 Dnmt3가 발견됨.
-DNMT3A AND DNMT3B IN MAMMALS : Dnmt3A와 Dnmt4B의 시퀀스는 거의 유사하고 PWWP domain, cysteine-rich zyinc-binding region, MBDs를 포함하고 있다. hemimethylated 와 unmethylated 를 같은 rate로 methylation 하며 거의 CpG를 methylation시킨다. 그러나Dnmt3A는 CpA도 methylation 시킨다고 알려져 있다. adult cell에서 tissue마다 양이 다르게 발현되나 기본적으로 Dnmt1보다 발현양이 적다.


-DNMT3L :

-DNMT3 FAMILY MEMBERS IN INVERTEBRATES :
-THE DRM FAMILY : RNA-GUIDED METHYLTRASFERASES IN PLANTS :


4.DIM-2 and RID in N.crassa
5.Chromomethylases
6.Dnmt2
Methylated DNA binding proteins
regulatory inputs that control sequence-specific DNA methylation
     interatcion of Repeated seqeunces
     regulation of cytosine methylation by histone H3 Methylation
     swi2/snf2 helicase homologues and cytosine methylation
     RNA directed DNA methylation
conclusion

Wednesday, October 20, 2010

Reference-Free validation of Short Read Data

plos one에 얼마전에 나온 논문
NGS 데이터 파이프 라인을 구축하는데 가장 처음의 step으로 들어가게 될 프로그램이라 생각해서 리뷰를 해봤는데...
genome bias 에 대한 이야긴 줄 알았는데 그건 아니다. 하긴 read 만 가지고 전체 genome이 아닌 bias된 게놈만이 시퀀싱 된 줄 알수는 없다만..

이 논문은 리드 자체에 bias가 있는지를 체크 해볼 수 있는 프로그램이라고 보면 될거 같다.
read 별 각 position 별로 AGTC가 잘 분포 되어 있는지 또 k-mer로 정했을때 그 k-mer또한 분포가 position별로 동일한지를 체크 할수 있다 (체크 할수 있다기 보다는 그림으로 그릴수 있다 (우리같이 수주를 하는 사람들한테는 가능한 그림이 많이 들어가는게 좋아보이기 때문에).

java로 된 프로그램인데 사실 내용은 너무나 단순하다. 그런데 그 단순한 프로그램에다가 왜 두번째 analysis는 넣지 않은건지.. java 전혀 모르는 나에게 고생하면서 k-mer 일 때의 frequency가 나오게 만들게 하다니.. 아 그리고 quality 파일 만들어주는 변수가 int형으로 선언되는 바람에 read가 무자게 많으면 overflow나서 음수값이 출력된다는거..(스크립트 언어에 익숙한 나로는 이거 찾느라 피곤하게 됐다.)


알게된 내용:
1. mac에서 개발할 프로그램을 archive로 packing하면 __MACOSX가 딸려 생성된다는 것(첨에 프로그램 풀고 나서 이 폴더가 뭔가 했다.http://floatingsun.net/2007/02/07/whats-with-__macosx-in-zip-files/ : 이것에 대해 한소리 하는 블로거).
2. solexa 의 read가 첫 10 base의 퀄리티는 좋을지 몰라도 상당히 시퀀스가 안정적이지 못하다(뒷부분의 퀄리티가 안좋아 져서 항상 그것만 고려해서 trimming을 햇는데 앞부분의 시퀀스도 썩 훌륭한 경향을 보이지 않다니... 얼마나 짤라내야 하는거야...).


PPT

Tuesday, October 19, 2010

linux distribution. choice of linux

http://www.linux.com/learn/docs/ldp/282996-choosing-the-best-linux-distributions-for-you

어떤 linux를 쓸까 고민하는데 위 링크가 이에 대한 나름의 조언이랄까.. 정리랄까..

use-case 별로 가장 괜찮은 linux를 추천한다.

hanil 서버의용도 best enterprise server라고 해야 하나.. 어떤 카타고리인지도 모르겠지만..
확실한건 fedora 가 많이 언급이 안된다. desktop으로는 ubuntu를 laptop으론 openSUSE를 추천하는데..

괜히 fedora 깔았나.. 난 푸른 계열의 기본 바탕화면이 좋은데..

gnuplot

http://hgh73.blog.me/90093480100