*/
package MCview;
-import java.io.*;
-import java.util.*;
-import java.util.List;
-import java.awt.*;
-
import jalview.analysis.AlignSeq;
-import jalview.datamodel.*;
+import jalview.datamodel.Alignment;
+import jalview.datamodel.AlignmentAnnotation;
+import jalview.datamodel.AlignmentI;
+import jalview.datamodel.PDBEntry;
+import jalview.datamodel.SequenceI;
import jalview.io.FileParse;
import jalview.util.MessageManager;
+import java.awt.Color;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Hashtable;
+import java.util.Vector;
+
public class PDBfile extends jalview.io.AlignFile
{
public Vector chains;
{
for (int ai = 0; ai < chainannot.length; ai++)
{
-
chainannot[ai].visible = VisibleChainAnnotation;
annotations.addElement(chainannot[ai]);
}
if (processSecondaryStructure)
{
if (rna.size() > 0)
+ {
try
{
processPdbFileWithAnnotate3d(rna);
x.printStackTrace();
}
+ }
;
if (prot.size() > 0)
+ {
try
{
processPdbFileWithJmol(prot);
}
}
+ }
} catch (OutOfMemoryError er)
{
System.out.println("OUT OF MEMORY LOADING PDB FILE");
System.err.println(line);
}
}
+ markCalcIds();
}
+ public static boolean isCalcIdForFile(String calcId, String pdbFile)
+ {
+ return (calcId != null && calcId.startsWith("JalviewPDB:" + pdbFile
+ + ":JalviewPDB:"));
+ }
+ private void markCalcIds()
+ {
+ for (SequenceI sq : seqs)
+ {
+ for (AlignmentAnnotation aa : sq.getAnnotation())
+ {
+ String oldId = aa.getCalcId();
+ if (oldId == null)
+ {
+ oldId = "";
+ }
+ aa.setCalcId("JalviewPDB:" + id + ":JalviewPDB:" + oldId);
+ }
+ }
+ }
private void processPdbFileWithJmol(ArrayList<SequenceI> prot)
throws Exception
{
for (int i = 0; i < chains.size(); i++)
{
((PDBChain) chains.elementAt(i)).setChainColours(Color.getHSBColor(
- 1.0f / (float) i, .4f, 1.0f));
+ 1.0f / i, .4f, 1.0f));
}
}