SAM 파일 포맷은 read data를 reference sequence에 mapping한 결과로 얻게 되는 sequence alignment 를 표현합니다. 많은 컬럼을 담는 만큼 많은 정보를 담고 있는 파일이라 1부, 2부로 분류해서 본 포스트에서는 이 포맷을 이해하는 의의, 이해 과정에 필요한 추가적인 개념과 sam format의 전반적인 형태, 담고있는 정보 일반을 전달하고 추후에 작성 될 2부에서는 sam format 내에 "flag", "CIGAR string"을 조금 더 자세히 다루고, mapping 프로그램에 따라 결과물을 살펴볼 때 주의해야 할 점 정도를 추가로 서술하게 될 것 같습니다.
[요약] SAM FORMAT이 컬럼 별 담고있는 정보는 아래와 같습니다.
SAM format
- 생물정보학에서 활용되는 파일 포맷 (.sam)
- SAM: Sequence Alignment/Map format
- 탭으로 구분된 텍스트 파일
cf. BAM format
- SAM포맷 파일을 이진 형식으로 저장한 버전
Sequence alignment/map
- Alignment, mapping 모두 같은 의미로 혼용
- 시퀀싱을 통해 생성한 read 데이터를 레퍼런스 어셈블리와 비교, 해당 read 데이터가 추출되었을 것으로 추정되는 레퍼런스 유전체 어셈블리 상에서의 위치를 찾아 배열하는 것
- 한 개의 read에 대해 레퍼런스 어셈블리 상의 한 개 이상의 위치에 mapping 될 수 있음
*어셈블리: 전체 DNA의 염기서열 데이터
**레퍼런스 유전체 어셈블리: UCSC에서 제공하는 참조유전체 어셈블리. 많은 수의 샘플로부터 다양한 종류의 시퀀싱 데이터를 활용해서 해당 종의 참조유전체를 생성 및 지속적으로 업데이트하고 있음 (인간의 참조유전체는 GRCH38.p12버전까지 업데이트 된 상태이나 아직 미처 밝혀지지 않은 지역-N으로 표기-이 여전히 존재하기도 하고, 해당 어셈블리를 만드는데 사용한 인종이 유럽인에 국한되어있다는 등의 이슈가 존재)
***read mapping을 왜 하나?: 샘플의 DNA/RNA에서 read data를 추출해서 다양한 분석을 할 수 있는데, 해당 read가 유전체 내 어느 지역에서 추출된 read인지 파악하는 것이 다양한 분석의 첫 단계라고 할 수 있고, reference genome과 다른 지 여부를 바탕으로 샘플의 변이를 찾거나, 유전체 내 알려진 유전자 지역에 RNA sequencing read 데이터를 mapping하면 어떤 유전자가 얼마나 발현되었는지도 알 수 있음.
****레퍼런스: mapping 할 때 read를 mapping하는 대상 시퀀스를 레퍼런스 시퀀스(이미지)라고 함, 그런데 보통 이 레퍼런스 시퀀스로 알려져있는 특정 종의 참조유전체(레퍼런스 유전체 어셈블리)를 사용함..
Read alignment에 주로 사용되는 프로그램
- BWA (bio-bwa.sourceforge.net/bwa.shtml)
- Bowtie2 (bowtie-bio.sourceforge.net/bowtie2/index.shtml)
SAM format을 알기 위해 이해가 필요한 용어와 개념들
- Read: 시퀀싱 머신으로부터 얻은 리드 데이터
- Segment: 연속된 시퀀스 (read의 일부를 포함 모든 연속된 유전체 시퀀스를 의미)
- Template: 시퀀싱 머신에 넣어준 DNA/RNA 조각, 보통의 경우 bp 길이의 template으로부터 (paired-end sequencing) 양 쪽 150bp 길이의 시퀀스가 read data의 형태로 얻어짐
- Linear alignment: Linear한 형태로 alignment가 되는 것, alignment내에 base level의 insertion, deletion등은 존재할 수 있으나 (레퍼런스 어셈블리와 리드 간의 차이), mapping된 segment의 방향이 바뀌는 경우는 존재하지 않는 경우
- Chimeric alignment: 한 개의 read가 두 개 이상으로 쪼개져서 서로 다른 레퍼런스 시퀀스(여기서는 mapping대상 시퀀스를 의미)에 mapping된 경우, 보통 쪼개진 것 중 하나가 해당 리드의 representative alignment라고 하고, 그 외의 경우를 supplementary alignment라고 함
- Multiple mapping : 한 개의 read가 두 곳 이상의 지역에 alignment된 경우, Multiple alignment가 허용된 경우, multiple alignment된 지역 중 한 지역과 read의 alignment가 primary alignment라고 처리되고, 그 외의 alignment는 secondary alignment로 취급됨
SAM format의 구조
- Header, Alignment section으로 구분됨
Header section
- Alignment에 대한 전반적인, 추가적인 정보 제공
- 각각의 TAG, @(HD, SQ, RG, PG, CO)에 해당하는 정보들이 표기됨
@HD |
Header line (first line if header section is present) |
@SQ |
Reference sequence dictionary, order of SQ lines defines the alignment sorting orders |
@RG |
Read group, set of reads from the same sample and sequenced in the same run, same lane |
@PG |
Program |
@CO |
One-line text comment |
Alignment section
- 11개의 컬럼으로 구성됨
- single row = single read
- 예시
- "r001" id를 가진 read가
- 99 flag를 가지면서
- "ref"이라는 이름의 레퍼런스의
- 7번 position에
- mapping quality = 30으로
- 8base match + 2base insertion + 4base match + 1base deletion + 3base match 라는 mapping 패턴으로
- "=" : "r001"은 template 양 쪽에서 r001/1, r001/2 두 개의 리드가 만들어진 경우이고 이 컬럼은 같은 아이디 "r001"의 짝 read가 mapping된 레퍼런스 시퀀스의 이름을 표기하는 컬럼으로 "=" 는 r001/1, r001/2 두 개의 리드 모두 "ref"라는 이름의 레퍼런스 시퀀스에 매핑되었다는 뜻
- 짝 read "r001/2"는 ("ref" 레퍼런스의) 37번 position에 mapping됨
- read mapping 결과를 토대로 계산된 r001/1, r001/2를 만든 template의 length: 39 (r001처럼 paired read가 만들어지는 경우에만 계산됨)
- mapping 된 read sequencd
- read quality
- Additional columns (본 예시에는 없으나 추가 정보 제공을 위해 존재할 수 있음 )
References
•https://samtools.github.io/hts-specs/SAMv1.pdf
•https://github.com/samtools/hts-specs/blob/master/SAMtags.pdf
•https://genome.sph.umich.edu/wiki/SAM
•http://bioinfo.konkuk.ac.kr/wiki/doku.php?id=bdp_2018
'Concepts' 카테고리의 다른 글
[통계] Likelihood, Likelihood ratio test (우도, 우도비검정) (0) | 2021.04.18 |
---|---|
데이터베이스 입문 (0) | 2021.04.04 |
F-statistics in population genetics (0) | 2021.01.10 |
SNP (Single-nucleotide polymorphism) (0) | 2020.12.13 |
그래프의 생물정보학에서의 응용 (0) | 2020.11.15 |