*/
package jalview.util;
+import java.util.ArrayList;
+import java.util.List;
+
import jalview.datamodel.SequenceI;
/**
/**
* Answers true if more than 85% of the sequence residues (ignoring gaps) are
* A, G, C, T or U, else false. This is just a heuristic guess and may give a
- * wrong answer (as AGCT are also animo acid codes).
+ * wrong answer (as AGCT are also amino acid codes).
*
* @param seqs
* @return
int aaCount = 0;
for (SequenceI seq : seqs)
{
+ if (seq == null)
+ {
+ continue;
+ }
+ // TODO could possibly make an informed guess just from the first sequence
+ // to save a lengthy calculation
for (char c : seq.getSequence())
{
if ('a' <= c && c <= 'z')
}
}
+
+ /**
+ * Convenience overload of isNucleotide
+ *
+ * @param seqs
+ * @return
+ */
+ public static boolean isNucleotide(SequenceI[][] seqs)
+ {
+ if (seqs == null)
+ {
+ return false;
+ }
+ List<SequenceI> flattened = new ArrayList<SequenceI>();
+ for (SequenceI[] ss : seqs)
+ {
+ for (SequenceI s : ss) {
+ flattened.add(s);
+ }
+ }
+ final SequenceI[] oneDArray = flattened.toArray(new SequenceI[flattened.size()]);
+ return isNucleotide(oneDArray);
+ }
}