SAM(파일 형식)

SAM (file format)
SAM 파일 형식
개발자
포맷의 종류생물정보학
확장원탭 구분 값
웹 사이트samtools.github.io/hts-specs/

시퀀스 얼라인먼트 맵(SAM)은 원래 Heng Li와 Bob Handsaker [1]개발참조 시퀀스에 맞춰 정렬된 생물학적 시퀀스를 저장하기 위한 텍스트 기반 형식이다.1000 Genetomes Project가 MAQ 매퍼 형식에서 벗어나 새로운 형식을 설계하기로 결정했을 때 개발되었습니다.이 포맷의 전체적인 TAB 구분된 맛은 BLAT의 PSL에서 영감을 얻은 초기 포맷에서 유래했다.SAM의 이름은 Utah 대학의 Gabor Marth에서 유래했습니다.Gabor Marth는 원래 이름은 같지만 BLAST [2]출력과 더 유사한 구문을 가지고 있었습니다.차세대 염기서열 기술에 의해 생성된 뉴클레오티드 염기서열 등의 데이터 저장에 널리 사용되며, [3]매핑되지 않은 염기서열을 포함하도록 표준이 확대되었다.이 형식은 다양한 시퀀싱 플랫폼에서 생성되는 짧은 읽기 및 긴 읽기(최대 128Mbp)를 지원하며 GATK(Genome Analysis Toolkit) 내, Broad Instit, Wellcome Sanger Instit 및 1000 Genomes Project 전체에서 매핑된 데이터를 보관하기 위해 사용됩니다.

포맷

SAM 형식은 헤더와 얼라인먼트 섹션으로 구성됩니다.[1]SAM 파일에 해당하는 바이너리는 BAM(Binary Alignment Map) 파일로 압축된 바이너리 [4]표현에 동일한 데이터를 저장합니다.SAM [1]파일은 소프트웨어 SAMtools를 사용하여 분석 및 편집할 수 있습니다.헤더 섹션이 있는 경우 정렬 섹션보다 앞에 있어야 합니다.머리글은 정렬 섹션과 구분되는 '@' 기호로 시작합니다.정렬 섹션에는 11개의 필수 필드와 다양한 수의 옵션 [1]필드가 있습니다.

들판 유형 간단한 설명
1 QNAME 스트링 템플릿 이름 쿼리
2 플래그 내부 비트 플래그
3 이름 스트링 시퀀스 이름 참조
4 POS 내부 1 베이스의 최좌측 매핑 POSition
5 내부 MAPping 품질
6 시가 스트링 시가 스트링
7 다음 스트링 상대 이름/다음 읽기
8 다음 내부 상대/다음 판독치의 위치
9 클렌 내부 관찰된 템플릿 LENgth
10 SEQ 스트링 세그먼트 SEQuence
11 자격 스트링 프레드 스케일 베이스 Quality+33의 ASCII

묘사

사양부터:[4]

  1. QNAME: 쿼리 템플릿 NAME. 동일한 QNAME을 가진 읽기/세그먼트는 동일한 템플릿에서 온 것으로 간주됩니다.QNAME '*'는 정보를 사용할 수 없음을 나타냅니다.SAM 파일에서 읽기는 키메라 또는 여러 매핑이 주어질 때 여러 개의 정렬 라인을 차지할 수 있습니다.
  2. FLAG: 비트 단위[5] FLAG의 조합
  3. RNAME: 선형 시퀀스 이름 참조.@SQ 헤더 행이 있는 경우 RNAME('*'가 아닌 경우)이 SQ-SN 태그 중 하나에 있어야 합니다.좌표 없이 매핑되지 않은 세그먼트는 이 필드에 '*'가 있습니다.그러나 매핑되지 않은 세그먼트는 정렬 후 원하는 위치에 배치할 수 있도록 일반 좌표를 가질 수도 있습니다.RNAME이 '*'인 경우 POS 및 GIGA에 대한 가정은 할 수 없습니다.
  4. POS: 첫 번째 일치 베이스의 왼쪽 끝 매핑 POSition.기준 시퀀스의 첫 번째 베이스에는 좌표 1이 있습니다. POS는 좌표 없이 매핑되지 않은 판독치의 경우 0으로 설정됩니다.POS가 0인 경우 RNAME 및 GIGA에 대한 가정은 할 수 없습니다.
  5. MAPQ: MAPping 품질.이 값은 -10 log10 Pr{mapping position is wrong}이고, 가장 가까운 정수로 반올림됩니다.값 255는 매핑 품질을 사용할 수 없음을 나타냅니다.
  6. GIGA: CIGAR(간결한 특이성 Gaped Alignment Report) 문자열.
  7. RNEXT: 템플릿에서 읽은 NEXT의 기본 정렬 참조 시퀀스 이름입니다.마지막 읽기의 경우 다음 읽기가 템플릿의 첫 번째 읽기가 됩니다.@SQ 헤더 행이 있는 경우 RNEXT('*' 또는 '='이 아닌 경우)가 SQ-SN 태그 중 하나에 있어야 합니다.정보를 사용할 수 없는 경우 이 필드는 '*'로 설정되며, RNEXT가 동일한 RNAME이면 '='로 설정됩니다. '='이 아닌 경우 템플릿의 다음 읽기에는 기본 매핑이 하나 있습니다(FLAG의 비트 0x100 참조). 이 필드는 다음 읽기의 기본 줄에 있는 RNAME과 동일합니다.RNEXT가 '*'인 경우 PNEXT 및 비트 0x20에 대한 가정은 할 수 없습니다.
  8. PNEXT: 템플릿에서 읽은 다음 번 기본 정렬 위치.정보를 사용할 수 없는 경우 0으로 설정합니다.이 필드는 다음 판독의 프라이머리 행에서 POS와 동일합니다.PNEXT가 0일 경우 RNEXT 및 비트0x20에 대한 가정은 할 수 없습니다.
  9. TLEN: 서명된 관찰된 템플릿 LENgth.모든 세그먼트가 동일한 참조에 매핑되어 있는 경우 부호 없는 관찰 템플릿 길이는 맨 왼쪽의 매핑 베이스에서 맨 오른쪽의 매핑 베이스까지의 베이스 수와 같습니다.맨 왼쪽 세그먼트에는 플러스 기호가 있고 맨 오른쪽 세그먼트에는 마이너스 기호가 있습니다.가운데 세그먼트의 기호는 정의되어 있지 않습니다.싱글 세그먼트템플릿의 경우 또는 정보를 사용할 수 없는 경우에는 0으로 설정됩니다.
  10. SEQ: 세그먼트 SEQuence.시퀀스가 저장되지 않은 경우 이 필드는 '*'일 수 있습니다.'*'가 아닌 경우 시퀀스의 길이는 GAGA의 M/I/S/=/X 작동 길이의 합계와 같아야 합니다. '='는 베이스가 기준 베이스와 동일함을 나타냅니다.편지 케이스에 대해서는 추측할 수 없습니다.
  11. Quality: 베이스 Quality + 33의 ASCII(생거 FASTQ 형식의 품질 문자열과 동일).기본 품질은 -10 log10 Pr{base is wrong}와 같은 프래드 스케일의 기본 오류 확률입니다.품질이 저장되지 않은 경우 이 필드는 '*'일 수 있습니다.'*'가 아닌 경우 SEQ는 '*'가 아니어야 하며 품질 문자열의 길이는 SEQ의 길이와 같아야 합니다.

비트 플래그

FLAG 필드는 단일 정수로 표시되지만 읽기 [4]정렬의 여러 속성을 나타내는 비트 플래그의 합계입니다.각 속성은 정수의 바이너리 표현에서 1비트를 나타냅니다.

비트 플래그
정수 바이너리 설명(쌍으로 구성된 읽기 해석
1 000000000001 시퀀싱에 여러 개의 템플릿이 있는 템플릿(읽기가 쌍으로 이루어짐)
2 000000000010 얼라이너에 따라 올바르게 정렬된 각 세그먼트(적절한 쌍으로 매핑된 판독치)
4 000000000100 세그먼트 매핑 해제(읽기 1 매핑 해제)
8 000000001000 템플릿의 다음 세그먼트 매핑 해제(read2 매핑 해제)
16 000000010000 SEQ가 역보완됨(read1 역보완됨)
32 000000100000 템플릿 내 다음 세그먼트의 SEQ가 역보완됩니다(read2 reverse completed).
64 000001000000 템플릿의 첫 번째 세그먼트(read1)
128 000010000000 템플릿의 마지막 세그먼트(read2)
256 000100000000 프라이머리 얼라인먼트가 아니다
512 001000000000 얼라인먼트가 품질 체크에 실패하다
1024 010000000000 PCR 또는 옵티컬(광학식) 복제
2048 100000000000 보조 정렬(예: 얼라이너 고유, 분할 판독 또는 동점 영역일 수 있음)

FLAG 속성은 최종 값을 얻기 위해 합산됩니다. 예를 들어, FLAG 값 2145를 가진 Illumina 쌍으로 구성된 FASTQ 레코드에서 생성된 SAM 행은 다음을 나타냅니다.

플래그 값 의미. 플래그섬
1 읽기가 쌍으로 되어 있다 1
32 read2는 역보완되었습니다. 33
64 읽기 1 97
2048 보조 정렬 2145

옵션 필드

사양부터:[4]

유형은 A(문자), B(일반 배열), f(16진수 배열), H(16진수 배열), i(정수) 또는 Z(문자열) 중 하나입니다.

태그 유형 묘사
오전 i 템플릿에서 템플릿에 의존하지 않는 최소 매핑 품질
~하듯이 i 얼라이너에 의해 생성된 얼라인먼트 점수
BC Z 샘플을 식별하는 바코드 시퀀스
BQ Z 기준 정렬 품질(BAQ)에 대한 오프셋
BZ Z OX 태그에 포함된 고유한 분자 바코드 베이스의 품질
CB Z 셀 식별자
참조 Z 다음 안타의 참조 이름
CG B, I BAM만: 65535 이상의 연산자로 구성된 경우에만 BAM의 바이너리 부호화 GAGA
CM i 색상 시퀀스와 색상 참조 사이의 거리를 편집합니다(NM 참조).
CO Z 자유 텍스트 코멘트
CP i 다음 타격의 왼쪽 끝 좌표
CQ Z 컬러 판독 기준 품질
CR Z 셀룰러 바코드 시퀀스 베이스(수정되지 않음)
CS Z 컬러 판독 시퀀스
CT Z 전체 주석 태그 읽기(컨센서스 주석 더미 기능에 사용)
CY Z CR 태그의 셀룰러 바코드 시퀀스의 pred 품질
E2 Z 두 번째로 가능성이 높은 베이스 콜
FI i 템플릿 세그먼트 인덱스
FS Z 세그먼트 서픽스
FZ B,S 유량 신호 강도
GC ? 이전 버전과의 호환성을 위해 예약됨
GQ ? 이전 버전과의 호환성을 위해 예약됨
GS ? 이전 버전과의 호환성을 위해 예약됨
H0 i 퍼펙트 히트 수
H1 i 1차 히트 수('NM'도 참조)
H2 i 2차 적중 횟수
안녕 i 조회 적중률 색인
IH i 조회 적중 총수
LB Z 도서관
MC Z 짝/다음 세그먼트용 시가 문자열
MD Z 일치하지 않는 위치에 대한 문자열
MF ? 이전 버전과의 호환성을 위해 예약됨
MI Z 분자 식별자: 레코드가 파생된 분자를 고유하게 식별하는 문자열
MQ i 상대/다음 세그먼트의 매핑 품질
NH i 현재 레코드에 조회가 포함된 보고된 선형 수
NM i 참조까지의 거리 편집
OA Z 원래 위치 맞추기
조직 Z 원래 시가(사용하지 않음, 대신 OA 사용)
동작 i 원래 매핑 위치(사용되지 않음, 대신 OA 사용)
OQ Z 오리지널 베이스 품질
황소 Z 독자적인 분자 바코드 베이스
PG Z 프로그램.
p q. i 템플릿의 프리드 우도
PT Z 패딩된 읽기 시퀀스의 일부에 대한 주석 읽기
PU Z 플랫폼 유닛
문제 2 Z R2 태그의 짝/다음 세그먼트 시퀀스의 pred 품질
QT Z BC 태그에 있는 샘플 바코드 시퀀스의 pred
QX Z RX 태그의 고유 분자 식별자 품질 점수
R2 Z 템플릿의 짝/다음 세그먼트 시퀀스
RG Z 그룹 읽기
RT ? 이전 버전과의 호환성을 위해 예약됨
RX Z (보정 가능한) 고유 분자 식별자의 염기서열
S2 ? 이전 버전과의 호환성을 위해 예약됨
SA Z 키메라 정렬의 기타 표준 정렬
SM i 템플릿에 의존하지 않는 매핑 품질
SQ ? 이전 버전과의 호환성을 위해 예약됨
TC i 템플릿의 세그먼트 수
U2 Z 두 번째 콜이 잘못될 확률은 최선의 콜이 잘못될 가능성을 조건으로 한다.
UQ i 매핑이 올바른 것을 조건으로 하는 세그먼트의 pred 우도
X? ? 최종 사용자용으로 예약됨
Y? ? 최종 사용자용으로 예약됨
Z? ? 최종 사용자용으로 예약됨

「 」를 참조해 주세요.

  • FASTA 포맷은 게놈 서열을 나타내기 위해 사용됩니다.
  • FASTQ 포맷은 DNA 시퀀서의 판독값과 품질 점수를 나타내기 위해 사용됩니다.
  • GFF3 형식을 기반으로 한 확장 기능인 GVF 형식(Genome Variation Format)

레퍼런스

  1. ^ a b c d e Li, H.; Handsaker, B.; Wysoker, A.; Fennell, T.; Ruan, J.; Homer, N.; Marth, G.; Abecasis, G.; Durbin, R. (2009). "The Sequence Alignment/Map format and SAMtools" (PDF). Bioinformatics. 25 (16): 2078–2079. doi:10.1093/bioinformatics/btp352. ISSN 1367-4803. PMC 2723002. PMID 19505943.
  2. ^ "Play it again, SAMtools. Q&A with the SAMtools team on 12 years of providing bioinformatics "glue" - GigaBlog". gigasciencejournal.com. Retrieved 2021-03-20.
  3. ^ https://samtools.github.io/hts-specs/SAMv1.pdf[베어 URL PDF]
  4. ^ a b c d "SAM/BAM Format Specification" (PDF). samtools.github.io.
  5. ^ SAM 플래그 디코딩