삼성의 핸드폰 galaxy말고 large-scale genome analysis의 분석을 위한 platform인 galaxy. 논문은 여기. 사이트는 요기. genome 관련 데이터 분석을 총망라한 사이트. 몇달전에 함 보고 vod 몇개 보다가 그냥 넘겼는데.. 회사 박사님께서 기분이 상하시는 바람에 요약 보고서를 만들어야 한다. 뭐.. 맘에 안드는 점도 있지만.. 회사기 때문에 시키는거 제대로 하는게 내 일이기에.. 글고 뭐 알아봐서 남주는 것도 아니고 이미 많은 논문에서 citation 하기에 알아야 하는 사항인지라.. 즐거운 맘으로 정리 해보자. 대략적으로다가..
사실 홍창범씨(?.. 성함이 맞나 모르겠네.. 이 분 블로그 보면 참 깊다는 생각이 든다. 같이 일하면서 배워보고 싶은 분) 블로그에 잘 나와있는데.. 이것만 봐도 대략 보고서 나온다. 아마도 홍창범씨 블로그 내용이 galaxy screencast의 내용이 아닌가 싶다. 이 VOD에 이미 설명이 충분히 잘 되어 있기에.. 원래는 구구절절하게 내용을 쓸려 했는데 그냥 여기서 접을련다. 나중에 metagenome 분석 부분만 좀 깊게 review를 해볼련다. 끝.
아 하나 더 Galaxy 모듈 중에 큰 항목이 RGenetics가 있는데 이게 뭔지 아직 정확히 모르겠으나 그 tutorial은 여기.
Tuesday, May 10, 2011
SMASHCommunity
저번 포스팅에 리뷰 했던 논문(enterotypes of human gut microbiome) 쓴 사람들이 만든 metagenome pipeline인 SMASHCommunity. 네이쳐에 나온 논문을 보면.. 아.. 정말 잘했구나라는 생각밖에 안든다(사실 아직 다 읽진 않았다.. 이런 게으름.. 항상 이런식이다.. 상흠 선배 말투가 떠오르는군). 우린 갈길이 멀었구나..
일단 bioinformatics에 나온 논문부터 요약하자면
SMASH는 sanger나 454 read를 분석하기 위한 standalone 프로그램. metagenome pipeline이 없는것은 아니지만(CAMERA, IMG/M, MG-RAST 등) web-server이거나 아니면 단순 read count를 세는 정도라 한다(참고로 네이쳐 논문의 메소드를 보게되면 read count를 그냥 쓰는 것이 아니라 gDNA의 경우 genome size로 나누고 rRNA의 경우 genome 상의 16s rRNA의 copy수로 나눠서 계산한다). 그 밖에 취약점들을 있는데 생략한다.
일단 bioinformatics에 나온 논문부터 요약하자면
SMASH는 sanger나 454 read를 분석하기 위한 standalone 프로그램. metagenome pipeline이 없는것은 아니지만(CAMERA, IMG/M, MG-RAST 등) web-server이거나 아니면 단순 read count를 세는 정도라 한다(참고로 네이쳐 논문의 메소드를 보게되면 read count를 그냥 쓰는 것이 아니라 gDNA의 경우 genome size로 나누고 rRNA의 경우 genome 상의 16s rRNA의 copy수로 나눠서 계산한다). 그 밖에 취약점들을 있는데 생략한다.
Friday, May 6, 2011
stylin with CSS (스타일링 CSS)
멋도 모르고 jquery 부터 손대다가.. css를 혼자서 추측하고 있는 상황이 된지라.. 차근 차근 css부터 봐야 겠단 생각에 보기 시작한 책. 내용은 상당히 맘에 든다. 내게 딱 맞는 수준이랄까. 표준화라는 개념도 잘 나와있고 전체적으로 맘에 든다. 단 번역이 좀.. 그 사람 블로그 들어가니까 참으로 열정적이고 그렇긴 한데.. 솔직히 이렇게 말하고 싶진 않지만 번역은 별루인거 같다. 때때로 영어를 읽는건지 한글을 읽는건지.. 여튼.. 이 책 괜찮다. 나같이 아주 아주 대충 css를 알고 어떻게 해야 할지 우왕좌왕하는 사람에겐. 특히나 괜찮은 책.
아 글고 xhtml 태그 리스트 있는 사이트
아.. 이 책 번역 엉망이다. 너무 심한거 같네.. 읽으면 읽을 수록 구글 번역기 돌렸다는 생각이 드는데..
이 책을 보고 얻은 것중에 가장 중요한 것은 table 태그를 사용하지 말라는 것. 예전에 웹프로그램밍 했을때는 웹페이지의 구조를 table 태그를 이용해서 잡았는데 이 책에서는 절대 그렇게 하지 않기를 권장한다. html은 content를 나타내고, 즉 content에 적합한 태그를 골라서 html을 만들고 이를 구조화하는 것은 css로 한다. jquery를 봤을때 jquery로 블록의 위치를 컨트롤 하는걸 보고 놀랐는데 이게 css의 힘이였군.. 이거 보고 jquery 보면 깨닭는게 다르겠다 싶다.
기억해야 할것 몇가지만 적어본다.
-css 파일 최상단부에 * {margin:0; padding:0;}을 넣을 것.
-영문 폰트일때는 font size의 단위를 ems로 한다(한글일때는 px로 한다, 깨지기 때문에).
-font 속성 나열할때 fot-weight, font-style, font-variant는 순서 상관없이 처음에 그 담엔 font-size, font-family 순으로 나열한다.
-vertical margin collapsing, 세로 마진(vertical margin)이 겹치면 그 사이 간격이 두 세로 마진의 합이 되는 것이 아니라 둘중 큰 값이 된다.
-p {width:400px; padding:0 20px;} 이라고 했으면 이 p 블록은 폭이 440px(400 + 20*2)를 갖게 된다.
-padding 값이 변하게 되면 블록 요소들의 너비가 달라지는데 이를 방지 하기 위해서 블록 안에 블록을 설정한다. 그러니까 div 안에 또 다른 div를 설정한다.
-inline 태그는 block 태그를 감쌀수 없다. 허나 display 속성을 이용하면 가능.
-한 블록태그 안에 다른 블록태그가 있을때 바깥의 블록태그의 position 속성이 static으로 되어 있으면 안쪽의 블록 태그의 position속성이 absolute로 되어 있을때 안쪽 블록 태그의 기준점은 body이나, 바깥쪽 블록태그의 position 속성이 relative로 되어 있다면 기준점은 바깥쪽 블록 태그가 된다.
-가상 클래스인 hover는 IE6에서는 a 태그에서 밖에 안먹힌다. 웹에서 csshover.htc를 다운 받아서 body 태그에다가 body {behavior:url(csshover.htc);} 라고 넣는다. 그러면 IE6 에서 모든 태그에 hover가 먹힌다.
-별표 핵과 백슬러쉬 핵 : div * ul {... css 선언... } 은 ul이 div의 자식이 아니고 손자라면 선택되지 않는다. 이 * 와 IE6에서만 먹히는 html 요소를 이용해서 IE6에서만 읽히는 규칙을 만들 수 있다. * html div.id {..somthing css..} 이런식으로 하면 IE6에서만 이 태그 즉 id를 클래스로 갖는 div 태그에 css 적용을 시킬수 있다.
-html의 리스트 속성 (ul,ol,dl)로 menu를 만들 수 있는데 브라우져마다 list의 margin, padding이 다르기 때문에(특히 IE6) list를 div로 둘러싸고 그 div 안에 속성들 그러니까 div_something * {padding:0; margin:0;} 을 해준다.
-인라인 아이템과 블록 아이템은 서로 상호 작용하지 않는다. 뭔말인고 하니
라고 테그가 되어 있을때 css는 div{float:left;} a{padding:16px 6px;}라고 되어 있으면 a 태그에 padding을 했기 때문에 위 아래로 16px 앞뒤로 6px 만큼의 여유공간이 생기고 div의 float이 되어 있으므로 a 태그 크기만큼 맞춰질거라고 생각되는데 실은 그렇지 않다. 왜냐면 a 태그는 인라인 아이템이고 div는 블록아이템이라 서로 상호 작용을 하지 않아서, 그럼 어찌해야 하냐 css의 a 태그에다가 display:block; 을 넣어줘서 a 태그를 block 속성으로 변환
아 글고 xhtml 태그 리스트 있는 사이트
아.. 이 책 번역 엉망이다. 너무 심한거 같네.. 읽으면 읽을 수록 구글 번역기 돌렸다는 생각이 드는데..
이 책을 보고 얻은 것중에 가장 중요한 것은 table 태그를 사용하지 말라는 것. 예전에 웹프로그램밍 했을때는 웹페이지의 구조를 table 태그를 이용해서 잡았는데 이 책에서는 절대 그렇게 하지 않기를 권장한다. html은 content를 나타내고, 즉 content에 적합한 태그를 골라서 html을 만들고 이를 구조화하는 것은 css로 한다. jquery를 봤을때 jquery로 블록의 위치를 컨트롤 하는걸 보고 놀랐는데 이게 css의 힘이였군.. 이거 보고 jquery 보면 깨닭는게 다르겠다 싶다.
기억해야 할것 몇가지만 적어본다.
-css 파일 최상단부에 * {margin:0; padding:0;}을 넣을 것.
-영문 폰트일때는 font size의 단위를 ems로 한다(한글일때는 px로 한다, 깨지기 때문에).
-font 속성 나열할때 fot-weight, font-style, font-variant는 순서 상관없이 처음에 그 담엔 font-size, font-family 순으로 나열한다.
-vertical margin collapsing, 세로 마진(vertical margin)이 겹치면 그 사이 간격이 두 세로 마진의 합이 되는 것이 아니라 둘중 큰 값이 된다.
-p {width:400px; padding:0 20px;} 이라고 했으면 이 p 블록은 폭이 440px(400 + 20*2)를 갖게 된다.
-padding 값이 변하게 되면 블록 요소들의 너비가 달라지는데 이를 방지 하기 위해서 블록 안에 블록을 설정한다. 그러니까 div 안에 또 다른 div를 설정한다.
-inline 태그는 block 태그를 감쌀수 없다. 허나 display 속성을 이용하면 가능.
-한 블록태그 안에 다른 블록태그가 있을때 바깥의 블록태그의 position 속성이 static으로 되어 있으면 안쪽의 블록 태그의 position속성이 absolute로 되어 있을때 안쪽 블록 태그의 기준점은 body이나, 바깥쪽 블록태그의 position 속성이 relative로 되어 있다면 기준점은 바깥쪽 블록 태그가 된다.
-가상 클래스인 hover는 IE6에서는 a 태그에서 밖에 안먹힌다. 웹에서 csshover.htc를 다운 받아서 body 태그에다가 body {behavior:url(csshover.htc);} 라고 넣는다. 그러면 IE6 에서 모든 태그에 hover가 먹힌다.
-별표 핵과 백슬러쉬 핵 : div * ul {... css 선언... } 은 ul이 div의 자식이 아니고 손자라면 선택되지 않는다. 이 * 와 IE6에서만 먹히는 html 요소를 이용해서 IE6에서만 읽히는 규칙을 만들 수 있다. * html div.id {..somthing css..} 이런식으로 하면 IE6에서만 이 태그 즉 id를 클래스로 갖는 div 태그에 css 적용을 시킬수 있다.
-html의 리스트 속성 (ul,ol,dl)로 menu를 만들 수 있는데 브라우져마다 list의 margin, padding이 다르기 때문에(특히 IE6) list를 div로 둘러싸고 그 div 안에 속성들 그러니까 div_something * {padding:0; margin:0;} 을 해준다.
-인라인 아이템과 블록 아이템은 서로 상호 작용하지 않는다. 뭔말인고 하니
라고 테그가 되어 있을때 css는 div{float:left;} a{padding:16px 6px;}라고 되어 있으면 a 태그에 padding을 했기 때문에 위 아래로 16px 앞뒤로 6px 만큼의 여유공간이 생기고 div의 float이 되어 있으므로 a 태그 크기만큼 맞춰질거라고 생각되는데 실은 그렇지 않다. 왜냐면 a 태그는 인라인 아이템이고 div는 블록아이템이라 서로 상호 작용을 하지 않아서, 그럼 어찌해야 하냐 css의 a 태그에다가 display:block; 을 넣어줘서 a 태그를 block 속성으로 변환
Wednesday, May 4, 2011
submission of genome - 5
이번에는 annotation을 내가 만든거 말고 NCBI의 staff이 추천한 PGAAP를 써볼려한다. in-house annotation pipeline의 문제는 naming.. 아.. product랑 gene 이름 참.. 난감하다. 또한 사실 내가 만든 annotation보다 이게 좀 강점이 있다. 거의 비슷하긴 하지만.. 여튼 해서 PGAAP를 어떻게 이용하는지 알아본다.
PGAAP를 쓰려면 (링크는 다음)
1. 일단 그렇듯 먼저 genome project를 등록한다. 결정적으로 locus_tag prefix를 써야하기 때문에 ..
2. 그 담엔 PGAAP submission을 위한 3개의 필수 파일와 추가적인 하나의 파일(옵션), 그러니까 총 4개 파일이 필요하다.
3. 파일을 만들기 전이나 후에 ncbi로 컨택해야 한다. 그러면 ftp 계정을 만들어 준다. 그 곳으로 파일을 올리고 다시 메일을 보내서 파일을 업로드 했음을 통지해야 한다.
스텝 2에서의 파일의 내용은 아래와 같다.
3. 파일을 만들기 전이나 후에 ncbi로 컨택해야 한다. 그러면 ftp 계정을 만들어 준다. 그 곳으로 파일을 올리고 다시 메일을 보내서 파일을 업로드 했음을 통지해야 한다.
스텝 2에서의 파일의 내용은 아래와 같다.
*.email, *.fasta, *.template 파일이 필수. 파일 이름은 _. 인데 locus_tag는 1번 단계에서 등록했거 쓰고 under bar 한다음에 날짜.
*.email 에는 NCBI와 contact 할 메일 주소.
*.fasta 에는 sequence가 들어가는데 head에 >gnl|LrgU|Contig01 [organism=Bacterium bacterius 253] [strain=253] [gcode=11] 과 같은 내용이 꼭 들어가야 한다. 그리고 시퀀스는 IUPAC base만 들어갈것.
*.template 파일은 submitter와 그 organization에 대한 정보가 ASN.1 파일 형식으로다가.. 이거 Sequin 프로그램 쓰면 만들수 있단다.
% 주의 사항 %
2번 스텝에서 sequin으로 template 파일을 만드는데 topology 정보를 넣는 옵션을 찾을 수가 없는데 메일을 보내봤더니 답장에 링크와 같이 fasta 파일의 header에다가 넣으란다.
3번 스텝에서 ftp 접속시 linux로 바로 접속해서 파일을 업로드 한다(뻘짓하지 말고 ftp <주소>, mput * 하면 됨).
% 주의 사항 %
2번 스텝에서 sequin으로 template 파일을 만드는데 topology 정보를 넣는 옵션을 찾을 수가 없는데 메일을 보내봤더니 답장에 링크와 같이 fasta 파일의 header에다가 넣으란다.
3번 스텝에서 ftp 접속시 linux로 바로 접속해서 파일을 업로드 한다(뻘짓하지 말고 ftp <주소>, mput * 하면 됨).
Monday, May 2, 2011
자료 for gut metagenome
Gut Reaction : Environmetal Effects on the Human Microbiota
http://www.medscape.com/viewarticle/705512
http://www.medscape.com/viewarticle/705512
Friday, April 29, 2011
comparison of coverage between Exome Capture Kits
아.. 난 metagenome 논문 보고 싶었는데.. 급하게 exome capture kit 비교 했던거 정리하란다. 해야지. 목표는 단순하다. 3가지의 exome capture kit의 coverage를 비교하는 것. 결코 이 표에 대한 accuracy는 보증하지 않는다. confidential 한 문제도 있고 해서리..
하려는 걸 단순화 해보자.
exome capture kit들을 (SeqCap EZ Human Exome Library v2.0, SureSelect , TruSeq Exome Enrichment Kit )의 genome coverage를 비교하자. exome capture kit이니까 특히 exon 부분의 coverage를 유념해서 본다. 그럼 exome region의 definition은 뭘로 할거냐. 여러가지가 있겠지만 refseq과 ccds로 한다.
<결과>
%이 표에서 단순 coverage는 probe design position 과 exon의 position 만 단순하게 비교. 그렇기 때문에 한 probe가 genome 상의 한 위치에서 디자인 됐지만 똑같은 시퀀스가 genome 상의 다른 위치에 존재할 때 원리적으로는 다른 곳도 커버하는 것이지만 그것까지 카운트 하지 않음.
<출처 >
1.SeqCap EZ Human Exome Library v2.0 : Roche 홈피에 오픈
2.SureSelect : 이는 agilent errary인가에 오픈되어 있는걸로 알고 있는데 아직 확실치 않다.
3.TruSeq Exome Enrichment Kit : 이는 web에 오픈되지 않음.
4.exome region : UCSC의 table에서 가져옴.
< 이번 작업을 하면서 알게 된것 혹의 주의 할점 >
1.bed 파일과 UCSC의 데이터의 모든 좌표의 start position은 0-based고 end position은 아니다.
2.refseq과 ccds의 특정 gene들에 대한 record가 여러번 나오는데, 다시 말하면 동일 유전자가 genome 상의 서로 다른 위치에 존재 할수 있기 때문에 같은 gene accession id 를 갖는 record가 있을 수 있다(ccds의 경우 23개, refseq의 경우 2991개).
그런데 하나 이상한건.. refseq. 동일한 gene acc가 여러개의 record가 나온다는 걸 난 동일 유전자가 서로다른 genome상에 위치 하기에 그렇다고 해석했는데.. 그렇다면 동일한 gene acc를 갖는 record들은 최소한 exon 의 갯수와 그 genome size가 동일해야 하는데 refseq의 경우 다수 record를 갖는 gene acc가 2991인데 그중에 613개의 gene acc의 record는 그것이 다르다는 것(ccds의 경우 23개 모두 record가 동일). 이게 어찌된 일인지.. 누가 알려주세요..
하려는 걸 단순화 해보자.
exome capture kit들을 (SeqCap EZ Human Exome Library v2.0, SureSelect , TruSeq Exome Enrichment Kit )의 genome coverage를 비교하자. exome capture kit이니까 특히 exon 부분의 coverage를 유념해서 본다. 그럼 exome region의 definition은 뭘로 할거냐. 여러가지가 있겠지만 refseq과 ccds로 한다.
<결과>
%이 표에서 단순 coverage는 probe design position 과 exon의 position 만 단순하게 비교. 그렇기 때문에 한 probe가 genome 상의 한 위치에서 디자인 됐지만 똑같은 시퀀스가 genome 상의 다른 위치에 존재할 때 원리적으로는 다른 곳도 커버하는 것이지만 그것까지 카운트 하지 않음.
<출처 >
1.SeqCap EZ Human Exome Library v2.0 : Roche 홈피에 오픈
2.SureSelect : 이는 agilent errary인가에 오픈되어 있는걸로 알고 있는데 아직 확실치 않다.
3.TruSeq Exome Enrichment Kit : 이는 web에 오픈되지 않음.
4.exome region : UCSC의 table에서 가져옴.
< 이번 작업을 하면서 알게 된것 혹의 주의 할점 >
1.bed 파일과 UCSC의 데이터의 모든 좌표의 start position은 0-based고 end position은 아니다.
2.refseq과 ccds의 특정 gene들에 대한 record가 여러번 나오는데, 다시 말하면 동일 유전자가 genome 상의 서로 다른 위치에 존재 할수 있기 때문에 같은 gene accession id 를 갖는 record가 있을 수 있다(ccds의 경우 23개, refseq의 경우 2991개).
그런데 하나 이상한건.. refseq. 동일한 gene acc가 여러개의 record가 나온다는 걸 난 동일 유전자가 서로다른 genome상에 위치 하기에 그렇다고 해석했는데.. 그렇다면 동일한 gene acc를 갖는 record들은 최소한 exon 의 갯수와 그 genome size가 동일해야 하는데 refseq의 경우 다수 record를 갖는 gene acc가 2991인데 그중에 613개의 gene acc의 record는 그것이 다르다는 것(ccds의 경우 23개 모두 record가 동일). 이게 어찌된 일인지.. 누가 알려주세요..
Wednesday, April 27, 2011
Enterotypes of the human gut microbiome
metagenome pipeline 1차로다가 만들고 난 후 요즘 genome NCBI에 submission 할려고 그것에 정신없느라 거의 논문이나 관련된 것들을 못봤다. 오늘은 metagenome 논문 하나 보고 그 담에 고걸 가지고 ppt를 만드는데 Prezi를 써볼련다. 아.. 떨려.. 과연 오늘 안에 다 할련지, 저녁에 회식도 있는데.. 딱 오늘까지만 할려고 하는데 해봐야지.
일단 metagenome 손 놓고 있으니 점점 맘이 떠나 갔는데 박사님이 던져준 논문 하나와 그 의도가 나를 그냥 바짝 interested in 하게 만들었다. 요즘 아니지.. 쫌 됐지.. 사람 똥으로다가 metagenome논문이 종종 나오는데(내가 알기로 이거 무슨 society가 있다) 특히 obesity 에 관해서 논문이 꽤 있다. 이번 논문도 그런건데(아직 확실치 않다. 읽어보지 않아서).. 여튼 그 의도가 뭐냐? 이거 사업성이 있다. 단순히 metagenome분석 해준다 하면 pipeline 만들고 돌려서 결과 report 해준다고 생각했는데.. 이거 진단으로도 갈 수도 있겠다. 이럼 이야기가 달라진다. 아니.. 나에 대한 자극도가 달라진다. 재밌겠다란 생각 든다. 함 보자.
일단 논문은 여기.
일단 metagenome 손 놓고 있으니 점점 맘이 떠나 갔는데 박사님이 던져준 논문 하나와 그 의도가 나를 그냥 바짝 interested in 하게 만들었다. 요즘 아니지.. 쫌 됐지.. 사람 똥으로다가 metagenome논문이 종종 나오는데(내가 알기로 이거 무슨 society가 있다) 특히 obesity 에 관해서 논문이 꽤 있다. 이번 논문도 그런건데(아직 확실치 않다. 읽어보지 않아서).. 여튼 그 의도가 뭐냐? 이거 사업성이 있다. 단순히 metagenome분석 해준다 하면 pipeline 만들고 돌려서 결과 report 해준다고 생각했는데.. 이거 진단으로도 갈 수도 있겠다. 이럼 이야기가 달라진다. 아니.. 나에 대한 자극도가 달라진다. 재밌겠다란 생각 든다. 함 보자.
일단 논문은 여기.
Subscribe to:
Posts (Atom)