<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE knimeNode PUBLIC "-//UNIKN//DTD KNIME Node 2.0//EN" "http://www.knime.org/Node.dtd">
<knimeNode icon="generic_node.png" type="Manipulator">
    <name>FileFilter</name>
    
    <shortDescription>
        Extracts or manipulates portions of data from peak, feature or consensus-feature files.
    </shortDescription>
    
    <fullDescription>
        <intro><p>Extracts or manipulates portions of data from peak, feature or consensus-feature files.</p>
		<p>
			<a href="http://ftp.mi.fu-berlin.de/OpenMS/release-documentation/html/TOPP_FileFilter.html">Web Documentation for FileFilter</a>
		</p>

        </intro>
        
		<option name="version">Version of the tool that generated this parameters file.</option>
		<option name="in_type">Input file type -- default: determined from file extension or content</option>
		<option name="out_type">Output file type -- default: determined from file extension or content</option>
		<option name="rt">Retention time range to extract</option>
		<option name="mz">m/z range to extract (applies to ALL ms levels!)</option>
		<option name="int">Intensity range to extract</option>
		<option name="sort">Sorts the output according to RT and m/z.</option>
		<option name="log">Name of log file (created only when specified)</option>
		<option name="debug">Sets the debug level</option>
		<option name="threads">Sets the number of threads allowed to be used by the TOPP tool</option>
		<option name="no_progress">Disables progress logging to command line</option>
		<option name="force">Overwrite tool specific checks.</option>
		<option name="test">Enables the test mode (needed for internal use only)</option>
		<option name="sn">Write peaks with S/N &gt; 'sn' values only</option>
		<option name="rm_pc_charge">Remove MS(2) spectra with these precursor charges. All spectra without precursor are kept!</option>
		<option name="pc_mz_range">MSn (n&gt;=2) precursor filtering according to their m/z value. Do not use this flag in conjunction with 'mz', unless you want to actually remove peaks in spectra (see 'mz'). RT filtering is covered by 'rt' and compatible with this flag.</option>
		<option name="pc_mz_list">List of m/z values. If a precursor window covers ANY of these values, the corresponding MS/MS spectrum will be kept.</option>
		<option name="level">MS levels to extract</option>
		<option name="sort_peaks">Sorts the peaks according to m/z</option>
		<option name="no_chromatograms">No conversion to space-saving real chromatograms, e.g. from SRM scans</option>
		<option name="remove_chromatograms">Removes chromatograms stored in a file</option>
		<option name="mz_precision">Store base64 encoded m/z data using 32 or 64 bit precision</option>
		<option name="int_precision">Store base64 encoded intensity data using 32 or 64 bit precision</option>
		<option name="indexed_file">Whether to add an index to the file when writing</option>
		<option name="masstime">Apply MS Numpress compression algorithms in m/z or rt dimension (recommended: linear)</option>
		<option name="masstime_error">Maximal allowable error in m/z or rt dimension (set to 0.5 for pic)</option>
		<option name="intensity">Apply MS Numpress compression algorithms in intensity dimension (recommended: slof or pic)</option>
		<option name="intensity_error">Maximal allowable error in intensity dimension (set to 0.5 for pic)</option>
		<option name="remove_zoom">Remove zoom (enhanced resolution) scans</option>
		<option name="remove_mode">Remove scans by scan mode</option>
		<option name="remove_activation">Remove MSn scans where any of its precursors features a certain activation method</option>
		<option name="remove_collision_energy">Remove MSn scans with a collision energy in the given interval</option>
		<option name="remove_isolation_window_width">Remove MSn scans whose isolation window width is in the given interval</option>
		<option name="select_zoom">Select zoom (enhanced resolution) scans</option>
		<option name="select_mode">Selects scans by scan mode
</option>
		<option name="select_activation">Retain MSn scans where any of its precursors features a certain activation method</option>
		<option name="select_collision_energy">Select MSn scans with a collision energy in the given interval</option>
		<option name="select_isolation_window_width">Select MSn scans whose isolation window width is in the given interval</option>
		<option name="select_polarity">Retain MSn scans with a certain scan polarity</option>
		<option name="q">Overall quality range to extract [0:1]</option>
		<option name="map">Maps to be extracted from a consensus</option>
		<option name="map_and">Consensus features are kept only if they contain exactly one feature from each map (as given above in 'map')</option>
		<option name="blacklist">True: remove matched MS2. False: retain matched MS2 spectra. Other levels are kept</option>
		<option name="maps">Maps used for black/white list filtering</option>
		<option name="rt">Retention tolerance [s] for precursor to consensus feature position</option>
		<option name="mz">m/z tolerance [Th] for precursor to consensus feature position</option>
		<option name="use_ppm_tolerance">If ppm tolerance should be used. Otherwise Da are used.</option>
		<option name="charge">Charge range to extract</option>
		<option name="size">Size range to extract</option>
		<option name="remove_meta">Expects a 3-tuple (=3 entries in the list), i.e. &lt;name&gt; 'lt|eq|gt' &lt;value&gt;; the first is the name of meta value, followed by the comparison operator (equal, less or greater) and the value to compare to. All comparisons are done after converting the given value to the corresponding data value type of the meta value (for lists, this simply compares length, not content!)!</option>
		<option name="remove_clashes">Remove features with id clashes (different sequences mapped to one feature)</option>
		<option name="keep_best_score_id">in case of multiple peptide identifications, keep only the id with best score</option>
		<option name="sequences_whitelist">keep only features with white listed sequences, e.g. LYSNLVER or the modification (Oxidation)</option>
		<option name="accessions_whitelist">keep only features with white listed accessions, e.g. sp|P02662|CASA1_BOVIN</option>
		<option name="remove_annotated_features">Remove features with annotations</option>
		<option name="remove_unannotated_features">Remove features without annotations</option>
		<option name="remove_unassigned_ids">Remove unassigned peptide identifications</option>
		<option name="rt">Retention tolerance [s] for precursor to id position</option>
		<option name="mz">m/z tolerance [Th] for precursor to id position</option>
		<option name="blacklist_imperfect">Allow for mismatching precursor positions (see 'id:blacklist')</option>
		<option name="max_intensity">maximal intensity considered for histogram construction. By default, it will be calculated automatically (see auto_mode). Only provide this parameter if you know what you are doing (and change 'auto_mode' to '-1')! All intensities EQUAL/ABOVE 'max_intensity' will be added to the LAST histogram bin. If you choose 'max_intensity' too small, the noise estimate might be too small as well.  If chosen too big, the bins become quite large (which you could counter by increasing 'bin_count', which increases runtime). In general, the Median-S/N estimator is more robust to a manual max_intensity than the MeanIterative-S/N.</option>
		<option name="auto_max_stdev_factor">parameter for 'max_intensity' estimation (if 'auto_mode' == 0): mean + 'auto_max_stdev_factor' * stdev</option>
		<option name="auto_max_percentile">parameter for 'max_intensity' estimation (if 'auto_mode' == 1): auto_max_percentile th percentile</option>
		<option name="auto_mode">method to use to determine maximal intensity: -1 --&gt; use 'max_intensity'; 0 --&gt; 'auto_max_stdev_factor' method (default); 1 --&gt; 'auto_max_percentile' method</option>
		<option name="win_len">window length in Thomson</option>
		<option name="bin_count">number of bins for intensity values</option>
		<option name="min_required_elements">minimum number of elements required in a window (otherwise it is considered sparse)</option>
		<option name="noise_for_empty_window">noise value used for sparse windows</option>
		<option name="write_log_messages">Write out log messages in case of sparse windows or median in rightmost histogram bin</option>

    </fullDescription>
    
    <ports>
		<inPort index="0" name="in [mzML,featureXML,consensusXML]">Input file [mzML,featureXML,consensusXML]</inPort>
		<inPort index="1" name="file [consensusXML]">Input file containing consensus features whose corresponding MS2 spectra should be removed from the mzML file!#br#Matching tolerances are taken from 'consensus:blackorwhitelist:rt' and 'consensus:blackorwhitelist:mz' options.#br#If consensus:blackorwhitelist:maps is specified, only these will be used.#br# [consensusXML,opt.]</inPort>
		<inPort index="2" name="blacklist [idXML]">Input file containing MS2 identifications whose corresponding MS2 spectra should be removed from the mzML file!#br#Matching tolerances are taken from 'id:rt' and 'id:mz' options.#br#This tool will require all IDs to be matched to an MS2 spectrum, and quit with error otherwise. Use 'id:blacklist_imperfect' to allow for mismatches. [idXML,opt.]</inPort>
		<outPort index="0" name="out [mzML,featureXML,consensusXML]">Output file [mzML,featureXML,consensusXML]</outPort>
 </ports>
    <views>
        <view index="0" name="FileFilter Std Output">The text sent to standard out during the execution of FileFilter.</view>
        <view index="1" name="FileFilter Error Output">The text sent to standard error during the execution of FileFilter. (If it appears in gray, it's the output of a previously failing run which is preserved for your trouble shooting.)</view>
    </views>    
</knimeNode>
