059927383e72afe59202535b4863fc016463127a
max
  Thu Sep 3 15:04:05 2026 -0700
Document that cdsStart == cdsEnd marks a non-coding transcript in genePred format, refs #38245

This convention was previously only documented indirectly, as a SQL
filtering tip on the Gene tracks FAQ page. Add it next to the
cdsStart/cdsEnd field declarations in genePred.as, genePredExt.as,
sangerGene.as, ensGene.as, knownGene.as, refFlat.as, genePred.h and
sangerGene.h, and mention it in FAQformat.html and bigGenePred.html
(via the equivalent thickStart == thickEnd check).

diff --git src/hg/htdocs/goldenPath/help/bigGenePred.html src/hg/htdocs/goldenPath/help/bigGenePred.html
index 1695e8f97a1..f2f24f9ad6a 100755
--- src/hg/htdocs/goldenPath/help/bigGenePred.html
+++ src/hg/htdocs/goldenPath/help/bigGenePred.html
@@ -62,30 +62,34 @@
     )  </code></pre>
 
 <p>
 The field <code>exonFrames</code> is a comma-separated list of the numbers
 with the possible values 0, 1, 2 or -1, one per exon, in order of transcription.
 This order means that the first value for a transcript on the minus (-) strand is
 the exon on the right of the screen on the Genome Browser.
 A value of zero means that the first codon of the exon starts at the first nucleotide of the
 exon. A value of one means that the first codon starts after the first
 nucleotide and a value of two means that it starts after the second nucleotide.
 UTRs are non-coding and their exonFrame value is -1.</p>
 
 <p>The fields cdsStartStat and cdsEndStat have the following values: 'none' = none,
 'unk' = unknown, 'incmpl' = incomplete, and 'cmpl' = complete. The
 values, however, are not used for our display and cannot be used to identify coding or non-coding genes.
+To determine whether a transcript is non-coding, check whether <code>thickStart</code> equals
+<code>thickEnd</code> (coding transcripts have <code>thickStart != thickEnd</code>); this is the
+bigGenePred equivalent of the genePred convention where <code>cdsStart == cdsEnd</code> marks a
+non-coding transcript.
 For most purposes, to get more information about a transcript, other tables will need to be used. For
 instance, in the case of hg38, the tables named wgEncodeGencodeAttrsVxx, where xx is the Gencode Version number.
 See this <a href="../../FAQ/FAQgenes.html#coding" target="_blank">coding/non-coding genes FAQ</a>
 for more information.</p>
 <p>
 The following bed12+8 is an example of a <a href="examples/bigGenePred.txt">pre-bigGenePred text file
 </a>.</p>
 
 <h2>Creating a bigGenePred track from a bed12+8 file</h2>
 <p>
 <strong>Step 1.</strong> 
 Format your pre-bigGenePred file. The first 12 fields of pre-bigGenePred files are described by the
 <a href="../../FAQ/FAQformat.html#format1">BED file format</a>. Your file must
 also contain the 8 extra fields described in the autoSql file definition 
 shown above: <code>name2, cdsStartStat, cdsEndStat, exonFrames, type, geneName, geneName2,