bool NxsCharactersBlock::AugmentedSymbolsToMixed (  ) 

If you say FORMAT DATATYPE=DNA SYMBOLS="01" ; then the valid symbols become "ACGT01".

Returns:
true if a sequence type will be converted to standard (default block would return false). the "setter" function is NxsCharactersBlock::SetConvertAugmentedToMixed()

Dealing with Datatype=Mixed

AugmentedSymbolsToMixed tries to split such a matrix into a datatype=mixed(dna:charset_dna,standard:charset_std) by inferring the charpartition (charset_dna,charset_std). It does this by using GetNamedStateSetOfColumn to detect which states were listed in a column.

Returns true if the translation to mixed was performed. This will only occur if GetOriginalDataType() != GetDataType() because this is the symptom that there was symbol augmentation of a built in datatype.

Note that in the GetNamedStateSetOfColumn then ? will not expand the states present in a symbol. Thus when parsing: Matrix 1: Matrix 2: s ACGT10{ACGT01-} s ACGT10? t ACGT100 t ACGT100 The last character of the first taxon would be parsed as having the potential to have states {ACGT01-}. But when interperted with GetNamedStateSetOfColumn, Matrix 2 can be "explained" by four DNA columns, and three Standard (01) columns. Matrix 1, on the other hand would be found to have four DNA columns, and two Standard (01) columns, and one standard ("ACGT01") column. Note: this function ignores the gap mode setting and treats gaps as newstates for the purposes of the conversion.

Temporary: Will return false if userDefinedEquatesBeforeConversion is true

Definition at line 1606 of file nxscharactersblock.cpp.

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