Making NCL less strict

The NEXUS standard is very specific about some requirements of input file.

In many cases these requirements are necessary for the semantics to be clear, but in some cases an invalid file is not ambiguous. By default NCL is pretty strict about the rules, but this can be frustrating for users who are constantly having their files rejected (fortunately, NCL's error messages are usually helpful; see Why are the error messages that NCL generates because of invalid files so crystal-clear and helpful?).

There are several ways to make the NexusReader more forgiving than it normally is. Some of these methods involve calling functions (mentioned below) that are in methods of some NxsBlock subclass. To make your PublicNexusReader instance use blocks that have been modified you will have to get the template for each type of block (see PublicNexusReader::GetTreesBlockTemplate() for example).

If you also call NxsCharactersBlock::SetConvertAugmentedToMixed(true), the NCL will attempt to separate a sequence datatype with augmented symbols list into a mixed type that has the same sequence type but also has a set of characters that are datatype standard. See Dealing with Datatype=Mixed discussion. enum)


Next see Quirks and Gotchas for info on common stumbling blocks


Brief Directory:

 All Classes Functions Variables Enumerations Enumerator Friends
Generated on Mon Mar 29 16:37:12 2010 for NCL by  doxygen 1.6.3