[BioC] gff files: how to tell if right-open interval convention used?

Pages, Herve hpages at fhcrc.org
Fri Apr 1 19:50:43 CEST 2011


Hi Julien, Simon,

It's true that by just looking at the start/end of a feature, if start == end you
cannot tell if this is a zero-length feature (e.g. an insertion point) or a feature
of length 1 (e.g. a SNP).

But my understanding of the GFF3 specs is that you know it's a zero-length feature
by looking at the type of feature (there is a column where this is specified).
So maybe this is why the GFF3 people considered that there was no need to flag
intervals as zero-length features? Not necessarily a very good design though
because that means GFF3 parsers need to get the information of which feature
types are zero-length features from somewhere (from the user?).

That's only my guess. Of course instead of trying to guess those things I should
ask the GFF3 people (hey they have mailing lists!)

Anyway, maybe setting the default value for isRightOpen to FALSE in readGff3()
would be more accurate and avoid a lot of confusion, especially since most users
don't have or don't care about zero-length features.

Thanks!
H.


----- Original Message -----
From: "Julien Gagneur" <julien.gagneur at embl.de>
To: "Simon Anders" <anders at embl.de>
Cc: bioconductor at r-project.org, karlerhard at berkeley.edu, "Herv? Pag?s" <hpages at fhcrc.org>
Sent: Friday, April 1, 2011 3:37:27 AM
Subject: Re: [BioC] gff files: how to tell if right-open interval convention used?

Hi Simon, Karl and Herve,

As Simon points out, the GFF3 format is quite ill-defined. When implementing readGff3() in genomeIntervals, we had to interpret the specifications.

GFF3 allows zero-length features but there is no column to flag intervals as zero-length features. Have we missed something?

>From the two sentences:
"Start is always less than or equal to end."
and
"For zero-length features, such as insertion sites, start equals end ..."

we understood that the only way to distinguish zero-length features from other features was to adopt a right-open convention. We thus interpreted this as an equivalence: "features are zero-length if and only if starts equals end". It is not exactly what it is said, but what else could we do?

Of course, we have noticed that most files actually use the right-closed convention and rarely have zero-length features. We therefore added the parameter isRightOpen.

Although not frequently provided, I believe zero-length features can be useful. genomeIntervals provides consistent support for these (including interval_overlap, etc).

Hope this clarifies the question.

Julien



More information about the Bioconductor mailing list