- private void processPdbFileWithAnnotate3d(ArrayList<SequenceI> rna)
- throws Exception
- {
- // System.out.println("this is a PDB format and RNA sequence");
- // note: we use reflection here so that the applet can compile and run
- // without the HTTPClient bits and pieces needed for accessing Annotate3D
- // web service
- try
- {
- Class cl = Class.forName("jalview.ws.jws1.Annotate3D");
- if (cl != null)
- {
- // TODO: use the PDB ID of the structure if one is available, to save
- // bandwidth and avoid uploading the whole structure to the service
- Object annotate3d = cl.getConstructor(new Class[]
- {}).newInstance(new Object[]
- {});
- AlignmentI al = ((AlignmentI) cl.getMethod("getRNAMLFor",
- new Class[]
- { FileParse.class }).invoke(annotate3d, new Object[]
- { new FileParse(getDataName(), type) }));
- AlignSeq.replaceMatchingSeqsWith(seqs, annotations, rna, al, AlignSeq.DNA, false);
- }
- } catch (ClassNotFoundException x)
- {
- // ignore classnotfounds - occurs in applet
- }
- ;
- }