맨날 까먹고 헷갈리고.. 에이..
TSS : transcription start site. 그러니까 5'UTR 부분부터.
http://en.wikipedia.org/wiki/Transcription_start_site
txStart : TSS 랑 같은말
cdsStart : coding region start site로 start codon 부터 시작. 곧 protein 시작 부분.
그런데 헷갈렸던 것이 위 그림. 어떤 exon은 wholly or partially 5' UTR 이기때문에 exon start site가 cds start 랑 같지 않다.
Thursday, March 3, 2011
Wednesday, March 2, 2011
RNA-seq 분석을 위한 논문 탐험
예전에 RNA-seq 한번 리뷰하고 거기서 ERNAGE라는 프로그램에 관한 논문을 정리 한적이 있었다. 이번에 정말로 RNA-seq 데이터를 다뤄야 하고 예전에는 거의 초점이 eukaryote에 맞춰졌기 때문에 bacteria의 transcriptome에 관련하여 좀더 논문들을 정리해 보고자 한다.
start point
http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3025319/
내가 분석해야 하는 대상이 미생물 균주, bacteria 이기 때문에 우선 위 논문을 시작으로 한다. 위 리뷰논문을 보면 관련 논문을 잘 정리해 놨다. 마지막 limitations에 관한 내용을 보면 RNA secondary structure, random hexamer priming, second strand synthesis, PCR amplication stage에 의해 문제가 유발되는데 이는 ion-catalyzed hydrolysis와 direct RNA sequencing으로 어느정도 해결 가능하다고 마무리.. 아 그리고 figure1 이 실험종류와 단계에 대한 정리를 잘해놨다(결론적으로 directional 이나 아니냐 둘로 나뉘는데.. 확실히 directional로 실험을 해야 맞는거 같은데.. 안타깝게도 우리 데이터는 아닌듯). 오른쪽 그림 참조
second paper
http://www.biomedcentral.com/1471-2180/8/72
음.. 우리가 non-directional 로다가 실험을 했기에 또 기기가 FLX인 관계로 위 first point 의 reference 중 상황이 가장 유사한 논문이 바로 위 url. 일단 genome size 가 대략 3Mb, megaplasmid 가 있는거 빼곤 우리 상황이랑 비슷하다.
아.. 이 논문은 아닌거 같다. BMC microbiology에 나온건데.. 초창기 논문이라 그런지 아마도 FLX로 다가 transcriptome을 거의 처음 했다는 이유로.. rRNA depletion을 했는데도 read의 90 % 가 rRNA에 mapping되니. 그래서 아마도 논문의 방향을 novel gene finding으로 전환한듯. 여튼 패스..
third paper
http://www.sciencemag.org/content/326/5957/1268.short
좀 뭔가 의미 있는 내용을 보기 위해 그냥 선택한 논문. science니까. 첫번째 논문에서 인용도 많이 한거 같고. 음.. 읽어보니 확실히 사이언스다. 두번째 논문 봤을 때는 이거 일주일이면 하겠다고 생각했는데..
spotted array, tiling array, rna-seq (rna-seq 도 directional 한 방법을 이용) 모두 이용해서 operon의 boundary를 정한다 (expression이 급격히 떨어지는 region). 그리고 operon이 poly- | mono- cistronic 인지 확인한다 (rna-seq만 이용했을때 false positive가 얼마인지도 조사). operon을 정하고 나면 promoter region을 찾고 대략적인 TSS와 CDS와의 거리도 조사한다. 또한 trascriotion end site의 2차구조를 봐서 hairpin 구조가 transcription termination에 영향이 있는지 확인한다. polycistronic operon에 있는 gene들의 decay behavior도 관측한다. 여까지는 대략적인 transcriptome landscape라고 할까.
그 뒤 여러 다양한 조건에서의 expression 변화를 가지고 context-dependent modulation of operon structure involving repression or activation of operon internal or end-located genes (아.. 그러니까.. 음.. 하나의 operon 안에 여러 유전자가 위치에 따라 module화가 되어 (suboperon 마냥) 상황에 따라 오듈 단위로 다르게 expression 한다 뭐 이런.. 맞나..) 을 봤다. 또 이와 같은 이유는 eukaryote 에서 처럼 다양한 factor의 작용에 의한 것이 아닐까 추측 그리고 factor가 될만한 후보자들을 가지고 expression clustering. 해서 아.. factor가 많음 갑다라고 추측.
중요한건 the proteome organiztion is not explainable by the genome organizaion. 그리고 the expression heterogeneity within operon 이 아마도 생각했던것보다 bacteria의 transcriptional regulation이 eukaryote과 많이 유사하기 때문이지 않나 싶다는 것.
fourth paper
http://bioinformatics.oxfordjournals.org/content/early/2009/10/24/bioinformatics.btp612.full.pdf
다음은 분석 툴에 대한 논문이다. 정확히 이야기 하면 R package.
checklist
1. Segmentation algorithm : for identification of uncovered region in tiling array
2. Local convolution method : finding operon boundary
3. How do they decide polycistronic & monocystronic operon (maybe by DSSS)
4. In polycistronic how they divide genes in operon
5. Sigma 70 promoter region (TSS located within 60bp from CDS start site)
start point
http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3025319/

second paper
http://www.biomedcentral.com/1471-2180/8/72
음.. 우리가 non-directional 로다가 실험을 했기에 또 기기가 FLX인 관계로 위 first point 의 reference 중 상황이 가장 유사한 논문이 바로 위 url. 일단 genome size 가 대략 3Mb, megaplasmid 가 있는거 빼곤 우리 상황이랑 비슷하다.
아.. 이 논문은 아닌거 같다. BMC microbiology에 나온건데.. 초창기 논문이라 그런지 아마도 FLX로 다가 transcriptome을 거의 처음 했다는 이유로.. rRNA depletion을 했는데도 read의 90 % 가 rRNA에 mapping되니. 그래서 아마도 논문의 방향을 novel gene finding으로 전환한듯. 여튼 패스..
third paper
http://www.sciencemag.org/content/326/5957/1268.short
좀 뭔가 의미 있는 내용을 보기 위해 그냥 선택한 논문. science니까. 첫번째 논문에서 인용도 많이 한거 같고. 음.. 읽어보니 확실히 사이언스다. 두번째 논문 봤을 때는 이거 일주일이면 하겠다고 생각했는데..
spotted array, tiling array, rna-seq (rna-seq 도 directional 한 방법을 이용) 모두 이용해서 operon의 boundary를 정한다 (expression이 급격히 떨어지는 region). 그리고 operon이 poly- | mono- cistronic 인지 확인한다 (rna-seq만 이용했을때 false positive가 얼마인지도 조사). operon을 정하고 나면 promoter region을 찾고 대략적인 TSS와 CDS와의 거리도 조사한다. 또한 trascriotion end site의 2차구조를 봐서 hairpin 구조가 transcription termination에 영향이 있는지 확인한다. polycistronic operon에 있는 gene들의 decay behavior도 관측한다. 여까지는 대략적인 transcriptome landscape라고 할까.
그 뒤 여러 다양한 조건에서의 expression 변화를 가지고 context-dependent modulation of operon structure involving repression or activation of operon internal or end-located genes (아.. 그러니까.. 음.. 하나의 operon 안에 여러 유전자가 위치에 따라 module화가 되어 (suboperon 마냥) 상황에 따라 오듈 단위로 다르게 expression 한다 뭐 이런.. 맞나..) 을 봤다. 또 이와 같은 이유는 eukaryote 에서 처럼 다양한 factor의 작용에 의한 것이 아닐까 추측 그리고 factor가 될만한 후보자들을 가지고 expression clustering. 해서 아.. factor가 많음 갑다라고 추측.
중요한건 the proteome organiztion is not explainable by the genome organizaion. 그리고 the expression heterogeneity within operon 이 아마도 생각했던것보다 bacteria의 transcriptional regulation이 eukaryote과 많이 유사하기 때문이지 않나 싶다는 것.
fourth paper
http://bioinformatics.oxfordjournals.org/content/early/2009/10/24/bioinformatics.btp612.full.pdf
다음은 분석 툴에 대한 논문이다. 정확히 이야기 하면 R package.
checklist
1. Segmentation algorithm : for identification of uncovered region in tiling array
2. Local convolution method : finding operon boundary
3. How do they decide polycistronic & monocystronic operon (maybe by DSSS)
4. In polycistronic how they divide genes in operon
5. Sigma 70 promoter region (TSS located within 60bp from CDS start site)
Tuesday, March 1, 2011
object-c on linux
다음주 주말부터 아이폰 앱 강좌를 듣는다. 그냥.. 너무 내 평소 코딩이 편파적이지 않은가 해서 듣는건데, 여튼 그런데 과정이 아무래도 중급이다. 기본적으로 object-c를 알아야 하는 정도 해서 급하게 object-c를 익혀 보려 하는데.. 책에서는 그냥 c compiler로도 object-c 의 컴파일이 가능한 것처럼 이야기 하지만(물론 리눅스에서 사용하면 Cocoa와 같은 클래스를 사용 할 수 없다나 뭐래나...) 실상 일반적으로 리눅스에는 그렇지 않다. gnustep을 깔아야 하는데 ubuntu인 경우는 apt-get으로 깔수 있는거 같은데 fedora의 경우 yum으로 검색하면 나오질 않는다. 그래서 이를 소스 파일로 깔아야 하는데 여튼 뭐 그런 내용들이 다음 url에 나온다.
http://www.techotopia.com/index.php/Building_and_Installing_GNUstep_on_Linux
대략 내용은 gnustep에 필요한 패키지를 yum을 통해서 깔고 gnustep 소스 받아서 깔고 그담에 bashrc에 . /usr/GNUstep/System/Library/Makefiles/GNUstep.sh를 명시해야 한다는거다. 그리고 compile 할때 gcc `gnustep-config --objc-flags` -L/usr/GNUstep/Local/Library/Libraries -lgnustep-base 를 붙여줘야한다(이것의 의미는 잘 ..). 그냥 따라하기만 하면 된다. 문젠... 왜 회사에서 돌아가는데 hanil 서버에서는 에러가 난다는 거지.. 아.. 이럴때 너무 싫어
http://www.techotopia.com/index.php/Building_and_Installing_GNUstep_on_Linux
대략 내용은 gnustep에 필요한 패키지를 yum을 통해서 깔고 gnustep 소스 받아서 깔고 그담에 bashrc에 . /usr/GNUstep/System/Library/Makefiles/GNUstep.sh를 명시해야 한다는거다. 그리고 compile 할때 gcc `gnustep-config --objc-flags` -L/usr/GNUstep/Local/Library/Libraries -lgnustep-base 를 붙여줘야한다(이것의 의미는 잘 ..). 그냥 따라하기만 하면 된다. 문젠... 왜 회사에서 돌아가는데 hanil 서버에서는 에러가 난다는 거지.. 아.. 이럴때 너무 싫어
Sunday, February 27, 2011
뇌를 자극하는 알고리즘
뇌를 자극하는 알고리즘. 산지 한 1년 정도 된 책인데. 요즘 알고리즘을 다시 제대로 차례차례 공부해보고자 다시 보고 있는 책. 처음 샀을 때는 필요한 부분만 눈으로 살펴봤는데.. 역시 남는게 없었다. 해서 지금은 코딩을 따라해본다. 역시나 눈으로 익혔던 C를 이용해서. 나름 여러모로 도움이 된다.. 직접 C도 써보고 코딩도 하기에 알고리즘이 확실히 이해가 되기도 하고..
4장까지는 자료구조로 리스트, 스택, 큐, 트리를 설명하고 5장 이후로는 탐색등등의 알고리즘을 설명한다. 완전 잘 쓴 책이지는 내가 판단을 못하겠다. 뭐 다른 알고리즘 책을 제대로 본적이 없기 때문에.
이책을 다 마치면 금선생의 권유로 algorithms on strings trees and sequences 라는 책 볼 예정이다. 그 예정이 꼭 이루어지길 간절히 소망한다.
2011/3/6
책의 절반정도를 보고 있는데. 왠만하면 아직까지는 코딩을 따라하고 있다. 왜 처음에 이 책을 샀을 때 대충봐도 될거라고 생각했는지 지금 생각하면 참 아쉽기만 하다. 코딩을 따라 하고 있는데도 쉽지 않다. 물론 그냥 저자가 인도하는데로 이해한다면 그냥 그냥 그렇게 가지만 왜 그렇게 해야만 했는가하고 조금이라도 의문을 갖는다면 다른 경우의 수가 틀렸음을 증명해야 하기 때문에 만만치 않다. 코딩을 따라해도 몇일이 지나면 까먹는다. 만만찮다. 최소한 수십번은 코딩을 따라하고 외워야 감이 올거 같다. 마치 예전에 정석 공부하듯이(저자의 머릿말이 와닿는다. 천재 화가 피카소도 다른 유명한 작품들을 수없이 모사 했다는것).
2011/3/12
많이 어렵다. 아니. 익숙하지 않다. 확실히 많이 짜야 한다. 읽을땐 이해하고 따라가는거 같아도 막상 책 덮고 C로 짜려면 아무것도 기억이 나지 않는다. 그리고 단순히 이해하는 것 조차 어려운 부분도 있다. 레드블랙이진트리나 문자열 탐색인 보이어-무어 알고리즘은 이해조자 어렵다. 아.. 나의 무지함에 막막할 뿐이다.
4장까지는 자료구조로 리스트, 스택, 큐, 트리를 설명하고 5장 이후로는 탐색등등의 알고리즘을 설명한다. 완전 잘 쓴 책이지는 내가 판단을 못하겠다. 뭐 다른 알고리즘 책을 제대로 본적이 없기 때문에.
이책을 다 마치면 금선생의 권유로 algorithms on strings trees and sequences 라는 책 볼 예정이다. 그 예정이 꼭 이루어지길 간절히 소망한다.
2011/3/6
책의 절반정도를 보고 있는데. 왠만하면 아직까지는 코딩을 따라하고 있다. 왜 처음에 이 책을 샀을 때 대충봐도 될거라고 생각했는지 지금 생각하면 참 아쉽기만 하다. 코딩을 따라 하고 있는데도 쉽지 않다. 물론 그냥 저자가 인도하는데로 이해한다면 그냥 그냥 그렇게 가지만 왜 그렇게 해야만 했는가하고 조금이라도 의문을 갖는다면 다른 경우의 수가 틀렸음을 증명해야 하기 때문에 만만치 않다. 코딩을 따라해도 몇일이 지나면 까먹는다. 만만찮다. 최소한 수십번은 코딩을 따라하고 외워야 감이 올거 같다. 마치 예전에 정석 공부하듯이(저자의 머릿말이 와닿는다. 천재 화가 피카소도 다른 유명한 작품들을 수없이 모사 했다는것).
2011/3/12
많이 어렵다. 아니. 익숙하지 않다. 확실히 많이 짜야 한다. 읽을땐 이해하고 따라가는거 같아도 막상 책 덮고 C로 짜려면 아무것도 기억이 나지 않는다. 그리고 단순히 이해하는 것 조차 어려운 부분도 있다. 레드블랙이진트리나 문자열 탐색인 보이어-무어 알고리즘은 이해조자 어렵다. 아.. 나의 무지함에 막막할 뿐이다.
Friday, February 25, 2011
ensembl api
시작 url
http://www.ensembl.org/info/docs/api/index.html
Core databases and APIs
1. DB connection
내가 이해한걸로는 우선은 registry 라는 모듈의(클래스 인듯..) load_registry_from_db라는 메소드로 DB에 연결을 한다. 아니면 ensembl_registry.conf 파일을 미리 만들어서 load_all()이란 메소드로 conf 파일에 명시된 DB로 연결한다. http://www.ensembl.org/info/docs/api/registry.html
2. Object Adaptors
Registry 모듈로 DB에 연결되었으면 DB의 데이터를 object(데이터를 캡슐화 한것같은..)로 가져와야 한다. 이때 object adaptor를 사용한다. 그러니까 DB의 데이터 덩어리를 object라고 하고 이것들을 생성하기 위해 DB의 구조 정보등을 담고 있어서 우리가 검색하고자 하는 query 정보만 주면 object를 가져오게 하는 adaptor를 생성해야 한다. 이때 사용하는 것이 Registry의 get_adaptor 메소드.
http://www.ensembl.org/info/docs/api/core/core_tutorial.html
3. Object
object는 slice, gene, exon등 데이터인데 이는 2번 스텝에서 생성한 adaptor를 이용해서 adaptor에 쿼리를 인자로 줘서 생성한다. object는 reference로 return하기 때문에 while과 shift를 사용하길 권장한다. 주의 할점은 data object에서 시퀀스를 뽑아내면 그것의 strand와 상관없이 항상 + strand로 나온다. position도 strand와 상관없이 +strand 기준으로 작은 bp가 start 이 된다.
slice : object represents a single continuous region of a genome ,
features : objects in the database which have a defined location on the genom
그러니까 slice는 그냥 dna 가닥이고 feature는 게놈상의 정의된 위치, 그러니까
2번 스텝의 url 뒷내용은 각 object에 대한 이야기 므로 위의 내용이 API 사용의 큰 개념인 듯하다.
살짝 본 후 느낀바는...
DB에서 sql 데이터 받아와서 DB를 만든후 혹은 파일들을 다운 받아서 파싱해서 처리해야 하는 일을 ensembl api를 이용해서 DB의 구조는 신경쓰지 않은채 할 수 있다. 잘만 이용하면 사전에 필요한 귀찮은 작업을 하지 않고 api만을 이용해서 할수 있다. 또한 던진 쿼리에 return인 object가 여러데이터 들이 캡슐화로 이루어 졌기 때문에 그 object에 왠만한 데이터는 다 들어 있다. eutil 같은 경우에는 특정 파일에 대한 내용만 가져오는 식인데 ensembl api는 내 쿼리에 해당하는 자료들이 어떠한 구조를 이루어 넘어 오기 때문에... 말이 복잡한데 그냥 쉽게 말하면 eutil은 file이 넘어 오는데 반에 ensembl api는 C의 구조체 같은 (혹은 class)가 return되기에 자료의 접근만 잘하면 parsing없이 데이터를 뽑아 낼수 있는거 같다. 다만 문제라고 한다면 네트워크를 이용해서 데이터를 얻어 오는 거라서 좀 느리다는거(참기 힘든 정도는 아니다. 꽤 빠르다. eutil 보다도 어떻게 보면 나은듯??). 알아둘 만 하다.
http://www.ensembl.org/info/docs/api/index.html
Core databases and APIs
1. DB connection
내가 이해한걸로는 우선은 registry 라는 모듈의(클래스 인듯..) load_registry_from_db라는 메소드로 DB에 연결을 한다. 아니면 ensembl_registry.conf 파일을 미리 만들어서 load_all()이란 메소드로 conf 파일에 명시된 DB로 연결한다. http://www.ensembl.org/info/docs/api/registry.html
2. Object Adaptors
Registry 모듈로 DB에 연결되었으면 DB의 데이터를 object(데이터를 캡슐화 한것같은..)로 가져와야 한다. 이때 object adaptor를 사용한다. 그러니까 DB의 데이터 덩어리를 object라고 하고 이것들을 생성하기 위해 DB의 구조 정보등을 담고 있어서 우리가 검색하고자 하는 query 정보만 주면 object를 가져오게 하는 adaptor를 생성해야 한다. 이때 사용하는 것이 Registry의 get_adaptor 메소드.
http://www.ensembl.org/info/docs/api/core/core_tutorial.html
3. Object
object는 slice, gene, exon등 데이터인데 이는 2번 스텝에서 생성한 adaptor를 이용해서 adaptor에 쿼리를 인자로 줘서 생성한다. object는 reference로 return하기 때문에 while과 shift를 사용하길 권장한다. 주의 할점은 data object에서 시퀀스를 뽑아내면 그것의 strand와 상관없이 항상 + strand로 나온다. position도 strand와 상관없이 +strand 기준으로 작은 bp가 start 이 된다.
slice : object represents a single continuous region of a genome ,
features : objects in the database which have a defined location on the genom
- gene : grouping of transcripts
- transcript : grouping of exons
- exon
- translation : trascript 객체의 translation 메소드를 호출하면 나오는 것으로 CDS와 UTR을 위한것.
- transcript객체에는 translate가는 메소드도 있는데 이는 protein sequence를 위한것
- proteinFeature : amino acid sequence object. translation 객체의 get_all_proteinFeature()의 return object
- Alignment Feature : slice 객체의 DnaAlignFeatures과 ProteinAlignFeatures 메소드로 각각 dna와 protein을 genome 에 alignment 한 feature
- repeat : RepeatMasker 와 TRF로 찾아진 repeat region, slice 객체에서 get_repeatmasked_seq 메소드를 이용해서 인자에 따라 hard 또는 soft masked sequence를 얻어낼수 있다.
- Maker : imported into the Ensembl database from UniSTS and several other sources (primer sequences, product size...).
그러니까 slice는 그냥 dna 가닥이고 feature는 게놈상의 정의된 위치, 그러니까
2번 스텝의 url 뒷내용은 각 object에 대한 이야기 므로 위의 내용이 API 사용의 큰 개념인 듯하다.
살짝 본 후 느낀바는...
DB에서 sql 데이터 받아와서 DB를 만든후 혹은 파일들을 다운 받아서 파싱해서 처리해야 하는 일을 ensembl api를 이용해서 DB의 구조는 신경쓰지 않은채 할 수 있다. 잘만 이용하면 사전에 필요한 귀찮은 작업을 하지 않고 api만을 이용해서 할수 있다. 또한 던진 쿼리에 return인 object가 여러데이터 들이 캡슐화로 이루어 졌기 때문에 그 object에 왠만한 데이터는 다 들어 있다. eutil 같은 경우에는 특정 파일에 대한 내용만 가져오는 식인데 ensembl api는 내 쿼리에 해당하는 자료들이 어떠한 구조를 이루어 넘어 오기 때문에... 말이 복잡한데 그냥 쉽게 말하면 eutil은 file이 넘어 오는데 반에 ensembl api는 C의 구조체 같은 (혹은 class)가 return되기에 자료의 접근만 잘하면 parsing없이 데이터를 뽑아 낼수 있는거 같다. 다만 문제라고 한다면 네트워크를 이용해서 데이터를 얻어 오는 거라서 좀 느리다는거(참기 힘든 정도는 아니다. 꽤 빠르다. eutil 보다도 어떻게 보면 나은듯??). 알아둘 만 하다.
Thursday, February 24, 2011
ensembl api setting
perl을 한다고 한다고 하다가.. 안하다가.. 영건씨가 얼마전에 다녀온 nicem에서 한 ensembl api 워크샵 다녀오고 괜찮다길래.. 써볼려는 요량에 perl 개요만 읽어보고 사용해 보려한다.
기본적으로 ensembl api를 사용할려면 약간의 setting이 필요한데..
1. 우선 bioperl 설치
http://www.bioperl.org/wiki/Installing_Bioperl_for_Unix
여기 나와 있듯이 cpan도 업글하고 뭐 이것저것 하는데 그냥 따라한다. 그리고 bioperl은 cpan을 이용해서 install
2. perlconsole 설치
http://sukria.net/perlconsole.html
python에 익숙한 나로는 잘 모르는 일을 할때는 interactive 창에서 한스텝마다 검사하는 습관이 있어서 아무래도 perl도 그런게 있지 않나 싶어서 찾은 것. 지금 사용하기론 부족함 없어 보인다.
3. ensembl api 설치
http://www.ensembl.org/info/docs/api/api_installation.html
cpan으로 cpan>d /ensembl/ 하면 ensembl 관련 package가 나오는데 ensembl-bundle 이라는걸 깔았는데 ensembl api는 아닌듯. 그냥 위의 링크대로 하고 path만 잡아주면 문제없이 잘 되는 듯 하다.
4. 확인
perlconsole을 띄우고 use Bio::EnsEMBL::Registry; 라고 쳐보면.. 아무 에러 메시지 없으면 일단 성공한 걸로 보인다.
기본적으로 ensembl api를 사용할려면 약간의 setting이 필요한데..
1. 우선 bioperl 설치
http://www.bioperl.org/wiki/Installing_Bioperl_for_Unix
여기 나와 있듯이 cpan도 업글하고 뭐 이것저것 하는데 그냥 따라한다. 그리고 bioperl은 cpan을 이용해서 install
2. perlconsole 설치
http://sukria.net/perlconsole.html
python에 익숙한 나로는 잘 모르는 일을 할때는 interactive 창에서 한스텝마다 검사하는 습관이 있어서 아무래도 perl도 그런게 있지 않나 싶어서 찾은 것. 지금 사용하기론 부족함 없어 보인다.
3. ensembl api 설치
http://www.ensembl.org/info/docs/api/api_installation.html
cpan으로 cpan>d /ensembl/ 하면 ensembl 관련 package가 나오는데 ensembl-bundle 이라는걸 깔았는데 ensembl api는 아닌듯. 그냥 위의 링크대로 하고 path만 잡아주면 문제없이 잘 되는 듯 하다.
4. 확인
perlconsole을 띄우고 use Bio::EnsEMBL::Registry; 라고 쳐보면.. 아무 에러 메시지 없으면 일단 성공한 걸로 보인다.
Tuesday, February 22, 2011
python somthing
memory와 cpu 를 monitoring 하는 방법을 찾다가
ps명령어를 subprocess module의 popen을 이용해서 사용하는 프로그램 발견
http://stackoverflow.com/questions/276052/how-to-get-current-cpu-and-ram-usage-in-python
그 뒤 아예 누군가 만들어놓은 psutil 모듈
http://code.google.com/p/psutil/
그리고 예전부터 궁금했던 teminal control을 위한 글
http://nadiana.com/python-curses-terminal-controller
사실 이는 stdout에서 어떻게 overwrite 하는지 찾다가 나온건데..
sys 모듈의 sys.stdout.write()과 \r (carrige return) 과 sys.stdout.flush()를 이용하면 된다.
너무 적은 내용은 버퍼에 있기 때문에 sys.stdout.flush()를 사용하지 않으면 출력이 먼저 되지 않는다. 사실 생각해보면 sys.stdout.write를 사용하지 않고 print를 사용해도 된다. 다만 "," 를 붙여서 사용하면 동일하다. 그리고 ","를 붙이면 바로 출력이 되는 것이 아니라 buffer에 들어 가기 때문에 이 역시 stdout.flush를 호출해야 한다.
ps명령어를 subprocess module의 popen을 이용해서 사용하는 프로그램 발견
http://stackoverflow.com/questions/276052/how-to-get-current-cpu-and-ram-usage-in-python
그 뒤 아예 누군가 만들어놓은 psutil 모듈
http://code.google.com/p/psutil/
그리고 예전부터 궁금했던 teminal control을 위한 글
http://nadiana.com/python-curses-terminal-controller
사실 이는 stdout에서 어떻게 overwrite 하는지 찾다가 나온건데..
sys 모듈의 sys.stdout.write()과 \r (carrige return) 과 sys.stdout.flush()를 이용하면 된다.
너무 적은 내용은 버퍼에 있기 때문에 sys.stdout.flush()를 사용하지 않으면 출력이 먼저 되지 않는다. 사실 생각해보면 sys.stdout.write를 사용하지 않고 print를 사용해도 된다. 다만 "," 를 붙여서 사용하면 동일하다. 그리고 ","를 붙이면 바로 출력이 되는 것이 아니라 buffer에 들어 가기 때문에 이 역시 stdout.flush를 호출해야 한다.
Subscribe to:
Posts (Atom)