Toward effective software solution for big biology
#
Find similar titles
- 최초 작성자
- 최근 업데이트
Structured data
- Category
- Big Data
본 글은 2015년 7월에 Nature Technology에 공개된 빅바이올로지, 바이오 빅데이터 연구에 대한 것이다.
Table of Contents
배경 #
- Big Data 연구자들이 말하는 빅데이터의 문제점은 급변하고 가슴 아픈 연구분야임
- 스위스 Zurich 대학의 Snijder는 고차원의 Data를 공유하는 연구 문화의 변화를 제안(Nature, 2014)
- Bioinformatics 및 Bioinformatics 소프트웨어 개발은 방 안의 코끼리 임
- 정말 중요한 문제이지만 자신들의 편리를 위해 해결하기는 회피하고, 대부분 빅데이터 처리 작동 환경에 대해 다루지 못함
- 반면 Google, Facebook 및 Skype 등의 IT 회사들은 빅데이터 처리를 위한 인프라 구축과 혁신적인 소프트웨어 개발을 해왔음
- Bioscience 커뮤니티도 빅데이터 소프트웨어 프로젝트의 중요성을 인식하기 위해 노력 하고는 있음
- 즉, 데이터의 공유, 주석, 컴퓨테이션 및 프로그램 재현의 문제가 중요함
현존하는 Bioinformatics Software에 대한 고찰 #
- 다수의 Bioinformatics Software 들은 정부 펀딩을 받은 바이오 분야의 Ph.D 생물학자들이 개발한 것임
- 대부분 Wet-lab 연구에 관련된 소프트웨어
- Wet-lab 연구에 맞게 잘 작동 되지만, 단 한번(one-off)으로 끝남
- 대부분 연구 프로젝트의 목적은 짧은 시간 안에 결과를 얻어야 하기에, well-engineered and scalable solution 의 개발 보다는 prototype 소프트웨어를 기술하는 것이 목표
- 소프트웨어 개발에 대한 과제 조차도 대부분 길지 않기 때문에 버그 수정, 지속성 및 프로그램 재현 등의 소프트웨어의 유지 불가능
FOSS(Free and Open-Source Software) #
- 목표: 홀로 소프트웨어를 개발하는 대신 연구자들이 협력하고, FOSS을 시작하여 그들의 코딩 스킬을 개선
- FOSS 프로젝트는 초기 개발자들에 의해 버려진 프로젝트들을 연속적으로 진행시켜 모듈 개발이 가능해 짐
- 본 저자는 FOSS 스타일 개발에 대해 bioinformatics 성명서를 발행하여 bioinformatics 초기경력자나 그들의 지도교수들을 위한 컴퓨터 시스템 구성의 가이드 라인과 프로세스 제공에 기여 함
- FOSS 성명서: 현재 49명 서명 완료(2015.07.10)
- Galaxy, Cytoscape, BioPerl and Biopython 도 이미 존재하는 FOSS 프로젝트의 일
- 그러나 위의 프로젝트 들은 일부분의 기간 동안만 진행이 되었고, 펀딩이 부족하기 때문에 추가적 투자 없이는 빅바이올로지, 빅데이터 작동환경에 서비스 불가능
- ex) NIH, NSF 초기 펀딩으로 시작된 Galaxy 프로젝트는 지속적 작업을 위해 새로운 펀딩을 찾고 있음
- ex) Biopython은 현재 펀딩이 전혀 없는 상태임
- NIH의 예산 $30B (30조원) 예산 중 2-4%만 bioinformatics 예산(2천억~4천억원)인데 이는 극히 적은 부분만 바이오 빅데이터 소프트웨러 개발에 쓰이는 것임
- 반면, 비영리 Mozilla 재단은 매년 S300M(3천억원)를 소프트웨어 개발과 FOSS 프로모션에 투자
- 구글은 매년 $6.7B(6.7조)를 R&D 에 투자
- BD2K, European Bioinformatics Institute’s smaller BioSamples project 등 소프트웨어 개발, 유지, 프로그램 재현 등에 투자가 계속 이어지길 바람
대안 #
- 23andMe는 제약사와 수백만 달러의 거래를 성사 시켜서 빅데이터 솔루션을 위한 대폭의 투자를 실현
- 중점 소프트웨어 개발을 위해 초기계획을 수립하는 바이오 펀딩 에이전시를 만드는 것
- 본 저자가 가장 원하는 방법인, FOSS 같은 협력 개발 모델을 만드는 것
현 bioinformatics 프로그램 및 프로그램 언어의 한계 #
- 대부분 bioinformatics 소프트웨어는 테라바이트 스케일이 안되고 있음
- R 소프트웨어는 전형적으로 모든 데이터가 RAM 에서 로딩되고, 메모리와 런타임 문제가 있고, 멀티플 CPU 사용을 통한 속도 개선 컴퓨테이션 사용을 위해 제작 되지 않았음
- R, Python, Perl and Ruby 는 빠른 분석과 프로토타이핑을 위한 언어이지, 빅데이터 프로세싱에는 어려움이 있음
- 스케일 문제 해결을 위해서는 효용성과 멀티플 CPU 컴퓨테이션을 포함하는 언어가 필요
차후 개발자들의 Attribution 문제 #
- Bioinformatics 소프트웨어 개발의 기여도에 관해서는 여러 문제가 있음
- Mick Watson은 bioinformatics는 그 권리에 있어서 과학적 규율이고, 많은 bioinformatician들은 경력의 개발이 필요하다고 포스팅
- 아이러니 하게도, 생물학 연구에 가장 많이 인용되는 문헌에 bioinformatics가 기여하는 부분이 상당히 큼에도 불구하고 bioinformatician 들은 논문의 1저자나 교신저자가 되기 어려움
- 소프트웨어 프로젝트 커뮤니티의 저작권 역시 고질적인 문제점임
- 초기 개발자는 프로젝트 기간 내내 크레딧을 받지만, 이후에 코드를 추가하거나 수정한 사람들 역시 초기 개발자 만큼 중요하지만 그들에게는 소프트웨어 개발에 대한 과학적 기여도 보상이 부족함
Attribution 문제에 대한 해결책 #
- 경력 개발 관련: 자체적인 과학적 트랙을 기록하는 소프트웨어 기부 방식을 제안
- 모든 버전의 소프트웨어와 동반된 소스코드에 DOI(Digital Object Identifier) 할당
- 모든 기고자에게 명백한 기여도 할당
- GitHub 등의 웹사이트에 의해 전달된 소프트웨어 버전 컨트롤에 방문한 것을 체크하여 저작권 기여도 체크
- 소프트웨어 계정, 프로그램 재현 및 인용을 명백히 공표할 수 있음
- DOI 인용
- 모든 버전의 소프트웨어와 동반된 소스코드에 DOI(Digital Object Identifier) 할당
결론 #
-
빅 바이올로지 소프트웨어 개발 과제를 해결하기 위하여:
- 선도하는 과학자들이 소프트웨어 개발이 연구의 필수적인 부분이고, 단순히 뒷받침 되야만 하는 것이 아님을 인정해야 함
- 많은 프로젝트들은 bioinformatics 협력을 촉진시켜야 하고, 과학적 보상도 만들어야 함
- 대학은 학제간의 연구를 강화하고, IT 기술이 생명과학 커리큘럼의 기반이고, 재능있는 소프트웨어 개발자 및 생물학자들에게 개인 맞춤형 커리어 개발을 통해 빅데이터 연구에 몰두할 수 있도록 격려해야 함
-
펀딩 에이전시들의 초점:
- 협력적인 FOSS 강조
- 현존하는 기초 계획들(Initiatives) 증축 ex) BD2K
- 소프트웨어 및 하드웨어 펀딩 배분
- 프로젝트의 유지 서포트
- 고성능 텀퓨팅 및 소프트웨어 공학에 협력연구 강조
- 빅바이올로지 소프트웨어 솔루션에 전념하는 큰 프로젝트에 펀딩