- final private static String begin_trees = NexusConstants.BEGIN_TREES.toLowerCase();
- final private static String taxlabels = NexusConstants.TAXLABELS.toLowerCase();
- final private static String translate = NexusConstants.TRANSLATE.toLowerCase();
- final private static String tree = NexusConstants.TREE.toLowerCase();
- final private static String utree = NexusConstants.UTREE.toLowerCase();
- final private static String end = NexusConstants.END.toLowerCase();
- final private static String endblock = "endblock";
- final private static Pattern TREE_NAME_PATTERN = Pattern.compile( "\\s*.?Tree\\s+(.+?)\\s*=.+",
- Pattern.CASE_INSENSITIVE );
- final private static Pattern ROOTEDNESS_PATTERN = Pattern.compile( ".+=\\s*\\[&([R|U])\\].*" );
- private Object _nexus_source;
- private List<String> _taxlabels;
- private Map<String, String> _translate_map;
- private boolean _replace_underscores = NHXParser.REPLACE_UNDERSCORES_DEFAULT;
- private boolean _ignore_quotes_in_nh_data = Constants.NH_PARSING_IGNORE_QUOTES_DEFAULT;
- private TAXONOMY_EXTRACTION _taxonomy_extraction = TAXONOMY_EXTRACTION.NO;
- private Phylogeny _next;
- private BufferedReader _br;
- private boolean _in_trees_block;
- private StringBuilder _nh;
- private String _name;
- private StringBuilder _translate_sb;
- private boolean _in_taxalabels;
- private boolean _in_translate;
- private boolean _is_rooted;
- private boolean _rooted_info_present;
- private boolean _in_tree;
+ final private static boolean DEBUG = false;
+
+ final private static String begin_trees = NexusConstants.BEGIN_TREES.toLowerCase();
+ final private static String end = NexusConstants.END.toLowerCase();
+ final private static String endblock = "endblock";
+ final private static Pattern ROOTEDNESS_PATTERN = Pattern.compile( ".+=\\s*\\[&([R|U])\\].*" );
+ final private static String taxlabels = NexusConstants.TAXLABELS.toLowerCase();
+ final private static Pattern TITLE_PATTERN = Pattern.compile( "TITLE.?\\s+([^;]+)",
+ Pattern.CASE_INSENSITIVE );
+ final private static String translate = NexusConstants.TRANSLATE.toLowerCase();
+ final private static String data = NexusConstants.BEGIN_CHARACTERS.toLowerCase();
+ final private static String characters = NexusConstants.BEGIN_DATA.toLowerCase();
+ final private static String tree = NexusConstants.TREE.toLowerCase();
+ final private static Pattern TREE_NAME_PATTERN = Pattern.compile( "\\s*.?Tree\\s+(.+?)\\s*=.+",
+ Pattern.CASE_INSENSITIVE );
+ final private static Pattern TRANSLATE_PATTERN = Pattern.compile( "([0-9A-Za-z]+)\\s+(.+)" );
+ final private static Pattern ALN_PATTERN = Pattern.compile( "(.+)\\s+([A-Za-z-_\\*\\?]+)" );
+ final private static Pattern DATATYPE_PATTERN = Pattern.compile( "datatype\\s?.\\s?([a-z]+)" );
+ //final private static Pattern LINK_TAXA_PATTERN = Pattern.compile( "link\\s+taxa\\s?.\\s?([^;]+)",
+ // Pattern.CASE_INSENSITIVE );
+ final private static String utree = NexusConstants.UTREE.toLowerCase();
+ private BufferedReader _br;
+ private boolean _ignore_quotes_in_nh_data = AptxConstants.NH_PARSING_IGNORE_QUOTES_DEFAULT;
+ private boolean _in_taxalabels;
+ private boolean _in_translate;
+ private boolean _in_tree;
+ private boolean _in_trees_block;
+ private boolean _in_data_block;
+ private boolean _is_rooted;
+ private String _datatype;
+ private String _name;
+ private Phylogeny _next;
+ private Object _nexus_source;
+ private StringBuilder _nh;
+ private boolean _replace_underscores = NHXParser.REPLACE_UNDERSCORES_DEFAULT;
+ private boolean _rooted_info_present;
+ private List<String> _taxlabels;
+ private TAXONOMY_EXTRACTION _taxonomy_extraction = TAXONOMY_EXTRACTION.NO;
+ private String _title;
+ private Map<String, String> _translate_map;
+ private StringBuilder _translate_sb;
+ private Map<String, MolecularSequence> _seqs;
+ private final boolean _add_sequences = true;
+
+ @Override
+ public String getName() {
+ return "Nexus Phylogenies Parser";
+ }