Manual page from htslib
released on August 2013


sam – Sequence Alignment/Map file format


Sequence Alignment/Map (SAM) format is TAB-delimited. Apart from the header lines, which are started with the `@' symbol, each alignment line consists of:
1QNAMEQuery template/pair NAME
2FLAGbitwise FLAG
3RNAMEReference sequence NAME
4POS1-based leftmost POSition/coordinate of clipped sequence
5MAPQMAPping Quality (Phred-scaled)
6CIGARextended CIGAR string
7MRNMMate Reference sequence NaMe (`=' if same as RNAME)
8MPOS1-based Mate POSition
9TLENinferred Template LENgth (insert size)
10SEQquery SEQuence on the same strand as the reference
11QUALquery QUALity (ASCII-33 gives the Phred base quality)
12+OPTvariable OPTional fields in the format TAG:VTYPE:VALUE

Each bit in the FLAG field is defined as:

0x0001pthe read is paired in sequencing
0x0002Pthe read is mapped in a proper pair
0x0004uthe query sequence itself is unmapped
0x0008Uthe mate is unmapped
0x0010rstrand of the query (1 for reverse)
0x0020Rstrand of the mate
0x00401the read is the first read in a pair
0x00802the read is the second read in a pair
0x0100sthe alignment is not primary
0x0200fthe read fails platform/vendor quality checks
0x0400dthe read is either a PCR or an optical duplicate
0x0800Sthe alignment is supplementary

where the second column gives the string representation of the FLAG field.


The full SAM/BAM file format specification