X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fgui%2Fstructurechooser%2FStructureChooserQuerySourceTest.java;h=28dd594f571b50b0dcf088552b3e4c241ec11d35;hb=f1b00517fe5f888f3213d70270e27a83dffe1695;hp=7107448cc25883f2e8391074c90e9407e363aa5e;hpb=5a352aa2f3330ae269d9b70c4a7374c2518bfb2e;p=jalview.git diff --git a/test/jalview/gui/structurechooser/StructureChooserQuerySourceTest.java b/test/jalview/gui/structurechooser/StructureChooserQuerySourceTest.java index 7107448..28dd594 100644 --- a/test/jalview/gui/structurechooser/StructureChooserQuerySourceTest.java +++ b/test/jalview/gui/structurechooser/StructureChooserQuerySourceTest.java @@ -22,7 +22,9 @@ package jalview.gui.structurechooser; import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertTrue; +import static org.testng.Assert.fail; +import java.util.ArrayList; import java.util.List; import java.util.Vector; @@ -39,8 +41,13 @@ import jalview.datamodel.DBRefSource; import jalview.datamodel.PDBEntry; import jalview.datamodel.Sequence; import jalview.datamodel.SequenceI; +import jalview.fts.api.FTSData; +import jalview.fts.api.FTSDataColumnI; +import jalview.fts.core.FTSRestRequest; import jalview.fts.core.FTSRestResponse; import jalview.fts.service.pdb.PDBFTSRestClientTest; +import jalview.fts.service.threedbeacons.TDB_FTSData; +import jalview.fts.service.threedbeacons.TDBeaconsFTSRestClient; import jalview.fts.threedbeacons.TDBeaconsFTSRestClientTest; import jalview.gui.JvOptionPane; import jalview.gui.StructureChooser; @@ -58,6 +65,10 @@ public class StructureChooserQuerySourceTest Sequence seq, upSeq, upSeq_insulin, upSeq_r1ab; + private Sequence upSeq_fer1_maize; + + private Sequence upSeq_epas1_human; + // same set up as for structurechooser test @BeforeMethod(alwaysRun = true) @@ -227,7 +238,34 @@ public class StructureChooserQuerySourceTest upSeq_r1ab .addDBRef(new DBRefEntry("UNIPROT", "0", "P0DTD1", null, true)); upSeq_r1ab.createDatasetSequence(); - + upSeq_fer1_maize = new Sequence("FER1_MAIZE", + "MATVLGSPRAPAFFFSSSSLRAAPAPTAVALPAAKVGIMGRSASSRRRLRAQATYNVKLITPEGE" + + "VELQVPDDVYILDQAEEDGIDLPYSCRAGSCSSCAGKVVSGSVDQSDQSYLDDGQIADGWVLTCHAYPTSDV" + + "VIETHKEEELTGA"); + upSeq_fer1_maize.setDescription("Feredoxin 1 Maize"); + upSeq_fer1_maize + .addDBRef(new DBRefEntry("UNIPROT", "0", "P27787", null, true)); + upSeq_fer1_maize.createDatasetSequence(); + + upSeq_epas1_human = new Sequence("EPAS1_HUMAN", + "MTADKEKKRSSSERRKEKSRDAARCRRSKETEVFYELAHELPLPHSVSSHLDKASIMRLAISFLRTHKLLSS\n" + + "VCSENESEAEADQQMDNLYLKALEGFIAVVTQDGDMIFLSENISKFMGLTQVELTGHSIFDFTHPCDHEEIR\n" + + "ENLSLKNGSGFGKKSKDMSTERDFFMRMKCTVTNRGRTVNLKSATWKVLHCTGQVKVYNNCPPHNSLCGYKE\n" + + "PLLSCLIIMCEPIQHPSHMDIPLDSKTFLSRHSMDMKFTYCDDRITELIGYHPEELLGRSAYEFYHALDSEN\n" + + "MTKSHQNLCTKGQVVSGQYRMLAKHGGYVWLETQGTVIYNPRNLQPQCIMCVNYVLSEIEKNDVVFSMDQTE\n" + + "SLFKPHLMAMNSIFDSSGKGAVSEKSNFLFTKLKEEPEELAQLAPTPGDAIISLDFGNQNFEESSAYGKAIL\n" + + "PPSQPWATELRSHSTQSEAGSLPAFTVPQAAAPGSTTPSATSSSSSCSTPNSPEDYYTSLDNDLKIEVIEKL\n" + + "FAMDTEAKDQCSTQTDFNELDLETLAPYIPMDGEDFQLSPICPEERLLAENPQSTPQHCFSAMTNIFQPLAP\n" + + "VAPHSPFLLDKFQQQLESKKTEPEHRPMSSIFFDAGSKASLPPCCGQASTPLSSMGGRSNTQWPPDPPLHFG\n" + + "PTKWAVGDQRTEFLGAAPLGPPVSPPHVSTFKTRSAKGFGARGPDVLSPAMVALSNKLKLKRQLEYEEQAFQ\n" + + "DLSGGDPPGGSTSHLMWKRMKNLRGGSCPLMPDKPLSANVPNDKFTQNPMRGLGHPLRHLPLPQPPSAISPG\n" + + "ENSKSRFPPQCYATQYQDYSLSSAHKVSGMASRLLGPSFESYLLPELTRYDCEVNVPVLGSSTLLQGGDLLR\n" + + "ALDQAT"); + upSeq_epas1_human + .setDescription("Endothelial PAS domain-containing protein 1"); + upSeq_epas1_human + .addDBRef(new DBRefEntry("UNIPROT", "0", "Q99814", null, true)); + upSeq_epas1_human.createDatasetSequence(); } @AfterMethod(alwaysRun = true) @@ -236,6 +274,8 @@ public class StructureChooserQuerySourceTest seq = null; upSeq = null; upSeq_r1ab = null; + upSeq_fer1_maize = null; + upSeq_epas1_human = null; } @SuppressWarnings("deprecation") @@ -407,6 +447,7 @@ public class StructureChooserQuerySourceTest .getSearchSummary().size()); // NB Could have race condition here List pdb_Queries = tdbquery.buildPDBFTSQueryFor(upResponse); + assertTrue(pdb_Queries.size() > 0); for (String pdb_Query : pdb_Queries) { assertTrue(pdb_Query.trim().length() > 0); @@ -427,6 +468,31 @@ public class StructureChooserQuerySourceTest assertEquals(upResponse.getNumberOfItemsFound(), joinedResp.getNumberOfItemsFound()); + // Special data test case + if (testUpSeq.getDisplayId(true) + .equals(upSeq_epas1_human.getDisplayId(true))) + { + + TDBResultAnalyser tDBResultAnalyz = new TDBResultAnalyser(testUpSeq, + joinedResp.getSearchSummary(), tdbquery.lastTdbRequest, + ThreeDBStructureChooserQuerySource.FILTER_FIRST_BEST_COVERAGE, + tdbquery.remove_prefix( + ThreeDBStructureChooserQuerySource.FILTER_FIRST_BEST_COVERAGE)); + List ordered = tDBResultAnalyz.getFilteredResponse(); + List selected = tDBResultAnalyz.selectStructures(ordered); + assertEquals(((TDB_FTSData) selected.get(0)).getProvider(), + "AlphaFold DB"); + // to be sufficient, should also + // test that adjacent ordered structure in ordered is levyLab + // TDB_FTSData first = (TDB_FTSData) ordered.get(0), + // second = (TDB_FTSData) ordered.get(1), + // third = (TDB_FTSData) ordered.get(2); + // Assert.assertEquals("pLDDT", first.getConfidenceScoreType()); + // Assert.assertTrue(first.getConfidenceScoreType() + // .equals(second.getConfidenceScoreType())); // pLDDT first and + // // second + } + } catch ( Exception x) @@ -445,7 +511,9 @@ public class StructureChooserQuerySourceTest public Object[][] testUpSeqs() throws Exception { setUp(); - return new Object[][] { { upSeq }, { upSeq_insulin }, { upSeq_r1ab } }; + return new Object[][] { { upSeq }, { upSeq_insulin }, { upSeq_r1ab }, + { upSeq_fer1_maize }, + { upSeq_epas1_human } }; } @Test(groups = { "Functional" })