From: Jim Procter Date: Fri, 15 Mar 2013 17:01:49 +0000 (+0000) Subject: JAL-1140 JAL-674 process with annotate3d and Jmol to get RNA and protein secondary... X-Git-Tag: Jalview_2_9~221^2^2~8^2~2 X-Git-Url: http://source.jalview.org/gitweb/?a=commitdiff_plain;h=2ee434fd0b628f004674119095ab3aa893ad6831;p=jalview.git JAL-1140 JAL-674 process with annotate3d and Jmol to get RNA and protein secondary structure (will need to refactor this when merging to development branch) --- diff --git a/src/MCview/PDBfile.java b/src/MCview/PDBfile.java index 95dec13..90328e0 100755 --- a/src/MCview/PDBfile.java +++ b/src/MCview/PDBfile.java @@ -24,6 +24,7 @@ import java.awt.*; import jalview.analysis.AlignSeq; import jalview.datamodel.*; +import jalview.ext.jmol.PDBFileWithJmol; import jalview.io.FileParse; import jalview.ws.jws1.Annotate3D; @@ -159,7 +160,9 @@ public class PDBfile extends jalview.io.AlignFile PDBEntry entry = new PDBEntry(); entry.setId(id); entry.setProperty(new Hashtable()); - entry.getProperty().put("CHAIN", ((PDBChain)chains.elementAt(i)).id); + if (((PDBChain)chains.elementAt(i)).id!=null) { + entry.getProperty().put("CHAIN", ((PDBChain)chains.elementAt(i)).id); + } if (inFile != null) { entry.setFile(inFile.getAbsolutePath()); @@ -211,6 +214,15 @@ public class PDBfile extends jalview.io.AlignFile x.printStackTrace(); }; + if (prot.size()>0) + try { + processPdbFileWithJmol(prot); + } catch (Exception x) + { + System.err.println("Exceptions when dealing with RNA in pdb file"); + x.printStackTrace(); + + }; } catch (OutOfMemoryError er) { System.out.println("OUT OF MEMORY LOADING PDB FILE"); @@ -226,8 +238,10 @@ public class PDBfile extends jalview.io.AlignFile } private void processPdbFileWithJmol(ArrayList prot) throws Exception { - // process prot sequence with Jmol to get annotated alignment. - // replaceMatchingSeqsWith(prot, al, AlignSeq.PEP); + PDBFileWithJmol jmf = new PDBFileWithJmol(new FileParse(getDataName(),type)); + Alignment al = new Alignment(jmf.getSeqsAsArray()); + jmf.addAnnotations(al); + replaceMatchingSeqsWith(prot, al, AlignSeq.PEP); } private void processPdbFileWithAnnotate3d(ArrayList rna) throws Exception { // System.out.println("this is a PDB format and RNA sequence"); @@ -286,7 +300,9 @@ public class PDBfile extends jalview.io.AlignFile ap++; } } - annotations.addAll(inspos, Arrays.asList(sq.getAnnotation())); + if (sq.getAnnotation()!=null) { + annotations.addAll(inspos, Arrays.asList(sq.getAnnotation())); + } } } }