|
33 | 33 | \newcommand*{\firstbytebox}[2]{\byteboxAux{#1}{#2}{\put(0,0){\line(0,1){\bytetotalheight}}}}
|
34 | 34 | \newcommand*{\bytebox}[2]{\byteboxAux{#1}{#2}{}}
|
35 | 35 |
|
36 |
| -\newcommand*{\cclass}[1]{{\rm\sf :#1:}} |
| 36 | +\newcommand*{\cclass}[1]{[{\rm\sf :#1:}]} |
| 37 | +\newcommand*{\cclassexcept}[2]{[{\rm\sf :#1:}\caret #2]} |
37 | 38 | \newcommand*{\caret}{\textsuperscript{$\wedge$}}
|
38 | 39 |
|
39 | 40 | \newcommand*{\memlimited}{\textcolor{gray}{\footnotesize\it limited}}
|
@@ -77,7 +78,6 @@ \section{The SAM Format Specification}
|
77 | 78 | For example, floating-point values in SAM always use `{\tt .}' for the decimal-point character.
|
78 | 79 |
|
79 | 80 | The regular expressions in this specification are written using the POSIX\,/\,IEEE Std 1003.1 extended syntax.
|
80 |
| -For brevity, named character classes are written as~{\tt [\cclass{class}]} without an additional pair of brackets. |
81 | 81 |
|
82 | 82 | \subsection{An example}\label{sec:example}
|
83 | 83 | Suppose we have the following alignment with bases in lowercase
|
@@ -209,9 +209,7 @@ \subsubsection{Character set restrictions}\label{sec:charset}
|
209 | 209 | {\tt [\verb"0-9A-Za-z!#$%&+./:;?@^_|~-"][\verb"0-9A-Za-z!#$%&*+./:;=?@^_|~-"]*}
|
210 | 210 | \end{center}
|
211 | 211 |
|
212 |
| -% Pedantically this should be [[:rname:]^*=][[:rname:]]*, but we take advantage |
213 |
| -% of POSIX (Issue 7) section 9.3.5/8 to elide the excess brackets for clarity. |
214 |
| -\newcommand*{\rnameRegexp}{[\cclass{rname}\caret*=][\cclass{rname}]*} |
| 212 | +\newcommand*{\rnameRegexp}{[\cclassexcept{rname}{*=}][\cclass{rname}]*} |
215 | 213 |
|
216 | 214 | \noindent
|
217 | 215 | For clarity, elsewhere in this specification we write this set of allowed characters as a character class~{\tt [\cclass{rname}]} and extend the POSIX regular expression notation to use {\tt\caret *=} to indicate the omission of `{\tt *}' and `{\tt =}' from the character class.
|
@@ -301,6 +299,7 @@ \subsection{The header section}
|
301 | 299 | These alternative names are not used elsewhere within the SAM file;
|
302 | 300 | in particular, they must not appear in alignment records' {\sf RNAME}
|
303 | 301 | or~{\sf RNEXT} fields.
|
| 302 | +\newline |
304 | 303 | \emph{Regular expression}: \emph{name}{\tt (,}\emph{name}{\tt )*}
|
305 | 304 | where \emph{name} is {\tt\rnameRegexp}\\\cline{2-3}
|
306 | 305 | & {\tt AS} & Genome assembly identifier. \\\cline{2-3}
|
|
0 commit comments