}
/**
+ * Answers true if the string is a valid open pair rna secondary structure
+ * symbol. Currently accepts A-Z, ([{<
+ *
+ * @param s
+ * @return
+ */
+ public static boolean isOpeningParenthesis(String s)
+ {
+ return s != null && s.length() == 1
+ && isOpeningParenthesis(s.charAt(0));
+ }
+
+ /**
* Answers true if the character is a valid close pair rna secondary structure
* symbol. Currently accepts a-z, )]}>
*
}
/**
+ * Answers true if the string is a valid close pair rna secondary structure
+ * symbol. Currently accepts a-z, )]}>
+ *
+ * @param s
+ * @return
+ */
+ public static boolean isClosingParenthesis(String s)
+ {
+ return s != null && s.length() == 1
+ && isClosingParenthesis(s.charAt(0));
+ }
+
+ /**
* Returns the matching open pair symbol for the given closing symbol.
* Currently returns A-Z for a-z, or ([{< for )]}>, or the input symbol if it
* is not a valid closing symbol.
}
/**
+ * Answers true if the string is a recognised symbol for RNA secondary
+ * structure. Currently accepts a-z, A-Z, ()[]{}<>.
+ *
+ * @param s
+ * @return
+ */
+ public static boolean isRnaSecondaryStructureSymbol(String s)
+ {
+ return isOpeningParenthesis(s) || isClosingParenthesis(s);
+ }
+
+ /**
* Translates a string to RNA secondary structure representation. Returns the
* string with any non-SS characters changed to spaces. Accepted characters
* are a-z, A-Z, and (){}[]<> brackets.