import jalview.schemes.ResidueProperties;
import jalview.structure.StructureImportSettings;
import jalview.structure.StructureMapping;
+import jalview.util.Comparison;
import java.awt.Color;
import java.util.List;
pdbpos++;
}
- if (as.astr1.charAt(i) == as.astr2.charAt(i))
+ boolean sameResidue = Comparison.compareChars(as.astr1.charAt(i),
+ as.astr2.charAt(i), false);
+ if (sameResidue)
{
if (pdbpos >= residues.size())
{
{
if ((i + (j * len)) < astr1.length())
{
- if (astr1.charAt(i + (j * len)) == astr2.charAt(i + (j * len))
+ boolean sameChar = Comparison.compareChars(
+ astr1.charAt(i + (j * len)), astr2.charAt(i + (j * len)),
+ false);
+ if (sameChar
&& !jalview.util.Comparison.isGap(astr1.charAt(i
+ (j * len))))
{
registerPDBFile(pdb.getId().trim(), pdbFile);
}
// if PDBId is unavailable then skip SIFTS mapping execution path
- isMapUsingSIFTs = pdb.isPPDBIdAvailable();
+ isMapUsingSIFTs = isMapUsingSIFTs && pdb.isPPDBIdAvailable();
} catch (Exception ex)
{
.size()]);
return isNucleotide(oneDArray);
}
+
+ /**
+ * Compares two chars either case sensitively or case insensitively depending
+ * on the caseSensitive flag
+ *
+ * @param c1
+ * first char
+ * @param c2
+ * second char to compare with
+ * @param caseSensitive
+ * if true comparison will be case sensitive otherwise its not
+ * @return
+ */
+ public static boolean compareChars(char c1, char c2, boolean caseSensitive)
+ {
+ boolean sameCase = (Character.isUpperCase(c1) && Character
+ .isUpperCase(c2))
+ || (Character.isLowerCase(c1) && Character.isLowerCase(c2));
+ if (sameCase)
+ {
+ return c1 == c2;
+ }
+ else if (caseSensitive)
+ {
+ return false;
+ }
+ else
+ {
+ return Character.toUpperCase(c1) == Character.toUpperCase(c2);
+ }
+ }
}
{
if (isAMac())
{
+ /*
+ * answer false for right mouse button
+ */
+ if (e.isPopupTrigger())
+ {
+ return false;
+ }
return (Toolkit.getDefaultToolkit().getMenuShortcutKeyMask() & e
.getModifiers()) != 0;
// could we use e.isMetaDown() here?
import jalview.io.StructureFile;
import jalview.schemes.ResidueProperties;
import jalview.structure.StructureMapping;
+import jalview.util.Comparison;
import jalview.util.DBRefUtils;
import jalview.util.Format;
import jalview.xml.binding.sifts.Entry;
{
if ((i + (j * len)) < seqRes.length())
{
- if (seqRes.charAt(i + (j * len)) == strRes
- .charAt(i + (j * len))
+ boolean sameChar = Comparison.compareChars(
+ seqRes.charAt(i + (j * len)),
+ strRes.charAt(i + (j * len)), false);
+ if (sameChar
&& !jalview.util.Comparison.isGap(seqRes.charAt(i
+ (j * len))))
{
assertTrue(Comparison.isNucleotideSequence("a A-g.GcCtTuU", true));
assertFalse(Comparison.isNucleotideSequence("a A-g.GcCtTuU", false));
}
+
+ @Test(groups = { "Functional" })
+ public void compareCharsTest()
+ {
+ assertTrue(Comparison.compareChars('a', 'a', false));
+ assertTrue(Comparison.compareChars('a', 'a', true));
+ assertTrue(Comparison.compareChars('A', 'a', false));
+ assertTrue(Comparison.compareChars('a', 'A', false));
+
+ assertFalse(Comparison.compareChars('a', 'A', true));
+ assertFalse(Comparison.compareChars('A', 'a', true));
+ }
}