<?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>MapAlignerSpectrum</name>
    
    <shortDescription>
        Corrects retention time distortions between maps by spectrum alignment.
    </shortDescription>
    
    <fullDescription>
        <intro><p>Corrects retention time distortions between maps by spectrum alignment.</p>
		<p>
			<a href="http://ftp.mi.fu-berlin.de/OpenMS/release-documentation/html/TOPP_MapAlignerSpectrum.html">Web Documentation for MapAlignerSpectrum</a>
		</p>

        </intro>
        
		<option name="version">Version of the tool that generated this parameters file.</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="gapcost"> This Parameter stands for the cost of opining a gap in the Alignment. A Gap means that one Spectrum can not be aligned directly to another Spectrum in the Map. This happens, when the similarity of both spectra a too low or even not present. Imagen as a insert or delete of the spectrum in the map. The gap is necessary for aligning, if we open a gap there is a possibility that an another spectrum can be correct aligned with a higher score as before without gap. But to open a gap is a negative event and has to be punished a bit, so such only in case  it 's a good choice to open a gap, if the score is bad enough. The Parameter is to giving as a positive number, the implementation convert it to a negative number.</option>
		<option name="affinegapcost"> This Parameter controls the cost of extension a already open gap. The idea behind the affine gapcost lies under the assumption, that it is better to get a long distance of connected gaps than to have a structure gap match gap match.  There for the punishment for the extension of a gap has to be lower than the normal gapcost. If the the result of the alignment show high compression, it is a good idea to lower the affine gapcost or the normal gapcost.</option>
		<option name="cutoff_score">The Parameter defines the threshold which filtered Spectra, these Spectra are high potential candidate for deciding the interval of a sub-alignment.  Only those pair of Spectra are selected, which has a score higher or same of the threshold.</option>
		<option name="bucketsize">Defines the numbers of buckets. It is a quantize of the interval of those points, which defines the main alignment(match points). These points have to filtered, to reduce the amount of points for the calculating a smoother spline curve.</option>
		<option name="anchorpoints">Defines the percent of numbers of match points which a selected from one bucket. The high score pairs are previously selected. The reduction of match points helps to get a smoother spline curve.</option>
		<option name="debug">active the debug mode, there a files written starting with debug prefix.</option>
		<option name="mismatchscore">Defines the score of two Spectra if they have no similarity to each other. </option>
		<option name="scorefunction"> The score function is the core of an alignment. The success of an alignment depends mostly of the elected score function. The score function return the similarity of two Spectrum back. The score influence defines later the way of possible traceback. There exist many way of algorithm to calculate the score.</option>
		<option name="type">Type of model</option>
		<option name="symmetric_regression">Perform linear regression on 'y - x' vs. 'y + x', instead of on 'y' vs. 'x'.</option>
		<option name="wavelength">Determines the amount of smoothing by setting the number of nodes for the B-spline. The number is chosen so that the spline approximates a low-pass filter with this cutoff wavelength. The wavelength is given in the same units as the data; a higher value means more smoothing. '0' sets the number of nodes to twice the number of input points.</option>
		<option name="num_nodes">Number of nodes for B-spline fitting. Overrides 'wavelength' if set (to two or greater). A lower value means more smoothing.</option>
		<option name="extrapolate">Method to use for extrapolation beyond the original data range. 'linear': Linear extrapolation using the slope of the B-spline at the corresponding endpoint. 'b_spline': Use the B-spline (as for interpolation). 'constant': Use the constant value of the B-spline at the corresponding endpoint. 'global_linear': Use a linear fit through the data (which will most probably introduce discontinuities at the ends of the data range).</option>
		<option name="boundary_condition">Boundary condition at B-spline endpoints: 0 (value zero), 1 (first derivative zero) or 2 (second derivative zero)</option>
		<option name="interpolation_type">Type of interpolation to apply.</option>

    </fullDescription>
    
    <ports>
		<inPort index="0" name="in [mzML]">Input files separated by blanks (all must have the same file type) [mzML]</inPort>
		<outPort index="0" name="out [mzML]">Output files separated by blanks. Either 'out' or 'trafo_out' has to be provided. They can be used together. [mzML]</outPort>
		<outPort index="1" name="trafo_out [trafoXML]">Transformation output files separated by blanks. Either 'out' or 'trafo_out' has to be provided. They can be used together. [trafoXML]</outPort>
 </ports>
    <views>
        <view index="0" name="MapAlignerSpectrum Std Output">The text sent to standard out during the execution of MapAlignerSpectrum.</view>
        <view index="1" name="MapAlignerSpectrum Error Output">The text sent to standard error during the execution of MapAlignerSpectrum. (If it appears in gray, it's the output of a previously failing run which is preserved for your trouble shooting.)</view>
    </views>    
</knimeNode>
