package jalview.hmmer; import jalview.bin.Cache; import jalview.gui.Preferences; import jalview.util.MessageManager; import jalview.ws.params.ArgumentI; import jalview.ws.params.ParamDatastoreI; import jalview.ws.params.WsParamSetI; import jalview.ws.params.simple.BooleanOption; import jalview.ws.params.simple.IntegerParameter; import jalview.ws.params.simple.LogarithmicParameter; import jalview.ws.params.simple.Option; import java.io.IOException; import java.util.ArrayList; import java.util.Collection; import java.util.List; import java.util.Scanner; public class HMMERParamStore implements ParamDatastoreI { String name; List presets = new ArrayList<>(); public HMMERParamStore(String name) { this.name = name; } @Override public List getPresets() { // TODO Auto-generated method stub return presets; } @Override public WsParamSetI getPreset(String name) { // TODO Auto-generated method stub return null; } @Override public List getServiceParameters() { List args = new ArrayList<>(); if ("hmmsearch".equals(name)) { getHMMSearchParams(args); } if ("hmmalign".equals(name)) { getHMMAlignParams(args); } if ("hmmbuild".equals(name)) { } return args; } private void getHMMSearchParams(List args) { args.add(new IntegerParameter( MessageManager.getString("label.number_of_results"), MessageManager.getString("label.number_of_results_desc"), true, 100, 0, 100000)); String names = Cache.getProperty(Preferences.HMMSEARCH_DBS); if (names != null && !names.isEmpty()) { Collection databases = new ArrayList<>(); databases.add(MessageManager.getString("label.this_alignment")); Scanner nameScanner = new Scanner(names); if (nameScanner.hasNext()) { while (nameScanner.hasNext()) { String next = nameScanner.next(); if (next == "null") { Cache.setProperty(Preferences.HMMSEARCH_DBS, ""); Cache.setProperty(Preferences.HMMSEARCH_DB_PATHS, ""); } else { databases.add(next); } } } nameScanner.close(); args.add(new Option(MessageManager.getString("label.database"), MessageManager.getString("label.database_for_hmmsearch"), true, MessageManager.getString("label.this_alignment"), MessageManager.getString("label.this_alignment"), databases, null)); } args.add(new BooleanOption( MessageManager.getString("label.auto_align_seqs"), MessageManager.getString("label.auto_align_seqs_desc"), false, false, true, null)); args.add(new BooleanOption( MessageManager.getString("label.use_accessions"), MessageManager.getString("label.use_accessions_desc"), false, false, true, null)); args.add(new BooleanOption( MessageManager.getString("label.trim_termini"), MessageManager.getString("label.trim_termini_desc"), false, false, true, null)); args.add(new LogarithmicParameter( MessageManager.getString("label.seq_e_value"), MessageManager.getString("label.seq_e_value_desc"), false, -9.96578, -126d, 3.3219d, 2d)); /* args.add(new DoubleParameter( MessageManager.getString("label.seq_score"), MessageManager.getString("label.seq_score_desc"), false, 0d, 0d, 10000d)); */ args.add(new LogarithmicParameter( MessageManager.getString("label.dom_e_value_desc"), MessageManager.getString("label.dom_e_value_desc"), false, -9.96578, -126d, 3.3219d, 2d)); /* args.add(new DoubleParameter( MessageManager.getString("label.dom_score"), MessageManager.getString("label.dom_score_desc"), false, 0d, 0d, 10000d)); */ } private void getHMMAlignParams(List args) { args.add(new BooleanOption( MessageManager.getString("label.trim_termini"), MessageManager.getString( "label.trim_termini = Trim Non-Matching Termini_desc"), false, false, true, null)); } @Override public boolean presetExists(String name) { // TODO Auto-generated method stub return false; } @Override public void deletePreset(String name) { // TODO Auto-generated method stub } @Override public void storePreset(String presetName, String text, List jobParams) { // TODO Auto-generated method stub } @Override public void updatePreset(String oldName, String presetName, String text, List jobParams) { // TODO Auto-generated method stub } @Override public WsParamSetI parseServiceParameterFile(String name, String description, String[] serviceURL, String parameters) throws IOException { // TODO Auto-generated method stub return null; } @Override public String generateServiceParameterFile(WsParamSetI pset) throws IOException { // TODO Auto-generated method stub return null; } }