[RNA-seq]

RNA-seq 분석 : 2. reference genome 의 종류

" " 2023. 11. 16. 10:33

이번에 전사체 데이터 분석을 진행해 보면서 개인적으로 공부했던 부분들, 분석 과정 등을 하나씩 올려보려고 합니다. 원래 자주 하던 분석이 아니라 중간중간 틀린 부분이 있을 수 있는데 댓글로 수정해 주시면 바로 반영하겠습니다.

 

NGS 를 수행하여 확보한 reads 들을 실험의 대상으로 사용한 유전체 데이터에 mapping 하는 작업이 필요합니다. 해당 유전체를 기반으로 reads 들을 mapping 함으로써 보다 쉽게 alignment 를 수행하고, 유전자들의 발현량을 mapping 된 reads 수를 기반으로 측정하게 됩니다.

 

 

다만, 참조 유전체의 종류에는 여러가지가 있어서 처음에 헷갈리는 부분이 있었습니다. 그 부분에 대해 정리해 보겠습니다.

 

 

참조 유전체를 다운로드할 수 있는 여러 가지 데이터베이스들이 있지만 일반적으로 아래의 Ensembl 에서 가져오는 것 같습니다. NCBI 등에서도 많은 개체의 유전정보를 제공하지만 조금 더 다양한 형태의 참조유전체들을 제공한다는 점에서 RNA-seq 데이터 분석 과정에서 많이 사용됩니다.

 

 

 

Ensembl genome browser 110

Ensembl is a genome browser for vertebrate genomes that supports research in comparative genomics, evolution, sequence variation and transcriptional regulation. Ensembl annotate genes, computes multiple alignments, predicts regulatory function and collects

asia.ensembl.org

 

 

저는 Mus musculus (mouse) 의 유전체를 가지고 분석하였습니다. 구글에 "mus musculus genome fasta" 라고 검색하면 아래와 같이 NCBI, Ensembl 이 주로 나오는데 위에서 말씀드렸던 것처럼 Ensembl 로 들어갑니다.

 

 

 

그럼 아래와 같은 화면을 확인할 수 있습니다. mapping 과정을 위해서는 genome sequence (fasta) 만 필요하지만 우리는 뉴클레오타이드 시퀀스가 궁금한 것이 아니고 어떤 유전자의 발현량이 증감하는지를 보기 때문에 유전자 정보를 포함하는  gene annotation (GFF) 까지 총두 개의 파일이 필요합니다. 

 

 

 

 

여기서 빨간색으로 표시된 'Download DNA sequence (FASTA) 를 들어가면 우측의 많은 fasta 파일이 보이는데요. 해당 파일들의 특징을 아래에 정리해 놓았습니다.

 

 

masking : 반복적이고 복잡도가 떨어지는 시퀀스에 대해 (AAAAAA or TTTTTCT) 변환시키는 것

마스킹 여부에 따라
sm (soft masked) 해당 부분을 소문자로 변환 (AAAAAA -> aaaaaa)
rm (hard masked) 해당 부분을 N (nucleotide) 또는 X (protein) 으로 변환
- (unmasked) 변환하지 않음

 

masking 을 수행하는 이유는 반복적이고 복잡도가 떨어지는 시퀀스를 포함하는 경우에 클러스터링 알고리즘 등 수행하는 데에 있어서 FDR rate 을 증가시킨다고 합니다. 다만, RNA-seq 에서는 참조유전체로써의 fasta 파일을 필요로 하기 때문에 unmasked 버전을 많이 사용합니다. 해서 저는 rm 이나 sm 이 붙어있지 않은 파일을 다운로드하여서 사용하였습니다.

 

 


 

 

 

그럼 결국 두 개의 후보가 남게 되는데요, primary_assembly 와 toplevel 의 차이는 아래와 같습니다. 

 

 

 

1. toplevel : 모든 유전체 정보 포함

2. primary_assembly : haplotypes 와 patches 를 제외한 모든 유전체 정보를 포함.

 

 

결국 haplotypes, patches 의 유무 차이입니다.

 

1. haplotypes : 개체간에 대른 유전자를 갖는 부분 (group of alleles) 

 

예를 들면, 눈동자의 색을 발현하는 유전자 서열이 있다고 했을 때 눈동자의 색이 검은색이나, 갈색이냐에 따라 해당 부분의 뉴클레오타이드 서열이 달라지게 됩니다. (시퀀스의 크고 작은 차이나 유전자의 순서가 바뀌기도 합니다.)

 

다만, 이 또한 실제 개체에서 얻은 시퀀스이므로 primary assembly 와 동등한 지위를 갖고 있어 사용해도 큰 문제는 없습니다.

 

2. patches : 다음 업데이트에 대한 정보

(게임을 패치한다의 그 패치와 비슷한 느낌이 있습니다.)

 

이것을 이해하기 위해서는, 개체의 유전체 정보는 위와 같은 haplotypes 으로 인해 여러 가지 버전이 있고, assembly 과정에서의 오류 등을 포함하고 있어 지속적인 업데이트를 통해 최신화된다는 것을 인지하면 좋습니다.

 

patch 에는 두 가지 종류가 있습니다.

 

1. Novel patches : 새로운 상동유전자 (allele) 의 유전형 -> 다음 major assembly release 에서 haplotype 으로 포함됩니다.

 

2. Fix patches : 알려진 aseembly error 에 대한 수정된 유전형 -> 다음 major assembly release 에서 반영되어 수정됩니다.

 

 

primary_assembly 를 사용하는 게 일반적이고, 해당 유전체에 대해 haplotypes, patches 가 없는 경우에는 primary_assembly 파일이 없는 경우가 있는데 그러면 toplevel 을 사용하시면 됩니다.

 

 

 

=> 최종적으로는 unmasked_primary_assembly 버전의 파일을 사용하는 것이 일반적이라고 정리해 볼 수 있습니다.

 

'[RNA-seq]' 카테고리의 다른 글

RNA-seq 분석 : 3. read 의 mapping 및 normalization  (0) 2023.11.20
# log2 fold change  (1) 2023.11.17
RNA-seq 분석 : 1. 기본개념  (0) 2023.11.14