diff --git a/SAMv1.tex b/SAMv1.tex index e3fa24b89..c5ae51ad8 100644 --- a/SAMv1.tex +++ b/SAMv1.tex @@ -636,7 +636,8 @@ \section{Recommended Practice for the SAM Format} \item If {\sf POS} plus the sum of lengths of {\tt M/=/X/D/N} operations in {\sf CIGAR} exceeds the length specified in the {\tt LN} field of the {\tt @SQ} header line (if exists) with an SN - equal to {\sf RNAME}, the alignment should be unmapped. + equal to {\sf RNAME}, the alignment should be unmapped, unless the + reference sequence is annotated as circular (see below). \item Unmapped reads should be stored in the orientation in which they came off the sequencing machine and have their {\sf reverse} flag bit~(0x10) correspondingly unset. @@ -658,7 +659,19 @@ \section{Recommended Practice for the SAM Format} should be present. \item The {\tt NM} tag should be present. \end{enumerate} -\item At present, this specification does not describe how mappings across the ``join'' in a circular reference sequence should be represented. +\item Alignment to circular reference sequences + This applies to circular reference sequences that are annotated with + {\tt TP:circular} in the {\tt @SQ} header line. + \begin{enumerate}[label=\arabic*] + \item (preferred) {\sf POS} should be between 0 and the length specified + in {\tt LN} field of the {\tt @SQ} header line with an {\tt SN} equal to + {\sf RNAME}. {\sf POS} plus the sum of lengths of {\tt M/=/X/D/N} + operations in {\sf CIGAR} should exceed the length specified in the {\tt LN} + field of the {\tt @SQ} header line (if exists) with an SN equal to + {\sf RNAME}. + \item (alternative) The alignment should be split across multiple records, + with one flagged as primary and the remaining flagged as supplementary. + \end{enumerate} \item Annotation dummy reads: These have {\sf SEQ} set to {\tt *}, {\sf FLAG} bits 0x100 and 0x200 set (secondary and filtered), and a {\tt CT} tag.