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;
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;
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)
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)
seq = null;
upSeq = null;
upSeq_r1ab = null;
+ upSeq_fer1_maize = null;
+ upSeq_epas1_human = null;
}
@SuppressWarnings("deprecation")
.getSearchSummary().size());
// NB Could have race condition here
List<String> pdb_Queries = tdbquery.buildPDBFTSQueryFor(upResponse);
+ assertTrue(pdb_Queries.size() > 0);
for (String pdb_Query : pdb_Queries)
{
assertTrue(pdb_Query.trim().length() > 0);
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<FTSData> ordered = tDBResultAnalyz.getFilteredResponse();
+ List<FTSData> 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)
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" })