문제는 Sense Panel과 AntiSense Panel에 Genome 정보(SNP, CNV, Exon, Intron 등등등등)를 어떻게 표시할것인가?에 대한 것이다. 그전에 그러면 Bioinformatics에서 위의 정보들을 보여주기 위해서 사용하는 그래픽은 어떠한 것들이 있는지 간단히 살펴보자.

위의 그림들은 흔히 우리가 Genome Browser에서 보는 표시형식들이다. box, line, line with handles, directed, directed box, triangle, spliced, direct spliced, composite features, transcripts들을 통해서 생물학 정보를 보여주고 있다. (출처 : Bio-Ruby의 Bio::Graphics http://bio-graphics.rubyforge.org/)
이러한 여러 모양의 그래프는 첫째 이뻐야 한다. 그래야 나중에 논문에 삽입하거나 할때 좀 뽀다구가 나게 된다. 둘째는 만들기 쉬워야 한다. 이 두가지를 만족하도록 위의 그래프??들을 Java를 통해서 만들어 보도록 하자.
우선, 둘째 부분을 만족하기 위해서는 각 모양을 컴포넌트로 만들어서 두고 두고 사용하면 된다. Java의 Component 객체를 상속받아서 자신만의 custom component를 만들어 두면 된다. 이때 각 컴포넌트는 서로 컴포넌트들이 겹치더라도 컴포넌트가 반투명화 되어 있어 서로 겹쳐도 상관없도록 만들었다.
그럼 차근차근 이쁘고 반투명한 나만의 Bioinformatics 정보를 표현하기 위한 컴포넌트를 만들어보자. ^^;; 결과부터 보면 다음과 같다. 이 컴포넌트는 상단에 텍스트가 들어가는 반투명의 그라데이션이 적용된 컴포넌트이다. 아직 이렇게 생긴걸 더 많이 만들어야 되기 때문에 시간이 좀걸린다. 위의 BioRuby 패키지에서 만들어주는 그래프보단 이쁘지 않은가??? ^^;;;

크기도 제각각, 겹쳐도 반투명이라 다 보이고 ^^;; (가장 기본적인 generic, box, line에 사용될 컴포넌트 예시)
Posted by hongiiv






