Changeset 3881
- Timestamp:
- Oct 13, 2010, 9:05:49 AM (13 years ago)
- Location:
- trunk/client/servlet/src/org/proteios
- Files:
-
- 1 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/client/servlet/src/org/proteios/action/xTandemInput/SaveXTandemParameterSetStorage.java
r3870 r3881 48 48 import org.proteios.core.query.Hql; 49 49 import org.proteios.core.query.Restrictions; 50 import org.proteios.gui.GUIElement; 50 51 import org.proteios.gui.Title; 51 52 import org.proteios.gui.Toolbar; … … 57 58 import se.lu.thep.waf.constraints.InvalidParameterValue; 58 59 import se.lu.thep.waf.constraints.VInteger; 60 import se.lu.thep.waf.constraints.VParameter; 59 61 import se.lu.thep.waf.constraints.VString; 60 62 … … 67 69 public static final VInteger VXTANDEMPARAMETERFILEID = new VInteger( 68 70 "xTandemParameterFileId", 0, false); 69 public static final VString VXTANDEM_LIST_PATH_DEFAULT_PARAMETERS = new VString("XTandemListPathDefaultParameters", 0,70 255, false);71 public static final VString VXTANDEM_LIST_PATH_TAXONOMY_INFORMATION = new VString("XTandemListPathTaxonomyInformation", 0,72 255, false);73 public static final VString VXTANDEM_SPECTRUM_PATH = new VString("XTandemSpectrumPath", 0,74 255, false);75 public static final VString VXTANDEM_SPECTRUM_FRAG_MI_MASS_ERROR = new VString("XTandemSpectrumFragmentMonoisotopicMassError", 0,76 32, false);77 public static final VString VXTANDEM_SPECTRUM_PARENT_MI_MASS_ERROR_PLUS = new VString("XTandemSpectrumParentMonoisotopicMassErrorPlus", 0,78 32, false);79 public static final VString VXTANDEM_SPECTRUM_PARENT_MI_MASS_ERROR_MINUS = new VString("XTandemSpectrumParentMonoisotopicMassErrorMinus", 0,80 32, false);81 public static final VString VXTANDEM_SPECTRUM_PARENT_MI_MASS_ISOTOPE_ERROR = new VString("XTandemSpectrumParentMonoisotopicMassIsotopeError", 0,82 32, false);83 public static final VString VXTANDEM_SPECTRUM_FRAG_MI_MASS_ERROR_UNITS = new VString("XTandemSpectrumFragmentMonoisotopicMassErrorUnits", 0,84 32, false);85 public static final VString VXTANDEM_SPECTRUM_PARENT_MI_MASS_ERROR_UNITS = new VString("XTandemSpectrumParentMonoisotopicMassErrorUnits", 0,86 32, false);87 public static final VString VXTANDEM_SPECTRUM_FRAG_MASS_TYPE = new VString("XTandemSpectrumFragmentMassType", 0,88 32, false);89 public static final VString VXTANDEM_SPECTRUM_DYNAMIC_RANGE = new VString("XTandemSpectrumDynamicRange", 0,90 32, false);91 public static final VString VXTANDEM_SPECTRUM_TOTAL_PEAKS = new VString("XTandemSpectrumTotalPeaks", 0,92 32, false);93 public static final VString VXTANDEM_SPECTRUM_MAX_PARENT_CHARGE = new VString("XTandemSpectrumMaximumParentCharge", 0,94 32, false);95 public static final VString VXTANDEM_SPECTRUM_USE_NOISE_SUPPRESSION = new VString("XTandemSpectrumUseNoiseSuppression", 0,96 32, false);97 public static final VString VXTANDEM_SPECTRUM_MIN_PARENT_M_PLUS_H = new VString("XTandemSpectrumMinimumParentMPlusH", 0,98 32, false);99 public static final VString VXTANDEM_SPECTRUM_MAX_PARENT_M_PLUS_H = new VString("XTandemSpectrumMaximumParentMPlusH", 0,100 32, false);101 public static final VString VXTANDEM_SPECTRUM_MIN_FRAG_MZ = new VString("XTandemSpectrumMinimumFragmentMz", 0,102 32, false);103 public static final VString VXTANDEM_SPECTRUM_MIN_PEAKS = new VString("XTandemSpectrumMinimumPeaks", 0,104 32, false);105 public static final VString VXTANDEM_SPECTRUM_THREADS = new VString("XTandemSpectrumThreads", 0,106 32, false);107 public static final VString VXTANDEM_SPECTRUM_SEQUENCE_BATCH_SIZE = new VString("XTandemSpectrumSequenceBatchSize", 0,108 32, false);109 public static final VString VXTANDEM_SPECTRUM_USE_CONDITIONING = new VString("XTandemSpectrumUseConditioning", 0,110 32, false);111 public static final VString VXTANDEM_RESIDUE_MODIFICATION_MASS_SELECT = new VString("XTandemResidueModificationMassSelect", 0,112 32, false);113 public static final VString VXTANDEM_RESIDUE_MODIFICATION_MASS = new VString("XTandemResidueModificationMass", 0,114 150, false);115 public static final VString VXTANDEM_RESIDUE_POTENTIAL_MODIFICATION_MASS_SELECT = new VString("XTandemResiduePotentialModificationMassSelect", 0,116 32, false);117 public static final VString VXTANDEM_RESIDUE_POTENTIAL_MODIFICATION_MASS = new VString("XTandemResiduePotentialModificationMass", 0,118 150, false);119 public static final VString VXTANDEM_RESIDUE_POTENTIAL_MODIFICATION_MOTIF = new VString("XTandemResiduePotentialModificationMotif", 0,120 100, false);121 public static final VString VXTANDEM_PROTEIN_TAXON = new VString("XTandemProteinTaxon", 0,122 64, false);123 public static final VString VXTANDEM_PROTEIN_TAXON1 = new VString("XTandemProteinTaxon1", 0,124 64, false);125 public static final VString VXTANDEM_PROTEIN_CLEAVAGE_SITE_SELECT = new VString("XTandemProteinCleavageSiteSelect", 0,126 32, false);127 public static final VString VXTANDEM_PROTEIN_CLEAVAGE_SITE = new VString("XTandemProteinCleavageSite", 0,128 32, false);129 public static final VString VXTANDEM_PROTEIN_MODIFIED_RESIDUE_MASS_FILE = new VString("XTandemProteinModifiedResidueMassFile", 0,130 32, false);131 public static final VString VXTANDEM_PROTEIN_CLEAVAGE_N_TERMINAL_MASS_CHANGE = new VString("XTandemProteinCleavageNTerminalMassChange", 0,132 32, false);133 public static final VString VXTANDEM_PROTEIN_CLEAVAGE_C_TERMINAL_MASS_CHANGE = new VString("XTandemProteinCleavageCTerminalMassChange", 0,134 32, false);135 public static final VString VXTANDEM_PROTEIN_N_TERMINAL_RESIDUE_MODIFICATION_MASS = new VString("XTandemProteinNTerminalResidueModificationMass", 0,136 32, false);137 public static final VString VXTANDEM_PROTEIN_C_TERMINAL_RESIDUE_MODIFICATION_MASS = new VString("XTandemProteinCTerminalResidueModificationMass", 0,138 32, false);139 public static final VString VXTANDEM_PROTEIN_HOMOLOG_MANAGEMENT = new VString("XTandemProteinHomologManagement", 0,140 32, false);141 public static final VString VXTANDEM_REFINE = new VString("XTandemRefine", 0,142 32, false);143 public static final VString VXTANDEM_REFINE_MODIFICATION_MASS = new VString("XTandemRefineModificationMass", 0,144 32, false);145 public static final VString VXTANDEM_REFINE_SEQUENCE_PATH = new VString("XTandemRefineSequencePath", 0,146 255, false);147 public static final VString VXTANDEM_REFINE_TIC_PERCENT = new VString("XTandemRefineTicPercent", 0,148 32, false);149 public static final VString VXTANDEM_REFINE_SPECTRUM_SYNTHESIS = new VString("XTandemRefineSpectrumSynthesis", 0,150 32, false);151 public static final VString VXTANDEM_REFINE_MAX_VALID_EXPECTATION_VALUE = new VString("XTandemRefineMaximumValidExpectationValue", 0,152 32, false);153 public static final VString VXTANDEM_REFINE_POTENTIAL_N_TERMINUS_MODIFICATIONS = new VString("XTandemRefinePotentialNTerminusModifications", 0,154 32, false);155 public static final VString VXTANDEM_REFINE_POTENTIAL_C_TERMINUS_MODIFICATIONS = new VString("XTandemRefinePotentialCTerminusModifications", 0,156 32, false);157 public static final VString VXTANDEM_REFINE_UNANTICIPATED_CLEAVAGE = new VString("XTandemRefineUnanticipatedCleavage", 0,158 32, false);159 public static final VString VXTANDEM_REFINE_POTENTIAL_MODIFICATION_MASS_SELECT = new VString("XTandemRefinePotentialModificationMassSelect", 0,160 32, false);161 public static final VString VXTANDEM_REFINE_POTENTIAL_MODIFICATION_MASS = new VString("XTandemRefinePotentialModificationMass", 0,162 32, false);163 public static final VString VXTANDEM_REFINE_POINT_MUTATIONS = new VString("XTandemRefinePointMutations", 0,164 32, false);165 public static final VString VXTANDEM_REFINE_USE_POTENTIAL_MODIFICATIONS_FOR_FULL_REFINEMENT = new VString("XTandemRefineUsePotentialModificationsForFullRefinement", 0,166 32, false);167 public static final VString VXTANDEM_REFINE_POTENTIAL_MODIFICATION_MOTIF = new VString("XTandemRefinePotentialModificationMotif", 0,168 32, false);169 public static final VString VXTANDEM_SCORING_MIN_ION_COUNT = new VString("XTandemScoringMinIonCount", 0,170 32, false);171 public static final VString VXTANDEM_SCORING_MAX_MISSED_CLEAVAGE_SITES = new VString("XTandemScoringMaxMissedCleavageSites", 0,172 32, false);173 public static final VString VXTANDEM_SCORING_X_IONS = new VString("XTandemScoringXIons", 0,174 32, false);175 public static final VString VXTANDEM_SCORING_Y_IONS = new VString("XTandemScoringYIons", 0,176 32, false);177 public static final VString VXTANDEM_SCORING_Z_IONS = new VString("XTandemScoringZIons", 0,178 32, false);179 public static final VString VXTANDEM_SCORING_A_IONS = new VString("XTandemScoringAIons", 0,180 32, false);181 public static final VString VXTANDEM_SCORING_B_IONS = new VString("XTandemScoringBIons", 0,182 32, false);183 public static final VString VXTANDEM_SCORING_C_IONS = new VString("XTandemScoringCIons", 0,184 32, false);185 public static final VString VXTANDEM_SCORING_CYCLIC_PERMUTATION = new VString("XTandemScoringCyclicPermutation", 0,186 32, false);187 public static final VString VXTANDEM_SCORING_INCLUDE_REVERSE = new VString("XTandemScoringIncludeReverse", 0,188 32, false);189 public static final VString VXTANDEM_SCORING_ALGORITHM = new VString("XTandemScoringAlgorithm", 0,190 32, false);191 public static final VString VXTANDEM_OUTPUT_PATH = new VString("XTandemOutputPath", 0,192 255, false);193 public static final VString VXTANDEM_OUTPUT_LOG_PATH = new VString("XTandemOutputLogPath", 0,194 255, false);195 public static final VString VXTANDEM_OUTPUT_MESSAGE = new VString("XTandemOutputMessage", 0,196 255, false);197 public static final VString VXTANDEM_OUTPUT_SEQUENCE_PATH = new VString("XTandemOutputSequencePath", 0,198 255, false);199 public static final VString VXTANDEM_OUTPUT_SORT_RESULTS_BY = new VString("XTandemOutputSortResultsBy", 0,200 32, false);201 public static final VString VXTANDEM_OUTPUT_PATH_HASHING = new VString("XTandemOutputPathHashing", 0,202 255, false);203 public static final VString VXTANDEM_OUTPUT_XSL_PATH = new VString("XTandemOutputXslPath", 0,204 255, false);205 public static final VString VXTANDEM_OUTPUT_PARAMETERS = new VString("XTandemOutputParameters", 0,206 32, false);207 public static final VString VXTANDEM_OUTPUT_PERFORMANCE = new VString("XTandemOutputPerformance", 0,208 32, false);209 public static final VString VXTANDEM_OUTPUT_SPECTRA = new VString("XTandemOutputSpectra", 0,210 32, false);211 public static final VString VXTANDEM_OUTPUT_HISTOGRAMS = new VString("XTandemOutputHistograms", 0,212 32, false);213 public static final VString VXTANDEM_OUTPUT_PROTEINS = new VString("XTandemOutputProteins", 0,214 32, false);215 public static final VString VXTANDEM_OUTPUT_SEQUENCES = new VString("XTandemOutputSequences", 0,216 32, false);217 public static final VString VXTANDEM_OUTPUT_ONE_SEQUENCE_COPY = new VString("XTandemOutputOneSequenceCopy", 0,218 32, false);219 public static final VString VXTANDEM_OUTPUT_RESULTS = new VString("XTandemOutputResults", 0,220 32, false);221 public static final VString VXTANDEM_OUTPUT_MAX_VALID_EXPECTATION_VALUE = new VString("XTandemOutputMaximumValidExpectationValue", 0,222 32, false);223 public static final VString VXTANDEM_OUTPUT_HISTOGRAM_COLUMN_WIDTH = new VString("XTandemOutputHistogramColumnWidth", 0,224 32, false);225 71 226 72 @Override … … 291 137 // XTandemParameterSetStorage form 292 138 Form form = new SaveAsXTandemStorageForm(xtpss, xTandemParameterSet); 139 // Hidden fields for transferring values of XTandem parameter set 140 Form xTandemParameterSetForm = new XTandemParameterSetForm(); 141 populateForm(xTandemParameterSetForm); 142 form = addFormFields(form, xTandemParameterSetForm); 293 143 // Toolbar 294 144 Toolbar tb = new Toolbar(); … … 505 355 506 356 /** 357 * Adds form fields in source form as hidden fields to target form. 358 * @param targetForm Form The form to add hidden fields to. 359 * @param sourceForm Form The form to take fields from. 360 * @return Form The updated target form. 361 */ 362 private Form addFormFields(Form targetForm, Form sourceForm) 363 { 364 // Get last target fieldset to add hidden fields to 365 Fieldset targetFS = null; 366 for (Fieldset fieldset: targetForm.getFieldsets()) 367 { 368 targetFS = fieldset; 369 } 370 if (targetFS == null) 371 { 372 log.debug("No fieldset in form " + targetForm.getTitle() + " to add hidden fields to"); 373 // Create new fieldset without title to store hidden fields 374 targetFS = new Fieldset(); 375 targetForm.addFieldset(targetFS); 376 } 377 else 378 { 379 log.debug("Fields from form " + sourceForm.getTitle() + " added as hidden fields to fieldset " + targetFS.getTitle() + " in form " + targetForm.getTitle()); 380 } 381 for (Fieldset sourceFS: sourceForm.getFieldsets()) 382 { 383 for (GUIElement guiElement: sourceFS.getFields()) 384 { 385 if (guiElement instanceof Select) 386 { 387 Select sourceS = ((Select) guiElement); 388 TextField field = new TextField(sourceS.getParam()); 389 field.setId(sourceS.getId()); 390 field.setLabel(sourceS.getLabel()); 391 try 392 { 393 List<String> stringList = getValidStringList((VString) sourceS.getParam()); 394 log.debug("Source select - " + sourceS.getLabel() + " string list = " + stringList); 395 String delimiterString = new String(","); 396 if (sourceS.getLabel().equals("XTandemProteinTaxonEukaryotes") || 397 sourceS.getLabel().equals("XTandemProteinTaxonProkaryotes")) 398 { 399 delimiterString = new String(", "); 400 } 401 String listString = stringListToListString(stringList, delimiterString); 402 field.setValue(listString); 403 } 404 catch(InvalidParameterValue e) 405 { 406 log.debug("Source select - " + sourceS.getLabel() + " InvalidParameterValue: " + e); 407 } 408 log.debug("Target field - " + field.getLabel() + ": " + field.getValue()); 409 field.setHidden(true); 410 targetFS.add(field); 411 } 412 else if (guiElement instanceof TextField) 413 { 414 TextField sourceF = ((TextField) guiElement); 415 TextField field = new TextField(sourceF.getParam()); 416 field.setId(sourceF.getId()); 417 field.setLabel(sourceF.getLabel()); 418 field.setValue(sourceF.getValue()); 419 field.setHidden(true); 420 targetFS.add(field); 421 } 422 } 423 } 424 return targetForm; 425 } 426 427 428 /** 507 429 * Fetches values of XTandemParameterSet variables from valid parameters 508 430 * and stores them in corresponding variables in an XTandemParameterSet … … 519 441 XTandemParameterSet xTandemParameterSet = new XTandemParameterSet(); 520 442 // 521 String listPathDefaultParameters = getString( VXTANDEM_LIST_PATH_DEFAULT_PARAMETERS);443 String listPathDefaultParameters = getString(XTandemParameterSetForm.VXTANDEM_LIST_PATH_DEFAULT_PARAMETERS); 522 444 xTandemParameterSet.setListPathDefaultParameters(listPathDefaultParameters); 523 445 log.debug("listPathDefaultParameters = " + listPathDefaultParameters); 524 446 // 525 String listPathTaxonomyInformation = getString( VXTANDEM_LIST_PATH_TAXONOMY_INFORMATION);447 String listPathTaxonomyInformation = getString(XTandemParameterSetForm.VXTANDEM_LIST_PATH_TAXONOMY_INFORMATION); 526 448 xTandemParameterSet.setListPathTaxonomyInformation(listPathTaxonomyInformation); 527 449 log.debug("listPathTaxonomyInformation = " + listPathTaxonomyInformation); 528 450 // 529 String spectrumPath = getString( VXTANDEM_SPECTRUM_PATH);451 String spectrumPath = getString(XTandemParameterSetForm.VXTANDEM_SPECTRUM_PATH); 530 452 xTandemParameterSet.setSpectrumPath(spectrumPath); 531 453 log.debug("spectrumPath = " + spectrumPath); 532 454 // 533 String spectrumFragMiMassError = getString( VXTANDEM_SPECTRUM_FRAG_MI_MASS_ERROR);455 String spectrumFragMiMassError = getString(XTandemParameterSetForm.VXTANDEM_SPECTRUM_FRAG_MI_MASS_ERROR); 534 456 xTandemParameterSet.setSpectrumFragmentMonoisotopicMassError(spectrumFragMiMassError); 535 457 log.debug("spectrumFragMiMassError = " + spectrumFragMiMassError); 536 458 // 537 String spectrumParentMiMassErrorPlus = getString( VXTANDEM_SPECTRUM_PARENT_MI_MASS_ERROR_PLUS);459 String spectrumParentMiMassErrorPlus = getString(XTandemParameterSetForm.VXTANDEM_SPECTRUM_PARENT_MI_MASS_ERROR_PLUS); 538 460 xTandemParameterSet.setSpectrumParentMonoisotopicMassErrorPlus(spectrumParentMiMassErrorPlus); 539 461 log.debug("spectrumParentMiMassErrorPlus = " + spectrumParentMiMassErrorPlus); 540 462 // 541 String spectrumParentMiMassErrorMinus = getString( VXTANDEM_SPECTRUM_PARENT_MI_MASS_ERROR_MINUS);463 String spectrumParentMiMassErrorMinus = getString(XTandemParameterSetForm.VXTANDEM_SPECTRUM_PARENT_MI_MASS_ERROR_MINUS); 542 464 xTandemParameterSet.setSpectrumParentMonoisotopicMassErrorMinus(spectrumParentMiMassErrorMinus); 543 465 log.debug("spectrumParentMiMassErrorMinus = " + spectrumParentMiMassErrorMinus); 544 466 // 545 String spectrumParentMiMassIsotopeError = getString( VXTANDEM_SPECTRUM_PARENT_MI_MASS_ISOTOPE_ERROR);467 String spectrumParentMiMassIsotopeError = getString(XTandemParameterSetForm.VXTANDEM_SPECTRUM_PARENT_MI_MASS_ISOTOPE_ERROR); 546 468 xTandemParameterSet.setSpectrumParentMonoisotopicMassIsotopeError(spectrumParentMiMassIsotopeError); 547 469 log.debug("spectrumParentMiMassIsotopeError = " + spectrumParentMiMassIsotopeError); 548 470 // 549 String spectrumFragMiMassErrorUnits = getString( VXTANDEM_SPECTRUM_FRAG_MI_MASS_ERROR_UNITS);471 String spectrumFragMiMassErrorUnits = getString(XTandemParameterSetForm.VXTANDEM_SPECTRUM_FRAG_MI_MASS_ERROR_UNITS); 550 472 xTandemParameterSet.setSpectrumFragmentMonoisotopicMassErrorUnits(spectrumFragMiMassErrorUnits); 551 473 log.debug("spectrumFragMiMassErrorUnits = " + spectrumFragMiMassErrorUnits); 552 474 // 553 String spectrumParentMiMassErrorUnits = getString( VXTANDEM_SPECTRUM_PARENT_MI_MASS_ERROR_UNITS);475 String spectrumParentMiMassErrorUnits = getString(XTandemParameterSetForm.VXTANDEM_SPECTRUM_PARENT_MI_MASS_ERROR_UNITS); 554 476 xTandemParameterSet.setSpectrumParentMonoisotopicMassErrorUnits(spectrumParentMiMassErrorUnits); 555 477 log.debug("spectrumParentMiMassErrorUnits = " + spectrumParentMiMassErrorUnits); 556 478 // 557 String spectrumFragMassType = getString( VXTANDEM_SPECTRUM_FRAG_MASS_TYPE);479 String spectrumFragMassType = getString(XTandemParameterSetForm.VXTANDEM_SPECTRUM_FRAG_MASS_TYPE); 558 480 xTandemParameterSet.setSpectrumFragmentMassType(spectrumFragMassType); 559 481 log.debug("spectrumFragMassType = " + spectrumFragMassType); 560 482 // 561 String spectrumDynamicRange = getString( VXTANDEM_SPECTRUM_DYNAMIC_RANGE);483 String spectrumDynamicRange = getString(XTandemParameterSetForm.VXTANDEM_SPECTRUM_DYNAMIC_RANGE); 562 484 xTandemParameterSet.setSpectrumDynamicRange(spectrumDynamicRange); 563 485 log.debug("spectrumDynamicRange = " + spectrumDynamicRange); 564 486 // 565 String spectrumTotalPeaks = getString( VXTANDEM_SPECTRUM_TOTAL_PEAKS);487 String spectrumTotalPeaks = getString(XTandemParameterSetForm.VXTANDEM_SPECTRUM_TOTAL_PEAKS); 566 488 xTandemParameterSet.setSpectrumTotalPeaks(spectrumTotalPeaks); 567 489 log.debug("spectrumTotalPeaks = " + spectrumTotalPeaks); 568 490 // 569 String spectrumMaxParentCharge = getString( VXTANDEM_SPECTRUM_MAX_PARENT_CHARGE);491 String spectrumMaxParentCharge = getString(XTandemParameterSetForm.VXTANDEM_SPECTRUM_MAX_PARENT_CHARGE); 570 492 xTandemParameterSet.setSpectrumMaximumParentCharge(spectrumMaxParentCharge); 571 493 log.debug("spectrumMaxParentCharge = " + spectrumMaxParentCharge); 572 494 // 573 String spectrumUseNoiseSuppression = getString( VXTANDEM_SPECTRUM_USE_NOISE_SUPPRESSION);495 String spectrumUseNoiseSuppression = getString(XTandemParameterSetForm.VXTANDEM_SPECTRUM_USE_NOISE_SUPPRESSION); 574 496 xTandemParameterSet.setSpectrumUseNoiseSuppression(spectrumUseNoiseSuppression); 575 497 log.debug("spectrumUseNoiseSuppression = " + spectrumUseNoiseSuppression); 576 498 // 577 String spectrumMinParentMPlusH = getString( VXTANDEM_SPECTRUM_MIN_PARENT_M_PLUS_H);499 String spectrumMinParentMPlusH = getString(XTandemParameterSetForm.VXTANDEM_SPECTRUM_MIN_PARENT_M_PLUS_H); 578 500 xTandemParameterSet.setSpectrumMinimumParentMPlusH(spectrumMinParentMPlusH); 579 501 log.debug("spectrumMinParentMPlusH = " + spectrumMinParentMPlusH); 580 502 // 581 String spectrumMaxParentMPlusH = getString( VXTANDEM_SPECTRUM_MAX_PARENT_M_PLUS_H);503 String spectrumMaxParentMPlusH = getString(XTandemParameterSetForm.VXTANDEM_SPECTRUM_MAX_PARENT_M_PLUS_H); 582 504 xTandemParameterSet.setSpectrumMaximumParentMPlusH(spectrumMaxParentMPlusH); 583 505 log.debug("spectrumMaxParentMPlusH = " + spectrumMaxParentMPlusH); 584 506 // 585 String spectrumMinFragmentMz = getString( VXTANDEM_SPECTRUM_MIN_FRAG_MZ);507 String spectrumMinFragmentMz = getString(XTandemParameterSetForm.VXTANDEM_SPECTRUM_MIN_FRAG_MZ); 586 508 xTandemParameterSet.setSpectrumMinimumFragmentMz(spectrumMinFragmentMz); 587 509 log.debug("spectrumMinFragmentMz = " + spectrumMinFragmentMz); 588 510 // 589 String spectrumMinPeaks = getString( VXTANDEM_SPECTRUM_MIN_PEAKS);511 String spectrumMinPeaks = getString(XTandemParameterSetForm.VXTANDEM_SPECTRUM_MIN_PEAKS); 590 512 xTandemParameterSet.setSpectrumMinimumPeaks(spectrumMinPeaks); 591 513 log.debug("spectrumMinPeaks = " + spectrumMinPeaks); 592 514 // 593 String spectrumThreads = getString( VXTANDEM_SPECTRUM_THREADS);515 String spectrumThreads = getString(XTandemParameterSetForm.VXTANDEM_SPECTRUM_THREADS); 594 516 xTandemParameterSet.setSpectrumThreads(spectrumThreads); 595 517 log.debug("spectrumThreads = " + spectrumThreads); 596 518 // 597 String spectrumSequenceBatchSize = getString( VXTANDEM_SPECTRUM_SEQUENCE_BATCH_SIZE);519 String spectrumSequenceBatchSize = getString(XTandemParameterSetForm.VXTANDEM_SPECTRUM_SEQUENCE_BATCH_SIZE); 598 520 xTandemParameterSet.setSpectrumSequenceBatchSize(spectrumSequenceBatchSize); 599 521 log.debug("spectrumSequenceBatchSize = " + spectrumSequenceBatchSize); 600 522 // 601 String spectrumUseConditioning = getString( VXTANDEM_SPECTRUM_USE_CONDITIONING);523 String spectrumUseConditioning = getString(XTandemParameterSetForm.VXTANDEM_SPECTRUM_USE_CONDITIONING); 602 524 xTandemParameterSet.setSpectrumUseConditioning(spectrumUseConditioning); 603 525 log.debug("spectrumUseConditioning = " + spectrumUseConditioning); … … 610 532 */ 611 533 // Residue modification mass select box 612 String residueModificationMassSelect = getString( VXTANDEM_RESIDUE_MODIFICATION_MASS_SELECT);534 String residueModificationMassSelect = getString(XTandemParameterSetForm.VXTANDEM_RESIDUE_MODIFICATION_MASS_SELECT); 613 535 log.debug("residueModificationMassSelect = " + residueModificationMassSelect); 614 536 // Residue modification mass from entry field 615 String residueModificationMass = getString( VXTANDEM_RESIDUE_MODIFICATION_MASS);537 String residueModificationMass = getString(XTandemParameterSetForm.VXTANDEM_RESIDUE_MODIFICATION_MASS); 616 538 log.debug("residueModificationMass (own) = " + residueModificationMass); 617 539 // If no entered value, use selected value … … 638 560 // Residue potential modification mass select box list 639 561 //String residuePotentialModificationMassSelect = getString(VXTANDEM_RESIDUE_POTENTIAL_MODIFICATION_MASS_SELECT); 640 List<String> residuePotentialModificationMassSelectList = getValidStringList( VXTANDEM_RESIDUE_POTENTIAL_MODIFICATION_MASS_SELECT);562 List<String> residuePotentialModificationMassSelectList = getValidStringList(XTandemParameterSetForm.VXTANDEM_RESIDUE_POTENTIAL_MODIFICATION_MASS_SELECT); 641 563 log.debug("residuePotentialModificationMassSelectList = " + residuePotentialModificationMassSelectList); 642 564 residuePotentialModificationMassSelectList = uniqueStringItemList(residuePotentialModificationMassSelectList); … … 648 570 log.debug("residuePotentialModificationMassSelect = \"" + residuePotentialModificationMassSelect + "\""); 649 571 // Residue potential modification mass list from entry field 650 String residuePotentialModificationMass = getString( VXTANDEM_RESIDUE_POTENTIAL_MODIFICATION_MASS);572 String residuePotentialModificationMass = getString(XTandemParameterSetForm.VXTANDEM_RESIDUE_POTENTIAL_MODIFICATION_MASS); 651 573 log.debug("residuePotentialModificationMass (own) = " + residuePotentialModificationMass); 652 574 // If no entered values, use selected values … … 661 583 log.debug("residuePotentialModificationMass = " + residuePotentialModificationMass); 662 584 // 663 String residuePotentialModificationMotif = getString( VXTANDEM_RESIDUE_POTENTIAL_MODIFICATION_MOTIF);585 String residuePotentialModificationMotif = getString(XTandemParameterSetForm.VXTANDEM_RESIDUE_POTENTIAL_MODIFICATION_MOTIF); 664 586 xTandemParameterSet.setResiduePotentialModificationMotif(residuePotentialModificationMotif); 665 587 log.debug("residuePotentialModificationMotif = " + residuePotentialModificationMotif); … … 676 598 //String proteinTaxon = getString(VXTANDEM_PROTEIN_TAXON); 677 599 // Taxon list 1, Eukaryotes 678 List<String> proteinTaxonList = getValidStringList( VXTANDEM_PROTEIN_TAXON);600 List<String> proteinTaxonList = getValidStringList(XTandemParameterSetForm.VXTANDEM_PROTEIN_TAXON); 679 601 log.debug("proteinTaxonList = " + proteinTaxonList); 680 602 proteinTaxonList = uniqueStringItemList(proteinTaxonList); 681 603 log.debug("proteinTaxonList with unique items = " + proteinTaxonList); 682 604 // Taxon list 2, Prokaryotes 683 List<String> proteinTaxon1List = getValidStringList( VXTANDEM_PROTEIN_TAXON1);605 List<String> proteinTaxon1List = getValidStringList(XTandemParameterSetForm.VXTANDEM_PROTEIN_TAXON1); 684 606 log.debug("proteinTaxon1List = " + proteinTaxon1List); 685 607 proteinTaxon1List = uniqueStringItemList(proteinTaxon1List); … … 710 632 */ 711 633 // Protein cleavage site select box 712 String proteinCleavageSiteSelect = getString( VXTANDEM_PROTEIN_CLEAVAGE_SITE_SELECT);634 String proteinCleavageSiteSelect = getString(XTandemParameterSetForm.VXTANDEM_PROTEIN_CLEAVAGE_SITE_SELECT); 713 635 log.debug("proteinCleavageSiteSelect = " + proteinCleavageSiteSelect); 714 636 // Protein cleavage site from entry field 715 String proteinCleavageSite = getString( VXTANDEM_PROTEIN_CLEAVAGE_SITE);637 String proteinCleavageSite = getString(XTandemParameterSetForm.VXTANDEM_PROTEIN_CLEAVAGE_SITE); 716 638 log.debug("proteinCleavageSite (own) = " + proteinCleavageSite); 717 639 // If no entered value, use selected value … … 726 648 log.debug("proteinCleavageSite = " + proteinCleavageSite); 727 649 // 728 String proteinModifiedResidueMassFile = getString( VXTANDEM_PROTEIN_MODIFIED_RESIDUE_MASS_FILE);650 String proteinModifiedResidueMassFile = getString(XTandemParameterSetForm.VXTANDEM_PROTEIN_MODIFIED_RESIDUE_MASS_FILE); 729 651 xTandemParameterSet.setProteinModifiedResidueMassFile(proteinModifiedResidueMassFile); 730 652 log.debug("proteinModifiedResidueMassFile = " + proteinModifiedResidueMassFile); 731 653 // 732 String proteinCleavageNTerminalMassChange = getString( VXTANDEM_PROTEIN_CLEAVAGE_N_TERMINAL_MASS_CHANGE);654 String proteinCleavageNTerminalMassChange = getString(XTandemParameterSetForm.VXTANDEM_PROTEIN_CLEAVAGE_N_TERMINAL_MASS_CHANGE); 733 655 xTandemParameterSet.setProteinCleavageNTerminalMassChange(proteinCleavageNTerminalMassChange); 734 656 log.debug("proteinCleavageNTerminalMassChange = " + proteinCleavageNTerminalMassChange); 735 657 // 736 String proteinCleavageCTerminalMassChange = getString( VXTANDEM_PROTEIN_CLEAVAGE_C_TERMINAL_MASS_CHANGE);658 String proteinCleavageCTerminalMassChange = getString(XTandemParameterSetForm.VXTANDEM_PROTEIN_CLEAVAGE_C_TERMINAL_MASS_CHANGE); 737 659 xTandemParameterSet.setProteinCleavageCTerminalMassChange(proteinCleavageCTerminalMassChange); 738 660 log.debug("proteinCleavageCTerminalMassChange = " + proteinCleavageCTerminalMassChange); 739 661 // 740 String proteinNTerminalResidueModificationMass = getString( VXTANDEM_PROTEIN_N_TERMINAL_RESIDUE_MODIFICATION_MASS);662 String proteinNTerminalResidueModificationMass = getString(XTandemParameterSetForm.VXTANDEM_PROTEIN_N_TERMINAL_RESIDUE_MODIFICATION_MASS); 741 663 xTandemParameterSet.setProteinNTerminalResidueModificationMass(proteinNTerminalResidueModificationMass); 742 664 log.debug("proteinNTerminalResidueModificationMass = " + proteinNTerminalResidueModificationMass); 743 665 // 744 String proteinCTerminalResidueModificationMass = getString( VXTANDEM_PROTEIN_C_TERMINAL_RESIDUE_MODIFICATION_MASS);666 String proteinCTerminalResidueModificationMass = getString(XTandemParameterSetForm.VXTANDEM_PROTEIN_C_TERMINAL_RESIDUE_MODIFICATION_MASS); 745 667 xTandemParameterSet.setProteinCTerminalResidueModificationMass(proteinCTerminalResidueModificationMass); 746 668 log.debug("proteinCTerminalResidueModificationMass = " + proteinCTerminalResidueModificationMass); 747 669 // 748 String proteinHomologManagement = getString( VXTANDEM_PROTEIN_HOMOLOG_MANAGEMENT);670 String proteinHomologManagement = getString(XTandemParameterSetForm.VXTANDEM_PROTEIN_HOMOLOG_MANAGEMENT); 749 671 xTandemParameterSet.setProteinHomologManagement(proteinHomologManagement); 750 672 log.debug("proteinHomologManagement = " + proteinHomologManagement); 751 673 // 752 String refine = getString( VXTANDEM_REFINE);674 String refine = getString(XTandemParameterSetForm.VXTANDEM_REFINE); 753 675 xTandemParameterSet.setRefine(refine); 754 676 log.debug("refine = " + refine); 755 677 // 756 String refineModificationMass = getString( VXTANDEM_REFINE_MODIFICATION_MASS);678 String refineModificationMass = getString(XTandemParameterSetForm.VXTANDEM_REFINE_MODIFICATION_MASS); 757 679 xTandemParameterSet.setRefineModificationMass(refineModificationMass); 758 680 log.debug("refineModificationMass = " + refineModificationMass); 759 681 // 760 String refineSequencePath = getString( VXTANDEM_REFINE_SEQUENCE_PATH);682 String refineSequencePath = getString(XTandemParameterSetForm.VXTANDEM_REFINE_SEQUENCE_PATH); 761 683 xTandemParameterSet.setRefineSequencePath(refineSequencePath); 762 684 log.debug("refineSequencePath = " + refineSequencePath); 763 685 // 764 String refineTicPercent = getString( VXTANDEM_REFINE_TIC_PERCENT);686 String refineTicPercent = getString(XTandemParameterSetForm.VXTANDEM_REFINE_TIC_PERCENT); 765 687 xTandemParameterSet.setRefineTicPercent(refineTicPercent); 766 688 log.debug("refineTicPercent = " + refineTicPercent); 767 689 // 768 String refineSpectrumSynthesis = getString( VXTANDEM_REFINE_SPECTRUM_SYNTHESIS);690 String refineSpectrumSynthesis = getString(XTandemParameterSetForm.VXTANDEM_REFINE_SPECTRUM_SYNTHESIS); 769 691 xTandemParameterSet.setRefineSpectrumSynthesis(refineSpectrumSynthesis); 770 692 log.debug("refineSpectrumSynthesis = " + refineSpectrumSynthesis); 771 693 // 772 String refineMaxValidExpectationValue = getString( VXTANDEM_REFINE_MAX_VALID_EXPECTATION_VALUE);694 String refineMaxValidExpectationValue = getString(XTandemParameterSetForm.VXTANDEM_REFINE_MAX_VALID_EXPECTATION_VALUE); 773 695 xTandemParameterSet.setRefineMaximumValidExpectationValue(refineMaxValidExpectationValue); 774 696 log.debug("refineMaxValidExpectationValue = " + refineMaxValidExpectationValue); 775 697 // 776 String refinePotentialNTerminusModifications = getString( VXTANDEM_REFINE_POTENTIAL_N_TERMINUS_MODIFICATIONS);698 String refinePotentialNTerminusModifications = getString(XTandemParameterSetForm.VXTANDEM_REFINE_POTENTIAL_N_TERMINUS_MODIFICATIONS); 777 699 xTandemParameterSet.setRefinePotentialNTerminusModifications(refinePotentialNTerminusModifications); 778 700 log.debug("refinePotentialNTerminusModifications = " + refinePotentialNTerminusModifications); 779 701 // 780 String refinePotentialCTerminusModifications = getString( VXTANDEM_REFINE_POTENTIAL_C_TERMINUS_MODIFICATIONS);702 String refinePotentialCTerminusModifications = getString(XTandemParameterSetForm.VXTANDEM_REFINE_POTENTIAL_C_TERMINUS_MODIFICATIONS); 781 703 xTandemParameterSet.setRefinePotentialCTerminusModifications(refinePotentialCTerminusModifications); 782 704 log.debug("refinePotentialCTerminusModifications = " + refinePotentialCTerminusModifications); 783 705 // 784 String refineUnanticipatedCleavage = getString( VXTANDEM_REFINE_UNANTICIPATED_CLEAVAGE);706 String refineUnanticipatedCleavage = getString(XTandemParameterSetForm.VXTANDEM_REFINE_UNANTICIPATED_CLEAVAGE); 785 707 xTandemParameterSet.setRefineUnanticipatedCleavage(refineUnanticipatedCleavage); 786 708 log.debug("refineUnanticipatedCleavage = " + refineUnanticipatedCleavage); … … 798 720 // Refine potential modification mass select box list 799 721 //String refinePotentialModificationMassSelect = getString(VXTANDEM_REFINE_POTENTIAL_MODIFICATION_MASS_SELECT); 800 List<String> refinePotentialModificationMassSelectList = getValidStringList( VXTANDEM_REFINE_POTENTIAL_MODIFICATION_MASS_SELECT);722 List<String> refinePotentialModificationMassSelectList = getValidStringList(XTandemParameterSetForm.VXTANDEM_REFINE_POTENTIAL_MODIFICATION_MASS_SELECT); 801 723 log.debug("refinePotentialModificationMassSelectList = " + refinePotentialModificationMassSelectList); 802 724 refinePotentialModificationMassSelectList = uniqueStringItemList(refinePotentialModificationMassSelectList); … … 806 728 log.debug("refinePotentialModificationMassSelect = \"" + refinePotentialModificationMassSelect + "\""); 807 729 // Refine potential modification mass list from entry field 808 String refinePotentialModificationMass = getString( VXTANDEM_REFINE_POTENTIAL_MODIFICATION_MASS);730 String refinePotentialModificationMass = getString(XTandemParameterSetForm.VXTANDEM_REFINE_POTENTIAL_MODIFICATION_MASS); 809 731 log.debug("refinePotentialModificationMass (own) = " + refinePotentialModificationMass); 810 732 // If no entered values, use selected values … … 820 742 log.debug("refinePotentialModificationMassRefine = " + refinePotentialModificationMass); 821 743 // 822 String refinePointMutations = getString( VXTANDEM_REFINE_POINT_MUTATIONS);744 String refinePointMutations = getString(XTandemParameterSetForm.VXTANDEM_REFINE_POINT_MUTATIONS); 823 745 xTandemParameterSet.setRefinePointMutations(refinePointMutations); 824 746 log.debug("refinePointMutations = " + refinePointMutations); 825 747 // 826 String refineUsePotentialModificationsForFullRefinement = getString( VXTANDEM_REFINE_USE_POTENTIAL_MODIFICATIONS_FOR_FULL_REFINEMENT);748 String refineUsePotentialModificationsForFullRefinement = getString(XTandemParameterSetForm.VXTANDEM_REFINE_USE_POTENTIAL_MODIFICATIONS_FOR_FULL_REFINEMENT); 827 749 xTandemParameterSet.setRefineUsePotentialModificationsForFullRefinement(refineUsePotentialModificationsForFullRefinement); 828 750 log.debug("refineUsePotentialModificationsForFullRefinement = " + refineUsePotentialModificationsForFullRefinement); 829 751 // 830 String refinePotentialModificationMotifRefine = getString( VXTANDEM_REFINE_POTENTIAL_MODIFICATION_MOTIF);752 String refinePotentialModificationMotifRefine = getString(XTandemParameterSetForm.VXTANDEM_REFINE_POTENTIAL_MODIFICATION_MOTIF); 831 753 xTandemParameterSet.setRefinePotentialModificationMotif(refinePotentialModificationMotifRefine); 832 754 log.debug("refinePotentialModificationMotifRefine = " + refinePotentialModificationMotifRefine); 833 755 // 834 String scoringMinIonCount = getString( VXTANDEM_SCORING_MIN_ION_COUNT);756 String scoringMinIonCount = getString(XTandemParameterSetForm.VXTANDEM_SCORING_MIN_ION_COUNT); 835 757 xTandemParameterSet.setScoringMinimumIonCount(scoringMinIonCount); 836 758 log.debug("scoringMinIonCount = " + scoringMinIonCount); 837 759 // 838 String scoringMaxMissedCleavageSites = getString( VXTANDEM_SCORING_MAX_MISSED_CLEAVAGE_SITES);760 String scoringMaxMissedCleavageSites = getString(XTandemParameterSetForm.VXTANDEM_SCORING_MAX_MISSED_CLEAVAGE_SITES); 839 761 xTandemParameterSet.setScoringMaximumMissedCleavageSites(scoringMaxMissedCleavageSites); 840 762 log.debug("scoringMaxMissedCleavageSites = " + scoringMaxMissedCleavageSites); 841 763 // 842 String scoringXIons = getString( VXTANDEM_SCORING_X_IONS);764 String scoringXIons = getString(XTandemParameterSetForm.VXTANDEM_SCORING_X_IONS); 843 765 xTandemParameterSet.setScoringXIons(scoringXIons); 844 766 log.debug("scoringXIons = " + scoringXIons); 845 767 // 846 String scoringYIons = getString( VXTANDEM_SCORING_Y_IONS);768 String scoringYIons = getString(XTandemParameterSetForm.VXTANDEM_SCORING_Y_IONS); 847 769 xTandemParameterSet.setScoringYIons(scoringYIons); 848 770 log.debug("scoringYIons = " + scoringYIons); 849 771 // 850 String scoringZIons = getString( VXTANDEM_SCORING_Z_IONS);772 String scoringZIons = getString(XTandemParameterSetForm.VXTANDEM_SCORING_Z_IONS); 851 773 xTandemParameterSet.setScoringZIons(scoringZIons); 852 774 log.debug("scoringZIons = " + scoringZIons); 853 775 // 854 String scoringAIons = getString( VXTANDEM_SCORING_A_IONS);776 String scoringAIons = getString(XTandemParameterSetForm.VXTANDEM_SCORING_A_IONS); 855 777 xTandemParameterSet.setScoringAIons(scoringAIons); 856 778 log.debug("scoringAIons = " + scoringAIons); 857 779 // 858 String scoringBIons = getString( VXTANDEM_SCORING_B_IONS);780 String scoringBIons = getString(XTandemParameterSetForm.VXTANDEM_SCORING_B_IONS); 859 781 xTandemParameterSet.setScoringBIons(scoringBIons); 860 782 log.debug("scoringBIons = " + scoringBIons); 861 783 // 862 String scoringCIons = getString( VXTANDEM_SCORING_C_IONS);784 String scoringCIons = getString(XTandemParameterSetForm.VXTANDEM_SCORING_C_IONS); 863 785 xTandemParameterSet.setScoringCIons(scoringCIons); 864 786 log.debug("scoringCIons = " + scoringCIons); 865 787 // 866 String scoringCyclicPermutation = getString( VXTANDEM_SCORING_CYCLIC_PERMUTATION);788 String scoringCyclicPermutation = getString(XTandemParameterSetForm.VXTANDEM_SCORING_CYCLIC_PERMUTATION); 867 789 xTandemParameterSet.setScoringCyclicPermutation(scoringCyclicPermutation); 868 790 log.debug("scoringCyclicPermutation = " + scoringCyclicPermutation); 869 791 // 870 String scoringIncludeReverse = getString( VXTANDEM_SCORING_INCLUDE_REVERSE);792 String scoringIncludeReverse = getString(XTandemParameterSetForm.VXTANDEM_SCORING_INCLUDE_REVERSE); 871 793 xTandemParameterSet.setScoringIncludeReverse(scoringIncludeReverse); 872 794 log.debug("scoringIncludeReverse = " + scoringIncludeReverse); 873 795 // 874 String scoringAlgorithm = getString( VXTANDEM_SCORING_ALGORITHM);796 String scoringAlgorithm = getString(XTandemParameterSetForm.VXTANDEM_SCORING_ALGORITHM); 875 797 xTandemParameterSet.setScoringAlgorithm(scoringAlgorithm); 876 798 log.debug("scoringAlgorithm = " + scoringAlgorithm); 877 799 // 878 String outputPath = getString( VXTANDEM_OUTPUT_PATH);800 String outputPath = getString(XTandemParameterSetForm.VXTANDEM_OUTPUT_PATH); 879 801 xTandemParameterSet.setOutputPath(outputPath); 880 802 log.debug("outputPath = " + outputPath); 881 803 // 882 String outputLogPath = getString( VXTANDEM_OUTPUT_LOG_PATH);804 String outputLogPath = getString(XTandemParameterSetForm.VXTANDEM_OUTPUT_LOG_PATH); 883 805 xTandemParameterSet.setOutputLogPath(outputLogPath); 884 806 log.debug("outputLogPath = " + outputLogPath); 885 807 // 886 String outputMessage = getString( VXTANDEM_OUTPUT_MESSAGE);808 String outputMessage = getString(XTandemParameterSetForm.VXTANDEM_OUTPUT_MESSAGE); 887 809 xTandemParameterSet.setOutputMessage(outputMessage); 888 810 log.debug("outputMessage = " + outputMessage); 889 811 // 890 String outputSequencePath = getString( VXTANDEM_OUTPUT_SEQUENCE_PATH);812 String outputSequencePath = getString(XTandemParameterSetForm.VXTANDEM_OUTPUT_SEQUENCE_PATH); 891 813 xTandemParameterSet.setOutputSequencePath(outputSequencePath); 892 814 log.debug("outputSequencePath = " + outputSequencePath); 893 815 // 894 String outputSortResultsBy = getString( VXTANDEM_OUTPUT_SORT_RESULTS_BY);816 String outputSortResultsBy = getString(XTandemParameterSetForm.VXTANDEM_OUTPUT_SORT_RESULTS_BY); 895 817 xTandemParameterSet.setOutputSortResultsBy(outputSortResultsBy); 896 818 log.debug("outputSortResultsBy = " + outputSortResultsBy); 897 819 // 898 String outputPathHashing = getString( VXTANDEM_OUTPUT_PATH_HASHING);820 String outputPathHashing = getString(XTandemParameterSetForm.VXTANDEM_OUTPUT_PATH_HASHING); 899 821 xTandemParameterSet.setOutputPathHashing(outputPathHashing); 900 822 log.debug("outputPathHashing = " + outputPathHashing); 901 823 // 902 String outputXslPath = getString( VXTANDEM_OUTPUT_XSL_PATH);824 String outputXslPath = getString(XTandemParameterSetForm.VXTANDEM_OUTPUT_XSL_PATH); 903 825 xTandemParameterSet.setOutputXslPath(outputXslPath); 904 826 log.debug("outptuXslPath = " + outputXslPath); 905 827 // 906 String outputParameters = getString( VXTANDEM_OUTPUT_PARAMETERS);828 String outputParameters = getString(XTandemParameterSetForm.VXTANDEM_OUTPUT_PARAMETERS); 907 829 xTandemParameterSet.setOutputParameters(outputParameters); 908 830 log.debug("outputParameters = " + outputParameters); 909 831 // 910 String outputPerformance = getString( VXTANDEM_OUTPUT_PERFORMANCE);832 String outputPerformance = getString(XTandemParameterSetForm.VXTANDEM_OUTPUT_PERFORMANCE); 911 833 xTandemParameterSet.setOutputPerformance(outputPerformance); 912 834 log.debug("outputPerformance = " + outputPerformance); 913 835 // 914 String outputSpectra = getString( VXTANDEM_OUTPUT_SPECTRA);836 String outputSpectra = getString(XTandemParameterSetForm.VXTANDEM_OUTPUT_SPECTRA); 915 837 xTandemParameterSet.setOutputSpectra(outputSpectra); 916 838 log.debug("outputSpectra = " + outputSpectra); 917 839 // 918 String outputHistograms = getString( VXTANDEM_OUTPUT_HISTOGRAMS);840 String outputHistograms = getString(XTandemParameterSetForm.VXTANDEM_OUTPUT_HISTOGRAMS); 919 841 xTandemParameterSet.setOutputHistograms(outputHistograms); 920 842 log.debug("outputHistograms = " + outputHistograms); 921 843 // 922 String outputProteins = getString( VXTANDEM_OUTPUT_PROTEINS);844 String outputProteins = getString(XTandemParameterSetForm.VXTANDEM_OUTPUT_PROTEINS); 923 845 xTandemParameterSet.setOutputProteins(outputProteins); 924 846 log.debug("outputProteins = " + outputProteins); 925 847 // 926 String outputSequences = getString( VXTANDEM_OUTPUT_SEQUENCES);848 String outputSequences = getString(XTandemParameterSetForm.VXTANDEM_OUTPUT_SEQUENCES); 927 849 xTandemParameterSet.setOutputSequences(outputSequences); 928 850 log.debug("outputSequences = " + outputSequences); 929 851 // 930 String outputOneSequenceCopy = getString( VXTANDEM_OUTPUT_ONE_SEQUENCE_COPY);852 String outputOneSequenceCopy = getString(XTandemParameterSetForm.VXTANDEM_OUTPUT_ONE_SEQUENCE_COPY); 931 853 xTandemParameterSet.setOutputOneSequenceCopy(outputOneSequenceCopy); 932 854 log.debug("outputOneSequenceCopy = " + outputOneSequenceCopy); 933 855 // 934 String outputResults = getString( VXTANDEM_OUTPUT_RESULTS);856 String outputResults = getString(XTandemParameterSetForm.VXTANDEM_OUTPUT_RESULTS); 935 857 xTandemParameterSet.setOutputResults(outputResults); 936 858 log.debug("outputResults = " + outputResults); 937 859 // 938 String outputMaxValidExpectationValueOutput = getString( VXTANDEM_OUTPUT_MAX_VALID_EXPECTATION_VALUE);860 String outputMaxValidExpectationValueOutput = getString(XTandemParameterSetForm.VXTANDEM_OUTPUT_MAX_VALID_EXPECTATION_VALUE); 939 861 xTandemParameterSet.setOutputMaximumValidExpectationValue(outputMaxValidExpectationValueOutput); 940 862 log.debug("outputMaxValidExpectationValueOutput = " + outputMaxValidExpectationValueOutput); 941 863 // 942 String outputHistogramColumnWidth = getString( VXTANDEM_OUTPUT_HISTOGRAM_COLUMN_WIDTH);864 String outputHistogramColumnWidth = getString(XTandemParameterSetForm.VXTANDEM_OUTPUT_HISTOGRAM_COLUMN_WIDTH); 943 865 xTandemParameterSet.setOutputHistogramColumnWidth(outputHistogramColumnWidth); 944 866 log.debug("outputHistogramColumnWidth = " + outputHistogramColumnWidth); -
trunk/client/servlet/src/org/proteios/action/xTandemInput/ViewActiveXTandemParameterSetStorage.java
r3872 r3881 30 30 31 31 import java.io.InputStream; 32 import java.util.ArrayList;33 32 import java.util.List; 34 33 import org.proteios.ActionLink; … … 43 42 import org.proteios.io.XTandemParameterFileUtil; 44 43 import org.proteios.io.XTandemParameterSet; 45 import org.proteios.io.XTandemParameterSetOptionsUtil;44 //import org.proteios.io.XTandemParameterSetOptionsUtil; 46 45 import se.lu.thep.waf.ActionException; 47 46 import se.lu.thep.waf.constraints.InvalidParameterValue; 48 47 import se.lu.thep.waf.constraints.VInteger; 49 import se.lu.thep.waf.constraints.VString;50 48 51 49 /** … … 96 94 xTandemParameterFileUtil.setXMLInputStream(iStream); 97 95 XTandemParameterSet xTandemParameterSet = xTandemParameterFileUtil.fetchXTandemParameterSet(); 98 // Get XTandemParameterSetOptionsUtil instance 99 XTandemParameterSetOptionsUtil xTandemParameterSetOptionUtil = new XTandemParameterSetOptionsUtil(); 100 // Get list path default parameters option data 101 List<String> listPathDefaultParametersStringList = xTandemParameterSetOptionUtil.fetchListPathDefaultParametersStringList(); 102 List<Option> listPathDefaultParametersOptionList = stringListToOptionList(listPathDefaultParametersStringList); 103 // Get Eukaryotes species option data 104 List<String> speciesStringList = xTandemParameterSetOptionUtil.fetchSpeciesStringList(); 105 List<Option> speciesOptionList = stringListToOptionList(speciesStringList); 106 // Get Prokaryotes species option data 107 List<String> proSpeciesStringList = xTandemParameterSetOptionUtil.fetchProSpeciesStringList(); 108 List<Option> proSpeciesOptionList = stringListToOptionList(proSpeciesStringList); 109 // Get residue modification mass option data 110 List<String> residueModificationMassStringList = xTandemParameterSetOptionUtil.fetchResidueModificationMassStringList(); 111 List<Option> residueModificationMassOptionList = stringListToOptionList(residueModificationMassStringList); 112 // Get residue potential modification mass option data 113 List<String> residuePotentialModificationMassStringList = xTandemParameterSetOptionUtil.fetchResiduePotentialModificationMassStringList(); 114 List<Option> residuePotentialModificationMassOptionList = stringListToOptionList(residuePotentialModificationMassStringList); 115 // Get protein cleavage site option data 116 List<String> proteinCleavageSiteStringList = xTandemParameterSetOptionUtil.fetchProteinCleavageSiteStringList(); 117 List<Option> proteinCleavageSiteOptionList = stringListToOptionList(proteinCleavageSiteStringList); 118 // Get refine potential modification mass option data 119 List<String> refinePotentialModificationMassStringList = xTandemParameterSetOptionUtil.fetchRefinePotentialModificationMassStringList(); 120 List<Option> refinePotentialModificationMassOptionList = stringListToOptionList(refinePotentialModificationMassStringList); 121 // XTandem parameter set form 122 //Form xTandemParameterSetForm = getFormFactory().getXTandemParameterSetForm(xTandemParameterSet); 123 Form xTandemParameterSetForm = getXTandemParameterSetForm(xTandemParameterSet, 124 listPathDefaultParametersOptionList, 125 speciesOptionList, 126 proSpeciesOptionList, 127 residueModificationMassOptionList, 128 residuePotentialModificationMassOptionList, 129 proteinCleavageSiteOptionList, 130 refinePotentialModificationMassOptionList); 96 Form xTandemParameterSetForm = new XTandemParameterSetForm(xTandemParameterSet); 131 97 /*********************************************************************** 132 98 * Annotations table … … 173 139 for (Integer spectrumFileId : spectrumFileIds) 174 140 { 175 141 getFormFactory().addHiddenField(xTandemParameterSetForm, SearchXTandem.VSPECTRUMFILEID, spectrumFileId); 176 142 } 177 143 searchXTandemViaWebInterface.addParameter(SearchXTandem.VXTANDEMUSEWEBINTERFACEFLAG, true); … … 220 186 setLayout(layout); 221 187 } 222 223 224 /**225 * Converts a list of alternating key and value strings226 * into a list of options.227 *228 * @param stringList List<String> A list of alternating key and value strings.229 * @return List<Option> A list of options230 */231 private List<Option> stringListToOptionList(List<String> stringList)232 {233 List<Option> optionList = new ArrayList<Option>(0);234 for (int i = 0; i < stringList.size(); i = i + 2)235 {236 String key = stringList.get(i);237 String value = stringList.get(i + 1);238 /*239 * Note that the option "value" corresponds240 * to the "key" in the key-value string pair,241 * while the option "content" corresponds242 * to the "value" in the key-value string pair.243 */244 Option option = new Option(key, value);245 optionList.add(option);246 }247 return optionList;248 }249 250 public Form getXTandemParameterSetForm(251 XTandemParameterSet xTandemParameterSet,252 List<Option> listPathDefaultParametersOptionList,253 List<Option> speciesOptionList, List<Option> proSpeciesOptionList,254 List<Option> residueModificationMassOptionList,255 List<Option> residuePotentialModificationMassOptionList,256 List<Option> proteinCleavageSiteOptionList,257 List<Option> refinePotentialModificationMassOptionList)258 {259 // DbControl dc = project.getDbControl();260 Form form = new Form("XTandemParameterSetForm");261 /*262 * String select box variables263 */264 VString validStringParam = null;265 List<String> stringList = null;266 List<Option> optionList = null;267 String selected = null;268 List<String> selectedList = null;269 /*270 * List path field set271 */272 Fieldset listPathFS = new Fieldset();273 listPathFS.setTitle("XTandemParameterSetListPath");274 form.addFieldset(listPathFS);275 // List path, default parameters276 validStringParam = SaveXTandemParameterSetStorage.VXTANDEM_LIST_PATH_DEFAULT_PARAMETERS;277 optionList = new ArrayList<Option>();278 optionList.add(new Option("/tandem/methods/fticr.xml", "FTICR (10 ppm)"));279 optionList.add(new Option("/tandem/methods/qstar.xml", "Quad-TOF (100 ppm)"));280 optionList.add(new Option("/tandem/methods/qstar_l.xml", "Quad-TOF (0.5 Da)"));281 optionList.add(new Option("/tandem/methods/iontrap.xml", "Ion Trap (4 Da)"));282 // Use input list path default parameters option list if present283 if (listPathDefaultParametersOptionList != null && listPathDefaultParametersOptionList.size() > 0)284 {285 optionList = listPathDefaultParametersOptionList;286 }287 selected = xTandemParameterSet.getListPathDefaultParameters();288 Select<VString> listPathDefaultParametersSelectBox = new Select<VString>(validStringParam, optionList);289 listPathDefaultParametersSelectBox.selectOption( selected);290 listPathDefaultParametersSelectBox.setLabel("XTandemListPathDefaultParameters");291 listPathDefaultParametersSelectBox.setMultiple(false);292 int selectBoxSize = 4;293 if (optionList.size() < selectBoxSize)294 {295 selectBoxSize = optionList.size();296 }297 listPathDefaultParametersSelectBox.setSize(selectBoxSize);298 listPathFS.add(listPathDefaultParametersSelectBox);299 // List path, taxonomy information300 TextField<String> taxonomyInformationListPath = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_LIST_PATH_TAXONOMY_INFORMATION);301 taxonomyInformationListPath.setValue(xTandemParameterSet302 .getListPathTaxonomyInformation());303 listPathFS.add(taxonomyInformationListPath);304 /*305 * Spectrum field set306 */307 Fieldset spectrumFS = new Fieldset();308 spectrumFS.setTitle("XTandemParameterSetSpectrum");309 form.addFieldset(spectrumFS);310 // Spectrum, path311 TextField<String> spectrumPath = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_SPECTRUM_PATH);312 spectrumPath.setValue(xTandemParameterSet.getSpectrumPath());313 spectrumFS.add(spectrumPath);314 // Spectrum, fragment monoisotopic mass error315 TextField<String> fragMiMassError = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_SPECTRUM_FRAG_MI_MASS_ERROR);316 fragMiMassError.setValue(xTandemParameterSet317 .getSpectrumFragmentMonoisotopicMassError());318 spectrumFS.add(fragMiMassError);319 // Spectrum, parent monoisotopic mass error plus320 TextField<String> parentMiMassErrorPlus = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_SPECTRUM_PARENT_MI_MASS_ERROR_PLUS);321 parentMiMassErrorPlus.setValue(xTandemParameterSet322 .getSpectrumParentMonoisotopicMassErrorPlus());323 spectrumFS.add(parentMiMassErrorPlus);324 // Spectrum, parent monoisotopic mass error minus325 TextField<String> parentMiMassErrorMinus = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_SPECTRUM_PARENT_MI_MASS_ERROR_MINUS);326 parentMiMassErrorMinus.setValue(xTandemParameterSet327 .getSpectrumParentMonoisotopicMassErrorMinus());328 spectrumFS.add(parentMiMassErrorMinus);329 // Spectrum, parent monoisotopic mass isotope error330 validStringParam = SaveXTandemParameterSetStorage.VXTANDEM_SPECTRUM_PARENT_MI_MASS_ISOTOPE_ERROR;331 stringList = new ArrayList<String>();332 stringList.add("yes");333 stringList.add("no");334 selected = xTandemParameterSet335 .getSpectrumParentMonoisotopicMassIsotopeError();336 Select<VString> parentMiMassIsotopeError = new Select<VString>(validStringParam, stringList, selected);337 spectrumFS.add(parentMiMassIsotopeError);338 // Spectrum, fragment monoisotopic mass error units339 validStringParam = SaveXTandemParameterSetStorage.VXTANDEM_SPECTRUM_FRAG_MI_MASS_ERROR_UNITS;340 stringList = new ArrayList<String>();341 stringList.add("Daltons");342 stringList.add("ppm");343 selected = xTandemParameterSet344 .getSpectrumFragmentMonoisotopicMassErrorUnits();345 Select<VString> fragMiMassErrorUnits = new Select<VString>(validStringParam, stringList, selected);346 spectrumFS.add(fragMiMassErrorUnits);347 // Spectrum, parent monoisotopic mass error units348 validStringParam = SaveXTandemParameterSetStorage.VXTANDEM_SPECTRUM_PARENT_MI_MASS_ERROR_UNITS;349 stringList = new ArrayList<String>();350 stringList.add("Daltons");351 stringList.add("ppm");352 selected = xTandemParameterSet353 .getSpectrumParentMonoisotopicMassErrorUnits();354 Select<VString> parentMiMassErrorUnits = new Select<VString>(validStringParam, stringList, selected);355 spectrumFS.add(parentMiMassErrorUnits);356 // Spectrum, fragment mass type357 validStringParam = SaveXTandemParameterSetStorage.VXTANDEM_SPECTRUM_FRAG_MASS_TYPE;358 stringList = new ArrayList<String>();359 stringList.add("monoisotopic");360 stringList.add("average");361 selected = xTandemParameterSet.getSpectrumFragmentMassType();362 Select<VString> fragMassType = new Select<VString>(validStringParam, stringList, selected);363 spectrumFS.add(fragMassType);364 // Spectrum, dynamic range365 TextField<String> dynamicRange = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_SPECTRUM_DYNAMIC_RANGE);366 dynamicRange.setValue(xTandemParameterSet.getSpectrumDynamicRange());367 spectrumFS.add(dynamicRange);368 // Spectrum, total peaks369 TextField<String> totalPeaks = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_SPECTRUM_TOTAL_PEAKS);370 totalPeaks.setValue(xTandemParameterSet.getSpectrumTotalPeaks());371 spectrumFS.add(totalPeaks);372 // Spectrum, maximum parent charge373 TextField<String> maxParentCharge = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_SPECTRUM_MAX_PARENT_CHARGE);374 maxParentCharge.setValue(xTandemParameterSet375 .getSpectrumMaximumParentCharge());376 spectrumFS.add(maxParentCharge);377 // Spectrum, use noise suppression378 validStringParam = SaveXTandemParameterSetStorage.VXTANDEM_SPECTRUM_USE_NOISE_SUPPRESSION;379 stringList = new ArrayList<String>();380 stringList.add("yes");381 stringList.add("no");382 selected = xTandemParameterSet.getSpectrumUseNoiseSuppression();383 Select<VString> useNoiseSuppression = new Select<VString>(validStringParam, stringList, selected);384 spectrumFS.add(useNoiseSuppression);385 // Spectrum, minimum parent m+h386 TextField<String> minParentMPlusH = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_SPECTRUM_MIN_PARENT_M_PLUS_H);387 minParentMPlusH.setValue(xTandemParameterSet388 .getSpectrumMinimumParentMPlusH());389 spectrumFS.add(minParentMPlusH);390 // Spectrum, maximum parent m+h391 TextField<String> maxParentMPlusH = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_SPECTRUM_MAX_PARENT_M_PLUS_H);392 maxParentMPlusH.setValue(xTandemParameterSet393 .getSpectrumMaximumParentMPlusH());394 spectrumFS.add(maxParentMPlusH);395 // Spectrum, minimum fragment mz396 TextField<String> minFragmentMz = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_SPECTRUM_MIN_FRAG_MZ);397 minFragmentMz.setValue(xTandemParameterSet398 .getSpectrumMinimumFragmentMz());399 spectrumFS.add(minFragmentMz);400 // Spectrum, minimum peaks401 TextField<String> minPeaks = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_SPECTRUM_MIN_PEAKS);402 minPeaks.setValue(xTandemParameterSet.getSpectrumMinimumPeaks());403 spectrumFS.add(minPeaks);404 // Spectrum, threads405 TextField<String> threads = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_SPECTRUM_THREADS);406 threads.setValue(xTandemParameterSet.getSpectrumThreads());407 spectrumFS.add(threads);408 // Spectrum, sequence batch size409 TextField<String> spectrumSequenceBatchSize = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_SPECTRUM_SEQUENCE_BATCH_SIZE);410 spectrumSequenceBatchSize.setValue(xTandemParameterSet411 .getSpectrumSequenceBatchSize());412 spectrumFS.add(spectrumSequenceBatchSize);413 /*414 * Residue field set415 */416 Fieldset residueFS = new Fieldset();417 residueFS.setTitle("XTandemParameterSetResidue");418 form.addFieldset(residueFS);419 // Residue, modification mass select420 /*421 * Residue modification mass selection has one peculiarity: 1. The GUI422 * selection is divided into one selection box and an entry field. A423 * selection in the selection box will only be used if the entry field424 * is empty.425 */426 validStringParam = SaveXTandemParameterSetStorage.VXTANDEM_RESIDUE_MODIFICATION_MASS_SELECT;427 optionList = new ArrayList<Option>();428 optionList.add(new Option("", "none"));429 optionList.add(new Option("57.021464@C", "Carbamidomethyl (C)"));430 optionList.add(new Option("442.224991@C", "ICAT-D (C)"));431 optionList.add(new Option("227.126991@C", "ICAT-C (C)"));432 optionList.add(new Option("58.005479@C", "Carboxymethyl (C)"));433 optionList.add(new Option("105.057849@C", "Pyridylethyl (C)"));434 optionList.add(new Option("71.037114@C", "Propionamide (C)"));435 optionList.add(new Option("144.102063@[,144.102063@K",436 "iTRAQ (N-term,K)"));437 // Use input residue modification mass option list if present438 if (residueModificationMassOptionList != null && residueModificationMassOptionList439 .size() > 0)440 {441 optionList = residueModificationMassOptionList;442 }443 selected = xTandemParameterSet.getResidueModificationMass();444 Select<VString> residueModificationMassSelectBox = new Select<VString>(445 validStringParam, optionList);446 residueModificationMassSelectBox.selectOption( selected);447 residueModificationMassSelectBox448 .setLabel("XTandemResidueModificationMassSelect");449 residueFS.add(residueModificationMassSelectBox);450 // Residue, modification mass (own entered value)451 TextField<String> modificationMass = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_RESIDUE_MODIFICATION_MASS);452 modificationMass.setLabel("XTandemResidueModificationMassEnter");453 // Only insert selected value if not found in select box454 if (!itemInOptionList(optionList, selected))455 {456 log457 .debug("residue modification mass, inserted value = \"" + xTandemParameterSet458 .getResidueModificationMass() + "\"");459 modificationMass.setValue(xTandemParameterSet460 .getResidueModificationMass());461 }462 else463 {464 465 modificationMass.setValue("");466 }467 log468 .debug("residue modification mass, modificationMass.getValue() = \"" + modificationMass469 .getValue() + "\"");470 residueFS.add(modificationMass);471 // Residue, potential modification mass select472 /*473 * Residue potential modification mass selection has two peculiarities:474 * 1. It supports selection of multiple items. 2. The GUI selection is475 * divided into one multiple selection box and an entry field.476 * Selections in the selection box will only be used if the entry field477 * is empty. The multiple selection items are stored in XML as a string478 * with items separated by ", ".479 */480 validStringParam = SaveXTandemParameterSetStorage.VXTANDEM_RESIDUE_POTENTIAL_MODIFICATION_MASS_SELECT;481 optionList = new ArrayList<Option>();482 optionList.add(new Option("", "none"));483 optionList.add(new Option("15.994915@M", "Oxidation (M)"));484 optionList.add(new Option("15.994915@W", "Oxidation (W)"));485 optionList.add(new Option("0.984016@N", "Deamidation (N)"));486 optionList.add(new Option("0.984016@Q", "Deamidation (Q)"));487 optionList.add(new Option("8.0502@C", "ICAT-D:2H(8) (C)"));488 optionList.add(new Option("9.0302@C", "ICAT-C:13C(9) (C)"));489 optionList.add(new Option("144.102063@[", "iTRAQ (N-term)"));490 optionList.add(new Option("144.102063@K", "iTRAQ (K)"));491 optionList.add(new Option("79.966331@S", "Phospho (S)"));492 optionList.add(new Option("79.966331@T", "Phospho (T)"));493 optionList.add(new Option("79.966331@Y", "Phospho (Y)"));494 optionList.add(new Option("79.956815@Y", "Sulfo (Y)"));495 optionList.add(new Option("42.010565@K", "Acetyl (K)"));496 // Use input residue potential modification mass option list if present497 if (residuePotentialModificationMassOptionList != null && residuePotentialModificationMassOptionList498 .size() > 0)499 {500 optionList = residuePotentialModificationMassOptionList;501 log502 .debug("Input residue potential modification mass option list used");503 }504 else505 {506 log507 .debug("Default residue potential modification mass option list used");508 }509 selected = xTandemParameterSet.getResiduePotentialModificationMass();510 log511 .debug("residue potential modification mass selected = \"" + selected + "\"");512 selectedList = listStringToStringList(selected, ",");513 log514 .debug("residue potential modification mass selectedList = " + selectedList);515 Select<VString> residuePotentialModificationMassSelectBox = new Select<VString>(516 validStringParam, optionList, selectedList);517 residuePotentialModificationMassSelectBox518 .setLabel("XTandemResiduePotentialModificationMassSelect");519 residuePotentialModificationMassSelectBox.setMultiple(true);520 residuePotentialModificationMassSelectBox.setSize(4);521 residueFS.add(residuePotentialModificationMassSelectBox);522 // Residue, potential modification mass523 TextField<String> potentialModificationMass = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_RESIDUE_POTENTIAL_MODIFICATION_MASS);524 potentialModificationMass525 .setLabel("XTandemResiduePotentialModificationMassEnter");526 potentialModificationMass.setValue(xTandemParameterSet527 .getResiduePotentialModificationMass());528 // Only insert selected values if not all found in select box529 if (!allItemsInOptionList(optionList, selectedList))530 {531 log532 .debug("residue potential modification mass, inserted value = \"" + xTandemParameterSet533 .getResiduePotentialModificationMass() + "\"");534 potentialModificationMass.setValue(xTandemParameterSet535 .getResiduePotentialModificationMass());536 }537 else538 {539 potentialModificationMass.setValue("");540 }541 residueFS.add(potentialModificationMass);542 // Residue, potential modification motif543 TextField<String> potentialModificationMotif = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_RESIDUE_POTENTIAL_MODIFICATION_MOTIF);544 potentialModificationMotif.setValue(xTandemParameterSet545 .getResiduePotentialModificationMotif());546 residueFS.add(potentialModificationMotif);547 /*548 * Protein field set549 */550 Fieldset proteinFS = new Fieldset();551 proteinFS.setTitle("XTandemParameterSetProtein");552 form.addFieldset(proteinFS);553 // Protein, taxon554 /*555 * Taxonomy selection has two peculiarities: 1. It supports selection of556 * multiple items. 2. The GUI selection is divided into two multiple557 * selection boxes. The multiple selection items are stored in XML as a558 * string with items separated by ", ".559 */560 // Taxon - Eukaryotes561 validStringParam = SaveXTandemParameterSetStorage.VXTANDEM_PROTEIN_TAXON;562 optionList = new ArrayList<Option>();563 optionList.add(new Option("", "none"));564 optionList.add(new Option("human", "H. sapiens (human)"));565 optionList.add(new Option("mouse", "M. musculus (mouse)"));566 optionList.add(new Option("rat", "R. norvegicus (rat)"));567 optionList.add(new Option("yeast", "S. cerevisiae (budding yeast)"));568 optionList.add(new Option("", "------------------"));569 optionList.add(new Option("mosquito", "A. gambiae (mosquito)"));570 optionList.add(new Option("aspergillus_fumigatus",571 "A. fumigatus (mould)"));572 optionList.add(new Option("bee", "A. mellifera (honey bee)"));573 optionList.add(new Option("thalecress", "A. thaliana (thale cress)"));574 optionList.add(new Option("cow", "B. taurus (cow)"));575 optionList.add(new Option("dog", "C. familiaris (dog)"));576 optionList.add(new Option("worm", "C. elegans (round worm)"));577 optionList.add(new Option("zebrafish", "D. rerio (zebra fish)"));578 optionList.add(new Option("fly", "D. melanogaster (fruit fly)"));579 optionList.add(new Option("chicken", "G. gallus (hen)"));580 optionList.add(new Option("human", "H. sapiens (human)"));581 optionList.add(new Option("mouse", "M. musculus (mouse)"));582 optionList.add(new Option("rice", "O.sativa (rice)"));583 optionList.add(new Option("rat", "R. norvegicus (rat)"));584 optionList.add(new Option("spombe", "S. pombe (fission yeast)"));585 optionList.add(new Option("yeast", "S. cerevisiae (budding yeast)"));586 optionList.add(new Option("frog", "S. tropicalis (toad)"));587 // Use input species option list if present588 if (speciesOptionList != null && speciesOptionList.size() > 0)589 {590 optionList = speciesOptionList;591 }592 selected = xTandemParameterSet.getProteinTaxon();593 selectedList = listStringToStringList(selected, ",\\ ");594 Select<VString> taxon = new Select<VString>(validStringParam,595 optionList, selectedList);596 taxon.setLabel("XTandemProteinTaxonEukaryotes");597 taxon.setMultiple(true);598 taxon.setSize(5);599 proteinFS.add(taxon);600 // Taxon - Prokaryotes601 validStringParam = SaveXTandemParameterSetStorage.VXTANDEM_PROTEIN_TAXON1;602 optionList = new ArrayList<Option>();603 optionList.add(new Option("", "none"));604 optionList.add(new Option("Bacillus_subtilis", "Bacillus subtilis"));605 optionList.add(new Option("Clostridium_perfringens",606 "Clostridium perfringens"));607 optionList.add(new Option("Deinococcus_radiodurans",608 "Deinococcus radiodurans"));609 optionList.add(new Option("Escherichia_coli_K12",610 "Escherichia coli K12"));611 optionList.add(new Option("Francisella_tularensis_tularensis",612 "Francisella tularensis tularensis"));613 optionList.add(new Option("Geobacter_sulfurreducens",614 "Geobacter sulfurreducens"));615 optionList.add(new Option("Haemophilus_influenzae",616 "Haemophilus influenzae"));617 optionList.add(new Option("Listeria_innocua", "Listeria innocua"));618 optionList.add(new Option("Mycobacterium_leprae",619 "Mycobacterium leprae"));620 optionList.add(new Option("Mycobacterium_tuberculosis_CDC1551",621 "Mycobacterium tuberculosis CDC1551"));622 optionList623 .add(new Option("Mycoplasma_pulmonis", "Mycoplasma pulmonis"));624 optionList.add(new Option("Staphylococcus_aureus_MW2",625 "Staphylococcus aureus MW2"));626 optionList.add(new Option("Streptococcus_pneumoniae_TIGR4",627 "Streptococcus pneumoniae TIGR4"));628 optionList.add(new Option("Streptococcus_pyogenes_M1_GAS",629 "Streptococcus pyogenes M1 GAS"));630 optionList.add(new Option("Yersinia_pestis_CO92",631 "Yersinia pestis CO92"));632 // Use input species option list if present633 if (proSpeciesOptionList != null && proSpeciesOptionList.size() > 0)634 {635 optionList = proSpeciesOptionList;636 }637 // Same selection list as for Eukaryotes taxon is used for Prokaryotes638 Select<VString> taxon1 = new Select<VString>(validStringParam,639 optionList, selectedList);640 taxon1.setLabel("XTandemProteinTaxonProkaryotes");641 taxon1.setMultiple(true);642 taxon1.setSize(5);643 proteinFS.add(taxon1);644 // Protein, cleavage site645 /*646 * Protein cleavage site selection has one peculiarity: 1. The GUI647 * selection is divided into one selection box and an entry field. A648 * selection in the selection box will only be used if the entry field649 * is empty.650 */651 validStringParam = SaveXTandemParameterSetStorage.VXTANDEM_PROTEIN_CLEAVAGE_SITE_SELECT;652 optionList = new ArrayList<Option>();653 optionList.add(new Option("[RK]|{P}", "trypsin, [RK]|{P}"));654 optionList.add(new Option("[R]|[X]", "endo-arg-C, [R]|[X]"));655 optionList.add(new Option("[K]|[X]", "endo-lys-C, [K]|[X]"));656 optionList.add(new Option("[E]|[X]", "endo-glu-C, [E]|[X]"));657 optionList.add(new Option("[X]|[D]", "endo-asp-N, [X]|[D]"));658 optionList.add(new Option("[ED]|[X]", "V8, [ED]|[X]"));659 // Use input protein cleavage site option list if present660 if (proteinCleavageSiteOptionList != null && proteinCleavageSiteOptionList661 .size() > 0)662 {663 optionList = proteinCleavageSiteOptionList;664 }665 selected = xTandemParameterSet.getProteinCleavageSite();666 Select<VString> proteinCleavageSiteSelectBox = new Select<VString>(667 validStringParam, optionList);668 proteinCleavageSiteSelectBox.selectOption( selected);669 proteinCleavageSiteSelectBox670 .setLabel("XTandemProteinCleavageSiteSelect");671 proteinFS.add(proteinCleavageSiteSelectBox);672 // Protein, cleavage site (own entered value)673 TextField<String> cleavageSite = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_PROTEIN_CLEAVAGE_SITE);674 cleavageSite.setLabel("XTandemProteinCleavageSiteEnter");675 // Only insert selected value if not found in select box676 if (!itemInOptionList(optionList, selected))677 {678 cleavageSite.setValue(xTandemParameterSet.getProteinCleavageSite());679 }680 else681 {682 cleavageSite.setValue("");683 }684 proteinFS.add(cleavageSite);685 // Protein, modified residue mass file686 TextField<String> proteinModifiedResidueMassFile = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_PROTEIN_MODIFIED_RESIDUE_MASS_FILE);687 proteinModifiedResidueMassFile.setValue(xTandemParameterSet688 .getProteinModifiedResidueMassFile());689 proteinFS.add(proteinModifiedResidueMassFile);690 // Protein, cleavage N-terminal mass change691 TextField<String> proteinCleavageNTerminalMassChange = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_PROTEIN_CLEAVAGE_N_TERMINAL_MASS_CHANGE);692 proteinCleavageNTerminalMassChange.setValue(xTandemParameterSet693 .getProteinCleavageNTerminalMassChange());694 proteinFS.add(proteinCleavageNTerminalMassChange);695 // Protein, cleavage C-terminal mass change696 TextField<String> proteinCleavageCTerminalMassChange = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_PROTEIN_CLEAVAGE_C_TERMINAL_MASS_CHANGE);697 proteinCleavageCTerminalMassChange.setValue(xTandemParameterSet698 .getProteinCleavageCTerminalMassChange());699 proteinFS.add(proteinCleavageCTerminalMassChange);700 // Protein, N-terminal residue modification mass701 TextField<String> nTerminalResidueModificationMass = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_PROTEIN_N_TERMINAL_RESIDUE_MODIFICATION_MASS);702 nTerminalResidueModificationMass.setValue(xTandemParameterSet703 .getProteinNTerminalResidueModificationMass());704 proteinFS.add(nTerminalResidueModificationMass);705 // Protein, C-terminal residue modification mass706 TextField<String> cTerminalResidueModificationMass = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_PROTEIN_C_TERMINAL_RESIDUE_MODIFICATION_MASS);707 cTerminalResidueModificationMass.setValue(xTandemParameterSet708 .getProteinCTerminalResidueModificationMass());709 proteinFS.add(cTerminalResidueModificationMass);710 // Protein, homolog management711 validStringParam = SaveXTandemParameterSetStorage.VXTANDEM_PROTEIN_HOMOLOG_MANAGEMENT;712 stringList = new ArrayList<String>();713 stringList.add("yes");714 stringList.add("no");715 selected = xTandemParameterSet.getProteinHomologManagement();716 Select<VString> homologManagement = new Select<VString>(validStringParam, stringList, selected);717 proteinFS.add(homologManagement);718 /*719 * Refine field set720 */721 Fieldset refineFS = new Fieldset();722 refineFS.setTitle("XTandemParameterSetRefine");723 form.addFieldset(refineFS);724 // Refine725 validStringParam = SaveXTandemParameterSetStorage.VXTANDEM_REFINE;726 stringList = new ArrayList<String>();727 stringList.add("yes");728 stringList.add("no");729 selected = xTandemParameterSet.getRefine();730 Select<VString> refine = new Select<VString>(validStringParam, stringList, selected);731 refineFS.add(refine);732 // Refine, modification mass733 TextField<String> refineModificationMass = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_REFINE_MODIFICATION_MASS);734 refineModificationMass.setValue(xTandemParameterSet735 .getRefineModificationMass());736 refineFS.add(refineModificationMass);737 // Refine, sequence path738 TextField<String> refineSequencePath = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_REFINE_SEQUENCE_PATH);739 refineSequencePath740 .setValue(xTandemParameterSet.getRefineSequencePath());741 refineFS.add(refineSequencePath);742 // Refine, tic percent743 TextField<String> refineTicPercent = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_REFINE_TIC_PERCENT);744 refineTicPercent.setValue(xTandemParameterSet.getRefineTicPercent());745 refineFS.add(refineTicPercent);746 // Refine, spectrum synthesis747 validStringParam = SaveXTandemParameterSetStorage.VXTANDEM_REFINE_SPECTRUM_SYNTHESIS;748 stringList = new ArrayList<String>();749 stringList.add("yes");750 stringList.add("no");751 selected = xTandemParameterSet.getRefineSpectrumSynthesis();752 Select<VString> spectrumSynthesis = new Select<VString>(validStringParam, stringList, selected);753 refineFS.add(spectrumSynthesis);754 // Refine, maximum valid expectation value755 TextField<String> maxValidExpectationValue = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_REFINE_MAX_VALID_EXPECTATION_VALUE);756 maxValidExpectationValue.setValue(xTandemParameterSet757 .getRefineMaximumValidExpectationValue());758 refineFS.add(maxValidExpectationValue);759 // Refine, potential N-terminus modifications760 TextField<String> potentialNTerminusModifications = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_REFINE_POTENTIAL_N_TERMINUS_MODIFICATIONS);761 potentialNTerminusModifications.setValue(xTandemParameterSet762 .getRefinePotentialNTerminusModifications());763 refineFS.add(potentialNTerminusModifications);764 // Refine, potential C-terminus modifications765 TextField<String> potentialCTerminusModifications = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_REFINE_POTENTIAL_C_TERMINUS_MODIFICATIONS);766 potentialCTerminusModifications.setValue(xTandemParameterSet767 .getRefinePotentialCTerminusModifications());768 refineFS.add(potentialCTerminusModifications);769 // Refine, unanticipated cleavage770 validStringParam = SaveXTandemParameterSetStorage.VXTANDEM_REFINE_UNANTICIPATED_CLEAVAGE;771 stringList = new ArrayList<String>();772 stringList.add("yes");773 stringList.add("no");774 selected = xTandemParameterSet.getRefineUnanticipatedCleavage();775 Select<VString> unanticipatedCleavage = new Select<VString>(validStringParam, stringList, selected);776 refineFS.add(unanticipatedCleavage);777 // Refine, potential modification mass select778 /*779 * Refine potential modification mass selection has two peculiarities:780 * 1. It supports selection of multiple items. 2. The GUI selection is781 * divided into one multiple selection box and an entry field.782 * Selections in the selection box will only be used if the entry field783 * is empty. The multiple selection items are stored in XML as a string784 * with items separated by ", ".785 */786 validStringParam = SaveXTandemParameterSetStorage.VXTANDEM_REFINE_POTENTIAL_MODIFICATION_MASS_SELECT;787 optionList = new ArrayList<Option>();788 optionList.add(new Option("", "none"));789 optionList.add(new Option("15.994915@M", "Oxidation (M)"));790 optionList.add(new Option("15.994915@W", "Oxidation (W)"));791 optionList.add(new Option("0.984016@N", "Deamidation (N)"));792 optionList.add(new Option("0.984016@Q", "Deamidation (Q)"));793 optionList.add(new Option("8.0502@C", "ICAT-D:2H(8) (C)"));794 optionList.add(new Option("9.0302@C", "ICAT-C:13C(9) (C)"));795 optionList.add(new Option("144.102063@[", "iTRAQ (N-term)"));796 optionList.add(new Option("144.102063@K", "iTRAQ (K)"));797 optionList.add(new Option("79.966331@S", "Phospho (S)"));798 optionList.add(new Option("79.966331@T", "Phospho (T)"));799 optionList.add(new Option("79.966331@Y", "Phospho (Y)"));800 optionList.add(new Option("79.956815@Y", "Sulfo (Y)"));801 optionList.add(new Option("42.010565@K", "Acetyl (K)"));802 // Use input refine potential modification mass option list if present803 if (refinePotentialModificationMassOptionList != null && refinePotentialModificationMassOptionList804 .size() > 0)805 {806 optionList = refinePotentialModificationMassOptionList;807 log808 .debug("Input refine potential modification mass option list used");809 }810 else811 {812 log813 .debug("Default refine potential modification mass option list used");814 }815 selected = xTandemParameterSet.getRefinePotentialModificationMass();816 log817 .debug("refine potential modification mass selected = \"" + selected + "\"");818 selectedList = listStringToStringList(selected, ",");819 log820 .debug("refine potential modification mass selectedList = " + selectedList);821 Select<VString> refinePotentialModificationMassSelectBox = new Select<VString>(822 validStringParam, optionList, selectedList);823 refinePotentialModificationMassSelectBox824 .setLabel("XTandemRefinePotentialModificationMassSelect");825 refinePotentialModificationMassSelectBox.setMultiple(true);826 refinePotentialModificationMassSelectBox.setSize(4);827 refineFS.add(refinePotentialModificationMassSelectBox);828 // Refine, potential modification mass829 TextField<String> refinePotentialModificationMass = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_REFINE_POTENTIAL_MODIFICATION_MASS);830 refinePotentialModificationMass831 .setLabel("XTandemRefinePotentialModificationMassEnter");832 refinePotentialModificationMass.setValue(xTandemParameterSet833 .getRefinePotentialModificationMass());834 // Only insert selected values if not all found in select box835 if (!allItemsInOptionList(optionList, selectedList))836 {837 log838 .debug("refine potential modification mass, inserted value = \"" + xTandemParameterSet839 .getRefinePotentialModificationMass() + "\"");840 refinePotentialModificationMass.setValue(xTandemParameterSet841 .getRefinePotentialModificationMass());842 }843 else844 {845 refinePotentialModificationMass.setValue("");846 }847 refineFS.add(refinePotentialModificationMass);848 /** **************************************** */849 // Refine, point mutations850 validStringParam = SaveXTandemParameterSetStorage.VXTANDEM_REFINE_POINT_MUTATIONS;851 stringList = new ArrayList<String>();852 stringList.add("yes");853 stringList.add("no");854 selected = xTandemParameterSet.getRefinePointMutations();855 Select<VString> pointMutations = new Select<VString>(validStringParam, stringList, selected);856 refineFS.add(pointMutations);857 // Refine, use potential modifications for full refinement858 validStringParam = SaveXTandemParameterSetStorage.VXTANDEM_REFINE_USE_POTENTIAL_MODIFICATIONS_FOR_FULL_REFINEMENT;859 stringList = new ArrayList<String>();860 stringList.add("yes");861 stringList.add("no");862 selected = xTandemParameterSet863 .getRefineUsePotentialModificationsForFullRefinement();864 Select<VString> usePotentialModificationsForFullRefinement = new Select<VString>(validStringParam, stringList, selected);865 refineFS.add(usePotentialModificationsForFullRefinement);866 // Refine, potential modification motif867 TextField<String> potentialModificationMotifRefine = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_REFINE_POTENTIAL_MODIFICATION_MOTIF);868 potentialModificationMotifRefine.setValue(xTandemParameterSet869 .getRefinePotentialModificationMotif());870 refineFS.add(potentialModificationMotifRefine);871 /*872 * Scoring field set873 */874 Fieldset scoringFS = new Fieldset();875 scoringFS.setTitle("XTandemParameterSetScoring");876 form.addFieldset(scoringFS);877 // Scoring, minimum ion count878 TextField<String> minIonCount = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_SCORING_MIN_ION_COUNT);879 minIonCount.setValue(xTandemParameterSet.getScoringMinimumIonCount());880 scoringFS.add(minIonCount);881 // Scoring, maximum missed cleavage sites882 TextField<String> maxMissedCleavageSites = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_SCORING_MAX_MISSED_CLEAVAGE_SITES);883 maxMissedCleavageSites.setValue(xTandemParameterSet884 .getScoringMaximumMissedCleavageSites());885 scoringFS.add(maxMissedCleavageSites);886 // Scoring, x ions887 validStringParam = SaveXTandemParameterSetStorage.VXTANDEM_SCORING_X_IONS;888 stringList = new ArrayList<String>();889 stringList.add("yes");890 stringList.add("no");891 selected = xTandemParameterSet.getScoringXIons();892 Select<VString> xIons = new Select<VString>(validStringParam, stringList, selected);893 scoringFS.add(xIons);894 // Scoring, y ions895 validStringParam = SaveXTandemParameterSetStorage.VXTANDEM_SCORING_Y_IONS;896 stringList = new ArrayList<String>();897 stringList.add("yes");898 stringList.add("no");899 selected = xTandemParameterSet.getScoringYIons();900 Select<VString> yIons = new Select<VString>(validStringParam, stringList, selected);901 scoringFS.add(yIons);902 // Scoring, z ions903 validStringParam = SaveXTandemParameterSetStorage.VXTANDEM_SCORING_Z_IONS;904 stringList = new ArrayList<String>();905 stringList.add("yes");906 stringList.add("no");907 selected = xTandemParameterSet.getScoringZIons();908 Select<VString> zIons = new Select<VString>(validStringParam, stringList, selected);909 scoringFS.add(zIons);910 // Scoring, a ions911 validStringParam = SaveXTandemParameterSetStorage.VXTANDEM_SCORING_A_IONS;912 stringList = new ArrayList<String>();913 stringList.add("yes");914 stringList.add("no");915 selected = xTandemParameterSet.getScoringAIons();916 Select<VString> aIons = new Select<VString>(validStringParam, stringList, selected);917 scoringFS.add(aIons);918 // Scoring, b ions919 validStringParam = SaveXTandemParameterSetStorage.VXTANDEM_SCORING_B_IONS;920 stringList = new ArrayList<String>();921 stringList.add("yes");922 stringList.add("no");923 selected = xTandemParameterSet.getScoringBIons();924 Select<VString> bIons = new Select<VString>(validStringParam, stringList, selected);925 scoringFS.add(bIons);926 // Scoring, c ions927 validStringParam = SaveXTandemParameterSetStorage.VXTANDEM_SCORING_C_IONS;928 stringList = new ArrayList<String>();929 stringList.add("yes");930 stringList.add("no");931 selected = xTandemParameterSet.getScoringCIons();932 Select<VString> cIons = new Select<VString>(validStringParam, stringList, selected);933 scoringFS.add(cIons);934 // Scoring, cyclic permutation935 validStringParam = SaveXTandemParameterSetStorage.VXTANDEM_SCORING_CYCLIC_PERMUTATION;936 stringList = new ArrayList<String>();937 stringList.add("yes");938 stringList.add("no");939 selected = xTandemParameterSet.getScoringCyclicPermutation();940 Select<VString> cyclicPermutation = new Select<VString>(validStringParam, stringList, selected);941 scoringFS.add(cyclicPermutation);942 // Scoring, include reverse943 validStringParam = SaveXTandemParameterSetStorage.VXTANDEM_SCORING_INCLUDE_REVERSE;944 stringList = new ArrayList<String>();945 stringList.add("yes");946 stringList.add("no");947 selected = xTandemParameterSet.getScoringIncludeReverse();948 Select<VString> includeReverse = new Select<VString>(validStringParam, stringList, selected);949 scoringFS.add(includeReverse);950 // Scoring, algorithm951 validStringParam = SaveXTandemParameterSetStorage.VXTANDEM_SCORING_ALGORITHM;952 optionList = new ArrayList<Option>();953 optionList.add(new Option("", "native"));954 optionList.add(new Option("k-score", "k-score"));955 selected = xTandemParameterSet.getScoringAlgorithm();956 Select<VString> algorithmSelectBox = new Select<VString>(957 validStringParam, optionList);958 algorithmSelectBox.selectOption( selected);959 scoringFS.add(algorithmSelectBox);960 /*961 * Output field set962 */963 Fieldset outputFS = new Fieldset();964 outputFS.setTitle("XTandemParameterSetOutput");965 form.addFieldset(outputFS);966 // Output, path967 TextField<String> outputPath = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_OUTPUT_PATH);968 outputPath.setValue(xTandemParameterSet.getOutputPath());969 outputFS.add(outputPath);970 // Output, log path971 TextField<String> outputLogPath = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_OUTPUT_LOG_PATH);972 outputLogPath.setValue(xTandemParameterSet.getOutputLogPath());973 outputFS.add(outputLogPath);974 // Output, message975 TextField<String> outputMessage = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_OUTPUT_MESSAGE);976 outputMessage.setValue(xTandemParameterSet.getOutputMessage());977 outputFS.add(outputMessage);978 // Output, sequence path979 TextField<String> outputSequencePath = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_OUTPUT_SEQUENCE_PATH);980 outputSequencePath981 .setValue(xTandemParameterSet.getOutputSequencePath());982 outputFS.add(outputSequencePath);983 // Output, sort results by984 validStringParam = SaveXTandemParameterSetStorage.VXTANDEM_OUTPUT_SORT_RESULTS_BY;985 stringList = new ArrayList<String>();986 stringList.add("protein");987 stringList.add("spectrum");988 selected = xTandemParameterSet.getOutputSortResultsBy();989 Select<VString> outputSortResultsBy = new Select<VString>(validStringParam, stringList, selected);990 outputFS.add(outputSortResultsBy);991 // Output, path hashing992 validStringParam = SaveXTandemParameterSetStorage.VXTANDEM_OUTPUT_PATH_HASHING;993 stringList = new ArrayList<String>();994 stringList.add("yes");995 stringList.add("no");996 selected = xTandemParameterSet.getOutputPathHashing();997 Select<VString> pathHashing = new Select<VString>(validStringParam, stringList, selected);998 outputFS.add(pathHashing);999 // Output, xsl path1000 TextField<String> xslPath = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_OUTPUT_XSL_PATH);1001 xslPath.setValue(xTandemParameterSet.getOutputXslPath());1002 outputFS.add(xslPath);1003 // Output, parameters1004 validStringParam = SaveXTandemParameterSetStorage.VXTANDEM_OUTPUT_PARAMETERS;1005 stringList = new ArrayList<String>();1006 stringList.add("yes");1007 stringList.add("no");1008 selected = xTandemParameterSet.getOutputParameters();1009 Select<VString> parameters = new Select<VString>(validStringParam, stringList, selected);1010 outputFS.add(parameters);1011 // Output, performance1012 validStringParam = SaveXTandemParameterSetStorage.VXTANDEM_OUTPUT_PERFORMANCE;1013 stringList = new ArrayList<String>();1014 stringList.add("yes");1015 stringList.add("no");1016 selected = xTandemParameterSet.getOutputPerformance();1017 Select<VString> performance = new Select<VString>(validStringParam, stringList, selected);1018 outputFS.add(performance);1019 // Output, spectra1020 validStringParam = SaveXTandemParameterSetStorage.VXTANDEM_OUTPUT_SPECTRA;1021 stringList = new ArrayList<String>();1022 stringList.add("yes");1023 stringList.add("no");1024 selected = xTandemParameterSet.getOutputSpectra();1025 Select<VString> spectra = new Select<VString>(validStringParam, stringList, selected);1026 outputFS.add(spectra);1027 // Output, histograms1028 validStringParam = SaveXTandemParameterSetStorage.VXTANDEM_OUTPUT_HISTOGRAMS;1029 stringList = new ArrayList<String>();1030 stringList.add("yes");1031 stringList.add("no");1032 selected = xTandemParameterSet.getOutputHistograms();1033 Select<VString> histograms = new Select<VString>(validStringParam, stringList, selected);1034 outputFS.add(histograms);1035 // Output, proteins1036 validStringParam = SaveXTandemParameterSetStorage.VXTANDEM_OUTPUT_PROTEINS;1037 stringList = new ArrayList<String>();1038 stringList.add("yes");1039 stringList.add("no");1040 selected = xTandemParameterSet.getOutputProteins();1041 Select<VString> proteins = new Select<VString>(validStringParam, stringList, selected);1042 outputFS.add(proteins);1043 // Output, sequences1044 validStringParam = SaveXTandemParameterSetStorage.VXTANDEM_OUTPUT_SEQUENCES;1045 stringList = new ArrayList<String>();1046 stringList.add("yes");1047 stringList.add("no");1048 selected = xTandemParameterSet.getOutputSequences();1049 Select<VString> sequences = new Select<VString>(validStringParam, stringList, selected);1050 outputFS.add(sequences);1051 // Output, one sequence copy1052 validStringParam = SaveXTandemParameterSetStorage.VXTANDEM_OUTPUT_ONE_SEQUENCE_COPY;1053 stringList = new ArrayList<String>();1054 stringList.add("yes");1055 stringList.add("no");1056 selected = xTandemParameterSet.getOutputOneSequenceCopy();1057 Select<VString> oneSequenceCopy = new Select<VString>(validStringParam, stringList, selected);1058 outputFS.add(oneSequenceCopy);1059 // Output, results1060 validStringParam = SaveXTandemParameterSetStorage.VXTANDEM_OUTPUT_RESULTS;1061 stringList = new ArrayList<String>();1062 stringList.add("all");1063 stringList.add("valid");1064 stringList.add("stochastic");1065 selected = xTandemParameterSet.getOutputResults();1066 Select<VString> results = new Select<VString>(validStringParam, stringList, selected);1067 outputFS.add(results);1068 // Output, maximum valid expectation value1069 TextField<String> outputMaxValidExpectationValue = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_OUTPUT_MAX_VALID_EXPECTATION_VALUE);1070 outputMaxValidExpectationValue.setValue(xTandemParameterSet1071 .getOutputMaximumValidExpectationValue());1072 outputFS.add(outputMaxValidExpectationValue);1073 // Output, histogram column width1074 TextField<String> histogramColumnWidth = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_OUTPUT_HISTOGRAM_COLUMN_WIDTH);1075 histogramColumnWidth.setValue(xTandemParameterSet1076 .getOutputHistogramColumnWidth());1077 outputFS.add(histogramColumnWidth);1078 //1079 return form;1080 }1081 1082 1083 /**1084 * Convenience method for adding XTandemParameterSet fields to a Fieldset.1085 *1086 * @param xTandemParameterSet XTandemParameterSet object (need not be stored1087 * in database) with default field values.1088 * @param fs Fieldset The Fieldset to add the XTandemParameterSet fields to.1089 * @param fieldsHidden boolean Flag indicating that added fields should be1090 * hidden.1091 * @param fieldsDisabled boolean Flag indicating that added fields should be1092 * disabled.1093 * @return Fieldset The input fieldset with added XTandemParameterSet1094 * fields.1095 */1096 public Fieldset addXTandemParameterSetToFieldset(1097 XTandemParameterSet xTandemParameterSet, Fieldset fs,1098 boolean fieldsHidden, boolean fieldsDisabled)1099 {1100 // List path fields1101 fs = addXTandemParameterSetListPathFieldsToFieldset(1102 xTandemParameterSet, fs, fieldsHidden, fieldsDisabled);1103 // Spectrum fields1104 fs = addXTandemParameterSetSpectrumFieldsToFieldset(1105 xTandemParameterSet, fs, fieldsHidden, fieldsDisabled);1106 // Residue fields1107 fs = addXTandemParameterSetResidueFieldsToFieldset(xTandemParameterSet,1108 fs, fieldsHidden, fieldsDisabled);1109 // Protein fields1110 fs = addXTandemParameterSetProteinFieldsToFieldset(xTandemParameterSet,1111 fs, fieldsHidden, fieldsDisabled);1112 // Refine fields1113 fs = addXTandemParameterSetRefineFieldsToFieldset(xTandemParameterSet,1114 fs, fieldsHidden, fieldsDisabled);1115 // Scoring fields1116 fs = addXTandemParameterSetScoringFieldsToFieldset(xTandemParameterSet,1117 fs, fieldsHidden, fieldsDisabled);1118 // Output fields1119 fs = addXTandemParameterSetOutputFieldsToFieldset(xTandemParameterSet,1120 fs, fieldsHidden, fieldsDisabled);1121 // Return Fieldset with added fields1122 return fs;1123 }1124 1125 1126 /**1127 * Convenience method for adding XTandemParameterSet list path fields to a1128 * Fieldset.1129 *1130 * @param xTandemParameterSet XTandemParameterSet object (need not be stored1131 * in database) with default field values.1132 * @param fs Fieldset The Fieldset to add the XTandemParameterSet fields to.1133 * @param fieldsHidden boolean Flag indicating that added fields should be1134 * hidden.1135 * @param fieldsDisabled boolean Flag indicating that added fields should be1136 * disabled.1137 * @return Fieldset The input fieldset with added XTandemParameterSet1138 * fields.1139 */1140 public Fieldset addXTandemParameterSetListPathFieldsToFieldset(1141 XTandemParameterSet xTandemParameterSet, Fieldset fs,1142 boolean fieldsHidden, boolean fieldsDisabled)1143 {1144 // List path, default parameters1145 TextField<String> defaultParametersListPath = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_LIST_PATH_DEFAULT_PARAMETERS);1146 defaultParametersListPath.setHidden(fieldsHidden);1147 defaultParametersListPath.setDisabled(fieldsDisabled);1148 defaultParametersListPath.setValue(xTandemParameterSet1149 .getListPathDefaultParameters());1150 fs.add(defaultParametersListPath);1151 // List path, taxonomy information1152 TextField<String> taxonomyInformationListPath = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_LIST_PATH_TAXONOMY_INFORMATION);1153 taxonomyInformationListPath.setHidden(fieldsHidden);1154 taxonomyInformationListPath.setDisabled(fieldsDisabled);1155 taxonomyInformationListPath.setValue(xTandemParameterSet1156 .getListPathTaxonomyInformation());1157 fs.add(taxonomyInformationListPath);1158 // Return Fieldset with added fields1159 return fs;1160 }1161 1162 1163 /**1164 * Convenience method for adding XTandemParameterSet spectrum fields to a1165 * Fieldset.1166 *1167 * @param xTandemParameterSet XTandemParameterSet object (need not be stored1168 * in database) with default field values.1169 * @param fs Fieldset The Fieldset to add the XTandemParameterSet fields to.1170 * @param fieldsHidden boolean Flag indicating that added fields should be1171 * hidden.1172 * @param fieldsDisabled boolean Flag indicating that added fields should be1173 * disabled.1174 * @return Fieldset The input fieldset with added XTandemParameterSet1175 * fields.1176 */1177 public Fieldset addXTandemParameterSetSpectrumFieldsToFieldset(1178 XTandemParameterSet xTandemParameterSet, Fieldset fs,1179 boolean fieldsHidden, boolean fieldsDisabled)1180 {1181 // Spectrum, path1182 TextField<String> spectrumPath = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_SPECTRUM_PATH);1183 spectrumPath.setHidden(fieldsHidden);1184 spectrumPath.setDisabled(fieldsDisabled);1185 spectrumPath.setValue(xTandemParameterSet.getSpectrumPath());1186 fs.add(spectrumPath);1187 // Spectrum, fragment monoisotopic mass error1188 TextField<String> fragMiMassError = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_SPECTRUM_FRAG_MI_MASS_ERROR);1189 fragMiMassError.setHidden(fieldsHidden);1190 fragMiMassError.setDisabled(fieldsDisabled);1191 fragMiMassError.setValue(xTandemParameterSet1192 .getSpectrumFragmentMonoisotopicMassError());1193 fs.add(fragMiMassError);1194 // Spectrum, parent monoisotopic mass error plus1195 TextField<String> parentMiMassErrorPlus = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_SPECTRUM_PARENT_MI_MASS_ERROR_PLUS);1196 parentMiMassErrorPlus.setHidden(fieldsHidden);1197 parentMiMassErrorPlus.setDisabled(fieldsDisabled);1198 parentMiMassErrorPlus.setValue(xTandemParameterSet1199 .getSpectrumParentMonoisotopicMassErrorPlus());1200 fs.add(parentMiMassErrorPlus);1201 // Spectrum, parent monoisotopic mass error minus1202 TextField<String> parentMiMassErrorMinus = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_SPECTRUM_PARENT_MI_MASS_ERROR_MINUS);1203 parentMiMassErrorMinus.setHidden(fieldsHidden);1204 parentMiMassErrorMinus.setDisabled(fieldsDisabled);1205 parentMiMassErrorMinus.setValue(xTandemParameterSet1206 .getSpectrumParentMonoisotopicMassErrorMinus());1207 fs.add(parentMiMassErrorMinus);1208 // Spectrum, parent monoisotopic mass isotope error1209 TextField<String> parentMiMassIsotopeError = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_SPECTRUM_PARENT_MI_MASS_ISOTOPE_ERROR);1210 parentMiMassIsotopeError.setHidden(fieldsHidden);1211 parentMiMassIsotopeError.setDisabled(fieldsDisabled);1212 parentMiMassIsotopeError.setValue(xTandemParameterSet1213 .getSpectrumParentMonoisotopicMassIsotopeError());1214 fs.add(parentMiMassIsotopeError);1215 // Spectrum, fragment monoisotopic mass error units1216 TextField<String> fragMiMassErrorUnits = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_SPECTRUM_FRAG_MI_MASS_ERROR_UNITS);1217 fragMiMassErrorUnits.setHidden(fieldsHidden);1218 fragMiMassErrorUnits.setDisabled(fieldsDisabled);1219 fragMiMassErrorUnits.setValue(xTandemParameterSet1220 .getSpectrumFragmentMonoisotopicMassErrorUnits());1221 fs.add(fragMiMassErrorUnits);1222 // Spectrum, parent monoisotopic mass error units1223 TextField<String> parentMiMassErrorUnits = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_SPECTRUM_PARENT_MI_MASS_ERROR_UNITS);1224 parentMiMassErrorUnits.setHidden(fieldsHidden);1225 parentMiMassErrorUnits.setDisabled(fieldsDisabled);1226 parentMiMassErrorUnits.setValue(xTandemParameterSet1227 .getSpectrumParentMonoisotopicMassErrorUnits());1228 fs.add(parentMiMassErrorUnits);1229 // Spectrum, fragment mass type1230 TextField<String> fragMassType = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_SPECTRUM_FRAG_MASS_TYPE);1231 fragMassType.setHidden(fieldsHidden);1232 fragMassType.setDisabled(fieldsDisabled);1233 fragMassType1234 .setValue(xTandemParameterSet.getSpectrumFragmentMassType());1235 fs.add(fragMassType);1236 // Spectrum, dynamic range1237 TextField<String> dynamicRange = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_SPECTRUM_DYNAMIC_RANGE);1238 dynamicRange.setHidden(fieldsHidden);1239 dynamicRange.setDisabled(fieldsDisabled);1240 dynamicRange.setValue(xTandemParameterSet.getSpectrumDynamicRange());1241 fs.add(dynamicRange);1242 // Spectrum, total peaks1243 TextField<String> totalPeaks = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_SPECTRUM_TOTAL_PEAKS);1244 totalPeaks.setHidden(fieldsHidden);1245 totalPeaks.setDisabled(fieldsDisabled);1246 totalPeaks.setValue(xTandemParameterSet.getSpectrumTotalPeaks());1247 fs.add(totalPeaks);1248 // Spectrum, maximum parent charge1249 TextField<String> maxParentCharge = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_SPECTRUM_MAX_PARENT_CHARGE);1250 maxParentCharge.setHidden(fieldsHidden);1251 maxParentCharge.setDisabled(fieldsDisabled);1252 maxParentCharge.setValue(xTandemParameterSet1253 .getSpectrumMaximumParentCharge());1254 fs.add(maxParentCharge);1255 // Spectrum, use noise suppression1256 TextField<String> useNoiseSuppression = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_SPECTRUM_USE_NOISE_SUPPRESSION);1257 useNoiseSuppression.setHidden(fieldsHidden);1258 useNoiseSuppression.setDisabled(fieldsDisabled);1259 useNoiseSuppression.setValue(xTandemParameterSet1260 .getSpectrumUseNoiseSuppression());1261 fs.add(useNoiseSuppression);1262 // Spectrum, minimum parent m+h1263 TextField<String> minParentMPlusH = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_SPECTRUM_MIN_PARENT_M_PLUS_H);1264 minParentMPlusH.setHidden(fieldsHidden);1265 minParentMPlusH.setDisabled(fieldsDisabled);1266 minParentMPlusH.setValue(xTandemParameterSet1267 .getSpectrumMinimumParentMPlusH());1268 fs.add(minParentMPlusH);1269 // Spectrum, maximum parent m+h1270 TextField<String> maxParentMPlusH = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_SPECTRUM_MAX_PARENT_M_PLUS_H);1271 maxParentMPlusH.setHidden(fieldsHidden);1272 maxParentMPlusH.setDisabled(fieldsDisabled);1273 maxParentMPlusH.setValue(xTandemParameterSet1274 .getSpectrumMaximumParentMPlusH());1275 fs.add(maxParentMPlusH);1276 // Spectrum, minimum fragment mz1277 TextField<String> minFragmentMz = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_SPECTRUM_MIN_FRAG_MZ);1278 minFragmentMz.setHidden(fieldsHidden);1279 minFragmentMz.setDisabled(fieldsDisabled);1280 minFragmentMz.setValue(xTandemParameterSet1281 .getSpectrumMinimumFragmentMz());1282 fs.add(minFragmentMz);1283 // Spectrum, minimum peaks1284 TextField<String> minPeaks = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_SPECTRUM_MIN_PEAKS);1285 minPeaks.setHidden(fieldsHidden);1286 minPeaks.setDisabled(fieldsDisabled);1287 minPeaks.setValue(xTandemParameterSet.getSpectrumMinimumPeaks());1288 fs.add(minPeaks);1289 // Spectrum, threads1290 TextField<String> threads = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_SPECTRUM_THREADS);1291 threads.setHidden(fieldsHidden);1292 threads.setDisabled(fieldsDisabled);1293 threads.setValue(xTandemParameterSet.getSpectrumThreads());1294 fs.add(threads);1295 // Spectrum, sequence batch size1296 TextField<String> spectrumSequenceBatchSize = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_SPECTRUM_SEQUENCE_BATCH_SIZE);1297 spectrumSequenceBatchSize.setHidden(fieldsHidden);1298 spectrumSequenceBatchSize.setDisabled(fieldsDisabled);1299 spectrumSequenceBatchSize.setValue(xTandemParameterSet1300 .getSpectrumSequenceBatchSize());1301 fs.add(spectrumSequenceBatchSize);1302 // Return Fieldset with added fields1303 return fs;1304 }1305 1306 1307 /**1308 * Convenience method for adding XTandemParameterSet residue fields to a1309 * Fieldset.1310 *1311 * @param xTandemParameterSet XTandemParameterSet object (need not be stored1312 * in database) with default field values.1313 * @param fs Fieldset The Fieldset to add the XTandemParameterSet fields to.1314 * @param fieldsHidden boolean Flag indicating that added fields should be1315 * hidden.1316 * @param fieldsDisabled boolean Flag indicating that added fields should be1317 * disabled.1318 * @return Fieldset The input fieldset with added XTandemParameterSet1319 * fields.1320 */1321 public Fieldset addXTandemParameterSetResidueFieldsToFieldset(1322 XTandemParameterSet xTandemParameterSet, Fieldset fs,1323 boolean fieldsHidden, boolean fieldsDisabled)1324 {1325 // Residue, modification mass1326 TextField<String> modificationMass = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_RESIDUE_MODIFICATION_MASS);1327 modificationMass.setHidden(fieldsHidden);1328 modificationMass.setDisabled(fieldsDisabled);1329 modificationMass.setValue(xTandemParameterSet1330 .getResidueModificationMass());1331 fs.add(modificationMass);1332 // Residue, potential modification mass1333 TextField<String> potentialModificationMass = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_RESIDUE_POTENTIAL_MODIFICATION_MASS);1334 potentialModificationMass.setHidden(fieldsHidden);1335 potentialModificationMass.setDisabled(fieldsDisabled);1336 potentialModificationMass.setValue(xTandemParameterSet1337 .getResiduePotentialModificationMass());1338 fs.add(potentialModificationMass);1339 // Residue, potential modification motif1340 TextField<String> potentialModificationMotif = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_RESIDUE_POTENTIAL_MODIFICATION_MOTIF);1341 potentialModificationMotif.setHidden(fieldsHidden);1342 potentialModificationMotif.setDisabled(fieldsDisabled);1343 potentialModificationMotif.setValue(xTandemParameterSet1344 .getResiduePotentialModificationMotif());1345 fs.add(potentialModificationMotif);1346 // Return Fieldset with added fields1347 return fs;1348 }1349 1350 1351 /**1352 * Convenience method for adding XTandemParameterSet protein fields to a1353 * Fieldset.1354 *1355 * @param xTandemParameterSet XTandemParameterSet object (need not be stored1356 * in database) with default field values.1357 * @param fs Fieldset The Fieldset to add the XTandemParameterSet fields to.1358 * @param fieldsHidden boolean Flag indicating that added fields should be1359 * hidden.1360 * @param fieldsDisabled boolean Flag indicating that added fields should be1361 * disabled.1362 * @return Fieldset The input fieldset with added XTandemParameterSet1363 * fields.1364 */1365 public Fieldset addXTandemParameterSetProteinFieldsToFieldset(1366 XTandemParameterSet xTandemParameterSet, Fieldset fs,1367 boolean fieldsHidden, boolean fieldsDisabled)1368 {1369 // Protein, taxon1370 TextField<String> taxon = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_PROTEIN_TAXON);1371 taxon.setHidden(fieldsHidden);1372 taxon.setDisabled(fieldsDisabled);1373 taxon.setValue(xTandemParameterSet.getProteinTaxon());1374 fs.add(taxon);1375 // Protein, cleavage site1376 TextField<String> cleavageSite = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_PROTEIN_CLEAVAGE_SITE);1377 cleavageSite.setHidden(fieldsHidden);1378 cleavageSite.setDisabled(fieldsDisabled);1379 cleavageSite.setValue(xTandemParameterSet.getProteinCleavageSite());1380 fs.add(cleavageSite);1381 // Protein, modified residue mass file1382 TextField<String> proteinModifiedResidueMassFile = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_PROTEIN_MODIFIED_RESIDUE_MASS_FILE);1383 proteinModifiedResidueMassFile.setHidden(fieldsHidden);1384 proteinModifiedResidueMassFile.setDisabled(fieldsDisabled);1385 proteinModifiedResidueMassFile.setValue(xTandemParameterSet1386 .getProteinModifiedResidueMassFile());1387 fs.add(proteinModifiedResidueMassFile);1388 // Protein, cleavage N-terminal mass change1389 TextField<String> proteinCleavageNTerminalMassChange = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_PROTEIN_CLEAVAGE_N_TERMINAL_MASS_CHANGE);1390 proteinCleavageNTerminalMassChange.setHidden(fieldsHidden);1391 proteinCleavageNTerminalMassChange.setDisabled(fieldsDisabled);1392 proteinCleavageNTerminalMassChange.setValue(xTandemParameterSet1393 .getProteinCleavageNTerminalMassChange());1394 fs.add(proteinCleavageNTerminalMassChange);1395 // Protein, cleavage C-terminal mass change1396 TextField<String> proteinCleavageCTerminalMassChange = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_PROTEIN_CLEAVAGE_C_TERMINAL_MASS_CHANGE);1397 proteinCleavageCTerminalMassChange.setHidden(fieldsHidden);1398 proteinCleavageCTerminalMassChange.setDisabled(fieldsDisabled);1399 proteinCleavageCTerminalMassChange.setValue(xTandemParameterSet1400 .getProteinCleavageCTerminalMassChange());1401 fs.add(proteinCleavageCTerminalMassChange);1402 // Protein, N-terminal residue modification mass1403 TextField<String> nTerminalResidueModificationMass = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_PROTEIN_N_TERMINAL_RESIDUE_MODIFICATION_MASS);1404 nTerminalResidueModificationMass.setHidden(fieldsHidden);1405 nTerminalResidueModificationMass.setDisabled(fieldsDisabled);1406 nTerminalResidueModificationMass.setValue(xTandemParameterSet1407 .getProteinNTerminalResidueModificationMass());1408 fs.add(nTerminalResidueModificationMass);1409 // Protein, C-terminal residue modification mass1410 TextField<String> cTerminalResidueModificationMass = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_PROTEIN_C_TERMINAL_RESIDUE_MODIFICATION_MASS);1411 cTerminalResidueModificationMass.setHidden(fieldsHidden);1412 cTerminalResidueModificationMass.setDisabled(fieldsDisabled);1413 cTerminalResidueModificationMass.setValue(xTandemParameterSet1414 .getProteinCTerminalResidueModificationMass());1415 fs.add(cTerminalResidueModificationMass);1416 // Protein, homolog management1417 TextField<String> homologManagement = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_PROTEIN_HOMOLOG_MANAGEMENT);1418 homologManagement.setHidden(fieldsHidden);1419 homologManagement.setDisabled(fieldsDisabled);1420 homologManagement.setValue(xTandemParameterSet1421 .getProteinHomologManagement());1422 fs.add(homologManagement);1423 // Return Fieldset with added fields1424 return fs;1425 }1426 1427 1428 /**1429 * Convenience method for adding XTandemParameterSet refine fields to a1430 * Fieldset.1431 *1432 * @param xTandemParameterSet XTandemParameterSet object (need not be stored1433 * in database) with default field values.1434 * @param fs Fieldset The Fieldset to add the XTandemParameterSet fields to.1435 * @param fieldsHidden boolean Flag indicating that added fields should be1436 * hidden.1437 * @param fieldsDisabled boolean Flag indicating that added fields should be1438 * disabled.1439 * @return Fieldset The input fieldset with added XTandemParameterSet1440 * fields.1441 */1442 public Fieldset addXTandemParameterSetRefineFieldsToFieldset(1443 XTandemParameterSet xTandemParameterSet, Fieldset fs,1444 boolean fieldsHidden, boolean fieldsDisabled)1445 {1446 // Refine1447 TextField<String> refine = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_REFINE);1448 refine.setHidden(fieldsHidden);1449 refine.setDisabled(fieldsDisabled);1450 refine.setValue(xTandemParameterSet.getRefine());1451 fs.add(refine);1452 // Refine, modification mass1453 TextField<String> refineModificationMass = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_REFINE_MODIFICATION_MASS);1454 refineModificationMass.setHidden(fieldsHidden);1455 refineModificationMass.setDisabled(fieldsDisabled);1456 refineModificationMass.setValue(xTandemParameterSet1457 .getRefineModificationMass());1458 fs.add(refineModificationMass);1459 // Refine, sequence path1460 TextField<String> refineSequencePath = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_REFINE_SEQUENCE_PATH);1461 refineSequencePath.setHidden(fieldsHidden);1462 refineSequencePath.setDisabled(fieldsDisabled);1463 refineSequencePath1464 .setValue(xTandemParameterSet.getRefineSequencePath());1465 fs.add(refineSequencePath);1466 // Refine, tic percent1467 TextField<String> refineTicPercent = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_REFINE_TIC_PERCENT);1468 refineTicPercent.setHidden(fieldsHidden);1469 refineTicPercent.setDisabled(fieldsDisabled);1470 refineTicPercent.setValue(xTandemParameterSet.getRefineTicPercent());1471 fs.add(refineTicPercent);1472 // Refine, spectrum synthesis1473 TextField<String> spectrumSynthesis = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_REFINE_SPECTRUM_SYNTHESIS);1474 spectrumSynthesis.setHidden(fieldsHidden);1475 spectrumSynthesis.setDisabled(fieldsDisabled);1476 spectrumSynthesis.setValue(xTandemParameterSet1477 .getRefineSpectrumSynthesis());1478 fs.add(spectrumSynthesis);1479 // Refine, maximum valid expectation value1480 TextField<String> maxValidExpectationValue = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_REFINE_MAX_VALID_EXPECTATION_VALUE);1481 maxValidExpectationValue.setHidden(fieldsHidden);1482 maxValidExpectationValue.setDisabled(fieldsDisabled);1483 maxValidExpectationValue.setValue(xTandemParameterSet1484 .getRefineMaximumValidExpectationValue());1485 fs.add(maxValidExpectationValue);1486 // Refine, potential N-terminus modifications1487 TextField<String> potentialNTerminusModifications = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_REFINE_POTENTIAL_N_TERMINUS_MODIFICATIONS);1488 potentialNTerminusModifications.setHidden(fieldsHidden);1489 potentialNTerminusModifications.setDisabled(fieldsDisabled);1490 potentialNTerminusModifications.setValue(xTandemParameterSet1491 .getRefinePotentialNTerminusModifications());1492 fs.add(potentialNTerminusModifications);1493 // Refine, potential C-terminus modifications1494 TextField<String> potentialCTerminusModifications = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_REFINE_POTENTIAL_C_TERMINUS_MODIFICATIONS);1495 potentialCTerminusModifications.setHidden(fieldsHidden);1496 potentialCTerminusModifications.setDisabled(fieldsDisabled);1497 potentialCTerminusModifications.setValue(xTandemParameterSet1498 .getRefinePotentialCTerminusModifications());1499 fs.add(potentialCTerminusModifications);1500 // Refine, unanticipated cleavage1501 TextField<String> unanticipatedCleavage = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_REFINE_UNANTICIPATED_CLEAVAGE);1502 unanticipatedCleavage.setHidden(fieldsHidden);1503 unanticipatedCleavage.setDisabled(fieldsDisabled);1504 unanticipatedCleavage.setValue(xTandemParameterSet1505 .getRefineUnanticipatedCleavage());1506 fs.add(unanticipatedCleavage);1507 // Refine, potential modification mass1508 TextField<String> refinePotentialModificationMass = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_REFINE_POTENTIAL_MODIFICATION_MASS);1509 refinePotentialModificationMass.setHidden(fieldsHidden);1510 refinePotentialModificationMass.setDisabled(fieldsDisabled);1511 refinePotentialModificationMass.setValue(xTandemParameterSet1512 .getRefinePotentialModificationMass());1513 fs.add(refinePotentialModificationMass);1514 // Refine, point mutations1515 TextField<String> pointMutations = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_REFINE_POINT_MUTATIONS);1516 pointMutations.setHidden(fieldsHidden);1517 pointMutations.setDisabled(fieldsDisabled);1518 pointMutations.setValue(xTandemParameterSet.getRefinePointMutations());1519 fs.add(pointMutations);1520 // Refine, use potential modifications for full refinement1521 TextField<String> usePotentialModificationsForFullRefinement = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_REFINE_USE_POTENTIAL_MODIFICATIONS_FOR_FULL_REFINEMENT);1522 usePotentialModificationsForFullRefinement.setHidden(fieldsHidden);1523 usePotentialModificationsForFullRefinement.setDisabled(fieldsDisabled);1524 usePotentialModificationsForFullRefinement.setValue(xTandemParameterSet1525 .getRefineUsePotentialModificationsForFullRefinement());1526 fs.add(usePotentialModificationsForFullRefinement);1527 // Refine, potential modification motif1528 TextField<String> potentialModificationMotifRefine = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_REFINE_POTENTIAL_MODIFICATION_MOTIF);1529 potentialModificationMotifRefine.setHidden(fieldsHidden);1530 potentialModificationMotifRefine.setDisabled(fieldsDisabled);1531 potentialModificationMotifRefine.setValue(xTandemParameterSet1532 .getRefinePotentialModificationMotif());1533 fs.add(potentialModificationMotifRefine);1534 // Return Fieldset with added fields1535 return fs;1536 }1537 1538 1539 /**1540 * Convenience method for adding XTandemParameterSet scoring fields to a1541 * Fieldset.1542 *1543 * @param xTandemParameterSet XTandemParameterSet object (need not be stored1544 * in database) with default field values.1545 * @param fs Fieldset The Fieldset to add the XTandemParameterSet fields to.1546 * @param fieldsHidden boolean Flag indicating that added fields should be1547 * hidden.1548 * @param fieldsDisabled boolean Flag indicating that added fields should be1549 * disabled.1550 * @return Fieldset The input fieldset with added XTandemParameterSet1551 * fields.1552 */1553 public Fieldset addXTandemParameterSetScoringFieldsToFieldset(1554 XTandemParameterSet xTandemParameterSet, Fieldset fs,1555 boolean fieldsHidden, boolean fieldsDisabled)1556 {1557 // Scoring, minimum ion count1558 TextField<String> minIonCount = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_SCORING_MIN_ION_COUNT);1559 minIonCount.setHidden(fieldsHidden);1560 minIonCount.setDisabled(fieldsDisabled);1561 minIonCount.setValue(xTandemParameterSet.getScoringMinimumIonCount());1562 fs.add(minIonCount);1563 // Scoring, maximum missed cleavage sites1564 TextField<String> maxMissedCleavageSites = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_SCORING_MAX_MISSED_CLEAVAGE_SITES);1565 maxMissedCleavageSites.setHidden(fieldsHidden);1566 maxMissedCleavageSites.setDisabled(fieldsDisabled);1567 maxMissedCleavageSites.setValue(xTandemParameterSet1568 .getScoringMaximumMissedCleavageSites());1569 fs.add(maxMissedCleavageSites);1570 // Scoring, x ions1571 TextField<String> xIons = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_SCORING_X_IONS);1572 xIons.setHidden(fieldsHidden);1573 xIons.setDisabled(fieldsDisabled);1574 xIons.setValue(xTandemParameterSet.getScoringXIons());1575 fs.add(xIons);1576 // Scoring, y ions1577 TextField<String> yIons = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_SCORING_Y_IONS);1578 yIons.setHidden(fieldsHidden);1579 yIons.setDisabled(fieldsDisabled);1580 yIons.setValue(xTandemParameterSet.getScoringYIons());1581 fs.add(yIons);1582 // Scoring, z ions1583 TextField<String> zIons = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_SCORING_Z_IONS);1584 zIons.setHidden(fieldsHidden);1585 zIons.setDisabled(fieldsDisabled);1586 zIons.setValue(xTandemParameterSet.getScoringZIons());1587 fs.add(zIons);1588 // Scoring, a ions1589 TextField<String> aIons = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_SCORING_A_IONS);1590 aIons.setHidden(fieldsHidden);1591 aIons.setDisabled(fieldsDisabled);1592 aIons.setValue(xTandemParameterSet.getScoringAIons());1593 fs.add(aIons);1594 // Scoring, b ions1595 TextField<String> bIons = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_SCORING_B_IONS);1596 bIons.setHidden(fieldsHidden);1597 bIons.setDisabled(fieldsDisabled);1598 bIons.setValue(xTandemParameterSet.getScoringBIons());1599 fs.add(bIons);1600 // Scoring, c ions1601 TextField<String> cIons = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_SCORING_C_IONS);1602 cIons.setHidden(fieldsHidden);1603 cIons.setDisabled(fieldsDisabled);1604 cIons.setValue(xTandemParameterSet.getScoringCIons());1605 fs.add(cIons);1606 // Scoring, cyclic permutation1607 TextField<String> cyclicPermutation = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_SCORING_CYCLIC_PERMUTATION);1608 cyclicPermutation.setHidden(fieldsHidden);1609 cyclicPermutation.setDisabled(fieldsDisabled);1610 cyclicPermutation.setValue(xTandemParameterSet1611 .getScoringCyclicPermutation());1612 fs.add(cyclicPermutation);1613 // Scoring, include reverse1614 TextField<String> includeReverse = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_SCORING_INCLUDE_REVERSE);1615 includeReverse.setHidden(fieldsHidden);1616 includeReverse.setDisabled(fieldsDisabled);1617 includeReverse.setValue(xTandemParameterSet.getScoringIncludeReverse());1618 fs.add(includeReverse);1619 // Scoring, algorithm1620 TextField<String> algorithm = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_SCORING_ALGORITHM);1621 algorithm.setHidden(fieldsHidden);1622 algorithm.setDisabled(fieldsDisabled);1623 algorithm.setValue(xTandemParameterSet.getScoringAlgorithm());1624 fs.add(algorithm);1625 // Return Fieldset with added fields1626 return fs;1627 }1628 1629 1630 /**1631 * Convenience method for adding XTandemParameterSet output fields to a1632 * Fieldset.1633 *1634 * @param xTandemParameterSet XTandemParameterSet object (need not be stored1635 * in database) with default field values.1636 * @param fs Fieldset The Fieldset to add the XTandemParameterSet fields to.1637 * @param fieldsHidden boolean Flag indicating that added fields should be1638 * hidden.1639 * @param fieldsDisabled boolean Flag indicating that added fields should be1640 * disabled.1641 * @return Fieldset The input fieldset with added XTandemParameterSet1642 * fields.1643 */1644 public Fieldset addXTandemParameterSetOutputFieldsToFieldset(1645 XTandemParameterSet xTandemParameterSet, Fieldset fs,1646 boolean fieldsHidden, boolean fieldsDisabled)1647 {1648 // Output, path1649 TextField<String> outputPath = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_OUTPUT_PATH);1650 outputPath.setHidden(fieldsHidden);1651 outputPath.setDisabled(fieldsDisabled);1652 outputPath.setValue(xTandemParameterSet.getOutputPath());1653 fs.add(outputPath);1654 // Output, log path1655 TextField<String> outputLogPath = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_OUTPUT_LOG_PATH);1656 outputLogPath.setHidden(fieldsHidden);1657 outputLogPath.setDisabled(fieldsDisabled);1658 outputLogPath.setValue(xTandemParameterSet.getOutputLogPath());1659 fs.add(outputLogPath);1660 // Output, message1661 TextField<String> outputMessage = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_OUTPUT_MESSAGE);1662 outputMessage.setHidden(fieldsHidden);1663 outputMessage.setDisabled(fieldsDisabled);1664 outputMessage.setValue(xTandemParameterSet.getOutputMessage());1665 fs.add(outputMessage);1666 // Output, sequence path1667 TextField<String> outputSequencePath = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_OUTPUT_SEQUENCE_PATH);1668 outputSequencePath.setHidden(fieldsHidden);1669 outputSequencePath.setDisabled(fieldsDisabled);1670 outputSequencePath1671 .setValue(xTandemParameterSet.getOutputSequencePath());1672 fs.add(outputSequencePath);1673 // Output, sort results by1674 TextField<String> outputSortResultsBy = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_OUTPUT_SORT_RESULTS_BY);1675 outputSortResultsBy.setHidden(fieldsHidden);1676 outputSortResultsBy.setDisabled(fieldsDisabled);1677 outputSortResultsBy.setValue(xTandemParameterSet1678 .getOutputSortResultsBy());1679 fs.add(outputSortResultsBy);1680 // Output, path hashing1681 TextField<String> pathHashing = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_OUTPUT_PATH_HASHING);1682 pathHashing.setHidden(fieldsHidden);1683 pathHashing.setDisabled(fieldsDisabled);1684 pathHashing.setValue(xTandemParameterSet.getOutputPathHashing());1685 fs.add(pathHashing);1686 // Output, xsl path1687 TextField<String> xslPath = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_OUTPUT_XSL_PATH);1688 xslPath.setHidden(fieldsHidden);1689 xslPath.setDisabled(fieldsDisabled);1690 xslPath.setValue(xTandemParameterSet.getOutputXslPath());1691 fs.add(xslPath);1692 // Output, parameters1693 TextField<String> parameters = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_OUTPUT_PARAMETERS);1694 parameters.setHidden(fieldsHidden);1695 parameters.setDisabled(fieldsDisabled);1696 parameters.setValue(xTandemParameterSet.getOutputParameters());1697 fs.add(parameters);1698 // Output, performance1699 TextField<String> performance = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_OUTPUT_PERFORMANCE);1700 performance.setHidden(fieldsHidden);1701 performance.setDisabled(fieldsDisabled);1702 performance.setValue(xTandemParameterSet.getOutputPerformance());1703 fs.add(performance);1704 // Output, spectra1705 TextField<String> spectra = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_OUTPUT_SPECTRA);1706 spectra.setValue(xTandemParameterSet.getOutputSpectra());1707 spectra.setHidden(fieldsHidden);1708 spectra.setDisabled(fieldsDisabled);1709 fs.add(spectra);1710 // Output, histograms1711 TextField<String> histograms = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_OUTPUT_HISTOGRAMS);1712 histograms.setHidden(fieldsHidden);1713 histograms.setDisabled(fieldsDisabled);1714 histograms.setValue(xTandemParameterSet.getOutputHistograms());1715 fs.add(histograms);1716 // Output, proteins1717 TextField<String> proteins = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_OUTPUT_PROTEINS);1718 proteins.setHidden(fieldsHidden);1719 proteins.setDisabled(fieldsDisabled);1720 proteins.setValue(xTandemParameterSet.getOutputProteins());1721 fs.add(proteins);1722 // Output, sequences1723 TextField<String> sequences = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_OUTPUT_SEQUENCES);1724 sequences.setHidden(fieldsHidden);1725 sequences.setDisabled(fieldsDisabled);1726 sequences.setValue(xTandemParameterSet.getOutputSequences());1727 fs.add(sequences);1728 // Output, one sequence copy1729 TextField<String> oneSequenceCopy = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_OUTPUT_ONE_SEQUENCE_COPY);1730 oneSequenceCopy.setHidden(fieldsHidden);1731 oneSequenceCopy.setDisabled(fieldsDisabled);1732 oneSequenceCopy1733 .setValue(xTandemParameterSet.getOutputOneSequenceCopy());1734 fs.add(oneSequenceCopy);1735 // Output, results1736 TextField<String> results = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_OUTPUT_RESULTS);1737 results.setHidden(fieldsHidden);1738 results.setDisabled(fieldsDisabled);1739 results.setValue(xTandemParameterSet.getOutputResults());1740 fs.add(results);1741 // Output, maximum valid expectation value1742 TextField<String> outputMaxValidExpectationValue = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_OUTPUT_MAX_VALID_EXPECTATION_VALUE);1743 outputMaxValidExpectationValue.setHidden(fieldsHidden);1744 outputMaxValidExpectationValue.setDisabled(fieldsDisabled);1745 outputMaxValidExpectationValue.setValue(xTandemParameterSet1746 .getOutputMaximumValidExpectationValue());1747 fs.add(outputMaxValidExpectationValue);1748 // Output, histogram column width1749 TextField<String> histogramColumnWidth = new TextField<String>(SaveXTandemParameterSetStorage.VXTANDEM_OUTPUT_HISTOGRAM_COLUMN_WIDTH);1750 histogramColumnWidth.setHidden(fieldsHidden);1751 histogramColumnWidth.setDisabled(fieldsDisabled);1752 histogramColumnWidth.setValue(xTandemParameterSet1753 .getOutputHistogramColumnWidth());1754 fs.add(histogramColumnWidth);1755 // Return Fieldset with added fields1756 return fs;1757 }1758 1759 1760 /**1761 * Checks if a string is found as option value in an option list.1762 *1763 * @param optionList List<Option> Option list of options.1764 * @param item String String to look for in option values.1765 * @return boolean True if item found as option value, else false.1766 */1767 private boolean itemInOptionList(List<Option> optionList, String item)1768 {1769 boolean isFound = false;1770 // Check if item if found as option value in option list1771 if (optionList != null)1772 {1773 for (int i = 0; i < optionList.size(); i++)1774 {1775 if (optionList.get(i) != null)1776 {1777 if (optionList.get(i).getValue().equals(item))1778 {1779 isFound = true;1780 break;1781 }1782 }1783 }1784 }1785 return isFound;1786 }1787 1788 1789 /**1790 * Checks if all strings in input list are found as option values in an1791 * option list.1792 *1793 * @param optionList List<Option> Option list of options.1794 * @param itemList List<String> List with strings to look for in option1795 * values.1796 * @return boolean True if all items found as option values, else false.1797 */1798 private boolean allItemsInOptionList(List<Option> optionList,1799 List<String> itemList)1800 {1801 // Check if all items are found among option values1802 if (itemList != null)1803 {1804 for (int j = 0; j < itemList.size(); j++)1805 {1806 if (itemList.get(j) != null)1807 {1808 String item = itemList.get(j);1809 // Check if item is found among option values1810 boolean isFound = false;1811 if (optionList != null)1812 {1813 for (int i = 0; i < optionList.size(); i++)1814 {1815 if (optionList.get(i) != null)1816 {1817 if (optionList.get(i).getValue().equals(item))1818 {1819 isFound = true;1820 }1821 }1822 }1823 }1824 // Return if item was not found among option values1825 if (!isFound)1826 {1827 log1828 .debug("j = " + j + " item = \"" + item + "\" isFound = " + isFound + " - return false");1829 return false;1830 }1831 }1832 }1833 }1834 return true;1835 }1836 1837 1838 /**1839 * Converts a list String to a list with String elements. If the list string1840 * contains two delimiter strings directly after each other, an empty string1841 * element will be added to the list in the corresponding place. Example:1842 * List string "one, two, three" will be converted to a list with the three1843 * String elements "one", "two", and "three" using delimiter regular1844 * expression ",\\ ".1845 *1846 * @param listString String A string with a list1847 * @param delimiterRegex String A regular expression for the delimiter1848 * between list elements1849 * @return List<String> A list of String elements1850 */1851 private List<String> listStringToStringList(String listString,1852 String delimiterRegex)1853 {1854 List<String> stringList = null;1855 if (listString != null)1856 {1857 stringList = new ArrayList<String>(0);1858 for (String part : listString.split(delimiterRegex, -1))1859 {1860 // Add list part if not already in list1861 if (part != null && !stringList.contains(part))1862 {1863 stringList.add(part);1864 }1865 }1866 }1867 return stringList;1868 }1869 1870 188 } -
trunk/client/servlet/src/org/proteios/gui/form/Select.java
r3863 r3881 71 71 } 72 72 73 public Select(D param ,List<Option> optionList, List<String> selected)73 public Select(D param, List<Option> optionList, List<String> selected) 74 74 { 75 75 this(param); 76 this.options.addAll(options); 77 for(String str : selected) 78 { 79 selectOption(str); 76 this.options.addAll(optionList); 77 if (selected != null) 78 { 79 for(String str : selected) 80 { 81 selectOption(str); 82 } 80 83 } 81 84 setMaxSize(5); … … 174 177 } 175 178 179 180 /** 181 * Sets all options matching any value in the input list to selected. 182 * 183 * @param List<Sting> selected List with selected values. 184 */ 185 public void selectOptions(List<String> selected) 186 { 187 if (selected != null) 188 { 189 for(String str : selected) 190 { 191 selectOption(str); 192 } 193 } 194 } 176 195 }
Note: See TracChangeset
for help on using the changeset viewer.