ParseException when using interleaved Nexus file

View: New views
9 Messages — Rating Filter:   Alert me  

ParseException when using interleaved Nexus file

by David Johnson-16 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi everyone,

A quick question about the BioJava Nexus parser. I've been trying to
use the Nexus file parser, simply by doing something like:

        NexusFileBuilder builder = new NexusFileBuilder();
        NexusFileFormat.parseFile(builder, f);

However, when parsing Nexus files that are interleaved, I get a ParseException.

Is there a way to setup the parser provided by BioJava to handle
interleaved Nexus files?

Thanks,
-David
--
David Johnson
School of Biological Sciences
University of Reading
_______________________________________________
Biojava-l mailing list  -  Biojava-l@...
http://lists.open-bio.org/mailman/listinfo/biojava-l

Re: ParseException when using interleaved Nexus file

by Richard Holland-6 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Could you point me to an example of an interleaved file?

And also the full stack trace of the exception that gets thrown?

cheers,
Richard

On 6 Aug 2009, at 18:03, David Johnson wrote:

> Hi everyone,
>
> A quick question about the BioJava Nexus parser. I've been trying to
> use the Nexus file parser, simply by doing something like:
>
>        NexusFileBuilder builder = new NexusFileBuilder();
>        NexusFileFormat.parseFile(builder, f);
>
> However, when parsing Nexus files that are interleaved, I get a  
> ParseException.
>
> Is there a way to setup the parser provided by BioJava to handle
> interleaved Nexus files?
>
> Thanks,
> -David
> --
> David Johnson
> School of Biological Sciences
> University of Reading
> _______________________________________________
> Biojava-l mailing list  -  Biojava-l@...
> http://lists.open-bio.org/mailman/listinfo/biojava-l

--
Richard Holland, BSc MBCS
Operations and Delivery Director, Eagle Genomics Ltd
T: +44 (0)1223 654481 ext 3 | E: holland@...
http://www.eaglegenomics.com/

_______________________________________________
Biojava-l mailing list  -  Biojava-l@...
http://lists.open-bio.org/mailman/listinfo/biojava-l

Re: ParseException when using interleaved Nexus file

by David Johnson-16 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Richard,

Thanks for your mail. An example of an interleaved file can be found here:

http://www.molecularevolution.org/si/resources/fileformats/files/dna.nex

where the link pointing to the example file is from
http://www.molecularevolution.org/si/resources/fileformats/ and under
the NEXUS section.

The specific error message is: "org.biojava.bio.seq.io.ParseException:
Found unexpected token interleave=yes in CHARACTERS block"

So it looks like the error is thrown reading the "interleave"
parameter in the top of the data block, and before reaching the actual
interleaved matrix data. Full stacktrace in attached .txt.

Cheers,
-David

2009/8/7 Richard Holland <holland@...>:

> Could you point me to an example of an interleaved file?
>
> And also the full stack trace of the exception that gets thrown?
>
> cheers,
> Richard
>
> On 6 Aug 2009, at 18:03, David Johnson wrote:
>
>> Hi everyone,
>>
>> A quick question about the BioJava Nexus parser. I've been trying to
>> use the Nexus file parser, simply by doing something like:
>>
>>       NexusFileBuilder builder = new NexusFileBuilder();
>>       NexusFileFormat.parseFile(builder, f);
>>
>> However, when parsing Nexus files that are interleaved, I get a
>> ParseException.
>>
>> Is there a way to setup the parser provided by BioJava to handle
>> interleaved Nexus files?
>>
>> Thanks,
>> -David
>> --
>> David Johnson
>> School of Biological Sciences
>> University of Reading
>> _______________________________________________
>> Biojava-l mailing list  -  Biojava-l@...
>> http://lists.open-bio.org/mailman/listinfo/biojava-l
>
> --
> Richard Holland, BSc MBCS
> Operations and Delivery Director, Eagle Genomics Ltd
> T: +44 (0)1223 654481 ext 3 | E: holland@...
> http://www.eaglegenomics.com/
>
>


--
David Johnson
Post-doc Research Assistant
School of Biological Sciences
506, Philip Lyle Research Building
University of Reading
Whiteknights
Reading, RG6 6BX
UK

Tel: +44 (0) 118 378 4415
email: d.johnson@...
web: http://www.rdg.ac.uk/~sis07dj

Message ID org.biojava.bio.seq.io.ParseException

Complete Message

Found unexpected token interleave=yes in CHARACTERS block at org.biojavax.bio.phylo.io.nexus.CharactersBlockParser.parseToken(CharactersBlockParser.java:1177) at org.biojavax.bio.phylo.io.nexus.NexusFileListener$Abstract.parseToken(NexusFileListener.java:256) at org.biojavax.bio.phylo.io.nexus.NexusFileFormat$TokenParser.parseToken(NexusFileFormat.java:345) at org.biojavax.bio.phylo.io.nexus.NexusFileFormat$TokenParser.access$100(NexusFileFormat.java:296) at org.biojavax.bio.phylo.io.nexus.NexusFileFormat.parse(NexusFileFormat.java:266) at org.biojavax.bio.phylo.io.nexus.NexusFileFormat.parseReader(NexusFileFormat.java:117) at org.biojavax.bio.phylo.io.nexus.NexusFileFormat.parseFile(NexusFileFormat.java:79) at uk.ac.rdg.evo.portal.NexusUtil.parseFile(NexusUtil.java:24) at uk.ac.rdg.evo.portal.panels.BayesPhyloJobStep1Panel$UploadNexusForm.onSubmit(BayesPhyloJobStep1Panel.java:65) at org.apache.wicket.markup.html.form.Form.delegateSubmit(Form.java:1518) at org.apache.wicket.markup.html.form.Form.process(Form.java:914) at org.apache.wicket.markup.html.form.Form.onFormSubmitted(Form.java:876) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:182) at org.apache.wicket.request.target.component.listener.ListenerInterfaceRequestTarget.processEvents(ListenerInterfaceRequestTarget.java:73) at org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:92) at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1241) at org.apache.wicket.RequestCycle.step(RequestCycle.java:1320) at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1419) at org.apache.wicket.RequestCycle.request(RequestCycle.java:545) at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:456) at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:289) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:288) at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:271) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:202) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577) at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080) at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:272) at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637) at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568) at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813) at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341) at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263) at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214) at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265) at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)

_______________________________________________
Biojava-l mailing list  -  Biojava-l@...
http://lists.open-bio.org/mailman/listinfo/biojava-l

Re: ParseException when using interleaved Nexus file

by Richard Holland-6 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Thanks David. One more quick question - is this the exact file that is  
throwing the exception? I haven't tested it yet - but if I could test  
against the real file that is throwing the problem, that would help me  
find out exactly what's going wrong.

For what it's worth, the exception is normally thrown when more than  
one interleave=yes/no token is found in the header of the Data or  
Characters block, or when the interleave token appears in a line other  
than the Format line of the header.

cheers,
Richard

On 7 Aug 2009, at 10:28, David Johnson wrote:

> Hi Richard,
>
> Thanks for your mail. An example of an interleaved file can be found  
> here:
>
> http://www.molecularevolution.org/si/resources/fileformats/files/dna.nex
>
> where the link pointing to the example file is from
> http://www.molecularevolution.org/si/resources/fileformats/ and under
> the NEXUS section.
>
> The specific error message is: "org.biojava.bio.seq.io.ParseException:
> Found unexpected token interleave=yes in CHARACTERS block"
>
> So it looks like the error is thrown reading the "interleave"
> parameter in the top of the data block, and before reaching the actual
> interleaved matrix data. Full stacktrace in attached .txt.
>
> Cheers,
> -David
>
> 2009/8/7 Richard Holland <holland@...>:
>> Could you point me to an example of an interleaved file?
>>
>> And also the full stack trace of the exception that gets thrown?
>>
>> cheers,
>> Richard
>>
>> On 6 Aug 2009, at 18:03, David Johnson wrote:
>>
>>> Hi everyone,
>>>
>>> A quick question about the BioJava Nexus parser. I've been trying to
>>> use the Nexus file parser, simply by doing something like:
>>>
>>>       NexusFileBuilder builder = new NexusFileBuilder();
>>>       NexusFileFormat.parseFile(builder, f);
>>>
>>> However, when parsing Nexus files that are interleaved, I get a
>>> ParseException.
>>>
>>> Is there a way to setup the parser provided by BioJava to handle
>>> interleaved Nexus files?
>>>
>>> Thanks,
>>> -David
>>> --
>>> David Johnson
>>> School of Biological Sciences
>>> University of Reading
>>> _______________________________________________
>>> Biojava-l mailing list  -  Biojava-l@...
>>> http://lists.open-bio.org/mailman/listinfo/biojava-l
>>
>> --
>> Richard Holland, BSc MBCS
>> Operations and Delivery Director, Eagle Genomics Ltd
>> T: +44 (0)1223 654481 ext 3 | E: holland@...
>> http://www.eaglegenomics.com/
>>
>>
>
>
>
> --
> David Johnson
> Post-doc Research Assistant
> School of Biological Sciences
> 506, Philip Lyle Research Building
> University of Reading
> Whiteknights
> Reading, RG6 6BX
> UK
>
> Tel: +44 (0) 118 378 4415
> email: d.johnson@...
> web: http://www.rdg.ac.uk/~sis07dj
> <nexusInterleavedParseException_stacktrace.txt>

--
Richard Holland, BSc MBCS
Operations and Delivery Director, Eagle Genomics Ltd
T: +44 (0)1223 654481 ext 3 | E: holland@...
http://www.eaglegenomics.com/

_______________________________________________
Biojava-l mailing list  -  Biojava-l@...
http://lists.open-bio.org/mailman/listinfo/biojava-l

Re: ParseException when using interleaved Nexus file

by David Johnson-16 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Richard,

Actually the original exception was thrown in a different file that my
supervisor tried uploading to a Web app I'm developing that uses the
BioJava Nexus parser, but can't get hold of that particular file
today. So the one I provided the link for was just another example of
an interleaved Nexus file I Googled for when I got your first email
this morning, as I figured they'd probably be the same formatting. But
I remember it's definitely the same exception in both cases.

I had a quick look in the example I provided today, and the
interleave=yes token is definitely in the header of the data block,
and is also definitely in the Format line.

Oh, just FYI, I'm using the BioJava 1.7 binary distribution
(http://www.biojava.org/download/bj17/bin/biojava.jar).

Cheers,
-David

2009/8/7 Richard Holland <holland@...>:

> Thanks David. One more quick question - is this the exact file that is
> throwing the exception? I haven't tested it yet - but if I could test
> against the real file that is throwing the problem, that would help me find
> out exactly what's going wrong.
>
> For what it's worth, the exception is normally thrown when more than one
> interleave=yes/no token is found in the header of the Data or Characters
> block, or when the interleave token appears in a line other than the Format
> line of the header.
>
> cheers,
> Richard
>
> On 7 Aug 2009, at 10:28, David Johnson wrote:
>
>> Hi Richard,
>>
>> Thanks for your mail. An example of an interleaved file can be found here:
>>
>> http://www.molecularevolution.org/si/resources/fileformats/files/dna.nex
>>
>> where the link pointing to the example file is from
>> http://www.molecularevolution.org/si/resources/fileformats/ and under
>> the NEXUS section.
>>
>> The specific error message is: "org.biojava.bio.seq.io.ParseException:
>> Found unexpected token interleave=yes in CHARACTERS block"
>>
>> So it looks like the error is thrown reading the "interleave"
>> parameter in the top of the data block, and before reaching the actual
>> interleaved matrix data. Full stacktrace in attached .txt.
>>
>> Cheers,
>> -David
>>
>> 2009/8/7 Richard Holland <holland@...>:
>>>
>>> Could you point me to an example of an interleaved file?
>>>
>>> And also the full stack trace of the exception that gets thrown?
>>>
>>> cheers,
>>> Richard
>>>
>>> On 6 Aug 2009, at 18:03, David Johnson wrote:
>>>
>>>> Hi everyone,
>>>>
>>>> A quick question about the BioJava Nexus parser. I've been trying to
>>>> use the Nexus file parser, simply by doing something like:
>>>>
>>>>      NexusFileBuilder builder = new NexusFileBuilder();
>>>>      NexusFileFormat.parseFile(builder, f);
>>>>
>>>> However, when parsing Nexus files that are interleaved, I get a
>>>> ParseException.
>>>>
>>>> Is there a way to setup the parser provided by BioJava to handle
>>>> interleaved Nexus files?
>>>>
>>>> Thanks,
>>>> -David
>>>> --
>>>>

_______________________________________________
Biojava-l mailing list  -  Biojava-l@...
http://lists.open-bio.org/mailman/listinfo/biojava-l

Re: ParseException when using interleaved Nexus file

by Richard Holland-6 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I've found the problem - "interleave=yes" is not valid according to  
the official NEXUS format spec which the parser was written against.  
(Maddison et al., 1997)

Interleaved file are supposed to only include the word "interleave" -  
it takes no parameters. Non-interleaved files shouldn't mention it at  
all.

I've modified the parser to tolerate this but I'd be interested to  
know where the invalid token came from - was it added manually, or by  
an existing piece of publically available software?

The modification has been made in the trunk of the biojava-live  
subversion repository.

cheers,
Richard

On 7 Aug 2009, at 11:10, David Johnson wrote:

> Hi Richard,
>
> Actually the original exception was thrown in a different file that my
> supervisor tried uploading to a Web app I'm developing that uses the
> BioJava Nexus parser, but can't get hold of that particular file
> today. So the one I provided the link for was just another example of
> an interleaved Nexus file I Googled for when I got your first email
> this morning, as I figured they'd probably be the same formatting. But
> I remember it's definitely the same exception in both cases.
>
> I had a quick look in the example I provided today, and the
> interleave=yes token is definitely in the header of the data block,
> and is also definitely in the Format line.
>
> Oh, just FYI, I'm using the BioJava 1.7 binary distribution
> (http://www.biojava.org/download/bj17/bin/biojava.jar).
>
> Cheers,
> -David
>
> 2009/8/7 Richard Holland <holland@...>:
>> Thanks David. One more quick question - is this the exact file that  
>> is
>> throwing the exception? I haven't tested it yet - but if I could test
>> against the real file that is throwing the problem, that would help  
>> me find
>> out exactly what's going wrong.
>>
>> For what it's worth, the exception is normally thrown when more  
>> than one
>> interleave=yes/no token is found in the header of the Data or  
>> Characters
>> block, or when the interleave token appears in a line other than  
>> the Format
>> line of the header.
>>
>> cheers,
>> Richard
>>
>> On 7 Aug 2009, at 10:28, David Johnson wrote:
>>
>>> Hi Richard,
>>>
>>> Thanks for your mail. An example of an interleaved file can be  
>>> found here:
>>>
>>> http://www.molecularevolution.org/si/resources/fileformats/files/dna.nex
>>>
>>> where the link pointing to the example file is from
>>> http://www.molecularevolution.org/si/resources/fileformats/ and  
>>> under
>>> the NEXUS section.
>>>
>>> The specific error message is:  
>>> "org.biojava.bio.seq.io.ParseException:
>>> Found unexpected token interleave=yes in CHARACTERS block"
>>>
>>> So it looks like the error is thrown reading the "interleave"
>>> parameter in the top of the data block, and before reaching the  
>>> actual
>>> interleaved matrix data. Full stacktrace in attached .txt.
>>>
>>> Cheers,
>>> -David
>>>
>>> 2009/8/7 Richard Holland <holland@...>:
>>>>
>>>> Could you point me to an example of an interleaved file?
>>>>
>>>> And also the full stack trace of the exception that gets thrown?
>>>>
>>>> cheers,
>>>> Richard
>>>>
>>>> On 6 Aug 2009, at 18:03, David Johnson wrote:
>>>>
>>>>> Hi everyone,
>>>>>
>>>>> A quick question about the BioJava Nexus parser. I've been  
>>>>> trying to
>>>>> use the Nexus file parser, simply by doing something like:
>>>>>
>>>>>      NexusFileBuilder builder = new NexusFileBuilder();
>>>>>      NexusFileFormat.parseFile(builder, f);
>>>>>
>>>>> However, when parsing Nexus files that are interleaved, I get a
>>>>> ParseException.
>>>>>
>>>>> Is there a way to setup the parser provided by BioJava to handle
>>>>> interleaved Nexus files?
>>>>>
>>>>> Thanks,
>>>>> -David
>>>>> --
>>>>>

--
Richard Holland, BSc MBCS
Operations and Delivery Director, Eagle Genomics Ltd
T: +44 (0)1223 654481 ext 3 | E: holland@...
http://www.eaglegenomics.com/

_______________________________________________
Biojava-l mailing list  -  Biojava-l@...
http://lists.open-bio.org/mailman/listinfo/biojava-l

Re: ParseException when using interleaved Nexus file

by David Johnson-16 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Richard,

OK that's good to know... I suppose that's the problem with specifications -
people don't always follow them!

But I get the impression either some people think that using
interleave=yes/no is standard practice, or it could be being generated by
some other phylo software (e.g. maybe PAUP or some other tools).

I had a talk with my supervisor and he actually can't find the specific
programs that have been putting that in, but looking at a range of his Nexus
files, there's quite a few that seem to use put in the yes/no bits, some
files he received from other researchers.

Are the modifications available in the latest automated build (on
CruiseControl)?

Cheers,
-David

2009/8/11 Richard Holland <holland@...>

> I've found the problem - "interleave=yes" is not valid according to the
> official NEXUS format spec which the parser was written against. (Maddison
> et al., 1997)
>
> Interleaved file are supposed to only include the word "interleave" - it
> takes no parameters. Non-interleaved files shouldn't mention it at all.
>
> I've modified the parser to tolerate this but I'd be interested to know
> where the invalid token came from - was it added manually, or by an existing
> piece of publically available software?
>
> The modification has been made in the trunk of the biojava-live subversion
> repository.
>
> cheers,
> Richard
>
>
>
_______________________________________________
Biojava-l mailing list  -  Biojava-l@...
http://lists.open-bio.org/mailman/listinfo/biojava-l

Re: ParseException when using interleaved Nexus file

by Richard Holland-6 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

It should already be on CruiseControl.

Standards in bioinformatics are a pain - people write them to describe  
the format of files their software outputs, then the very same people  
then produce files that break those standards without any additional  
documentation or explanation. (Genbank are one of the biggest  
offenders!) It makes it very hard to write parsers, because if you  
stick to the official spec there will always be files that don't work  
yet people insist are still valid, yet without prior documented  
evidence of invalid files that are considered to be valid, it is  
impossible to write a parser to cater for them. :)

cheers,
Richard

On 11 Aug 2009, at 11:12, David Johnson wrote:

> Hi Richard,
>
> OK that's good to know... I suppose that's the problem with  
> specifications - people don't always follow them!
>
> But I get the impression either some people think that using  
> interleave=yes/no is standard practice, or it could be being  
> generated by some other phylo software (e.g. maybe PAUP or some  
> other tools).
>
> I had a talk with my supervisor and he actually can't find the  
> specific programs that have been putting that in, but looking at a  
> range of his Nexus files, there's quite a few that seem to use put  
> in the yes/no bits, some files he received from other researchers.
>
> Are the modifications available in the latest automated build (on  
> CruiseControl)?
>
> Cheers,
> -David
>
> 2009/8/11 Richard Holland <holland@...>
> I've found the problem - "interleave=yes" is not valid according to  
> the official NEXUS format spec which the parser was written against.  
> (Maddison et al., 1997)
>
> Interleaved file are supposed to only include the word "interleave"  
> - it takes no parameters. Non-interleaved files shouldn't mention it  
> at all.
>
> I've modified the parser to tolerate this but I'd be interested to  
> know where the invalid token came from - was it added manually, or  
> by an existing piece of publically available software?
>
> The modification has been made in the trunk of the biojava-live  
> subversion repository.
>
> cheers,
> Richard
>
>

--
Richard Holland, BSc MBCS
Operations and Delivery Director, Eagle Genomics Ltd
T: +44 (0)1223 654481 ext 3 | E: holland@...
http://www.eaglegenomics.com/

_______________________________________________
Biojava-l mailing list  -  Biojava-l@...
http://lists.open-bio.org/mailman/listinfo/biojava-l

Re: ParseException when using interleaved Nexus file

by David Johnson-16 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Richard,

Forgot to say after your last mail (ages ago now), thanks for all your
help! The stuff I'm using the Nexus parser in works great now.

Cheers,
-David

2009/8/11 Richard Holland <holland@...>:

> It should already be on CruiseControl.
>
> Standards in bioinformatics are a pain - people write them to describe the
> format of files their software outputs, then the very same people then
> produce files that break those standards without any additional
> documentation or explanation. (Genbank are one of the biggest offenders!) It
> makes it very hard to write parsers, because if you stick to the official
> spec there will always be files that don't work yet people insist are still
> valid, yet without prior documented evidence of invalid files that are
> considered to be valid, it is impossible to write a parser to cater for
> them. :)
>
> cheers,
> Richard
>
> On 11 Aug 2009, at 11:12, David Johnson wrote:
>
>> Hi Richard,
>>
>> OK that's good to know... I suppose that's the problem with specifications
>> - people don't always follow them!
>>
>> But I get the impression either some people think that using
>> interleave=yes/no is standard practice, or it could be being generated by
>> some other phylo software (e.g. maybe PAUP or some other tools).
>>
>> I had a talk with my supervisor and he actually can't find the specific
>> programs that have been putting that in, but looking at a range of his Nexus
>> files, there's quite a few that seem to use put in the yes/no bits, some
>> files he received from other researchers.
>>
>> Are the modifications available in the latest automated build (on
>> CruiseControl)?
>>
>> Cheers,
>> -David
>>
>> 2009/8/11 Richard Holland <holland@...>
>> I've found the problem - "interleave=yes" is not valid according to the
>> official NEXUS format spec which the parser was written against. (Maddison
>> et al., 1997)
>>
>> Interleaved file are supposed to only include the word "interleave" - it
>> takes no parameters. Non-interleaved files shouldn't mention it at all.
>>
>> I've modified the parser to tolerate this but I'd be interested to know
>> where the invalid token came from - was it added manually, or by an existing
>> piece of publically available software?
>>
>> The modification has been made in the trunk of the biojava-live subversion
>> repository.
>>
>> cheers,
>> Richard
>>
>>
_______________________________________________
Biojava-l mailing list  -  Biojava-l@...
http://lists.open-bio.org/mailman/listinfo/biojava-l