Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add BEDv1 specification #570

Merged
merged 9 commits into from
Dec 6, 2021
Merged

Commits on Nov 18, 2021

  1. Add BEDv1.tex

    Source: ga4gh/ga4gh-bed#2, which pulls from michaelmhoffman/ga4gh-bed@7f13c7f
    
    [Rebased onto mainline latexmk infrastructure changes.]
    michaelmhoffman authored and jmarshall committed Nov 18, 2021
    Configuration menu
    Copy the full SHA
    d74d1d7 View commit details
    Browse the repository at this point in the history
  2. Integrate into existing hts-specs infrastructure

    Add BEDv1.pdf to Makefile.
    Departures from previous practice in this repository:
    
    - [overrides LATEXMK_ENGINE] I developed the document with `lualatex`
      (included in TeX Live) as I usually do instead of `pdflatex`, because it
      fixes some warts especially in font selection and is where I understand
      TeX engine development has been focused for years. If necessary, I could
      change the font setup to use `pdflatex` instead.
    
    add BED to `MAINTAINERS.md`
    
    add version details from BEDv1.ver rather than using gitinfo2
    
    add fallback `\providecommand` for `\Ac`
    
    hack package `acronym` hyperlink using option `nohyperlinks` instead
    make acronym list single-spaced and align to longest acronym
    michaelmhoffman authored and jmarshall committed Nov 18, 2021
    Configuration menu
    Copy the full SHA
    780b8a1 View commit details
    Browse the repository at this point in the history
  3. Edits in response to public comments 2021-06-09 through 2021-06-28

    Addresses public comments received on samtools#570:
    
    - [x] change the field separator to not include newline or carriage return ([thanks](#issuecomment-857452438) @simonbrent)
    - [x] "line feed" -> "newline" ([thanks](#issuecomment-857452438) @simonbrent)
    - [x] "carriage-return" -> "carriage return" ([thanks](#issuecomment-857452438) @simonbrent)
    - [x] define "newline" on first use as `'\n'` ([thanks](#issuecomment-857452438) @simonbrent)
    - [x] clarify that when `chromEnd` is equal to `chromStart` represents a zero-length feature, which is a feature between two bases such as an insertion. `chromStart=0`, `chromEnd=0` represents an insertion before the first nucleotide of a chromosome ([thanks](#issuecomment-857460372) @simonbrent)
    - [x] specify that fields, including custom fields, can only be empty when a single tab is used as the delimiter ([thanks](#issuecomment-857475922) @pdl)
    - [x] specify that field data is ASCII printable characters only---the range `'\x20'` to `'\x7e'` ([thanks](#issuecomment-857475922) @pdl)
    - [x] `name`: change regex so that it cannot be empty ([thanks](#issuecomment-857475922) @pdl)
    - [x] `score`: clarify that `0` should be used in BED5+ files where a `score` attribute of features would be uninformative ([thanks](#issuecomment-857475922) @pdl)
    - [x] `strand`:
      - [x] clarify that `.` is the default value, and that a parser should treat BED5 files as if they have `strand=.`
      - [x] explicitly specify that it cannot be empty in a BED6+ file ([thanks](#issuecomment-857475922) @pdl)
    - [x] `thickEnd`: clarify that the field is not specified but `thickStart` is means BED files that are not BED8+ ([thanks](#issuecomment-857475922) @pdl)
    - [x] change "null or empty" to only "empty" ([thanks](#issuecomment-857475922) @pdl)
    - [x] add recommendation to use colorblind-friendly color schemes, and especially to avoid red-green color schemes ([thanks](#issuecomment-857788414) @JspSrs)
    - [x] sorting:
      - [x] add that arbitrary orderings of `chrom` are allowed as long as all lines with the same `chrom` value occur consecutively ([thanks](#issuecomment-857955521) @ZhenyuZ)
      - [x] specify that multiple features with the same `chrom`, `chromStart`, and `chromEnd` may appear in any order
    - [x] add a section, before "UCSC track files", discussing information that is supplied out-of-band. This should include
      - [x] which of the first 4-12 fields are standard BED fields and which are custom fields ([thanks](#issuecomment-857475922) @pdl)
      - [x] genome assembly used
      - [x] semantics of `score`, `itemRgb`, thick vs. thin positions, block vs. non-block positions
      - [x] definitions of custom fields
      - [x] whether tab is the only delimiter between fields ([thanks](#issuecomment-857475922) @pdl, [thanks](#issuecomment-857508028) @andrewyatz)
    - [x] add acknowledgments to any of the folks thanked in the above checklist, with full name and affiliation
    
    Additionally, define "field separator", remove form feed and vertical tab from valid field separators, specify "data line" instead of "line" in several places, and correct some places where boldface was not used but should be.
    
    Co-authored-by: Michael Hoffman <[email protected]>
    2 people authored and jmarshall committed Nov 18, 2021
    Configuration menu
    Copy the full SHA
    70c88c3 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    c80cf07 View commit details
    Browse the repository at this point in the history
  5. Edits in response to public comments 2021-06-28 through 2021-07-09 [2…

    …0210830 draft]
    
    * Update BEDv1.tex
    
    * polished edits
    
    * Edits in response to public comments 2021-06-28 through 2021-07-09
    
    * Edits in response to public comments 2021-06-28 through 2021-07-09 fix typo
    
    * Edits in reponse to GA4GH PRC
    
    * line edit
    
    * Edits in response to public comments 2021-07-09
    
    * further line edits and footnote fixing
    
    * fix texlint issues
    
    * WIP address uninformative/default/empty issues
    
    * fix empty/uninformative issues
    
    * clarify language on BED fields not being empty
    
    * add special-case `diff/BEDv1.pdf` target that uses lualatex
    
    * fix minor typo
    
    Co-authored-by: Michael Hoffman <[email protected]>
    2 people authored and jmarshall committed Nov 18, 2021
    Configuration menu
    Copy the full SHA
    01a9d8e View commit details
    Browse the repository at this point in the history

Commits on Dec 3, 2021

  1. Further edits [20210831 draft]

    * replace `user` with more specific terms; addresses comment on samtools#570
    
    * move part of `Custom fields` description from recommendation to specification
    
    * add constraint on whitespace in custom fields; addresses comment on samtools#570
    
    * change definition of character and string to use printable characters
    
    * exclude Character and String from comma-separated lists
    
    * define `BED field` and `custom field` as terminology and use them when possible
    
    * clarify definition of BEDn+; addresses comment on samtools#570
    michaelmhoffman authored and jmarshall committed Dec 3, 2021
    Configuration menu
    Copy the full SHA
    dde2566 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    636782d View commit details
    Browse the repository at this point in the history

Commits on Dec 5, 2021

  1. Makefile: switch diff/BEDv1.pdf target to use target-specific varia…

    …bles
    
    No longer have a hard-coded special command line for this target.
    
    Add `LATEXDIFF_ENGINE` variable to serve the same purpose
    as `LATEXMK_ENGINE` but for latexdiff.
    michaelmhoffman authored and jmarshall committed Dec 5, 2021
    Configuration menu
    Copy the full SHA
    9985e36 View commit details
    Browse the repository at this point in the history
  2. README.md and index.md: add BEDv1.tex

    in new `Discrete genomic feature data files` heading
    michaelmhoffman authored and jmarshall committed Dec 5, 2021
    Configuration menu
    Copy the full SHA
    2663cda View commit details
    Browse the repository at this point in the history