Merge branch 'develop' into bug/JAL-2399textColour
[jalview.git] / src / MCview / PDBChain.java
index b74f101..ba93046 100755 (executable)
@@ -31,6 +31,7 @@ import jalview.schemes.ColourSchemeI;
 import jalview.schemes.ResidueProperties;
 import jalview.structure.StructureImportSettings;
 import jalview.structure.StructureMapping;
+import jalview.util.Comparison;
 
 import java.awt.Color;
 import java.util.List;
@@ -38,6 +39,8 @@ import java.util.Vector;
 
 public class PDBChain
 {
+  public static final String RESNUM_FEATURE = "RESNUM";
+
   /**
    * SequenceFeature group for PDB File features added to sequences
    */
@@ -146,7 +149,9 @@ public class PDBChain
         pdbpos++;
       }
 
-      if (as.astr1.charAt(i) == as.astr2.charAt(i))
+      boolean sameResidue = Comparison.isSameResidue(as.astr1.charAt(i),
+              as.astr2.charAt(i), false);
+      if (sameResidue)
       {
         if (pdbpos >= residues.size())
         {
@@ -199,7 +204,8 @@ public class PDBChain
     }
     for (int i = 0; i < features.length; i++)
     {
-      if (features[i].getFeatureGroup().equals(pdbid))
+      if (features[i].getFeatureGroup() != null
+              && features[i].getFeatureGroup().equals(pdbid))
       {
         SequenceFeature tx = new SequenceFeature(features[i]);
         tx.setBegin(1 + residues.elementAt(tx.getBegin() - offset).atoms
@@ -363,7 +369,7 @@ public class PDBChain
         Residue tmpres = residues.lastElement();
         Atom tmpat = tmpres.atoms.get(0);
         // Make A new SequenceFeature for the current residue numbering
-        SequenceFeature sf = new SequenceFeature("RESNUM", tmpat.resName
+        SequenceFeature sf = new SequenceFeature(RESNUM_FEATURE, tmpat.resName
                 + ":" + tmpat.resNumIns + " " + pdbid + id, "", offset
                 + count, offset + count, pdbid);
         resFeatures.addElement(sf);
@@ -512,10 +518,12 @@ public class PDBChain
       try
       {
         index = ResidueProperties.aa3Hash.get(b.at1.resName).intValue();
-        b.startCol = cs.findColour(ResidueProperties.aa[index].charAt(0));
+        b.startCol = cs.findColour(ResidueProperties.aa[index].charAt(0),
+                0, null, null, 0f);
 
         index = ResidueProperties.aa3Hash.get(b.at2.resName).intValue();
-        b.endCol = cs.findColour(ResidueProperties.aa[index].charAt(0));
+        b.endCol = cs.findColour(ResidueProperties.aa[index].charAt(0), 0,
+                null, null, 0f);
 
       } catch (Exception e)
       {