Skip to content

Style conventions used in this documentation#

This page explains the style conventions used in HGVS Nomenclature for both readers and authors.

For Readers#

Imperative terms#

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119. The salient features of that document are excerpted below with minor editing.

  1. MUST
    This word, or the terms "REQUIRED" or "SHALL", mean that the definition is an absolute requirement of the specification.

  2. MUST NOT
    This phrase, or the phrase "SHALL NOT", mean that the definition is an absolute prohibition of the specification.

  3. SHOULD
    This word, or the adjective "RECOMMENDED", mean that there may exist valid reasons in particular circumstances to ignore a particular item, but the full implications must be understood and carefully weighed before choosing a different course.

  4. SHOULD NOT
    This phrase, or the phrase "NOT RECOMMENDED", mean that there may exist valid reasons in particular circumstances when the particular behavior is acceptable or even useful, but the full implications should be understood and the case carefully weighed before implementing any behavior described with this label.

  5. MAY
    This word, or the adjective "OPTIONAL", mean that an item is truly optional. An implementation which does not include a particular option MUST be prepared to interoperate with another implementation which does include the option, though perhaps with reduced functionality. In the same vein, an implementation which does include a particular option MUST be prepared to interoperate with another implementation which does not include the option (except, of course, for the feature the option provides.)

  6. Imperatives of the type defined in this memo must be used with care and sparingly. In particular, they MUST only be used where it is actually required for interoperation or to limit behavior which has potential for causing harm (e.g., limiting retransmissions). For example, they must not be used to try to impose a particular method on implementors where the method is not required for interoperability.

For Authors#

This section is relevant only for those who are contributing to the documentation.

Documentation Source#

The HGVS Nomenclature is written using Markdown. If you're unfamiliar with Markdown, please read Introduction to Markdown. Markdown is converted to HTML using Material for MkDocs.

Setting up#

See https://github.com/HGVSNomenclature/hgvs-nomenclature/ for instructions on setting up mkdocs to make it easier to review your contributions.

Style Examples#

Contributors should follow the styles outlined below. Inline HTML is discouraged except when necessary, and underlining should never be used.

Style Intended use Markdown Rendered output
Emphasis Keywords on the first use and important phrases **HTML in Markdown is discouraged** HTML in Markdown is discouraged
Literal text Text that is entered, displayed, or processed <code>ACGT</code>
`ACGT`
`NC_000023.11:g.32849790T>A`
ACGT
ACGT
NC_000023.11:g.32849790T>A
Counterexample Examples of invalid variants with explanation given by hovering <code class="invalid" title="chr1 is not a valid reference sequence">chr1:g.1000_1005del</code> chr1:g.1000_1005del
Sequence edit highlights Highlight spans of sequence based on variant type using classes "ins", "del", or "sub" The deletion of `T`, insertion of `A`, and `C>G` substitution results in a CAG extension in <code>CAG<code class="del">T</code>C<code class="ins">A</code>GCA<code class="sub">G</code>CA</code>. The deletion of T, insertion of A, and C>G substitution results in a CAG extension in CAGTCAGCAGCA.
Other Sequence highlights Highlight spans of sequence The first, second, and third prolines in <code class="spot1">Pro</code><code class="spot2">Pro</code><code class="spot3">Pro</code> The first, second, and third prolines in ProProPro
Links HTML links to other documents or sections [General Recommendations](general.md)
[Heading Title](#headingtag)
General Recommendations
Heading Title

Syntax Blocks#

Syntax blocks are formatted by ./bin/pull-syntax from data in syntax.yaml. See any recommendation page for an example.