Genome Browser를 만들면서 한가지 고민에 빠지게 되었다. 이걸 왜 만들고 있는지에 대한 원초적인 질문에 답을 찾지 못하고 있다는 것이다. 왜 이걸 지금에야 생각하고 있는건지... 그동안 생물학자들은 여러가지 Genome Browser를 사용하고 있었지만, 그 생김새나 기능들은 그닥 큰 차이가 없기 때문에 별 어려움이 없이 사용하고 있다. 좀 불편하더라도 그 불편함을 모르고 그냥... 거기에다가 GMOD(Generic Model Organism Database project)에서도 GBrowse라는 브라우저를 제공하고 있다. 아마 이 브라우저가 가장 보편적인 Genome Browser의 표준(?)일 것이다. 그런데 이러한 기존 방식의 Genome Browser가 아닌 Google Map API를..
바로 이전 글에서 대용량 컴퓨팅 즉 클러스터 컴퓨팅환경을 Yaohoo와 Google에서 연구자들에게 제공한다고 했었다. 대용량 컴퓨팅환경, 좀 더 세분화한다면 여러대의 컴퓨터를 묶어서 사용하는 클러스터 환경과 Bioinformatics 연구를 한번 짚고 넘어가 보려고 한다. 클러스터 컴퓨팅환경을 사용하는 가장 일반적인 예는 바로 처리하고자 하는 일을 나누어서 하는 것이 가장 손쉬운 클러스터 컴퓨터를 이용하는 방법이다. 24개의 chromosome에 대응하는 어떠한 데이터가 있다고 가정할 때 한 대의 컴퓨터로 24개의 chromosome 데이터를 처리할때에 24시간의 시간이 걸린다고 한다면 24대의 컴퓨터에 이러한 작업(job)을 분배한다면 1시간에 끝마칠 수 있다. 바로 linear하게 속도를 향상 시킬..
이전에 국내 바이오인포매틱스 관련 오픈소스 현황이라는 주제의 글에서 대용량 데이터 분석 환경 지원 부분에서 연구를 위해서 단순하게 슈퍼컴퓨터나 cluster 컴퓨터의 기본적인 환경만을 제공하는 것이 아니라 이러한 환경에 + 유틸리티를 덧붙여 제공해야 한다고 언급했었습니다. 그 일례로 Yahoo에서는 학교나 일반 기업에서 구비하기 힘든 Hadoop기반의 클러스터 컴퓨팅 자원에 대해서 학술 연구 목적으로 지원을 하고 있다고 했었죠. 슈퍼컴퓨팅 자원 + 이를 좀더 유연하게 활용할 수 있는 utility(야후에서는 Hadoop) Google의 official 블로그에서도 Supporting cluster computing in the research community이라는 글이 올라왔습니다. 역시나 Google..
Genome Browser를 만들면서 기술적으로 가능한지에 대한 타당성에 대해서 검토를 대충 마쳤다. 따라서 이제는 세부 사항들에 대해서 정의를 하려고 한다. ^^ 그럼 제일 중요한 Brower의 요소인 그래픽 요소들에 대해서 하나씩 정리를 하고 이를 구현해보려고 한다. Genome Brower의 그래픽 요소 Brower에서 사용자가 정보를 얻는 제일 첫번째는 Genome 정보를 그래픽으로 표현한 그래픽 요소들로 부터 1차적으로 정보를 얻는다. Genome Browser의 목적 중 하나가 바로 Genome 정보를 사용자가 그래픽 요소들을 툥해 한눈에 쉽게 알아볼 수 있도록 하는 것이기 때문에 이러한 그래픽 요소의 정의가 충분이 이루어져야 사용자가 원하는, 사용자가 맘에 드는 Browser를 만드는 첫 단..
이전 포스팅에서 총 3개의 Java Panel 만들고 Panel 자체를 이미지로 출력해서 Google Maps API에서 사용할 Custom Map Tile에 사용하기로 했다. 문제는 Sense Panel과 AntiSense Panel에 Genome 정보(SNP, CNV, Exon, Intron 등등등등)를 어떻게 표시할것인가?에 대한 것이다. 그전에 그러면 Bioinformatics에서 위의 정보들을 보여주기 위해서 사용하는 그래픽은 어떠한 것들이 있는지 간단히 살펴보자. BioRuby의 다양한 생물 정보 표시 그래프?? 위의 그림들은 흔히 우리가 Genome Browser에서 보는 표시형식들이다. box, line, line with handles, directed, directed box, tria..
이제 해야 할 일은 이미지를 만드는 작업이다. 지금 만들 Genome Browser의 경우 위의 그림처럼 3개의 부분으로 나누어 생각해 볼 수 있다. 2번 부분은 chromosome의 위치를 보여주는 눈금자가 위치할 부분이고 이 눈금자(2번, Scale)를 기준으로 윗부분(1번, Sense)과 아랫부분(3번, Antisense)에 실제 유용한 정보들(SNP정보 등등)이 보여지게 된다. 여기에서는 Java를 이용하여 그림파일을 생성할 것이다. Java에서 이미지를 생성하고 이를 파일로 얻는 방법은 다음과 같다. 1. BufferedImage를 생성한다. 2. 위의 생성된 버퍼로 부터 Graphics 객체를 얻는다. 3. Graphics 객체에다가 마구 마구 그린다. drawLine(), fillRect()..