ArrayList<RNA> list = RNA.loadFromFile(fileName, true);
final int amountOfTrees = list.size();
double sumNodes = 0, sumLength = 0;
int minNodes = Integer.MAX_VALUE, maxNodes = Integer.MIN_VALUE, minLength = Integer.MAX_VALUE, maxLength = Integer.MIN_VALUE;
for (int i = 0; i < amountOfTrees; i++) {
RNA rna = list.get(i);
rna.fixEmptyHairpins();
RNASpecificTree tree = new RNASpecificTree(rna.getHeader());
tree.buildFromViennaFormat(rna.getPrimary().toCharArray(), rna
.getSecondary().toCharArray(), false, false);
if (filter != null && filter.shouldPass(tree)) {
trees.add(tree);
sumNodes += tree.getNodeNum();
sumLength += rna.getPrimary().length();
minLength = Math.min(minLength, rna.getPrimary().length());
minNodes = Math.min(minNodes, tree.getNodeNum());
maxLength = Math.max(maxLength, rna.getPrimary().length());
maxNodes = Math.max(maxNodes, tree.getNodeNum());
}
}
if (printStats) {