From aa3069cd07bbd5b35b10d5893fa90a59382e5f82 Mon Sep 17 00:00:00 2001 From: jprocter Date: Tue, 4 Dec 2012 10:47:44 +0000 Subject: [PATCH] JAL-1028 JAL-674 hooks to call external processing for peptide and nucleic acid sequences and map secondary structure annotation onto sequence imported into Jalview --- src/MCview/PDBfile.java | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/src/MCview/PDBfile.java b/src/MCview/PDBfile.java index 1b3aa8b..8a826a1 100755 --- a/src/MCview/PDBfile.java +++ b/src/MCview/PDBfile.java @@ -68,7 +68,7 @@ public class PDBfile extends jalview.io.AlignFile id = safeName(getDataName()); chains = new Vector(); - ArrayList rna=new ArrayList(); + ArrayList rna=new ArrayList(), prot=new ArrayList(); PDBChain tmpchain; String line = null; boolean modelFlag = false; @@ -186,6 +186,8 @@ public class PDBfile extends jalview.io.AlignFile if(isRNA(chainseq)==true) { rna.add(chainseq); + } else { + prot.add(chainseq); } AlignmentAnnotation[] chainannot = chainseq.getAnnotation(); @@ -209,6 +211,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"); @@ -222,7 +233,13 @@ public class PDBfile extends jalview.io.AlignFile } } } - + private void processPdbFileWithJmol(ArrayList prot) throws Exception + { +// System.out.println("this is a PDB format and RNA sequence"); + Annotate3D an3d = new Annotate3D(); + AlignmentI al = an3d.getRNAMLFor(new FileParse(getDataName(),type)); + replaceMatchingSeqsWith(prot, al, AlignSeq.PEP); + } private void processPdbFileWithAnnotate3d(ArrayList rna) throws Exception { // System.out.println("this is a PDB format and RNA sequence"); Annotate3D an3d = new Annotate3D(); -- 1.7.10.2