2021년 7월 9일 금요일

NCBI 신종코로나바이러스(SARS-Cov-2) 데이터 허브에 올해 등록된 유전체 염기서열에는 한국 유래 바이러스 자료가 없다

신종코로나바이러스 국내 확진자가 최근 들어서 급증하는 추세이다. 하루에 1200명이 넘는 확진자는 전혀 예상하지 못했던 수치이다. 주말에 세웠던 계획을 어떻게 하는 것이 좋을지 심히 고민이 된다.

NCBI에서는 신종코로나바이러스를 위한 SARS-CoV-2 Data Hub를 별도로 운영하고 있다. 오늘 기준으로 등록된 바이러스의 유전체 염기서열은 896,485건이고, completeness로 필터링하면 374,386건이나 된다. GISAID의 EpiCoV 데이터베이스에 비교하면 등록된 데이터는 약 절반 수준이지만 데이터 사용에 따른 제한이 적어서 좋다. GISAID는 데이터를 등록한 사람의 권한을 더 중시하는 정책을 유지하고 있어서 사용자 등록도 까다롭고, 자료를 가져다가 활용하려면 등록자를 밝히는 '감사의 글' PDF 파일을 받아야 한다. 시험삼아서 1만 건(검색 페이지에서 한번에 다운로드할 수 있는 자료의 수 - 이것마저 상한선이 있다니...)의 염기서열을 다운로드하면서 감사의 글 파일을 같이 받았더니 A4 용지 포맷으로 무려 68쪽이나 된다. 만약 논문을 쓰면 이것을 supplementary file로 붙여야 한다. 20만건 정도의 데이터를 받아서 분석한다면 어떻게 될까?

돈을 들여서 바이러스 변이체의 유전체를 연구하고 임상 데이터를 얻은 사람의 소중한 정보를 함부로 가져다 쓰지 말라는 정책인데, 백신 및 치료제 개발이라는 공익적인 목적이라면 이를 좀 더 개방해야 하지 않을까? 이를 촉구하는 공개 서한(Open letter: Support data sharing for COVID-19)에 연구자들이 서명을 하고 있지만 GISAID의 정책이 아직 변한 것 같지는 않다. BioIN 포털에서도 코로나19 바이러스 유전체 데이터 공유 이슈라는 글을 통해 이 문제를 소개하였다.

활용에 별다른 조건이 없는 NCBI의 데이터 허브에서 올해부터 지금까지 수집된 바이러스에 대한 유전체 데이터(complete)를 다운로드하였다. 바이러스 샘플을 수집한 날, 염기서열 정보를 등록한 날, 공개일(NCBI)에 차이가 있으니 주의해야 한다. 아마도 샘플 수집일이 가중 중요한 기준일이 될 것이다.

오늘 받은 것은 약 22만 건에 이르는 자료로서 FASTA file의 크기는 6.1 G에 육박한다. 그런데 한국에서 등록한 것은 하나도 없다. 어라? 수집 기간에 대한 필터를 해제하니 30개 조금 넘는 자료가 존재할 뿐이다. 왜 이렇지? 이번에는 GISAID에 가 보았다. 기간을 불문하고 검색을 한 결과 대한민국에서 유래한 것이 8,579건이고 3종 필터 세트(complete, high coverage, low coverage excl)을 적용하니 4,931개가 되었다. 일단 후자에 해당하는 세트를 전부 다운로드하였다.

왜 거의 전부의 자료를 NCBI가 아니라 GISAID에만 등록을 했을까? 위험을 무릅쓰고 바이러스 샘플을 채취하고, 유전체 데이터를 해독하고, 환자의 임상 데이터를 수집하는 등의 노고는 누구나 다 들여다볼 수 있는 NCBI에 등록하기에는 아까웠던 것일까? 데이터를 가져다가 쓰기만 하는 사람으로서 데이터 제공자의 입장을 완벽하게 이해하기는 어렵다. 나름대로의 합리적인 이유가 있겠지만 아쉬움을 금할 수가 없다.

NCBI Data Hub에서 적당한 조건으로 검색을 한 뒤 table view를 CSV 파일로 받은 후 서열 ID와 PANGO lineage를 awk로 뽑으려고 했더니 2번째 컬럼(authors)가 아주 고약하게 되어 있는 것을 발견했다. 저자가 여러명이므로 콤마를 넣어서 구분을 한 뒤 전체를 큰따옴표로 둘러싼 것이 아닌가. 이를 "awk -F,"로 조작하면 인용기호 안의 콤마를 그대로 구분자로 취급해 버리니 문제가 된다. 방법은 찾으면 나온다! 아래에 소개된 솔루션 중에서 가장 마지막에 소개된 것을 사용하였다.


다음의 코드는 1번과 4번 컬럼을 추출하게 만들어 준다.

$ awk '{while(match($0,/("[^"]+",|[^,]*,|([^,]+$))/,a)){
     $0=substr($0,RSTART+RLENGTH);b[++x]=a[0]}
     print b[1] b[4];x=0}' sequences.csv

댓글 없음: