Skip to content

Toward effective software solution for big biology #
Find similar titles

본 글은 2015년 7월에 Nature Technology에 공개된 빅바이올로지, 바이오 빅데이터 연구에 대한 것이다.

배경 #

  • Big Data 연구자들이 말하는 빅데이터의 문제점은 급변하고 가슴 아픈 연구분야임
  • 스위스 Zurich 대학의 Snijder는 고차원의 Data를 공유하는 연구 문화의 변화를 제안(Nature, 2014)
  • BioinformaticsBioinformatics 소프트웨어 개발은 방 안의 코끼리 임
  • 정말 중요한 문제이지만 자신들의 편리를 위해 해결하기는 회피하고, 대부분 빅데이터 처리 작동 환경에 대해 다루지 못함
  • 반면 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 인용

결론 #

  • 빅 바이올로지 소프트웨어 개발 과제를 해결하기 위하여:

    • 선도하는 과학자들이 소프트웨어 개발이 연구의 필수적인 부분이고, 단순히 뒷받침 되야만 하는 것이 아님을 인정해야 함
    • 많은 프로젝트들은 bioinformatics 협력을 촉진시켜야 하고, 과학적 보상도 만들어야 함
    • 대학은 학제간의 연구를 강화하고, IT 기술이 생명과학 커리큘럼의 기반이고, 재능있는 소프트웨어 개발자 및 생물학자들에게 개인 맞춤형 커리어 개발을 통해 빅데이터 연구에 몰두할 수 있도록 격려해야 함
  • 펀딩 에이전시들의 초점:

    • 협력적인 FOSS 강조
    • 현존하는 기초 계획들(Initiatives) 증축 ex) BD2K
    • 소프트웨어 및 하드웨어 펀딩 배분
    • 프로젝트의 유지 서포트
    • 고성능 텀퓨팅 및 소프트웨어 공학에 협력연구 강조
    • 빅바이올로지 소프트웨어 솔루션에 전념하는 큰 프로젝트에 펀딩

Suggested Pages #

0.0.1_20140628_0