import java.util.Map;
import java.util.NoSuchElementException;
import java.util.Vector;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
import org.forester.io.parsers.nhx.NHXParser;
import org.forester.io.writers.PhylogenyWriter;
import org.forester.phylogeny.iterators.PostorderTreeIterator;
import org.forester.phylogeny.iterators.PreorderTreeIterator;
import org.forester.util.FailedConditionCheckException;
+import org.forester.util.ForesterUtil;
public class Phylogeny {
return nodes;
}
+ public List<PhylogenyNode> getNodes( final Pattern p ) {
+ if ( isEmpty() ) {
+ return null;
+ }
+ final List<PhylogenyNode> nodes = new ArrayList<>();
+ for( final PhylogenyNodeIterator iter = iteratorPreorder(); iter.hasNext(); ) {
+ final PhylogenyNode n = iter.next();
+ if ( n.getName() != null ) {
+ final Matcher m = p.matcher( n.getName() );
+ if ( m.find() ) {
+ nodes.add( n );
+ }
+ }
+ }
+ return nodes;
+ }
+
public List<PhylogenyNode> getNodesViaSequenceName( final String seq_name ) {
if ( isEmpty() ) {
return null;