X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2Fstructurechooser%2FPDBStructureChooserQuerySource.java;h=75e7fc01596a479990dcc6d0f728aa168160a81c;hb=2e3c61cedbe9185548ecfecad806c9e4f67f43c2;hp=3d2efb228ec6acdf4663d9e997ded62cc44770e3;hpb=3471202f54daaef6d58a7d204fff9ef3a8857040;p=jalview.git diff --git a/src/jalview/gui/structurechooser/PDBStructureChooserQuerySource.java b/src/jalview/gui/structurechooser/PDBStructureChooserQuerySource.java index 3d2efb2..75e7fc0 100644 --- a/src/jalview/gui/structurechooser/PDBStructureChooserQuerySource.java +++ b/src/jalview/gui/structurechooser/PDBStructureChooserQuerySource.java @@ -1,5 +1,6 @@ package jalview.gui.structurechooser; +import java.util.ArrayList; import java.util.Collection; import java.util.HashSet; import java.util.LinkedHashSet; @@ -22,7 +23,8 @@ import jalview.fts.core.FTSDataColumnPreferences.PreferenceSource; import jalview.fts.core.FTSRestRequest; import jalview.fts.core.FTSRestResponse; import jalview.fts.service.pdb.PDBFTSRestClient; -import jalview.jbgui.GStructureChooser.FilterOption; +import jalview.jbgui.FilterOption; +import jalview.util.MessageManager; /** * logic for querying the PDBe API for structures of sequences @@ -35,6 +37,10 @@ public class PDBStructureChooserQuerySource private static int MAX_QLENGTH = 7820; + protected FTSRestRequest lastPdbRequest; + + protected FTSRestClientI pdbRestClient; + public PDBStructureChooserQuerySource() { pdbRestClient = PDBFTSRestClient.getInstance(); @@ -229,6 +235,27 @@ public class PDBStructureChooserQuerySource lastPdbRequest = pdbRequest; return resultList; } + public List getAvailableFilterOptions(String VIEWS_FILTER) + { + List filters = new ArrayList(); + filters.add(new FilterOption( + MessageManager.getString("label.best_quality"), + "overall_quality", VIEWS_FILTER, false)); + filters.add(new FilterOption( + MessageManager.getString("label.best_resolution"), + "resolution", VIEWS_FILTER, false)); + filters.add(new FilterOption( + MessageManager.getString("label.most_protein_chain"), + "number_of_protein_chains", VIEWS_FILTER, false)); + filters.add(new FilterOption( + MessageManager.getString("label.most_bound_molecules"), + "number_of_bound_molecules", VIEWS_FILTER, false)); + filters.add(new FilterOption( + MessageManager.getString("label.most_polymer_residues"), + "number_of_polymer_residues", VIEWS_FILTER, true)); + + return filters; + } /** * FTSRestClient specific query builder to pick top ranked entry from a @@ -321,4 +348,17 @@ public class PDBStructureChooserQuerySource return pdbEntriesToView; } + + @Override + protected FTSRestRequest getLastFTSRequest() + { + return lastPdbRequest; + } + + + public FTSRestResponse executePDBFTSRestRequest(FTSRestRequest pdbRequest) throws Exception + { + return pdbRestClient.executeRequest(pdbRequest); + } + } \ No newline at end of file