/** * Test predict using the hivpredmanager * * @throws Xws4jException * @throws XmppException * @throws InterruptedException */ @Test public void testPredictString() throws Xws4jException, XmppException, InterruptedException { String seq = "AAAALWQRPLVTIKIGGQLKEALLDTGADDTVLEEMNLPGRWKPKMIGGIGGFIKVRQYDQILIEICGHKAIGTVLVGPTPVNIIGRNLLTQIGCTLNF"; HIVPredOutputType res = hivdrc.predictPI(seq); assertNotNull(res); /* <?xml version="1.0" encoding="ASCII"?><hivpred:HIVPredOutput xmlns:hivpred="http://www.hivdrc.org/hivpred" errorMessage=""> <hivpred:mutNotInDataset name="P1A"/> <hivpred:mutOutsideModelBoundaries name="Q2A"/> <hivpred:mutOutsideModelBoundaries name="I3A"/> <hivpred:result name="amprenavir" result="-9.344846031197962"/> <hivpred:result name="atazanavir" result="-8.081778845481008"/> <hivpred:result name="indinavir" result="-8.306376101045098"/> <hivpred:result name="lopinavir" result="-8.789871555954795"/> <hivpred:result name="nelfinavir" result="-7.661361493579009"/> <hivpred:result name="ritonavir" result="-8.108639981136413"/> <hivpred:result name="saquinanvir" result="-8.702355550536716"/> </hivpred:HIVPredOutput> */ assertEquals("", res.getErrorMessage()); assertEquals(1, res.getMutNotInDataset().size()); assertEquals("P1A", res.getMutNotInDataset().get(0).getName()); assertEquals(2, res.getMutOutsideModelBoundaries().size()); assertEquals("Q2A", res.getMutOutsideModelBoundaries().get(0).getName()); assertEquals("I3A", res.getMutOutsideModelBoundaries().get(1).getName()); assertEquals(7, res.getResult().size()); assertEquals("amprenavir", res.getResult().get(0).getName()); assertEquals(-9.344846031197962, res.getResult().get(0).getResult(), EPSILON); assertEquals("atazanavir", res.getResult().get(1).getName()); assertEquals(-8.081778845481008, res.getResult().get(1).getResult(), EPSILON); assertEquals("indinavir", res.getResult().get(2).getName()); assertEquals(-8.306376101045098, res.getResult().get(2).getResult(), EPSILON); assertEquals("lopinavir", res.getResult().get(3).getName()); assertEquals(-8.789871555954795, res.getResult().get(3).getResult(), EPSILON); assertEquals("nelfinavir", res.getResult().get(4).getName()); assertEquals(-7.661361493579009, res.getResult().get(4).getResult(), EPSILON); assertEquals("ritonavir", res.getResult().get(5).getName()); assertEquals(-8.108639981136413, res.getResult().get(5).getResult(), EPSILON); // assertEquals("saquinavir", res.getResult().get(6).getName()); // TODO: fix misspelling in sus7.jar class PredictionResult // saquinanvir -> saquinavir assertEquals(-8.702355550536716, res.getResult().get(6).getResult(), EPSILON); System.out.println(res); }
@Test public void testPredictFileWithSingleLine() throws Xws4jException, XmppException, InterruptedException, URISyntaxException, MalformedURLException, IOException { URI uri = getClass().getResource("/testFiles/single.seq").toURI(); URL url = FileLocator.toFileURL(uri.toURL()); String path = url.getFile(); System.out.println("Trying to predict file: " + path); HIVPredOutputType res = hivdrc.predictPI(path); assertNotNull(res); // File contains same string as in testPredictString() method assertEquals("", res.getErrorMessage()); assertEquals(1, res.getMutNotInDataset().size()); assertEquals("P1A", res.getMutNotInDataset().get(0).getName()); assertEquals(2, res.getMutOutsideModelBoundaries().size()); assertEquals("Q2A", res.getMutOutsideModelBoundaries().get(0).getName()); assertEquals("I3A", res.getMutOutsideModelBoundaries().get(1).getName()); assertEquals(7, res.getResult().size()); assertEquals("amprenavir", res.getResult().get(0).getName()); assertEquals(-9.344846031197962, res.getResult().get(0).getResult(), EPSILON); assertEquals("atazanavir", res.getResult().get(1).getName()); assertEquals(-8.081778845481008, res.getResult().get(1).getResult(), EPSILON); assertEquals("indinavir", res.getResult().get(2).getName()); assertEquals(-8.306376101045098, res.getResult().get(2).getResult(), EPSILON); assertEquals("lopinavir", res.getResult().get(3).getName()); assertEquals(-8.789871555954795, res.getResult().get(3).getResult(), EPSILON); assertEquals("nelfinavir", res.getResult().get(4).getName()); assertEquals(-7.661361493579009, res.getResult().get(4).getResult(), EPSILON); assertEquals("ritonavir", res.getResult().get(5).getName()); assertEquals(-8.108639981136413, res.getResult().get(5).getResult(), EPSILON); // assertEquals("saquinavir", res.getResult().get(6).getName()); // TODO: fix misspelling in sus7.jar class PredictionResult // saquinanvir -> saquinavir assertEquals(-8.702355550536716, res.getResult().get(6).getResult(), EPSILON); System.out.println(res); }