2018년 2월 7일 수요일

NCBI PGAP이 생성한 공개 전 GenBank file을 Roary에 사용할 수 없는 이유

Pan genome 분석 파이프라인인 Roary는 유전체 서열 및 유전자(translated) 서열을 내부에 갖고 있는 GFF3 파일을 입력물로 받아들인다. 이를 위해서는 Prokka로 predictiongks GFF3 파일이나 NCBI에서 다운로드한 GenBank 파일을 bp_genbank2gff3.pl 스크립트(BioPerl에 포함)로 전환하여 사용하면 된다.

요즘 Paenibacillus polymyxa 및 이와 연관된 미생물 균주의 유전치 비교 분석에 힘을 쏟고 있다. 우리 연구그룹에서 유전체를 해독하여 NCBI의 PGAP으로 주석화를 하였지만 아직 공개가 되지 않은 것이 두 건 있어서 미공개 상태의 GenBank file을 genome submission portal에서 내려받은 후 bp_genbank2gff3.pl로 처리하여 GFF3 파일을 만들었다. 이를 다른 공개된 유전체 정보에서 전환한 GFF3와 한데 섞어서 Roary를 실행하였다.

그런데 core gene이 하나도 생성되지 않는 것이 아닌가. 처음에는 적절하지 않은 균주의 유전체 자료가 섞여 있어서 그러한 것이라 생각했었다. 나머지 것들과 너무나 거리가 먼 균주가 단 하나라도 섞여 있다면, 이들 전체를 아우르는 core gene이 나오지 않을 것임이 너무나 명백하다. 실제로 그러한지 확인을 하기 위하여 roary2svg.pl 스크립트로 gene_presence_absence.csv 파일을 처리하여 SVG(scalable vector graphics) 파일을 만든 다음 웹브라우저에서 열어보았다.


그게 아니었다. 비공개 GenBank file에서 생성한 GFF3가 제대로 쓰이지 못하고 있었다. 이 두 개의 유전체는 여러개의 contig로 구성된 것이다. 그게 Roary 작동에 문제를 초래하지는 않는다. GFF3 파일을 열어보니 contig 서열 ID가 있는 곳이 전부 '>noname'으로 표시된 것을 발견하였다. Contig가 몇 개이든 관계없이 전부 동일한 ID를 달고 있는 것이었다. 왜 그런 것일까? GenBank file의 앞부분으로 가 보았다. 하나의 contig에 대해서 다음의 정보가 나타나고(feature와 sequence를 포함), '//'를 구분자로 하여 다음 contig에 대해서도 LOCUS로 시작하는 새로운 정보가 이어진다.
LOCUS       <생략>
DEFINITION  Paenibacillus sp. F4, whole genome shotgun sequence.
ACCESSION
VERSION

DBLINK      BioProject: PRJNA429493
            BioSample: SAMN08348193
ACCESSION과 VERSION 난이 비어있다는 것이 원인일 것 같았다. 간단한 Perl 스크립트를 작성하여 이 부분을 LOCUS 값으로 채워 보았다. 비로소 정상적인 결과가 나왔다. 가까운 몇 개의 species에 속하는 균주의 데이터를 50개 가량 투입하여 분석한 것이라 core gene은 1070개 정도로 그 수가 조금 적다. 사소한 문제이지만 해결을 하니 속이 다 시원하다.

댓글 없음: