diff spectrast_params.py @ 3:7f02fc51bddf draft

planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/spectrast commit 379705f578f9a0465f497894c7d2b5f68b6a55e6-dirty
author jjohnson
date Wed, 25 Jul 2018 10:58:17 -0400
parents e67b0cc10377
children c9bfe6adb7cd
line wrap: on
line diff
--- a/spectrast_params.py	Wed Jun 20 12:58:33 2018 -0400
+++ b/spectrast_params.py	Wed Jul 25 10:58:17 2018 -0400
@@ -6,6 +6,146 @@
 import re
 import sys
 
+create_opts = [
+    'outputFileName',
+    'useProbTable',
+    'useProteinList',
+    'printMRMTable',
+    'remark',
+    'binaryFormat',
+    'writeDtaFiles',
+    'writeMgfFiles',
+    'removeDecoyProteins',
+    'plotSpectra',
+    'minimumProbabilityToInclude',
+    'maximumFDRToInclude',
+    'datasetName',
+    'setFragmentation',
+    'setDeamidatedNXST',
+    'addMzXMLFileToDatasetName',
+    'centroidPeaks',
+    'rawSpectraNoiseThreshold',
+    'rawSpectraMaxDynamicRange',
+    'minimumNumAAToInclude',
+    'minimumNumPeaksToInclude',
+    'skipRawAnnotation',
+    'minimumDeltaCnToInclude',
+    'maximumMassDiffToInclude',
+    'bracketSpectra',
+    'mergeBracket',
+    'filterCriteria',
+    'combineAction',
+    'buildAction',
+    'refreshDatabase',
+    'reduceSpectra',
+    'refreshDeleteUnmapped',
+    'refreshDeleteMultimapped',
+    'reannotatePeaks',
+    'minimumNumPeaksToInclude',
+    'minimumMRMQ3MZ',
+    'maximumMRMQ3MZ',
+    'minimumNumPeaksToInclude',
+    'refreshTrypticOnly',
+    'minimumNumReplicates',
+    'removeDissimilarReplicates',
+    'peakQuorum',
+    'maximumNumPeaksUsed',
+    'maximumNumReplicates',
+    'maximumNumPeaksKept',
+    'replicateWeight',
+    'recordRawSpectra',
+    'minimumNumReplicates',
+    'qualityLevelRemove,',
+    'qualityPenalizeSingletons',
+    'qualityImmuneProbThreshold',
+    'qualityImmuneMultipleEngines',
+    'useBayesianDenoiser',
+    'trainBayesianDenoiser',
+    'denoiserMinimumSignalProb',
+    'denoiserParamFile',
+    'decoyConcatenate',
+    'decoySizeRatio',
+    'decoyPrecursorSwap',
+    'normalizeRTWithLandmarks',
+    'normalizeRTLinearRegression',
+    'unidentifiedClusterIndividualRun',
+    'unidentifiedClusterMinimumDot',
+    'unidentifiedRemoveSinglyCharged',
+    'unidentifiedMinimumNumPeaksToInclude',
+    'unidentifiedSingletonXreaThreshold',
+    'allowableModTokens'
+]
+
+filter_opts = [
+    'outputFileName',
+    'useProbTable',
+    'useProteinList',
+    'printMRMTable',
+    'remark',
+    'binaryFormat',
+    'writeDtaFiles',
+    'writeMgfFiles',
+    'removeDecoyProteins',
+    'plotSpectra',
+    'minimumProbabilityToInclude',
+    'maximumFDRToInclude',
+    'datasetName',
+    'setFragmentation',
+    'setDeamidatedNXST',
+    'addMzXMLFileToDatasetName',
+    'centroidPeaks',
+    'rawSpectraNoiseThreshold',
+    'rawSpectraMaxDynamicRange',
+    'minimumNumAAToInclude',
+    'minimumNumPeaksToInclude',
+    'skipRawAnnotation',
+    'minimumDeltaCnToInclude',
+    'maximumMassDiffToInclude',
+    'bracketSpectra',
+    'mergeBracket',
+    'filterCriteria',
+    'combineAction',
+    'buildAction',
+    'refreshDatabase',
+    'reduceSpectra',
+    'refreshDeleteUnmapped',
+    'refreshDeleteMultimapped',
+    'reannotatePeaks',
+    'minimumNumPeaksToInclude',
+    'minimumMRMQ3MZ',
+    'maximumMRMQ3MZ',
+    'minimumNumPeaksToInclude',
+    'refreshTrypticOnly',
+    'minimumNumReplicates',
+    'removeDissimilarReplicates',
+    'peakQuorum',
+    'maximumNumPeaksUsed',
+    'maximumNumReplicates',
+    'maximumNumPeaksKept',
+    'replicateWeight',
+    'recordRawSpectra',
+    'minimumNumReplicates',
+    'qualityLevelRemove,',
+    'qualityPenalizeSingletons',
+    'qualityImmuneProbThreshold',
+    'qualityImmuneMultipleEngines',
+    'useBayesianDenoiser',
+    'trainBayesianDenoiser',
+    'denoiserMinimumSignalProb',
+    'denoiserParamFile',
+    'decoyConcatenate',
+    'decoySizeRatio',
+    'decoyPrecursorSwap',
+    'normalizeRTWithLandmarks',
+    'normalizeRTLinearRegression',
+    'unidentifiedClusterIndividualRun',
+    'unidentifiedClusterMinimumDot',
+    'unidentifiedRemoveSinglyCharged',
+    'unidentifiedMinimumNumPeaksToInclude',
+    'unidentifiedSingletonXreaThreshold',
+    'allowableModTokens'
+]
+
 search_opts = [
     'libraryFile',
     'databaseFile',
@@ -65,6 +205,9 @@
         'param_files', nargs='*',
         help='A SpectraST search.params files')
     parser.add_argument(
+        '-m', '--mode', choices=['search','create','filter'],
+        help='')
+    parser.add_argument(
         '-o', '--output',
         help='Output file  (-) for stdout')
     args = parser.parse_args()
@@ -73,17 +216,19 @@
         if args.output and args.output != '-' else sys.stdout
 
     optpat = re.compile('^([a-z]\w+)\s*[=:]\s*([^=]+)$')
-    search_params = dict()
 
-    # Collect all search_params
-    def parse_params(param_file, fh):
+    valid_opts = search_opts if args.mode == 'search' else create_opts if args.mode == 'create' else filter_opts
+    valid_params = dict()
+
+    # Collect all valid_params
+    def parse_params(param_file, fh, valid_opts):
         for i, line in enumerate(fh):
             try:
                 m = optpat.match(line.rstrip())
                 if m:
                     k, v = m.groups()
-                    if k in search_opts:
-                        search_params[k] = v
+                    if k in valid_opts:
+                        valid_params[k] = v
             except Exception, e:
                 print('%s(%d): %s %s' % (param_file, i, line, e),
                       file=sys.stderr)
@@ -92,7 +237,7 @@
         for param_file in args.param_files:
             try:
                 with open(param_file, 'r') as fh:
-                    parse_params(param_file, fh)
+                    parse_params(param_file, fh, valid_opts)
             except Exception, e:
                 print('parse_params: %s' % e, file=sys.stderr)
     else:
@@ -101,11 +246,12 @@
         except Exception, e:
             print('parse_params: %s' % e, file=sys.stderr)
 
-    # Write search_params
-    for search_opt in search_opts:
-        if search_opt in search_params:
-            print('%s = %s' % (search_opt, search_params[search_opt]), file=output_wtr)
+    # Write valid_params
+    for valid_opt in valid_opts:
+        if valid_opt in valid_params:
+            print('%s = %s' % (valid_opt, valid_params[valid_opt]), file=output_wtr)
 
 
 if __name__ == "__main__":
     __main__()
+