2018년 1월 26일 금요일

NCBI에서 대량의 미생물 유전체 정보 다운로드하는 요령 - 업데이트

몇 번에 걸쳐서 유전체 정보의 일괄 다운로드(전체 혹은 선별된 것) 방법을 블로그에 작성한 적이 있다. 항상 일정한 위치에 업데이트된 상태로 존재하는 assembly summary 파일을 받아서 선택한 유전체의 FTP 주소 base를 얻어낸 다음 이를 wget이나 curl로 내려받는 것을 기본으로 하였다. 좀 더 편리한 방법은 없을까? 검색을 해 보니 ncbi-genome-downlaod라는 파이썬 패키지가 보인다. 이를 오늘의 블로그 포스트 뒷부분에 소개하기로 하고 우선은 NCBI Genome Download (FAQ)를 오랜만에 읽어보았다.

2번 항목(대용량 데이터 셋의 다운로드에 가장 좋은 프로토콜은 무엇인가?)를 살펴보니 rsync를 최우선적으로 권고한다고 하였다.  그 다음은 HTTPS이고, FTP는 가장 나중이다. 솔직히 말해서 wget과 curl의 차이도 잘 모르는 부끄러운 연구자라서 이 정보는 매우 새롭게 느껴졌다. [curl 대 wget] 어느 프로그램이 더 좋을까?를 읽어보는 것도 좋을 것이다.

RefSeq의 complete bacterial genome을 다운로드하는 방법은 15번 항목에서 설명하였다. 오늘 날짜의 bacteria assembly summary file(링크) 무려 31 메가바이트가 넘으며 라인 수만해도 104,704이다! FAQ 페이지에서는 12번째 컬럼에서 최신 어셈블리 여부("latest")를 확인할 수 있다 하였는데, 실제 파일을 열어보면 모든 자료가 latest이다.

ncbi-genome-download(NCBI Genome Downloading Scripts)는 PyPIGitHub에 전부 존재한다. 이 스크립트의 아이디어는 Mick Watson의 Kraken downloader script에서 아이디어를 "훔쳤다"고 솔직하게 고백하였다. 몇 가지 사용례를 살펴보자.
$ ncbi-genome-download bacteria
$ ncbi-genome-download bacteria,viral
$ ncbi-genome-download bacteria --parallel 4
$ ncbi-genome-download --section genbank fungi
대단히 단순명료하다. 이렇게 가려운 곳을 긁어주는 스크립트가 도처에 널려있으니 얼마나 고마운지 모르겠다. 남이 만들어 놓은 도구를 갖다 쓰기만 할 것이 아니라 나도 뭔가 사회에 기여를 해야 하는데 늘 부족하기만 하다. 

댓글 없음: