[bip] formats in biology
Noel O'Boyle
baoilleach at gmail.com
Thu Aug 2 08:14:43 PDT 2007
Perhaps the solution is to provide a validator like the w3c did/do for
(x)html. And name and shame all versions of programs that fail it. In
this case the spec would be defined by the validator. This is the only
proactive way I can think of to attempt to standardise a de facto file
format.
Noel
On 02/08/07, Andrew Dalke <dalke at dalkescientific.com> wrote:
> On Aug 2, 2007, at 3:49 PM, Bruce Southey wrote:
> > Thanks for the email as I do agree. What I don't agree with is
> > sweeping the problem away just because some people are doing it. A
> > user should not have to find out the hard way what is supported and
> > what is not.
>
> Most of the people developing software are *not* sweeping
> the problem under the table. To suggest otherwise means
> that you do not understand why things got to be the way
> they are, nor the attempts (like readseq and bioperl) to
> mitigate those problems.
>
>
> Everyone agrees that the user shouldn't have to care about
> understanding the nuances of each format and program support
> for a given format. Well, almost. I've met some who say
> "just suck it up and deal with it".
>
> The question is, how to get to the point where the users
> don't need to care? The current solutions are "guess based
> on the file extension, and be liberal on what you read"
> (bioperl, OEChem), or use some sort of format sniffing / try
> every parser until one works (emboss). Neither are
> perfect, so the default choice can be overridden.
>
>
> I mentioned I wrote validators for some of the bioinformatics
> data sets. In pretty much every data set I found examples
> where the spec and the data provided by that data service
> were in disagreement. PIR? Check. PDB? Check. SWISS-PROT?
> Check. GenBank? Check. Prosite? Check. All had problems.
>
> Who was wrong? The spec or the data?
>
> Answer: It depends. Sometimes the spec was wrong, or incomplete.
> And sometimes the data was wrong. And sometimes the data was
> "right" according to the spec, but in a way that a person
> looking at the data wouldn't expect.
>
> Sometimes the spec contains fields that no one uses, or
> cares about. Like comments in FASTA records.
>
> (BTW, in looking at the FASTA code it appears that those
> "comments" were really used for data fields for some other
> FASTA-like format. By having FASTA ignore those fields,
> it was possible to have FASTA also parse this alternate
> format to only extract the sequence data.)
>
> Formats get used outside the original context. The PDB
> is an example. A correct PDB file has a lot of required
> records.
>
> Most structure visualization programs only need the ATOM
> and HETATM (and a few others, to be nice) records. It's
> a lot of work to verify that the input is in the correct
> format. It's very simple to ignore unknown fields.
>
> Many of those visualizations programs let you export an
> atom selection as a PDB file. Because of the difficulties
> in producing a syntactically correct PDB file, nearly
> all don't. But that's okay because those extra fields,
> for the most part, are ignored by the other tools.
>
> The program cannot correctly say "exports in the PDB 2.3
> format as specified by the PDB". It can say "generates
> a file in the PDB-like family of formats, that has a
> decent chance of being imported by other tools that
> understand the PDB format". It can say "saves the
> HEADER, TITLE, ATOM, HETATM, TER and END records". But
> bear in mind that that subset is *not* "a PDB file".
>
> Doing this documentation requires the users to understand
> the details of each format. Most don't care. They'll just
> say "Chime doesn't parse the PDB file that RasMol generates"
> and be done with it. That's your "find out the hard way."
> It's actually easier to do that than figure out the
> format details. It might even be the *easiest* way!
>
>
> What is the solution to this format variation problem?
>
> Not emit PDB files and generate some other format?
> Like ".my_pdb"? That removes easy interoperability.
> For example, most other visualization programs could
> read a ".my_pdb" file, but the filename is not going
> to appear in a file selection window looking for "*.pdb"
> files nor be usable by a plug-in that only handles
> "x-chem/x-pdb" MIME type.
>
> Should the authors of these programs get together and
> decide upon a new format? In practice that rarely happens.
> And I've seen people spent years working on file formats
> that in practice never get used.
>
> Should we all switch to another format, perhaps based on
> XML or RDF? How do you convince everyone to switch to
> a new format?
>
> Or a simpler question you still haven't answered: why
> should any new FASTA reader support the ;comment field?
> Is there a benefit, other than perhaps the feeling of
> righteous mastery of arcane knowledge?
>
>
> This whole topic on format variations and interoperability
> is a problem with no easy solution.
>
> What's your solution? Maybe it's something the rest
> of us haven't thought of.
>
> I've given some of the history of two formats: FASTA
> and PDB. How would your solution, if proposed 15
> years ago, have changed things? How would history have
> played out. How can we improve this for the future?
>
> Perhaps I'm just cantankerous after having dealt
> with this so long, <wink>
>
> Andrew
> dalke at dalkescientific.com
>
>
>
> _______________________________________________
> biology-in-python mailing list
> biology-in-python at lists.idyll.org
> http://lists.idyll.org/listinfo/biology-in-python
>
More information about the biology-in-python
mailing list