diff --git a/.gitignore b/.gitignore index 6b72a7b..9451491 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ bin *.idea/* nexml.iml +/target/ diff --git a/src/mesquite/nexml/InterpretNEXML/NexmlReaders/NexmlCharactersBlockReader.java b/src/mesquite/nexml/InterpretNEXML/NexmlReaders/NexmlCharactersBlockReader.java index e999ae0..a5bb882 100644 --- a/src/mesquite/nexml/InterpretNEXML/NexmlReaders/NexmlCharactersBlockReader.java +++ b/src/mesquite/nexml/InterpretNEXML/NexmlReaders/NexmlCharactersBlockReader.java @@ -144,6 +144,9 @@ private FileElement readMatrix(String mesDataType,Matrix xmlMatrix,MesquiteFi } mesCharacter++; } + } + for (String subset : xmlMatrix.getSubsetNames()) { + } mesMatrix.setUniqueID(xmlMatrix.getId()); mesMatrix.setName(xmlMatrix.getLabel()); diff --git a/src/org/nexml/model/impl/CategoricalMatrixImpl.java b/src/org/nexml/model/impl/CategoricalMatrixImpl.java index 5bc9996..dd183de 100644 --- a/src/org/nexml/model/impl/CategoricalMatrixImpl.java +++ b/src/org/nexml/model/impl/CategoricalMatrixImpl.java @@ -10,6 +10,7 @@ import org.nexml.model.CharacterState; import org.nexml.model.CharacterStateSet; import org.nexml.model.OTU; +import org.nexml.model.Subset; import org.w3c.dom.Document; import org.w3c.dom.Element; @@ -60,6 +61,13 @@ protected CategoricalMatrixImpl(Document document, Element element, OTUsImpl otu for ( Element characterElement : getChildrenByTagName( getFormatElement(), CharacterImpl.getTagNameClass() ) ) { createCharacter(characterElement); } + + for (Element setElement : getChildrenByTagName(getFormatElement(), SubsetImpl.getTagNameClass())) { + String name = setElement.getAttribute("id"); + for (String charID : setElement.getAttribute("char").split(getSplitString(), -1)) { + addToSubset(name, getThingById(charID)); + } + } for ( Element row : getChildrenByTagName( getMatrixElement(), "row") ) { OTU otu = otus.getThingById(row.getAttribute("otu"));