blogging

Visual Pipeline (workflow) Editor - Bioinformatics UX

hongiiv 2013. 11. 27. 00:49
반응형
NGS 데이터를 비롯한 대용량의 생물학 데이터가 나타나면서 이를 분석하기 위한 위한 소프트웨어 역시 점차 그 수가 다양해지고 또한 상용화되어 가고 있다. 데이터 분석에 아마 가장 귀찮으면서도 힘든 부분이 바로 분석에 필요한 소프트웨어를 설치/설정하고 소프트웨어들의 입력과 출력을 엮어 일련의 작업을 수행하는 것이다. 이러한 일련의 소프트웨어들을 visual하게 편집할 수 있는 다양한 도구들이 나타나고 있는데 대표적인것들을 UX적으로 살펴보도록 하자. 

Spiral Genetics
Spiral은 pipeline을 생성하는데에 있어서 각각의 소프트웨어들을 Setp이라고 부르며 이러한 step에는 Alignment, Sort, Variant Call 등의 일반적인 NGS 데이터를 위한 10개의 step들이 존재한다. 각 Step들간에는 의존관계에 따라 해당 step 다음에 위치할 수 있는 step이 추천되어 pipeline을 구축하는데 도움을 주고 있다.

  

위처럼 Illumina Alignment라는 Step을 선택하면 해당 Step 다음에 올 수 있는 step이 하단에 나타나게 된다. 하나의 step은 입력값이 점선으로 나타나며 해당 데이터를 기존의 데이터목록에서 드래그하여 위치하도록 하는 형태이다.
 
DNANexus
DNANexus도 Spiral과 유사한 형태로 pipeline을 제작할 수 있으며 각각의 단계를 step이라고 부르며  하나의 step은 해당 step의 inputs과 output 그리고 중간에 App이 해당 in/out을 서로 연결하는 형태이다. Spiral과 다른점은 각 step의 input과 output이 상하에 위치하는 것에서 좌우로 위치하는 것이 큰 차이점이라고 할 수 있다. 또한 input과 output은 그 타입에 따라 아이콘과 함께 보여주고 있으나 직관적인 아이콘이 아니라는 것이 아쉽다. Spiral에 비하여 월등히 많은 App들이 존재하며 필요하다면 custom app도 제작하여 파이프라인에 추가 할 수 있도록 SDK를 제공한다. 


Lab7
아직 정식적으로 오픈되지는 않은 듯 하여 홈페이지에 나와 있는 소개자료를 기반으로 유추해 보면 파이프라인을 구축하는데에 2가지 영역으로 분리되어 하나는 비주얼하게 파이프라인을 구축하는 부분과 실제 코딩하는 영역으로 분리되어 제공된다.


SevenBridge Genomics
위에 소개된 pipeline editor와 달리 사용자가 드래그 앤 드랍으로 직접 캔버스위에 app들을 서로 위치하고 연결하는 방식으로 직관적인 인테페이스를 제공한다. 왼쪽에 위치하는 app을 끌어다 중간의 캔버스에 드랍 시키고 app의 input/output을 서로 마우스로 드래그 하여 연결하도록 한다. app의 in/out은 filetype이 미리 정의되어 서로 다른 data type을 연결하고자 하는 경우 그 연결이 성사되지 않는다. 재미있는 것은 SBG의 분석 플랫폼의 이름이 igor(이고르)인데 해당 개발자의 이름이며, pipeline 에디터도 별도의 pipitor라는 이름을 가지고 있다. 

 
Galaxy
galaxy도 드래그 앤 드랍 형태의 UX로 in/out에 대해 정의는 되어 있지만, 맞지 않는 연결도 허용된다는 단점이 있다. 또한 파이프라인이 길어지는 경우 zoom in/out이 되지 않아 해상도가 낮은 경우 캔버스를 한없이 이동해야 한다. SBG가 해당 단계의 in/out에 대해 마우스 오버시 팝업 형태로 제공되어 단순한 원 형태인데 반해 galaxy는 박스안에 in/out을 모두 나열하여 다소 지저분?하며 output이 많은 툴인 경우 박스가 한없이 켜져버린다는 단점이 있다. 적당히 숨기는 미덕도 필요할 듯하다.

 
결론
Bioinformatics 특히 파이프라인에서의 UX 부분은 사용자를 고려한 전문적인 UX 디자인이 결합되어야 하며 앞으로 좀 더 생물학자에게 친근하게 다가가기 위해 개선되어야 할 부분이 많은 분야이다. 짧게 정리한다면 드래그앤 드랍의 형태를 기본으로 하면서 각 단계의 다음 단계에 사용 가능한 App이 자동으로 추천(활성/비활성)되고 서로간의 input/output간의 연결 또한 지능적으로 이루어져야 할 것이다.
 
반응형