Comments (6)
My vote is that they be treated just like any other header lines: they are optional but if present must be well-formed.
Note that tools may still choose to require them (and will exit with a friendly error saying "sorry, but we won't process your VCF until it has them included"). But the spec doesn't need to enforce that.
from hts-specs.
@eitanbanks +1 from me.
However, to make it clear that we do not encourage undefined tags, I included the following sentence in the draft:
Note that BCF, the binary counterpart of VCF, requires that all entries are
present, therefore the use of undefined tags is strongly discouraged.
from hts-specs.
Thank you both for your answers, I agree with the "optional but well-formed if present" idea. The BCF note is also adequate, but I still find the previous paragraph confusing.
If I can make a suggestion, I would write something like the following. The order is somewhat changed to refer first to meta-information lines in general, then recommendations for specific tags.
File meta-information is included after the ## string and must be key=value
pairs. Meta-information lines are optional, but if they are present then
they must be completely well-formed {\color{red} and their ID must be
unique within their type. Note that BCF, the binary counterpart of VCF, requires
that all entries are present.It is strongly encouraged to include meta-information lines describing the \texttt{INFO},
\texttt{FILTER}, \texttt{FORMAT} and {\color{red}\texttt{contig}} entries used
in the body of the VCF file.Meta-information lines can be in any order with the exception of
fileformat
which must come first.
Please let me know your opinions, and if I should make a PR for this.
from hts-specs.
I think that reads better, thank you. There was a proposal discussed at length offline to make the ID attribute mandatory for all structured values. With this addition, the section would read like this:
File meta-information is included after the ## string and must be key=value
pairs. Meta-information lines are optional, but if they are present then
they must be completely well-formed. {\color{red} Note that BCF, the binary
counterpart of VCF, requires that all entries are present. It is strongly
encouraged to include meta-information lines describing the entries used in the
body of the VCF file.All structured lines that have their value enclosed within "$<>$" require an ID
which must be unique within their type.Meta-information lines can be in any order with the exception of
fileformat
which must come first.}
from hts-specs.
Looks good to me :)
from hts-specs.
Since there were no further comments, I am closing the issue as solved.
from hts-specs.
Related Issues (20)
- Modified base single letter codes update HOT 7
- test/sam: Duplicate aux field tags
- test/vcf: Duplicate contig header record ID
- FAIRsharing Record Query - BED format
- CRAM: Need to improve feature positions description HOT 1
- is `*` better than `\*`? HOT 1
- cram: interpretation of "unmapped" flag in a pseudocode seems incorrect HOT 1
- SVCLAIM: VCF4.4 and backward compatibility with VCF4.3 HOT 1
- How to retrieve the primary alignment for secondary and supplementary reads HOT 8
- Is there a semantic difference between GT=./. and GT=0/0 + GQ=0 ? HOT 15
- cram: Inconsistent descriptions of auxiliary tag types HOT 1
- SA tag CIGAR format
- vcf: Handling structured header records with missing IDs in VCF 4.1/4.2 HOT 1
- bcf: First phasing indicators not set in genotype (GT) value examples
- CSI file is BGZF compressed but this is not mentioned in the CSV1 spec HOT 2
- Questions about third-party use of test data HOT 6
- VCF Draft 4.5 and Modified Bases HOT 27
- VCF4.4 SVLEN requirement across different variant representations HOT 1
- refget: v2 spec for Range header errors does not align with typical usage
- vcf: Invalid unstructured header line in VCF 4.3 example `complexfile_passed_000.vcf` HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hts-specs.