diff --git a/.clang-format b/.clang-format index da504244b0a..b3a9c21c712 100644 --- a/.clang-format +++ b/.clang-format @@ -1,71 +1,80 @@ -# Generated from CLion C/C++ Code Style settings +--- BasedOnStyle: LLVM -AccessModifierOffset: -2 +AccessModifierOffset: '-2' AlignAfterOpenBracket: Align -AlignConsecutiveAssignments: false -AlignOperands: true -AllowAllArgumentsOnNextLine: false -AllowAllConstructorInitializersOnNextLine: true -AllowAllParametersOfDeclarationOnNextLine: false -AllowShortBlocksOnASingleLine: true -AllowShortCaseLabelsOnASingleLine: false +AlignConsecutiveAssignments: 'false' +AlignConsecutiveDeclarations: 'false' +AlignEscapedNewlines: Left +AlignOperands: 'true' +AlignTrailingComments: 'true' +AllowAllArgumentsOnNextLine: 'true' +AllowAllConstructorInitializersOnNextLine: 'false' +AllowAllParametersOfDeclarationOnNextLine: 'false' +AllowShortBlocksOnASingleLine: 'true' +AllowShortCaseLabelsOnASingleLine: 'false' AllowShortFunctionsOnASingleLine: None -AllowShortIfStatementsOnASingleLine: Never +AllowShortIfStatementsOnASingleLine: Always AllowShortLambdasOnASingleLine: All -AllowShortLoopsOnASingleLine: false +AllowShortLoopsOnASingleLine: 'false' AlwaysBreakAfterReturnType: None -AlwaysBreakTemplateDeclarations: Yes -BreakBeforeBraces: Custom +AlwaysBreakBeforeMultilineStrings: 'false' +AlwaysBreakTemplateDeclarations: 'Yes' +BinPackArguments: 'true' +BinPackParameters: 'false' +BreakBeforeBinaryOperators: All BraceWrapping: - AfterCaseLabel: false - AfterClass: true - AfterControlStatement: Always - AfterEnum: true - AfterFunction: true - AfterNamespace: true - AfterUnion: true - BeforeCatch: true - BeforeElse: true - IndentBraces: false - SplitEmptyFunction: true - SplitEmptyRecord: true -BreakBeforeBinaryOperators: None -BreakBeforeTernaryOperators: false + AfterClass: true + AfterControlStatement: true + AfterEnum: true + AfterFunction: true + AfterNamespace: true + AfterObjCDeclaration: true + AfterStruct: true + AfterUnion: true + BeforeCatch: true + BeforeElse: true + IndentBraces: false +BreakBeforeBraces: Custom +BreakBeforeTernaryOperators: 'true' BreakConstructorInitializers: AfterColon BreakInheritanceList: AfterColon -ColumnLimit: 200 -CompactNamespaces: false -ContinuationIndentWidth: 2 -FixNamespaceComments: true +BreakStringLiterals: 'true' +ColumnLimit: '150' +CompactNamespaces: 'false' +ConstructorInitializerAllOnOneLineOrOnePerLine: 'true' +ContinuationIndentWidth: '2' +DerivePointerAlignment: 'false' +DisableFormat: 'false' +FixNamespaceComments: 'true' IncludeBlocks: Regroup -IndentCaseLabels: true +IndentCaseLabels: 'true' IndentPPDirectives: BeforeHash -IndentWidth: 2 -KeepEmptyLinesAtTheStartOfBlocks: false -MaxEmptyLinesToKeep: 2 -NamespaceIndentation: All -ObjCSpaceAfterProperty: false -ObjCSpaceBeforeProtocolList: true +IndentWidth: '2' +IndentWrappedFunctionNames: 'false' +KeepEmptyLinesAtTheStartOfBlocks: 'true' +Language: Cpp +MaxEmptyLinesToKeep: '2' +NamespaceIndentation: Inner PointerAlignment: Left -ReflowComments: true -SortIncludes: true -SortUsingDeclarations: true -SpaceAfterCStyleCast: false -SpaceAfterLogicalNot: false -SpaceAfterTemplateKeyword: false -SpaceBeforeAssignmentOperators: true -SpaceBeforeCpp11BracedList: true -SpaceBeforeCtorInitializerColon: true -SpaceBeforeInheritanceColon: true +SortIncludes: 'true' +SortUsingDeclarations: 'true' +SpaceAfterLogicalNot: 'true' +SpaceAfterTemplateKeyword: 'false' +SpaceBeforeAssignmentOperators: 'true' +SpaceBeforeCpp11BracedList: 'true' +SpaceBeforeCtorInitializerColon: 'false' +SpaceBeforeInheritanceColon: 'true' SpaceBeforeParens: ControlStatements -SpaceBeforeRangeBasedForLoopColon: true -SpaceInEmptyParentheses: false -SpacesBeforeTrailingComments: 1 -SpacesInAngles: false -SpacesInCStyleCastParentheses: false -SpacesInContainerLiterals: false -SpacesInParentheses: false -SpacesInSquareBrackets: false +SpaceBeforeRangeBasedForLoopColon: 'true' +SpaceInEmptyParentheses: 'false' +SpacesBeforeTrailingComments: '1' +SpacesInAngles: 'false' +SpacesInCStyleCastParentheses: 'false' +SpacesInContainerLiterals: 'false' +SpacesInParentheses: 'false' +SpacesInSquareBrackets: 'false' Standard: Cpp11 -TabWidth: 2 +TabWidth: '2' UseTab: Never + +... diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 776dd9c22dd..6a168978802 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,7 +1,8 @@ # Please see the documentation for all configuration options: # https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates -# checks if submodules (contrib and thirdparty) were updated +# checks if submodules (contrib and thirdparty) were updated. +# Ignored vcpkg because of the large number of updates. version: 2 updates: - package-ecosystem: "gitsubmodule" diff --git a/.github/workflows/cppcheck.yml b/.github/workflows/cppcheck.yml index bc280d29232..0c8122a10d0 100644 --- a/.github/workflows/cppcheck.yml +++ b/.github/workflows/cppcheck.yml @@ -6,7 +6,7 @@ jobs: name: cppcheck-test runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: cppcheck uses: deep5050/cppcheck-action@main diff --git a/.github/workflows/openms_ci_matrix_full.yml b/.github/workflows/openms_ci_matrix_full.yml index 93275041ff3..9da9679bf0c 100644 --- a/.github/workflows/openms_ci_matrix_full.yml +++ b/.github/workflows/openms_ci_matrix_full.yml @@ -16,6 +16,18 @@ on: type: boolean description: Build and upload KNIME plugins and update site? default: false + do_release: + type: boolean + description: Make tags and create a github release? + default: false + mark_as_latest: + type: boolean + description: Update latest to point to this release + default: false + announce_release: + type: boolean + description: Update website and create announcement material for release + default: false push: branches: - nightly @@ -46,6 +58,14 @@ jobs: # TODO implement support for other versions compiler_ver: 14.2 + - os: macos-14 + # Since the appleclang version is dependent on the XCode versions that are installed + # on the GH runners, use this as the choice for a specific version + # TODO currently unused but XCode/appleclang is the default + compiler: xcode + # TODO implement support for other versions + compiler_ver: 15.0.1 + # Make sure the compilers are available in that version on the GH runners # We are not installing anything. - os: ubuntu-22.04 @@ -55,23 +75,31 @@ jobs: - os: ubuntu-22.04 compiler: clang++ compiler_ver: 15 + outputs: + version_number: ${{ steps.create_changelog.outputs.version_number }} runs-on: ${{ matrix.os }} + env: + TERM: xterm-256color steps: - uses: actions/checkout@v4 with: path: OpenMS - - name: Extract branch/PR infos + - id: extract_branch + name: Extract branch/PR infos shell: bash run: echo "RUN_NAME=${{ github.event.pull_request && github.event.number || github.ref_name }}" >> $GITHUB_OUTPUT - id: extract_branch + + - name: Get number of CPU cores + uses: SimenB/github-actions-cpu-cores@v2 + id: cpu-cores - id: set-vars name: Set extra variables run: | - DO_PACKAGE=$( [[ ( "${{ inputs.package }}" || "${{ steps.extract_branch.outputs.RUN_NAME }}" == "nightly" || "${{ steps.extract_branch.outputs.RUN_NAME }}" == "release*" ) && "${{ matrix.compiler }}" != "clang++" ]] && echo true || echo false) + DO_PACKAGE=$( [[ ( "${{ inputs.package }}" || "${{ steps.extract_branch.outputs.RUN_NAME }}" == "nightly" || "${{ steps.extract_branch.outputs.RUN_NAME }}" =~ release/* ) && "${{ matrix.compiler }}" != "clang++" ]] && echo true || echo false) echo $DO_PACKAGE if [[ "${{ matrix.os }}" == ubuntu-* ]]; then echo "tp_folder=Linux" >> $GITHUB_OUTPUT @@ -110,7 +138,7 @@ jobs: echo "contrib_os_ver=10.15.5/" >> $GITHUB_OUTPUT echo "contrib_compiler=appleclang-11.0.0/" >> $GITHUB_OUTPUT echo "xvfb=" >> $GITHUB_OUTPUT - echo "static_boost=ON" >> $GITHUB_OUTPUT + echo "static_boost=OFF" >> $GITHUB_OUTPUT if [ "$DO_PACKAGE" = true ]; then echo "pkg_type=pkg" >> $GITHUB_OUTPUT echo "enable_docs=ON" >> $GITHUB_OUTPUT @@ -131,15 +159,63 @@ jobs: fi shell: bash - - if: startsWith(matrix.os, 'windows') - name: Emulate a Visual Studio shell (Windows) + # Create the changelog for the release from our overall changelog + - id: create_changelog + if: matrix.compiler != 'clang++' && startsWith(steps.extract_branch.outputs.RUN_NAME,'release') && startsWith(matrix.os, 'ubuntu') + shell: bash + name: Create changelog for release on Ubuntu + GCC + run: | + if [[ ${{ steps.extract_branch.outputs.RUN_NAME }} =~ ^release\/([0-9]+\.[0-9]+\.[0-9]+) ]]; then + VERSION_NUMBER=${BASH_REMATCH[1]} + echo "Version number: $VERSION_NUMBER" + if [ "${VERSION_NUMBER##*.}" -eq "0" ] # Handle trailing 0 in major releases (eg 3.0.0) + then + VERSION_NUMBER=${VERSION_NUMBER%.*} + fi + echo "version_number=$VERSION_NUMBER" >> $GITHUB_OUTPUT + grep -ne "----[[:space:]]*OpenMS" ${{ github.workspace }}/OpenMS/CHANGELOG > index_changelog.txt + START=$(cat index_changelog.txt | grep -A 1 -e " $VERSION_NUMBER " | cut -f1 -d: | head -1) + END=$(cat index_changelog.txt | grep -A 1 -e " $VERSION_NUMBER " | cut -f1 -d: | tail -1) + echo "Extracting between lines:" + echo $START + echo $END + awk "NR > $START && NR < $END" OpenMS/CHANGELOG > ${{ github.workspace }}/changelog.txt + else + echo "Branch name does not match the expected pattern." + exit 1 + fi + + - name: check input options + if: github.event_name == 'workflow_dispatch' + shell: bash + run: | + # check if we want to be marked as latest, and if we actually should. + if [[ 'true' == ${{ inputs.do_release }} ]]; then + if [[ 'false' == ${{ inputs.knime }} || 'false' == ${{ inputs.package }} ]]; then + echo "Can't do a release without building the OpenMS package and the KNIME package" + exit 1 + else + if [[ 'true' == ${{ inputs.mark_as_latest }} && "$(git tag -l ${{ steps.create_changelog.outputs.version_number }})" ]]; then + echo "Can't mark as latest, a tag with the same version already exists" + exit 1 + fi + fi + else + if [[ 'true' == ${{ inputs.mark_as_latest }} || 'true' == ${{inputs.announce_release}} ]]; then + echo "Can't mark as latest or announce release unless we do a release" + exit 1 + fi + fi + + - name: Emulate a Visual Studio shell (Windows) + if: startsWith(matrix.os, 'windows') uses: egor-tensin/vs-shell@v2 with: # NOTE: x64 is hardcoded. No support for 32bit arch: x64 - - if: startsWith(matrix.os, 'macos') || startsWith(matrix.os, 'windows') - name: Install Qt (Windows and macOS) + - name: Install Qt (Windows) + if: startsWith(matrix.os, 'windows') uses: jurplel/install-qt-action@v3 with: version: '5.15.2' # 5.12.7 is broken https://bugreports.qt.io/browse/QTBUG-81715, > 5.15.2 is not available on official archives (https://github.com/miurahr/aqtinstall/issues/636) @@ -147,9 +223,12 @@ jobs: aqtversion: '==3.1.*' archives: 'qtsvg qtimageformats qtbase' - - name: Setup build tools (and system contrib on Linux) + - name: Setup build tools (and system contrib on Linux and Mac) id: tools-prefix shell: bash + env: + # We need to add this, otherwise brew "helpfully" updates all of the GitHub preinstalled packages, which can cause issues + HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK: 1 run: | if [[ "${{ matrix.os }}" == ubuntu-* ]]; then sudo add-apt-repository universe @@ -173,6 +252,9 @@ jobs: ## GH CLI "SHOULD BE" installed. Sometimes I had to manually install nonetheless. Super weird. # https://github.com/actions/runner-images/blob/main/images/win/scripts/Installers/Install-GitHub-CLI.ps1 echo "C:\Program Files (x86)\GitHub CLI" >> $GITHUB_PATH + # Install eigen from choco + choco install eigen -y --no-progress + echo "eigen_choco=C:\ProgramData\chocolatey\lib\eigen\share\cmake" >> $GITHUB_OUTPUT if [[ "${{ steps.set-vars.outputs.pkg_type }}" != "none" ]]; then choco install doxygen.portable ghostscript graphviz -y --no-progress @@ -183,29 +265,28 @@ jobs: fi fi - if [[ "${{ matrix.os }}" == macos-* ]]; then - # Qt5_DIR set by Install Qt5 step - echo "cmake_prefix=$Qt5_DIR/lib/cmake;$Qt5_DIR" >> $GITHUB_OUTPUT + if [[ "${{ matrix.os }}" == macos-* ]]; then + ## Needed for Qt. Install before to overwrite the default softlinks on the GH runners + brew install python3 --force --overwrite brew install --quiet ccache autoconf automake libtool ninja && brew link --overwrite ccache - + brew install libsvm xerces-c boost eigen sqlite coinutils cbc cgl clp qt@5 + echo "cmake_prefix=$(brew --prefix qt@5)/lib/cmake;$(brew --prefix qt@5)" >> $GITHUB_OUTPUT + echo "Qt5_DIR=$(brew --prefix qt@5)/lib/cmake/Qt5" >> $GITHUB_ENV if [[ "${{ steps.set-vars.outputs.pkg_type }}" != "none" ]]; then - brew install python@3.12 --force --overwrite brew install --quiet doxygen ghostscript graphviz fi fi - - - - if: startsWith(matrix.os, 'macos') || startsWith(matrix.os, 'windows') - name: Cache contrib (Windows and macOS) + - name: Cache contrib (Windows) + if: startsWith(matrix.os, 'windows') id: cache-contrib uses: actions/cache@v4 with: path: ${{ github.workspace }}/OpenMS/contrib key: ${{ runner.os }}-contrib3 - - - if: (startsWith(matrix.os, 'macos') || startsWith(matrix.os, 'windows')) && steps.cache-contrib.outputs.cache-hit != 'true' - name: Download contrib build from archive (Windows and macOS) + + - name: Download contrib build from archive (Windows) + if: startsWith(matrix.os, 'windows') && steps.cache-contrib.outputs.cache-hit != 'true' shell: bash run: | cd OpenMS/contrib @@ -214,41 +295,16 @@ jobs: rm contribbld.tar.gz ls -la - - if: startsWith(matrix.os, 'macos') - name: Fix contrib install names (macOS) - shell: bash - run: | - shopt -s nullglob # ensure that for loop is only executed if there is at least one .dylib file - for lib in $GITHUB_WORKSPACE/OpenMS/contrib/lib/*.dylib - do - install_name_tool -id $lib $lib - done - - # create symlinks like brew https://github.com/Homebrew/homebrew-core/blob/master/Formula/qt.rb#L61 - # Warning: Qt5_DIR will change meaning in the new jurplel/install-qt-action. Use QT_ROOT_DIR instead - # https://github.com/jurplel/install-qt-action/blob/master/README_upgrade_guide.md - pushd $Qt5_DIR/include - for f in $Qt5_DIR/lib/*.framework/Headers - do - lnknm=$(basename "${f%/*}" ".framework") - ln -s $f $lnknm - done - for f in $Qt5_DIR/lib/*.framework/Versions/5/Qt* - do - install_name_tool -id $f $f - done - popd - - name: Setup ccache cache uses: actions/cache@v4 with: path: .ccache - key: ${{ runner.os }}-ccache-${{ steps.extract_branch.outputs.RUN_NAME }}-${{ github.run_number }} + key: ${{ runner.os }}-${{ runner.arch }}-ccache-${{ steps.extract_branch.outputs.RUN_NAME }}-${{ github.run_number }} # Restoring: From current branch/PR, otherwise from nightly, otherwise from any branch. restore-keys: | - ${{ runner.os }}-ccache-${{ steps.extract_branch.outputs.RUN_NAME }} - ${{ runner.os }}-ccache-nightly - ${{ runner.os }}-ccache- + ${{ runner.os }}-${{ runner.arch }}-ccache-${{ steps.extract_branch.outputs.RUN_NAME }} + ${{ runner.os }}-${{ runner.arch }}-ccache-nightly + ${{ runner.os }}-${{ runner.arch }}-ccache- - name: Add THIRDPARTY shell: bash @@ -273,6 +329,15 @@ jobs: fi done + # Upload the changelog to the same artifact that we will add the installers to. + - name: Upload changelog as artifact + if: steps.set-vars.outputs.pkg_type != 'none' && startsWith(steps.extract_branch.outputs.RUN_NAME,'release') && startsWith(matrix.os, 'ubuntu') + uses: actions/upload-artifact@v4 + with: + name: changelog.txt + path: | + ${{ github.workspace }}/changelog.txt + - name: Build shell: bash run: | @@ -298,7 +363,7 @@ jobs: CI_PROVIDER: "GitHub-Actions" CMAKE_GENERATOR: "Ninja" SOURCE_DIRECTORY: "${{ github.workspace }}/OpenMS" - BUILD_NAME: "${{ steps.extract_branch.outputs.RUN_NAME }}-${{ steps.set-vars.outputs.tp_folder }}-${{ matrix.compiler }}-class-topp-${{ github.run_number }}" + BUILD_NAME: "${{ steps.extract_branch.outputs.RUN_NAME }}-${{ steps.set-vars.outputs.tp_folder }}-${{ runner.arch }}-${{ matrix.compiler }}-${{ matrix.compiler_ver }}-class-topp-${{ github.run_number }}" ENABLE_STYLE_TESTING: "OFF" ENABLE_TOPP_TESTING: "ON" ENABLE_CLASS_TESTING: "ON" @@ -312,7 +377,7 @@ jobs: OPENMP: "ON" BOOST_USE_STATIC: ${{ steps.set-vars.outputs.static_boost }} # BUILD_FLAGS: "-p:CL_MPCount=2" # For VS Generator and MSBuild - BUILD_FLAGS: "-j2" # Ninja will otherwise use all cores (doesn't go well in GHA). TODO make dependent on runner + BUILD_FLAGS: "-j${{ steps.cpu-cores.outputs.count }}" # Ninja will otherwise use all cores (doesn't go well in GHA). CMAKE_CCACHE_EXE: "ccache" CCACHE_BASEDIR: ${{ github.workspace }} CCACHE_DIR: ${{ github.workspace }}/.ccache @@ -323,6 +388,7 @@ jobs: CCACHE_SLOPPINESS: time_macros,include_file_ctime,include_file_mtime CCACHE_COMPILERCHECK: content WITH_THERMORAWFILEPARSER_TEST: "OFF" + Eigen3_DIR: "${{ steps.tools-prefix.outputs.eigen_choco }}" # Eigen is installed on windows using choco - name: Test shell: bash @@ -331,12 +397,11 @@ jobs: env: SOURCE_DIRECTORY: "${{ github.workspace }}/OpenMS" CI_PROVIDER: "GitHub-Actions" - BUILD_NAME: "${{ steps.extract_branch.outputs.RUN_NAME }}-${{ steps.set-vars.outputs.tp_folder }}-${{ matrix.compiler }}-class-topp-${{ github.run_number }}" + BUILD_NAME: "${{ steps.extract_branch.outputs.RUN_NAME }}-${{ steps.set-vars.outputs.tp_folder }}-${{ runner.arch }}-${{ matrix.compiler }}-${{ matrix.compiler_ver }}-class-topp-${{ github.run_number }}" # The rest of the vars should be saved in the CMakeCache - - - if: steps.set-vars.outputs.pkg_type != 'none' - name: Package + - name: Package + if: steps.set-vars.outputs.pkg_type != 'none' shell: bash run: | # do not fail immediately @@ -358,41 +423,65 @@ jobs: PACKAGE_TYPE: ${{ steps.set-vars.outputs.pkg_type }} SEARCH_ENGINES_DIRECTORY: "${{ github.workspace }}/_thirdparty" CI_PROVIDER: "GitHub-Actions" - BUILD_NAME: "${{ steps.extract_branch.outputs.RUN_NAME }}-${{ steps.set-vars.outputs.tp_folder }}-${{ matrix.compiler }}-class-topp-${{ github.run_number }}" + BUILD_NAME: "${{ steps.extract_branch.outputs.RUN_NAME }}-${{ steps.set-vars.outputs.tp_folder }}-${{ runner.arch }}-${{ matrix.compiler }}-${{ matrix.compiler_ver }}-class-topp-${{ github.run_number }}" # WARNING: Here you have to make sure that only one matrix configuration per OS produces packages. See set-vars steps. - - if: steps.set-vars.outputs.pkg_type != 'none' - name: Upload packages as artifacts + - name: Upload packages as artifacts + if: steps.set-vars.outputs.pkg_type != 'none' uses: actions/upload-artifact@v4 with: - name: installer-${{ steps.set-vars.outputs.tp_folder }} + name: ${{ format('installer-{0}{1}', steps.set-vars.outputs.tp_folder, runner.arch == 'arm64' && '-arm64' || '') }} path: | ${{ github.workspace }}/OpenMS/bld/*.exe ${{ github.workspace }}/OpenMS/bld/*.deb ${{ github.workspace }}/OpenMS/bld/*.pkg #Zip the documentation first, since there are :: which make the upload action choke. - - if: steps.set-vars.outputs.pkg_type != 'none' && startsWith(matrix.os, 'ubuntu') - name: Zip Documentation + - name: Zip Documentation + if: steps.set-vars.outputs.pkg_type != 'none' && startsWith(matrix.os, 'ubuntu') uses: thedoctor0/zip-release@0.7.6 with: type: 'zip' directory: ${{ github.workspace }}/OpenMS/bld/doc exclusions: '/CMakeFiles/* /doxygen/* /code_examples/*' filename: 'documentation.zip' + + #Zip the source + - name: Zip source + if: steps.set-vars.outputs.pkg_type != 'none' && startsWith(matrix.os, 'ubuntu') + uses: thedoctor0/zip-release@0.7.6 + with: + type: 'tar' + directory: ${{ github.workspace }} + path: OpenMS + exclusions: 'bld/* ./source.tar.gz THIRDPARTY/* .git/*' + filename: 'source.tar.gz' + + + + # Upload the source tar + - name: Upload source tar as artifact + if: steps.set-vars.outputs.pkg_type != 'none' && startsWith(matrix.os, 'ubuntu') + uses: actions/upload-artifact@v4 + with: + name: source.tar.gz + path: | + ${{ github.workspace }}/source.tar.gz + - - if: steps.set-vars.outputs.pkg_type != 'none' && startsWith(matrix.os, 'ubuntu') # Only upload docs when we are building the package, use the ubuntu build simply 'cause its fast - name: Upload Documentation as artifacts + + - name: Upload Documentation as artifacts + if: steps.set-vars.outputs.pkg_type != 'none' && startsWith(matrix.os, 'ubuntu') uses: actions/upload-artifact@v4 with: name: documentation path: | ${{ github.workspace }}/OpenMS/bld/doc/documentation.zip - - - if: steps.set-vars.outputs.pkg_type != 'none' || inputs.knime - name: Generate KNIME descriptors and payloads + - name: Generate KNIME descriptors and payloads + # We never want to build the KNIME update site on our second Ubuntu + Clang matrix entry even if inputs.knime is true, so we check for that specific os + compiler combo + if: steps.set-vars.outputs.pkg_type != 'none' || ( inputs.knime && !(startsWith(matrix.os, 'ubuntu') && startsWith(matrix.compiler, 'clang++') ) ) shell: bash run: | cd $GITHUB_WORKSPACE/OpenMS/bld/ @@ -400,17 +489,21 @@ jobs: cmake -DSEARCH_ENGINES_DIRECTORY="$GITHUB_WORKSPACE/_thirdparty" -DENABLE_PREPARE_KNIME_PACKAGE=ON . cmake --build . --target prepare_knime_package - - if: steps.set-vars.outputs.pkg_type != 'none' || inputs.knime - name: Upload KNIME payload and descriptors as artifacts + - name: Upload KNIME payload and descriptors as artifacts + # We never want to build the KNIME update site on our second Ubuntu + Clang matrix entry even if inputs.knime is true, so we check for that specific os + compiler combo + if: steps.set-vars.outputs.pkg_type != 'none' || ( inputs.knime && !(startsWith(matrix.os, 'ubuntu') && startsWith(matrix.compiler, 'clang++') ) ) uses: actions/upload-artifact@v4 with: - name: knime-${{ steps.set-vars.outputs.tp_folder }} + name: ${{ format('knime-{0}{1}', steps.set-vars.outputs.tp_folder, runner.arch == 'arm64' && '-arm64' || '') }} path: ${{ github.workspace }}/OpenMS/bld/knime/**/* deploy-installer: if: github.ref == 'refs/heads/nightly' || contains(github.ref, 'release/') || inputs.package runs-on: ubuntu-latest needs: build-and-test + outputs: + release_text_contents: ${{ steps.mk_release_txt.outputs.release_text_contents }} + steps: - name: Extract branch/PR infos @@ -419,19 +512,37 @@ jobs: # WOW, you cannot download with wildcard. INCREDIBLY ANNOYING https://github.com/actions/download-artifact/issues/6 # Maybe in the next 3 years...... - - name: Download macos installer artifacts + - name: Download macOS installer artifacts uses: actions/download-artifact@v4 with: name: installer-MacOS + + - name: Download macOS Silicon installer artifacts + uses: actions/download-artifact@v4 + with: + name: installer-MacOS-arm64 + - name: Download win installer artifacts uses: actions/download-artifact@v4 with: name: installer-Windows + - name: Download lnx installer artifacts uses: actions/download-artifact@v4 with: name: installer-Linux - + + - name: Download source archive as artifact + uses: actions/download-artifact@v4 + with: + name: source.tar.gz + + - name: Download changelog as artifact + if: inputs.do_release + uses: actions/download-artifact@v4 + with: + name: changelog.txt + - name: Upload installer shell: bash env: @@ -440,13 +551,12 @@ jobs: HOST: ${{ secrets.ARCHIVE_RRSYNC_HOST }} run: | echo "Upload" - if [[ "${{ env.RUN_NAME }}" == "nightly" ]]; then - folder=nightlyGHA # TODO: Change back when we deactivate Jenkins - elif [[ "${{ env.RUN_NAME }}" == "release/*" ]]; then - tmpfolder=${{ env.RUN_NAME }} - folder=${tmpfolder/release/RC_GHA} # TODO: change back to RC after proper release + if [[ "${{ github.ref_name }}" == "nightly" ]]; then + folder=nightly + elif [[ "${{ github.ref_name }}" == release/* ]]; then + folder=${{ github.ref_name }} else - folder=experimental/${{ env.RUN_NAME }} + folder=experimental/${{ github.ref_name }} fi echo "Uploading installers to: " $folder @@ -454,7 +564,86 @@ jobs: echo "$PASS" > ~/.ssh/private.key sudo chmod 600 ~/.ssh/private.key rsync --progress -avz -e "ssh -i ~/.ssh/private.key -o StrictHostKeyChecking=no" $GITHUB_WORKSPACE/* "$USER@$HOST:/OpenMSInstaller/${folder}" + + - name: Make installer latest + if: inputs.mark_as_latest + shell: bash + env: + PASS: ${{ secrets.ARCHIVE_RRSYNC_SSH }} + USER: ${{ secrets.ARCHIVE_RRSYNC_USER }} + HOST: ${{ secrets.ARCHIVE_RRSYNC_HOST }} + run: | + if [[ "${{ github.ref_name }}" == release/* ]]; then + folder=${{ github.ref_name }} + else + echo refusing to mark non-release branch as latest + exit 1 + fi + mkdir -p ~/.ssh/ + echo "$PASS" > ~/.ssh/private.key + sudo chmod 600 ~/.ssh/private.key + ln -s ./$folder latest #create link to the release folder + rsync --progress -avz -e "ssh -i ~/.ssh/private.key -o StrictHostKeyChecking=no" latest "$USER@$HOST:/OpenMSInstaller/release" + + - name: create RELEASE_TEXT + id: mk_release_txt + if: inputs.do_release + shell: bash + run: | + #TODO Handle changelog_params + ## Header + cat > releaseTextHeader.txt << EOF + Dear OpenMS-Users, + + we are proud to announce the release of OpenMS ${{ needs.build-and-test.outputs.version_number }}. Grab it here + + In the following you find all important changes to the previous version: + + EOF + + ## Header + cat > releaseTextParamHeader.txt << EOF + + Additionally, the following changes were made to parameters of our TOPP tools: + + EOF + + ##Footer + cat > releaseTextFooter.txt << EOF + + Best regards, + The OpenMS-Developers + + EOF + RELEASE_TEXT=$(cat releaseTextHeader.txt $GITHUB_WORKSPACE/changelog.txt releaseTextFooter.txt) + RELEASE_TEXT_ESCAPED_QUOTES="${RELEASE_TEXT//\"/\\\"}" + cat releaseTextHeader.txt $GITHUB_WORKSPACE/changelog.txt releaseTextFooter.txt > RELEASE_TEXT_GH.md + echo release_text_contents=`base64 -w0 RELEASE_TEXT_GH.md` >> $GITHUB_OUTPUT + + - name: run GHA release action. + id: create_release + if: inputs.do_release + uses: ncipollo/release-action@v1.14.0 + with: + bodyFile: RELEASE_TEXT_GH.md + tag: ${{ github.ref_name }} + draft: true + artifactErrorsFailBuild: true + makeLatest: ${{ inputs.mark_as_latest }} + artifacts: + ${{ github.workspace }}/*.exe, ${{ github.workspace }}/*.deb, ${{ github.workspace }}/*.pkg, ${{ github.workspace }}/*.tar.gz + + + deploy-docs: + if: github.ref == 'refs/heads/nightly' || contains(github.ref, 'release/') || inputs.package + runs-on: ubuntu-latest + needs: build-and-test + steps: + - name: Extract branch/PR infos + shell: bash + run: echo "RUN_NAME=${{ github.event.pull_request && github.event.number || github.ref_name }}" >> $GITHUB_ENV + - name: Download Documentation uses: actions/download-artifact@v4 with: @@ -471,26 +660,46 @@ jobs: unzip $GITHUB_WORKSPACE/docs/documentation.zip -d $GITHUB_WORKSPACE/docs rm $GITHUB_WORKSPACE/docs/documentation.zip echo "Upload" - if [[ "${{ env.RUN_NAME }}" == "nightly" ]]; then - folder=nightlyGHA # TODO: Change back when we deactivate Jenkins - elif [[ "${{ env.RUN_NAME }}" == "release/*" ]]; then - tmpfolder=${{ env.RUN_NAME }} - folder=${tmpfolder/release/RC_GHA} # TODO: change back to RC after proper release + if [[ "${{ github.ref_name }}" == "nightly" ]]; then + folder=nightly + elif [[ "${{ github.ref_name }}" == release/* ]]; then + folder=release/${{ github.ref_name }} else - folder=experimental/${{ env.RUN_NAME }} + folder=experimental/${{ github.ref_name }} fi - echo $folder mkdir -p ~/.ssh/ echo "$PASS" > ~/.ssh/private.key sudo chmod 600 ~/.ssh/private.key - # Upload documentation FIXME + # Upload documentation rsync --progress -avz -e "ssh -i ~/.ssh/private.key -o StrictHostKeyChecking=no" $GITHUB_WORKSPACE/docs/ "$USER@$HOST:/Documentation/${folder}" + + - name: Make documentation latest + if: inputs.mark_as_latest + shell: bash + env: + PASS: ${{ secrets.ARCHIVE_RRSYNC_SSH }} + USER: ${{ secrets.ARCHIVE_RRSYNC_USER }} + HOST: ${{ secrets.ARCHIVE_RRSYNC_HOST }} + run: | + if [[ "${{ github.ref_name }}" == release/* ]]; then + folder=${{ github.ref_name }} + else + echo refusing to mark non-release branch as latest + exit 1 + fi + + mkdir -p ~/.ssh/ + echo "$PASS" > ~/.ssh/private.key + sudo chmod 600 ~/.ssh/private.key + ln -s ./$folder latest #we can use the same link from above. + rsync --progress -avz -e "ssh -i ~/.ssh/private.key -o StrictHostKeyChecking=no" latest "$USER@$HOST:/Documentation/release + # TODO create softlinks to latest nightly # TODO create and upload file hashes, at least for release candidate - + build-deploy-knime-updatesite: env: KNIME: 5.1 @@ -507,16 +716,22 @@ jobs: # WOW, you cannot download with wildcard. INCREDIBLY ANNOYING https://github.com/actions/download-artifact/issues/6 # Maybe in the next 3 years...... - - name: Download macos installer artifacts + - name: Download macOS installer artifacts uses: actions/download-artifact@v4 with: name: knime-MacOS path: ${{ env.PLUGIN_SOURCE }} + - name: Download macOS Silicon installer artifacts + uses: actions/download-artifact@v4 + with: + name: knime-MacOS-arm64 + path: ${{ env.PLUGIN_SOURCE }} - name: Download win installer artifacts uses: actions/download-artifact@v4 with: name: knime-Windows path: ${{ env.PLUGIN_SOURCE }} + - name: Download lnx installer artifacts uses: actions/download-artifact@v4 with: @@ -525,7 +740,7 @@ jobs: # Should be the default. - name: Set up JDK - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: java-version: ${{ env.JAVA_VER }} distribution: 'temurin' @@ -620,9 +835,6 @@ jobs: - name: Build KNIME update site shell: bash - env: - KNIME: 5.1 - run: | # fix folder structure mv ${PLUGIN_BUILD}/.mvn ./ @@ -654,13 +866,12 @@ jobs: HOST: ${{ secrets.ARCHIVE_RRSYNC_HOST }} run: | echo "Upload" - if [[ "${{ env.RUN_NAME }}" == "nightly" ]]; then - folder=nightlyGHA - elif [[ "${{ env.RUN_NAME }}" == "release/*" ]]; then - tmpfolder=${{ env.RUN_NAME }} - folder=${tmpfolder/release/RC}GHA + if [[ "${{ github.ref_name }}" == "nightly" ]]; then + folder=nightly + elif [[ "${{ github.ref_name }}" == release/* ]]; then + folder=release/${{ github.ref_name }} else - folder=experimental/${{ env.RUN_NAME }} + folder=experimental/${{ github.ref_name }} fi echo "Uploading KNIME site to:" $folder @@ -674,3 +885,156 @@ jobs: echo "$PASS" > ~/.ssh/private.key sudo chmod 600 ~/.ssh/private.key rsync --progress -avz -e "ssh -i ~/.ssh/private.key -o StrictHostKeyChecking=no" $GITHUB_WORKSPACE/de.openms.update/target/repository/* "$USER@$HOST:/knime-plugin/updateSite/$folder/" + + - name: Make KNIME installer latest + if: inputs.mark_as_latest + shell: bash + env: + PASS: ${{ secrets.ARCHIVE_RRSYNC_SSH }} + USER: ${{ secrets.ARCHIVE_RRSYNC_USER }} + HOST: ${{ secrets.ARCHIVE_RRSYNC_HOST }} + run: | + echo "Upload" + if [[ "${{ github.ref_name }}" == release/* ]]; then + folder=${{ github.ref_name }} + else + echo refusing to mark non-release branch as latest + exit 1 + fi + + mkdir -p ~/.ssh/ + echo "$PASS" > ~/.ssh/private.key + sudo chmod 600 ~/.ssh/private.key + ln -s ./$folder latest #create link to the release folder + rsync --progress -avz -e "ssh -i ~/.ssh/private.key -o StrictHostKeyChecking=no" latest "$USER@$HOST:/knime-plugin/updateSite/release + + do-release: + if: inputs.do_release + runs-on: ubuntu-latest + needs: [build-deploy-knime-updatesite,deploy-installer, build-and-test] + permissions: write-all + steps: + + - name: get a token so that we can update the tags + uses: actions/create-github-app-token@v1 + id: app-token + with: + app-id: ${{ vars.OPENMS_GITHUB_APP_ID }} + private-key: ${{ secrets.OPENMS_GITHUB_APP_PRIVATE_KEY }} + owner: ${{ github.repository_owner }} + + - name: Extract branch/PR infos + shell: bash + run: echo "RUN_NAME=${{ github.event.pull_request && github.event.number || github.ref_name }}" >> $GITHUB_ENV + + # NB we create the tag for the OpenMS repo next in a separate action. + - id: bash_create_tags + name: create tags for other repos + shell: bash + env: + GH_TOKEN: ${{ steps.app-token.outputs.token }} + run: | + function createGitTag() { + REPO=$1 + SHA=$2 + gh api \ + --method POST \ + -H "Accept: application/vnd.github+json" \ + -H "X-GitHub-Api-Version: 2022-11-28" \ + /repos/${REPO}/git/refs \ + -f ref="refs/tags/${{ env.RUN_NAME }}" \ + -f sha="${SHA}" + } + + function updateGitTag() { + REPO=$1 + SHA=$2 + + gh api \ + --method PATCH \ + -H "Accept: application/vnd.github+json" \ + -H "X-GitHub-Api-Version: 2022-11-28" \ + /repos/${REPO}/git/refs/tags/${{ env.RUN_NAME }} \ + -f sha="${SHA}" \ + -F force=true + } + DEOPENMS_SHA=$(curl -s -X GET https://api.github.com/repos/OpenMS/de.openms.knime/git/ref/heads/develop |jq -r '.object.sha') + GKN_SHA=$(curl -s -X GET https://api.github.com/repos/genericworkflownodes/GenericKnimeNodes/git/ref/heads/develop |jq -r '.object.sha') + JSViewer_SHA=$(curl -s -X GET https://api.github.com/repos/genericworkflownodes/de.openms.knime.dynamicJSViewers/git/ref/heads/master |jq -r '.object.sha') + CONTRIB_SHA=$(curl -s -X GET https://api.github.com/repos/OpenMS/OpenMS/contents/contrib\?ref\=${{ github.sha }} | jq -r ".sha") + THIRDPARTY_SHA=$(curl -s -X GET https://api.github.com/repos/OpenMS/OpenMS/contents/THIRDPARTY\?ref\=${{ github.sha }} | jq -r ".sha") + PYDOCS_SHA=$(curl -s -X GET https://api.github.com/repos/OpenMS/OpenMS/contents/src/pyOpenMS/pyopenms-docs\?ref\=${{ github.sha }} | jq -r ".sha") + TUTORIAL_SHA=$(curl https://api.github.com/repos/OpenMS/Tutorials/git/refs/heads/master | jq -r ".object.sha") + DOCS_SHA=$(curl https://api.github.com/repos/OpenMS/OpenMS-docs/git/refs/heads/develop | jq -r ".object.sha") + + createGitTag OpenMS/contrib $CONTRIB_SHA || updateGitTag OpenMS/contrib $CONTRIB_SHA + createGitTag OpenMS/pyopenms-docs $PYDOCS_SHA || updateGitTag OpenMS/pyopenms-docs $PYDOCS_SHA + createGitTag OpenMS/THIRDPARTY $THIRDPARTY_SHA || updateGitTag OpenMS/THIRDPARTY $THIRDPARTY_SHA + createGitTag OpenMS/Tutorials $TUTORIAL_SHA || updateGitTag OpenMS/Tutorials $TUTORIAL_SHA + createGitTag OpenMS/OpenMS-docs $DOCS_SHA || updateGitTag OpenMS/OpenMS-docs $DOCS_SHA + createGitTag OpenMS/de.openms.knime $DEOPENMS_SHA || updateGitTag OpenMS/de.openms.knime $DEOPENMS_SHA + + #FIXME reenable these after we get the correct access permissions + #createGitTag genericworkflownodes/de.openms.knime.dynamicJSViewers $JSViewer_SHA || updateGitTag genericworkflownodes/de.openms.knime.dynamicJSViewers $GKN_SHA + + - name: Merge to Develop + if: inputs.mark_as_latest + uses: actions/github-script@v7 + with: + script: | + const { repo, owner } = context.repo; + const result = await github.rest.pulls.create({ + title: 'Merge latest release into develop', + owner, + repo, + head: '${{ github.ref_name }}', + base: 'develop', + body: [ + 'This PR is auto-generated by', + '[actions/github-script](https://github.com/actions/github-script).' + ].join('\n') + }); + github.rest.issues.addLabels({ + owner, + repo, + issue_number: result.data.number, + labels: ['feature', 'automated pr'] + }); + + create-website-update: + if: inputs.announce_release + runs-on: ubuntu-latest + needs: [deploy-installer, build-and-test] + permissions: write-all + steps: + + - name: get a token so that we can update the website + uses: actions/create-github-app-token@v1 + id: app-token + with: + app-id: ${{ vars.OPENMS_GITHUB_APP_ID }} + private-key: ${{ secrets.OPENMS_GITHUB_APP_PRIVATE_KEY }} + owner: ${{ github.repository_owner }} + + - name: checkout website + uses: actions/checkout@v4 + with: + path: OpenMS-website + repository: OpenMS/OpenMS-website + token: ${{ steps.app-token.outputs.token }} + + - name: create text for website and update it. + shell: bash + env: + GH_TOKEN: ${{ steps.app-token.outputs.token }} + run: | + echo '${{ needs.deploy-installer.outputs.release_text_contents }}' | base64 -d >> OpenMS-website/content/en/news/release${{ needs.build-and-test.outputs.version_number }}.md + pushd OpenMS-website + git config --local user.email "action@github.com" + git config --local user.name "GitHub Action" + git checkout -b "releaseannouncement${{ needs.build-and-test.outputs.version_number }}" + git add content/en/news/release${{ needs.build-and-test.outputs.version_number }}.md + git commit -am "Announce release ${{ needs.build-and-test.outputs.version_number }}" + git push --set-upstream origin releaseannouncement${{ needs.build-and-test.outputs.version_number }} + gh pr create --title "Release announcement for ${{ needs.build-and-test.outputs.version_number }}" --body "announces ${{ needs.build-and-test.outputs.version_number }}" + popd diff --git a/.github/workflows/pyopenms-wheels.yml b/.github/workflows/pyopenms-wheels.yml index c8085f73bd5..fcff5f9cbdf 100644 --- a/.github/workflows/pyopenms-wheels.yml +++ b/.github/workflows/pyopenms-wheels.yml @@ -22,7 +22,7 @@ jobs: path: OpenMS - name: Setup cmake - uses: jwlawson/actions-setup-cmake@v1.13 + uses: jwlawson/actions-setup-cmake@v2 with: cmake-version: '3.25.x' @@ -124,7 +124,7 @@ jobs: done - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 name: Upload artifacts with: name: ${{ runner.os }}-wheels @@ -138,7 +138,7 @@ jobs: path: OpenMS - name: Setup cmake - uses: jwlawson/actions-setup-cmake@v1.13 + uses: jwlawson/actions-setup-cmake@v2 with: cmake-version: '3.25.x' @@ -260,7 +260,7 @@ jobs: done - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 name: Upload artifacts if: always() with: @@ -269,7 +269,7 @@ jobs: bld/CMakeCache.txt bld/pyOpenMS/env.py - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 name: Upload wheels with: name: ${{ runner.os }}-wheels @@ -292,7 +292,7 @@ jobs: path: OpenMS - name: Setup cmake - uses: jwlawson/actions-setup-cmake@v1.13 + uses: jwlawson/actions-setup-cmake@v2 with: cmake-version: '3.25.x' @@ -352,7 +352,7 @@ jobs: done - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 name: Upload artifacts with: name: ${{ runner.os }}-wheels @@ -395,7 +395,7 @@ jobs: echo "$HOME/miniconda3/Scripts" >> $GITHUB_PATH - name: Download artifacts - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: ${{ runner.os }}-wheels @@ -445,17 +445,17 @@ jobs: steps: # haha github is just ridiculous.. not getting their actions to do basic stuff for years - name: Download artifacts - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: Linux-wheels path: /home/runner/work/OpenMS/OpenMS/Linux-wheels - name: Download artifacts - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: Windows-wheels path: /home/runner/work/OpenMS/OpenMS/Windows-wheels - name: Download artifacts - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: macOS-wheels path: /home/runner/work/OpenMS/OpenMS/macOS-wheels diff --git a/.github/workflows/update_nightly.yml b/.github/workflows/update_nightly.yml index f449280d8f3..cb38a4d15c4 100644 --- a/.github/workflows/update_nightly.yml +++ b/.github/workflows/update_nightly.yml @@ -2,22 +2,63 @@ name: Update nightly from develop on: schedule: - cron: '7 1 * * *' + workflow_dispatch: + inputs: + force: + type: boolean + description: Forcibly reset Nightly to Develop? + default: false jobs: make_nightly: runs-on: ubuntu-latest steps: - + - name: Checkout uses: actions/checkout@v4 with: + ref: develop fetch-depth: 0 + + - name: Fetch all branches + run: git fetch --all + + - name: Determine if develop is ahead of nightly + if: inputs.force != 'true' + id: compare_branches + run: | + if git rev-list --left-right --count origin/develop...origin/nightly | grep -q "0$"; then + if git rev-list --left-right --count origin/develop...origin/nightly | grep -qv "^0"; then + echo "behind=true" >> $GITHUB_OUTPUT + else + echo "behind=false" >> $GITHUB_OUTPUT + fi + else + echo "There are changes to Nightly that are not in develop, we can't automatically update" + echo "To forcibly reset Nightly please have an admin run this action with 'force' enabled" + exit 1 + fi - - name: merge_to_nightly - uses: robotology/gh-action-nightly-merge@v1.4.0 - with: - stable_branch: 'develop' - development_branch: 'nightly' - allow_ff: true - ff_only: true + - name: Fast-forward nightly branch if behind develop + if: steps.compare_branches.outputs.behind == 'true' + run: | + git checkout nightly + git merge develop --ff-only + git push origin nightly + env: + GITHUB_TOKEN: ${{ secrets.OPENMS_GITHUB_APP_PRIVATE_KEY }} + + - name: Forcibly reset nightly + if: inputs.force + run: | + git checkout nightly + git reset --hard develop + git push origin nightly -f + env: + GITHUB_TOKEN: ${{ secrets.OPENMS_GITHUB_APP_PRIVATE_KEY }} + + - name: Call CI + if: steps.compare_branches.outputs.behind == 'true' || inputs.force + run: | + gh workflow run openms-ci-full --ref nightly env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GH_TOKEN: ${{ github.token }} diff --git a/CHANGELOG b/CHANGELOG index 9f0c67ea306..d46733c55f9 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -18,8 +18,11 @@ PR - Pull Request (on GitHub), i.e. integration of a new feature or bugfix What's new: - Breaking change: Rename of parameters for FeatureFinderCentroided (debug->advanced), and PeakPickerWavelet/TOFCalibration (optimization -> optimization:type) (#7154) + Library: - Extend FileHandler to support load and store operations for our major datastructures (spectra, features, identifications, etc.). Replaced file type specific code with the more generic FileHandler calls to decouple the IO code from other parts of the library. +- SiriusAdapter reworked to SiriusExport: Instead of running SIRIUS directly, this reworked tool takes multiple mzML and feautureXML (optional) files exporting a single SIRIUS .ms input file as well as an input table with compound info from features for the new AssayGeneratorMetaboSirius tool. (#7234) +- Splitting AssayGeneratorMetabo into two tools: In line with the changes to SiriusExport this tool has been split into two separate workflows. AssayGeneratorMetabo generates an assay library from mzML and feautreXML files using an heuristic approach picking the highest intensity MS2 peaks (like before). AssayGeneratorMetaboSirius takes an existing SIRIUS project directory as input to generate an assay library based on fragmentation trees. (#7234) - better documentation for all SpectraFilter... tools (#7183) Fixes: @@ -33,6 +36,7 @@ Fixes: Misc: - OpenMSInfo reports the ILP solver (CoinOr or glpk) (#7156) +- add citation information for OpenMS 3.0 (Nat. Methods) (#7383) - Add export for Common Workflow Language (CWL) (#6156) - Add tool description lib (TDL) dependency (#6156) @@ -52,6 +56,9 @@ Cleanup/Removal: - ERPairFinder - RNPxlSearch +- removed library code: + - HiddenMarkovModel + - removed tutorials: - Tutorial_PeakPickerCWT - Tutorial_TOFCalibration @@ -469,7 +476,7 @@ New tools: - OpenPepXL -- Tool for protein-protein cross-linking identification using labeled linkers (UTIL) - OpenPepXLLF -- Tool for protein-protein cross linking with label-free linkers (UTIL) - PSMFeatureExtractor -- Computes extra features for each input PSM (UTIL) - - SiriusAdapter -- Tool for metabolite identification using single and tandem mass spectrometry (UTIL) + - SiriusExport -- Tool for metabolite identification using single and tandem mass spectrometry (UTIL) - XFDR -- Calculates false discovery rate estimates on protein-protein-crosslink identifications (UTIL) Deprecated and removed tools: diff --git a/CMakeLists.txt b/CMakeLists.txt index 50567c8fc3f..818c955b2ab 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -249,15 +249,6 @@ if(CLANG_TIME_TRACE) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ftime-trace") endif() -#------------------------------------------------------------------------------ -# Enable SIRIUS_test (SiriusAdapter/AssayGeneratorMetabo) -#------------------------------------------------------------------------------ -option(ENABLE_SIRIUS_TEST "Enable test for SIRIUS (SiriusAdapter)" OFF) - -#------------------------------------------------------------------------------ -# Enable CSI:FingerID_test (SiriusAdapter) -#------------------------------------------------------------------------------ -option(ENABLE_FINGERID_TEST "Enable test for CSI:FingerID (SiriusAdapter)" OFF) #------------------------------------------------------------------------------ # Enable Coverage diff --git a/cmake/add_library_macros.cmake b/cmake/add_library_macros.cmake index cc575e588f7..3fa30b05d52 100644 --- a/cmake/add_library_macros.cmake +++ b/cmake/add_library_macros.cmake @@ -211,6 +211,7 @@ function(openms_add_library) #------------------------------------------------------------------------------ # Generate export header if requested if(NOT ${openms_add_library_DLL_EXPORT_PATH} STREQUAL "") + ## this snipped creates 'OpenMSConfig.h' in the build tree set(_CONFIG_H "include/${openms_add_library_DLL_EXPORT_PATH}${openms_add_library_TARGET_NAME}Config.h") string(TOUPPER ${openms_add_library_TARGET_NAME} _TARGET_UPPER_CASE) include(GenerateExportHeader) diff --git a/cmake/cmake_findExternalLibs.cmake b/cmake/cmake_findExternalLibs.cmake index b997a4d5e6f..6b446643e2b 100644 --- a/cmake/cmake_findExternalLibs.cmake +++ b/cmake/cmake_findExternalLibs.cmake @@ -146,8 +146,10 @@ find_package(BZip2 REQUIRED) #------------------------------------------------------------------------------ # Find eigen3 # creates Eigen3::Eigen3 package -find_package(Eigen3 3.3.4 REQUIRED) - +find_package(Eigen3 3.4.0 REQUIRED) +if(TARGET Eigen3::Eigen) + message(STATUS "Eigen version found: ${Eigen3_VERSION}") +endif(TARGET Eigen3::Eigen) #------------------------------------------------------------------------------ # Find Crawdad libraries if requested diff --git a/cmake/knime_package_support.cmake b/cmake/knime_package_support.cmake index 52c77928bde..d01a6e09752 100644 --- a/cmake/knime_package_support.cmake +++ b/cmake/knime_package_support.cmake @@ -107,6 +107,25 @@ else() set(ARCH "32") endif() +if(APPLE) + set(MACOS_TARGET_ARCHS ${CMAKE_OSX_ARCHITECTURES}) + if (NOT MACOS_TARGET_ARCHS) + # Warning: if cmake is a subprocess of a process that is run under Rosetta, + # it will yield x86_64 (but probably also build for it. Therefore it should be fine.) + set(MACOS_TARGET_ARCHS ${CMAKE_HOST_SYSTEM_PROCESSOR}) + endif() + # Name according to GenericKNIMENodes specification + if (MACOS_TARGET_ARCHS STREQUAL "x86_64") + set(ARCH "64") + elseif (MACOS_TARGET_ARCHS STREQUAL "arm64") + set(ARCH "arm64") + elseif ("x86_64" IN_LIST MACOS_TARGET_ARCHS AND "arm64" IN_LIST MACOS_TARGET_ARCHS) + set(ARCH "universal") + else () + message(ERROR "Couldn't determine MACOS_TARGET_ARCHS.") + endif() +endif() + set(PLATFORM "") if (APPLE) set(PLATFORM "mac") @@ -183,7 +202,6 @@ set(THIRDPARTY_ADAPTERS "CometAdapter" "PercolatorAdapter" "MSFraggerAdapter" - "SiriusAdapter" "NovorAdapter" ) diff --git a/cmake/package_general.cmake b/cmake/package_general.cmake index f751bbe6e41..0474adee2dc 100644 --- a/cmake/package_general.cmake +++ b/cmake/package_general.cmake @@ -69,7 +69,7 @@ set(OPENMS_LOGOSMALL ${PROJECT_SOURCE_DIR}/cmake/MacOSX/${OPENMS_LOGOSMALL_NAME} # On Windows we need to tell CMake where to look for. # We also do not need API sets. So exclude them. if(WIN32) - set(EXCLUDE "api-ms" "ext-ms" "hvsi" "pdmutilities" "wpaxholder") + set(EXCLUDE "api-ms" "ext-ms" "hvsi" "pdmutilities" "wpaxholder" "dxgi" "uxtheme" "d3d11" "winmm" "wldp") set(POST_EXCLUDE ".*WINDOWS.system32.*") elseif(APPLE) set(EXCLUDE "/usr/lib" "/System/") diff --git a/cmake/package_nsis.cmake b/cmake/package_nsis.cmake index 0a2cb0bdb8a..878df6ccebb 100644 --- a/cmake/package_nsis.cmake +++ b/cmake/package_nsis.cmake @@ -72,11 +72,9 @@ else() endif() - #### Install System runtime libraries into /bin, so NSIS picks them up; this saves us from shipping a VC-Redist.exe with the installer set(CMAKE_INSTALL_OPENMP_LIBRARIES TRUE) set (CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION ${INSTALL_LIB_DIR}) -message(STATUS "\nInstalling system libs to '${INSTALL_LIB_DIR}'\n") include(InstallRequiredSystemLibraries) diff --git a/contrib b/contrib index 5e427652cf3..554551862ed 160000 --- a/contrib +++ b/contrib @@ -1 +1 @@ -Subproject commit 5e427652cf36043007c7366b5e97b445fe84a7a4 +Subproject commit 554551862ed1000e6b074d35cb887943e81f8606 diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt index 778ae40d794..ca645b28a67 100644 --- a/doc/CMakeLists.txt +++ b/doc/CMakeLists.txt @@ -121,8 +121,8 @@ if(ENABLE_DOCS) # check doxygen for bug with generated latex files set(DOXYGEN_MIN_REQUIRED "1.8.13") - if (DOXYGEN_VERSION STRLESS DOXYGEN_MIN_REQUIRED ) - message(STATUS "Warning: Doxygen ( vers. installed < ${DOXYGEN_MIN_REQUIRED}) does not correctly process \\includedoc commands in developer's installation instructions. This will make them incomplete. Upgrade Doxygen to fix.") + if (DOXYGEN_VERSION VERSION_LESS DOXYGEN_MIN_REQUIRED ) + message(STATUS "Warning: Doxygen ( vers. installed = ${DOXYGEN_VERSION} < ${DOXYGEN_MIN_REQUIRED}) does not correctly process \\includedoc commands in developer's installation instructions. This will make them incomplete. Upgrade Doxygen to fix.") endif() ## if not found, use empty string to avoid `warning: the dot tool could not be found as 'DOXYGEN_DOT_EXECUTABLE-NOTFOUND/dot.exe'` in doxygen-error.log @@ -323,7 +323,7 @@ if(ENABLE_DOCS) #------------------------------------------------------------------------------ # add virtual dependency of doc_minimal on TOPP # this is not necessary but defers the generation of doc_minimal to a later - # stage to avoid confusion if doc_minimal is build first + # stage to avoid confusion if doc_minimal is built first add_dependencies(doc_minimal TOPP) if (DOXYGEN_DOT_FOUND OR DOXYGEN_DOT_EXECUTABLE) @@ -377,10 +377,15 @@ if(ENABLE_DOCS) #------------------------------------------------------------------------------ # Examples / Tutorials #------------------------------------------------------------------------------ - option(BUILD_EXAMPLES "Compile OpenMS code examples" ON) + option(BUILD_EXAMPLES "Compile OpenMS code examples (C++ tutorials)" ON) + message(STATUS "Build C++ tutorials: ${BUILD_EXAMPLES} (-DBUILD_EXAMPLES=ON/OFF);") if(BUILD_EXAMPLES AND "${PACKAGE_TYPE}" STREQUAL "none") add_subdirectory(code_examples) - endif(BUILD_EXAMPLES AND "${PACKAGE_TYPE}" STREQUAL "none") + message(STATUS " --> Tutorials in '${PROJECT_SOURCE_DIR}/code_examples' will be built!") + else() + message(STATUS " --> Tutorials in '${PROJECT_SOURCE_DIR}/code_examples' will NOT be built! (since PACKAGE_TYPE=${PACKAGE_TYPE}, but must be 'none')") + endif() + else() message(STATUS "Documentation is not built (-D ENABLE_DOCS=Off).") diff --git a/doc/code_examples/CMakeLists.txt b/doc/code_examples/CMakeLists.txt index 1187f17542f..ec885f5912b 100644 --- a/doc/code_examples/CMakeLists.txt +++ b/doc/code_examples/CMakeLists.txt @@ -39,7 +39,7 @@ cmake_minimum_required(VERSION 3.15 FATAL_ERROR) set(EXAMPLES_executables) -# ensure the tutorials got into bin/ +# ensure the tutorials go into bin/ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) # get the actual code examples @@ -54,16 +54,18 @@ foreach(i ${EXAMPLES_executables}) # if not GUI and no style tests requested -> add as test if(NOT ENABLE_STYLE_TESTING) add_test(NAME ${i} - COMMAND ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${i} ${CMAKE_CURRENT_LIST_DIR}) + COMMAND ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${i}) endif() endforeach(i) +## expect "Tutorial_Template"" to fail, since its a proper TOPP tool invoked without arguments +## i.e. TOPPBase will print a usage() and return an error code +set_tests_properties(Tutorial_Template PROPERTIES WILL_FAIL TRUE) # add collection target add_custom_target(Tutorials_build) add_dependencies(Tutorials_build ${EXAMPLES_executables}) if(WITH_GUI) - # add the GUI tutorials -- no tests foreach(i ${GUI_EXAMPLES_executables}) add_executable(${i} ${CMAKE_CURRENT_LIST_DIR}/${i}.cpp) diff --git a/doc/code_examples/Tutorial_AASequence.cpp b/doc/code_examples/Tutorial_AASequence.cpp index 341176ed803..5ebdb300a7b 100644 --- a/doc/code_examples/Tutorial_AASequence.cpp +++ b/doc/code_examples/Tutorial_AASequence.cpp @@ -2,7 +2,7 @@ // SPDX-License-Identifier: BSD-3-Clause // -//! [AASequence] +//! [doxygen_snippet_AASequence] // This script calculates the mass-to-charge ratio of a 2+ charged b-ion and full peptide from a hardcoded sequence. @@ -18,21 +18,17 @@ int main() const String s = "DEFIANGER"; AASequence peptide1 = AASequence::fromString(s); - // generate AASequence object from string literal + // ... or generate AASequence object from string literal AASequence peptide2 = AASequence::fromString("PEPTIDER"); - // extract prefix and suffix - AASequence prefix(peptide1.getPrefix(2)); - AASequence suffix(peptide1.getSuffix(3)); - cout << peptide1.toString() << " " - << prefix << " " - << suffix << endl; - + // extract prefix and suffix of the first/last AA residues + AASequence prefix(peptide1.getPrefix(2)); // "PE" + AASequence suffix(peptide1.getSuffix(3)); // "DER" + cout << peptide1.toString() << " " << prefix << " " << suffix << endl; + // create chemically modified peptide AASequence peptide_meth_ox = AASequence::fromString("PEPTIDESEKUEM(Oxidation)CER"); - cout << peptide_meth_ox.toString() << " " - << peptide_meth_ox.toUnmodifiedString() - << endl; + cout << peptide_meth_ox.toString() << " --> unmodified: " << peptide_meth_ox.toUnmodifiedString() << endl; // mass of the full, uncharged peptide double peptide_mass_mono = peptide_meth_ox.getMonoWeight(); @@ -42,15 +38,20 @@ int main() cout << "Average mass of the uncharged, full peptide: " << peptide_mass_avg << endl; // mass of the 2+ charged b-ion with the given sequence - double ion_mass_2plus = peptide_meth_ox.getMonoWeight(Residue::BIon, 2); - cout << "Mass of the doubly positively charged b-ion: " << ion_mass_2plus << endl; + double ion_mass_b3_2plus = peptide_meth_ox.getPrefix(3).getMonoWeight(Residue::BIon, 2); + cout << "Mass of the doubly positively charged b3-ion: " << ion_mass_b3_2plus << endl; // mass-to-charge ratio (m/z) of the 2+ charged b-ion and full peptide with the given sequence - cout << "Mass-to-charge of the doubly positively charged b-ion: " << peptide_meth_ox.getMZ(2, Residue::BIon) << endl; + cout << "Mass-to-charge of the doubly positively charged b3-ion: " << peptide_meth_ox.getPrefix(3).getMZ(2, Residue::BIon) << endl; cout << "Mass-to-charge of the doubly positively charged peptide: " << peptide_meth_ox.getMZ(2) << endl; - // ... many more + // count AA's to get a frequency table + std::map aa_freq; + peptide_meth_ox.getAAFrequencies(aa_freq); + cout << "Number of Proline (P) residues in '" << peptide_meth_ox.toString() << "' is " << aa_freq['P'] << endl; + + return 0; } -//! [AASequence] +//! [doxygen_snippet_AASequence] diff --git a/doc/code_examples/Tutorial_Clustering.cpp b/doc/code_examples/Tutorial_Clustering.cpp index df320872090..9e648a9901f 100644 --- a/doc/code_examples/Tutorial_Clustering.cpp +++ b/doc/code_examples/Tutorial_Clustering.cpp @@ -5,57 +5,71 @@ #include #include #include +#include #include -#include #include #include +#include +#include using namespace OpenMS; using namespace std; + +/// A functor, which provides a similarity value for two entities (here: doubles), in range [0, 1) class LowLevelComparator { public: double operator()(const double first, const double second) const { - double x, y; - x = min(second, first); - y = max(first, second); - if ((y - x) > 1) - { - throw Exception::InvalidRange(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION); - } - return 1 - (y - x); + // we just use a linear distance between them, i.e. the closer the values, the more similar they are + auto distance = std::fabs(first - second); + if (distance > 1) { throw Exception::InvalidRange(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION); } + return 1 - distance; } - }; // end of LowLevelComparator Int main() { // data - vector data; // must be filled - - srand(333); - Size nr = 12; - data.resize(nr); - for (Size i = 0; i < nr; ++i) - { - data[i] = (double)rand() / RAND_MAX; - } + vector data; +#if 1 // manual data + data = {0.01, 0.02, 0.7, 0.3, 0.31}; +#else // random data + const auto N = 5; + std::mt19937 rng; // default constructed, seeded with fixed seed + std::uniform_real_distribution<> dis(0.0, 1.0); // uniform values between [0, 1) + std::generate_n(back_inserter(data), N, [&]() { return dis(rng); }); +#endif + // print raw data to console + std::cout << "raw data: "; + for_each(data.begin(), data.end(), [](auto elem) { std::cout << elem << ' '; }); + std::cout << '\n'; + // determines the distance between two data points LowLevelComparator llc; - CompleteLinkage sl; + + SingleLinkage sl; + // or try: + //CompleteLinkage sl; + vector tree; DistanceMatrix dist; // will be filled ClusterHierarchical ch; - ch.setThreshold(0.15); + ch.setThreshold(1); // maximal distance between clusters; default threshold = 1, i.e. full clustering + // note: not all methods support a threshold, e.g. SingleLinkage requires t = 1. - // clustering + // do clustering. + // Note: There are other overloads of this function for clustering spectra ch.cluster(data, llc, sl, tree, dist); + // depending on the cluster method, the distance matrix may have shrunken, e.g. for complete linkage to the point where clustering was stopped + std::cout << "distance matrix:\n" << dist << "\n\n"; + ClusterAnalyzer ca; + std::cout << "binary tree in Newick format (numbers are indices into the data)"; std::cout << ca.newickTree(tree) << std::endl; return 0; -} //end of main +} // end of main diff --git a/doc/code_examples/Tutorial_DPosition.cpp b/doc/code_examples/Tutorial_DPosition.cpp index 84bba1c35da..a30100a5cc4 100644 --- a/doc/code_examples/Tutorial_DPosition.cpp +++ b/doc/code_examples/Tutorial_DPosition.cpp @@ -9,14 +9,27 @@ using namespace OpenMS; Int main() { - DPosition<2> pos; - pos[0] = 8.15; - pos[1] = 47.11; + DPosition<2> pos {-8.15, 47.11}; + static_assert(pos.size() == 2); - for (Size i = 0; i < DPosition<2>::DIMENSION; ++i) + std::cout << "largest possible value: " << DPosition<2>::maxPositive() << '\n'; + // make values in all dimensions positive and print + std::cout << "abs: " << pos.abs() << '\n'; + + // manipulate individual dimensions + pos[0] = -3.15; + pos[1] = 7.11; + + for (Size i = 0; i < pos.DIMENSION; ++i) { std::cout << "Dimension " << i << ": " << pos[i] << std::endl; } + // same thing + int i = 0; + for (const auto e : pos) + { + std::cout << "Dimension " << i++ << ": " << e << std::endl; + } return 0; } //end of main diff --git a/doc/code_examples/Tutorial_DRange.cpp b/doc/code_examples/Tutorial_DRange.cpp index c98b0d1f22f..8a383564e30 100644 --- a/doc/code_examples/Tutorial_DRange.cpp +++ b/doc/code_examples/Tutorial_DRange.cpp @@ -9,15 +9,30 @@ using namespace OpenMS; Int main() { + // A D-dimensional range, without units; + // Note: if you want something more modern with dimensions for RT, m/z, intensity and mobility, then use RangeManager. + // + // You can use any dimension you like; for D=2 and D=3 there are some convenience overloads though, especially for C'tors + // a 2-dimensional, i.e. [x_min..x_max, y_min..y_max], range DRange<2> range; - range.setMin(DPosition<2>(2.0, 3.0)); - range.setMax(DPosition<2>(1.0, 5.0)); + range.setMin(DPosition<2>(2.0, 3.0)); // for (x_min, y_min) + range.setMax(DPosition<2>(4.0, 5.0)); // for (x_max, y_max) + std::cout << "values:\n" << range; // prints [2..4, 3..5] - for (UInt i = 0; i < DRange<2>::DIMENSION; ++i) + // Note: the class maintains the invariant min<=max for each dimension + // Thus, setting a 'min' which is larger than the current 'max', also adjusts 'max' to the same value + range.setMin(DPosition<2>(10.0, 2.0)); // for (x_max, y_max) + std::cout << "\nadjusted max:\n" << range; // prints [10..10, 2..5] + + // you can also set each dimension's min/max: 0 = X, 1 = Y + range.setDimMinMax(0, {0.6, 6.6}); + std::cout << "\nnew X range:\n" << range; + + // print values using a custom format + for (UInt i = 0; i < range.DIMENSION; ++i) { - std::cout << "min " << i << ": " << range.minPosition()[i] << std::endl; - std::cout << "max " << i << ": " << range.maxPosition()[i] << std::endl; + std::cout << "DIM " << i << ": " << range.minPosition()[i] << " ... " << range.maxPosition()[i] << '\n'; } - return 0; + } //end of main diff --git a/doc/code_examples/Tutorial_Element.cpp b/doc/code_examples/Tutorial_Element.cpp index c62b7d9b469..e049f614426 100644 --- a/doc/code_examples/Tutorial_Element.cpp +++ b/doc/code_examples/Tutorial_Element.cpp @@ -2,30 +2,62 @@ // SPDX-License-Identifier: BSD-3-Clause // -//! [Element] +//! [doxygen_snippet_Element] -#include #include +#include +#include #include +#include using namespace OpenMS; using namespace std; Int main() { - const ElementDB * db = ElementDB::getInstance(); + const ElementDB& db = *ElementDB::getInstance(); // extract carbon element from ElementDB // .getResidue("C") would work as well - Element carbon = *db->getElement("Carbon"); + const Element& carbon = *db.getElement("Carbon"); // output name, symbol, monoisotopic weight and average weight - cout << carbon.getName() << " " - << carbon.getSymbol() << " " - << carbon.getMonoWeight() << " " - << carbon.getAverageWeight() << endl; - - return 0; -} //end of main - -//! [Element] + cout << carbon.getName() << " " << carbon.getSymbol() << " " << carbon.getMonoWeight() << " " << carbon.getAverageWeight() << endl; + + + if (db.hasElement("foo")) { std::cout << "worth a try..."; } + + // get all elements currently known; you can also get them by atomic number or symbols: + const auto all_elements_name = db.getNames(); + const auto all_elements_AN = db.getAtomicNumbers(); + const auto all_elements_symbols = db.getSymbols(); + std::cout << "We currently know of: " << all_elements_name.size() << " elements (incl. isotopes)\n" + << " with: " << all_elements_AN.size() << " different atomic numbers (linking to the monoisotopic isotope)\n" + << " and: " << all_elements_symbols.size() << " different symbols\n\n"; + + std::cout << "\nLet's find all hydrogen isotopes:\n"; + for (const auto e : all_elements_name) + { + // all hydrogens have AN == 1 + if (e.second->getAtomicNumber() == 1) + { + std::cout << " --> " << std::setw(30) << e.first + << " Symbol: " << std::setw(5) << e.second->getSymbol() + << " AN: " << std::setw(3) << e.second->getAtomicNumber() + << " mono-weight: " << std::setw(14)<< e.second->getMonoWeight() << "\n"; + } + } + + std::cout << "\nLets print all monoisotopic elements:\n"; + for (const auto e : all_elements_AN) + { + std::cout << std::setw(30) << e.first + << " Symbol: " << std::setw(5) << e.second->getSymbol() + << " AN: " << std::setw(3) << e.second->getAtomicNumber() + << " mono-weight: " << std::setw(14)<< e.second->getMonoWeight() << "\n"; + } + + +} // end of main + +//! [doxygen_snippet_Element] diff --git a/doc/code_examples/Tutorial_EmpiricalFormula.cpp b/doc/code_examples/Tutorial_EmpiricalFormula.cpp index e7e2b9f05b8..749a5f4fd08 100644 --- a/doc/code_examples/Tutorial_EmpiricalFormula.cpp +++ b/doc/code_examples/Tutorial_EmpiricalFormula.cpp @@ -2,7 +2,7 @@ // SPDX-License-Identifier: BSD-3-Clause // -//! [EmpiricalFormula] +//! [doxygen_snippet_EmpiricalFormula] #include #include @@ -16,26 +16,26 @@ Int main() { EmpiricalFormula methanol("CH3OH"), water("H2O"); - // sum up empirical formula + // sum up empirical formulae EmpiricalFormula sum = methanol + water; // get element from ElementDB const Element * carbon = ElementDB::getInstance()->getElement("Carbon"); // output number of carbon atoms and average weight - cout << sum << " " - << sum.getNumberOf(carbon) << " " - << sum.getAverageWeight() << endl; + cout << "Formula: " << sum + << "\n average weight: " << sum.getAverageWeight() + << "\n # of Carbons: " << sum.getNumberOf(carbon); // extract the isotope distribution IsotopeDistribution iso_dist = sum.getIsotopeDistribution(CoarseIsotopePatternGenerator(3)); + std::cout << "\n\nCoarse isotope distribution of " << sum << ": \n"; for (const auto& it : iso_dist) { - cout << it.getMZ() << " " << it.getIntensity() << endl; + cout << "m/z: " << it.getMZ() << " abundance: " << it.getIntensity() << endl; } - return 0; } //end of main -//! [EmpiricalFormula] +//! [doxygen_snippet_EmpiricalFormula] diff --git a/doc/code_examples/Tutorial_Enzyme.cpp b/doc/code_examples/Tutorial_Enzyme.cpp index d9b9aeff9a8..c3f40bc8e3d 100644 --- a/doc/code_examples/Tutorial_Enzyme.cpp +++ b/doc/code_examples/Tutorial_Enzyme.cpp @@ -2,7 +2,7 @@ // SPDX-License-Identifier: BSD-3-Clause // -//! [Enzyme] +//! [doxygen_snippet_Enzyme] #include #include @@ -28,28 +28,34 @@ int main() // digest C-terminally amidated peptide vector products; - protease.digest(AASequence::fromString("ARCDRE.(Amidated)"), products); + auto aa_seq = AASequence::fromString("ARCDRE.(Amidated)"); + protease.digest(aa_seq, products); // output digestion products + std::cout << "digesting " << aa_seq.toString() << " into:\n"; for (const AASequence& p : products) { - cout << p.toString() << " "; + cout << "--> " << p.toString() << "\n"; } cout << endl; // allow many miss-cleavages protease.setMissedCleavages(10); - protease.digest(AASequence::fromString("ARCDRE.(Amidated)"), products); + protease.digest(aa_seq, products); // output digestion products + std::cout << "digesting " << aa_seq.toString() << " with 10 MCs into:\n"; for (const AASequence& p : products) { - cout << p.toString() << " "; + cout << "--> " << p.toString() << "\n"; } cout << endl; - // ... many more - return 0; + // verify an infix of a protein is a digestion product: + String peptide = "FFFRAAA"; + cout << "Is '" << peptide.prefix(4) << "' a valid digestion product of '" << peptide << "'? " + << std::boolalpha << protease.isValidProduct(peptide, 0, 4); // yes it is! + } -//! [Enzyme] +//! [doxygen_snippet_Enzyme] diff --git a/doc/code_examples/Tutorial_FeatureFinder.cpp b/doc/code_examples/Tutorial_FeatureFinder.cpp index bcd3e35d1af..b7876c15a92 100644 --- a/doc/code_examples/Tutorial_FeatureFinder.cpp +++ b/doc/code_examples/Tutorial_FeatureFinder.cpp @@ -2,14 +2,14 @@ // SPDX-License-Identifier: BSD-3-Clause // -#include +#include using namespace OpenMS; using namespace std; Int main() { - FeatureFinder ff; + FeatureFinderAlgorithmPicked ff; // ... set parameters (e.g. from INI file) Param parameters; // ... set input data (e.g. from mzML file) @@ -19,7 +19,6 @@ Int main() // ... set user-specified seeds, if needed FeatureMap seeds; - ff.run("simple", input, output, parameters, seeds); + ff.run(input, output, parameters, seeds); - return 0; } //end of main diff --git a/doc/code_examples/Tutorial_FeatureMap.cpp b/doc/code_examples/Tutorial_FeatureMap.cpp index 36949025c0d..77d5412236e 100644 --- a/doc/code_examples/Tutorial_FeatureMap.cpp +++ b/doc/code_examples/Tutorial_FeatureMap.cpp @@ -2,7 +2,7 @@ // SPDX-License-Identifier: BSD-3-Clause // -//! [FeatureMap] +//! [doxygen_snippet_FeatureMap] #include #include @@ -24,9 +24,9 @@ int main() map.push_back(feature); //append feature 2 // Iteration over FeatureMap - for (auto it = map.begin(); it != map.end(); ++it) + for (auto& f : map) { - cout << it->getRT() << " - " << it->getMZ() << endl; + cout << f.getRT() << " - " << f.getMZ() << endl; } // Calculate and output the ranges @@ -35,8 +35,6 @@ int main() cout << "RT: " << map.getMinRT() << " - " << map.getMaxRT() << endl; cout << "m/z: " << map.getMinMZ() << " - " << map.getMaxMZ() << endl; - // ... and many more - return 0; } //end of main -//! [FeatureMap] +//! [doxygen_snippet_FeatureMap] diff --git a/doc/code_examples/Tutorial_FileIO.cpp b/doc/code_examples/Tutorial_FileIO.cpp index 0ec279e3e8f..247b956b3d8 100644 --- a/doc/code_examples/Tutorial_FileIO.cpp +++ b/doc/code_examples/Tutorial_FileIO.cpp @@ -2,8 +2,10 @@ // SPDX-License-Identifier: BSD-3-Clause // -#include #include +#include +#include +#include // exotic header for path to tutorial data #include using namespace OpenMS; @@ -11,42 +13,40 @@ using namespace std; int main(int argc, const char** argv) { - if (argc < 2) return 1; - // the path to the data should be given on the command line - String tutorial_data_path(argv[1]); + auto file_mzXML = OPENMS_DOC_PATH + String("/code_examples/data/Tutorial_FileIO.mzXML"); // temporary data storage PeakMap map; // convert MzXML to MzML. Internally we use FileHandler to do the actual work. - // Here we limit the input type to be MZXML only - FileHandler().loadExperiment(tutorial_data_path + "/data/Tutorial_FileIO.mzXML", map, {FileTypes::MZXML}); + // Here we limit the input type to be MzXML only + FileHandler().loadExperiment(file_mzXML, map, {FileTypes::MZXML}); FileHandler().storeExperiment("Tutorial_FileIO.mzML", map, {FileTypes::MZML}); // The FileHandler object can also hold options for how to load the file - FileHandler f = FileHandler(); - PeakFileOptions opts = PeakFileOptions(); + FileHandler f; + PeakFileOptions opts; // Here we set the MZ range to load to 100-200 - opts.setMZRange( {100, 200} ); + opts.setMZRange({100, 200}); f.setOptions(opts); - f.loadExperiment(tutorial_data_path + "/data/Tutorial_FileIO.mzXML", map, {FileTypes::MZXML}); + f.loadExperiment(file_mzXML, map, {FileTypes::MZXML}); // we can also load an experiment from a file without any restrictions on the file type: - FileHandler().loadExperiment(tutorial_data_path + "/data/Tutorial_Spectrum1D.dta", map); + FileHandler().loadExperiment(File::path(file_mzXML) + "/Tutorial_Spectrum1D.dta", map); // if we want to allow all types that can store MS2 data we can do the following: - FileHandler().loadExperiment(tutorial_data_path + "/data/Tutorial_FileIO.mzXML", map, FileTypeList::typesWithProperties({FileTypes::FileProperties::PROVIDES_EXPERIMENT})); + FileHandler().loadExperiment(file_mzXML, map, + FileTypeList::typesWithProperties({FileTypes::FileProperties::PROVIDES_EXPERIMENT})); // The curly braces can contain multiple file properties. The FileTypeList that is created is the intersection of these properties // so: FileTypeList::typesWithProperties({FileTypes::FileProperties::PROVIDES_EXPERIMENT, FileTypes::FileProperties::READABLE}) // returns only fileTypes which can store both MS1 and MS2 spectra // We use various FileHandler functions to load other types. FeatureMap feat; - FileHandler().loadFeatures(tutorial_data_path + "/data/Tutorial_Labeled.featureXML", feat); + FileHandler().loadFeatures(File::path(file_mzXML) + "/Tutorial_Labeled.featureXML", feat); // If we try to load something from a file that can't store that info (for example trying to get an experiment from an idXML file) // An error gets thrown at run time. Check out @p FileHandler class for more info - return 0; -} //end of main +} // end of main diff --git a/doc/code_examples/Tutorial_FileIO_Consumer.cpp b/doc/code_examples/Tutorial_FileIO_Consumer.cpp index 293071c3ebf..acf5db32de6 100644 --- a/doc/code_examples/Tutorial_FileIO_Consumer.cpp +++ b/doc/code_examples/Tutorial_FileIO_Consumer.cpp @@ -4,6 +4,8 @@ #include #include +#include +#include // exotic header for path to tutorial data #include using namespace OpenMS; @@ -15,17 +17,17 @@ class TICWritingConsumer : public MSDataWritingConsumer // they are written to disk (to "filename") using the processSpectrum_ and // processChromatogram_ functions. public: - double TIC; - int nr_spectra; + double TIC {}; + int nr_spectra {}; - // Create new consumer, set TIC to zero - TICWritingConsumer(String filename) : MSDataWritingConsumer(filename) - { TIC = 0.0; nr_spectra = 0;} + // Create new consumer + TICWritingConsumer(const String& filename) : MSDataWritingConsumer(filename) + {} // Add a data processing step for spectra before they are written to disk void processSpectrum_(MSDataWritingConsumer::SpectrumType & s) override { - for (Size i = 0; i < s.size(); i++) { TIC += s[i].getIntensity(); } + for (const auto& p : s) TIC += p.getIntensity(); nr_spectra++; } // Empty chromatogram data processing @@ -34,17 +36,13 @@ class TICWritingConsumer : public MSDataWritingConsumer int main(int argc, const char** argv) { - if (argc < 2) return 1; - // the path to the data should be given on the command line - String tutorial_data_path(argv[1]); + auto file_mzXML = OPENMS_DOC_PATH + String("/code_examples/data/Tutorial_FileIO_indexed.mzML"); // Create the consumer, set output file name, transform - TICWritingConsumer * consumer = new TICWritingConsumer("Tutorial_FileIO_output.mzML"); - MzMLFile().transform(tutorial_data_path + "/data/Tutorial_FileIO_indexed.mzML", consumer); + TICWritingConsumer consumer("Tutorial_FileIO_output.mzML"); + MzMLFile().transform(file_mzXML, &consumer); - std::cout << "There are " << consumer->nr_spectra << " spectra in the input file." << std::endl; - std::cout << "The total ion current is " << consumer->TIC << std::endl; - delete consumer; + std::cout << "There are " << consumer.nr_spectra << " spectra in the input file.\n"; + std::cout << "The total ion current is " << consumer.TIC << std::endl; - return 0; } //end of main diff --git a/doc/code_examples/Tutorial_FileIO_mzML.cpp b/doc/code_examples/Tutorial_FileIO_mzML.cpp index 56bd9587e8a..fcc503f239c 100644 --- a/doc/code_examples/Tutorial_FileIO_mzML.cpp +++ b/doc/code_examples/Tutorial_FileIO_mzML.cpp @@ -2,24 +2,26 @@ // SPDX-License-Identifier: BSD-3-Clause // -#include #include +#include +#include +#include // exotic header for path to tutorial data + #include + using namespace OpenMS; using namespace std; int main(int argc, const char** argv) { - if (argc < 2) return 1; - // the path to the data should be given on the command line - String tutorial_data_path(argv[1]); - + auto file_mzXML = OPENMS_DOC_PATH + String("/code_examples/data/Tutorial_FileIO_indexed.mzML"); + IndexedMzMLFileLoader imzml; // load data from an indexed MzML file OnDiscPeakMap map; - imzml.load(tutorial_data_path + "/data/Tutorial_FileIO_indexed.mzML", map); + imzml.load(file_mzXML, map); // get the first spectrum in memory, do some constant (non-changing) data processing MSSpectrum s = map.getSpectrum(0); @@ -29,5 +31,4 @@ int main(int argc, const char** argv) // store the (unmodified) data in a different file imzml.store("Tutorial_FileIO_output.mzML", map); - return 0; -} //end of main +} // end of main diff --git a/doc/code_examples/Tutorial_Final.cpp b/doc/code_examples/Tutorial_Final.cpp deleted file mode 100644 index a998adec556..00000000000 --- a/doc/code_examples/Tutorial_Final.cpp +++ /dev/null @@ -1,200 +0,0 @@ -//! [final] -// Copyright (c) 2002-present, The OpenMS Team -- EKU Tuebingen, ETH Zurich, and FU Berlin -// SPDX-License-Identifier: BSD-3-Clause -// -------------------------------------------------------------------------- -// $Maintainer: Oliver Alka $ -// $Authors: Oliver Alka $ -// This file is ONLY used for code snippets in the developer tutorial -// -------------------------------------------------------------------------- - -//! [Includes] - -#include -#include -#include -#include -#include - -//! [Includes] - -using namespace OpenMS; -using namespace std; - -//------------------------------------------------------------- -//Doxygen docu -//------------------------------------------------------------- - -/** - @page TOPP_DatabaseFilter DatabaseFilter - - @brief The DatabaseFilter tool filters a protein database in fasta format according to one or multiple filtering criteria. - - The resulting database is written as output. Depending on the reporting method (method="whitelist" or "blacklist") only entries are retained that passed all filters ("whitelist) or failed at least one filter ("blacklist"). - - Implemented filter criteria: - - ID: Filter database according to the set of proteinIDs contained in an identification file (idXML, mzIdentML) - - The command line parameters of this tool are: - @verbinclude TOPP_DatabaseFilter.cli - INI file documentation of this tool: - @htmlinclude TOPP_DatabaseFilter.html -*/ - -// We do not want this class to show up in the docu: -/// @cond TOPPCLASSES - -class TOPPDatabaseFilter : - public TOPPBase -{ -public: - TOPPDatabaseFilter() : - TOPPBase("DatabaseFilter", "Filters a protein database (FASTA format) based on identified proteins", false) // false: mark as unofficial tool - { - } - -protected: - -//! [Register] - - void registerOptionsAndFlags_() override - { - registerInputFile_("in", "", "","Input FASTA file, containing a database."); - setValidFormats_("in", ListUtils::create("fasta")); - registerInputFile_("id", "", "", "Input file containing identified peptides and proteins."); - setValidFormats_("id", ListUtils::create("idXML,mzid")); - registerStringOption_("method", "", "whitelist", "Switch between white-/blacklisting of protein IDs", false); - setValidStrings_("method", ListUtils::create("whitelist,blacklist")); - registerOutputFile_("out", "", "", "Output FASTA file where the reduced database will be written to."); - setValidFormats_("out", ListUtils::create("fasta")); - } - -//! [Register] - -//! [Functionality_1] - - void filterByProteinIDs_(const vector& db, const vector& peptide_identifications, bool whitelist, vector& db_new) - { - set id_accessions; - for (Size i = 0; i != peptide_identifications.size(); ++i) - { - const PeptideIdentification& id = peptide_identifications[i]; - const vector& hits = id.getHits(); - for (Size k = 0; k != hits.size(); ++k) - { - const vector& evidences = hits[k].getPeptideEvidences(); - for (Size m = 0; m != evidences.size(); ++m) - { - const String& id_accession = evidences[m].getProteinAccession(); - id_accessions.insert(id_accession); - } - } - } - - //! [Functionality_1] - - OPENMS_LOG_INFO << "Protein IDs: " << id_accessions.size() << endl; - - //! [Functionality_2] - - for (Size i = 0; i != db.size() ; ++i) - { - const String& fasta_accession = db[i].identifier; - const bool found = id_accessions.find(fasta_accession) != id_accessions.end(); - if ((found && whitelist) || (!found && !whitelist)) //either found in the whitelist or not found in the blacklist - { - db_new.push_back(db[i]); - } - } - - //! [Functionality_2] - } - - ExitCodes main_(int, const char **) override - { - - //! [InputParam] - - //------------------------------------------------------------- - // parsing parameters - //------------------------------------------------------------- - String in(getStringOption_("in")); - String ids(getStringOption_("id")); - String method(getStringOption_("method")); - bool whitelist = (method == "whitelist"); - String out(getStringOption_("out")); - - //! [InputParam] - - //------------------------------------------------------------- - // reading input - //------------------------------------------------------------- - - //! [InputRead] - - vector db; - FASTAFile().load(in, db); - - //! [InputRead] - - // Check if no filter criteria was given - // If you add a new filter please check if it was set here as well - if (ids.empty()) - { - FASTAFile().store(out, db); - } - - vector db_new; - - if (!ids.empty()) // filter by protein IDs - { - FileHandler fh; - FileTypes::Type ids_type = fh.getType(ids); - vector protein_identifications; - vector peptide_identifications; - - if (ids_type == FileTypes::IDXML || ids_type == FileTypes::MZIDENTML ) - { - FileHandler().loadIdentifications(ids, protein_identifications, peptide_identifications, {FileTypes::IDXML, FileTypes::MZIDENTML}); - } - else - { - OPENMS_LOG_ERROR << "Error: Unknown input file type given. Aborting!"; - printUsage_(); - return ILLEGAL_PARAMETERS; - } - - OPENMS_LOG_INFO << "Identifications: " << ids.size() << endl; - - // run filter - filterByProteinIDs_(db, peptide_identifications, whitelist, db_new); - } - - //------------------------------------------------------------- - // writing output - //------------------------------------------------------------- - - OPENMS_LOG_INFO << "Database entries (before / after): " << db.size() << " / " << db_new.size() << endl; - //! [output] - - FASTAFile().store(out, db_new); - - //! [output] - - return EXECUTION_OK; - } - -}; - -int main(int argc, const char ** argv) -{ - TOPPDatabaseFilter tool; - OPENMS_LOG_FATAL_ERROR << "THIS IS TEST CODE AND SHOULD NEVER BE RUN OUTSIDE OF TESTING" << endl; - tool.main(argc, argv); - return 0; -} - -/// @endcond - -//! [final] - diff --git a/doc/code_examples/Tutorial_GUI_ListEditor.cpp b/doc/code_examples/Tutorial_GUI_ListEditor.cpp index 3039b94f68f..319c3837447 100644 --- a/doc/code_examples/Tutorial_GUI_ListEditor.cpp +++ b/doc/code_examples/Tutorial_GUI_ListEditor.cpp @@ -10,8 +10,8 @@ using namespace OpenMS; int main(int argc, char ** argv) { QApplication app(argc, argv); - ListEditor * listeditor = new ListEditor; - listeditor->show(); + ListEditor listeditor; + listeditor.show(); return app.exec(); } diff --git a/doc/code_examples/Tutorial_GUI_ParamEditor.cpp b/doc/code_examples/Tutorial_GUI_ParamEditor.cpp index 7de091da788..5c737e8ca96 100644 --- a/doc/code_examples/Tutorial_GUI_ParamEditor.cpp +++ b/doc/code_examples/Tutorial_GUI_ParamEditor.cpp @@ -5,7 +5,10 @@ #include #include #include +#include +#include // exotic header for path to tutorial data +#include #include using namespace OpenMS; @@ -13,10 +16,8 @@ using namespace std; Int main(int argc, const char** argv) { - if (argc < 2) return 1; - // the path to the data should be given on the command line - String tutorial_data_path(argv[1]); - + String tutorial_data_path(OPENMS_DOC_PATH + String("/code_examples/")); + QApplication app(argc, const_cast(argv)); Param param; @@ -24,14 +25,12 @@ Int main(int argc, const char** argv) paramFile.load(tutorial_data_path + "/data/Tutorial_ParamEditor.ini", param); - ParamEditor* editor = new ParamEditor(nullptr); - editor->load(param); - editor->show(); + ParamEditor editor(nullptr); + editor.load(param); + editor.show(); app.exec(); - editor->store(); + editor.store(); paramFile.store("Tutorial_ParamEditor_out.ini", param); - - return 0; } //end of main diff --git a/doc/code_examples/Tutorial_GUI_Plot1D.cpp b/doc/code_examples/Tutorial_GUI_Plot1D.cpp index 885c85c1671..a786bd3e608 100644 --- a/doc/code_examples/Tutorial_GUI_Plot1D.cpp +++ b/doc/code_examples/Tutorial_GUI_Plot1D.cpp @@ -8,7 +8,7 @@ #include #include #include -#include +#include // exotic header for path to tutorial data #include using namespace OpenMS; @@ -17,10 +17,6 @@ using namespace std; Int main(int argc, const char** argv) { String tutorial_data_path(OPENMS_DOC_PATH + String("/code_examples/data/Tutorial_Spectrum1D.dta")); - if (argc >= 2) - { // the path to the data can be given on the command line - tutorial_data_path = argv[1]; - } QApplication app(argc, const_cast(argv)); @@ -32,9 +28,9 @@ Int main(int argc, const char** argv) exp.addSpectrum(spec); LayerDataBase::ExperimentSharedPtrType exp_sptr(new PeakMap(exp)); LayerDataBase::ODExperimentSharedPtrType on_disc_exp_sptr(new OnDiscMSExperiment()); - auto* widget = new Plot1DWidget(Param(), DIM::Y, nullptr); - widget->canvas()->addPeakLayer(exp_sptr, on_disc_exp_sptr); - widget->show(); + Plot1DWidget widget(Param(), DIM::Y, nullptr); + widget.canvas()->addPeakLayer(exp_sptr, on_disc_exp_sptr); + widget.show(); return app.exec(); } // end of main diff --git a/doc/code_examples/Tutorial_GaussFilter.cpp b/doc/code_examples/Tutorial_GaussFilter.cpp index 174142b8cfa..761e1b03e0c 100644 --- a/doc/code_examples/Tutorial_GaussFilter.cpp +++ b/doc/code_examples/Tutorial_GaussFilter.cpp @@ -6,6 +6,8 @@ #include #include #include +#include +#include // exotic header for path to tutorial data #include using namespace OpenMS; @@ -13,13 +15,11 @@ using namespace std; int main(int argc, const char** argv) { - if (argc < 2) return 1; - // the path to the data should be given on the command line - String tutorial_data_path(argv[1]); + auto file_gauss = OPENMS_DOC_PATH + String("/code_examples/data/Tutorial_GaussFilter.mzML"); PeakMap exp; - FileHandler().loadExperiment(tutorial_data_path + "/data/Tutorial_GaussFilter.mzML", exp, {FileTypes::MZML}); + FileHandler().loadExperiment(file_gauss, exp, {FileTypes::MZML}); GaussFilter g; Param param; diff --git a/doc/code_examples/Tutorial_IdentificationClasses.cpp b/doc/code_examples/Tutorial_IdentificationClasses.cpp index fa09bb65be0..cf9bc12eb99 100644 --- a/doc/code_examples/Tutorial_IdentificationClasses.cpp +++ b/doc/code_examples/Tutorial_IdentificationClasses.cpp @@ -6,7 +6,7 @@ // $Authors: Petra Gutenbrunner $ // -------------------------------------------------------------------------- -//! [Identification] +//! [doxygen_snippet_Identification] #include #include @@ -23,19 +23,17 @@ using namespace std; int main() { // Create new protein identification object corresponding to a single search - vector protein_ids; - ProteinIdentification protein_id; - - protein_id.setIdentifier("Identifier"); // Each ProteinIdentification object stores a vector of protein hits vector protein_hits; - ProteinHit protein_hit = ProteinHit(); + ProteinHit protein_hit; protein_hit.setAccession("MyAccession"); protein_hit.setSequence("PEPTIDEPEPTIDEPEPTIDEPEPTIDER"); protein_hit.setScore(1.0); protein_hits.push_back(protein_hit); + ProteinIdentification protein_id; + protein_id.setIdentifier("Identifier"); protein_id.setHits(protein_hits); DateTime now = DateTime::now(); @@ -53,16 +51,17 @@ int main() protein_id.setSearchEngine("SearchEngine"); protein_id.setScoreType("HyperScore"); + vector protein_ids; protein_ids.push_back(protein_id); // Iterate over protein identifications and protein hits - for (auto it = protein_ids.begin(); it != protein_ids.end(); ++it) + for (const auto& prot : protein_ids) { - for (auto hit = it->getHits().begin(); hit < it->getHits().end(); ++hit) + for (const auto& hit : prot.getHits()) { - cout << "Protein hit accession: " << hit->getAccession() << endl; - cout << "Protein hit sequence: " << hit->getSequence() << endl; - cout << "Protein hit score: " << hit->getScore() << endl; + cout << "Protein hit accession: " << hit.getAccession() << '\n'; + cout << "Protein hit sequence: " << hit.getSequence() << '\n'; + cout << "Protein hit score: " << hit.getScore() << '\n'; } } @@ -110,21 +109,19 @@ int main() for (const auto& peptide_id : peptide_ids) { // Peptide identification values - cout << "Peptide ID m/z: " << peptide_id.getMZ() << endl; - cout << "Peptide ID rt: " << peptide_id.getRT() << endl; - cout << "Peptide ID score type: " << peptide_id.getScoreType() << endl; + cout << "Peptide ID m/z: " << peptide_id.getMZ() << '\n'; + cout << "Peptide ID rt: " << peptide_id.getRT() << '\n'; + cout << "Peptide ID score type: " << peptide_id.getScoreType() << '\n'; // PeptideHits for (const auto& scored_hit : peptide_id.getHits()) { - cout << " - Peptide hit rank: " << scored_hit.getRank() << endl; - cout << " - Peptide hit sequence: " << scored_hit.getSequence().toString() << endl; - cout << " - Peptide hit score: " << scored_hit.getScore() << endl; + cout << " - Peptide hit rank: " << scored_hit.getRank() << '\n'; + cout << " - Peptide hit sequence: " << scored_hit.getSequence().toString() << '\n'; + cout << " - Peptide hit score: " << scored_hit.getScore() << '\n'; } } - // ... - return 0; } -//! [Identification] +//! [doxygen_snippet_Identification] diff --git a/doc/code_examples/Tutorial_Labeled.cpp b/doc/code_examples/Tutorial_Labeled.cpp index 7ab0deec5db..1c1adecf336 100644 --- a/doc/code_examples/Tutorial_Labeled.cpp +++ b/doc/code_examples/Tutorial_Labeled.cpp @@ -6,20 +6,16 @@ #include #include +#include // exotic header for path to tutorial data using namespace OpenMS; using namespace std; int main(int argc, const char** argv) { - if (argc < 2) return 1; - // the path to the data should be given on the command line - String tutorial_data_path(argv[1]); - - vector maps; - maps.resize(1); + vector maps(1, FeatureMap{}); - FileHandler().loadFeatures(tutorial_data_path + "/data/Tutorial_Labeled.featureXML", maps[0], {FileTypes::FEATUREXML}); + FileHandler().loadFeatures(OPENMS_DOC_PATH + String("/code_examples/data/Tutorial_Labeled.featureXML"), maps[0], {FileTypes::FEATUREXML}); ConsensusMap out; out.getColumnHeaders()[0].filename = "data/Tutorial_Labeled.mzML"; out.getColumnHeaders()[0].size = maps[0].size(); diff --git a/doc/code_examples/Tutorial_Logger.cpp b/doc/code_examples/Tutorial_Logger.cpp index 06287d4a3f9..ceca868d9f7 100644 --- a/doc/code_examples/Tutorial_Logger.cpp +++ b/doc/code_examples/Tutorial_Logger.cpp @@ -1,18 +1,45 @@ -//! [Logger] +// Copyright (c) 2002-present, The OpenMS Team -- EKU Tuebingen, ETH Zurich, and FU Berlin +// SPDX-License-Identifier: BSD-3-Clause +// +// -------------------------------------------------------------------------- +// $Maintainer: Chris Bielow $ +// $Authors: Chris Bielow $ +// -------------------------------------------------------------------------- + +#include +#include + +using namespace OpenMS; +using namespace std; + +// just a placeholder for the computations you would do in real code +void someFunction() +{ +} + +int main(int argc, const char** argv) +{ + //! [doxygen_snippet_Logger] ProgressLogger progresslogger; - progresslogger.setLogType(log_type_); // set the log type (command line or a file) + progresslogger.setLogType(ProgressLogger::CMD); // output to the terminal (std::cout) + // Note: within a TOPP tool, you can use + // progresslogger.setLogType(TOPPBase::log_type_); + // to set the log-type (automatically set via commandline options) + + const int progress_steps = 200; + // set start progress (0) and end (ms_run.size() = the number of spectra) + progresslogger.startProgress(0, progress_steps, "Doing some calculation..."); - // set start progress (0) and end (ms_run.size() = the number of spectra) - progresslogger.startProgress(0, ms_run.size(), "Doing some calculation..."); + for (int i = 0; i < progress_steps; ++i) // in real code, iterate over some datastructure, e.g. an MSExperiments' spectra + { + // update progress + progresslogger.setProgress(i); + // do the actual calculations and processing ... + someFunction(); + } - for (PeakMap::Iterator it = ms_run.begin(); it != ms_run.end(); ++it) - { - // update progress - progresslogger.setProgress(ms_run.end() - it); - - // do the actual calculations and processing ... - } - progresslogger.endProgress(); + progresslogger.endProgress(); +//! [doxygen_snippet_Logger] -//! [Logger] +} diff --git a/doc/code_examples/Tutorial_MRMTransitionGroup.cpp b/doc/code_examples/Tutorial_MRMTransitionGroup.cpp deleted file mode 100644 index 362357694dd..00000000000 --- a/doc/code_examples/Tutorial_MRMTransitionGroup.cpp +++ /dev/null @@ -1,15 +0,0 @@ -//! [MRMTransitionGroup] - -typedef MRMTransitionGroup TrGroup; - TrGroup createTransitionGroup() - { - TrGroup tr_group; - tr_group.addChromatogram(MSChromatogram(), “transition1”); - tr_group.addTransition(ReactionMonitoringTransition(), “transition1”); - tr_group.addChromatogram(MSChromatogram(), “transition2”); - tr_group.addTransition(ReactionMonitoringTransition(), “transition2”); - tr_group.setTransitionGroupID(“tr_peptideA”); - return tr_group; - } - -//! [MRMTransitionGroup] diff --git a/doc/code_examples/Tutorial_MSChromatogram.cpp b/doc/code_examples/Tutorial_MSChromatogram.cpp index bfe9c064767..c0f40c30026 100644 --- a/doc/code_examples/Tutorial_MSChromatogram.cpp +++ b/doc/code_examples/Tutorial_MSChromatogram.cpp @@ -1,25 +1,25 @@ // Copyright (c) 2002-present, The OpenMS Team -- EKU Tuebingen, ETH Zurich, and FU Berlin // SPDX-License-Identifier: BSD-3-Clause -//! [MSChromatogram] +//! [doxygen_snippet_MSChromatogram] +#include #include #include -#include using namespace OpenMS; using namespace std; int main() { - // create a chromatogram + // create a chromatogram MSChromatogram chromatogram; // fill it with metadata information chromatogram.setNativeID("transition_300.9_188.0"); chromatogram.getProduct().setMZ(188.0); chromatogram.getPrecursor().setMZ(300.9); - + // fill chromatogram with peaks ChromatogramPeak peak; peak.setIntensity(1.0); @@ -32,4 +32,4 @@ int main() return 0; } // end of main -//! [MSChromatogram] +//! [doxygen_snippet_MSChromatogram] diff --git a/doc/code_examples/Tutorial_MSExperiment.cpp b/doc/code_examples/Tutorial_MSExperiment.cpp index 0e3328449e9..e59c5f7b428 100644 --- a/doc/code_examples/Tutorial_MSExperiment.cpp +++ b/doc/code_examples/Tutorial_MSExperiment.cpp @@ -2,10 +2,12 @@ // SPDX-License-Identifier: BSD-3-Clause // -//! [MSExperiment] +//! [doxygen_snippet_MSExperiment] #include +#include #include +#include #include using namespace OpenMS; @@ -29,7 +31,7 @@ int main() peak.setMZ(mz + i); spectrum.push_back(peak); } - + exp.addSpectrum(spectrum); } @@ -39,7 +41,7 @@ int main() cout << it.getRT() << " - " << it->getMZ() << endl; } - // Iteration over all peaks in the experiment. + // Iteration over all peaks in the experiment. // Output: RT, m/z, and intensity // Note that the retention time is stored in the spectrum (not in the peak object) for (auto s_it = exp.begin(); s_it != exp.end(); ++s_it) @@ -50,17 +52,27 @@ int main() } } - // We could store the spectra to a mzML file with: - // FileHandler mzml; - // mzml.storeExperiment(filename, exp); - + // update the data ranges for all dimensions (RT, m/z, int, IM) and print them: + exp.updateRanges(); + std::cout << "Data ranges:\n"; + exp.printRange(std::cout); + std::cout << "\nGet maximum intensity on its own: " << exp.getMinMobility() << '\n'; + exp.getMinRT(); + + // Store the spectra to a mzML file with: + FileHandler fh; + auto tmp_filename = File::getTemporaryFile(); + fh.storeExperiment(tmp_filename, exp, {FileTypes::MZML}); + // And load it with - // mzml.loadExperiment(filename, exp); + fh.loadExperiment(tmp_filename, exp); // If we wanted to load only the MS2 spectra we could speed up reading by setting: - // mzml.getOptions().addMSLevel(2); - // before executing: mzml.loadExperiment(filename, exp); + fh.getOptions().setMSLevels({2}); + // and then load from disk: + fh.loadExperiment(tmp_filename, exp); + // note: the file in 'tmp_filename' will be automatically deleted return 0; -} //end of main +} // end of main -//! [MSExperiment] +//! [doxygen_snippet_MSExperiment] diff --git a/doc/code_examples/Tutorial_MSSpectrum.cpp b/doc/code_examples/Tutorial_MSSpectrum.cpp index 5ccb5713d13..3e6ed1de8d7 100644 --- a/doc/code_examples/Tutorial_MSSpectrum.cpp +++ b/doc/code_examples/Tutorial_MSSpectrum.cpp @@ -6,7 +6,7 @@ // $Authors: Petra Gutenbrunner $ // -------------------------------------------------------------------------- -//! [MSSpectrum] +//! [doxygen_snippet_MSSpectrum] #include @@ -40,4 +40,4 @@ int main() return 0; } -//! [MSSpectrum] +//! [doxygen_snippet_MSSpectrum] diff --git a/doc/code_examples/Tutorial_MapAlignment.cpp b/doc/code_examples/Tutorial_MapAlignment.cpp index 66b19bb097d..8d5d3bee7ec 100644 --- a/doc/code_examples/Tutorial_MapAlignment.cpp +++ b/doc/code_examples/Tutorial_MapAlignment.cpp @@ -2,20 +2,18 @@ // SPDX-License-Identifier: BSD-3-Clause // -#include - #include +#include #include +#include // exotic header for path to tutorial data using namespace OpenMS; using namespace std; int main(int argc, const char** argv) { - if (argc < 2) return 1; - // the path to the data should be given on the command line - String tutorial_data_path(argv[1]); - + auto tutorial_data_path = OPENMS_DOC_PATH + String("/code_examples/"); + FeatureMap reference; FeatureMap toAlign; @@ -25,7 +23,7 @@ int main(int argc, const char** argv) // create map alignment algorithm MapAlignmentAlgorithmPoseClustering algorithm; - + // ... set parameters algorithm.setReference(reference); @@ -38,6 +36,4 @@ int main(int argc, const char** argv) // store results xml_file.storeFeatures("Tutorial_MapAlignment_1.featureXML", reference); xml_file.storeFeatures("Tutorial_MapAlignment_2.featureXML", toAlign); - - return 0; -} //end of main +} // end of main diff --git a/doc/code_examples/Tutorial_MetaInfo.cpp b/doc/code_examples/Tutorial_MetaInfo.cpp index aa65495f9c7..6883c12b764 100644 --- a/doc/code_examples/Tutorial_MetaInfo.cpp +++ b/doc/code_examples/Tutorial_MetaInfo.cpp @@ -2,8 +2,8 @@ // SPDX-License-Identifier: BSD-3-Clause // -#include #include +#include #include using namespace OpenMS; @@ -13,15 +13,15 @@ Int main() { MetaInfoInterface info; - //insert meta data + // insert meta data info.setMetaValue("color", String("#ff0000")); info.setMetaValue("id", 112131415); - //access id by index + // access id by index UInt id_index = info.metaRegistry().getIndex("id"); cout << "id : " << (UInt)(info.getMetaValue(id_index)) << endl; - //access color by name + // access color by name cout << "color: " << (String)(info.getMetaValue("color")) << endl; return 0; -} //end of main +} // end of main diff --git a/doc/code_examples/Tutorial_MorphologicalFilter.cpp b/doc/code_examples/Tutorial_MorphologicalFilter.cpp index dad7352e426..996b1d3a9ce 100644 --- a/doc/code_examples/Tutorial_MorphologicalFilter.cpp +++ b/doc/code_examples/Tutorial_MorphologicalFilter.cpp @@ -5,6 +5,7 @@ #include #include #include +#include // exotic header for path to tutorial data #include using namespace OpenMS; @@ -12,10 +13,8 @@ using namespace std; int main(int argc, const char** argv) { - if (argc < 2) return 1; - // the path to the data should be given on the command line - String tutorial_data_path(argv[1]); - + auto tutorial_data_path = OPENMS_DOC_PATH + String("/code_examples/"); + PeakMap exp; FileHandler().loadExperiment(tutorial_data_path + "/data/Tutorial_MorphologicalFilter.mzML", exp); @@ -31,4 +30,4 @@ int main(int argc, const char** argv) mf.filterExperiment(exp); return 0; -} //end of main +} // end of main diff --git a/doc/code_examples/Tutorial_Precursor.cpp b/doc/code_examples/Tutorial_Precursor.cpp index 2d71935d49a..67581a25e5c 100644 --- a/doc/code_examples/Tutorial_Precursor.cpp +++ b/doc/code_examples/Tutorial_Precursor.cpp @@ -1,12 +1,14 @@ // Copyright (c) 2002-present, The OpenMS Team -- EKU Tuebingen, ETH Zurich, and FU Berlin // SPDX-License-Identifier: BSD-3-Clause -//! [Precursor] +//! [doxygen_snippet_Precursor] +#include +#include #include #include -#include -#include +#include // exotic header for path to tutorial data + #include using namespace OpenMS; @@ -14,16 +16,12 @@ using namespace std; int main(int argc, const char** argv) { - - if (argc < 2) return 1; - - // the path to the data should be given on the command line - String tutorial_data_path(argv[1]); + auto file_mzML = OPENMS_DOC_PATH + String("/code_examples/data/Tutorial_GaussFilter.mzML"); MSExperiment spectra; // load mzML from code examples folder - FileHandler().loadExperiment(tutorial_data_path + "/data/Tutorial_GaussFilter.mzML", spectra); + FileHandler().loadExperiment(file_mzML, spectra); // iterate over map and output MS2 precursor information for (auto s_it = spectra.begin(); s_it != spectra.end(); ++s_it) @@ -56,4 +54,4 @@ int main(int argc, const char** argv) return 0; } // end of main -//! [Precursor] +//! [doxygen_snippet_Precursor] diff --git a/doc/code_examples/Tutorial_Residue.cpp b/doc/code_examples/Tutorial_Residue.cpp index 9163a4797f1..ceaf63bb18e 100644 --- a/doc/code_examples/Tutorial_Residue.cpp +++ b/doc/code_examples/Tutorial_Residue.cpp @@ -2,7 +2,7 @@ // SPDX-License-Identifier: BSD-3-Clause // -//! [Residue] +//! [doxygen_snippet_Residue] #include #include @@ -44,4 +44,4 @@ int main() return 0; } //end of main -//! [Residue] +//! [doxygen_snippet_Residue] diff --git a/doc/code_examples/Tutorial_ResidueModification.cpp b/doc/code_examples/Tutorial_ResidueModification.cpp index 9ab73a3afe6..a0fa4900c9e 100644 --- a/doc/code_examples/Tutorial_ResidueModification.cpp +++ b/doc/code_examples/Tutorial_ResidueModification.cpp @@ -1,4 +1,4 @@ -//! [ResidueModification] +//! [doxygen_snippet_ResidueModification] // Copyright (c) 2002-present, The OpenMS Team -- EKU Tuebingen, ETH Zurich, and FU Berlin // SPDX-License-Identifier: BSD-3-Clause @@ -42,4 +42,4 @@ int main() return 0; } //end of main -//! [ResidueModification] +//! [doxygen_snippet_ResidueModification] diff --git a/doc/code_examples/Tutorial_SavitzkyGolayFilter.cpp b/doc/code_examples/Tutorial_SavitzkyGolayFilter.cpp index 9b81a881bd7..ad0d2de8cfa 100644 --- a/doc/code_examples/Tutorial_SavitzkyGolayFilter.cpp +++ b/doc/code_examples/Tutorial_SavitzkyGolayFilter.cpp @@ -2,10 +2,11 @@ // SPDX-License-Identifier: BSD-3-Clause // -#include #include +#include #include #include +#include // exotic header for path to tutorial data #include using namespace OpenMS; @@ -13,14 +14,12 @@ using namespace std; int main(int argc, const char** argv) { - if (argc < 2) return 1; - // the path to the data should be given on the command line - String tutorial_data_path(argv[1]); + auto file_dta = OPENMS_DOC_PATH + String("/code_examples/data/Tutorial_SavitzkyGolayFilter.dta"); // A DTA file always has exactly one Spectrum, so we get that MSSpectrum spectrum; // Load the dta file into the spectrum - FileHandler().loadSpectrum(tutorial_data_path + "/data/Tutorial_SavitzkyGolayFilter.dta", spectrum); + FileHandler().loadSpectrum(file_dta, spectrum); LinearResampler lr; Param param_lr; diff --git a/doc/code_examples/Tutorial_TOPP.cpp b/doc/code_examples/Tutorial_TOPP.cpp new file mode 100644 index 00000000000..1393caaf8cb --- /dev/null +++ b/doc/code_examples/Tutorial_TOPP.cpp @@ -0,0 +1,175 @@ +//! [doxygen_snippet_TOPPexample] +// Copyright (c) 2002-present, The OpenMS Team -- EKU Tuebingen, ETH Zurich, and FU Berlin +// SPDX-License-Identifier: BSD-3-Clause +// -------------------------------------------------------------------------- +// $Maintainer: Oliver Alka $ +// $Authors: Oliver Alka $ +// This file is ONLY used for code snippets in the developer tutorial +// -------------------------------------------------------------------------- + +//! [doxygen_snippet_Includes] + +#include +#include +#include +#include +#include + +//! [doxygen_snippet_Includes] + +using namespace OpenMS; +using namespace std; + +//------------------------------------------------------------- +// Doxygen docu +//------------------------------------------------------------- + +/** + @page TOPP_DatabaseFilter DatabaseFilter + + @brief The DatabaseFilter tool filters a protein database in fasta format according to one or multiple filtering criteria. + + The resulting database is written as output. Depending on the reporting method (method="whitelist" or "blacklist") only entries are retained that + passed all filters ("whitelist) or failed at least one filter ("blacklist"). + + Implemented filter criteria: + + ID: Filter database according to the set of proteinIDs contained in an identification file (idXML, mzIdentML) + + The command line parameters of this tool are: + @verbinclude TOPP_DatabaseFilter.cli + INI file documentation of this tool: + @htmlinclude TOPP_DatabaseFilter.html +*/ + +// We do not want this class to show up in the docu: +/// @cond TOPPCLASSES + +class TOPPDatabaseFilter : public TOPPBase +{ +public: + TOPPDatabaseFilter(): + TOPPBase("DatabaseFilter", "Filters a protein database (FASTA format) based on identified proteins", false) // false: mark as unofficial tool + { + } + +protected: + //! [doxygen_snippet_Register] + + void registerOptionsAndFlags_() override + { + registerInputFile_("in", "", "", "Input FASTA file, containing a protein database."); + setValidFormats_("in", {"fasta"}); + registerInputFile_("id", "", "", "Input file containing identified peptides and proteins."); + setValidFormats_("id", {"idXML", "mzid"}); + registerStringOption_("method", "", "whitelist", "Switch between white-/blacklisting of protein IDs", false); + setValidStrings_("method", {"whitelist", "blacklist"}); + registerOutputFile_("out", "", "", "Output FASTA file where the reduced database will be written to."); + setValidFormats_("out", {"fasta"}); + } + + //! [doxygen_snippet_Register] + + //! [doxygen_snippet_Functionality_1] + + void filterByProteinAccessions_(const vector& db, + const vector& peptide_identifications, + bool whitelist, + vector& db_new) + { + set id_accessions; + for (const auto& pep_id : peptide_identifications) + { + for (const auto& hit : pep_id.getHits()) + { + for (const auto& ev : hit.getPeptideEvidences()) + { + const String& id_accession = ev.getProteinAccession(); + id_accessions.insert(id_accession); + } + } + } + + //! [doxygen_snippet_Functionality_1] + + OPENMS_LOG_INFO << "Number of Protein IDs: " << id_accessions.size() << endl; + + //! [doxygen_snippet_Functionality_2] + + for (const auto entry : db) + { + const String& fasta_accession = entry.identifier; + const bool found = id_accessions.find(fasta_accession) != id_accessions.end(); + if ((found && whitelist) || (! found && ! whitelist)) // either found in the whitelist or not found in the blacklist + { + db_new.push_back(entry); + } + } + + //! [doxygen_snippet_Functionality_2] + } + + ExitCodes main_(int, const char**) override + { + + //! [doxygen_snippet_InputParam] + + //------------------------------------------------------------- + // parsing parameters + //------------------------------------------------------------- + String in(getStringOption_("in")); + String ids(getStringOption_("id")); + String method(getStringOption_("method")); + bool whitelist = (method == "whitelist"); + String out(getStringOption_("out")); + + //! [doxygen_snippet_InputParam] + + //------------------------------------------------------------- + // reading input + //------------------------------------------------------------- + + //! [doxygen_snippet_InputRead] + + vector db; + FASTAFile().load(in, db); + + //! [doxygen_snippet_InputRead] + + vector protein_identifications; + vector peptide_identifications; + + FileHandler().loadIdentifications(ids, protein_identifications, peptide_identifications); + + OPENMS_LOG_INFO << "Identifications: " << ids.size() << endl; + + // run filter + vector db_new; + filterByProteinAccessions_(db, peptide_identifications, whitelist, db_new); + + //------------------------------------------------------------- + // writing output + //------------------------------------------------------------- + + OPENMS_LOG_INFO << "Database entries (before / after): " << db.size() << " / " << db_new.size() << endl; + //! [doxygen_snippet_output] + + FASTAFile().store(out, db_new); + + //! [doxygen_snippet_output] + + return EXECUTION_OK; + } +}; + +int main(int argc, const char** argv) +{ + TOPPDatabaseFilter tool; + OPENMS_LOG_FATAL_ERROR << "THIS IS TEST CODE AND SHOULD NEVER BE RUN OUTSIDE OF TESTING" << endl; + tool.main(argc, argv); + return 0; +} + +/// @endcond + +//! [doxygen_snippet_TOPPexample] diff --git a/doc/code_examples/Tutorial_Template.cpp b/doc/code_examples/Tutorial_Template.cpp index f810bb1de46..2c713dcc699 100644 --- a/doc/code_examples/Tutorial_Template.cpp +++ b/doc/code_examples/Tutorial_Template.cpp @@ -1,4 +1,4 @@ -//! [Template] +//! [doxygen_snippet_Template] // Copyright (c) 2002-present, The OpenMS Team -- EKU Tuebingen, ETH Zurich, and FU Berlin // SPDX-License-Identifier: BSD-3-Clause // -------------------------------------------------------------------------- @@ -75,6 +75,7 @@ class TOPPNewTool : // writing output //------------------------------------------------------------- + return ExitCodes::EXECUTION_OK; } }; @@ -88,4 +89,4 @@ int main(int argc, const char ** argv) } /// @endcond -//! [Template] +//! [doxygen_snippet_Template] diff --git a/doc/code_examples/Tutorial_Test.cpp b/doc/code_examples/Tutorial_Test.cpp deleted file mode 100644 index 437b0393f5c..00000000000 --- a/doc/code_examples/Tutorial_Test.cpp +++ /dev/null @@ -1,11 +0,0 @@ -//! [Test] - -# DatabaseFilter test: -add_test("TOPP_DatabaseFilter_1" ${TOPP_BIN_PATH}/DatabaseFilter -test -in ${DATA_DIR_TOPP}/DatabaseFilter_1.fasta -accession ${DATA_DIR_TOPP}/DatabaseFilter_1.idXML -out DatabaseFilter_1_out.fasta.tmp) -add_test("TOPP_DatabaseFilter_1_out" ${DIFF} -in1 DatabaseFilter_1_out.fasta.tmp -in2 ${DATA_DIR_TOPP}/DatabaseFilter_1_out.fasta ) -set_tests_properties("TOPP_DatabaseFilter_1_out" PROPERTIES DEPENDS "TOPP_DatabaseFilter_1") -add_test("TOPP_DatabaseFilter_2" ${TOPP_BIN_PATH}/DatabaseFilter -test -in ${DATA_DIR_TOPP}/DatabaseFilter_1.fasta -accession ${DATA_DIR_TOPP}/DatabaseFilter_1.idXML -out DatabaseFilter_2_out.fasta.tmp -method blacklist) -add_test("TOPP_DatabaseFilter_2_out" ${DIFF} -in1 DatabaseFilter_2_out.fasta.tmp -in2 ${DATA_DIR_TOPP}/DatabaseFilter_2_out.fasta ) -set_tests_properties("TOPP_DatabaseFilter_2_out" PROPERTIES DEPENDS "TOPP_DatabaseFilter_2") - -//! [Test] diff --git a/doc/code_examples/Tutorial_TheoreticalSpectrumGenerator.cpp b/doc/code_examples/Tutorial_TheoreticalSpectrumGenerator.cpp index c14123a1d98..14266cbcea4 100644 --- a/doc/code_examples/Tutorial_TheoreticalSpectrumGenerator.cpp +++ b/doc/code_examples/Tutorial_TheoreticalSpectrumGenerator.cpp @@ -2,7 +2,7 @@ // SPDX-License-Identifier: BSD-3-Clause // -//! [TSG] +//! [doxygen_snippet_TSG] #include #include @@ -53,4 +53,4 @@ int main() return 0; } //end of main -//! [TSG] +//! [doxygen_snippet_TSG] diff --git a/doc/code_examples/Tutorial_Unlabeled.cpp b/doc/code_examples/Tutorial_Unlabeled.cpp index 199ff5a8ff1..df5f86c650e 100644 --- a/doc/code_examples/Tutorial_Unlabeled.cpp +++ b/doc/code_examples/Tutorial_Unlabeled.cpp @@ -6,15 +6,14 @@ #include #include +#include // exotic header for path to tutorial data using namespace OpenMS; using namespace std; int main(int argc, const char** argv) { - if (argc < 2) return 1; - // the path to the data should be given on the command line - String tutorial_data_path(argv[1]); + auto tutorial_data_path = OPENMS_DOC_PATH + String("/code_examples/"); vector maps; maps.resize(2); diff --git a/doc/code_examples/data/Tutorial_FileIO.mzXML b/doc/code_examples/data/Tutorial_FileIO.mzXML index 3617cdfc039..2d4260c031c 100644 --- a/doc/code_examples/data/Tutorial_FileIO.mzXML +++ b/doc/code_examples/data/Tutorial_FileIO.mzXML @@ -1,19 +1,55 @@ - - - + + + - - QvAAAELIAAA= + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + QvAAAELIAAA= - - QtwAAELIAABC8AAAQ0gAAEMCAABCyAAA + + QtwAAELIAABC8AAAQ0gAAEMCAABCyAAA - - QsgAAELIAABC3AAAQ0gAAELwAABDlgAAQwIAAENIAABDDAAAQsgAAA== + + QsgAAELIAABC3AAAQ0gAAELwAABDlgAAQwIAAENIAABDDAAAQsgAAA== - 0 + +2775 +3013 +3272 + +3565 diff --git a/doc/code_examples/data/Tutorial_FileIO_indexed.mzML b/doc/code_examples/data/Tutorial_FileIO_indexed.mzML index f4c5f699044..687123d4940 100644 --- a/doc/code_examples/data/Tutorial_FileIO_indexed.mzML +++ b/doc/code_examples/data/Tutorial_FileIO_indexed.mzML @@ -12,6 +12,13 @@ + + + + + + + @@ -20,7 +27,7 @@ - + @@ -28,11 +35,14 @@ - + + + + @@ -81,7 +91,7 @@ - + @@ -106,7 +116,7 @@ - + @@ -121,20 +131,50 @@ - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -143,17 +183,17 @@ - - - - + + + + - + @@ -170,7 +210,7 @@ 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6G14QD7iTfTrbXhAlZM3vu9teEDFcSKI8214QMt8DlL3bXhArrT7G/tteEBqGerl/m14QACr2a8CbnhAcmnKeQZueEDAVLxDCm54QOpsrw0ObnhA8LGj1xFueEDWI5mhFW54QJfCj2sZbnhAOY6HNR1ueEC6hoD/IG54QBiseskkbnhAWf51kyhueEB5fXJdLG54QHspcCcwbnhAXwJv8TNueEAmCG+7N254QM46cIU7bnhAW5pyTz9ueEDLJnYZQ254QB/geuNGbnhAWsaArUpueEB72Yd3Tm54QIAZkEFSbnhAboaZC1ZueEBCIKTVWW54QP3mr59dbnhAotq8aWFueEAw+8ozZW54QKZI2v1obnhACMPqx2xueEBUavyRcG54QIk+D1x0bnhAqz8jJnhueEC6bTjwe254QLXITrp/bnhAnlBmhINueEB0BX9Oh254QDjnmBiLbnhA7fWz4o5ueECRMdCskm54QCOa7XaWbnhAqC8MQZpueEAe8isLnm54QIPhTNWhbnhA3f1un6VueEAqR5JpqW54QGe9tjOtbnhAm2Dc/bBueEDDMAPItG54QN8tK5K4bnhA8VdUXLxueED5rn4mwG54QPgyqvDDbnhA7uPWusdueEDcwQSFy254QMHMM0/PbnhAnwRkGdNueEB4aZXj1m54QEn7x63abnhAPvE6i1tveECUqpZVX294QPWQ8x9jb3hAZ6RR6mZveEDn5LC0am94QHVSEX9ub3hAFO1ySXJveEDDtNUTdm94QIKpOd55b3hAVMueqH1veEA3GgVzgW94QCyWbD2Fb3hANT/VB4lveEBSFT/SjG94QIIYqpyQb3hAOB24JatveEAeiSzwrm94QBwiorqyb3hANegYhbZveEBo25BPum94QLT7CRq+b3hAHkmE5MFveECiw/+uxW94QEJrfHnJb3hAAED6Q81veEDcQXkO0W94QNNw+djUb3hA68x6o9hveEAjVv1t3G94QHgMgTjgb3hA8O8FA+RveECIAIzN5294QEA+E5jrb3hAGqmbYu9veEAYQSUt8294QKx2fstCcHhAJ/AhlkZweEDUlsZgSnB4QK5qbCtOcHhAuGsT9lFweED1mbvAVXB4QGH1ZItZcHhA/30PVl1weEDQM7sgYXB4QNUWaOtkcHhACicWtmhweEB1ZMWAbHB4QBbPdUtwcHhA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L216QHJHYDc0bXpAlCpcpjhtekCIilkVPW16QFNnWIRBbXpA9MBY80VtekBpl1piSm16QLfqXdFObXpA3rpiQFNtekDaB2mvV216QApUA1bwu3pAs62R3/S7ekCikSFp+bt6QN3/svL9u3pAYPhFfAK8ekAse9oFB7x6QESIcI8LvHpAqB8IGRC8ekBXQaGiFLx6QFXtOywZvHpAoSPYtR28ekA65HU/Irx6QCUvFckmvHpAYAS2Uiu8ekDqY1jcL7x6QD+1fGN13XpAU/Ry+HndekCCw2qNft16QM0iZCKD3XpAMxJft4fdekC2kVtMjN16QFahWeGQ3XpAFEFZdpXdekDxcFoLmt16QO4wXaCe3XpAC4FhNaPdekBKYWfKp916QKzRbl+s3XpAL9J39LDdekDXYoKJtd16QKSDjh663XpAlTScs77dekCudatIw916QOxGvN3H3XpAUqjOcszdekDimeIH0d16QJsb+JzV3XpAfC0PMtrdekCKzyfH3t16QMQBQlzj3XpAKcRd8efdekC9FnuG7N16QH/5mRvx3XpAb2y6sPXdekCQb9xF+t16QOECANv+3XpAYiYlcAPeekAX2ksFCN56QP4ddJoM3npAGPKdLxHeekBpVsnEFd56QO5K9lka3npAqM8k7x7eekCa5FSEI956QMWJhhko3npAJr+5rizeekDChO5DMd56QJnaJNk13npAqMBcbjreekD2NpYDP956QH890ZhD3npARdQNLkjeekBK+0vDTN56QI+yi1hR3npAEPrM7VXeekDV0Q+DWt56QAw+AliI3npAykhW7YzeekDU46uCkd56QCkPAxiW3npAx8pbrZreekC0FrZCn956QO7yEdij3npAdV9vbajeekBMXM4Crd56QHTpLpix3npA6gaRLbbeekCztPTCut56QM7yWVi/3npAPMHA7cPeekD9HymDyN56QBQPkxjN3npAfo7+rdHeekBAnmtD1t56QFk+2tja3npAyG5Kbt/eekCRL7wD5N56QIBFekdE33pAsG4O3UjfekBKKKRyTd96QFFyOwhS33pAxUzUnVbfekClt24zW996QPSyCslf33pAsj6oXmTfekDeWkf0aN96QH0H6Ilt33pAjUSKH3LfekANEi61dt96QANw00p733pAa1564H/fekCpokJn0t96QEBKB/3W33pA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P919QGCGx69E3X1A64RDWUrdfUATqcECUN19QN7yQaxV3X1ATGLEVVvdfUBb90j/YN19QBCyz6hm3X1Aa5JYUmzdfUBrmOP7cd19QFpsYCpa3n1AEKRF1F/efUClAS1+Zd59QBaFFihr3n1AYy4C0nDefUCS/e97dt59QKDy3yV83n1Ajw3Sz4HefUBhTsZ5h959QBq1vCON3n1AtEG1zZLefUA49K93mN59QKPMrCGe3n1A9cqry6PefUA076x1qd59QF45sB+v3n1Acqm1ybTefUB2P71zut59QGr7xh3A3n1ATN3Sx8XefUAg5eBxy959QOkS8RvR3n1Ao2YDxtbefUBU4Bdw3N59QP1/Lhri3n1AmkVHxOfefUAzMWJu7d59QMVCfxjz3n1AUHqewvjefUDc179s/t59QGRb4xYE331A6QQJwQnffUBw1DBrD999QPnJWhUV331Ag+WGvxrffUATJ7VpIN99QKaO5RMm331AQBwYvivffUDjz0xoMd99QI2pgxI3331AQam8vDzffUABz/dmQt99QM4aNRFI331Ap4x0u03ffUCQJLZlU999QIri+Q9Z331AksY/ul7ffUCw0IdkZN99QOEA0g5q331AJlceuW/ffUCC02xjdd99QPZ1vQ17331AgT4QuIDffUAoLWViht99QOlBvAyM331AxXwVt5HffUDA3XBhl999QNpkzgud331AExIutqLffUBv5Y9gqN99QO3e8wqu331AjP5ZtbPffUBTRMJfud99QECwLAq/331AUkKZtMTffUCO+gdfyt99QPXYeAnQ331AhN3rs9XffUBBCGFe2999QC1Z2Ajh331ARNBRs+bffUCPbc1d7N99QAkxSwjy331AtBrLsvfffUCVKk1d/d99QKpg0QcD4H1A9LxXsgjgfUB3P+BcDuB9QDLoagcU4H1AJbf3sRngfUBWrIZcH+B9QMLHFwcl4H1AaQmrsSrgfUBRcUBcMOB9QHj/1wY24H1A37NxsTvgfUCKjg1cQeB9QHmPqwZH4H1AqrZLsUzgfUAjBO5bUuB9QON3kgZY4H1A6RE5sV3gfUA80uFbY+B9QNm4jAZp4H1AwMU5sW7gfUD3+OhbdOB9QHtSmgZ64H1ATtJNsX/gfUBzeANcheB9QOtEuwaL4H1Aszd1sZDgfUDTUDFcluB9QEiQ7wac4H1A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KweKQOFNkqszB4pAKjKcRTwHikDtxavfRAeKQCgJwXlNB4pA4vvbE1YHikAknvytXgeKQPHvIkhnB4pATPFO4m8HikBBooB8eAeKQAgXBpr3CopAX0eNNgALikCkKRrTCAuKQNi9rG8RC4pACARFDBoLikA1/OKoIguKQGKmhkUrC4pAmwIw4jMLikDjEN9+PAuKQDzRkxtFC4pAs0NOuE0LikBJaA5VVguKQAE/1PFeC4pA58efjmcLikD+AnErcAuKQEjwR8h4C4pA0Y8kZYELikCb4QYCiguKQKjl7p6SC4pAB5zcO5sLikC4BNDYowuKQL0fyXWsC4pAJO3HErULikA6kM3vjg2KQGGFC46XDYpAKy5PLKANikCaipjKqA2KQLKa52ixDYpAfV48B7oNikAA1palwg2KQDwB90PLDYpAPeBc4tMNikAFc8iA3A2KQJi5OR/lDYpAArSwve0NikBEYi1c9g2KQGDEr/r+DYpAv1VFb/4QikCeTskPBxGKQGL9UrAPEYpADWLiUBgRikChfHfxIBGKQCxNEpIpEYpAsNOyMjIRikAuEFnTOhGKQLMCBXRDEYpAQqu2FEwRikDdCW61VBGKQJEeK1ZdEYpAPkXVihISikBXBRAsGxKKQAR8UM0jEopAUamWbiwSikBCjeIPNRKKQNcnNLE9EopAHnmLUkYSikAYgejzThKKQMk/S5VXEopAPLWzNmASikB04SHYaBKKQHLElXlxEopA9SuyNQQTikD47IzXDBOKQDdlbXkVE4pAsJRTGx4TikBoez+9JhOKQGsZMV8vE4pAum4oATgTikBZeyWjQBOKQFM/KEVJE4pArbow51ETikBl7T6JWhOKQIvXUitjE4pAHnlszWsTikAl0otvdBOKQKjisBF9E4pAq6rbs4UTikCe/EKQyxaKQFFvnjTUFopAt5v/2NwWikDSgWZ95RaKQK8h0yHuFopAT3tFxvYWikC1jr1q/xaKQO5bOw8IF4pA/eK+sxAXikDjI0hYGReKQKse1/whF4pAWtNroSoXikDwQQZGMxeKQH1qpuo7F4pA/0xMj0QXikB86fczTReKQP4/qdhVF4pAh1BgfV4XikAdGx0iZxeKQMif38ZvF4pAjN6na3gXikBt13UQgReKQHSKSbWJF4pARg31fz0aikDA75gmRhqKQDOOQs1OGopAoOjxc1caikAT/6YaYBqKQJDRYcFoGopAGGAiaHEaikC3qugOehqKQHCxtLWCGopARHSGXIsaikBC810DlBqKQGouO6qcGopAsqSuzBUbikAN6eFzHhuKQOrpGhsnG4pAVqdZwi8bikBUIZ5pOBuKQOdX6BBBG4pAGEs4uEkbikDu+o1fUhuKQGln6QZbG4pAlZBKrmMbikB0drFVbBuKQAsZHv10G4pAZHiQpH0bikCClAhMhhuKQGMxt5GxG4pAl7pRObobikC0APLgwhuKQMgDmIjLG4pA1MNDMNQbikDaQPXX3BuKQOh6rH/lG4pA/3FpJ+4bikAiJizP9huKQF2X9Hb/G4pAtMXCHggcikCxwh9mMxyKQB5gEA48HIpAy7oGtkQcikDD0gJeTRyKQAmoBAZWHIpAoDoMrl4cikCTihlWZxyKQOaXLP5vHIpAmWJFpngcikC76mNOgRyKQE0wiPaJHIpAUjOynpIcikB2bLpwex+KQPsn2BqEH4pA8aL7xIwfikBY3SRvlR+KQDTXUxmeH4pAkpCIw6YfikBzCcNtrx+KQNtBAxi4H4pA1TlJwsAfikBk8ZRsyR+KQIlo5hbSH4pAU589wdofikD+GcTIcSOKQPXpgnV6I4pA+ntHIoMjikAP0BHPiyOKQDnm4XuUI4pAf763KJ0jikDpWJPVpSOKQHa1dIKuI4pANdRbL7cjikAltUjcvyOKQEtYO4nII4pAs70zNtEjikBf5THj2SOKQFHPNZDiI4pAlns/PesjikCDV8kIXCSKQHimI7ZkJIpAF7iDY20kikBhjOkQdiSKQFkjVb5+JIpACn3Ga4ckikB4mT0ZkCSKQKV4usaYJIpAnRo9dKEkikBjf8UhqiSKQPqmU8+yJIpAe7DEVMQmikAUM7gDzSaKQOd5sbLVJopA/4SwYd4mikBhVLUQ5yaKQA7ov7/vJopAEkDQbvgmikBvXOYdASeKQCo9As0JJ4pATOIjfBInikDaS0srGyeKQNZ5eNojJ4pASmyriSwnikA8I+Q4NSeKQKyeIug9J4pAqN5ml0YnikAw47BGTyeKQEmsAPZXJ4pA/jlWpWAnikBSjLFUaSeKQEejEgRyJ4pA6n55s3onikA+H+ZigyeKQEOEWBKMJ4pAB67QwZQnikCMnE5xnSeKQNVP0iCmJ4pA7sdb0K4nikDaBOt/tyeKQJsGgC/AJ4pAPM0a38gnikDCWLuO0SeKQC6pYT7aJ4pAjL4N7uInikDfmL+d6yeKQCo4d030J4pAeZw0/fwnikDOxfesBSiKQCu0wFwOKIpAnmePDBcoikAo4GO8HyiKQMwdPmwoKIpAliAeHDEoikCJ6APMOSiKQKd173tCKIpA/cfgK0soikAu15iUxSqKQPNoNUbOKopAn8HX99YqikA14X+p3yqKQLfHLVvoKopAMXXhDPEqikCm6Zq++SqKQBglWnACK4pAlCcfIgsrikAb8enTEyuKQLKBuoUcK4pAY9mQNyUrikAy+GzpLSuKQCDeTps2K4pAOos2TT8rikCE/yP/RyuKQP46F7FQK4pAtj0QY1krikCtBw8VYiuKQOeYE8dqK4pAb/EdeXMrikBJES4rfCuKQHb4Q92EK4pABKdfj40rikDzHIFBliuKQEhaqPOeK4pADl/VpacrikBIKwhYsCuKQPe+QAq5K4pAKRp/vMErikDhPMNuyiuKQCAnDSHTK4pA89hc09srikBcUrKF5CuKQF6TDTjtK4pABZxu6vUrikBTbNWc/iuKQEwEQk8HLIpA+2O0ARAsikBjiyy0GCyKQIZ6qmYhLIpAcDEuGSosikAmsLfLMiyKQKj2Rn47LIpAAwXcMEQsikA423bjTCyKQE15F5ZVLIpASt+9SF4sikA1DWr7ZiyKQBADHK5vLIpA5sDTYHgsikC6RpETgSyKQI+UVMaJLIpAcKodeZIsikBgiOwrmyyKQGIuwd6jLIpAg5ybkawsikD/se/xrS6KQKMvJaa2LopAw3ZgWr8uikBfh6EOyC6KQIVh6MLQLopANwU1d9kuikB3cocr4i6KQFOp39/qLopAyqk9lPMuikDjc6FI/C6KQKcHC/0EL4pAGmV6sQ0vikA/jO9lFi+KQCB9ahofL4pAwTfrzicvikAmvHGDMC+KQFgK/jc5L4pAXCKQ7EEvikDsr8VVUy+KQIclaQpcL4pAB2USv2QvikB4bsFzbS+KQN1Bdih2L4pAON8w3X4vikCWRvGRhy+KQPl3t0aQL4pAZXOD+5gvikDjOFWwoS+KQHrILGWqL4pAKCIKGrMvikD9Re3Ouy+KQPkz1oPEL4pAHuzEOM0vikB8brnt1S+KQBK7s6LeL4pA5dGzV+cvikD/srkM8C+KQGNexcH4L4pAFdTWdgEwikAgFO4rCjCKQIceC+ESMIpATPMtlhswikB9klZLJDCKQBr8hAAtMIpAwe8hQG8xikBNdiz2dzGKQCfIPKyAMYpAU+VSYokxikDczW4YkjGKQMWBkM6aMYpAEAG4hKMxikDLS+U6rDGKQPVhGPG0MYpAlENRp70xikCz8I9dxjGKQFVp1BPPMYpAKHAKMaAyikDfz9/nqDKKQLL7up6xMopApPObVboyikC2t4IMwzKKQPdHb8PLMopAaKRhetQyikALzVkx3TKKQO7BV+jlMopAEYNbn+4yikB5EGVW9zKKQDFqdA0AM4pAPJCJxAgzikCcgqR7ETOKQF1BxTIaM4pAhMzr6SIzikARJBihKzOKQBBISlg0M4pAhTiCDz0zikBz9b/GRTOKQOV+A35OM4pA3dRMNVczikBf95vsXzOKQHfm8KNoM4pAJ6JLW3EzikByKqwSejOKQGR/EsqCM4pA/6B+gYszikBHj/A4lDOKQEdKaPCcM4pAAtLlp6UzikB7JmlfrjOKQL1H8ha3M4pAzTWBzr8zikCq8BWGyDOKQGN4sD3RM4pA+sxQ9dkzikBx7vas4jOKQNXcomTrM4pAJ5hUHPQzikBrIAzU/DOKQK51yYsFNIpA9635+cc2ikCF+JKz0DaKQOsRMm3ZNopAN/rWJuI2ikBqsYHg6jaKQIY3MprzNopAmIzoU/w2ikCksKQNBTeKQKmjZscNN4pAt2UugRY3ikDP9vs6HzeKQPNWz/QnN4pAiYSHaDk3ikAAUmwiQjeKQKDuVtxKN4pAbVpHllM3ikBrlT1QXDeKQKOfOQplN4pAGnk7xG03ikDRIUN+djeKQNaZUDh/N4pAKuFj8oc3ikDR93yskDeKQNbdm2aZN4pAPJPAIKI3ikAGGOvaqjeKQD9sG5WzN4pA649RT7w3ikAMg40JxTeKQK5Fz8PNN4pA1dcWftY3ikCBOWQ43zeKQMBqt/LnN4pAlGsQrfA3ikABPG9n+TeKQBHc0yECOIpAyEs+3Ao4ikAoi66WEziKQD2aJFEcOIpADHmgCyU4ikCUJyLGLTiKQOOlqYA2OIpA/PM2Oz84ikDhEcr1RziKQJ//YrBQOIpANr0Ba1k4ikCtSqYlYjiKQAuoUOBqOIpAV9UAm3M4ikCS0rZVfDiKQCDSdLawOIpAoH9Tcbk4ikBA/TcswjiKQANLIufKOIpA9GgSotM4ikAaVwhd3DiKQHIVBBjlOIpADKQF0+04ikDpAg2O9jiKQAwyGkn/OIpAgTEtBAg5ikDUQDWGeTmKQPqmmUGCOYpAyd0D/Yo5ikBF5XO4kzmKQG+96XOcOYpAVGZlL6U5ikD23+bqrTmKQFgqbqa2OYpAh0X7Yb85ikCEMY4dyDmKQFLuJtnQOYpA/nvFlNk5ikCL2mlQ4jmKQEWRViPOOopAi9Gd39Y6ikBe4+qb3zqKQMDGPVjoOopAs3uWFPE6ikBDAvXQ+TqKQHNaWY0CO4pARYTDSQs7ikDHfzMGFDuKQPtMqcIcO4pA4eskfyU7ikCIXKY7LjuKQPOeLfg2O4pAIrO6tD87ikAlmU1xSDuKQPpQ5i1RO4pAp9qE6lk7ikA4NimnYjuKQK1j02NrO4pAC2ODIHQ7ikBfNDndfDuKQKjX9JmFO4pA7Ey2Vo47ikA2lH0TlzuKQImtStCfO4pA55gdjag7ikBcVvZJsTuKQOzl1Aa6O4pAmUe5w8I7ikBue6OAyzuKQG+Bkz3UO4pAnlmJ+tw7ikAIBIW35TuKQK+AhnTuO4pAlc+NMfc7ikDH8Jru/zuKQGsIOX4+P4pAvW51PUc/ikCLqbf8Tz+KQNq4/7tYP4pAtJxNe2E/ikAfVaE6aj+KQBvi+vlyP4pAtENauXs/ikDveb94hD+KQMyEKjiNP4pAWGSb95U/ikCWGBK3nj+KQImhjnanP4pAtTGZ9bg/ikDzOCe1wT+KQAIVu3TKP4pA58VUNNM/ikCjS/Tz2z+KQEOmmbPkP4pAytVEc+0/ikA42vUy9j+KQJ2zrPL+P4pA+mFpsgdAikBS5StyEECKQLA99DEZQIpAF2vC8SFAikCLbZaxKkCKQBZFcHEzQIpAFIG+8a1AikCY1++xtkCKQI8DJ3K/QIpA+gRkMshAikDn26by0ECKQFiI77LZQIpATwo+c+JAikDYYZIz60CKQPeO7PPzQIpAsJFMtPxAikALarJ0BUGKQLOsNg/QSopAZrQq1thKikBUmCSd4UqKQH5YJGTqSopA5fQpK/NKikCZbTXy+0qKQJvCRrkES4pA7PNdgA1LikCcAXtHFkuKQKrrnQ4fS4pAGrLG1SdLikD5VPWcMEuKQEnUKWQ5S4pAuNssmNNOikD6I89h3E6KQCVLdyvlTopAPFEl9e1OikBANtm+9k6KQED6koj/TopAPZ1SUghPikA6HxgcEU+KQESA4+UZT4pAXcC0ryJPikCH34t5K0+KQM/daEM0T4pAOLtLDT1PikCyyQ1b2FKKQBWNXyfhUopAEjK38+lSikCsuBTA8lKKQOUgeIz7UopAy2rhWARTikBfllAlDVOKQKWjxfEVU4pAp5JAvh5TikBrY8GKJ1OKQPEVSFcwU4pAR6rUIzlTikBuIGfwQVOKQM2S00R1VYpAuJDkEn5VikD5cfvghlWKQJU2GK+PVYpAlt46fZhVikACamNLoVWKQNnYkRmqVYpAKCvG57JVikDzYAC2u1WKQDt6QITEVYpADXeGUs1VikBsV9Ig1lWKQFobJO/eVYpA5MJ7vedVikANTtmL8FWKQNa8PFr5VYpATQ+mKAJWikBzRRX3ClaKQNfRbInVVopAbmdpWN5WikBF4Wsn51aKQGk/dPbvVopA3oGCxfhWikClqJaUAVeKQMqzsGMKV4pAUaPQMhNXikA7d/YBHFeKQJcvItEkV4pAZsxToC1XikCqTYtvNleKQHGzyD4/V4pAed9us8peikCm1L6H016KQGyzFFzcXopA2XtwMOVeikDuLdIE7l6KQK7JOdn2XopAJU+nrf9eikBXvhqCCF+KQEUXlFYRX4pA/lkTKxpfikCBhpj/Il+KQNWcI9QrX4pAAp20qDRfikAOh0t9PV+KQM8zUXlyX4pAj4MRTntfikBfvdcihF+KQEPho/eMX4pAPe91zJVfikBZ502hnl+KQJvJK3anX4pABJYPS7BfikCjTPkfuV+KQHjt6PTBX4pAhnjeycpfikDa7dme01+KQHdN23PcX4pAJ6Ris3VnikDrfoGNfmeKQCNJpmeHZ4pA0QLRQZBnikAArAEcmWeKQLZEOPahZ4pA8sx00KpnikDDRLeqs2eKQCqs/4S8Z4pALANOX8VnikDTSaI5zmeKQCKA/BPXZ4pAH6Zc7t9nikDSu8LI6GeKQD/iG9I2b4pA9IhusT9vikBcJMeQSG+KQHm0JXBRb4pATjmKT1pvikDosvQuY2+KQEkhZQ5sb4pAdITb7XRvikB23FfNfW+KQFAp2qyGb4pAB2tijI9vikCnofBrmG+KQDHNhEuhb4pAqu0eK6pvikAdA78Ks2+KQI0NZeq7b4pAKCEngPx2ikA5K7JkBXeKQDgvQ0kOd4pAMy3aLRd3ikAqJXcSIHeKQCMXGvcod4pAKAPD2zF3ikA+6XHAOneKQGbJJqVDd4pAraPhiUx3ikAWeKJuVXeKQKNGaVNed4pAYg82OGd3ikBU0ggdcHeKQH6P4QF5d4pA60bA5oF3ikCe+KTLineKQJmkj7CTd4pA6kqAlZx3ikCT63Z6pXeKQJeGc1+ud4pA1Q9XBKx+ikCBHA3utH6KQFUoyde9fopAUzOLwcZ+ikCJPVOrz36KQPlGIZXYfopAp0/1fuF+ikCeV89o6n6KQOJer1LzfopAdWWVPPx+ikBja4EmBX+KQLFwcxAOf4pAYHVr+hZ/ikB8eWnkH3+KQAl9bc4of4pACoB3uDF/ikA1h9tgVX+KQOeHA0tef4pAMIgxNWd/ikAeiGUfcH+KQLKHnwl5f4pA8Ybf84F/ikDnhSXein+KQJWEcciTf4pAAYPDspx/ikA0gRudpX+KQDR/eYeuf4pAAn3dcbd/ikCqekdcwH+KQDF4t0bJf4pAmHUtMdJ/ikDtcqkb23+KQDFwKwbkf4pAZ22z8Ox/ikCeakHb9X+KQNZn1cX+f4pAEmVvsAeAikBhYg+bEICKQMRftYUZgIpAPV1hcCKAikDbWhNbK4CKQJ9Yy0U0gIpAjFaJMD2AikCvVE0bRoCKQD1AKoe2gopA5IiYc7+CikB10wxgyIKKQPIfh0zRgopAYG4HOdqCikDKvo0l44KKQDMRGhLsgopAn2Ws/vSCikAYvETr/YKKQKMU49cGg4pAQ2+HxA+DikAEzDGxGIOKQOgq4p0hg4pA84uYiiqDikABAV0XYIOKQN1xPQRpg4pAE+Uj8XGDikCmWhDeeoOKQKTSAsuDg4pADU37t4yDikDlyfmklYOKQDtJ/pGeg4pADssIf6eDikBjTxlssIOKQEXWL1m5g4pAul9MRsKDikDB624zy4OKQGl6lyDUg4pAtAvGDd2DikCln/r65YOKQEk2Nejug4pAfuy4CWyHikB9DFP5dIeKQJsx8+h9h4pA2luZ2IaHikA+i0XIj4eKQNK/97eYh4pAmfmvp6GHikCWOG6XqoeKQNZ8Moezh4pAXMb8dryHikArFc1mxYeKQE9po1bOh4pAysJ/RteHikCgIWI24IeKQN6FSibph4pAgteRtCiLikCzoLCmMYuKQIdx1Zg6i4pADEoAi0OLikBEKjF9TIuKQDESaG9Vi4pA4AGlYV6LikBV+edTZ4uKQJH4MEZwi4pApP9/OHmLikCNDtUqgouKQE8lMB2Li4pA+kORD5SLikCOavgBnYuKQA6ZZfSli4pAiM/Y5q6LikD+DVLZt4uKQHNU0cvAi4pA86JWvsmLikCYoFpk3KqKQOmF5GvlqopAkIh0c+6qikCeqAp796qKQBTmpoIAq4pA9EBJigmrikBMufGREquKQB5PoJkbq4pAbgJVoSSrikBJ0w+pLauKQLDB0LA2q4pAp82XuD+rikA892TASKuKQG8+OMhRq4pARqMR0FqrikDNJfHXY6uKQAbG1t9sq4pA9IPC53WrikClX7TvfquKQBpZrPeHq4pAV3Cq/5CrikBqpa4HmquKQFT4uA+jq4pAGWnJF6yrikDF998ftauKQFyk/Ce+q4pA4G4fMMerikBeV0g40KuKQNldd0DZq4pAVIKsSOKrikDbxOdQ66uKQGPPdeEos4pA2UOf7jGzikBl2877OrOKQAqWBAlEs4pAy3NAFk2zikC0dIIjVrOKQMmYyjBfs4pADeAYPmizikCNSm1LcbOKQErYx1h6s4pASIkoZoOzikCWXY9zjLOKQDRV/ICVs4pAJnBvjp6zikB5ruibp7OKQE2V7ba5s4pA3j15xMKzikDmCQvSy7OKQGf5ot/Us4pAbwxB7d2zikD/QuX65rOKQB2djwjws4pA0xpAFvmzikAlvPYjArSKQBaBszELtIpAs2l2PxS0ikD+dT9NHbSKQPylDlsmtIpAuPnjaC+0ikA1cb92OLSKQHcMoYRBtIpAisuIkkq0ikAFskQ7t7SKQMZEfEnAtIpAqfu5V8m0ikC81v1l0rSKQADWR3TbtIpAefmXguS0ikAzQe6Q7bSKQDOtSp/2tIpAej2trf+0ikAW8hW8CLWKQAjLhMoRtYpAVcj52Bq1ikAK6nTnI7WKQCgw9vUstYpAs5p9BDa1ikCYeI40zLuKQN8ulEfVu4pALw6gWt67ikCLFrJt57uKQABIyoDwu4pAkqLok/m7ikBDJg2nAryKQCDTN7oLvIpALKlozRS8ikBqqJ/gHbyKQOjQ3PMmvIpApyIgBzC8ikCqnWkaObyKQDaxVZy0vopA791Usb2+ikCxNVrGxr6KQIi4ZdvPvopAeGZ38Ni+ikCFP48F4r6KQLpDrRrrvopAGnPRL/S+ikCqzftE/b6KQHRTLFoGv4pAfgRjbw+/ikDI4J+EGL+KQGLo4pkhv4pATRssryq/ikCMeXvEM7+KQCwD0dk8v4pAMbgs70W/ikCdmI4ET7+KQHyk9hlYv4pA1NtkL2G/ikClPtlEar+KQP3MU1pzv4pA34bUb3y/ikBObFuFhb+KQFZ96JqOv4pA/bl7sJe/ikBDIhXGoL+KQDS2tNupv4pA13Va8bK/ikArYQYHvL+KQD94uBzFv4pAFrtwMs6/ikDnJi52U8KKQAj5oo1cwopAtfgdpWXCikD5JZ+8bsKKQNmAJtR3wopAVAm064DCikB7v0cDisKKQE6j4RqTwopA0rSBMpzCikAU9CdKpcKKQBVh1GGuwopA2/uGebfCikBvxD+RwMKKQNi6/qjJwopAFt/DwNLCikA4MY/Y28KKQD+xYPDkwopAL184CO7CikAWOxYg98KKQPVE+jcAw4pA0XzkTwnDikC24tRnEsOKQKV2y38bw4pApDjIlyTDikC/KMuvLcOKQPhG1Mc2w4pAVJPj3z/DikDdDfn3SMOKQJm2FBBSw4pAiY02KFvDikC7kl5AZMOKQDHGjFhtw4pA7yfBcHbDikACuPuIf8OKQGt2PKGIw4pAL2ODuZHDikBaftDRmsOKQPHHI+qjw4pA9D99Aq3DikBx5twatsOKQGy7QjO/w4pA6L6uS8jDikDw8CBk0cOKQElo7Q8RxIpAfw+RKBrEikB75TpBI8SKQELq6lksxIpA0x2hcjXEikA9gF2LPsSKQIMRIKRHxIpAqNHovFDEikC4wLfVWcSKQLjejO5ixIpAqStoB2zEikCYp0kgdcSKQCsZFlapxopAoFZ9cLLGikCkxOqKu8aKQDpjXqXExopAcDLYv83GikBHMlja1saKQMNi3vTfxopA8sNqD+nGikDWVf0p8saKQHEYlkT7xopA0Qs1XwTHikD5L9p5DceKQOyEhZQWx4pAtwo3rx/HikBdwe7JKMeKQOGorOQxx4pAUMFw/zrHikCsCjsaRMeKQPmECzVNx4pARTDiT1bHikCPDL9qX8eKQN8ZooVox4pAP1iLoHHHikCzx3q7eseKQD1ocNaDx4pA6zls8YzHikDAPG4MlseKQL9wdiefx4pA9NWEQqjHikBibJldsceKQA40tHi6x4pAAy3Vk8PHikBDV/yuzMeKQNWyKcrVx4pAwT9d5d7HikAO/pYA6MeKQL3t1hvxx4pA3A4dN/rHikBuYWlSA8iKQHXlu20MyIpA/poUiRXIikAMgnOkHsiKQKOa2L8nyIpAz+RD2zDIikCTYLX2OciKQGT+7qZSy4pAO+eBxFvLikDgAxviZMuKQFdUuv9ty4pAothfHXfLikDPkAs7gMuKQOF8vViJy4pA2Zx1dpLLikDH8DOUm8uKQK14+LGky4pAjDTDz63LikBzJJTttsuKQGVIawvAy4pAZKBIKcnLikBJz2LtPc+KQM+NoA1Hz4pA1oLkLVDPikBsri5OWc+KQJIQf25iz4pATanVjmvPikCpeDKvdM+KQKh+lc99z4pAT7v+74bPikCqLm4QkM+KQLzY4zCZz4pAiLlfUaLPikAb0eFxq8+KQHgfapK0z4pAo6T4sr3PikCnYI3Txs+KQIlTKPTPz4pAS33JFNnPikD73XA14s+KQJl1Hlbrz4pALETSdvTPikC/SYyX/c+KQFgDI9kX1opAKWwL/iDWikBAEPoiKtaKQKnv7kcz1opAaArqbDzWikB/YOuRRdaKQP3x8rZO1opA474A3FfWikA1xxQBYdaKQP8KLyZq1opARopPS3PWikALRXZwfNaKQLhuqc1O14pALMVl81fXikDFVygZYdeKQIYm8T5q14pAcjHAZHPXikCWeJWKfNeKQPX7cLCF14pAkrtS1o7XikB7tzr8l9eKQLHvKCKh14pAOWQdSKrXikAgFRhus9eKQGcCGZS814pAEywgusXXikAxki3gzteKQMI0QQbY14pAyxNbLOHXikCrotxtmNmKQMIzKJWh2YpAkgJ6vKrZikAfD9Ljs9mKQHdZMAu92YpAm+GUMsbZikCOp/9Zz9mKQGCrcIHY2YpAEu3nqOHZikCmbGXQ6tmKQCsq6ffz2YpAoyVzH/3ZikASXwNHBtqKQMgteovG2opA/8CTs8/aikDCkrPb2NqKQBSj2QPi2opABPIFLOvaikCSfzhU9NqKQMNLcXz92opApVawpAbbikA5oPXMD9uKQIMoQfUY24pAke+SHSLbikBk9epFK9uKQAE6SW4024pA54CJ50/bikD5wAAQWduKQPY/fjhi24pA4/0BYWvbikDM+ouJdNuKQLY2HLJ924pAobGy2obbikCda08DkNuKQKxk8iuZ24pAz5ybVKLbikAWFEt9q9uKQILKAKa024pAGMC8zr3bikDj9H73xtuKQOhoRyDQ24pAKhwWSdnbikCzDutx4tuKQHXkOEb13IpA14zPb/7cikBIdWyZB92KQNWdD8MQ3YpAgQa57BndikBQr2gWI92KQE6YHkAs3YpAf8HaaTXdikDlKp2TPt2KQI3UZb1H3YpAe74051DdikCy6AkRWt2KQD9T5Tpj3YpAJP7GZGzdikBl6a6Odd2KQA8Vnbh+3YpAJYGR4ofdikCrLYwMkd2KQKwajTaa3YpALEiUYKPdikAutqGKrN2KQMBktbS13YpA5FPP3r7dikCfg+8IyN2KQPrzFTPR3YpA/KRCXdrdikCnlnWH492KQAfJrrHs3YpAIDzu2/XdikD07zMG/92KQJLkfzAI3opA+xnSWhHeikA0kCqFGt6KQEhHia8j3opAPD/u2SzeikASeFkENt6KQNjxyi4/3opAj6xCWUjeikA9qMCDUd6KQOzkRK5a3opAomLP2GPeikBfIWADbd6KQDMh9y123opAIGKUWH/eikAn5DeDiN6KQFin4a2R3opAtauR2JreikBB8UcDpN6KQAp4BC6t3opAEUDHWLbeikBaSZCDv96KQPOTX67I3opA3x812dHeikAf7RAE296KQML78i7k3opAy0vbWe3eikA83cmE9t6KQCOwvq//3opAg8S52gjfikBfGrsFEt+KQMSxwjAb34pAtYrQWyTfikA0peSGLd+KQFAB/7E234pADJ8f3T/fikBpfkYISd+KQHafczNS34pANQKnXlvfikCppuCJZN+KQN20ZuB234pAox6zC4DfikA+ygU3id+KQLO3XmKS34pAA+e9jZvfikA8WCO5pN+KQGELj+St34pAdQABELffikCGN3k7wN+KQJWw92bJ34pAqGt8ktLfikDKaAe+29+KQP6nmOnk34pASCkwFe7fikC07M1A99+KQEbycWwA4IpAADocmAngikDyw8zDEuCKQBuQg+8b4IpAhcBot+XgikC1hq/j7uCKQLiP/A/44IpAkdtPPAHhikBMaqloCuGKQO07CZUT4YpAeFBvwRzhikD4p9vtJeGKQHJCThov4YpA6B/HRjjhikBoQEZzQeGKQPSjy59K4YpAj0pXzFPhikAKMdgElOGKQCfxlTGd4YpA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 @@ -182,18 +222,18 @@ - - - - - + + + + + - + @@ -210,7 +250,7 @@ AAAwuugCaUAAAGB00QVpQAAAkC66CGlAAADA6KILaUAAAPCiiw5pQAAAIF10EWlAAABQF10UaUAAAIDRRRdpQAAAsIsuGmlAAADgRRcdaUAAABAAACBpQAAAQLroImlAAABwdNElaUAAAKAuuihpQAAA0OiiK2lAAAAAo4suaUAAADBddDFpQAAAYBddNGlAAACQ0UU3aUAAAMCLLjppQAAA8EUXPWlAAAAgAABAaUAAAFC66EJpQAAAgHTRRWlAAACwLrpIaUAAAODooktpQAAAEKOLTmlAAABAXXRRaUAAAHAXXVRpQAAAoNFFV2lAAADQiy5aaUAAAABGF11pQAAAMAAAYGlAAABguuhiaUAAAJB00WVpQAAAwC66aGlAAADw6KJraUAAACCji25pQAAAUF10cWlAAACAF110aUAAALDRRXdpQAAA4IsuemlAAAAQRhd9aUAAAEAAAIBpQAAAcLrogmlAAACgdNGFaUAAANAuuohpQAAAAOmii2lAAAAwo4uOaUAAAGBddJFpQAAAkBddlGlAAADA0UWXaUAAAPCLLpppQAAAIEYXnWlAAABQAACgaUAAAIC66KJpQAAAsHTRpWlAAADgLrqoaUAAABDpoqtpQAAAQKOLrmlAAABwXXSxaUAAAKAXXbRpQAAA0NFFt2lAAAAAjC66aUAAADBGF71pQAAAYAAAwGlAAACQuujCaUAAAMB00cVpQAAA8C66yGlAAAAg6aLLaUAAAFCji85pQAAAgF100WlAAACwF13UaUAAAODRRddpQAAAEIwu2mlAAABARhfdaUAAAHAAAOBpQAAAoLro4mlAAADQdNHlaUAAAAAvuuhpQAAAMOmi62lAAABgo4vuaUAAAJBddPFpQAAAwBdd9GlAAADw0UX3aUAAACCMLvppQAAAUEYX/WlAAACAAAAAakAAALC66AJqQAAA4HTRBWpAAAAQL7oIakAAAEDpogtqQAAAcKOLDmpAAACgXXQRakAAANAXXRRqQAAAANJFF2pAAAAwjC4aakAAAGBGFx1qQAAAkAAAIGpAAADAuugiakAAAPB00SVqQAAAIC+6KGpAAABQ6aIrakAAAICjiy5qQAAAsF10MWpAAADgF100akAAABDSRTdqQAAAQIwuOmpAAABwRhc9akAAAKAAAEBqQAAA0LroQmpAAAAAddFFakAAADAvukhqQAAAYOmiS2pAAACQo4tOakAAAMBddFFqQAAA8BddVGpAAAAg0kVXakAAAFCMLlpqQAAAgEYXXWpAAACwAABgakAAAOC66GJqQAAAEHXRZWpAAABAL7poakAAAHDpomtqQAAAoKOLbmpAAADQXXRxakAAAAAYXXRqQAAAMNJFd2pAAABgjC56akAAAJBGF31qQAAAwAAAgGpAAADwuuiCakAAACB10YVqQAAAUC+6iGpAAACA6aKLakAAALCji45qQAAA4F10kWpAAAAQGF2UakAAAEDSRZdqQAAAcIwummpAAACgRhedakAAANAAAKBqQAAAALvoompAAAAwddGlakAAAGAvuqhqQAAAkOmiq2pAAADAo4uuakAAAPBddLFqQAAAIBhdtGpAAABQ0kW3akAAAICMLrpqQAAAsEYXvWpAAADgAADAakAAABC76MJqQAAAQHXRxWpAAABwL7rIakAAAKDpostqQAAA0KOLzmpAAAAAXnTRakAAADAYXdRqQAAAYNJF12pAAACQjC7aakAAAMBGF91qQAAA8AAA4GpAAAAgu+jiakAAAFB10eVqQAAAgC+66GpAAACw6aLrakAAAOCji+5qQAAAEF508WpAAABAGF30akAAAHDSRfdqQAAAoIwu+mpAAADQRhf9akAAAAABAABrQAAAMLvoAmtAAABgddEFa0AAAJAvughrQAAAwOmiC2tAAADwo4sOa0AAACBedBFrQAAAUBhdFGtAAACA0kUXa0AAALCMLhprQAAA4EYXHWtAAAAQAQAga0AAAEC76CJrQAAAcHXRJWtAAACgL7ooa0AAANDpoitrQAAAAKSLLmtAAAAwXnQxa0AAAGAYXTRrQAAAkNJFN2tAAADAjC46a0AAAPBGFz1rQAAAIAEAQGtAAABQu+hCa0AAAIB10UVrQAAAsC+6SGtAAADg6aJLa0AAABCki05rQAAAQF50UWtAAABwGF1Ua0AAAKDSRVdrQAAA0IwuWmtAAAAARxdda0AAADABAGBrQAAAYLvoYmtAAACQddFla0AAAMAvumhrQAAA8Omia2tAAAAgpItua0AAAFBedHFrQAAAgBhddGtAAACw0kV3a0AAAOCMLnprQAAAEEcXfWtAAABAAQCAa0AAAHC76IJrQAAAoHXRhWtAAADQL7qIa0AAAADqootrQAAAMKSLjmtAAABgXnSRa0AAAJAYXZRrQAAAwNJFl2tAAADwjC6aa0AAACBHF51rQAAAUAEAoGtAAACAu+iia0AAALB10aVrQAAA4C+6qGtAAAAQ6qKra0AAAECki65rQAAAcF50sWtAAACgGF20a0AAANDSRbdrQAAAAI0uumtAAAAwRxe9a0AAAGABAMBrQAAAkLvowmtAAADAddHFa0AAAPAvushrQAAAIOqiy2tAAABQpIvOa0AAAIBedNFrQAAAsBhd1GtAAADg0kXXa0AAABCNLtprQAAAQEcX3WtAAABwAQDga0AAAKC76OJrQAAA0HXR5WtAAAAAMLroa0AAADDqoutrQAAAYKSL7mtAAACQXnTxa0AAAMAYXfRrQAAA8NJF92tAAAAgjS76a0AAAFBHF/1rQAAAgAEAAGxAAACwu+gCbEAAAOB10QVsQAAAEDC6CGxAAABA6qILbEAAAHCkiw5sQAAAoF50EWxAAADQGF0UbEAAAADTRRdsQAAAMI0uGmxAAABgRxcdbEAAAJABACBsQAAAwLvoImxAAADwddElbEAAACAwuihsQAAAUOqiK2xAAACApIsubEAAALBedDFsQAAA4BhdNGxAAAAQ00U3bEAAAECNLjpsQAAAcEcXPWxAAACgAQBAbEAAANC76EJsQAAAAHbRRWxAAAAwMLpIbEAAAGDqoktsQAAAkKSLTmxAAADAXnRRbEAAAPAYXVRsQAAAINNFV2xAAABQjS5abEAAAIBHF11sQAAAsAEAYGxAAADgu+hibEAAABB20WVsQAAAQDC6aGxAAABw6qJrbEAAAKCki25sQAAA0F50cWxAAAAAGV10bEAAADDTRXdsQAAAYI0uemxAAACQRxd9bEAAAMABAIBsQAAA8LvogmxAAAAgdtGFbEAAAFAwuohsQAAAgOqii2xAAACwpIuObEAAAOBedJFsQAAAEBldlGxAAABA00WXbEAAAHCNLppsQAAAoEcXnWxAAADQAQCgbEAAAAC86KJsQAAAMHbRpWxAAABgMLqobEAAAJDqoqtsQAAAwKSLrmxAAADwXnSxbEAAACAZXbRsQAAAUNNFt2xAAACAjS66bEAAALBHF71sQAAA4AEAwGxAAAAQvOjCbEAAAEB20cVsQAAAcDC6yGxAAACg6qLLbEAAANCki85sQAAAAF900WxAAAAwGV3UbEAAAGDTRddsQAAAkI0u2mxAAADARxfdbEAAAPABAOBsQAAAILzo4mxAAABQdtHlbEAAAIAwuuhsQAAAsOqi62xAAADgpIvubEAAABBfdPFsQAAAQBld9GxAAABw00X3bEAAAKCNLvpsQAAA0EcX/WxAAAAAAgAAbUAAADC86AJtQAAAYHbRBW1AAACQMLoIbUAAAMDqogttQAAA8KSLDm1AAAAgX3QRbUAAAFAZXRRtQAAAgNNFF21AAACwjS4abUAAAOBHFx1tQAAAEAIAIG1AAABAvOgibUAAAHB20SVtQAAAoDC6KG1AAADQ6qIrbUAAAACliy5tQAAAMF90MW1AAABgGV00bUAAAJDTRTdtQAAAwI0uOm1AAADwRxc9bUAAACACAEBtQAAAULzoQm1AAACAdtFFbUAAALAwukhtQAAA4OqiS21AAAAQpYtObUAAAEBfdFFtQAAAcBldVG1AAACg00VXbUAAANCNLlptQAAAAEgXXW1AAAAwAgBgbUAAAGC86GJtQAAAkHbRZW1AAADAMLpobUAAAPDqomttQAAAIKWLbm1AAABQX3RxbUAAAIAZXXRtQAAAsNNFd21AAADgjS56bUAAABBIF31tQAAAQAIAgG1AAABwvOiCbUAAAKB20YVtQAAA0DC6iG1AAAAA66KLbUAAADCli45tQAAAYF90kW1AAACQGV2UbUAAAMDTRZdtQAAA8I0umm1AAAAgSBedbUAAAFACAKBtQAAAgLzoom1AAACwdtGlbUAAAOAwuqhtQAAAEOuiq21AAABApYuubUAAAHBfdLFtQAAAoBldtG1AAADQ00W3bUAAAACOLrptQAAAMEgXvW1AAABgAgDAbUAAAJC86MJtQAAAwHbRxW1AAADwMLrIbUAAACDrosttQAAAUKWLzm1AAACAX3TRbUAAALAZXdRtQAAA4NNF121AAAAQji7abUAAAEBIF91tQAAAcAIA4G1AAACgvOjibUAAANB20eVtQAAAADG66G1AAAAw66LrbUAAAGCli+5tQAAAkF908W1AAADAGV30bUAAAPDTRfdtQAAAII4u+m1AAABQSBf9bUAAAIACAABuQAAAsLzoAm5AAADgdtEFbkAAABAxughuQAAAQOuiC25AAABwpYsObkAAAKBfdBFuQAAA0BldFG5AAAAA1EUXbkAAADCOLhpuQAAAYEgXHW5AAACQAgAgbkAAAMC86CJuQAAA8HbRJW5AAAAgMboobkAAAFDroituQAAAgKWLLm5AAACwX3QxbkAAAOAZXTRuQAAAENRFN25AAABAji46bkAAAHBIFz1uQAAAoAIAQG5AAADQvOhCbkAAAAB30UVuQAAAMDG6SG5AAABg66JLbkAAAJCli05uQAAAwF90UW5AAADwGV1UbkAAACDURVduQAAAUI4uWm5AAACASBddbkAAALACAGBuQAAA4LzoYm5AAAAQd9FlbkAAAEAxumhuQAAAcOuia25AAACgpYtubkAAANBfdHFuQAAAABpddG5AAAAw1EV3bkAAAGCOLnpuQAAAkEgXfW5AAADAAgCAbkAAAPC86IJuQAAAIHfRhW5AAABQMbqIbkAAAIDrootuQAAAsKWLjm5AAADgX3SRbkAAABAaXZRuQAAAQNRFl25AAABwji6abkAAAKBIF51uQAAA0AIAoG5AAAAAveiibkAAADB30aVuQAAAYDG6qG5AAACQ66KrbkAAAMCli65uQAAA8F90sW5AAAAgGl20bkAAAFDURbduQAAAgI4uum5AAACwSBe9bkAAAOACAMBuQAAAEL3owm5AAABAd9HFbkAAAHAxushuQAAAoOuiy25AAADQpYvObkAAAABgdNFuQAAAMBpd1G5AAABg1EXXbkAAAJCOLtpuQAAAwEgX3W5AAADwAgDgbkAAACC96OJuQAAAUHfR5W5AAACAMbrobkAAALDroutuQAAA4KWL7m5AAAAQYHTxbkAAAEAaXfRuQAAAcNRF925AAACgji76bkAAANBIF/1uQAAAAAMAAG9AAAAwvegCb0AAAGB30QVvQAAAkDG6CG9AAADA66ILb0AAAPCliw5vQAAAIGB0EW9AAABQGl0Ub0AAAIDURRdvQAAAsI4uGm9AAADgSBcdb0AAABADACBvQAAAQL3oIm9AAABwd9Elb0AAAKAxuihvQAAA0OuiK29AAAAAposub0AAADBgdDFvQAAAYBpdNG9AAACQ1EU3b0AAAMCOLjpvQAAA8EgXPW9AAAAgAwBAb0AAAFC96EJvQAAAgHfRRW9AAACwMbpIb0AAAODroktvQAAAEKaLTm9AAABAYHRRb0AAAHAaXVRvQAAAoNRFV29AAADQji5ab0AAAABJF11vQAAAMAMAYG9AAABgvehib0AAAJB30WVvQAAAwDG6aG9AAADw66Jrb0AAACCmi25vQAAAUGB0cW9AAACAGl10b0AAALDURXdvQAAA4I4uem9AAAAQSRd9b0AAAEADAIBvQAAAcL3ogm9AAACgd9GFb0AAANAxuohvQAAAAOyii29AAAAwpouOb0AAAGBgdJFvQAAAkBpdlG9AAADA1EWXb0AAAPCOLppvQAAAIEkXnW9AAABQAwCgb0AAAIC96KJvQAAAsHfRpW9AAADgMbqob0AAABDsoqtvQAAAQKaLrm9AAABwYHSxb0AAAKAaXbRvQAAA0NRFt29AAAAAjy66b0AAADBJF71vQAAAYAMAwG9AAACQvejCb0AAAMB30cVvQAAA8DG6yG9AAAAg7KLLb0AAAFCmi85vQAAAgGB00W9AAACwGl3Ub0AAAODURddvQAAAEI8u2m9AAABASRfdb0AAAHADAOBvQAAAoL3o4m9AAADQd9Hlb0AAAAAyuuhvQAAAMOyi629AAABgpovub0AAAJBgdPFvQAAAwBpd9G9AAADw1EX3b0AAACCPLvpvQAAAUEkX/W9AAADAAQAAcEAAANhedAFwQAAA8LvoAnBAAAAIGV0EcEAAACB20QVwQAAAONNFB3BAAABQMLoIcEAAAGiNLgpwQAAAgOqiC3BAAACYRxcNcEAAALCkiw5wQAAAyAEAEHBAAADgXnQRcEAAAPi76BJwQAAAEBldFHBAAAAodtEVcEAAAEDTRRdwQAAAWDC6GHBAAABwjS4acEAAAIjqohtwQAAAoEcXHXBAAAC4pIsecEAAANABACBwQAAA6F50IXBAAAAAvOgicEAAABgZXSRwQAAAMHbRJXBAAABI00UncEAAAGAwuihwQAAAeI0uKnBAAACQ6qIrcEAAAKhHFy1wQAAAwKSLLnBAAADYAQAwcEAAAPBedDFwQAAACLzoMnBAAAAgGV00cEAAADh20TVwQAAAUNNFN3BAAABoMLo4cEAAAICNLjpwQAAAmOqiO3BAAACwRxc9cEAAAMikiz5wQAAA4AEAQHBAAAD4XnRBcEAAABC86EJwQAAAKBldRHBAAABAdtFFcEAAAFjTRUdwQAAAcDC6SHBAAACIjS5KcEAAAKDqoktwQAAAuEcXTXBAAADQpItOcEAAAOgBAFBwQAAAAF90UXBAAAAYvOhScEAAADAZXVRwQAAASHbRVXBAAABg00VXcEAAAHgwulhwQAAAkI0uWnBAAACo6qJbcEAAAMBHF11wQAAA2KSLXnBAAADwAQBgcEAAAAhfdGFwQAAAILzoYnBAAAA4GV1kcEAAAFB20WVwQAAAaNNFZ3BAAACAMLpocEAAAJiNLmpwQAAAsOqia3BAAADIRxdtcEAAAOCki25wQAAA+AEAcHBAAAAQX3RxcEAAACi86HJwQAAAQBlddHBAAABYdtF1cEAAAHDTRXdwQAAAiDC6eHBAAACgjS56cEAAALjqontwQAAA0EcXfXBAAADopIt+cEAAAAACAIBwQAAAGF90gXBAAAAwvOiCcEAAAEgZXYRwQAAAYHbRhXBAAAB400WHcEAAAJAwuohwQAAAqI0uinBAAADA6qKLcEAAANhHF41wQAAA8KSLjnBAAAAIAgCQcEAAACBfdJFwQAAAOLzoknBAAABQGV2UcEAAAGh20ZVwQAAAgNNFl3BAAACYMLqYcEAAALCNLppwQAAAyOqim3BAAADgRxedcEAAAPiki55wQAAAEAIAoHBAAAAoX3ShcEAAAEC86KJwQAAAWBldpHBAAABwdtGlcEAAAIjTRadwQAAAoDC6qHBAAAC4jS6qcEAAANDqoqtwQAAA6EcXrXBAAAAApYuucEAAABgCALBwQAAAMF90sXBAAABIvOiycEAAAGAZXbRwQAAAeHbRtXBAAACQ00W3cEAAAKgwurhwQAAAwI0uunBAAADY6qK7cEAAAPBHF71wQAAACKWLvnBAAAAgAgDAcEAAADhfdMFwQAAAULzownBAAABoGV3EcEAAAIB20cVwQAAAmNNFx3BAAACwMLrIcEAAAMiNLspwQAAA4Oqiy3BAAAD4RxfNcEAAABCli85wQAAAKAIA0HBAAABAX3TRcEAAAFi86NJwQAAAcBld1HBAAACIdtHVcEAAAKDTRddwQAAAuDC62HBAAADQjS7acEAAAOjqottwQAAAAEgX3XBAAAAYpYvecEAAADACAOBwQAAASF904XBAAABgvOjicEAAAHgZXeRwQAAAkHbR5XBAAACo00XncEAAAMAwuuhwQAAA2I0u6nBAAADw6qLrcEAAAAhIF+1wQAAAIKWL7nBAAAA4AgDwcEAAAFBfdPFwQAAAaLzo8nBAAACAGV30cEAAAJh20fVwQAAAsNNF93BAAADIMLr4cEAAAOCNLvpwQAAA+Oqi+3BAAAAQSBf9cEAAACili/5wQAAAQAIAAHFAAABYX3QBcUAAAHC86AJxQAAAiBldBHFAAACgdtEFcUAAALjTRQdxQAAA0DC6CHFAAADojS4KcUAAAADrogtxQAAAGEgXDXFAAAAwpYsOcUAAAEgCABBxQAAAYF90EXFAAAB4vOgScUAAAJAZXRRxQAAAqHbRFXFAAADA00UXcUAAANgwuhhxQAAA8I0uGnFAAAAI66IbcUAAACBIFx1xQAAAOKWLHnFAAABQAgAgcUAAAGhfdCFxQAAAgLzoInFAAACYGV0kcUAAALB20SVxQAAAyNNFJ3FAAADgMLoocUAAAPiNLipxQAAAEOuiK3FAAAAoSBctcUAAAECliy5xQAAAWAIAMHFAAABwX3QxcUAAAIi86DJxQAAAoBldNHFAAAC4dtE1cUAAANDTRTdxQAAA6DC6OHFAAAAAji46cUAAABjrojtxQAAAMEgXPXFAAABIpYs+cUAAAGACAEBxQAAAeF90QXFAAACQvOhCcUAAAKgZXURxQAAAwHbRRXFAAADY00VHcUAAAPAwukhxQAAACI4uSnFAAAAg66JLcUAAADhIF01xQAAAUKWLTnFAAABoAgBQcUAAAIBfdFFxQAAAmLzoUnFAAACwGV1UcUAAAMh20VVxQAAA4NNFV3FAAAD4MLpYcUAAABCOLlpxQAAAKOuiW3FAAABASBddcUAAAFili15xQAAAcAIAYHFAAACIX3RhcUAAAKC86GJxQAAAuBldZHFAAADQdtFlcUAAAOjTRWdxQAAAADG6aHFAAAAYji5qcUAAADDromtxQAAASEgXbXFAAABgpYtucUAAAHgCAHBxQAAAkF90cXFAAACovOhycUAAAMAZXXRxQAAA2HbRdXFAAADw00V3cUAAAAgxunhxQAAAII4uenFAAAA466J7cUAAAFBIF31xQAAAaKWLfnFAAACAAgCAcUAAAJhfdIFxQAAAsLzognFAAADIGV2EcUAAAOB20YVxQAAA+NNFh3FAAAAQMbqIcUAAACiOLopxQAAAQOuii3FAAABYSBeNcUAAAHCli45xQAAAiAIAkHFAAACgX3SRcUAAALi86JJxQAAA0BldlHFAAADodtGVcUAAAADURZdxQAAAGDG6mHFAAAAwji6acUAAAEjroptxQAAAYEgXnXFAAAB4pYuecUAAAJACAKBxQAAAqF90oXFAAADAvOiicUAAANgZXaRxQAAA8HbRpXFAAAAI1EWncUAAACAxuqhxQAAAOI4uqnFAAABQ66KrcUAAAGhIF61xQAAAgKWLrnFAAACYAgCwcUAAALBfdLFxQAAAyLzosnFAAADgGV20cUAAAPh20bVxQAAAENRFt3FAAAAoMbq4cUAAAECOLrpxQAAAWOuiu3FAAABwSBe9cUAAAIili75xQAAAoAIAwHFAAAC4X3TBcUAAANC86MJxQAAA6BldxHFAAAAAd9HFcUAAABjURcdxQAAAMDG6yHFAAABIji7KcUAAAGDrostxQAAAeEgXzXFAAACQpYvOcUAAAKgCANBxQAAAwF900XFAAADYvOjScUAAAPAZXdRxQAAACHfR1XFAAAAg1EXXcUAAADgxuthxQAAAUI4u2nFAAABo66LbcUAAAIBIF91xQAAAmKWL3nFAAACwAgDgcUAAAMhfdOFxQAAA4Lzo4nFAAAD4GV3kcUAAABB30eVxQAAAKNRF53FAAABAMbrocUAAAFiOLupxQAAAcOui63FAAACISBftcUAAAKCli+5xQAAAuAIA8HFAAADQX3TxcUAAAOi86PJxQAAAABpd9HFAAAAYd9H1cUAAADDURfdxQAAASDG6+HFAAABgji76cUAAAHjrovtxQAAAkEgX/XFAAACopYv+cUAAAMACAAByQAAA2F90AXJAAADwvOgCckAAAAgaXQRyQAAAIHfRBXJAAAA41EUHckAAAFAxughyQAAAaI4uCnJAAACA66ILckAAAJhIFw1yQAAAsKWLDnJAAADIAgAQckAAAOBfdBFyQAAA+LzoEnJAAAAQGl0UckAAACh30RVyQAAAQNRFF3JAAABYMboYckAAAHCOLhpyQAAAiOuiG3JAAACgSBcdckAAALilix5yQAAA0AIAIHJAAADoX3QhckAAAAC96CJyQAAAGBpdJHJAAAAwd9ElckAAAEjURSdyQAAAYDG6KHJAAAB4ji4qckAAAJDroityQAAAqEgXLXJAAADApYsuckAAANgCADByQAAA8F90MXJAAAAIvegyckAAACAaXTRyQAAAOHfRNXJAAABQ1EU3ckAAAGgxujhyQAAAgI4uOnJAAACY66I7ckAAALBIFz1yQAAAyKWLPnJAAADgAgBAckAAAPhfdEFyQAAAEL3oQnJAAAAoGl1EckAAAEB30UVyQAAAWNRFR3JAAABwMbpIckAAAIiOLkpyQAAAoOuiS3JAAAC4SBdNckAAANCli05yQAAA6AIAUHJAAAAAYHRRckAAABi96FJyQAAAMBpdVHJAAABId9FVckAAAGDURVdyQAAAeDG6WHJAAACQji5ackAAAKjroltyQAAAwEgXXXJAAADYpYteckAAAPACAGByQAAACGB0YXJAAAAgvehickAAADgaXWRyQAAAUHfRZXJAAABo1EVnckAAAIAxumhyQAAAmI4uanJAAACw66JrckAAAMhIF21yQAAA4KWLbnJAAAD4AgBwckAAABBgdHFyQAAAKL3ocnJAAABAGl10ckAAAFh30XVyQAAAcNRFd3JAAACIMbp4ckAAAKCOLnpyQAAAuOuie3JAAADQSBd9ckAAAOili35yQAAAAAMAgHJAAAAYYHSBckAAADC96IJyQAAASBpdhHJAAABgd9GFckAAAHjURYdyQAAAkDG6iHJAAACoji6KckAAAMDrootyQAAA2EgXjXJAAADwpYuOckAAAAgDAJByQAAAIGB0kXJAAAA4veiSckAAAFAaXZRyQAAAaHfRlXJAAACA1EWXckAAAJgxuphyQAAAsI4umnJAAADI66KbckAAAOBIF51yQAAA+KWLnnJAAAAQAwCgckAAAChgdKFyQAAAQL3oonJAAABYGl2kckAAAHB30aVyQAAAiNRFp3JAAACgMbqockAAALiOLqpyQAAA0Ouiq3JAAADoSBetckAAAACmi65yQAAAGAMAsHJAAAAwYHSxckAAAEi96LJyQAAAYBpdtHJAAAB4d9G1ckAAAJDURbdyQAAAqDG6uHJAAADAji66ckAAANjrortyQAAA8EgXvXJAAAAIpou+ckAAACADAMByQAAAOGB0wXJAAABQvejCckAAAGgaXcRyQAAAgHfRxXJAAACY1EXHckAAALAxushyQAAAyI4uynJAAADg66LLckAAAPhIF81yQAAAEKaLznJAAAAoAwDQckAAAEBgdNFyQAAAWL3o0nJAAABwGl3UckAAAIh30dVyQAAAoNRF13JAAAC4MbrYckAAANCOLtpyQAAA6Oui23JAAAAASRfdckAAABimi95yQAAAMAMA4HJAAABIYHThckAAAGC96OJyQAAAeBpd5HJA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F+15QAAAoKmL7nlAAAC4BgDweUAAANBjdPF5QAAA6MDo8nlAAAAAHl30eUAAABh70fV5QAAAMNhF93lAAABINbr4eUAAAGCSLvp5QAAAeO+i+3lAAACQTBf9eUAAAKipi/55QAAAwAYAAHpAAADYY3QBekAAAPDA6AJ6QAAACB5dBHpAAAAge9EFekAAADjYRQd6QAAAUDW6CHpAAABoki4KekAAAIDvogt6QAAAmEwXDXpAAACwqYsOekAAAMgGABB6QAAA4GN0EXpAAAD4wOgSekAAABAeXRR6QAAAKHvRFXpAAABA2EUXekAAAFg1uhh6QAAAcJIuGnpAAACI76IbekAAAKBMFx16QAAAuKmLHnpAAADQBgAgekAAAOhjdCF6QAAAAMHoInpAAAAYHl0kekAAADB70SV6QAAASNhFJ3pAAABgNbooekAAAHiSLip6QAAAkO+iK3pAAACoTBctekAAAMCpiy56QAAA2AYAMHpAAADwY3QxekAAAAjB6DJ6QAAAIB5dNHpAAAA4e9E1ekAAAFDYRTd6QAAAaDW6OHpAAACAki46ekAAAJjvojt6QAAAsEwXPXpAAADIqYs+ekAAAOAGAEB6QAAA+GN0QXpAAAAQwehCekAAACgeXUR6QAAAQHvRRXpAAABY2EVHekAAAHA1ukh6QAAAiJIuSnpAAACg76JLekAAALhMF016QAAA0KmLTnpAAADoBgBQekAAAABkdFF6QAAAGMHoUnpAAAAwHl1UekAAAEh70VV6QAAAYNhFV3pAAAB4NbpYekAAAJCSLlp6QAAAqO+iW3pAAADATBddekAAANipi156QAAA8AYAYHpAAAAIZHRhekAAACDB6GJ6QAAAOB5dZHpAAABQe9FlekAAAGjYRWd6QAAAgDW6aHpAAACYki5qekAAALDvomt6QAAAyEwXbXpAAADgqYtuekAAAPgGAHB6QAAAEGR0cXpAAAAowehyekAAAEAeXXR6QAAAWHvRdXpAAABw2EV3ekAAAIg1unh6QAAAoJIuenpAAAC476J7ekAAANBMF316QAAA6KmLfnpAAAAABwCAekAAABhkdIF6QAAAMMHognpAAABIHl2EekAAAGB70YV6QAAAeNhFh3pAAACQNbqIekAAAKiSLop6QAAAwO+ii3pAAADYTBeNekAAAPCpi456QAAACAcAkHpAAAAgZHSRekAAADjB6JJ6QAAAUB5dlHpAAABoe9GVekAAAIDYRZd6QAAAmDW6mHpAAACwki6aekAAAMjvopt6QAAA4EwXnXpAAAD4qYueekAAABAHAKB6QAAAKGR0oXpAAABAweiiekAAAFgeXaR6QAAAcHvRpXpAAACI2EWnekAAAKA1uqh6QAAAuJIuqnpAAADQ76KrekAAAOhMF616QAAAAKqLrnpAAAAYBwCwekAAADBkdLF6QAAASMHosnpAAABgHl20ekAAAHh70bV6QAAAkNhFt3pAAACoNbq4ekAAAMCSLrp6QAAA2O+iu3pAAADwTBe9ekAAAAiqi756QAAAIAcAwHpAAAA4ZHTBekAAAFDB6MJ6QAAAaB5dxHpAAACAe9HFekAAAJjYRcd6QAAAsDW6yHpAAADIki7KekAAAODvost6QAAA+EwXzXpAAAAQqovOekAAACgHANB6QAAAQGR00XpAAABYwejSekAAAHAeXdR6QAAAiHvR1XpAAACg2EXXekAAALg1uth6QAAA0JIu2npAAADo76LbekAAAABNF916QAAAGKqL3npAAAAwBwDgekAAAEhkdOF6QAAAYMHo4npAAAB4Hl3kekAAAJB70eV6QAAAqNhF53pAAADANbroekAAANiSLup6QAAA8O+i63pAAAAITRftekAAACCqi+56QAAAOAcA8HpAAABQZHTxekAAAGjB6PJ6QAAAgB5d9HpAAACYe9H1ekAAALDYRfd6QAAAyDW6+HpAAADgki76ekAAAPjvovt6QAAAEE0X/XpAAAAoqov+ekAAAEAHAAB7QAAAWGR0AXtAAABwwegCe0AAAIgeXQR7QAAAoHvRBXtAAAC42EUHe0AAANA1ugh7QAAA6JIuCntAAAAA8KILe0AAABhNFw17QAAAMKqLDntAAABIBwAQe0AAAGBkdBF7QAAAeMHoEntAAACQHl0Ue0AAAKh70RV7QAAAwNhFF3tAAADYNboYe0AAAPCSLhp7QAAACPCiG3tAAAAgTRcde0AAADiqix57QAAAUAcAIHtAAABoZHQhe0AAAIDB6CJ7QAAAmB5dJHtAAACwe9Ele0AAAMjYRSd7QAAA4DW6KHtAAAD4ki4qe0AAABDwoit7QAAAKE0XLXtAAABAqosue0AAAFgHADB7QAAAcGR0MXtAAACIwegye0AAAKAe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AAAAZ3QRikAAAIyVLhKKQAAAGMToEopAAACk8qITikAAADAhXRSKQAAAvE8XFYpAAABIftEVikAAANSsixaKQAAAYNtFF4pAAADsCQAYikAAAHg4uhiKQAAABGd0GYpAAACQlS4aikAAABzE6BqKQAAAqPKiG4pAAAA0IV0cikAAAMBPFx2KQAAATH7RHYpAAADYrIseikAAAGTbRR+KQAAA8AkAIIpAAAB8OLogikAAAAhndCGKQAAAlJUuIopAAAAgxOgiikAAAKzyoiOKQAAAOCFdJIpAAADETxclikAAAFB+0SWKQAAA3KyLJopAAABo20UnikAAAPQJACiKQAAAgDi6KIpAAAAMZ3QpikAAAJiVLiqKQAAAJMToKopAAACw8qIrikAAADwhXSyKQAAAyE8XLYpAAABUftEtikAAAOCsiy6KQAAAbNtFL4pAAAD4CQAwikAAAIQ4ujCKQAAAEGd0MYpAAACclS4yikAAACjE6DKKQAAAtPKiM4pAAABAIV00ikAAAMxPFzWKQAAAWH7RNYpAAADkrIs2ikAAAHDbRTeKQAAA/AkAOIpAAACIOLo4ikAAABRndDmKQAAAoJUuOopAAAAsxOg6ikAAALjyojuKQAAARCFdPIpAAADQTxc9ikAAAFx+0T2KQAAA6KyLPopAAAB020U/ikAAAAAKAECKQAAAjDi6QIpAAAAYZ3RBikAAAKSVLkKKQAAAMMToQopAAAC88qJDikAAAEghXUSKQAAA1E8XRYpAAABgftFFikAAAOysi0aKQAAAeNtFR4pAAAAECgBIikAAAJA4ukiKQAAAHGd0SYpAAAColS5KikAAADTE6EqKQAAAwPKiS4pAAABMIV1MikAAANhPF02KQAAAZH7RTYpAAADwrItOikAAAHzbRU+KQAAACAoAUIpAAACUOLpQikAAACBndFGKQAAArJUuUopAAAA4xOhSikAAAMTyolOKQAAAUCFdVIpAAADcTxdVikAAAGh+0VWKQAAA9KyLVopAAACA20VXikAAAAwKAFiKQAAAmDi6WIpAAAAkZ3RZikAAALCVLlqKQAAAPMToWopAAADI8qJbikAAAFQhXVyKQAAA4E8XXYpAAABsftFdikAAAPisi16KQAAAhNtFX4pAAAAQCgBgikAAAJw4umCKQAAAKGd0YYpAAAC0lS5iikAAAEDE6GKKQAAAzPKiY4pAAABYIV1kikAAAORPF2WKQAAAcH7RZYpAAAD8rItmikAAAIjbRWeKQAAAFAoAaIpAAACgOLpoikAAACxndGmKQAAAuJUuaopAAABExOhqikAAANDyomuKQAAAXCFdbIpAAADoTxdtikAAAHR+0W2KQAAAAK2LbopAAACM20VvikAAABgKAHCKQAAApDi6cIpAAAAwZ3RxikAAALyVLnKKQAAASMTocopAAADU8qJzikAAAGAhXXSKQAAA7E8XdYpAAAB4ftF1ikAAAASti3aKQAAAkNtFd4pAAAAcCgB4ikAAAKg4uniKQAAANGd0eYpAAADAlS56ikAAAEzE6HqKQAAA2PKie4pAAABkIV18ikAAAPBPF32KQAAAfH7RfYpAAAAIrYt+ikAAAJTbRX+KQAAAIAoAgIpAAACsOLqAikAAADhndIGKQAAAxJUugopAAABQxOiCikAAANzyooOKQAAAaCFdhIpAAAD0TxeFikAAAIB+0YWKQAAADK2LhopAAACY20WHikAAACQKAIiKQAAAsDi6iIpAAAA8Z3SJikAAAMiVLoqKQAAAVMToiopAAADg8qKLikAAAGwhXYyKQAAA+E8XjYpAAACEftGNikAAABCti46KQAAAnNtFj4pAAAAoCgCQikAAALQ4upCKQAAAQGd0kYpAAADMlS6SikAAAFjE6JKKQAAA5PKik4pAAABwIV2UikAAAPxPF5WKQAAAiH7RlYpAAAAUrYuWikAAAKDbRZeKQAAALAoAmIpAAAC4OLqYikAAAERndJmKQAAA0JUumopAAABcxOiaikAAAOjyopuKQAAAdCFdnIpAAAAAUBedikAAAIx+0Z2KQAAAGK2LnopAAACk20WfikAAADAKAKCKQAAAvDi6oIpAAABIZ3ShikAAANSVLqKKQAAAYMTooopAAADs8qKjikAAAHghXaSKQAAABFAXpYpAAACQftGlikAAAByti6aKQAAAqNtFp4pAAAA0CgCoikAAAMA4uqiKQAAATGd0qYpAAADYlS6qikAAAGTE6KqKQAAA8PKiq4pAAAB8IV2sikAAAAhQF62KQAAAlH7RrYpAAAAgrYuuikAAAKzbRa+KQAAAOAoAsIpAAADEOLqwikAAAFBndLGKQAAA3JUusopAAABoxOiyikAAAPTyorOKQAAAgCFdtIpAAAAMUBe1ikAAAJh+0bWKQAAAJK2LtopAAACw20W3ikAAADwKALiKQAAAyDi6uIpAAABUZ3S5ikAAAOCVLrqKQAAAbMTouopAAAD48qK7ikAAAIQhXbyKQAAAEFAXvYpAAACcftG9ikAAACiti76KQAAAtNtFv4pAAABACgDAikAAAMw4usCKQAAAWGd0wYpAAADklS7CikAAAHDE6MKKQAAA/PKiw4pAAACIIV3EikAAABRQF8WKQAAAoH7RxYpAAAAsrYvGikAAALjbRceKQAAARAoAyIpAAADQOLrIikAAAFxndMmKQAAA6JUuyopAAAB0xOjKikAAAADzosuKQAAAjCFdzIpAAAAYUBfNikAAAKR+0c2KQAAAMK2LzopAAAC820XPikAAAEgKANCKQAAA1Di60IpAAABgZ3TRikAAAOyVLtKKQAAAeMTo0opAAAAE86LTikAAAJAhXdSKQAAAHFAX1YpAAACoftHVikAAADSti9aKQAAAwNtF14pAAABMCgDYikAAANg4utiKQAAAZGd02YpAAADwlS7aikAAAHzE6NqKQAAACPOi24pAAACUIV3cikAAACBQF92KQAAArH7R3YpAAAA4rYveikAAAMTbRd+KQAAAUAoA4IpAAADcOLrgikAAAGhndOGKQAAA9JUu4opAAACAxOjiikAAAAzzouOKQAAAmCFd5IpAAAAkUBflikAAALB+0eWKQAAAPK2L5opAAADI20XnikAAAFQKAOiKQAAA4Di66IpAAABsZ3TpikAAAPiVLuqKQAAAhMTo6opAAAAQ86LrikAAAJwhXeyKQAAAKFAX7YpAAAC0ftHtikAAAECti+6KQAAAzNtF74pAAABYCgDwikAAAOQ4uvCKQAAAcGd08YpAAAD8lS7yikAAAIjE6PKKQAAAFPOi84pAAACgIV30ikAAACxQF/WKQAAAuH7R9YpAAABErYv2ikAAANDbRfeKQAAAXAoA+IpAAADoOLr4ikAAAHRndPmKQAAAAJYu+opAAACMxOj6ikAAABjzovuKQAAApCFd/IpAAAAwUBf9ikAAALx+0f2KQAAASK2L/opAAADU20X/ikAAAGAKAACLQAAA7Di6AItAAAB4Z3QBi0AAAASWLgKLQAAAkMToAotAAAAc86IDi0AAAKghXQSLQAAANFAXBYtAAADAftEFi0AAAEyt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AACIOroYm0AAAM5RFxmbQAAAFGl0GZtAAABagNEZm0AAAKCXLhqbQAAA5q6LGptAAAAsxugam0AAAHLdRRubQAAAuPSiG5tAAAD+CwAcm0AAAEQjXRybQAAAijq6HJtAAADQURcdm0AAABZpdB2bQAAAXIDRHZtAAACily4em0AAAOiuix6bQAAALsboHptAAAB03UUfm0AAALr0oh+bQAAAAAwAIJtAAABGI10gm0AAAIw6uiCbQAAA0lEXIZtAAAAYaXQhm0AAAF6A0SGbQAAApJcuIptAAADqrosim0AAADDG6CKbQAAAdt1FI5tAAAC89KIjm0AAAAIMACSbQAAASCNdJJtAAACOOrokm0AAANRRFyWbQAAAGml0JZtAAABggNElm0AAAKaXLiabQAAA7K6LJptAAAAyxugmm0AAAHjdRSebQAAAvvSiJ5tAAAAEDAAom0AAAEojXSibQAAAkDq6KJtAAADWURcpm0AAABxpdCmbQAAAYoDRKZtAAAColy4qm0AAAO6uiyqbQAAANMboKptAAAB63UUrm0AAAMD0oiubQAAABgwALJtAAABMI10sm0AAAJI6uiybQAAA2FEXLZtAAAAeaXQtm0AAAGSA0S2bQAAAqpcuLptAAADwrosum0AAADbG6C6bQAAAfN1FL5tAAADC9KIvm0AAAAgMADCbQAAATiNdMJtAAACUOrowm0AAANpRFzGbQAAAIGl0MZtAAABmgNExm0AAAKyXLjKbQAAA8q6LMptAAAA4xugym0AAAH7dRTObQAAAxPSiM5tAAAAKDAA0m0AAAFAjXTSbQAAAljq6NJtAAADcURc1m0AAACJpdDWbQAAAaIDRNZtAAACuly42m0AAAPSuizabQAAAOsboNptAAACA3UU3m0AAAMb0ojebQAAADAwAOJtAAABSI104m0AAAJg6ujibQAAA3lEXOZtAAAAkaXQ5m0AAAGqA0TmbQAAAsJcuOptAAAD2ros6m0AAADzG6DqbQAAAgt1FO5tAAADI9KI7m0AAAA4MADybQAAAVCNdPJtAAACaOro8m0AAAOBRFz2bQAAAJml0PZtAAABsgNE9m0AAALKXLj6bQAAA+K6LPptAAAA+xug+m0AAAITdRT+bQAAAyvSiP5tAAAAQDABAm0AAAFYjXUCbQAAAnDq6QJtAAADiURdBm0AAAChp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RZObQAAA9PSik5tAAAA6DACUm0AAAIAjXZSbQAAAxjq6lJtAAAAMUheVm0AAAFJpdJWbQAAAmIDRlZtAAADely6Wm0AAACSvi5abQAAAasbolptAAACw3UWXm0AAAPb0opebQAAAPAwAmJtAAACCI12Ym0AAAMg6upibQAAADlIXmZtAAABUaXSZm0AAAJqA0ZmbQAAA4JcumptAAAAmr4uam0AAAGzG6JqbQAAAst1Fm5tAAAD49KKbm0AAAD4MAJybQAAAhCNdnJtAAADKOrqcm0AAABBSF52bQAAAVml0nZtAAACcgNGdm0AAAOKXLp6bQAAAKK+LnptAAABuxuiem0AAALTdRZ+bQAAA+vSin5tAAABADACgm0AAAIYjXaCbQAAAzDq6oJtAAAASUhehm0AAAFhpdKGbQAAAnoDRoZtAAADkly6im0AAACqvi6KbQAAAcMbooptAAAC23UWjm0AAAPz0oqObQAAAQgwApJtAAACII12km0AAAM46uqSbQAAAFFIXpZtAAABaaXSlm0AAAKCA0aWbQAAA5pcupptAAAAsr4umm0AAAHLG6KabQAAAuN1Fp5tAAAD+9KKnm0AAAEQMAKibQAAAiiNdqJtAAADQOrqom0AAABZSF6mbQAAAXGl0qZtAAACigNGpm0AAAOiXLqqbQAAALq+LqptAAAB0xuiqm0AAALrdRaubQAAAAPWiq5tAAABGDACsm0AAAIwjXaybQAAA0jq6rJtAAAAYUhetm0AAAF5pdK2bQAAApIDRrZtAAADqly6um0AAADCvi66bQAAAdsborptAAAC83UWvm0AAAAL1oq+bQAAASAwAsJtAAACOI12wm0AAANQ6urCbQAAAGlIXsZtAAABgaXSxm0AAAKaA0bGbQAAA7JcusptAAAAyr4uym0AAAHjG6LKbQAAAvt1Fs5tAAAAE9aKzm0AAAEoMALSbQAAAkCNdtJtAAADWOrq0m0AAABxSF7WbQAAAYml0tZtAAACogNG1m0AAAO6XLrabQAAANK+LtptAAAB6xui2m0AAAMDdRbebQAAABvWit5tAAABMDAC4m0AAAJIjXbibQAAA2Dq6uJtAAAAeUhe5m0AAAGRpdLmbQAAAqoDRuZtAAADwly66m0AAADavi7qbQAAAfMbouptAAADC3UW7m0AAAAj1orubQAAATgwAvJtA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 @@ -219,21 +259,9 @@ - - + + - - - - - - - - - - - - @@ -241,8 +269,6 @@ - - @@ -253,7 +279,7 @@ ZjGx+bg2dD+CXqWoICyAPwIjQjaj+YY/yxgMm+5ilz9SJ6CJsOGhPzDw3Hu45Kg/YUwNR2q0rz/cnbXbLjSzP79Qravv6bM/oyv+3L3JtD9PJltKg8i3Px6vLSlk1Lo/jMOZX80Bvj9XaA3LjKTAP2XsccyfXMI/+6bDHYK9wj8lzLT9KyvDP7/ERdseqsQ/N8MN+Pwwxj/upJiWa+THP45AvK5fsMk/HdRY1aVZyz8p2GzSWr7LPze2sexcK8w/LiySiW7QzT/ABG7dzVPPP3qFGMJEltA/dQrf6FBz0T8dEA7jW0XSP9VGYm9PfdI/JpUWG+Bv0z+k374OnDPUP1yfTLaUBtU/p7OTwVHy1T/p/temnvLWP87s4E2kIdc/1VsDWyVY1z9qIIMC3BnYP0Kd3x0G4Ng/Hg4lbb252T/0gfdohJHaPxAO41tFbNs/5B+QXue52z8v2vZQtfDbP1MiiV5Gsdw/0akrn+V53T9t5RI0U0feP2q0L7PiLt8/ - + DJ9oSy7bREtwIg9JRZzXSNpN30envf5HEb0NSQ4lZ0uG7R1LtSJPSe653kgxhfJHZqTLR0/0D0jgSotLnGwoS7GXhklf569Iatn1R9noCkil9Q9IiWCGSxT/wkmoxXFJ/5PaSIT+i0ffX+pHULYUSADkqEtivD1LORC5SLdM60etMd5Hv8OPRw+ze0vF2cdKXEp+SXUBGUld+dRHv6EYSIr1mkebVTdLa29LSxTZYUnvwsxI9qKtRxmExEeBOZhH @@ -263,15 +289,15 @@ - - - 10581 - 332162 - - - 651965 - - - 655460 + + + 13647 + 335264 + + + 655100 + + +657279 0 - + \ No newline at end of file diff --git a/doc/code_examples/data/Tutorial_GaussFilter.mzML b/doc/code_examples/data/Tutorial_GaussFilter.mzML index c07af2ae8fb..e6b713b365a 100644 --- a/doc/code_examples/data/Tutorial_GaussFilter.mzML +++ b/doc/code_examples/data/Tutorial_GaussFilter.mzML @@ -1,22 +1,33 @@ + - + + + + + + + + + + + - + - + @@ -29,6 +40,9 @@ + + + @@ -38,8 +52,12 @@ - - + + + + + + @@ -50,7 +68,7 @@ - + @@ -61,9 +79,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -71,7 +119,7 @@ - + @@ -83,7 +131,7 @@ AAAAAAAgjUAAAACgmSGNQAAAAEAzI41AAAAAwMwkjUAAAABgZiaNQAAAAAAAKI1AAAAAoJkpjUAAAABAMyuNQAAAAMDMLI1AAAAAYGYujUAAAAAAADCNQAAAAKCZMY1AAAAAQDMzjUAAAADAzDSNQAAAAGBmNo1AAAAAAAA4jUAAAACgmTmNQAAAAEAzO41AAAAAwMw8jUAAAABgZj6NQAAAAAAAQI1AAAAAoJlBjUAAAABAM0ONQAAAAMDMRI1AAAAAYGZGjUAAAAAAAEiNQAAAAKCZSY1AAAAAQDNLjUAAAADAzEyNQAAAAGBmTo1AAAAAAABQjUAAAACgmVGNQAAAAEAzU41AAAAAwMxUjUAAAABgZlaNQAAAAAAAWI1AAAAAoJlZjUAAAABAM1uNQAAAAMDMXI1AAAAAYGZejUAAAAAAAGCNQAAAAKCZYY1AAAAAQDNjjUAAAADAzGSNQAAAAGBmZo1AAAAAAABojUAAAACgmWmNQAAAAEAza41AAAAAwMxsjUAAAABgZm6NQAAAAAAAcI1AAAAAoJlxjUAAAABAM3ONQAAAAMDMdI1AAAAAYGZ2jUAAAAAAAHiNQAAAAKCZeY1AAAAAQDN7jUAAAADAzHyNQAAAAGBmfo1AAAAAAACAjUAAAACgmYGNQAAAAEAzg41AAAAAwMyEjUAAAABgZoaNQAAAAAAAiI1A - + AAC4QgAAWEMAAJ5CAACWQwAAVUMAABxDAADCQgAAAAAAAGhDAAAAAAAAAAAAAAAAAACCQgAANEIAABJDAAAAAAAAJkMAABhEAAAXRAAAgkMAAAAAAADaQgAAOEIAAAAAAAAiRACwkUUA0oxGAMKFRgBwkUUAgGVEAGAgRQAkCkYAOKFFAIDdRAAAIUQAYAhFAMDhRQAwokUAgGhEAABPQwDAb0QAQPdEACCiRAAAdkMAAAAAAADmQgAAhkMAAA5EAAAgQwAAukIAgIxDAADyQwBAX0QAAOpCAAAAAAAAgkMAAARDAADYQwCAWkQAACNDAAAAAAAAfEMAAJxDAABUQgAAAAAAAAAA @@ -96,7 +144,7 @@ - + @@ -108,7 +156,7 @@ AAAAAAAgjUAAAACgmSGNQAAAAEAzI41AAAAAwMwkjUAAAABgZiaNQAAAAAAAKI1AAAAAoJkpjUAAAABAMyuNQAAAAMDMLI1AAAAAYGYujUAAAAAAADCNQAAAAKCZMY1AAAAAQDMzjUAAAADAzDSNQAAAAGBmNo1AAAAAAAA4jUAAAACgmTmNQAAAAEAzO41AAAAAwMw8jUAAAABgZj6NQAAAAAAAQI1AAAAAoJlBjUAAAABAM0ONQAAAAMDMRI1AAAAAYGZGjUAAAAAAAEiNQAAAAKCZSY1AAAAAQDNLjUAAAADAzEyNQAAAAGBmTo1AAAAAAABQjUAAAACgmVGNQAAAAEAzU41AAAAAwMxUjUAAAABgZlaNQAAAAAAAWI1AAAAAoJlZjUAAAABAM1uNQAAAAMDMXI1AAAAAYGZejUAAAAAAAGCNQAAAAKCZYY1AAAAAQDNjjUAAAADAzGSNQAAAAGBmZo1AAAAAAABojUAAAACgmWmNQAAAAEAza41AAAAAwMxsjUAAAABgZm6NQAAAAAAAcI1AAAAAoJlxjUAAAABAM3ONQAAAAMDMdI1AAAAAYGZ2jUAAAAAAAHiNQAAAAKCZeY1AAAAAQDN7jUAAAADAzHyNQAAAAGBmfo1AAAAAAACAjUAAAACgmYGNQAAAAEAzg41AAAAAwMyEjUAAAABgZoaNQAAAAAAAiI1A - + AAAAAAAAvkIAAKlDAAAsQgAAo0MAAD9DAABUQgAAvEIAAAAAAAAAAAAAAAAAABJDAAAAAAAAAAAAAAAAAAAAAAAAAAAAANBCAACOQgAAAAAAAAAAAACaQgAAfEMAAE1DAACVQwC4nEUAyGtGANgRRgDABEUAgB1EAOAYRQA490UAgHZFAABORAAAEkMAIKFEAIAyRQAA/kQAgMNDAMADRACAz0MAkA9FAGC2RACA9UMAABxCAIAgRADgzEQAgN9DAABIQgAAAAAAABBCAIAgRAAA7EMAAAJDAACgQwAAREMAAKhCAAAAAAAAAAAAANJCAAAAAAAAAAAAAF5DAAA0QgAAAAAAAAAA @@ -118,3 +166,12 @@ + + + 7949 + 10447 + + +12947 +0 + \ No newline at end of file diff --git a/doc/code_examples/data/Tutorial_MorphologicalFilter.mzML b/doc/code_examples/data/Tutorial_MorphologicalFilter.mzML index 661dedab777..476ffd084d8 100644 --- a/doc/code_examples/data/Tutorial_MorphologicalFilter.mzML +++ b/doc/code_examples/data/Tutorial_MorphologicalFilter.mzML @@ -1,22 +1,33 @@ + - + + + + + + + + + + + - + - + @@ -29,6 +40,9 @@ + + + @@ -38,8 +52,12 @@ - - + + + + + + @@ -50,7 +68,7 @@ - + @@ -61,9 +79,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -71,7 +119,7 @@ - + @@ -83,7 +131,7 @@ AAAAAAAgjUAAAACgmSGNQAAAAEAzI41AAAAAwMwkjUAAAABgZiaNQAAAAAAAKI1AAAAAoJkpjUAAAABAMyuNQAAAAMDMLI1AAAAAYGYujUAAAAAAADCNQAAAAKCZMY1AAAAAQDMzjUAAAADAzDSNQAAAAGBmNo1AAAAAAAA4jUAAAACgmTmNQAAAAEAzO41AAAAAwMw8jUAAAABgZj6NQAAAAAAAQI1AAAAAoJlBjUAAAABAM0ONQAAAAMDMRI1AAAAAYGZGjUAAAAAAAEiNQAAAAKCZSY1AAAAAQDNLjUAAAADAzEyNQAAAAGBmTo1AAAAAAABQjUAAAACgmVGNQAAAAEAzU41AAAAAwMxUjUAAAABgZlaNQAAAAAAAWI1AAAAAoJlZjUAAAABAM1uNQAAAAMDMXI1AAAAAYGZejUAAAAAAAGCNQAAAAKCZYY1AAAAAQDNjjUAAAADAzGSNQAAAAGBmZo1AAAAAAABojUAAAACgmWmNQAAAAEAza41AAAAAwMxsjUAAAABgZm6NQAAAAAAAcI1AAAAAoJlxjUAAAABAM3ONQAAAAMDMdI1AAAAAYGZ2jUAAAAAAAHiNQAAAAKCZeY1AAAAAQDN7jUAAAADAzHyNQAAAAGBmfo1AAAAAAACAjUAAAACgmYGNQAAAAEAzg41AAAAAwMyEjUAAAABgZoaNQAAAAAAAiI1A - + AAC4QgAAWEMAAJ5CAACWQwAAVUMAABxDAADCQgAAAAAAAGhDAAAAAAAAAAAAAAAAAACCQgAANEIAABJDAAAAAAAAJkMAABhEAAAXRAAAgkMAAAAAAADaQgAAOEIAAAAAAAAiRACwkUUA0oxGAMKFRgBwkUUAgGVEAGAgRQAkCkYAOKFFAIDdRAAAIUQAYAhFAMDhRQAwokUAgGhEAABPQwDAb0QAQPdEACCiRAAAdkMAAAAAAADmQgAAhkMAAA5EAAAgQwAAukIAgIxDAADyQwBAX0QAAOpCAAAAAAAAgkMAAARDAADYQwCAWkQAACNDAAAAAAAAfEMAAJxDAABUQgAAAAAAAAAA @@ -96,7 +144,7 @@ - + @@ -108,7 +156,7 @@ AAAAAAAgjUAAAACgmSGNQAAAAEAzI41AAAAAwMwkjUAAAABgZiaNQAAAAAAAKI1AAAAAoJkpjUAAAABAMyuNQAAAAMDMLI1AAAAAYGYujUAAAAAAADCNQAAAAKCZMY1AAAAAQDMzjUAAAADAzDSNQAAAAGBmNo1AAAAAAAA4jUAAAACgmTmNQAAAAEAzO41AAAAAwMw8jUAAAABgZj6NQAAAAAAAQI1AAAAAoJlBjUAAAABAM0ONQAAAAMDMRI1AAAAAYGZGjUAAAAAAAEiNQAAAAKCZSY1AAAAAQDNLjUAAAADAzEyNQAAAAGBmTo1AAAAAAABQjUAAAACgmVGNQAAAAEAzU41AAAAAwMxUjUAAAABgZlaNQAAAAAAAWI1AAAAAoJlZjUAAAABAM1uNQAAAAMDMXI1AAAAAYGZejUAAAAAAAGCNQAAAAKCZYY1AAAAAQDNjjUAAAADAzGSNQAAAAGBmZo1AAAAAAABojUAAAACgmWmNQAAAAEAza41AAAAAwMxsjUAAAABgZm6NQAAAAAAAcI1AAAAAoJlxjUAAAABAM3ONQAAAAMDMdI1AAAAAYGZ2jUAAAAAAAHiNQAAAAKCZeY1AAAAAQDN7jUAAAADAzHyNQAAAAGBmfo1AAAAAAACAjUAAAACgmYGNQAAAAEAzg41AAAAAwMyEjUAAAABgZoaNQAAAAAAAiI1A - + AAAAAAAAvkIAAKlDAAAsQgAAo0MAAD9DAABUQgAAvEIAAAAAAAAAAAAAAAAAABJDAAAAAAAAAAAAAAAAAAAAAAAAAAAAANBCAACOQgAAAAAAAAAAAACaQgAAfEMAAE1DAACVQwC4nEUAyGtGANgRRgDABEUAgB1EAOAYRQA490UAgHZFAABORAAAEkMAIKFEAIAyRQAA/kQAgMNDAMADRACAz0MAkA9FAGC2RACA9UMAABxCAIAgRADgzEQAgN9DAABIQgAAAAAAABBCAIAgRAAA7EMAAAJDAACgQwAAREMAAKhCAAAAAAAAAAAAANJCAAAAAAAAAAAAAF5DAAA0QgAAAAAAAAAA @@ -118,3 +166,12 @@ + + + 7989 + 10487 + + +12987 +0 + \ No newline at end of file diff --git a/doc/code_examples/executables.cmake b/doc/code_examples/executables.cmake index 0f2e821580e..c2cab8dd13f 100644 --- a/doc/code_examples/executables.cmake +++ b/doc/code_examples/executables.cmake @@ -10,33 +10,34 @@ Tutorial_Clustering Tutorial_DPosition Tutorial_DRange Tutorial_Element -Tutorial_Enzyme Tutorial_EmpiricalFormula +Tutorial_Enzyme Tutorial_FeatureFinder Tutorial_FeatureMap Tutorial_FileIO -Tutorial_FileIO_mzML Tutorial_FileIO_Consumer -# Tutorial final is ONLY used for snippets in the developer tutorial -Tutorial_Final +Tutorial_FileIO_mzML Tutorial_GaussFilter Tutorial_IdentificationClasses Tutorial_Labeled +Tutorial_Logger +Tutorial_MapAlignment +Tutorial_MetaInfo +Tutorial_MorphologicalFilter Tutorial_MSChromatogram Tutorial_MSExperiment Tutorial_MSSpectrum -Tutorial_MapAlignment -Tutorial_MetaInfo Tutorial_Param Tutorial_Precursor Tutorial_RangeManager Tutorial_Residue Tutorial_ResidueModification Tutorial_SavitzkyGolayFilter +Tutorial_Template ## only used in developer_tutorial.doxygen, but still testing here if it compiles Tutorial_TheoreticalSpectrumGenerator -Tutorial_MorphologicalFilter -Tutorial_Unlabeled +Tutorial_TOPP Tutorial_typeAsString +Tutorial_Unlabeled ) # -------------------------------------------------------------------------- @@ -45,9 +46,9 @@ set(EXAMPLES_executables ${EXAMPLES_executables} ${executables_list}) # -------------------------------------------------------------------------- set(executables_list -Tutorial_GUI_Plot1D -Tutorial_GUI_ParamEditor Tutorial_GUI_ListEditor +Tutorial_GUI_ParamEditor +Tutorial_GUI_Plot1D ) # pass source file list to the upper instance diff --git a/doc/doxygen/Doxyfile.in b/doc/doxygen/Doxyfile.in index a0a0303b8cd..47e14279473 100644 --- a/doc/doxygen/Doxyfile.in +++ b/doc/doxygen/Doxyfile.in @@ -838,8 +838,7 @@ WARN_LOGFILE = "@CF_OPENMS_BIN_PATH@/doxygen/doxygen-error.log" # spaces. See also FILE_PATTERNS and EXTENSION_MAPPING # Note: If this tag is empty the current directory is searched. -INPUT = "@CF_OPENMS_SRC_PATH@/doc/OpenMS_tutorial/" \ - "@CF_OPENMS_SRC_PATH@/doc/doxygen/public/" \ +INPUT = "@CF_OPENMS_SRC_PATH@/doc/doxygen/public/" \ "@CF_OPENMS_SRC_PATH@/doc/doxygen/install/" \ @CF_OPENMS_DOCUMENTATION_DIRECTORIES@ ## already contains quotes. Do NOT add extra quotes to this variable. @@ -944,8 +943,7 @@ EXAMPLE_RECURSIVE = NO # that contain images that are to be included in the documentation (see the # \image command). -IMAGE_PATH = "@CF_OPENMS_SRC_PATH@/doc/doxygen/images/" \ - "@CF_OPENMS_SRC_PATH@/doc/OpenMS_tutorial/images/" +IMAGE_PATH = "@CF_OPENMS_SRC_PATH@/doc/doxygen/images/" # The INPUT_FILTER tag can be used to specify a program that doxygen should # invoke to filter for each input file. Doxygen will invoke the filter program diff --git a/doc/OpenMS_tutorial/images/ExperimentalSettings.graphml b/doc/doxygen/images/ExperimentalSettings.graphml similarity index 98% rename from doc/OpenMS_tutorial/images/ExperimentalSettings.graphml rename to doc/doxygen/images/ExperimentalSettings.graphml index 55b6d24dcc1..158e29493f0 100644 --- a/doc/OpenMS_tutorial/images/ExperimentalSettings.graphml +++ b/doc/doxygen/images/ExperimentalSettings.graphml @@ -1,433 +1,433 @@ - - - - - - - - - - - - - - - ExperimentalSettings - - - - - - - - - - - - - - - Sample - - - - - - - - - - - - - - - SampleTreatment - - - - - - - - - - - - - - - SourceFile - - - - - - - - - - - - - - - ContactPerson - - - - - - - - - - - - - - - Instrument - - - - - - - - - - - - - - - IonSource - - - - - - - - - - - - - - - MassAnalyzer - - - - - - - - - - - - - - - Detector - - - - - - - - - - - - - - - Software - - - - - - - - - - - - - - - HPLC - - - - - - - - - - - - - - - Gradient - - - - - - - - - - - - - - - ProteinIdentification - - - - - - - - - - - - - - - ProteinHit - - - - - - - - - - - - - - - - - - - - - - UMLhas - - - - - - - - - - - - - * - - - - UMLhas - - - - - - - - * - - - - UMLhas - - - - - - - - - - - - * - - - - UMLhas - - - - - - - - - - - - * - - - - UMLhas - - - - - - - - - - - - - - - UMLhas - - - - - - - - - - - - * - - - - UMLhas - - - - - - - - - - - - * - - - - UMLhas - - - - - - - - - - - - * - - - - UMLhas - - - - - - - - - - - - - - - UMLhas - - - - - - - - - - - - - - - UMLhas - - - - - - - - - - - - UMLhas - - - - - - - - - * - - - - UMLhas - - - - - - - - - - - - * - - - - UMLhas - - - - - - + + + + + + + + + + + + + + + ExperimentalSettings + + + + + + + + + + + + + + + Sample + + + + + + + + + + + + + + + SampleTreatment + + + + + + + + + + + + + + + SourceFile + + + + + + + + + + + + + + + ContactPerson + + + + + + + + + + + + + + + Instrument + + + + + + + + + + + + + + + IonSource + + + + + + + + + + + + + + + MassAnalyzer + + + + + + + + + + + + + + + Detector + + + + + + + + + + + + + + + Software + + + + + + + + + + + + + + + HPLC + + + + + + + + + + + + + + + Gradient + + + + + + + + + + + + + + + ProteinIdentification + + + + + + + + + + + + + + + ProteinHit + + + + + + + + + + + + + + + + + + + + + + UMLhas + + + + + + + + + + + + + * + + + + UMLhas + + + + + + + + * + + + + UMLhas + + + + + + + + + + + + * + + + + UMLhas + + + + + + + + + + + + * + + + + UMLhas + + + + + + + + + + + + + + + UMLhas + + + + + + + + + + + + * + + + + UMLhas + + + + + + + + + + + + * + + + + UMLhas + + + + + + + + + + + + * + + + + UMLhas + + + + + + + + + + + + + + + UMLhas + + + + + + + + + + + + + + + UMLhas + + + + + + + + + + + + UMLhas + + + + + + + + + * + + + + UMLhas + + + + + + + + + + + + * + + + + UMLhas + + + + + + diff --git a/doc/OpenMS_tutorial/images/ExperimentalSettings.png b/doc/doxygen/images/ExperimentalSettings.png old mode 100755 new mode 100644 similarity index 100% rename from doc/OpenMS_tutorial/images/ExperimentalSettings.png rename to doc/doxygen/images/ExperimentalSettings.png diff --git a/doc/OpenMS_tutorial/images/Kernel.graphml b/doc/doxygen/images/Kernel.graphml similarity index 98% rename from doc/OpenMS_tutorial/images/Kernel.graphml rename to doc/doxygen/images/Kernel.graphml index 9d1a540364a..b1250b3fc8a 100644 --- a/doc/OpenMS_tutorial/images/Kernel.graphml +++ b/doc/doxygen/images/Kernel.graphml @@ -1,164 +1,164 @@ - - - - - - - - - - - - - - - MSSpectrum - - - retention_time: DoubleReal -- ms_level: Integer - - - - - UMLClass - - - - - - - - T - - - - - - - - - - - - Peak1D - - - position: DoubleReal -- intensity: Real - - - - - UMLClass - - - - - - - - MSExperiment - - - - - - - UMLClass - - - - - - - - T - - - - - - - - - - - - ExperimentalSettings - - - - - - - UMLClass - - - - - - - - SpectrumSettings - - - - - - - UMLClass - - - - - - - - - 0..* - - - - UMLhas - - - - - - - - - 0..* - - - - UMLuses - - - - - - - - - - - - UMLinherits - - - - - - - - - - - - UMLinherits - - - - - - + + + + + + + + + + + + + + + MSSpectrum + + - retention_time: DoubleReal +- ms_level: Integer + + + + + UMLClass + + + + + + + + T + + + + + + + + + + + + Peak1D + + - position: DoubleReal +- intensity: Real + + + + + UMLClass + + + + + + + + MSExperiment + + + + + + + UMLClass + + + + + + + + T + + + + + + + + + + + + ExperimentalSettings + + + + + + + UMLClass + + + + + + + + SpectrumSettings + + + + + + + UMLClass + + + + + + + + + 0..* + + + + UMLhas + + + + + + + + + 0..* + + + + UMLuses + + + + + + + + + + + + UMLinherits + + + + + + + + + + + + UMLinherits + + + + + + diff --git a/doc/OpenMS_tutorial/images/Kernel.png b/doc/doxygen/images/Kernel.png similarity index 100% rename from doc/OpenMS_tutorial/images/Kernel.png rename to doc/doxygen/images/Kernel.png diff --git a/doc/OpenMS_tutorial/images/Kernel_DataPoints.png b/doc/doxygen/images/Kernel_DataPoints.png old mode 100755 new mode 100644 similarity index 100% rename from doc/OpenMS_tutorial/images/Kernel_DataPoints.png rename to doc/doxygen/images/Kernel_DataPoints.png diff --git a/doc/OpenMS_tutorial/images/MetaInfo.graphml b/doc/doxygen/images/MetaInfo.graphml similarity index 98% rename from doc/OpenMS_tutorial/images/MetaInfo.graphml rename to doc/doxygen/images/MetaInfo.graphml index 9d4cbad290d..6daa94e5f51 100644 --- a/doc/OpenMS_tutorial/images/MetaInfo.graphml +++ b/doc/doxygen/images/MetaInfo.graphml @@ -1,108 +1,108 @@ - - - - - - - - - - - - - - - MetaInfo - - - - - - - - - - - - - - - MetaInfoInterface - - - - - - - - - - - - - - - DataValue - - - - - - - - - - - - - - - MetaInfoRegistry - - - - - - - - - - - - - - - * - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + MetaInfo + + + + + + + + + + + + + + + MetaInfoInterface + + + + + + + + + + + + + + + DataValue + + + + + + + + + + + + + + + MetaInfoRegistry + + + + + + + + + + + + + + + * + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/OpenMS_tutorial/images/MetaInfo.png b/doc/doxygen/images/MetaInfo.png old mode 100755 new mode 100644 similarity index 100% rename from doc/OpenMS_tutorial/images/MetaInfo.png rename to doc/doxygen/images/MetaInfo.png diff --git a/doc/OpenMS_tutorial/images/OpenMS_overview.png b/doc/doxygen/images/OpenMS_overview.png similarity index 100% rename from doc/OpenMS_tutorial/images/OpenMS_overview.png rename to doc/doxygen/images/OpenMS_overview.png diff --git a/doc/OpenMS_tutorial/images/RawPeakFeatureMap.png b/doc/doxygen/images/RawPeakFeatureMap.png similarity index 100% rename from doc/OpenMS_tutorial/images/RawPeakFeatureMap.png rename to doc/doxygen/images/RawPeakFeatureMap.png diff --git a/doc/OpenMS_tutorial/images/SpectrumSettings.graphml b/doc/doxygen/images/SpectrumSettings.graphml similarity index 98% rename from doc/OpenMS_tutorial/images/SpectrumSettings.graphml rename to doc/doxygen/images/SpectrumSettings.graphml index f9bf3afd657..e0365a24265 100644 --- a/doc/OpenMS_tutorial/images/SpectrumSettings.graphml +++ b/doc/doxygen/images/SpectrumSettings.graphml @@ -1,350 +1,350 @@ - - - - - - - - - - - - - - - SpectrumSettings - - - - - - - - - - - - - - - SourceFile - - - - - - - - - - - - - - - AcquisitionInfo - - - - - - - - - - - - - - - Precursor - - - - - - - - - - - - - - - Product - - - - - - - - - - - - - - - DataProcessing - - - - - - - - - - - - - - - InstrumentSettings - - - - - - - - - - - - - - - ScanWindow - - - - - - - - - - - - - - - Software - - - - - - - - - - - - - - - Acquisition - - - - - - - - - - - - - - - PeptideIdentification - - - - - - - - - - - - - - - PeptideHit - - - - - - - - - - - - - - - - - - - - - - UMLhas - - - - - - - - - - - - - - - UMLhas - - - - - - - - - * - - - - UMLhas - - - - - - - - - - - - * - - - - UMLhas - - - - - - - - - - - - * - - - - UMLhas - - - - - - - - - - - - - - - UMLhas - - - - - - - - - * - - - - UMLhas - - - - - - - - - - - - UMLhas - - - - - - - - - * - - - - UMLhas - - - - - - - - - * - - - - UMLhas - - - - - - - - - - - - * - - - - UMLhas - - - - - - + + + + + + + + + + + + + + + SpectrumSettings + + + + + + + + + + + + + + + SourceFile + + + + + + + + + + + + + + + AcquisitionInfo + + + + + + + + + + + + + + + Precursor + + + + + + + + + + + + + + + Product + + + + + + + + + + + + + + + DataProcessing + + + + + + + + + + + + + + + InstrumentSettings + + + + + + + + + + + + + + + ScanWindow + + + + + + + + + + + + + + + Software + + + + + + + + + + + + + + + Acquisition + + + + + + + + + + + + + + + PeptideIdentification + + + + + + + + + + + + + + + PeptideHit + + + + + + + + + + + + + + + + + + + + + + UMLhas + + + + + + + + + + + + + + + UMLhas + + + + + + + + + * + + + + UMLhas + + + + + + + + + + + + * + + + + UMLhas + + + + + + + + + + + + * + + + + UMLhas + + + + + + + + + + + + + + + UMLhas + + + + + + + + + * + + + + UMLhas + + + + + + + + + + + + UMLhas + + + + + + + + + * + + + + UMLhas + + + + + + + + + * + + + + UMLhas + + + + + + + + + + + + * + + + + UMLhas + + + + + + diff --git a/doc/OpenMS_tutorial/images/SpectrumSettings.png b/doc/doxygen/images/SpectrumSettings.png old mode 100755 new mode 100644 similarity index 100% rename from doc/OpenMS_tutorial/images/SpectrumSettings.png rename to doc/doxygen/images/SpectrumSettings.png diff --git a/doc/OpenMS_tutorial/images/Terms_Map.png b/doc/doxygen/images/Terms_Map.png old mode 100755 new mode 100644 similarity index 100% rename from doc/OpenMS_tutorial/images/Terms_Map.png rename to doc/doxygen/images/Terms_Map.png diff --git a/doc/OpenMS_tutorial/images/Terms_Spectrum.png b/doc/doxygen/images/Terms_Spectrum.png old mode 100755 new mode 100644 similarity index 100% rename from doc/OpenMS_tutorial/images/Terms_Spectrum.png rename to doc/doxygen/images/Terms_Spectrum.png diff --git a/doc/doxygen/install/install-linux.doxygen b/doc/doxygen/install/install-linux.doxygen index dcbb7b7163a..61817b4fa62 100644 --- a/doc/doxygen/install/install-linux.doxygen +++ b/doc/doxygen/install/install-linux.doxygen @@ -4,7 +4,7 @@ This document describes how to build %OpenMS on a GNU/Linux system from source. If you encounter errors during configuring/compiling our software, - have a look at our @ref known_dev_bugs section and search in our issue tracker, + search in our issue tracker, maybe the error is already known. If not, please write to the mailing list or report the error on our issue tracker. diff --git a/doc/doxygen/install/install-macs.doxygen b/doc/doxygen/install/install-macs.doxygen index aa33d579f3d..8a44da1c34f 100644 --- a/doc/doxygen/install/install-macs.doxygen +++ b/doc/doxygen/install/install-macs.doxygen @@ -17,8 +17,8 @@ are required by %OpenMS. Most of these libraries are made available in our "contrib-package" (see below).
- If you encounter errors during configuring/compiling our software, have a - look at our @ref known_dev_bugs section, maybe the error is + If you encounter errors during configuring/compiling our software, + search in our issue tracker, already known. If not, please write to the mailing list (open-ms-general AT lists.sourceforge.net) or report the error on our issue tracker. diff --git a/doc/doxygen/install/install-win.doxygen b/doc/doxygen/install/install-win.doxygen index 95ecb6e3df1..aef26879918 100644 --- a/doc/doxygen/install/install-win.doxygen +++ b/doc/doxygen/install/install-win.doxygen @@ -15,8 +15,10 @@ This document especially considers the installation of several libraries which are required by %OpenMS. Most of these libraries are made available in our "contrib-package" (see below).
- If you encounter errors during configuring/compiling our software, have a look at our "Known Issues" section \ref known_dev_bugs "here", - maybe the error is already known. If not, please write to the mailing list. + If you encounter errors during configuring/compiling our software, + search in our issue tracker, + already known. If not, please write to the mailing list (open-ms-general AT lists.sourceforge.net) or report the error + on our issue tracker.

diff --git a/doc/doxygen/parameters/DefaultParamHandlerDocumenter.cpp b/doc/doxygen/parameters/DefaultParamHandlerDocumenter.cpp index 705ccee6e37..88d36468060 100644 --- a/doc/doxygen/parameters/DefaultParamHandlerDocumenter.cpp +++ b/doc/doxygen/parameters/DefaultParamHandlerDocumenter.cpp @@ -25,7 +25,6 @@ #include #include #include -#include #include #include #include @@ -34,7 +33,6 @@ #include #include #include -#include #include #include #include @@ -138,7 +136,6 @@ #include #include #include -#include #include #include #include @@ -413,7 +410,6 @@ int main(int argc, char** argv) DOCME(LinearResampler); DOCME(MSPFile); DOCME(MapAlignmentAlgorithmPoseClustering); - DOCME(MapAlignmentAlgorithmSpectrumAlignment); DOCME(SpectrumAnnotator); DOCME(TheoreticalSpectrumGeneratorXLMS); DOCME(MRMDecoy); @@ -460,7 +456,6 @@ int main(int argc, char** argv) DOCME(MorphologicalFilter); DOCME(MassDecompositionAlgorithm); DOCME(MRMFragmentSelection); - DOCME(ProtonDistributionModel); DOCME(MascotRemoteQuery); DOCME(MascotGenericFile); DOCME(Fitter1D); @@ -469,7 +464,6 @@ int main(int argc, char** argv) // workarounds for documenting model parameters in MapAligners: writeParameters("MapAlignerIdentificationModel", MapAlignerBase::getModelDefaults("interpolated"), true); writeParameters("MapAlignerPoseClusteringModel", MapAlignerBase::getModelDefaults("linear"), true); - writeParameters("MapAlignerSpectrumModel", MapAlignerBase::getModelDefaults("interpolated"), true); writeParameters("MapRTTransformerModel", MapAlignerBase::getModelDefaults("none"), true); ////////////////////////////////// @@ -483,7 +477,6 @@ int main(int argc, char** argv) DOCME2(FeatureFinderAlgorithmPicked, (FeatureFinderAlgorithmPicked())); DOCME2(FeatureFinderAlgorithmMRM, (FeatureFinderAlgorithmMRM())); DOCME2(FeatureFinderAlgorithm, (FeatureFinderAlgorithmMRM())); //FeatureFinderAlgorithm is a base class, get parameters from subclass FeatureFinderAlgorithmMRM - DOCME2(ProductModel, ProductModel<2>()); DOCME2(SignalToNoiseEstimatorMeanIterative, SignalToNoiseEstimatorMeanIterative<>()); DOCME2(SignalToNoiseEstimatorMedian, SignalToNoiseEstimatorMedian<>()); DOCME2(SignalToNoiseEstimator, SignalToNoiseEstimatorMedian<>()); //SignalToNoiseEstimator is a base class, get parameters from subclass SignalToNoiseEstimatorMedian diff --git a/doc/doxygen/public/KnownDevBugs.doxygen b/doc/doxygen/public/KnownDevBugs.doxygen deleted file mode 100644 index d17289dd4f2..00000000000 --- a/doc/doxygen/public/KnownDevBugs.doxygen +++ /dev/null @@ -1,54 +0,0 @@ -/** - @page known_dev_bugs Known Issues - - Have look at the Internal FAQ, if you cannot find your answer here. Write to the %OpenMS mailing list, if the problem persists. - - @section known_issues_windows Known Issues on Windows - -
    -
  • Starting a (GUI) TOPP executable (like TOPPView or FeatureFinderCentroided) gives "The application was unable to start correctly (0xc0000005). Click OK to close the application"
    - When you run the tool in Debug mode and look where it crashes, you might actually find it to be a very weird place - e.g. when creating a perfectly legal String from a QString: -@code - QFileInfo fi(file.toQString()); - return fi.path() -@endcode - The reason this happens is usually: you've mixed DLL's from multiple runtimes (e.g. compiled with VS10 and VS9). This can easily happen, - if you use your Qt (build with VS9) to link against your %OpenMS (build with VS10). The loader will load VS9 and VS10 runtimes and will NOT - tell you that they conflict. Instead, very weird things are going to happen. - You can identify if you are affected by looking at the DLL's that are loaded via daisy-chaining - see either DependencyWalker's output or the 'output' - window in VS when running the app from inside VS. It might read: -@code -'MSSimulator.exe': Loaded 'C:\Windows\winsxs\amd64_microsoft.vc90.debugcrt_1fc8b3b9a1e18e3b_9.0.21022.8_none_4ec74c6b3093419c\msvcp90d.dll', Symbols loaded. -'MSSimulator.exe': Loaded 'C:\Windows\winsxs\amd64_microsoft.vc90.debugcrt_1fc8b3b9a1e18e3b_9.0.21022.8_none_4ec74c6b3093419c\msvcr90d.dll', Symbols loaded. -'MSSimulator.exe': Loaded 'C:\dev\qt-everywhere-opensource-src-4.7.1\bin\QtSqld4.dll', Symbols loaded. -@endcode - As this was a VS10 build, the vc90 DLL's have no place here, but got loaded from the Qt4 DLL's.
    - Solution: recompile Qt (in this case) using VS10 and link against the new Qt.
  • -
  • Starting a (GUI) TOPP executable (like TOPPView or FeatureFinderCentroided) gives "Entry point not found"
    - This usually happens when your PATH contains multiple versions of DLL's on which TOPP/%OpenMS depends. - Candidates are all QT (QtGui4.dll, QtCore4.dll, ...) or Xerces-C (xerces-c_3_0) libraries. - Usually other external programs (Miktex, Mendeley etc) put their own binary directory (which contains these incompatible DLL's) before - the contrib directory in your %PATH%.
    - Solution: put the contrib directory at the very beginning of your %PATH%. The other tools should be unaffected as DLL's are first searched in the path of the executable (where their DLL's should be as well). We do that for %OpenMS as well, but only in the binary installer packages, not for the developer version.
  • -
  • Compiling the contrib or %OpenMS, the windows.h header file seems to be missing!
    - Your error message might look like this: -@code -c:\dev\contrib_build\src\bzip2-1.0.5\bzlib.h(79) : fatal error C1083: -Cannot open include file: 'windows.h': No such file or directory -@endcode - This can happen if you are using the VS Express Edition or VS2008 on Win7 (other cases might be possible as well). - The reason is that your INCLUDE environment path does not contain the system header windows.h, which is required by the contrib and %OpenMS.
    - Solution: You need to download the Microsoft SDK for Windows 7 (or whatever your OS is). Make sure to select "Header Files" Section during install and make sure that the SDK's include path is in your INCLUDE environment.
  • -
- - @section known_issues_linux Known Issues on Linux - -
    -
  • Contrib fails to compile on Ubuntu 10.04 Your error message might look like: -@code -gzip: stdin: invalid compressed data--crc error -@endcode -This happens with a buggy version of gzip in Ubuntu 10.04.
    -Solution: To solve this issue update gzip using lucid-proposed (see https://wiki.ubuntu.com/Testing/EnableProposed) -
-*/ diff --git a/doc/doxygen/public/Main.doxygen b/doc/doxygen/public/Main.doxygen index 0a1cd931402..72946af1f2b 100755 --- a/doc/doxygen/public/Main.doxygen +++ b/doc/doxygen/public/Main.doxygen @@ -18,7 +18,7 @@

%OpenMS library

- Information for developers (please make sure to read the Developer Quickstart Guide). + Information for developers (please make sure to read the @ref developer_tutorial).
  @@ -39,7 +39,7 @@ Misc:
    -
  • @subpage FAQ +
  • @subpage user_FAQ
  • @subpage ChangeLog
@@ -57,23 +57,18 @@ Development:
  • @subpage developer_tutorial -
  • @subpage coding_conventions +
  • @subpage developer_coding_conventions
  • @subpage developer_faq -
  • @subpage cpp_guide -
  • @subpage how_to_write_tests +
  • @subpage developer_cpp_guide +
  • @subpage developer_how_to_write_tests
Documentation: - Misc: -
    -
  • @subpage known_dev_bugs -
- diff --git a/doc/doxygen/public/OpenMS_Tutorial_html.doxygen b/doc/doxygen/public/OpenMS_Tutorial_html.doxygen deleted file mode 100755 index 6a5fd808177..00000000000 --- a/doc/doxygen/public/OpenMS_Tutorial_html.doxygen +++ /dev/null @@ -1,60 +0,0 @@ -// Copyright (c) 2002-2023, The OpenMS Team -- EKU Tuebingen, ETH Zurich, and FU Berlin -// SPDX-License-Identifier: BSD-3-Clause -// -------------------------------------------------------------------------- -// $Maintainer: $ -// $Authors: Marc Sturm, Oliver Alka $ -// -------------------------------------------------------------------------- - -/** - - @page developer_tutorial Developer C++ Quickstart Guide - - First, we give a small introduction to this tutorial and %OpenMS: - - @subpage tutorial_introduction - - @subpage tutorial_gf - - @subpage tutorial_structure - - @subpage tutorial_developing - - @subpage tutorial_terms - - Then you should read about the basic classes and concepts of %OpenMS: - - @subpage tutorial_library - - @subpage tutorial_library_overview - - @subpage tutorial_library_kernelclasses - - @subpage tutorial_library_kernelclasses_peaks - - @subpage tutorial_library_kernelclasses_spectra - - @subpage tutorial_library_kernelclasses_chrom - - @subpage tutorial_library_kernelclasses_precursor - - @subpage tutorial_library_kernelclasses_mrm - - @subpage tutorial_library_kernelclasses_map - - @subpage tutorial_library_kernelclasses_mse - - @subpage tutorial_library_kernelclasses_fmap - - @subpage tutorial_fileformat - - @subpage tutorial_logging - - @subpage tutorial_identifications - - @subpage tutorial_chemistry - - @subpage tutorial_element - - @subpage tutorial_aaseq - - @subpage tutorial_residue - - @subpage tutorial_residuemod - - @subpage tutorial_tsg - - @subpage tutorial_dep - - Here you can read about how to create a TOPP-Tool in %OpenMS: - - @subpage tutorial_topp - - @subpage tutorial_create - - @subpage tutorial_param_def - - @subpage tutorial_param_read - - @subpage tutorial_read - - @subpage tutorial_add - - @subpage tutorial_write - - @subpage tutorial_test - - @subpage tutorial_doc - - @subpage tutorial_polish - - @subpage tutorial_pull - - Here you find additional Information: - - @subpage tutorial_appendix - - @subpage tutorial_d_dim - - @subpage tutorial_ext_project - -*/ diff --git a/doc/doxygen/public/TOPP.doxygen b/doc/doxygen/public/TOPP.doxygen index f5d53149fb4..1f7c45901c1 100755 --- a/doc/doxygen/public/TOPP.doxygen +++ b/doc/doxygen/public/TOPP.doxygen @@ -140,7 +140,6 @@ Map Alignment - @subpage TOPP_MapAlignerIdentification - Corrects RT distortions between maps based on common peptide identifications using one map as reference. - @subpage TOPP_MapAlignerPoseClustering - Corrects RT distortions between maps using a pose clustering approach (not using pep-ids and a linear model). - - @subpage TOPP_MapAlignerSpectrum - Corrects RT distortions between maps by spectrum alignment. - @subpage TOPP_MapAlignerTreeGuided - Corrects RT distortions between maps based on common peptide identifications guided by a similarity tree. - @subpage TOPP_MapRTTransformer - Applies RT transformations to maps. @@ -152,6 +151,7 @@ Targeted Experiments and OpenSWATH - @subpage TOPP_AssayGeneratorMetabo - Generates an assay library using DDA data (Metabolomics). + - @subpage TOPP_AssayGeneratorMetaboSirius - Generates an assay library using SIRIUS project directory (Metabolomics). - @subpage TOPP_ClusterMassTracesByPrecursor - Identifies precursor mass traces and tries to correlate them with fragment ion mass traces in SWATH maps. - @subpage TOPP_MRMMapper - MRMMapper maps measured chromatograms (mzML) and the transitions used (TraML). - @subpage TOPP_MRMPairFinder - Evaluates labeled pair ratios on MRM features. @@ -192,7 +192,7 @@ Metabolite Identification - @subpage TOPP_AccurateMassSearch - Finds potential HMDB IDs within the given mass error window. - @subpage TOPP_MetaboliteSpectralMatcher - Identifies small molecules from tandem MS spectra. - - @subpage TOPP_SiriusAdapter - De novo metabolite identification. + - @subpage TOPP_SiriusExport - Export for Sirius de novo metabolite identification. RNA - @subpage TOPP_NucleicAcidSearchEngine - Search MzML files for oligonucleotides and their modifications. diff --git a/doc/doxygen/public/cpp-guide.doxygen b/doc/doxygen/public/cpp-guide.doxygen deleted file mode 100644 index cd811c18021..00000000000 --- a/doc/doxygen/public/cpp-guide.doxygen +++ /dev/null @@ -1,193 +0,0 @@ -/** - -@page cpp_guide CPP Guide - -The following page contains general C++ guidelines that are not OpenMS-specific. - -

The using directive

- -Using namespace OpenMS, namespace std, or similar in .h files may cause name clashes, therefore it is advised against. - -@warning Don't import complete namespaces to the scope into .cpp files. Instead, introduce individual symbols to the scope where you need them. For example, write using std::vector; instead of using namespace std;. This immediately gives a hint to where the symbol is defined as well. - -

UInt vs Size

- -When working with STL types (especially vectors), assign the return value of a .size() operation to the OpenMS type Size, which is defined as follows: - -@code{.cpp} -// OpenMS/include/CONCEPT/Types.h -typedef size_t Size; -@endcode - -Here is an example of how to correctly use Size. - -@code{.cpp} -std::vector myVec; -myVec.push_back("hello"); -for (Size i=0; iUInt as a substitute for Size. Even though UInt and Size are equivalent on prominent 32 bit systems, they are usually different types on 64 bit systems, where UInt is 32 bit, whereas Size is 64 bit depending on the platform. Using UInt leads to warnings (at best) and may break your code. - -Size is an unsigned type. If you need a signed type (e.g. when comparing length of vectors), use SignedSize (also defined in types.h) - -Use SignedSize if you require loop variables with negative values. Here is an example: - -@code{.cpp} -std::vector myVec; -myVec.push_back("hello"); -for (SignedSize i=0; i<(SignedSize)myVec.size() - 1; ++i) -// never use Size here, because if myVec.size()==0 then Size x = 0 - 1; gives some really BIG number! -{ - std::cout << "Index: " << i << " Value: " << myVec[i] << std::endl; -} -@endcode - -@section math_functions Math functions - -@warning Don't use GCC to access common math functions like trunc(), round(), log2(), etc. As this is not a C++ Standard requirement, Microsoft have decided to not include them. If GCC is used, it will break the windows port of OpenMS. - -Instead, do the following to use these common math functions: -
    - -
  • ceil() and floor()
  • -

    To use these functions, use the following directive:

    -@code{.cpp} -#include cmath -@endcode -

    Find information about math functions available at the cplusplus website or for VisualStudio specific problems: MSDN.

    - -
  • round()
  • -

    OpenMS provides a Math::round() function for convenience (see MATH/MISC/MathFunctions.h).

    - -
  • isnan() and isinf()
  • -

    Use the boost library. Include:

    -@code{.cpp} -#include -@endcode - -Then use boost::math::isinf(myNumber) and boost::math::isnan(myNumber). - -
  • log()
  • -

    Windows does not support log2(); use log(x)/log(2) instead.

    -
- -@section value_vs_reference Pass-by-value versus pass-by-reference - -Except of primitive types (int, double, float, ....) all method arguments should be passed as non-mutable references. - -Return types of methods should be non-mutable references as well, where possible. Sometimes, references can't be used as the retuned value is constructed in the method. If the constructed type is large, save computation time with: - -@code{.cpp} -//Bad idea -LargeObject someFunction() -{ - LargeObject tmp = ... - return tmp; -} -//Better idea -void someFunction(LargeObject& obj) -{ - obj = ... -} -@endcode - -

What is OPENMS_DLLAPI?

-OPENMS_DLLAPI is a preprocessor macro and ensures that Visual Studio exports this class into the DLL when building the DLL or references the DLL when building an executable. - -The OPENMS_DLLAPI macro is defined empty on other platforms, but it might still confuse the syntax parsing of the text editor or IDE. If you are using the Eclipse Platform, fix this at: Project > Properties > C/C++ Include Paths and Symbols. - -

When to use OPENMS_DLLAPI

-When you've written a new OpenMS class, which is not a template class, insert the macro into the header like this: - -@code{.cpp} -class Myclass -{ ... -@endcode - -becomes: - -@code{.cpp} -class OPENMS_DLLAPI Myclass -{ ... -@endcode - -It is enough to prefix the class with the macro. Do not prefix the members or member functions. - -OPENMS_DLLAPI is also required for structs, global (including extern) variables and global functions, as long as they are not templates. Never prefix templates with OPENMS_DLLAPI. The only exception to this rule is when a template is fully specialized (i.e. it can be instantiated). Additionally, prefix nested public structs/classes with OPENMS_DLLAPI, otherwise you cannot use them from outside the library. - -A prominent global function is "operator <<", which is overloaded quite often for OpenMS classes. Unless it is templatized, prefix it with OPENMS_DLLAPI. If the operator is declared a friend of some class, also make sure the friend statement contains the OPENMS_DLLAPI keyword. Otherwise, you will get inconsistent DLL-linkage. For example, use: - -@code{.cpp} -// Adduct.h -class OPENMS_DLLAPI Adduct -{ - ... - friend OPENMS_DLLAPI std::ostream& operator << (std::ostream& os, const Adduct& a); - ... -} -// Adduct.C -namespace OpenMS -{ - OPENMS_DLLAPI std::ostream& operator << (std::ostream& os, const Adduct& a) - { - ... - } -} -@endcode - -If you forget the OPENMS_DLLAPI keyword, the DLL will have missing symbols and executables might not be able to link against the DLL. When compiled with gcc you will get .. undefined reference to .. errors. - -@section pointers_vs_references Pointers vs references - -Avoid using pointers. Pointers tend to cause segmentation faults. Try to use references instead. - -@section iterators Iterators - -In simple looping constructs, iterators are generally preferable to indexed access. Prefer ++i to i++, because the preincrement operator can save a copy constructor. Use const_iterators where possible to help avoid unwanted side effects. - -@section includes Includes - -includes in header files should be avoided and replaced by forward declarations. Unnecessary includes cause longer compile times after changes in OpenMS header. - -Reasons for includes in header files are: -
    -
  • Headers of base classes have to be included in the header of the derived classes.
  • -
  • If a class has members of type T (not T* or T&) the header has to be included.
  • -
  • Headers of template classes have to be included.
  • -
-An example class could look like this: - -@code{.cpp} -#include -#include -// Forward declaration in main namespace -class QLabel; -namespace OpenMS -{ - // Forward declaration in OpenMS namespace - class Spectrum1DWidget; - class Dummy - : public QMainWindow - { - ... - protected: - Spectrum1DWidget* parent_; - QLabel* label_; - QPainter painter_; - } -} -@endcode - -@note In OpenMS, Qt headers have to be included with the library prefix. - -@section input_output Input/Output - -Code like std::cout << "example" << std::endl; forces the output buffer to be flushed, i.e. written to disk immediately, which is not ideal. Get used to writing code like std::cout << "example\n";. Debugging output can be an exception, because the content of the stream buffer may be lost upon segfault etc.. - -Write many digits to avoid unnecessary rounding errors. In particular, using standard output stream operators, i.e. << for doubles and floats should be avoided when full precision is required because by default, not all significant digits will be written. Before you start using os.precision(writtenDigits(FloatingPointType())); and alike, it is strongly advised to convert to an OpenMS::String, i.e. os << String(my_number) because it's faster, and gives you all significant digits for each type (6 digits for float, 15 for double). Similarly, input stream operators are also slow, especially in VisualStudio, so switching to OpenMS::String::toDouble() is advised for performance reasons. If you do not need all significant digits, simply invoke String(my_number, full_precision = false) to get up to only three fractional digits for float and double types. For Integer types, there is no problem with streams, but again: OpenMS::String(int i) is faster. There is usually no heap allocation overhead for strings because of Small String Optimizations (SSO). - -*/ diff --git a/doc/doxygen/public/coding-conventions.doxygen b/doc/doxygen/public/developer_coding_conventions.doxygen similarity index 96% rename from doc/doxygen/public/coding-conventions.doxygen rename to doc/doxygen/public/developer_coding_conventions.doxygen index 3e0d8c20cab..929a5a4475e 100644 --- a/doc/doxygen/public/coding-conventions.doxygen +++ b/doc/doxygen/public/developer_coding_conventions.doxygen @@ -1,10 +1,12 @@ /** - @page coding_conventions Coding Conventions + @page developer_coding_conventions Coding Conventions Use the following code conventions when contributing to %OpenMS. - %OpenMS uses coding conventions that are automatically checked using cpplint (/src/tests/coding/cpplint.py). You can find a configuration file for the CLion IDE here. You can import it by selecting Preferences > Code Style > Manage. + %OpenMS uses coding conventions that are automatically checked using cpplint (/src/tests/coding/cpplint.py), when `ENABLE_STYLE_TESTING` flag is 'ON' during CMake. + + When developing in an IDE which support [Clang format](https://clang.llvm.org/docs/ClangFormat.html) you can use the our style preset from the source tree `OpenMS/.clang-format`. For Clion, you can import it by selecting **Preferences** > **Code Style** > **Manage**. [VS2017 and later also support Clang format](https://devblogs.microsoft.com/cppblog/clangformat-support-in-visual-studio-2017-15-7-preview-1/) natively (press `Ctrl-K, Ctrl-D`). @tableofcontents @@ -53,8 +55,8 @@ @code{.cpp} if (isValid(a)) - error = 0; - return 0; + has_error = false; + return 0; // bug: will always return @endcode Thus, use braces around a block even for a single line. @@ -501,11 +503,11 @@ @subsection examples Examples - Instructive programming examples are provided in the doc/code_examples directory + Instructive programming examples are provided in the doc/code_examples directory. See @ref developer_tutorial. @section testing Testing - View the @subpage how_to_write_tests guidelines to learn how to write tests. + View the @subpage developer_how_to_write_tests guidelines to learn how to write tests. @section revision_control Revision control %OpenMS uses git to manage different versions of the source files. For easier identification of the responsible person each %OpenMS file contains the $Maintainer:$ string in the preamble. diff --git a/doc/doxygen/public/developer_cpp_guide.doxygen b/doc/doxygen/public/developer_cpp_guide.doxygen new file mode 100644 index 00000000000..e9888e9461d --- /dev/null +++ b/doc/doxygen/public/developer_cpp_guide.doxygen @@ -0,0 +1,163 @@ +/** + +@page developer_cpp_guide C++ Guide + +The following page contains OpenMS-specific C++ guidelines, which are unrelated to @ref developer_coding_conventions. + + + +@section cpp_guide_dllapi What is `OPENMS_DLLAPI`? +OPENMS_DLLAPI is a preprocessor macro and ensures that the compiler, e.g. Visual Studio or g++, exports this class into the DLL when building the DLL or, in the other case, references the DLL when building an executable. + +The OPENMS_DLLAPI macro is defined in OpenMSConfig.h, which in turn is created at configure time (when CMake runs). + +**Details**: on MSVC, its either set to `__declspec(dllexport)` or `__declspec(dllimport)`, depending on who includes the header (within OpenMS library, or from outside, e.g. TOPP tools or class tests.). +On g++/clang it's always `__attribute__((visibility("default")))`. + + + +@section cpp_guide_dllapi_when When to use `OPENMS_DLLAPI`? +When you've written a new OpenMS class, which is not a template class, insert the macro into the header like this: + +@code{.cpp} +class Myclass +{ ... +@endcode + +becomes: + +@code{.cpp} +class OPENMS_DLLAPI Myclass +{ ... +@endcode + +It is enough to prefix the class with the macro. Do not prefix the members or member functions. + +OPENMS_DLLAPI is also required for structs, global (including `extern`) variables and global functions, as long as they are not templates. Never prefix templates with `OPENMS_DLLAPI`. The only exception to this rule is when a template is fully specialized (i.e. it can be instantiated). Additionally, prefix nested public structs/classes with `OPENMS_DLLAPI`, otherwise you cannot use them from outside the library. + +A prominent global function is "operator <<", which is overloaded quite often for OpenMS classes. Unless it is templatized, prefix it with `OPENMS_DLLAPI`. If the operator is declared a friend of some class, also make sure the friend statement contains the `OPENMS_DLLAPI` keyword. Otherwise, you will get inconsistent DLL-linkage. For example, use: + +@code{.cpp} +// Adduct.h +class OPENMS_DLLAPI Adduct +{ + ... + friend OPENMS_DLLAPI std::ostream& operator<<(std::ostream& os, const Adduct& a); + ... +} +// Adduct.C +namespace OpenMS +{ + OPENMS_DLLAPI std::ostream& operator<<(std::ostream& os, const Adduct& a) + { + ... + } +} +@endcode + +If you forget the `OPENMS_DLLAPI` keyword, the .dll/.so will have missing symbols and executables might not be able to link against it. When compiled with `g++` you will get .. undefined reference to .. errors. + + + + + +@section cpp_guide_logging Logging +To make direct output to `std::out` and `std::err` more consistent, %OpenMS provides several low-level macros: +@code +OPENMS_LOG_FATAL_ERROR, +OPENMS_LOG_ERROR +OPENMS_LOG_WARN, +OPENMS_LOG_INFO and +OPENMS_LOG_DEBUG +@endcode +which should be used instead of the less descriptive `std::out` and `std::err` streams. +Furthermore, the %OpenMS loggers insert console coloring for their output and have a deduplication cache build in, which prevents repetitive outputs by aggregating and counting their occurence. +See the OpenMS::LogStream class for details. + +In a similar vein: If you are writing an %OpenMS tool, you can also use the ProgressLogger to indicate how many percent of the processing has already been performed: +

+Example: openms/doc/code_examples/data/Tutorial_Logger.cpp +
+Logging the Tool Progress + +\snippet Tutorial_Logger.cpp doxygen_snippet_Logger +Inspect the`Tutorial_Logger.cpp` for a full example. + + +@section cpp_guide_input_output Input/Output + +Code like stream_object << "example" << std::endl; forces the output buffer to be flushed, i.e. written to disk/console immediately, which can be a big performance loss. Get used to writing code like stream_object << "example\n";. Debugging output can be an exception, because the content of the stream buffer may be lost upon segfault etc.. + +Write many digits to avoid unnecessary rounding errors. In particular, using standard output stream operators, i.e. << for doubles and floats should be avoided when full precision is required because by default, not all significant digits will be written. Before you start using os.precision(writtenDigits(FloatingPointType())); and alike, it is strongly advised to convert to an OpenMS::String, i.e. os << String(my_number) because it's faster, and gives you all significant digits for each type (6 digits for float, 15 for double). Similarly, input stream operators are also slow, especially in VisualStudio, so switching to OpenMS::String::toDouble() is advised for performance reasons. If you do not need all significant digits, simply invoke String(my_number, full_precision = false) to get up to only three fractional digits for float and double types. For Integer types, there is no problem with streams, but again: OpenMS::String(int i) is faster. There is usually no heap allocation overhead for strings because of Small String Optimizations (SSO). + + + +@section cpp_guide_uint `UInt` vs. `Size` + +%OpenMS uses some custom type definitions for simple arithmetic types, such as `UInt` (shorthand for `unsigned int`). +When working with STL types (especially vectors), assign the return value of a .size() operation to the %OpenMS type Size, which is defined as follows: + +@code{.cpp} +// OpenMS/include/CONCEPT/Types.h +typedef size_t Size; +@endcode + +Here is an example of how to correctly use Size. + +@code{.cpp} +void print(const std::vector& myVec) +{ + for (Size i = 0; i < myVec.size(); ++i) + { + std::cout << "Index: " << i << " Value: " << myVec[i] << std::endl; + } +} +@endcode + +@warning Don't use UInt as a substitute for Size. Even though UInt and Size are equivalent on prominent 32 bit systems, they are usually different types on 64 bit systems, where UInt is 32 bit, whereas Size is 64 bit depending on the platform. Using UInt leads to warnings (at best) and may break your code. + +`Size` is an unsigned type. If you need a signed equivalent, use `SignedSize` (also defined in types.h). + + + +@section cpp_guide_pointers_vs_references Pointers vs references + +Avoid using pointers. Pointers tend to cause segmentation faults. Try to use references instead. + + +@section cpp_guide_includes Includes + +includes in header files should be avoided and replaced by forward declarations. Unnecessary includes cause longer compile times. + +Reasons for includes in header files are: +
    +
  • Headers of base classes have to be included in the header of the derived classes.
  • +
  • If a class has members of type T (not T* or T&) the header has to be included.
  • +
  • Headers of template classes have to be included.
  • +
+An example class could look like this: + +@code{.cpp} +#include +#include +// Forward declaration in main namespace +class QLabel; +namespace OpenMS +{ + // Forward declaration in OpenMS namespace + class Spectrum1DWidget; + class Dummy + : public QMainWindow + { + ... + protected: + Spectrum1DWidget* parent_; + QLabel* label_; + QPainter painter_; + } +} +@endcode + +@note In %OpenMS, Qt headers have to be included with the Qt-library prefix. + +*/ diff --git a/doc/doxygen/public/developer-faq.doxygen b/doc/doxygen/public/developer_faq.doxygen similarity index 85% rename from doc/doxygen/public/developer-faq.doxygen rename to doc/doxygen/public/developer_faq.doxygen index 0c0245fd0ce..0d09f81d11a 100644 --- a/doc/doxygen/public/developer-faq.doxygen +++ b/doc/doxygen/public/developer_faq.doxygen @@ -10,7 +10,7 @@ @subsection written_class_for_openms I have written a class for OpenMS. What should I do? - Follow the @subpage coding_conventions. + Follow the @subpage developer_coding_conventions. To summarize:
    @@ -200,6 +200,8 @@ Windows (Visual studio console): See Dependency Walker. Use the x64 version for 64 bit builds. Using the wrong version of depends.exe will give the wrong results. Or dumpbin /DEPENDENTS OpenMS.dll. + + @subsection how_to_get_a_list How to get a list of the symbols defined in a (shared) library or object file? Linux: Use nm <library>. @@ -210,6 +212,39 @@ Use dumpbin on object files (.o) or (shared) library files (.lib) or the DLL itself e.g. dumpbin /EXPORTS OpenMS.dll. + + + @subsection dev_faq_application_not_starting Why does my TOPP tool fail to start + +
      +
    1. + Starting a (GUI) TOPP executable (like TOPPView or FeatureFinderCentroided) gives "The application was unable to start correctly (0xc0000005). Click OK to close the application"
      + When you run the tool in Debug mode and look where it crashes, you might actually find it to be a very weird place - e.g. when creating a perfectly legal String from a QString: +@code + QFileInfo fi(file.toQString()); + return fi.path() +@endcode + The reason this happens is usually: you've mixed DLL's from multiple runtimes (e.g. compiled with VS10 and VS9). This can easily happen, + if you use your Qt (build with VS9) to link against your %OpenMS (build with VS10). The loader will load VS9 and VS10 runtimes and will NOT + tell you that they conflict. Instead, very weird things are going to happen. + You can identify if you are affected by looking at the DLL's that are loaded via daisy-chaining - see either DependencyWalker's output or the 'output' + window in VS when running the app from inside VS. It might read: +@code +'MSSimulator.exe': Loaded 'C:\Windows\winsxs\amd64_microsoft.vc90.debugcrt_1fc8b3b9a1e18e3b_9.0.21022.8_none_4ec74c6b3093419c\msvcp90d.dll', Symbols loaded. +'MSSimulator.exe': Loaded 'C:\Windows\winsxs\amd64_microsoft.vc90.debugcrt_1fc8b3b9a1e18e3b_9.0.21022.8_none_4ec74c6b3093419c\msvcr90d.dll', Symbols loaded. +'MSSimulator.exe': Loaded 'C:\dev\qt-everywhere-opensource-src-4.7.1\bin\QtSqld4.dll', Symbols loaded. +@endcode + As this was a VS10 build, the vc90 DLL's have no place here, but got loaded from the Qt4 DLL's.
      + Solution: recompile Qt (in this case) using VS10 and link against the new Qt. +
    2. +
    3. Starting a (GUI) TOPP executable (like TOPPView or FeatureFinderCentroided) gives "Entry point not found"
      + This usually happens when your PATH contains multiple versions of DLL's on which TOPP/%OpenMS depends. + Candidates are all QT (QtGui4.dll, QtCore4.dll, ...) or Xerces-C (xerces-c_3_0) libraries. + Usually other external programs (Miktex, Mendeley etc) put their own binary directory (which contains these incompatible DLL's) before + the contrib directory in your %PATH%.
      + Solution: put the contrib directory at the very beginning of your %PATH%. The other tools should be unaffected as DLL's are first searched in the path of the executable (where their DLL's should be as well). We do that for %OpenMS as well, but only in the binary installer packages, not for the developer version.
    4. +
    + @subsection how_to_profile_code How to profile code To just obtain overall runtime and peak RAM usage of a TOPP tool, the easiest is probably `/usr/bin/time` (or https://github.com/cbielow/wintime for Windows). diff --git a/doc/doxygen/public/how-to-write-tests.doxygen b/doc/doxygen/public/developer_how_to_write_tests.doxygen similarity index 99% rename from doc/doxygen/public/how-to-write-tests.doxygen rename to doc/doxygen/public/developer_how_to_write_tests.doxygen index 3128fc7a370..9ad9854455b 100644 --- a/doc/doxygen/public/how-to-write-tests.doxygen +++ b/doc/doxygen/public/developer_how_to_write_tests.doxygen @@ -1,5 +1,5 @@ /** - @page how_to_write_tests How To Write Tests + @page developer_how_to_write_tests How To Write Tests Testing is crucial to verify the correctness of the library - especially when using C++. But it is complicated. One of the biggest problems when building large class frameworks is portability. There is not a single C++ compiler that accepts the same code as any other compiler. Since one of the main concerns of OpenMS is portability, we have to ensure that every single line of code compiles on all platforms. Due to the long compilation times and the (hopefully in future) large number of different platforms, tests to verify the correct behaviour of all classes have to be carried out automatically. This implies a well defined interface for all tests, which is the reason for all these strange macros. This fixed format also enforces the writing of complete class tests. diff --git a/doc/OpenMS_tutorial/developer_Tutorial.doxygen b/doc/doxygen/public/developer_tutorial.doxygen old mode 100755 new mode 100644 similarity index 89% rename from doc/OpenMS_tutorial/developer_Tutorial.doxygen rename to doc/doxygen/public/developer_tutorial.doxygen index e2ed9c525a9..6864482cfe7 --- a/doc/OpenMS_tutorial/developer_Tutorial.doxygen +++ b/doc/doxygen/public/developer_tutorial.doxygen @@ -7,10 +7,6 @@ //########################### Please read this carefully! ########################### -// Sections: -// - to add new pages you have to add them to: -// - doc/doxygen/public/OpenMS_Tutorial_html.doxygen (html output) - // Conventions: // - Please write a short introduction for each chapter that explains // what classes are described and where these classes can be found (folder) @@ -25,20 +21,23 @@ /** -@page tutorial OpenMS Developer Quickstart Guide +@page developer_tutorial OpenMS Developer Guide + +@tableofcontents + @section tutorial_introduction Introduction @subsection tutorial_gf General Information Mass spectrometry (MS) is an essential analytical technique for high-throughput analysis in proteomics and metabolomics. The development of new separation techniques, precise mass analyzers and experimental protocols is a very active field of research. This leads to more complex experimental setups yielding ever increasing amounts of data. Consequently, analysis of the data is currently often the bottleneck for experimental studies. Although software tools for many data analysis tasks are available today, they are often hard to combine with each other or not flexible enough to allow for rapid prototyping of a new analysis workflow.
    -%OpenMS, a software framework for rapid application and method development in mass spectrometry has been designed to be portable, easy-to-use, and robust while offering a rich functionality ranging from basic data structures to sophisticated algorithms for data analysis (https://www.nature.com/nmeth/journal/v13/n9/abs/nmeth.3959.html).
    +%OpenMS, a software framework for rapid application and method development in mass spectrometry has been designed to be portable, easy-to-use, and robust while offering a rich functionality ranging from basic data structures to sophisticated algorithms for data analysis (for OpenMS 3: https://www.nature.com/articles/s41592-024-02197-7 ; and for OpenMS 2: https://www.nature.com/nmeth/journal/v13/n9/abs/nmeth.3959.html).
    Ease of use: -%OpenMS follows the object-oriented programming paradigm, which aims at mapping real-world entities to comprehensible data structures and interfaces. %OpenMS enforces @ref coding_conventions that ensure consistent names of classes, methods and member variables which increases the usability as a software library. Another important feature of a software framework is documentation. We decided to use doxygen to generate the class documentation from the source code, which ensures consistency of code and documentation. The documentation is generated in HTML format making it easy to read with a web browser.
    +%OpenMS follows the object-oriented programming paradigm, which aims at mapping real-world entities to comprehensible data structures and interfaces. %OpenMS enforces @ref developer_coding_conventions that ensure consistent names of classes, methods and member variables which increases the usability as a software library. Another important feature of a software framework is documentation. We decided to use doxygen to generate the class documentation from the source code, which ensures consistency of code and documentation. The documentation is generated in HTML format making it easy to read with a web browser.
    Robustness: -Robustness of algorithms is essential if a new method will be applied routinely to large scale datasets. Typically, there is a trade-off between performance and robustness. %OpenMS tries to address both issues equally. In general, we try to tolerate recoverable errors, e.g. files that do not entirely fulfill the format specifications. On the other hand, exceptions (usually interally derived from BaseException) are used to handle fatal errors. To check for correctness, more than 1000 unit tests (see @ref how_to_write_tests) are implemented in total, covering public methods of classes. These tests check the behavior for both valid and invalid use. Additionally, preprocessor macros are used to enable additional consistency checks in debug mode, enforce pre- and post-conditions, and are then disabled in productive mode for performance reasons.
    +Robustness of algorithms is essential if a new method will be applied routinely to large scale datasets. Typically, there is a trade-off between performance and robustness. %OpenMS tries to address both issues equally. In general, we try to tolerate recoverable errors, e.g. files that do not entirely fulfill the format specifications. On the other hand, exceptions (usually interally derived from BaseException) are used to handle fatal errors. To check for correctness, more than 1000 unit tests (see @ref developer_how_to_write_tests) are implemented in total, covering public methods of classes. These tests check the behavior for both valid and invalid use. Additionally, preprocessor macros are used to enable additional consistency checks in debug mode, enforce pre- and post-conditions, and are then disabled in productive mode for performance reasons.
    Extensibility: Since %OpenMS is based on several external libraries it is designed for the integration of external code. All classes are encapsulated in the %OpenMS namespace to avoid symbol clashes with other libraries. Through the use of C++ templates, many data structures are adaptable to specific use cases. Also, %OpenMS supports standard formats, such as mzML and mgf, and is itself open-source software. The use of standard formats ensures that applications developed with %OpenMS can be easily integrated into existing analysis pipelines. %OpenMS source code is released under the permissive BSD 3 license and hosted on https://github.com/OpenMS/OpenMS. This allows users to participate in the project and to contribute to the code base.
    @@ -47,7 +46,7 @@ Since %OpenMS is based on several external libraries it is designed for t %OpenMS allows exposing its functionality through python bindings (%pyOpenMS). This eases the rapid development of algorithms in Python that later can be translated to C++. Please see our pyOpenMS documentation for a description and walk-through of the pyOpenMS capabilities.
    Portability: -%OpenMS supports Windows, Linux, and OS X platforms.
    +%OpenMS supports Windows, Linux, and MacOS X platforms.
    @subsection tutorial_structure The structure of the OpenMS Framework @@ -82,7 +81,7 @@ Some more details and tips are collected here.
    Conventions
    -See the manual for proper coding style: @ref coding_conventions, also see: @ref cpp_guide. +See the manual for proper coding style: @ref developer_coding_conventions, also see: @ref developer_cpp_guide.
    Commit Messages
    @@ -179,7 +178,7 @@ The extensible %OpenMS library implements common mass spectrometric data process - fast, KD-tree based linking (Tool FeatureLinkerUnlabeledKD) - QT based clustering and linking (Tool FeatureLinkerUnlabeledQT) - Protein inference: - - WIP (currently via third-party tool FIDO and Wrapper FidoAdapter) + - Tool Epiphany - Protein Quantification: - Tool ProteinQuantifier - Targeted data extraction: @@ -207,13 +206,13 @@ The extensible %OpenMS library implements common mass spectrometric data process - Accurate mass search: - Tool AccurateMassSearch - De novo identification: - - Tool SiriusAdapter + - Tool SiriusExport
    - General: - Mass decomposition algorithms - Isotope pattern generators - - Quality control (Tools QCCalculator, QCExtractor) metrics and file format (QcML) + - Quality control (Tools QualityControl) metrics and file format (mzQC and its predecessor QcML)
    @@ -270,7 +269,7 @@ Within the ANALYSIS folder, you can find several important tools
    -For the sake of completeness you will find a short list of the THIRDPARTY tools, which are integrated via wrappers into the %OpenMS framework (usually called -Adapter e.g. SiriusAdapter) +For the sake of completeness you will find a short list of the THIRDPARTY tools, which are integrated via wrappers into the %OpenMS framework (usually called -Adapter e.g. CometAdapter) Wrapper to third-party tools: - Search Engines (MSGFPLUS, XTandem, Comet) @@ -339,6 +338,8 @@ The base class of the two-dimensional data points is Peak2D. It provides the sam
    For information on d-dimensional data points see the appendix. +@note All subsequent code snippets are taken from fully self-contained compilation units in `openms/doc/code_examples`, which can be build as executables using the `Tutorials_build` target. + @subsection tutorial_library_kernelclasses_spectra Spectra The most important container for raw/profile data and centroided peaks is MSSpectrum. The elements of a MSSpectrum are peaks (Peak1D). In fact it is so common that it has its own typedef PeakSpectrum. MSSpectrum is derived from SpectrumSettings, a container for the metadata of a spectrum (e.g. precursor information). Here, only MS data handling is explained, SpectrumSettings is described in subsection meta data of a spectrum. In the following example (Tutorial_MSSpectrum.cpp) program, a MSSpectrum is filled with peaks, sorted according to mass-to-charge ratio and a selection of peak positions is displayed as One-dimensional data points:

    @@ -346,7 +347,7 @@ The most important container for raw/profile data and centroided peaks is MSSpec
    In this example, we create MS1 spectrum at 1 minute and insert peaks with descending mass-to-charge ratios (for educational reasons). We sort the peaks according to ascending mass-to-charge ratio. Finally we print the peak positions of those peaks between 800 and 1000 Thomson. For printing all the peaks in the spectrum, we simply would have used the STL-conform methods begin() and end(). In addition to the iterator access, we can also directly access the peaks via vector indices (e.g. spectrum[0] is the first Peak1D object of the MSSpectrum). -\snippet Tutorial_MSSpectrum.cpp MSSpectrum +\snippet Tutorial_MSSpectrum.cpp doxygen_snippet_MSSpectrum @subsection tutorial_library_kernelclasses_chrom Chromatograms The most important container for targeted analysis / XIC data is MSChromatogram. The elements of a MSChromatogram are chromatogram peaks (Peak1D). MSChromatogram is derived from ChromatogramSettings, a container for the metadata of a chromatogram (e.g. containing precursor and product information), similarly to SpectrumSettings. In the following example (Tutorial_MSChromatogram.cpp) program, a MSChromatogram is filled with chromatographic peaks, sorted according to retention time and a selection of peak positions is displayed. @@ -354,7 +355,7 @@ The most important container for targeted analysis / XIC data is MSChromatogram. Example: Tutorial_MSChromatogram
    Fill MSChromatogram with chromatographic peaks, sorted according to retention time -\snippet Tutorial_MSChromatogram.cpp MSChromatogram +\snippet Tutorial_MSChromatogram.cpp doxygen_snippet_MSChromatogram Since much of the functionality is shared between MSChromatogram and MSSpectrum, further examples can be gathered from the MSSpectrum subsection. @@ -365,16 +366,26 @@ The precursor data stored along with MS/MS spectra contains invaluable informati
    Retrieve precursor information -\snippet Tutorial_Precursor.cpp Precursor +\snippet Tutorial_Precursor.cpp doxygen_snippet_Precursor @subsection tutorial_library_kernelclasses_mrm MRMTransitionGroup The targeted analysis of SRM or DIA (SWATH-MS) type of data requires a set of targeted assays as well as raw data chromatograms. The MRMTransitionGroup class allows users to map these two types of information and store them together with identified features conveniently in a single object.

    -Example: Tutorial_MRMTransitionGroup -
    Create an empty MRMTransitionGroup with two dummy transitions -\snippet Tutorial_MRMTransitionGroup.cpp MRMTransitionGroup +@code +using TrGroup = MRMTransitionGroup; +TrGroup createTransitionGroup() +{ + TrGroup tr_group; + tr_group.addChromatogram(MSChromatogram(), “transition1”); + tr_group.addTransition(ReactionMonitoringTransition(), “transition1”); + tr_group.addChromatogram(MSChromatogram(), “transition2”); + tr_group.addTransition(ReactionMonitoringTransition(), “transition2”); + tr_group.setTransitionGroupID(“tr_peptideA”); + return tr_group; +} +@endcode Note how the identifiers of the chromatograms and the assay information (ReactionMonitoringTransition) are matched so that downstream algorithms can utilize the meta-information stored in the assays for data analysis. @@ -391,7 +402,7 @@ MSExperiment contains ExperimentalSettings (metadata of the MS run) and a vector
    The following example creates a MSExperiment containing four MSSpectrum instances. We then iterate over RT range (2,3) and m/z range (603,802) and print the peak positions using an AreaIterator. Then we show how we iterate over all spectra and peaks. In the commented out part, we show how to load/store all spectra and associated metadata from/to an mzML file. -\snippet Tutorial_MSExperiment.cpp MSExperiment +\snippet Tutorial_MSExperiment.cpp doxygen_snippet_MSExperiment @subsection tutorial_library_kernelclasses_fmap FeatureMap FeatureMap, the container for features, is simply a vector. Additionally, it is derived from ExperimentalSettings, to store the meta information. All peak and feature containers (MSSpectrum, MSExperiment, FeatureMap) are also derived from RangeManager. This class facilitates the handling of MS data ranges. It allows to calculate and store both the position range and the intensity range of the container. @@ -400,7 +411,8 @@ FeatureMap, the container for features, is simply a vector. Additionall
    The following examples creates a FeatureMap containing two Feature instances. Then we iterate over all features and output the retention time and m/z. We then show, how to use the underlying range manager to retrieve FeatureMap boundaries in rt, m/z, and intensity. -\snippet Tutorial_FeatureMap.cpp FeatureMap +\snippet Tutorial_FeatureMap.cpp doxygen_snippet_FeatureMap + @subsection tutorial_fileformat File Formats @@ -419,30 +431,6 @@ The following examples creates a FeatureMap containing two Feature instances. Th For further information of the HUPO Proteomics Standards Initiative please visit: http://www.psidev.info/ -@subsection tutorial_logging Logging -To make direct output to std::out and std::err more consistent, %OpenMS provides several low-level macros: -
    -OPENMS_LOG_FATAL_ERROR, -
    -OPENMS_LOG_ERROR -
    -OPENMS_LOG_WARN, -
    -OPENMS_LOG_INFO and -
    -OPENMS_LOG_DEBUG -
    -which should be used instead of the less descriptive std::out and std::err streams. - -If you are writing an %OpenMS tool, you can also use the ProgressLogger to indicate how many percent of the processing has already been performed: -

    -Example: Tutorial_Logger.cpp -
    -Logging the Tool Progress - -\snippet Tutorial_Logger.cpp Logger - -Depending on how the user configures the tool, this output is written to the command line or a log file. @subsection tutorial_identifications Identifications Identifications of proteins, peptides, and the mapping between peptides and proteins (or groups of proteins) are stored in dedicated data structures. These data structures are typically stored to disc as idXML or mzIdentML file. @@ -453,7 +441,7 @@ Each ProteinHit contains the actual protein accession, an associated score, and
    Create all identification data needed to store an idXML file -\snippet Tutorial_IdentificationClasses.cpp Identification +\snippet Tutorial_IdentificationClasses.cpp doxygen_snippet_Identification @subsection tutorial_chemistry Chemistry @subsection tutorial_element Element, ElementDB, EmpiricalFormula @@ -462,13 +450,13 @@ An Element object is the representation of an element. It can store the name, sy Example: Tutorial_Element.cpp
    Work with Element object -\snippet Tutorial_Element.cpp Element +\snippet Tutorial_Element.cpp doxygen_snippet_Element

    Example: Tutorial_EmpiricalFormula.cpp
    Extract isotope distribution and monoisotopic weight of an EmpiricalFormula object -\snippet Tutorial_EmpiricalFormula.cpp EmpiricalFormula +\snippet Tutorial_EmpiricalFormula.cpp doxygen_snippet_EmpiricalFormula @subsection tutorial_aaseq AASequence - Representing a Peptide (amino acid sequence) An AASequence object stores a (potentially chemically modified) peptide. @@ -479,7 +467,7 @@ Once constructed, many convenient functions are available to calculate peptide o
    Compute and output basic AASequence properties -\snippet Tutorial_AASequence.cpp AASequence +\snippet Tutorial_AASequence.cpp doxygen_snippet_AASequence Internally, an AASequence object is composed of Residues. @@ -490,7 +478,7 @@ Residues are the building blocks of AASequence objects. They store physico-chemi
    Compute and output basic Residue properties -\snippet Tutorial_Residue.cpp Residue +\snippet Tutorial_Residue.cpp doxygen_snippet_Residue @subsection tutorial_residuemod ResidueModification, ModificationsDB If a residue is modified (e.g. phosphorylation of an amino acid) it can be stored in the ResidueModification class. @@ -502,7 +490,7 @@ The class ModificationsDB is a database of ResidueModifications. These are mostl
    Set a ResidueModification on a Residue -\snippet Tutorial_ResidueModification.cpp ResidueModification +\snippet Tutorial_ResidueModification.cpp doxygen_snippet_ResidueModification @subsection tutorial_tsg TheoreticalSpectrumGenerator The TheoreticalSpectrumGenerator generates ion ladders from AASequences. @@ -511,7 +499,7 @@ The TheoreticalSpectrumGenerator generates ion ladders from AASequences.
    Generate theoretical spectra -\snippet Tutorial_TheoreticalSpectrumGenerator.cpp TSG +\snippet Tutorial_TheoreticalSpectrumGenerator.cpp doxygen_snippet_TSG @subsection tutorial_dep DigestionEnzymeProtein, ProteaseDB and ProteaseDigestion %OpenMS provides the most common digestion enzymes (DigestionEnzymeProtein) used in MS. They are stored in the ProteaseDB singleton and loaded from “/share/CHEMISTRY/Enzymes.xml”. @@ -520,7 +508,7 @@ Generate theoretical spectra
    Digest amino acid sequence -\snippet Tutorial_Enzyme.cpp Enzyme +\snippet Tutorial_Enzyme.cpp doxygen_snippet_Enzyme @section tutorial_tooldev Tool development @subsection tutorial_topp TOPP-Tool @@ -541,7 +529,7 @@ The DatabaseFilter tool should provide functionality to reduce a fasta database
    Template for %OpenMS tool development -\snippet Tutorial_Template.cpp Template +\snippet Tutorial_Template.cpp doxygen_snippet_Template - Now add a line with %DatabaseFilter.cpp to src/utils/executables.cmake. This registers the novel tool in the %OpenMS build system. - Then add the tool to getUtilList() in src/openms/source/APPLICATIONS/ToolHandler.cpp @@ -552,35 +540,35 @@ This creates a manual (doxygen) page with the information –help output of the @subsection tutorial_param_def Define tool parameters Define tool parameters Each TOPP tool defines a set of parameters that will be available from the command line, KNIME, and other workflow systems. This is done in the void registerOptionsAndFlags_() method. In our case we want to read a protein database (fasta format), a file containing identification data (idXML format), and an option to switch between keeping (whitelisting) and removing (blacklisting) entries based on the filter result. This is our input. The reduced database forms the output and should be written to a protein database in fasta format. This is easily done by adding following lines to:

    -Example: Tutorial_Final.cpp +Example: Tutorial_TOPP.cpp
    Registration of tool parameters -\snippet Tutorial_Final.cpp Register +\snippet Tutorial_TOPP.cpp doxygen_snippet_Register Functions, classes and references can be checked in the %OpenMS / TOPP documentation (ftp://ftp.mi.fu-berlin.de/pub/OpenMS/release-documentation/html/index.html) @subsection tutorial_param_read Read tool parameters After a tool is executed, the registered parameters are available in the main_ function of the TOPP tool and can be read using the getStringOption_ method. Special methods for integers, lists and floating point parameters exist and are in the TOPPBase documentation but are not needed for this example.

    -Example: Tutorial_Final.cpp +Example: Tutorial_TOPP.cpp
    -\snippet Tutorial_Final.cpp InputParam +\snippet Tutorial_TOPP.cpp doxygen_snippet_InputParam @subsection tutorial_read Read Input Files First the different file formats and data structures for peptide identifications have to be included at the top of the file.

    -Example: Tutorial_Final.cpp +Example: Tutorial_TOPP.cpp
    Add essential includes -\snippet Tutorial_Final.cpp Includes +\snippet Tutorial_TOPP.cpp doxygen_snippet_Includes Read the input files
    -\snippet Tutorial_Final.cpp InputRead +\snippet Tutorial_TOPP.cpp doxygen_snippet_InputRead Note: both peptide_identifications and protein_identifications contain protein accessions. The difference between them is that protein_identifications only contain the inferred set of protein accessions while peptide_identifications contains all protein accessions the peptides map to. We consider only the larger set of protein accessions stored in the peptide identifications. In principle, it would be easy to add another parameter that adds a filter for the inferred accessions stored in protein_identifications. @@ -589,35 +577,40 @@ First, the accessions are extracted from the IdXML file. Here knowledge of the d To store all proteins accessions in the set id_accessions, we write:

    -Example: Tutorial_Final.cpp +Example: Tutorial_TOPP.cpp
    Store protein accessions -\snippet Tutorial_Final.cpp Functionality_1 +\snippet Tutorial_TOPP.cpp doxygen_snippet_Functionality_1 Now that we assembled the set of all protein accessions we are ready to compare them to the fasta_accessions. If they are similar and the method whitelist or they are different and the method blacklist was chosen, the fasta entries are copied to the new fasta database.

    -Example: Tutorial_Final.cpp +Example: Tutorial_TOPP.cpp
    Add method functionality -\snippet Tutorial_Final.cpp Functionality_2 +\snippet Tutorial_TOPP.cpp doxygen_snippet_Functionality_2 @subsection tutorial_write Write Output Files -Example: Tutorial_Final.cpp +Example: Tutorial_TOPP.cpp
    Write the output -\snippet Tutorial_Final.cpp output +\snippet Tutorial_TOPP.cpp doxygen_snippet_output @subsection tutorial_test Adding TOPP tests -Testing your tools is essential and required to promote your experimental util to an official TOPP tool. It is not mandatory to provide a test for a util but appreciated. -For this test a .fasta and a compatible .idXML file have to be added to /src/tests/topp/. Further the test procedure has to be added to CMakeLists.txt in the same folder. -

    -Example: Tutorial_Test.cpp -
    -Add tests - -\snippet Tutorial_Test.cpp Test +Testing your tools is essential and all official TOPP tools need to be tested. +Our particular test requires a .fasta and a compatible .idXML file. We add those to `/src/tests/topp/`. +Furthermore, the actual calls to the TOPP tool using our test data, are added to CMakeLists.txt in the same folder, e.g.: + +@code +# DatabaseFilter test: +add_test("TOPP_DatabaseFilter_1" ${TOPP_BIN_PATH}/DatabaseFilter -test -in ${DATA_DIR_TOPP}/DatabaseFilter_1.fasta -accession ${DATA_DIR_TOPP}/DatabaseFilter_1.idXML -out DatabaseFilter_1_out.fasta.tmp) +add_test("TOPP_DatabaseFilter_1_out" ${DIFF} -in1 DatabaseFilter_1_out.fasta.tmp -in2 ${DATA_DIR_TOPP}/DatabaseFilter_1_out.fasta ) +set_tests_properties("TOPP_DatabaseFilter_1_out" PROPERTIES DEPENDS "TOPP_DatabaseFilter_1") +add_test("TOPP_DatabaseFilter_2" ${TOPP_BIN_PATH}/DatabaseFilter -test -in ${DATA_DIR_TOPP}/DatabaseFilter_1.fasta -accession ${DATA_DIR_TOPP}/DatabaseFilter_1.idXML -out DatabaseFilter_2_out.fasta.tmp -method blacklist) +add_test("TOPP_DatabaseFilter_2_out" ${DIFF} -in1 DatabaseFilter_2_out.fasta.tmp -in2 ${DATA_DIR_TOPP}/DatabaseFilter_2_out.fasta ) +set_tests_properties("TOPP_DatabaseFilter_2_out" PROPERTIES DEPENDS "TOPP_DatabaseFilter_2") +@endcode These tests run the program with the given parameters and then call a diff tool to compare the generated output to the expected output. @@ -630,11 +623,11 @@ This is how a util should look after code polishing: Here, the support for different formats was extended (idXML and MZIdentML). Since different filter criteria may be introduced in the future, the structure was slightly changed with a function for the filtering by ID (filterByProteinIDs_) - in order to allow higher flexibility when adding new a functionality later on.

    -Example: Tutorial_final.cpp +Example: Tutorial_TOPP.cpp
    Polish your code - add additional functionality -\snippet Tutorial_Final.cpp final +\snippet Tutorial_TOPP.cpp doxygen_snippet_TOPPexample @subsection tutorial_pull Open a pull request Afterwards you can commit your changes to a new branch “feature/DatabaseFilter” of your %OpenMS clone on github and submit a pull request on your github page. After a short review process by the %OpenMS Team, the tool will be added the %OpenMS Library. diff --git a/doc/doxygen/public/FAQ.doxygen b/doc/doxygen/public/user_FAQ.doxygen similarity index 62% rename from doc/doxygen/public/FAQ.doxygen rename to doc/doxygen/public/user_FAQ.doxygen index 9a6a04de094..6b06e0aa506 100644 --- a/doc/doxygen/public/FAQ.doxygen +++ b/doc/doxygen/public/user_FAQ.doxygen @@ -13,21 +13,21 @@ /** -@page FAQ FAQ +@page user_FAQ User FAQ # TOPP
    • How to disable the %OpenMS update check.
      -Starting with %OpenMS 2.1 all TOPP tools will check for updated versions of the tools online and will print an information message if a newer version is available. This version check occurs only once per day and tool. Information on which tools are executed will be collected anonymously to identify which tools are no longer used and to optimally distribute development resources. If the feature causes problems or concerns, it can be disabled at build or runtime: -- build time: disabling it in the build script (switch ENABLE_UPDATE_CHECK to "OFF" ) -- runtime: setting the environment variable (OPENMS_DISABLE_UPDATE_CHECK to "ON") +Starting with %OpenMS 2.1 all TOPP tools will check for updated versions of the tools online and will print an information message if a newer version is available. +This version check occurs only once per day and tool. Information on which tools are executed will be collected anonymously to identify which tools are no longer used and to optimally distribute development resources. +If the feature causes problems or concerns, it can be disabled by setting the environment variable 'OPENMS_DISABLE_UPDATE_CHECK' to "ON". +
    • How can I change the temporary directory that %OpenMS uses?
      By default %OpenMS will use the system wide temporary directory (defined -either by TMPDIR, TEMP or TMP environmental variable). You can override -this by setting the parameter "temp_dir" in the OpenMS.ini or setting -the environmental variable OPENMS_TMPDIR. +either by `TMPDIR`, `TEMP` or the `TMP` environmental variable, depending on your Operating System). You can override +this by setting the environmental variable `OPENMS_TMPDIR`.
    • Calling msConvert (of ProteoWizard) results in small mzML files with no peak data.
      The Thermo interface expects an English locale setting. Otherwise it will silently forget to @@ -41,17 +41,14 @@ OpenMS::File::find(...) of File.cpp error message: the file 'CHEMISTRY/unimod.xm is shown, you have probably moved your %OpenMS installation manually?! Then the TOPP tools cannot find some required data files anymore, e.g. XML schema files or chemical isotope data. -Either of the following actions should fix your problem: -- Set the environment variable OPENMS_DATA_PATH to your <%OpenMS>/share/OpenMS/ folder. -- [developers only] Use the cmake option -D CMAKE_INSTALL_PREFIX=... to set the installation directory. - Run 'make %OpenMS TOPP' again. -- [developers only] Execute cmake in the new location and run 'make %OpenMS TOPP' again. +To fix, set the environment variable `OPENMS_DATA_PATH` to your <%OpenMS>/share/OpenMS/ folder.
    • A TOPP tool crashes when loading a certain input file. Other files work properly.
      If an XML input file is used, please check if the file is valid. -For most XML data formats, this can be done using the @ref TOPP_FileInfo tool: +For most XML data formats, this can be done using the @ref TOPP_FileInfo tool. +Here is how to invoke it on the commandline: @code{.sh} FileInfo -v -in @endcode @@ -61,5 +58,7 @@ You can also check for corrupt data in peak files: FileInfo -c -in @endcode +You can, of course, also run it via your workflow system of choice. +
    */ diff --git a/src/openms/CMakeLists.txt b/src/openms/CMakeLists.txt index 9197e1b9e2e..c0624a660ad 100644 --- a/src/openms/CMakeLists.txt +++ b/src/openms/CMakeLists.txt @@ -86,7 +86,7 @@ include (${PROJECT_SOURCE_DIR}/includes.cmake) #------------------------------------------------------------------------------ # all the dependency libraries are linked into libOpenMS.so -set(OPENMS_DEP_LIBRARIES Evergreen LibSVM::LibSVM XercesC::XercesC Qt5::Core Qt5::Network) +set(OPENMS_DEP_LIBRARIES Evergreen LibSVM::LibSVM XercesC::XercesC Eigen3::Eigen Qt5::Core Qt5::Network) ## setup the argumentes to 'target_link_libraries(OpenMS PRIVATE ${OPENMS_DEP_PRIVATE_LIBRARIES})' set(OPENMS_DEP_PRIVATE_LIBRARIES @@ -97,7 +97,6 @@ set(OPENMS_DEP_PRIVATE_LIBRARIES Boost::date_time Boost::iostreams Boost::regex - Eigen3::Eigen GTE Quadtree SIMDe @@ -174,7 +173,7 @@ install(DIRECTORY ${OPENMS_HOST_DIRECTORY}/share/OpenMS/ REGEX ".*\\/\\..*" EXCLUDE ## Exclude hidden files in subdirectories REGEX "OpenMS/examples" EXCLUDE ) -install_directory(${OPENMS_HOST_DIRECTORY}/share/OpenMS/examples ${INSTALL_SHARE_DIR}/examples examples) +install_directory(${OPENMS_HOST_DIRECTORY}/share/OpenMS/examples ${INSTALL_SHARE_DIR} examples) # Devs also need our custom find modules install_directory(${OPENMS_HOST_DIRECTORY}/cmake/Modules/ ${INSTALL_LIB_DIR}/cmake/OpenMS/Modules cmake) diff --git a/src/openms/configh.cmake b/src/openms/configh.cmake index 38643801a50..96e07e2221c 100755 --- a/src/openms/configh.cmake +++ b/src/openms/configh.cmake @@ -28,7 +28,7 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # # -------------------------------------------------------------------------- -# $Maintainer: Stephan Aiche, Chris Bielow $ +# $Maintainer: Chris Bielow $ # $Authors: Chris Bielow, Stephan Aiche $ # -------------------------------------------------------------------------- @@ -63,94 +63,6 @@ else() set(CF_OPENMS_HASDOXYGENDOT 0) endif() -include(CheckTypeSize) ## Check sizeof a type -CHECK_TYPE_SIZE("unsigned char" SIZE_UCHAR) -CHECK_TYPE_SIZE("unsigned short" SIZE_USHORT) -CHECK_TYPE_SIZE("unsigned int" SIZE_UINT) -CHECK_TYPE_SIZE("unsigned long" SIZE_ULONG) -CHECK_TYPE_SIZE("unsigned long long" SIZE_ULONGLONG) -CHECK_TYPE_SIZE("short" SIZE_SHORT) -CHECK_TYPE_SIZE("int" SIZE_INT) -CHECK_TYPE_SIZE("long" SIZE_LONG) -CHECK_TYPE_SIZE("long long" SIZE_LONGLONG) - -CHECK_TYPE_SIZE("int32_t" SIZE_INT32) -if (HAVE_SIZE_INT32) - set(CF_OPENMS_INT32_TYPE int32_t) -else() - ## search for another Int32 type - if (SIZE_INT MATCHES "4") - set(CF_OPENMS_INT32_TYPE int) - elseif (SIZE_SHORT MATCHES "4") - set(CF_OPENMS_INT32_TYPE short) - elseif (SIZE_LONG MATCHES "4") - set(CF_OPENMS_INT32_TYPE long) - else() - Message(FATAL_ERROR "Cannot find signed 32bit integer type. Please contact the developers!") - endif() -endif() - -CHECK_TYPE_SIZE("int64_t" SIZE_INT64) -if (HAVE_SIZE_INT64) - set(CF_OPENMS_INT64_TYPE int64_t) -else() - ## search for another Int64 type - if (SIZE_INT MATCHES "8") - set(CF_OPENMS_INT64_TYPE int) - elseif (SIZE_LONG MATCHES "8") - set(CF_OPENMS_INT64_TYPE long) - elseif (SIZE_LONGLONG MATCHES "8") - set(CF_OPENMS_INT64_TYPE "long long") - else() - Message(FATAL_ERROR "Cannot find signed 64bit integer type. Please contact the developers!") - endif() -endif() - -CHECK_TYPE_SIZE("uint8_t" SIZE_UINT8) -if (HAVE_SIZE_UINT8) - set(CF_OPENMS_BYTE_TYPE uint8_t) -else() - ## search for another uint8 type - if (SIZE_UCHAR MATCHES "1") - set(CF_OPENMS_BYTE_TYPE "unsigned char") - elseif (SIZE_USHORT MATCHES "1") - set(CF_OPENMS_BYTE_TYPE "unsigned short") - else() - Message(FATAL_ERROR "Cannot find unsigned 8bit integer (byte) type. Please contact the developers!") - endif() -endif() - - -CHECK_TYPE_SIZE("uint32_t" SIZE_UINT32) -if (HAVE_SIZE_UINT32) - set(CF_OPENMS_UINT32_TYPE uint32_t) -else() - ## search for another UInt32 type - if (SIZE_UINT MATCHES "4") - set(CF_OPENMS_UINT32_TYPE "unsigned int") - elseif (SIZE_USHORT MATCHES "4") - set(CF_OPENMS_UINT32_TYPE "unsigned short") - elseif (SIZE_ULONG MATCHES "4") - set(CF_OPENMS_UINT32_TYPE "unsigned long") - else() - Message(FATAL_ERROR "Cannot find unsigned 32bit integer type. Please contact the developers!") - endif() -endif() - -CHECK_TYPE_SIZE("uint64_t" SIZE_UINT64) -if (HAVE_SIZE_UINT64) - set(CF_OPENMS_UINT64_TYPE uint64_t) -else() - ## search for another uint64 type - if (SIZE_ULONG MATCHES "8") - set(CF_OPENMS_UINT64_TYPE "unsigned long") - elseif (SIZE_ULONGLONG MATCHES "8") - set(CF_OPENMS_UINT64_TYPE "unsigned long long") - else() - Message(FATAL_ERROR "Cannot find uint64 type. Please contact the developers!") - endif() -endif() - #------------------------------------------------------------------------------ ## Check if various system headers exist include(CheckIncludeFileCXX) @@ -159,11 +71,9 @@ CHECK_INCLUDE_FILE_CXX("unistd.h" OPENMS_HAS_UNISTD_H) CHECK_INCLUDE_FILE_CXX("process.h" OPENMS_HAS_PROCESS_H) CHECK_INCLUDE_FILE_CXX("time.h" OPENMS_HAS_TIME_H) -CHECK_INCLUDE_FILE_CXX("sys/types.h" OPENMS_HAS_SYS_TYPES_H) CHECK_INCLUDE_FILE_CXX("sys/times.h" OPENMS_HAS_SYS_TIMES_H) CHECK_INCLUDE_FILE_CXX("sys/time.h" OPENMS_HAS_SYS_TIME_H) CHECK_INCLUDE_FILE_CXX("sys/resource.h" OPENMS_HAS_SYS_RESOURCE_H) -CHECK_INCLUDE_FILE_CXX("stdint.h" OPENMS_HAS_STDINT_H) #------------------------------------------------------------------------------ # check if certain c++ functions exist diff --git a/src/openms/include/OpenMS/ANALYSIS/ID/HiddenMarkovModel.h b/src/openms/include/OpenMS/ANALYSIS/ID/HiddenMarkovModel.h deleted file mode 100644 index c94ef9dcf11..00000000000 --- a/src/openms/include/OpenMS/ANALYSIS/ID/HiddenMarkovModel.h +++ /dev/null @@ -1,302 +0,0 @@ -// Copyright (c) 2002-present, The OpenMS Team -- EKU Tuebingen, ETH Zurich, and FU Berlin -// SPDX-License-Identifier: BSD-3-Clause -// -// -------------------------------------------------------------------------- -// $Maintainer: Timo Sachsenberg $ -// $Authors: Andreas Bertsch $ -// -------------------------------------------------------------------------- - - -#pragma once - -#include -#include - -#include -#include -#include - -#include -#include - -namespace OpenMS -{ - /** - @brief Hidden Markov Model State class for the Hidden Markov Model - */ - class OPENMS_DLLAPI HMMState - { -public: - - /** @name Constructors and destructors - */ - //@{ - /// default constructor - HMMState(); - - /// copy constructor - HMMState(const HMMState & state); - - /// constructor with name and visibility option - HMMState(const String & name, bool hidden = true); - - /// destructor - virtual ~HMMState(); - //@} - - /// - HMMState & operator=(const HMMState &); - - /** Accessors - */ - //@{ - /// sets the name of the state - void setName(const String & name); - - /// returns the name of the state - const String & getName() const; - - /// sets the hidden property to the state - void setHidden(bool hidden); - - /// returns true if the state is hidden - bool isHidden() const; - - /// adds the given predecessor state to the list - void addPredecessorState(HMMState * state); - - /// deletes the given predecessor state from the list - void deletePredecessorState(HMMState * state); - - /// add the given successor state to the list - void addSuccessorState(HMMState * state); - - /// deletes the given successor state from the list - void deleteSuccessorState(HMMState * state); - - /// returns the predecessor states of the state - const std::set & getPredecessorStates() const; - - /// return the successor states of the state - const std::set & getSuccessorStates() const; - //@} - -protected: - - /// - bool hidden_; - - /// - String name_; - - /// - std::set pre_states_; - - /// - std::set succ_states_; - }; - - - /** - @brief Hidden Markov Model implementation of PILIS - - Hidden Markov Model implementation suitable for forward connected HMMs. - The HMM is mostly used within PILIS. For further details have a look at - the docs of PILIS. - */ - class OPENMS_DLLAPI HiddenMarkovModel - { -public: - - /** @name Constructors and destructors - */ - //@{ - /// default constructor - HiddenMarkovModel(); - - /// copy constructor - HiddenMarkovModel(const HiddenMarkovModel & hmm_new); - - /// destructor - virtual ~HiddenMarkovModel(); - //@} - - /// assignment operator - HiddenMarkovModel & operator=(const HiddenMarkovModel &); - - /** Accessors - */ - //@{ - /** @brief writes the HMM into a file in GraphML format - - A detailed description of the GraphML format can be found under - http://graphml.graphdrawing.org/ - */ - void writeGraphMLFile(const String & filename); - - /// writes the HMM into an outstream - void write(std::ostream & out) const; - - /// returns the transition probability of the given state names - double getTransitionProbability(const String & s1, const String & s2) const; - - /// sets the transition probability of the given state names to prob - void setTransitionProbability(const String & s1, const String & s2, double prob); - - /// return the number of states - Size getNumberOfStates() const; - - /// registers a new state to the HMM - void addNewState(HMMState * state); - - /// registers a new state to the HMM - void addNewState(const String & name); - - /// add a new synonym transition to the given state names - void addSynonymTransition(const String & name1, const String & name2, const String & synonym1, const String & synonym2); - - /// evaluate the HMM, estimates the transition probabilities from the training - void evaluate(); - - /// trains the HMM; initial probabilities and emission probabilities of the emitting states should be set - void train(); - - /// sets the initial transition probability of the given state to prob - void setInitialTransitionProbability(const String & state, double prob); - - /// clears the initial probabilities - void clearInitialTransitionProbabilities(); - - /// sets the emission probability of the given state to prob - void setTrainingEmissionProbability(const String & state, double prob); - - /// clear the emission probabilities - void clearTrainingEmissionProbabilities(); - - /// enables a transition; adds s1 to the predecessor list of s2 and s2 to the successor list of s1 - void enableTransition(const String & s1, const String & s2); - - /// disables the transition; deletes the nodes from the predecessor/successor list respectively - void disableTransition(const String & s1, const String & s2); - - /// disables all transitions - void disableTransitions(); - - /// calculates the emission probabilities of the HMM (of course only of the non-hidden states) - void calculateEmissionProbabilities(std::map & emission_probs); - - /// writes some stats to cerr - void dump(); - - /// writes some info of the forward "matrix" to cerr - void forwardDump(); - - /// builds a synonyms structure, needed when synonyms are used - //void buildSynonyms(); - - /// estimates the transition probabilities of not trained transitions by averages similar trained ones - void estimateUntrainedTransitions(); - - /// returns the state with the given name - HMMState * getState(const String & name); - - /// returns the state with the given name - const HMMState * getState(const String & name) const; - - /// clears all data - void clear(); - - /// sets the pseudo count that are added instead of zero - void setPseudoCounts(double pseudo_counts); - - /// returns the pseudo counts - double getPseudoCounts() const; - - void setVariableModifications(const StringList & modifications); - //@} - -protected: - - /// disables the transition; deletes the nodes from the predecessor/successor list respectively - void disableTransition_(HMMState * s1, HMMState * s2); - - /// enables a transition; adds s1 to the predecessor list of s2 and s2 to the successor list of s1 - void enableTransition_(HMMState * s1, HMMState * s2); - - /// sets the emission probability of the given state to prob - void setTrainingEmissionProbability_(HMMState * state, double prob); - - /// sets the transition probability of the given states to prob - void setTransitionProbability_(HMMState * s1, HMMState * s2, double prob); - - /// returns the transition probability of the given states - double getTransitionProbability_(HMMState * s1, HMMState * s2) const; - - - /// performs the forward algorithm - void calculateForwardPart_(); - - /// performs the backward algorithm - void calculateBackwardPart_(); - - /// returns the forward variable - double getForwardVariable_(HMMState *); - - /// returns the backward variable - double getBackwardVariable_(HMMState *); - -private: - - // transition probs - std::map > trans_; - - // transition prob counts - std::map > count_trans_; - - std::map > > count_trans_all_; - - // all transition probs of all training steps (for model checking) - std::map > > train_count_trans_all_; - - // number of training steps of the transitions - std::map > training_steps_count_; - - // forward variables - std::map forward_; - - // backward variables - std::map backward_; - - // name to state Mapping - std::map name_to_state_; - - // emission probabilities - std::map train_emission_prob_; - - // initial transition probabilities - std::map init_prob_; - - // all states of the HMM - std::set states_; - - // trained transitions - std::set > trained_trans_; - - // synonym transitions Mapping - std::map > > synonym_trans_names_; - - // synonym transitions - std::map > > synonym_trans_; - - // transitions which are enabled - std::map > enabled_trans_; - - // pseudocounts used in this instance - double pseudo_counts_; - - // copy all the stuff from one HMM to this - void copy_(const HiddenMarkovModel & source); - - StringList var_modifications_; - }; -} diff --git a/src/openms/include/OpenMS/ANALYSIS/ID/ProtonDistributionModel.h b/src/openms/include/OpenMS/ANALYSIS/ID/ProtonDistributionModel.h deleted file mode 100644 index d1f18b5d1c7..00000000000 --- a/src/openms/include/OpenMS/ANALYSIS/ID/ProtonDistributionModel.h +++ /dev/null @@ -1,147 +0,0 @@ -// Copyright (c) 2002-present, The OpenMS Team -- EKU Tuebingen, ETH Zurich, and FU Berlin -// SPDX-License-Identifier: BSD-3-Clause -// -// -------------------------------------------------------------------------- -// $Maintainer: Timo Sachsenberg $ -// $Authors: Andreas Bertsch $ -// -------------------------------------------------------------------------- - - -#pragma once - -#include -#include -#include -#include - -namespace OpenMS -{ - class AASequence; - - /** - @brief A proton distribution model to calculate the proton distribution over charged peptides - - The model uses proton affinity values of backbone nitrogens and sidechains to calculate the - proton distribution of charged peptide among these sites. The possible sites are the peptide - bonds between the amino acids, the side chains and the C-terminus and N-terminus. The calculation - is done calculating a Boltzmann distribution of the sites. - - Details and the proton affinities can be found in - Z. Zhang, Prediction of Low-Energy Collision-Induced Dissociation Spectra of Peptides, - Anal. Chem., 76 (14), 3908 - 3922, 2004 - - A proton distribution can be calculated using the getProtonDistribution method. The backbone - probabilities are reported in the first parameter (index 0 for the N-terminus, index 1 for the - first peptide bond...), the site chain probabilities are reported in the second parameter - (index 0, for the first amino acid...). The peptide and the number of protons as well as type - of peptide (can be Reside::YIon for peptides and y-ions and any other ion type). - - Charge state intensities of differently charged equal (e.g. y7+ and y7++) ions can be calculated - using the getChargeStateIntensities function. - - @htmlinclude OpenMS_ProtonDistributionModel.parameters - */ - class OPENMS_DLLAPI ProtonDistributionModel : - public DefaultParamHandler - { -public: - - /** Constructor and destructors - */ - //@{ - /// default constructor - ProtonDistributionModel(); - - /// copy constructor - ProtonDistributionModel(const ProtonDistributionModel & model); - - /// destructor - ~ProtonDistributionModel() override; - //@} - - /// assignment operator - ProtonDistributionModel & operator=(const ProtonDistributionModel & pdm); - - /** @name Enumerations - */ - //@{ - /// the type of fragmentation - enum FragmentationType - { - ChargeDirected = 0, - ChargeRemote, - SideChain - }; - //@} - - /** @brief calculates a proton distribution of the given charged peptide - - @param bb_charges the calculated probabilities of the backbone sites (including N-terminus and C-terminus) - @param sc_charges the calculated probabilities of the side chain sites - @param peptide the peptide - @param charge the charge - @param res_type the type of the ion given in peptide. Peptides are handled as y-ions, i.e. Residue::YIon - */ - void getProtonDistribution(std::vector & bb_charges, std::vector & sc_charges, const AASequence & peptide, Int charge, Residue::ResidueType res_type = Residue::YIon); - - /** @brief calculates the charge state intensities of different charge states of the same ion - - @param peptide the peptide - @param n_term_ion the prefix ion sequence - @param c_term_ion the suffix ion sequence - @param charge the charge - @param n_term_type the ion type of the N-terminal ion; valid values are Residue::AIon, Residue::BIon - @param n_term_intensities the probability of seeing a charged prefix ions (first index corresponds to ion of charge 1) - @param c_term_intensities the probability of seeing a charged suffix ions (first index corresponds to ion of charge 2) - @param type the type of fragmentation (charge-directed, charge-remote of side chain) - */ - //void getChargeStateIntensities(const AASequence& peptide, const AASequence& n_term_ion, const AASequence& c_term_ion, Int charge, Residue::ResidueType n_term_type, double& n_term1, double& c_term1, double& n_term2, double& c_term2, FragmentationType type); - - - void getChargeStateIntensities(const AASequence & peptide, const AASequence & n_term_ion, const AASequence & c_term_ion, Int charge, Residue::ResidueType n_term_type, - std::vector & n_term_intensities, std::vector & c_term_intensities, FragmentationType type); - - /// sets the proton distributions of the whole peptide, they are needed for the getChargeStateIntensities_ method and need to be recalculated each time if not given - void setPeptideProtonDistribution(const std::vector & bb_charge, const std::vector & sc_charge); - -protected: - - // calculates the proton distribution - void calculateProtonDistribution_(const AASequence & peptide, Int charge, Residue::ResidueType res_type = Residue::YIon, bool fixed_proton = false, Size cleavage_site = 0, bool use_most_basic_site = false); - - void calculateProtonDistributionCharge1_(const AASequence & peptide, Residue::ResidueType res_type); - void calculateProtonDistributionCharge2_(const AASequence & peptide, Residue::ResidueType res_type, bool fixed_proton, Size cleavage_site, bool use_most_basic_site); - void calculateProtonDistributionGreater2_(const AASequence & peptide, Int charge, Residue::ResidueType res_type); - - void calculateProtonDistributionIonPair_(const AASequence & peptide, Residue::ResidueType type, Size cleavage_site); - - // returns the proton affinity of the peptide with the given charge and ion type - //double getProtonAffinity_(const AASequence& ion, Int charge, Residue::ResidueType res_type); - - // returns the (relative) Intensities of the possible charge states of the ion from peptide - //std::vector getChargeStateIntensities_(const AASequence& peptide, const AASequence& ion, Int charge, Residue::ResidueType res_type); - - - void calcChargeStateIntensities_(const AASequence & peptide, const AASequence & n_term_ion, const AASequence & c_term_ion, Int charge, - Residue::ResidueType n_term_type, std::vector & n_term_intensities, std::vector & c_term_intensities, FragmentationType type); - - // calculates the intensities of the different possible charge states - void calcChargeStateIntensities_(const AASequence & peptide, const AASequence & n_term_ion, const AASequence & c_term_ion, Int charge, Residue::ResidueType n_term_type, double & n_term1, double & c_term1, double & n_term2, double & c_term2, FragmentationType type); - - // returns the left and right GB values, NH2 and COOH if at terminus - void getLeftAndRightGBValues_(const AASequence & peptide, double & left_gb, double & right_gb, Size position); - - std::vector sc_charge_; - std::vector bb_charge_; - std::vector sc_charge_full_; - std::vector bb_charge_full_; - std::vector sc_charge_ion_n_term_; - std::vector bb_charge_ion_n_term_; - std::vector sc_charge_ion_c_term_; - std::vector bb_charge_ion_c_term_; - double E_; - double E_c_term_; - double E_n_term_; - - }; -} diff --git a/src/openms/include/OpenMS/ANALYSIS/ID/SiriusAdapterAlgorithm.h b/src/openms/include/OpenMS/ANALYSIS/ID/SiriusAdapterAlgorithm.h deleted file mode 100644 index 242b3054130..00000000000 --- a/src/openms/include/OpenMS/ANALYSIS/ID/SiriusAdapterAlgorithm.h +++ /dev/null @@ -1,306 +0,0 @@ -// Copyright (c) 2002-present, The OpenMS Team -- EKU Tuebingen, ETH Zurich, and FU Berlin -// SPDX-License-Identifier: BSD-3-Clause -// -// -------------------------------------------------------------------------- -// $Maintainer: Oliver Alka $ -// $Authors: Oliver Alka, Lukas Zimmermann $ -// -------------------------------------------------------------------------- - -#pragma once - -#include - -#include - -#include -#include -#include - -using namespace std; - -namespace OpenMS -{ - class FeatureMap; - class File; - class KDTreeFeatureMaps; - - class OPENMS_DLLAPI SiriusAdapterAlgorithm : public DefaultParamHandler - { - public: - /// default constructor - SiriusAdapterAlgorithm(); - - /* - * Accessors for Preprocessing Parameters - */ - - bool isFeatureOnly() const { return preprocessing.getValue("feature_only").toBool(); } - UInt getFilterByNumMassTraces() const { return preprocessing.getValue("filter_by_num_masstraces"); } - double getPrecursorMzTolerance() const { return preprocessing.getValue("precursor_mz_tolerance"); } - double getPrecursorRtTolerance() const { return preprocessing.getValue("precursor_rt_tolerance"); } - bool precursorMzToleranceUnitIsPPM() const { return preprocessing.getValue("precursor_mz_tolerance_unit") == "ppm"; } - bool isNoMasstraceInfoIsotopePattern() const { return preprocessing.getValue("no_masstrace_info_isotope_pattern").toBool(); } - int getIsotopePatternIterations() const { return preprocessing.getValue("isotope_pattern_iterations"); } - - /** - * @brief Accessors for Sirius Parameters - */ - - int getNumberOfSiriusCandidates() const - { - int number_of_candidates = sirius.getValue("candidates"); - // default for SiriusAdapter is -1 to not pass a value to command and use SIRIUS 5 default (10) - // therefore 10 needs to be returned in this case - if (number_of_candidates == -1) - { - return 10; - } - else - { - return number_of_candidates; - } - } - - /** - * @brief Updates all parameters that already exist in this DefaultParamHandler - * with the values provided by the input param object. - * - * @param param The Param object supplying updated parameter values. Keys that exist in the param - * parameter, but not in this DefaultParamHander, are ignored. - */ - void updateExistingParameter(const Param ¶m); - - /** - * @brief Checks whether this DefaultParamHandler has a ParamEntry with the provided name. - * @param name The name of the ParamEntry that should be checked for its existence in this DefaultParamHandler - * @return Whether this DefaultParamHandler has an ParamEntry for the provided name. - */ - bool hasFullNameParameter(const String &name) const; - - /// Struct for temporary folder structure - class OPENMS_DLLAPI SiriusTemporaryFileSystemObjects - { - public: - - /// Construct temporary folder structure for SIRIUS (SiriusTemporaryFileSystemObjects) - SiriusTemporaryFileSystemObjects(int debug_level); - - /// Destructor of SiriusTemporaryFileSystemObjects based on debug level - ~SiriusTemporaryFileSystemObjects(); - - const String& getTmpDir() const; - const String& getTmpOutDir() const; - const String& getTmpMsFile() const; - - private: - int debug_level_; - - String tmp_dir_; - String tmp_ms_file_; - String tmp_out_dir_; - }; - - /** - @brief Checks if the provided String points to a valid SIRIUS executable, otherwise tries - to select the executable from the environment - - @return Path to SIRIUS executable - - @param executable Path to the potential executable - */ - static String determineSiriusExecutable(String& executable); - - /** - - @brief Sort function using the extracted scan_index from the sirius workspace file path - - @param[in,out] subdirs Vector of sirius workspace paths which is sorted based on the scan_index - */ - static void sortSiriusWorkspacePathsByScanIndex(std::vector& subdirs); - - - /** - @brief Preprocessing needed for SIRIUS - - Filter number of masstraces and perform feature mapping. - - @param featureinfo Path to featureXML - @param spectra Input of MSExperiment with spectra information - @param fm_info Emtpy - stores FeatureMaps and KDTreeMaps internally - @param feature_mapping Mapping of MS2 spectra to features - */ - void preprocessingSirius(const String& featureinfo, - const MSExperiment& spectra, - FeatureMapping::FeatureMappingInfo& fm_info, - FeatureMapping::FeatureToMs2Indices& feature_mapping) const; - - /** - @brief logs number of features and spectra used - - Prints the number of features and spectra used (OPENMS_LOG_INFO) - - @param featureinfo Path to featureXML - @param feature_mapping FeatureToMs2Indices with feature mapping - @param spectra Input of MSExperiment with spectra information - */ - void logFeatureSpectraNumber(const String& featureinfo, - const FeatureMapping::FeatureToMs2Indices& feature_mapping, - const MSExperiment& spectra) const; - - /** - @brief Log in to Sirius with personal user account (required in Sirius >= 5). - - @param executable ... - @param email User account E-Mail. - @param password User account password. - */ - void logInSiriusAccount(String& executable, const String& email, const String& password) const; - - /** - @brief Call SIRIUS with QProcess - - @param tmp_ms_file path to temporary .ms file - @param tmp_out_dir path to temporary output folder - @param executable path to executable - @param out_csifingerid path to CSI:FingerID output (can be empty). - @param decoy_generation Add 'passatutto' to command line call - - @return Vector with paths to a compound - */ - const vector callSiriusQProcess(const String& tmp_ms_file, - const String& tmp_out_dir, - String& executable, - const String& out_csifingerid, - const bool decoy_generation) const; - - private: - class ParameterModifier - { - const String openms_param_name; - SiriusAdapterAlgorithm *enclose; - - public: - explicit ParameterModifier(const String ¶m_name, SiriusAdapterAlgorithm *enclose) : - openms_param_name(param_name), enclose(enclose) {} - - void withValidStrings(initializer_list choices) - { - enclose->defaults_.setValidStrings(openms_param_name, choices); - } - - void withMinInt(int value) - { - enclose->defaults_.setMinInt(openms_param_name, value); - } - }; - - class ParameterSection - { - // Maps the OpenMS Parameter Names to the one for Sirius - unordered_map openms_to_sirius; - - String toFullParameter(const String ¶m_name) const - { - String result(param_name); - result.substitute('-', '_'); - return sectionName() + ":" + result; - } - - protected: - ParameterModifier parameter( - const String ¶meter_name, - const ParamValue &default_value, - const String ¶meter_description); - void flag( - const String ¶meter_name, - const String ¶meter_description); - - explicit ParameterSection(SiriusAdapterAlgorithm* enclose): enclose(enclose) {} - - virtual void parameters() = 0; - virtual String sectionName() const = 0; - - SiriusAdapterAlgorithm *enclose; - - public: - virtual ~ParameterSection() = default; - - DataValue getValue(const String ¶m_name) const - { - return enclose->param_.getValue(toFullParameter(param_name)); - } - - QStringList getCommandLine() const - { - QStringList result; - for (const auto &pair : openms_to_sirius) - { - DataValue value = enclose->param_.getValue(pair.first); - DataValue default_value = enclose->defaults_.getValue(pair.first); - if (!value.isEmpty() && value != default_value) - { - String string_value = value.toString(true); - if (string_value == "true") - { - result.push_back(String("--" + pair.second).toQString()); - } - else if (string_value != "false") - { - result.push_back(String("--" + pair.second + "=" + string_value).toQString()); - } - }; - } - return result; - } - }; - - using SiriusSubtool = ParameterSection; - - class Preprocessing : public ParameterSection - { - String sectionName() const override { return "preprocessing"; } - public: - explicit Preprocessing(SiriusAdapterAlgorithm *enclose) : ParameterSection(enclose) {} - void parameters() override; - }; - - class Project final : public SiriusSubtool - { - String sectionName() const override { return "project"; } - public: - explicit Project(SiriusAdapterAlgorithm *enclose) : ParameterSection(enclose) {} - void parameters() override; - }; - - class Sirius final : public SiriusSubtool - { - String sectionName() const override { return "sirius"; } - public: - explicit Sirius(SiriusAdapterAlgorithm *enclose) : ParameterSection(enclose) {} - void parameters() override; - }; - - class Fingerid final : public SiriusSubtool - { - String sectionName() const override { return "fingerid"; } - public: - explicit Fingerid(SiriusAdapterAlgorithm *enclose) : ParameterSection(enclose) {} - void parameters() override; - }; - - class Passatutto final : public SiriusSubtool - { - String sectionName() const override { return "passatutto"; } - public: - explicit Passatutto(SiriusAdapterAlgorithm *enclose) : ParameterSection(enclose) {} - void parameters() override; - }; - - Preprocessing preprocessing; - Project project; - Sirius sirius; - Fingerid fingerid; - Passatutto passatutto; - - }; -} // namespace OpenMS diff --git a/src/openms/include/OpenMS/ANALYSIS/ID/SiriusExportAlgorithm.h b/src/openms/include/OpenMS/ANALYSIS/ID/SiriusExportAlgorithm.h new file mode 100644 index 00000000000..1ac0e7331af --- /dev/null +++ b/src/openms/include/OpenMS/ANALYSIS/ID/SiriusExportAlgorithm.h @@ -0,0 +1,81 @@ +// Copyright (c) 2002-present, The OpenMS Team -- EKU Tuebingen, ETH Zurich, and FU Berlin +// SPDX-License-Identifier: BSD-3-Clause +// +// -------------------------------------------------------------------------- +// $Maintainer: Oliver Alka, Axel Walter $ +// $Authors: Oliver Alka, Lukas Zimmermann $ +// -------------------------------------------------------------------------- + +#pragma once + +#include + +#include + +#include + +using namespace std; + +namespace OpenMS +{ + class OPENMS_DLLAPI SiriusExportAlgorithm : public DefaultParamHandler + { + public: + /// default constructor + SiriusExportAlgorithm(); + + // accessor for preprocessing parameters + bool isFeatureOnly() const { return param_.getValue("feature_only").toBool(); } + UInt getFilterByNumMassTraces() const { return param_.getValue("filter_by_num_masstraces"); } + double getPrecursorMzTolerance() const { return param_.getValue("precursor_mz_tolerance"); } + double getPrecursorRtTolerance() const { return param_.getValue("precursor_rt_tolerance"); } + bool precursorMzToleranceUnitIsPPM() const { return param_.getValue("precursor_mz_tolerance_unit") == "ppm"; } + bool isNoMasstraceInfoIsotopePattern() const { return param_.getValue("no_masstrace_info_isotope_pattern").toBool(); } + int getIsotopePatternIterations() const { return param_.getValue("isotope_pattern_iterations"); } + + /** + @brief Preprocessing needed for SIRIUS and AssayGeneratorMetabo + + Filter number of masstraces and perform feature mapping. + + @param featureinfo Path to featureXML + @param spectra Input of MSExperiment with spectra information + @param feature_mapping_info Emtpy - stores FeatureMaps and KDTreeMaps internally + @param feature_ms2_indices Empty FeatureToMs2Indices + */ + void preprocessing(const String& featureinfo, + const MSExperiment& spectra, + FeatureMapping::FeatureMappingInfo& feature_mapping_info, + FeatureMapping::FeatureToMs2Indices& feature_ms2_indices) const; + + /** + @brief logs number of features and spectra used + + Prints the number of features and spectra used (OPENMS_LOG_INFO) + + @param featureinfo Path to featureXML + @param feature_ms2_indices FeatureToMs2Indices with feature mapping + @param spectra Input of MSExperiment with spectra information + */ + void logFeatureSpectraNumber(const String& featureinfo, + const FeatureMapping::FeatureToMs2Indices& feature_ms2_indices, + const MSExperiment& spectra) const; + + /** + @brief exports SIRIUS .ms file + + Runs SiriusExport with mzML and featureXML (optional) files as input. + Generates a SIRIUS .ms file and compound info table (optional). + + @param mzML_files List with paths to mzML files + @param featureXML_files List with paths to featureXML files + @param out_ms Output file name for SIRIUS .ms file + @param out_compoundinfo Output file name for tsv file with compound info + */ + void run(const StringList& mzML_files, + const StringList& featureXML_files, + const String& out_ms, + const String& out_compoundinfo) const; + + }; +} // namespace OpenMS diff --git a/src/openms/include/OpenMS/ANALYSIS/ID/SiriusMSConverter.h b/src/openms/include/OpenMS/ANALYSIS/ID/SiriusMSConverter.h index 64540c0d963..b3e0b44eb42 100644 --- a/src/openms/include/OpenMS/ANALYSIS/ID/SiriusMSConverter.h +++ b/src/openms/include/OpenMS/ANALYSIS/ID/SiriusMSConverter.h @@ -2,7 +2,7 @@ // SPDX-License-Identifier: BSD-3-Clause // // -------------------------------------------------------------------------- -// $Maintainer: Oliver Alka $ +// $Maintainer: Oliver Alka, Axel Walter $ // $Authors: Oliver Alka $ // -------------------------------------------------------------------------- @@ -56,36 +56,46 @@ namespace OpenMS String m_ids_id; ///< concatenated list of native ids and identifier for multiple possible identification via AMS ("|" separator) used for mapping of compounds and the annotated spectrum. std::vector scan_indices; ///< index of the associated spectra std::vector specrefs; ///< spectra reference for mztab-m + int file_index; ///< source file index > }; /** - @brief Internal structure used in @ref TOPP_SiriusAdapter that is used + @brief Internal structure used in @ref TOPP_SiriusExport that is used for the conversion of a MzMlFile to an internal format. @ingroup Analysis_ID - Store .ms file. - Comments (see CompoundInfo) are written to SIRIUS .ms file and additionally stores in CompoundInfo struct. + Write content of one mzML/featureXML(optional) file pair to SIRIUS .ms file ofstream. + Comments (see CompoundInfo) are written to SIRIUS .ms file and additionally stored in CompoundInfo struct. If adduct information for a spectrum is missing, no adduct information is added. In this case, SIRIUS assumes default adducts for the respective spectrum. - - @param spectra: Peakmap from input mzml. - @param msfile: Writes .ms file from sirius. + + @param spectra: Peakmap from input mzML. + @param os: Write output for .ms file to ofstream. @param feature_mapping: Adducts and features (index). @param feature_only: Only use features. @param isotope_pattern_iterations: At which depth to stop isotope_pattern extraction (if possible). - @param no_mt_info Should isotope pattern be extracted (if not in feature)? - @param[out] v_cmpinfo: Vector of CompoundInfo. + @param no_masstrace_info_isotope_pattern: bool if isotope pattern should be extracted (if not in feature) + @param v_cmpinfo: Vector of CompoundInfo. + @param file_index: file index (to differentiate entries derived from different mzML files and resolve ambiguities) */ static void store(const MSExperiment& spectra, - const OpenMS::String& msfile, + std::ofstream& os, const FeatureMapping::FeatureToMs2Indices& feature_mapping, const bool& feature_only, const int& isotope_pattern_iterations, - const bool no_mt_info, - std::vector& v_cmpinfo); + const bool no_masstrace_info_isotope_pattern, + std::vector& v_cmpinfo, + const size_t& file_index); + /** + @brief Store CompoundInfo objects in tsv file format + @param v_cmpinfo: Vector with CompoundInfo objects + @param filename: Filename for tsv file + */ + static void saveFeatureCompoundInfoAsTSV(const std::vector& v_cmpinfo, + const std::string& filename); protected: /** @@ -110,6 +120,7 @@ namespace OpenMS @param count_assume_mono: count number of features where mono charge was assumed @param count_no_ms1: count number of compounds without a valid ms1 spectrum @param v_cmpinfo: vector of CompoundInfo + @param file_index: file index (to differentiate entries derived from different mzML files and resolve ambiguities) */ static void writeMsFile_(std::ofstream& os, @@ -130,10 +141,8 @@ namespace OpenMS int& count_skipped_spectra, int& count_assume_mono, int& count_no_ms1, - std::vector& v_cmpinfo); - - - + std::vector& v_cmpinfo, + const size_t& file_index); /** @brief Find highest intensity peak near target mz to test if within a margin of error @@ -165,4 +174,4 @@ namespace OpenMS }; -} // namespace OpenMS +} // namespace OpenMS \ No newline at end of file diff --git a/src/openms/include/OpenMS/ANALYSIS/ID/sources.cmake b/src/openms/include/OpenMS/ANALYSIS/ID/sources.cmake index 0a62c965a29..9484ece68a7 100644 --- a/src/openms/include/OpenMS/ANALYSIS/ID/sources.cmake +++ b/src/openms/include/OpenMS/ANALYSIS/ID/sources.cmake @@ -21,7 +21,6 @@ ConsensusMapMergerAlgorithm.h FalseDiscoveryRate.h FIAMSDataProcessor.h FIAMSScheduler.h -HiddenMarkovModel.h HyperScore.h IDBoostGraph.h IDDecoyProbability.h @@ -39,10 +38,9 @@ PeptideIndexing.h PeptideProteinResolution.h PercolatorFeatureSetHelper.h PrecursorPurity.h -ProtonDistributionModel.h PScore.h SimpleSearchEngineAlgorithm.h -SiriusAdapterAlgorithm.h +SiriusExportAlgorithm.h SiriusMSConverter.h ) diff --git a/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/BaseGroupFinder.h b/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/BaseGroupFinder.h index 550aaf72783..3162a1e7623 100644 --- a/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/BaseGroupFinder.h +++ b/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/BaseGroupFinder.h @@ -50,8 +50,7 @@ namespace OpenMS */ virtual void run(const std::vector & input, ConsensusMap & result) = 0; - /// Register all derived classes here - static void registerChildren(); + protected: diff --git a/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/BaseSuperimposer.h b/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/BaseSuperimposer.h index 2276f7e8519..cb4ca4a4da2 100644 --- a/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/BaseSuperimposer.h +++ b/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/BaseSuperimposer.h @@ -48,8 +48,7 @@ namespace OpenMS */ virtual void run(const ConsensusMap& map_model, const ConsensusMap& map_scene, TransformationDescription& transformation) = 0; - /// Register all derived classes here - static void registerChildren(); + private: diff --git a/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/FeatureGroupingAlgorithm.h b/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/FeatureGroupingAlgorithm.h index 042e6466a21..0f3a3fbc874 100644 --- a/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/FeatureGroupingAlgorithm.h +++ b/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/FeatureGroupingAlgorithm.h @@ -41,8 +41,6 @@ namespace OpenMS /// Transfers subelements (grouped features) from input consensus maps to the result consensus map void transferSubelements(const std::vector & maps, ConsensusMap & out) const; - /// Register all derived classes in this method - static void registerChildren(); protected: diff --git a/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/FeatureGroupingAlgorithmKD.h b/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/FeatureGroupingAlgorithmKD.h index 9a87e3fee53..80f7710c5ef 100644 --- a/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/FeatureGroupingAlgorithmKD.h +++ b/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/FeatureGroupingAlgorithmKD.h @@ -177,18 +177,6 @@ class OPENMS_DLLAPI ClusterProxyKD void group(const std::vector& maps, ConsensusMap& out) override; - /// Creates a new instance of this class (for Factory) - static FeatureGroupingAlgorithm* create() - { - return new FeatureGroupingAlgorithmKD(); - } - - /// Returns the product name (for the Factory) - static String getProductName() - { - return "unlabeled_kd"; - } - private: /// Copy constructor intentionally not implemented -> private diff --git a/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/FeatureGroupingAlgorithmLabeled.h b/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/FeatureGroupingAlgorithmLabeled.h index 7daa0133ca3..94cf3391645 100644 --- a/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/FeatureGroupingAlgorithmLabeled.h +++ b/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/FeatureGroupingAlgorithmLabeled.h @@ -42,18 +42,6 @@ namespace OpenMS */ void group(const std::vector & maps, ConsensusMap & out) override; - ///Creates a new instance of this class (for Factory) - static FeatureGroupingAlgorithm * create() - { - return new FeatureGroupingAlgorithmLabeled(); - } - - ///Returns the product name (for the Factory) - static String getProductName() - { - return "labeled"; - } - private: ///Copy constructor is not implemented -> private diff --git a/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/FeatureGroupingAlgorithmQT.h b/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/FeatureGroupingAlgorithmQT.h index 65bf9f7ccdb..a994f46eb4e 100644 --- a/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/FeatureGroupingAlgorithmQT.h +++ b/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/FeatureGroupingAlgorithmQT.h @@ -52,19 +52,7 @@ namespace OpenMS */ void group(const std::vector& maps, ConsensusMap& out) override; - - /// Creates a new instance of this class (for Factory) - static FeatureGroupingAlgorithm* create() - { - return new FeatureGroupingAlgorithmQT(); - } - - /// Returns the product name (for the Factory) - static String getProductName() - { - return "unlabeled_qt"; - } - + private: /// Copy constructor intentionally not implemented -> private diff --git a/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/FeatureGroupingAlgorithmUnlabeled.h b/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/FeatureGroupingAlgorithmUnlabeled.h index fba3319a2b1..2ace39d6d55 100644 --- a/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/FeatureGroupingAlgorithmUnlabeled.h +++ b/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/FeatureGroupingAlgorithmUnlabeled.h @@ -82,18 +82,6 @@ namespace OpenMS */ void addToGroup(int map_id, const FeatureMap & feature_map); - /// Creates a new instance of this class (for Factory) - static FeatureGroupingAlgorithm * create() - { - return new FeatureGroupingAlgorithmUnlabeled(); - } - - /// Returns the product name (for the Factory) - static String getProductName() - { - return "unlabeled"; - } - private: // This vector should always have 2 elements diff --git a/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/LabeledPairFinder.h b/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/LabeledPairFinder.h index e1f9cec2bd0..0a9c0eafd62 100644 --- a/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/LabeledPairFinder.h +++ b/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/LabeledPairFinder.h @@ -40,18 +40,6 @@ namespace OpenMS { } - /// Returns an instance of this class - static BaseGroupFinder * create() - { - return new LabeledPairFinder(); - } - - /// Returns the name of this module - static const String getProductName() - { - return "labeled_pair_finder"; - } - /** @brief Run the algorithm diff --git a/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/MapAlignmentAlgorithmSpectrumAlignment.h b/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/MapAlignmentAlgorithmSpectrumAlignment.h deleted file mode 100644 index 52e17c1409a..00000000000 --- a/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/MapAlignmentAlgorithmSpectrumAlignment.h +++ /dev/null @@ -1,310 +0,0 @@ -// Copyright (c) 2002-present, The OpenMS Team -- EKU Tuebingen, ETH Zurich, and FU Berlin -// SPDX-License-Identifier: BSD-3-Clause -// -// -------------------------------------------------------------------------- -// $Maintainer: Timo Sachsenberg $ -// $Authors: Vipul Patel $ -// -------------------------------------------------------------------------- - -#pragma once - -#include -#include -#include -#include -#include - -namespace OpenMS -{ - /** - @brief A map alignment algorithm based on spectrum similarity (dynamic programming). - - @htmlinclude OpenMS_MapAlignmentAlgorithmSpectrumAlignment.parameters - - @experimental This algorithm is work in progress and might change. - - @ingroup MapAlignment - */ - class OPENMS_DLLAPI MapAlignmentAlgorithmSpectrumAlignment : - public DefaultParamHandler, - public ProgressLogger - { -public: - /// Default constructor - MapAlignmentAlgorithmSpectrumAlignment(); - - /// Destructor - ~MapAlignmentAlgorithmSpectrumAlignment() override; - - /// Align peak maps - virtual void align(std::vector&, std::vector&); - -private: - /// Copy constructor is not implemented -> private - MapAlignmentAlgorithmSpectrumAlignment(const MapAlignmentAlgorithmSpectrumAlignment&); - /// Assignment operator is not implemented -> private - MapAlignmentAlgorithmSpectrumAlignment & operator=(const MapAlignmentAlgorithmSpectrumAlignment &); - - /** - @brief inner class necessary for using the sort algorithm. - - Defines several overloaded operator() for usage with the std::sort algorithm - - @experimental This algorithm is work in progress and might change. - - */ - class OPENMS_DLLAPI Compare - { - protected: - bool flag; - - public: - - /// Default constructor with an order flag - explicit Compare(bool b = false) : - flag(b) - { - } - - /** - * @brief overloaded operator() for comparing maps of maps std::pair,float>. - * - * If the order flag is false, the second argument of the outer map is - * selected. The output is an ascending order. If the order flag is true, - * the first argument of the inner class is selected to get a descending - * order. - * - */ - inline bool operator()(const std::pair, float>& c1, const std::pair, float>& c2) const - { - if (!flag) - { - return c1.second > c2.second; - } - else - { - return (c1.first).first < (c2.first).first; - } - } - - /** - * @brief overloaded operator() for comparing pairs of float, float std::pair. - * - * If the order flag is false, an ascending order are returned else a - * descending. The comparison is done by the first argument of the map. - * - */ - inline bool operator()(const std::pair& c1, const std::pair& c2) const - { - if (!flag) - { - return c1.first > c2.first; - } - else - { - return c1.first < c2.first; - } - } - - }; - - /** - @brief A function to prepare the sequence for the alignment. It calls intern the main function for the alignment. - - This function takes two arguments. These argument types are two MSExperiments. - The first argument should have been filtered, so that only the type of MSLevel 1 exists in the Sequence. - The second argument doesn't have to fulfill this restriction. It's going to be filtered automatically. - With these two arguments a pre-calculation is done to find some corresponding data points(maximum 4) for building alignment blocks. - After the alignment a re-transformation is done, the new Retention Times appear in the original data. - - The parameters are MSExperiments. - - @param pattern template map. - @param aligned map which has to be aligned. - @param transformation container for rebuilding the alignment only by specific data-points - */ - void prepareAlign_(const std::vector& pattern, PeakMap& aligned, std::vector& transformation); - - /** - @brief filtered the MSLevel to gain only MSLevel 1 - - The alignment works only on MSLevel 1 data, so a filter has to be run. - - @param peakmap map which has to be filtered - @param spectrum_pointer_container output container, where pointers of the MSSpectrum are saved (only with MS level 1) - - @exception Exception::IllegalArgument is thrown if no spectra are contained in @p peakmap - */ - void msFilter_(PeakMap& peakmap, std::vector& spectrum_pointer_container); - - /** - @brief function for the test if cell i,j of the grid is inside the band - - The function returns true if the cell underlie these conditions: - -k<=i-j<=k+n-m - else return false. - @param i coordinate i - @param j coordinate j - @param n size of column - @param m size of row - @param k_ size of k_ - */ - bool insideBand_(Size i, Size j, Size n, Size m, Int k_); - - /** - @brief calculate the size of the band for the alignment for two given Sequence - - This function calculates the size of the band for the alignment. It - takes three samples from the aligned sequence and tries to find the - highscore pairs (matching against the template sequence). The highscore - pair with the worst distance is to be chosen as the size of k. - - @param pattern vector of pointers of the template sequence - @param aligned vector of pointers of the aligned sequence - @param buffer holds the calculated score of index i,j. - @param column_row_orientation indicate the order of the matrix - @param xbegin indicate the beginning of the template sequence - @param xend indicate the end of the template sequence - @param ybegin indicate the beginning of the aligned sequence - @param yend indicate the end of the aligned sequence - */ - Int bestk_(const std::vector& pattern, - std::vector& aligned, std::map >& buffer, - bool column_row_orientation, Size xbegin, Size xend, Size ybegin, Size yend); - - /** - @brief calculate the score of two given MSSpectra calls intern scoring_ - - This function calculates the score from two MSSpectra. These two - MSSpectra are chosen by the coordinates i,j. The two coordinates i,j - indicate the index in the matrix. To find the right index on the - sequence, each beginning is also given to the function. A flag - indicates the labeling of the axes. The buffermatrix stores the result - of the scoring. If the band expands only a lookup of known scores is - done. - - @param i is a index from the matrix. - @param j is a index from the matrix. - @param patternbegin indicate the beginning of the template sequence - @param alignbegin indicate the beginning of the aligned sequence - @param pattern vector of pointers of the template sequence - @param aligned vector of pointers of the aligned sequence - @param buffer holds the calculated score of index i,j. - @param column_row_orientation indicate the order of the matrix - */ - float scoreCalculation_(Size i, Size j, Size patternbegin, Size alignbegin, - const std::vector& pattern, std::vector& aligned, - std::map >& buffer, bool column_row_orientation); - - /** - @brief return the score of two given MSSpectra by calling the scorefunction - */ - float scoring_(const MSSpectrum& a, MSSpectrum& b); - - /** - @brief affine gap cost Alignment - - This Alignment is based on the Needleman Wunsch Algorithm. - To improve the time complexity a banded version was implemented, known as k - alignment. - To save some space, the alignment is going to be calculated by position xbegin to xend of one sequence and ybegin - and yend by another given sequence. The result of the alignment is stored in the second argument. - The first sequence is used as a template for the alignment. - - @param xbegin coordinate for the beginning of the template sequence. - @param ybegin coordinate for the beginning of the aligned sequence . - @param xend coordinate for the end of the template sequence. - @param yend coordinate for the end of the aligned sequence. - @param pattern template map. - @param aligned map to be aligned. - @param xcoordinate save the position of anchor points - @param ycoordinate save the retentiontimes of an anchor points - @param xcoordinatepattern save the reference position of the anchor points from the pattern - - @exception Exception::OutOfRange if a out of bound appear @p pattern or @p aligned - */ - void affineGapalign_(Size xbegin, Size ybegin, Size xend, Size yend, - const std::vector& pattern, - std::vector& aligned, - std::vector& xcoordinate, std::vector& ycoordinate, - std::vector& xcoordinatepattern); - - /** - @brief preparation function of data points to construct later the spline function. - - This function reduced the amount of data values for the next step. The - reduction is done by using a number of buckets, where the data points a - selected. Within the buckets, only defined number a selected, to be - written back as a data point. The selection within the buckets is done - by scoring. - - @param pattern template map. - @param aligned map to be aligned. - @param xcoordinate save the position of anchor points - @param ycoordinate save the retention times of an anchor points - @param xcoordinatepattern save the reference position of the anchor points from the pattern - */ - void bucketFilter_(const std::vector& pattern, - std::vector& aligned, std::vector& xcoordinate, - std::vector& ycoordinate, std::vector& xcoordinatepattern); - - /** - @brief Creates files for the debugging - - This function is only active if the debug_ flag is true. The - debugfileCreator creates following files: - - - debugtraceback.txt(gnuplotScript), - - debugscoreheatmap.r and - - debugRscript. - - Debugscoreheatmap.r contains the scores of the Spectra to each other - from the alignment and also the traceback. DebugRscript is the R script - which reads those data. So both files are only working under R. Start R - and type main(location of debugscoreheatmap.r). The output will be a - heatmap of each sub-alignment. Debugtraceback.txt shows the way of the - Traceback by using gnuplot. - - @param pattern template map. - @param aligned map to be aligned. - */ - void debugFileCreator_(const std::vector& pattern, std::vector& aligned); - - /** - @brief Rounding the score of two spectra, only necessary for debugging - - This function rounded the score of two spectra. This is necessary for some function in the Debug-Mode - */ - void debugscoreDistributionCalculation_(float score); - - ///Represent the gap cost for opening or closing a gap in the alignment - float gap_; - ///Extension cost after a gap is open - float e_; - ///Pointer holds the scoring function, which can be selected - PeakSpectrumCompareFunctor* c1_; - ///This is the minimal score to be count as a mismatch(range 0.0 - 1.0) - float cutoffScore_; - ///Defines the size of one bucket - Size bucketsize_; - ///Defines the amount of anchor points which are selected within one bucket. - Size anchorPoints_; - ///Debug mode flag default: False - bool debug_; - ///Represent the cost of a mismatch in the alignment - float mismatchscore_; - ///This is the minimum score for counting as a match(1-cutoffScore_) - float threshold_; - ///Container holding the score of the matchmatrix and also the insertmatrix - std::vector > debugmatrix_; - ///Container holding the only the score of Spectra - std::vector > debugscorematrix_; - ///Container holding the path of the traceback - std::vector > debugtraceback_; - ///Container holding the score of each cell(matchmatrix,insertmatrix, traceback) - std::vector scoredistribution_; //save the cell i, j , matchscore, insertscore, traceback - //docu in base class - void updateMembers_() override; - }; - -} // namespace OpenMS - diff --git a/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/MapAlignmentEvaluationAlgorithm.h b/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/MapAlignmentEvaluationAlgorithm.h index 0a8f5e35a89..13ef1b428b6 100644 --- a/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/MapAlignmentEvaluationAlgorithm.h +++ b/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/MapAlignmentEvaluationAlgorithm.h @@ -39,9 +39,6 @@ namespace OpenMS ///Decides if two features are the same, based on maximum allowed deviations for retention time, m/z and intensity. bool isSameHandle(const FeatureHandle & lhs, const FeatureHandle & rhs, const double & rt_dev, const double & mz_dev, const Peak2D::IntensityType & int_dev, const bool use_charge); - /// Register all derived classes in this method - static void registerChildren(); - private: ///Copy constructor is not implemented -> private MapAlignmentEvaluationAlgorithm(const MapAlignmentEvaluationAlgorithm &); diff --git a/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/MapAlignmentEvaluationAlgorithmPrecision.h b/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/MapAlignmentEvaluationAlgorithmPrecision.h index 19da351981f..9749b0f55f5 100644 --- a/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/MapAlignmentEvaluationAlgorithmPrecision.h +++ b/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/MapAlignmentEvaluationAlgorithmPrecision.h @@ -34,18 +34,6 @@ namespace OpenMS */ void evaluate(const ConsensusMap & consensus_map_in, const ConsensusMap & consensus_map_gt, const double & rt_dev, const double & mz_dev, const Peak2D::IntensityType & int_dev, const bool use_charge, double & out) override; - /// Creates a new instance of this class (for Factory) - static MapAlignmentEvaluationAlgorithm * create() - { - return new MapAlignmentEvaluationAlgorithmPrecision(); - } - - /// Returns the product name (for the Factory) - static String getProductName() - { - return "precision"; - } - private: /// Copy constructor intentionally not implemented -> private diff --git a/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/MapAlignmentEvaluationAlgorithmRecall.h b/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/MapAlignmentEvaluationAlgorithmRecall.h index 5b7e08c9877..67769382b11 100644 --- a/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/MapAlignmentEvaluationAlgorithmRecall.h +++ b/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/MapAlignmentEvaluationAlgorithmRecall.h @@ -34,18 +34,6 @@ namespace OpenMS */ void evaluate(const ConsensusMap & consensus_map_in, const ConsensusMap & consensus_map_gt, const double & rt_dev, const double & mz_dev, const Peak2D::IntensityType & int_dev, const bool use_charge, double & out) override; - /// Creates a new instance of this class (for Factory) - static MapAlignmentEvaluationAlgorithm * create() - { - return new MapAlignmentEvaluationAlgorithmRecall(); - } - - /// Returns the product name (for the Factory) - static String getProductName() - { - return "recall"; - } - private: /// Copy constructor intentionally not implemented -> private diff --git a/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/PoseClusteringAffineSuperimposer.h b/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/PoseClusteringAffineSuperimposer.h index 29a33417bd0..48634594d9e 100644 --- a/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/PoseClusteringAffineSuperimposer.h +++ b/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/PoseClusteringAffineSuperimposer.h @@ -74,18 +74,6 @@ namespace OpenMS /// Perform alignment on vector of 1D peaks virtual void run(const std::vector & map_model, const std::vector & map_scene, TransformationDescription & transformation); - /// Returns an instance of this class - static BaseSuperimposer * create() - { - return new PoseClusteringAffineSuperimposer(); - } - - /// Returns the name of this module - static const String getProductName() - { - return "poseclustering_affine"; - } - }; } // namespace OpenMS diff --git a/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/PoseClusteringShiftSuperimposer.h b/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/PoseClusteringShiftSuperimposer.h index c0c7f491f28..7ca7e876650 100644 --- a/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/PoseClusteringShiftSuperimposer.h +++ b/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/PoseClusteringShiftSuperimposer.h @@ -63,18 +63,6 @@ namespace OpenMS */ void run(const ConsensusMap & map_model, const ConsensusMap & map_scene, TransformationDescription & transformation) override; - /// Returns an instance of this class - static BaseSuperimposer * create() - { - return new PoseClusteringShiftSuperimposer(); - } - - /// Returns the name of this module - static const String getProductName() - { - return "poseclustering_shift"; - } - }; } // namespace OpenMS diff --git a/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/QTClusterFinder.h b/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/QTClusterFinder.h index 24969fd5d00..0121503e499 100644 --- a/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/QTClusterFinder.h +++ b/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/QTClusterFinder.h @@ -258,12 +258,6 @@ namespace OpenMS /// Destructor ~QTClusterFinder() override; - /// Returns the name of the product - static const String getProductName() - { - return "qt"; - } - /** @brief Runs the algorithm on consensus maps @@ -284,11 +278,6 @@ namespace OpenMS void run(const std::vector& input_maps, ConsensusMap& result_map); - /// Returns an instance of this class - static BaseGroupFinder* create() - { - return new QTClusterFinder(); - } }; } // namespace OpenMS diff --git a/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/SimplePairFinder.h b/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/SimplePairFinder.h index b8d489b7a7a..4d91f09d8b0 100644 --- a/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/SimplePairFinder.h +++ b/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/SimplePairFinder.h @@ -66,18 +66,6 @@ namespace OpenMS { } - /// returns an instance of this class - static BaseGroupFinder * create() - { - return new SimplePairFinder(); - } - - /// returns the name of this module - static const String getProductName() - { - return "simple"; - } - /** @brief Run the algorithm diff --git a/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/StablePairFinder.h b/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/StablePairFinder.h index 186fde9eeed..855ad802d57 100644 --- a/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/StablePairFinder.h +++ b/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/StablePairFinder.h @@ -96,18 +96,6 @@ namespace OpenMS { } - /// Returns an instance of this class - static BaseGroupFinder* create() - { - return new StablePairFinder(); - } - - /// Returns the name of this module - static const String getProductName() - { - return "stable"; - } - /** @brief Run the algorithm diff --git a/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/sources.cmake b/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/sources.cmake index 602ffd4d559..edc69d9e81c 100644 --- a/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/sources.cmake +++ b/src/openms/include/OpenMS/ANALYSIS/MAPMATCHING/sources.cmake @@ -19,7 +19,6 @@ LabeledPairFinder.h MapAlignmentAlgorithmIdentification.h MapAlignmentAlgorithmKD.h MapAlignmentAlgorithmPoseClustering.h -MapAlignmentAlgorithmSpectrumAlignment.h MapAlignmentAlgorithmTreeGuided.h MapAlignmentEvaluationAlgorithm.h MapAlignmentEvaluationAlgorithmPrecision.h diff --git a/src/openms/include/OpenMS/ANALYSIS/OPENSWATH/MRMScoring.h b/src/openms/include/OpenMS/ANALYSIS/OPENSWATH/MRMScoring.h index e515273521f..5b900be37c3 100644 --- a/src/openms/include/OpenMS/ANALYSIS/OPENSWATH/MRMScoring.h +++ b/src/openms/include/OpenMS/ANALYSIS/OPENSWATH/MRMScoring.h @@ -120,9 +120,6 @@ namespace OpenSwath */ double calcXcorrCoelutionWeightedScore(const std::vector& normalized_library_intensity); - /// calculate the cross-correlation contrast score - double calcXcorrContrastCoelutionScore(); - /// calculate the separate cross-correlation contrast score std::vector calcSeparateXcorrContrastCoelutionScore(); @@ -261,7 +258,7 @@ namespace OpenSwath //@} /// contains max Peaks from xcorr_contrast_matrix_ - OpenMS::Matrix xcorr_contrast_matrix_max_peak_sec_; + OpenMS::Matrix xcorr_contrast_matrix_max_peak_sec_; /// the precomputed cross correlation matrix of the MS1 trace XCorrMatrixType xcorr_precursor_matrix_; diff --git a/src/openms/include/OpenMS/ANALYSIS/QUANTITATION/ItraqConstants.h b/src/openms/include/OpenMS/ANALYSIS/QUANTITATION/ItraqConstants.h index 1dd8bec092f..723d836aef1 100644 --- a/src/openms/include/OpenMS/ANALYSIS/QUANTITATION/ItraqConstants.h +++ b/src/openms/include/OpenMS/ANALYSIS/QUANTITATION/ItraqConstants.h @@ -46,7 +46,7 @@ namespace OpenMS typedef std::map ChannelMapType; /// (user defined?) isotope correction matrix in (-2, -1, +1, +2) row style - typedef std::vector > IsotopeMatrices; + typedef std::vector> IsotopeMatrices; /// channel names for 4plex( 114, 115, 116, 117) static const Int CHANNELS_FOURPLEX[4][1]; diff --git a/src/openms/include/OpenMS/ANALYSIS/TARGETED/MetaboTargetedAssay.h b/src/openms/include/OpenMS/ANALYSIS/TARGETED/MetaboTargetedAssay.h index a4571785c51..2260b775927 100644 --- a/src/openms/include/OpenMS/ANALYSIS/TARGETED/MetaboTargetedAssay.h +++ b/src/openms/include/OpenMS/ANALYSIS/TARGETED/MetaboTargetedAssay.h @@ -129,15 +129,13 @@ namespace OpenMS @param max_fragment_mz Maximum m/z a fragment ion has to have to be considered as a transition @param use_exact_mass Boolean if exact mass should be used as peak mass for annotated fragments @param exclude_ms2_precursor Boolean to exclude MS2 precursor from MetaboTargetedAssay - @param file_counter Count if multiple files are used. */ static std::vector extractMetaboTargetedAssayFragmentAnnotation(const std::vector< CompoundTargetDecoyPair >& v_cmp_spec, const double& transition_threshold, const double& min_fragment_mz, const double& max_fragment_mz, const bool& use_exact_mass, - const bool& exclude_ms2_precursor, - const unsigned int& file_counter); + const bool& exclude_ms2_precursor); /** @brief Pair compound information (SiriusMSFile) with the annotated target and decoy spectrum from SIRIUS/Passatutto @@ -150,9 +148,6 @@ namespace OpenMS */ static std::vector< MetaboTargetedAssay::CompoundTargetDecoyPair > pairCompoundWithAnnotatedTDSpectraPairs(const std::vector& v_cmpinfo, const std::vector& annotated_spectra); - static std::vector< MetaboTargetedAssay::CompoundSpectrumPair > pairCompoundWithAnnotatedSpectra(const std::vector& v_cmpinfo, - const std::vector& annotated_spectra); - /** @brief Perform feature linking to build ambiguity groups based on the target and decoy position in the vector of MetaboTargetedAssays diff --git a/src/openms/include/OpenMS/ANALYSIS/TARGETED/MetaboTargetedTargetDecoy.h b/src/openms/include/OpenMS/ANALYSIS/TARGETED/MetaboTargetedTargetDecoy.h index 4b316e9c62a..bb389b250e2 100644 --- a/src/openms/include/OpenMS/ANALYSIS/TARGETED/MetaboTargetedTargetDecoy.h +++ b/src/openms/include/OpenMS/ANALYSIS/TARGETED/MetaboTargetedTargetDecoy.h @@ -52,9 +52,10 @@ namespace OpenMS @param t_exp TransitionExperiment holds compound and transition information @param mappings map of identifier to target and decoy masses @param mass_to_add (e.g. CH2) - + @param mz_tol m/z tolerarance for target and decoy transition masses to be considered overlapping + @param mz_tol_unit m/z tolerance unit ("ppm" or "Da") */ - static void resolveOverlappingTargetDecoyMassesByIndividualMassShift(TargetedExperiment& t_exp, std::vector& mappings, const double& mass_to_add); + static void resolveOverlappingTargetDecoyMassesByDecoyMassShift(TargetedExperiment& t_exp, std::vector& mappings, const double& mass_to_add, const double& mz_tol, const String& mz_tol_unit); /** @brief Generate a decoy for targets where fragmentation tree re-rooting was not possible, by adding a specifiable mass to the target fragments. diff --git a/src/openms/include/OpenMS/APPLICATIONS/TOPPBase.h b/src/openms/include/OpenMS/APPLICATIONS/TOPPBase.h index d4fba96ffaa..b93aa7a4de8 100644 --- a/src/openms/include/OpenMS/APPLICATIONS/TOPPBase.h +++ b/src/openms/include/OpenMS/APPLICATIONS/TOPPBase.h @@ -185,7 +185,10 @@ namespace OpenMS */ String getToolPrefix() const; -private: + /// Returns a link to the documentation of the tool (accessible on our servers and only after inclusion in the nightly branch or a release). + String getDocumentationURL() const; + + private: /// Tool name. This is assigned once and for all in the constructor. String const tool_name_; @@ -350,9 +353,6 @@ namespace OpenMS */ String getSubsection_(const String& name) const; - /// Returns a link to the documentation of the tool (accessible on our servers and only after inclusion in the nightly branch or a release). - String getDocumentationURL() const; - /// Returns the default parameters Param getDefaultParameters_() const; diff --git a/src/openms/include/OpenMS/COMPARISON/CLUSTERING/AverageLinkage.h b/src/openms/include/OpenMS/COMPARISON/CLUSTERING/AverageLinkage.h index 2730703811e..981385cb918 100644 --- a/src/openms/include/OpenMS/COMPARISON/CLUSTERING/AverageLinkage.h +++ b/src/openms/include/OpenMS/COMPARISON/CLUSTERING/AverageLinkage.h @@ -57,12 +57,6 @@ namespace OpenMS */ void operator()(DistanceMatrix & original_distance, std::vector & cluster_tree, const float threshold = 1) const override; - /// creates a new instance of a AverageLinkage object - static ClusterFunctor * create(); - - /// get the identifier for this object - static const String getProductName(); - }; } diff --git a/src/openms/include/OpenMS/COMPARISON/CLUSTERING/ClusterFunctor.h b/src/openms/include/OpenMS/COMPARISON/CLUSTERING/ClusterFunctor.h index c09d094745d..74bd9100ed9 100644 --- a/src/openms/include/OpenMS/COMPARISON/CLUSTERING/ClusterFunctor.h +++ b/src/openms/include/OpenMS/COMPARISON/CLUSTERING/ClusterFunctor.h @@ -70,8 +70,7 @@ namespace OpenMS */ virtual void operator()(DistanceMatrix & original_distance, std::vector & cluster_tree, const float threshold = 1) const = 0; - /// registers all derived products - static void registerChildren(); + }; diff --git a/src/openms/include/OpenMS/COMPARISON/CLUSTERING/ClusterHierarchical.h b/src/openms/include/OpenMS/COMPARISON/CLUSTERING/ClusterHierarchical.h index fdac17cd15c..bbeb1d0cefe 100644 --- a/src/openms/include/OpenMS/COMPARISON/CLUSTERING/ClusterHierarchical.h +++ b/src/openms/include/OpenMS/COMPARISON/CLUSTERING/ClusterHierarchical.h @@ -14,182 +14,182 @@ // #pragma once -#include -#include -#include #include -#include +#include #include #include +#include #include - +#include +#include #include namespace OpenMS { - /** - @brief Hierarchical clustering with generic clustering functions +/** + @brief Hierarchical clustering with generic clustering functions - ClusterHierarchical clusters objects with corresponding distancemethod and clusteringmethod. - @ingroup SpectraClustering - */ - class OPENMS_DLLAPI ClusterHierarchical - { + ClusterHierarchical clusters objects with corresponding distancemethod and clusteringmethod. + @ingroup SpectraClustering +*/ +class OPENMS_DLLAPI ClusterHierarchical +{ private: - - /// the threshold given to the ClusterFunctor - double threshold_; + /// the threshold given to the ClusterFunctor + double threshold_; public: - /// default constructor - ClusterHierarchical() : - threshold_(1.0) - { - } + /// default constructor + ClusterHierarchical(): threshold_(1.0) + { + } - /// copy constructor - ClusterHierarchical(const ClusterHierarchical & source) : - threshold_(source.threshold_) - { - } + /// copy constructor + ClusterHierarchical(const ClusterHierarchical& source): threshold_(source.threshold_) + { + } - /// destructor - virtual ~ClusterHierarchical() - { - } + /// destructor + virtual ~ClusterHierarchical() + { + } + + /** + @brief Clustering function - /** - @brief Clustering function + Cluster data using SimilarityComparator and ClusterFunctor. - Cluster data using SimilarityComparator and ClusterFunctor. + Creates a DistanceMatrix (if an empty matrix is passed) and the clustering is started. + Clustering stops if the ClusterHierarchical::threshold_ is reached by the ClusterFunctor. - Creates a DistanceMatrix (if an empty matrix is passed) and the clustering is started. - Clustering stops if the ClusterHierarchical::threshold_ is reached by the ClusterFunctor. + First template parameter is the cluster object type, + Second template parameter is the similarity functor applicable to the type. - First template parameter is the cluster object type, - Second template parameter is the similarity functor applicable to the type. + For example, @ref PeakSpectrum with a @ref PeakSpectrumCompareFunctor. - For example, @ref PeakSpectrum with a @ref PeakSpectrumCompareFunctor. + The similarity functor must provide the similarity calculation with the ()-operator and + yield normalized values in range of [0,1] for the type of < Data >. - The similarity functor must provide the similarity calculation with the ()-operator and - yield normalized values in range of [0,1] for the type of < Data >. + @param data Values to be clustered + @param comparator Similarity functor which returns a similarity in [0, 1] for any pair of values in @p data + @param clusterer A cluster method implementation, e.g. SingleLinkage or CompleteLinkage. See base class ClusterFunctor. + @param cluster_tree The vector that will hold the BinaryTreeNodes representing the clustering (for further investigation with the + ClusterAnalyzer methods) + @param original_distance Precomputed DistanceMatrix holding the pairwise distances of the elements in @p data; if empty or wrong size, it will be re-created using @p comparator - @param data vector of objects to be clustered - @param comparator similarity functor fitting for types in data - @param clusterer a clustermethod implementation, baseclass ClusterFunctor - @param cluster_tree the vector that will hold the BinaryTreeNodes representing the clustering (for further investigation with the ClusterAnalyzer methods) - @param original_distance the DistanceMatrix holding the pairwise distances of the elements in @p data, will be made newly if given size does not fit to the number of elements given in @ data - @see ClusterFunctor, BinaryTreeNode, ClusterAnalyzer - */ - template - void cluster(std::vector & data, - const SimilarityComparator & comparator, - const ClusterFunctor & clusterer, - std::vector & cluster_tree, - DistanceMatrix & original_distance) + @see ClusterFunctor, BinaryTreeNode, ClusterAnalyzer + */ + template + void cluster(std::vector& data, + const SimilarityComparator& comparator, + const ClusterFunctor& clusterer, + std::vector& cluster_tree, + DistanceMatrix& original_distance) + { + if (original_distance.dimensionsize() != data.size()) { - if (original_distance.dimensionsize() != data.size()) + // create distance matrix for data using comparator + original_distance.clear(); + original_distance.resize(data.size(), 1); + for (Size i = 0; i < data.size(); i++) { - // create distance matrix for data using comparator - original_distance.clear(); - original_distance.resize(data.size(), 1); - for (Size i = 0; i < data.size(); i++) + for (Size j = 0; j < i; j++) { - for (Size j = 0; j < i; j++) - { - // distance value is 1-similarity value, since similarity is in range of [0,1] - original_distance.setValueQuick(i, j, 1 - comparator(data[i], data[j])); - } + // distance value is 1-similarity value, since similarity is in range of [0,1] + original_distance.setValueQuick(i, j, 1 - comparator(data[i], data[j])); } } - - // create clustering with ClusterMethod, DistanceMatrix and Data - clusterer(original_distance, cluster_tree, threshold_); } - /** - @brief clustering function for binned PeakSpectrum + // create clustering with ClusterMethod, DistanceMatrix and Data + clusterer(original_distance, cluster_tree, threshold_); + } - A version of the clustering function for PeakSpectra employing binned similarity methods. From the given PeakSpectrum BinnedSpectrum are generated, so the similarity functor @see BinnedSpectrumCompareFunctor can be applied. + /** + @brief clustering function for binned PeakSpectrum - @param data vector of @ref PeakSpectrum s to be clustered - @param comparator a BinnedSpectrumCompareFunctor - @param sz the desired binsize for the @ref BinnedSpectrum s - @param sp the desired binspread for the @ref BinnedSpectrum s - @param offset the desired bins offset for the @ref BinnedSpectrum s - @param clusterer a clustermethod implementation, base class ClusterFunctor - @param cluster_tree the vector that will hold the BinaryTreeNodes representing the clustering (for further investigation with the ClusterAnalyzer methods) - @param original_distance the DistanceMatrix holding the pairwise distances of the elements in @p data, will be made newly if given size does not fit to the number of elements given in @p data - @see ClusterFunctor, BinaryTreeNode, ClusterAnalyzer, BinnedSpectrum, BinnedSpectrumCompareFunctor + A version of the clustering function for PeakSpectra employing binned similarity methods. From the given PeakSpectrum BinnedSpectrum are + generated, so the similarity functor @see BinnedSpectrumCompareFunctor can be applied. - @ingroup SpectraClustering - */ - void cluster(std::vector & data, - const BinnedSpectrumCompareFunctor & comparator, - double sz, - UInt sp, - float offset, - const ClusterFunctor & clusterer, - std::vector & cluster_tree, - DistanceMatrix & original_distance) const - { - std::vector binned_data; - binned_data.reserve(data.size()); + @param data vector of @ref PeakSpectrum s to be clustered + @param comparator a BinnedSpectrumCompareFunctor + @param sz Bin size for the @ref BinnedSpectrum s + @param sp Bin spread for the @ref BinnedSpectrum s + @param offset Bin offset for the @ref BinnedSpectrum s + @param clusterer a clustermethod implementation, base class ClusterFunctor + @param cluster_tree Vector of BinaryTreeNodes representing the clustering (for further investigation with the ClusterAnalyzer methods) + @param original_distance The DistanceMatrix holding the pairwise distances of the elements in @p data, will be made newly if given size does not + fit to the number of elements given in @p data - //transform each PeakSpectrum to a corresponding BinnedSpectrum with given settings of size and spread - for (Size i = 0; i < data.size(); i++) - { - //double sz(2), UInt sp(1); - binned_data.emplace_back(data[i], sz, false, sp, offset); - } - - //create distancematrix for data with comparator - original_distance.clear(); - original_distance.resize(data.size(), 1); - - for (Size i = 0; i < binned_data.size(); i++) - { - for (Size j = 0; j < i; j++) - { - //distance value is 1-similarity value, since similarity is in range of [0,1] - original_distance.setValue(i, j, 1 - comparator(binned_data[i], binned_data[j])); - } - } + @see ClusterFunctor, BinaryTreeNode, ClusterAnalyzer, BinnedSpectrum, BinnedSpectrumCompareFunctor - // create Clustering with ClusterMethod, DistanceMatrix and Data - clusterer(original_distance, cluster_tree, threshold_); - } + @ingroup SpectraClustering + */ + void cluster(std::vector& data, + const BinnedSpectrumCompareFunctor& comparator, + double sz, + UInt sp, + float offset, + const ClusterFunctor& clusterer, + std::vector& cluster_tree, + DistanceMatrix& original_distance) const + { + std::vector binned_data; + binned_data.reserve(data.size()); - /// get the threshold - double getThreshold() const + // transform each PeakSpectrum to a corresponding BinnedSpectrum with given settings of size and spread + for (Size i = 0; i < data.size(); i++) { - return threshold_; + // double sz(2), UInt sp(1); + binned_data.emplace_back(data[i], sz, false, sp, offset); } - /// set the threshold (in terms of distance) - /// The default is 1, i.e. only at similarity 0 the clustering stops. - /// Warning: clustering is not supported by all methods yet (e.g. SingleLinkage does ignore it). - void setThreshold(double x) + // create distancematrix for data with comparator + original_distance.clear(); + original_distance.resize(data.size(), 1); + + for (Size i = 0; i < binned_data.size(); i++) { - threshold_ = x; + for (Size j = 0; j < i; j++) + { + // distance value is 1-similarity value, since similarity is in range of [0,1] + original_distance.setValue(i, j, 1 - comparator(binned_data[i], binned_data[j])); + } } - }; + // create Clustering with ClusterMethod, DistanceMatrix and Data + clusterer(original_distance, cluster_tree, threshold_); + } - /** @brief Exception thrown if clustering is attempted without a normalized compare functor + /// get the threshold + double getThreshold() const + { + return threshold_; + } - due to similarity - distance conversions that are mandatory in some context, compare functors - must return values normalized in the range [0,1] to ensure a clean conversion - */ - class OPENMS_DLLAPI UnnormalizedComparator : - public Exception::BaseException + /// set the threshold (in terms of distance) + /// The default is 1, i.e. only at similarity 0 the clustering stops. + /// Warning: clustering is not supported by all methods yet (e.g. SingleLinkage does ignore it). + void setThreshold(double x) { -public: - UnnormalizedComparator(const char * file, int line, const char * function, const char * message - = "Clustering with unnormalized similarity measurement requested, normalized is mandatory") throw(); - ~UnnormalizedComparator() throw() override; - }; + threshold_ = x; + } +}; -} +/** @brief Exception thrown if clustering is attempted without a normalized compare functor + due to similarity - distance conversions that are mandatory in some context, compare functors + must return values normalized in the range [0,1] to ensure a clean conversion +*/ +class OPENMS_DLLAPI UnnormalizedComparator : public Exception::BaseException +{ +public: + UnnormalizedComparator(const char* file, + int line, + const char* function, + const char* message = "Clustering with unnormalized similarity measurement requested, normalized is mandatory") throw(); + ~UnnormalizedComparator() throw() override; +}; + +} // namespace OpenMS diff --git a/src/openms/include/OpenMS/COMPARISON/CLUSTERING/CompleteLinkage.h b/src/openms/include/OpenMS/COMPARISON/CLUSTERING/CompleteLinkage.h index 30c9517215f..afc73d9a5b0 100644 --- a/src/openms/include/OpenMS/COMPARISON/CLUSTERING/CompleteLinkage.h +++ b/src/openms/include/OpenMS/COMPARISON/CLUSTERING/CompleteLinkage.h @@ -8,61 +8,61 @@ // #pragma once -#include -#include -#include - +#include #include #include -#include +#include +#include +#include namespace OpenMS { - /** - @brief CompleteLinkage ClusterMethod +/** + @brief CompleteLinkage ClusterMethod - The details of the method can be found in: - Backhaus, Erichson, Plinke, Weiber Multivariate Analysemethoden, Springer 2000 and - Ellen M. Voorhees: Implementing agglomerative hierarchic clustering algorithms for use in document retrieval. Inf. Process. Manage. 22(6): 465-476 (1986) - @see ClusterFunctor + The details of the method can be found in: + Backhaus, Erichson, Plinke, Weiber Multivariate Analysemethoden, Springer 2000 and + Ellen M. Voorhees: Implementing agglomerative hierarchic clustering algorithms for use in document retrieval. Inf. Process. Manage. 22(6): 465-476 + (1986) + @see ClusterFunctor - @ingroup SpectraClustering - */ - class OPENMS_DLLAPI CompleteLinkage : - public ClusterFunctor, public ProgressLogger - { + @ingroup SpectraClustering +*/ +class OPENMS_DLLAPI CompleteLinkage : public ClusterFunctor, public ProgressLogger +{ public: + /// default constructor + CompleteLinkage(); - /// default constructor - CompleteLinkage(); + /// copy constructor + CompleteLinkage(const CompleteLinkage& source); - /// copy constructor - CompleteLinkage(const CompleteLinkage & source); + /// destructor + ~CompleteLinkage() override; - /// destructor - ~CompleteLinkage() override; + /// assignment operator + CompleteLinkage& operator=(const CompleteLinkage& source); - /// assignment operator - CompleteLinkage & operator=(const CompleteLinkage & source); - - /** - @brief clusters the indices according to their respective element distances - - @param original_distance DistanceMatrix containing the distances of the elements to be clustered, will be changed during clustering process, make sure to have a copy or be able to redo - @param cluster_tree vector< BinaryTreeNode >, represents the clustering, each node contains the next merged clusters (not element indices) and their distance, strict order is kept: left_child < right_child - @param threshold float value, the minimal distance from which on cluster merging is considered unrealistic. By default set to 1, i.e. complete clustering until only one cluster remains - @throw ClusterFunctor::InsufficientInput thrown if input is <2 - The clustering method is complete linkage, where the updated distances after merging two clusters are each the maximal distance between the elements of their clusters. After @p threshold is exceeded, @p cluster_tree is filled with dummy clusteringsteps (children: (0,1), distance:-1) to the root. - @see ClusterFunctor , BinaryTreeNode - */ - void operator()(DistanceMatrix & original_distance, std::vector & cluster_tree, const float threshold = 1) const override; + /** + @brief clusters the indices according to their respective element distances - /// creates a new instance of a CompleteLinkage object - static ClusterFunctor * create(); + Complete linkage updates the distances after merging two clusters using the maximal distance between the + elements of their clusters. After @p threshold is exceeded, @p cluster_tree is filled with dummy clusteringsteps (children: (0,1), distance:-1) to + the root. - /// get the identifier for this object - static const String getProductName(); + @param original_distance Contains the distances of the elements to be clustered, will be changed during clustering process, make sure to have a copy + or be able to redo + @param cluster_tree Represents the clustering, each node contains the next merged clusters (not element indices) and their distance, strict order is + kept: left_child < right_child + @param threshold The minimal distance from which on cluster merging is considered unrealistic. By default set to 1, i.e. complete + clustering until only one cluster remains + + @throw ClusterFunctor::InsufficientInput thrown if input is <2. + + @see ClusterFunctor , BinaryTreeNode + */ + void operator()(DistanceMatrix& original_distance, std::vector& cluster_tree, const float threshold = 1) const override; - }; +}; -} +} // namespace OpenMS diff --git a/src/openms/include/OpenMS/COMPARISON/CLUSTERING/SingleLinkage.h b/src/openms/include/OpenMS/COMPARISON/CLUSTERING/SingleLinkage.h index d4a9789bf0e..affba0a86fd 100644 --- a/src/openms/include/OpenMS/COMPARISON/CLUSTERING/SingleLinkage.h +++ b/src/openms/include/OpenMS/COMPARISON/CLUSTERING/SingleLinkage.h @@ -55,11 +55,6 @@ namespace OpenMS */ void operator()(DistanceMatrix & original_distance, std::vector & cluster_tree, const float threshold = 1) const override; - /// creates a new instance of a SingleLinkage object - static ClusterFunctor * create(); - - /// get the identifier for this object - static const String getProductName(); }; diff --git a/src/openms/include/OpenMS/COMPARISON/SPECTRA/BinnedSharedPeakCount.h b/src/openms/include/OpenMS/COMPARISON/SPECTRA/BinnedSharedPeakCount.h index a739c4174a3..3617d3f8b5b 100644 --- a/src/openms/include/OpenMS/COMPARISON/SPECTRA/BinnedSharedPeakCount.h +++ b/src/openms/include/OpenMS/COMPARISON/SPECTRA/BinnedSharedPeakCount.h @@ -59,12 +59,6 @@ namespace OpenMS /// function call operator, calculates self similarity double operator()(const BinnedSpectrum& spec) const override; - /// - static BinnedSpectrumCompareFunctor* create() { return new BinnedSharedPeakCount(); } - - /// get the identifier for this DefaultParamHandler - static const String getProductName() { return "BinnedSharedPeakCount"; } - protected: void updateMembers_() override; double precursor_mass_tolerance_; diff --git a/src/openms/include/OpenMS/COMPARISON/SPECTRA/BinnedSpectralContrastAngle.h b/src/openms/include/OpenMS/COMPARISON/SPECTRA/BinnedSpectralContrastAngle.h index 3621086a679..6682c96eaf7 100644 --- a/src/openms/include/OpenMS/COMPARISON/SPECTRA/BinnedSpectralContrastAngle.h +++ b/src/openms/include/OpenMS/COMPARISON/SPECTRA/BinnedSpectralContrastAngle.h @@ -57,15 +57,6 @@ namespace OpenMS /// function call operator, calculates self similarity double operator()(const BinnedSpectrum& spec) const override; - /// - static BinnedSpectrumCompareFunctor* create() { return new BinnedSpectralContrastAngle(); } - - /// get the identifier for this DefaultParamHandler - static const String getProductName() - { - return "BinnedSpectralContrastAngle"; - } - protected: void updateMembers_() override; double precursor_mass_tolerance_; diff --git a/src/openms/include/OpenMS/COMPARISON/SPECTRA/BinnedSpectrumCompareFunctor.h b/src/openms/include/OpenMS/COMPARISON/SPECTRA/BinnedSpectrumCompareFunctor.h index 03946b31a6e..17d7587e801 100644 --- a/src/openms/include/OpenMS/COMPARISON/SPECTRA/BinnedSpectrumCompareFunctor.h +++ b/src/openms/include/OpenMS/COMPARISON/SPECTRA/BinnedSpectrumCompareFunctor.h @@ -52,15 +52,6 @@ namespace OpenMS /// function call operator, calculates self similarity virtual double operator()(const BinnedSpectrum& spec) const = 0; - /// registers all derived products - static void registerChildren(); - - /// get the identifier for a DefaultParamHandler - static const String getProductName() - { - return "BinnedSpectrumCompareFunctor"; - } - }; } diff --git a/src/openms/include/OpenMS/COMPARISON/SPECTRA/BinnedSumAgreeingIntensities.h b/src/openms/include/OpenMS/COMPARISON/SPECTRA/BinnedSumAgreeingIntensities.h index 27d969027a2..b2f5d05214c 100644 --- a/src/openms/include/OpenMS/COMPARISON/SPECTRA/BinnedSumAgreeingIntensities.h +++ b/src/openms/include/OpenMS/COMPARISON/SPECTRA/BinnedSumAgreeingIntensities.h @@ -63,15 +63,6 @@ namespace OpenMS /// function call operator, calculates self similarity double operator()(const BinnedSpectrum& spec) const override; - /// - static BinnedSpectrumCompareFunctor* create() { return new BinnedSumAgreeingIntensities(); } - - /// get the identifier for this DefaultParamHandler - static const String getProductName() - { - return "BinnedSumAgreeingIntensities"; - } - protected: void updateMembers_() override; double precursor_mass_tolerance_; diff --git a/src/openms/include/OpenMS/COMPARISON/SPECTRA/PeakAlignment.h b/src/openms/include/OpenMS/COMPARISON/SPECTRA/PeakAlignment.h index 38f6b01758f..e6a6104e9f6 100644 --- a/src/openms/include/OpenMS/COMPARISON/SPECTRA/PeakAlignment.h +++ b/src/openms/include/OpenMS/COMPARISON/SPECTRA/PeakAlignment.h @@ -51,15 +51,6 @@ namespace OpenMS /// function call operator, calculates self similarity double operator()(const PeakSpectrum & spec) const override; - /// - static PeakSpectrumCompareFunctor * create() { return new PeakAlignment(); } - - /// get the identifier for this DefaultParamHandler - static const String getProductName() - { - return "PeakAlignment"; - } - /// make alignment and get the traceback std::vector > getAlignmentTraceback(const PeakSpectrum & spec1, const PeakSpectrum & spec2) const; diff --git a/src/openms/include/OpenMS/COMPARISON/SPECTRA/PeakSpectrumCompareFunctor.h b/src/openms/include/OpenMS/COMPARISON/SPECTRA/PeakSpectrumCompareFunctor.h index 034e6cebb9a..55c17368d2d 100644 --- a/src/openms/include/OpenMS/COMPARISON/SPECTRA/PeakSpectrumCompareFunctor.h +++ b/src/openms/include/OpenMS/COMPARISON/SPECTRA/PeakSpectrumCompareFunctor.h @@ -47,15 +47,6 @@ namespace OpenMS /// calculates self similarity virtual double operator()(const PeakSpectrum & a) const = 0; - /// registers all derived products - static void registerChildren(); - - /// - static const String getProductName() - { - return "PeakSpectrumCompareFunctor"; - } - }; } diff --git a/src/openms/include/OpenMS/COMPARISON/SPECTRA/SpectraSTSimilarityScore.h b/src/openms/include/OpenMS/COMPARISON/SPECTRA/SpectraSTSimilarityScore.h index 0120ff004c3..c295f114cd1 100644 --- a/src/openms/include/OpenMS/COMPARISON/SPECTRA/SpectraSTSimilarityScore.h +++ b/src/openms/include/OpenMS/COMPARISON/SPECTRA/SpectraSTSimilarityScore.h @@ -111,17 +111,6 @@ namespace OpenMS */ double compute_F(double dot_product, double delta_D, double dot_bias); - - - /// - static PeakSpectrumCompareFunctor * create() { return new SpectraSTSimilarityScore(); } - - ///Reimplemented from PeakSpectrumCompareFunctor. - static const String getProductName() - { - return "SpectraSTSimilarityScore"; - } - protected: diff --git a/src/openms/include/OpenMS/COMPARISON/SPECTRA/SpectrumAlignmentScore.h b/src/openms/include/OpenMS/COMPARISON/SPECTRA/SpectrumAlignmentScore.h index 794764e9dfd..45522b53869 100644 --- a/src/openms/include/OpenMS/COMPARISON/SPECTRA/SpectrumAlignmentScore.h +++ b/src/openms/include/OpenMS/COMPARISON/SPECTRA/SpectrumAlignmentScore.h @@ -67,17 +67,6 @@ namespace OpenMS double operator()(const PeakSpectrum & spec) const override; // @} - // @name Accessors - // @{ - /// - static PeakSpectrumCompareFunctor * create() { return new SpectrumAlignmentScore(); } - - /// - static const String getProductName() - { - return "SpectrumAlignmentScore"; - } - // @} }; diff --git a/src/openms/include/OpenMS/COMPARISON/SPECTRA/SpectrumCheapDPCorr.h b/src/openms/include/OpenMS/COMPARISON/SPECTRA/SpectrumCheapDPCorr.h index 9b163c77d2a..d33efa9d3ac 100644 --- a/src/openms/include/OpenMS/COMPARISON/SPECTRA/SpectrumCheapDPCorr.h +++ b/src/openms/include/OpenMS/COMPARISON/SPECTRA/SpectrumCheapDPCorr.h @@ -61,14 +61,6 @@ namespace OpenMS // @name Accessors // @{ - /// - static PeakSpectrumCompareFunctor * create() { return new SpectrumCheapDPCorr(); } - - /// - static const String getProductName() - { - return "SpectrumCheapDPCorr"; - } /// return consensus spectrum from last function call operator const PeakSpectrum & lastconsensus() const; diff --git a/src/openms/include/OpenMS/COMPARISON/SPECTRA/SpectrumPrecursorComparator.h b/src/openms/include/OpenMS/COMPARISON/SPECTRA/SpectrumPrecursorComparator.h index 0051af1720e..f061a7fe6f0 100644 --- a/src/openms/include/OpenMS/COMPARISON/SPECTRA/SpectrumPrecursorComparator.h +++ b/src/openms/include/OpenMS/COMPARISON/SPECTRA/SpectrumPrecursorComparator.h @@ -47,19 +47,6 @@ namespace OpenMS double operator()(const PeakSpectrum & a) const override; // @} - // @name Accessors - // @{ - /// - static PeakSpectrumCompareFunctor * create() { return new SpectrumPrecursorComparator(); } - - /// - static const String getProductName() - { - return "SpectrumPrecursorComparator"; - } - - // @} - }; } diff --git a/src/openms/include/OpenMS/COMPARISON/SPECTRA/SteinScottImproveScore.h b/src/openms/include/OpenMS/COMPARISON/SPECTRA/SteinScottImproveScore.h index e9c082195f6..67c4b55d5a9 100644 --- a/src/openms/include/OpenMS/COMPARISON/SPECTRA/SteinScottImproveScore.h +++ b/src/openms/include/OpenMS/COMPARISON/SPECTRA/SteinScottImproveScore.h @@ -70,16 +70,6 @@ namespace OpenMS This function return the similarity score of itself based on SteinScott. */ double operator()(const PeakSpectrum & spec) const override; - static PeakSpectrumCompareFunctor * create() - { - return new SteinScottImproveScore(); - } - - static const String getProductName() - { - return "SteinScottImproveScore"; - } - }; } diff --git a/src/openms/include/OpenMS/COMPARISON/SPECTRA/ZhangSimilarityScore.h b/src/openms/include/OpenMS/COMPARISON/SPECTRA/ZhangSimilarityScore.h index a91611e9cb7..b3063084a56 100644 --- a/src/openms/include/OpenMS/COMPARISON/SPECTRA/ZhangSimilarityScore.h +++ b/src/openms/include/OpenMS/COMPARISON/SPECTRA/ZhangSimilarityScore.h @@ -53,19 +53,6 @@ namespace OpenMS double operator()(const PeakSpectrum & spec) const override; // @} - // @name Accessors - // @{ - /// - static PeakSpectrumCompareFunctor * create() { return new ZhangSimilarityScore(); } - - /// - static const String getProductName() - { - return "ZhangSimilarityScore"; - } - - // @} - protected: /// returns the factor associated with the m/z tolerance and m/z difference of the peaks diff --git a/src/openms/include/OpenMS/CONCEPT/Constants.h b/src/openms/include/OpenMS/CONCEPT/Constants.h index 8068c773c13..6de70027aa3 100644 --- a/src/openms/include/OpenMS/CONCEPT/Constants.h +++ b/src/openms/include/OpenMS/CONCEPT/Constants.h @@ -422,8 +422,7 @@ namespace OpenMS */ inline const std::string OPENPEPXL_BETA_PEPEV_END = "BetaPepEv:end"; - /** @name User parameters in/from Sirius annotated mzMLs - * E.g., when running SiriusAdapter with annotation output + /** @name User parameters in spectra which have been annotated from subdirectories in SIRIUS workspace */ ///@{ @@ -515,7 +514,7 @@ namespace OpenMS */ inline const std::string DC_CHARGE_ADDUCTS = "dc_charge_adducts"; - /** User parameter name for the number of mass traces in a feature. (Required for SiriusAdapter) + /** User parameter name for the number of mass traces in a feature. (Required for SiriusExport) String */ inline const std::string NUM_OF_MASSTRACES = "num_of_masstraces"; diff --git a/src/openms/include/OpenMS/CONCEPT/Factory.h b/src/openms/include/OpenMS/CONCEPT/Factory.h deleted file mode 100644 index 2992adb1bcf..00000000000 --- a/src/openms/include/OpenMS/CONCEPT/Factory.h +++ /dev/null @@ -1,148 +0,0 @@ -// Copyright (c) 2002-present, The OpenMS Team -- EKU Tuebingen, ETH Zurich, and FU Berlin -// SPDX-License-Identifier: BSD-3-Clause -// -// -------------------------------------------------------------------------- -// $Maintainer: Chris Bielow $ -// $Authors: Chris Bielow $ -// -------------------------------------------------------------------------- - -#pragma once - -#include -#include -#include -#include - -#include -#include -#include - -namespace OpenMS -{ - class String; - - /** - @brief Returns FactoryProduct* based on the name of the desired concrete FactoryProduct - - Every factory product base class T has to implement the static function registerChildren that registers all classes S derived from T at Factory. - - Every class S derived from T has to implement the function "static T* create()" which is going to be registered at Factory. - Additionally the function "static String getProductName()" is required, which returns the name the class is registered by. - - @ingroup Concept - */ - template - class Factory : - public FactoryBase - { - friend class singletonsNeedNoFriends; //some versions of gcc would warn otherwise - -private: - /// Function signature of creator function - typedef FactoryProduct * (*FunctionType)(); - typedef std::map Map; - typedef typename Map::const_iterator MapIterator; - typedef Factory FactoryType; - - /// Destructor - ~Factory() override{} - - /// Constructor - Factory() - { - } - - /// singleton access to Factory - static Factory * instance_() - { - if (!instance_ptr_) - { - // name of this Factory - String myName = typeid(FactoryType).name(); - - //check if an instance of this kind of Factory already registered - if (!SingletonRegistry::isRegistered(myName)) - { - // if not registered yet ... add it - instance_ptr_ = new Factory(); - // now, attention as ORDER of commands is important here: - // first register the Factory - SingletonRegistry::registerFactory(myName, instance_ptr_); - // because this call, might use another instance of this factory, but we want the other instance to register the children with "US" - FactoryProduct::registerChildren(); - } - else - { - // get instance of this factory from registry - instance_ptr_ = static_cast(SingletonRegistry::getFactory(myName)); - } - } - return instance_ptr_; - } - -public: - - /// return FactoryProduct according to unique identifier @p name - static FactoryProduct * create(const String & name) - { - - // unique lock (make sure we only create one instance) - // -> Since we may call Factory::create for another - // FactoryProduct during initialization, we have to implement locking - // per template class specialization. - static std::mutex factory_create_mutex; - std::lock_guard lock(factory_create_mutex); - - MapIterator it = instance_()->inventory_.find(name); - if (it != instance_()->inventory_.end()) - { - return (*(it->second))(); - } - else - { - throw Exception::InvalidValue(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION, "This FactoryProduct is not registered!", name.c_str()); - } - } - - /** - @brief register new concrete FactoryProduct - - @param name unique name for concrete FactoryProduct - @param creator default constructor for concrete FactoryProduct - */ - static void registerProduct(const String & name, const FunctionType creator) - { - instance_()->inventory_[name] = creator; - } - - /// Returns if a factory product is registered - static bool isRegistered(const String & name) - { - if (instance_()->inventory_.find(name) != instance_()->inventory_.end()) - { - return true; - } - return false; - } - - /// Returns a list of registered products - static std::vector registeredProducts() - { - std::vector list; - for (MapIterator it = instance_()->inventory_.begin(); it != instance_()->inventory_.end(); ++it) - { - list.push_back(it->first); - } - return list; - } - -private: - - Map inventory_; - static Factory * instance_ptr_; - }; - - template - Factory * Factory::instance_ptr_ = nullptr; - -} diff --git a/src/openms/include/OpenMS/CONCEPT/FactoryBase.h b/src/openms/include/OpenMS/CONCEPT/FactoryBase.h deleted file mode 100644 index 63045583aeb..00000000000 --- a/src/openms/include/OpenMS/CONCEPT/FactoryBase.h +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright (c) 2002-present, The OpenMS Team -- EKU Tuebingen, ETH Zurich, and FU Berlin -// SPDX-License-Identifier: BSD-3-Clause -// -// -------------------------------------------------------------------------- -// $Maintainer: Chris Bielow $ -// $Authors: $ -// -------------------------------------------------------------------------- - -#pragma once - -#include - -namespace OpenMS -{ - /** - @brief Base class for Factory - - Just be able to use dynamic_cast on a pointer - - @ingroup Concept - */ - class OPENMS_DLLAPI FactoryBase - { -public: - /// destructor - virtual ~FactoryBase(){} - - }; - -} diff --git a/src/openms/include/OpenMS/CONCEPT/ProgressLogger.h b/src/openms/include/OpenMS/CONCEPT/ProgressLogger.h index 5aaf945ed42..c5062b11b35 100644 --- a/src/openms/include/OpenMS/CONCEPT/ProgressLogger.h +++ b/src/openms/include/OpenMS/CONCEPT/ProgressLogger.h @@ -62,7 +62,7 @@ namespace OpenMS virtual ~ProgressLoggerImpl() {} /// Factory requirements - static void registerChildren(); + }; @@ -72,6 +72,10 @@ namespace OpenMS /// Returns the type of progress log being used. LogType getLogType() const; + /// @brief Sets the logger to be used for progress logging + /// @param logger + void setLogger(ProgressLoggerImpl* logger); + /** @brief Initializes the progress display @@ -100,12 +104,13 @@ namespace OpenMS mutable time_t last_invoke_; static int recursion_depth_; - /// Return the name of the factory product used for this log type - static String logTypeToFactoryName_(LogType type); - mutable ProgressLoggerImpl* current_logger_; }; + // Function pointer for injecting the GUI progress logger implementation + typedef ProgressLogger::ProgressLoggerImpl* (*MakeGUIProgressLoggerFunc)(); + extern OPENMS_DLLAPI MakeGUIProgressLoggerFunc make_gui_progress_logger; + } // namespace OpenMS diff --git a/src/openms/include/OpenMS/CONCEPT/SingletonRegistry.h b/src/openms/include/OpenMS/CONCEPT/SingletonRegistry.h deleted file mode 100644 index d8b94d6b2e3..00000000000 --- a/src/openms/include/OpenMS/CONCEPT/SingletonRegistry.h +++ /dev/null @@ -1,97 +0,0 @@ -// Copyright (c) 2002-present, The OpenMS Team -- EKU Tuebingen, ETH Zurich, and FU Berlin -// SPDX-License-Identifier: BSD-3-Clause -// -// -------------------------------------------------------------------------- -// $Maintainer: Chris Bielow $ -// $Authors: $ -// -------------------------------------------------------------------------- - -#pragma once - -#include -#include - -#include - -namespace OpenMS -{ - class String; - class FactoryBase; - - /** - @brief Holds pointers to unique instance of a singleton factory. - - @note: NEVER(!) include this file anywhere (except for the SingletonRegistry.cpp)! :D - - @ingroup Concept - */ - class OPENMS_DLLAPI SingletonRegistry - { - friend class singletonsNeedNoFriends; //some versions of gcc would warn otherwise - -private: - /// Function signature of creator function - typedef std::map Map; - typedef Map::const_iterator MapIterator; - - /// destructor - virtual ~SingletonRegistry(){} - - /// C'Tor - SingletonRegistry(){} - - /// singleton access to SingletonRegistry - static SingletonRegistry * instance_() - { - if (!singletonRegistryInstance_) - { - singletonRegistryInstance_ = new SingletonRegistry(); - } - return singletonRegistryInstance_; - } - -public: - - /// return DefaultParamHandler according to unique identifier @p name - static FactoryBase * getFactory(const String & name) - { - MapIterator it = instance_()->inventory_.find(name); - if (it != instance_()->inventory_.end()) - { - return it->second; - } - else - { - throw Exception::InvalidValue(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION, "This Factory is not registered with SingletonRegistry!", name.c_str()); - } - } - - /** - @brief register new concrete Factory - - \param name unique name for Factory of certain type - \param instance pointer to this Factory - */ - static void registerFactory(const String & name, FactoryBase * instance) - { - instance_()->inventory_[name] = instance; - } - - /// Returns if a factory is registered - static bool isRegistered(String name) - { - if (instance_()->inventory_.find(name) != instance_()->inventory_.end()) - { - return true; - } - return false; - } - -private: - - Map inventory_; - static SingletonRegistry * singletonRegistryInstance_; - }; - - -} diff --git a/src/openms/include/OpenMS/CONCEPT/Types.h b/src/openms/include/OpenMS/CONCEPT/Types.h index 6bff6fe075e..1dca3483a09 100644 --- a/src/openms/include/OpenMS/CONCEPT/Types.h +++ b/src/openms/include/OpenMS/CONCEPT/Types.h @@ -14,11 +14,7 @@ #include // for size_t & ptrdiff_t #include -// If possible use the ISO C99-compliant header stdint.h -// to define the portable integer types. -#ifdef OPENMS_HAS_STDINT_H -#include -#endif +#include // since C++11 namespace OpenMS { @@ -27,28 +23,28 @@ namespace OpenMS @ingroup Concept */ - typedef OPENMS_INT32_TYPE Int32; + typedef int32_t Int32; /** @brief Unsigned integer type (32bit) @ingroup Concept */ - typedef OPENMS_UINT32_TYPE UInt32; + typedef uint32_t UInt32; /** @brief Signed integer type (64bit) @ingroup Concept */ - typedef OPENMS_INT64_TYPE Int64; + typedef int64_t Int64; /** @brief Unsigned integer type (64bit) @ingroup Concept */ - typedef OPENMS_UINT64_TYPE UInt64; + typedef uint64_t UInt64; /** @brief Time type @@ -82,7 +78,7 @@ namespace OpenMS @ingroup Concept */ - typedef OPENMS_BYTE_TYPE Byte; + typedef uint8_t Byte; /** @brief A unique object ID (as unsigned 64bit type). @@ -91,7 +87,7 @@ namespace OpenMS @ingroup Concept */ - typedef OPENMS_UINT64_TYPE UID; + typedef uint64_t UID; /** @brief Size type e.g. used as variable which can hold result of size() diff --git a/src/openms/include/OpenMS/CONCEPT/sources.cmake b/src/openms/include/OpenMS/CONCEPT/sources.cmake index 0bcf02ef51c..4e1428a2b61 100644 --- a/src/openms/include/OpenMS/CONCEPT/sources.cmake +++ b/src/openms/include/OpenMS/CONCEPT/sources.cmake @@ -9,8 +9,6 @@ CommonEnums.h Constants.h EnumHelpers.h Exception.h -Factory.h -FactoryBase.h FuzzyStringComparator.h GlobalExceptionHandler.h Helpers.h @@ -22,7 +20,6 @@ MacrosTest.h PrecisionWrapper.h ProgressLogger.h RAIICleanup.h -SingletonRegistry.h StreamHandler.h Types.h TypeAsString.h diff --git a/src/openms/include/OpenMS/DATASTRUCTURES/DPosition.h b/src/openms/include/OpenMS/DATASTRUCTURES/DPosition.h index 48e65c85ab9..51a88122225 100644 --- a/src/openms/include/OpenMS/DATASTRUCTURES/DPosition.h +++ b/src/openms/include/OpenMS/DATASTRUCTURES/DPosition.h @@ -330,7 +330,7 @@ namespace OpenMS } /// Returns the number of dimensions - static Size size() + constexpr static Size size() { return D; } diff --git a/src/openms/include/OpenMS/DATASTRUCTURES/DistanceMatrix.h b/src/openms/include/OpenMS/DATASTRUCTURES/DistanceMatrix.h index db122e84340..87a17d35cb7 100644 --- a/src/openms/include/OpenMS/DATASTRUCTURES/DistanceMatrix.h +++ b/src/openms/include/OpenMS/DATASTRUCTURES/DistanceMatrix.h @@ -8,11 +8,11 @@ #pragma once +#include +#include #include #include -#include #include - #include #include #include @@ -21,493 +21,455 @@ namespace OpenMS { - /** - @brief A two-dimensional distance matrix, similar to OpenMS::Matrix - - Similar to OpenMS::Matrix, but contains only elements above the main - diagonal, hence translating access with operator(,) for elements of above - the main diagonal to corresponding elements below the main diagonal and - returning 0 for requested elements in the main diagonal, since - self-distance is assumed to be 0. Keeps track of the minimal element in the - Matrix with OpenMS::DistanceMatrix::min_element_ if only for setting a - value OpenMS::DistanceMatrix::setValue is used. Other - OpenMS::DistanceMatrix altering methods may require a manual update by call - of OpenMS::DistanceMatrix::updateMinElement, see the respective methods - documentation. - - @ingroup Datastructures - */ - template - class DistanceMatrix - { +/** + @brief A two-dimensional distance matrix, similar to OpenMS::Matrix + + Similar to OpenMS::Matrix, but contains only elements above the main + diagonal, hence translating access with operator(,) for elements of above + the main diagonal to corresponding elements below the main diagonal and + returning 0 for requested elements in the main diagonal, since + self-distance is assumed to be 0. Keeps track of the minimal element in the + Matrix with OpenMS::DistanceMatrix::min_element_ if only for setting a + value OpenMS::DistanceMatrix::setValue is used. Other + OpenMS::DistanceMatrix altering methods may require a manual update by call + of OpenMS::DistanceMatrix::updateMinElement, see the respective methods + documentation. + + @ingroup Datastructures +*/ +template +class DistanceMatrix +{ public: + ///@name STL compliance type definitions + //@{ + typedef Value value_type; + //@} - ///@name STL compliance type definitions - //@{ - typedef Value value_type; - //@} - - ///@name OpenMS compliance type definitions - //@{ - typedef Size SizeType; - typedef value_type ValueType; - //@} + ///@name OpenMS compliance type definitions + //@{ + typedef Size SizeType; + typedef value_type ValueType; + //@} - /** @brief default constructor + /** @brief default constructor - */ - DistanceMatrix() : - matrix_(nullptr), init_size_(0), dimensionsize_(0), min_element_(0, 0) - { - } + */ + DistanceMatrix(): matrix_(nullptr), init_size_(0), dimensionsize_(0), min_element_(0, 0) + { + } - /** - @brief detailed constructor + /** + @brief detailed constructor - @param dimensionsize the number of rows (and therewith cols) - @param value DistanceMatrix will be filled with this element (main diagonal will still "hold" only zeros) - @throw Exception::OutOfMemory if requested dimensionsize is to big to fit into memory - */ - DistanceMatrix(SizeType dimensionsize, Value value = Value()) : - matrix_(new ValueType*[dimensionsize]), init_size_(dimensionsize), dimensionsize_(dimensionsize), min_element_(0, 0) + @param dimensionsize the number of rows (and therewith cols) + @param value DistanceMatrix will be filled with this element (main diagonal will still "hold" only zeros) + @throw Exception::OutOfMemory if requested dimensionsize is to big to fit into memory + */ + DistanceMatrix(SizeType dimensionsize, Value value = Value()): + matrix_(new ValueType*[dimensionsize]), + init_size_(dimensionsize), + dimensionsize_(dimensionsize), + min_element_(0, 0) + { + matrix_[0] = NULL; + SizeType i = 1; + for (i = 1; i < dimensionsize; ++i) { - matrix_[0] = NULL; - SizeType i = 1; - for (i = 1; i < dimensionsize; ++i) + matrix_[i] = new ValueType[i]; + if (matrix_[i] == NULL) { - matrix_[i] = new ValueType[i]; - if (matrix_[i] == NULL) + SizeType j = i; + for (i = 1; i < j; i++) { - SizeType j = i; - for (i = 1; i < j; i++) - { - delete[] matrix_[i]; - } - delete[] matrix_; - matrix_ = NULL; - dimensionsize_ = 0; - init_size_ = 0; - throw Exception::OutOfMemory(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION, (UInt)((((dimensionsize - 2) * (dimensionsize - 1)) / 2) * sizeof(ValueType))); + delete[] matrix_[i]; } + delete[] matrix_; + matrix_ = NULL; + dimensionsize_ = 0; + init_size_ = 0; + throw Exception::OutOfMemory(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION, + (UInt)((((dimensionsize - 2) * (dimensionsize - 1)) / 2) * sizeof(ValueType))); } - if (matrix_ != NULL) + } + if (matrix_ != NULL) + { + for (i = 1; i < dimensionsize; ++i) { - for (i = 1; i < dimensionsize; ++i) + for (SizeType j = 0; j < i; ++j) { - for (SizeType j = 0; j < i; ++j) - { - matrix_[i][j] = value; - } + matrix_[i][j] = value; } - min_element_ = std::make_pair(1, 0); } + min_element_ = std::make_pair(1, 0); } + } - /** - @brief copy constructor + /** + @brief copy constructor - @param source this DistanceMatrix will be copied - @throw Exception::OutOfMemory if requested dimensionsize is to big to fit into memory - */ - DistanceMatrix(const DistanceMatrix& source) : + @param source this DistanceMatrix will be copied + @throw Exception::OutOfMemory if requested dimensionsize is to big to fit into memory + */ + DistanceMatrix(const DistanceMatrix& source): matrix_(new ValueType*[source.dimensionsize_]), init_size_(source.dimensionsize_), dimensionsize_(source.dimensionsize_), min_element_(source.min_element_) + { + matrix_[0] = NULL; + SizeType i = 1; + for (i = 1; i < dimensionsize_; ++i) { - matrix_[0] = NULL; - SizeType i = 1; - for (i = 1; i < dimensionsize_; ++i) - { - matrix_[i] = new ValueType[i]; - if (matrix_[i] == NULL) - { - SizeType j = i; - for (i = 1; i < j; i++) - { - delete[] matrix_[i]; - } - delete[] matrix_; - matrix_ = NULL; - dimensionsize_ = 0; - init_size_ = 0; - min_element_ = std::make_pair(0, 0); - throw Exception::OutOfMemory(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION, (UInt)((((dimensionsize_ - 2) * (dimensionsize_ - 1)) / 2) * sizeof(ValueType))); - } - } - if (matrix_ != NULL) + matrix_[i] = new ValueType[i]; + if (matrix_[i] == NULL) { - for (i = 1; i < dimensionsize_; ++i) + SizeType j = i; + for (i = 1; i < j; i++) { - std::copy(source.matrix_[i], source.matrix_[i] + i, matrix_[i]); + delete[] matrix_[i]; } + delete[] matrix_; + matrix_ = NULL; + dimensionsize_ = 0; + init_size_ = 0; + min_element_ = std::make_pair(0, 0); + throw Exception::OutOfMemory(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION, + (UInt)((((dimensionsize_ - 2) * (dimensionsize_ - 1)) / 2) * sizeof(ValueType))); } } - - /// destructor - ~DistanceMatrix() + if (matrix_ != NULL) { - for (SizeType i = 1; i < init_size_; i++) + for (i = 1; i < dimensionsize_; ++i) { - delete[] matrix_[i]; + std::copy(source.matrix_[i], source.matrix_[i] + i, matrix_[i]); } - delete[] matrix_; } + } - /** - @brief gets a value at a given position (read only): - - @param i the i-th row - @param j the j-th col - */ - const ValueType operator()(SizeType i, SizeType j) const + /// destructor + ~DistanceMatrix() + { + for (SizeType i = 1; i < init_size_; i++) { - return getValue(i, j); + delete[] matrix_[i]; } + delete[] matrix_; + } - /** - @brief gets a value at a given position (read only): + /** + @brief gets a value at a given position (read only): - @param i the i-th row - @param j the j-th col - */ - ValueType operator()(SizeType i, SizeType j) - { - return getValue(i, j); - } + @param i the i-th row + @param j the j-th col + */ + const ValueType operator()(SizeType i, SizeType j) const + { + return getValue(i, j); + } - /** - @brief gets a value at a given position: + /** + @brief gets a value at a given position (read only): - @param i the i-th row - @param j the j-th col - @throw Exception::OutOfRange if given coordinates are out of range - */ - const ValueType getValue(SizeType i, SizeType j) const - { - if (i >= dimensionsize_ || j >= dimensionsize_) - { - throw Exception::OutOfRange(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION); - } - // elements on main diagonal are not stored and assumed to be 0 - if (i == j) - { - return 0; - } - if (i < j) - { - std::swap(i, j); - } - return (const ValueType)(matrix_[i][j]); - } + @param i the i-th row + @param j the j-th col + */ + ValueType operator()(SizeType i, SizeType j) + { + return getValue(i, j); + } - /** - @brief gets a value at a given position: + /** + @brief gets a value at a given position: - @param i the i-th row - @param j the j-th col - @throw Exception::OutOfRange if given coordinates are out of range - */ - ValueType getValue(SizeType i, SizeType j) - { - if (i >= dimensionsize_ || j >= dimensionsize_) - { - throw Exception::OutOfRange(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION); - } - // elements on main diagonal are not stored and assumed to be 0 - if (i == j) - { - return 0; - } - if (i < j) - { - std::swap(i, j); - } - return matrix_[i][j]; - } + @param i the i-th row + @param j the j-th col + @throw Exception::OutOfRange if given coordinates are out of range + */ + const ValueType getValue(SizeType i, SizeType j) const + { + if (i >= dimensionsize_ || j >= dimensionsize_) { throw Exception::OutOfRange(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION); } + // elements on main diagonal are not stored and assumed to be 0 + if (i == j) { return 0; } + if (i < j) { std::swap(i, j); } + return (const ValueType)(matrix_[i][j]); + } + + /** + @brief gets a value at a given position: - /** - @brief sets a value at a given position: + @param i the i-th row + @param j the j-th col + @throw Exception::OutOfRange if given coordinates are out of range + */ + ValueType getValue(SizeType i, SizeType j) + { + if (i >= dimensionsize_ || j >= dimensionsize_) { throw Exception::OutOfRange(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION); } + // elements on main diagonal are not stored and assumed to be 0 + if (i == j) { return 0; } + if (i < j) { std::swap(i, j); } + return matrix_[i][j]; + } + + /** + @brief sets a value at a given position: - @param i the i-th row - @param j the j-th col - @param value the set-value - @throw Exception::OutOfRange if given coordinates are out of range - */ - void setValue(SizeType i, SizeType j, ValueType value) + @param i the i-th row + @param j the j-th col + @param value the set-value + @throw Exception::OutOfRange if given coordinates are out of range + */ + void setValue(SizeType i, SizeType j, ValueType value) + { + if (i >= dimensionsize_ || j >= dimensionsize_) { throw Exception::OutOfRange(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION); } + // elements on main diagonal are not stored and assumed to be 0 + if (i != j) { - if (i >= dimensionsize_ || j >= dimensionsize_) + if (i < j) { std::swap(i, j); } + if (i != min_element_.first && j != min_element_.second) { - throw Exception::OutOfRange(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION); - } - // elements on main diagonal are not stored and assumed to be 0 - if (i != j) - { - if (i < j) - { - std::swap(i, j); - } - if (i != min_element_.first && j != min_element_.second) + matrix_[i][j] = value; + if (value < matrix_[min_element_.first][min_element_.second]) // keep min_element_ up-to-date { - matrix_[i][j] = value; - if (value < matrix_[min_element_.first][min_element_.second]) // keep min_element_ up-to-date - { - min_element_ = std::make_pair(i, j); - } + min_element_ = std::make_pair(i, j); } + } + else + { + if (value <= matrix_[min_element_.first][min_element_.second]) { matrix_[i][j] = value; } else { - if (value <= matrix_[min_element_.first][min_element_.second]) - { - matrix_[i][j] = value; - } - else - { - matrix_[i][j] = value; - updateMinElement(); - } + matrix_[i][j] = value; + updateMinElement(); } } } + } - /** - @brief sets a value at a given position: + /** + @brief sets a value at a given position: - @param i the i-th row - @param j the j-th col - @param value the set-value - @throw Exception::OutOfRange if given coordinates are out of range + @param i the i-th row + @param j the j-th col + @param value the set-value + @throw Exception::OutOfRange if given coordinates are out of range - possible invalidation of min_element_ - make sure to update before further usage of matrix - */ - void setValueQuick(SizeType i, SizeType j, ValueType value) + possible invalidation of min_element_ - make sure to update before further usage of matrix + */ + void setValueQuick(SizeType i, SizeType j, ValueType value) + { + if (i >= dimensionsize_ || j >= dimensionsize_) { throw Exception::OutOfRange(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION); } + // elements on main diagonal are not stored and assumed to be 0 + if (i != j) { - if (i >= dimensionsize_ || j >= dimensionsize_) - { - throw Exception::OutOfRange(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION); - } - // elements on main diagonal are not stored and assumed to be 0 - if (i != j) - { - if (i < j) - { - std::swap(i, j); - } - matrix_[i][j] = value; - } + if (i < j) { std::swap(i, j); } + matrix_[i][j] = value; } + } - /// reset all - void clear() + /// reset all + void clear() + { + for (SizeType i = 1; i < init_size_; i++) { - for (SizeType i = 1; i < init_size_; i++) - { - delete[] matrix_[i]; - } - delete[] matrix_; - matrix_ = nullptr; - min_element_ = std::make_pair(0, 0); - dimensionsize_ = 0; - init_size_ = 0; + delete[] matrix_[i]; } + delete[] matrix_; + matrix_ = nullptr; + min_element_ = std::make_pair(0, 0); + dimensionsize_ = 0; + init_size_ = 0; + } - /** - @brief resizing the container + /** + @brief resizing the container - @param dimensionsize the desired number of rows (and therewith cols) - @param value which the matrix will be filled with - @throw Exception::OutOfMemory thrown if size of DistanceMatrix requested does not fit into memory + @param dimensionsize the desired number of rows (and therewith cols) + @param value which the matrix will be filled with + @throw Exception::OutOfMemory thrown if size of DistanceMatrix requested does not fit into memory - invalidates all content - */ - void resize(SizeType dimensionsize, Value value = Value()) + invalidates all content + */ + void resize(SizeType dimensionsize, Value value = Value()) + { + for (SizeType j = 1; j < init_size_; j++) { - for (SizeType j = 1; j < init_size_; j++) - { - delete[] matrix_[j]; - } - delete[] matrix_; - dimensionsize_ = dimensionsize; - init_size_ = dimensionsize; - min_element_ = std::make_pair(0, 0); - matrix_ = new ValueType*[dimensionsize_]; - for (SizeType j = 1; j < dimensionsize_; ++j) + delete[] matrix_[j]; + } + delete[] matrix_; + dimensionsize_ = dimensionsize; + init_size_ = dimensionsize; + min_element_ = std::make_pair(0, 0); + matrix_ = new ValueType*[dimensionsize_]; + for (SizeType j = 1; j < dimensionsize_; ++j) + { + matrix_[j] = new ValueType[j]; + if (matrix_[j] == nullptr) { - matrix_[j] = new ValueType[j]; - if (matrix_[j] == nullptr) + for (SizeType k = 1; k < j; ++k) { - for (SizeType k = 1; k < j; ++k) - { - delete[] matrix_[k]; - } - delete[] matrix_; - matrix_ = nullptr; - dimensionsize_ = 0; - init_size_ = 0; - throw Exception::OutOfMemory(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION, (UInt)((((dimensionsize_ - 2) * (dimensionsize_ - 1)) / 2) * sizeof(Value))); + delete[] matrix_[k]; } + delete[] matrix_; + matrix_ = nullptr; + dimensionsize_ = 0; + init_size_ = 0; + throw Exception::OutOfMemory(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION, + (UInt)((((dimensionsize_ - 2) * (dimensionsize_ - 1)) / 2) * sizeof(Value))); } - if (matrix_ != nullptr) + } + if (matrix_ != nullptr) + { + for (SizeType j = 0; j < dimensionsize; ++j) { - for (SizeType j = 0; j < dimensionsize; ++j) + for (SizeType k = 0; k < j; ++k) { - for (SizeType k = 0; k < j; ++k) - { - matrix_[j][k] = value; - } + matrix_[j][k] = value; } - min_element_ = std::make_pair(1, 0); } + min_element_ = std::make_pair(1, 0); } + } - /** - @brief reduces DistanceMatrix by one dimension. first the jth row, then jth column + /** + @brief reduces DistanceMatrix by one dimension. first the jth row, then jth column - @param j the jth row (and therewith also jth col) to be removed - @throw Exception::OutOfRange if @p j is grater than the greatest row number + @param j the jth row (and therewith also jth col) to be removed + @throw Exception::OutOfRange if @p j is grater than the greatest row number - May invalidates min_element_, make sure to update min_element_ if necessary before used - */ - void reduce(SizeType j) + May invalidates min_element_, make sure to update min_element_ if necessary before used + */ + void reduce(SizeType j) + { + if (j >= dimensionsize_) { throw Exception::OutOfRange(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION); } + // delete row j and therefor overwrite with row j+1 and iterate like this to last row + SizeType i = j + 1; + while (i < dimensionsize_ && matrix_[i] != nullptr) { - if (j >= dimensionsize_) - { - throw Exception::OutOfRange(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION); - } - //delete row j and therefor overwrite with row j+1 and iterate like this to last row - SizeType i = j + 1; - while (i < dimensionsize_ && matrix_[i] != nullptr) - { - //left out in the copy is each rows jth element, pointer working here as iterators just fine - std::copy(matrix_[i] + j + 1, matrix_[i] + i, std::copy(matrix_[i], matrix_[i] + j, matrix_[i - 1])); - ++i; - } - //last row is freed and the pointer set to NULL (outer array's size is not changed) - delete[] matrix_[i - 1]; - matrix_[i - 1] = nullptr; - --dimensionsize_; + // left out in the copy is each rows jth element, pointer working here as iterators just fine + std::copy(matrix_[i] + j + 1, matrix_[i] + i, std::copy(matrix_[i], matrix_[i] + j, matrix_[i - 1])); + ++i; } + // last row is freed and the pointer set to NULL (outer array's size is not changed) + delete[] matrix_[i - 1]; + matrix_[i - 1] = nullptr; + --dimensionsize_; + } - /// gives the number of rows (i.e. number of columns) - SizeType dimensionsize() const - { - return dimensionsize_; - } + /// gives the number of rows (i.e. number of columns) + SizeType dimensionsize() const + { + return dimensionsize_; + } - /** - @brief keep track of the actual minimum element after altering the matrix + /** + @brief keep track of the actual minimum element after altering the matrix - @throw Exception::OutOfRange thrown if there is no element to access - */ - void updateMinElement() + @throw Exception::OutOfRange thrown if there is no element to access + */ + void updateMinElement() + { + min_element_ = std::make_pair(1, 0); + // error if dimensionsize_<1, return if dimensionsize_ == 1, else + if (dimensionsize_ < 1) { throw Exception::OutOfRange(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION); } + if (dimensionsize_ != 1) // else matrix has one element: (1,0) { - min_element_ = std::make_pair(1, 0); - //error if dimensionsize_<1, return if dimensionsize_ == 1, else - if (dimensionsize_ < 1) - { - throw Exception::OutOfRange(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION); - } - if (dimensionsize_ != 1) //else matrix has one element: (1,0) + ValueType* row_min_; + for (SizeType r = 2; r < dimensionsize_ && matrix_[r] != nullptr; ++r) { - ValueType* row_min_; - for (SizeType r = 2; r < dimensionsize_ && matrix_[r] != nullptr; ++r) - { - row_min_ = std::min_element(matrix_[r], matrix_[r] + r); - if (*row_min_ < matrix_[min_element_.first][min_element_.second]) - { - min_element_ = std::make_pair(r, row_min_ - matrix_[r]); - } - } + row_min_ = std::min_element(matrix_[r], matrix_[r] + r); + if (*row_min_ < matrix_[min_element_.first][min_element_.second]) { min_element_ = std::make_pair(r, row_min_ - matrix_[r]); } } } + } - /** - @brief Equality comparator. + /** + @brief Equality comparator. - @throw Exception::Precondition thrown if given DistanceMatrix is not compatible in size - */ - bool operator==(DistanceMatrix const& rhs) const + @throw Exception::Precondition thrown if given DistanceMatrix is not compatible in size + */ + bool operator==(DistanceMatrix const& rhs) const + { + OPENMS_PRECONDITION(dimensionsize_ == rhs.dimensionsize_, "DistanceMatrices have different sizes."); + for (Size i = 1; i < rhs.dimensionsize(); ++i) { - OPENMS_PRECONDITION(dimensionsize_ == rhs.dimensionsize_, "DistanceMatrices have different sizes."); - for (Size i = 1; i < rhs.dimensionsize(); ++i) + for (Size j = 0; j < i; ++j) { - for (Size j = 0; j < i; ++j) - { - if (matrix_[i][j] != rhs.matrix_[i][j]) - { - return false; - } - } + if (matrix_[i][j] != rhs.matrix_[i][j]) { return false; } } - return true; } + return true; + } - /** - @brief Indexpair of minimal element + /** + @brief Indexpair of minimal element - @throw Exception::OutOfRange thrown if there is no element to access - */ - std::pair getMinElementCoordinates() const - { - if (dimensionsize_ == 0) - { - throw Exception::OutOfRange(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION); - } - return min_element_; - } + @throw Exception::OutOfRange thrown if there is no element to access + */ + std::pair getMinElementCoordinates() const + { + if (dimensionsize_ == 0) { throw Exception::OutOfRange(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION); } + return min_element_; + } protected: - /// sparse element not to be included in base container - ValueType** matrix_; - /// number of actually stored rows - SizeType init_size_; // actual size of outer array - /// number of accessibly stored rows (i.e. number of columns) - SizeType dimensionsize_; //number of virtual elements: ((dimensionsize-1)*(dimensionsize))/2 - /// index of minimal element(i.e. number in underlying SparseVector) - std::pair min_element_; + /// sparse element not to be included in base container + ValueType** matrix_; + /// number of actually stored rows + SizeType init_size_; // actual size of outer array + /// number of accessibly stored rows (i.e. number of columns) + SizeType dimensionsize_; // number of virtual elements: ((dimensionsize-1)*(dimensionsize))/2 + /// index of minimal element(i.e. number in underlying SparseVector) + std::pair min_element_; private: - /// assignment operator (unsafe) - DistanceMatrix& operator=(const DistanceMatrix& rhs) - { - matrix_ = rhs.matrix_; - init_size_ = rhs.init_size_; - dimensionsize_ = rhs.dimensionsize_; - min_element_ = rhs.min_element_; + /// assignment operator (unsafe) + DistanceMatrix& operator=(const DistanceMatrix& rhs) + { + matrix_ = rhs.matrix_; + init_size_ = rhs.init_size_; + dimensionsize_ = rhs.dimensionsize_; + min_element_ = rhs.min_element_; - return *this; - } + return *this; + } - }; // class DistanceMatrix +}; // class DistanceMatrix - /** - @brief Print the contents to a stream. +/** + @brief Print the contents to a stream (and colors the diagonal, if the stream is cout/cerr) - @relatesalso DistanceMatrix - */ - template - std::ostream& operator<<(std::ostream& os, const DistanceMatrix& matrix) - { - typedef typename DistanceMatrix::SizeType SizeType; + @relatesalso DistanceMatrix +*/ +template +std::ostream& operator<<(std::ostream& os, const DistanceMatrix& matrix) +{ + using SizeType = typename DistanceMatrix::SizeType; - std::ios_base::fmtflags flag_backup = os.setf(std::ios::scientific); - std::streamsize precision_backup = os.precision(); - //~ os.precision(15); - os.precision(writtenDigits(0.0)); // #include + // we need to print a square matrix. So we set the width + //std::ios_base::fmtflags flag_backup = os.setf(std::ios::scientific); // 'scientific' messes with the width; don't do it + std::streamsize precision_backup = os.precision(6); // we could go with `writtenDigits(Value())`, but it becomes unreadable... + auto width_backup = os.width(8); - //evtl. color lower triangular matrix o.s.l.t. - for (SizeType i = 0; i < matrix.dimensionsize(); ++i) + for (SizeType i = 0; i < matrix.dimensionsize(); ++i) + { + for (SizeType j = 0; j < matrix.dimensionsize(); ++j) { - for (SizeType j = 0; j < matrix.dimensionsize(); ++j) + if (i == j) + { // color the diagonal in red (conditional, see Colorizer) + os << red(matrix(i, j)) << '\t'; + } + else { os << matrix(i, j) << '\t'; } - os << std::endl; } - os.flags(flag_backup); - os.precision(precision_backup); - return os; + os << '\n'; } + //os.flags(flag_backup); + os.precision(precision_backup); + os.width(width_backup); + return os; +} } // namespace OpenMS - diff --git a/src/openms/include/OpenMS/DATASTRUCTURES/Matrix.h b/src/openms/include/OpenMS/DATASTRUCTURES/Matrix.h index c458a67b51a..81d034c0ec7 100644 --- a/src/openms/include/OpenMS/DATASTRUCTURES/Matrix.h +++ b/src/openms/include/OpenMS/DATASTRUCTURES/Matrix.h @@ -3,376 +3,193 @@ // // -------------------------------------------------------------------------- // $Maintainer: Timo Sachsenberg $ -// $Authors: $ +// $Authors: Timo Sachsenberg $ // -------------------------------------------------------------------------- #pragma once #include -#include // pow() -#include -#include +#include + +#include #include +#include namespace OpenMS { - - /** - @brief A two-dimensional matrix. Similar to std::vector, but uses a binary - operator(,) for element access. - - Think of it as a random access container. You can also generate gray - scale images. This data structure is not designed to be used for linear algebra, - but rather a simple two-dimensional array. - - The following member functions of the base class std::vector - can also be used: - -
      -
    • begin
    • -
    • end
    • -
    • rbegin
    • -
    • rend
    • -
    • front
    • -
    • back
    • -
    • assign
    • -
    • empty
    • -
    • size
    • -
    • capacity
    • -
    • max_size
    • -
    - - @ingroup Datastructures - */ + /** + * @brief A class representing a thin wrapper around an Eigen matrix. + * + * The Matrix class provides functionality for creating, manipulating, and accessing matrices. + * It is implemented using the Eigen library and supports various operations such as resizing, clearing, + * accessing elements, setting values, and comparing matrices. + * + * @ingroup Datastructures + */ template - class Matrix : - protected std::vector + class Matrix : public Eigen::Matrix { -protected: - typedef std::vector Base; - -public: - - ///@name STL compliance type definitions - //@{ - typedef Base container_type; - - typedef typename Base::difference_type difference_type; - typedef typename Base::size_type size_type; - - typedef typename Base::const_iterator const_iterator; - typedef typename Base::const_reverse_iterator const_reverse_iterator; - typedef typename Base::iterator iterator; - typedef typename Base::reverse_iterator reverse_iterator; - - typedef typename Base::const_reference const_reference; - typedef typename Base::pointer pointer; - typedef typename Base::reference reference; - typedef typename Base::value_type value_type; - - typedef typename Base::allocator_type allocator_type; - //@} - - ///@name OpenMS compliance type definitions - //@{ - typedef Base ContainerType; - typedef difference_type DifferenceType; - typedef size_type SizeType; - - typedef const_iterator ConstIterator; - typedef const_reverse_iterator ConstReverseIterator; - typedef iterator Iterator; - typedef reverse_iterator ReverseIterator; - - typedef const_reference ConstReference; - typedef pointer Pointer; - typedef reference Reference; - typedef value_type ValueType; - - typedef allocator_type AllocatorType; - //@} - - ///@name Constructors, assignment, and destructor - //@{ - Matrix() : - Base(), - rows_(0), - cols_(0) - {} - - Matrix(const SizeType rows, const SizeType cols, ValueType value = ValueType()) : - Base(rows * cols, value), - rows_(rows), - cols_(cols) - {} - - Matrix(const Matrix& source) : - Base(source), - rows_(source.rows_), - cols_(source.cols_) - {} - - Matrix& operator=(const Matrix& rhs) - { - Base::operator=(rhs); - rows_ = rhs.rows_; - cols_ = rhs.cols_; - return *this; - } - - ~Matrix() {} - //@} - - ///@name Accessors - //@{ - const_reference operator()(size_type const i, size_type const j) const - { - return getValue(i, j); - } - - reference operator()(size_type const i, size_type const j) - { - return getValue(i, j); - } - - const_reference getValue(size_type const i, size_type const j) const - { - return Base::operator[](index(i, j)); - } - - reference getValue(size_type const i, size_type const j) - { - return Base::operator[](index(i, j)); - } - - void setValue(size_type const i, size_type const j, value_type value) - { - Base::operator[](index(i, j)) = value; - } - - /// Return the i-th row of the matrix as a vector. - container_type row(size_type const i) const - { -#ifdef OPENMS_DEBUG - if (i >= rows_) throw Exception::IndexOverflow(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION, i, rows_); -#endif - container_type values(cols_); - for (size_type j = 0; j < cols_; j++) - { - values[j] = Base::operator[](index(i, j)); - } - return values; - } - - /// Return the i-th column of the matrix as a vector. - container_type col(size_type const i) const - { -#ifdef OPENMS_DEBUG - if (i >= cols_) throw Exception::IndexOverflow(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION, i, cols_); -#endif - container_type values(rows_); - for (size_type j = 0; j < rows_; j++) - { - values[j] = Base::operator[](index(j, i)); - } - return values; - } - - //@} - - + public: /** - @name Pure access declarations + * @brief Eigen matrix type. + */ + using EigenMatrixType = Eigen::Matrix; + using EigenMatrixType::fill; + using EigenMatrixType::innerStride; + using EigenMatrixType::outerStride; - These make begin(), end() etc. from container_type accessible. - */ - //@{ -public: + // Default constructor. Creates the "null" matrix. + Matrix() = default; - using Base::begin; - using Base::end; - using Base::rbegin; - using Base::rend; + // Destructor + ~Matrix() = default; - using Base::front; - using Base::back; - using Base::assign; + // Copy constructor + Matrix(const Matrix& other) = default; - using Base::empty; - using Base::size; + // Copy assignment operator + Matrix& operator=(const Matrix& other) = default; - using Base::capacity; - using Base::max_size; + // Move constructor + Matrix(Matrix&& other) noexcept = default; - //@} + // Move assignment operator + Matrix& operator=(Matrix&& other) noexcept = default; - void clear() + /** + * @brief Constructor to create a matrix with specified dimensions and fill value. + * + * @param rows Number of rows in the matrix. + * @param cols Number of columns in the matrix. + * @param value Initial value to fill the matrix. + */ + Matrix(Size rows, Size cols, Value value = Value()) : EigenMatrixType(rows, cols) { - Base::clear(); - rows_ = 0; - cols_ = 0; + fill(value); } - void resize(size_type i, size_type j, value_type value = value_type()) + /* + @brief get matrix entry + Note: pyOpenMS can't easily wrap operator() so we provide additional getter / setter. + */ + const Value& getValue(size_t const i, size_t const j) const { - rows_ = i; - cols_ = j; - Base::resize(rows_ * cols_, value); + return *this(i, j); } - void resize(std::pair const& size_pair, value_type value = value_type()) + /* + @brief get matrix entry + Note: pyOpenMS can't easily wrap operator() so we provide additional getter / setter. + */ + Value& getValue(size_t const i, size_t const j) { - rows_ = size_pair.first; - cols_ = size_pair.second; - Base::resize(rows_ * cols_, value); - } + return this->operator()(i, j); + } - /// Number of rows - SizeType rows() const + /* + @brief set matrix entry + Note: pyOpenMS can't easily wrap operator() so we provide additional getter / setter. + */ + void setValue(size_t const i, size_t const j, const Value& value) { - return rows_; + this->operator()(i, j) = value; } - /// Number of columns - SizeType cols() const + // apparently needed for cython + void resize(size_t rows, size_t cols) { - return cols_; + EigenMatrixType::resize(rows, cols); } - std::pair sizePair() const + int innerStride() const { - return std::pair(rows_, cols_); + return EigenMatrixType::innerStride(); } - /** - @brief Calculate the index into the underlying vector from row and column. - Note that Matrix uses the (row,column) lexicographic ordering for indexing. - */ - SizeType const index(SizeType row, SizeType col) const + int outerStride() const { -#ifdef OPENMS_DEBUG - if (row >= rows_) throw Exception::IndexOverflow(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION, row, rows_); - if (col >= cols_) throw Exception::IndexOverflow(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION, col, cols_); -#endif - return row * cols_ + col; + return EigenMatrixType::outerStride(); } - /** - @brief Calculate the row and column from an index into the underlying vector. - Note that Matrix uses the (row,column) lexicographic ordering for indexing. - */ - std::pair const indexPair(Size index) const - { -#ifdef OPENMS_DEBUG - if (index >= size()) throw Exception::IndexOverflow(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION, index, size() - 1); -#endif - return std::pair(index / cols_, index % cols_); - } - - /** - @brief Calculate the column from an index into the underlying vector. - Note that Matrix uses the (row,column) lexicographic ordering for indexing. - */ - SizeType colIndex(SizeType index) const + bool rowMajor() const { -#ifdef OPENMS_DEBUG - if (index >= size()) throw Exception::IndexOverflow(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION, index, size() - 1); -#endif - return index % cols_; + return EigenMatrixType::IsRowMajor; } /** - @brief Calculate the row from an index into the underlying vector. - Note that Matrix uses the (row,column) lexicographic ordering for indexing. - */ - SizeType rowIndex(SizeType index) const + * @brief Sets the matrix values using a 2D array. + * + * This function resizes the matrix to the specified number of rows and columns, + * and then assigns the values from the 2D array to the corresponding elements + * in the matrix. + * + * @tparam T The type of the matrix elements. + * @tparam ROWS The number of rows in the matrix. + * @tparam COLS The number of columns in the matrix. + * @param array The 2D array containing the values to be assigned to the matrix. + */ + template + void setMatrix(T const (&array)[ROWS][COLS]) { -#ifdef OPENMS_DEBUG - if (index >= size()) throw Exception::IndexOverflow(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION, index, size() - 1); -#endif - - return index / cols_; + resize(ROWS, COLS); + for (int i = 0; i < ROWS; ++i) + { + for (int j = 0; j < COLS; ++j) + { + this->operator()(i, j) = array[i][j]; + } + } } - + /** - @brief Equality comparator. - - If matrices have different row or column numbers, throws a precondition exception. - */ - bool operator==(Matrix const& rhs) const - { - OPENMS_PRECONDITION(cols_ == rhs.cols_, - "Matrices have different row sizes."); - OPENMS_PRECONDITION(rows_ == rhs.rows_, - "Matrices have different column sizes."); - return static_cast::Base const&>(*this) == static_cast::Base const&>(rhs); + * @brief Equality operator. Compares two matrices for equality. + * + * @param rhs The matrix to be compared. + * @return True if matrices are equal, false otherwise. + */ + bool operator==(const Matrix& rhs) const { + return EigenMatrixType::operator==(rhs); } /** - @brief Less-than comparator. Comparison is done lexicographically: first by row, then by column. - - If matrices have different row or column numbers, throws a precondition exception. - */ - bool operator<(Matrix const& rhs) const - { - OPENMS_PRECONDITION(cols_ == rhs.cols_, - "Matrices have different row sizes."); - OPENMS_PRECONDITION(rows_ == rhs.rows_, - "Matrices have different column sizes."); - return static_cast::Base const&>(*this) < static_cast::Base const&>(rhs); - } - - /// set matrix to 2D arrays values - template - void setMatrix(const ValueType matrix[ROWS][COLS]) - { - resize(ROWS, COLS); - for (SizeType i = 0; i < this->rows_; ++i) + * @brief Friend function to output the matrix to an output stream. + * + * @param os Output stream. + * @param matrix Matrix to be output. + * @return Reference to the output stream. + */ + friend std::ostream& operator<<(std::ostream& os, const Matrix& matrix) + { + for (long int i = 0; i < matrix.rows(); ++i) { - for (SizeType j = 0; j < this->cols_; ++j) + for (long int j = 0; j < matrix.cols(); ++j) { - setValue(i, j, matrix[i][j]); + os << std::setprecision(6) << std::setw(6) << matrix(i, j) << ' '; } + os << '\n'; } + return os; } - const Base& asVector() + /** + * @brief Get a const reference to the underlying Eigen matrix. + * + * @return Const reference to the Eigen matrix. + */ + const EigenMatrixType& getEigenMatrix() const { return *this; } -protected: - - ///@name Data members - //@{ - /// Number of rows (height of a column) - SizeType rows_; - /// Number of columns (width of a row) - SizeType cols_; - //@} - - }; // class Matrix - - /** - @brief Print the contents to a stream. - - @relatesalso Matrix - */ - template - std::ostream& operator<<(std::ostream& os, const Matrix& matrix) - { - typedef typename Matrix::size_type size_type; - for (size_type i = 0; i < matrix.rows(); ++i) + /** + * @brief Get a reference to the underlying Eigen matrix. + * + * @return reference to the Eigen matrix. + */ + EigenMatrixType& getEigenMatrix() { - for (size_type j = 0; j < matrix.cols(); ++j) - { - os << std::setprecision(6) << std::setw(6) << matrix(i, j) << ' '; - } - os << std::endl; + return *this; } - return os; - } - + }; } // namespace OpenMS - diff --git a/src/openms/include/OpenMS/DATASTRUCTURES/Utils/MatrixUtils.h b/src/openms/include/OpenMS/DATASTRUCTURES/Utils/MatrixUtils.h deleted file mode 100644 index 924d7c77b6d..00000000000 --- a/src/openms/include/OpenMS/DATASTRUCTURES/Utils/MatrixUtils.h +++ /dev/null @@ -1,58 +0,0 @@ -// Copyright (c) 2002-present, The OpenMS Team -- EKU Tuebingen, ETH Zurich, and FU Berlin -// SPDX-License-Identifier: BSD-3-Clause -// -// -------------------------------------------------------------------------- -// $Maintainer: Timo Sachsenberg $ -// $Authors: Christian Ehrlich $ -// -------------------------------------------------------------------------- - -#pragma once - -#include - -#include - -#include - -namespace OpenMS -{ - /** Matrix utility functions. - * - */ - - typedef boost::shared_ptr< const Eigen::MatrixXd > EigenMatrixXdPtr; - typedef boost::shared_ptr< Eigen::MatrixXd > MutableEigenMatrixXdPtr; - - inline EigenMatrixXdPtr - convertOpenMSMatrix2EigenMatrixXd( const Matrix& m ) - { - MutableEigenMatrixXdPtr em ( new Eigen::MatrixXd(m.rows(), m.cols()) ); - for (unsigned i=0; i& channel_frequency) - { - for (Matrix::SizeType i = 0; i < channel_frequency.rows(); ++i) - { - for (Matrix::SizeType j = 0; j < channel_frequency.rows(); ++j) - { - // check if the entries are those of a identity matrix; - // i==j -> m(i,j) == 1.0 && i!=j -> m(i,j) == 0.0 - if ((i == j && channel_frequency(i, j) != 1.0) || channel_frequency(i, j) != 0.0) - { - return false; - } - } - } - return true; - } -}//namespace - diff --git a/src/openms/include/OpenMS/DATASTRUCTURES/Utils/sources.cmake b/src/openms/include/OpenMS/DATASTRUCTURES/Utils/sources.cmake index a4707fd60a8..83623c415c0 100644 --- a/src/openms/include/OpenMS/DATASTRUCTURES/Utils/sources.cmake +++ b/src/openms/include/OpenMS/DATASTRUCTURES/Utils/sources.cmake @@ -3,7 +3,6 @@ set(directory include/OpenMS/DATASTRUCTURES/Utils) ### list all header files of the directory here set(sources_list_h -MatrixUtils.h MapUtilities.h ) diff --git a/src/openms/include/OpenMS/FILTERING/TRANSFORMERS/ComplementFilter.h b/src/openms/include/OpenMS/FILTERING/TRANSFORMERS/ComplementFilter.h index f5c5b1bea5a..bd3e265ccfa 100644 --- a/src/openms/include/OpenMS/FILTERING/TRANSFORMERS/ComplementFilter.h +++ b/src/openms/include/OpenMS/FILTERING/TRANSFORMERS/ComplementFilter.h @@ -47,8 +47,7 @@ namespace OpenMS // @name Accessors //@{ - static FilterFunctor * create() { return new ComplementFilter(); } - + /// returns the total intensity of peak pairs which could result from complementing fragments template double apply(SpectrumType & spectrum) @@ -91,12 +90,6 @@ namespace OpenMS return result; } - /// returns the name for registration at the factory - static const String getProductName() - { - return "ComplementFilter"; - } - //@} }; diff --git a/src/openms/include/OpenMS/FILTERING/TRANSFORMERS/ComplementMarker.h b/src/openms/include/OpenMS/FILTERING/TRANSFORMERS/ComplementMarker.h index dd30fedb675..a0f825de36d 100644 --- a/src/openms/include/OpenMS/FILTERING/TRANSFORMERS/ComplementMarker.h +++ b/src/openms/include/OpenMS/FILTERING/TRANSFORMERS/ComplementMarker.h @@ -47,8 +47,6 @@ namespace OpenMS // @name Accessors //@{ - /// - static PeakMarker * create() { return new ComplementMarker(); } /// template @@ -94,12 +92,6 @@ namespace OpenMS } } - /// returns the name to register at the factory - static const String getProductName() - { - return "ComplementMarker"; - } - //@} }; diff --git a/src/openms/include/OpenMS/FILTERING/TRANSFORMERS/FilterFunctor.h b/src/openms/include/OpenMS/FILTERING/TRANSFORMERS/FilterFunctor.h index 80f4b500e29..f6ad28bc5e4 100644 --- a/src/openms/include/OpenMS/FILTERING/TRANSFORMERS/FilterFunctor.h +++ b/src/openms/include/OpenMS/FILTERING/TRANSFORMERS/FilterFunctor.h @@ -33,7 +33,7 @@ namespace OpenMS FilterFunctor & operator=(const FilterFunctor & source); /// - static void registerChildren(); + /// function call operator template diff --git a/src/openms/include/OpenMS/FILTERING/TRANSFORMERS/GoodDiffFilter.h b/src/openms/include/OpenMS/FILTERING/TRANSFORMERS/GoodDiffFilter.h index d6a8bccbe4e..270a0977bf1 100644 --- a/src/openms/include/OpenMS/FILTERING/TRANSFORMERS/GoodDiffFilter.h +++ b/src/openms/include/OpenMS/FILTERING/TRANSFORMERS/GoodDiffFilter.h @@ -49,9 +49,7 @@ namespace OpenMS // @name Accessors // @{ - /// - static FilterFunctor * create() { return new GoodDiffFilter(); } - + /// template double apply(SpectrumType & spectrum) @@ -103,12 +101,6 @@ namespace OpenMS return gooddiff / totaldiff; } - /// - static const String getProductName() - { - return "GoodDiffFilter"; - } - // @} diff --git a/src/openms/include/OpenMS/FILTERING/TRANSFORMERS/IntensityBalanceFilter.h b/src/openms/include/OpenMS/FILTERING/TRANSFORMERS/IntensityBalanceFilter.h index 4d00d83b370..55c29403e85 100644 --- a/src/openms/include/OpenMS/FILTERING/TRANSFORMERS/IntensityBalanceFilter.h +++ b/src/openms/include/OpenMS/FILTERING/TRANSFORMERS/IntensityBalanceFilter.h @@ -49,8 +49,6 @@ namespace OpenMS // @name Accessors // @{ - /// - static FilterFunctor * create() { return new IntensityBalanceFilter(); } /// template @@ -95,12 +93,6 @@ namespace OpenMS return (twobiggest - sevensmallest) / total_intensity; } - /// - static const String getProductName() - { - return "IntensityBalanceFilter"; - } - // @} }; diff --git a/src/openms/include/OpenMS/FILTERING/TRANSFORMERS/IsotopeDiffFilter.h b/src/openms/include/OpenMS/FILTERING/TRANSFORMERS/IsotopeDiffFilter.h index 084b454268b..664ef7f7a9d 100644 --- a/src/openms/include/OpenMS/FILTERING/TRANSFORMERS/IsotopeDiffFilter.h +++ b/src/openms/include/OpenMS/FILTERING/TRANSFORMERS/IsotopeDiffFilter.h @@ -46,8 +46,6 @@ namespace OpenMS // @name Accessors // @{ - /// - static FilterFunctor * create() { return new IsotopeDiffFilter(); } /// template @@ -79,12 +77,6 @@ namespace OpenMS return isodiff; } - /// - static const String getProductName() - { - return "IsotopeDiffFilter"; - } - // @} private: diff --git a/src/openms/include/OpenMS/FILTERING/TRANSFORMERS/IsotopeMarker.h b/src/openms/include/OpenMS/FILTERING/TRANSFORMERS/IsotopeMarker.h index 67ef86730e8..424851a8d09 100644 --- a/src/openms/include/OpenMS/FILTERING/TRANSFORMERS/IsotopeMarker.h +++ b/src/openms/include/OpenMS/FILTERING/TRANSFORMERS/IsotopeMarker.h @@ -53,8 +53,6 @@ namespace OpenMS // @name Accessors // @{ - /// - static PeakMarker * create() { return new IsotopeMarker(); } /// template @@ -107,12 +105,6 @@ namespace OpenMS return; } - /// - static const String getProductName() - { - return "IsotopeMarker"; - } - // @} }; diff --git a/src/openms/include/OpenMS/FILTERING/TRANSFORMERS/MarkerMower.h b/src/openms/include/OpenMS/FILTERING/TRANSFORMERS/MarkerMower.h index 0f25e14131d..78f01e6430b 100644 --- a/src/openms/include/OpenMS/FILTERING/TRANSFORMERS/MarkerMower.h +++ b/src/openms/include/OpenMS/FILTERING/TRANSFORMERS/MarkerMower.h @@ -81,12 +81,7 @@ namespace OpenMS void filterPeakSpectrum(PeakSpectrum & spectrum); void filterPeakMap(PeakMap & exp); - - static const String getProductName() - { - return "MarkerMower"; - } - + /// insert new Marker (violates the DefaultParamHandler interface) void insertmarker(PeakMarker * peak_marker); diff --git a/src/openms/include/OpenMS/FILTERING/TRANSFORMERS/NeutralLossDiffFilter.h b/src/openms/include/OpenMS/FILTERING/TRANSFORMERS/NeutralLossDiffFilter.h index 4eaebb3ccd8..6ad19e8bbac 100644 --- a/src/openms/include/OpenMS/FILTERING/TRANSFORMERS/NeutralLossDiffFilter.h +++ b/src/openms/include/OpenMS/FILTERING/TRANSFORMERS/NeutralLossDiffFilter.h @@ -47,8 +47,6 @@ namespace OpenMS // @name Accessors // @{ - /// - static FilterFunctor * create() { return new NeutralLossDiffFilter(); } /// template @@ -79,12 +77,6 @@ namespace OpenMS return isodiff; } - /// - static const String getProductName() - { - return "NeutralLossDiffFilter"; - } - // @} }; diff --git a/src/openms/include/OpenMS/FILTERING/TRANSFORMERS/NeutralLossMarker.h b/src/openms/include/OpenMS/FILTERING/TRANSFORMERS/NeutralLossMarker.h index b76d2bab93d..b87e907c0ca 100644 --- a/src/openms/include/OpenMS/FILTERING/TRANSFORMERS/NeutralLossMarker.h +++ b/src/openms/include/OpenMS/FILTERING/TRANSFORMERS/NeutralLossMarker.h @@ -47,8 +47,6 @@ namespace OpenMS // @name Accessors // @{ - /// - static PeakMarker * create() { return new NeutralLossMarker(); } /// template @@ -101,12 +99,6 @@ namespace OpenMS return; } - /// - static const String getProductName() - { - return "NeutralLossMarker"; - } - // @} }; diff --git a/src/openms/include/OpenMS/FILTERING/TRANSFORMERS/PeakMarker.h b/src/openms/include/OpenMS/FILTERING/TRANSFORMERS/PeakMarker.h index 3f1864b5353..b8f5b5567d8 100644 --- a/src/openms/include/OpenMS/FILTERING/TRANSFORMERS/PeakMarker.h +++ b/src/openms/include/OpenMS/FILTERING/TRANSFORMERS/PeakMarker.h @@ -39,12 +39,6 @@ namespace OpenMS template void apply(std::map & /* marked */, SpectrumType & /* spectrum */) {} - /// - static const String getProductName() - { - return "PeakMarker"; - } - }; } diff --git a/src/openms/include/OpenMS/FILTERING/TRANSFORMERS/TICFilter.h b/src/openms/include/OpenMS/FILTERING/TRANSFORMERS/TICFilter.h index 95d95a614a5..673cc4af2d4 100644 --- a/src/openms/include/OpenMS/FILTERING/TRANSFORMERS/TICFilter.h +++ b/src/openms/include/OpenMS/FILTERING/TRANSFORMERS/TICFilter.h @@ -44,8 +44,6 @@ namespace OpenMS // @name Accessors // @{ - /// - static FilterFunctor * create() { return new TICFilter(); } /// template @@ -62,12 +60,6 @@ namespace OpenMS return TIC; } - /// - static const String getProductName() - { - return "TICFilter"; - } - // @} }; diff --git a/src/openms/include/OpenMS/FORMAT/CsvFile.h b/src/openms/include/OpenMS/FORMAT/CsvFile.h index 4c06e995515..cce2bd94805 100644 --- a/src/openms/include/OpenMS/FORMAT/CsvFile.h +++ b/src/openms/include/OpenMS/FORMAT/CsvFile.h @@ -86,7 +86,7 @@ namespace OpenMS @return returns false if the given row could not be separated into items */ - bool getRow(Size row, StringList& list); + bool getRow(Size row, StringList& list) const; /** @brief Returns the number of rows that were loaded from the file. diff --git a/src/openms/include/OpenMS/FORMAT/DATAACCESS/CsiFingerIdMzTabWriter.h b/src/openms/include/OpenMS/FORMAT/DATAACCESS/CsiFingerIdMzTabWriter.h deleted file mode 100644 index 9fcc5644e4e..00000000000 --- a/src/openms/include/OpenMS/FORMAT/DATAACCESS/CsiFingerIdMzTabWriter.h +++ /dev/null @@ -1,97 +0,0 @@ -// Copyright (c) 2002-present, The OpenMS Team -- EKU Tuebingen, ETH Zurich, and FU Berlin -// SPDX-License-Identifier: BSD-3-Clause -// -// -------------------------------------------------------------------------- -// $Maintainer: Oliver Alka $ -// $Authors: Oliver Alka $ -// -------------------------------------------------------------------------- - -#pragma once - -#include - -namespace OpenMS -{ - class OPENMS_DLLAPI CsiFingerIdMzTabWriter - { - public: - - /** - @brief Internal structure used in @ref TOPP_SiriusAdapter that is used - for the conversion of the Csi:FingerID output to an mzTab. - - CsiAdapterHit: - inchikey2D (String) - inchi (String) - rank (int) - Rank of the identification for a compound (spectrum) calculated by CSI:FingerID - molecular_formula (String) - sumformula - score (int) - Score of the identification for a compound (spectrum) calculated by CSI:FingerID - name (String) - smiles (String) - pubchemids (vector) - PubChemID as reference - links (vector) - Links to the database - - CsiAdapterIdentification: - scan_index (int) - Index of the spectrum used for identification - scan_number (int) - NativeId of the spectrum used for identification - feature_id (String) - FeatureId (if spectrum was assigned to a feature) - hits (vector) - - CsiAdapterRun: - identifications (vector) - - */ - - class CsiAdapterHit - { - public: - OpenMS::String inchikey2D; - OpenMS::String inchi; - unsigned int rank = 0; - unsigned int formula_rank = 0; - OpenMS::String adduct; - OpenMS::String molecular_formula; - double score = 0.; - OpenMS::String name; - OpenMS::String smiles; - OpenMS::String xlogp; - OpenMS::String dbflags; - std::vector pubchemids; - std::vector links; - - }; - - class CsiAdapterIdentification - { - public: - double mz = 0.; - double rt = 0.; - OpenMS::StringList native_ids; - int scan_index = -1; - int scan_number = -1; - OpenMS::String feature_id; - std::vector hits; - }; - - class CsiAdapterRun - { - public: - std::vector identifications; - }; - - /** - @brief Conversion of CSI:FingerID output to mzTab - - Output of CSI:FingerID is one directory per spectrum/compound - @param sirius_output_paths: Path to output directories of Sirius - @param original_input_mzml: Path to original input mzml of SiriusAdapter - @param top_n_hits: Top n entries for each compound written to the result file - @param result Result written to mzTab - */ - static void read(const std::vector& sirius_output_paths, - const String& original_input_mzml, - const Size& top_n_hits, - MzTab& result); - - }; -} diff --git a/src/openms/include/OpenMS/FORMAT/DATAACCESS/SiriusFragmentAnnotation.h b/src/openms/include/OpenMS/FORMAT/DATAACCESS/SiriusFragmentAnnotation.h index c74b6a39bc1..5620262182b 100644 --- a/src/openms/include/OpenMS/FORMAT/DATAACCESS/SiriusFragmentAnnotation.h +++ b/src/openms/include/OpenMS/FORMAT/DATAACCESS/SiriusFragmentAnnotation.h @@ -8,6 +8,7 @@ #pragma once +#include #include namespace OpenMS @@ -42,11 +43,10 @@ namespace OpenMS @param sirius_workspace_subdirs Vector of paths to SIRIUS subdirectories. @param score_threshold Only use spectra over a certain score threshold (0-1) @param use_exact_mass Option to use exact mass instead of peak mz in MSSpectrum. + @param decoy_generation Extract decoy spectra from SIRIUS subdirectories. */ static std::vector extractAndResolveSiriusAnnotations(const std::vector& sirius_workspace_subdirs, double score_threshold, - bool use_exact_mass); - static std::vector extractSiriusAnnotationsTgtOnly(const std::vector& sirius_workspace_subdirs, double score_threshold, bool use_exact_mass, bool resolve); - + bool use_exact_mass, bool decoy_generation); /** @brief extractSiriusFragmentAnnotationMapping @@ -81,6 +81,11 @@ namespace OpenMS */ static std::vector extractAnnotationsFromSiriusFile(const String& path_to_sirius_workspace, Size max_rank = 1, bool decoy = false, bool use_exact_mass = false); + /** + @brief Extract columnname and index based in SIRIUS entries + */ + static std::map< std::string, Size > extract_columnname_to_columnindex(const CsvFile& csvfile); + protected: /** @brief extractConcatNativeIDsFromSiriusMS @@ -114,6 +119,7 @@ namespace OpenMS */ static OpenMS::String extractFeatureIDFromSiriusMS_(const String& path_to_sirius_workspace); + /** @brief extractCompoundRankingAndFilename Extract compound ranking and filename (./formula_candidates.tsv). diff --git a/src/openms/include/OpenMS/FORMAT/DATAACCESS/SiriusMzTabWriter.h b/src/openms/include/OpenMS/FORMAT/DATAACCESS/SiriusMzTabWriter.h deleted file mode 100644 index 8db41d6e514..00000000000 --- a/src/openms/include/OpenMS/FORMAT/DATAACCESS/SiriusMzTabWriter.h +++ /dev/null @@ -1,142 +0,0 @@ -// Copyright (c) 2002-present, The OpenMS Team -- EKU Tuebingen, ETH Zurich, and FU Berlin -// SPDX-License-Identifier: BSD-3-Clause -// -// -------------------------------------------------------------------------- -// $Maintainer: Oliver Alka $ -// $Authors: Oliver Alka $ -// -------------------------------------------------------------------------- - -#pragma once - -#include -#include - -namespace OpenMS -{ - class OPENMS_DLLAPI SiriusMzTabWriter - { - public: - - /** - @brief Internal structure used in @ref TOPP_SiriusAdapter that is used - for the conversion of the sirius output to an mzTab. - @ingroup Analysis_ID - - SiriusAdapterHit: - formula (String) - Sumformula - adduct (String) - Assigned adduct - precursor_formula (String) - Sumformula of the precursor (can be the same as formula) - rank (int) - Rank of the possible sumformula for a compound (spectrum) calculated by Sirius - rank_score (double) - Ranking score - iso_score (double) - Isotope pattern score - tree_score (double) - Fragmentation pattern score - sirius_score (double) - Overall score of the possible sumformula for a compound (spectrum) calculated by Sirius - explainedpeaks (int) - Number of explained peaks - explainedintensity (double) - Relative amount of explained intensity - - SiriusAdapterIdentification: - scan_index (int) - Index of the spectrum used - scan_number (int) - NativeId of the spectrum used - feature_id (String) - FeatureId (if spectrum was assigned to a feature) - hits (vector) - - SiriusAdapterRun: - identifications (vector) - - Store a specific @param number of lines from sirius output - @return mzTab - */ - - class SiriusAdapterHit - { - public: - OpenMS::String formula; - OpenMS::String adduct; - OpenMS::String precursor_formula; - int rank = 0; - double iso_score = 0.0; - double tree_score = 0.0; - double sirius_score = 0.0; - int explainedpeaks = 0; - double explainedintensity = 0.0; - double median_mass_error_fragment_peaks_ppm = 0.0; - double median_absolute_mass_error_fragment_peaks_ppm = 0.0; - double mass_error_precursor_ppm = 0.0; - }; - - class SiriusAdapterIdentification - { - public: - double mz = 0.; - double rt = 0.; - OpenMS::StringList native_ids; - int scan_index = -1; - int scan_number = -1; - OpenMS::String feature_id; - std::vector hits; - }; - - class SiriusAdapterRun - { - public: - std::vector identifications; - }; - - class SiriusSpectrumMSInfo - { - public: - StringList ext_n_id; // multiple possible MS2 spectra - double ext_mz = 0.0; - double ext_rt = 0.0; - }; - - /** - @brief Extract scan_index from filepath - */ - static int extractScanIndex(const String& path); - - /** - @brief Extract scan_number from filepath - */ - static int extractScanNumber(const String& path); - - /** - @brief Extract feature_id from filepath - */ - static String extractFeatureId(const String& path); - - /** - @brief Extract columnname and index based in SIRIUS entries - */ - static std::map< std::string, Size > extract_columnname_to_columnindex(CsvFile& csvfile); - - /** - @brief Extract mz, rt of the precursor and the nativeID of the corresponding MS2 spectra in the spectrum.ms file - */ - static SiriusSpectrumMSInfo extractSpectrumMSInfo(const String& single_sirius_path); - - /** - @brief Conversion of sirius output to mzTab - - Output of Sirius is one directory per spectrum/compound - - @param sirius_output_paths: Path to output directories of Sirius - @param original_input_mzml: Path to mzml input of SiriusAdapter - @param top_n_hits: Top n entries for each compound written to the result file - @param result mzTab result - */ - static void read(const std::vector& sirius_output_paths, - const String& original_input_mzml, - const Size& top_n_hits, - MzTab& result); - - }; - - namespace SiriusVersion - { - /// SIRIUS version - inline const std::string CURRENT_VERSION = "5.6.3"; - } - -} - diff --git a/src/openms/include/OpenMS/FORMAT/DATAACCESS/sources.cmake b/src/openms/include/OpenMS/FORMAT/DATAACCESS/sources.cmake index 2a0b2a9ddd7..bf277c2f9bd 100644 --- a/src/openms/include/OpenMS/FORMAT/DATAACCESS/sources.cmake +++ b/src/openms/include/OpenMS/FORMAT/DATAACCESS/sources.cmake @@ -3,7 +3,6 @@ set(directory include/OpenMS/FORMAT/DATAACCESS) ### list all header files of the directory here set(sources_list_h - CsiFingerIdMzTabWriter.h MSDataAggregatingConsumer.h MSDataCachedConsumer.h MSDataChainingConsumer.h @@ -13,7 +12,6 @@ set(sources_list_h MSDataWritingConsumer.h NoopMSDataConsumer.h SiriusFragmentAnnotation.h - SiriusMzTabWriter.h SwathFileConsumer.h ) diff --git a/src/openms/include/OpenMS/IONMOBILITY/IMDataConverter.h b/src/openms/include/OpenMS/IONMOBILITY/IMDataConverter.h index 7c015380b9f..6b745b28dfb 100644 --- a/src/openms/include/OpenMS/IONMOBILITY/IMDataConverter.h +++ b/src/openms/include/OpenMS/IONMOBILITY/IMDataConverter.h @@ -31,13 +31,13 @@ namespace OpenMS /** @brief Splits a PeakMap into one PeakMap per FAIMS compensation voltage - This only works with a PeakMap that has a FAIMS compensation voltage - associated with each spectrum. + This only works with a PeakMap that has a FAIMS compensation voltage + (obtained via 'spec.getDriftTime()') associated with each spectrum. The spectra from the original PeakMap are moved to new PeakMaps, so the original PeakMap is unusable afterwards. @param exp The PeakMap - @return Several maps, split by CVs + @return Several maps, one for each CV @throws Exception::MissingInformation if @p exp is not FAIMS data */ static std::vector splitByFAIMSCV(PeakMap&& exp); @@ -48,7 +48,9 @@ namespace OpenMS The input @p im_frame must have a floatDataArray where IM values are annotated. If not, an exception is thrown. - To get some coarser binning, choose a smaller @p number_of_bins. The default creates a new bin (=spectrum in the output) for each distinct ion mobility value. + To get some coarser binning, choose a smaller @p number_of_bins. The default of `-1` creates a new bin (=spectrum in the output) for each distinct ion mobility value. + + For the output spectra, the IM value is annotated once in `spec.getDriftTime()` (using the center of the IM bin). There is no metadata array which contains IM values floatDataArray. @param im_frame Concatenated spectrum representing a frame @param number_of_bins In how many bins should the ion mobility frame be sliced? Default(-1) assigns all peaks with identical ion-mobility values to a separate spectrum. @@ -62,7 +64,9 @@ namespace OpenMS @brief Expands all (TimsTOF) ion mobility frames in the PeakMap (i.e. all IM spectra with an IM float data array) into separate spectra. Non-IM spectra are simply copied to the result. To get some coarser custom binning, choose a smaller @p number_of_bins. The default creates a new bin (=spectrum in the output) for each distinct ion mobility value. - For custom bins, the IM range is divided into equally spaced bins and the bin center is the new drift time. + For custom bins, the IM range is divided into equally spaced bins and the bin center is the new drift time. + For the new output spectra, the IM value is annotated once in `spec.getDriftTime()` (using the center of the IM bin). There is no metadata array which + contains IM values floatDataArray. @param in The PeakMap containing IM-frame spectra @param number_of_bins In how many bins should the ion mobility frame be sliced? Default(-1) assigns all peaks with identical ion-mobility values to a separate spectrum. diff --git a/src/openms/include/OpenMS/KERNEL/DPeak.h b/src/openms/include/OpenMS/KERNEL/DPeak.h index 8a599b2b0a7..287b8ff0b4f 100644 --- a/src/openms/include/OpenMS/KERNEL/DPeak.h +++ b/src/openms/include/OpenMS/KERNEL/DPeak.h @@ -13,7 +13,6 @@ namespace OpenMS { - /** @brief Metafunction to choose among Peak1D respectively Peak2D through a template argument. @@ -21,14 +20,6 @@ namespace OpenMS - @c DPeak<1>::Type is @c Peak1D - @c DPeak<2>::Type is @c Peak2D - Example: - @code - template class BaseModel - { - // BaseModel::PeakType is either Peak1D or Peak2D, depending on D - typedef typename DPeak::Type PeakType; - }; - @endcode */ template struct DPeak diff --git a/src/openms/include/OpenMS/KERNEL/MSExperiment.h b/src/openms/include/OpenMS/KERNEL/MSExperiment.h index b8c33b3e959..9e74eea321a 100644 --- a/src/openms/include/OpenMS/KERNEL/MSExperiment.h +++ b/src/openms/include/OpenMS/KERNEL/MSExperiment.h @@ -502,18 +502,6 @@ namespace OpenMS */ void updateRanges(Int ms_level); - /// returns the minimal m/z value - CoordinateType getMinMZ() const; - - /// returns the maximal m/z value - CoordinateType getMaxMZ() const; - - /// returns the minimal retention time value - CoordinateType getMinRT() const; - - /// returns the maximal retention time value - CoordinateType getMaxRT() const; - /// returns the total number of peaks UInt64 getSize() const; diff --git a/src/openms/include/OpenMS/KERNEL/RangeManager.h b/src/openms/include/OpenMS/KERNEL/RangeManager.h index 38559ed1c05..d584308f123 100644 --- a/src/openms/include/OpenMS/KERNEL/RangeManager.h +++ b/src/openms/include/OpenMS/KERNEL/RangeManager.h @@ -8,896 +8,887 @@ #pragma once -#include -#include #include - -#include // for nan() +#include +#include #include // for min/max #include -#include // for std::ostream +#include // for nan() +#include // for std::ostream namespace OpenMS { - /// Dimensions of data acquisition for MS data - enum class MSDim - { - RT, - MZ, - INT, - IM - }; - - struct RangeRT; - struct RangeMZ; - struct RangeIntensity; - struct RangeMobility; - - /// Base class for a simple range with minimum and maximum - struct OPENMS_DLLAPI RangeBase - { - public: - /// C'tor: initialize with empty range - RangeBase() = default; - - /// Cutom C'tor which sets the range to a singular point - RangeBase(const double single) : - min_(single), max_(single) - { - } +/// Dimensions of data acquisition for MS data +enum class MSDim +{ + RT, + MZ, + INT, + IM +}; + +struct RangeRT; +struct RangeMZ; +struct RangeIntensity; +struct RangeMobility; + +/// Base class for a simple range with minimum and maximum +struct OPENMS_DLLAPI RangeBase +{ +public: + /// C'tor: initialize with empty range + RangeBase() = default; - /// Custom C'tor to set min and max - /// @throws Exception::InvalidRange if min > max - RangeBase(const double min, const double max) : - min_(min), max_(max) - { - if (min_ > max_) - throw Exception::InvalidRange(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION, "Invalid initialization of range"); - } - /// Copy C'tor - RangeBase(const RangeBase& rhs) = default; + /// Cutom C'tor which sets the range to a singular point + RangeBase(const double single): min_(single), max_(single) + { + } - /// Move C'tor (seems useless, but is required for completeness in derived classes' move c'tor) - RangeBase(RangeBase&& rhs) noexcept = default; + /// Custom C'tor to set min and max + /// @throws Exception::InvalidRange if min > max + RangeBase(const double min, const double max): min_(min), max_(max) + { + if (min_ > max_) throw Exception::InvalidRange(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION, "Invalid initialization of range"); + } + /// Copy C'tor + RangeBase(const RangeBase& rhs) = default; + + /// Move C'tor (seems useless, but is required for completeness in derived classes' move c'tor) + RangeBase(RangeBase&& rhs) noexcept = default; + + /// Assignment operator + RangeBase& operator=(const RangeBase& rhs) = default; + + /// Move assignment (seems useless, but is required for completeness in derived classes' move c'tor) + RangeBase& operator=(RangeBase&& rhs) noexcept = default; + + /// D'tor + ~RangeBase() noexcept = default; + + /// conversion operator to allow accepting a RangeBase (instead of RangeRT) for the implicitly defined special members, e.g. assignment operator + /// (RangeRT& operator=(const RangeRT&)) + operator RangeRT() const; + /// conversion operator to allow accepting a RangeBase (instead of RangeMZ) for the implicitly defined special members, e.g. assignment operator + /// (RangeMZ& operator=(const RangeMZ&)) + operator RangeMZ() const; + /// conversion operator to allow accepting a RangeBase (instead of RangeIntensity) for the implicitly defined special members, e.g. assignment + /// operator (RangeIntensity& operator=(const RangeIntensity&)) + operator RangeIntensity() const; + /// conversion operator to allow accepting a RangeBase (instead of RangeMobility) for the implicitly defined special members, e.g. assignment + /// operator (RangeMobility& operator=(const RangeMobility&)) + operator RangeMobility() const; + + /// make the range empty, i.e. isEmpty() will be true + void clear() + { + *this = RangeBase(); // overwrite with fresh instance + } - /// Assignment operator - RangeBase& operator=(const RangeBase& rhs) = default; + /// is the range empty (i.e. min > max)? + bool isEmpty() const + { + return min_ > max_; + } - /// Move assignment (seems useless, but is required for completeness in derived classes' move c'tor) - RangeBase& operator=(RangeBase&& rhs) noexcept = default; + /// is @p value within [min, max]? + bool contains(const double value) const + { + return uint8_t(min_ <= value) & uint8_t(value <= max_); // using && leads to branches on all compilers in Debug and in Release on MVSC + } - /// D'tor - ~RangeBase() noexcept = default; + /// is the range @p inner_range within [min, max]? + bool contains(const RangeBase& inner_range) const + { + return uint8_t(contains(inner_range.min_)) + & uint8_t(contains(inner_range.max_)); // using && leads to branches on all compilers in Debug and in Release on MVSC + } - /// conversion operator to allow accepting a RangeBase (instead of RangeRT) for the implicitly defined special members, e.g. assignment operator (RangeRT& operator=(const RangeRT&)) - operator RangeRT() const; - /// conversion operator to allow accepting a RangeBase (instead of RangeMZ) for the implicitly defined special members, e.g. assignment operator (RangeMZ& operator=(const RangeMZ&)) - operator RangeMZ() const; - /// conversion operator to allow accepting a RangeBase (instead of RangeIntensity) for the implicitly defined special members, e.g. assignment operator (RangeIntensity& operator=(const RangeIntensity&)) - operator RangeIntensity() const; - /// conversion operator to allow accepting a RangeBase (instead of RangeMobility) for the implicitly defined special members, e.g. assignment operator (RangeMobility& operator=(const RangeMobility&)) - operator RangeMobility() const; + /** @name Accessors for min and max - /// make the range empty, i.e. isEmpty() will be true - void clear() - { - *this = RangeBase(); // overwrite with fresh instance - } + We use accessors, to keep range consistent (i.e. ensure that min <= max) + */ + ///@{ - /// is the range empty (i.e. min > max)? - bool isEmpty() const - { - return min_ > max_; - } + /// sets the minimum (and the maximum, if uninitialized) + void setMin(const double min) + { + min_ = min; + if (max_ < min) max_ = min; + } - /// is @p value within [min, max]? - bool contains(const double value) const - { - return uint8_t(min_ <= value) & uint8_t(value <= max_); // using && leads to branches on all compilers in Debug and in Release on MVSC - } + /// sets the maximum (and the minimum, if uninitialized) + void setMax(const double max) + { + max_ = max; + if (min_ > max) min_ = max; + } - /// is the range @p inner_range within [min, max]? - bool contains(const RangeBase& inner_range) const - { - return uint8_t(contains(inner_range.min_)) & uint8_t(contains(inner_range.max_)); // using && leads to branches on all compilers in Debug and in Release on MVSC - } + /// only useful if isEmpty() returns false + double getMin() const + { + return min_; + } - /** @name Accessors for min and max + /// only useful if isEmpty() returns false + double getMax() const + { + return max_; + } + ///@} - We use accessors, to keep range consistent (i.e. ensure that min <= max) - */ - ///@{ + /// ensure the range includes the range of @p other + void extend(const RangeBase& other) + { + min_ = std::min(min_, other.min_); + max_ = std::max(max_, other.max_); + } - /// sets the minimum (and the maximum, if uninitialized) - void setMin(const double min) - { - min_ = min; - if (max_ < min) - max_ = min; - } + /// extend the range such that it includes the given @p value + void extend(const double value) + { + min_ = std::min(min_, value); + max_ = std::max(max_, value); + } - /// sets the maximum (and the minimum, if uninitialized) - void setMax(const double max) - { - max_ = max; - if (min_ > max) - min_ = max; - } + /// Extend the range by @p by units to left and right + /// Using negative values will shrink the range. It may become empty. + /// Calling this on an empty range will not have any effect. + void extendLeftRight(const double by) + { + if (isEmpty()) return; + min_ -= by; + max_ += by; + } - /// only useful if isEmpty() returns false - double getMin() const - { - return min_; - } + /** + * \brief If the current range is a single point, e.g. min==max, then extend the range by @p min_span / 2 on either side. + * + * Calling span() afterwards, returns @p min_span. + */ + void minSpanIfSingular(const double min_span) + { + if (min_ == max_) extendLeftRight(min_span / 2); + } - /// only useful if isEmpty() returns false - double getMax() const - { - return max_; - } - ///@} + /// Ensure the range of this does not exceed the range of @p other. + /// If @p other already contains() this range, nothing changes. + /// If this range is entirely outside the range of @p other, + /// the resulting range is empty. + /// Empty ranges are not modified. + /// @throw Exception::InvalidRange if @p other is empty + void clampTo(const RangeBase& other) + { + if (isEmpty()) return; + if (other.isEmpty()) throw Exception::InvalidRange(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION); - /// ensure the range includes the range of @p other - void extend(const RangeBase& other) - { - min_ = std::min(min_, other.min_); - max_ = std::max(max_, other.max_); - } + min_ = std::max(min_, other.min_); + max_ = std::min(max_, other.max_); + } - /// extend the range such that it includes the given @p value - void extend(const double value) - { - min_ = std::min(min_, value); - max_ = std::max(max_, value); - } + /// Move range of *this to min/max of @p sandbox, without changing the span, if possible. + /// This does tighten the range unless @p sandbox's ranges are smaller than *this. + /// Empty ranges are not modified. + /// @param sandbox Range to translate/move the current range into + /// @throw Exception::InvalidRange if @p sandbox is empty + void pushInto(const RangeBase& sandbox) + { + if (isEmpty()) return; + if (sandbox.isEmpty()) throw Exception::InvalidRange(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION); - /// Extend the range by @p by units to left and right - /// Using negative values will shrink the range. It may become empty. - /// Calling this on an empty range will not have any effect. - void extendLeftRight(const double by) + if (! sandbox.contains(*this)) { - if (isEmpty()) return; - min_ -= by; - max_ += by; + if (getSpan() > sandbox.getSpan()) + { // make interval fit into sandbox (= ensure full containment) + max_ = min_ + sandbox.getSpan(); + } + if (min_ < sandbox.min_) + { // need to shift right (positive shift) + shift(sandbox.min_ - min_); + } + else if (max_ > sandbox.max_) + { // need to shift left (negative shift) + shift(sandbox.max_ - max_); + } } + } - /** - * \brief If the current range is a single point, e.g. min==max, then extend the range by @p min_span / 2 on either side. - * - * Calling span() afterwards, returns @p min_span. - */ - void minSpanIfSingular(const double min_span) - { - if (min_ == max_) extendLeftRight(min_span / 2); - } + /** + @brief Scale the range of the dimension by a @p factor. A factor > 1 increases the range; factor < 1 decreases it. - /// Ensure the range of this does not exceed the range of @p other. - /// If @p other already contains() this range, nothing changes. - /// If this range is entirely outside the range of @p other, - /// the resulting range is empty. - /// Empty ranges are not modified. - /// @throw Exception::InvalidRange if @p other is empty - void clampTo(const RangeBase& other) - { - if (isEmpty()) return; - if (other.isEmpty()) throw Exception::InvalidRange(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION); + Let d = max - min; then min = min - d*(factor-1)/2, + i.e. scale(1.5) extends the range by 25% on each side. - min_ = std::max(min_, other.min_); - max_ = std::min(max_, other.max_); - } + Scaling an empty range will not have any effect. - /// Move range of *this to min/max of @p sandbox, without changing the span, if possible. - /// This does tighten the range unless @p sandbox's ranges are smaller than *this. - /// Empty ranges are not modified. - /// @param sandbox Range to translate/move the current range into - /// @throw Exception::InvalidRange if @p sandbox is empty - void pushInto(const RangeBase& sandbox) - { - if (isEmpty()) return; - if (sandbox.isEmpty()) throw Exception::InvalidRange(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION); + @param factor The multiplier to increase the range by + */ + void scaleBy(const double factor) + { + if (isEmpty()) return; + const double dist = max_ - min_; + const double extension = dist * (factor - 1) / 2; + min_ -= extension; + max_ += extension; + } - if (!sandbox.contains(*this)) - { - if (getSpan() > sandbox.getSpan()) - { // make interval fit into sandbox (= ensure full containment) - max_ = min_ + sandbox.getSpan(); - } - if (min_ < sandbox.min_) - { // need to shift right (positive shift) - shift(sandbox.min_ - min_); - } - else if (max_ > sandbox.max_) - { // need to shift left (negative shift) - shift(sandbox.max_ - max_); - } - } - } + /// Move the range by @p distance (negative values shift left) + /// Shifting an empty range will not have any effect. + void shift(const double distance) + { + if (isEmpty()) return; + min_ += distance; + max_ += distance; + } - /** - @brief Scale the range of the dimension by a @p factor. A factor > 1 increases the range; factor < 1 decreases it. + /// Compute the center point of the range + /// If range is empty(), 'nan' will be returned + double center() const + { + if (isEmpty()) return nan(""); + return min_ + (max_ - min_) / 2.0; + } - Let d = max - min; then min = min - d*(factor-1)/2, - i.e. scale(1.5) extends the range by 25% on each side. + /// Get the 'width' of the range + /// If range is empty(), 'nan' will be returned + double getSpan() const + { + if (isEmpty()) return nan(""); + return max_ - min_; + } - Scaling an empty range will not have any effect. + bool operator==(const RangeBase& rhs) const + { + return min_ == rhs.min_ && max_ == rhs.max_; + } - @param factor The multiplier to increase the range by - */ - void scaleBy(const double factor) - { - if (isEmpty()) return; - const double dist = max_ - min_; - const double extension = dist * (factor - 1) / 2; - min_ -= extension; - max_ += extension; - } + /** + * \brief Return the current range, or (if empty) a full range (-1e308, 1e308). + * \return A range where always: min <= max + */ + std::pair getNonEmptyRange() const + { + // pair with full range + if (isEmpty()) return {std::numeric_limits::lowest(), std::numeric_limits::max()}; + else + return {min_, max_}; + } - /// Move the range by @p distance (negative values shift left) - /// Shifting an empty range will not have any effect. - void shift(const double distance) - { - if (isEmpty()) return; - min_ += distance; - max_ += distance; - } +protected: + // make members non-accessible to maintain invariant: min <= max (unless uninitialized) + double min_ = std::numeric_limits::max(); + double max_ = std::numeric_limits::lowest(); +}; - /// Compute the center point of the range - /// If range is empty(), 'nan' will be returned - double center() const - { - if (isEmpty()) return nan(""); - return min_ + (max_ - min_) / 2.0; - } +OPENMS_DLLAPI std::ostream& operator<<(std::ostream& out, const RangeBase& b); - /// Get the 'width' of the range - /// If range is empty(), 'nan' will be returned - double getSpan() const - { - if (isEmpty()) return nan(""); - return max_ - min_; - } +struct OPENMS_DLLAPI RangeRT : public RangeBase +{ - bool operator==(const RangeBase& rhs) const - { - return min_ == rhs.min_ && max_ == rhs.max_; - } + const static MSDim DIM = MSDim::RT; - /** - * \brief Return the current range, or (if empty) a full range (-1e308, 1e308). - * \return A range where always: min <= max - */ - std::pair getNonEmptyRange() const - { - // pair with full range - if (isEmpty()) return {std::numeric_limits::lowest(), std::numeric_limits::max()}; - else return {min_, max_}; - } + // Rule of 0! + using RangeBase::RangeBase; // inherit C'tors from base - protected: - // make members non-accessible to maintain invariant: min <= max (unless uninitialized) - double min_ = std::numeric_limits::max(); - double max_ = std::numeric_limits::lowest(); - }; + /** @name Accessors for min and max - OPENMS_DLLAPI std::ostream& operator<<(std::ostream& out, const RangeBase& b); + We use accessors, to keep range consistent (i.e. ensure that min <= max) + */ + ///@{ - struct OPENMS_DLLAPI RangeRT : public RangeBase { + /// sets the minimum (and the maximum, if uninitialized) + void setMinRT(const double min) + { + setMin(min); + } - const static MSDim DIM = MSDim::RT; + /// sets the maximum (and the minimum, if uninitialized) + void setMaxRT(const double max) + { + setMax(max); + } - // Rule of 0! - using RangeBase::RangeBase; // inherit C'tors from base + /// only useful if isEmpty() returns false + double getMinRT() const + { + return min_; + } - /** @name Accessors for min and max + /// only useful if isEmpty() returns false + double getMaxRT() const + { + return max_; + } + ///@} - We use accessors, to keep range consistent (i.e. ensure that min <= max) - */ - ///@{ + /// extend the range such that it includes the given @p value + void extendRT(const double value) + { + extend(value); + } - /// sets the minimum (and the maximum, if uninitialized) - void setMinRT(const double min) - { - setMin(min); - } + /// is @p value within [min, max]? + bool containsRT(const double value) const + { + return RangeBase::contains(value); + } - /// sets the maximum (and the minimum, if uninitialized) - void setMaxRT(const double max) - { - setMax(max); - } + /// is the range @p inner_range within [min, max] of this range? + bool containsRT(const RangeBase& inner_range) const + { + return RangeBase::contains(inner_range); + } +}; - /// only useful if isEmpty() returns false - double getMinRT() const - { - return min_; - } +OPENMS_DLLAPI std::ostream& operator<<(std::ostream& out, const RangeRT& range); - /// only useful if isEmpty() returns false - double getMaxRT() const - { - return max_; - } - ///@} +struct OPENMS_DLLAPI RangeMZ : public RangeBase +{ - /// extend the range such that it includes the given @p value - void extendRT(const double value) - { - extend(value); - } + const static MSDim DIM = MSDim::MZ; - /// is @p value within [min, max]? - bool containsRT(const double value) const - { - return RangeBase::contains(value); - } + // Rule of 0! + using RangeBase::RangeBase; // inherit C'tors from base - /// is the range @p inner_range within [min, max] of this range? - bool containsRT(const RangeBase& inner_range) const - { - return RangeBase::contains(inner_range); - } - }; + /** @name Accessors for min and max - OPENMS_DLLAPI std::ostream& operator<<(std::ostream& out, const RangeRT& range); + We use accessors, to keep range consistent (i.e. ensure that min <= max) + */ + ///@{ - struct OPENMS_DLLAPI RangeMZ : public RangeBase + /// sets the minimum (and the maximum, if uninitialized) + void setMinMZ(const double min) { + setMin(min); + } - const static MSDim DIM = MSDim::MZ; - - // Rule of 0! - using RangeBase::RangeBase; // inherit C'tors from base + /// sets the maximum (and the minimum, if uninitialized) + void setMaxMZ(const double max) + { + setMax(max); + } - /** @name Accessors for min and max + /// only useful if isEmpty() returns false + double getMinMZ() const + { + return min_; + } - We use accessors, to keep range consistent (i.e. ensure that min <= max) - */ - ///@{ + /// only useful if isEmpty() returns false + double getMaxMZ() const + { + return max_; + } + ///@} - /// sets the minimum (and the maximum, if uninitialized) - void setMinMZ(const double min) - { - setMin(min); - } + /// extend the range such that it includes the given @p value + void extendMZ(const double value) + { + extend(value); + } - /// sets the maximum (and the minimum, if uninitialized) - void setMaxMZ(const double max) - { - setMax(max); - } + /// is @p value within [min, max]? + bool containsMZ(const double value) const + { + return RangeBase::contains(value); + } - /// only useful if isEmpty() returns false - double getMinMZ() const - { - return min_; - } + /// is the range @p inner_range within [min, max] of this range? + bool containsMZ(const RangeBase& inner_range) const + { + return RangeBase::contains(inner_range); + } +}; +OPENMS_DLLAPI std::ostream& operator<<(std::ostream& out, const RangeMZ& range); - /// only useful if isEmpty() returns false - double getMaxMZ() const - { - return max_; - } - ///@} +struct OPENMS_DLLAPI RangeIntensity : public RangeBase +{ - /// extend the range such that it includes the given @p value - void extendMZ(const double value) - { - extend(value); - } + const static MSDim DIM = MSDim::INT; - /// is @p value within [min, max]? - bool containsMZ(const double value) const - { - return RangeBase::contains(value); - } + // Rule of 0! + using RangeBase::RangeBase; // inherit C'tors from base - /// is the range @p inner_range within [min, max] of this range? - bool containsMZ(const RangeBase& inner_range) const - { - return RangeBase::contains(inner_range); - } - }; - OPENMS_DLLAPI std::ostream& operator<<(std::ostream& out, const RangeMZ& range); + /** @name Accessors for min and max - struct OPENMS_DLLAPI RangeIntensity : public RangeBase { + We use accessors, to keep range consistent (i.e. ensure that min <= max) + */ + ///@{ - const static MSDim DIM = MSDim::INT; + /// sets the minimum (and the maximum, if uninitialized) + void setMinIntensity(const double min) + { + setMin(min); + } - // Rule of 0! - using RangeBase::RangeBase; // inherit C'tors from base + /// sets the maximum (and the minimum, if uninitialized) + void setMaxIntensity(const double max) + { + setMax(max); + } - /** @name Accessors for min and max + /// only useful if isEmpty() returns false + double getMinIntensity() const + { + return min_; + } - We use accessors, to keep range consistent (i.e. ensure that min <= max) - */ - ///@{ + /// only useful if isEmpty() returns false + double getMaxIntensity() const + { + return max_; + } + ///@} - /// sets the minimum (and the maximum, if uninitialized) - void setMinIntensity(const double min) - { - setMin(min); - } + /// extend the range such that it includes the given @p value + void extendIntensity(const double value) + { + extend(value); + } - /// sets the maximum (and the minimum, if uninitialized) - void setMaxIntensity(const double max) - { - setMax(max); - } + /// is @p value within [min, max]? + bool containsIntensity(const double value) const + { + return RangeBase::contains(value); + } - /// only useful if isEmpty() returns false - double getMinIntensity() const - { - return min_; - } + /// is the range @p inner_range within [min, max] of this range? + bool containsIntensity(const RangeBase& inner_range) const + { + return RangeBase::contains(inner_range); + } +}; +OPENMS_DLLAPI std::ostream& operator<<(std::ostream& out, const RangeIntensity& range); - /// only useful if isEmpty() returns false - double getMaxIntensity() const - { - return max_; - } - ///@} +struct OPENMS_DLLAPI RangeMobility : public RangeBase +{ + const static MSDim DIM = MSDim::IM; - /// extend the range such that it includes the given @p value - void extendIntensity(const double value) - { - extend(value); - } + // Rule of 0! + using RangeBase::RangeBase; // inherit C'tors from base - /// is @p value within [min, max]? - bool containsIntensity(const double value) const - { - return RangeBase::contains(value); - } + /** @name Accessors for min and max - /// is the range @p inner_range within [min, max] of this range? - bool containsIntensity(const RangeBase& inner_range) const - { - return RangeBase::contains(inner_range); - } - }; - OPENMS_DLLAPI std::ostream& operator<<(std::ostream& out, const RangeIntensity& range); + We use accessors, to keep range consistent (i.e. ensure that min <= max) + */ + ///@{ - struct OPENMS_DLLAPI RangeMobility : public RangeBase + /// sets the minimum (and the maximum, if uninitialized) + void setMinMobility(const double min) { - const static MSDim DIM = MSDim::IM; - - // Rule of 0! - using RangeBase::RangeBase; // inherit C'tors from base - - /** @name Accessors for min and max + setMin(min); + } - We use accessors, to keep range consistent (i.e. ensure that min <= max) - */ - ///@{ + /// sets the maximum (and the minimum, if uninitialized) + void setMaxMobility(const double max) + { + setMax(max); + } - /// sets the minimum (and the maximum, if uninitialized) - void setMinMobility(const double min) - { - setMin(min); - } + /// only useful if isEmpty() returns false + double getMinMobility() const + { + return min_; + } - /// sets the maximum (and the minimum, if uninitialized) - void setMaxMobility(const double max) - { - setMax(max); - } + /// only useful if isEmpty() returns false + double getMaxMobility() const + { + return max_; + } + ///@} - /// only useful if isEmpty() returns false - double getMinMobility() const - { - return min_; - } + /// extend the range such that it includes the given @p value + void extendMobility(const double value) + { + extend(value); + } - /// only useful if isEmpty() returns false - double getMaxMobility() const - { - return max_; - } - ///@} + /// is @p value within [min, max]? + bool containsMobility(const double value) const + { + return RangeBase::contains(value); + } - /// extend the range such that it includes the given @p value - void extendMobility(const double value) - { - extend(value); - } + /// is the range @p inner_range within [min, max] of this range? + bool containsMobility(const RangeBase& inner_range) const + { + return RangeBase::contains(inner_range); + } +}; - /// is @p value within [min, max]? - bool containsMobility(const double value) const - { - return RangeBase::contains(value); - } +OPENMS_DLLAPI std::ostream& operator<<(std::ostream& out, const RangeMobility& range); - /// is the range @p inner_range within [min, max] of this range? - bool containsMobility(const RangeBase& inner_range) const - { - return RangeBase::contains(inner_range); - } - }; +/// Enum listing state of dimensions (RangeBases) +enum class HasRangeType +{ + ALL, ///< all dimensions are filled + SOME, ///< some dimensions are empty, some are filled + NONE ///< all dimensions are empty (=cleared) +}; - OPENMS_DLLAPI std::ostream& operator<<(std::ostream& out, const RangeMobility& range); +/** + @brief Handles the management of a multidimensional range, e.g. RangeMZ and RangeIntensity for spectra. - /// Enum listing state of dimensions (RangeBases) - enum class HasRangeType - { - ALL, ///< all dimensions are filled - SOME,///< some dimensions are empty, some are filled - NONE ///< all dimensions are empty (=cleared) - }; + Instantiate it with the dimensions which are supported/required, e.g. + `RangeManager range_spec` for a spectrum and use the strongly typed features, such as + `range_spec.getMaxRT()/setMaxRT(500.0)` or `range_spec.extend(RangeMZ{100, 1500})`. - /** - @brief Handles the management of a multidimensional range, e.g. RangeMZ and RangeIntensity for spectra. + Use RangeManagerContainer as a base class for all peak and feature containers like MSSpectrum, MSExperiment and FeatureMap. - Instantiate it with the dimensions which are supported/required, e.g. - `RangeManager range_spec` for a spectrum and use the strongly typed features, such as - `range_spec.getMaxRT()/setMaxRT(500.0)` or `range_spec.extend(RangeMZ{100, 1500})`. + The implementation uses non-virtual multiple inheritance using variadic templates. Each dimension, e.g. RangeRT, is inherited from, thus + all members of the base class become accessible in the RangeManager, e.g. getMaxRT(). + Operations (e.g. assignment, or extension of ranges) across RangeManagers with a different, yet overlapping set of base classes + is enabled using fold expressions and constexpr evaluations, which are resolved at compile time (see for_each_base_ member function). - Use RangeManagerContainer as a base class for all peak and feature containers like MSSpectrum, MSExperiment and FeatureMap. +*/ +template +class RangeManager : public RangeBases... +{ +public: + using ThisRangeType = RangeManager; - The implementation uses non-virtual multiple inheritance using variadic templates. Each dimension, e.g. RangeRT, is inherited from, thus - all members of the base class become accessible in the RangeManager, e.g. getMaxRT(). - Operations (e.g. assignment, or extension of ranges) across RangeManagers with a different, yet overlapping set of base classes - is enabled using fold expressions and constexpr evaluations, which are resolved at compile time (see for_each_base_ member function). + // rule of 0 -- no need for a virtual d'tor or anything fancy + // ... - */ - template - class RangeManager : public RangeBases... + bool operator==(const RangeManager& rhs) const { - public: - using ThisRangeType = RangeManager; - // rule of 0 -- no need for a virtual d'tor or anything fancy - // ... - - bool operator==(const RangeManager& rhs) const - { - bool equal = true; - for_each_base_([&](auto* base) { - using T_BASE = std::decay_t; // remove const/ref qualifiers - equal &= ((T_BASE&) rhs == (T_BASE&) *this); - }); - return equal; - } - - bool operator!=(const RangeManager& rhs) const - { - return !operator==(rhs); - } + bool equal = true; + for_each_base_([&](auto* base) { + using T_BASE = std::decay_t; // remove const/ref qualifiers + equal &= ((T_BASE&)rhs == (T_BASE&)*this); + }); + return equal; + } - /// copy all overlapping dimensions from @p rhs to this instance. - /// Dimensions which are not contained in @p rhs are left untouched. - /// @param rhs Range to copy from - /// @return true if one or more dimensions overlapped - template - bool assignUnsafe(const RangeManager& rhs) - { - bool found = false; - for_each_base_([&](auto* base) { - using T_BASE = std::decay_t; // remove const/ref qualifiers - if constexpr (std::is_base_of_v>) - { - base->operator=((T_BASE&) rhs); - found = true; - } - }); - - return found; - } + bool operator!=(const RangeManager& rhs) const + { + return ! operator==(rhs); + } - /// copy all overlapping dimensions from @p rhs to this instance. - /// Dimensions which are not contained in @p rhs are left untouched. - /// @param rhs Range to copy from - /// @throw Exception::InvalidRange if no dimensions overlapped - template - auto& assign(const RangeManager& rhs) - { - if (!assignUnsafe(rhs)) + /// copy all overlapping dimensions from @p rhs to this instance. + /// Dimensions which are not contained in @p rhs are left untouched. + /// @param rhs Range to copy from + /// @return true if one or more dimensions overlapped + template + bool assignUnsafe(const RangeManager& rhs) + { + bool found = false; + for_each_base_([&](auto* base) { + using T_BASE = std::decay_t; // remove const/ref qualifiers + if constexpr (std::is_base_of_v>) { - throw Exception::InvalidRange(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION , "No assignment took place (no dimensions in common!);"); + base->operator=((T_BASE&)rhs); + found = true; } - return *this; - } + }); - /// extend all dimensions which overlap with @p rhs to contain the range of @p rhs - /// Dimensions which are not contained in @p rhs are left untouched. - /// @param rhs Range to extend from - /// @return false if no dimensions overlapped - template - bool extendUnsafe(const RangeManager& rhs) + return found; + } + + /// copy all overlapping dimensions from @p rhs to this instance. + /// Dimensions which are not contained in @p rhs are left untouched. + /// @param rhs Range to copy from + /// @throw Exception::InvalidRange if no dimensions overlapped + template + auto& assign(const RangeManager& rhs) + { + if (! assignUnsafe(rhs)) { - bool found = false; - for_each_base_([&](auto* base) { - using T_BASE = std::decay_t; // remove const/ref qualifiers - if constexpr (std::is_base_of_v>) - { - base->extend((T_BASE&) rhs); - found = true; - } - }); - return found; + throw Exception::InvalidRange(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION, "No assignment took place (no dimensions in common!);"); } + return *this; + } - /// extend all dimensions which overlap with @p rhs to contain the range of @p rhs - /// Dimensions which are not contained in @p rhs are left untouched. - /// @param rhs Range to extend from - /// @throw Exception::InvalidRange if no dimensions overlapped - template - void extend(const RangeManager& rhs) - { - if (!extendUnsafe(rhs)) + /// extend all dimensions which overlap with @p rhs to contain the range of @p rhs + /// Dimensions which are not contained in @p rhs are left untouched. + /// @param rhs Range to extend from + /// @return false if no dimensions overlapped + template + bool extendUnsafe(const RangeManager& rhs) + { + bool found = false; + for_each_base_([&](auto* base) { + using T_BASE = std::decay_t; // remove const/ref qualifiers + if constexpr (std::is_base_of_v>) { - throw Exception::InvalidRange(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION, "No assignment took place (no dimensions in common!);"); + base->extend((T_BASE&)rhs); + found = true; } - } + }); + return found; + } - /// calls RangeBase::scale() for each dimension - void scaleBy(const double factor) + /// extend all dimensions which overlap with @p rhs to contain the range of @p rhs + /// Dimensions which are not contained in @p rhs are left untouched. + /// @param rhs Range to extend from + /// @throw Exception::InvalidRange if no dimensions overlapped + template + void extend(const RangeManager& rhs) + { + if (! extendUnsafe(rhs)) { - for_each_base_([&](auto* base) { - base->scaleBy(factor); - }); + throw Exception::InvalidRange(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION, "No assignment took place (no dimensions in common!);"); } + } - /** - * \brief If any dimension is a single point, e.g. min==max, then extend this dimension by @p min_span / 2 on either side. - * - * Empty dimensions remain unchanged. - * - * @see DimBase::minSpanIfSingular - * - */ - void minSpanIfSingular(const double min_span) - { - for_each_base_([&](auto* base) { - base->minSpanIfSingular(min_span); - }); - } + /// calls RangeBase::scale() for each dimension + void scaleBy(const double factor) + { + for_each_base_([&](auto* base) { base->scaleBy(factor); }); + } + /** + * \brief If any dimension is a single point, e.g. min==max, then extend this dimension by @p min_span / 2 on either side. + * + * Empty dimensions remain unchanged. + * + * @see DimBase::minSpanIfSingular + * + */ + void minSpanIfSingular(const double min_span) + { + for_each_base_([&](auto* base) { base->minSpanIfSingular(min_span); }); + } - /// Move range of *this to min/max of @p rhs, without changing the span, if possible. - /// This does tighten the range unless @p rhs's ranges are smaller than *this. - /// Dimensions which are not contained in @p rhs or are empty are left untouched. - /// @param rhs Range to translate/move the current range into - /// @return true if dimensions overlapped, false otherwise - template - bool pushIntoUnsafe(const RangeManager& rhs) - { - bool found = false; - for_each_base_([&](auto* base) { - using T_BASE = std::decay_t; // remove const/ref qualifiers - if constexpr (std::is_base_of_v>) - { - const auto& rhs_base = (T_BASE&)rhs; - if (!rhs_base.isEmpty()) base->pushInto(rhs_base); - found = true; - } - }); - return found; - } - /// Move range of *this to min/max of @p sandbox, without changing the span, if possible. - /// This does tighten the range unless @p sandbox's ranges are smaller than *this. - /// Dimensions which are not contained in @p sandbox or are empty are left untouched. - /// @param sandbox Range to translate/move the current range into - /// @throw Exception::InvalidRange if no dimensions overlapped - template - void pushInto(const RangeManager& sandbox) - { - if (!pushIntoUnsafe(sandbox)) + /// Move range of *this to min/max of @p rhs, without changing the span, if possible. + /// This does tighten the range unless @p rhs's ranges are smaller than *this. + /// Dimensions which are not contained in @p rhs or are empty are left untouched. + /// @param rhs Range to translate/move the current range into + /// @return true if dimensions overlapped, false otherwise + template + bool pushIntoUnsafe(const RangeManager& rhs) + { + bool found = false; + for_each_base_([&](auto* base) { + using T_BASE = std::decay_t; // remove const/ref qualifiers + if constexpr (std::is_base_of_v>) { - throw Exception::InvalidRange(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION, "No assignment took place (no dimensions in common!);"); + const auto& rhs_base = (T_BASE&)rhs; + if (! rhs_base.isEmpty()) base->pushInto(rhs_base); + found = true; } - } - + }); + return found; + } - /// Clamp min/max of all overlapping dimensions to min/max of @p rhs - /// Dimensions which are not contained in @p rhs or where rhs is empty are left untouched. - /// @param rhs Range to clamp to - /// @return true if dimensions overlapped, false otherwise - template - bool clampToUnsafe(const RangeManager& rhs) + /// Move range of *this to min/max of @p sandbox, without changing the span, if possible. + /// This does tighten the range unless @p sandbox's ranges are smaller than *this. + /// Dimensions which are not contained in @p sandbox or are empty are left untouched. + /// @param sandbox Range to translate/move the current range into + /// @throw Exception::InvalidRange if no dimensions overlapped + template + void pushInto(const RangeManager& sandbox) + { + if (! pushIntoUnsafe(sandbox)) { - bool found = false; - for_each_base_([&](auto* base) { - using T_BASE = std::decay_t; // remove const/ref qualifiers - if constexpr (std::is_base_of_v>) - { - const auto& rhs_base = (T_BASE&)rhs; - if (!rhs_base.isEmpty()) base->clampTo(rhs_base); - found = true; - } - }); - return found; + throw Exception::InvalidRange(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION, "No assignment took place (no dimensions in common!);"); } + } - /// Clamp min/max of all overlapping dimensions to min/max of @p rhs. - /// This may tighten the range (even to a single point). - /// Dimensions which are not contained in @p rhs or where rhs is empty are left untouched. - /// @param rhs Range to clamp to - /// @throw Exception::InvalidRange if no dimensions overlapped - template - void clampTo(const RangeManager& rhs) - { - if (!clampToUnsafe(rhs)) + + /// Clamp min/max of all overlapping dimensions to min/max of @p rhs + /// Dimensions which are not contained in @p rhs or where rhs is empty are left untouched. + /// @param rhs Range to clamp to + /// @return true if dimensions overlapped, false otherwise + template + bool clampToUnsafe(const RangeManager& rhs) + { + bool found = false; + for_each_base_([&](auto* base) { + using T_BASE = std::decay_t; // remove const/ref qualifiers + if constexpr (std::is_base_of_v>) { - throw Exception::InvalidRange(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION, "No assignment took place (no dimensions in common!);"); + const auto& rhs_base = (T_BASE&)rhs; + if (! rhs_base.isEmpty()) base->clampTo(rhs_base); + found = true; } - } + }); + return found; + } - /// obtain a range dimension at runtime using @p dim - const RangeBase& getRangeForDim(MSDim dim) const + /// Clamp min/max of all overlapping dimensions to min/max of @p rhs. + /// This may tighten the range (even to a single point). + /// Dimensions which are not contained in @p rhs or where rhs is empty are left untouched. + /// @param rhs Range to clamp to + /// @throw Exception::InvalidRange if no dimensions overlapped + template + void clampTo(const RangeManager& rhs) + { + if (! clampToUnsafe(rhs)) { - RangeBase* r_base = nullptr; - - static_for_each_base_([&](auto* base) { - using Base = std::decay_t; // remove const/ref qualifiers - if (base->DIM == dim) - r_base = (Base*)this; - }); - - assert((r_base != nullptr) && "No base class has this MSDim!"); - return *r_base; + throw Exception::InvalidRange(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION, "No assignment took place (no dimensions in common!);"); } + } - /// obtain a range dimension at runtime using @p dim - RangeBase& getRangeForDim(MSDim dim) - { - RangeBase* r_base = nullptr; + /// obtain a range dimension at runtime using @p dim + const RangeBase& getRangeForDim(MSDim dim) const + { + RangeBase* r_base = nullptr; - static_for_each_base_([&](auto* base) { - using Base = std::decay_t; // remove const/ref qualifiers - if (base->DIM == dim) - r_base = (Base*) this; - }); + static_for_each_base_([&](auto* base) { + using Base = std::decay_t; // remove const/ref qualifiers + if (base->DIM == dim) r_base = (Base*)this; + }); - assert((r_base != nullptr) && "No base class has this MSDim!"); - return *r_base; - } + assert((r_base != nullptr) && "No base class has this MSDim!"); + return *r_base; + } - /// is any/some/all dimension in this range populated? - HasRangeType hasRange() const - { - constexpr size_t total{sizeof...(RangeBases)};// total number of bases - size_t count{0}; - for_each_base_([&](auto* base) { - count += !base->isEmpty(); - }); - switch (count) - { - case 0: - return HasRangeType::NONE; - case total: - return HasRangeType::ALL; - default: - return HasRangeType::SOME; - } - } + /// obtain a range dimension at runtime using @p dim + RangeBase& getRangeForDim(MSDim dim) + { + RangeBase* r_base = nullptr; - /// Are all dimensions of @p rhs (which overlap with this Range) contained in this range? - /// An empty dimension is considered contained in the other dimension (even if that one is empty as well). - /// If only all overlapping dimensions are empty, true is returned. - /// @throws Exception::InvalidRange if no dimensions overlap - template - bool containsAll(const RangeManager& rhs) const - { - bool contained = true; // assume rhs is contained, until proven otherwise - bool has_overlap = false; - for_each_base_([&](auto* base) { - using T_BASE = std::decay_t; // remove const/ref qualifiers - if constexpr (std::is_base_of_v>) - { - has_overlap = true; // at least one dimension overlaps - if (((T_BASE&)rhs).isEmpty()) return; - if (base->contains((T_BASE&) rhs)) return; - contained = false; - } - }); - if (!has_overlap) throw Exception::InvalidRange(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION); - - return contained; - } + static_for_each_base_([&](auto* base) { + using Base = std::decay_t; // remove const/ref qualifiers + if (base->DIM == dim) r_base = (Base*)this; + }); - /// Resets all ranges - void clearRanges() - { - for_each_base_([&](auto* base) { - base->clear(); - }); + assert((r_base != nullptr) && "No base class has this MSDim!"); + return *r_base; + } + + /// is any/some/all dimension in this range populated? + HasRangeType hasRange() const + { + constexpr size_t total {sizeof...(RangeBases)}; // total number of bases + size_t count {0}; + for_each_base_([&](auto* base) { count += ! base->isEmpty(); }); + switch (count) + { + case 0: + return HasRangeType::NONE; + case total: + return HasRangeType::ALL; + default: + return HasRangeType::SOME; } + } - /// Resets the dimension of the given @p range. Any type of ion mobility in @p range will clear the RTMobility dimension. - /// If the @p range is not contained in this class, then nothing happens. - ThisRangeType& clear(const DIM_UNIT range) - { - switch (range) + /// Are all dimensions of @p rhs (which overlap with this Range) contained in this range? + /// An empty dimension is considered contained in the other dimension (even if that one is empty as well). + /// If only all overlapping dimensions are empty, true is returned. + /// @throws Exception::InvalidRange if no dimensions overlap + template + bool containsAll(const RangeManager& rhs) const + { + bool contained = true; // assume rhs is contained, until proven otherwise + bool has_overlap = false; + for_each_base_([&](auto* base) { + using T_BASE = std::decay_t; // remove const/ref qualifiers + if constexpr (std::is_base_of_v>) { - case DIM_UNIT::RT: - if constexpr (std::is_base_of_v) this->RangeRT::clear(); - break; - case DIM_UNIT::MZ: - if constexpr (std::is_base_of_v) this->RangeMZ::clear(); - break; - case DIM_UNIT::INT: - if constexpr (std::is_base_of_v) this->RangeIntensity::clear(); - break; - // assume all ion mobility ranges are the same and never occur together. If this is violated at some point, then split RangeMobility into subclasses... - case DIM_UNIT::IM_MS: - case DIM_UNIT::IM_VSSC: - case DIM_UNIT::FAIMS_CV: - if constexpr (std::is_base_of_v) this->RangeMobility::clear(); - break; - default: - // all cases should be covered above - assert(false && "This should never be reached. Did you forget to implement a new DIM_UNIT?"); + has_overlap = true; // at least one dimension overlaps + if (((T_BASE&)rhs).isEmpty()) return; + if (base->contains((T_BASE&)rhs)) return; + contained = false; } - return *this; - } + }); + if (! has_overlap) throw Exception::InvalidRange(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION); - /// print each dimension (base classes) to a stream - void printRange(std::ostream& out) const - { - for_each_base_([&](auto* base) { - out << *base; - }); - } + return contained; + } - protected: - /// use fold expression to iterate over all RangeBases of RangeManager and apply a lambda (Visitor) for each one - template - void for_each_base_(Visitor&& visitor) - { - (void(visitor(static_cast(this))), ...); - } - /// .. and a const version - template - void for_each_base_(Visitor&& visitor) const - { - (void(visitor(static_cast(this))), ...); - } + /// Resets all ranges + void clearRanges() + { + for_each_base_([&](auto* base) { base->clear(); }); + } - /// use fold expression to iterate over all RangeBases of RangeManager and apply a lambda (Visitor) for each one (for static members) - template - static void static_for_each_base_(Visitor&& visitor) - { - (void(visitor(static_cast(nullptr))), ...); - } - }; + /// Resets the dimension of the given @p range. Any type of ion mobility in @p range will clear the RTMobility dimension. + /// If the @p range is not contained in this class, then nothing happens. + ThisRangeType& clear(const DIM_UNIT range) + { + switch (range) + { + case DIM_UNIT::RT: + if constexpr (std::is_base_of_v) this->RangeRT::clear(); + break; + case DIM_UNIT::MZ: + if constexpr (std::is_base_of_v) this->RangeMZ::clear(); + break; + case DIM_UNIT::INT: + if constexpr (std::is_base_of_v) this->RangeIntensity::clear(); + break; + // assume all ion mobility ranges are the same and never occur together. If this is violated at some point, then split RangeMobility into + // subclasses... + case DIM_UNIT::IM_MS: + case DIM_UNIT::IM_VSSC: + case DIM_UNIT::FAIMS_CV: + if constexpr (std::is_base_of_v) this->RangeMobility::clear(); + break; + default: + // all cases should be covered above + assert(false && "This should never be reached. Did you forget to implement a new DIM_UNIT?"); + } + return *this; + } + + /// print each dimension (base classes) to a stream + void printRange(std::ostream& out) const + { + for_each_base_([&](auto* base) { out << *base; }); + } - template - std::ostream& operator<<(std::ostream& out, const RangeManager& me) +protected: + /// use fold expression to iterate over all RangeBases of RangeManager and apply a lambda (Visitor) for each one + template + void for_each_base_(Visitor&& visitor) + { + (void(visitor(static_cast(this))), ...); + } + /// .. and a const version + template + void for_each_base_(Visitor&& visitor) const { - me.printRange(out); - return out; + (void(visitor(static_cast(this))), ...); } - /// use this class as a base class for containers, e.g. MSSpectrum. It forces them to implement 'updateRanges()' as a common interface - /// and provides a 'getRange()' member which saves casting to a range type manually - template - class RangeManagerContainer - : public RangeManager + /// use fold expression to iterate over all RangeBases of RangeManager and apply a lambda (Visitor) for each one (for static members) + template + static void static_for_each_base_(Visitor&& visitor) { - public: - using ThisRangeType = typename RangeManager::ThisRangeType; + (void(visitor(static_cast(nullptr))), ...); + } +}; + +template +std::ostream& operator<<(std::ostream& out, const RangeManager& me) +{ + me.printRange(out); + return out; +} + +/// use this class as a base class for containers, e.g. MSSpectrum. It forces them to implement 'updateRanges()' as a common interface +/// and provides a 'getRange()' member which saves casting to a range type manually +template +class RangeManagerContainer : public RangeManager +{ +public: + using ThisRangeType = typename RangeManager::ThisRangeType; - /// D'tor - virtual ~RangeManagerContainer() = default; // required since we have virtual methods + /// D'tor + virtual ~RangeManagerContainer() = default; // required since we have virtual methods - /// implement this function to reflect the underlying data of the derived class (e.g. an MSSpectrum) - /// Usually, call clearRanges() internally and then populate the dimensions. - virtual void updateRanges() = 0; + /// implement this function to reflect the underlying data of the derived class (e.g. an MSSpectrum) + /// Usually, call clearRanges() internally and then populate the dimensions. + virtual void updateRanges() = 0; - /// get range of current data (call updateRanges() before to ensure the range is accurate) - const ThisRangeType& getRange() const - { - return (ThisRangeType&)*this; - } + /// get range of current data (call updateRanges() before to ensure the range is accurate) + const ThisRangeType& getRange() const + { + return (ThisRangeType&)*this; + } - /// get mutable range, provided for efficiency reasons (avoid updateRanges(), if only minor changes were made) - ThisRangeType& getRange() - { - return (ThisRangeType&)*this; - } - }; + /// get mutable range, provided for efficiency reasons (avoid updateRanges(), if only minor changes were made) + ThisRangeType& getRange() + { + return (ThisRangeType&)*this; + } +}; - /// Range which contains all known dimensions - using RangeAllType = RangeManager; +/// Range which contains all known dimensions +using RangeAllType = RangeManager; -} // namespace OpenMS +} // namespace OpenMS diff --git a/src/openms/include/OpenMS/MATH/MISC/BilinearInterpolation.h b/src/openms/include/OpenMS/MATH/MISC/BilinearInterpolation.h index 25566286d15..3b2b47d643a 100644 --- a/src/openms/include/OpenMS/MATH/MISC/BilinearInterpolation.h +++ b/src/openms/include/OpenMS/MATH/MISC/BilinearInterpolation.h @@ -290,7 +290,7 @@ namespace OpenMS void addValue(KeyType arg_pos_0, KeyType arg_pos_1, ValueType arg_value) { - typedef typename container_type::difference_type DiffType; + typedef typename std::ptrdiff_t DiffType; // apply key transformation _0 KeyType const pos_0 = key2index_0(arg_pos_0); @@ -506,7 +506,7 @@ namespace OpenMS /// Returns \c true if getData() is empty. bool empty() const { - return data_.empty(); + return data_.getEigenMatrix().size() == 0; } //@} diff --git a/src/openms/include/OpenMS/MATH/MISC/MathFunctions.h b/src/openms/include/OpenMS/MATH/MISC/MathFunctions.h index b8ee51114cd..7777ff54fed 100644 --- a/src/openms/include/OpenMS/MATH/MISC/MathFunctions.h +++ b/src/openms/include/OpenMS/MATH/MISC/MathFunctions.h @@ -8,406 +8,397 @@ #pragma once -#include #include #include - +#include #include // for mt19937_64 #include #include -#include // for std::pair +#include // for std::pair namespace OpenMS { - /** - @brief %Math namespace. +/** + @brief %Math namespace. - Contains mathematical auxiliary functions. + Contains mathematical auxiliary functions. - @ingroup Concept - */ - namespace Math - { + @ingroup Concept +*/ +namespace Math +{ - /** - @brief Given an interval/range and a new value, extend the range to include the new value if needed + /** + @brief Given an interval/range and a new value, extend the range to include the new value if needed - @param min The current minimum of the range - @param max The current maximum of the range - @param value The new value which may extend the range - @return true if the range was modified - */ - template - bool extendRange(T& min, T& max, const T& value) + @param min The current minimum of the range + @param max The current maximum of the range + @param value The new value which may extend the range + @return true if the range was modified + */ + template + bool extendRange(T& min, T& max, const T& value) + { + if (value < min) { - if (value < min) - { - min = value; - return true; - } - if (value > max) - { - max = value; - return true; - } - return false; + min = value; + return true; } - - /** - * \brief Is a @p value contained in [min, max] ? - * \tparam T Type, e.g. double - * \return True if contained, false otherwise - */ - template - bool contains(T value, T min, T max) + if (value > max) { - return min <= value && value <= max; + max = value; + return true; } + return false; + } - /** - * \brief Zoom into an interval [left, right], decreasing its width by @p factor (which must be in [0,inf]). - * - * To actually zoom in, the @p factor needs to be within [0,1]. Chosing a factor > 1 actually zooms out. - * @p align (between [0,1]) determines where the zoom happens: - * i.e. align = 0 leaves @p left the same and reduces @p right (or extends if factor>1) - * whereas align = 0.5 zooms into the center of the range etc - * - * You can do round trips, i.e. undo a zoom in, by inverting the factor: - * \code - * [a2, b2] = zoomIn(a1, b1, 0.5, al); // zoom in - * [a1, b1] === zoomIn(a2, b2, 2, al); // zoom out again (inverting) - * \endcode - * - * \param left Start of interval - * \param right End of interval - * \param factor Number between [0,1] to shrink, or >1 to extend the span (=right-left) - * \param align Where to position the smaller/shrunk interval (0 = left, 1 = right, 0.5=center etc) - * \return [new_left, new_right] as pair - */ - inline std::pair zoomIn(const double left, const double right, const float factor, const float align) - { - OPENMS_PRECONDITION(factor >= 0, "Factor must be >=0") - OPENMS_PRECONDITION(align >= 0, "align must be >=0") - OPENMS_PRECONDITION(align <= 1, "align must be <=1") - std::pair res; - auto old_width = right - left; - auto offset_left = (1.0f - factor) * old_width * align; - res.first = left + offset_left; - res.second = res.first + old_width * factor; - return res; - } + /** + * \brief Is a @p value contained in [min, max] ? + * \tparam T Type, e.g. double + * \return True if contained, false otherwise + */ + template + bool contains(T value, T min, T max) + { + return min <= value && value <= max; + } + + /** + * \brief Zoom into an interval [left, right], decreasing its width by @p factor (which must be in [0,inf]). + * + * To actually zoom in, the @p factor needs to be within [0,1]. Chosing a factor > 1 actually zooms out. + * @p align (between [0,1]) determines where the zoom happens: + * i.e. align = 0 leaves @p left the same and reduces @p right (or extends if factor>1) + * whereas align = 0.5 zooms into the center of the range etc + * + * You can do round trips, i.e. undo a zoom in, by inverting the factor: + * \code + * [a2, b2] = zoomIn(a1, b1, 0.5, al); // zoom in + * [a1, b1] === zoomIn(a2, b2, 2, al); // zoom out again (inverting) + * \endcode + * + * \param left Start of interval + * \param right End of interval + * \param factor Number between [0,1] to shrink, or >1 to extend the span (=right-left) + * \param align Where to position the smaller/shrunk interval (0 = left, 1 = right, 0.5=center etc) + * \return [new_left, new_right] as pair + */ + inline std::pair zoomIn(const double left, const double right, const float factor, const float align) + { + OPENMS_PRECONDITION(factor >= 0, "Factor must be >=0") + OPENMS_PRECONDITION(align >= 0, "align must be >=0") + OPENMS_PRECONDITION(align <= 1, "align must be <=1") + std::pair res; + auto old_width = right - left; + auto offset_left = (1.0f - factor) * old_width * align; + res.first = left + offset_left; + res.second = res.first + old_width * factor; + return res; + } + + /** + @brief rounds @p x up to the next decimal power 10 ^ @p decPow + + @verbatim + e.g.: (123.0 , 1) => 130 + (123.0 , 2) => 200 + (0.123 ,-2) => 0.13 ( 10^-2 = 0.01 ) + @endverbatim - /** - @brief rounds @p x up to the next decimal power 10 ^ @p decPow + @ingroup MathFunctionsMisc + */ + inline double ceilDecimal(double x, int decPow) + { + return (ceil(x / pow(10.0, decPow))) * pow(10.0, decPow); // decimal shift right, ceiling, decimal shift left + } + + /** + @brief rounds @p x to the next decimal power 10 ^ @p decPow @verbatim - e.g.: (123.0 , 1) => 130 - (123.0 , 2) => 200 - (0.123 ,-2) => 0.13 ( 10^-2 = 0.01 ) + e.g.: (123.0 , 1) => 120 + (123.0 , 2) => 100 @endverbatim @ingroup MathFunctionsMisc - */ - inline double ceilDecimal(double x, int decPow) - { - return (ceil(x / pow(10.0, decPow))) * pow(10.0, decPow); // decimal shift right, ceiling, decimal shift left - } + */ + inline double roundDecimal(double x, int decPow) + { + if (x > 0) return (floor(0.5 + x / pow(10.0, decPow))) * pow(10.0, decPow); - /** - @brief rounds @p x to the next decimal power 10 ^ @p decPow + return -((floor(0.5 + fabs(x) / pow(10.0, decPow))) * pow(10.0, decPow)); + } - @verbatim - e.g.: (123.0 , 1) => 120 - (123.0 , 2) => 100 - @endverbatim + /** + @brief transforms point @p x of interval [left1,right1] into interval [left2,right2] - @ingroup MathFunctionsMisc - */ - inline double roundDecimal(double x, int decPow) - { - if (x > 0) - return (floor(0.5 + x / pow(10.0, decPow))) * pow(10.0, decPow); + @ingroup MathFunctionsMisc + */ + inline double intervalTransformation(double x, double left1, double right1, double left2, double right2) + { + return left2 + (x - left1) * (right2 - left2) / (right1 - left1); + } - return -((floor(0.5 + fabs(x) / pow(10.0, decPow))) * pow(10.0, decPow)); - } + /** + @brief Transforms a number from linear to log10 scale. Avoids negative logarithms by adding 1. - /** - @brief transforms point @p x of interval [left1,right1] into interval [left2,right2] + @param x The number to transform - @ingroup MathFunctionsMisc - */ - inline double intervalTransformation(double x, double left1, double right1, double left2, double right2) - { - return left2 + (x - left1) * (right2 - left2) / (right1 - left1); - } + @ingroup MathFunctionsMisc + */ + inline double linear2log(double x) + { + return log10(x + 1); //+1 to avoid negative logarithms + } - /** - @brief Transforms a number from linear to log10 scale. Avoids negative logarithms by adding 1. + /** + @brief Transforms a number from log10 to to linear scale. Subtracts the 1 added by linear2log(double) - @param x The number to transform + @param x The number to transform - @ingroup MathFunctionsMisc - */ - inline double linear2log(double x) - { - return log10(x + 1); //+1 to avoid negative logarithms - } + @ingroup MathFunctionsMisc + */ + inline double log2linear(double x) + { + return pow(10, x) - 1; + } - /** - @brief Transforms a number from log10 to to linear scale. Subtracts the 1 added by linear2log(double) + /** + @brief Returns true if the given integer is odd - @param x The number to transform + @ingroup MathFunctionsMisc + */ + inline bool isOdd(UInt x) + { + return (x & 1) != 0; + } - @ingroup MathFunctionsMisc - */ - inline double log2linear(double x) - { - return pow(10, x) - 1; - } + /** + @brief Rounds the value - /** - @brief Returns true if the given integer is odd + @ingroup MathFunctionsMisc + */ + template + T round(T x) + { + if (x >= T(0)) { return T(floor(x + T(0.5))); } + else { return T(ceil(x - T(0.5))); } + } - @ingroup MathFunctionsMisc - */ - inline bool isOdd(UInt x) - { - return (x & 1) != 0; - } + /** + @brief Returns if @p a is approximately equal @p b , allowing a tolerance of @p tol - /** - @brief Rounds the value + @ingroup MathFunctionsMisc + */ + inline bool approximatelyEqual(double a, double b, double tol) + { + return std::fabs(a - b) <= tol; + } - @ingroup MathFunctionsMisc - */ - template - T round(T x) + /** + @brief Returns the greatest common divisor (gcd) of two numbers by applying the Euclidean algorithm. + @param a A number. + @param b A number. + @return The greatest common divisor. + @see gcd(T a, T b, T& a1, T& b1) + @ingroup MathFunctionsMisc + */ + template + T gcd(T a, T b) + { + T c; + while (b != 0) { - if (x >= T(0)) - { - return T(floor(x + T(0.5))); - } - else - { - return T(ceil(x - T(0.5))); - } + c = a % b; + a = b; + b = c; } + return a; + } - /** - @brief Returns if @p a is approximately equal @p b , allowing a tolerance of @p tol + /** + @brief Returns the greatest common divisor by applying the extended Euclidean algorithm (Knuth TAoCP vol. 2, p342). + Calculates u1, u2 and u3 (which is returned) so that a * u1 + b * u2 = u3 = gcd(a, b, u1, u2) + + @param a A number. + @param b A number. + @param u1 A reference to the number to be returned (see the above formula). + @param u2 A reference to the number to be returned (see the above formula). + @return The greatest common divisor. + @see gcd(T, T) + @ingroup MathFunctionsMisc + */ + template + T gcd(T a, T b, T& u1, T& u2) + { + u1 = 1; + u2 = 0; + T u3 = a; - @ingroup MathFunctionsMisc - */ - inline bool approximatelyEqual(double a, double b, double tol) - { - return std::fabs(a - b) <= tol; - } + T v1 = 0; + T v2 = 1; + T v3 = b; - /** - @brief Returns the greatest common divisor (gcd) of two numbers by applying the Euclidean algorithm. - @param a A number. - @param b A number. - @return The greatest common divisor. - @see gcd(T a, T b, T& a1, T& b1) - @ingroup MathFunctionsMisc - */ - template - T gcd(T a, T b) + while (v3 != 0) { - T c; - while (b != 0) - { - c = a % b; - a = b; - b = c; - } - return a; + T q = u3 / v3; + T t1 = u1 - v1 * q; + T t2 = u2 - v2 * q; + T t3 = u3 - v3 * q; + + u1 = v1; + u2 = v2; + u3 = v3; + + v1 = t1; + v2 = t2; + v3 = t3; } - /** - @brief Returns the greatest common divisor by applying the extended Euclidean algorithm (Knuth TAoCP vol. 2, p342). - Calculates u1, u2 and u3 (which is returned) so that a * u1 + b * u2 = u3 = gcd(a, b, u1, u2) - - @param a A number. - @param b A number. - @param u1 A reference to the number to be returned (see the above formula). - @param u2 A reference to the number to be returned (see the above formula). - @return The greatest common divisor. - @see gcd(T, T) - @ingroup MathFunctionsMisc - */ - template - T gcd(T a, T b, T & u1, T & u2) - { - u1 = 1; - u2 = 0; - T u3 = a; + return u3; + } - T v1 = 0; - T v2 = 1; - T v3 = b; + /** + @brief Compute parts-per-million of two @em m/z values. - while (v3 != 0) - { - T q = u3 / v3; - T t1 = u1 - v1 * q; - T t2 = u2 - v2 * q; - T t3 = u3 - v3 * q; - - u1 = v1; - u2 = v2; - u3 = v3; - - v1 = t1; - v2 = t2; - v3 = t3; - } + The returned ppm value can be either positive (mz_obs > mz_ref) or negative (mz_obs < mz_ref)! - return u3; - } + @param mz_obs Observed (experimental) m/z + @param mz_ref Reference (theoretical) m/z + @return The ppm value + */ + template + T getPPM(T mz_obs, T mz_ref) + { + return (mz_obs - mz_ref) / mz_ref * 1e6; + } - /** - @brief Compute parts-per-million of two @em m/z values. + /** + @brief Compute absolute parts-per-million of two @em m/z values. - The returned ppm value can be either positive (mz_obs > mz_ref) or negative (mz_obs < mz_ref)! + The returned ppm value is always >= 0. - @param mz_obs Observed (experimental) m/z - @param mz_ref Reference (theoretical) m/z - @return The ppm value - */ - template - T getPPM(T mz_obs, T mz_ref) - { - return (mz_obs - mz_ref) / mz_ref * 1e6; - } - - /** - @brief Compute absolute parts-per-million of two @em m/z values. - - The returned ppm value is always >= 0. - - @param mz_obs Observed (experimental) m/z - @param mz_ref Reference (theoretical) m/z - @return The absolute ppm value - */ - template - T getPPMAbs(T mz_obs, T mz_ref) - { - return std::fabs(getPPM(mz_obs, mz_ref)); - } + @param mz_obs Observed (experimental) m/z + @param mz_ref Reference (theoretical) m/z + @return The absolute ppm value + */ + template + T getPPMAbs(T mz_obs, T mz_ref) + { + return std::fabs(getPPM(mz_obs, mz_ref)); + } - /** - @brief Compute the mass diff in [Th], given a ppm value and a reference point. + /** + @brief Compute the mass diff in [Th], given a ppm value and a reference point. - The returned mass diff can be either positive (ppm > 0) or negative (ppm < 0)! + The returned mass diff can be either positive (ppm > 0) or negative (ppm < 0)! - @param ppm Parts-per-million error - @param mz_ref Reference m/z - @return The mass diff in [Th] - */ - template - T ppmToMass(T ppm, T mz_ref) - { - return (ppm / T(1e6)) * mz_ref; - } - - /* - @brief Compute the absolute mass diff in [Th], given a ppm value and a reference point. - - The returned mass diff is always positive! - - @param ppm Parts-per-million error - @param mz_ref Reference m/z - @return The absolute mass diff in [Th] - */ - template - T ppmToMassAbs(T ppm, T mz_ref) - { - return std::fabs(ppmToMass(ppm, mz_ref)); - } + @param ppm Parts-per-million error + @param mz_ref Reference m/z + @return The mass diff in [Th] + */ + template + T ppmToMass(T ppm, T mz_ref) + { + return (ppm / T(1e6)) * mz_ref; + } - /** - @brief Return tolerance window around @p val given tolerance @p tol + /* + @brief Compute the absolute mass diff in [Th], given a ppm value and a reference point. - Note that when ppm is used, the window is not symmetric. In this case, - (right - @p val) > (@p val - left), i.e., the tolerance window also - includes the largest value x which still has @p val in *its* tolerance - window for the given ppms, so the compatibility relation is symmetric. + The returned mass diff is always positive! - @param val Value - @param tol Tolerance - @param ppm Whether @p tol is in ppm or absolute - @return Tolerance window boundaries - */ - inline std::pair getTolWindow(double val, double tol, bool ppm) - { - double left, right; + @param ppm Parts-per-million error + @param mz_ref Reference m/z + @return The absolute mass diff in [Th] + */ + template + T ppmToMassAbs(T ppm, T mz_ref) + { + return std::fabs(ppmToMass(ppm, mz_ref)); + } - if (ppm) - { - left = val - val * tol * 1e-6; - right = val / (1.0 - tol * 1e-6); - } - else - { - left = val - tol; - right = val + tol; - } + /** + @brief Return tolerance window around @p val given tolerance @p tol + + Note that when ppm is used, the window is not symmetric. In this case, + (right - @p val) > (@p val - left), i.e., the tolerance window also + includes the largest value x which still has @p val in *its* tolerance + window for the given ppms, so the compatibility relation is symmetric. + + @param val Value + @param tol Tolerance + @param ppm Whether @p tol is in ppm or absolute + @return Tolerance window boundaries + */ + inline std::pair getTolWindow(double val, double tol, bool ppm) + { + double left, right; - return std::make_pair(left, right); + if (ppm) + { + left = val - val * tol * 1e-6; + right = val / (1.0 - tol * 1e-6); } - - /** - @brief Returns the value of the @p q th quantile (0-1) in a sorted non-empty vector @p x - */ - template typename T1::value_type quantile(const T1 &x, double q) + else { - if (x.empty()) throw Exception::InvalidParameter(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION, - "Quantile requested from empty container."); - if (q < 0.0) q = 0.; - if (q > 1.0) q = 1.; - - const auto n = x.size(); - const auto id = std::max(0., n * q - 1); // -1 for c++ index starting at 0 - const auto lo = floor(id); - const auto hi = ceil(id); - const auto qs = x[lo]; - const auto h = (id - lo); - - return (1.0 - h) * qs + h * x[hi]; + left = val - tol; + right = val + tol; } - // portable random shuffle - class OPENMS_DLLAPI RandomShuffler + return std::make_pair(left, right); + } + + /** + @brief Returns the value of the @p q th quantile (0-1) in a sorted non-empty vector @p x + */ + template + typename T1::value_type quantile(const T1& x, double q) + { + if (x.empty()) throw Exception::InvalidParameter(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION, "Quantile requested from empty container."); + if (q < 0.0) q = 0.; + if (q > 1.0) q = 1.; + + const auto n = x.size(); + const auto id = std::max(0., n * q - 1); // -1 for c++ index starting at 0 + const auto lo = floor(id); + const auto hi = ceil(id); + const auto qs = x[lo]; + const auto h = (id - lo); + + return (1.0 - h) * qs + h * x[hi]; + } + + // portable random shuffle + class OPENMS_DLLAPI RandomShuffler + { + public: + explicit RandomShuffler(int seed): rng_(boost::mt19937_64(seed)) { - public: - explicit RandomShuffler(int seed): - rng_(boost::mt19937_64(seed)) - {} + } - explicit RandomShuffler(const boost::mt19937_64& mt_rng): - rng_(mt_rng) - {} + explicit RandomShuffler(const boost::mt19937_64& mt_rng): rng_(mt_rng) + { + } - RandomShuffler() = default; - ~RandomShuffler() = default; + RandomShuffler() = default; + ~RandomShuffler() = default; - boost::mt19937_64 rng_; - template - void portable_random_shuffle (RandomAccessIterator first, RandomAccessIterator last) + boost::mt19937_64 rng_; + template + void portable_random_shuffle(RandomAccessIterator first, RandomAccessIterator last) + { + for (auto i = (last - first) - 1; i > 0; --i) // OMS_CODING_TEST_EXCLUDE { - for (auto i = (last-first)-1; i > 0; --i) // OMS_CODING_TEST_EXCLUDE - { - boost::uniform_int d(0, i); - std::swap(first[i], first[d(rng_)]); - } + boost::uniform_int d(0, i); + std::swap(first[i], first[d(rng_)]); } + } - void seed(uint64_t val) - { - rng_.seed(val); - } - }; - } // namespace Math + void seed(uint64_t val) + { + rng_.seed(val); + } + }; +} // namespace Math } // namespace OpenMS - diff --git a/src/openms/include/OpenMS/SYSTEM/StopWatch.h b/src/openms/include/OpenMS/SYSTEM/StopWatch.h index 74cf07c91b2..76393276c69 100644 --- a/src/openms/include/OpenMS/SYSTEM/StopWatch.h +++ b/src/openms/include/OpenMS/SYSTEM/StopWatch.h @@ -187,7 +187,7 @@ namespace OpenMS private: #ifdef OPENMS_WINDOWSPLATFORM - typedef OPENMS_UINT64_TYPE TimeType; ///< do not use clock_t on Windows, since its not big enough for larger time intervals + typedef UInt64 TimeType; ///< do not use clock_t on Windows, since its not big enough for larger time intervals static const long long SecondsTo100Nano_; ///< 10 million; convert from 100 nanosecond ticks to seconds (factor of 1 billion/100 = 10 million) #else typedef clock_t TimeType; diff --git a/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/BaseModel.h b/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/BaseModel.h index a56c7170e9b..758d77032dd 100644 --- a/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/BaseModel.h +++ b/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/BaseModel.h @@ -15,19 +15,16 @@ namespace OpenMS { /** - @brief Abstract base class for all D-dimensional models. + @brief Abstract base class for 1-dimensional models. - Every derived class has to implement the static functions - "T* create()" and "const String getProductName()" (see DefaultParamHandler for details) */ - template class BaseModel : public DefaultParamHandler { public: typedef double IntensityType; typedef double CoordinateType; - typedef DPosition PositionType; - typedef typename DPeak::Type PeakType; + typedef DPosition<1> PositionType; + typedef typename DPeak<1>::Type PeakType; typedef std::vector SamplesType; @@ -59,9 +56,6 @@ namespace OpenMS return *this; } - /// register all derived classes here (implemented in file BaseModel_impl.h) - static void registerChildren(); - /// access model predicted intensity at position @p pos virtual IntensityType getIntensity(const PositionType& pos) const = 0; diff --git a/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/BaseModel_impl.h b/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/BaseModel_impl.h index e38a99f59e6..1139946b960 100644 --- a/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/BaseModel_impl.h +++ b/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/BaseModel_impl.h @@ -15,30 +15,11 @@ #include #include #include -#include #include namespace OpenMS { - - template <> - OPENMS_DLLAPI void BaseModel<2>::registerChildren() - { - Factory >::registerProduct(ProductModel<2>::getProductName(), &ProductModel<2>::create); - } - - template <> - OPENMS_DLLAPI void BaseModel<1>::registerChildren() - { - - Factory >::registerProduct(GaussModel::getProductName(), &GaussModel::create); - Factory >::registerProduct(BiGaussModel::getProductName(), &BiGaussModel::create); - Factory >::registerProduct(IsotopeModel::getProductName(), &IsotopeModel::create); - Factory >::registerProduct(ExtendedIsotopeModel::getProductName(), &ExtendedIsotopeModel::create); - Factory >::registerProduct(EmgModel::getProductName(), &EmgModel::create); - - return; - } + } // namespace OpenMS diff --git a/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/BiGaussFitter1D.h b/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/BiGaussFitter1D.h index 438cebd4da0..24079784e03 100644 --- a/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/BiGaussFitter1D.h +++ b/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/BiGaussFitter1D.h @@ -37,21 +37,9 @@ namespace OpenMS /// assignment operator virtual BiGaussFitter1D & operator=(const BiGaussFitter1D & source); - /// create new BiGaussModel object (function needed by Factory) - static Fitter1D * create() - { - return new BiGaussFitter1D(); - } - /// return interpolation model QualityType fit1d(const RawDataArrayType & range, std::unique_ptr& model) override; - /// name of the model (needed by Factory) - static const String getProductName() - { - return "BiGaussFitter1D"; - } - protected: /// statistics for first peak site diff --git a/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/BiGaussModel.h b/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/BiGaussModel.h index 849d24ef3c3..3bcf47f3ad6 100644 --- a/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/BiGaussModel.h +++ b/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/BiGaussModel.h @@ -40,18 +40,6 @@ namespace OpenMS /// assignment operator virtual BiGaussModel & operator=(const BiGaussModel & source); - /// create new BiGaussModel object (function needed by Factory) - static BaseModel<1> * create() - { - return new BiGaussModel(); - } - - /// name of the model (needed by Factory) - static const String getProductName() - { - return "BiGaussModel"; - } - /** @brief set the offset of the model The whole model will be shifted to the new offset without being computing all over diff --git a/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/EmgFitter1D.h b/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/EmgFitter1D.h index 568353256b8..44e81436456 100644 --- a/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/EmgFitter1D.h +++ b/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/EmgFitter1D.h @@ -35,18 +35,6 @@ namespace OpenMS /// assignment operator virtual EmgFitter1D& operator=(const EmgFitter1D& source); - /// create new EmgFitter1D object (function needed by Factory) - static Fitter1D* create() - { - return new EmgFitter1D(); - } - - /// name of the model (needed by Factory) - static const String getProductName() - { - return "EmgFitter1D"; - } - /// return interpolation model QualityType fit1d(const RawDataArrayType& range, std::unique_ptr& model) override; diff --git a/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/EmgModel.h b/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/EmgModel.h index 254d5b82253..57d11c46112 100644 --- a/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/EmgModel.h +++ b/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/EmgModel.h @@ -6,7 +6,6 @@ // $Authors: $ // -------------------------------------------------------------------------- - #pragma once #include @@ -41,18 +40,6 @@ namespace OpenMS /// assignment operator EmgModel & operator=(const EmgModel & source); - /// create new EmgModel object (needed by Factory) - static BaseModel<1> * create() - { - return new EmgModel(); - } - - /// name of the model (needed by Factory) - static const String getProductName() - { - return "EmgModel"; - } - /// set offset without being computing all over and without any discrepancy void setOffset(CoordinateType offset) override; diff --git a/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/ExtendedIsotopeFitter1D.h b/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/ExtendedIsotopeFitter1D.h index 95aad17b3f4..0e308706c91 100644 --- a/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/ExtendedIsotopeFitter1D.h +++ b/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/ExtendedIsotopeFitter1D.h @@ -34,18 +34,6 @@ namespace OpenMS /// assignment operator virtual ExtendedIsotopeFitter1D & operator=(const ExtendedIsotopeFitter1D & source); - /// create new ExtendedIsotopeFitter1D object (function needed by Factory) - static Fitter1D * create() - { - return new ExtendedIsotopeFitter1D(); - } - - /// name of the model (needed by Factory) - static const String getProductName() - { - return "ExtendedIsotopeFitter1D"; - } - /// return interpolation model QualityType fit1d(const RawDataArrayType & range, std::unique_ptr& model) override; diff --git a/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/ExtendedIsotopeModel.h b/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/ExtendedIsotopeModel.h index 4ef4696d274..7791a113179 100644 --- a/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/ExtendedIsotopeModel.h +++ b/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/ExtendedIsotopeModel.h @@ -50,18 +50,6 @@ namespace OpenMS UInt getCharge() const; - /// create new ExtendedIsotopeModel object (needed by Factory) - static BaseModel<1> * create() - { - return new ExtendedIsotopeModel(); - } - - /// name of the model (needed by Factory) - static const String getProductName() - { - return "ExtendedIsotopeModel"; - } - /** @brief set the offset of the model The whole model will be shifted to the new offset without being computing all over. diff --git a/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/FeatureFinder.h b/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/FeatureFinder.h index 1f2d72d8ae2..a912a4d1475 100644 --- a/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/FeatureFinder.h +++ b/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/FeatureFinder.h @@ -57,7 +57,7 @@ as this will disturb most algorithms. Implemented in FeatureFinder_impl.h */ - void run(const String& algorithm_name, PeakMap& input_map, FeatureMap& features, const Param& param, const FeatureMap& seeds); + //void run(const String& algorithm_name, PeakMap& input_map, FeatureMap& features, const Param& param, const FeatureMap& seeds); /// Returns a non-mutable reference to a peak flag const Flag& getPeakFlag(const IndexPair& index) const diff --git a/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/FeatureFinderAlgorithm.h b/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/FeatureFinderAlgorithm.h index d488edc59b8..ac0a74ed15e 100644 --- a/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/FeatureFinderAlgorithm.h +++ b/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/FeatureFinderAlgorithm.h @@ -13,12 +13,13 @@ #include #include #include +#include + namespace OpenMS { // forward declaration - class FeatureFinder; class FeatureMap; /// Summary of fitting results @@ -46,7 +47,8 @@ namespace OpenMS */ class FeatureFinderAlgorithm : - public DefaultParamHandler + public DefaultParamHandler, + public ProgressLogger { public: /// Input map type @@ -60,8 +62,7 @@ namespace OpenMS FeatureFinderAlgorithm() : DefaultParamHandler("FeatureFinderAlgorithm"), map_(nullptr), - features_(nullptr), - ff_(nullptr) + features_(nullptr) { } @@ -71,7 +72,7 @@ namespace OpenMS } /// register all derived classes here (see FeatureFinderAlgorithm_impl.h) - static void registerChildren(); + /// Main method that implements the actual algorithm virtual void run() = 0; @@ -87,11 +88,10 @@ namespace OpenMS } /// Sets a reference to the calling FeatureFinder - void setData(const MapType& map, FeatureMap& features, FeatureFinder& ff) + void setData(const MapType& map, FeatureMap& features) { map_ = ↦ features_ = &features; - ff_ = &ff; } /** @@ -115,9 +115,6 @@ namespace OpenMS /// Output data pointer FeatureMap* features_; - /// Pointer to the calling FeatureFinder that is used to access the feature flags - FeatureFinder* ff_; - private: /// Not implemented diff --git a/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/FeatureFinderAlgorithmMRM.h b/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/FeatureFinderAlgorithmMRM.h index cf2a6bce9ef..f8b7eda1b64 100644 --- a/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/FeatureFinderAlgorithmMRM.h +++ b/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/FeatureFinderAlgorithmMRM.h @@ -44,7 +44,6 @@ namespace OpenMS using FeatureFinderAlgorithm::param_; using FeatureFinderAlgorithm::features_; - using FeatureFinderAlgorithm::ff_; using FeatureFinderAlgorithm::defaults_; using FeatureFinderAlgorithm::map_; @@ -62,10 +61,8 @@ namespace OpenMS /// Main method for actual FeatureFinder void run() override; - static FeatureFinderAlgorithm* create(); - - static const String getProductName(); - + void run(PeakMap& input_map, FeatureMap& features, const Param& param, const FeatureMap& seeds); + protected: double fitRT_(std::vector& rt_input_data, std::unique_ptr& model) const; diff --git a/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/FeatureFinderAlgorithmPicked.h b/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/FeatureFinderAlgorithmPicked.h index 3a2511b4b9d..28f55949100 100644 --- a/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/FeatureFinderAlgorithmPicked.h +++ b/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/FeatureFinderAlgorithmPicked.h @@ -43,7 +43,6 @@ namespace OpenMS using FeatureFinderAlgorithm::param_; using FeatureFinderAlgorithm::features_; - using FeatureFinderAlgorithm::ff_; using FeatureFinderAlgorithm::defaults_; protected: @@ -64,9 +63,7 @@ namespace OpenMS /// Main method for actual FeatureFinder void run() override; - static FeatureFinderAlgorithm* create(); - - static const String getProductName(); + void run(PeakMap& input_map, FeatureMap& features, const Param& param, const FeatureMap& seeds); protected: /// editable copy of the map diff --git a/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/Fitter1D.h b/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/Fitter1D.h index 489de673ca3..ca044d62aaa 100644 --- a/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/Fitter1D.h +++ b/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/Fitter1D.h @@ -23,9 +23,6 @@ namespace OpenMS /** @brief Abstract base class for all 1D-dimensional model fitter. - Every derived class has to implement the static functions - "T* create()" and "const String getProductName()" (see DefaultParamHandler for details) - @htmlinclude OpenMS_Fitter1D.parameters @ingroup FeatureFinder @@ -63,8 +60,7 @@ namespace OpenMS /// return interpolation model virtual QualityType fit1d(const RawDataArrayType& /* range */, std::unique_ptr& /* model */); - /// register all derived classes here - static void registerChildren(); + protected: /// standard derivation in bounding box diff --git a/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/GaussFitter1D.h b/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/GaussFitter1D.h index ae165576c70..6701f5dbbe7 100644 --- a/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/GaussFitter1D.h +++ b/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/GaussFitter1D.h @@ -35,21 +35,9 @@ namespace OpenMS /// assignment operator virtual GaussFitter1D & operator=(const GaussFitter1D & source); - /// create new GaussFitter1D object (function needed by Factory) - static Fitter1D * create() - { - return new GaussFitter1D(); - } - /// return interpolation model QualityType fit1d(const RawDataArrayType & range, std::unique_ptr& model) override; - /// name of the model (needed by Factory) - static const String getProductName() - { - return "GaussFitter1D"; - } - protected: void updateMembers_() override; diff --git a/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/GaussModel.h b/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/GaussModel.h index 51c869752b5..41271dc7cef 100644 --- a/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/GaussModel.h +++ b/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/GaussModel.h @@ -40,18 +40,6 @@ namespace OpenMS /// assignment operator virtual GaussModel & operator=(const GaussModel & source); - /// create new GaussModel object (needed by Factory) - static BaseModel<1> * create() - { - return new GaussModel(); - } - - /// name of the model (needed by Factory) - static const String getProductName() - { - return "GaussModel"; - } - /** @brief set the offset of the model The whole model will be shifted to the new offset without being computing all over. diff --git a/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/InterpolationModel.h b/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/InterpolationModel.h index 51d8e81febe..5906ee2a2f6 100644 --- a/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/InterpolationModel.h +++ b/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/InterpolationModel.h @@ -26,7 +26,7 @@ namespace OpenMS */ class OPENMS_DLLAPI InterpolationModel : - public BaseModel<1> + public BaseModel { public: @@ -38,7 +38,7 @@ namespace OpenMS /// Default constructor InterpolationModel() : - BaseModel<1>(), + BaseModel(), interpolation_() { this->defaults_.setValue("interpolation_step", 0.1, "Sampling rate for the interpolation of the model function "); @@ -48,7 +48,7 @@ namespace OpenMS /// copy constructor InterpolationModel(const InterpolationModel & source) : - BaseModel<1>(source), + BaseModel(source), interpolation_(source.interpolation_), interpolation_step_(source.interpolation_step_), scaling_(source.scaling_) @@ -64,7 +64,7 @@ namespace OpenMS { if (&source == this) return *this; - BaseModel<1>::operator=(source); + BaseModel::operator=(source); interpolation_step_ = source.interpolation_step_; interpolation_ = source.interpolation_; scaling_ = source.scaling_; @@ -116,7 +116,7 @@ namespace OpenMS void getSamples(SamplesType & cont) const override { cont.clear(); - using PeakT = BaseModel<1>::PeakType; + using PeakT = BaseModel::PeakType; PeakT peak; for (Size i = 0; i < interpolation_.getData().size(); ++i) { @@ -162,7 +162,7 @@ namespace OpenMS void updateMembers_() override { - BaseModel<1>::updateMembers_(); + BaseModel::updateMembers_(); interpolation_step_ = this->param_.getValue("interpolation_step"); scaling_ = this->param_.getValue("intensity_scaling"); } diff --git a/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/IsotopeFitter1D.h b/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/IsotopeFitter1D.h index a5215ff0af7..9122bd5e8f3 100644 --- a/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/IsotopeFitter1D.h +++ b/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/IsotopeFitter1D.h @@ -34,18 +34,6 @@ namespace OpenMS /// assignment operator virtual IsotopeFitter1D & operator=(const IsotopeFitter1D & source); - /// create new IsotopeFitter1D object (function needed by Factory) - static Fitter1D * create() - { - return new IsotopeFitter1D(); - } - - /// name of the model (needed by Factory) - static const String getProductName() - { - return "IsotopeFitter1D"; - } - /// return interpolation model QualityType fit1d(const RawDataArrayType & range, std::unique_ptr& model) override; diff --git a/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/IsotopeModel.h b/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/IsotopeModel.h index c759db7766c..b8543bffa1c 100644 --- a/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/IsotopeModel.h +++ b/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/IsotopeModel.h @@ -53,18 +53,6 @@ namespace OpenMS UInt getCharge() const; - /// create new IsotopeModel object (needed by Factory) - static BaseModel<1> * create() - { - return new IsotopeModel(); - } - - /// name of the model (needed by Factory) - static const String getProductName() - { - return "IsotopeModel"; - } - /** @brief set the offset of the model The whole model will be shifted to the new offset without being computing all over. diff --git a/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/ModelDescription.h b/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/ModelDescription.h index ca0c04acc78..f4788af9d06 100644 --- a/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/ModelDescription.h +++ b/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/ModelDescription.h @@ -10,7 +10,6 @@ #include #include -#include #include @@ -43,7 +42,7 @@ namespace OpenMS } /// constructor provided for convenience - ModelDescription(const BaseModel * model) : + ModelDescription(const BaseModel * model) : name_(model->getName()), parameters_(model->getParameters()) { @@ -65,17 +64,6 @@ namespace OpenMS return *this; } - /// creates model from the parameters defined in this class - /// returns 0 if no description is set. - BaseModel * createModel() - { - if (name_.empty()) return nullptr; - - BaseModel * model = Factory >::create(name_); - model->setParameters(parameters_); - return model; - } - /** Accessors */ //@{ /// Non-mutable access to model name diff --git a/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/ProductModel.h b/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/ProductModel.h deleted file mode 100644 index adf74882507..00000000000 --- a/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/ProductModel.h +++ /dev/null @@ -1,258 +0,0 @@ -// Copyright (c) 2002-present, The OpenMS Team -- EKU Tuebingen, ETH Zurich, and FU Berlin -// SPDX-License-Identifier: BSD-3-Clause -// -// -------------------------------------------------------------------------- -// $Maintainer: Timo Sachsenberg $ -// $Authors: $ -// -------------------------------------------------------------------------- - - -#pragma once - -#include -#include -#include -#include -#include - -namespace OpenMS -{ - - /** - @brief Class for product models i.e. models with D independent dimensions - - The predicted intensity is simply the product of the intensities in each dimension - - @htmlinclude OpenMS_ProductModel.parameters - - @ingroup FeatureFinder - */ - template - class ProductModel; - - /// The class template is only implemented for D=2 because we use Peak2D here. - template <> - class OPENMS_DLLAPI ProductModel<2>: - public BaseModel<2> - { -public: - - /// Number of dimensions - enum {D = 2}; - - typedef double IntensityType; - typedef DPosition PositionType; - typedef BaseModel::SamplesType SamplesType; - - /// Default constructor - ProductModel() : - BaseModel(), - distributions_(D, nullptr) - { - this->setName(this->getProductName()); - - //Register model info - for (UInt dim = 0; dim < D; ++dim) - { - String name = Peak2D::shortDimensionName(dim); - this->subsections_.push_back(name); - this->defaults_.setValue(name, "GaussModel", "Name of the model used for this dimension"); - } - - //defaults - this->defaults_.setValue("intensity_scaling", 1.0, "Scaling factor used to adjust the model distribution to the intensities of the data"); - this->defaultsToParam_(); - } - - /// copy constructor - ProductModel(const ProductModel & source) : - BaseModel(source), - distributions_(D, nullptr), - scale_(source.scale_) - { - for (UInt dim = 0; dim < D; ++dim) - { - // clone source model - if (source.distributions_[dim]) - { - ModelDescription<1> desc(source.distributions_[dim]); - setModel(dim, desc.createModel()); - } - } - updateMembers_(); - } - - /// destructor - ~ProductModel() override - { - for (Size dim = 0; dim < D; ++dim) - { - delete distributions_[dim]; - } - } - - /// assignment operator - virtual ProductModel & operator=(const ProductModel & source) - { - if (&source == this) return *this; - - BaseModel::operator=(source); - scale_ = source.scale_; - - for (UInt dim = 0; dim < D; ++dim) - { - if (source.distributions_[dim]) - { - // clone source model - ModelDescription<1> desc(source.distributions_[dim]); - setModel(dim, desc.createModel()); - } - else - { - distributions_[dim] = nullptr; - } - } - updateMembers_(); - - return *this; - } - - /// intensity equals product of intensities in each dimension - IntensityType getIntensity(const PositionType & pos) const override - { - IntensityType intens(scale_); - for (UInt dim = 0; dim < D; ++dim) - { - if (distributions_[dim] == nullptr) - { - throw Exception::BaseException(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION, String("ProductModel: model for dimension ") + dim + " not set.", ""); - } - intens *= distributions_[dim]->getIntensity(pos[dim]); - } - return intens; - } - - /// create new ProductModel object (needed by Factory) - static BaseModel * create() - { - return new ProductModel(); - } - - /// Returns the name of the model - static const String getProductName() - { - return String("ProductModel") + D + "D"; - } - - /** @brief set model @p dist for dimension @p dim - - @p dist is supposed to be allocated by new because it will be freed if - ProductModel is destroyed or the model for that dimensions changes. - For that reason no model @p dist should be assigned to multiple ProductModels.
    - ProductModel parameters are set when calling ProductModel::getParameters(). - */ - ProductModel & setModel(UInt dim, BaseModel<1> * dist) - { - OPENMS_PRECONDITION(dim < D, "ProductModel:getModel(Position): index overflow!"); - if (dist == nullptr || dist == distributions_[dim]) - { - return *this; - } - - delete distributions_[dim]; - distributions_[dim] = dist; - - // Update model info - String name = Peak2D::shortDimensionName(dim); - this->param_.removeAll(name + ':'); - this->param_.insert(name + ':', distributions_[dim]->getParameters()); - this->param_.setValue(name, distributions_[dim]->getName()); - - return *this; - } - - BaseModel<1> * getModel(UInt dim) const - { - OPENMS_PRECONDITION(dim < D, "ProductModel:getModel(Position): index overflow!"); - return distributions_[dim]; - } - - /// return the intensity scaling factor - IntensityType getScale() const - { - return scale_; - } - - /// set the intensity scaling factor - void setScale(IntensityType scale) - { - this->setCutOff(this->getCutOff() / scale_); // remove scaling from cutoff - scale_ = scale; - this->param_.setValue("intensity_scaling", scale); - this->setCutOff(this->getCutOff() * scale_); // scale cutoff - } - - /// get reasonable set of samples from the model (i.e. for printing) - void getSamples(SamplesType & cont) const override - { - cont.clear(); - typedef BaseModel<1>::SamplesType Samples1D; - std::vector samples(D); - // get samples for each dimension - for (Size dim = 0; dim < D; ++dim) - { - distributions_[dim]->getSamples(samples[dim]); - } - - BaseModel::PeakType peak; - std::vector i(D, 0); // index vector - - while (i[D - 1] < samples[D - 1].size()) - { - for (UInt dim = 0; dim < D; ++dim) - { - peak.getPosition()[dim] = samples[dim][i[dim]].getPosition()[0]; - } - fillIntensity(peak); - cont.push_back(peak); - - ++i[0]; - for (Size dim = 0; dim < D - 1; ++dim) - { - if (i[dim] >= samples[dim].size()) - { - i[dim] = 0; - ++i[dim + 1]; - } - } - } - return; - } - -protected: - void updateMembers_() override - { - BaseModel::updateMembers_(); - scale_ = (double)(this->param_.getValue("intensity_scaling")); - for (UInt dim = 0; dim < D; ++dim) - { - String name = Peak2D::shortDimensionName(dim); - if (this->param_.exists(name)) - { - delete distributions_[dim]; - distributions_[dim] = Factory >::create(this->param_.getValue(name).toString()); - Param copy = this->param_.copy(name + ":", true); - distributions_[dim]->setParameters(copy); - if (distributions_[dim]->getName().hasSubstring("IsotopeModel")) - { - static_cast(distributions_[dim])->setSamples(static_cast(distributions_[dim])->getFormula()); - } - } - } - } - - std::vector *> distributions_; - IntensityType scale_; - }; -} - diff --git a/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/sources.cmake b/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/sources.cmake index bab30fe67bb..6bd898db691 100644 --- a/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/sources.cmake +++ b/src/openms/include/OpenMS/TRANSFORMATIONS/FEATUREFINDER/sources.cmake @@ -45,7 +45,6 @@ MultiplexIsotopicPeakPattern.h MultiplexSatelliteCentroided.h MultiplexSatelliteProfile.h PeakWidthEstimator.h -ProductModel.h SeedListGenerator.h TraceFitter.h ) diff --git a/src/openms/include/OpenMS/config.h.in b/src/openms/include/OpenMS/config.h.in index e330b03c71f..4da34830b46 100755 --- a/src/openms/include/OpenMS/config.h.in +++ b/src/openms/include/OpenMS/config.h.in @@ -102,23 +102,13 @@ static constexpr cstr past_last_slash(cstr str) // Define on 64 bit architectures #cmakedefine OPENMS_64BIT_ARCHITECTURE -#define OPENMS_INT32_TYPE @CF_OPENMS_INT32_TYPE@ -#define OPENMS_INT64_TYPE @CF_OPENMS_INT64_TYPE@ -#define OPENMS_BYTE_TYPE @CF_OPENMS_BYTE_TYPE@ -#define OPENMS_UINT32_TYPE @CF_OPENMS_UINT32_TYPE@ -#define OPENMS_UINT64_TYPE @CF_OPENMS_UINT64_TYPE@ -//#define OPENMS_SIZE_T_SIGNED @CF_OPENMS_SIZE_T_SIGNED@ - -// if you ever want to do abs() or floor() on this type in VC then use _abs64() and include (no kidding!) -#define PointerSizeInt @CF_OPENMS_INT64_TYPE@ -#define PointerSizeUInt @CF_OPENMS_UINT64_TYPE@ +#define PointerSizeInt int64_t +#define PointerSizeUInt uint64_t #cmakedefine OPENMS_HAS_UNISTD_H #cmakedefine OPENMS_HAS_PROCESS_H -#cmakedefine OPENMS_HAS_STDINT_H #cmakedefine OPENMS_HAS_TIME_H -#cmakedefine OPENMS_HAS_SYS_TYPES_H #cmakedefine OPENMS_HAS_SYS_TIMES_H #cmakedefine OPENMS_HAS_SYS_TIME_H #cmakedefine OPENMS_HAS_SYS_RESOURCE_H diff --git a/src/openms/source/ANALYSIS/ID/HiddenMarkovModel.cpp b/src/openms/source/ANALYSIS/ID/HiddenMarkovModel.cpp deleted file mode 100644 index dbb2e041d3f..00000000000 --- a/src/openms/source/ANALYSIS/ID/HiddenMarkovModel.cpp +++ /dev/null @@ -1,1109 +0,0 @@ -// Copyright (c) 2002-present, The OpenMS Team -- EKU Tuebingen, ETH Zurich, and FU Berlin -// SPDX-License-Identifier: BSD-3-Clause -// -// -------------------------------------------------------------------------- -// $Maintainer: Timo Sachsenberg $ -// $Authors: Andreas Bertsch $ -// -------------------------------------------------------------------------- - -#include -#include -#include -#include -#include - -#include -#include -#include - -// #define SIMPLE_DEBUG2 -// #undef SIMPLE_DEBUG2 - -// #define HIDDEN_MARKOV_MODEL_DEBUG -// #undef HIDDEN_MARKOV_MODEL_DEBUG - -// #define STATE_DEBUG -// #undef STATE_DEBUG - -// #define EVALUATE_DEBUG -// #undef EVALUATE_DEBUG - -using namespace std; - -namespace OpenMS -{ - // HMMState implementation - HMMState::HMMState() : - hidden_(true) - { - } - - HMMState::HMMState(const String & name, bool hidden) : - hidden_(hidden), - name_(name) - { -#ifdef STATE_DEBUG - cerr << "State: " << name << ", hidden=" << hidden << endl; -#endif - } - - HMMState::HMMState(const HMMState & state) : - hidden_(state.hidden_), - name_(state.name_) - { - } - - /* pre_states_(state.pre_states_), - succ_states_(state.succ_states_) - { - - }*/ - - HMMState::~HMMState() = default; - - void HMMState::setName(const String & name) - { - name_ = name; - } - - const String & HMMState::getName() const - { - return name_; - } - - HMMState & HMMState::operator=(const HMMState & state) - { - hidden_ = state.hidden_; - name_ = state.name_; - pre_states_.clear(); - succ_states_.clear(); - //pre_states_ = state.pre_states_; - //succ_states_ = state.succ_states_; - return *this; - } - - void HMMState::addSuccessorState(HMMState * state) - { -#ifdef SIMPLE_DEBUG - cerr << "'" << state->getName() << "'" << endl; -#endif - succ_states_.insert(state); - } - - void HMMState::deleteSuccessorState(HMMState * state) - { -#ifdef SIMPLE_DEBUG - cerr << "'" << state->getName() << "'" << endl; -#endif - succ_states_.erase(state); - } - - void HMMState::addPredecessorState(HMMState * state) - { -#ifdef SIMPLE_DEBUG - cerr << "'" << state->getName() << "'" << endl; -#endif - pre_states_.insert(state); - } - - void HMMState::deletePredecessorState(HMMState * state) - { -#ifdef SIMPLE_DEBUG - cerr << "'" << state->getName() << "'" << endl; -#endif - pre_states_.erase(state); - } - - const set & HMMState::getPredecessorStates() const - { - return pre_states_; - } - - const set & HMMState::getSuccessorStates() const - { - return succ_states_; - } - - bool HMMState::isHidden() const - { - return hidden_; - } - - void HMMState::setHidden(bool hidden) - { - hidden_ = hidden; - } - - // The hidden markov model - HiddenMarkovModel::HiddenMarkovModel() : - pseudo_counts_(0.0) - { - } - - HiddenMarkovModel::HiddenMarkovModel(const HiddenMarkovModel & hmm) - { - copy_(hmm); - } - - HiddenMarkovModel::~HiddenMarkovModel() - { - clear(); - } - - HiddenMarkovModel & HiddenMarkovModel::operator=(const HiddenMarkovModel & hmm) - { - if (&hmm != this) - { - clear(); - copy_(hmm); - } - return *this; - } - - HMMState * HiddenMarkovModel::getState(const String & name) - { - if (name_to_state_.find(name) == name_to_state_.end()) - { - throw Exception::ElementNotFound(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION, name); - } - return name_to_state_[name]; - } - - const HMMState * HiddenMarkovModel::getState(const String & name) const - { - if (name_to_state_.find(name) == name_to_state_.end()) - { - throw Exception::ElementNotFound(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION, name); - } - return name_to_state_.find(name)->second; - } - - void HiddenMarkovModel::writeGraphMLFile(const String & filename) - { - set states = states_; - std::map > transitions; - - ofstream out(filename.c_str()); - out << R"()" << endl; - - out << R"(" << endl; - - out << R"()" << endl; - out << R"()" << endl; - out << R"( )" << endl; - for (set::const_iterator it = states.begin(); it != states.end(); ++it) - { - out << " getName() << "\">" << endl; - out << " " << endl; - out << " " << endl; - out << " " << (*it)->getName() << "" << endl; - out << " " << endl; - out << " " << endl; - out << " " << endl; - - set succ = (*it)->getSuccessorStates(); - for (set::const_iterator sit = succ.begin(); sit != succ.end(); ++sit) - { - transitions[*it].push_back(*sit); - } - } - - - - for (std::map >::const_iterator it = transitions.begin(); it != transitions.end(); ++it) - { - for (vector::const_iterator it1 = it->second.begin(); it1 != it->second.end(); ++it1) - { - out << " first->getName() << "\" target=\"" << (*it1)->getName() << R"(" directed="true">)" << endl; - out << " " << endl; - out << " " << endl; - out << " " << getTransitionProbability_(it->first, *it1) << "" << endl; - out << " " << endl; - out << " " << endl; - out << " " << endl; - } - } - - out << " " << endl; - out << "" << endl; - - } - - void HiddenMarkovModel::write(ostream & out) const - { - // write states - for (set::const_iterator it = states_.begin(); it != states_.end(); ++it) - { - out << "State " << (*it)->getName(); - - if (!(*it)->isHidden()) - { - out << " false"; - } - out << endl; - } - - // write transitions - for (std::map >::const_iterator it1 = trans_.begin(); it1 != trans_.end(); ++it1) - { - for (std::map::const_iterator it2 = it1->second.begin(); it2 != it1->second.end(); ++it2) - { - out << "Transition " << it1->first->getName() << " " << it2->first->getName() << " " << it2->second << endl; - } - } - - // write synonyms - /* - for (Map > >::const_iterator it = synonym_trans_names_.begin(); it != synonym_trans_names_.end(); ++it) - { - for (Map >::const_iterator it2 = it->second.begin(); it2 != it->second.end(); ++it2) - { - out << "Synonym " << it->first << " " << it2->first << " " << it2->second.first << " " << it2->second.second << endl; - } - }*/ - - for (std::map > >::const_iterator it1 = synonym_trans_.begin(); it1 != synonym_trans_.end(); ++it1) - { - for (std::map >::const_iterator it2 = it1->second.begin(); it2 != it1->second.end(); ++it2) - { - //cerr << "Synonym " << it1->first->getName() << " " << it2->first->getName() << " " << it2->second.first->getName() << " " << it2->second.second->getName() << endl; - out << "Synonym " << it1->first->getName() << " " << it2->first->getName() << " " << it2->second.first->getName() << " " << it2->second.second->getName() << endl; - } - } - - return; - } - - void HiddenMarkovModel::clear() - { - for (set::const_iterator it = states_.begin(); it != states_.end(); ++it) - { - delete *it; - } - trans_.clear(); - count_trans_.clear(); - train_count_trans_all_.clear(); - forward_.clear(); - backward_.clear(); - name_to_state_.clear(); - train_emission_prob_.clear(); - init_prob_.clear(); - states_.clear(); - trained_trans_.clear(); - synonym_trans_.clear(); - synonym_trans_names_.clear(); - var_modifications_ = ListUtils::create(""); - return; - } - - Size HiddenMarkovModel::getNumberOfStates() const - { - return states_.size(); - } - - void HiddenMarkovModel::addNewState(HMMState * s) - { - states_.insert(s); - if (name_to_state_.find(s->getName()) == name_to_state_.end()) - { - name_to_state_[s->getName()] = s; - } - else - { - cerr << "HiddenMarkovModel: state name '" << s->getName() << "' (" << s << ") already used!" << endl; - } - } - - void HiddenMarkovModel::addNewState(const String & name) - { - HMMState * s = new HMMState(name); - states_.insert(s); - if (name_to_state_.find(name) == name_to_state_.end()) - { - name_to_state_[name] = s; - } - else - { - cerr << "HiddenMarkovModel: state name '" << name << "' (" << name_to_state_[name] << ") already used!" << endl; - } - return; - } - - void HiddenMarkovModel::addSynonymTransition(const String & name1, const String & name2, const String & synonym1, const String & synonym2) - { -#ifdef SIMPLE_DEBUG2 - cerr << "addSynonymTransition: '" << name1 << "' -> '" << name2 << "' :: '" << synonym1 << "' -> '" << synonym2 << "'" << endl; -#endif - if (name_to_state_.find(name1) == name_to_state_.end()) - { - cerr << "state '" << name1 << "' unknown" << endl; - } - if (name_to_state_.find(name2) == name_to_state_.end()) - { - cerr << "state '" << name2 << "' unknown" << endl; - } - if (name_to_state_.find(synonym1) == name_to_state_.end()) - { - cerr << "state '" << synonym1 << "' unknown" << endl; - } - if (name_to_state_.find(synonym2) == name_to_state_.end()) - { - cerr << "state '" << synonym2 << "' unknown" << endl; - } - synonym_trans_names_[synonym1][synonym2] = make_pair(name1, name2); - - synonym_trans_[name_to_state_[synonym1]][name_to_state_[synonym2]] = make_pair(name_to_state_[name1], name_to_state_[name2]); - -/* - for (Map > >::const_iterator it = synonym_trans_names_.begin(); it != synonym_trans_names_.end(); ++it) - { - for (Map >::const_iterator it2 = it->second.begin(); it2 != it->second.end(); ++it2) - { - synonym_trans_[name_to_state_[it->first]][name_to_state_[it2->first]] = - make_pair(name_to_state_[it2->second.first], name_to_state_[it2->second.second]); - } - } - */ - } - - void HiddenMarkovModel::setTransitionProbability_(HMMState * s1, HMMState * s2, double trans_prob) - { - trans_[s1][s2] = trans_prob; - s1->addSuccessorState(s2); - s2->addPredecessorState(s1); - enabled_trans_[s1].insert(s2); - training_steps_count_[s1][s2] = 0; - } - - void HiddenMarkovModel::setTransitionProbability(const String & s1, const String & s2, double trans_prob) - { - OPENMS_PRECONDITION( - name_to_state_.find(s1) != name_to_state_.end() && name_to_state_.find(s2) != name_to_state_.end(), - String("HiddenMarkovModel::setTransitionProbability(" + String(s1) + ", " + String(s2) + ", " + String(trans_prob) + "), no suchstate!").c_str()); -#ifdef SIMPLE_DEBUG2 - cerr << "setTransitionProbability: '" << s1 << "' -> '" << s2 << "'" << " " << trans_prob << endl; -#endif - - trans_[name_to_state_[s1]][name_to_state_[s2]] = trans_prob; - name_to_state_[s1]->addSuccessorState(name_to_state_[s2]); - name_to_state_[s2]->addPredecessorState(name_to_state_[s1]); - enabled_trans_[name_to_state_[s1]].insert(name_to_state_[s2]); - training_steps_count_[name_to_state_[s1]][name_to_state_[s2]] = 0; - } - - double HiddenMarkovModel::getTransitionProbability(const String & s1, const String & s2) const - { - if (name_to_state_.find(s1) == name_to_state_.end()) - { - throw Exception::ElementNotFound(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION, s1); - } - HMMState * state1 = name_to_state_.at(s1); - if (name_to_state_.find(s2) == name_to_state_.end()) - { - throw Exception::ElementNotFound(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION, s2); - } - HMMState * state2 = name_to_state_.at(s2); - return getTransitionProbability_(state1, state2); - } - - double HiddenMarkovModel::getTransitionProbability_(HMMState * s1, HMMState * s2) const - { - HMMState * state1 = s1; - HMMState * state2 = s2; - -#ifdef SIMPLE_DEBUG2 - cerr << "getTransitionProbability(" << s1->getName() << ", " << s2->getName() << ")" << endl; -#endif - - // check if transition is a synonym transition - if (synonym_trans_.find(state1) != synonym_trans_.end() && - synonym_trans_.find(state1)->second.find(state2) != synonym_trans_.find(state1)->second.end()) - { - HMMState * tmp = synonym_trans_.find(state1)->second.find(state2)->second.first; - state2 = synonym_trans_.find(state1)->second.find(state2)->second.second; //name_to_state_[p.second]; - state1 = tmp; - } - -#ifdef SIMPLE_DEBUG2 - cerr << "getTransitionProbability: " << state1->getName() << " " << state2->getName() << endl; -#endif - - // get the transition prob - if (trans_.find(state1) != trans_.end() && trans_.find(state1)->second.find(state2) != trans_.find(state1)->second.end()) - { - /* - // TODO !!!! ???? path length correction - if (state2->getName().hasSubstring("next")) - { - return sqrt(trans_[state1][state2]); - } - else - {*/ - return trans_.find(state1)->second.find(state2)->second; - /* - } - */ - } - else - { - return 0; - } - } - - void HiddenMarkovModel::train() - { -#ifdef HIDDEN_MARKOV_MODEL_DEBUG - cerr << "HiddenMarkovModel::train()" << endl; -#endif - trained_trans_.clear(); - -#ifdef HIDDEN_MARKOV_MODEL_DEBUG - cerr << "calc forward part" << endl; -#endif - - calculateForwardPart_(); - -#ifdef HIDDEN_MARKOV_MODEL_DEBUG - cerr << "calc backward part" << endl; -#endif - - calculateBackwardPart_(); - - -#ifdef HIDDEN_MARKOV_MODEL_DEBUG - cerr << "calc px" << endl; -#endif - - // calc p_x from forward part - double px(0); - - for (std::map::const_iterator it1 = train_emission_prob_.begin(); it1 != train_emission_prob_.end(); ++it1) - { - for (set::const_iterator it2 = it1->first->getPredecessorStates().begin(); it2 != it1->first->getPredecessorStates().end(); ++it2) - { - px += getForwardVariable_(*it2); - } - } - - double num_px(0); - if (px != 0) - { - num_px = 1.0 / px; - } - -#ifdef HIDDEN_MARKOV_MODEL_DEBUG - cerr << "px=" << num_px << endl; - cerr << "add contributions to count_trans" << endl; -#endif - - // add contributions to count_trans_ - for (set >::const_iterator it = trained_trans_.begin(); it != trained_trans_.end(); ++it) - { - double tmp(0); - tmp = num_px * getForwardVariable_(it->first) * getBackwardVariable_(it->second) * getTransitionProbability_(it->first, it->second); - tmp += pseudo_counts_; - HMMState * s1 = it->first; - HMMState * s2 = it->second; - - if (synonym_trans_.find(s1) != synonym_trans_.end() && synonym_trans_[s1].find(s2) != synonym_trans_[s1].end()) - { - HMMState * tmp_state = synonym_trans_[s1][s2].first; - s2 = synonym_trans_[s1][s2].second; - s1 = tmp_state; - } - - train_count_trans_all_[s1][s2].push_back(tmp); - if (count_trans_.find(s1) != count_trans_.end() && count_trans_[s1].find(s2) != count_trans_[s1].end()) - { - count_trans_[s1][s2] += tmp; - } - else - { - count_trans_[s1][s2] = tmp; - } - training_steps_count_[s1][s2]++; - } - } - - void HiddenMarkovModel::calculateForwardPart_() - { - forward_.clear(); - set succ; - for (std::map::iterator it = init_prob_.begin(); it != init_prob_.end(); ++it) - { - //cerr << it->first << " " << it->second << endl; - //cerr << it->first->getName() << endl; - forward_[it->first] = it->second; - } - - for (std::map::iterator outer_it = init_prob_.begin(); outer_it != init_prob_.end(); ++outer_it) - { - succ.insert(outer_it->first->getSuccessorStates().begin(), outer_it->first->getSuccessorStates().end()); - - while (!succ.empty()) - { - set succ_new; - for (set::const_iterator inner_it = succ.begin(); inner_it != succ.end(); ++inner_it) - { - set pre = (*inner_it)->getPredecessorStates(); - double sum(0); - for (set::const_iterator it2 = pre.begin(); it2 != pre.end(); ++it2) - { -#ifdef HIDDEN_MARKOV_MODEL_DEBUG - cerr << "\tadding from " << (*it2)->getName() << " " << getForwardVariable_(*it2) << " * " << getTransitionProbability(*it2, *inner_it) << endl; -#endif - sum += getForwardVariable_(*it2) * getTransitionProbability_(*it2, *inner_it); - trained_trans_.insert(make_pair(*it2, *inner_it)); - } - forward_[*inner_it] = sum; - succ_new.insert((*inner_it)->getSuccessorStates().begin(), (*inner_it)->getSuccessorStates().end()); -#ifdef HIDDEN_MARKOV_MODEL_DEBUG - cerr << "f: " << (*inner_it)->getName() << "\t" << sum << endl; -#endif - } - succ = succ_new; - } - } - } - - void HiddenMarkovModel::calculateBackwardPart_() - { - backward_.clear(); - set pre; - for (std::map::iterator it = train_emission_prob_.begin(); it != train_emission_prob_.end(); ++it) - { - backward_[it->first] = it->second; - } - - for (std::map::iterator outer_it = train_emission_prob_.begin(); outer_it != train_emission_prob_.end(); ++outer_it) - { -#ifdef HIDDEN_MARKOV_MODEL_DEBUG - cerr << "b:" << outer_it->first << " " << outer_it->first->getName() << " " << outer_it->second << endl; -#endif - pre.insert(outer_it->first->getPredecessorStates().begin(), outer_it->first->getPredecessorStates().end()); - - while (!pre.empty()) - { - set pre_new; - for (set::const_iterator inner_it = pre.begin(); inner_it != pre.end(); ++inner_it) - { - set succ = (*inner_it)->getSuccessorStates(); - double sum(0); - for (set::const_iterator it2 = succ.begin(); it2 != succ.end(); ++it2) - { -#ifdef HIDDEN_MARKOV_MODEL_DEBUG - cerr << "\tadding from " << (*it2)->getName() << " " << getBackwardVariable_(*it2) << " * " << getTransitionProbability(*inner_it, *it2) << endl; -#endif - sum += getBackwardVariable_(*it2) * getTransitionProbability_(*inner_it, *it2); - trained_trans_.insert(make_pair(*inner_it, *it2)); - } - backward_[*inner_it] = sum; - pre_new.insert((*inner_it)->getPredecessorStates().begin(), (*inner_it)->getPredecessorStates().end()); -#ifdef HIDDEN_MARKOV_MODEL_DEBUG - cerr << "b: " << (*inner_it)->getName() << "\t" << sum << endl; -#endif - } - pre = pre_new; - } - } - } - - double HiddenMarkovModel::getForwardVariable_(HMMState * state) - { - return forward_.find(state) != forward_.end() ? forward_[state] : 0; - } - - double HiddenMarkovModel::getBackwardVariable_(HMMState * state) - { - return backward_.find(state) != backward_.end() ? backward_[state] : 0; - } - - void HiddenMarkovModel::evaluate() - { - for (std::map >::const_iterator it1 = count_trans_.begin(); it1 != count_trans_.end(); ++it1) - { -#ifdef EVALUATE_DEBUG - cerr << it1->first->getName() << endl; -#endif - double sum(0); - for (std::map::const_iterator it2 = it1->second.begin(); it2 != it1->second.end(); ++it2) - { - if (count_trans_.find(it1->first) != count_trans_.end() && - count_trans_[it1->first].find(it2->first) != count_trans_[it1->first].end()) - { - sum += count_trans_[it1->first][it2->first]; -#ifdef EVALUATE_DEBUG - cerr << it1->first->getName() << " " << it2->first->getName() << " "; - - //<< count_trans_[it1->first][it2->first] << endl; - for (vector::const_iterator it = train_count_trans_all_[it1->first][it2->first].begin(); it != train_count_trans_all_[it1->first][it2->first].end(); ++it) - { - cerr << *it << " "; - } - vector data = train_count_trans_all_[it1->first][it2->first]; - std::sort(data.begin(), data.end()); - double mean = Math::mean(data.begin(), data.end()); - double variance = Math::variance(data.begin(), data.end(), mean); - cerr << "mean=" << mean << ", variance=" << variance << endl; -#endif - } - } - - if (sum != 0) - { - for (std::map::const_iterator it2 = it1->second.begin(); it2 != it1->second.end(); ++it2) - { - if (count_trans_.find(it1->first) != count_trans_.end() && - count_trans_[it1->first].find(it2->first) != count_trans_[it1->first].end()) - { - trans_[it1->first][it2->first] = count_trans_[it1->first][it2->first] / sum; - } - } - } - } - } - - void HiddenMarkovModel::setInitialTransitionProbability(const String & state, double prob) - { - OPENMS_PRECONDITION(name_to_state_.find(state) != name_to_state_.end(), String("HiddenMarkovModel::setInitialTransitionProbability(" + state + ", " + String(prob) + "), no suchstate!").c_str()); - //cerr << state << " " << prob << endl; - init_prob_[name_to_state_[state]] = prob; - } - - void HiddenMarkovModel::clearInitialTransitionProbabilities() - { - init_prob_.clear(); - } - - void HiddenMarkovModel::setTrainingEmissionProbability(const String & state, double prob) - { -#ifdef SIMPLE_DEBUG2 - cerr << "setTrainingEmissionProbability(" << state << "(" << name_to_state_[state] << "), " << prob << ")" << endl; -#endif - - OPENMS_PRECONDITION(name_to_state_.find(state) != name_to_state_.end(), String("HiddenMarkovModel::setTrainingEmissionProbability(" + state + ", " + String(prob) + "), no such state!").c_str()); - train_emission_prob_[name_to_state_[state]] = prob; - } - - void HiddenMarkovModel::clearTrainingEmissionProbabilities() - { - train_emission_prob_.clear(); - } - - void HiddenMarkovModel::enableTransition(const String & s1, const String & s2) - { -#ifdef SIMPLE_DEBUG2 - cerr << "enableTransition: '" << s1 << "' -> '" << s2 << "'" << endl; -#endif - enableTransition_(name_to_state_[s1], name_to_state_[s2]); - } - - void HiddenMarkovModel::enableTransition_(HMMState * s1, HMMState * s2) - { - s1->addSuccessorState(s2); - s2->addPredecessorState(s1); - enabled_trans_[s1].insert(s2); - } - - void HiddenMarkovModel::disableTransition(const String & s1, const String & s2) - { - disableTransition_(name_to_state_[s1], name_to_state_[s2]); - } - - void HiddenMarkovModel::disableTransition_(HMMState * s1, HMMState * s2) - { - s1->deleteSuccessorState(s2); - s2->deletePredecessorState(s1); - enabled_trans_[s1].erase(s2); - } - - void HiddenMarkovModel::disableTransitions() - { - for (std::map >::const_iterator it = enabled_trans_.begin(); it != enabled_trans_.end(); ++it) - { - for (set::const_iterator it2 = it->second.begin(); it2 != it->second.end(); ++it2) - { - it->first->deleteSuccessorState(*it2); - (*it2)->deletePredecessorState(it->first); - } - } - enabled_trans_.clear(); - } - - void HiddenMarkovModel::calculateEmissionProbabilities(std::map & emission_probs) - { - std::map states = init_prob_; - - while (!states.empty()) - { - std::map tmp = states; - for (std::map::const_iterator it = tmp.begin(); it != tmp.end(); ++it) - { - for (set::const_iterator it2 = it->first->getSuccessorStates().begin(); it2 != it->first->getSuccessorStates().end(); ++it2) - { - //cerr << "->" << (*it2)->getName() << "=(from " << it->first->getName() << "): "; // << states[it->first] << " * " << getTransitionProbability_(it->first, *it2) << " "; - if (states.find(*it2) != states.end()) - { - //cerr << " += " << states[it->first] * getTransitionProbability_(it->first, *it2); - states[*it2] += states[it->first] * getTransitionProbability_(it->first, *it2); - } - else - { - //cerr << " = " << states[it->first] * getTransitionProbability_(it->first, *it2); - states[*it2] = states[it->first] * getTransitionProbability_(it->first, *it2); - } - if (!(*it2)->isHidden()) - { - if (emission_probs.find(*it2) != emission_probs.end()) - { - //cerr << " emission: += " << states[it->first] * getTransitionProbability_(it->first, *it2); - emission_probs[*it2] += states[it->first] * getTransitionProbability_(it->first, *it2); - } - else - { - //cerr << " emission: += " << states[it->first] * getTransitionProbability_(it->first, *it2); - emission_probs[*it2] = states[it->first] * getTransitionProbability_(it->first, *it2); - } - } - //cerr << endl; - } - states.erase(it->first); - } - } - - return; - } - - void HiddenMarkovModel::dump() - { - cerr << "dump of transitions: " << endl; - for (std::map >::const_iterator it = trans_.begin(); it != trans_.end(); ++it) - { - for (std::map::const_iterator it1 = it->second.begin(); it1 != it->second.end(); ++it1) - { - cout << it->first->getName() << " -> " << it1->first->getName() << " " << it1->second << " " << training_steps_count_[it->first][it1->first] << ": "; - vector all_trans = train_count_trans_all_[it->first][it1->first]; - - if (!all_trans.empty()) - { - double sum = accumulate(all_trans.begin(), all_trans.end(), 0.0); - double avg(sum / double(all_trans.size())); - double rsd(0); - for (Size i = 0; i != all_trans.size(); ++i) - { - cout << all_trans[i] << " "; - rsd += abs(all_trans[i] - avg); - } - cout << "rsd=" << rsd / double(all_trans.size()) / avg; - cout << ", avg=" << avg; - } - - cout << endl; - } - } - - cerr << "dump completed" << endl; - } - - void HiddenMarkovModel::forwardDump() - { - set succ; - for (std::map::iterator outer_it = init_prob_.begin(); outer_it != init_prob_.end(); ++outer_it) - { - succ.insert(outer_it->first->getSuccessorStates().begin(), outer_it->first->getSuccessorStates().end()); - - while (!succ.empty()) - { - set succ_new; - for (set::const_iterator inner_it = succ.begin(); inner_it != succ.end(); ++inner_it) - { - cerr << (*inner_it)->getName() << endl; - succ_new.insert((*inner_it)->getSuccessorStates().begin(), (*inner_it)->getSuccessorStates().end()); - } - succ = succ_new; - } - } - } - - void HiddenMarkovModel::estimateUntrainedTransitions() - { -#ifdef HIDDEN_MARKOV_MODEL_DEBUG - cerr << "Transition training stats" << endl; - for (Map >::const_iterator it = training_steps_count_.begin(); it != training_steps_count_.end(); ++it) - { - for (Map::const_iterator it1 = it->second.begin(); it1 != it->second.end(); ++it1) - { - cerr << it->first->getName() << " " << it1->first->getName() << " " << it1->second << endl; - } - } - - cerr << "Estimation" << endl; -#endif - - - set residues(ResidueDB::getInstance()->getResidues("Natural20")); - for (StringList::const_iterator it = var_modifications_.begin(); it != var_modifications_.end(); ++it) - { - residues.insert(ResidueDB::getInstance()->getModifiedResidue(*it)); - } - - // pathways axyz and bxyz and the first two explicitly modeled ones - HMMState * s2 = nullptr; - HMMState * end_state = name_to_state_["end"]; - StringList pathways = ListUtils::create("axyz,axyz1,axyz1,bxyz,bxyz1,bxyz2"); - for (StringList::const_iterator pathway_it = pathways.begin(); pathway_it != pathways.end(); ++pathway_it) - { - String pathway = *pathway_it; - for (set::const_iterator it = residues.begin(); it != residues.end(); ++it) - { - s2 = name_to_state_[pathway]; - for (set::const_iterator jt = residues.begin(); jt != residues.end(); ++jt) - { - AASequence first_aa, second_aa; - first_aa += *it; - second_aa += *jt; - String aa1(first_aa.toString()), aa2(second_aa.toString()); -#ifdef HIDDEN_MARKOV_MODEL_DEBUG - cerr << "Estimating: " << aa1 << " -> " << aa2 << " (" << training_steps_count_[name_to_state_[aa1 + aa2 + "_" + pathway]][s2] << ") :: "; -#endif - - if (training_steps_count_[name_to_state_[aa1 + aa2 + "_" + pathway]][s2] == 0) - { - Size count(0); - double sum(0); - // "rows" of the amino acid matrix - for (set::const_iterator kt = residues.begin(); kt != residues.end(); ++kt) - { - AASequence third_aa; - third_aa += *kt; - String aa3(third_aa.toString()); - if (training_steps_count_[name_to_state_[aa1 + aa3 + "_" + pathway]][s2] != 0) - { - sum += trans_[name_to_state_[aa1 + aa3 + "_" + pathway]][s2]; - count++; - } - } - // "columns" of the amino acid matrix - for (set::const_iterator kt = residues.begin(); kt != residues.end(); ++kt) - { - AASequence third_aa; - third_aa += *kt; - String aa3(third_aa.toString()); - - if (training_steps_count_[name_to_state_[aa3 + aa2 + "_" + pathway]][s2] != 0) - { - sum += trans_[name_to_state_[aa3 + aa2 + "_" + pathway]][s2]; - count++; - } - } - -#ifdef HIDDEN_MARKOV_MODEL_DEBUG - cerr << trans_[name_to_state_[aa1 + aa2 + "_" + pathway]][s2] << " to "; -#endif - if (count != 0) - { -#ifdef HIDDEN_MARKOV_MODEL_DEBUG - cerr << "setting transitions of " << aa1 << aa2 << "_" << pathway << " -> " << pathway << " to " << sum / double(count) << endl; -#endif - trans_[name_to_state_[aa1 + aa2 + "_" + pathway]][s2] = sum / double(count); - trans_[name_to_state_[aa1 + aa2 + "_" + pathway]][end_state] = 1 - sum / double(count); - } -#ifdef HIDDEN_MARKOV_MODEL_DEBUG - cerr << sum / double(count) << endl; - } - else - { - cerr << "not needed" << endl; -#endif - } - } - } - } - - // sc and cr - String sc_residues("HKRDE"); - for (String::ConstIterator it = sc_residues.begin(); it != sc_residues.end(); ++it) - { - String sc_res = *it; - - for (set::const_iterator jt = residues.begin(); jt != residues.end(); ++jt) - { - AASequence second_aa; - second_aa += *jt; - String aa2(second_aa.toString()); - - s2 = name_to_state_[sc_res]; - if (training_steps_count_[name_to_state_[aa2 + "_" + sc_res]][s2] == 0) - { - Size count(0); - double sum(0); - for (set::const_iterator kt = residues.begin(); kt != residues.end(); ++kt) - { - AASequence third_aa; - third_aa += *kt; - String aa3(third_aa.toString()); - - HMMState * s1 = name_to_state_[aa3 + "_" + sc_res]; - if (training_steps_count_[s1][s2] != 0) - { - sum += trans_[s1][s2]; - count++; - } - } - - if (count != 0) - { - trans_[name_to_state_[aa2 + "_" + sc_res]][s2] = sum / double(count); - trans_[name_to_state_[aa2 + "_" + sc_res]][end_state] = 1 - sum / double(count); - } - } - } - } - - StringList bk_pathways = ListUtils::create("bk-1,bk-2"); - - for (StringList::const_iterator pathway_it = bk_pathways.begin(); pathway_it != bk_pathways.end(); ++pathway_it) - { - String pathway = *pathway_it; - s2 = name_to_state_[pathway]; - for (set::const_iterator it = residues.begin(); it != residues.end(); ++it) - { - AASequence first_aa; - first_aa += *it; - String aa1(first_aa.toString()); - if (training_steps_count_[name_to_state_[aa1 + "_" + pathway]][s2] == 0) - { - Size count(0); - double sum(0); - for (set::const_iterator jt = residues.begin(); jt != residues.end(); ++jt) - { - AASequence second_aa; - second_aa += *jt; - String aa2(second_aa.toString()); - HMMState * s1 = name_to_state_[aa2 + "_" + pathway]; - if (training_steps_count_[s1][s2] != 0) - { - sum += trans_[s1][s2]; - count++; - } - //cerr << "Estimating transition of '" << aa1 << pathway << "' -> '" << pathway << "' to " << sum/(double)count << endl; - if (count != 0) - { - trans_[name_to_state_[aa1 + "_" + pathway]][s2] = sum / static_cast(count); - trans_[name_to_state_[aa1 + "_" + pathway]][end_state] = 1 - sum / static_cast(count); - } - } - } - } - } - - } - - void HiddenMarkovModel::setPseudoCounts(double pseudo_counts) - { - pseudo_counts_ = pseudo_counts; - return; - } - - double HiddenMarkovModel::getPseudoCounts() const - { - return pseudo_counts_; - } - - void HiddenMarkovModel::setVariableModifications(const StringList & modifications) - { - var_modifications_ = modifications; - } - - void HiddenMarkovModel::copy_(const HiddenMarkovModel & source) - { - std::map old_to_new; - for (set::const_iterator it = source.states_.begin(); it != source.states_.end(); ++it) - { - HMMState * s = new HMMState(**it); - states_.insert(s); - name_to_state_[s->getName()] = s; - old_to_new[*it] = s; - } - - // trans_ - for (std::map >::const_iterator it1 = source.trans_.begin(); it1 != source.trans_.end(); ++it1) - { - for (std::map::const_iterator it2 = it1->second.begin(); it2 != it1->second.end(); ++it2) - { - trans_[old_to_new[it1->first]][old_to_new[it2->first]] = it2->second; - } - } - - // count_trans_ - for (std::map >::const_iterator it1 = source.count_trans_.begin(); it1 != source.count_trans_.end(); ++it1) - { - for (std::map::const_iterator it2 = it1->second.begin(); it2 != it1->second.end(); ++it2) - { - count_trans_[old_to_new[it1->first]][old_to_new[it2->first]] = it2->second; - } - } - - for (std::map > >::const_iterator it1 = source.train_count_trans_all_.begin(); it1 != source.train_count_trans_all_.end(); ++it1) - { - for (std::map >::const_iterator it2 = it1->second.begin(); it2 != it1->second.end(); ++it2) - { - train_count_trans_all_[old_to_new[it1->first]][old_to_new[it2->first]] = it2->second; - } - - } - - - for (std::map >::const_iterator it1 = source.training_steps_count_.begin(); it1 != source.training_steps_count_.end(); ++it1) - { - for (std::map::const_iterator it2 = it1->second.begin(); it2 != it1->second.end(); ++it2) - { - training_steps_count_[old_to_new[it1->first]][old_to_new[it2->first]] = it2->second; - } - } - - // forward and backward are just temporary objects - - for (std::map::const_iterator it = source.train_emission_prob_.begin(); it != source.train_emission_prob_.end(); ++it) - { - train_emission_prob_[old_to_new[it->first]] = it->second; - } - - for (std::map::const_iterator it = source.init_prob_.begin(); it != source.init_prob_.end(); ++it) - { - init_prob_[old_to_new[it->first]] = it->second; - } - - for (std::set >::const_iterator it = source.trained_trans_.begin(); it != source.trained_trans_.end(); ++it) - { - trained_trans_.insert(make_pair(old_to_new[it->first], old_to_new[it->second])); - } - - synonym_trans_names_ = source.synonym_trans_names_; - pseudo_counts_ = source.pseudo_counts_; - var_modifications_ = source.var_modifications_; - - - for (std::map > >::const_iterator it = synonym_trans_names_.begin(); it != synonym_trans_names_.end(); ++it) - { - for (std::map >::const_iterator it2 = it->second.begin(); it2 != it->second.end(); ++it2) - { - synonym_trans_[name_to_state_[it->first]][name_to_state_[it2->first]] = - make_pair(name_to_state_[it2->second.first], name_to_state_[it2->second.second]); - } - } - - - for (std::map >::const_iterator it1 = source.enabled_trans_.begin(); it1 != source.enabled_trans_.end(); ++it1) - { - for (set::const_iterator it2 = it1->second.begin(); it2 != it1->second.end(); ++it2) - { - enabled_trans_[old_to_new[it1->first]].insert(old_to_new[*it2]); - } - } - - } - -} diff --git a/src/openms/source/ANALYSIS/ID/ProtonDistributionModel.cpp b/src/openms/source/ANALYSIS/ID/ProtonDistributionModel.cpp deleted file mode 100644 index 8321d0c78ac..00000000000 --- a/src/openms/source/ANALYSIS/ID/ProtonDistributionModel.cpp +++ /dev/null @@ -1,1802 +0,0 @@ -// Copyright (c) 2002-present, The OpenMS Team -- EKU Tuebingen, ETH Zurich, and FU Berlin -// SPDX-License-Identifier: BSD-3-Clause -// -// -------------------------------------------------------------------------- -// $Maintainer: Timo Sachsenberg $ -// $Authors: Andreas Bertsch $ -// -------------------------------------------------------------------------- - - -#include - -#include -#include -#include - -#include -#include -#include - - -#define COULOMB_REPULSION (double)47.0 // from zhang: 47.0 kJ/mol -#define COULOMB_REPULSION2 (double)47.0 // new - -//#define CALC_CHARGE_STATES_DEBUG - -using namespace std; - -namespace OpenMS -{ - ProtonDistributionModel::ProtonDistributionModel() : - DefaultParamHandler("ProtonDistributionModel"), - E_(0), - E_c_term_(0), - E_n_term_(0) - { - defaults_.setValue("gb_bb_l_NH2", 916.84, "Gas-phase basicity value of N-terminus", {"advanced"}); - defaults_.setValue("gb_bb_r_COOH", -95.82, "Gas-phase basicity value of C-terminus", {"advanced"}); - defaults_.setValue("gb_bb_r_b-ion", 36.46, "Gas-phase basicity value of b-ion C-terminus", {"advanced"}); - defaults_.setValue("gb_bb_r_a-ion", 46.85, "Gas-phase basicity value of a-ion C-terminus", {"advanced"}); - defaults_.setValue("sigma", 0.5, "Width of the gaussian which distributes the mobile protons over the charge states, only for z > 3.", {"advanced"}); - defaults_.setValue("temperature", 500.0, "Temperature term ", {"advanced"}); - - defaultsToParam_(); - } - - ProtonDistributionModel::~ProtonDistributionModel() = default; - - ProtonDistributionModel::ProtonDistributionModel(const ProtonDistributionModel & model) : - DefaultParamHandler(model), - sc_charge_(model.sc_charge_), - bb_charge_(model.bb_charge_), - sc_charge_full_(model.sc_charge_full_), - bb_charge_full_(model.bb_charge_full_), - E_(model.E_), - E_c_term_(model.E_c_term_), - E_n_term_(model.E_n_term_) - { - } - - ProtonDistributionModel & ProtonDistributionModel::operator=(const ProtonDistributionModel & model) - { - if (this != &model) - { - DefaultParamHandler::operator=(model); - sc_charge_ = model.sc_charge_; - bb_charge_ = model.bb_charge_; - sc_charge_full_ = model.sc_charge_full_; - bb_charge_full_ = model.bb_charge_full_; - E_ = model.E_; - E_c_term_ = model.E_c_term_; - E_n_term_ = model.E_n_term_; - } - return *this; - } - - void ProtonDistributionModel::setPeptideProtonDistribution(const vector & bb_charge, const vector & sc_charge) - { - bb_charge_full_ = bb_charge; - sc_charge_full_ = sc_charge; - } - - void ProtonDistributionModel::getProtonDistribution(vector & bb_charges, - vector & sc_charges, - const AASequence & peptide, - Int charge, - Residue::ResidueType res_type) - { - bb_charge_ = vector(peptide.size() + 1, 0.0); - sc_charge_ = vector(peptide.size(), 0.0); - calculateProtonDistribution_(peptide, charge, res_type); - bb_charges = bb_charge_; - sc_charges = sc_charge_; - } - -/* - void ProtonDistributionModel::getChargeStateIntensities(const AASequence& peptide, - const AASequence& n_term_ion, - const AASequence& c_term_ion, - Int charge, - Residue::ResidueType n_term_type, - double& n_term1, - double& c_term1, - double& n_term2, - double& c_term2, - FragmentationType type) - { - - //calcChargeStateIntensities_(peptide, n_term_ion, c_term_ion, charge, n_term_type, n_term1, c_term1, n_term2, c_term2, type); - vector n_term_intensities, c_term_intensities; - calcChargeStateIntensities_(peptide, n_term_ion, c_term_ion, charge, n_term_type, n_term_intensities, c_term_intensities, type); - n_term1 = n_term_intensities[0]; - c_term1 = c_term_intensities[0]; - if (charge == 1) - { - n_term2 = 0; - c_term2 = 0; - } - else - { - n_term2 = n_term_intensities[1]; - c_term2 = c_term_intensities[1]; - } - return; - } -*/ - - // this method calculates the distribution of protons, by using two separate ions given by the precursor peptide ion and the cleavage site - // this is needed for charge directed cases, where the activated proton needs to be distributed between the two ions - // cleavage_site is one-based; so b1/yk-1 would be cleavage_site == 1; it can be in the range [0,peptide.size()] - void ProtonDistributionModel::calculateProtonDistributionIonPair_(const AASequence & peptide, - Residue::ResidueType n_res_type, - Size cleavage_site) - { - // TODO model this using one calculation for both ions - - double q(0); // partition function = state sum - - double gb_bb_l_NH2 = (double)param_.getValue("gb_bb_l_NH2"); - double gb_bb_r_COOH = (double)param_.getValue("gb_bb_r_COOH"); - double gb_bb_r_bion = (double)param_.getValue("gb_bb_r_b-ion"); - double gb_bb_r_aion = (double)param_.getValue("gb_bb_r_a-ion"); - double T = (double)param_.getValue("temperature"); - - // we calculate the distribution of only the last proton, all other protons are already distributed - - // so, first calculate the partition function Q of the N-term ion - for (Size i = 0; i != cleavage_site; ++i) - { - // backbone energy - if (i == 0) - { - double E = -(gb_bb_l_NH2 + peptide[i].getBackboneBasicityRight()); - q += (1.0 - bb_charge_[i]) * exp(-E * 1000 / (Constants::R * T)); - } - else - { - if (i == cleavage_site - 1) - { - // position at the C-terminal end of the ion - double E(-peptide[i].getBackboneBasicityLeft()); - if (n_res_type == Residue::BIon) - { - E -= gb_bb_r_bion; - } - else - { - // a-ion - E -= gb_bb_r_aion; - } - q += (1.0 - bb_charge_[i + 1]) * exp(-E * 1000 / (Constants::R * T)); - } - - // normal internal backbone position - double E = -(peptide[i - 1].getBackboneBasicityLeft() + peptide[i].getBackboneBasicityRight()); - q += (1.0 - bb_charge_[i]) * exp(-E * 1000 / (Constants::R * T)); - } - - // side chains - if (peptide[i].getSideChainBasicity() != 0) - { - double E = -peptide[i].getSideChainBasicity(); - q += (1.0 - sc_charge_[i]) * exp(-E * 1000 / (Constants::R * T)); - } - } - - //cerr << "Q-N-term=" << q << endl; - - // add the parts of the C-term ion to the partition function - for (Size i = cleavage_site; i != peptide.size(); ++i) - { - // backbone energy - if (i == cleavage_site) - { - double E = -(gb_bb_l_NH2 + peptide[i].getBackboneBasicityRight()); - //cerr << "H3N: " << (1.0 - bb_charge_[i]) * exp(-E * 1000 / (Constants::R * T)) << endl; - q += (1.0 - bb_charge_[i]) * exp(-E * 1000 / (Constants::R * T)); - } - else - { - if (i == peptide.size() - 1) - { - // position at the C-terminal end of the ion, C-term ion always has COOH ending... - double E(0); - E = -(peptide[i].getBackboneBasicityLeft() + gb_bb_r_COOH); - //cerr << "COOH: " << (1.0 - bb_charge_[i + 1]) * exp(-E * 1000 / (Constants::R * T)) << endl; - q += (1.0 - bb_charge_[i + 1]) * exp(-E * 1000 / (Constants::R * T)); - } - - // normal internal backbone position - double E = -(peptide[i - 1].getBackboneBasicityLeft() + peptide[i].getBackboneBasicityRight()); - //cerr << "Internal: " << (1.0 - bb_charge_[i]) * exp(-E * 1000/ (Constants::R * T)) << endl; - q += (1.0 - bb_charge_[i]) * exp(-E * 1000 / (Constants::R * T)); - } - // side chains - if (peptide[i].getSideChainBasicity() != 0) - { - double E = -peptide[i].getSideChainBasicity(); - //cerr << "SideChain: " << (1.0 - sc_charge_[i]) * exp(-E * 1000 / (Constants::R * T)) << endl; - q += (1.0 - sc_charge_[i]) * exp(-E * 1000 / (Constants::R * T)); - } - } - - //cerr << "Q-C-term=" << q << endl; - - // calculate proton availabilities of the N-terminal ion - for (Size i = 0; i != cleavage_site; ++i) - { - // backbone - if (i == 0) - { - double E = -(gb_bb_l_NH2 + peptide[i].getBackboneBasicityRight()); - bb_charge_ion_n_term_[i] = (1.0 - bb_charge_[i]) * exp(-E * 1000 / (Constants::R * T)) / q; - } - else - { - if (i == cleavage_site - 1) - { - double E(-peptide[i].getBackboneBasicityLeft()); - - if (n_res_type == Residue::BIon) - { - E -= gb_bb_r_bion; - } - else - { - // a-ion - E -= gb_bb_r_aion; - } - bb_charge_ion_n_term_[i + 1] = (1.0 - bb_charge_[i + 1]) * exp(-E * 1000 / (Constants::R * T)) / q; - } - - // normal backbone position - double E = -(peptide[i - 1].getBackboneBasicityLeft() + peptide[i].getBackboneBasicityRight()); - bb_charge_ion_n_term_[i] = (1.0 - bb_charge_[i]) * exp(-E * 1000 / (Constants::R * T)) / q; - } - - // side chains - if (peptide[i].getSideChainBasicity() != 0) - { - double E = -peptide[i].getSideChainBasicity(); - sc_charge_ion_n_term_[i] = (1.0 - sc_charge_[i]) * exp(-E * 1000 / (Constants::R * T)) / q; - } - } - - // same for the C-term ion - for (Size i = cleavage_site; i != peptide.size(); ++i) - { - // backbone - if (i == cleavage_site) - { - double E = -(gb_bb_l_NH2 + peptide[i].getBackboneBasicityRight()); - bb_charge_ion_c_term_[i - cleavage_site] = (1.0 - bb_charge_[i]) * exp(-E * 1000 / (Constants::R * T)) / q; - } - else - { - if (i == peptide.size() - 1) - { - double E = -(peptide[i].getBackboneBasicityLeft() + gb_bb_r_COOH); - bb_charge_ion_c_term_[i + 1 - cleavage_site] = (1.0 - bb_charge_[i + 1]) * exp(-E * 1000 / (Constants::R * T)) / q; - } - - // normal backbone position - double E = -(peptide[i - 1].getBackboneBasicityLeft() + peptide[i].getBackboneBasicityRight()); - bb_charge_ion_c_term_[i - cleavage_site] = (1.0 - bb_charge_[i]) * exp(-E * 1000 / (Constants::R * T)) / q; - //cerr << "Int: " << peptide[i].getOneLetterCode() << " " << bb_charge_[i] << - } - - // side chains - if (peptide[i].getSideChainBasicity() != 0) - { - double E = -peptide[i].getSideChainBasicity(); - sc_charge_ion_c_term_[i - cleavage_site] = (1.0 - sc_charge_[i]) * exp(-E * 1000 / (Constants::R * T)) / q; - //cerr << "SC: " << peptide[i].getOneLetterCode() << " " << sc_charge_[i] << " " << sc_charge_ion_c_term_[i - cleavage_site] << endl; - } - } - - return; - } - - void ProtonDistributionModel::calculateProtonDistributionGreater2_(const AASequence & peptide, Int charge, Residue::ResidueType /*res_type*/) - { - //cerr << "void ProtonDistributionModel::calculateProtonDistributionGreater2_(" << peptide << ", " << charge << ", res_type=" << res_type << ")" << endl; - //double gb_bb_l_NH2 = param_.getValue("gb_bb_l_NH2"); - //double gb_bb_r_COOH = param_.getValue("gb_bb_r_COOH"); - //double gb_bb_r_bion = param_.getValue("gb_bb_r_b-ion"); - //double gb_bb_r_aion = param_.getValue("gb_bb_r_a-ion"); - //const double T(500.0); - - vector gb_bb, gb_sc; - double gb_left_n_term(0), gb_right_n_term(0); - getLeftAndRightGBValues_(peptide, gb_left_n_term, gb_right_n_term, 0); - gb_bb.push_back(gb_left_n_term + gb_right_n_term); - Size count(1); - for (AASequence::ConstIterator it = peptide.begin(); it != peptide.end(); ++it, ++count) - { - double gb_left(0), gb_right(0); - getLeftAndRightGBValues_(peptide, gb_left, gb_right, count); - - double gb = gb_left + gb_right; - gb_bb.push_back(gb); - - gb_sc.push_back(it->getSideChainBasicity()); - } - - // now distribute the charges until no site has more than 1.0 proton - vector bb_coulomb(peptide.size() + 1, 0.0), sc_coulomb(peptide.size(), 0.0); - Int actual_charge(charge); - set sc_sites, bb_sites; - while (true) - { - //cerr << "#protons remaining: " << actual_charge << endl; - vector k_bb(peptide.size() + 1, 0.0), k_sc(peptide.size(), 0.0); - count = 0; - double sum_k(0); - for (vector::const_iterator it = gb_bb.begin(); it != gb_bb.end(); ++it, ++count) - { - if (bb_sites.find(count) == bb_sites.end()) - { - k_bb[count] = exp((*it - bb_coulomb[count]) * 1000.0 / Constants::R / 500.0); - sum_k += k_bb[count]; - //cerr << k_bb[count] << endl; - } - } - - count = 0; - for (vector::const_iterator it = gb_sc.begin(); it != gb_sc.end(); ++it, ++count) - { - if (sc_sites.find(count) == sc_sites.end()) - { - k_sc[count] = exp((*it - sc_coulomb[count]) * 1000.0 / Constants::R / 500.0); - sum_k += k_sc[count]; - //cerr << k_sc[count] << endl; - } - } - - //cerr << "sum_k: " << sum_k << endl; - - vector p_bb(peptide.size() + 1, 1.0), p_sc(peptide.size(), 1.0); - count = 0; - for (vector::const_iterator it = k_bb.begin(); it != k_bb.end(); ++it, ++count) - { - if (bb_sites.find(count) == bb_sites.end()) - { - p_bb[count] = (double)actual_charge * *it / sum_k; - bb_charge_[count] = p_bb[count]; - } - //cerr << "BB" << count << ": " << p_bb[count] << endl; - } - - count = 0; - for (vector::const_iterator it = k_sc.begin(); it != k_sc.end(); ++it, ++count) - { - if (sc_sites.find(count) == sc_sites.end()) - { - p_sc[count] = (double)actual_charge * *it / sum_k; - sc_charge_[count] = p_sc[count]; - } - //cerr << "SC" << count << ": " << p_sc[count] << endl; - } - - // check if there is a site containing more than one proton - for (Size i = 0; i != p_bb.size(); ++i) - { - if (p_bb[i] > 1.0) - { - bb_charge_[i] = 1.0; - bb_sites.insert(i); - //cerr << "BackbonePosition " << i << " has charge > 1" << endl; - --actual_charge; - } - } - for (Size i = 0; i != p_sc.size(); ++i) - { - if (p_sc[i] > 1.0) - { - sc_charge_[i] = 1.0; - //cerr << "SideChain " << i << " has charge > 1 " << endl; - sc_sites.insert(i); - --actual_charge; - } - } - - // now calculate the Coulomb repulsions - for (Size i = 0; i != gb_bb.size(); ++i) - { - // check if the site is not occupied by a "complete" proton - if (bb_sites.find(i) == bb_sites.end()) - { - double coulomb_sum(0); - for (set::const_iterator it = bb_sites.begin(); it != bb_sites.end(); ++it) - { - // calculate the distance between occupied site and this backbone site - Size pos = *it; - Size diff = (pos > i) ? pos - i : i - pos; - coulomb_sum += COULOMB_REPULSION2 / (double)diff; - } - - for (set::const_iterator it = sc_sites.begin(); it != sc_sites.end(); ++it) - { - // calculate the distance between occupied side chain and this backbone site - Size pos = *it; - Size diff = (pos > i) ? pos - i : i - pos; - ++diff; // bond to the side chain counts extra - coulomb_sum += COULOMB_REPULSION2 / (double)diff; - } - bb_coulomb[i] = coulomb_sum; - //cerr << "BB coulomb" << i << ": " << coulomb_sum << endl; - } - } - for (Size i = 0; i != gb_sc.size(); ++i) - { - if (sc_sites.find(i) == sc_sites.end()) - { - double coulomb_sum(0); - for (set::const_iterator it = bb_sites.begin(); it != bb_sites.end(); ++it) - { - Size pos = *it; - Size diff = (pos > i) ? pos - i : i - pos; - ++diff; - coulomb_sum += COULOMB_REPULSION2 / (double)diff; - } - for (set::const_iterator it = sc_sites.begin(); it != sc_sites.end(); ++it) - { - Size pos = *it; - Size diff = (pos > i) ? pos - i : i - pos; - diff += 2; - coulomb_sum += COULOMB_REPULSION2 / (double)diff; - } - //cerr << "SC coulomb" << i << ": " << coulomb_sum << endl; - sc_coulomb[i] = coulomb_sum; - } - } - - // TODO think about what happens if #protons are greater than number of sites?!? - if (bb_sites.empty() && sc_sites.empty()) - { - break; - } - - // search for entries > 1 - bool has_greater_one = std::any_of(p_bb.begin(), p_bb.end(), [](const double v) { return v > 1.0; }); - has_greater_one |= std::any_of(p_sc.begin(), p_sc.end(), [](const double v) { return v > 1.0; }); - - if (!has_greater_one) - { - //cerr << "Has no site with more than 1.0 proton" << endl; - break; - } - } - - return; - - } - - void ProtonDistributionModel::calculateProtonDistributionCharge2_(const AASequence & peptide, - Residue::ResidueType res_type, - bool fixed_proton, - Size cleavage_site, - bool use_most_basic_site) - { - double q(0), sum_E(0), sum_E_n_term(0), sum_E_c_term(0); // partition function - Size most_basic_site(0); - bool most_basic_site_sc(false); - - double gb_bb_l_NH2 = (double)param_.getValue("gb_bb_l_NH2"); - double gb_bb_r_COOH = (double)param_.getValue("gb_bb_r_COOH"); - double gb_bb_r_bion = (double)param_.getValue("gb_bb_r_b-ion"); - double gb_bb_r_aion = (double)param_.getValue("gb_bb_r_a-ion"); - double T = (double)param_.getValue("temperature"); - - if (!use_most_basic_site) - { - bb_charge_ = vector(peptide.size() + 1, 0.0); - sc_charge_ = vector(peptide.size(), 0.0); - } - else - { - // find the most basic site - double max_prob(0); - //cerr << "bb: "; - for (Size i = 0; i != bb_charge_.size(); ++i) - { - //cerr << i << ". " << bb_charge_[i] << "; " << endl; - if (bb_charge_[i] > max_prob) - { - max_prob = bb_charge_[i]; - most_basic_site = i; - } - } - - //cerr << endl << "sc: "; - for (Size i = 0; i != sc_charge_.size(); ++i) - { - //cerr << i << ". " << sc_charge_[i] << "; " << endl; - if (sc_charge_[i] > max_prob) - { - max_prob = sc_charge_[i]; - most_basic_site = i; - most_basic_site_sc = true; - } - } - //cerr << endl; - - - bb_charge_ = vector(peptide.size() + 1, 0.0); - sc_charge_ = vector(peptide.size(), 0.0); - } - - Size fixed_site(0); - if (fixed_proton) - { - fixed_site = cleavage_site; - } - - bool fixed_site_sc(false); - if (use_most_basic_site) - { - fixed_site = most_basic_site; - fixed_site_sc = most_basic_site_sc; - } - - for (Size i = 0; i != sc_charge_.size(); ++i) - { - sc_charge_[i] = 0; - } - - for (Size i = 0; i != bb_charge_.size(); ++i) - { - bb_charge_[i] = 0; - } - //bb_charge_[peptide.size()] = 0; - - - // fixed proton - // - // if two protons are available one proton is kept at the cleavage site - // this is needed for the N/C-terminal charge distribution calculation - // - // use the fixed proton with pre-calculated charges of the other proton - // -> get distribution of the prior fixed one - - // make only sense with charge = 2 - if (fixed_proton || use_most_basic_site) - { - //cerr << "fixed site: " << fixed_site << " " << fixed_site_sc << endl; - // fixed proton at fixed_site - q = 0; - - double gb_j(0); - if (!fixed_site_sc) - { - if (fixed_site == 0) - { - gb_j = gb_bb_l_NH2 + peptide[fixed_site].getBackboneBasicityRight(); - } - else - { - gb_j = peptide[fixed_site - 1].getBackboneBasicityLeft() + peptide[fixed_site].getBackboneBasicityRight(); - } - } - else - { - gb_j = peptide[fixed_site].getSideChainBasicity(); - } - - for (Size i = 0; i <= peptide.size(); ++i) - { - double gb_i(0); - // proton 1 at N-terminus - if (i == 0 || (i == cleavage_site && use_most_basic_site)) - { - if (i != peptide.size()) // added for cppcheck - { - gb_i = gb_bb_l_NH2 + peptide[i].getBackboneBasicityRight(); - } - } - else - { - // proton 1 at N-terminus - if (i == peptide.size()) - { - if (res_type == Residue::BIon) - { - gb_i = peptide[i - 1].getBackboneBasicityLeft() + gb_bb_r_bion; - } - else - { - if (res_type == Residue::AIon) - { - gb_i = peptide[i - 1].getBackboneBasicityLeft() + gb_bb_r_aion; - } - else - { - gb_i = peptide[i - 1].getBackboneBasicityLeft() + gb_bb_r_COOH; - } - } - } - else - { - // proton 1 at backbone - gb_i = peptide[i - 1].getBackboneBasicityLeft() + peptide[i].getBackboneBasicityRight(); - } - } - - if (!fixed_site_sc) - { - if (i != fixed_site) - { - Int r_ij(abs((Int)i - (Int)(fixed_site))); - q += exp(-(-gb_i - gb_j + COULOMB_REPULSION / r_ij) * 1000 / (Constants::R * T) -500); - - if (i != peptide.size()) - { - if (peptide[i].getSideChainBasicity() != 0) - { - double gb_i_sc = peptide[i].getSideChainBasicity(); - q += exp(-(-gb_i_sc - gb_j + COULOMB_REPULSION / (r_ij + 1)) * 1000 / (Constants::R * T) -500); - } - } - } - else - { - // last chance: the proton i is located at side chain of cleavage site - if (i != peptide.size()) - { - if (peptide[i].getSideChainBasicity() != 0) - { - double gb_i_sc = peptide[i].getSideChainBasicity(); - q += exp(-(-gb_i - gb_i_sc + COULOMB_REPULSION) * 1000 / (Constants::R * T) -500); - } - } - } - } - else - { - // fixed site at side chain - // - // first, one proton at BB - Int r_ij = abs((Int)i - (Int)fixed_site); - q += exp(-(-gb_i - gb_j + COULOMB_REPULSION / (r_ij + 1)) * 1000 / (Constants::R * T) -500); - - // only side chain site different from fixed one - if (i != fixed_site && i != peptide.size()) - { - double gb_i_sc(0); - gb_i_sc = peptide[i].getSideChainBasicity(); - q += exp(-(-gb_i_sc - gb_j + COULOMB_REPULSION / (r_ij + 2)) * 1000 / (Constants::R * T) -500); - } - } - } - - // calculate availabilities - for (Size i = 0; i <= peptide.size(); ++i) - { - double gb_i(0); - if (i == 0 || (i == cleavage_site && use_most_basic_site)) - { - if (i != peptide.size()) // added for cppcheck - { - gb_i = gb_bb_l_NH2 + peptide[i].getBackboneBasicityRight(); - } - } - else - { - if (i == peptide.size()) - { - if (res_type == Residue::BIon) - { - gb_i = peptide[i - 1].getBackboneBasicityLeft() + gb_bb_r_bion; - } - else - { - if (res_type == Residue::AIon) - { - gb_i = peptide[i - 1].getBackboneBasicityLeft() + gb_bb_r_aion; - } - else - { - gb_i = peptide[i - 1].getBackboneBasicityLeft() + gb_bb_r_COOH; - } - } - } - else - { - gb_i = peptide[i - 1].getBackboneBasicityLeft() + peptide[i].getBackboneBasicityRight(); - } - } - - if (!fixed_site_sc) - { - if (i != fixed_site) - { - Int r_ij(abs((Int)i - (Int)(fixed_site))); - double prob = exp(-(-gb_i - gb_j + COULOMB_REPULSION / r_ij) * 1000 / (Constants::R * T) -500) / q; - bb_charge_[i] += prob; - - double add_E = exp(gb_i * 1000 / Constants::R / T); - if (i < fixed_site - 1) - { - sum_E_n_term += add_E; - } - else - { - sum_E_c_term += add_E; - } - - if (i != peptide.size()) - { - if (peptide[i].getSideChainBasicity() != 0) - { - double gb_i_sc = peptide[i].getSideChainBasicity(); - double probi = exp(-(-gb_i_sc - gb_j + COULOMB_REPULSION / (r_ij + 1)) * 1000 / (Constants::R * T) -500) / q; - sc_charge_[i] += probi; - - double add_Ei = exp(gb_i_sc * 1000 / Constants::R / T); - if (i < fixed_site - 1) - { - sum_E_n_term += add_Ei; - } - else - { - sum_E_c_term += add_Ei; - } - } - } - } - else - { - if (i != peptide.size()) - { - // SC position - if (peptide[i].getSideChainBasicity() != 0) - { - double gb_i_sc = peptide[i].getSideChainBasicity(); - double prob = exp(-(-gb_i_sc - gb_j + COULOMB_REPULSION) * 1000 / (Constants::R * T) -500) / q; - sc_charge_[i] += prob; - - double add_E = exp(gb_i_sc * 1000 / Constants::R / T); - if (i < fixed_site - 1) - { - sum_E_n_term += add_E; - } - else - { - sum_E_c_term += add_E; - } - } - } - } - } - else - { - // fixed site at side chain - Int r_ij = abs((Int)i - (Int)fixed_site); - double probi = exp(-(-gb_i - gb_j + COULOMB_REPULSION / (r_ij + 1)) * 1000 / (Constants::R * T) -500) / q; - bb_charge_[i] += probi; - - double add_Ei = exp(gb_i * 1000 / Constants::R / T); - if (i <= fixed_site) - { - sum_E_n_term += add_Ei; - } - else - { - sum_E_c_term += add_Ei; - } - - if (i != fixed_site && i != peptide.size()) - { - if (peptide[i].getSideChainBasicity() != 0) - { - double gb_i_sc = peptide[i].getSideChainBasicity(); - double prob = exp(-(-gb_i_sc - gb_j + COULOMB_REPULSION / (r_ij + 2)) * 1000 / (Constants::R * T) -500) / q; - sc_charge_[i] += prob; - - double add_E = exp(gb_i_sc * 1000 / Constants::R / T); - if (i <= fixed_site) - { - sum_E_n_term += add_E; - } - else - { - sum_E_c_term += add_E; - } - } - } - } - } - } - - - // double charged - if (!fixed_proton && !use_most_basic_site) - { - // calculate sum - Int count(0); - for (Size i = 0; i <= peptide.size(); ++i) - { - for (Size j = i; j <= peptide.size(); ++j) - { - double gb_i(0), gb_j(0); - // proton 1 at N-terminus - if (i == 0) - { - //gb_i = gb_bb_l_["NH2"] + gb_bb_r_[peptide[i].getOneLetterCode()]; - gb_i = gb_bb_l_NH2 + peptide[i].getBackboneBasicityRight(); - } - else - { - String aa_i_l(peptide[i - 1].getOneLetterCode()); - // proton 1 at N-terminus - if (i == peptide.size()) - { - if (res_type == Residue::BIon) - { - //gb_i = gb_bb_l_[aa_i_l] + gb_bb_r_["b-ion"]; - gb_i = peptide[i - 1].getBackboneBasicityLeft() + gb_bb_r_bion; - } - else - { - if (res_type == Residue::AIon) - { - //gb_i = gb_bb_l_[aa_i_l] + gb_bb_r_["a-ion"]; - gb_i = peptide[i - 1].getBackboneBasicityLeft() + gb_bb_r_aion; - } - else - { - //gb_i = gb_bb_l_[aa_i_l] + gb_bb_r_["COOH"]; - gb_i = peptide[i - 1].getBackboneBasicityLeft() + gb_bb_r_COOH; - } - } - } - else - { - // proton 1 at backbone - //gb_i = gb_bb_l_[aa_i_l] + gb_bb_r_[peptide[i].getOneLetterCode()]; - gb_i = peptide[i - 1].getBackboneBasicityLeft() + peptide[i].getBackboneBasicityRight(); - } - } - // proton 2 at N-terminus - if (j == 0) - { - //gb_j = gb_bb_l_["NH2"] + gb_bb_r_[peptide[j].getOneLetterCode()]; - gb_j = gb_bb_l_NH2 + peptide[j].getBackboneBasicityRight(); - } - else - { - //String aa_j_l(peptide[j-1].getOneLetterCode()); - double gb_j_l = peptide[j - 1].getBackboneBasicityLeft(); - // proton 2 at C-terminus - if (j == peptide.size()) - { - if (res_type == Residue::BIon) - { - //gb_j = gb_bb_l_[aa_j_l] + gb_bb_r_["b-ion"]; - gb_j = gb_j_l + gb_bb_r_bion; - } - else - { - if (res_type == Residue::AIon) - { - //gb_j = gb_bb_l_[aa_j_l] + gb_bb_r_["a-ion"]; - gb_j = gb_j_l + gb_bb_r_aion; - } - else - { - //gb_j = gb_bb_l_[aa_j_l] + gb_bb_r_["COOH"]; - gb_j = gb_j_l + gb_bb_r_COOH; - } - } - } - else - { - // proton 2 at backbone - //gb_j = gb_bb_l_[aa_j_l] + gb_bb_r_[peptide[j].getOneLetterCode()]; - gb_j = gb_j_l + peptide[j].getBackboneBasicityRight(); - } - } - if (i != j) - { - // distance of protons - Int r_ij(abs((Int)i - (Int)j)); - q += exp(-(-gb_i - gb_j + COULOMB_REPULSION / r_ij) * 1000 / (Constants::R * T) -500); - //cerr << "1.\t" << -(-gb_i - gb_j + COULOMB_REPULSION/r_ij) * 1000/(Constants::R * T) << endl; - ++count; - - double gb_i_sc(0); - if (i != peptide.size()) - { - // side chain of proton 1 - if (/*gb_sc_.has(peptide[i].getOneLetterCode())*/ peptide[i].getSideChainBasicity() != 0) - { - //gb_i_sc = gb_sc_[peptide[i].getOneLetterCode()]; - gb_i_sc = peptide[i].getSideChainBasicity(); - q += exp(-(-gb_i_sc - gb_j + COULOMB_REPULSION / (r_ij + 1)) * 1000 / (Constants::R * T) -500); - //cerr << "2.\t" << -(-gb_i_sc - gb_j + COULOMB_REPULSION/(r_ij + 1)) * 1000/(Constants::R * T) << endl; - ++count; - } - } - - if (j != peptide.size()) - { - // side chain of proton 2 - if (/*gb_sc_.has(peptide[j].getOneLetterCode())*/ peptide[j].getSideChainBasicity() != 0) - { - //gb_j_sc = gb_sc_[peptide[j].getOneLetterCode()]; - double gb_j_sc = peptide[j].getSideChainBasicity(); - q += exp(-(-gb_i - gb_j_sc + COULOMB_REPULSION / (r_ij + 1)) * 1000 / (Constants::R * T) -500); - //cerr << "3.\t" << -(-gb_i - gb_j_sc + COULOMB_REPULSION/(r_ij + 1)) * 1000 /(Constants::R * T) - 500 << endl; - ++count; - // both at side chain? - if (gb_i_sc != 0) - { - q += exp(-(-gb_i_sc - gb_j_sc + COULOMB_REPULSION / (r_ij + 2)) * 1000 / (Constants::R * T) -500); - //cerr << "4.\t" << -(-gb_i_sc - gb_j_sc + COULOMB_REPULSION/(r_ij + 2)) * 1000 /(Constants::R * T) - 500 << endl; - ++count; - } - } - } - } - else - { - if (i != peptide.size()) - { - // one at side chain, the other one at backbone of same residue - if (/*gb_sc_.has(peptide[i].getOneLetterCode())*/ peptide[i].getSideChainBasicity() != 0) - { - //double gb_i_sc = gb_sc_[peptide[i].getOneLetterCode()]; - double gb_i_sc = peptide[i].getSideChainBasicity(); - q += exp(-(-gb_i - gb_i_sc + COULOMB_REPULSION) * 1000 / (Constants::R * T) -500); - //cerr << "5.\t" << -(-gb_i - gb_i_sc + COULOMB_REPULSION) * 1000/ (Constants::R * T) -500 << endl; - ++count; - } - } - } - } - } - - // calculate availabilities - for (Size i = 0; i <= peptide.size(); ++i) - { - for (Size j = i; j <= peptide.size(); ++j) - { - double gb_i(0), gb_j(0); - // calculate the backbone proton gb's - // N-terminus - if (i == 0) - { - //gb_i = gb_bb_l_["NH2"] + gb_bb_r_[peptide[i].getOneLetterCode()]; - gb_i = gb_bb_l_NH2 + peptide[i].getBackboneBasicityRight(); - } - else - { - //String aa_i_l(peptide[i-1].getOneLetterCode()); - - // C-terminus - if (i == peptide.size()) - { - if (res_type == Residue::BIon) - { - //gb_i = gb_bb_l_[aa_i_l] + gb_bb_r_["b-ion"]; - gb_i = peptide[i - 1].getBackboneBasicityLeft() + gb_bb_r_bion; - } - else - { - if (res_type == Residue::AIon) - { - //gb_i = gb_bb_l_[aa_i_l] + gb_bb_r_["a-ion"]; - gb_i = peptide[i - 1].getBackboneBasicityLeft() + gb_bb_r_aion; - } - else - { - //gb_i = gb_bb_l_[aa_i_l] + gb_bb_r_["COOH"]; - gb_i = peptide[i - 1].getBackboneBasicityLeft() + gb_bb_r_COOH; - } - } - } - else - { - // internal BB gb's - //gb_i = gb_bb_l_[aa_i_l] + gb_bb_r_[peptide[i].getOneLetterCode()]; - gb_i = peptide[i - 1].getBackboneBasicityLeft() + peptide[i].getBackboneBasicityRight(); - } - } - // N-terminus - if (j == 0) - { - //gb_j = gb_bb_l_["NH2"] + gb_bb_r_[peptide[j].getOneLetterCode()]; - gb_j = gb_bb_l_NH2 + peptide[j].getBackboneBasicityRight(); - } - else - { - String aa_j_l(peptide[j - 1].getOneLetterCode()); - // C-terminus - if (j == peptide.size()) - { - if (res_type == Residue::BIon) - { - //gb_j = gb_bb_l_[aa_j_l] + gb_bb_r_["b-ion"]; - gb_j = peptide[j - 1].getBackboneBasicityLeft() + gb_bb_r_bion; - } - else - { - if (res_type == Residue::AIon) - { - //gb_j = gb_bb_l_[aa_j_l] + gb_bb_r_["a-ion"]; - gb_j = peptide[j - 1].getBackboneBasicityLeft() + gb_bb_r_aion; - } - else - { - //gb_j = gb_bb_l_[aa_j_l] + gb_bb_r_["COOH"]; - gb_j = peptide[j - 1].getBackboneBasicityLeft() + gb_bb_r_COOH; - } - } - } - else - { - //gb_j = gb_bb_l_[aa_j_l] + gb_bb_r_[peptide[j].getOneLetterCode()]; - gb_j = peptide[j - 1].getBackboneBasicityLeft() + peptide[j].getBackboneBasicityRight(); - } - } - - // protons at different residues - if (i != j) - { - // distance of the protons - Int r_ij(abs((Int)i - (Int)j)); - // calculate probability - double prob = exp(-(-gb_i - gb_j + COULOMB_REPULSION / r_ij) * 1000 / (Constants::R * T) -500) / q; - // add prob to site of first proton - bb_charge_[i] += prob; - // add to apparent GB - bb_charge_[j] += prob; - - // side chains - double gb_i_sc(0); - if (i != peptide.size()) - { - if (/*gb_sc_.has(peptide[i].getOneLetterCode())*/ peptide[i].getSideChainBasicity() != 0) - { - //gb_i_sc = gb_sc_[peptide[i].getOneLetterCode()]; - gb_i_sc = peptide[i].getSideChainBasicity(); - double probi = exp(-(-gb_i_sc - gb_j + COULOMB_REPULSION / (r_ij + 1)) * 1000 / (Constants::R * T) -500) / q; - sc_charge_[i] += probi; - bb_charge_[j] += probi; - } - } - - if (j != peptide.size()) - { - if (/*gb_sc_.has(peptide[j].getOneLetterCode())*/ peptide[j].getSideChainBasicity() != 0) - { - //gb_j_sc = gb_sc_[peptide[j].getOneLetterCode()]; - double gb_j_sc = peptide[j].getSideChainBasicity(); - double probi = exp(-(-gb_i - gb_j_sc + COULOMB_REPULSION / (r_ij + 1)) * 1000 / (Constants::R * T) -500) / q; - bb_charge_[i] += probi; - sc_charge_[j] += probi; - - // both protons at sidechains - if (gb_i_sc != 0) - { - double prob_s = exp(-(-gb_i_sc - gb_j_sc + COULOMB_REPULSION / (r_ij + 2)) * 1000 / (Constants::R * T) -500) / q; - sc_charge_[i] += prob_s; - sc_charge_[j] += prob_s; - } - } - } - } - else - { - // protons at the same residue - if (i != peptide.size()) - { - if (/*gb_sc_.has(peptide[i].getOneLetterCode())*/ peptide[i].getSideChainBasicity() != 0) - { - //double gb_i_sc = gb_sc_[peptide[i].getOneLetterCode()]; - double gb_i_sc = peptide[i].getSideChainBasicity(); - double prob = exp(-(-gb_i - gb_i_sc + COULOMB_REPULSION) * 1000 / (Constants::R * T) -500) / q; - sc_charge_[i] += prob; - sc_charge_[j] += prob; - } - } - } - } - } - } - -#if 0 - cerr << "side chain proton availabilities" << endl; - double sum(0); - for (unsigned Int i = 0; i != peptide.size(); ++i) - { - if (sc_charge_.has(i)) - { - cerr << i << ".\t" << peptide[i].getThreeLetterCode() << ": " << sc_charge_[i] << endl; - sum += sc_charge_[i]; - } - else - { - cerr << i << ".\t" << peptide[i].getThreeLetterCode() << ": 0" << endl; - } - } - - cerr << "\nbackbone proton availabilities" << endl; - for (unsigned Int i = 0; i <= peptide.size(); ++i) - { - if (bb_charge_.has(i)) - { - cerr << i << ".\t" << bb_charge_[i] << endl; - sum += bb_charge_[i]; - } - else - { - cerr << i << ".\t" << 0 << endl; - } - } - - cerr << "(sum=" << sum << ")" << endl; -#endif - - E_ = sum_E; - if (fixed_proton) - { - E_n_term_ = sum_E_n_term; - E_c_term_ = sum_E_c_term; - } - else - { - E_n_term_ = 0; - E_c_term_ = 0; - } - - } - - void ProtonDistributionModel::calculateProtonDistributionCharge1_(const AASequence & peptide, Residue::ResidueType res_type) - { - // single charged - double q(0), sum_E(0) /*, sum_E_n_term(0), sum_E_c_term(0)*/; // partition function - - double gb_bb_l_NH2 = (double)param_.getValue("gb_bb_l_NH2"); - double gb_bb_r_COOH = (double)param_.getValue("gb_bb_r_COOH"); - double gb_bb_r_bion = (double)param_.getValue("gb_bb_r_b-ion"); - double gb_bb_r_aion = (double)param_.getValue("gb_bb_r_a-ion"); - double T = (double)param_.getValue("temperature"); - - for (Size i = 0; i != peptide.size(); ++i) - { - // backbone energy - if (i == 0) - { - double E = -(gb_bb_l_NH2 + peptide[i].getBackboneBasicityRight()); - q += exp(-E * 1000 / (Constants::R * T)); - } - else - { - if (i == peptide.size() - 1) - { - // position at the C-terminal end of the ion - double E(0); - if (res_type == Residue::BIon) - { - E = -(peptide[i].getBackboneBasicityLeft() + gb_bb_r_bion); - } - else - { - if (res_type == Residue::AIon) - { - E = -(peptide[i].getBackboneBasicityLeft() + gb_bb_r_aion); - } - else - { - E = -(peptide[i].getBackboneBasicityLeft() + gb_bb_r_COOH); - } - } - q += exp(-E * 1000 / (Constants::R * T)); - E = -(peptide[i - 1].getBackboneBasicityLeft() + peptide[i].getBackboneBasicityRight()); - q += exp(-E * 1000 / (Constants::R * T)); - } - else - { - // normal internal backbone position - double E = -(peptide[i - 1].getBackboneBasicityLeft() + peptide[i].getBackboneBasicityRight()); - q += exp(-E * 1000 / (Constants::R * T)); - } - } - - // side chains - if (peptide[i].getSideChainBasicity() != 0) - { - double E = -peptide[i].getSideChainBasicity(); - q += exp(-E * 1000 / (Constants::R * T)); - } - } - -#if 0 - cout << "Q=" << q << endl; -#endif - // calculate the availabilities - for (Size i = 0; i != peptide.size(); ++i) - { - // backbone - if (i == 0) - { - double E = -(gb_bb_l_NH2 + peptide[i].getBackboneBasicityRight()); - bb_charge_[i] = exp(-E * 1000 / (Constants::R * T)) / q; - sum_E += exp(-E * 1000 / Constants::R / T); - } - else - { - if (i == peptide.size() - 1) - { - double E(0); - - if (res_type == Residue::BIon) - { - E = -(peptide[i].getBackboneBasicityLeft() + gb_bb_r_bion); - } - else - { - if (res_type == Residue::AIon) - { - E = -(peptide[i].getBackboneBasicityLeft() + gb_bb_r_aion); - } - else - { - E = -(peptide[i].getBackboneBasicityLeft() + gb_bb_r_COOH); - } - } - // TODO charge order; bug???? - bb_charge_[i + 1] = exp(-E * 1000 / (Constants::R * T)) / q; - sum_E += exp(-E * 1000 / Constants::R / T); - - E = -(peptide[i - 1].getBackboneBasicityLeft() + peptide[i].getBackboneBasicityRight()); - bb_charge_[i] = exp(-E * 1000 / (Constants::R * T)) / q; - sum_E += exp(-E * 1000 / Constants::R / T); - } - else - { - // normal backbone position - double E = -(peptide[i - 1].getBackboneBasicityLeft() + peptide[i].getBackboneBasicityRight()); - bb_charge_[i] = exp(-E * 1000 / (Constants::R * T)) / q; - sum_E += exp(-E * 1000 / Constants::R / T); - } - } - - // side chains - if (peptide[i].getSideChainBasicity() != 0) - { - double E = -peptide[i].getSideChainBasicity(); - sc_charge_[i] = exp(-E * 1000 / (Constants::R * T)) / q; - sum_E += exp(-E * 1000 / Constants::R / T); - } - } - E_ = sum_E; - } - - void ProtonDistributionModel::calculateProtonDistribution_(const AASequence & peptide, - Int charge, Residue::ResidueType res_type, - bool fixed_proton, - Size cleavage_site, - bool use_most_basic_site) - { - if (charge == 1) - { - calculateProtonDistributionCharge1_(peptide, res_type); - return; - } - if (charge == 2) - { - calculateProtonDistributionCharge2_(peptide, res_type, fixed_proton, cleavage_site, use_most_basic_site); - return; - } - - // charge > 2 - calculateProtonDistributionGreater2_(peptide, charge, res_type); - return; - } - -/* - double ProtonDistributionModel::getProtonAffinity_(const AASequence& peptide, Int charge, Residue::ResidueType res_type) - { - //const double T(500.0); - - double pa(0); - calculateProtonDistribution_(peptide, charge, res_type); - - //pa = Constants::R * T * log(E_); - - // new test - double sum(0); - if (res_type == Residue::AIon || res_type == Residue::BIon || res_type == Residue::CIon) - { - for (Size i = 1; i <= peptide.size(); ++i) - { - sum += bb_charge_[i]; - if (sc_charge_.has(i-1)) - { - sum += sc_charge_[i-1]; - } - } - sum += bb_charge_[0]/2; - } - else - { - if (res_type == Residue::XIon || res_type == Residue::YIon || res_type == Residue::ZIon) - { - for (Size i = bb_charge_.size() - peptide.size() - 1; i != bb_charge_.size(); ++i) - { - sum += bb_charge_[i]; - if (sc_charge_.has(i)) - { - sum += sc_charge_[i]; - } - } - sum += bb_charge_[0]/2; - } - } - - pa = sum; - - //return pa; - return E_; - } -*/ - - void ProtonDistributionModel::getChargeStateIntensities(const AASequence & peptide, - const AASequence & n_term_ion, - const AASequence & c_term_ion, - Int charge, - Residue::ResidueType n_term_type, - std::vector & n_term_intensities, - std::vector & c_term_intensities, - FragmentationType type) - { - calcChargeStateIntensities_(peptide, n_term_ion, c_term_ion, charge, n_term_type, n_term_intensities, c_term_intensities, type); - return; - } - - void ProtonDistributionModel::calcChargeStateIntensities_(const AASequence & peptide, - const AASequence & n_term_ion, - const AASequence & c_term_ion, - Int charge, - Residue::ResidueType n_term_type, - vector & n_term_intensities, - vector & c_term_intensities, - FragmentationType type) - { - // original method works well - if (charge == 1) - { - double c_term_int1(0), c_term_int2(0), n_term_int1(0), n_term_int2(0); - n_term_intensities.clear(); - c_term_intensities.clear(); - calcChargeStateIntensities_(peptide, n_term_ion, c_term_ion, charge, n_term_type, n_term_int1, c_term_int1, n_term_int2, c_term_int2, type); - n_term_intensities.push_back(n_term_int1); - c_term_intensities.push_back(c_term_int1); - return; - } - - if (charge == 2) - { - double c_term_int1(0), c_term_int2(0), n_term_int1(0), n_term_int2(0); - n_term_intensities.clear(); - c_term_intensities.clear(); - calcChargeStateIntensities_(peptide, n_term_ion, c_term_ion, charge, n_term_type, n_term_int1, c_term_int1, n_term_int2, c_term_int2, type); - n_term_intensities.push_back(n_term_int1); - n_term_intensities.push_back(n_term_int2); - c_term_intensities.push_back(c_term_int1); - c_term_intensities.push_back(c_term_int2); - return; - } - - - // charge > 2 - n_term_intensities = vector(charge, 0.0); - c_term_intensities = vector(charge, 0.0); - - // calculate the number of in-active protons - // this is simply the number of protons in case of charge-remote and - // side-chain induced cleavages (side-chain protons stay at the side chain) - // for charge-directed cleavages there must be one proton which induces - // the cleavage, however, this can be distributed over several places - Int num_active_protons = charge; - if (type == ChargeDirected) - { - num_active_protons = charge - 1; - } - - // calculate proton distribution - calculateProtonDistribution_(peptide, num_active_protons, Residue::Full); - double n_term_sum(0), c_term_sum(0); - - // sum up all protons located at the N-term/C-term part of the peptide - for (Size i = 0; i != n_term_ion.size(); ++i) - { - //cerr << "N-term: i=" << i << ", " << peptide[i].getOneLetterCode() << ", BB-charge=" << bb_charge_[i] << ", SC-charge=" << sc_charge_[i] << endl; - n_term_sum += bb_charge_[i]; - n_term_sum += sc_charge_[i]; - } - for (Size i = n_term_ion.size(); i != peptide.size(); ++i) - { - //cerr << "C-term: i=" << i << ", " << peptide[i].getOneLetterCode() << ", BB-charge=" << bb_charge_[i] << ", SC-charge=" << sc_charge_[i] << endl; - c_term_sum += bb_charge_[i + 1]; - c_term_sum += sc_charge_[i]; - } - //c_term_sum += bb_charge_[peptide.size()]; - //cerr << n_term_ion << " " << c_term_ion << " " << n_term_sum << " " << c_term_sum << endl; - //n_term_intensities[0] = n_term_sum; - //c_term_intensities[0] = c_term_sum; - // now we have the distributions of the protons - - //cerr << "Init: " << n_term_sum << " " << c_term_sum << endl; - if (type == ChargeDirected) - { - // charge directed case - // the proton which induces the cleavage is handled separately - bb_charge_ion_n_term_ = vector(n_term_ion.size() + 1, 0.0); - bb_charge_ion_c_term_ = vector(c_term_ion.size() + 1, 0.0); - sc_charge_ion_n_term_ = vector(n_term_ion.size(), 0.0); - sc_charge_ion_c_term_ = vector(c_term_ion.size(), 0.0); - calculateProtonDistributionIonPair_(peptide, n_term_type, n_term_ion.size()); - //cerr << "NTerm: "; - for (Size i = 0; i != n_term_ion.size(); ++i) - { - //cerr << i << ", bb=" << bb_charge_ion_n_term_[i] << ", sc=" << sc_charge_ion_n_term_[i] << " "; - n_term_sum += bb_charge_ion_n_term_[i]; - n_term_sum += sc_charge_ion_n_term_[i]; - } - //cerr << bb_charge_ion_n_term_[n_term_ion.size()] << endl; - n_term_sum += bb_charge_ion_n_term_[n_term_ion.size()]; - - //cerr << "CTerm: "; - for (Size i = 0; i != c_term_ion.size(); ++i) - { - //cerr << i << ", bb=" << bb_charge_ion_c_term_[i] << ", sc=" << sc_charge_ion_c_term_[i] << " "; - c_term_sum += bb_charge_ion_c_term_[i]; - c_term_sum += sc_charge_ion_c_term_[i]; - } - //cerr << bb_charge_ion_c_term_[c_term_ion.size()] << endl; - c_term_sum += bb_charge_ion_c_term_[c_term_ion.size()]; - } - - // we simply need to calculate the charge state distribution according - // to the proton probabilities we calculated above - double sigma = (double)param_.getValue("sigma"); - for (Int z = 1; z <= charge; ++z) - { - double nterm = fabs(n_term_sum - (double)z); - double cterm = fabs(c_term_sum - (double)z); - boost::math::normal_distribution normal(0., sigma); - n_term_intensities[z - 1] = boost::math::pdf(normal, nterm); - c_term_intensities[z - 1] = boost::math::pdf(normal, cterm); - } - - return; - } - - void ProtonDistributionModel::calcChargeStateIntensities_(const AASequence & peptide, - const AASequence & n_term_ion, - const AASequence & c_term_ion, - Int charge, - Residue::ResidueType n_term_type, - double & n_term1, - double & c_term1, - double & n_term2, - double & c_term2, - FragmentationType type) - { - - if (charge == 1) - { - if (type == ChargeDirected || type == ChargeRemote) - { - // get the K_app of N and C-terminal fragment respectively - calculateProtonDistribution_(n_term_ion, 1, n_term_type); - double n_term_kapp = E_; - calculateProtonDistribution_(c_term_ion, 1, Residue::YIon); - double c_term_kapp = E_; - - // calc the ratio - n_term1 = n_term_kapp / (n_term_kapp + c_term_kapp); - c_term1 = c_term_kapp / (n_term_kapp + c_term_kapp); - // - - //double pa_n = log(n_term_kapp); - //double pa_c = log(c_term_kapp); - - //double ratio_bx_yz = exp(pa_n - pa_c); - - //n_term1 = ratio_bx_yz/*ratio_bx_yz / (1.0 + ratio_bx_yz)*/; - //c_term1 = 1.0 /*/ (ratio_bx_yz + 1.0)*/; - - // of course ++ ions are not available - n_term2 = 0; - c_term2 = 0; - - - //cerr << "ChargeStateIntensities: " << n_term_ion << " - " << c_term_ion << " z=1 " << n_term_kapp << " " << c_term_kapp << " " << n_term1 << " " << c_term1 << endl; - } - else - { - if (type == SideChain) - { - // the proton stays at the fragmentation site (N-terminal fragment) - n_term1 = 1; - c_term1 = 0; - n_term2 = 0; - c_term2 = 0; - } - else - { - // not possible - cerr << "calcChargeStateIntensities_: unknown fragmentation type (" << type << ")" << endl; - } - } - return; - } - - if (charge == 2) - { - if (type == ChargeDirected) - { - // calculate proton distribution with one fixed at cleavage site - calculateProtonDistribution_(peptide, 2, Residue::Full, true, n_term_ion.size()); - //calculateProtonDistribution_(peptide, 1, Residue::Full); - double p_n(0), p_c(0); - - p_n = E_n_term_ / (E_n_term_ + E_c_term_); - if (p_n < 0) - { - p_n = 0; - } - p_c = E_c_term_ / (E_n_term_ + E_c_term_); - if (p_c < 0) - { - p_c = 0; - } - -#ifdef CALC_CHARGE_STATES_DEBUG - cerr << "E_n_term_=" << E_n_term_ << ", E_c_term_=" << E_c_term_ << ", p_n=" << p_n << ", p_c=" << p_c << endl; -#endif - - - // calculate proton distribution of second proton with other one at most basic site fixed - calculateProtonDistribution_(peptide, 2, Residue::Full, false, n_term_ion.size(), true); - -#ifdef CALC_CHARGE_STATES_DEBUG - cerr << "Distribution of second proton: " << endl; - cerr << "BB: "; - for (Size i = 0; i != bb_charge_.size(); ++i) - { - cerr << "; " << i << ". " << bb_charge_[i]; - } - cerr << "\nSC: "; - for (Size i = 0; i != sc_charge_.size(); ++i) - { - cerr << "; " << i << ". " << sc_charge_[i]; - } - cerr << endl; -#endif - - double singly_charged(0); - for (Size i = 0; i != n_term_ion.size(); ++i) - { - n_term2 += bb_charge_[i] * p_n; - singly_charged += bb_charge_[i] * p_c; - if (sc_charge_[i] != 0) - { - n_term2 += sc_charge_[i] * p_n; - singly_charged += sc_charge_[i] * p_c; - } - } - - for (Size i = n_term_ion.size(); i <= peptide.size(); ++i) - { - c_term2 += bb_charge_[i] * p_c; - singly_charged += bb_charge_[i] * p_n; - if (i < peptide.size() && sc_charge_[i] != 0) - { - c_term2 += sc_charge_[i] * p_c; - singly_charged += sc_charge_[i] * p_n; - } - } - - n_term1 = singly_charged; - c_term1 = singly_charged; - - //cerr << E_n_term_ << "\t" << E_c_term_ << "\t" << p_n << "\t" << p_c << "\t" << endl; - - - // calculate charge losses - double gb_n_term = AAIndex::calculateGB(n_term_ion); - double gb_c_term = AAIndex::calculateGB(c_term_ion); - - double b(828.18); // kJ/mol - - double gb_n_term_loss = exp(-(gb_n_term - b) / 1000.0); - double gb_c_term_loss = exp(-(gb_c_term - b) / 1000.0); - -#ifdef CALC_CHARGE_STATES_DEBUG - cerr << "Loss: N-term: " << gb_n_term << " -> " << gb_n_term_loss << ", C-term: " << gb_c_term << " -> " << gb_c_term_loss << endl; -#endif - - n_term1 += n_term2 * (1.0 - gb_n_term_loss); - n_term2 *= gb_n_term_loss; - c_term1 += c_term2 * (1.0 - gb_c_term_loss); - c_term2 *= gb_c_term_loss; - - - // TODO normalization correct? - double sum(0); - sum += n_term1 + n_term2 + c_term1 + c_term2; - n_term1 /= sum; - n_term2 /= sum; - c_term1 /= sum; - c_term2 /= sum; - -#ifdef CALC_CHARGE_STATES_DEBUG - cerr << "CD: charge=2, " << n_term_ion << "|" << c_term_ion << ", n_term1=" << n_term1 << ", n_term2=" << n_term2 << ", c_term1=" << c_term1 << ", c_term2=" << c_term2 << endl; -#endif - } - else - { - if (type == ChargeRemote || type == SideChain) - { - // TODO ranges correct? Missing some sites of the peptide - double n_term_sum(0), c_term_sum(0); - for (Size i = 0; i != n_term_ion.size(); ++i) - { - n_term_sum += bb_charge_full_[i]; - n_term_sum += sc_charge_full_[i]; - } - for (Size i = n_term_ion.size(); i != peptide.size(); ++i) - { - c_term_sum += bb_charge_full_[i]; - c_term_sum += sc_charge_full_[i]; - } - c_term_sum += bb_charge_full_[peptide.size()]; - - if (n_term_sum - 1 > 0) - { - n_term2 = n_term_sum - 1; - n_term1 = 1 - n_term2; - } - else - { - n_term1 = n_term_sum; - n_term2 = 0; - } - if (c_term_sum - 1 > 0) - { - c_term2 = c_term_sum - 1; - c_term1 = 1 - c_term2; - } - else - { - c_term1 = c_term_sum; - c_term2 = 0; - } - - double sum(0); - sum += n_term1 + n_term2 + c_term1 + c_term2; - n_term1 /= sum; - n_term2 /= sum; - c_term1 /= sum; - c_term2 /= sum; -#ifdef CALC_CHARGE_STATES_DEBUG - cerr << "CR/SC: charge=2, " << n_term_ion << "|" << c_term_ion << ", n_term1=" << n_term1 << ", n_term2=" << n_term2 << ", c_term1=" << c_term1 << ", c_term2=" << c_term2 << endl; -#endif - } - else - { - cerr << "calcChargeStateIntensities_: unknown fragmentation type (" << type << ")" << endl; - } - } - } - if (charge > 2) - { - /*const AASequence& peptide, const AASequence& n_term_ion, const AASequence& c_term_ion, - Int charge, Residue::ResidueType n_term_type, double& n_term1, double& c_term1, double& n_term2, double& c_term2*/ - // add up charges from the ions - double n_term_sum(0); - for (Size i = 0; i <= n_term_ion.size(); ++i) - { - n_term_sum += bb_charge_[i]; - if (i != n_term_ion.size()) - { - n_term_sum += sc_charge_[i]; - } - } - double c_term_sum(0); - for (Size i = n_term_ion.size() + 1; i != bb_charge_.size(); ++i) - { - c_term_sum += bb_charge_[i]; - } - - for (Size i = n_term_ion.size(); i != sc_charge_.size(); ++i) - { - c_term_sum += sc_charge_[i]; - } - - if (n_term_sum > 2) - { - n_term2 = 1; - n_term1 = 0; - } - else - { - if (n_term_sum > 1) - { - n_term2 = n_term_sum - 1; - n_term1 = 1 - n_term2; - } - else - { - n_term2 = 0; - n_term1 = n_term_sum; - } - } - - if (c_term_sum > 2) - { - c_term2 = 1; - c_term1 = 0; - } - else - { - if (c_term_sum > 1) - { - c_term2 = c_term_sum - 1; - c_term1 = 1 - c_term2; - } - else - { - c_term2 = 0; - c_term1 = c_term_sum; - } - } - - /* - if (n_term_ion.size() == 2) - { - n_term1 /= 10.0; - n_term2 /= 10.0; - } - */ - - - } - return; - } - - void ProtonDistributionModel::getLeftAndRightGBValues_(const AASequence & peptide, double & left_gb, double & right_gb, Size position) - { - // TODO test if position out of range - if (position == 0) - { - left_gb = (double)param_.getValue("gb_bb_l_NH2"); - right_gb = peptide[position].getBackboneBasicityRight(); - return; - //cerr << position << " " << left_gb << " " << right_gb << endl; - } - else - { - if (position == peptide.size()) - { - left_gb = peptide[position - 1].getBackboneBasicityLeft(); - right_gb = (double)param_.getValue("gb_bb_r_COOH"); - return; - //cerr << position << " " << left_gb << " " << right_gb << endl; - } - else - { - left_gb = peptide[position - 1].getBackboneBasicityLeft(); - right_gb = peptide[position].getBackboneBasicityRight(); - return; - //cerr << position << " " << left_gb << " " << right_gb << endl; - } - } - } - -} // namespace OpenMS diff --git a/src/openms/source/ANALYSIS/ID/SiriusAdapterAlgorithm.cpp b/src/openms/source/ANALYSIS/ID/SiriusAdapterAlgorithm.cpp deleted file mode 100644 index 7b7183d4acd..00000000000 --- a/src/openms/source/ANALYSIS/ID/SiriusAdapterAlgorithm.cpp +++ /dev/null @@ -1,656 +0,0 @@ -// Copyright (c) 2002-present, The OpenMS Team -- EKU Tuebingen, ETH Zurich, and FU Berlin -// SPDX-License-Identifier: BSD-3-Clause -// -// -------------------------------------------------------------------------- -// $Maintainer: Oliver Alka $ -// $Authors: Oliver Alka, Lukas Zimmermann $ -// -------------------------------------------------------------------------- - -#include // must be first, otherwise Q_FOREACH macro will wreak havoc - -#include - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -namespace OpenMS -{ - // ################### - // Set subtool parameters - // ################### - - using ProjectName = String; - using SiriusName = String; - using FingeridName = String; - using PassatuttoName = String; - using OpenMSName = String; - using DefaultValue = ParamValue; - using Description = String; - - SiriusAdapterAlgorithm::SiriusAdapterAlgorithm() : - DefaultParamHandler("SiriusAdapterAlgorithm"), - preprocessing(Preprocessing(this)), - project(Project(this)), - sirius(Sirius(this)), - fingerid(Fingerid(this)), - passatutto(Passatutto(this)) - { - // Defines the Parameters for preprocessing and SIRIUS subtools - preprocessing.parameters(); - project.parameters(); - sirius.parameters(); - fingerid.parameters(); - passatutto.parameters(); - - defaults_.setValue("read_sirius_stdout", "false", "Read and print the standard output and error of the Sirius executable, even if it succeeds.", {"advanced"}); - defaults_.setValidStrings("read_sirius_stdout",{"true","false"}); - - defaultsToParam_(); - } - - void SiriusAdapterAlgorithm::Preprocessing::parameters() - { - parameter( - OpenMSName("filter_by_num_masstraces"), - DefaultValue(1), - Description("Number of mass traces each feature has to have to be included. " - "To use this parameter, setting the feature_only flag is necessary") - ).withMinInt(1); - - parameter( - OpenMSName("precursor_mz_tolerance"), - DefaultValue(10.0), - Description("Tolerance window for precursor selection (Feature selection in regard to the precursor)") - ); - - parameter( - OpenMSName("precursor_mz_tolerance_unit"), - DefaultValue("ppm"), - Description("Unit of the precursor_mz_tolerance") - ).withValidStrings({"Da", "ppm"}); - - parameter( - OpenMSName("precursor_rt_tolerance"), - DefaultValue(5.0), - Description("Tolerance window (left and right) for precursor selection [seconds]") - ); - - parameter( - OpenMSName("isotope_pattern_iterations"), - DefaultValue(3), - Description("Number of iterations that should be performed to extract the C13 isotope pattern. " - "If no peak is found (C13 distance) the function will abort. " - "Be careful with noisy data - since this can lead to wrong isotope patterns") - ); - - flag( - OpenMSName("feature_only"), - Description("Uses the feature information from in_featureinfo to reduce the search space to MS2 " - "associated with a feature") - ); - - flag( - OpenMSName("no_masstrace_info_isotope_pattern"), - Description("Use this flag if the masstrace information from a feature should be discarded " - "and the isotope_pattern_iterations should be used instead") - ); - } - - void SiriusAdapterAlgorithm::Project::parameters() - { - parameter( - ProjectName("maxmz"), - DefaultValue(-1), - Description("Just consider compounds with a precursor mz lower or equal\n" - "this maximum mz. All other compounds in the input file\n" - "are ignored.") - ); - - parameter( - ProjectName("processors"), - DefaultValue(1), - Description("Number of cpu cores to use. If not specified SIRIUS uses all available cores.") - ); - - parameter( - ProjectName("loglevel"), - DefaultValue(""), - Description("Set logging level of the Jobs SIRIUS will execute.\n" - "Valid values: SEVERE, WARNING, INFO, FINER, ALL\n" - "Default: WARNING") - ); - - flag( - ProjectName("ignore-formula"), - Description("Ignore given molecular formula in internal .ms format, while processing.") - ); - - flag( - ProjectName("q"), - Description("Suppress shell output") - ); - } - - void SiriusAdapterAlgorithm::Sirius::parameters() // original sirius 5.6.1 parameters as defaults, except for timeouts - { - parameter( - SiriusName("ppm-max"), - DefaultValue(10.0), - Description("Maximum allowed mass deviation in ppm for decomposing masses [ppm].") - ); - - parameter( - SiriusName("ppm-max-ms2"), - DefaultValue(10.0), - Description("Maximum allowed mass deviation in ppm for decomposing masses in MS2 [ppm]." - "If not specified, the same value as for the MS1 is used. ") - ); - - parameter( - SiriusName("tree-timeout"), - DefaultValue(100), // original default = 0 - Description("Time out in seconds per fragmentation tree computations. 0 for an infinite amount of time") - ).withMinInt(0); - - parameter( - SiriusName("compound-timeout"), - DefaultValue(100), // original default = 0 - Description("Maximal computation time in seconds for a single compound. 0 for an infinite amount of time.") - ).withMinInt(0); - - flag( - SiriusName("no-recalibration"), - Description("Disable recalibration of input spectra") - ); - - parameter( - SiriusName("profile"), - DefaultValue("default"), - Description("Name of the configuration profile") - ).withValidStrings({"default", "qtof", "orbitrap", "fticr"}); - - parameter( - SiriusName("formulas"), - DefaultValue(""), - Description("Specify the neutral molecular formula of the measured " - "compound to compute its tree or a list of candidate " - "formulas the method should discriminate. Omit this " - "option if you want to consider all possible molecular formulas") - ); - - parameter( - SiriusName("ions-enforced"), - DefaultValue(""), - Description("the iontype/adduct of the MS/MS data. Example: [M+H]+, " - "[M-H]-, [M+Cl]-, [M+Na]+, [M]+. You can also provide a comma separated list of adducts") - ); - - parameter( - SiriusName("candidates"), - DefaultValue(10), - Description("The number of formula candidates in the SIRIUS output") - ).withMinInt(0); - - parameter( - SiriusName("candidates-per-ion"), - DefaultValue(1), - Description("Minimum number of candidates in the output for each " - "ionization. Set to force output of results for each " - "possible ionization, even if not part of highest " - "ranked results.") - ); - - parameter( - SiriusName("elements-considered"), - DefaultValue("SBrClBSe"), - Description("Set the allowed elements for rare element detection. " - "Write SBrClBSe to allow the elements S,Br,Cl,B and Se.")); - - parameter( - SiriusName("elements-enforced"), - DefaultValue("CHNOP"), - Description("Enforce elements for molecular formula determination. " - "Write CHNOPSCl to allow the elements C, H, N, O, P, S " - "and Cl. Add numbers in brackets to restrict the " - "minimal and maximal allowed occurrence of these " - "elements: CHNOP[5]S[8]Cl[1-2]. When one number is " - "given then it is interpreted as upper bound.") - ); - - flag( - SiriusName("no-isotope-score"), - Description("Disable isotope pattern score.") - ); - - flag( - SiriusName("no-isotope-filter"), - Description("Disable molecular formula filter. When filtering is enabled, molecular formulas are " - "excluded if their theoretical isotope pattern does not match the theoretical one, even if " - "their MS/MS pattern has high score.") - ); - - parameter( - SiriusName("ions-considered"), - DefaultValue("[M+H]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+H-H4O2]+,[M+NH4]+,[M-H]-,[M+Cl]-,[M-H2O-H]-,[M+Br]-"), - Description("the iontype/adduct of the MS/MS data. " - "Example: [M+H]+, [M-H]-, [M+Cl]-, [M+Na]+, [M]+. " - "You can also provide a comma separated list of adducts.") - ); - - parameter( - SiriusName("db"), - DefaultValue("none"), - Description("Search formulas in the Union of the given " - "databases db-name1,db-name2,db-name3. If no database is given all possible " - "molecular formulas will be respected (no database " - "is used). " - "Example: possible DBs: ALL,BIO,PUBCHEM,MESH,HMDB," - "KNAPSACK,CHEBI,PUBMED,KEGG,HSDB,MACONDA,METACYC," - "GNPS,ZINCBIO,UNDP,YMDB,PLANTCYC,NORMAN,ADDITIONAL," - "PUBCHEMANNOTATIONBIO,PUBCHEMANNOTATIONDRUG," - "PUBCHEMANNOTATIONSAFETYANDTOXIC," - "PUBCHEMANNOTATIONFOOD,KEGGMINE,ECOCYCMINE," - "YMDBMINE") - ); - - parameter( - SiriusName("ions-enforced"), - DefaultValue(""), - Description("The iontype/adduct of the MS/MS data. Example: [M+H]+, \n" - "[M-H]-, [M+Cl]-, [M+Na]+, [M]+. You can also provide a \n" - "comma separated list of adducts.") - ); - - parameter( - SiriusName("solver"), - DefaultValue("CLP"), - Description("For GUROBI and CPLEX environment variables need to be configured. \n" - "(see SIRIUS manual: https://boecker-lab.github.io/docs.sirius.github.io/install/).") - ); - } - - void SiriusAdapterAlgorithm::Fingerid::parameters() - { - parameter( - FingeridName("db"), - DefaultValue(""), // default = BIO - Description("Search structures in the Union of the given " - "databases db-name1,db-name2,db-name3. If no database is given all possible " - "molecular formulas will be respected (no database " - "is used). " - "Example: possible DBs: ALL,BIO,PUBCHEM,MESH,HMDB," - "KNAPSACK,CHEBI,PUBMED,KEGG,HSDB,MACONDA,METACYC," - "GNPS,ZINCBIO,UNDP,YMDB,PLANTCYC,NORMAN,ADDITIONAL," - "PUBCHEMANNOTATIONBIO,PUBCHEMANNOTATIONDRUG," - "PUBCHEMANNOTATIONSAFETYANDTOXIC," - "PUBCHEMANNOTATIONFOOD,KEGGMINE,ECOCYCMINE," - "YMDBMINE") - ); - } - - void SiriusAdapterAlgorithm::Passatutto::parameters() - { - } - - void SiriusAdapterAlgorithm::updateExistingParameter(const OpenMS::Param ¶m) - { - for (auto it = param.begin(); it != param.end(); ++it) - { - const std::string name = it.getName(); - if (hasFullNameParameter(name)) - { - vector tags(it->tags.begin(), it->tags.end()); - param_.setValue(name, it->value, it->description, tags); - } - } - } - - bool SiriusAdapterAlgorithm::hasFullNameParameter(const OpenMS::String &name) const - { - for (auto it = param_.begin(); it != param_.end(); ++it) - { - if (it.getName() == name) - { - return true; - } - } - return false; - } - - String SiriusAdapterAlgorithm::determineSiriusExecutable(String& executable) - { - // if executable was not provided - if (executable.empty()) - { - const char* sirius_env_var = std::getenv("SIRIUS_PATH"); // returns nullptr if not found - if (sirius_env_var == nullptr) - { - throw Exception::InvalidValue(__FILE__, - __LINE__, - OPENMS_PRETTY_FUNCTION, - "FATAL: Executable of SIRIUS could not be found. Please either use SIRIUS_PATH env variable, add the Sirius directory to our PATH or provide the executable with -sirius_executable", - ""); - } - const std::string sirius_path(sirius_env_var); - executable = sirius_path; - } - String exe = QFileInfo(executable.toQString()).canonicalFilePath().toStdString(); - return exe; - } - - SiriusAdapterAlgorithm::SiriusTemporaryFileSystemObjects::SiriusTemporaryFileSystemObjects(int debug_level) - { - QString base_dir = File::getTempDirectory().toQString(); - tmp_dir_ = String(QDir(base_dir).filePath(File::getUniqueName().toQString())); - tmp_ms_file_ = QDir(base_dir).filePath((File::getUniqueName() + ".ms").toQString()); - tmp_out_dir_ = QDir(tmp_dir_.toQString()).filePath("sirius_out"); - debug_level_ = debug_level; - } - - SiriusAdapterAlgorithm::SiriusTemporaryFileSystemObjects::~SiriusTemporaryFileSystemObjects() - { - constexpr int debug_threshold = 9; - - // clean tmp directory if debug level < debug threshold - if (debug_level_ >= debug_threshold) - { - OPENMS_LOG_DEBUG << "Keeping temporary files in directory " << tmp_dir_ << " and msfile at this location "<< tmp_ms_file_ << ". Set debug level lower than " << debug_threshold << " to remove them." << std::endl; - } - else - { - if (!tmp_dir_.empty()) - { - OPENMS_LOG_DEBUG << "Deleting temporary directory " << tmp_dir_ << ". Set debug level to " << debug_threshold << " or higher to keep it." << std::endl; - File::removeDir(tmp_dir_.toQString()); - } - if (!tmp_ms_file_.empty()) - { - OPENMS_LOG_DEBUG << "Deleting temporary msfile " << tmp_ms_file_ << ". Set debug level to " << debug_threshold << " or higher to keep it." << std::endl; - File::remove(tmp_ms_file_); - } - } - } - - // ################ - // Algorithm - // ################ - - const String& SiriusAdapterAlgorithm::SiriusTemporaryFileSystemObjects::getTmpDir() const - { - return tmp_dir_; - } - - const String& SiriusAdapterAlgorithm::SiriusTemporaryFileSystemObjects::getTmpOutDir() const - { - return tmp_out_dir_; - } - - const String& SiriusAdapterAlgorithm::SiriusTemporaryFileSystemObjects::getTmpMsFile() const - { - return tmp_ms_file_; - } - - class OPENMS_DLLAPI SiriusWorkspaceIndex - { - public: - int array_index, scan_index; - - SiriusWorkspaceIndex(int array_index, int scan_index) : array_index {array_index}, scan_index {scan_index} {} - }; - - void SiriusAdapterAlgorithm::sortSiriusWorkspacePathsByScanIndex(std::vector& subdirs) - { - std::vector sorted_subdirs; - std::vector indices; - - for (size_t i = 0; i < subdirs.size(); i++) - { - indices.emplace_back(i, SiriusMzTabWriter::extractScanIndex(subdirs[i])); - } - - std::sort(indices.begin(), - indices.end(), - [](const SiriusWorkspaceIndex& i, const SiriusWorkspaceIndex& j) { return i.scan_index < j.scan_index; } ); - - sorted_subdirs.reserve(indices.size()); - for (const auto& index : indices) - { - sorted_subdirs.emplace_back(std::move(subdirs[index.array_index])); - } - - sorted_subdirs.swap(subdirs); - } - - void SiriusAdapterAlgorithm::preprocessingSirius(const String& featureinfo, - const MSExperiment& spectra, - FeatureMapping::FeatureMappingInfo& fm_info, - FeatureMapping::FeatureToMs2Indices& feature_mapping) const - { - // if fileparameter is given and should be not empty - if (!featureinfo.empty()) - { - if (File::exists(featureinfo) && !File::empty(featureinfo)) - { - // read featureXML - FeatureMap feature_map; - FileHandler().loadFeatures(featureinfo, feature_map); - - UInt num_masstrace_filter = getFilterByNumMassTraces(); - double precursor_mz_tol = getPrecursorMzTolerance(); - double precursor_rt_tol = getPrecursorRtTolerance(); - - if (num_masstrace_filter != 1 && !isFeatureOnly()) - { - num_masstrace_filter = 1; - OPENMS_LOG_WARN << "Parameter: filter_by_num_masstraces, was set to 1 to retain the adduct information for all MS2 spectra, if available. Masstrace filtering only makes sense in combination with feature_only." << std::endl; - } - - // filter feature by number of masstraces - auto map_it = remove_if(feature_map.begin(), feature_map.end(), - [&num_masstrace_filter](const Feature &feat) -> bool - { - unsigned int n_masstraces = feat.getMetaValue(Constants::UserParam::NUM_OF_MASSTRACES); - return n_masstraces < num_masstrace_filter; - }); - feature_map.erase(map_it, feature_map.end()); - - fm_info.feature_maps.push_back(feature_map); - fm_info.kd_tree.addMaps(fm_info.feature_maps); // KDTree references into feature_map - - // mapping of MS2 spectra to features - feature_mapping = FeatureMapping::assignMS2IndexToFeature(spectra, - fm_info, - precursor_mz_tol, - precursor_rt_tol, - precursorMzToleranceUnitIsPPM()); - } - else - { - throw OpenMS::Exception::FileEmpty(__FILE__, - __LINE__, - __FUNCTION__, - "Error: FeatureXML was empty, please provide a valid file."); - } - } - } - - void SiriusAdapterAlgorithm::logFeatureSpectraNumber(const String& featureinfo, - const FeatureMapping::FeatureToMs2Indices& feature_mapping, - const MSExperiment& spectra) const - { - // number of features to be processed - if (isFeatureOnly() && !featureinfo.empty()) - { - OPENMS_LOG_INFO << "Number of features to be processed: " << feature_mapping.assignedMS2.size() << std::endl; - } - else if (!featureinfo.empty()) - { - OPENMS_LOG_INFO << "Number of features to be processed: " << feature_mapping.assignedMS2.size() << std::endl; - OPENMS_LOG_INFO << "Number of additional MS2 spectra to be processed: " << feature_mapping.unassignedMS2.size() << std::endl; - } - else - { - long count_ms2 = count_if(spectra.begin(), spectra.end(), - [](const MSSpectrum &spectrum) { return spectrum.getMSLevel() == 2; }); - - OPENMS_LOG_INFO << "Number of MS2 spectra to be processed: " << count_ms2 << std::endl; - } - } - - // ################ - // Algorithm - // ################ - - void SiriusAdapterAlgorithm::logInSiriusAccount(String& executable, const String& email, const String& password) const - { - // sirius login --email=email --password=password - QString executable_qstring = SiriusAdapterAlgorithm::determineSiriusExecutable(executable).toQString(); - QStringList command_line{"login", String("--email="+email).toQString(), String("--password="+password).toQString()}; - - // start QProcess with sirius login command - QProcess qp; - qp.start(executable_qstring, command_line); - - // print executed command as info - std::stringstream ss; - ss << "Executing command: " << executable_qstring.toStdString(); - for (const QString& it : command_line) - { - ss << " " << it.toStdString(); - } - OPENMS_LOG_INFO << ss.str() << std::endl; - - // wait until process finished - qp.waitForFinished(-1); - - // always print process stdout (info) and stderror (warning) - const QString sirius_stdout(qp.readAllStandardOutput()); - const QString sirius_stderr(qp.readAllStandardError()); - OPENMS_LOG_INFO << String(sirius_stdout) << std::endl; - OPENMS_LOG_WARN << String(sirius_stderr) << std::endl; - - qp.close(); - } - - // tmp_msfile (store), all parameters, out_dir (tmpstructure) - const std::vector SiriusAdapterAlgorithm::callSiriusQProcess(const String& tmp_ms_file, - const String& tmp_out_dir, - String& executable, - const String& out_csifingerid, - const bool decoy_generation) const - - { - // get the command line parameters from all the subtools - QStringList project_params = project.getCommandLine(); - QStringList sirius_params = sirius.getCommandLine(); - QStringList fingerid_params = fingerid.getCommandLine(); - - const bool run_csifingerid = !out_csifingerid.empty(); - const bool run_passatutto = decoy_generation; - - // structure of the command line passed to NightSky (Sirius 4.X+) - // Add noCite and instead make sure the main citations are registered in our TOPP tool. - // Most of the time the user does not see the direct Sirius output anyway - QStringList command_line = QStringList("--noCite") + project_params + QStringList({"--input", tmp_ms_file.toQString(), "--project", tmp_out_dir.toQString(), "--no-compression", "sirius"}) + sirius_params; - - if (run_passatutto) - { - command_line << "passatutto"; - } - - if (run_csifingerid) - { - command_line << "fingerprint" << "structure" << fingerid_params; - } - - command_line << "write-summaries"; - - // the actual process - QProcess qp; - QString executable_qstring = SiriusAdapterAlgorithm::determineSiriusExecutable(executable).toQString(); - qp.start(executable_qstring, command_line); // does automatic escaping etc... start - std::stringstream ss; - - ss << "Executing command: " << executable_qstring.toStdString(); - for (const QString& it : command_line) - { - ss << " " << it.toStdString(); - } - OPENMS_LOG_WARN << ss.str() << std::endl; - - const bool success = qp.waitForFinished(-1); - - if (!success || qp.exitStatus() != 0 || qp.exitCode() != 0) - { - OPENMS_LOG_WARN << "FATAL: External invocation of Sirius failed. Standard output and error were:" << std::endl; - const QString sirius_stdout(qp.readAllStandardOutput()); - const QString sirius_stderr(qp.readAllStandardError()); - OPENMS_LOG_WARN << String(sirius_stdout) << std::endl; - OPENMS_LOG_WARN << String(sirius_stderr) << std::endl; - OPENMS_LOG_WARN << String(qp.exitCode()) << std::endl; - qp.close(); - - throw Exception::InvalidValue(__FILE__, - __LINE__, - OPENMS_PRETTY_FUNCTION, - "FATAL: SIRIUS could not be executed!", - ""); - } - - if (param_.getValue("read_sirius_stdout") == "true") - { - OPENMS_LOG_WARN << "Standard output and error of SIRIUS were:" << std::endl; - const QString sirius_stdout(qp.readAllStandardOutput()); - const QString sirius_stderr(qp.readAllStandardError()); - OPENMS_LOG_WARN << String(sirius_stdout) << std::endl; - OPENMS_LOG_WARN << String(sirius_stderr) << std::endl; - } - qp.close(); - - //extract path to subfolders (sirius internal folder structure) - std::vector subdirs; - QDirIterator it(tmp_out_dir.toQString(), QDir::Dirs | QDir::NoDotAndDotDot, QDirIterator::NoIteratorFlags); - while (it.hasNext()) - { - subdirs.emplace_back(it.next()); - } - return subdirs; - } - - // ################ - // Parameter handling - // ################ - - SiriusAdapterAlgorithm::ParameterModifier SiriusAdapterAlgorithm::ParameterSection::parameter( - const String ¶meter_name, - const ParamValue &default_value, - const String ¶meter_description) - { - const String full_parameter = toFullParameter(parameter_name); - openms_to_sirius[full_parameter] = parameter_name; - enclose->defaults_.setValue(full_parameter, default_value, parameter_description); - return ParameterModifier(full_parameter, enclose); - } - - void SiriusAdapterAlgorithm::ParameterSection::flag( - const OpenMS::String ¶meter_name, - const OpenMS::String ¶meter_description) - { - parameter(parameter_name, DefaultValue("false"), parameter_description) - .withValidStrings({"true", "false"}); - } -} // namespace OpenMS - -/// @endcond diff --git a/src/openms/source/ANALYSIS/ID/SiriusExportAlgorithm.cpp b/src/openms/source/ANALYSIS/ID/SiriusExportAlgorithm.cpp new file mode 100644 index 00000000000..1fdf996a0b4 --- /dev/null +++ b/src/openms/source/ANALYSIS/ID/SiriusExportAlgorithm.cpp @@ -0,0 +1,178 @@ +// Copyright (c) 2002-2023, The OpenMS Team -- EKU Tuebingen, ETH Zurich, and FU Berlin +// SPDX-License-Identifier: BSD-3-Clause +// +// -------------------------------------------------------------------------- +// $Maintainer: Oliver Alka, Axel Walter $ +// $Authors: Oliver Alka, Lukas Zimmermann $ +// -------------------------------------------------------------------------- + +#include // must be first, otherwise Q_FOREACH macro will wreak havoc + +#include +#include + +#include + +namespace OpenMS +{ + SiriusExportAlgorithm::SiriusExportAlgorithm() : + DefaultParamHandler("SiriusExportAlgorithm") + { + defaults_.setValue("filter_by_num_masstraces", 1, "Number of mass traces each feature has to have to be included. To use this parameter, setting the feature_only flag is necessary"); + defaults_.setMinInt("filter_by_num_masstraces", 1); + + defaults_.setValue("precursor_mz_tolerance", 10.0, "Tolerance window for precursor selection (Feature selection in regard to the precursor)"); + + defaults_.setValue("precursor_mz_tolerance_unit", "ppm", "Unit of the preprocessing_precursor_mz_tolerance"); + defaults_.setValidStrings("precursor_mz_tolerance_unit", {"ppm","Da"}); + + defaults_.setValue("precursor_rt_tolerance", 5.0, "Tolerance window (left and right) for precursor selection [seconds]"); + + defaults_.setValue("isotope_pattern_iterations", 3, "Number of iterations that should be performed to extract the C13 isotope pattern. If no peak is found (C13 distance) the function will abort. Be careful with noisy data - since this can lead to wrong isotope patterns"); + + defaults_.setValue("feature_only", "false", "Uses the feature information from in_featureinfo to reduce the search space to MS2 associated with a feature"); + defaults_.setValidStrings("feature_only", {"false","true"}); + + defaults_.setValue("no_masstrace_info_isotope_pattern", "false", "Set to true if the masstrace information from a feature should be discarded and the isotope_pattern_iterations should be used instead"); + defaults_.setValidStrings("no_masstrace_info_isotope_pattern", {"false","true"}); + defaultsToParam_(); + } + + // ################ + // Algorithm + // ################ + void SiriusExportAlgorithm::preprocessing(const String& featureXML_path, + const MSExperiment& spectra, + FeatureMapping::FeatureMappingInfo& feature_mapping_info, + FeatureMapping::FeatureToMs2Indices& feature_ms2_indices) const +{ + // if fileparameter is given and should be not empty + if (!featureXML_path.empty()) + { + Size preprocessing_filter_by_num_masstraces = getFilterByNumMassTraces(); + if (File::exists(featureXML_path) && !File::empty(featureXML_path)) + { + // read featureXML + FeatureMap feature_map; + FileHandler().loadFeatures(featureXML_path, feature_map); + + if (preprocessing_filter_by_num_masstraces != 1 && !isFeatureOnly()) + { + preprocessing_filter_by_num_masstraces = 1; + OPENMS_LOG_WARN << "Parameter: preprocessing_filter_by_num_masstraces, was set to 1 to retain the adduct information for all MS2 spectra, if available. Masstrace filtering only makes sense in combination with feature_only." << std::endl; + } + + // filter feature by number of masstraces + auto map_it = remove_if(feature_map.begin(), feature_map.end(), + [&preprocessing_filter_by_num_masstraces](const Feature &feat) -> bool + { + unsigned int n_masstraces = feat.getMetaValue(Constants::UserParam::NUM_OF_MASSTRACES); + return n_masstraces < preprocessing_filter_by_num_masstraces; + }); + feature_map.erase(map_it, feature_map.end()); + + feature_mapping_info.feature_maps.push_back(feature_map); + feature_mapping_info.kd_tree.addMaps(feature_mapping_info.feature_maps); // KDTree references into feature_map + + // mapping of MS2 spectra to features + feature_ms2_indices = FeatureMapping::assignMS2IndexToFeature(spectra, + feature_mapping_info, + getPrecursorMzTolerance(), + getPrecursorRtTolerance(), + precursorMzToleranceUnitIsPPM()); + } + else + { + throw OpenMS::Exception::FileEmpty(__FILE__, + __LINE__, + __FUNCTION__, + "Error: FeatureXML was empty, please provide a valid file."); + } + } + } + + + void SiriusExportAlgorithm::logFeatureSpectraNumber(const String& featureXML_path, + const FeatureMapping::FeatureToMs2Indices& feature_ms2_indices, + const MSExperiment& spectra) const + { + // number of features to be processed + if (isFeatureOnly() && !featureXML_path.empty()) + { + OPENMS_LOG_INFO << "Number of features to be processed: " << feature_ms2_indices.assignedMS2.size() << std::endl; + } + else if (!featureXML_path.empty()) + { + OPENMS_LOG_INFO << "Number of features to be processed: " << feature_ms2_indices.assignedMS2.size() << std::endl; + OPENMS_LOG_INFO << "Number of additional MS2 spectra to be processed: " << feature_ms2_indices.unassignedMS2.size() << std::endl; + } + else + { + long count_ms2 = count_if(spectra.begin(), spectra.end(), + [](const MSSpectrum &spectrum) { return spectrum.getMSLevel() == 2; }); + + OPENMS_LOG_INFO << "Number of MS2 spectra to be processed: " << count_ms2 << std::endl; + } + } + + void SiriusExportAlgorithm::run(const StringList& mzML_files, + const StringList& featureXML_files, + const String& out_ms, + const String& out_compoundinfo) const + { + // loop over all spectra in all files and write data to ofstream + ofstream os; + + // create temporary input file (.ms) + os.open(out_ms); + if (!os) + { + throw Exception::UnableToCreateFile(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION, out_ms); + } + os.precision(12); + + std::vector v_cmpinfo; // To store compound information for all files + for (size_t i = 0; i < mzML_files.size(); ++i) + { + // load experiment + MSExperiment spectra; + FileHandler().loadExperiment(mzML_files[i], spectra, {FileTypes::MZML}); + + // run masstrace filter and feature mapping + FeatureMapping::FeatureMappingInfo feature_mapping_info; + FeatureMapping::FeatureToMs2Indices feature_ms2_indices; + + // check if 'featureXML_files' is empty and pass an empty string if it is + String feature_info_to_pass = featureXML_files.empty() ? "" : featureXML_files[i]; + SiriusExportAlgorithm::preprocessing(feature_info_to_pass, + spectra, + feature_mapping_info, + feature_ms2_indices); + + // returns Log of feature and/or spectra number + SiriusExportAlgorithm::logFeatureSpectraNumber(feature_info_to_pass, feature_ms2_indices, spectra); + + // temporary vector to store compound information for the current file + std::vector temp_cmpinfo; + SiriusMSFile::store(spectra, + os, + feature_ms2_indices, + isFeatureOnly(), + getIsotopePatternIterations(), + isNoMasstraceInfoIsotopePattern(), + temp_cmpinfo, + i); + // Append the compound information of the current file to the overall vector + v_cmpinfo.insert(v_cmpinfo.end(), temp_cmpinfo.begin(), temp_cmpinfo.end()); + } + + os.close(); + + if (!out_compoundinfo.empty()) + { + SiriusMSFile::saveFeatureCompoundInfoAsTSV(v_cmpinfo, out_compoundinfo); + } + } +} // namespace OpenMS + +/// @endcond diff --git a/src/openms/source/ANALYSIS/ID/SiriusMSConverter.cpp b/src/openms/source/ANALYSIS/ID/SiriusMSConverter.cpp index 50cbdca7997..d56b2556e3d 100644 --- a/src/openms/source/ANALYSIS/ID/SiriusMSConverter.cpp +++ b/src/openms/source/ANALYSIS/ID/SiriusMSConverter.cpp @@ -2,19 +2,16 @@ // SPDX-License-Identifier: BSD-3-Clause // // -------------------------------------------------------------------------- -// $Maintainer: Oliver Alka $ +// $Maintainer: Oliver Alka, Axel Walter $ // $Authors: Oliver Alka $ // -------------------------------------------------------------------------- #include -#include #include #include #include #include #include -#include -#include using namespace OpenMS; using namespace std; @@ -111,7 +108,8 @@ namespace OpenMS int& count_skipped_spectra, int& count_assume_mono, int& count_no_ms1, - std::vector& v_cmpinfo) + std::vector& v_cmpinfo, + const size_t& file_index) { // if multiple identifications present for one MS1 and MS2 use all of them and // let SIRIUS sort it out using fragment annotation @@ -120,6 +118,8 @@ namespace OpenMS if (v_description.size() > 1) { writecompound = true; } // write the same "entry" for each possible hit (different: description, adduct, sumformula) SiriusMSFile::CompoundInfo cmpinfo; + cmpinfo.file_index = file_index; + for (const size_t& ind : ms2_spectra_index) { // construct compound info structure @@ -228,7 +228,7 @@ namespace OpenMS std::string des_wo_space = v_description[k]; des_wo_space.erase(std::remove_if(des_wo_space.begin(), des_wo_space.end(), ::isspace), des_wo_space.end()); - String query_id = "_" + String(feature_id) + + String query_id = String(file_index) + "_" + String(feature_id) + String("-" + String(scan_number) + "-") + String("-" + String(ind) + "--") + String(des_wo_space); @@ -399,17 +399,23 @@ namespace OpenMS } cmpinfo.native_ids_id = ListUtils::concatenate(cmpinfo.native_ids, "|"); cmpinfo.m_ids_id = ListUtils::concatenate(cmpinfo.m_ids, "|"); - v_cmpinfo.push_back(std::move(cmpinfo)); + + // add cmpinfo if derived from a feature (feature_id > 0) + if (feature_id > 0) + { + v_cmpinfo.push_back(std::move(cmpinfo)); + } } } void SiriusMSFile::store(const MSExperiment& spectra, - const OpenMS::String& msfile, + std::ofstream& os, const FeatureMapping::FeatureToMs2Indices& feature_mapping, const bool& feature_only, const int& isotope_pattern_iterations, const bool no_masstrace_info_isotope_pattern, - std::vector& v_cmpinfo) + std::vector& v_cmpinfo, + const size_t& file_index) { const std::map>& assigned_ms2 = feature_mapping.assignedMS2; const vector & unassigned_ms2 = feature_mapping.unassignedMS2; @@ -440,17 +446,6 @@ namespace OpenMS throw OpenMS::Exception::IllegalArgument(__FILE__, __LINE__, __FUNCTION__, "Error: Profile data provided but centroided spectra are needed. Please use PeakPicker to convert the spectra."); } - // loop over all spectra in file and write data to ofstream - ofstream os; - - // create temporary input file (.ms) - os.open(msfile.c_str()); - if (!os) - { - throw Exception::UnableToCreateFile(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION, msfile); - } - os.precision(12); - AccessionInfo ainfo; // sourcefile @@ -617,7 +612,8 @@ namespace OpenMS count_skipped_spectra, count_assume_mono, count_no_ms1, - v_cmpinfo); + v_cmpinfo, + file_index); } } @@ -652,7 +648,8 @@ namespace OpenMS count_skipped_spectra, count_assume_mono, count_no_ms1, - v_cmpinfo); + v_cmpinfo, + file_index); } // no feature information was provided @@ -702,17 +699,52 @@ namespace OpenMS count_skipped_spectra, count_assume_mono, count_no_ms1, - v_cmpinfo); + v_cmpinfo, + file_index); } - os.close(); - OPENMS_LOG_WARN << "No MS1 spectrum for this precursor. Occurred " << count_no_ms1 << " times." << endl; OPENMS_LOG_WARN << count_skipped_spectra << " spectra were skipped due to precursor charge below -1 and above +1." << endl; OPENMS_LOG_WARN << "Mono charge assumed and set to charge 1 with respect to current polarity " << count_assume_mono << " times."<< endl; OPENMS_LOG_WARN << count_skipped_features << " features were skipped due to feature charge below -1 and above +1." << endl; } + + void SiriusMSFile::saveFeatureCompoundInfoAsTSV(const std::vector& v_cmpinfo, + const std::string& filename) { + std::ofstream file(filename); + + // Check if the file is open + if (!file.is_open()) { + throw std::runtime_error("Unable to open file: " + filename); + } + + // Write the header line + file << "cmp\tfile_index\tpmass\tpint_mono\trt\tfmz\tfid\tformula\tcharge\tionization\tdes\tspecref_format\tsource_file\tsource_format\tnative_ids_id\tm_ids_id\n"; + + // Iterate over the vector and write each object's attributes + for (const auto& info : v_cmpinfo) + { + file << info.cmp << "\t" + << info.file_index << "\t" + << info.pmass << "\t" + << info.pint_mono << "\t" + << info.rt << "\t" + << info.fmz << "\t" + << info.fid << "\t" + << info.formula << "\t" + << info.charge << "\t" + << info.ionization << "\t" + << info.des << "\t" + << info.specref_format << "\t" + << info.source_file << "\t" + << info.source_format << "\t" + << info.native_ids_id << "\t" + << info.m_ids_id << "\n"; + } + + file.close(); + } } // namespace OpenMS /// @endcond diff --git a/src/openms/source/ANALYSIS/ID/sources.cmake b/src/openms/source/ANALYSIS/ID/sources.cmake index ea60c074b76..41cc05a6d59 100644 --- a/src/openms/source/ANALYSIS/ID/sources.cmake +++ b/src/openms/source/ANALYSIS/ID/sources.cmake @@ -21,7 +21,6 @@ ConsensusMapMergerAlgorithm.cpp FalseDiscoveryRate.cpp FIAMSDataProcessor.cpp FIAMSScheduler.cpp -HiddenMarkovModel.cpp HyperScore.cpp IDBoostGraph.cpp IDConflictResolverAlgorithm.cpp @@ -39,10 +38,9 @@ PeptideProteinResolution.cpp PeptideIndexing.cpp PercolatorFeatureSetHelper.cpp PrecursorPurity.cpp -ProtonDistributionModel.cpp PScore.cpp SimpleSearchEngineAlgorithm.cpp -SiriusAdapterAlgorithm.cpp +SiriusExportAlgorithm.cpp SiriusMSConverter.cpp ) diff --git a/src/openms/source/ANALYSIS/MAPMATCHING/BaseGroupFinder.cpp b/src/openms/source/ANALYSIS/MAPMATCHING/BaseGroupFinder.cpp index 2d15527199b..e1ced7986e9 100644 --- a/src/openms/source/ANALYSIS/MAPMATCHING/BaseGroupFinder.cpp +++ b/src/openms/source/ANALYSIS/MAPMATCHING/BaseGroupFinder.cpp @@ -12,8 +12,6 @@ #include #include -#include - namespace OpenMS { @@ -24,18 +22,6 @@ namespace OpenMS BaseGroupFinder::~BaseGroupFinder() = default; - void BaseGroupFinder::registerChildren() - { - Factory::registerProduct( - SimplePairFinder::getProductName(), &SimplePairFinder::create); - Factory::registerProduct( - LabeledPairFinder::getProductName(), &LabeledPairFinder::create); - Factory::registerProduct( - StablePairFinder::getProductName(), &StablePairFinder::create); - Factory::registerProduct( - QTClusterFinder::getProductName(), &QTClusterFinder::create); - } - void BaseGroupFinder::checkIds_(const std::vector& maps) const { std::set used_ids; diff --git a/src/openms/source/ANALYSIS/MAPMATCHING/FeatureGroupingAlgorithm.cpp b/src/openms/source/ANALYSIS/MAPMATCHING/FeatureGroupingAlgorithm.cpp index 97ec5288db8..bc788c1a681 100644 --- a/src/openms/source/ANALYSIS/MAPMATCHING/FeatureGroupingAlgorithm.cpp +++ b/src/openms/source/ANALYSIS/MAPMATCHING/FeatureGroupingAlgorithm.cpp @@ -15,21 +15,11 @@ #include #include -#include using namespace std; namespace OpenMS { - //register products here - void FeatureGroupingAlgorithm::registerChildren() - { - Factory::registerProduct(FeatureGroupingAlgorithmLabeled::getProductName(), &FeatureGroupingAlgorithmLabeled::create); - Factory::registerProduct(FeatureGroupingAlgorithmUnlabeled::getProductName(), &FeatureGroupingAlgorithmUnlabeled::create); - Factory::registerProduct(FeatureGroupingAlgorithmQT::getProductName(), &FeatureGroupingAlgorithmQT::create); - Factory::registerProduct(FeatureGroupingAlgorithmKD::getProductName(), &FeatureGroupingAlgorithmKD::create); - - } FeatureGroupingAlgorithm::FeatureGroupingAlgorithm() : DefaultParamHandler("FeatureGroupingAlgorithm") diff --git a/src/openms/source/ANALYSIS/MAPMATCHING/MapAlignmentAlgorithmSpectrumAlignment.cpp b/src/openms/source/ANALYSIS/MAPMATCHING/MapAlignmentAlgorithmSpectrumAlignment.cpp deleted file mode 100644 index 9101da22b9f..00000000000 --- a/src/openms/source/ANALYSIS/MAPMATCHING/MapAlignmentAlgorithmSpectrumAlignment.cpp +++ /dev/null @@ -1,806 +0,0 @@ -// Copyright (c) 2002-present, The OpenMS Team -- EKU Tuebingen, ETH Zurich, and FU Berlin -// SPDX-License-Identifier: BSD-3-Clause -// -// -------------------------------------------------------------------------- -// $Maintainer: Timo Sachsenberg $ -// $Authors: Vipul Patel $ -// -------------------------------------------------------------------------- - -#include -#include - -#include - -#include - -namespace OpenMS -{ - - MapAlignmentAlgorithmSpectrumAlignment::MapAlignmentAlgorithmSpectrumAlignment() : - DefaultParamHandler("MapAlignmentAlgorithmSpectrumAlignment"), - ProgressLogger(), c1_(nullptr) - { - defaults_.setValue("gapcost", 1.0, "This Parameter stands for the cost of opening 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. Imagine it as a insert or delete of the spectrum in the map (similar to sequence alignment). 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 needs to carry a punishment, so a gap should only be opened if the benefits outweigh the downsides. The Parameter is to giving as a positive number, the implementation convert it to a negative number."); - defaults_.setMinFloat("gapcost", 0.0); - defaults_.setValue("affinegapcost", 0.5, "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 of gaps interspersed with matches (gap match gap match etc.). Therefore the punishment for the extension of a gap generally should be lower than the normal gapcost. If the result of the alignment shows high compression, it is a good idea to lower either the affine gapcost or gap opening cost."); - defaults_.setMinFloat("affinegapcost", 0.0); - defaults_.setValue("cutoff_score", 0.70, "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.", {"advanced"}); - defaults_.setMinFloat("cutoff_score", 0.0); - defaults_.setMaxFloat("cutoff_score", 1.0); - defaults_.setValue("bucketsize", 100, "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.", {"advanced"}); - defaults_.setMinInt("bucketsize", 1); - defaults_.setValue("anchorpoints", 100, "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.", {"advanced"}); - defaults_.setMinInt("anchorpoints", 1); - defaults_.setMaxInt("anchorpoints", 100); - defaults_.setValue("debug", "false", "Activate the debug mode, there a files written starting with debug prefix.", {"advanced"}); - defaults_.setValidStrings("debug", {"true","false"}); - defaults_.setValue("mismatchscore", -5.0, "Defines the score of two spectra if they have no similarity to each other. ", {"advanced"}); - defaults_.setMaxFloat("mismatchscore", 0.0); - defaults_.setValue("scorefunction", "SteinScottImproveScore", "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 spectra. The score influence defines later the way of possible traceback. There are multiple spectra similarity scores available.."); - defaults_.setValidStrings("scorefunction", {"SteinScottImproveScore","ZhangSimilarityScore"}); //Factory::registeredProducts()); - defaultsToParam_(); - setLogType(CMD); - } - - MapAlignmentAlgorithmSpectrumAlignment::~MapAlignmentAlgorithmSpectrumAlignment() - { - delete c1_; - } - - void MapAlignmentAlgorithmSpectrumAlignment::align(std::vector& peakmaps, std::vector& transformation) - { - transformation.clear(); - TransformationDescription trafo; - trafo.fitModel("identity"); - transformation.push_back(trafo); // transformation of reference map - try - { - std::vector spectrum_pointers; - msFilter_(peakmaps[0], spectrum_pointers); - startProgress(0, (peakmaps.size() - 1), "Alignment"); - for (Size i = 1; i < peakmaps.size(); ++i) - { - prepareAlign_(spectrum_pointers, peakmaps[i], transformation); - setProgress(i); - } - endProgress(); - } - catch (Exception::OutOfRange&) - { - throw Exception::OutOfRange(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION); - } - } - - void MapAlignmentAlgorithmSpectrumAlignment::prepareAlign_(const std::vector& pattern, PeakMap& aligned, std::vector& transformation) - { - //tempalign -> container for holding only MSSpectrums with MS-Level 1 - std::vector tempalign; - msFilter_(aligned, tempalign); - - //if it is possible, built 4 blocks. These can be aligned individually - std::vector alignpoint; - //saving the first coordinates - alignpoint.push_back(0); - alignpoint.push_back(0); - //4 blocks : 0-0.25 ,0.25-50,0.50-0.75,1 The data points must have a high similarity score - for (float i = 0.25; i <= 0.75; i += 0.25) - { - Size y = (Size)(tempalign.size() * i); - Size x = 0; - float maxi = -999.0; - - for (Size k = 0; k < pattern.size(); ++k) - { - float s = scoring_(*pattern[k], *(tempalign[y])); - if (s > maxi && s > cutoffScore_) - { - x = k; - maxi = s; - } - } - if (x >= alignpoint[alignpoint.size() - 2] + 3 && y >= alignpoint[alignpoint.size() - 1] + 3) - { - alignpoint.push_back(x); - alignpoint.push_back(y); - } - - Size xn = (Size)(pattern.size() * i); - Size yn = 0; - for (Size k = 0; k < tempalign.size(); ++k) - { - float s = scoring_(*pattern[xn], *(tempalign[k])); - if (s > maxi && s > cutoffScore_) - { - yn = k; - maxi = s; - } - } - if (xn >= alignpoint[alignpoint.size() - 2] + 3 && yn >= alignpoint[alignpoint.size() - 1] + 3) - { - alignpoint.push_back(xn); - alignpoint.push_back(yn); - } - //only save possible data points, if they are not already contained - } - //save also the endpoint as a data point - alignpoint.push_back(pattern.size() - 1); - alignpoint.push_back(tempalign.size() - 1); - //the distance of two data points have to be greater than 3, if not the spline would thrown an Exception - //do a affine gap alignment of the block of the data points x1,y1,x2,y2 - - std::vector xcoordinate; - std::vector xcoordinatepattern; - std::vector ycoordinate; - debugmatrix_.clear(); - - for (Size i = 0; i < alignpoint.size() - 2; i += 2) - { - affineGapalign_(alignpoint[i], alignpoint[i + 1], alignpoint[i + 2], alignpoint[i + 3], pattern, tempalign, xcoordinate, ycoordinate, xcoordinatepattern); - } - - //affineGapalign_(0,0,(pattern.size()-1),(tempalign.size()-1), pattern, tempalign,xcoordinate,ycoordinate,xcoordinatepattern); - if (debug_) - { - debugFileCreator_(pattern, tempalign); - } - - /* - for (Size i = 0; i< xcoordinate.size(); ++i) - { - std::cout<< xcoordinate[i] << " " << ycoordinate[i] << " x y anchorpoints " << std::endl; - } - std::cout << std::endl; - */ - bucketFilter_(pattern, tempalign, xcoordinate, ycoordinate, xcoordinatepattern); - /*std::cout << xcoordinate.size()<< std::endl; - for (Size i = 0; i< xcoordinate.size(); ++i) - { - std::cout<< xcoordinate[i] << " " << ycoordinate[i] << " x y anchorpoints " << std::endl; - }*/ - - // store the data points defining the transformation: - TransformationDescription::DataPoints data; - for (Size i = 0; i < xcoordinate.size(); ++i) - { - double rt = tempalign[xcoordinate[i]]->getRT(); - data.push_back(std::make_pair(rt, double(ycoordinate[i]))); - } - transformation.emplace_back(data); - } - - void MapAlignmentAlgorithmSpectrumAlignment::affineGapalign_(Size xbegin, Size ybegin, Size xend, Size yend, const std::vector& pattern, std::vector& aligned, std::vector& xcoordinate, std::vector& ycoordinate, std::vector& xcoordinatepattern) - { - //affine gap alignment needs two matrices - std::map > firstcolummatchmatrix; - std::map > secondcolummatchmatrix; - Size n = std::max((xend - xbegin), (yend - ybegin)) + 1; //column - Size m = std::min((xend - xbegin), (yend - ybegin)) + 1; //row - // std::cout<< n << " n " << m << " m " << xbegin << " " < > buffermatrix; - std::map > traceback; - //calculate the value of k - Int k_ = bestk_(pattern, aligned, buffermatrix, column_row_orientation, xbegin, xend, ybegin, yend) + 2; - float score_ = -99999999.0f; - //flag if we have to calculate again the alignment in step k+1 - bool finish = false; - while (!finish) - { - traceback.clear(); - for (Size i = 0; i <= n; ++i) - { - for (Size j = 0; j <= m; ++j) //if( j >=1 && (Size)j<=m) - { - if (insideBand_(i, j, n, m, k_)) - { - if (i == 0 || j == 0) - { - if (i == 0) - { - firstcolummatchmatrix[i][j] = (-gap_) * j; - //std::cout << firstcolummatchmatrix[i][j] << " i j firstcolum "<< std::endl; - } - else if (j == 0) - { - secondcolummatchmatrix[i][j] = (-gap_) * i; - //std::cout << secondcolummatchmatrix[i][j] << " i j secondcolum "<< std::endl; - } - } - else - { - try - { - double s = scoreCalculation_(i, j, xbegin, ybegin, pattern, aligned, buffermatrix, column_row_orientation); - if (debug_) - { - std::vector ltemp; - if (!column_row_orientation) - { - ltemp.push_back((float)i + xbegin - 1); - ltemp.push_back((float)j + ybegin - 1); - ltemp.push_back(s); - ltemp.push_back(0); - debugscorematrix_.push_back(ltemp); - } - else - { - ltemp.push_back((float)j + xbegin - 1); - ltemp.push_back((float)i + ybegin - 1); - ltemp.push_back(s); - ltemp.push_back(0); - debugscorematrix_.push_back(ltemp); - } - } - float mv = -999.0; - float mh = -999.0; - i = i - 1; - if (insideBand_(i, j, n, m, k_)) - { - mh = firstcolummatchmatrix[i][j] - gap_; - //std::cout <= firstcolummatchmatrix[n][m] || k_ == (Int)n + 2) // || matchmatrix[n][m] >= (2*(k_+1)+n-m)*(-gap_)+(n-(k_+1))*3/*(m-(k_+1))*cutoffScore_ -2* gap_ - (2*(k_) +((Int)m-(Int)n))*e_*/) - { - finish = true; - firstcolummatchmatrix.clear(); - secondcolummatchmatrix.clear(); - } - else - { - score_ = firstcolummatchmatrix[n][m]; - k_ *= 2; - if (k_ > (Int)n + 2) - k_ = (Int)n + 2; - } - } - // matchmatrix.clear(); - /*for(Size i=0; i <=n;++i) - { - for(Size j=0; j<=m;++j) - { - if(insideBand_(i,j,n,m,k_)) - std::cout << i << " "<< j << " i j " << traceback[i][j] << " Match Trace" << std::endl; - } - std::cout<< std::endl; - }*/ - //traceback - bool endtraceback = false; - int i = (int) n; - int j = (int) m; - //float maximum = -999.0; - //container necessary for collecting the positions of both sequence to gain later the correct datapoints for the spline - std::vector xvar; - std::vector xxvar; - std::vector yvar; - - while (!endtraceback) - { - //std::cout << i << " " << j << " i j " << std::endl; - if (i <= 0 || j <= 0) - endtraceback = true; - else - { - if (traceback[i][j] == 0) - { - if (!column_row_orientation) - { - if (debug_) - { - debugtraceback_.emplace_back(float(i + xbegin - 1), float(j + ybegin - 1)); - } - xvar.push_back(j + (int)ybegin - 1); - yvar.push_back((*pattern[i + xbegin - 1]).getRT()); - xxvar.push_back(i + (int)xbegin - 1); - } - else - { - if (debug_) - { - debugtraceback_.emplace_back(float(j + xbegin - 1), float(i + ybegin - 1)); - } - xvar.push_back(i + (int)ybegin - 1); - yvar.push_back((*pattern[j + xbegin - 1]).getRT()); - xxvar.push_back(j + (int)xbegin - 1); - } - i = i - 1; - j = j - 1; - } - else if (traceback[i][j] == 1) - i = i - 1; - else if (traceback[i][j] == 2) - j = j - 1; - } - } - - for (Size k = 0; k < xvar.size(); ++k) - { - if (!xcoordinate.empty()) - { - if (xvar[xvar.size() - 1 - k] != xcoordinate[xcoordinate.size() - 1]) - { - xcoordinate.push_back(xvar[xvar.size() - 1 - k]); - ycoordinate.push_back(yvar[yvar.size() - 1 - k]); - xcoordinatepattern.push_back(xxvar[xxvar.size() - 1 - k]); - } - } - else - { - xcoordinate.push_back(xvar[xvar.size() - 1 - k]); - ycoordinate.push_back(yvar[yvar.size() - 1 - k]); - xcoordinatepattern.push_back(xxvar[xxvar.size() - 1 - k]); - } - } - //std::cout<< xcoordinate.size()<< std::endl; - } - - void MapAlignmentAlgorithmSpectrumAlignment::msFilter_(PeakMap& peakmap, std::vector& spectrum_pointer_container) - { - std::vector pattern; - peakmap.updateRanges(-1); - pattern = peakmap.getMSLevels(); - - if (!pattern.empty()) - { - for (Size i = 0; i < peakmap.size(); ++i) - { - if (peakmap[i].getMSLevel() == 1) - { - spectrum_pointer_container.push_back(&(peakmap[i])); - } - } - } - else - { - throw Exception::IllegalArgument(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION, "No spectra contained"); - } - } - - inline bool MapAlignmentAlgorithmSpectrumAlignment::insideBand_(Size i, Size j, Size n, Size m, Int k_) - { - if ((Int)(m - n - k_) <= (Int)(i - j) && (Int) (i - j) <= k_) // if((Int)(-k_)<=(Int)(i-j) &&(Int) (i-j) <=(Int)(k_+n-m)) - { - //std::cout << i << " i " << j << " j " << " inside" << std::endl; - return true; - } - else - { - //std::cout << i << " i " << j << " j " << " outside" << std::endl; - return false; - } - } - - inline Int MapAlignmentAlgorithmSpectrumAlignment::bestk_(const std::vector& pattern, std::vector& aligned, std::map >& buffer, bool column_row_orientation, Size xbegin, Size xend, Size ybegin, Size yend) - { - Int ktemp = 2; - for (float i = 0.25; i <= 0.75; i += 0.25) - { - Size temp = (Size)((yend - ybegin) * i); - float maxi = -999.0; - float s = -999.0; - for (Size k = 0; k <= (xend - xbegin); ++k) - { - Size x; - Int y; - if (column_row_orientation) - { - x = temp + 1; - y = (Int)k + 1; - s = scoreCalculation_(x, y, xbegin, ybegin, pattern, aligned, buffer, column_row_orientation); - } - else - { - x = k + 1; - y = (Int)(temp + 1); - s = scoreCalculation_(x, y, xbegin, ybegin, pattern, aligned, buffer, column_row_orientation); - } - if (s > maxi && s > cutoffScore_) - { - maxi = s; - if (ktemp < std::abs((Int)x - y) + 1) - { - ktemp = std::abs((Int)x - y) + 1; - } - } - } - } - return ktemp; - } - - inline float MapAlignmentAlgorithmSpectrumAlignment::scoreCalculation_(Size i, Size j, Size patternbegin, Size alignbegin, const std::vector& pattern, std::vector& aligned, std::map >& buffer, bool column_row_orientation) - { - if (!column_row_orientation) - { - if (buffer[i][j] == 0) - { - float score = scoring_(*pattern[i + patternbegin - 1], *aligned[j + alignbegin - 1]); - if (score > 1) - score = 1; - if (debug_) - { - debugscoreDistributionCalculation_(score); - } - if (score < threshold_) - score = mismatchscore_; - else - score = 2 + score; - buffer[i][j] = score; - } - return buffer[i][j]; - } - else - { - if (buffer[j][i] == 0) - { - float score = scoring_(*pattern[j + patternbegin - 1], *aligned[i + alignbegin - 1]); - if (score > 1) - score = 1; - if (debug_) - { - debugscoreDistributionCalculation_(score); - } - if (score < threshold_) - score = mismatchscore_; - else - score = 2 + score; - buffer[j][i] = score; - } - return buffer[j][i]; - } - } - - inline float MapAlignmentAlgorithmSpectrumAlignment::scoring_(const MSSpectrum& a, MSSpectrum& b) - { - return c1_->operator()(a, b); - } - - inline void MapAlignmentAlgorithmSpectrumAlignment::bucketFilter_(const std::vector& pattern, std::vector& aligned, std::vector& xcoordinate, std::vector& ycoordinate, std::vector& xcoordinatepattern) - { - std::vector, float> > tempxy; - Size size = 0; - //std::cout <= xcoordinate.size()) - { - bucketsize_ = xcoordinate.size() - 1; - size = 1; - } - else - size = xcoordinate.size() / bucketsize_; - - if (size == 1) - bucketsize_ = xcoordinate.size() - 1; - //std::cout << size << " size "<< xcoordinate.size() << " xcoordinate.size() " << std::endl; - for (Size i = 0; i < size; ++i) - { - std::vector, float> > temp; - for (Size j = 0; j < bucketsize_; ++j) - { - //std::cout<< j << " j " << std::endl; - float score = scoring_(*pattern[xcoordinatepattern[(i * bucketsize_) + j]], *aligned[xcoordinate[(i * bucketsize_) + j]]); - //modification only view as a possible data point if the score is higher than 0 - if (score >= threshold_) - { - temp.emplace_back(std::make_pair(xcoordinate[(i * bucketsize_) + j], ycoordinate[(i * bucketsize_) + j]), score); - } - } - /*for(Size i=0; i < temp.size();++i) - { - std::cout<< (temp[i].first).first << " " << (temp[i].first).second << " in temp"<< std::endl; - } - std::cout << std::endl; - */ - std::sort(temp.begin(), temp.end(), Compare(false)); - //Int anchor=(Int)(size*anchorPoints_/100); - float anchor = temp.size() * anchorPoints_ / 100.0f; - if (anchor <= 0 && !temp.empty()) - { - anchor = 1; - } - - //std::cout << anchor << " anchorpoints " << anchorPoints_<< std::endl; - /*for(UInt i=0; i< temp.size();++i) - { - std::cout<< (temp[i].first).first << "first" << (temp[i].first).second << " second" <& pattern, std::vector& aligned) - { - //plotting scores of the alignment - /*std::ofstream tempfile3; - float maximum=2.0; - tempfile3.open("debugscore.txt",std::ios::trunc); - tempfile3 << "set xrange[0:"<< pattern.size()-1<< "]" << "\n set yrange[0:"<< aligned.size()-1 << "]" << "\n set zrange[0:" - << maximum << "] \n set view 45,20,1.0,2.5 \n"<< "splot \'-\'" < > debugbuffermatrix; - - float scoremaximum = -2; - //precalculation for the heatmap - //getting the maximum score - for (Size i = 0; i < debugscorematrix_.size(); ++i) - { - if (scoremaximum < debugscorematrix_[i][2] + 2) - scoremaximum = debugscorematrix_[i][2] + 2; - //shift all score about 2 (to get 0, the default score in the debugbuffermatrix is -2 ) - debugscorematrix_[i][2] += 2; - } - //to get the intvall [0,1] divide all score to the global maximum - for (Size i = 0; i < debugscorematrix_.size(); ++i) - { - if (debugscorematrix_[i][2] != 0) - debugscorematrix_[i][2] /= scoremaximum; - } - //write the score in a file - /* - for (Size i=0; i < debugscorematrix_.size();++i) - { - debugbuffermatrix[(UInt)debugscorematrix_[i][0]][(UInt)debugscorematrix_[i][1]]=debugscorematrix_[i][2]; - } - */ - std::ofstream scorefile; - scorefile.open("debugscoreheatmap.r", std::ios::trunc); - /* - for (Size i=0; i < debugbuffermatrix.size();++i) - { - for (Size j=0; j< debugbuffermatrix[i].size(); ++j) - { - scorefile<< i << " "<< j << " "<< debugbuffermatrix[i][j] << std::endl; - } - } - */ - for (Size i = 0; i < debugscorematrix_.size(); ++i) - { - scorefile << debugscorematrix_[i][0] << " " << debugscorematrix_[i][1] << " " << debugscorematrix_[i][2] << " " << debugscorematrix_[i][3] << "\n"; - } - scorefile.close(); - - std::ofstream rscript; - rscript.open("debugRscript.r", std::ios::trunc); - - rscript << "#Name: LoadFile \n #transfer data from file into a matrix \n #Input: Filename \n #Output Matrix \n LoadFile<-function(fname){\n temp<-read.table(fname); \n temp<-as.matrix(temp); \n return(temp); \n } \n"; - rscript << "#Name: ScoreHeatmapPlot \n #plot the score in a way of a heatmap \n #Input: Scorematrix \n #Output Heatmap \n ScoreHeatmapPlot<-function(matrix) { \n xcord<-as.vector(matrix[,1]); \n ycord<-as.vector(matrix[,2]); \n color<-rgb(as.vector(matrix[,4]),as.vector(matrix[,3]),0);\n plot(xcord,ycord,col=color, main =\"Heatplot of scores included the traceback\" , xlab= \" Template-sequence \", ylab=\" Aligned-sequence \", type=\"p\" ,phc=22)\n } \n main<-function(filenamea) { \n a<-Loadfile(filenamea) \n X11() \n ScoreHeatmapPlot(a) \n \n"; - rscript.close(); - /* - float matchmaximum=-999.0; - float insertmaximum=-999.0; - for (Size i =0; i< debugmatrix_.size();++i) - { - debugbuffermatrix[debugmatrix_[i][0]][debugmatrix_[i][1]]=(float)debugmatrix_[i][2]; - if(matchmaximum getName() != param_.getValue("scorefunction")) - { - c1_ = Factory::create(param_.getValue("scorefunction").toString()); - } - - cutoffScore_ = (float)param_.getValue("cutoff_score"); - bucketsize_ = (Int)param_.getValue("bucketsize"); - mismatchscore_ = (float)param_.getValue("mismatchscore"); - anchorPoints_ = (Int)param_.getValue("anchorpoints"); - - // this is a percentage, should always be between 0 and 100 - if (anchorPoints_ > 100) - { - anchorPoints_ = 100; - } - - debug_ = param_.getValue("debug").toBool(); - threshold_ = 1 - cutoffScore_; - } - -} diff --git a/src/openms/source/ANALYSIS/MAPMATCHING/MapAlignmentEvaluationAlgorithm.cpp b/src/openms/source/ANALYSIS/MAPMATCHING/MapAlignmentEvaluationAlgorithm.cpp index 5172ab421df..7020c8e9d01 100644 --- a/src/openms/source/ANALYSIS/MAPMATCHING/MapAlignmentEvaluationAlgorithm.cpp +++ b/src/openms/source/ANALYSIS/MAPMATCHING/MapAlignmentEvaluationAlgorithm.cpp @@ -12,16 +12,8 @@ #include #include -#include - namespace OpenMS { - //register products here - void MapAlignmentEvaluationAlgorithm::registerChildren() - { - Factory::registerProduct(MapAlignmentEvaluationAlgorithmPrecision::getProductName(), &MapAlignmentEvaluationAlgorithmPrecision::create); - Factory::registerProduct(MapAlignmentEvaluationAlgorithmRecall::getProductName(), &MapAlignmentEvaluationAlgorithmRecall::create); - } // TODO consider using (RT,MZ,IT) as a unique identifier ? bool MapAlignmentEvaluationAlgorithm::isSameHandle(const FeatureHandle& lhs, const FeatureHandle& rhs, const double& rt_dev, const double& mz_dev, const Peak2D::IntensityType& int_dev, const bool use_charge) diff --git a/src/openms/source/ANALYSIS/MAPMATCHING/PoseClusteringAffineSuperimposer.cpp b/src/openms/source/ANALYSIS/MAPMATCHING/PoseClusteringAffineSuperimposer.cpp index bb6e9380b98..041e4ed40e3 100644 --- a/src/openms/source/ANALYSIS/MAPMATCHING/PoseClusteringAffineSuperimposer.cpp +++ b/src/openms/source/ANALYSIS/MAPMATCHING/PoseClusteringAffineSuperimposer.cpp @@ -21,7 +21,7 @@ namespace OpenMS PoseClusteringAffineSuperimposer::PoseClusteringAffineSuperimposer() : BaseSuperimposer() { - setName(getProductName()); + setName("PoseClusteringAffineSuperimposer"); defaults_.setValue("mz_pair_max_distance", 0.5, "Maximum of m/z deviation of corresponding elements in different maps. " "This condition applies to the pairs considered in hashing."); diff --git a/src/openms/source/ANALYSIS/MAPMATCHING/PoseClusteringShiftSuperimposer.cpp b/src/openms/source/ANALYSIS/MAPMATCHING/PoseClusteringShiftSuperimposer.cpp index d956be1bd71..c24575cdbc1 100644 --- a/src/openms/source/ANALYSIS/MAPMATCHING/PoseClusteringShiftSuperimposer.cpp +++ b/src/openms/source/ANALYSIS/MAPMATCHING/PoseClusteringShiftSuperimposer.cpp @@ -26,7 +26,7 @@ namespace OpenMS PoseClusteringShiftSuperimposer::PoseClusteringShiftSuperimposer() : BaseSuperimposer() { - setName(getProductName()); + setName("PoseClusteringShiftSuperimposer"); defaults_.setValue("mz_pair_max_distance", 0.5, "Maximum of m/z deviation of corresponding elements in different maps. " "This condition applies to the pairs considered in hashing."); diff --git a/src/openms/source/ANALYSIS/MAPMATCHING/QTClusterFinder.cpp b/src/openms/source/ANALYSIS/MAPMATCHING/QTClusterFinder.cpp index 45ed1f2ca20..f72e8742e5c 100644 --- a/src/openms/source/ANALYSIS/MAPMATCHING/QTClusterFinder.cpp +++ b/src/openms/source/ANALYSIS/MAPMATCHING/QTClusterFinder.cpp @@ -29,7 +29,7 @@ namespace OpenMS QTClusterFinder::QTClusterFinder() : BaseGroupFinder(), feature_distance_(FeatureDistance()) { - setName(getProductName()); + setName("QTClusterFinder"); defaults_.setValue("use_identifications", "false", "Never link features that are annotated with different peptides (only the best hit per peptide identification is taken into account)."); defaults_.setValidStrings("use_identifications", {"true","false"}); diff --git a/src/openms/source/ANALYSIS/MAPMATCHING/SimplePairFinder.cpp b/src/openms/source/ANALYSIS/MAPMATCHING/SimplePairFinder.cpp index 0f314671364..d0d4516ee1e 100644 --- a/src/openms/source/ANALYSIS/MAPMATCHING/SimplePairFinder.cpp +++ b/src/openms/source/ANALYSIS/MAPMATCHING/SimplePairFinder.cpp @@ -14,7 +14,7 @@ namespace OpenMS Base() { //set the name for DefaultParamHandler error messages - setName(getProductName()); + setName("SimplePairFinder"); defaults_.setValue("similarity:diff_intercept:RT", 1.0, "This parameter controls the asymptotic decay rate for large differences (for more details see the similarity measurement).", {"advanced"}); defaults_.setValue("similarity:diff_intercept:MZ", 0.1, "This parameter controls the asymptotic decay rate for large differences (for more details see the similarity measurement).", {"advanced"}); diff --git a/src/openms/source/ANALYSIS/MAPMATCHING/StablePairFinder.cpp b/src/openms/source/ANALYSIS/MAPMATCHING/StablePairFinder.cpp index 577b323ed32..67a399ec706 100644 --- a/src/openms/source/ANALYSIS/MAPMATCHING/StablePairFinder.cpp +++ b/src/openms/source/ANALYSIS/MAPMATCHING/StablePairFinder.cpp @@ -27,7 +27,7 @@ namespace OpenMS Base() { //set the name for DefaultParamHandler error messages - Base::setName(getProductName()); + Base::setName("StablePairFinder"); defaults_.setValue("second_nearest_gap", 2.0, "Only link features whose distance to the second nearest neighbors (for both sides) is larger by 'second_nearest_gap' than the distance between the matched pair itself."); defaults_.setMinFloat("second_nearest_gap", 1.0); diff --git a/src/openms/source/ANALYSIS/MAPMATCHING/sources.cmake b/src/openms/source/ANALYSIS/MAPMATCHING/sources.cmake index 5191a4249c7..dd7917d9bbc 100644 --- a/src/openms/source/ANALYSIS/MAPMATCHING/sources.cmake +++ b/src/openms/source/ANALYSIS/MAPMATCHING/sources.cmake @@ -20,7 +20,6 @@ MapAlignmentAlgorithmIdentification.cpp MapAlignmentAlgorithmKD.cpp MapAlignmentAlgorithmPoseClustering.cpp MapAlignmentAlgorithmTreeGuided.cpp -MapAlignmentAlgorithmSpectrumAlignment.cpp MapAlignmentEvaluationAlgorithm.cpp MapAlignmentEvaluationAlgorithmPrecision.cpp MapAlignmentEvaluationAlgorithmRecall.cpp diff --git a/src/openms/source/ANALYSIS/OPENSWATH/MRMScoring.cpp b/src/openms/source/ANALYSIS/OPENSWATH/MRMScoring.cpp index 0c846ff891a..2bea1a59c77 100644 --- a/src/openms/source/ANALYSIS/OPENSWATH/MRMScoring.cpp +++ b/src/openms/source/ANALYSIS/OPENSWATH/MRMScoring.cpp @@ -26,9 +26,9 @@ namespace OpenSwath void MRMScoring::initializeXCorrMatrix(const std::vector< std::vector< double > >& data) { - xcorr_matrix_.resize(data.size(), data.size()); - xcorr_matrix_max_peak_.resize(data.size(), data.size()); - xcorr_matrix_max_peak_sec_.resize(data.size(), data.size()); + xcorr_matrix_.getEigenMatrix().resize(data.size(), data.size()); + xcorr_matrix_max_peak_.getEigenMatrix().resize(data.size(), data.size()); + xcorr_matrix_max_peak_sec_.getEigenMatrix().resize(data.size(), data.size()); std::vector< std::vector< double > > tmp_data = data; for (std::size_t i = 0; i < tmp_data.size(); i++) @@ -41,10 +41,10 @@ namespace OpenSwath for (std::size_t j = i; j < data.size(); j++) { // compute normalized cross correlation - xcorr_matrix_.setValue(i, j, Scoring::normalizedCrossCorrelationPost(tmp_data[i], tmp_data[j], static_cast(data[i].size()), 1)); - auto x = Scoring::xcorrArrayGetMaxPeak(xcorr_matrix_.getValue(i, j)); - xcorr_matrix_max_peak_.setValue(i, j, std::abs(x->first)); - xcorr_matrix_max_peak_sec_.setValue(i, j, x->second); + xcorr_matrix_(i, j) = Scoring::normalizedCrossCorrelationPost(tmp_data[i], tmp_data[j], static_cast(data[i].size()), 1); + auto x = Scoring::xcorrArrayGetMaxPeak(xcorr_matrix_(i, j)); + xcorr_matrix_max_peak_(i, j) = std::abs(x->first); + xcorr_matrix_max_peak_sec_(i, j) = x->second; } } } @@ -93,18 +93,19 @@ namespace OpenSwath Scoring::standardize_data(intensity[i]); } - xcorr_matrix_.resize(native_ids.size(), native_ids.size()); - xcorr_matrix_max_peak_.resize(native_ids.size(), native_ids.size()); - xcorr_matrix_max_peak_sec_.resize(native_ids.size(), native_ids.size()); + xcorr_matrix_.getEigenMatrix().resize(native_ids.size(), native_ids.size()); + xcorr_matrix_max_peak_.getEigenMatrix().resize(native_ids.size(), native_ids.size()); + xcorr_matrix_max_peak_sec_.getEigenMatrix().resize(native_ids.size(), native_ids.size()); + for (std::size_t i = 0; i < native_ids.size(); i++) { for (std::size_t j = i; j < native_ids.size(); j++) { // compute normalized cross correlation - xcorr_matrix_.setValue(i, j, Scoring::normalizedCrossCorrelationPost(intensity[i], intensity[j], static_cast(intensity[i].size()), 1)); - auto x = Scoring::xcorrArrayGetMaxPeak(xcorr_matrix_.getValue(i, j)); - xcorr_matrix_max_peak_.setValue(i, j, std::abs(x->first)); - xcorr_matrix_max_peak_sec_.setValue(i, j, x->second); + xcorr_matrix_(i, j) = Scoring::normalizedCrossCorrelationPost(intensity[i], intensity[j], static_cast(intensity[i].size()), 1); + auto x = Scoring::xcorrArrayGetMaxPeak(xcorr_matrix_(i, j)); + xcorr_matrix_max_peak_(i, j) = std::abs(x->first); + xcorr_matrix_max_peak_sec_(i, j) = x->second; } } } @@ -123,16 +124,17 @@ namespace OpenSwath Scoring::standardize_data(intensityj[i]); } - xcorr_contrast_matrix_.resize(native_ids_set1.size(), native_ids_set2.size()); - xcorr_contrast_matrix_max_peak_sec_.resize(native_ids_set1.size(), native_ids_set2.size()); + xcorr_contrast_matrix_.getEigenMatrix().resize(native_ids_set1.size(), native_ids_set2.size()); + xcorr_contrast_matrix_max_peak_sec_.getEigenMatrix().resize(native_ids_set1.size(), native_ids_set2.size()); + for (std::size_t i = 0; i < native_ids_set1.size(); i++) { for (std::size_t j = 0; j < native_ids_set2.size(); j++) { // compute normalized cross correlation - xcorr_contrast_matrix_.setValue(i, j, Scoring::normalizedCrossCorrelationPost(intensityi[i], intensityj[j], static_cast(intensityi[i].size()), 1)); - auto x = Scoring::xcorrArrayGetMaxPeak(xcorr_contrast_matrix_.getValue(i, j)); - xcorr_contrast_matrix_max_peak_sec_.setValue(i, j, x->second); + xcorr_contrast_matrix_(i, j) = Scoring::normalizedCrossCorrelationPost(intensityi[i], intensityj[j], static_cast(intensityi[i].size()), 1); + auto x = Scoring::xcorrArrayGetMaxPeak(xcorr_contrast_matrix_(i, j)); + xcorr_contrast_matrix_max_peak_sec_(i, j) = x->second; } } } @@ -146,13 +148,13 @@ namespace OpenSwath Scoring::standardize_data(intensity[i]); } - xcorr_precursor_matrix_.resize(precursor_ids.size(), precursor_ids.size()); + xcorr_precursor_matrix_.getEigenMatrix().resize(precursor_ids.size(), precursor_ids.size()); for (std::size_t i = 0; i < precursor_ids.size(); i++) { for (std::size_t j = i; j < precursor_ids.size(); j++) { // compute normalized cross correlation - xcorr_precursor_matrix_.setValue(i, j, Scoring::normalizedCrossCorrelationPost(intensity[i], intensity[j], static_cast(intensity[i].size()), 1)); + xcorr_precursor_matrix_(i, j) = Scoring::normalizedCrossCorrelationPost(intensity[i], intensity[j], static_cast(intensity[i].size()), 1); } } } @@ -171,20 +173,20 @@ namespace OpenSwath Scoring::standardize_data(intensityj[i]); } - xcorr_precursor_contrast_matrix_.resize(precursor_ids.size(), native_ids.size()); + xcorr_precursor_contrast_matrix_.getEigenMatrix().resize(precursor_ids.size(), native_ids.size()); for (std::size_t i = 0; i < precursor_ids.size(); i++) { for (std::size_t j = 0; j < native_ids.size(); j++) { // compute normalized cross correlation - xcorr_precursor_contrast_matrix_.setValue(i, j, Scoring::normalizedCrossCorrelationPost(intensityi[i], intensityj[j], static_cast(intensityi[i].size()), 1)); + xcorr_precursor_contrast_matrix_(i, j) = Scoring::normalizedCrossCorrelationPost(intensityi[i], intensityj[j], static_cast(intensityi[i].size()), 1); } } } void MRMScoring::initializeXCorrPrecursorContrastMatrix(const std::vector< std::vector< double > >& data_precursor, const std::vector< std::vector< double > >& data_fragments) { - xcorr_precursor_contrast_matrix_.resize(data_precursor.size(), data_fragments.size()); + xcorr_precursor_contrast_matrix_.getEigenMatrix().resize(data_precursor.size(), data_fragments.size()); std::vector< std::vector< double > > tmp_data_precursor = data_precursor; std::vector< std::vector< double > > tmp_data_fragments = data_fragments; for (std::size_t i = 0; i < tmp_data_precursor.size(); i++) @@ -201,7 +203,7 @@ namespace OpenSwath for (std::size_t j = 0; j < data_fragments.size(); j++) { // compute normalized cross correlation - xcorr_precursor_contrast_matrix_.setValue(i, j, Scoring::normalizedCrossCorrelationPost(tmp_data_precursor[i], tmp_data_fragments[j], static_cast(tmp_data_precursor[i].size()), 1)); + xcorr_precursor_contrast_matrix_(i, j) = Scoring::normalizedCrossCorrelationPost(tmp_data_precursor[i], tmp_data_fragments[j], static_cast(tmp_data_precursor[i].size()), 1); #ifdef MRMSCORING_TESTING std::cout << " fill xcorr_precursor_contrast_matrix_ "<< tmp_data_precursor[i].size() << " / " << tmp_data_fragments[j].size() << " : " << xcorr_precursor_contrast_matrix_[i][j].data.size() << std::endl; #endif @@ -228,13 +230,13 @@ namespace OpenSwath Scoring::standardize_data(combined_intensity[i]); } - xcorr_precursor_combined_matrix_.resize(combined_intensity.size(), combined_intensity.size()); + xcorr_precursor_combined_matrix_.getEigenMatrix().resize(combined_intensity.size(), combined_intensity.size()); for (std::size_t i = 0; i < combined_intensity.size(); i++) { for (std::size_t j = i; j < combined_intensity.size(); j++) { // compute normalized cross correlation - xcorr_precursor_combined_matrix_.setValue(i, j, Scoring::normalizedCrossCorrelationPost(combined_intensity[i], combined_intensity[j], static_cast(combined_intensity[i].size()), 1)); + xcorr_precursor_combined_matrix_(i, j) = Scoring::normalizedCrossCorrelationPost(combined_intensity[i], combined_intensity[j], static_cast(combined_intensity[i].size()), 1); } } } @@ -250,13 +252,13 @@ namespace OpenSwath OPENSWATH_PRECONDITION(xcorr_matrix_max_peak_.rows() > 1, "Expect cross-correlation matrix of at least 2x2"); OpenSwath::mean_and_stddev msc; - for (std::size_t i = 0; i < xcorr_matrix_max_peak_.rows(); i++) + for (long int i = 0; i < xcorr_matrix_max_peak_.rows(); i++) { - for (std::size_t j = i; j < xcorr_matrix_max_peak_.rows(); j++) + for (long int j = i; j < xcorr_matrix_max_peak_.rows(); j++) { // first is the X value (RT), should be an int //deltas.push_back(std::abs(Scoring::xcorrArrayGetMaxPeak(xcorr_matrix_.getValue(i, j))->first)); - msc(xcorr_matrix_max_peak_.getValue(i,j)); + msc(xcorr_matrix_max_peak_(i,j)); #ifdef MRMSCORING_TESTING std::cout << "&&_xcoel append " << std::abs(Scoring::xcorrArrayGetMaxPeak(xcorr_matrix_[i][j])->first) << std::endl; #endif @@ -279,9 +281,9 @@ namespace OpenSwath double weights = 0; #endif double deltas{0}; - for (std::size_t i = 0; i < xcorr_matrix_max_peak_.rows(); i++) + for (long int i = 0; i < xcorr_matrix_max_peak_.rows(); i++) { - deltas += (xcorr_matrix_max_peak_.getValue(i, i)//std::abs(Scoring::xcorrArrayGetMaxPeak(xcorr_matrix_.getValue(i, i))->first) + deltas += (xcorr_matrix_max_peak_(i, i)//std::abs(Scoring::xcorrArrayGetMaxPeak(xcorr_matrix_.getValue(i, i))->first) * normalized_library_intensity[i] * normalized_library_intensity[i]); #ifdef MRMSCORING_TESTING @@ -289,10 +291,10 @@ namespace OpenSwath normalized_library_intensity[i] * normalized_library_intensity[i] << std::endl; weights += normalized_library_intensity[i] * normalized_library_intensity[i]; #endif - for (std::size_t j = i + 1; j < xcorr_matrix_max_peak_.rows(); j++) + for (long int j = i + 1; j < xcorr_matrix_max_peak_.rows(); j++) { // first is the X value (RT), should be an int - deltas += (xcorr_matrix_max_peak_.getValue(i, j)//std::abs(Scoring::xcorrArrayGetMaxPeak(xcorr_matrix_.getValue(i, j))->first) + deltas += (xcorr_matrix_max_peak_(i, j)//std::abs(Scoring::xcorrArrayGetMaxPeak(xcorr_matrix_.getValue(i, j))->first) * normalized_library_intensity[i] * normalized_library_intensity[j] * 2); #ifdef MRMSCORING_TESTING @@ -311,39 +313,18 @@ namespace OpenSwath return deltas; } - double MRMScoring::calcXcorrContrastCoelutionScore() - { - OPENSWATH_PRECONDITION(xcorr_contrast_matrix_.rows() > 0 && xcorr_contrast_matrix_.cols() > 1, "Expect cross-correlation matrix of at least 1x2"); - - OpenSwath::mean_and_stddev msc; - for (const auto& e : xcorr_contrast_matrix_) - { - // first is the X value (RT), should be an int - msc(std::abs(Scoring::xcorrArrayGetMaxPeak(e)->first)); -#ifdef MRMSCORING_TESTING - std::cout << "&&_xcoel append " << std::abs(Scoring::xcorrArrayGetMaxPeak(xcorr_contrast_matrix_[i][j])->first) << std::endl; -#endif - } - - double deltas_mean = msc.mean(); - double deltas_stdv = msc.sample_stddev(); - - double xcorr_coelution_score = deltas_mean + deltas_stdv; - return xcorr_coelution_score; - } - std::vector MRMScoring::calcSeparateXcorrContrastCoelutionScore() { OPENSWATH_PRECONDITION(xcorr_contrast_matrix_.rows() > 0 && xcorr_contrast_matrix_.cols() > 1, "Expect cross-correlation matrix of at least 1x2"); std::vector deltas; - for (std::size_t i = 0; i < xcorr_contrast_matrix_.rows(); i++) + for (long int i = 0; i < xcorr_contrast_matrix_.rows(); i++) { double deltas_id = 0; - for (std::size_t j = 0; j < xcorr_contrast_matrix_.cols(); j++) + for (long int j = 0; j < xcorr_contrast_matrix_.cols(); j++) { // first is the X value (RT), should be an int - auto x = Scoring::xcorrArrayGetMaxPeak(xcorr_contrast_matrix_.getValue(i, j)); + auto x = Scoring::xcorrArrayGetMaxPeak(xcorr_contrast_matrix_(i, j)); deltas_id += std::abs(x->first); #ifdef MRMSCORING_TESTING std::cout << "&&_xcoel append " << xcorr_contrast_matrix_max_peak_getValue(i, j) << std::endl; @@ -360,12 +341,12 @@ namespace OpenSwath OPENSWATH_PRECONDITION(xcorr_precursor_matrix_.rows() > 1, "Expect cross-correlation matrix of at least 2x2"); OpenSwath::mean_and_stddev msc; - for (std::size_t i = 0; i < xcorr_precursor_matrix_.rows(); i++) + for (long int i = 0; i < xcorr_precursor_matrix_.rows(); i++) { - for (std::size_t j = i; j < xcorr_precursor_matrix_.rows(); j++) + for (long int j = i; j < xcorr_precursor_matrix_.rows(); j++) { // first is the X value (RT), should be an int - auto x = Scoring::xcorrArrayGetMaxPeak(xcorr_precursor_matrix_.getValue(i, j)); + auto x = Scoring::xcorrArrayGetMaxPeak(xcorr_precursor_matrix_(i, j)); msc(std::abs(x->first)); #ifdef MRMSCORING_TESTING std::cout << "&&_xcoel append " << std::abs(Scoring::xcorrArrayGetMaxPeak(xcorr_precursor_matrix_[i][j])->first) << std::endl; @@ -385,9 +366,13 @@ namespace OpenSwath OPENSWATH_PRECONDITION(xcorr_precursor_contrast_matrix_.rows() > 0 && xcorr_precursor_contrast_matrix_.cols() > 1, "Expect cross-correlation matrix of at least 1x2"); OpenSwath::mean_and_stddev msc; - for (const auto& e : xcorr_precursor_contrast_matrix_) + size_t n_entries = xcorr_precursor_contrast_matrix_.getEigenMatrix().size(); + const auto& em = xcorr_precursor_contrast_matrix_.getEigenMatrix(); + + for (size_t i = 0; i < n_entries; i++) { // first is the X value (RT), should be an int + auto e = *(em.data() + i); msc(std::abs(Scoring::xcorrArrayGetMaxPeak(e)->first)); #ifdef MRMSCORING_TESTING std::cout << "&&_xcoel append " << std::abs(Scoring::xcorrArrayGetMaxPeak(xcorr_precursor_contrast_matrix_[i][j])->first) << std::endl; @@ -406,10 +391,14 @@ namespace OpenSwath OPENSWATH_PRECONDITION(xcorr_precursor_contrast_matrix_.rows() > 0 && xcorr_precursor_contrast_matrix_.cols() > 0, "Expect cross-correlation matrix of at least 1x1"); OpenSwath::mean_and_stddev msc; - for (const auto& e : xcorr_precursor_contrast_matrix_) + size_t n_entries = xcorr_precursor_contrast_matrix_.getEigenMatrix().size(); + auto& em = xcorr_precursor_contrast_matrix_.getEigenMatrix(); + for (size_t i = 0; i < n_entries; i++) { // first is the X value (RT), should be an int - msc(std::abs(Scoring::xcorrArrayGetMaxPeak(e)->first)); + auto e = *(em.data() + i); + msc(std::abs(Scoring::xcorrArrayGetMaxPeak(e)->first)); + #ifdef MRMSCORING_TESTING std::cout << "&&_xcoel append " << std::abs(Scoring::xcorrArrayGetMaxPeak(xcorr_precursor_contrast_matrix_[i][j])->first) << std::endl; #endif @@ -427,12 +416,12 @@ namespace OpenSwath OPENSWATH_PRECONDITION(xcorr_precursor_combined_matrix_.rows() > 1, "Expect cross-correlation matrix of at least 2x2"); OpenSwath::mean_and_stddev msc; - for (std::size_t i = 0; i < xcorr_precursor_combined_matrix_.rows(); i++) + for (long int i = 0; i < xcorr_precursor_combined_matrix_.rows(); i++) { - for (std::size_t j = i; j < xcorr_precursor_combined_matrix_.rows(); j++) + for (long int j = i; j < xcorr_precursor_combined_matrix_.rows(); j++) { // first is the X value (RT), should be an int - auto x = Scoring::xcorrArrayGetMaxPeak(xcorr_precursor_combined_matrix_.getValue(i, j)); + auto x = Scoring::xcorrArrayGetMaxPeak(xcorr_precursor_combined_matrix_(i, j)); msc(std::abs(x->first)); #ifdef MRMSCORING_TESTING std::cout << "&&_xcoel append " << std::abs(Scoring::xcorrArrayGetMaxPeak(xcorr_precursor_combined_matrix_[i][j])->first) << std::endl; @@ -459,12 +448,12 @@ namespace OpenSwath size_t element_number{0}; double intensities{0}; - for (std::size_t i = 0; i < xcorr_matrix_max_peak_sec_.rows(); i++) + for (long int i = 0; i < xcorr_matrix_max_peak_sec_.rows(); i++) { - for (std::size_t j = i; j < xcorr_matrix_max_peak_sec_.rows(); j++) + for (long int j = i; j < xcorr_matrix_max_peak_sec_.rows(); j++) { // second is the Y value (intensity) - intensities += xcorr_matrix_max_peak_sec_.getValue(i, j); + intensities += xcorr_matrix_max_peak_sec_(i, j); element_number++; } } @@ -480,18 +469,18 @@ namespace OpenSwath // see _calc_weighted_xcorr_shape_score in MRM_pgroup.pm // -- they only multiply up the intensity once double intensities{0}; - for (std::size_t i = 0; i < xcorr_matrix_max_peak_sec_.rows(); i++) + for (long int i = 0; i < xcorr_matrix_max_peak_sec_.rows(); i++) { - intensities += (xcorr_matrix_max_peak_sec_.getValue(i, i) + intensities += (xcorr_matrix_max_peak_sec_(i, i) * normalized_library_intensity[i] * normalized_library_intensity[i]); #ifdef MRMSCORING_TESTING std::cout << "_xcorr_weighted " << i << " " << i << " " << Scoring::xcorrArrayGetMaxPeak(xcorr_matrix_[i][i])->second << " weight " << normalized_library_intensity[i] * normalized_library_intensity[i] << std::endl; #endif - for (std::size_t j = i + 1; j < xcorr_matrix_max_peak_sec_.rows(); j++) + for (long int j = i + 1; j < xcorr_matrix_max_peak_sec_.rows(); j++) { - intensities += (xcorr_matrix_max_peak_sec_.getValue(i, j) + intensities += (xcorr_matrix_max_peak_sec_(i, j) * normalized_library_intensity[i] * normalized_library_intensity[j] * 2); #ifdef MRMSCORING_TESTING @@ -506,13 +495,8 @@ namespace OpenSwath double MRMScoring::calcXcorrContrastShapeScore() { OPENSWATH_PRECONDITION(xcorr_contrast_matrix_max_peak_sec_.rows() > 0 && xcorr_contrast_matrix_max_peak_sec_.cols() > 1, "Expect cross-correlation matrix of at least 1x2"); - - double intensities{0}; - for (const auto& e : xcorr_contrast_matrix_max_peak_sec_) - { - intensities += e; - } - return intensities; + const auto& em = xcorr_contrast_matrix_max_peak_sec_.getEigenMatrix(); + return em.sum(); } std::vector MRMScoring::calcSeparateXcorrContrastShapeScore() @@ -520,13 +504,13 @@ namespace OpenSwath OPENSWATH_PRECONDITION(xcorr_contrast_matrix_max_peak_sec_.rows() > 0 && xcorr_contrast_matrix_max_peak_sec_.cols() > 1, "Expect cross-correlation matrix of at least 1x2"); std::vector intensities; - for (std::size_t i = 0; i < xcorr_contrast_matrix_max_peak_sec_.rows(); i++) + for (long int i = 0; i < xcorr_contrast_matrix_max_peak_sec_.rows(); i++) { double intensities_id = 0; - for (std::size_t j = 0; j < xcorr_contrast_matrix_max_peak_sec_.cols(); j++) + for (long int j = 0; j < xcorr_contrast_matrix_max_peak_sec_.cols(); j++) { // second is the Y value (intensity) - intensities_id += xcorr_contrast_matrix_max_peak_sec_.getValue(i,j); + intensities_id += xcorr_contrast_matrix_max_peak_sec_(i,j); } intensities.push_back(intensities_id / xcorr_contrast_matrix_max_peak_sec_.cols()); } @@ -539,11 +523,11 @@ namespace OpenSwath OPENSWATH_PRECONDITION(xcorr_precursor_matrix_.rows() > 1, "Expect cross-correlation matrix of at least 2x2"); double intensities{0}; - for(size_t i = 0; i < xcorr_precursor_matrix_.rows(); i++) + for(long int i = 0; i < xcorr_precursor_matrix_.rows(); i++) { - for(size_t j = i; j < xcorr_precursor_matrix_.cols(); j++) + for(long int j = i; j < xcorr_precursor_matrix_.cols(); j++) { - auto x = Scoring::xcorrArrayGetMaxPeak(xcorr_precursor_matrix_.getValue(i, j)); + auto x = Scoring::xcorrArrayGetMaxPeak(xcorr_precursor_matrix_(i, j)); intensities += x->second; } } @@ -557,37 +541,43 @@ namespace OpenSwath OPENSWATH_PRECONDITION(xcorr_precursor_contrast_matrix_.rows() > 0 && xcorr_precursor_contrast_matrix_.cols() > 0, "Expect cross-correlation matrix of at least 1x1"); double intensities{0}; - for (const auto& e : xcorr_precursor_contrast_matrix_) + const auto& em = xcorr_precursor_contrast_matrix_.getEigenMatrix(); + size_t n_elements = em.size(); + for (size_t i = 0; i != n_elements; ++i) { - intensities += Scoring::xcorrArrayGetMaxPeak(e)->second; + const auto& e = *(em.data() + i); + intensities += Scoring::xcorrArrayGetMaxPeak(e)->second;; } - return intensities / xcorr_precursor_contrast_matrix_.size(); + + return intensities / (double)n_elements; } double MRMScoring::calcXcorrPrecursorContrastShapeScore() { OPENSWATH_PRECONDITION(xcorr_precursor_contrast_matrix_.rows() > 0 && xcorr_precursor_contrast_matrix_.cols() > 1, "Expect cross-correlation matrix of at least 1x2"); - double intensities{0}; - for (const auto& e : xcorr_precursor_contrast_matrix_) + + const auto& em = xcorr_precursor_contrast_matrix_.getEigenMatrix(); + size_t n_elements = em.size(); + for (size_t i = 0; i != n_elements; ++i) { + const auto& e = *(em.data() + i); intensities += Scoring::xcorrArrayGetMaxPeak(e)->second; } - return intensities / xcorr_precursor_contrast_matrix_.size(); + return intensities / (double)n_elements; } double MRMScoring::calcXcorrPrecursorCombinedShapeScore() { OPENSWATH_PRECONDITION(xcorr_precursor_combined_matrix_.rows() > 1, "Expect cross-correlation matrix of at least 2x2"); - double intensities{0}; - for(size_t i = 0; i < xcorr_precursor_combined_matrix_.rows(); i++) + for(long int i = 0; i < xcorr_precursor_combined_matrix_.rows(); i++) { - for(size_t j = i; j < xcorr_precursor_combined_matrix_.cols(); j++) + for(long int j = i; j < xcorr_precursor_combined_matrix_.cols(); j++) { - auto x = Scoring::xcorrArrayGetMaxPeak(xcorr_precursor_combined_matrix_.getValue(i, j)); + auto x = Scoring::xcorrArrayGetMaxPeak(xcorr_precursor_combined_matrix_(i, j)); intensities += x->second; } } @@ -734,16 +724,18 @@ namespace OpenSwath fillIntensityFromFeature(mrmfeature, native_ids, intensity); std::vector max_rank_vec = Scoring::computeRankVector(intensity, rank_vec); - mi_matrix_.resize(native_ids.size(),native_ids.size()); + mi_matrix_.getEigenMatrix().resize(native_ids.size(), native_ids.size()); + mi_matrix_.getEigenMatrix().setZero(); for (std::size_t i = 0; i < native_ids.size(); i++) { for (std::size_t j = i; j < native_ids.size(); j++) { // compute ranked mutual information - mi_matrix_.setValue(i, j, Scoring::rankedMutualInformation(rank_vec[i], rank_vec[j], max_rank_vec[i], max_rank_vec[j])); + mi_matrix_(i, j) = Scoring::rankedMutualInformation(rank_vec[i], rank_vec[j], max_rank_vec[i], max_rank_vec[j]); } } } + void MRMScoring::initializeMIContrastMatrix(OpenSwath::IMRMFeature* mrmfeature, const std::vector& native_ids_set1, const std::vector& native_ids_set2) { std::vector> intensityi, intensityj; @@ -753,13 +745,13 @@ namespace OpenSwath std::vector max_rank_vec1 = Scoring::computeRankVector(intensityi, rank_vec1); std::vector max_rank_vec2 = Scoring::computeRankVector(intensityj, rank_vec2); - mi_contrast_matrix_.resize(native_ids_set1.size(), native_ids_set2.size()); + mi_contrast_matrix_.getEigenMatrix().resize(native_ids_set1.size(), native_ids_set2.size()); for (std::size_t i = 0; i < native_ids_set1.size(); i++) { for (std::size_t j = 0; j < native_ids_set2.size(); j++) { // compute ranked mutual information - mi_contrast_matrix_.setValue(i, j, Scoring::rankedMutualInformation(rank_vec1[i], rank_vec2[j], max_rank_vec1[i], max_rank_vec2[j])); + mi_contrast_matrix_(i, j) = Scoring::rankedMutualInformation(rank_vec1[i], rank_vec2[j], max_rank_vec1[i], max_rank_vec2[j]); } } } @@ -767,17 +759,19 @@ namespace OpenSwath void MRMScoring::initializeMIPrecursorMatrix(OpenSwath::IMRMFeature* mrmfeature, const std::vector& precursor_ids) { std::vector> intensity; - std::vector> rank_vec{}; + std::vector> rank_vec; fillIntensityFromPrecursorFeature(mrmfeature, precursor_ids, intensity); std::vector max_rank_vec = Scoring::computeRankVector(intensity, rank_vec); - mi_precursor_matrix_.resize(precursor_ids.size(),precursor_ids.size()); + mi_precursor_matrix_.getEigenMatrix().resize(precursor_ids.size(), precursor_ids.size()); + mi_precursor_matrix_.getEigenMatrix().setZero(); + for (std::size_t i = 0; i < precursor_ids.size(); i++) { for (std::size_t j = i; j < precursor_ids.size(); j++) { // compute ranked mutual information - mi_precursor_matrix_.setValue(i, j, Scoring::rankedMutualInformation(rank_vec[i], rank_vec[j], max_rank_vec[i], max_rank_vec[j])); + mi_precursor_matrix_(i, j) = Scoring::rankedMutualInformation(rank_vec[i], rank_vec[j], max_rank_vec[i], max_rank_vec[j]); } } } @@ -791,13 +785,13 @@ namespace OpenSwath std::vector max_rank_vec1 = Scoring::computeRankVector(intensityi, rank_vec1); std::vector max_rank_vec2 = Scoring::computeRankVector(intensityj, rank_vec2); - mi_precursor_contrast_matrix_.resize(precursor_ids.size(), native_ids.size()); + mi_precursor_contrast_matrix_.getEigenMatrix().resize(precursor_ids.size(), native_ids.size()); for (std::size_t i = 0; i < precursor_ids.size(); i++) { for (std::size_t j = 0; j < native_ids.size(); j++) { // compute ranked mutual information - mi_precursor_contrast_matrix_.setValue(i, j, Scoring::rankedMutualInformation(rank_vec1[i], rank_vec2[j], max_rank_vec1[i], max_rank_vec2[j])); + mi_precursor_contrast_matrix_(i, j) = Scoring::rankedMutualInformation(rank_vec1[i], rank_vec2[j], max_rank_vec1[i], max_rank_vec2[j]); } } } @@ -814,27 +808,24 @@ namespace OpenSwath max_rank_vec.reserve(max_rank_vec.size() + native_ids.size()); max_rank_vec.insert(max_rank_vec.end(), max_rank_vec_tmp.begin(), max_rank_vec_tmp.end()); - mi_precursor_combined_matrix_.resize(rank_vec.size(), rank_vec.size()); + mi_precursor_combined_matrix_.getEigenMatrix().resize(rank_vec.size(), rank_vec.size()); for (std::size_t i = 0; i < rank_vec.size(); i++) { for (std::size_t j = i; j < rank_vec.size(); j++) { // compute ranked mutual information double curr_mutual_score = Scoring::rankedMutualInformation(rank_vec[i], rank_vec[j], max_rank_vec[i], max_rank_vec[j]); - mi_precursor_combined_matrix_.setValue(i ,j, curr_mutual_score); - mi_precursor_combined_matrix_.setValue(j ,i, curr_mutual_score); + mi_precursor_combined_matrix_(i, j) = curr_mutual_score; + if (i != j) mi_precursor_combined_matrix_(j, i) = curr_mutual_score; } } } + double MRMScoring::calcMIScore() { OPENSWATH_PRECONDITION(mi_matrix_.rows() > 1, "Expect mutual information matrix of at least 2x2"); - - double mi_scores{0}; - for (const auto& e : mi_matrix_) - { - mi_scores += e; - } + const auto& em = mi_matrix_.getEigenMatrix(); + double mi_scores = em.sum(); //mi_matrix_ is a triangular matrix size_t element_number = mi_matrix_.rows() * mi_matrix_.rows() / 2 + (mi_matrix_.rows() + 1) / 2; return mi_scores / element_number; @@ -846,18 +837,18 @@ namespace OpenSwath OPENSWATH_PRECONDITION(mi_matrix_.rows() > 1, "Expect mutual information matrix of at least 2x2"); double mi_scores{0}; - for (std::size_t i = 0; i < mi_matrix_.rows(); i++) + for (long int i = 0; i < mi_matrix_.rows(); i++) { - mi_scores += mi_matrix_.getValue(i,i) + mi_scores += mi_matrix_(i, i) * normalized_library_intensity[i] * normalized_library_intensity[i]; #ifdef MRMSCORING_TESTING std::cout << "_mi_weighted " << i << " " << i << " " << mi_matrix_[i][i] << " weight " << normalized_library_intensity[i] * normalized_library_intensity[i] << std::endl; #endif - for (std::size_t j = i + 1; j < mi_matrix_.rows(); j++) + for (long int j = i + 1; j < mi_matrix_.rows(); j++) { - mi_scores += mi_matrix_.getValue(i,j) + mi_scores += mi_matrix_(i, j) * normalized_library_intensity[i] * normalized_library_intensity[j] * 2; #ifdef MRMSCORING_TESTING @@ -873,39 +864,34 @@ namespace OpenSwath { OPENSWATH_PRECONDITION(mi_precursor_matrix_.rows() > 1, "Expect mutual information matrix of at least 2x2"); - double mi_scores{0}; - for (const auto& e : mi_precursor_matrix_) - { - mi_scores += e; - } + const auto& em = mi_precursor_matrix_.getEigenMatrix(); + double mi_scores = em.sum(); //mi_precursor_matrix_ is a triangular matrix size_t element_number = mi_precursor_matrix_.rows()*mi_precursor_matrix_.rows()/2 + (mi_precursor_matrix_.rows()+1)/2; - return mi_scores / element_number; + return mi_scores / (double)element_number; } double MRMScoring::calcMIPrecursorContrastScore() { OPENSWATH_PRECONDITION(mi_precursor_contrast_matrix_.rows() > 0 && mi_precursor_contrast_matrix_.cols() > 1, "Expect mutual information matrix of at least 1x2"); - double mi_scores{0}; - for (const auto& e : mi_precursor_contrast_matrix_) - { - mi_scores += e; - } - return mi_scores / mi_precursor_contrast_matrix_.size(); + const auto& em = mi_precursor_contrast_matrix_.getEigenMatrix(); + size_t n_entries = em.size(); + double mi_scores = em.sum(); + + return mi_scores / (double)n_entries; } double MRMScoring::calcMIPrecursorCombinedScore() { OPENSWATH_PRECONDITION(mi_precursor_combined_matrix_.rows() > 1, "Expect mutual information matrix of at least 2x2"); - double mi_scores{0}; + const auto& em = mi_precursor_combined_matrix_.getEigenMatrix(); + size_t n_entries = em.size(); - for (const auto& e: mi_precursor_combined_matrix_) - { - mi_scores += e; - } - return mi_scores / mi_precursor_combined_matrix_.size(); + double mi_scores = em.sum(); + + return mi_scores / (double)n_entries; } std::vector MRMScoring::calcSeparateMIContrastScore() @@ -913,13 +899,13 @@ namespace OpenSwath OPENSWATH_PRECONDITION(mi_contrast_matrix_.rows() > 0 && mi_contrast_matrix_.cols() > 1, "Expect mutual information matrix of at least 1x2"); std::vector mi_scores; - mi_scores.resize(mi_contrast_matrix_.rows()); - for (std::size_t i = 0; i < mi_contrast_matrix_.rows(); i++) + mi_scores.resize(mi_contrast_matrix_.rows()); + for (long int i = 0; i < mi_contrast_matrix_.rows(); i++) { double mi_scores_id = 0; - for (std::size_t j = 0; j < mi_contrast_matrix_.cols(); j++) + for (long int j = 0; j < mi_contrast_matrix_.cols(); j++) { - mi_scores_id += mi_contrast_matrix_.getValue(i,j); + mi_scores_id += mi_contrast_matrix_(i, j); } mi_scores[i] = mi_scores_id / mi_contrast_matrix_.cols(); } diff --git a/src/openms/source/ANALYSIS/OPENSWATH/SONARScoring.cpp b/src/openms/source/ANALYSIS/OPENSWATH/SONARScoring.cpp index 0a557726e0b..6ba307fa890 100644 --- a/src/openms/source/ANALYSIS/OPENSWATH/SONARScoring.cpp +++ b/src/openms/source/ANALYSIS/OPENSWATH/SONARScoring.cpp @@ -51,7 +51,7 @@ namespace OpenMS /// Cross Correlation array typedef OpenSwath::Scoring::XCorrArrayType XCorrArrayType; /// Cross Correlation matrix - typedef std::vector > XCorrMatrixType; + typedef std::vector> XCorrMatrixType; XCorrMatrixType xcorr_matrix; xcorr_matrix.resize(sonar_profiles.size()); diff --git a/src/openms/source/ANALYSIS/QUANTITATION/IsobaricIsotopeCorrector.cpp b/src/openms/source/ANALYSIS/QUANTITATION/IsobaricIsotopeCorrector.cpp index 3799281aed6..b763aa0300d 100644 --- a/src/openms/source/ANALYSIS/QUANTITATION/IsobaricIsotopeCorrector.cpp +++ b/src/openms/source/ANALYSIS/QUANTITATION/IsobaricIsotopeCorrector.cpp @@ -10,7 +10,6 @@ #include #include -#include #include #include @@ -40,16 +39,21 @@ namespace OpenMS Matrix correction_matrix = quant_method->getIsotopeCorrectionMatrix(); - if (matrixIsIdentityMatrix(correction_matrix)) + if (correction_matrix.getEigenMatrix().isIdentity(0.0)) { - throw Exception::InvalidParameter(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION, - "IsobaricIsotopeCorrector: The given isotope correction matrix is an identity matrix leading to no correction. " - "Please provide a valid isotope_correction matrix as it was provided with the sample kit!"); + OPENMS_LOG_DEBUG << "Correction matrix is the identity matrix." << std::endl; + OPENMS_LOG_DEBUG << correction_matrix << std::endl; + + // workaround: TMT11plex has a special case where the correction matrix is the identity matrix + if (quant_method->getMethodName() != "tmt11plex") + { + throw Exception::InvalidParameter(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION, + "IsobaricIsotopeCorrector: The given isotope correction matrix is an identity matrix leading to no correction. " + "Please provide a valid isotope_correction matrix as it was provided with the sample kit!"); + } } - - // convert to Eigen matrix - EigenMatrixXdPtr m(convertOpenMSMatrix2EigenMatrixXd(correction_matrix)); - Eigen::FullPivLU ludecomp(*m); + + Eigen::FullPivLU ludecomp(correction_matrix.getEigenMatrix()); Eigen::VectorXd b; b.resize(quant_method->getNumberOfChannels()); b.setZero(); @@ -79,7 +83,7 @@ namespace OpenMS //solve Eigen::MatrixXd e_mx = ludecomp.solve(b); - if (!((*m) * e_mx).isApprox(b)) + if (!(correction_matrix.getEigenMatrix() * e_mx).isApprox(b)) { throw Exception::InvalidParameter(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION, "IsobaricIsotopeCorrector: Cannot multiply!"); } diff --git a/src/openms/source/ANALYSIS/QUANTITATION/IsobaricQuantitationMethod.cpp b/src/openms/source/ANALYSIS/QUANTITATION/IsobaricQuantitationMethod.cpp index c5d71c3754d..6b426b97d71 100644 --- a/src/openms/source/ANALYSIS/QUANTITATION/IsobaricQuantitationMethod.cpp +++ b/src/openms/source/ANALYSIS/QUANTITATION/IsobaricQuantitationMethod.cpp @@ -73,14 +73,14 @@ namespace OpenMS if (target_channel >= 0 && Size(target_channel) < getNumberOfChannels()) { - channel_frequency.setValue(target_channel, contributing_channel, correction / 100.0); + channel_frequency(target_channel, contributing_channel) = correction / 100.0; } self_contribution -= correction; // count reduced self-contribution even if it does not affect another channel } affected_channel_idx++; } // set reduced self contribution - channel_frequency.setValue(contributing_channel, contributing_channel, self_contribution / 100.0); + channel_frequency(contributing_channel, contributing_channel) = self_contribution / 100.0; // increment channel index ++contributing_channel; } diff --git a/src/openms/source/ANALYSIS/QUANTITATION/IsotopeLabelingMDVs.cpp b/src/openms/source/ANALYSIS/QUANTITATION/IsotopeLabelingMDVs.cpp index 22fd7705d52..2dfc52ad344 100644 --- a/src/openms/source/ANALYSIS/QUANTITATION/IsotopeLabelingMDVs.cpp +++ b/src/openms/source/ANALYSIS/QUANTITATION/IsotopeLabelingMDVs.cpp @@ -11,7 +11,6 @@ #include #include #include -#include #include //Standard library @@ -48,8 +47,8 @@ namespace OpenMS const DerivatizationAgent& correction_matrix_agent) { // MDV_corrected = correction_matrix_inversed * MDV_observed (normalized_features) - - if (matrixIsIdentityMatrix(correction_matrix) && !correction_matrix.empty()) + auto& em = correction_matrix.getEigenMatrix(); + if (em.isIdentity() && !(em.size() == 0)) { throw Exception::InvalidParameter(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION, "IsotopeLabelingMDVs: The given isotope correction matrix is an identity matrix leading to no correction." @@ -85,9 +84,9 @@ namespace OpenMS else { correction_matrix_eigen.resize(correction_matrix.rows(), correction_matrix.cols()); - for (size_t i = 0; i < correction_matrix.rows(); ++i) + for (long int i = 0; i < correction_matrix.rows(); ++i) { - for (size_t j = 0; j < correction_matrix.cols(); ++j) + for (long int j = 0; j < correction_matrix.cols(); ++j) { correction_matrix_eigen(i,j) = correction_matrix(i,j); } diff --git a/src/openms/source/ANALYSIS/QUANTITATION/ItraqConstants.cpp b/src/openms/source/ANALYSIS/QUANTITATION/ItraqConstants.cpp index 9b800f8c4ef..af586478933 100644 --- a/src/openms/source/ANALYSIS/QUANTITATION/ItraqConstants.cpp +++ b/src/openms/source/ANALYSIS/QUANTITATION/ItraqConstants.cpp @@ -61,18 +61,18 @@ namespace OpenMS OPENMS_PRECONDITION(itraq_type < SIZE_OF_ITRAQ_TYPES && itraq_type >= 0, "Error while trying to access invalid isotope correction matrix."); StringList isotopes; - std::vector > channel_names(3); - channel_names[0].setMatrix<4, 1>(CHANNELS_FOURPLEX); - channel_names[1].setMatrix<8, 1>(CHANNELS_EIGHTPLEX); - channel_names[2].setMatrix<6, 1>(CHANNELS_TMT_SIXPLEX); + std::vector> channel_names(3); + channel_names[0].setMatrix(CHANNELS_FOURPLEX); + channel_names[1].setMatrix(CHANNELS_EIGHTPLEX); + channel_names[2].setMatrix(CHANNELS_TMT_SIXPLEX); for (Int i = 0; i < CHANNEL_COUNT[itraq_type]; ++i) { - String line = String(channel_names[itraq_type].getValue(i, 0)) + ":"; + String line = String(channel_names[itraq_type](i, 0)) + ":"; for (Int j = 0; j < 3; ++j) { - line += String(isotope_corrections[itraq_type].getValue(i, j)) + "/"; + line += String(isotope_corrections[itraq_type](i, j)) + "/"; } - line += String(isotope_corrections[itraq_type].getValue(i, 3)); + line += String(isotope_corrections[itraq_type](i, 3)); isotopes.push_back(line); } @@ -83,9 +83,9 @@ namespace OpenMS { // TODO: make generic .. why do we need to initialize all matrices, we are only interested in itraq_type isotope_corrections.resize(SIZE_OF_ITRAQ_TYPES); - isotope_corrections[0].setMatrix<4, 4>(ItraqConstants::ISOTOPECORRECTIONS_FOURPLEX); - isotope_corrections[1].setMatrix<8, 4>(ItraqConstants::ISOTOPECORRECTIONS_EIGHTPLEX); - isotope_corrections[2].setMatrix<6, 4>(ItraqConstants::ISOTOPECORRECTIONS_TMT_SIXPLEX); + isotope_corrections[0].setMatrix(ItraqConstants::ISOTOPECORRECTIONS_FOURPLEX); + isotope_corrections[1].setMatrix(ItraqConstants::ISOTOPECORRECTIONS_EIGHTPLEX); + isotope_corrections[2].setMatrix(ItraqConstants::ISOTOPECORRECTIONS_TMT_SIXPLEX); // split the channels key:name pairs apart for (StringList::const_iterator it = channels.begin(); it != channels.end(); ++it) @@ -135,10 +135,10 @@ namespace OpenMS } // overwrite line in Matrix with custom values - isotope_corrections[itraq_type].setValue(line, 0, corrections[0].toDouble()); - isotope_corrections[itraq_type].setValue(line, 1, corrections[1].toDouble()); - isotope_corrections[itraq_type].setValue(line, 2, corrections[2].toDouble()); - isotope_corrections[itraq_type].setValue(line, 3, corrections[3].toDouble()); + isotope_corrections[itraq_type](line, 0) = corrections[0].toDouble(); + isotope_corrections[itraq_type](line, 1) = corrections[1].toDouble(); + isotope_corrections[itraq_type](line, 2) = corrections[2].toDouble(); + isotope_corrections[itraq_type](line, 3) = corrections[3].toDouble(); #ifdef ITRAQ_DEBUG std::cout << "Channel " << channel << " has values " << corrections << std::endl; @@ -170,18 +170,18 @@ namespace OpenMS reporter_mass_exact[131] = 131.138176; } /// valid names for 4 and 8plex, i.e. 114,115,116,117 for 4plex - std::vector > channel_names; + std::vector> channel_names; channel_names.resize(3); - channel_names[0].setMatrix<4, 1>(CHANNELS_FOURPLEX); - channel_names[1].setMatrix<8, 1>(CHANNELS_EIGHTPLEX); - channel_names[2].setMatrix<6, 1>(CHANNELS_TMT_SIXPLEX); + channel_names[0].setMatrix(CHANNELS_FOURPLEX); + channel_names[1].setMatrix(CHANNELS_EIGHTPLEX); + channel_names[2].setMatrix(CHANNELS_TMT_SIXPLEX); map.clear(); - for (Size i = 0; i < channel_names[itraq_type].rows(); ++i) + for (long int i = 0; i < channel_names[itraq_type].rows(); ++i) { ChannelInfo info; info.description = ""; - info.name = channel_names[itraq_type].getValue(i, 0); + info.name = channel_names[itraq_type](i, 0); info.id = (Int)i; if (reporter_mass_exact.find(info.name) == reporter_mass_exact.end()) { @@ -250,9 +250,9 @@ namespace OpenMS // subtract all isotope deviations of row i for (Int col_idx = 0; col_idx < 4; ++col_idx) { - val += -isotope_corrections[itraq_type].getValue(i, col_idx) / 100; + val += -isotope_corrections[itraq_type](i, col_idx) / 100; } - channel_frequency.setValue(i, j, val); + channel_frequency(i, j) = val; } else // from mass i to mass j (directly copy the deviation) { @@ -260,22 +260,22 @@ namespace OpenMS { if (j < i && i <= j + 2) // -2, -1 cases of row 'i' { - channel_frequency.setValue(j, i, isotope_corrections[itraq_type].getValue(i, j - i + 2) / 100); + channel_frequency(j, i) = isotope_corrections[itraq_type](i, j - i + 2) / 100; } else if (i < j && j <= i + 2) // +1, +2 cases of row 'i' { - channel_frequency.setValue(j, i, isotope_corrections[itraq_type].getValue(i, j - i + 1) / 100); + channel_frequency(j, i) = isotope_corrections[itraq_type](i, j - i + 1) / 100; } } else // special case of ch-121 for 8plex { // make everything more 'extreme' by 1 index if (i == 7 && j == 6) // -2 case of ch-121 { - channel_frequency.setValue(j, i, isotope_corrections[itraq_type].getValue(i, 0) / 100); + channel_frequency(j, i) = isotope_corrections[itraq_type](i, 0) / 100; } else if (i == 6 && j == 7) // +2 case of ch-121 { - channel_frequency.setValue(j, i, isotope_corrections[itraq_type].getValue(i, 3) / 100); + channel_frequency(j, i) = isotope_corrections[itraq_type](i, 3) / 100.0; } } } diff --git a/src/openms/source/ANALYSIS/TARGETED/MetaboTargetedAssay.cpp b/src/openms/source/ANALYSIS/TARGETED/MetaboTargetedAssay.cpp index 66c4cae560d..68286611479 100644 --- a/src/openms/source/ANALYSIS/TARGETED/MetaboTargetedAssay.cpp +++ b/src/openms/source/ANALYSIS/TARGETED/MetaboTargetedAssay.cpp @@ -39,7 +39,7 @@ namespace OpenMS { adduct_suffix = "1" + adduct_suffix; } - else + else if (adduct_suffix != "1-" && adduct_suffix != "1+") { OpenMS_Log_warn << "The adduct had the suffix '" << adduct_suffix << "', but only singly positive or singly negative charged adducts are supported." << std::endl; } @@ -424,8 +424,7 @@ namespace OpenMS const double& min_fragment_mz, const double& max_fragment_mz, const bool& use_exact_mass, - const bool& exclude_ms2_precursor, - const unsigned int& file_counter) + const bool& exclude_ms2_precursor) { int entry_counter = 0; // counts each entry - to ensure the same count for targets, decoys from the same sirius workspace vector v_mta; @@ -536,14 +535,13 @@ namespace OpenMS v_cmp_rt = {cmp_rt}; cmp.rts = {v_cmp_rt}; cmp.setChargeState(charge); - String identifier_suffix = adduct + "_" + int(feature_rt) + "_" + file_counter; + String identifier_suffix = adduct + "_" + int(feature_rt) + "_" + csp.compound_info.file_index; if (description == "UNKNOWN") { description = String(description + "_" + entry_counter); } // compoundID has to be unique over all the files - // file_counter unique per file // feature_rt if the same ID was detected twice at different retention times in the same file if (decoy == 0) { @@ -657,7 +655,7 @@ namespace OpenMS mta.molecular_formula = sumformula; mta.compound_rt = feature_rt; - mta.compound_file = file_counter; + mta.compound_file = csp.compound_info.file_index; mta.potential_cmp = cmp; mta.potential_rmts = v_rmt; @@ -690,24 +688,6 @@ namespace OpenMS return v_cmp_spec; } - // method to pair compound information (SiriusMSFile) with the annotated target spectrum from Sirius based on the m_id (unique identifier) - std::vector< MetaboTargetedAssay::CompoundSpectrumPair > MetaboTargetedAssay::pairCompoundWithAnnotatedSpectra(const std::vector& v_cmpinfo, - const std::vector& annotated_spectra) - { - vector< MetaboTargetedAssay::CompoundSpectrumPair > v_cmp_spec; - for (const auto& cmp : v_cmpinfo) - { - for (const auto& spectrum : annotated_spectra) - { - if (cmp.m_ids_id == spectrum.getName()) // the m_id is saved at MSSpectrum level as its name - { - v_cmp_spec.emplace_back(cmp, spectrum); - } - } - } - return v_cmp_spec; - } - std::unordered_map< UInt64 , vector > MetaboTargetedAssay::buildAmbiguityGroup(const vector& v_mta,const double& ar_mz_tol, const double& ar_rt_tol, const String& ar_mz_tol_unit_res, size_t in_files_size) { String decoy_suffix = "_decoy"; diff --git a/src/openms/source/ANALYSIS/TARGETED/MetaboTargetedTargetDecoy.cpp b/src/openms/source/ANALYSIS/TARGETED/MetaboTargetedTargetDecoy.cpp index 244bbf4bbb3..1ff05e50ddc 100644 --- a/src/openms/source/ANALYSIS/TARGETED/MetaboTargetedTargetDecoy.cpp +++ b/src/openms/source/ANALYSIS/TARGETED/MetaboTargetedTargetDecoy.cpp @@ -74,68 +74,66 @@ namespace OpenMS return mappings; } - void MetaboTargetedTargetDecoy::resolveOverlappingTargetDecoyMassesByIndividualMassShift(TargetedExperiment& t_exp, std::vector& mappings, const double& mass_to_add) + void MetaboTargetedTargetDecoy::resolveOverlappingTargetDecoyMassesByDecoyMassShift(TargetedExperiment& t_exp, std::vector& mappings, const double& mass_to_add, const double& mz_tol, const String& mz_tol_unit) { - // compare targets and decoy masses - for (auto &it : mappings) - { - std::vector intersection; - std::vector replace_intersection; - std::vector target_product_masses = it.target_product_masses; - std::vector decoy_product_masses = it.decoy_product_masses; - std::sort(target_product_masses.begin(), target_product_masses.end()); - std::sort(decoy_product_masses.begin(), decoy_product_masses.end()); - - std::set_intersection(target_product_masses.begin(), - target_product_masses.end(), - decoy_product_masses.begin(), - decoy_product_masses.end(), - std::back_inserter(intersection)); - - if (!intersection.empty()) - { - std::transform(intersection.begin(), - intersection.end(), - std::back_inserter(replace_intersection), - [mass_to_add](double d) -> double { return d + mass_to_add; }); - - for (Size i = 0; i < replace_intersection.size(); ++i) - { - std::replace(it.decoy_product_masses.begin(), - it.decoy_product_masses.end(), - intersection[i], - replace_intersection[i]); + // Define a map to hold compound references and their corresponding sets of decoy m/z values. + std::map> match_compound_refs_decoy_mz; + + // Iterate over each mapping in the provided mappings list. + for (const auto& map : mappings) { + // Create a set to store m/z values that match the criterion. + std::set matched; + + // Iterate over each decoy m/z value in the current mapping. + for (double decoy_mz : map.decoy_product_masses) { + // Compare each decoy m/z value with each target m/z value. + for (double target_mz : map.target_product_masses) { + // Calculate the difference between decoy and target m/z values. + // The calculation differs based on whether the tolerance is in ppm or Da. + double difference = (mz_tol_unit == "ppm") ? + std::abs(decoy_mz - target_mz) / target_mz * 1e6 : + std::abs(decoy_mz - target_mz); + + // If the difference is small than mz_tol, the masses are too similar. + if (difference <= mz_tol) { + // Add the decoy m/z to the matched set. + matched.insert(decoy_mz); + break; // Move to the next decoy m/z value after finding a match. + } + } } - } + + // Associate the set of matched decoy m/z values with the compound reference in the map. + match_compound_refs_decoy_mz[map.decoy_compound_ref] = std::move(matched); } - std::map > TransitionsMap = MetaboTargetedTargetDecoy::constructTransitionsMap_(t_exp); + // Prepare a new vector to store updated ReactionMonitoringTransition objects. + std::vector v_rmt_new; + v_rmt_new.reserve(t_exp.getTransitions().size()); // Reserve space to optimize memory allocation. - // resolve mappings and add to current TargetedExperiment - std::vector transitions; + // Iterate over each transition in the experiment. + for (const auto& tr : t_exp.getTransitions()) { + // Look for the current transition's compound reference in the map. + auto found = match_compound_refs_decoy_mz.find(tr.getCompoundRef()); - for (const auto& it: mappings) - { - if (!it.target_compound_ref.empty()) - { - std::vector target_transitions = TransitionsMap[it.target_compound_ref]; - transitions.insert(transitions.end(), target_transitions.begin(), target_transitions.end()); - } - if (!it.decoy_compound_ref.empty()) - { - std::vector current_decoy_transitions = TransitionsMap[it.decoy_compound_ref]; - if (it.decoy_product_masses.size() == current_decoy_transitions.size()) - { - for (size_t i = 0; i < it.decoy_product_masses.size(); ++i) - { - ReactionMonitoringTransition tr = current_decoy_transitions[i]; // old - tr.setProductMZ(it.decoy_product_masses[i]); // new - transitions.push_back(tr); - } + // Check if the compound reference is found and if the product m/z matches any in the set. + if (found != match_compound_refs_decoy_mz.end() && found->second.count(tr.getProductMZ()) > 0) { + // Create a new transition object based on the current transition. + ReactionMonitoringTransition new_tr = tr; + + // Modify the product m/z of the new transition. + new_tr.setProductMZ(tr.getProductMZ() + mass_to_add); + + // Add the updated transition to the new vector. + v_rmt_new.push_back(std::move(new_tr)); + } else { + // If no match is found, add the original transition to the new vector. + v_rmt_new.push_back(tr); } - } } - t_exp.setTransitions(transitions); + + // Update the experiment's transitions with the new vector of updated transitions. + t_exp.setTransitions(std::move(v_rmt_new)); } void MetaboTargetedTargetDecoy::generateMissingDecoysByMassShift(TargetedExperiment& t_exp, std::vector& mappings, const double& mass_to_add) diff --git a/src/openms/source/ANALYSIS/TOPDOWN/FLASHDeconvAlgorithm.cpp b/src/openms/source/ANALYSIS/TOPDOWN/FLASHDeconvAlgorithm.cpp index 604a506ca02..285864f549d 100644 --- a/src/openms/source/ANALYSIS/TOPDOWN/FLASHDeconvAlgorithm.cpp +++ b/src/openms/source/ANALYSIS/TOPDOWN/FLASHDeconvAlgorithm.cpp @@ -197,14 +197,15 @@ namespace OpenMS void FLASHDeconvAlgorithm::setFilters_() { filter_.clear(); - harmonic_filter_matrix_.clear(); + int charge_range = current_max_charge_; for (int i = 0; i < charge_range; i++) { filter_.push_back(-log(i + 1)); //+ } - harmonic_filter_matrix_.resize(harmonic_charges_.size(), charge_range); + harmonic_filter_matrix_.getEigenMatrix().resize(harmonic_charges_.size(), charge_range); + harmonic_filter_matrix_.getEigenMatrix().setZero(); for (Size k = 0; k < harmonic_charges_.size(); k++) { @@ -215,7 +216,7 @@ namespace OpenMS { double a = i > 0 ? exp(-filter_[i - 1]) : 0; double b = exp(-filter_[i]); - harmonic_filter_matrix_.setValue(k, i, -log(b - (b - a) * n / hc)); + harmonic_filter_matrix_(k, i) = -log(b - (b - a) * n / hc); } } } @@ -477,7 +478,7 @@ namespace OpenMS { for (int t = -1; t < 2; t++) { - long hmz_bin_index = mass_bin_index - harmonic_bin_offset_matrix_.getValue(k, j) + t; + long hmz_bin_index = mass_bin_index - harmonic_bin_offset_matrix_(k, j) + t; if (hmz_bin_index > 0 && hmz_bin_index != (long)mz_bin_index && hmz_bin_index < (int)mz_bins_.size() && mz_bins_[hmz_bin_index]) { @@ -531,7 +532,7 @@ namespace OpenMS Matrix abs_charge_ranges(2, mass_bins_.size(), INT_MAX); for (Size i = 0; i < mass_bins_.size(); i++) { - abs_charge_ranges.setValue(1, (int)i, INT_MIN); + abs_charge_ranges(1, (int)i) = INT_MIN; } Size mz_bin_index = mz_bins_.find_first(); long bin_size = (long)mass_bins_.size(); @@ -621,8 +622,8 @@ namespace OpenMS int max_intensity_abs_charge_range = max_intensity_abs_charge_ranges[i]; if (max_index >= 0 && max_index < bin_size) { - abs_charge_ranges.setValue(0, max_index, std::min(abs_charge_ranges.getValue(0, max_index), max_intensity_abs_charge_range)); - abs_charge_ranges.setValue(1, max_index, std::max(abs_charge_ranges.getValue(1, max_index), max_intensity_abs_charge_range)); + abs_charge_ranges(0, max_index) = std::min(abs_charge_ranges(0, max_index), max_intensity_abs_charge_range); + abs_charge_ranges(1, max_index) = std::max(abs_charge_ranges(1, max_index), max_intensity_abs_charge_range); mass_bins_[max_index] = true; } } @@ -672,7 +673,7 @@ namespace OpenMS double log_m = getBinValue_(mass_bin_index, mass_bin_min_value_, bin_mul_factor); double mass = exp(log_m); - PeakGroup pg(1, per_mass_abs_charge_ranges.getValue(1, mass_bin_index) + 1, // make an empty peakGroup (mass) + PeakGroup pg(1, per_mass_abs_charge_ranges(1, mass_bin_index) + 1, // make an empty peakGroup (mass) is_positive_); pg.reserve(charge_range * 12); @@ -685,7 +686,7 @@ namespace OpenMS std::fill(total_harmonic_intensity.begin(), total_harmonic_intensity.end(), .0); // scan through charge - from mass to m/z - for (size_t j = per_mass_abs_charge_ranges.getValue(0, mass_bin_index); j <= (size_t)per_mass_abs_charge_ranges.getValue(1, mass_bin_index); j++) + for (size_t j = per_mass_abs_charge_ranges(0, mass_bin_index); j <= (size_t)per_mass_abs_charge_ranges(1, mass_bin_index); j++) { int max_peak_index = -1; size_t abs_charge = j + 1; @@ -986,19 +987,20 @@ namespace OpenMS double mz_bin_max_value = log_mz_peaks_[log_mz_peaks_.size() - 1].logMz; Size mass_bin_number = getBinNumber_(mass_bin_max_value, mass_bin_min_value_, bin_mul_factor) + 1; bin_offsets_.clear(); - harmonic_bin_offset_matrix_.clear(); for (int i = 0; i < current_charge_range; i++) { bin_offsets_.push_back((int)round((mz_bin_min_value_ - filter_[i] - mass_bin_min_value_) * bin_mul_factor)); } - harmonic_bin_offset_matrix_.resize(harmonic_charges_.size(), current_charge_range); + harmonic_bin_offset_matrix_.getEigenMatrix().resize(harmonic_charges_.size(), current_charge_range); + + for (Size k = 0; k < harmonic_charges_.size(); k++) { for (int i = 0; i < current_charge_range; i++) { - harmonic_bin_offset_matrix_.setValue(k, i, (int)round((mz_bin_min_value_ - harmonic_filter_matrix_.getValue(k, i) - mass_bin_min_value_) * bin_mul_factor)); + harmonic_bin_offset_matrix_(k, i) = (int)round((mz_bin_min_value_ - harmonic_filter_matrix_(k, i) - mass_bin_min_value_) * bin_mul_factor); } } diff --git a/src/openms/source/APPLICATIONS/INIUpdater.cpp b/src/openms/source/APPLICATIONS/INIUpdater.cpp index d5c312eec40..dd6ff8c19c1 100644 --- a/src/openms/source/APPLICATIONS/INIUpdater.cpp +++ b/src/openms/source/APPLICATIONS/INIUpdater.cpp @@ -55,7 +55,6 @@ namespace OpenMS map_[TDE("MapAligner", ListUtils::create("apply_given_trafo"))] = TDE("MapRTTransformer", ListUtils::create("")); map_[TDE("MapAligner", ListUtils::create("identification"))] = TDE("MapAlignerIdentification", ListUtils::create("")); map_[TDE("MapAligner", ListUtils::create("pose_clustering"))] = TDE("MapAlignerPoseClustering", ListUtils::create("")); - map_[TDE("MapAligner", ListUtils::create("spectrum_alignment"))] = TDE("MapAlignerSpectrum", ListUtils::create("")); // SpectraFilter ... diff --git a/src/openms/source/APPLICATIONS/TOPPBase.cpp b/src/openms/source/APPLICATIONS/TOPPBase.cpp index 86e4ff71075..13728ac837b 100755 --- a/src/openms/source/APPLICATIONS/TOPPBase.cpp +++ b/src/openms/source/APPLICATIONS/TOPPBase.cpp @@ -69,10 +69,10 @@ namespace OpenMS using namespace Exception; String TOPPBase::topp_ini_file_ = String(QDir::homePath()) + "/.TOPP.ini"; - const Citation TOPPBase::cite_openms_ = { "Rost HL, Sachsenberg T, Aiche S, Bielow C et al.", - "OpenMS: a flexible open-source software platform for mass spectrometry data analysis", - "Nat Meth. 2016; 13, 9: 741-748", - "10.1038/nmeth.3959" }; + const Citation TOPPBase::cite_openms_ + = {"Pfeuffer, J., Bielow, C., Wein, S. et al.", "OpenMS 3 enables reproducible analysis of large-scale mass spectrometry data", + "Nat Methods (2024)", "10.1038/s41592-024-02197-7"}; + void TOPPBase::setMaxNumberOfThreads(int #ifdef _OPENMP @@ -580,7 +580,7 @@ namespace OpenMS is << " + " << is.indent(3) << c.toString() << is.indent(0) << "\n"; } is << is.indent(0) << "\n"; - is << invert("Usage:\n") + is << invert("Usage:") << "\n" // line break needs to be separate, to avoid colored trailing whitespaces << " " << bright(tool_name_) << " " << "\n" << "\n"; diff --git a/src/openms/source/APPLICATIONS/ToolHandler.cpp b/src/openms/source/APPLICATIONS/ToolHandler.cpp index 166d893e78f..050385c750a 100644 --- a/src/openms/source/APPLICATIONS/ToolHandler.cpp +++ b/src/openms/source/APPLICATIONS/ToolHandler.cpp @@ -46,6 +46,7 @@ namespace OpenMS tools_map["AccurateMassSearch"] = Internal::ToolDescription("AccurateMassSearch", cat_ID_MTX); tools_map["AssayGeneratorMetabo"] = Internal::ToolDescription("AssayGeneratorMetabo", cat_targeted); + tools_map["AssayGeneratorMetaboSirius"] = Internal::ToolDescription("AssayGeneratorMetaboSirius", cat_targeted); tools_map["BaselineFilter"] = Internal::ToolDescription("BaselineFilter", cat_signal_proc_smooth_normalize); tools_map["ClusterMassTraces"] = Internal::ToolDescription("ClusterMassTraces", cat_misc); tools_map["ClusterMassTracesByPrecursor"] = Internal::ToolDescription("ClusterMassTracesByPrecursor", cat_targeted); @@ -106,7 +107,6 @@ namespace OpenMS tools_map["LuciphorAdapter"] = Internal::ToolDescription("LuciphorAdapter", cat_ID_search); tools_map["MapAlignerIdentification"] = Internal::ToolDescription("MapAlignerIdentification", cat_map_align); tools_map["MapAlignerPoseClustering"] = Internal::ToolDescription("MapAlignerPoseClustering", cat_map_align); - tools_map["MapAlignerSpectrum"] = Internal::ToolDescription("MapAlignerSpectrum", cat_map_align); tools_map["MapAlignerTreeGuided"] = Internal::ToolDescription("MapAlignerTreeGuided", cat_map_align); tools_map["MapNormalizer"] = Internal::ToolDescription("MapNormalizer", cat_signal_proc_smooth_normalize); tools_map["MapRTTransformer"] = Internal::ToolDescription("MapRTTransformer", cat_map_align); @@ -175,7 +175,7 @@ namespace OpenMS tools_map["SemanticValidator"] = Internal::ToolDescription("SemanticValidator", cat_dev); tools_map["SequenceCoverageCalculator"] = Internal::ToolDescription("SequenceCoverageCalculator", cat_ID_proc); tools_map["SimpleSearchEngine"] = Internal::ToolDescription("SimpleSearchEngine", cat_ID_search); - tools_map["SiriusAdapter"] = Internal::ToolDescription("SiriusAdapter", cat_ID_MTX); + tools_map["SiriusExport"] = Internal::ToolDescription("SiriusExport", cat_ID_MTX); tools_map["SpecLibCreator"] = Internal::ToolDescription("SpecLibCreator", cat_ID_proc); tools_map["SpecLibSearcher"] = Internal::ToolDescription("SpecLibSearcher", cat_ID_search); tools_map["SpectraFilterBernNorm"] = Internal::ToolDescription("SpectraFilterBernNorm", cat_signal_proc_smooth_normalize); diff --git a/src/openms/source/COMPARISON/CLUSTERING/AverageLinkage.cpp b/src/openms/source/COMPARISON/CLUSTERING/AverageLinkage.cpp index 5159a2aeb1d..be5ade2e0d2 100644 --- a/src/openms/source/COMPARISON/CLUSTERING/AverageLinkage.cpp +++ b/src/openms/source/COMPARISON/CLUSTERING/AverageLinkage.cpp @@ -13,17 +13,6 @@ namespace OpenMS { - /// creates a new instance of a AverageLinkage object - ClusterFunctor * AverageLinkage::create() - { - return new AverageLinkage(); - } - - /// get the identifier for this object - const String AverageLinkage::getProductName() - { - return "AverageLinkage"; - } AverageLinkage::AverageLinkage() : ClusterFunctor(), ProgressLogger() diff --git a/src/openms/source/COMPARISON/CLUSTERING/ClusterFunctor.cpp b/src/openms/source/COMPARISON/CLUSTERING/ClusterFunctor.cpp index 4f2355834a6..4a2d14d34e9 100644 --- a/src/openms/source/COMPARISON/CLUSTERING/ClusterFunctor.cpp +++ b/src/openms/source/COMPARISON/CLUSTERING/ClusterFunctor.cpp @@ -11,7 +11,6 @@ #include #include #include -#include using namespace std; @@ -25,13 +24,6 @@ namespace OpenMS ClusterFunctor & ClusterFunctor::operator=(const ClusterFunctor & /*source*/) = default; - void ClusterFunctor::registerChildren() - { - Factory::registerProduct(SingleLinkage::getProductName(), &SingleLinkage::create); - Factory::registerProduct(CompleteLinkage::getProductName(), &CompleteLinkage::create); - Factory::registerProduct(AverageLinkage::getProductName(), &AverageLinkage::create); - } - ClusterFunctor::InsufficientInput::InsufficientInput(const char * file, int line, const char * function, const char * message) throw() : BaseException(file, line, function, "ClusterFunctor::InsufficentInput", message) { diff --git a/src/openms/source/COMPARISON/CLUSTERING/CompleteLinkage.cpp b/src/openms/source/COMPARISON/CLUSTERING/CompleteLinkage.cpp index 61159ab354b..365fecbe628 100644 --- a/src/openms/source/COMPARISON/CLUSTERING/CompleteLinkage.cpp +++ b/src/openms/source/COMPARISON/CLUSTERING/CompleteLinkage.cpp @@ -13,15 +13,6 @@ namespace OpenMS { - ClusterFunctor * CompleteLinkage::create() - { - return new CompleteLinkage(); - } - - const String CompleteLinkage::getProductName() - { - return "CompleteLinkage"; - } CompleteLinkage::CompleteLinkage() : ClusterFunctor(), ProgressLogger() diff --git a/src/openms/source/COMPARISON/CLUSTERING/SingleLinkage.cpp b/src/openms/source/COMPARISON/CLUSTERING/SingleLinkage.cpp index 5ffba98c8e4..167d25af31a 100644 --- a/src/openms/source/COMPARISON/CLUSTERING/SingleLinkage.cpp +++ b/src/openms/source/COMPARISON/CLUSTERING/SingleLinkage.cpp @@ -12,15 +12,6 @@ namespace OpenMS { - ClusterFunctor * SingleLinkage::create() - { - return new SingleLinkage(); - } - - const String SingleLinkage::getProductName() - { - return "SingleLinkage"; - } SingleLinkage::SingleLinkage() : ClusterFunctor(), ProgressLogger() diff --git a/src/openms/source/COMPARISON/SPECTRA/BinnedSharedPeakCount.cpp b/src/openms/source/COMPARISON/SPECTRA/BinnedSharedPeakCount.cpp index cd6836d065e..3033bc03701 100644 --- a/src/openms/source/COMPARISON/SPECTRA/BinnedSharedPeakCount.cpp +++ b/src/openms/source/COMPARISON/SPECTRA/BinnedSharedPeakCount.cpp @@ -18,7 +18,7 @@ namespace OpenMS BinnedSharedPeakCount::BinnedSharedPeakCount() : BinnedSpectrumCompareFunctor() { - setName(BinnedSharedPeakCount::getProductName()); + setName("BinnedSharedPeakCount"); defaultsToParam_(); } diff --git a/src/openms/source/COMPARISON/SPECTRA/BinnedSpectralContrastAngle.cpp b/src/openms/source/COMPARISON/SPECTRA/BinnedSpectralContrastAngle.cpp index 3aaaba8e3d4..405f7c7aacf 100644 --- a/src/openms/source/COMPARISON/SPECTRA/BinnedSpectralContrastAngle.cpp +++ b/src/openms/source/COMPARISON/SPECTRA/BinnedSpectralContrastAngle.cpp @@ -18,7 +18,7 @@ namespace OpenMS BinnedSpectralContrastAngle::BinnedSpectralContrastAngle() : BinnedSpectrumCompareFunctor() { - setName(BinnedSpectralContrastAngle::getProductName()); + setName("BinnedSpectralContrastAngle"); defaultsToParam_(); } diff --git a/src/openms/source/COMPARISON/SPECTRA/BinnedSpectrumCompareFunctor.cpp b/src/openms/source/COMPARISON/SPECTRA/BinnedSpectrumCompareFunctor.cpp index 224ab7f0423..3a6a0fa0cd3 100644 --- a/src/openms/source/COMPARISON/SPECTRA/BinnedSpectrumCompareFunctor.cpp +++ b/src/openms/source/COMPARISON/SPECTRA/BinnedSpectrumCompareFunctor.cpp @@ -10,16 +10,13 @@ #include #include #include -#include - - using namespace std; namespace OpenMS { BinnedSpectrumCompareFunctor::BinnedSpectrumCompareFunctor() : - DefaultParamHandler(BinnedSpectrumCompareFunctor::getProductName()) + DefaultParamHandler("BinnedSpectrumCompareFunctor") { } @@ -36,11 +33,4 @@ namespace OpenMS return *this; } - void BinnedSpectrumCompareFunctor::registerChildren() - { - Factory::registerProduct(BinnedSharedPeakCount::getProductName(), &BinnedSharedPeakCount::create); - Factory::registerProduct(BinnedSpectralContrastAngle::getProductName(), &BinnedSpectralContrastAngle::create); - Factory::registerProduct(BinnedSumAgreeingIntensities::getProductName(), &BinnedSumAgreeingIntensities::create); - } - } diff --git a/src/openms/source/COMPARISON/SPECTRA/BinnedSumAgreeingIntensities.cpp b/src/openms/source/COMPARISON/SPECTRA/BinnedSumAgreeingIntensities.cpp index d98f386dec7..52f86165b23 100644 --- a/src/openms/source/COMPARISON/SPECTRA/BinnedSumAgreeingIntensities.cpp +++ b/src/openms/source/COMPARISON/SPECTRA/BinnedSumAgreeingIntensities.cpp @@ -18,7 +18,7 @@ namespace OpenMS BinnedSumAgreeingIntensities::BinnedSumAgreeingIntensities() : BinnedSpectrumCompareFunctor() { - setName(BinnedSumAgreeingIntensities::getProductName()); + setName("BinnedSumAgreeingIntensities"); defaultsToParam_(); } diff --git a/src/openms/source/COMPARISON/SPECTRA/PeakAlignment.cpp b/src/openms/source/COMPARISON/SPECTRA/PeakAlignment.cpp index 2e703d29aed..7c15e2978d4 100644 --- a/src/openms/source/COMPARISON/SPECTRA/PeakAlignment.cpp +++ b/src/openms/source/COMPARISON/SPECTRA/PeakAlignment.cpp @@ -100,13 +100,13 @@ namespace OpenMS //initialize alignment matrix with 0 in (0,0) and a multiple of gapcost in the first row/col matrix(row,col,values) Matrix matrix(spec1.size() + 1, spec2.size() + 1, 0); - for (Size i = 1; i < matrix.rows(); i++) + for (long int i = 1; i < matrix.rows(); i++) { - matrix.setValue(i, 0, -gap * i); + matrix(i, 0) = -gap * i; } - for (Size i = 1; i < matrix.cols(); i++) + for (long int i = 1; i < matrix.cols(); i++) { - matrix.setValue(0, i, -gap * i); + matrix(0, i) = -gap * i; } //get sigma - the standard deviation (sqrt of variance) @@ -162,18 +162,18 @@ namespace OpenMS if (fabs(pos1 - pos2) <= epsilon) { // actual cell = max(upper left cell+score, left cell-gap, upper cell-gap) - double from_left(matrix.getValue(i, j - 1) - gap); - double from_above(matrix.getValue(i - 1, j) - gap); + double from_left(matrix(i, j - 1) - gap); + double from_above(matrix(i - 1, j) - gap); double int1(spec1[i - 1].getIntensity()), int2(spec2[j - 1].getIntensity()); - double from_diagonal(matrix.getValue(i - 1, j - 1) + peakPairScore_(pos1, int1, pos2, int2, sigma)); - matrix.setValue(i, j, max(from_left, max(from_above, from_diagonal))); + double from_diagonal(matrix(i - 1, j - 1) + peakPairScore_(pos1, int1, pos2, int2, sigma)); + matrix(i, j) = max(from_left, max(from_above, from_diagonal)); } else { // actual cell = max(left cell-gap, upper cell-gap) - double from_left(matrix.getValue(i, j - 1) - gap); - double from_above(matrix.getValue(i - 1, j) - gap); - matrix.setValue(i, j, max(from_left, from_above)); + double from_left(matrix(i, j - 1) - gap); + double from_above(matrix(i - 1, j) - gap); + matrix(i, j) = max(from_left, from_above); } } } @@ -184,13 +184,13 @@ namespace OpenMS //get best overall score and return double best_score(numeric_limits::min()); - for (Size i = 0; i < matrix.cols(); i++) + for (long int i = 0; i < matrix.cols(); i++) { - best_score = max(best_score, matrix.getValue(matrix.rows() - 1, i)); + best_score = max(best_score, matrix(matrix.rows() - 1, i)); } - for (Size i = 0; i < matrix.rows(); i++) + for (long int i = 0; i < matrix.rows(); i++) { - best_score = max(best_score, matrix.getValue(i, matrix.cols() - 1)); + best_score = max(best_score, matrix(i, matrix.cols() - 1)); } //calculate self-alignment scores for both input spectra @@ -235,13 +235,13 @@ namespace OpenMS //initialize alignment matrix with 0 in (0,0) and a multiple of gapcost in the first row/col matrix(row,col,values) Matrix matrix(spec1.size() + 1, spec2.size() + 1, 0); - for (Size i = 1; i < matrix.rows(); i++) + for (long int i = 1; i < matrix.rows(); i++) { - matrix.setValue(i, 0, -gap * i); + matrix(i, 0) = -gap * i; } - for (Size i = 1; i < matrix.cols(); i++) + for (long int i = 1; i < matrix.cols(); i++) { - matrix.setValue(0, i, -gap * i); + matrix(0, i) = -gap * i; } // gives the direction of the matrix cell that originated the respective cell @@ -297,28 +297,28 @@ namespace OpenMS if (fabs(pos1 - pos2) <= epsilon) { // actual cell = max(upper left cell+score, left cell-gap, upper cell-gap) - double from_left(matrix.getValue(i, j - 1) - gap); - double from_above(matrix.getValue(i - 1, j) - gap); + double from_left(matrix(i, j - 1) - gap); + double from_above(matrix(i - 1, j) - gap); double int1(spec1[i - 1].getIntensity()), int2(spec2[j - 1].getIntensity()); - double from_diagonal(matrix.getValue(i - 1, j - 1) + peakPairScore_(pos1, int1, pos2, int2, sigma)); - matrix.setValue(i, j, max(from_left, max(from_above, from_diagonal))); + double from_diagonal(matrix(i - 1, j - 1) + peakPairScore_(pos1, int1, pos2, int2, sigma)); + matrix(i, j) = max(from_left, max(from_above, from_diagonal)); // TODO the cases where all or two values are equal if (from_diagonal > from_left && from_diagonal > from_above) { - traceback.setValue(i - 1, j - 1, 1); + traceback(i - 1, j - 1) = 1; } else { if (from_left > from_diagonal && from_left > from_above) { - traceback.setValue(i - 1, j - 1, 0); + traceback(i - 1, j - 1) = 0; } else { if (from_above > from_diagonal && from_above > from_left) { - traceback.setValue(i - 1, j - 1, 2); + traceback(i - 1, j - 1) = 2; } } } @@ -326,16 +326,16 @@ namespace OpenMS else { // actual cell = max(left cell-gap, upper cell-gap) - double from_left(matrix.getValue(i, j - 1) - gap); - double from_above(matrix.getValue(i - 1, j) - gap); - matrix.setValue(i, j, max(from_left, from_above)); + double from_left(matrix(i, j - 1) - gap); + double from_above(matrix(i - 1, j) - gap); + matrix(i, j) = std::max(from_left, from_above); if (from_left > from_above) { - traceback.setValue(i - 1, j - 1, 0); + traceback(i - 1, j - 1) = 0; } else //from_left <= from_above { - traceback.setValue(i - 1, j - 1, 2); + traceback(i - 1, j - 1) = 2; } } } @@ -346,20 +346,20 @@ namespace OpenMS //get matrix coordinates from best alloverscore Size row_index(0), col_index(0); double best_score(numeric_limits::min()); - for (Size i = 0; i < matrix.cols(); i++) + for (long int i = 0; i < matrix.cols(); i++) { - if (best_score < matrix.getValue(matrix.rows() - 1, i)) + if (best_score < matrix(matrix.rows() - 1, i)) { - best_score = matrix.getValue(matrix.rows() - 1, i); + best_score = matrix(matrix.rows() - 1, i); row_index = matrix.rows() - 1; col_index = i; } } - for (Size i = 0; i < matrix.rows(); i++) + for (long int i = 0; i < matrix.rows(); i++) { - if (best_score < matrix.getValue(i, matrix.cols() - 1)) + if (best_score < matrix(i, matrix.cols() - 1)) { - best_score = matrix.getValue(i, matrix.cols() - 1); + best_score = matrix(i, matrix.cols() - 1); row_index = i; col_index = matrix.cols() - 1; } @@ -369,7 +369,7 @@ namespace OpenMS while (row_index > 0 && col_index > 0) { //from diagonal - peaks aligned - if (traceback.getValue(row_index - 1, col_index - 1) == 1) + if (traceback(row_index - 1, col_index - 1) == 1) { //register aligned peaks only ret_val.insert(ret_val.begin(), pair(row_index - 1, col_index - 1)); @@ -377,7 +377,7 @@ namespace OpenMS col_index = col_index - 1; } // gap alignment - else if (traceback.getValue(row_index - 1, col_index - 1) == 0) + else if (traceback(row_index - 1, col_index - 1) == 0) { col_index = col_index - 1; } diff --git a/src/openms/source/COMPARISON/SPECTRA/PeakSpectrumCompareFunctor.cpp b/src/openms/source/COMPARISON/SPECTRA/PeakSpectrumCompareFunctor.cpp index 846ac8fbee5..c0d5ac2d1d8 100644 --- a/src/openms/source/COMPARISON/SPECTRA/PeakSpectrumCompareFunctor.cpp +++ b/src/openms/source/COMPARISON/SPECTRA/PeakSpectrumCompareFunctor.cpp @@ -14,14 +14,13 @@ #include #include #include -#include using namespace std; namespace OpenMS { PeakSpectrumCompareFunctor::PeakSpectrumCompareFunctor() : - DefaultParamHandler(PeakSpectrumCompareFunctor::getProductName()) + DefaultParamHandler("PeakSpectrumCompareFunctor") { } @@ -38,14 +37,4 @@ namespace OpenMS return *this; } - void PeakSpectrumCompareFunctor::registerChildren() - { - Factory::registerProduct(SpectrumCheapDPCorr::getProductName(), &SpectrumCheapDPCorr::create); - Factory::registerProduct(SpectrumPrecursorComparator::getProductName(), &SpectrumPrecursorComparator::create); - Factory::registerProduct(ZhangSimilarityScore::getProductName(), &ZhangSimilarityScore::create); - Factory::registerProduct(SpectrumAlignmentScore::getProductName(), &SpectrumAlignmentScore::create); - Factory::registerProduct(SteinScottImproveScore::getProductName(), &SteinScottImproveScore::create); - Factory::registerProduct(PeakAlignment::getProductName(), &PeakAlignment::create); - } - } diff --git a/src/openms/source/COMPARISON/SPECTRA/SpectraSTSimilarityScore.cpp b/src/openms/source/COMPARISON/SPECTRA/SpectraSTSimilarityScore.cpp index 1bcb0ddab2a..8c589b9ab02 100644 --- a/src/openms/source/COMPARISON/SPECTRA/SpectraSTSimilarityScore.cpp +++ b/src/openms/source/COMPARISON/SPECTRA/SpectraSTSimilarityScore.cpp @@ -18,7 +18,7 @@ namespace OpenMS SpectraSTSimilarityScore::SpectraSTSimilarityScore() : PeakSpectrumCompareFunctor() { - setName(SpectraSTSimilarityScore::getProductName()); + setName("SpectraSTSimilarityScore"); } SpectraSTSimilarityScore::SpectraSTSimilarityScore(const SpectraSTSimilarityScore & source) = default; diff --git a/src/openms/source/COMPARISON/SPECTRA/SpectrumAlignmentScore.cpp b/src/openms/source/COMPARISON/SPECTRA/SpectrumAlignmentScore.cpp index 19c5f1b3227..e8d7173546b 100644 --- a/src/openms/source/COMPARISON/SPECTRA/SpectrumAlignmentScore.cpp +++ b/src/openms/source/COMPARISON/SPECTRA/SpectrumAlignmentScore.cpp @@ -15,7 +15,7 @@ namespace OpenMS SpectrumAlignmentScore::SpectrumAlignmentScore() : PeakSpectrumCompareFunctor() { - setName(SpectrumAlignmentScore::getProductName()); + setName("SpectrumAlignmentScore"); defaults_.setValue("tolerance", 0.3, "Defines the absolute (in Da) or relative (in ppm) tolerance"); defaults_.setValue("is_relative_tolerance", "false", "if true, the tolerance value is interpreted as ppm"); defaults_.setValidStrings("is_relative_tolerance", {"true","false"}); diff --git a/src/openms/source/COMPARISON/SPECTRA/SpectrumCheapDPCorr.cpp b/src/openms/source/COMPARISON/SPECTRA/SpectrumCheapDPCorr.cpp index b21ee68963d..28149cc8248 100644 --- a/src/openms/source/COMPARISON/SPECTRA/SpectrumCheapDPCorr.cpp +++ b/src/openms/source/COMPARISON/SPECTRA/SpectrumCheapDPCorr.cpp @@ -26,7 +26,7 @@ namespace OpenMS PeakSpectrumCompareFunctor(), lastconsensus_() { - setName(SpectrumCheapDPCorr::getProductName()); + setName("SpectrumCheapDPCorr"); defaults_.setValue("variation", 0.001, "Maximum difference in position (in percent of the current m/z).\nNote that big values of variation ( 1 being the maximum ) result in consideration of all possible pairings which has a running time of O(n*n)"); defaults_.setValue("int_cnt", 0, "How the peak heights are used in the score.\n0 = product\n1 = sqrt(product)\n2 = sum\n3 = agreeing intensity\n"); defaults_.setValue("keeppeaks", 0, "Flag that states if peaks without alignment partner are kept in the consensus spectrum."); diff --git a/src/openms/source/COMPARISON/SPECTRA/SpectrumPrecursorComparator.cpp b/src/openms/source/COMPARISON/SPECTRA/SpectrumPrecursorComparator.cpp index 5bb9ba8410f..a700181c870 100644 --- a/src/openms/source/COMPARISON/SPECTRA/SpectrumPrecursorComparator.cpp +++ b/src/openms/source/COMPARISON/SPECTRA/SpectrumPrecursorComparator.cpp @@ -18,7 +18,7 @@ namespace OpenMS SpectrumPrecursorComparator::SpectrumPrecursorComparator() : PeakSpectrumCompareFunctor() { - setName(SpectrumPrecursorComparator::getProductName()); + setName("SpectrumPrecursorComparator"); defaults_.setValue("window", 2, "Allowed deviation between precursor peaks."); defaultsToParam_(); } diff --git a/src/openms/source/COMPARISON/SPECTRA/SteinScottImproveScore.cpp b/src/openms/source/COMPARISON/SPECTRA/SteinScottImproveScore.cpp index bad24b47902..abd7ea0672a 100644 --- a/src/openms/source/COMPARISON/SPECTRA/SteinScottImproveScore.cpp +++ b/src/openms/source/COMPARISON/SPECTRA/SteinScottImproveScore.cpp @@ -17,7 +17,7 @@ namespace OpenMS SteinScottImproveScore::SteinScottImproveScore() : PeakSpectrumCompareFunctor() { - setName(SteinScottImproveScore::getProductName()); + setName("SteinScottImproveScore"); defaults_.setValue("tolerance", 0.2, "defines the absolute error of the mass spectrometer"); defaults_.setValue("threshold", 0.2, "if the calculated score is smaller than the threshold, a zero is given back"); defaultsToParam_(); diff --git a/src/openms/source/COMPARISON/SPECTRA/ZhangSimilarityScore.cpp b/src/openms/source/COMPARISON/SPECTRA/ZhangSimilarityScore.cpp index 24525826582..b151a038efb 100644 --- a/src/openms/source/COMPARISON/SPECTRA/ZhangSimilarityScore.cpp +++ b/src/openms/source/COMPARISON/SPECTRA/ZhangSimilarityScore.cpp @@ -20,7 +20,7 @@ namespace OpenMS ZhangSimilarityScore::ZhangSimilarityScore() : PeakSpectrumCompareFunctor() { - setName(ZhangSimilarityScore::getProductName()); + setName("ZhangSimilarityScore"); defaults_.setValue("tolerance", 0.2, "defines the absolute (in Da) or relative (in ppm) tolerance"); defaults_.setValue("is_relative_tolerance", "false", "If set to true, the tolerance is interpreted as relative"); defaults_.setValidStrings("is_relative_tolerance", {"true","false"}); diff --git a/src/openms/source/CONCEPT/ProgressLogger.cpp b/src/openms/source/CONCEPT/ProgressLogger.cpp index 1238eda72e7..7335c78c344 100644 --- a/src/openms/source/CONCEPT/ProgressLogger.cpp +++ b/src/openms/source/CONCEPT/ProgressLogger.cpp @@ -9,7 +9,6 @@ #include #include -#include #include #include @@ -22,15 +21,12 @@ using namespace std; namespace OpenMS { + class CMDProgressLoggerImpl : public ProgressLogger::ProgressLoggerImpl { public: - CMDProgressLoggerImpl() : - stop_watch_() - - { - } + CMDProgressLoggerImpl() = default; /// create new object (needed by Factory) static ProgressLogger::ProgressLoggerImpl* create() @@ -38,12 +34,6 @@ namespace OpenMS return new CMDProgressLoggerImpl(); } - /// name of the model (needed by Factory) - static const String getProductName() - { - return "CMD"; - } - void startProgress(const SignedSize begin, const SignedSize end, const String& label, const int current_recursion_depth) const override { begin_ = begin; @@ -106,12 +96,6 @@ namespace OpenMS return new NoProgressLoggerImpl(); } - /// name of the model (needed by Factory) - static const String getProductName() - { - return "NONE"; - } - void startProgress(const SignedSize /* begin */, const SignedSize /* end */, const String& /* label */, const int /* current_recursion_depth */) const override { } @@ -131,56 +115,42 @@ namespace OpenMS }; + // Simple runtime plugin system for GUI progress logger. + // An external library (e.g., OpenMS_GUI) can set this function to provide a GUI logger. + // As default, it just uses the NonProgressLoggerImpl. + MakeGUIProgressLoggerFunc make_gui_progress_logger = + []() -> ProgressLogger::ProgressLoggerImpl* { return new NoProgressLoggerImpl(); }; + int ProgressLogger::recursion_depth_ = 0; - void ProgressLogger::ProgressLoggerImpl::registerChildren() + ProgressLogger::ProgressLogger() : + type_(NONE), + last_invoke_() { - Factory::registerProduct(CMDProgressLoggerImpl::getProductName(), &CMDProgressLoggerImpl::create); - // this will only be registered by GUI base app in OpenMS_GUI - // Factory::registerProduct(GUIProgressLoggerImpl::getProductName(), &GUIProgressLoggerImpl::create); - Factory::registerProduct(NoProgressLoggerImpl::getProductName(), &NoProgressLoggerImpl::create); + current_logger_ = new NoProgressLoggerImpl(); } - int ProgressLogger::recursion_depth_ = 0; - - String ProgressLogger::logTypeToFactoryName_(ProgressLogger::LogType type) + ProgressLogger::ProgressLogger(const ProgressLogger& other) : + type_(other.type_), + last_invoke_(other.last_invoke_) { - switch (type) + switch (type_) { case NONE: { - return "NONE"; + current_logger_ = new NoProgressLoggerImpl(); + break; } case CMD: { - return "CMD"; + current_logger_ = new CMDProgressLoggerImpl(); + break; } case GUI: { - return "GUI"; + current_logger_ = make_gui_progress_logger(); } } - -// should never happen but gcc emits a warning/error -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wunreachable-code-return" - return ""; -#pragma clang diagnostic pop - } - - ProgressLogger::ProgressLogger() : - type_(NONE), - last_invoke_() - { - current_logger_ = Factory::create(logTypeToFactoryName_(type_)); - } - - ProgressLogger::ProgressLogger(const ProgressLogger& other) : - type_(other.type_), - last_invoke_(other.last_invoke_) - { - // recreate our logger - current_logger_ = Factory::create(logTypeToFactoryName_(type_)); } ProgressLogger& ProgressLogger::operator=(const ProgressLogger& other) @@ -197,7 +167,23 @@ namespace OpenMS delete current_logger_; // .. and get a new one - current_logger_ = Factory::create(logTypeToFactoryName_(type_)); + switch (type_) + { + case NONE: + { + current_logger_ = new NoProgressLoggerImpl(); + break; + } + case CMD: + { + current_logger_ = new CMDProgressLoggerImpl(); + break; + } + case GUI: + { + current_logger_ = make_gui_progress_logger(); + } + } return *this; } @@ -213,7 +199,29 @@ namespace OpenMS // remove the old logger delete current_logger_; - current_logger_ = Factory::create(logTypeToFactoryName_(type_)); + switch (type) + { + case NONE: + { + current_logger_ = new NoProgressLoggerImpl(); + break; + } + case CMD: + { + current_logger_ = new CMDProgressLoggerImpl(); + break; + } + case GUI: + { + current_logger_ = make_gui_progress_logger(); + } + } + } + + void ProgressLogger::setLogger(ProgressLoggerImpl* logger) + { + delete current_logger_; + current_logger_ = logger; } ProgressLogger::LogType ProgressLogger::getLogType() const @@ -261,5 +269,4 @@ namespace OpenMS current_logger_->endProgress(recursion_depth_, bytes_processed); } - } //namespace OpenMS diff --git a/src/openms/source/CONCEPT/SingletonRegistry.cpp b/src/openms/source/CONCEPT/SingletonRegistry.cpp deleted file mode 100644 index fd8acd42bee..00000000000 --- a/src/openms/source/CONCEPT/SingletonRegistry.cpp +++ /dev/null @@ -1,17 +0,0 @@ -// Copyright (c) 2002-present, The OpenMS Team -- EKU Tuebingen, ETH Zurich, and FU Berlin -// SPDX-License-Identifier: BSD-3-Clause -// -// -------------------------------------------------------------------------- -// $Maintainer: Chris Bielow $ -// $Authors: Clemens Groepl, Chris Bielow $ -// -------------------------------------------------------------------------- - -#include - -namespace OpenMS -{ - - // unique instance of the SingletonRegistry! - SingletonRegistry * SingletonRegistry::singletonRegistryInstance_ = nullptr; - -} // namespace openms diff --git a/src/openms/source/CONCEPT/sources.cmake b/src/openms/source/CONCEPT/sources.cmake index 6e39d4ffa46..fadaaad2b94 100644 --- a/src/openms/source/CONCEPT/sources.cmake +++ b/src/openms/source/CONCEPT/sources.cmake @@ -16,7 +16,6 @@ LogStream.cpp PrecisionWrapper.cpp ProgressLogger.cpp RAIICleanup.cpp -SingletonRegistry.cpp StreamHandler.cpp TypeAsString.cpp Types.cpp diff --git a/src/openms/source/FILTERING/TRANSFORMERS/ComplementFilter.cpp b/src/openms/source/FILTERING/TRANSFORMERS/ComplementFilter.cpp index 40d1a3d3159..4d08f5d80d7 100644 --- a/src/openms/source/FILTERING/TRANSFORMERS/ComplementFilter.cpp +++ b/src/openms/source/FILTERING/TRANSFORMERS/ComplementFilter.cpp @@ -15,7 +15,7 @@ namespace OpenMS ComplementFilter::ComplementFilter() : FilterFunctor() { - setName(ComplementFilter::getProductName()); + setName("ComplementFilter"); //value from Bioinformatics, Bern 2004 defaults_.setValue("tolerance", 0.37, "Tolerance value as defined by Bern et al."); defaultsToParam_(); diff --git a/src/openms/source/FILTERING/TRANSFORMERS/ComplementMarker.cpp b/src/openms/source/FILTERING/TRANSFORMERS/ComplementMarker.cpp index f6c1fb9276d..2531922ac1b 100644 --- a/src/openms/source/FILTERING/TRANSFORMERS/ComplementMarker.cpp +++ b/src/openms/source/FILTERING/TRANSFORMERS/ComplementMarker.cpp @@ -15,7 +15,7 @@ namespace OpenMS ComplementMarker::ComplementMarker() : PeakMarker() { - setName(ComplementMarker::getProductName()); + setName("ComplementMarker"); defaults_.setValue("tolerance", 1.0, "Tolerance value as defined by Bern et al."); defaults_.setValue("marks", 1, "How often a peak needs to be marked to be returned"); defaultsToParam_(); diff --git a/src/openms/source/FILTERING/TRANSFORMERS/FilterFunctor.cpp b/src/openms/source/FILTERING/TRANSFORMERS/FilterFunctor.cpp index caa3a528d44..6491c4aadb1 100644 --- a/src/openms/source/FILTERING/TRANSFORMERS/FilterFunctor.cpp +++ b/src/openms/source/FILTERING/TRANSFORMERS/FilterFunctor.cpp @@ -16,8 +16,6 @@ #include #include -#include - namespace OpenMS { FilterFunctor::FilterFunctor() : @@ -38,14 +36,4 @@ namespace OpenMS FilterFunctor::~FilterFunctor() = default; - void FilterFunctor::registerChildren() - { - Factory::registerProduct(ComplementFilter::getProductName(), &ComplementFilter::create); - Factory::registerProduct(GoodDiffFilter::getProductName(), &GoodDiffFilter::create); - Factory::registerProduct(IntensityBalanceFilter::getProductName(), &IntensityBalanceFilter::create); - Factory::registerProduct(NeutralLossDiffFilter::getProductName(), &NeutralLossDiffFilter::create); - Factory::registerProduct(IsotopeDiffFilter::getProductName(), &IsotopeDiffFilter::create); - Factory::registerProduct(TICFilter::getProductName(), &TICFilter::create); - } - } diff --git a/src/openms/source/FILTERING/TRANSFORMERS/GoodDiffFilter.cpp b/src/openms/source/FILTERING/TRANSFORMERS/GoodDiffFilter.cpp index 26539509dca..24eb02cd387 100644 --- a/src/openms/source/FILTERING/TRANSFORMERS/GoodDiffFilter.cpp +++ b/src/openms/source/FILTERING/TRANSFORMERS/GoodDiffFilter.cpp @@ -15,7 +15,7 @@ namespace OpenMS GoodDiffFilter::GoodDiffFilter() : FilterFunctor() { - setName(GoodDiffFilter::getProductName()); + setName("GoodDiffFilter"); //values from kinter sherman diff --git a/src/openms/source/FILTERING/TRANSFORMERS/IntensityBalanceFilter.cpp b/src/openms/source/FILTERING/TRANSFORMERS/IntensityBalanceFilter.cpp index 4c7863bdf7d..ffa13dcb33b 100644 --- a/src/openms/source/FILTERING/TRANSFORMERS/IntensityBalanceFilter.cpp +++ b/src/openms/source/FILTERING/TRANSFORMERS/IntensityBalanceFilter.cpp @@ -16,7 +16,7 @@ namespace OpenMS FilterFunctor() { check_defaults_ = false; - setName(IntensityBalanceFilter::getProductName()); + setName("IntensityBalanceFilter"); defaultsToParam_(); } diff --git a/src/openms/source/FILTERING/TRANSFORMERS/IsotopeDiffFilter.cpp b/src/openms/source/FILTERING/TRANSFORMERS/IsotopeDiffFilter.cpp index 079bd25e409..0ab72c1f36c 100644 --- a/src/openms/source/FILTERING/TRANSFORMERS/IsotopeDiffFilter.cpp +++ b/src/openms/source/FILTERING/TRANSFORMERS/IsotopeDiffFilter.cpp @@ -17,7 +17,7 @@ namespace OpenMS IsotopeDiffFilter::IsotopeDiffFilter() : FilterFunctor() { - setName(IsotopeDiffFilter::getProductName()); + setName("IsotopeDiffFilter"); //value from Bioinformatics, Bern 2004 defaults_.setValue("tolerance", 0.37, "Tolerance value defined by Bern et al."); defaultsToParam_(); diff --git a/src/openms/source/FILTERING/TRANSFORMERS/IsotopeMarker.cpp b/src/openms/source/FILTERING/TRANSFORMERS/IsotopeMarker.cpp index f2cf5187e95..a716c716d3b 100644 --- a/src/openms/source/FILTERING/TRANSFORMERS/IsotopeMarker.cpp +++ b/src/openms/source/FILTERING/TRANSFORMERS/IsotopeMarker.cpp @@ -16,7 +16,7 @@ namespace OpenMS IsotopeMarker::IsotopeMarker() : PeakMarker() { - setName(IsotopeMarker::getProductName()); + setName("IsotopeMarker"); defaults_.setValue("marks", 1, "How often a peak must be marked to be reported"); defaults_.setValue("mz_variation", 0.1, "variation in m/z direction"); defaults_.setValue("in_variation", 0.5, "variation in intensity"); diff --git a/src/openms/source/FILTERING/TRANSFORMERS/NeutralLossDiffFilter.cpp b/src/openms/source/FILTERING/TRANSFORMERS/NeutralLossDiffFilter.cpp index 830c9a3d87b..717ae2b167c 100644 --- a/src/openms/source/FILTERING/TRANSFORMERS/NeutralLossDiffFilter.cpp +++ b/src/openms/source/FILTERING/TRANSFORMERS/NeutralLossDiffFilter.cpp @@ -15,7 +15,7 @@ namespace OpenMS NeutralLossDiffFilter::NeutralLossDiffFilter() : FilterFunctor() { - setName(NeutralLossDiffFilter::getProductName()); + setName("NeutralLossDiffFilter"); //value from Bioinformatics, Bern 2004 defaults_.setValue("tolerance", 0.37, "Tolerance value defined by Bern et al."); defaultsToParam_(); diff --git a/src/openms/source/FILTERING/TRANSFORMERS/NeutralLossMarker.cpp b/src/openms/source/FILTERING/TRANSFORMERS/NeutralLossMarker.cpp index 9f761c7e5ca..13b65ebdeaf 100644 --- a/src/openms/source/FILTERING/TRANSFORMERS/NeutralLossMarker.cpp +++ b/src/openms/source/FILTERING/TRANSFORMERS/NeutralLossMarker.cpp @@ -16,7 +16,7 @@ namespace OpenMS NeutralLossMarker::NeutralLossMarker() : PeakMarker() { - setName(NeutralLossMarker::getProductName()); + setName("NeutralLossMarker"); defaults_.setValue("marks", 1, "How often a peak must be marked to be reported"); defaults_.setValue("tolerance", 0.2, "Tolerance in m/z direction"); defaultsToParam_(); diff --git a/src/openms/source/FILTERING/TRANSFORMERS/PeakMarker.cpp b/src/openms/source/FILTERING/TRANSFORMERS/PeakMarker.cpp index 371ed366f75..93670b385a7 100644 --- a/src/openms/source/FILTERING/TRANSFORMERS/PeakMarker.cpp +++ b/src/openms/source/FILTERING/TRANSFORMERS/PeakMarker.cpp @@ -10,7 +10,7 @@ namespace OpenMS { PeakMarker::PeakMarker() : - DefaultParamHandler(PeakMarker::getProductName()) + DefaultParamHandler("PeakMarker") { } diff --git a/src/openms/source/FILTERING/TRANSFORMERS/PreprocessingFunctor.cpp b/src/openms/source/FILTERING/TRANSFORMERS/PreprocessingFunctor.cpp index 31faec2a58e..6611ffadd27 100644 --- a/src/openms/source/FILTERING/TRANSFORMERS/PreprocessingFunctor.cpp +++ b/src/openms/source/FILTERING/TRANSFORMERS/PreprocessingFunctor.cpp @@ -16,7 +16,6 @@ #include #include #include -#include namespace OpenMS { @@ -35,19 +34,6 @@ namespace OpenMS { } - void PreprocessingFunctor::registerChildren() - { - Factory::registerProduct(ThresholdMower::getProductName(), &ThresholdMower::create); - Factory::registerProduct(WindowMower::getProductName(), &WindowMower::create); - Factory::registerProduct(Scaler::getProductName(), &Scaler::create); - Factory::registerProduct(NLargest::getProductName(), &NLargest::create); - Factory::registerProduct(MarkerMower::getProductName(), &MarkerMower::create); - Factory::registerProduct(SqrtMower::getProductName(), &SqrtMower::create); - Factory::registerProduct(Normalizer::getProductName(), &Normalizer::create); - Factory::registerProduct(ParentPeakMower::getProductName(), &ParentPeakMower::create); - Factory::registerProduct(BernNorm::getProductName(), &BernNorm::create); - } - PreprocessingFunctor & PreprocessingFunctor::operator=(const PreprocessingFunctor & source) { if (this != &source) diff --git a/src/openms/source/FILTERING/TRANSFORMERS/TICFilter.cpp b/src/openms/source/FILTERING/TRANSFORMERS/TICFilter.cpp index f073ac23a08..267b9b6fd0b 100644 --- a/src/openms/source/FILTERING/TRANSFORMERS/TICFilter.cpp +++ b/src/openms/source/FILTERING/TRANSFORMERS/TICFilter.cpp @@ -16,7 +16,7 @@ namespace OpenMS TICFilter::TICFilter() : FilterFunctor() { - setName(TICFilter::getProductName()); + setName("TICFilter"); defaults_.setValue("window", 5, "Windowing parameter which defines the windows size"); defaultsToParam_(); } diff --git a/src/openms/source/FORMAT/CsvFile.cpp b/src/openms/source/FORMAT/CsvFile.cpp index 0002689a8bd..4f27119be1f 100644 --- a/src/openms/source/FORMAT/CsvFile.cpp +++ b/src/openms/source/FORMAT/CsvFile.cpp @@ -59,7 +59,7 @@ namespace OpenMS buffer_.clear(); } - bool CsvFile::getRow(Size row, StringList& list) + bool CsvFile::getRow(Size row, StringList& list) const { // it is assumed that the value to be cast won't be so large to overflow an ulong int if (static_cast(row) > static_cast(TextFile::buffer_.size()) - 1) diff --git a/src/openms/source/FORMAT/DATAACCESS/CsiFingerIdMzTabWriter.cpp b/src/openms/source/FORMAT/DATAACCESS/CsiFingerIdMzTabWriter.cpp deleted file mode 100644 index 4540a72710c..00000000000 --- a/src/openms/source/FORMAT/DATAACCESS/CsiFingerIdMzTabWriter.cpp +++ /dev/null @@ -1,192 +0,0 @@ -// Copyright (c) 2002-present, The OpenMS Team -- EKU Tuebingen, ETH Zurich, and FU Berlin -// SPDX-License-Identifier: BSD-3-Clause -// -// -------------------------------------------------------------------------- -// $Maintainer: Oliver Alka $ -// $Authors: Oliver Alka, Timo Sachsenberg $ -// -------------------------------------------------------------------------- - -#include -#include -#include -#include -#include -#include -#include -#include - -using namespace OpenMS; -using namespace std; - -void CsiFingerIdMzTabWriter::read(const std::vector& sirius_output_paths, - const String& original_input_mzml, - const Size& top_n_hits, - MzTab& result) -{ - - CsiFingerIdMzTabWriter::CsiAdapterRun csi_result; - - for (const auto& it : sirius_output_paths) - { - // extract mz, rt of the precursor and the nativeID of the corresponding MS2 spectra in the spectrum.ms file - SiriusMzTabWriter::SiriusSpectrumMSInfo info = SiriusMzTabWriter::extractSpectrumMSInfo(it); - - const std::string pathtocsicsv = it + "/structure_candidates.tsv"; - - ifstream file(pathtocsicsv); - - if (file) - { - CsvFile compounds(pathtocsicsv, '\t'); - const UInt rowcount = compounds.rowCount(); - - if (rowcount > 1) - { - // correction if the rowcount is smaller than the number of hits used as parameter - // rowcount-1 because the csv header will be skipped in the loop later on. - int header = 1; - const UInt top_n_hits_cor = (top_n_hits >= rowcount) ? rowcount-header : top_n_hits; - - // fill identification structure containing all candidate hits for a single spectrum - CsiFingerIdMzTabWriter::CsiAdapterIdentification csi_id{}; - - // extract scan_index from path - OpenMS::String str = File::path(pathtocsicsv); - int scan_index = SiriusMzTabWriter::extractScanIndex(str); - - // extract scan_number from string - int scan_number = SiriusMzTabWriter::extractScanNumber(str); - - // extract feature_id from string - String feature_id = SiriusMzTabWriter::extractFeatureId(str); - - // extract column name and index from header - std::map< std::string, Size > columnname_to_columnindex = SiriusMzTabWriter::extract_columnname_to_columnindex(compounds); - - // j = 1 because of .csv file format (header) - for (Size j = 1; j <= top_n_hits_cor; ++j) - { - StringList sl; - compounds.getRow(j, sl); - CsiFingerIdMzTabWriter::CsiAdapterHit csi_hit; - csi_hit.inchikey2D = sl[columnname_to_columnindex.at("InChIkey2D")]; - csi_hit.inchi = sl[columnname_to_columnindex.at("InChI")]; - csi_hit.molecular_formula = sl[columnname_to_columnindex.at("molecularFormula")]; - csi_hit.rank = sl[columnname_to_columnindex.at("rank")].toInt(); - csi_hit.formula_rank = sl[columnname_to_columnindex.at("formulaRank")].toInt(); - csi_hit.adduct = sl[columnname_to_columnindex.at("adduct")]; - csi_hit.score = sl[columnname_to_columnindex.at("CSI:FingerIDScore")].toDouble(); - csi_hit.name = sl[columnname_to_columnindex.at("name")]; - csi_hit.smiles = sl[columnname_to_columnindex.at("smiles")]; - csi_hit.xlogp = sl[columnname_to_columnindex.at("xlogp")]; - csi_hit.dbflags = sl[columnname_to_columnindex.at("dbflags")]; - sl[columnname_to_columnindex.at("pubchemids")].split(';', csi_hit.pubchemids); - sl[columnname_to_columnindex.at("links")].split(';', csi_hit.links); - - csi_id.hits.push_back(csi_hit); - } - - csi_id.mz = info.ext_mz; - csi_id.rt = info.ext_rt; - csi_id.native_ids = info.ext_n_id; - csi_id.scan_index = scan_index; - csi_id.scan_number = scan_number; - csi_id.feature_id = feature_id; - csi_result.identifications.push_back(csi_id); - - // write metadata to mzTab file - MzTabFile mztab_out; - MzTabMetaData md; - MzTabMSRunMetaData md_run; - md_run.location = MzTabString(original_input_mzml); - md.ms_run[1] = md_run; - md.description = MzTabString("CSI:FingerID-" + SiriusVersion::CURRENT_VERSION); - - //needed for header generation (score) - std::map smallmolecule_search_engine_score; - smallmolecule_search_engine_score[1].setName("CSI:FingerIDScore"); - md.smallmolecule_search_engine_score = smallmolecule_search_engine_score; - result.setMetaData(md); - - // write results to mzTab file - MzTabSmallMoleculeSectionRows smsd; - for (Size i = 0; i < csi_result.identifications.size(); ++i) - { - const CsiFingerIdMzTabWriter::CsiAdapterIdentification &id = csi_result.identifications[i]; - for (Size j = 0; j < id.hits.size(); ++j) - { - const CsiFingerIdMzTabWriter::CsiAdapterHit &hit = id.hits[j]; - MzTabSmallMoleculeSectionRow smsr; - - map engine_score; - engine_score[1] = MzTabDouble(hit.score); - smsr.best_search_engine_score = engine_score; - - smsr.chemical_formula = MzTabString(hit.molecular_formula); - smsr.description = MzTabString(hit.name); - std::vector pubchemids; - for (Size k = 0; k < hit.pubchemids.size(); ++k) - { - pubchemids.emplace_back(MzTabString(hit.pubchemids[k])); - } - smsr.identifier.set(pubchemids); - smsr.inchi_key = MzTabString(hit.inchikey2D); - smsr.smiles = MzTabString(hit.smiles); - std::vector < MzTabString > links; - MzTabStringList m_links; - m_links.setSeparator('|'); - for (Size k = 0; k < hit.links.size(); ++k) - { - links.emplace_back(MzTabString(hit.links[k])); - } - m_links.set(links); - - smsr.exp_mass_to_charge = MzTabDouble(id.mz); - - vector v_rt; - MzTabDoubleList rt_list; - v_rt.emplace_back(id.rt); - rt_list.set(v_rt); - smsr.retention_time = rt_list; - - MzTabOptionalColumnEntry rank = make_pair("opt_global_rank", MzTabString(hit.rank)); - MzTabOptionalColumnEntry formula_rank = make_pair("opt_global_formulaRank", MzTabString(hit.formula_rank)); - MzTabOptionalColumnEntry compoundId = make_pair("opt_global_compoundId", MzTabString(id.scan_index)); - MzTabOptionalColumnEntry compoundScanNumber = make_pair("opt_global_compoundScanNumber", MzTabString(id.scan_number)); - MzTabOptionalColumnEntry featureId = make_pair("opt_global_featureId", MzTabString(id.feature_id)); - MzTabOptionalColumnEntry adduct = make_pair("opt_global_adduct", MzTabString(hit.adduct)); - MzTabOptionalColumnEntry xlogp = make_pair("opt_global_rank", MzTabString(hit.xlogp)); - MzTabOptionalColumnEntry dblinks = make_pair("opt_global_dblinks", MzTabString(m_links.toCellString())); - MzTabOptionalColumnEntry dbflags = make_pair("opt_global_dbflags", MzTabString(hit.dbflags)); - - vector m_native_ids; - MzTabStringList ml_native_ids; - ml_native_ids.setSeparator('|'); - for (auto& element : id.native_ids) - { - m_native_ids.emplace_back(MzTabString(element)); - } - ml_native_ids.set(m_native_ids); - - MzTabOptionalColumnEntry native_ids = make_pair("opt_global_native_id", MzTabString(ml_native_ids.toCellString())); - - smsr.opt_.push_back(rank); - smsr.opt_.push_back(compoundId); - smsr.opt_.push_back(compoundScanNumber); - smsr.opt_.push_back(featureId); - smsr.opt_.push_back(native_ids); - smsr.opt_.push_back(adduct); - smsr.opt_.push_back(xlogp); - smsr.opt_.push_back(dblinks); - smsr.opt_.push_back(dbflags); - smsd.push_back(smsr); - } - } - result.setSmallMoleculeSectionRows(smsd); - } - } - file.close(); - } -} - -/// @endcond diff --git a/src/openms/source/FORMAT/DATAACCESS/SiriusFragmentAnnotation.cpp b/src/openms/source/FORMAT/DATAACCESS/SiriusFragmentAnnotation.cpp index c4f13510038..d077c58cd5f 100644 --- a/src/openms/source/FORMAT/DATAACCESS/SiriusFragmentAnnotation.cpp +++ b/src/openms/source/FORMAT/DATAACCESS/SiriusFragmentAnnotation.cpp @@ -2,12 +2,11 @@ // SPDX-License-Identifier: BSD-3-Clause // // -------------------------------------------------------------------------- -// $Maintainer: Oliver Alka $ +// $Maintainer: Oliver Alka, Axel Walter $ // $Authors: Oliver Alka $ // -------------------------------------------------------------------------- #include -#include #include #include #include @@ -18,73 +17,8 @@ using namespace std; namespace OpenMS { - - std::vector SiriusFragmentAnnotation::extractSiriusAnnotationsTgtOnly - (const std::vector& sirius_workspace_subdirs, double score_threshold, bool use_exact_mass, bool resolve = true) - { - Size max_rank = 10000; // this should be enough for any search - if (resolve) max_rank = 1; - std::unordered_map native_ids_annotated_spectra; - std::vector annotated_spectra; - double score = 0.0; - // There is one subdir for every candidate that we pass to Sirius - // Currently it is not possible to run Sirius with multiple candidates, see https://github.com/OpenMS/OpenMS/issues/5882 - for (const auto& subdir : sirius_workspace_subdirs) - { - std::vector best_annotated_spectra = extractAnnotationsFromSiriusFile(subdir, max_rank, false, use_exact_mass); - - if (!resolve) annotated_spectra.reserve(sirius_workspace_subdirs.size()); - - for (auto& spectrum : best_annotated_spectra) - { - score = double(spectrum.getMetaValue(Constants::UserParam::SIRIUS_SCORE)); - // only use spectra over a certain score threshold (0-1) - if (score >= score_threshold) - { - if (resolve) - { - // resolve multiple use of the same concatenated native ids based on the sirius score (used for multiple features/identifications) - unordered_map::iterator it; - it = native_ids_annotated_spectra.find(spectrum.getNativeID()); - if (it != native_ids_annotated_spectra.end()) - { - if (score >= double(it->second.getMetaValue(Constants::UserParam::SIRIUS_SCORE))) - { - it->second = spectrum; - } - } - else - { - native_ids_annotated_spectra.insert(make_pair(spectrum.getNativeID(), spectrum)); - } - } - else - { - annotated_spectra.push_back(std::move(spectrum)); - } - } - } - } - - if (resolve) - { - // convert temporary map to vector - annotated_spectra.reserve(native_ids_annotated_spectra.size()); - for (auto& id_spec : native_ids_annotated_spectra) - { - annotated_spectra.emplace_back(std::move(id_spec.second)); - } - } - else - { - annotated_spectra.shrink_to_fit(); - } - - return annotated_spectra; - } - std::vector SiriusFragmentAnnotation::extractAndResolveSiriusAnnotations( - const std::vector& sirius_workspace_subdirs, double score_threshold, bool use_exact_mass) + const std::vector& sirius_workspace_subdirs, double score_threshold, bool use_exact_mass, bool decoy_generation) { std::map native_ids_annotated_spectra; std::vector annotated_spectra; @@ -102,8 +36,16 @@ namespace OpenMS // max_rank 1 will get the best. best_annotated_spectrum = extractAnnotationsFromSiriusFile(subdir, 1, false, use_exact_mass)[0]; } - - ann_spec_tmp = extractAnnotationsFromSiriusFile(subdir, 1, true, use_exact_mass); + + // extract decoy spectra only if decoy generation is set, else clear target specs from vector + if (decoy_generation) + { + ann_spec_tmp = extractAnnotationsFromSiriusFile(subdir, 1, true, use_exact_mass); + } + else + { + ann_spec_tmp.clear(); + } // if no spectrum can be extracted we add an empty spectrum // to the TD pair for backwards compatibility with AssayGeneratorMetabo MSSpectrum annotated_decoy_for_best_tgt = MSSpectrum(); @@ -234,7 +176,7 @@ namespace OpenMS } else if (spectrum_ms_file.eof()) { - OPENMS_LOG_WARN << "No SiriusAdapter m_id was found - please check your input mzML. " << std::endl; + OPENMS_LOG_WARN << "No SiriusExport m_id was found - please check your input mzML. " << std::endl; break; } } @@ -244,6 +186,20 @@ namespace OpenMS return ext_m_id; } + std::map< std::string, Size > SiriusFragmentAnnotation::extract_columnname_to_columnindex(const CsvFile& csvfile) + { + StringList header_row; + std::map< std::string, Size > columnname_to_columnindex; + csvfile.getRow(0, header_row); + + for (size_t i = 0; i < header_row.size(); i++) + { + columnname_to_columnindex.insert(make_pair(header_row[i], i)); + } + + return columnname_to_columnindex; + }; + // provides a mapping of rank and the file it belongs to since this is not encoded in the directory structure/filename std::map< Size, String > SiriusFragmentAnnotation::extractCompoundRankingAndFilename_(const String& path_to_sirius_workspace) { @@ -257,7 +213,7 @@ namespace OpenMS CsvFile candidates(sirius_formula_candidates, '\t'); const UInt rowcount = candidates.rowCount(); - std::map< std::string, Size > columnname_to_columnindex = SiriusMzTabWriter::extract_columnname_to_columnindex(candidates); + std::map< std::string, Size > columnname_to_columnindex = SiriusFragmentAnnotation::extract_columnname_to_columnindex(candidates); // i starts at 1, due to header for (size_t i = 1; i < rowcount; i++) @@ -266,7 +222,7 @@ namespace OpenMS candidates.getRow(i, sl); String adduct = sl[columnname_to_columnindex.at("adduct")]; adduct.erase(std::remove_if(adduct.begin(), adduct.end(), ::isspace), adduct.end()); - rank_filename.emplace(std::make_pair(sl[columnname_to_columnindex.at("rank")].toInt(), + rank_filename.emplace(std::make_pair(sl[columnname_to_columnindex.at("formulaRank")].toInt(), String(sl[columnname_to_columnindex.at("molecularFormula")] + "_" + adduct + ".tsv"))); } } @@ -290,14 +246,14 @@ namespace OpenMS CsvFile candidates(sirius_formula_candidates, '\t'); const UInt rowcount = candidates.rowCount(); - std::map< std::string, Size > columnname_to_columnindex = SiriusMzTabWriter::extract_columnname_to_columnindex(candidates); + std::map< std::string, Size > columnname_to_columnindex = SiriusFragmentAnnotation::extract_columnname_to_columnindex(candidates); // i starts at 1, due to header for (size_t i = 1; i < rowcount; i++) { StringList sl; candidates.getRow(i, sl); - rank_score.emplace(std::make_pair(sl[columnname_to_columnindex.at("rank")].toInt(), + rank_score.emplace(std::make_pair(sl[columnname_to_columnindex.at("formulaRank")].toInt(), sl[columnname_to_columnindex.at("explainedIntensity")].toDouble())); } } diff --git a/src/openms/source/FORMAT/DATAACCESS/SiriusMzTabWriter.cpp b/src/openms/source/FORMAT/DATAACCESS/SiriusMzTabWriter.cpp deleted file mode 100644 index 178f7e2ec97..00000000000 --- a/src/openms/source/FORMAT/DATAACCESS/SiriusMzTabWriter.cpp +++ /dev/null @@ -1,262 +0,0 @@ -// Copyright (c) 2002-present, The OpenMS Team -- EKU Tuebingen, ETH Zurich, and FU Berlin -// SPDX-License-Identifier: BSD-3-Clause -// -// -------------------------------------------------------------------------- -// $Maintainer: Oliver Alka $ -// $Authors: Oliver Alka, Timo Sachsenberg $ -// -------------------------------------------------------------------------- - -#include -#include -#include -#include -#include -#include -#include - -using namespace OpenMS; -using namespace std; - -int SiriusMzTabWriter::extractScanIndex(const String& path) -{ - boost::regex regexp_ind(R"(--(?\d+)--)"); - return SpectrumLookup::extractScanNumber(path, regexp_ind, false); -} - -int SiriusMzTabWriter::extractScanNumber(const String& path) -{ - boost::regex regexp(R"(-(?\d+)--)"); - return SpectrumLookup::extractScanNumber(path, regexp, false); -} - -String SiriusMzTabWriter::extractFeatureId(const String& path) -{ - boost::smatch match; - String feature_id; - boost::regex regexp_feature(R"(_(?\d+)-)"); - bool found = boost::regex_search(path, match, regexp_feature); - if (found && match["SCAN"].matched) - { - feature_id = "id_" + match["SCAN"].str(); - } - if (feature_id.empty() || feature_id == "id_0") - { - feature_id = "null"; - } - return feature_id; -} - -std::map< std::string, Size > SiriusMzTabWriter::extract_columnname_to_columnindex(CsvFile& csvfile) -{ - StringList header_row; - std::map< std::string, Size > columnname_to_columnindex; - csvfile.getRow(0, header_row); - - for (size_t i = 0; i < header_row.size(); i++) - { - columnname_to_columnindex.insert(make_pair(header_row[i], i)); - } - - return columnname_to_columnindex; -}; - -SiriusMzTabWriter::SiriusSpectrumMSInfo SiriusMzTabWriter::extractSpectrumMSInfo(const String& single_sirius_path) -{ - SiriusSpectrumMSInfo info; - // extract mz, rt of the precursor and the nativeID of the corresponding MS2 spectra in the spectrum.ms file - const String sirius_spectrum_ms = single_sirius_path + "/spectrum.ms"; - ifstream spectrum_ms_file(sirius_spectrum_ms); - if (spectrum_ms_file) - { - const String n_id_prefix = "##n_id"; - const String rt_prefix = ">rt"; - const String pmass_prefix = ">parentmass"; - String line; - while (getline(spectrum_ms_file, line)) - { - if (line.hasPrefix(pmass_prefix)) - { - info.ext_mz = String(line.erase(line.find(pmass_prefix), pmass_prefix.size())).toDouble(); - } - else if (line.hasPrefix(rt_prefix)) - { - line = line.erase(line.find("s"), 1); // >rt 418.39399999998s - remove unit "s" - info.ext_rt = String(line.erase(line.find(rt_prefix), rt_prefix.size())).toDouble(); - } - else if (line.hasPrefix(n_id_prefix)) - { - info.ext_n_id.emplace_back(line.erase(line.find(n_id_prefix), n_id_prefix.size())); - } - } - spectrum_ms_file.close(); - return info; - } - else - { - throw Exception::FileNotFound(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION, sirius_spectrum_ms); - } -}; - -void SiriusMzTabWriter::read(const std::vector& sirius_output_paths, - const String& original_input_mzml, - const Size& top_n_hits, - MzTab& result) -{ - SiriusMzTabWriter::SiriusAdapterRun sirius_result; - - for (const auto& it : sirius_output_paths) - { - SiriusSpectrumMSInfo info = SiriusMzTabWriter::extractSpectrumMSInfo(it); - - // extract data from formula_candidates.csv - const std::string pathtosiriuscsv = it + "/formula_candidates.tsv"; - - ifstream file(pathtosiriuscsv); - if (file) - { - CsvFile compounds(pathtosiriuscsv, '\t'); - const UInt rowcount = compounds.rowCount(); - - if (rowcount > 1) - { - // correction if the rowcount is smaller than the number of hits used as parameter - // rowcount-1 because the csv header will be skipped in the loop later on. - int header = 1; - const UInt top_n_hits_cor = (top_n_hits >= rowcount) ? rowcount-header : top_n_hits; - - // fill identification structure containing all candidate hits for a single spectrum - SiriusMzTabWriter::SiriusAdapterIdentification sirius_id; - - // extract scan_number from path - OpenMS::String str = File::path(pathtosiriuscsv); - int scan_index = SiriusMzTabWriter::extractScanIndex(str); - - // extract scan_number from string - int scan_number = SiriusMzTabWriter::extractScanNumber(str); - - // extract feature_id from string - String feature_id = SiriusMzTabWriter::extractFeatureId(str); - - std::map< std::string, Size > columnname_to_columnindex = SiriusMzTabWriter::extract_columnname_to_columnindex(compounds); - - // formula adduct precursorFormula rank rankingScore IsotopeScore TreeScore siriusScore explainedPeaks explainedIntensity - // j = 1 because of .csv file format (header) - for (Size j = 1; j <= top_n_hits_cor; ++j) - { - StringList sl; - compounds.getRow(j, sl); - SiriusMzTabWriter::SiriusAdapterHit sirius_hit; - - // maybe should check columnname instead? - // rank molecularFormula adduct precursorFormula rankingScore TreeIsotope_Score Tree_Score Isotope_Score explainedPeaks explainedIntensity - // parse single candidate hit - sirius_hit.formula = sl[columnname_to_columnindex.at("molecularFormula")]; - sirius_hit.adduct = sl[columnname_to_columnindex.at("adduct")]; - sirius_hit.precursor_formula = sl[columnname_to_columnindex.at("precursorFormula")]; - sirius_hit.rank = sl[columnname_to_columnindex.at("rank")].toInt(); - sirius_hit.iso_score = sl[columnname_to_columnindex.at("IsotopeScore")].toDouble(); - sirius_hit.tree_score = sl[columnname_to_columnindex.at("TreeScore")].toDouble(); - sirius_hit.sirius_score = sl[columnname_to_columnindex.at("SiriusScore")].toDouble(); - sirius_hit.explainedpeaks = sl[columnname_to_columnindex.at("numExplainedPeaks")].toInt(); - sirius_hit.explainedintensity = sl[columnname_to_columnindex.at("explainedIntensity")].toDouble(); - sirius_hit.median_mass_error_fragment_peaks_ppm = sl[columnname_to_columnindex.at("medianMassErrorFragmentPeaks(ppm)")].toDouble(); - sirius_hit.median_absolute_mass_error_fragment_peaks_ppm = sl[columnname_to_columnindex.at("medianAbsoluteMassErrorFragmentPeaks(ppm)")].toDouble(); - sirius_hit.mass_error_precursor_ppm = sl[columnname_to_columnindex.at("massErrorPrecursor(ppm)")].toDouble(); - - sirius_id.hits.push_back(sirius_hit); - } - - sirius_id.mz = info.ext_mz; - sirius_id.rt = info.ext_rt; - sirius_id.native_ids = info.ext_n_id; - sirius_id.scan_index = scan_index; - sirius_id.scan_number = scan_number; - sirius_id.feature_id = feature_id; - sirius_result.identifications.push_back(sirius_id); - - // write metadata to mzTab file - MzTabMetaData md; - MzTabMSRunMetaData md_run; - md_run.location = MzTabString(original_input_mzml); - md.ms_run[1] = md_run; - md.description = MzTabString("Sirius-" + SiriusVersion::CURRENT_VERSION); - - //needed for header generation (score) - std::map smallmolecule_search_engine_score; - smallmolecule_search_engine_score[1].setName("SiriusScore"); - smallmolecule_search_engine_score[2].setName("TreeScore"); - smallmolecule_search_engine_score[3].setName("IsotopeScore"); - md.smallmolecule_search_engine_score = smallmolecule_search_engine_score; - result.setMetaData(md); - - // write results to mzTab file - MzTabSmallMoleculeSectionRows smsd; - for (Size i = 0; i < sirius_result.identifications.size(); ++i) - { - const SiriusMzTabWriter::SiriusAdapterIdentification &id = sirius_result.identifications[i]; - for (Size j = 0; j < id.hits.size(); ++j) - { - const SiriusMzTabWriter::SiriusAdapterHit &hit = id.hits[j]; - MzTabSmallMoleculeSectionRow smsr; - - map engine_score; - engine_score[1] = MzTabDouble(hit.sirius_score); - engine_score[2] = MzTabDouble(hit.tree_score); - engine_score[3] = MzTabDouble(hit.iso_score); - smsr.best_search_engine_score = engine_score; - - smsr.chemical_formula = MzTabString(hit.formula); - smsr.exp_mass_to_charge = MzTabDouble(id.mz); - - vector v_rt; - MzTabDoubleList rt_list; - v_rt.emplace_back(id.rt); - rt_list.set(v_rt); - smsr.retention_time = rt_list; - - MzTabOptionalColumnEntry adduct = make_pair("opt_global_adduct", MzTabString(hit.adduct)); - MzTabOptionalColumnEntry precursor_formula = make_pair("opt_gobal_precursorFormula", MzTabString(hit.precursor_formula)); - MzTabOptionalColumnEntry rank = make_pair("opt_global_rank", MzTabString(hit.rank)); - MzTabOptionalColumnEntry explainedPeaks = make_pair("opt_global_explainedPeaks", MzTabString(hit.explainedpeaks)); - MzTabOptionalColumnEntry explainedIntensity = make_pair("opt_global_explainedIntensity", MzTabString(hit.explainedintensity)); - MzTabOptionalColumnEntry median_mass_error_fragment_peaks = make_pair("opt_global_median_mass_error_fragment_peaks_ppm", MzTabString(hit.median_mass_error_fragment_peaks_ppm)); - MzTabOptionalColumnEntry median_absolute_mass_error_fragment_peaks = make_pair("opt_global_median_absolute_mass_error_fragment_peaks_ppm", MzTabString(hit.median_absolute_mass_error_fragment_peaks_ppm)); - MzTabOptionalColumnEntry mass_error_precursor = make_pair("opt_global_mass_error_precursor_ppm", MzTabString(hit.mass_error_precursor_ppm)); - MzTabOptionalColumnEntry compoundId = make_pair("opt_global_compoundId", MzTabString(id.scan_index)); - MzTabOptionalColumnEntry compoundScanNumber = make_pair("opt_global_compoundScanNumber", MzTabString(id.scan_number)); - MzTabOptionalColumnEntry featureId = make_pair("opt_global_featureId", MzTabString(id.feature_id)); - - vector m_native_ids; - MzTabStringList ml_native_ids; - ml_native_ids.setSeparator('|'); - for (auto& element : id.native_ids) - { - m_native_ids.emplace_back(MzTabString(element)); - } - ml_native_ids.set(m_native_ids); - - MzTabOptionalColumnEntry native_ids = make_pair("opt_global_native_id", MzTabString(ml_native_ids.toCellString())); - - smsr.opt_.push_back(adduct); - smsr.opt_.push_back(precursor_formula); - smsr.opt_.push_back(rank); - smsr.opt_.push_back(explainedPeaks); - smsr.opt_.push_back(explainedIntensity); - smsr.opt_.push_back(median_mass_error_fragment_peaks); - smsr.opt_.push_back(median_absolute_mass_error_fragment_peaks); - smsr.opt_.push_back(mass_error_precursor); - smsr.opt_.push_back(compoundId); - smsr.opt_.push_back(compoundScanNumber); - smsr.opt_.push_back(featureId); - smsr.opt_.push_back(native_ids); - smsd.push_back(smsr); - } - } - result.setSmallMoleculeSectionRows(smsd); - } - file.close(); - } - } -} // namespace OpenMS - -/// @endcond diff --git a/src/openms/source/FORMAT/DATAACCESS/sources.cmake b/src/openms/source/FORMAT/DATAACCESS/sources.cmake index 8944e623bfa..02dd9d1d726 100644 --- a/src/openms/source/FORMAT/DATAACCESS/sources.cmake +++ b/src/openms/source/FORMAT/DATAACCESS/sources.cmake @@ -3,7 +3,6 @@ set(directory source/FORMAT/DATAACCESS) ### list all filenames of the directory here set(sources_list - CsiFingerIdMzTabWriter.cpp MSDataWritingConsumer.cpp MSDataTransformingConsumer.cpp MSDataAggregatingConsumer.cpp @@ -15,7 +14,6 @@ set(sources_list MSDataWritingConsumer.cpp NoopMSDataConsumer.cpp SiriusFragmentAnnotation.cpp - SiriusMzTabWriter.cpp SwathFileConsumer.cpp ) diff --git a/src/openms/source/KERNEL/MSExperiment.cpp b/src/openms/source/KERNEL/MSExperiment.cpp index 4ed4a86da4e..f727affe8c4 100644 --- a/src/openms/source/KERNEL/MSExperiment.cpp +++ b/src/openms/source/KERNEL/MSExperiment.cpp @@ -305,30 +305,6 @@ namespace OpenMS } } - /// returns the minimal m/z value - MSExperiment::CoordinateType MSExperiment::getMinMZ() const - { - return RangeManagerType::getMinMZ(); - } - - /// returns the maximal m/z value - MSExperiment::CoordinateType MSExperiment::getMaxMZ() const - { - return RangeManagerType::getMaxMZ(); - } - - /// returns the minimal retention time value - MSExperiment::CoordinateType MSExperiment::getMinRT() const - { - return RangeManagerType::getMinRT(); - } - - /// returns the maximal retention time value - MSExperiment::CoordinateType MSExperiment::getMaxRT() const - { - return RangeManagerType::getMaxRT(); - } - /// returns the total number of peaks UInt64 MSExperiment::getSize() const { diff --git a/src/openms/source/MATH/MISC/NonNegativeLeastSquaresSolver.cpp b/src/openms/source/MATH/MISC/NonNegativeLeastSquaresSolver.cpp index d5a42b6ca24..b5fe54df4ac 100644 --- a/src/openms/source/MATH/MISC/NonNegativeLeastSquaresSolver.cpp +++ b/src/openms/source/MATH/MISC/NonNegativeLeastSquaresSolver.cpp @@ -22,9 +22,9 @@ namespace OpenMS // translate A to array a (column major order) double * a_vec = new double[A.rows() * A.cols()]; size_t idx = 0; - for (size_t col = 0; col < A.cols(); ++col) + for (long int col = 0; col < A.cols(); ++col) { - for (size_t row = 0; row < A.rows(); ++row) + for (long int row = 0; row < A.rows(); ++row) { a_vec[idx] = A(row, col); idx++; @@ -41,7 +41,7 @@ namespace OpenMS // translate b double * b_vec = new double[a_rows]; - for (size_t row = 0; row < b.rows(); ++row) + for (long int row = 0; row < b.rows(); ++row) { b_vec[row] = b(row, 0); } @@ -64,9 +64,9 @@ namespace OpenMS NNLS::nnls_(a_vec, &a_rows, &a_rows, &a_cols, b_vec, x_vec, &rnorm, w, zz, indx, &mode); - // translate solution back to Matrix: - x.resize(a_cols, 1); + x.getEigenMatrix().resize(a_cols, 1); + x.getEigenMatrix().setZero(); for (Int row = 0; row < a_cols; ++row) { x(row, 0) = x_vec[row]; diff --git a/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/BaseModel.cpp b/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/BaseModel.cpp index 415a5797e08..a5702105e8f 100644 --- a/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/BaseModel.cpp +++ b/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/BaseModel.cpp @@ -11,7 +11,4 @@ namespace OpenMS { - - - } // namespace OpenMS diff --git a/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/BiGaussFitter1D.cpp b/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/BiGaussFitter1D.cpp index 0a49abb06b6..1591e82f553 100644 --- a/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/BiGaussFitter1D.cpp +++ b/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/BiGaussFitter1D.cpp @@ -8,15 +8,15 @@ #include -#include #include +#include namespace OpenMS { BiGaussFitter1D::BiGaussFitter1D() : MaxLikeliFitter1D() { - setName(getProductName()); + setName("BiGaussFitter1D"); defaults_.setValue("statistics:variance1", 1.0, "Variance of the first gaussian, used for the lower half of the model.", {"advanced"}); defaults_.setValue("statistics:variance2", 1.0, "Variance of the second gaussian, used for the upper half of the model.", {"advanced"}); @@ -69,7 +69,7 @@ namespace OpenMS // build model - model = std::unique_ptr(dynamic_cast(Factory>::create("BiGaussModel"))); + model = std::unique_ptr(new BiGaussModel()); model->setInterpolationStep(interpolation_step_); Param tmp; tmp.setValue("bounding_box:min", min_bb); diff --git a/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/BiGaussModel.cpp b/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/BiGaussModel.cpp index 49dc2e674ea..39a17d71133 100644 --- a/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/BiGaussModel.cpp +++ b/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/BiGaussModel.cpp @@ -13,7 +13,7 @@ namespace OpenMS BiGaussModel::BiGaussModel() : InterpolationModel(), statistics1_(), statistics2_() { - setName(getProductName()); + setName("BiGaussModel"); defaults_.setValue("bounding_box:min", 0.0, "Lower end of bounding box enclosing the data used to fit the model.", {"advanced"}); defaults_.setValue("bounding_box:max", 1.0, "Upper end of bounding box enclosing the data used to fit the model.", {"advanced"}); diff --git a/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/EmgFitter1D.cpp b/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/EmgFitter1D.cpp index 1314d3f5488..26122982aee 100644 --- a/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/EmgFitter1D.cpp +++ b/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/EmgFitter1D.cpp @@ -8,9 +8,10 @@ #include #include +#include + #include #include -#include #include @@ -101,7 +102,7 @@ namespace OpenMS EmgFitter1D::EmgFitter1D() : LevMarqFitter1D() { - setName(getProductName()); + setName("EmgFitter1D"); defaults_.setValue("init_mom", "false", "Initialize parameters using method of moments estimators.", {"advanced"}); defaults_.setValidStrings("init_mom", {"true","false"}); defaults_.setValue("statistics:variance", 1.0, "Variance of the model.", {"advanced"}); @@ -181,7 +182,7 @@ namespace OpenMS retention_ = x_init[3]; // build model - model = std::unique_ptr(dynamic_cast(Factory>::create("EmgModel"))); + model = std::unique_ptr(new EmgModel()); model->setInterpolationStep(interpolation_step_); Param tmp; diff --git a/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/EmgModel.cpp b/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/EmgModel.cpp index 3dbc07f4efa..cab8a200d16 100644 --- a/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/EmgModel.cpp +++ b/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/EmgModel.cpp @@ -15,7 +15,7 @@ namespace OpenMS EmgModel::EmgModel() : InterpolationModel() { - setName(getProductName()); + setName("EmgModel"); defaults_.setValue("bounding_box:min", 0.0f, "Lower end of bounding box enclosing the data used to fit the model.", {"advanced"}); defaults_.setValue("bounding_box:max", 1.0f, "Upper end of bounding box enclosing the data used to fit the model.", {"advanced"}); diff --git a/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/ExtendedIsotopeFitter1D.cpp b/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/ExtendedIsotopeFitter1D.cpp index a486bb46e62..65dfe6fed80 100644 --- a/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/ExtendedIsotopeFitter1D.cpp +++ b/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/ExtendedIsotopeFitter1D.cpp @@ -10,7 +10,8 @@ #include #include -#include +#include +#include namespace OpenMS { @@ -18,7 +19,7 @@ namespace OpenMS ExtendedIsotopeFitter1D::ExtendedIsotopeFitter1D() : MaxLikeliFitter1D() { - setName(getProductName()); + setName("ExtendedIsotopeFitter1D"); defaults_.setValue("statistics:variance", 1.0, "Variance of the model.", {"advanced"}); defaults_.setValue("charge", 1, "Charge state of the model.", {"advanced"}); @@ -76,7 +77,7 @@ namespace OpenMS max_bb += stdev; - model = std::unique_ptr(dynamic_cast(Factory>::create("GaussModel"))); + model = std::unique_ptr(new GaussModel()); model->setInterpolationStep(interpolation_step_); Param tmp; @@ -88,7 +89,7 @@ namespace OpenMS } else { - model = std::unique_ptr(dynamic_cast(Factory>::create("ExtendedIsotopeModel"))); + model = std::unique_ptr(new ExtendedIsotopeModel()); Param iso_param = this->param_.copy("isotope_model:", true); iso_param.removeAll("stdev"); diff --git a/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/ExtendedIsotopeModel.cpp b/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/ExtendedIsotopeModel.cpp index 882d0d88c46..18fe429d3bf 100644 --- a/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/ExtendedIsotopeModel.cpp +++ b/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/ExtendedIsotopeModel.cpp @@ -19,7 +19,7 @@ namespace OpenMS charge_(0), monoisotopic_mz_(0.0) { - setName(getProductName()); + setName("ExtendedIsotopeModel"); defaults_.setValue("averagines:C", 0.04443989f, "Number of C atoms per Dalton of mass.", {"advanced"}); defaults_.setValue("averagines:H", 0.06981572f, "Number of H atoms per Dalton of mass.", {"advanced"}); diff --git a/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/FeatureFinder.cpp b/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/FeatureFinder.cpp index 270555da909..b67e3105bad 100644 --- a/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/FeatureFinder.cpp +++ b/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/FeatureFinder.cpp @@ -9,7 +9,6 @@ #include #include -#include namespace OpenMS { @@ -20,8 +19,8 @@ namespace OpenMS FeatureFinder::~FeatureFinder() = default; - Param FeatureFinder::getParameters(const String& algorithm_name) const - { + Param FeatureFinder::getParameters(const String& /*algorithm_name*/) const + {/* TODO: remove? Param tmp; if (algorithm_name != "none") { @@ -30,94 +29,9 @@ namespace OpenMS delete(a); } return tmp; - } - - void FeatureFinder::run(const String& algorithm_name, PeakMap& input_map, FeatureMap& features, const Param& param, const FeatureMap& seeds) - { - // Nothing to do if there is no data - if ((algorithm_name != "mrm" && input_map.empty()) || (algorithm_name == "mrm" && input_map.getChromatograms().empty())) - { - features.clear(true); - return; - } - - // check input - { - // We need updated ranges => check number of peaks - if (algorithm_name != "mrm" && input_map.getSize() == 0) - { - throw Exception::IllegalArgument(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION, "FeatureFinder needs updated ranges on input map. Aborting."); - } - - // We need MS1 data only => check levels - if (algorithm_name != "mrm" && (input_map.getMSLevels().size() != 1 || input_map.getMSLevels()[0] != 1)) - { - throw Exception::IllegalArgument(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION, "FeatureFinder can only operate on MS level 1 data. Please do not use MS/MS data. Aborting."); - } - - //Check if the peaks are sorted according to m/z - if (!input_map.isSorted(true)) - { - OPENMS_LOG_WARN << "Input map is not sorted by RT and m/z! This is done now, before applying the algorithm!" << std::endl; - input_map.sortSpectra(true); - input_map.sortChromatograms(true); - } - for (Size s = 0; s < input_map.size(); ++s) - { - if (input_map[s].empty()) - { - continue; - } - if (input_map[s][0].getMZ() < 0) - { - throw Exception::IllegalArgument(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION, "FeatureFinder can only operate on spectra that contain peaks with positive m/z values. Filter the data accordingly beforehand! Aborting."); - } - } - } - - // initialize - if (algorithm_name != "mrm" && algorithm_name != "centroided") - { - // Resize peak flag vector - flags_.resize(input_map.size()); - for (Size i = 0; i < input_map.size(); ++i) - { - flags_[i].assign(input_map[i].size(), UNUSED); - } - } - - // do the work - if (algorithm_name != "none") - { - FeatureFinderAlgorithm* algorithm = Factory::create(algorithm_name); - algorithm->setParameters(param); - algorithm->setData(input_map, features, *this); - algorithm->setSeeds(seeds); - algorithm->run(); - delete(algorithm); - } - - if (algorithm_name != "mrm") // mrm works on chromatograms; the next section is only for conventional data - { - //report RT apex spectrum index and native ID for each feature - for (Size i = 0; i < features.size(); ++i) - { - //index - Size spectrum_index = input_map.RTBegin(features[i].getRT()) - input_map.begin(); - features[i].setMetaValue("spectrum_index", spectrum_index); - //native id - if (spectrum_index < input_map.size()) - { - String native_id = input_map[spectrum_index].getNativeID(); - features[i].setMetaValue("spectrum_native_id", native_id); - } - else - { - /// @todo that happens sometimes using IsotopeWaveletFeatureFinder (Rene, Marc, Andreas, Clemens) - std::cerr << "FeatureFinderAlgorithm_impl, line=" << __LINE__ << "; FixMe this cannot be, but happens" << std::endl; - } - } - } + */ + std::cerr << "TODO: remove" << std::endl; + return Param(); } } diff --git a/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/FeatureFinderAlgorithm.cpp b/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/FeatureFinderAlgorithm.cpp index e7fbc668838..a981293dbcf 100644 --- a/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/FeatureFinderAlgorithm.cpp +++ b/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/FeatureFinderAlgorithm.cpp @@ -7,26 +7,8 @@ // -------------------------------------------------------------------------- #include -#include -#include - -#include namespace OpenMS { - void FeatureFinderAlgorithm::registerChildren() - { - Factory::registerProduct - ( - FeatureFinderAlgorithmPicked::getProductName(), - &FeatureFinderAlgorithmPicked::create - ); - Factory::registerProduct - ( - FeatureFinderAlgorithmMRM::getProductName(), - &FeatureFinderAlgorithmMRM::create - ); - - } } diff --git a/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/FeatureFinderAlgorithmMRM.cpp b/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/FeatureFinderAlgorithmMRM.cpp index c3bd3432a56..fb264843326 100644 --- a/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/FeatureFinderAlgorithmMRM.cpp +++ b/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/FeatureFinderAlgorithmMRM.cpp @@ -7,7 +7,6 @@ #include -#include #include #include #include @@ -50,7 +49,7 @@ namespace OpenMS LinearResampler resampler; // Split the whole map into traces (== MRM transitions) - ff_->startProgress(0, map_->getChromatograms().size(), "Finding features in traces."); + startProgress(0, map_->getChromatograms().size(), "Finding features in traces."); Size counter(0); double min_rt_distance(param_.getValue("min_rt_distance")); double min_signal_to_noise_ratio(param_.getValue("min_signal_to_noise_ratio")); @@ -347,20 +346,10 @@ namespace OpenMS } } - ff_->setProgress(++counter); + setProgress(++counter); } } - FeatureFinderAlgorithm* FeatureFinderAlgorithmMRM::create() - { - return new FeatureFinderAlgorithmMRM(); - } - - const String FeatureFinderAlgorithmMRM::getProductName() - { - return "mrm"; - } - double FeatureFinderAlgorithmMRM::fitRT_(std::vector& rt_input_data, std::unique_ptr& model) const { double quality; @@ -395,4 +384,20 @@ param.setValue( "deltaRelError", deltaRelError_); { } + void FeatureFinderAlgorithmMRM::run(PeakMap& input_map, FeatureMap& features, const Param& param, const FeatureMap& seeds) + { + // Nothing to do if there is no data + if (input_map.getChromatograms().empty()) + { + features.clear(true); + return; + } + + // do the work + setParameters(param); + setData(input_map, features); + setSeeds(seeds); // TODO: needed for MRM????? was in old code + run(); + } + } diff --git a/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/FeatureFinderAlgorithmPicked.cpp b/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/FeatureFinderAlgorithmPicked.cpp index 3672ea77888..28a752abfc0 100644 --- a/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/FeatureFinderAlgorithmPicked.cpp +++ b/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/FeatureFinderAlgorithmPicked.cpp @@ -241,7 +241,7 @@ namespace OpenMS if (debug_) log_ << "Precalculating intensity thresholds ..." << std::endl; //new scope to make local variables disappear { - ff_->startProgress(0, intensity_bins_ * intensity_bins_, "Precalculating intensity scores"); + startProgress(0, intensity_bins_ * intensity_bins_, "Precalculating intensity scores"); double rt_start = map_.getMinRT(); double mz_start = map_.getMinMZ(); intensity_rt_step_ = (map_.getMaxRT() - rt_start) / (double)intensity_bins_; @@ -255,7 +255,7 @@ namespace OpenMS std::vector tmp; for (Size mz = 0; mz < intensity_bins_; ++mz) { - ff_->setProgress(rt * intensity_bins_ + mz); + setProgress(rt * intensity_bins_ + mz); double min_mz = mz_start + mz * intensity_mz_step_; double max_mz = mz_start + (mz + 1) * intensity_mz_step_; //std::cout << "rt range: " << min_rt << " - " << max_rt << std::endl; @@ -288,7 +288,7 @@ namespace OpenMS map_[s].getFloatDataArrays()[1][p] = intensityScore_(s, p); } } - ff_->endProgress(); + endProgress(); } //--------------------------------------------------------------------------- @@ -298,11 +298,11 @@ namespace OpenMS //new scope to make local variables disappear { Size end_iteration = map_.size() - std::min((Size)min_spectra_, map_.size()); - ff_->startProgress(min_spectra_, end_iteration, "Precalculating mass trace scores"); + startProgress(min_spectra_, end_iteration, "Precalculating mass trace scores"); // skip first and last scans since we cannot extend the mass traces there for (Size s = min_spectra_; s < end_iteration; ++s) { - ff_->setProgress(s); + setProgress(s); SpectrumType& spectrum = map_[s]; //iterate over all peaks of the scan for (Size p = 0; p < spectrum.size(); ++p) @@ -347,7 +347,7 @@ namespace OpenMS spectrum.getFloatDataArrays()[2][p] = is_max_peak; } } - ff_->endProgress(); + endProgress(); } //--------------------------------------------------------------------------- @@ -358,7 +358,7 @@ namespace OpenMS { double max_mass = map_.getMaxMZ() * charge_high; Size num_isotopes = std::ceil(max_mass / mass_window_width_) + 1; - ff_->startProgress(0, num_isotopes, "Precalculating isotope distributions"); + startProgress(0, num_isotopes, "Precalculating isotope distributions"); //reserve enough space isotope_distributions_.resize(num_isotopes); @@ -429,7 +429,7 @@ namespace OpenMS //if(debug_) log_ << " - optional begin/end:" << begin << " / " << end << std::endl; } - ff_->endProgress(); + endProgress(); } //------------------------------------------------------------------------- @@ -449,10 +449,10 @@ namespace OpenMS //----------------------------------------------------------- // Step 3.1: Precalculate IsotopePattern score //----------------------------------------------------------- - ff_->startProgress(0, map_.size(), String("Calculating isotope pattern scores for charge ") + String(c)); + startProgress(0, map_.size(), String("Calculating isotope pattern scores for charge ") + String(c)); for (Size s = 0; s < map_.size(); ++s) { - ff_->setProgress(s); + setProgress(s); const SpectrumType& spectrum = map_[s]; for (Size p = 0; p < spectrum.size(); ++p) { @@ -487,19 +487,19 @@ namespace OpenMS } } } - ff_->endProgress(); + endProgress(); //----------------------------------------------------------- // Step 3.2: // Find seeds for this charge //----------------------------------------------------------- Size end_of_iteration = map_.size() - std::min((Size)min_spectra_, map_.size()); - ff_->startProgress(min_spectra_, end_of_iteration, String("Finding seeds for charge ") + String(c)); + startProgress(min_spectra_, end_of_iteration, String("Finding seeds for charge ") + String(c)); double min_seed_score = param_.getValue("seed:min_score"); //do nothing for the first few and last few spectra as the scans required to search for traces are missing for (Size s = min_spectra_; s < end_of_iteration; ++s) { - ff_->setProgress(s); + setProgress(s); //iterate over peaks for (Size p = 0; p < map_[s].size(); ++p) @@ -572,7 +572,7 @@ namespace OpenMS FileHandler().storeFeatures(String("debug/seeds_") + String(c) + ".featureXML", seed_map); } - ff_->endProgress(); + endProgress(); std::cout << "Found " << seeds.size() << " seeds for charge " << c << "." << std::endl; //------------------------------------------------------------------ @@ -592,7 +592,7 @@ namespace OpenMS typedef std::map FeatureMapType; FeatureMapType tmp_feature_map; int gl_progress = 0; - ff_->startProgress(0, seeds.size(), String("Extending seeds for charge ") + String(c)); + startProgress(0, seeds.size(), String("Extending seeds for charge ") + String(c)); #pragma omp parallel for for (SignedSize i = 0; i < (SignedSize)seeds.size(); ++i) @@ -607,7 +607,7 @@ namespace OpenMS IF_MASTERTHREAD { - ff_->setProgress(gl_progress++); + setProgress(gl_progress++); if (debug_) { @@ -853,7 +853,7 @@ namespace OpenMS } } - IF_MASTERTHREAD ff_->endProgress(); + IF_MASTERTHREAD endProgress(); std::cout << "Found " << feature_candidates << " feature candidates for charge " << c << "." << std::endl; } // END OPENMP @@ -862,7 +862,7 @@ namespace OpenMS //Step 4: //Resolve contradicting and overlapping features //------------------------------------------------------------------ - ff_->startProgress(0, features_->size() * features_->size(), "Resolving overlapping features"); + startProgress(0, features_->size() * features_->size(), "Resolving overlapping features"); if (debug_) log_ << "Resolving intersecting features (" << features_->size() << " candidates)" << std::endl; //sort features according to m/z in order to speed up the resolution features_->sortByMZ(); @@ -886,7 +886,7 @@ namespace OpenMS Feature& f1((*features_)[i]); for (Size j = i + 1; j < features_->size(); ++j) { - ff_->setProgress(i * features_->size() + j); + setProgress(i * features_->size() + j); Feature& f2((*features_)[j]); //features that are more than 2 times the maximum m/z span apart do not overlap => abort if (f2.getMZ() - f1.getMZ() > 2.0 * max_mz_span) @@ -991,7 +991,7 @@ namespace OpenMS tmp.swapFeaturesOnly(*features_); // sort features by intensity features_->sortByIntensity(true); - ff_->endProgress(); + endProgress(); // Abort reasons OPENMS_LOG_INFO << '\n'; @@ -1032,14 +1032,74 @@ namespace OpenMS } - FeatureFinderAlgorithm* FeatureFinderAlgorithmPicked::create() + void FeatureFinderAlgorithmPicked::run(PeakMap& input_map, FeatureMap& features, const Param& param, const FeatureMap& seeds) { - return new FeatureFinderAlgorithmPicked(); - } + // Nothing to do if there is no data + if (input_map.empty()) + { + features.clear(true); + return; + } - const String FeatureFinderAlgorithmPicked::getProductName() - { - return "centroided"; + // check input + { + // We need updated ranges => check number of peaks + if (input_map.getSize() == 0) + { + throw Exception::IllegalArgument(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION, "FeatureFinder needs updated ranges on input map. Aborting."); + } + + // We need MS1 data only => check levels + if (input_map.getMSLevels().size() != 1 || input_map.getMSLevels()[0] != 1) + { + throw Exception::IllegalArgument(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION, "FeatureFinder can only operate on MS level 1 data. Please do not use MS/MS data. Aborting."); + } + + //Check if the peaks are sorted according to m/z + if (!input_map.isSorted(true)) + { + OPENMS_LOG_WARN << "Input map is not sorted by RT and m/z! This is done now, before applying the algorithm!" << std::endl; + input_map.sortSpectra(true); + input_map.sortChromatograms(true); + } + + for (Size s = 0; s < input_map.size(); ++s) + { + if (input_map[s].empty()) + { + continue; + } + if (input_map[s][0].getMZ() < 0) + { + throw Exception::IllegalArgument(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION, "FeatureFinder can only operate on spectra that contain peaks with positive m/z values. Filter the data accordingly beforehand! Aborting."); + } + } + } + + // do the work + setParameters(param); + setData(input_map, features); + setSeeds(seeds); + run(); + + //report RT apex spectrum index and native ID for each feature + for (Size i = 0; i < features.size(); ++i) + { + //index + Size spectrum_index = input_map.RTBegin(features[i].getRT()) - input_map.begin(); + features[i].setMetaValue("spectrum_index", spectrum_index); + //native id + if (spectrum_index < input_map.size()) + { + String native_id = input_map[spectrum_index].getNativeID(); + features[i].setMetaValue("spectrum_native_id", native_id); + } + else + { + /// @todo that happens sometimes using IsotopeWaveletFeatureFinder (Rene, Marc, Andreas, Clemens) + std::cerr << "FeatureFinderAlgorithm_impl, line=" << __LINE__ << "; FixMe this cannot be, but happens" << std::endl; + } + } } void FeatureFinderAlgorithmPicked::updateMembers_() diff --git a/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/Fitter1D.cpp b/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/Fitter1D.cpp index 2227851b2e4..83e3a1d9b31 100644 --- a/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/Fitter1D.cpp +++ b/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/Fitter1D.cpp @@ -15,8 +15,6 @@ #include #include -#include - namespace OpenMS { Fitter1D::Fitter1D() : @@ -52,15 +50,6 @@ namespace OpenMS return *this; } - void Fitter1D::registerChildren() - { - Factory::registerProduct(GaussFitter1D::getProductName(), &GaussFitter1D::create); - Factory::registerProduct(BiGaussFitter1D::getProductName(), &BiGaussFitter1D::create); - Factory::registerProduct(IsotopeFitter1D::getProductName(), &IsotopeFitter1D::create); - Factory::registerProduct(ExtendedIsotopeFitter1D::getProductName(), &ExtendedIsotopeFitter1D::create); - Factory::registerProduct(EmgFitter1D::getProductName(), &EmgFitter1D::create); - } - void Fitter1D::updateMembers_() { tolerance_stdev_box_ = param_.getValue("tolerance_stdev_bounding_box"); diff --git a/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/GaussFitter1D.cpp b/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/GaussFitter1D.cpp index 34f4a2f7dae..7003282d0e7 100644 --- a/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/GaussFitter1D.cpp +++ b/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/GaussFitter1D.cpp @@ -8,15 +8,15 @@ #include -#include #include +#include namespace OpenMS { GaussFitter1D::GaussFitter1D() : MaxLikeliFitter1D() { - setName(getProductName()); + setName("GaussFitter1D"); defaults_.setValue("statistics:variance", 1.0, "Variance of the model.", {"advanced"}); defaults_.setValue("statistics:mean", 1.0, "Mean value of the model.", {"advanced"}); @@ -67,7 +67,8 @@ namespace OpenMS // build model - model = std::unique_ptr(dynamic_cast(Factory>::create("GaussModel"))); + model = std::unique_ptr(new GaussModel()); + model->setInterpolationStep(interpolation_step_); Param tmp; diff --git a/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/GaussModel.cpp b/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/GaussModel.cpp index 1edb5f567e0..8c843730117 100644 --- a/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/GaussModel.cpp +++ b/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/GaussModel.cpp @@ -14,7 +14,7 @@ namespace OpenMS InterpolationModel(), statistics_() { - setName(getProductName()); + setName("GaussModel"); defaults_.setValue("bounding_box:min", 0.0, "Lower end of bounding box enclosing the data used to fit the model.", {"advanced"}); defaults_.setValue("bounding_box:max", 1.0, "Upper end of bounding box enclosing the data used to fit the model.", {"advanced"}); diff --git a/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/IsotopeFitter1D.cpp b/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/IsotopeFitter1D.cpp index d3e1cbc8361..4b3bba3e4ae 100644 --- a/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/IsotopeFitter1D.cpp +++ b/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/IsotopeFitter1D.cpp @@ -8,7 +8,8 @@ #include #include -#include +#include + #include namespace OpenMS @@ -17,7 +18,7 @@ namespace OpenMS IsotopeFitter1D::IsotopeFitter1D() : MaxLikeliFitter1D() { - setName(getProductName()); + setName("IsotopeFitter1D"); defaults_.setValue("statistics:variance", 1.0, "Variance of the model.", {"advanced"}); defaults_.setValue("charge", 1, "Charge state of the model.", {"advanced"}); @@ -74,7 +75,7 @@ namespace OpenMS // build model if (charge_ == 0) { - model = std::unique_ptr(dynamic_cast(Factory>::create("GaussModel"))); + model = std::unique_ptr(new GaussModel()); model->setInterpolationStep(interpolation_step_); Param tmp; @@ -86,7 +87,7 @@ namespace OpenMS } else { - model = std::unique_ptr(dynamic_cast(Factory>::create("IsotopeModel"))); + model = std::unique_ptr(new IsotopeModel()); Param iso_param = this->param_.copy("isotope_model:", true); iso_param.removeAll("stdev"); diff --git a/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/IsotopeModel.cpp b/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/IsotopeModel.cpp index 443056274b1..9571023f674 100644 --- a/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/IsotopeModel.cpp +++ b/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/IsotopeModel.cpp @@ -19,7 +19,7 @@ namespace OpenMS charge_(0), monoisotopic_mz_(0.0) { - setName(getProductName()); + setName("IsotopeModel"); defaults_.setValue("averagines:C", 0.04443989f, "Number of C atoms per Dalton of mass.", {"advanced"}); defaults_.setValue("averagines:H", 0.06981572f, "Number of H atoms per Dalton of mass.", {"advanced"}); diff --git a/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/ProductModel.cpp b/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/ProductModel.cpp deleted file mode 100644 index 18c9d19bb40..00000000000 --- a/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/ProductModel.cpp +++ /dev/null @@ -1,12 +0,0 @@ -// Copyright (c) 2002-present, The OpenMS Team -- EKU Tuebingen, ETH Zurich, and FU Berlin -// SPDX-License-Identifier: BSD-3-Clause -// -// -------------------------------------------------------------------------- -// $Maintainer: Timo Sachsenberg $ -// $Authors: $ -// -------------------------------------------------------------------------- - -namespace OpenMS -{ - -} diff --git a/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/sources.cmake b/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/sources.cmake index ca65263951e..dd7cea6a87b 100644 --- a/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/sources.cmake +++ b/src/openms/source/TRANSFORMATIONS/FEATUREFINDER/sources.cmake @@ -43,7 +43,6 @@ MultiplexIsotopicPeakPattern.cpp MultiplexSatelliteCentroided.cpp MultiplexSatelliteProfile.cpp PeakWidthEstimator.cpp -ProductModel.cpp SeedListGenerator.cpp TraceFitter.cpp ) diff --git a/src/openms_gui/include/OpenMS/VISUAL/GUIProgressLoggerImpl.h b/src/openms_gui/include/OpenMS/VISUAL/GUIProgressLoggerImpl.h index 71cec58c497..d31a258bf4b 100644 --- a/src/openms_gui/include/OpenMS/VISUAL/GUIProgressLoggerImpl.h +++ b/src/openms_gui/include/OpenMS/VISUAL/GUIProgressLoggerImpl.h @@ -23,12 +23,6 @@ namespace OpenMS public ProgressLogger::ProgressLoggerImpl { public: - /// create new object (needed by Factory) - static ProgressLogger::ProgressLoggerImpl* create(); - - /// name of the model (needed by Factory) - static const String getProductName(); - /// default c'tor. GUIProgressLoggerImpl(); diff --git a/src/openms_gui/source/VISUAL/APPLICATIONS/MISC/QApplicationTOPP.cpp b/src/openms_gui/source/VISUAL/APPLICATIONS/MISC/QApplicationTOPP.cpp index 03e9c361baa..61f2cf18e27 100644 --- a/src/openms_gui/source/VISUAL/APPLICATIONS/MISC/QApplicationTOPP.cpp +++ b/src/openms_gui/source/VISUAL/APPLICATIONS/MISC/QApplicationTOPP.cpp @@ -10,11 +10,12 @@ #include #include -#include #include #include #include #include + +#include #include //Qt @@ -35,8 +36,9 @@ namespace OpenMS QApplicationTOPP::QApplicationTOPP(int& argc, char** argv) : QApplication(argc, argv) { - // register GUI ProgressLogger that can be used in GUI tools - Factory::registerProduct(GUIProgressLoggerImpl::getProductName(), &GUIProgressLoggerImpl::create); + // inject the GUIProgressLoggerImpl to be used by OpenMS lib via an extern variable + make_gui_progress_logger = + []() -> ProgressLogger::ProgressLoggerImpl* { return new GUIProgressLoggerImpl(); }; // set plastique style unless windows / mac style is available if (QStyleFactory::keys().contains("windowsxp", Qt::CaseInsensitive)) diff --git a/src/openms_gui/source/VISUAL/GUIProgressLoggerImpl.cpp b/src/openms_gui/source/VISUAL/GUIProgressLoggerImpl.cpp index f0f8ba56013..0f36bd8a1f2 100644 --- a/src/openms_gui/source/VISUAL/GUIProgressLoggerImpl.cpp +++ b/src/openms_gui/source/VISUAL/GUIProgressLoggerImpl.cpp @@ -16,18 +16,6 @@ namespace OpenMS { - /// create new object (needed by Factory) - ProgressLogger::ProgressLoggerImpl* GUIProgressLoggerImpl::create() - { - return new GUIProgressLoggerImpl(); - } - - /// name of the model (needed by Factory) - const String GUIProgressLoggerImpl::getProductName() - { - return "GUI"; - } - GUIProgressLoggerImpl::GUIProgressLoggerImpl() : dlg_(nullptr), begin_(0), diff --git a/src/openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h b/src/openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h index dc25df11f27..17d9de7a704 100644 --- a/src/openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h +++ b/src/openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h @@ -109,7 +109,7 @@ namespace OpenSwath while (mz_it != mz_end) { - if ( (drift_start <= *im_it) & (drift_end >= *im_it) ) + if ( (drift_start <= *im_it) && (drift_end >= *im_it) ) { mz_arr_out->data.push_back( *mz_it ); intens_arr_out->data.push_back( *int_it ); diff --git a/src/pyOpenMS/addons/MatrixDouble.pyx b/src/pyOpenMS/addons/MatrixDouble.pyx index 7dde4217fc8..534160b8b9b 100644 --- a/src/pyOpenMS/addons/MatrixDouble.pyx +++ b/src/pyOpenMS/addons/MatrixDouble.pyx @@ -1,62 +1,66 @@ from Matrix cimport * +cimport numpy as np +from numpy.lib.stride_tricks import as_strided # continue with extra code if needed + - def get_matrix(self): - """Cython signature: numpy_matrix get_matrix() + def get_matrix_as_view(self): + """get_matrix(self) -> np.ndarray[double, ndim=2] + + Returns a view on the underlying Matrix as a 2D numpy ndarray. + .. caution:: + Future changes to the Matrix will affect the ndarray and vice versa. + Make sure that the Matrix does not go out of scope before the last use + of your ndarray. """ cdef _Matrix[double] * mat_ = self.inst.get() - cdef unsigned int rows = mat_.rows() cdef unsigned int cols = mat_.cols() + cdef double* data = mat_.data() + cdef double[:,:] mem_view = data + dtype = 'double' + cdef int itemsize = np.dtype(dtype).itemsize + cdef unsigned int row_stride, col_stride + o = 'F' + if mat_.rowMajor(): + row_stride = mat_.outerStride() if mat_.outerStride() > 0 else cols + col_stride = mat_.innerStride() if mat_.innerStride() > 0 else 1 + o = 'F' + else: + row_stride = mat_.innerStride() if mat_.innerStride() > 0 else 1 + col_stride = mat_.outerStride() if mat_.outerStride() > 0 else rows + o = 'C' + + return np.lib.stride_tricks.as_strided(np.asarray(mem_view, dtype=dtype, order=o), strides=[row_stride*itemsize, col_stride*itemsize]) - cdef libcpp_vector[double] tmp_vec; - tmp_vec = mat_.asVector(); - xarr = np.asarray(tmp_vec) - xarr = xarr.reshape(rows, cols) - return xarr + def get_matrix(self): + """get_matrix(self) -> np.ndarray[double, ndim=2] - def get_matrix_as_view(self): - """Cython signature: numpy_matrix get_matrix() + Returns a copy of the underlying Matrix as a 2D numpy ndarray. """ - cdef _Matrix[double] * mat_ = self.inst.get() + return np.copy(self.get_matrix_as_view()) - cdef unsigned int rows = mat_.rows() - cdef unsigned int cols = mat_.cols() - cdef unsigned int n = rows * cols - cdef np.ndarray[double, ndim=2] data - data = np.zeros( (rows,cols), dtype=np.float64) - - cdef libcpp_vector[double] * vec_ptr = mat_ - cdef double * raw_ptr = address(deref(vec_ptr)[0]) - - ## # We use a memory view to get the data from the raw data - ## # See https://cython.readthedocs.io/en/latest/src/userguide/memoryviews.html - ## # See https://stackoverflow.com/questions/43021574/cast-c-array-into-numpy-array-cython-typed-memoryview-in-cython-code - cdef double[:] vec_view = raw_ptr # cast to memoryview, refer to the underlying buffer without copy - xarr = np.asarray(vec_view) # numpy array refer to the underlying buffer without copy - xarr = xarr.reshape(rows, cols) - return xarr - - def set_matrix(self, np.ndarray[double, ndim=2, mode="c"] data not None): - """Cython signature: numpy_matrix set_matrix() + + def set_matrix(self, np.ndarray[double, ndim=2] data not None): + """set_matrix(self, data: np.ndarray[double, ndim=2]) -> None + + Copies the values from the numpy ndarray into the Matrix. """ cdef _Matrix[double] * mat_ = self.inst.get() cdef unsigned int rows = data.shape[0] cdef unsigned int cols = data.shape[1] - mat_.resize(rows, cols, 0) + mat_.resize(rows, cols) cdef int i = 0 cdef int j = 0 for i in range(int(rows)): for j in range(int(cols)): - mat_.setValue(i,j,data[i][j]) - - + mat_.setValue(i, j, data[i][j]) diff --git a/src/pyOpenMS/pxds/AverageLinkage.pxd b/src/pyOpenMS/pxds/AverageLinkage.pxd index 6799e07c9f9..e646bdb4854 100644 --- a/src/pyOpenMS/pxds/AverageLinkage.pxd +++ b/src/pyOpenMS/pxds/AverageLinkage.pxd @@ -10,5 +10,4 @@ cdef extern from "" namespace "Op AverageLinkage(AverageLinkage &) except + nogil # void operator()(DistanceMatrix[ float ] &original_distance, libcpp_vector[ BinaryTreeNode ] &cluster_tree, float threshold) except + nogil # ClusterFunctor * create() except + nogil - String getProductName() except + nogil - + \ No newline at end of file diff --git a/src/pyOpenMS/pxds/BaseGroupFinder.pxd b/src/pyOpenMS/pxds/BaseGroupFinder.pxd index f008be2452b..9b605c669ad 100644 --- a/src/pyOpenMS/pxds/BaseGroupFinder.pxd +++ b/src/pyOpenMS/pxds/BaseGroupFinder.pxd @@ -15,6 +15,4 @@ cdef extern from "" namespace "Op # ProgressLogger BaseGroupFinder() except + nogil BaseGroupFinder(BaseGroupFinder &) except + nogil # compiler - # void run(libcpp_vector[ ConsensusMap ] & input_, ConsensusMap & result) except + nogil - void registerChildren() except + nogil # wrap-doc:Register all derived classes here - + diff --git a/src/pyOpenMS/pxds/BiGaussFitter1D.pxd b/src/pyOpenMS/pxds/BiGaussFitter1D.pxd index c372c89ecbd..cb1eae4bb61 100644 --- a/src/pyOpenMS/pxds/BiGaussFitter1D.pxd +++ b/src/pyOpenMS/pxds/BiGaussFitter1D.pxd @@ -9,5 +9,4 @@ cdef extern from "" name BiGaussFitter1D(BiGaussFitter1D &) except + nogil # QualityType fit1d(RawDataArrayType &range, InterpolationModel *&model) except + nogil # Fitter1D * create() except + nogil - String getProductName() except + nogil # wrap-doc:Name of the model (needed by Factory) - + diff --git a/src/pyOpenMS/pxds/BiGaussModel.pxd b/src/pyOpenMS/pxds/BiGaussModel.pxd index a644b7c707c..21c9221a1ec 100644 --- a/src/pyOpenMS/pxds/BiGaussModel.pxd +++ b/src/pyOpenMS/pxds/BiGaussModel.pxd @@ -10,6 +10,5 @@ cdef extern from "" namespa void setOffset(double offset) except + nogil void setSamples() except + nogil double getCenter() except + nogil - # BaseModel[ 1 ] * create() except + nogil - String getProductName() except + nogil # wrap-doc:Name of the model (needed by Factory) - + # BaseModel * create() except + nogil + \ No newline at end of file diff --git a/src/pyOpenMS/pxds/ComplementFilter.pxd b/src/pyOpenMS/pxds/ComplementFilter.pxd index ca0f984872b..248da6dca23 100644 --- a/src/pyOpenMS/pxds/ComplementFilter.pxd +++ b/src/pyOpenMS/pxds/ComplementFilter.pxd @@ -12,4 +12,4 @@ cdef extern from "" namespace double apply(MSSpectrum & ) except + nogil # wrap-doc:Returns the total intensity of peak pairs which could result from complementing fragments # POINTER # FilterFunctor * create() except + nogil - String getProductName() except + nogil # wrap-doc:Returns the name for registration at the factory + \ No newline at end of file diff --git a/src/pyOpenMS/pxds/ComplementMarker.pxd b/src/pyOpenMS/pxds/ComplementMarker.pxd index a34c6d67311..98cc7fe8739 100644 --- a/src/pyOpenMS/pxds/ComplementMarker.pxd +++ b/src/pyOpenMS/pxds/ComplementMarker.pxd @@ -14,4 +14,3 @@ cdef extern from "" namespace void apply(libcpp_map[ double, bool ] & , MSSpectrum & ) except + nogil PeakMarker * create() except + nogil # wrap-ignore - # String getProductName() except + nogil diff --git a/src/pyOpenMS/pxds/CsiAdapterHit.pxd b/src/pyOpenMS/pxds/CsiAdapterHit.pxd deleted file mode 100644 index 439167ec750..00000000000 --- a/src/pyOpenMS/pxds/CsiAdapterHit.pxd +++ /dev/null @@ -1,23 +0,0 @@ -from Types cimport * -from String cimport String - -cdef extern from "" namespace "OpenMS::CsiFingerIdMzTabWriter": - - cdef cppclass CsiAdapterHit "OpenMS::CsiFingerIdMzTabWriter::CsiAdapterHit": - - CsiAdapterHit() except + nogil - CsiAdapterHit(CsiAdapterHit &) except + nogil # compiler - - String inchikey2D - String inchi - unsigned int rank - unsigned int formula_rank - String adduct - String molecular_formula - double score - String name - String smiles - String xlogp - String dbflags - libcpp_vector[ String ] pubchemids - libcpp_vector[ String ] links diff --git a/src/pyOpenMS/pxds/CsiAdapterIdentification.pxd b/src/pyOpenMS/pxds/CsiAdapterIdentification.pxd deleted file mode 100644 index ce42b584896..00000000000 --- a/src/pyOpenMS/pxds/CsiAdapterIdentification.pxd +++ /dev/null @@ -1,20 +0,0 @@ -from Types cimport * -from CsiAdapterHit cimport * -from String cimport * -from StringList cimport * -from libcpp.vector cimport vector as libcpp_vector - - -cdef extern from "" namespace "OpenMS::CsiFingerIdMzTabWriter": - - cdef cppclass CsiAdapterIdentification "OpenMS::CsiFingerIdMzTabWriter::CsiAdapterIdentification": - CsiAdapterIdentification() except + nogil - CsiAdapterIdentification(CsiAdapterIdentification& ) except + nogil # compiler - - double mz - double rt - StringList native_ids - int scan_index - int scan_number - String feature_id - libcpp_vector[CsiAdapterHit] hits diff --git a/src/pyOpenMS/pxds/CsiAdapterRun.pxd b/src/pyOpenMS/pxds/CsiAdapterRun.pxd deleted file mode 100644 index 4bc3b405813..00000000000 --- a/src/pyOpenMS/pxds/CsiAdapterRun.pxd +++ /dev/null @@ -1,9 +0,0 @@ -from Types cimport * -from CsiAdapterIdentification cimport CsiAdapterIdentification - -cdef extern from "" namespace "OpenMS::CsiFingerIdMzTabWriter": - - cdef cppclass CsiAdapterRun "OpenMS::CsiFingerIdMzTabWriter::CsiAdapterRun": - CsiAdapterRun() except + nogil - CsiAdapterRun(CsiAdapterRun &) except + nogil # compiler - libcpp_vector[CsiAdapterIdentification] identifications diff --git a/src/pyOpenMS/pxds/CsiFingerIdMzTabWriter.pxd b/src/pyOpenMS/pxds/CsiFingerIdMzTabWriter.pxd deleted file mode 100644 index 32187ef2fa1..00000000000 --- a/src/pyOpenMS/pxds/CsiFingerIdMzTabWriter.pxd +++ /dev/null @@ -1,19 +0,0 @@ -from Types cimport * -from String cimport * -from MzTab cimport * -from libcpp.vector cimport vector as libcpp_vector - -cdef extern from "" namespace "OpenMS": - - cdef cppclass CsiFingerIdMzTabWriter "OpenMS::CsiFingerIdMzTabWriter": - CsiFingerIdMzTabWriter() except + nogil - CsiFingerIdMzTabWriter(CsiFingerIdMzTabWriter &) except + nogil # compiler - -# wrap static method: -cdef extern from "" namespace "OpenMS::CsiFingerIdMzTabWriter": - - void read(libcpp_vector[ String ]& sirius_output_paths, - const String& original_input_mzml, - Size top_n_hits, - MzTab& result) except + nogil # wrap-attach:CsiFingerIdMzTabWriter - diff --git a/src/pyOpenMS/pxds/EmgFitter1D.pxd b/src/pyOpenMS/pxds/EmgFitter1D.pxd index d8d20c5b8fd..db1877ee891 100644 --- a/src/pyOpenMS/pxds/EmgFitter1D.pxd +++ b/src/pyOpenMS/pxds/EmgFitter1D.pxd @@ -11,5 +11,4 @@ cdef extern from "" namespac EmgFitter1D(EmgFitter1D &) except + nogil # float fit1d(libcpp_vector[Peak1D] range_, InterpolationModel * & model) except + nogil # wrap-ignore # Fitter1D * create() except + nogil - String getProductName() except + nogil # wrap-doc:Name of the model (needed by Factory) - + diff --git a/src/pyOpenMS/pxds/EmgModel.pxd b/src/pyOpenMS/pxds/EmgModel.pxd index 362217dfd80..82758ffb139 100644 --- a/src/pyOpenMS/pxds/EmgModel.pxd +++ b/src/pyOpenMS/pxds/EmgModel.pxd @@ -8,9 +8,8 @@ cdef extern from "" namespace " # InterpolationModel EmgModel() except + nogil # wrap-doc:Exponentially modified gaussian distribution model for elution profiles EmgModel(EmgModel &) except + nogil - # BaseModel[ 1 ] * create() except + nogil - String getProductName() except + nogil # wrap-doc:Name of the model - + # BaseModel * create() except + nogil + # inherited from parent class - no second definition necessary! # void setOffset(CoordinateType offset) # wrap-ignore # void setSamples() # wrap-ignore diff --git a/src/pyOpenMS/pxds/FeatureFinderAlgorithmPicked.pxd b/src/pyOpenMS/pxds/FeatureFinderAlgorithmPicked.pxd index 5aea47ae331..029425bf400 100644 --- a/src/pyOpenMS/pxds/FeatureFinderAlgorithmPicked.pxd +++ b/src/pyOpenMS/pxds/FeatureFinderAlgorithmPicked.pxd @@ -25,10 +25,3 @@ cdef extern from "" namespace "OpenMS::FeatureFinderAlgorithmPicked": - - String getProductName() except + nogil # wrap-attach:FeatureFinderAlgorithmPicked diff --git a/src/pyOpenMS/pxds/FeatureGroupingAlgorithm.pxd b/src/pyOpenMS/pxds/FeatureGroupingAlgorithm.pxd index f1fda820056..424887c34cf 100644 --- a/src/pyOpenMS/pxds/FeatureGroupingAlgorithm.pxd +++ b/src/pyOpenMS/pxds/FeatureGroupingAlgorithm.pxd @@ -18,4 +18,3 @@ cdef extern from "" name # since this is a base class, cannot have overloaded methods # void group(libcpp_vector[ FeatureMap ] & maps, ConsensusMap & out) # void group(libcpp_vector[ ConsensusMap ] & maps, ConsensusMap & out) - void registerChildren() except + nogil # wrap-doc:Register all derived classes in this method diff --git a/src/pyOpenMS/pxds/FeatureGroupingAlgorithmKD.pxd b/src/pyOpenMS/pxds/FeatureGroupingAlgorithmKD.pxd index 37fc1ff1294..db71459a98e 100644 --- a/src/pyOpenMS/pxds/FeatureGroupingAlgorithmKD.pxd +++ b/src/pyOpenMS/pxds/FeatureGroupingAlgorithmKD.pxd @@ -17,5 +17,4 @@ cdef extern from "" na void group(libcpp_vector[ FeatureMap ] & maps, ConsensusMap & out) except + nogil void group(libcpp_vector[ ConsensusMap ] & maps, ConsensusMap & out) except + nogil # POINTER # FeatureGroupingAlgorithm * create() except + nogil - String getProductName() except + nogil # wrap-doc:Returns the product name (for the Factory) - + \ No newline at end of file diff --git a/src/pyOpenMS/pxds/FeatureGroupingAlgorithmLabeled.pxd b/src/pyOpenMS/pxds/FeatureGroupingAlgorithmLabeled.pxd index 7e0e1c647c2..22b1eb70816 100644 --- a/src/pyOpenMS/pxds/FeatureGroupingAlgorithmLabeled.pxd +++ b/src/pyOpenMS/pxds/FeatureGroupingAlgorithmLabeled.pxd @@ -12,5 +12,5 @@ cdef extern from "" na # Creates a new instance of this class (for Factory) # FeatureGroupingAlgorithm * create() except + nogil - # Returns the product name (for the Factory) - String getProductName() except + nogil diff --git a/src/pyOpenMS/pxds/FeatureGroupingAlgorithmUnlabeled.pxd b/src/pyOpenMS/pxds/FeatureGroupingAlgorithmUnlabeled.pxd index e040943d48f..3403a445a4a 100644 --- a/src/pyOpenMS/pxds/FeatureGroupingAlgorithmUnlabeled.pxd +++ b/src/pyOpenMS/pxds/FeatureGroupingAlgorithmUnlabeled.pxd @@ -13,7 +13,6 @@ cdef extern from "" namespace "Op FilterFunctor(FilterFunctor &) except + nogil # double apply(MSSpectrum & ) except + nogil - void registerChildren() except + nogil diff --git a/src/pyOpenMS/pxds/Fitter1D.pxd b/src/pyOpenMS/pxds/Fitter1D.pxd index 71331489eff..63c15a297ef 100644 --- a/src/pyOpenMS/pxds/Fitter1D.pxd +++ b/src/pyOpenMS/pxds/Fitter1D.pxd @@ -18,4 +18,3 @@ cdef extern from "" namespace " Fitter1D(Fitter1D &) except + nogil # QualityType fit1d(RawDataArrayType &, InterpolationModel *&) except + nogil - void registerChildren() except + nogil # wrap-doc:Register all derived classes here diff --git a/src/pyOpenMS/pxds/GoodDiffFilter.pxd b/src/pyOpenMS/pxds/GoodDiffFilter.pxd index fb3314c3ffc..2356e8de383 100644 --- a/src/pyOpenMS/pxds/GoodDiffFilter.pxd +++ b/src/pyOpenMS/pxds/GoodDiffFilter.pxd @@ -14,4 +14,4 @@ cdef extern from "" namespace "O double apply(MSSpectrum & ) except + nogil # POINTER # FilterFunctor * create() except + nogil - String getProductName() except + nogil # wrap-doc:Returns the final product name + \ No newline at end of file diff --git a/src/pyOpenMS/pxds/HiddenMarkovModel.pxd b/src/pyOpenMS/pxds/HiddenMarkovModel.pxd deleted file mode 100644 index 3dc54fd431c..00000000000 --- a/src/pyOpenMS/pxds/HiddenMarkovModel.pxd +++ /dev/null @@ -1,61 +0,0 @@ -from Types cimport * -from libcpp.map cimport map as libcpp_map -from Types cimport * -from StringList cimport * -from String cimport * - -cdef extern from "" namespace "OpenMS": - - cdef cppclass HiddenMarkovModel "OpenMS::HiddenMarkovModel": - - HiddenMarkovModel() except + nogil # wrap-doc:Hidden Markov Model implementation of PILIS - HiddenMarkovModel(HiddenMarkovModel &) except + nogil - void writeGraphMLFile(const String & filename) except + nogil # wrap-doc:Writes the HMM into a file in GraphML format - - # NAMESPACE # void write(std::ostream & out) except + nogil - double getTransitionProbability(const String & s1, const String & s2) except + nogil # wrap-doc:Returns the transition probability of the given state names - void setTransitionProbability(const String & s1, const String & s2, double prob) except + nogil # wrap-doc:Sets the transition probability of the given state names to prob - Size getNumberOfStates() except + nogil # wrap-doc:Returns the number of states - void addNewState(HMMState * state) except + nogil # wrap-doc:Registers a new state to the HMM - void addNewState(const String & name) except + nogil # wrap-doc:Registers a new state to the HMM - void addSynonymTransition(const String & name1, const String & name2, const String & synonym1, const String & synonym2) except + nogil # wrap-doc:Add a new synonym transition to the given state names - void evaluate() except + nogil # wrap-doc:Evaluate the HMM, estimates the transition probabilities from the training - void train() except + nogil # wrap-doc:Trains the HMM. Initial probabilities and emission probabilities of the emitting states should be set - void setInitialTransitionProbability(const String & state, double prob) except + nogil # wrap-doc:Sets the initial transition probability of the given state to prob - void clearInitialTransitionProbabilities() except + nogil # wrap-doc:Clears the initial probabilities - void setTrainingEmissionProbability(const String & state, double prob) except + nogil # wrap-doc:Sets the emission probability of the given state to prob - void clearTrainingEmissionProbabilities() except + nogil # wrap-doc:Clear the emission probabilities - void enableTransition(const String & s1, const String & s2) except + nogil # wrap-doc:Enables a transition; adds s1 to the predecessor list of s2 and s2 to the successor list of s1 - void disableTransition(const String & s1, const String & s2) except + nogil # wrap-doc:Disables the transition; deletes the nodes from the predecessor/successor list respectively - void disableTransitions() except + nogil # wrap-doc:Disables all transitions - # POINTER # void calculateEmissionProbabilities(Map[ HMMState *, double ] & emission_probs) except + nogil - void dump() except + nogil # wrap-doc:Writes some stats to cerr - void forwardDump() except + nogil # wrap-doc:Writes some info of the forward "matrix" to cerr - void estimateUntrainedTransitions() except + nogil # wrap-doc:Estimates the transition probabilities of not trained transitions by averages similar trained ones - HMMState * getState(const String & name) except + nogil # wrap-doc:Returns the state with the given name - void clear() except + nogil # wrap-doc:Clears all data - void setPseudoCounts(double pseudo_counts) except + nogil # wrap-doc:Sets the pseudo count that are added instead of zero - double getPseudoCounts() except + nogil # wrap-doc:Returns the pseudo counts - void setVariableModifications(StringList & modifications) except + nogil - -cdef extern from "" namespace "OpenMS": - - cdef cppclass HMMState "OpenMS::HMMState": - HMMState() except + nogil - HMMState(HMMState &) except + nogil - HMMState(const String & name, bool hidden) except + nogil - - # They don't exist ... - # bool operator==(HMMState) except + nogil - # bool operator!=(HMMState) except + nogil - - void setName(const String & name) except + nogil # wrap-doc:Sets the name of the state - String getName() except + nogil # wrap-doc:Returns the name of the state - void setHidden(bool hidden) except + nogil # wrap-doc:Sets the hidden property to the state - bool isHidden() except + nogil # wrap-doc:Returns true if the state is hidden - void addPredecessorState(HMMState * state) except + nogil # wrap-doc:Adds the given predecessor state to the list - void deletePredecessorState(HMMState * state) except + nogil # wrap-doc:Deletes the given predecessor state from the list - void addSuccessorState(HMMState * state) except + nogil # wrap-doc:Add the given successor state to the list - void deleteSuccessorState(HMMState * state) except + nogil # wrap-doc:Deletes the given successor state from the list - libcpp_set[ HMMState * ] getPredecessorStates() except + nogil # wrap-doc:Returns the predecessor states of the state - libcpp_set[ HMMState * ] getSuccessorStates() except + nogil # wrap-doc:Returns the successor states of the state diff --git a/src/pyOpenMS/pxds/IntensityBalanceFilter.pxd b/src/pyOpenMS/pxds/IntensityBalanceFilter.pxd index 067cff1199b..2375539be73 100644 --- a/src/pyOpenMS/pxds/IntensityBalanceFilter.pxd +++ b/src/pyOpenMS/pxds/IntensityBalanceFilter.pxd @@ -11,5 +11,4 @@ cdef extern from "" name double apply(MSSpectrum & ) except + nogil # POINTER # FilterFunctor * create() except + nogil - String getProductName() except + nogil diff --git a/src/pyOpenMS/pxds/IsotopeDiffFilter.pxd b/src/pyOpenMS/pxds/IsotopeDiffFilter.pxd index aec0542ffe8..a24971af496 100644 --- a/src/pyOpenMS/pxds/IsotopeDiffFilter.pxd +++ b/src/pyOpenMS/pxds/IsotopeDiffFilter.pxd @@ -11,5 +11,4 @@ cdef extern from "" namespace double apply(MSSpectrum & ) except + nogil # TODO # POINTER # FilterFunctor * create() except + nogil - String getProductName() except + nogil # TODO diff --git a/src/pyOpenMS/pxds/IsotopeFitter1D.pxd b/src/pyOpenMS/pxds/IsotopeFitter1D.pxd index 892417f9302..478c49da5c5 100644 --- a/src/pyOpenMS/pxds/IsotopeFitter1D.pxd +++ b/src/pyOpenMS/pxds/IsotopeFitter1D.pxd @@ -10,5 +10,4 @@ cdef extern from "" name # QualityType fit1d(RawDataArrayType &range, InterpolationModel *&model) except + nogil # Fitter1D * create() except + nogil - String getProductName() except + nogil # wrap-doc:Name of the model (needed by Factory) diff --git a/src/pyOpenMS/pxds/IsotopeMarker.pxd b/src/pyOpenMS/pxds/IsotopeMarker.pxd index 81740b50510..b453713db4d 100644 --- a/src/pyOpenMS/pxds/IsotopeMarker.pxd +++ b/src/pyOpenMS/pxds/IsotopeMarker.pxd @@ -14,6 +14,5 @@ cdef extern from "" namespace "Op void apply(libcpp_map[ double, bool ] & , MSSpectrum & ) except + nogil PeakMarker * create() except + nogil # wrap-ignore - # TODO - #String getProductName() except + nogil + diff --git a/src/pyOpenMS/pxds/IsotopeModel.pxd b/src/pyOpenMS/pxds/IsotopeModel.pxd index 81cf69eaa2f..a82476fcef7 100644 --- a/src/pyOpenMS/pxds/IsotopeModel.pxd +++ b/src/pyOpenMS/pxds/IsotopeModel.pxd @@ -43,9 +43,8 @@ cdef extern from "" namespa # # Useful to determine the number of isotopes that the model contains and their position - # BaseModel[ 1 ] * create() except + nogil - String getProductName() except + nogil # wrap-doc:Name of the model (needed by Factory) - + # BaseModel * create() except + nogil + cdef extern from "" namespace "OpenMS::IsotopeModel": cdef enum Averagines "OpenMS::IsotopeModel::Averagines": #wrap-attach: diff --git a/src/pyOpenMS/pxds/LabeledPairFinder.pxd b/src/pyOpenMS/pxds/LabeledPairFinder.pxd index 2404d6a90aa..58a669ad4e3 100644 --- a/src/pyOpenMS/pxds/LabeledPairFinder.pxd +++ b/src/pyOpenMS/pxds/LabeledPairFinder.pxd @@ -17,4 +17,4 @@ cdef extern from "" namespace " LabeledPairFinder(LabeledPairFinder &) except + nogil # wrap-ignore void run(libcpp_vector[ ConsensusMap ] & input_maps, ConsensusMap & result_map) except + nogil # wrap-doc:Runs the LabeledPairFinder algorithm # POINTER # BaseGroupFinder * create() except + nogil - String getProductName() except + nogil # wrap-doc:Returns the name of this module + \ No newline at end of file diff --git a/src/pyOpenMS/pxds/MapAlignmentEvaluationAlgorithm.pxd b/src/pyOpenMS/pxds/MapAlignmentEvaluationAlgorithm.pxd index b26ccdd5191..5fff5b16c6d 100644 --- a/src/pyOpenMS/pxds/MapAlignmentEvaluationAlgorithm.pxd +++ b/src/pyOpenMS/pxds/MapAlignmentEvaluationAlgorithm.pxd @@ -14,4 +14,3 @@ cdef extern from "" namespace "Open void filterPeakSpectrum(MSSpectrum & spec) except + nogil void filterPeakMap(MSExperiment & exp) except + nogil - String getProductName() except + nogil # wrap-doc:Returns the product name - void insertmarker(PeakMarker * peak_marker) except + nogil # wrap-doc:Insert new Marker (violates the DefaultParamHandler interface) diff --git a/src/pyOpenMS/pxds/Matrix.pxd b/src/pyOpenMS/pxds/Matrix.pxd index 37d5b5e2f67..b289b87eff5 100644 --- a/src/pyOpenMS/pxds/Matrix.pxd +++ b/src/pyOpenMS/pxds/Matrix.pxd @@ -12,27 +12,16 @@ cdef extern from "" namespace "OpenMS": Matrix() except + nogil Matrix(Matrix[ValueT]) except + nogil Matrix(size_t rows, size_t cols, ValueT value) except + nogil - # const_reference operator()(size_t i, size_t j) except + nogil - # reference operator()(size_t i, size_t j) except + nogil - # const_reference getValue(size_t i, size_t j) except + nogil ValueT getValue(size_t i, size_t j) nogil void setValue(size_t i, size_t j, ValueT value) nogil - ## The following two lines introduce an odd bug: - # static PyObject *__pyx_convert_vector_to_py_double is declared twice by Cython: - # TODO look into Cython Bug - # libcpp_vector[ValueT] row(size_t i) except + nogil - # libcpp_vector[ValueT] col(size_t i) except + nogil - libcpp_vector[ValueT] asVector() except + nogil # wrap-ignore - void clear() except + nogil - void resize(size_t i, size_t j, ValueT value) except + nogil - void resize(libcpp_pair[ size_t, size_t ] & size_pair, ValueT value) except + nogil size_t rows() nogil size_t cols() nogil - libcpp_pair[ size_t, size_t ] sizePair() except + nogil - size_t index(size_t row, size_t col) except + nogil - libcpp_pair[ size_t, size_t ] indexPair(size_t index) except + nogil - size_t colIndex(size_t index) except + nogil # wrap-doc:Calculate the column from an index into the underlying vector. Note that Matrix uses the (row,column) lexicographic ordering for indexing - size_t rowIndex(size_t index) except + nogil # wrap-doc:Calculate the row from an index into the underlying vector. Note that Matrix uses the (row,column) lexicographic ordering for indexing + size_t size() nogil + int innerStride() nogil # wrap-ignore + int outerStride() nogil # wrap-ignore + bool rowMajor() nogil # wrap-ignore + void resize(size_t rows, size_t cols) nogil + ValueT* data() nogil # wrap-ignore ## bool operator==(Matrix & rhs) except + nogil ## bool operator<(Matrix & rhs) except + nogil # TEMPLATE # void setMatrix(ValueType matrix) except + nogil diff --git a/src/pyOpenMS/pxds/MetaboTargetedAssay.pxd b/src/pyOpenMS/pxds/MetaboTargetedAssay.pxd index 5b9e9e10ae5..c0c96b1de04 100644 --- a/src/pyOpenMS/pxds/MetaboTargetedAssay.pxd +++ b/src/pyOpenMS/pxds/MetaboTargetedAssay.pxd @@ -37,7 +37,6 @@ cdef extern from "" namespace "O # :param max_fragment_mz: Maximum m/z a fragment ion has to have to be considered as a transition # :param method_consensus_spectrum: Boolean to use consensus spectrum method # :param exclude_ms2_precursor: Boolean to exclude MS2 precursor from MetaboTargetedAssay - # :param file_counter: Count if multiple files are used # :return: Vector of MetaboTargetedAssay libcpp_vector[ MetaboTargetedAssay ] extractMetaboTargetedAssayFragmentAnnotation(libcpp_vector[ MetaboTargetedAssay_CompoundTargetDecoyPair ]& v_cmp_spec, @@ -45,8 +44,7 @@ cdef extern from "" namespace "O double& min_fragment_mz, double& max_fragment_mz, bool& use_exact_mass, - bool& exclude_ms2_precursor, - unsigned int& file_counter) except + nogil + bool& exclude_ms2_precursor) except + nogil # wrap-doc: # Extract a vector of MetaboTargetedAssays using fragment # diff --git a/src/pyOpenMS/pxds/MetaboTargetedTargetDecoy.pxd b/src/pyOpenMS/pxds/MetaboTargetedTargetDecoy.pxd index 01fec5388a1..45279465b53 100644 --- a/src/pyOpenMS/pxds/MetaboTargetedTargetDecoy.pxd +++ b/src/pyOpenMS/pxds/MetaboTargetedTargetDecoy.pxd @@ -16,7 +16,7 @@ cdef extern from "" namesp # # :param t_exp: TransitionExperiment holds compound and transition information used for the mapping - void resolveOverlappingTargetDecoyMassesByIndividualMassShift(TargetedExperiment& t_exp, libcpp_vector[ MetaboTargetedTargetDecoy_MetaboTargetDecoyMassMapping ]& mappings, double& mass_to_add) except + nogil + void resolveOverlappingTargetDecoyMassesByDecoyMassShift(TargetedExperiment& t_exp, libcpp_vector[ MetaboTargetedTargetDecoy_MetaboTargetDecoyMassMapping ]& mappings, double& mass_to_add, double& mz_tol, String& mz_tol_unit) except + nogil # wrap-doc: # Resolves overlapping target and decoy transition masses by adding a specifiable mass (e.g. CH2) to the overlapping decoy fragment # @@ -24,6 +24,8 @@ cdef extern from "" namesp # :param t_exp: TransitionExperiment holds compound and transition information # :param mappings: Map of identifier to target and decoy masses # :param mass_to_add: (e.g. CH2) + # :param mz_tol: m/z tolerarance for target and decoy transition masses to be considered overlapping + # :param mz_tol_unit: m/z tolerance unit void generateMissingDecoysByMassShift(TargetedExperiment& t_exp, libcpp_vector[ MetaboTargetedTargetDecoy_MetaboTargetDecoyMassMapping ]& mappings, double& mass_to_add) except + nogil # wrap-doc: diff --git a/src/pyOpenMS/pxds/NeutralLossDiffFilter.pxd b/src/pyOpenMS/pxds/NeutralLossDiffFilter.pxd index af4e43f5d4f..2c5e71cb4b1 100644 --- a/src/pyOpenMS/pxds/NeutralLossDiffFilter.pxd +++ b/src/pyOpenMS/pxds/NeutralLossDiffFilter.pxd @@ -14,5 +14,4 @@ cdef extern from "" names NeutralLossDiffFilter(NeutralLossDiffFilter &) except + nogil double apply(MSSpectrum & ) except + nogil # POINTER # FilterFunctor * create() except + nogil - String getProductName() except + nogil - + \ No newline at end of file diff --git a/src/pyOpenMS/pxds/NeutralLossMarker.pxd b/src/pyOpenMS/pxds/NeutralLossMarker.pxd index 2be7c40a3ec..9620d0f1301 100644 --- a/src/pyOpenMS/pxds/NeutralLossMarker.pxd +++ b/src/pyOpenMS/pxds/NeutralLossMarker.pxd @@ -15,5 +15,4 @@ cdef extern from "" namespace NeutralLossMarker(NeutralLossMarker &) except + nogil void apply(libcpp_map[ double, bool ] & , MSSpectrum & ) except + nogil PeakMarker * create() except + nogil # wrap-ignore - # String getProductName() except + nogil - + diff --git a/src/pyOpenMS/pxds/PeakMarker.pxd b/src/pyOpenMS/pxds/PeakMarker.pxd index 619e3edcf89..883019e7e63 100644 --- a/src/pyOpenMS/pxds/PeakMarker.pxd +++ b/src/pyOpenMS/pxds/PeakMarker.pxd @@ -17,5 +17,4 @@ cdef extern from "" namespace "OpenM PeakMarker(PeakMarker &) except + nogil # see child classes # void apply(libcpp_map[ double, bool ] & , MSSpectrum & ) except + nogil - String getProductName() except + nogil # wrap-doc:Returns the product name - + diff --git a/src/pyOpenMS/pxds/ProtonDistributionModel.pxd b/src/pyOpenMS/pxds/ProtonDistributionModel.pxd deleted file mode 100644 index 6bdc900cca5..00000000000 --- a/src/pyOpenMS/pxds/ProtonDistributionModel.pxd +++ /dev/null @@ -1,70 +0,0 @@ -from Types cimport * -from libcpp.vector cimport vector as libcpp_vector -from Types cimport * -from Residue cimport * -from DefaultParamHandler cimport * -from AASequence cimport * - -cdef extern from "" namespace "OpenMS": - - cdef cppclass ProtonDistributionModel(DefaultParamHandler) : - # wrap-inherits: - # DefaultParamHandler - ProtonDistributionModel() except + nogil - # wrap-doc: - # A proton distribution model to calculate the proton distribution over charged peptides - # - # The model uses proton affinity values of backbone nitrogens and sidechains to calculate the - # proton distribution of charged peptide among these sites. The possible sites are the peptide - # bonds between the amino acids, the side chains and the C-terminus and N-terminus. The calculation - # is done calculating a Boltzmann distribution of the sites - # - # Details and the proton affinities can be found in - # Z. Zhang, Prediction of Low-Energy Collision-Induced Dissociation Spectra of Peptides, - # Anal. Chem., 76 (14), 3908 - 3922, 2004 - # - # A proton distribution can be calculated using the getProtonDistribution method. The backbone - # probabilities are reported in the first parameter (index 0 for the N-terminus, index 1 for the - # first peptide bond...), the site chain probabilities are reported in the second parameter - # (index 0, for the first amino acid...). The peptide and the number of protons as well as type - # of peptide (can be Reside::YIon for peptides and y-ions and any other ion type) - # - # Charge state intensities of differently charged equal (e.g. y7+ and y7++) ions can be calculated - # using the getChargeStateIntensities function - - ProtonDistributionModel(ProtonDistributionModel &) except + nogil - void getProtonDistribution(libcpp_vector[ double ] & bb_charges, libcpp_vector[ double ] & sc_charges, AASequence & peptide, Int charge, ResidueType res_type) except + nogil - # wrap-doc: - # Calculates a proton distribution of the given charged peptide - # - # - # :param bb_charges: The calculated probabilities of the backbone sites (including N-terminus and C-terminus) - # :param sc_charges: The calculated probabilities of the side chain sites - # :param peptide: The peptide as AASequence object - # :param charge: The charge - # :param res_type: The type of the ion given in peptide. Peptides are handled as y-ions, i.e. Residue::YIon - - void getChargeStateIntensities(AASequence & peptide, AASequence & n_term_ion, AASequence & c_term_ion, Int charge, ResidueType n_term_type, libcpp_vector[ double ] & n_term_intensities, libcpp_vector[ double ] & c_term_intensities, FragmentationType type_) except + nogil - # wrap-doc: - # Calculates the charge state intensities of different charge states of the same ion - # - # - # :param peptide: The peptide - # :param n_term_ion: The prefix ion sequence - # :param c_term_ion: The suffix ion sequence - # :param charge: The charge - # :param n_term_type: The ion type of the N-terminal ion; valid values are Residue::AIon, Residue::BIon - # :param n_term_intensities: The probability of seeing a charged prefix ions (first index corresponds to ion of charge 1) - # :param c_term_intensities: The probability of seeing a charged suffix ions (first index corresponds to ion of charge 2) - # :param type: The type of fragmentation (charge-directed, charge-remote of side chain) - - void setPeptideProtonDistribution(libcpp_vector[ double ] & bb_charge, libcpp_vector[ double ] & sc_charge) except + nogil - -cdef extern from "" namespace "OpenMS::ProtonDistributionModel": - cdef enum FragmentationType "OpenMS::ProtonDistributionModel::FragmentationType": - #wrap-attach: - # ProtonDistributionModel - ChargeDirected - ChargeRemote - SideChain - diff --git a/src/pyOpenMS/pxds/QTClusterFinder.pxd b/src/pyOpenMS/pxds/QTClusterFinder.pxd index 51a0e9deda9..7b53baa9341 100644 --- a/src/pyOpenMS/pxds/QTClusterFinder.pxd +++ b/src/pyOpenMS/pxds/QTClusterFinder.pxd @@ -17,5 +17,4 @@ cdef extern from "" namespace "Op QTClusterFinder(QTClusterFinder &) except + nogil # wrap-ignore void run(libcpp_vector[ ConsensusMap ] & input_maps, ConsensusMap & result_map) except + nogil void run(libcpp_vector[ FeatureMap ] & input_maps, ConsensusMap & result_map) except + nogil - String getProductName() except + nogil # wrap-doc:Returns the name of the product # POINTER # BaseGroupFinder * create() except + nogil diff --git a/src/pyOpenMS/pxds/SimplePairFinder.pxd b/src/pyOpenMS/pxds/SimplePairFinder.pxd index 20d81501b61..77b737305fc 100644 --- a/src/pyOpenMS/pxds/SimplePairFinder.pxd +++ b/src/pyOpenMS/pxds/SimplePairFinder.pxd @@ -19,4 +19,4 @@ cdef extern from "" namespace "O void run(libcpp_vector[ ConsensusMap ] & input_maps, ConsensusMap & result_map) except + nogil # POINTER # BaseGroupFinder * create() except + nogil - String getProductName() except + nogil # wrap-doc:Returns the name of this module + \ No newline at end of file diff --git a/src/pyOpenMS/pxds/SiriusAdapterAlgorithm.pxd b/src/pyOpenMS/pxds/SiriusAdapterAlgorithm.pxd deleted file mode 100644 index 4b5b553cdcd..00000000000 --- a/src/pyOpenMS/pxds/SiriusAdapterAlgorithm.pxd +++ /dev/null @@ -1,100 +0,0 @@ -from Types cimport * -from String cimport * -from FeatureMap cimport * -from MSExperiment cimport * -from FeatureMapping cimport * -from KDTreeFeatureMaps cimport * -from libcpp.vector cimport vector as libcpp_vector -from libcpp.pair cimport pair as libcpp_pair - -from DefaultParamHandler cimport * - -cdef extern from "" namespace "OpenMS": - - cdef cppclass SiriusAdapterAlgorithm(DefaultParamHandler): - # wrap-inherits: - # DefaultParamHandler - - SiriusAdapterAlgorithm() except + nogil - SiriusAdapterAlgorithm(SiriusAdapterAlgorithm &) except + nogil # compiler - - bool isFeatureOnly() except + nogil - UInt getFilterByNumMassTraces() except + nogil - double getPrecursorMzTolerance() except + nogil - double getPrecursorRtTolerance() except + nogil - bool precursorMzToleranceUnitIsPPM() except + nogil - bool isNoMasstraceInfoIsotopePattern() except + nogil - int getIsotopePatternIterations() except + nogil - int getNumberOfSiriusCandidates() except + nogil - - String determineSiriusExecutable(String & executable) except + nogil - # wrap-doc: - # Checks if the provided String points to a valid SIRIUS executable, otherwise tries - # to select the executable from the environment - # - # :param executable: Path to the potential executable - # :returns: Path to SIRIUS executable - - void preprocessingSirius(const String& featureinfo, - MSExperiment& spectra, - FeatureMapping_FeatureMappingInfo& fm_info, - FeatureMapping_FeatureToMs2Indices& feature_mapping) except + nogil - # wrap-doc: - # Preprocessing needed for SIRIUS - # - # Filter number of masstraces and perform feature mapping - # - # :param featureinfo: Path to featureXML - # :param spectra: Input of MSExperiment with spectra information - # :param fm_info: Emtpy - stores FeatureMaps and KDTreeMaps internally - # :param feature_mapping: Empty FeatureToMs2Indices - - void logFeatureSpectraNumber(const String& featureinfo, - FeatureMapping_FeatureToMs2Indices& feature_mapping, - MSExperiment& spectra) except + nogil - # wrap-doc: - # Logs number of features and spectra used - # - # Prints the number of features and spectra used (OPENMS_LOG_INFO) - # - # :param featureinfo: Path to featureXML - # :param feature_mapping: FeatureToMs2Indices with feature mapping - # :param spectra: Input of MSExperiment with spectra information - - void logInSiriusAccount(String& executable, - const String& email, - const String& password) except + nogil - # wrap-doc: - # Log in to SIRIUS using your personal account - # - # :param executable: Path to executable. - # :param email: User account E-Mail. - # :param password: User account password. - - libcpp_vector[String] callSiriusQProcess(const String& tmp_ms_file, - const String& tmp_out_dir, - String& executable, - const String& out_csifingerid, - bool decoy_generation) except + nogil - # wrap-doc: - # Call SIRIUS with QProcess - # - # :param tmp_ms_file: Path to temporary .ms file - # :param tmp_out_dir: Path to temporary output folder - # :param executable: Path to executable - # :param out_csifingerid: Path to CSI:FingerID output (can be empty) - -cdef extern from "" namespace "OpenMS::SiriusAdapterAlgorithm": - - cdef cppclass SiriusTemporaryFileSystemObjects "OpenMS::SiriusAdapterAlgorithm::SiriusTemporaryFileSystemObjects": - SiriusTemporaryFileSystemObjects(int debug_level) except + nogil - SiriusTemporaryFileSystemObjects(SiriusTemporaryFileSystemObjects &) except + nogil # compiler - - String getTmpDir() except + nogil - String getTmpOutDir() except + nogil - String getTmpMsFile() except + nogil - -# wrap static method: -cdef extern from "" namespace "OpenMS::SiriusAdapterAlgorithm": - - void sortSiriusWorkspacePathsByScanIndex(libcpp_vector[ String ]& subdirs) except + nogil # wrap-attach:SiriusAdapterAlgorithm diff --git a/src/pyOpenMS/pxds/SiriusAdapterHit.pxd b/src/pyOpenMS/pxds/SiriusAdapterHit.pxd deleted file mode 100644 index bbac90e96e0..00000000000 --- a/src/pyOpenMS/pxds/SiriusAdapterHit.pxd +++ /dev/null @@ -1,21 +0,0 @@ -from Types cimport * -from String cimport * - -cdef extern from "" namespace "OpenMS::SiriusMzTabWriter": - - cdef cppclass SiriusAdapterHit "OpenMS::SiriusMzTabWriter::SiriusAdapterHit": - SiriusAdapterHit() except + nogil - SiriusAdapterHit(SiriusAdapterHit &) except + nogil # compiler - - String formula - String adduct - String precursor_formula - int rank - double iso_score - double tree_score - double sirius_score - int explainedpeaks - double explainedintensity - double median_mass_error_fragment_peaks_ppm - double median_absolute_mass_error_fragment_peaks_ppm - double mass_error_precursor_ppm diff --git a/src/pyOpenMS/pxds/SiriusAdapterIdentification.pxd b/src/pyOpenMS/pxds/SiriusAdapterIdentification.pxd deleted file mode 100644 index 01292d4b2aa..00000000000 --- a/src/pyOpenMS/pxds/SiriusAdapterIdentification.pxd +++ /dev/null @@ -1,19 +0,0 @@ -from Types cimport * -from SiriusAdapterHit cimport * -from String cimport * -from StringList cimport * -from libcpp.vector cimport vector as libcpp_vector - -cdef extern from "" namespace "OpenMS::SiriusMzTabWriter": - - cdef cppclass SiriusAdapterIdentification "OpenMS::SiriusMzTabWriter::SiriusAdapterIdentification": - SiriusAdapterIdentification() except + nogil - SiriusAdapterIdentification(SiriusAdapterIdentification &) except + nogil # compiler - - double mz - double rt - StringList native_ids - int scan_index - int scan_number - String feature_id - libcpp_vector[ SiriusAdapterHit ] hits diff --git a/src/pyOpenMS/pxds/SiriusAdapterRun.pxd b/src/pyOpenMS/pxds/SiriusAdapterRun.pxd deleted file mode 100644 index a848d822aa0..00000000000 --- a/src/pyOpenMS/pxds/SiriusAdapterRun.pxd +++ /dev/null @@ -1,10 +0,0 @@ -from Types cimport * -from SiriusAdapterIdentification cimport SiriusAdapterIdentification - -cdef extern from "" namespace "OpenMS::SiriusMzTabWriter": - - cdef cppclass SiriusAdapterRun "OpenMS::SiriusMzTabWriter::SiriusAdapterRun": - SiriusAdapterRun() except + nogil - SiriusAdapterRun(SiriusAdapterRun &) except + nogil # compiler - - libcpp_vector[SiriusAdapterIdentification] identifications diff --git a/src/pyOpenMS/pxds/SiriusExportAlgorithm.pxd b/src/pyOpenMS/pxds/SiriusExportAlgorithm.pxd new file mode 100644 index 00000000000..666de050b10 --- /dev/null +++ b/src/pyOpenMS/pxds/SiriusExportAlgorithm.pxd @@ -0,0 +1,68 @@ +from Types cimport * +from String cimport * +from FeatureMap cimport * +from MSExperiment cimport * +from FeatureMapping cimport * +from KDTreeFeatureMaps cimport * +from libcpp.vector cimport vector as libcpp_vector +from libcpp.pair cimport pair as libcpp_pair + +from DefaultParamHandler cimport * + +cdef extern from "" namespace "OpenMS": + + cdef cppclass SiriusExportAlgorithm(DefaultParamHandler): + # wrap-inherits: + # DefaultParamHandler + + SiriusExportAlgorithm() except + nogil + SiriusExportAlgorithm(SiriusExportAlgorithm &) except + nogil # compiler + + bool isFeatureOnly() except + nogil + UInt getFilterByNumMassTraces() except + nogil + double getPrecursorMzTolerance() except + nogil + double getPrecursorRtTolerance() except + nogil + bool precursorMzToleranceUnitIsPPM() except + nogil + bool isNoMasstraceInfoIsotopePattern() except + nogil + int getIsotopePatternIterations() except + nogil + + void preprocessing(const String& featureXML_path, + MSExperiment& spectra, + FeatureMapping_FeatureMappingInfo& feature_mapping_info, + FeatureMapping_FeatureToMs2Indices& feature_ms2_indices) except + nogil + # wrap-doc: + # Preprocessing needed for SIRIUS + # + # Filter number of masstraces and perform feature mapping + # + # :param featureXML_path: Path to featureXML + # :param spectra: Input of MSExperiment with spectra information + # :param feature_mapping_info: Emtpy - stores FeatureMaps and KDTreeMaps internally + # :param feature_ms2_indices: Empty FeatureToMs2Indices + + void logFeatureSpectraNumber(const String& featureXML_path, + FeatureMapping_FeatureToMs2Indices& feature_ms2_indices, + MSExperiment& spectra) except + nogil + # wrap-doc: + # Logs number of features and spectra used + # + # Prints the number of features and spectra used (OPENMS_LOG_INFO) + # + # :param featureXML_path: Path to featureXML + # :param feature_ms2_indices: FeatureToMs2Indices with feature mapping + # :param spectra: Input of MSExperiment with spectra information + + void run(const StringList& mzML_files, + const StringList& featureXML_files, + const String& out_ms, + const String& out_compoundinfo) except + nogil + + # wrap-doc: + # Runs SiriusExport with mzML and featureXML (optional) files as input. + # + # Generates a SIRIUS .ms file and compound info table (optional). + # + # :param mzML_files: List with paths to mzML files + # :param featureXML_files: List with paths to featureXML files + # :param out_ms: Output file name for SIRIUS .ms file + # :param out_compoundinfo: Output file name for tsv file with compound info \ No newline at end of file diff --git a/src/pyOpenMS/pxds/SiriusFragmentAnnotation.pxd b/src/pyOpenMS/pxds/SiriusFragmentAnnotation.pxd index efd96058645..514f3237b45 100644 --- a/src/pyOpenMS/pxds/SiriusFragmentAnnotation.pxd +++ b/src/pyOpenMS/pxds/SiriusFragmentAnnotation.pxd @@ -1,6 +1,7 @@ from Types cimport * from String cimport * from MSSpectrum cimport * +from CsvFile cimport * cdef extern from "" namespace "OpenMS": @@ -13,15 +14,12 @@ cdef extern from "" namespa String& path_to_sirius_workspace, Size max_rank, bool decoy, - bool use_exact_mass) except + nogil - libcpp_vector[MSSpectrum] extractSiriusAnnotationsTgtOnly( - libcpp_vector[String]& sirius_workspace_subdirs, - double score_threshold, - bool use_exact_mass, - bool resolve) except + nogil + bool use_exact_mass) except + nogil libcpp_vector[ SiriusFragmentAnnotation_SiriusTargetDecoySpectra ] extractAndResolveSiriusAnnotations(libcpp_vector[ String ]& sirius_workspace_subdirs, double score_threshold, - bool use_exact_mass) except + nogil + bool use_exact_mass, + bool decoy_generation) except + nogil + libcpp_map[ libcpp_string, Size ] extract_columnname_to_columnindex(CsvFile& csvfile) except + nogil cdef cppclass SiriusFragmentAnnotation_SiriusTargetDecoySpectra "OpenMS::SiriusFragmentAnnotation::SiriusTargetDecoySpectra": diff --git a/src/pyOpenMS/pxds/SiriusMSFile.pxd b/src/pyOpenMS/pxds/SiriusMSFile.pxd index bebaabacfd1..8a1676b07bd 100644 --- a/src/pyOpenMS/pxds/SiriusMSFile.pxd +++ b/src/pyOpenMS/pxds/SiriusMSFile.pxd @@ -16,14 +16,3 @@ cdef extern from "" namespace "OpenMS": cdef cppclass SiriusMSFile_AccessionInfo "OpenMS::SiriusMSFile::AccessionInfo": SiriusMSFile_AccessionInfo() except + nogil SiriusMSFile_AccessionInfo(SiriusMSFile_AccessionInfo &) except + nogil # compiler - -cdef extern from "" namespace "OpenMS::SiriusMSFile": - - # wrap static method: - void store(MSExperiment& spectra, - const String& msfile, - FeatureMapping_FeatureToMs2Indices& feature_mapping, - bool feature_only, - int isotope_pattern_iterations, - bool no_mt_info, - libcpp_vector[ SiriusMSFile_CompoundInfo ]& v_cmpinfo) except + nogil # wrap-attach:SiriusMSFile diff --git a/src/pyOpenMS/pxds/SiriusMzTabWriter.pxd b/src/pyOpenMS/pxds/SiriusMzTabWriter.pxd deleted file mode 100644 index 5a003e1920d..00000000000 --- a/src/pyOpenMS/pxds/SiriusMzTabWriter.pxd +++ /dev/null @@ -1,38 +0,0 @@ -from Types cimport * -from libcpp.vector cimport vector as libcpp_vector -from libcpp.string cimport string as libcpp_string -from libcpp.map cimport map as libcpp_map -from String cimport * -from StringList cimport * -from MzTab cimport * -from CsvFile cimport * - -cdef extern from "" namespace "OpenMS": - - cdef cppclass SiriusMzTabWriter: - SiriusMzTabWriter() except + nogil - SiriusMzTabWriter(SiriusMzTabWriter &) except + nogil # compiler - - cdef cppclass SiriusMzTabWriter_SiriusSpectrumMSInfo "OpenMS::SiriusMzTabWriter::SiriusSpectrumMSInfo": - - SiriusMzTabWriter_SiriusSpectrumMSInfo() except + nogil - SiriusMzTabWriter_SiriusSpectrumMSInfo(SiriusMzTabWriter_SiriusSpectrumMSInfo &) except + nogil # compiler - - StringList ext_n_id - double ext_mz - double ext_rt - -# wrap static method: -cdef extern from "" namespace "OpenMS::SiriusMzTabWriter": - - int extractScanIndex(const String& path) except + nogil # wrap-attach:SiriusMzTabWriter - int extractScanNumber(const String& path) except + nogil # wrap-attach:SiriusMzTabWriter - String extractFeatureId(const String& path) except + nogil # wrap-attach:SiriusMzTabWriter - libcpp_map[ libcpp_string, Size ] extract_columnname_to_columnindex(CsvFile& csvfile) except + nogil # wrap-attach:SiriusMzTabWriter - - SiriusMzTabWriter_SiriusSpectrumMSInfo extractSpectrumMSInfo(const String& single_sirius_path) except + nogil # wrap-attach:SiriusMzTabWriter - - void read(libcpp_vector[ String ]& sirius_output_paths, - const String& original_input_mzml, - Size top_n_hits, - MzTab& result) except + nogil # wrap-attach:SiriusMzTabWriter diff --git a/src/pyOpenMS/pxds/SpectraSTSimilarityScore.pxd b/src/pyOpenMS/pxds/SpectraSTSimilarityScore.pxd index e68c56fdcfa..13762e8cd4e 100644 --- a/src/pyOpenMS/pxds/SpectraSTSimilarityScore.pxd +++ b/src/pyOpenMS/pxds/SpectraSTSimilarityScore.pxd @@ -52,4 +52,4 @@ cdef extern from "" namesp # :returns: The SpectraST similarity score # POINTER # MSSpectrumCompareFunctor * create() except + nogil - String getProductName() except + nogil # wrap-doc:Reimplemented from PeakSpectrumCompareFunctor + \ No newline at end of file diff --git a/src/pyOpenMS/pxds/StablePairFinder.pxd b/src/pyOpenMS/pxds/StablePairFinder.pxd index cb41684cc2b..2600678a44d 100644 --- a/src/pyOpenMS/pxds/StablePairFinder.pxd +++ b/src/pyOpenMS/pxds/StablePairFinder.pxd @@ -12,4 +12,4 @@ cdef extern from "" namespace "O StablePairFinder(StablePairFinder &) except + nogil # wrap-ignore void run(libcpp_vector[ ConsensusMap ] & input_maps, ConsensusMap & result_map) except + nogil # POINTER # BaseGroupFinder * create() except + nogil - String getProductName() except + nogil + diff --git a/src/pyOpenMS/pxds/TICFilter.pxd b/src/pyOpenMS/pxds/TICFilter.pxd index 0b372100ea5..5e77174f1f8 100644 --- a/src/pyOpenMS/pxds/TICFilter.pxd +++ b/src/pyOpenMS/pxds/TICFilter.pxd @@ -10,4 +10,3 @@ cdef extern from "" namespace "OpenMS TICFilter(TICFilter &) except + nogil double apply(MSSpectrum & ) except + nogil # POINTER # FilterFunctor * create() except + nogil - String getProductName() except + nogil diff --git a/src/pyOpenMS/pyTOPP/FeatureFinderCentroided.py b/src/pyOpenMS/pyTOPP/FeatureFinderCentroided.py index ce8a659d4d6..a137f0b1334 100644 --- a/src/pyOpenMS/pyTOPP/FeatureFinderCentroided.py +++ b/src/pyOpenMS/pyTOPP/FeatureFinderCentroided.py @@ -17,8 +17,7 @@ def run_featurefinder_centroided(input_path, params, seeds, out_path): ff.setLogType(pms.LogType.CMD) features = pms.FeatureMap() - name = pms.FeatureFinderAlgorithmPicked.getProductName() - ff.run(name, input_map, features, params, seeds) + ff.run("centroided", input_map, features, params, seeds) features.setUniqueIds() addDataProcessing(features, params, pms.DataProcessing.ProcessingAction.QUANTITATION) @@ -84,8 +83,7 @@ def main(): "the peakpicker\nor -write(dict)ini for creating std " "ini file") - name = pms.FeatureFinderAlgorithmPicked.getProductName() - defaults = pms.FeatureFinder().getParameters(name) + defaults = pms.FeatureFinder().getParameters("centroided") write_requested = writeParamsIfRequested(args, defaults) diff --git a/src/pyOpenMS/pyopenms-docs b/src/pyOpenMS/pyopenms-docs index 6a0aab29763..df06fc86eba 160000 --- a/src/pyOpenMS/pyopenms-docs +++ b/src/pyOpenMS/pyopenms-docs @@ -1 +1 @@ -Subproject commit 6a0aab29763f4ca9cb90625b2671857595342114 +Subproject commit df06fc86eba99a5e8913de69e2500595fc71ee73 diff --git a/src/pyOpenMS/tests/unittests/test000.py b/src/pyOpenMS/tests/unittests/test000.py index a18e506a2cc..4ab7aa82983 100644 --- a/src/pyOpenMS/tests/unittests/test000.py +++ b/src/pyOpenMS/tests/unittests/test000.py @@ -1294,29 +1294,6 @@ def testFeature(): f.setPeptideIdentifications(p) -@report -def testFeatureFinder(): - """ - @tests: FeatureFinder - FeatureFinder.__init__ - FeatureFinder.endProgress - FeatureFinder.getLogType - FeatureFinder.getParameters - FeatureFinder.run - FeatureFinder.setLogType - FeatureFinder.setProgress - FeatureFinder.startProgress - """ - ff = pyopenms.FeatureFinder() - name = pyopenms.FeatureFinderAlgorithmPicked.getProductName() - ff.run(name, pyopenms.MSExperiment(), pyopenms.FeatureMap() , - pyopenms.Param(), pyopenms.FeatureMap()) - - _testProgressLogger(ff) - - p = ff.getParameters(name) - _testParam(p) - @report def testFeatureFileOptions(): """ @@ -1485,7 +1462,6 @@ def testFeatureFinderAlgorithmPicked(): _testParam(ff.getParameters()) assert ff.getName() == "FeatureFinderAlgorithm" - assert pyopenms.FeatureFinderAlgorithmPicked.getProductName() == "centroided" ff.setParameters(pyopenms.Param()) @@ -3631,9 +3607,22 @@ def testMatrixDouble(): MapAlignmentAlgorithmIdentification.__init__ """ - m = pyopenms.MatrixDouble() + m = pyopenms.MatrixDouble(3, 2, 0.0) + for i in range(3): + for j in range(2): + m.setValue(i, j, i * 10.0 + j) + print(m) + + mv = m.get_matrix_as_view() + print(mv) + + mc = m.get_matrix() + print(mc) + + mat = m.get_matrix_as_view() + N = 90 - m.resize(N-1, N+2, 5.0) + m = pyopenms.MatrixDouble(N-1, N+2, 5.0) assert m.rows() == 89 assert m.cols() == 92 @@ -3660,19 +3649,21 @@ def testMatrixDouble(): assert sum(sum(matrix_view)) == (N-1)*(N+2)*5 - # Column = 3 / Row = 5 + # Column = 1 / Row = 2 ## Now change a value: - assert m.getValue(3, 5) == 5.0 - m.setValue(3, 5, 8.0) - assert m.getValue(3, 5) == 8.0 + assert m.getValue(1, 2) == 5.0 + m.setValue(1, 2, 8.0) + assert m.getValue(1, 2) == 8.0 + print(m) mat = m.get_matrix_as_view() - assert mat[3, 5] == 8.0 + print(mat) + assert mat[1, 2] == 8.0 mat = m.get_matrix() - assert m.getValue(3, 5) == 8.0 - assert mat[3, 5] == 8.0 + assert m.getValue(1, 2) == 8.0 + assert mat[1, 2] == 8.0 # Whatever we change here gets changed in the raw data as well matrix_view = m.get_matrix_as_view() @@ -3680,13 +3671,13 @@ def testMatrixDouble(): assert m.getValue(1, 6) == 11.0 assert matrix_view[1, 6] == 11.0 - m.clear() + m = pyopenms.MatrixDouble() assert m.rows() == 0 assert m.cols() == 0 mat[3, 6] = 9.0 m.set_matrix(mat) - assert m.getValue(3, 5) == 8.0 + assert m.getValue(1, 2) == 8.0 assert m.getValue(3, 6) == 9.0 @@ -5058,49 +5049,6 @@ def testPercolatorOutfile(): e = pyopenms.PercolatorOutfile() assert e - - -@report -def testHiddenMarkovModel(): - hmm = pyopenms.HiddenMarkovModel() - assert hmm - - assert hmm.getNumberOfStates() == 0 - - ss = s("testState") - hmm.addNewState(ss) - - assert hmm.getNumberOfStates() == 1 - - e = pyopenms.HMMState() - # hmm.addNewState(e) # Segfault ! - - r = hmm.getState(s("testState")) - assert r - ## assert r == ss # requires == - -@report -def testHMMState(): - e = pyopenms.HMMState() - assert e - e.setName(s("somename")) - assert e.getName() == "somename", e.getName() - e.setHidden(True) - assert e.isHidden() - - pre = pyopenms.HMMState() - pre.setName(s("pre")) - suc = pyopenms.HMMState() - suc.setName(s("suc")) - - e.addPredecessorState(pre) - e.addSuccessorState(suc) - - assert e.getPredecessorStates() - assert e.getSuccessorStates() - - - @report def testProteaseDB(): edb = pyopenms.ProteaseDB() diff --git a/src/pyOpenMS/tests/unittests/test_BilinearInterpolation.py b/src/pyOpenMS/tests/unittests/test_BilinearInterpolation.py index fa8877b20f5..43fd759a0cb 100644 --- a/src/pyOpenMS/tests/unittests/test_BilinearInterpolation.py +++ b/src/pyOpenMS/tests/unittests/test_BilinearInterpolation.py @@ -8,8 +8,7 @@ class TestBilinearInterpolation(unittest.TestCase): def test_BilinearInterpolation(self): - mat = pyopenms.MatrixDouble() - mat.resize(2, 3, float()) + mat = pyopenms.MatrixDouble(2, 3, 0.0) mat.setValue(0, 0, 17) mat.setValue(0, 1, 18.9) mat.setValue(0, 2, 20.333) @@ -43,8 +42,8 @@ def test_BilinearInterpolation(self): def test_getData_setData(self): bilip = pyopenms.BilinearInterpolation() - tmp = bilip.getData() - tmp.resize(2, 3, float()) + tmp = pyopenms.MatrixDouble(2, 3, 0.0) + tmp.setValue(1, 2, 10012) tmp.setValue(0, 0, 10000) tmp.setValue(1, 0, 10010) @@ -108,8 +107,8 @@ def test_supportMax_0(self): bilip.setMapping_0(3.0, 1.0, 2.0) bilip.setMapping_1(5.0, 3.0, 4.0) - tmp = bilip.getData() - tmp.resize(2, 3, float()) + tmp = pyopenms.MatrixDouble(2, 3, 0.0) + bilip.setData(tmp) self.assertAlmostEqual(bilip.index2key_0(0), -1) self.assertAlmostEqual(bilip.index2key_0(1), 2) @@ -174,8 +173,7 @@ def test_supportMax_1(self): bilip.setMapping_1(3.0, 1.0, 2.0) bilip.setMapping_0(5.0, 3.0, 4.0) - tmp = bilip.getData() - tmp.resize(3, 2, float()) + tmp = pyopenms.MatrixDouble(3, 2, 0.0) bilip.setData(tmp) self.assertAlmostEqual(bilip.index2key_1(0), -1) self.assertAlmostEqual(bilip.index2key_1(1), 2) @@ -191,43 +189,36 @@ def test_empty(self): bilip = pyopenms.BilinearInterpolation() self.assertTrue(bilip.empty()) - tmp = bilip.getData() - tmp.resize(1, 2, float()) + tmp = pyopenms.MatrixDouble(1, 2, 0.0) bilip.setData(tmp) self.assertFalse(bilip.empty()) - tmp = bilip.getData() - tmp.resize(0, 0, float()) + tmp = pyopenms.MatrixDouble(0, 0, 0.0) bilip.setData(tmp) self.assertTrue(bilip.empty()) - tmp = bilip.getData() - tmp.resize(1, 2, float()) + tmp = pyopenms.MatrixDouble(1, 2, 0.0) bilip.setData(tmp) self.assertFalse(bilip.empty()) - tmp = bilip.getData() - tmp.resize(1, 0, float()) + tmp = pyopenms.MatrixDouble(1, 0, 0.0) bilip.setData(tmp) self.assertTrue(bilip.empty()) - tmp = bilip.getData() - tmp.resize(1, 2, float()) + tmp = pyopenms.MatrixDouble(1, 2, 0.0) bilip.setData(tmp) self.assertFalse(bilip.empty()) - tmp = bilip.getData() - tmp.resize(0, 0, float()) + tmp = pyopenms.MatrixDouble(0, 0, 0.0) bilip.setData(tmp) self.assertTrue(bilip.empty()) - tmp = bilip.getData() - tmp.resize(2, 2, float()) + tmp = pyopenms.MatrixDouble(2, 2, 0.0) bilip.setData(tmp) self.assertFalse(bilip.empty()) tmp = bilip.getData() - tmp.clear() + tmp = pyopenms.MatrixDouble(0, 0, 0.0) bilip.setData(tmp) self.assertTrue(bilip.empty()) @@ -239,23 +230,21 @@ def test_addValue(self): q = j / 10.0 bilip_small = pyopenms.BilinearInterpolation() - tmp = bilip_small.getData() - tmp.resize(5, 5, float()) + tmp = pyopenms.MatrixDouble(5, 5, 0.0) bilip_small.setData(tmp) bilip_small.setMapping_0(0.0, 0.0, 5.0, 5.0) bilip_small.setMapping_1(0.0, 0.0, 5.0, 5.0) bilip_small.addValue(p, q, 100) bilip_big = pyopenms.BilinearInterpolation() - tmp = bilip_big.getData() - tmp.resize(15, 15, float()) + tmp = pyopenms.MatrixDouble(15, 15, 0.0) bilip_big.setData(tmp) bilip_big.setMapping_0(5.0, 0.0, 10.0, 5.0) bilip_big.setMapping_1(5.0, 0.0, 10.0, 5.0) bilip_big.addValue(p, q, 100) - big_submatrix = pyopenms.MatrixDouble() - big_submatrix.resize(5, 5, float()) + big_submatrix = pyopenms.MatrixDouble(5, 5, 0.0) + for m in range(5): for n in range(5): big_submatrix.setValue(m, n, @@ -271,11 +260,8 @@ def test_value(self): bilip_small = pyopenms.BilinearInterpolation() bilip_big = pyopenms.BilinearInterpolation() - tmp_small = bilip_small.getData() - tmp_big = bilip_big.getData() - - tmp_small.resize(5, 5, float()) - tmp_big.resize(15, 15, float()) + tmp_small = pyopenms.MatrixDouble(5, 5, 0.0) + tmp_big = pyopenms.MatrixDouble(15, 15, 0.0) for i in range(5): for j in range(5): diff --git a/src/tests/class_tests/openms/data/FIAMS_output/SerumTest_10.mzTab b/src/tests/class_tests/openms/data/FIAMS_output/SerumTest_10.mzTab new file mode 100644 index 00000000000..d144e3fe0c4 --- /dev/null +++ b/src/tests/class_tests/openms/data/FIAMS_output/SerumTest_10.mzTab @@ -0,0 +1,4 @@ +MTD mzTab-version 1.0.0 +MTD mzTab-mode null +MTD mzTab-type null +MTD description null diff --git a/src/tests/class_tests/openms/data/HiddenMarkovModel_test.graphML b/src/tests/class_tests/openms/data/HiddenMarkovModel_test.graphML deleted file mode 100644 index 47c8d4541ad..00000000000 --- a/src/tests/class_tests/openms/data/HiddenMarkovModel_test.graphML +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - base - - - - - - - state_name_hidden2 - - - - - - - state_name_emitting2 - - - - - - - state_name_emitting - - - - - - - state_name_hidden - - - - - diff --git a/src/tests/class_tests/openms/data/SiriusFragmentAnnotation_test/decoys/C10H12N3O3PS2_[M+H]+.tsv b/src/tests/class_tests/openms/data/SiriusFragmentAnnotation_test/decoys/C10H12N3O3PS2_[M+H]+.tsv deleted file mode 100644 index 640bfa30ed8..00000000000 --- a/src/tests/class_tests/openms/data/SiriusFragmentAnnotation_test/decoys/C10H12N3O3PS2_[M+H]+.tsv +++ /dev/null @@ -1,17 +0,0 @@ -mz rel.intensity formula ionization -46.994998 0.71 CH2S [M + H]+ -62.015101 100.00 C5H [M + H]+ -63.010350 9.36 C4N [M + H]+ -63.970867 5.87 O2P [M + H]+ -87.010350 3.96 C6N [M + H]+ -89.026001 30.29 C6H2N [M + H]+ -90.010016 30.48 C6HO [M + H]+ -109.958588 53.42 CH2O2PS [M + H]+ -117.020915 58.05 C7H2NO [M + H]+ -121.982398 2.05 C2H4NOPS [M + H]+ -124.982063 0.80 C2H5O2PS [M + H]+ -136.969487 1.61 C2H3NO2PS [M + H]+ -151.992963 5.97 C3H6NO2PS [M + H]+ -182.993283 1.52 C8H6OS2 [M + H]+ -302.989571 0.54 C9H9N3O3PS2 [M + H]+ -318.013046 1.52 C10H12N3O3PS2 [M + H]+ diff --git a/src/tests/class_tests/openms/data/SiriusFragmentAnnotation_test/decoys/C15H17ClN4_[M+H]+.tsv b/src/tests/class_tests/openms/data/SiriusFragmentAnnotation_test/decoys/C15H17ClN4_[M+H]+.tsv new file mode 100644 index 00000000000..a7f1f6eee74 --- /dev/null +++ b/src/tests/class_tests/openms/data/SiriusFragmentAnnotation_test/decoys/C15H17ClN4_[M+H]+.tsv @@ -0,0 +1,23 @@ +mz rel.intensity formula ionization +53.013424 100.00 C2N2 [M + H]+ +158.071274 1.18 C9H7N3 [M + H]+ +168.032301 0.54 C7H6ClN3 [M + H]+ +184.086924 0.77 C11H9N3 [M + H]+ +185.094749 1.11 C11H10N3 [M + H]+ +194.047951 63.51 C9H8ClN3 [M + H]+ +199.097823 1.32 C11H10N4 [M + H]+ +206.047951 0.91 C10H8ClN3 [M + H]+ +212.105648 0.67 C12H11N4 [M + H]+ +218.047951 1.33 C11H8ClN3 [M + H]+ +219.043200 1.45 C10H7ClN4 [M + H]+ +220.063601 15.12 C11H10ClN3 [M + H]+ +220.088754 1.91 C13H14ClN [M + H]+ +222.102574 0.86 C14H11N3 [M + H]+ +233.058850 5.26 C11H9ClN4 [M + H]+ +235.074500 1.55 C11H11ClN4 [M + H]+ +244.063601 0.86 C13H10ClN3 [M + H]+ +247.074500 3.10 C12H11ClN4 [M + H]+ +261.090151 0.57 C13H13ClN4 [M + H]+ +262.110552 0.70 C14H16ClN3 [M + H]+ +272.094902 0.85 C15H14ClN3 [M + H]+ +289.121451 1.91 C15H17ClN4 [M + H]+ diff --git a/src/tests/class_tests/openms/data/SiriusFragmentAnnotation_test/formula_candidates.tsv b/src/tests/class_tests/openms/data/SiriusFragmentAnnotation_test/formula_candidates.tsv index 7a0c2cfa77c..5ccf613b595 100644 --- a/src/tests/class_tests/openms/data/SiriusFragmentAnnotation_test/formula_candidates.tsv +++ b/src/tests/class_tests/openms/data/SiriusFragmentAnnotation_test/formula_candidates.tsv @@ -1,2 +1,2 @@ -rank molecularFormula adduct precursorFormula TreeIsotope_Score Tree_Score Isotope_Score explainedPeaks explainedIntensity -1 C10H12N3O3PS2 [M + H]+ C10H12N3O3PS2 52.705458229508025 52.705458229508025 0.0 16 0.9823827156040691 +formulaRank molecularFormula adduct precursorFormula SiriusScore TreeScore IsotopeScore numExplainedPeaks explainedIntensity medianMassErrorFragmentPeaks(ppm) medianAbsoluteMassErrorFragmentPeaks(ppm) massErrorPrecursor(ppm) lipidClass +1 C15H17ClN4 [M + H]+ C15H17ClN4 39.34241769057247 36.691010794465846 2.6514068961066233 22 0.9685426989556167 -4.462674100188872 4.8724686384496785 4.02875003592188 diff --git a/src/tests/class_tests/openms/data/SiriusFragmentAnnotation_test/spectra/C10H12N3O3PS2_[M+H]+.tsv b/src/tests/class_tests/openms/data/SiriusFragmentAnnotation_test/spectra/C10H12N3O3PS2_[M+H]+.tsv deleted file mode 100644 index 71af11bc83f..00000000000 --- a/src/tests/class_tests/openms/data/SiriusFragmentAnnotation_test/spectra/C10H12N3O3PS2_[M+H]+.tsv +++ /dev/null @@ -1,17 +0,0 @@ -mz intensity rel.intensity exactmass formula ionization -51.023137 713.15 9.36 51.022927 C4H2 [M + H]+ -62.017416 60.00 0.71 62.018473 C2H5S [M + H]+ -75.022594 90.00 0.80 75.022927 C6H2 [M + H]+ -77.038719 7559.67 100.00 77.038577 C6H4 [M + H]+ -78.994535 491.01 5.87 78.994342 CH3O2P [M + H]+ -102.033725 301.61 3.96 102.033826 C7H3N [M + H]+ -104.049321 2561.37 30.29 104.049476 C7H5N [M + H]+ -105.033096 2149.88 30.48 105.033491 C7H4O [M + H]+ -124.982587 3771.00 53.42 124.982063 C2H5O2PS [M + H]+ -132.044269 4731.00 58.05 132.044390 C8H5NO [M + H]+ -137.006359 180.00 2.05 137.005873 C3H7NOPS [M + H]+ -151.991870 135.00 1.61 151.992963 C3H6NO2PS [M + H]+ -167.017809 504.00 5.97 167.016438 C4H9NO2PS [M + H]+ -167.970809 90.00 0.54 167.969808 C7H3OS2 [M + H]+ -182.994147 135.00 1.52 182.993283 C8H6OS2 [M + H]+ -318.012863 0.00 0.00 318.013046 C10H12N3O3PS2 [M + H]+ diff --git a/src/tests/class_tests/openms/data/SiriusFragmentAnnotation_test/spectra/C15H17ClN4_[M+H]+.tsv b/src/tests/class_tests/openms/data/SiriusFragmentAnnotation_test/spectra/C15H17ClN4_[M+H]+.tsv new file mode 100644 index 00000000000..f4fdf313527 --- /dev/null +++ b/src/tests/class_tests/openms/data/SiriusFragmentAnnotation_test/spectra/C15H17ClN4_[M+H]+.tsv @@ -0,0 +1,23 @@ +mz intensity rel.intensity exactmass formula ionization +70.040098 24218.53 100.00 70.039974 C2H3N3 [M + H]+ +89.037322 315.00 1.18 89.038577 C7H4 [M + H]+ +98.999966 135.00 0.54 98.999604 C5H3Cl [M + H]+ +115.054570 213.74 0.77 115.054227 C9H6 [M + H]+ +116.061561 270.00 1.11 116.062052 C9H7 [M + H]+ +125.014308 14773.00 63.51 125.015254 C7H5Cl [M + H]+ +130.064515 366.00 1.32 130.065126 C9H7N [M + H]+ +137.014279 249.00 0.91 137.015254 C8H5Cl [M + H]+ +143.072762 168.12 0.67 143.072951 C10H8N [M + H]+ +149.013989 299.00 1.33 149.015254 C9H5Cl [M + H]+ +150.010826 309.00 1.45 150.010503 C8H4ClN [M + H]+ +151.029903 3468.00 15.12 151.030904 C9H7Cl [M + H]+ +153.069565 225.00 0.86 153.069877 C12H8 [M + H]+ +164.024417 1260.00 5.26 164.026153 C9H6ClN [M + H]+ +166.041504 358.00 1.55 166.041803 C9H8ClN [M + H]+ +175.031788 270.00 0.86 175.030904 C11H7Cl [M + H]+ +178.040558 739.00 3.10 178.041803 C10H8ClN [M + H]+ +192.055368 195.00 0.57 192.057453 C11H10ClN [M + H]+ +193.076440 180.00 0.70 193.077855 C12H13Cl [M + H]+ +203.062236 251.00 0.85 203.062204 C13H11Cl [M + H]+ +220.087015 542.00 1.91 220.088754 C13H14ClN [M + H]+ +289.122615 827.00 2.92 289.121451 C15H17ClN4 [M + H]+ diff --git a/src/tests/class_tests/openms/data/SiriusFragmentAnnotation_test/spectrum.ms b/src/tests/class_tests/openms/data/SiriusFragmentAnnotation_test/spectrum.ms index f628d3273b1..e20891c8445 100644 --- a/src/tests/class_tests/openms/data/SiriusFragmentAnnotation_test/spectrum.ms +++ b/src/tests/class_tests/openms/data/SiriusFragmentAnnotation_test/spectrum.ms @@ -1,562 +1,692 @@ ->compound _5585685219772452827-657005-Guthion4 ->formula C10H12N3O3PS2 ->parentmass 318.012862565976 +>compound 0_5053681185761206615-676004--121--Myclobutanil +>formula C15H17ClN4 +>parentmass 289.122615478838 >ionization [M + H]+ >instrumentation Unknown (LCMS) ->source file:/private/var/folders/t7/x82jn_jd09vc_hlq_sqs2jlw0000gn/T/20200504_151338_Olivers-MBP.fritz.box_66126_2.ms +>source file:///home/axel/dev/OpenMS/src/tests/topp/SiriusExport_2_output.ms >quality UNKNOWN ->rt 431.86600000002s +>rt 448.02799999998s >ms1merged -##fid 5585685219772452827 -##fmz 318.012862565976377 -##des Guthion +##fid 5053681185761206615 +##fmz 289.122615478837758 +##des Myclobutanil ##specref_format [MS, MS:1000770, WIFF nativeID format] ##source format [MS, MS:1000562, ABI WIFF format,] -318.012862565976 47593.13228635615 +289.122615478838 1356806.543650602 +290.123323995928 168319.5386947108 +291.117964046924 433903.2521391701 +292.12026079967 99781.63453909254 >ms1peaks -52.005865355475 2936.356689453125 -53.013723515258 15168.8681640625 -53.850400239168 1357.829345703125 -54.009447090145 347607.15625 -55.006110218286 6238.44189453125 -55.011508541956 7268.9580078125 -55.054636618089 2136.0 -55.934309116073 6532.552734375 -56.942275933353 2612.8740234375 -59.04962215863 56011.4296875 -60.044524012498 9000.79296875 -61.039481839151 1786.074829101562 -63.997449394256 3736.1650390625 -64.005109595772 4712.666015625 -68.011792039005 26707.251953125 -68.99370247755 13633.01953125 -69.008646447254 1441.886596679688 -69.044733608562 13552.908203125 -69.494666168807 1088.0 -72.044289477019 1134.0 -72.936653378507 2379.292724609375 -73.064314657279 1947.0 -76.486410468336 2230.0 -77.038532396207 1590.778686523438 -79.021074679723 14557.21484375 -80.049121781728 13038.990234375 -81.93738430988 9136.173828125 -82.996771559276 9647.291015625 -87.044032478393 1164.202392578125 -87.055030197874 1937.880737304688 -89.506480817586 1633.0 -90.489144644798 1823.0 -91.053978578614 1481.0 -95.952653475183 2798.568603515625 -97.968242662562 7804.67626953125 -100.075124666224 1357.0 -102.091023963336 2105.0 -109.943015773476 1849.49267578125 -113.963173340819 2146.0 -114.091149027124 11434.439453125 -118.085562888545 7126.60205078125 -122.095450971812 3351.0 -122.963406396921 11429.5927734375 -123.091816714399 1461.405029296875 -123.962989553704 1162.0 -132.04385813701 23466.287109375 -133.04731226113 2601.019775390625 -136.020979409517 1763.0 -136.111376584671 1338.0 -141.09063153129 1452.329956054688 -141.112250777587 1933.171752929688 -141.957805111647 16272.5205078125 -142.960130525273 1091.785766601562 -147.09088971337 2561.0 -149.022860382613 8952.703125 -149.043461527452 2074.399169921875 -151.096439801801 2539.81591796875 -151.11120914375 2693.475830078125 -155.070028482861 1787.522338867188 -155.10537570316 1554.431030273438 -155.973268704769 4467.0 -158.002234575261 1123.1806640625 -158.153819790011 15565.5439453125 -159.13683057629 1251.366088867188 -159.15692935081 1638.817993164062 -159.968015589745 1144.587158203125 -160.050107538005 10862.0 -161.095753069011 1987.528442382812 -163.130314304873 1321.613403320312 -164.142207413101 1344.506469726562 -170.096003050047 2831.750244140625 -170.116393016687 1241.047485351562 -170.969308188165 1467.0 -171.138824143644 1976.4716796875 -172.132816514555 1070.0 -172.169354072833 1126.623413085938 -173.080592066342 7150.67333984375 -174.127101054123 1093.0 -174.991572624579 1115.259887695312 -175.117966507653 1382.41357421875 -177.053956263481 3086.0 -178.158743604693 1737.946655273438 -179.106488149861 2092.017333984375 -182.961571664514 1566.125366210938 -182.982955367691 1389.804321289062 -186.221312636852 2310 -194.116506735598 3012.14208984375 -195.1219835686 1971.532348632812 -198.184492106186 2254.0 -199.168659259112 1074.472778320312 -200.20054460705 1265.0 -209.152957718499 1444.0 -215.126858142678 1195.0 -217.107186196782 24662.302734375 -218.110233972313 2772.0 -219.095202240315 3180.013427734375 -219.137164883586 1444.293090820312 -224.128646207474 1167.206176757812 -228.19636918932 1732.199340820312 -235.170060948981 1264.53857421875 -236.167946332224 2704.449462890625 -239.089160494599 5259.0 -240.068219796793 1277.48486328125 -240.091769691182 1359.958740234375 -242.284200605489 1137.0 -246.863294404574 3891.0 -249.184938071857 1294.47412109375 -250.177914710678 1312.0 -250.999736865556 2366.0 -251.185303455126 1195.0 -252.996845199048 1725.0 -260.98083113567 9681.0 -262.976934337234 1074.0 -267.172286092444 1268.487426757812 -279.093453473919 1954.0 -281.051187832394 1373.0 -287.889696989575 1142.0 -318.012975056617 4878.0 -327.008528574617 3507.0 -329.005288792022 3151.0 -339.995536258518 21188.0 -340.998304727292 3403.0 -341.991615450972 1965.0 -351.928765172494 2752.0 -353.9258636375 1287.0 -355.970345025132 1233.272216796875 -363.071463720139 4333.0 -371.315937786641 1386.0 -379.93451732672 2414.0 -381.93276558448 1355.0 -430.887891579421 1170.0 -445.119501835711 2373.0 -503.857852657168 1208.0 -505.853144541362 5379.0 -506.85440693393 1813.0 -522.880381915172 2380.0 -523.873038712107 1344.0 -529.890971881918 1718.0 -536.164830382665 5050.0 -537.165530578391 2568.0 -538.164082153377 1889.0 -542.91979154793 1233.0 -544.340309842267 1260.0 -544.91674096605 1184.0 -546.914239791284 3795.0 -547.91282202567 1609.0 -563.944002995814 1077.2587890625 -610.183402350979 1851.0 -611.184706508494 1107.0 -696.940078237106 1408.0 +52.005351813457 2501.610107421875 +53.013412581284 13134.5205078125 +53.850226225992 1302.909057617188 +54.009140063564 338983.65625 +55.006042248338 6435.41259765625 +55.011148435189 6609.39404296875 +55.054172395822 1772.104248046875 +55.934029229957 5757.919921875 +56.941868288709 2705.908203125 +59.049392394217 65787.7578125 +60.04419739655 9389.001953125 +61.039698624921 1629.770751953125 +63.997582420249 4596.09619140625 +64.004915539546 4860.728515625 +68.011405901665 27484.29296875 +68.993238795734 11816.1728515625 +69.044514210085 12151.7626953125 +72.936346245282 1770.0 +73.063844648998 1632.810180664062 +76.485866327556 2207.0 +79.020638014668 15456.1591796875 +80.048700307132 11716.7060546875 +81.936658440041 8339.158203125 +82.995849176432 8191.0 +87.054215388379 1432.329345703125 +89.50580663687 1376.0 +90.488666027165 1798.0 +95.952211902793 2472.0 +97.967974119285 6640.0 +100.0745588278 1418.0 +102.090063528932 1768.0 +109.942148206295 1646.0 +113.96281092092 1728.0009765625 +114.090265101894 9843.087890625 +118.085166173822 5466.14697265625 +122.095082275611 3591.515380859375 +122.962671452755 9919.435546875 +123.090603383338 1818.105346679688 +130.157985838236 1433.0 +136.020144210415 1305.642211914062 +141.111768954054 1381.647338867188 +141.957291332652 13999.958984375 +147.090365251433 2315.56494140625 +149.021998403294 4169.404296875 +151.095653127576 2632.1923828125 +151.109600618565 2638.50390625 +155.06904919199 1400.58837890625 +155.10522171537 1306.244873046875 +155.972774632456 3955.750244140625 +158.152847157321 10190.6318359375 +161.094883274868 1469.0 +164.993233307885 1413.0 +170.0947568042 2692.873779296875 +173.07909618349 5464.607421875 +174.990754641374 1338.0 +175.120920396226 1335.489135742188 +178.157288006504 1567.557739257812 +179.104881581157 1856.0 +182.960071822982 1596.667236328125 +186.016812097735 3128.0 +194.115183195725 3037.01904296875 +195.105676043577 1846.959228515625 +195.121034909827 2138.53466796875 +198.183715433637 1614.0 +201.983396783946 6476.0 +217.007534943089 16000.083984375 +217.105603079 12722.193359375 +218.010461830348 1723.0 +218.108916975941 1918.0 +219.094207015885 1394.0 +234.033666185649 17919.0 +235.036061869219 1699.0 +239.087710708037 2715.0 +245.038087259231 3705.0 +246.860587751512 3017.0 +250.998652800198 2461.0 +252.996040050118 1751.0 +262.065226573716 31878.271484375 +263.067812997194 3540.0 +264.062744585962 1732.0 +276.080875651007 47441.0 +277.083729023421 6202.904296875 +278.078049070253 2909.8056640625 +279.092264164105 2269.0 +281.049607531965 1759.0 +284.16370925301 5971.3173828125 +285.167422523505 1450.9375 +289.120547785899 45105.26171875 +290.122834000335 8899.0 +291.11814896433 16223.0 +292.119468760172 3916.748291015625 +303.104211105075 4272.90087890625 +303.190626643079 3701.817626953125 +304.121038021889 1154982.0 +304.680120827865 1361.469604492188 +304.720450396369 1578.193115234375 +304.756696628278 1464.1357421875 +304.826755934771 1415.802856445312 +304.888295222133 4211.7490234375 +304.975939340234 6444.7470703125 +305.112954471951 109660.9765625 +306.110248734555 72833.0 +307.111946842557 10169.5791015625 +307.247397220322 1757.839477539062 +310.1202124831 5088.0 +320.107070842572 7286.0 +321.109817317563 1634.396606445312 +321.134008500327 1645.504272460938 +326.094135509242 51581.21484375 +327.006663634739 3305.2880859375 +327.096918826684 8025.06396484375 +328.09087936356 3401.237060546875 +329.002848029289 3721.0 +330.204815446188 11820.9521484375 +331.208232327135 2889.0 +342.067980362905 3189.39501953125 +349.169296376205 25098.0 +350.172883605486 4323.0 +351.167291455015 1724.0 +372.149200119315 2817.47705078125 +404.03600410036 11013.0 +405.038241871311 2224.6796875 +424.359699824875 1469.0 +445.117347283461 1962.204711914062 +500.274802921042 11554.1630859375 +501.277725760601 3400.0 +502.28653995658 1910.0 +505.85089556432 2188.0 +536.162361057972 4668.0 +537.163239801382 2428.0 +538.161608472883 1869.0 +544.336387601713 1598.0 +546.911505452596 1493.0 +549.965979448424 1640.0 +592.225456903764 1675.0 +607.216655018496 74091.0 +608.219193446659 23449.0 +609.2158525552 11438.5283203125 +610.208425679746 4454.0 +611.188234775837 1805.798706054688 +612.220726308427 4082.0 +613.22450541899 34075.0 +614.227906702716 11171.0 +615.225014693998 5343.0 +623.210784148654 2510.0 +629.198405169302 68640.0 +630.201595235063 21340.328125 +631.198284234777 10581.0 +632.198298853566 2483.0 +707.140261218123 1384.0 >ms1peaks -52.005717667707 2536.876953125 -53.013645918459 13517.7197265625 -53.851091408425 1440.814208984375 -54.009479564739 340518.46875 -55.006713705873 6189.19580078125 -55.011648330739 5775.9189453125 -55.054395080163 1937.021850585938 -55.934309790351 6216.4873046875 -56.049851096555 1422.552856445312 -56.942103151176 2497.94580078125 -59.049782018324 63557.1875 -60.044617957556 9127.33203125 -61.039564209817 1916.918579101562 -63.998058629288 4341.63134765625 -64.005180932598 4902.9072265625 -68.011727932833 27051.19140625 -68.994002789359 13611.51171875 -69.034264524552 2235.96240234375 -69.044867744672 14147.763671875 -72.936875253829 3080.5009765625 -73.064425531348 1778.78125 -76.486297547963 2075.0 -77.038265451054 5099.8818359375 -79.021270792779 14303.7861328125 -80.049179511142 11132.4833984375 -81.937187525733 8269.017578125 -82.996616277972 9058.6044921875 -87.055191552618 1226.265625 -89.506723502083 2138.0 -90.489274059111 1883.0 -91.053872057085 1250.0 -95.952563443877 2416.9072265625 -97.968351278732 7414.0 -102.091075578098 2124.0 -104.049176798538 2869.822265625 -105.032824057535 2268.30224609375 -109.942659719793 1552.50341796875 -113.963028919819 2876.3134765625 -114.091047730204 9707.0 -118.085960022478 6202.34375 -122.095829000463 3354.874755859375 -122.963603572159 10189.080078125 -123.09199022384 1658.215576171875 -123.962908276753 1264.0 -124.961981387844 1248.617553710938 -124.981468335431 3929.697021484375 -132.044195947098 93934.0703125 -133.046929709006 8774.4619140625 -136.020849942089 1733.0 -136.111849813683 1360.0 -139.963062553447 1109.337646484375 -141.09035858921 1395.717041015625 -141.112852312471 1316.060180664062 -141.957905703603 16856.453125 -142.959660117555 1253.947509765625 -147.09075864945 2468.09130859375 -149.023008191796 6552.861328125 -150.054483884674 1381.87939453125 -151.09625877362 2499.016357421875 -151.110632987131 2703.097412109375 -153.126579038194 1175.0 -155.069775153959 1603.251586914062 -155.105765884478 1708.284912109375 -155.973825500886 4965.0 -158.002736417151 1095.759399414062 -158.153601610996 15319.201171875 -159.156377711765 1693.013305664062 -160.050203671116 29808.1875 -161.053148014827 2780.099853515625 -161.095739798824 1801.900268554688 -164.143136174419 1163.970947265625 -167.016142798795 1938.0 -170.095669159809 2557.841796875 -170.11680388581 1136.247192382812 -170.969513731195 5351.0 -171.138682297569 3310.690673828125 -172.133498266589 1186.970092773438 -172.168816609007 1753.0 -173.079889235839 8137.4248046875 -174.127584523158 1118.0 -177.05339875975 2010.0 -178.158757601913 1500.6982421875 -179.105540802675 2172.2626953125 -182.961283063703 1745.384643554688 -186.221178069795 1622.0 -194.116354222571 3003.0 -195.10216072194 1637.390014648438 -195.121964321705 2114.30712890625 -198.185094857026 2154.0 -209.152949152955 1423.597534179688 -217.106757414349 22820.37109375 -218.109717212262 2365.71533203125 -219.095322856019 2839.912353515625 -224.127859164514 1268.0 -228.195125596876 1796.750244140625 -235.168738541554 1153.106201171875 -236.167125665018 2147.822998046875 -239.089167868946 3697.0 -242.283752097581 1331.0 -246.862020032552 3643.0 -249.184726675759 1740.0 -250.176839865775 1269.149047851562 -251.000052262976 1835.0 -251.185199846439 1143.344848632812 -252.99700073552 1613.0 -253.915053857069 3181.0 -260.98052093694 34136.08984375 -261.983107472769 3914.0 -262.975908361642 3711.0 -267.171176133304 1190.0 -279.094069923914 2218.0 -281.050366742298 1525.0 -304.299335403967 1178.0 -318.012807082281 13905.0 -319.015812641865 1771.0 -320.009779889072 1411.312622070312 -324.021497063862 2274.0 -327.00830348735 3194.0 -329.005675073912 3118.0 -339.995324080662 63593.0 -340.998247708453 9047.66015625 -341.991464705082 6892.0 -351.928380615899 5009.0 -353.925994810456 2303.0 -355.968410053379 3129.565673828125 -363.070877703428 10529.0 -364.073137490148 1819.0 -379.934530374708 4270.0 -381.931407641533 2153.0 -445.120046493581 2353.0 -503.859909772363 1436.0 -505.853063220538 5926.0 -506.854048759295 1904.0 -519.139384687535 1126.0 -522.8803687661 2806.0 -523.877736811317 1418.0 -529.888748439098 1722.0 -536.165143915241 4925.0 -537.165086990853 2707.0 -538.162296228146 1762.0 -542.921174254561 1132.0 -543.918003709155 1152.0 -546.91488699549 3416.0 -547.91221944751 1693.0 -563.943181698806 1223.378784179688 -610.18432293802 2314.0 -611.18429620634 1322.0 -657.001817843383 1409.0 -696.940437510992 3603.0 -698.940217154744 2331.0 +52.005397076818 2734.410888671875 +52.018107045505 1336.588989257812 +53.013261826329 14264.3037109375 +54.009079203842 328540.5625 +55.005732946798 6038.43408203125 +55.011210209049 5773.4833984375 +55.054089450492 1883.920532226562 +55.93393335135 5941.79931640625 +56.049311183158 2529.91064453125 +56.941559341288 2177.7314453125 +59.049288422008 55833.33203125 +60.044400478994 9188.86328125 +61.039483771618 1336.615844726562 +63.99776908929 4226.59521484375 +64.004652574785 4312.662109375 +67.028420902367 1685.13232421875 +68.011303574981 26639.857421875 +68.993400384347 11132.4560546875 +69.044245603619 12842.1396484375 +72.936451870693 2092.43896484375 +73.064343001052 2004.0 +76.485626827097 1932.002563476562 +79.020705537221 15479.7822265625 +80.048746552992 12934.6494140625 +81.936560826315 7849.1748046875 +82.996236710322 7697.5703125 +87.043649221397 1392.278564453125 +87.054161695388 1495.958618164062 +89.506032483299 1554.0 +90.488774891048 1551.744018554688 +91.052857733317 1701.434936523438 +95.951953010697 2094.0 +97.967766546756 6595.5302734375 +109.942695624537 1327.0 +113.961956344849 1877.0 +114.090202311915 11113.38671875 +118.085079269697 5461.0 +122.095332793077 3096.0 +122.962788239519 9551.916015625 +123.089923877343 1592.0 +130.158267685481 1374.0 +136.020500147191 1906.4296875 +141.089705751127 1398.031372070312 +141.111419699029 1374.918823242188 +141.935031405798 2215.52880859375 +141.957114961469 13636.359375 +147.090410388658 2596.0 +149.021734118264 3900.0 +149.0422250444 1717.679077148438 +151.095530836015 2392.175048828125 +151.109345923165 2675.036376953125 +155.069217138005 1392.010375976562 +155.972851416164 3798.715576171875 +158.152680730278 10054.0 +161.095473046681 1550.0 +164.142407569715 1467.709594726562 +170.094842381476 2189.80517578125 +173.079740417554 5427.904296875 +178.157986956425 1455.0 +179.105560744514 1912.301391601562 +182.96069817628 2000.407470703125 +186.016618789428 1896.0 +186.220115257894 1974.0 +194.116069304698 2583.0 +195.12120780654 1998.3037109375 +198.184395565259 1695.0 +201.982853397927 4906.0 +217.00704585203 12703.0 +217.105649597883 13317.7265625 +218.109378650956 2113.98193359375 +219.093923189224 1382.400756835938 +234.033511361987 14162.0 +235.036774500644 1342.0 +239.08726666962 2910.0 +242.282551973761 1561.0 +245.038675382516 2489.0 +246.861414583855 2664.0 +250.998716978816 2090.0 +262.065290180852 23768.0 +263.068197519244 2928.0 +276.081065166232 35016.0 +277.08420013176 4404.0 +278.078513434024 2183.0 +279.092009717775 2217.0 +281.049184165914 1367.0 +284.16336041232 3532.0 +289.121282596047 297520.0 +290.123339528492 48851.796875 +291.118124278084 95531.0 +292.120251426315 17101.046875 +293.12318758226 1858.0654296875 +303.10401477558 2693.449951171875 +303.190353825641 2785.50244140625 +304.119856155362 954170.0 +304.858461688543 1629.946044921875 +304.974182520147 7187.60791015625 +305.110635941863 61549.015625 +306.110453215668 55678.07421875 +307.111643085162 7091.70068359375 +310.120007901196 5493.85400390625 +320.106626078784 4025.0 +326.094632546811 51218.67578125 +327.006414911949 2851.898193359375 +327.096265128312 8263.4248046875 +328.091406924071 3217.697509765625 +329.003058211528 3429.933349609375 +330.205471949815 7747.0 +331.207754653901 1796.0 +342.06742675164 3267.0 +349.169395269431 21267.0 +350.172679880257 4154.27197265625 +351.168393055602 1571.0 +372.0987395627 1670.002075195312 +372.148644610713 2317.465087890625 +389.045115150928 4473.0 +391.043177396698 1663.0 +404.036316278299 7850.0 +405.03999791327 1931.0 +424.359886173771 1591.0 +445.117801993639 2038.0 +500.275651903375 13340.0 +501.278433801524 4082.0 +502.285907017338 2013.566040039062 +505.851095535466 2281.0 +536.163686089478 4281.0 +537.165279310098 2275.0 +538.161599212928 1446.0 +542.322146689605 2319.23583984375 +544.33668100172 2203.0 +546.913546060949 1480.0 +549.965890540792 1571.7275390625 +592.225728725342 6278.0 +593.2291918198 2109.0 +594.222911870749 2943.70703125 +607.216789747777 46858.0 +608.219527953593 15482.0 +609.215333724431 7397.0 +610.196851071075 3575.0 +611.184731787601 1662.0 +612.221188935026 2560.0 +613.225065362361 23067.0 +614.226835965539 7388.0 +615.223918934987 3328.0 +623.150116137773 1311.609985351562 +623.211673074874 1404.509399414062 +629.198822367023 49161.0 +630.201975789631 15060.724609375 +631.197108322666 7602.10302734375 +632.19918227597 1787.0 +707.142781768806 1359.0 >ms1peaks -50.015030688094 1631.0 -52.005691836328 2833.837890625 -53.01367835205 13820.6455078125 -53.850930804944 1372.676147460938 -54.009488813193 341215.375 -55.006244952468 6363.8583984375 -55.011195314574 6663.78662109375 -55.054435589179 2093.444580078125 -55.934214796378 6443.96630859375 -56.04941863771 1614.372314453125 -56.942077131072 2603.345458984375 -59.049684010496 67068.6796875 -60.04467460026 8507.357421875 -61.039576232541 1618.78759765625 -63.997953270808 4540.6123046875 -64.004984885183 4765.146484375 -68.011730125352 26984.06640625 -68.993758540617 13250.0654296875 -69.044639818678 13453.1142578125 -72.936865747985 3009.785888671875 -73.06448744272 1926.0 -76.486106736487 2394.0 -77.012975210189 1331.0 -77.038245950909 6864.013671875 -79.021170250218 14954.513671875 -80.0490554879 12273.78125 -81.937167726085 8605.7216796875 -82.99658125927 9547.8955078125 -87.054493611252 1308.586669921875 -89.506388403917 1579.0 -90.489379547455 1879.0 -91.053817827625 1210.0 -95.952611673257 2421.652587890625 -97.968325410624 7844.62890625 -100.075376789744 1408.0 -102.09094041085 1712.0 -104.048827681379 4021.0 -105.032851808396 3043.7021484375 -109.943040230612 1524.0 -113.96274361115 2300.809326171875 -114.091086475065 10732.537109375 -118.085604757949 6375.12939453125 -122.095612538633 3453.34619140625 -122.963478886657 10149.138671875 -123.091154033496 1907.152587890625 -123.962085557178 1291.0 -124.96403285696 1524.723510742188 -124.981293760905 5573.30078125 -132.044243365317 129513.453125 -133.047275934233 12024.171875 -136.021338396786 1596.0 -136.111611313675 1179.0 -141.090513006913 1389.292724609375 -141.112565247916 1247.203857421875 -141.957978845995 16325.5 -147.090945866648 2556.685302734375 -149.023028218992 6399.154296875 -150.054262184195 1568.0 -151.096430884077 2664.400390625 -151.11101194016 2835.027587890625 -155.069438117684 1871.94482421875 -155.105960083325 1401.0 -155.973753152622 4288.0 -158.153627071218 14384.0 -159.156473714741 1627.7529296875 -160.050487288307 38915.0 -161.053611692746 4466.9423828125 -161.095700587134 1743.057495117188 -164.142944501592 1256.052368164062 -167.015735366166 2785.089599609375 -170.09615154372 2652.023193359375 -170.116409887737 1324.37646484375 -170.968993556255 7076.0 -171.13767114481 4912.31201171875 -172.136045264128 1371.0 -173.079830429233 8581.9287109375 -174.991306236853 1198.0 -177.054219725911 1769.0 -178.157947155736 1498.908447265625 -179.106050750592 1934.090454101562 -182.960933723657 1780.0615234375 -182.991388549794 1244.30908203125 -186.221152079128 2287.0 -194.116900036921 2752.0 -195.121615177487 1919.471069335938 -198.18441255994 2140.0 -200.200455656322 1296.55419921875 -209.153704347399 1590.0 -212.888258624179 1535.0 -217.106944592366 24346.0 -218.110517718319 2646.0 -219.095540028475 2644.006591796875 -228.19609714019 1527.811645507812 -236.167749124378 1677.0 -239.089312381813 3327.0 -242.284215148787 1201.0 -246.862288406064 3365.0 -249.184532839914 1860.293334960938 -251.001107206325 2362.0 -252.997444701878 1876.0 -253.916335213075 4093.0 -260.980865788213 46877.0 -261.983931158765 5301.0 -262.976772362746 4418.0 -267.172661485943 1410.0 -277.199859444074 2417.590087890625 -279.093448238935 1888.450561523438 -281.051163936397 1557.0 -292.121170689402 15731.0 -293.123945781771 2615.0 -294.118820607873 4859.0 -295.12182147643 1186.0 -318.013460543863 19020.0 -319.016226586969 2819.0 -320.010792812476 1745.0 -324.021120495162 2522.0 -327.007928037291 3314.07763671875 -329.005428091932 3187.0 -331.002680981835 1140.2294921875 -335.040406311528 1228.0 -339.995783079981 73785.0 -340.998517552508 10283.0 -341.99208904745 7216.0 -351.928943475892 4368.0 -353.92651925668 2362.0 -355.969819970535 3512.076416015625 -363.071778928522 11698.970703125 -364.073181575102 1981.0 -371.31552539996 1354.0 -379.934529706961 4095.88330078125 -381.932716463007 2062.0 -445.119746997025 2474.0 -446.119291863183 1145.0 -505.853826516954 4858.0 -506.855308046231 1451.0 -519.13933040428 1166.703979492188 -522.880837958116 1970.0 -523.871380297922 1372.0 -529.891671811182 1342.0 -536.165890644769 5714.0 -537.166372879728 2646.0 -538.163391669663 2155.0 -544.339624971493 1155.0 -546.91403937314 3234.0 -547.912958504845 1306.0 -610.184280095073 1860.0 -611.183517202231 1239.0 -657.000223829242 1834.0 -696.940499292838 3022.0 -698.938485246113 2250.0 +52.005617027968 2841.486083984375 +53.013411271366 13567.8837890625 +54.009125331887 341665.8125 +55.005857415052 5900.7900390625 +55.011242701615 6013.953125 +55.054093292119 2035.055908203125 +55.933978586076 5672.33837890625 +56.049467099919 1695.441040039062 +56.94178230893 2173.33740234375 +59.049339198083 62878.703125 +60.044404001763 9862.6142578125 +61.039435521241 1719.998779296875 +63.997664239141 3450.59716796875 +64.005081384586 3958.136474609375 +68.011443914678 27040.419921875 +68.993714467215 12520.46484375 +69.007373071731 1388.10791015625 +69.044312866744 13073.23046875 +72.93642300411 2084.0 +73.063871079142 1705.0 +76.485830845774 2577.0 +79.020684296263 13782.1328125 +80.048779775419 11186.9970703125 +81.936674853257 8327.65625 +82.996269546702 8040.20166015625 +89.506005127285 1468.281982421875 +90.489095167913 1675.0 +95.951948147015 2520.51513671875 +97.967758472339 6678.626953125 +102.090788355145 2027.477661132812 +113.962336972098 2071.0 +114.090407289761 9387.833984375 +118.085129231385 6116.0 +122.09563813811 3776.03076171875 +122.962814871209 10117.1689453125 +123.09071509347 1657.50146484375 +136.020905158615 1394.424438476562 +140.067586645329 1617.045654296875 +141.112054526426 1383.640991210938 +141.93570970262 1911.949829101562 +141.957347460629 13581.779296875 +147.090339739564 2374.998291015625 +149.022576244489 3994.022705078125 +151.095387083973 2392.279052734375 +151.109293023596 2750.11474609375 +155.06969917273 1332.009765625 +155.972973853574 3810.662841796875 +158.152617650358 10434.0 +159.15482186858 1369.0 +161.095811541558 1615.0 +170.09478689383 2397.4794921875 +170.116223095026 1563.12939453125 +173.079809386205 6290.7470703125 +178.157999558146 1344.694458007812 +179.105474980732 1898.194946289062 +182.961052201833 2004.073364257812 +186.220351226598 1623.0 +193.157127136625 1493.4091796875 +194.115785614334 2955.0 +195.120763129781 1823.166137695312 +198.184413101409 2214.0 +201.984090601891 2436.0 +217.007207589124 6332.41943359375 +217.105727151964 16770.736328125 +218.108791440056 2512.0 +234.033555067529 7474.0 +239.08784770299 2936.0 +242.2830768363 1598.0 +245.03911035763 1466.0 +246.860750264023 2469.0 +249.183092518468 1366.967651367188 +250.999128212314 2641.0 +252.995944883436 1376.0 +262.065576474895 11528.0 +263.068397905954 1693.0 +276.080823895982 18533.0 +277.084470217057 2604.24365234375 +279.093578782719 2100.0 +281.049703566301 1340.0 +284.163284328388 2755.0 +288.245192514905 2240.408203125 +289.124028104405 571675.0 +289.974079344843 2398.387451171875 +290.020293351816 2510.57177734375 +290.12300483356 37005.6328125 +291.118405903154 172664.0625 +292.12044024798 30711.75 +293.123309031099 2511.0 +303.10399927149 1878.0 +303.190085777343 1857.193237304688 +304.115683834546 552400.0 +304.984847835069 1705.556396484375 +305.107785187759 57481.2109375 +306.110327480189 29213.0 +307.11238432698 4304.0 +310.120384968947 4593.26953125 +311.105475064582 1824.0 +320.107323506761 2737.0 +326.09481066741 41008.0 +327.006437528123 3347.260986328125 +327.09645563603 6753.96142578125 +328.092188803708 2930.0 +329.003747738298 3355.0 +330.205009985617 6046.36767578125 +331.208059597585 1436.0 +342.068061155461 2814.0 +349.1700609529 13874.0 +350.172621024257 2607.730712890625 +372.148688883306 1405.186401367188 +389.044748240917 7650.0 +390.04749755921 1913.0 +391.042419990568 2801.0 +392.068522384462 2797.0 +394.066194691334 1609.439208984375 +404.03664725 3756.0 +424.362220661973 1680.073608398438 +445.118239809427 2256.0 +457.032674519482 1580.0 +468.387534165811 1625.361328125 +487.228056299732 1735.0 +500.275588301319 14065.0 +501.278629401665 3579.0 +502.286881001175 2107.0 +505.851399270242 2207.88427734375 +531.255889309595 1828.0 +536.162574795725 4348.0 +537.164900413678 2412.0 +538.160905924694 1840.207275390625 +542.321702796647 4110.07568359375 +543.325936834084 1425.0 +544.336609702317 2008.0 +546.912855890436 1498.0 +592.225267665071 7023.0 +593.153130472392 2079.229736328125 +593.228621623492 2593.85986328125 +594.223736830213 3021.337890625 +607.216353924445 19371.0 +608.21987654802 6018.0 +609.216035675932 2735.843994140625 +610.184990477 2845.0 +612.185596819648 1643.0 +613.224838309655 6730.89697265625 +614.227226894726 2411.0 +629.198664613593 14632.0 +630.201165251457 4128.0 +631.197724705928 2446.0 +639.156464406238 1485.0 +641.154235888014 1515.855590820312 +654.147541437576 1594.0 +692.150340948486 1581.0 >ms2peaks -##specref ms_run[1]:sample=1 period=1 cycle=657 experiment=5 -##n_id sample=1 period=1 cycle=657 experiment=5 -##scan 4 -##m_id sample=1 period=1 cycle=657 experiment=5_0 -51.024411650566 166.0 -77.038595873029 3035.0 -78.994852705761 195.0 -102.033579338103 169.0 -104.050175822373 488.0 -105.032352182141 910.895751953125 -124.981761234611 1563.0 -130.038666860551 105.0 -132.043763332558 1142.0 -167.019219324624 150.0 +##specref ms_run[1]:sample=1 period=1 cycle=676 experiment=4 +##scan 121 +##n_id sample=1 period=1 cycle=676 experiment=4 +##m_id Myclobutanil_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=676 experiment=4_0 +70.039827273652 5131.529296875 +82.041077772907 30.0 +82.066941721068 30.0 +83.048162364624 30.0 +89.038123713717 30.0 +98.998128961124 45.0 +99.005937159691 45.0 +116.057773265737 45.0 +116.068964884923 45.0 +125.014210234006 2627.0 +128.869373457499 30.0 +129.050864049931 30.0 +129.066487998016 43.279674530029 +130.062932087251 75.0 +130.074324678654 75.0 +131.069149811718 90.0 +137.012353655287 30.0 +143.074736350629 45.0 +143.085702367776 45.0 +149.013720936376 75.0 +150.009016679015 90.0 +151.029635761105 960.0 +153.071034687141 30.0 +164.027845684388 225.0 +166.040731347006 75.0 +167.084665955303 45.0 +168.094844704597 30.0 +173.861021388832 75.0 +178.040593736165 180.0 +191.04991567702 45.0 +203.057899363272 45.0 +220.08807292582 120.0 +289.119266976743 135.0 >ms2peaks -##specref ms_run[1]:sample=1 period=1 cycle=658 experiment=6 -##n_id sample=1 period=1 cycle=658 experiment=6 -##scan 14 -##m_id sample=1 period=1 cycle=658 experiment=6_0 -50.014691789931 30.0 -50.024594232484 15.0 -51.023487773864 693.36083984375 -55.057307673128 13.0 -62.0174161448 60.0 -62.022558150102 60.0 -75.021910544523 45.0 -76.969400380676 13.0 -77.038719402888 7559.6708984375 -77.35876699224 13.0 -77.908647248588 30.0 -77.91640978654 30.0 -78.032820819888 30.0 -78.994535162676 491.007476806641 -92.024213095291 30.0 -93.009414078685 30.0 -101.731414730929 13.0 -102.033724528028 301.612030029297 -103.740436291946 30.0 -104.049620996277 2037.0 -105.033096287295 2149.8779296875 -109.009378682469 13.0 -110.990785884171 13.0 -124.609786162675 45.0 -124.982586564713 3771.0 -130.038871325813 312.0 -132.044466950146 3875.0 -132.737736847345 13.0 -133.059399526787 30.0 -134.515630815072 13.0 -135.045638388353 30.0 -137.006358531913 180.0 -151.992732393118 135.0 -167.017809464954 504.0 -167.97523906975 30.0 -168.014364521589 15.0 -182.994146815153 135.0 +##specref ms_run[1]:sample=1 period=1 cycle=677 experiment=5 +##scan 131 +##n_id sample=1 period=1 cycle=677 experiment=5 +##m_id Myclobutanil_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=677 experiment=5_0 +55.054639659329 105.0 +55.060017620298 92.68334197998 +56.049823597015 30.0 +57.069035771002 30.0 +65.037770341976 30.0 +69.832588352285 45.0 +70.039908024674 17805.998046875 +70.065015706368 30.0 +70.282524899395 30.0 +70.655650228794 30.0 +70.662690104158 30.0 +70.671685449976 30.0 +70.680369758222 30.0 +71.073891359706 30.0 +80.047874421886 45.0 +81.071842605128 75.0 +82.039226093295 45.0 +82.068250865158 45.0 +83.046676696339 105.0 +89.037423472355 210.0 +90.046133682594 75.0 +95.071588708154 60.0 +98.999966313572 135.0 +103.050438931432 30.0 +115.05516672796 150.0 +116.06252226169 210.0 +122.999173332647 45.0 +124.644051017099 60.0 +124.994916353506 582.297302246094 +125.014371187472 12549.0 +125.378378046066 30.0 +125.39053167682 30.0 +128.046903884584 225.0 +129.05537365472 75.0 +129.064357675053 60.0 +130.062595084552 180.0 +131.075918885468 60.0 +131.089262432243 60.0 +137.014910793247 150.0 +139.029843740401 105.0 +139.049300450331 47.856365203857 +143.072761538143 168.118270874023 +143.089863992705 96.726943969727 +149.013988771638 299.0 +150.010736302066 285.0 +151.030302067974 2704.0 +152.065539738869 30.0 +153.069429336803 150.0 +157.100583676525 45.0 +158.108303191611 30.0 +162.029804830888 30.0 +163.016613439026 30.0 +163.027865460821 30.0 +164.025164845834 997.0 +165.032309967876 230.13996887207 +165.048285398527 267.0 +165.068235719394 71.195930480957 +166.041158820976 300.0 +167.084364530618 120.0 +168.091368874638 180.0 +169.091421834386 45.0 +170.096865844811 90.0 +175.029690206742 135.0 +177.033157268884 30.0 +178.041386504653 543.0 +184.113505217082 75.0 +185.131013174733 45.0 +188.038417071829 30.0 +191.051083107779 30.0 +192.056950923082 75.0 +193.074112586304 150.0 +203.062235811985 251.0 +220.086936658481 240.0 +289.118902482462 413.0 >ms2peaks -##specref ms_run[1]:sample=1 period=1 cycle=659 experiment=7 -##n_id sample=1 period=1 cycle=659 experiment=7 -##scan 24 -##m_id sample=1 period=1 cycle=659 experiment=7_0 -50.011945356227 45.0 -50.016256671506 49.487056732178 -50.022471395276 30.022994995117 -51.023137253924 713.147644042969 -62.018117926456 60.0 -75.022593594554 90.0 -77.038765619679 6198.34619140625 -78.994159655565 300.0 -95.049659419828 45.0 -102.032654025566 195.0 -104.049320764675 2561.366455078125 -104.71761104349 45.0 -105.033125946638 2057.04736328125 -105.0586640101 164.415649414062 -124.98206987935 3636.0 -130.03888329577 336.0 -132.04426880522 4731.0 -137.00503129507 165.0 -151.991870480462 135.0 -167.017216144522 349.0 -167.97080906871 90.0 -170.968502602363 45.0 -170.979804540922 45.0 -182.992849568269 120.0 +##specref ms_run[1]:sample=1 period=1 cycle=678 experiment=3 +##scan 138 +##n_id sample=1 period=1 cycle=678 experiment=3 +##m_id Myclobutanil_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=678 experiment=3_0 +55.05427043422 105.0 +56.052257730119 45.0 +57.069642685298 75.0 +57.076278365435 58.515125274658 +58.064669437897 30.0 +58.069671200743 30.0 +69.831821936433 120.0 +70.040097536413 24218.52734375 +70.062801316593 31.250431060791 +70.429050963972 30.0 +70.438704107352 30.0 +70.574152845601 53.442497253418 +71.040963389931 30.0 +71.331546496348 45.0 +71.547711411837 30.0 +71.554731582869 30.0 +81.069977524059 75.0 +82.040024877605 180.0 +82.064998747631 45.0 +82.071892633579 45.0 +83.046815904048 150.0 +89.037322041009 315.0 +93.058395230178 30.0 +94.065823923167 15.0 +95.073128971584 30.0 +98.998707139648 75.0 +115.038697637289 93.372489929199 +115.054570314383 213.739791870117 +116.061560571436 270.0 +122.996698381028 60.0 +123.007612454196 60.0 +123.995047593998 30.0 +124.002911191956 30.0 +125.014307674051 14773.0 +125.381473665944 30.0 +125.393966225912 30.0 +125.593372072822 30.0 +125.599867839373 30.0 +126.051609264641 30.0 +126.059603286955 30.0 +127.054832877589 45.0 +128.048017316181 180.0 +129.07207623044 45.0 +129.857221738296 30.0 +129.870016169563 30.0 +130.064515161974 366.0 +131.073613293583 60.0 +137.014278524345 249.0 +139.030165806979 60.0 +143.060465185927 75.0 +143.07401284668 104.308815002441 +143.089076083416 75.0 +144.077234015868 30.0 +149.015246811528 255.0 +150.010825556181 309.0 +150.598024297069 30.0 +150.607575019774 30.0 +151.029903267346 3468.0 +152.066634976325 75.0 +153.048272599038 48.395233154297 +153.069565327336 225.0 +156.056088009549 27.453353881836 +156.078507049206 90.0 +158.105667049362 30.0 +158.1156938966 30.0 +163.028234418456 150.0 +163.04907477486 101.341789245605 +164.024417450344 1260.0 +164.048222951239 223.749069213867 +165.033343347864 300.0 +165.07168912024 100.887588500977 +166.041504194847 358.0 +167.083021637505 120.0 +168.092033871908 180.0 +168.126067348571 15.0 +170.097096768962 45.0 +175.031788442407 270.0 +177.045702469556 45.0 +178.040557800332 739.0 +179.064601892177 45.0 +184.112879145243 75.0 +185.120289107757 30.0 +188.038359439527 30.0 +191.046836106019 45.0 +192.055368291335 195.0 +193.076440167615 180.0 +203.062460725867 150.0 +205.065521702945 45.0 +218.068791434007 45.0 +220.087014664115 542.0 +289.122158220479 827.0 diff --git a/src/tests/class_tests/openms/data/test_old.mzMLb b/src/tests/class_tests/openms/data/test_old.mzMLb new file mode 100644 index 00000000000..144aa9c406a Binary files /dev/null and b/src/tests/class_tests/openms/data/test_old.mzMLb differ diff --git a/src/tests/class_tests/openms/executables.cmake b/src/tests/class_tests/openms/executables.cmake index f22aa8e3eea..19ca3f49102 100644 --- a/src/tests/class_tests/openms/executables.cmake +++ b/src/tests/class_tests/openms/executables.cmake @@ -2,11 +2,8 @@ set(concept_executables_list ClassTest_test Colorizer_test Exception_Base_test - FactoryBase_test - Factory_test FuzzyStringComparator_test #GlobalExceptionHandler_test - SingletonRegistry_test StreamHandler_test VersionInfo_test LogConfigHandler_test @@ -67,7 +64,6 @@ set(datastructures_executables_list MassExplainer_test MatchedIterator_test Matrix_test - #MatrixUtils_test OPXLDataStructs_test Param_test ParamValue_test @@ -485,7 +481,6 @@ set(analysis_executables_list FIAMSScheduler_test FLASHDeconvAlgorithm_test FLASHDeconvHelperStructs_test - HiddenMarkovModel_test IDBoostGraph_test IDMapper_test IDMergerAlgorithm_test @@ -505,6 +500,7 @@ set(analysis_executables_list ItraqEightPlexQuantitationMethod_test TMTSixPlexQuantitationMethod_test TMTTenPlexQuantitationMethod_test + TMTElevenPlexQuantitationMethod_test TMTSixteenPlexQuantitationMethod_test TMTEighteenPlexQuantitationMethod_test KDTreeFeatureMaps_test @@ -519,7 +515,6 @@ set(analysis_executables_list MapAlignmentAlgorithmIdentification_test MapAlignmentAlgorithmKD_test MapAlignmentAlgorithmPoseClustering_test - MapAlignmentAlgorithmSpectrumAlignment_test MapAlignmentAlgorithmTreeGuided_test MapAlignmentEvaluationAlgorithmPrecision_test MapAlignmentEvaluationAlgorithmRecall_test @@ -546,7 +541,6 @@ set(analysis_executables_list PoseClusteringAffineSuperimposer_test PoseClusteringShiftSuperimposer_test PrecursorPurity_test - ProtonDistributionModel_test ProteinResolver_test PSProteinInference_test QTClusterFinder_test @@ -610,7 +604,6 @@ set(transformations_executables_list PeakPickerIterative_test PeakPickerMaxima_test PeakWidthEstimator_test - ProductModel_test SeedListGenerator_test TraceFitter_test ) diff --git a/src/tests/class_tests/openms/source/AverageLinkage_test.cpp b/src/tests/class_tests/openms/source/AverageLinkage_test.cpp index b3fc1cb4814..ae1dc032aac 100644 --- a/src/tests/class_tests/openms/source/AverageLinkage_test.cpp +++ b/src/tests/class_tests/openms/source/AverageLinkage_test.cpp @@ -44,7 +44,6 @@ START_SECTION((AverageLinkage(const AverageLinkage &source))) { AverageLinkage al1; AverageLinkage copy(al1); - TEST_EQUAL(copy.getProductName(), al1.getProductName()); } END_SECTION @@ -52,7 +51,6 @@ START_SECTION((AverageLinkage& operator=(const AverageLinkage &source))) { AverageLinkage copy,al2; copy = al2; - TEST_EQUAL(copy.getProductName(), al2.getProductName()); } END_SECTION @@ -120,21 +118,6 @@ START_SECTION((void operator()(DistanceMatrix< float > &original_distance, std:: } END_SECTION -START_SECTION((static const String getProductName())) -{ - AverageLinkage al5; - TEST_EQUAL(al5.getProductName(), "AverageLinkage") -} -END_SECTION - -START_SECTION((static ClusterFunctor* create())) -{ - ClusterFunctor* cf = AverageLinkage::create(); - TEST_NOT_EQUAL( dynamic_cast(cf) , nullPointer) - delete cf; -} -END_SECTION - ///////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////// END_TEST diff --git a/src/tests/class_tests/openms/source/BaseGroupFinder_test.cpp b/src/tests/class_tests/openms/source/BaseGroupFinder_test.cpp index 642ff2a4e0c..985252a22e9 100644 --- a/src/tests/class_tests/openms/source/BaseGroupFinder_test.cpp +++ b/src/tests/class_tests/openms/source/BaseGroupFinder_test.cpp @@ -46,9 +46,6 @@ START_SECTION((virtual ~BaseGroupFinder())) delete ptr; END_SECTION -START_SECTION((static void registerChildren())) - NOT_TESTABLE -END_SECTION START_SECTION((virtual void run(const std::vector< ConsensusMap > &input, ConsensusMap &result)=0)) NOT_TESTABLE diff --git a/src/tests/class_tests/openms/source/BaseModel_test.cpp b/src/tests/class_tests/openms/source/BaseModel_test.cpp index 249b43f9ad4..5a07955afd9 100644 --- a/src/tests/class_tests/openms/source/BaseModel_test.cpp +++ b/src/tests/class_tests/openms/source/BaseModel_test.cpp @@ -12,6 +12,7 @@ /////////////////////////// #include +#include #include /////////////////////////// @@ -19,34 +20,32 @@ using namespace OpenMS; using std::stringstream; -class TestModel : public BaseModel<2> +START_TEST(BaseModel, "$Id$") + +class TestModel : public BaseModel { public: TestModel() - : BaseModel<2>() + : BaseModel() { - setName(getProductName()); - + setName("TestModel"); check_defaults_ = false; - defaultsToParam_(); } TestModel(const TestModel& source) - : BaseModel<2>(source) + : BaseModel(source) { updateMembers_(); } - ~TestModel() override - { - } + ~TestModel() override {} virtual TestModel& operator = (const TestModel& source) { if (&source == this) return *this; - BaseModel<2>::operator = (source); + BaseModel::operator = (source); updateMembers_(); return *this; @@ -54,12 +53,12 @@ class TestModel : public BaseModel<2> void updateMembers_() override { - BaseModel<2>::updateMembers_(); + BaseModel::updateMembers_(); } IntensityType getIntensity(const PositionType& pos) const override { - return pos[0]+pos[1]; + return pos[0]; } bool isContained(const PositionType& pos) const override @@ -71,14 +70,8 @@ class TestModel : public BaseModel<2> { } - static const String getProductName() - { - return "TestModel"; - } - }; -START_TEST(BaseModel, "$Id$") // default ctor TestModel* ptr = nullptr; @@ -95,12 +88,12 @@ END_SECTION // assignment operator START_SECTION((virtual BaseModel& operator=(const BaseModel &source))) - TestModel tm1; + TestModel tm1; TestModel tm2; tm1.setCutOff(3.3); tm2 = tm1; - TEST_REAL_SIMILAR(tm1.getCutOff(),tm2.getCutOff()) + TEST_REAL_SIMILAR(tm1.getCutOff(),tm2.getCutOff()) END_SECTION // copy constructor @@ -124,38 +117,35 @@ START_SECTION((virtual void setCutOff(IntensityType cut_off))) END_SECTION START_SECTION(([EXTRA]const String& getName() const)) - TestModel s; + TestModel s; TEST_EQUAL(s.getName(), "TestModel") END_SECTION START_SECTION((virtual IntensityType getIntensity(const PositionType &pos) const =0)) { - const TestModel s; + const TestModel s; TestModel::PositionType pos; pos[0]=0.1; - pos[1]=0.2; - TEST_REAL_SIMILAR(s.getIntensity(pos), 0.3); + TEST_REAL_SIMILAR(s.getIntensity(pos), 0.1); } END_SECTION START_SECTION((virtual bool isContained(const PositionType &pos) const)) - TestModel s; + TestModel s; s.setCutOff(0.9); TestModel::PositionType pos; pos[0]=0.1; - pos[1]=0.2; const TestModel& t = s; TEST_EQUAL(t.isContained(pos), false) END_SECTION START_SECTION((template void fillIntensity(PeakType &peak) const)) - const TestModel t; + const TestModel t; TestModel::PeakType p; p.getPosition()[0]=0.1; - p.getPosition()[1]=0.2; p.setIntensity(0.1f); t.fillIntensity(p); - TEST_REAL_SIMILAR(p.getIntensity(), 0.3) + TEST_REAL_SIMILAR(p.getIntensity(), 0.1) END_SECTION START_SECTION((template void fillIntensities(PeakIterator begin, PeakIterator end) const)) @@ -163,9 +153,9 @@ START_SECTION((template void fillIntensities(PeakIterator b std::vector< TestModel::PeakType > vec(4); for (Size i=0; i<4; ++i) { - vec[i].setIntensity(-0.5); - vec[i].getPosition()[0] = i; - } + vec[i].setIntensity(-0.5); + vec[i].getPosition()[0] = i; + } t.fillIntensities(vec.begin()+1, vec.end()-1); TEST_EQUAL(vec[0].getIntensity(), -0.5) TEST_EQUAL(vec[1].getIntensity(), 1.0) @@ -181,10 +171,6 @@ START_SECTION([EXTRA] DefaultParmHandler::setParameters(...)) TEST_REAL_SIMILAR(m.getParameters().getValue("cutoff"), 17.0) END_SECTION -START_SECTION((static void registerChildren())) - // TODO -END_SECTION - START_SECTION((virtual IntensityType getCutOff() const)) TestModel s; s.setCutOff(4.4); @@ -199,12 +185,6 @@ START_SECTION((virtual void getSamples(std::ostream &os))) NOT_TESTABLE; END_SECTION -START_SECTION((template void registerChildren())) -{ - NOT_TESTABLE; -} -END_SECTION - ///////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////// diff --git a/src/tests/class_tests/openms/source/BaseSuperimposer_test.cpp b/src/tests/class_tests/openms/source/BaseSuperimposer_test.cpp index 681e78c49e9..482c24ab38a 100644 --- a/src/tests/class_tests/openms/source/BaseSuperimposer_test.cpp +++ b/src/tests/class_tests/openms/source/BaseSuperimposer_test.cpp @@ -65,10 +65,6 @@ START_SECTION((virtual void run(const ConsensusMap& map_model, const ConsensusMa } END_SECTION -START_SECTION((static void registerChildren())) - NOT_TESTABLE -END_SECTION - ///////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////// END_TEST diff --git a/src/tests/class_tests/openms/source/BiGaussFitter1D_test.cpp b/src/tests/class_tests/openms/source/BiGaussFitter1D_test.cpp index c82eaeb48fa..dc164b3596b 100644 --- a/src/tests/class_tests/openms/source/BiGaussFitter1D_test.cpp +++ b/src/tests/class_tests/openms/source/BiGaussFitter1D_test.cpp @@ -91,23 +91,6 @@ START_SECTION((QualityType fit1d(const RawDataArrayType &range, InterpolationMo TEST_EQUAL(1,1) END_SECTION -START_SECTION((Fitter1D* create())) -{ - Fitter1D* ptr = BiGaussFitter1D::create(); - TEST_EQUAL(ptr->getName(), "BiGaussFitter1D") - TEST_NOT_EQUAL(ptr, nullPointer) - delete ptr; -} -END_SECTION - -START_SECTION((const String getProductName())) -{ - TEST_EQUAL(BiGaussFitter1D::getProductName(),"BiGaussFitter1D") - TEST_EQUAL(BiGaussFitter1D().getName(),"BiGaussFitter1D") -} -END_SECTION - - ///////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////// END_TEST diff --git a/src/tests/class_tests/openms/source/BiGaussModel_test.cpp b/src/tests/class_tests/openms/source/BiGaussModel_test.cpp index dd498938dd0..fec43d1fa8f 100644 --- a/src/tests/class_tests/openms/source/BiGaussModel_test.cpp +++ b/src/tests/class_tests/openms/source/BiGaussModel_test.cpp @@ -39,13 +39,8 @@ START_SECTION((virtual ~BiGaussModel())) delete ptr; END_SECTION -START_SECTION((static const String getProductName())) - TEST_EQUAL(BiGaussModel::getProductName(),"BiGaussModel") - TEST_EQUAL(BiGaussModel().getName(),"BiGaussModel") -END_SECTION - -START_SECTION( static BaseModel<1>* create() ) - BaseModel<1>* ptr = BiGaussModel::create(); +START_SECTION( static BaseModel* create() ) + BaseModel* ptr = new BiGaussModel(); TEST_EQUAL(ptr->getName(), "BiGaussModel") TEST_NOT_EQUAL(ptr, nullPointer) delete ptr; diff --git a/src/tests/class_tests/openms/source/BilinearInterpolation_test.cpp b/src/tests/class_tests/openms/source/BilinearInterpolation_test.cpp index 2212ed4f110..c5126a28856 100644 --- a/src/tests/class_tests/openms/source/BilinearInterpolation_test.cpp +++ b/src/tests/class_tests/openms/source/BilinearInterpolation_test.cpp @@ -43,25 +43,6 @@ START_TEST( BilinearInterpolation, "$Id$" ) ///////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////// -START_SECTION([EXTRA] typedefs ) -{ - typedef BilinearInterpolation < float, double > BIFD; - BIFD::ValueType * value; - BIFD::KeyType * key; - BIFD::ContainerType * container; - BIFD::ContainerType::value_type * containerValue; - value = nullptr; - key = nullptr; - container = nullptr; - containerValue = nullptr; - // shut off warnings - (void)value; - (void)key; - (void)container; - (void)containerValue; - NOT_TESTABLE; -} -END_SECTION typedef BilinearInterpolation < float, double > BIFD; @@ -85,7 +66,7 @@ END_SECTION START_SECTION(BilinearInterpolation& operator= ( BilinearInterpolation const & arg )) { BIFD::ContainerType v; - v.resize(2,3); + v.getEigenMatrix().resize(2,3); v(0,0) = 17; v(0,1) = 18.9; v(0,2) = 20.333; @@ -120,7 +101,7 @@ END_SECTION START_SECTION(BilinearInterpolation( BilinearInterpolation const & arg )) { BIFD::ContainerType v; - v.resize(2,3); + v.getEigenMatrix().resize(2,3); v(0,0) = 17; v(0,1) = 18.9; v(0,2) = 20.333; @@ -153,7 +134,7 @@ END_SECTION START_SECTION(ContainerType& getData()) { BIFD bifd; - bifd.getData().resize(2,3); + bifd.getData().getEigenMatrix().resize(2,3); bifd.getData()(1,2) = 10012; bifd.getData()(0,0) = 10000; bifd.getData()(1,0) = 10010; @@ -175,7 +156,7 @@ END_SECTION START_SECTION(template< typename SourceContainer > void setData( SourceContainer const & data )) { BIFD bifd; - bifd.getData().resize(2,3); + bifd.getData().getEigenMatrix().resize(2,3); bifd.getData()(1,2) = 10012; bifd.getData()(0,0) = 10000; bifd.getData()(1,0) = 10010; @@ -188,7 +169,7 @@ START_SECTION(template< typename SourceContainer > void setData( SourceContainer TEST_EQUAL(bifd.getData(),bifd2.getData()); BIFD bifd3; - bifd3.getData().resize(2,3); + bifd3.getData().getEigenMatrix().resize(2,3); TEST_NOT_EQUAL(bifd.getData(),bifd3.getData()); } END_SECTION @@ -294,7 +275,7 @@ START_SECTION(KeyType supportMax_0() const) bifd.setMapping_0(3,1,2); bifd.setMapping_1(5,3,4); - bifd.getData().resize(2,3); + bifd.getData().getEigenMatrix().resize(2,3); TEST_REAL_SIMILAR(bifd.index2key_0(0),-1); TEST_REAL_SIMILAR(bifd.index2key_0(1),2); @@ -417,7 +398,7 @@ START_SECTION(KeyType supportMax_1() const) bifd.setMapping_1(3,1,2); bifd.setMapping_0(5,3,4); - bifd.getData().resize(3,2); + bifd.getData().getEigenMatrix().resize(3,2); TEST_REAL_SIMILAR(bifd.index2key_1(0),-1); TEST_REAL_SIMILAR(bifd.index2key_1(1),2); @@ -442,22 +423,20 @@ START_SECTION(bool empty() const) { BIFD bifd; TEST_EQUAL(bifd.empty(),true); - bifd.getData().resize(1,2); + bifd.getData().getEigenMatrix().resize(1,2); TEST_EQUAL(bifd.empty(),false); - bifd.getData().resize(0,0); + bifd.getData().getEigenMatrix().resize(0,0); TEST_EQUAL(bifd.empty(),true); - bifd.getData().resize(1,2); + bifd.getData().getEigenMatrix().resize(1,2); TEST_EQUAL(bifd.empty(),false); - bifd.getData().resize(1,0); + bifd.getData().getEigenMatrix().resize(1,0); TEST_EQUAL(bifd.empty(),true); - bifd.getData().resize(1,2); + bifd.getData().getEigenMatrix().resize(1,2); TEST_EQUAL(bifd.empty(),false); - bifd.getData().resize(0,0); + bifd.getData().getEigenMatrix().resize(0,0); TEST_EQUAL(bifd.empty(),true); - bifd.getData().resize(2,2); + bifd.getData().getEigenMatrix().resize(2,2); TEST_EQUAL(bifd.empty(),false); - bifd.getData().clear(); - TEST_EQUAL(bifd.empty(),true); } END_SECTION @@ -484,29 +463,32 @@ START_SECTION((void addValue( KeyType arg_pos_0, KeyType arg_pos_1, ValueType ar verbose(STATUS("j: " << j)); BIFD bifd_small; - bifd_small.getData().resize(5,5,0); + bifd_small.getData().getEigenMatrix().resize(5,5); + bifd_small.getData().getEigenMatrix().setZero(); bifd_small.setMapping_0( 0, 0, 5, 5 ); bifd_small.setMapping_1( 0, 0, 5, 5 ); bifd_small.addValue( p, q, 100 ); - for ( BIFD::ContainerType::iterator iter = bifd_small.getData().begin(); - iter != bifd_small.getData().end(); - ++iter - ) *iter = Math::round(*iter); + bifd_small.getData().getEigenMatrix() = + bifd_small.getData().getEigenMatrix().unaryExpr([](double val) { + return Math::round(val); + }); verbose(STATUS(" " << bifd_small.getData())); BIFD bifd_big; - bifd_big.getData().resize(15,15,0); + bifd_big.getData().getEigenMatrix().resize(15,15); + bifd_big.getData().getEigenMatrix().setZero(); bifd_big.setMapping_0( 5, 0, 10, 5 ); bifd_big.setMapping_1( 5, 0, 10, 5 ); bifd_big.addValue( p, q, 100 ); - for ( BIFD::ContainerType::iterator iter = bifd_big.getData().begin(); - iter != bifd_big.getData().end(); - ++iter - ) *iter = Math::round(*iter); + // Round the entries of the matrix in place + bifd_big.getData().getEigenMatrix() = + bifd_big.getData().getEigenMatrix().unaryExpr([](double val) { + return Math::round(val); + }); verbose(STATUS(bifd_big.getData())); BIFD::ContainerType big_submatrix; - big_submatrix.resize(5,5); + big_submatrix.getEigenMatrix().resize(5,5); for ( int m = 0; m < 5; ++m ) for ( int n = 0; n < 5; ++n ) big_submatrix(m,n)=bifd_big.getData()(m+5,n+5); @@ -535,8 +517,10 @@ START_SECTION((ValueType value( KeyType arg_pos_0, KeyType arg_pos_1 ) const)) BIFD bifd_small; BIFD bifd_big; - bifd_small.getData().resize(5,5,0); - bifd_big.getData().resize(15,15,0); + bifd_small.getData().getEigenMatrix().resize(5,5); + bifd_small.getData().getEigenMatrix().setZero(); + bifd_big.getData().getEigenMatrix().resize(15,15); + bifd_big.getData().getEigenMatrix().setZero(); for ( int i = 0; i < 5; ++i ) { for ( int j = 0; j < 5; ++j ) diff --git a/src/tests/class_tests/openms/source/BinnedSharedPeakCount_test.cpp b/src/tests/class_tests/openms/source/BinnedSharedPeakCount_test.cpp index 0d6667d887c..b7ad48602d2 100644 --- a/src/tests/class_tests/openms/source/BinnedSharedPeakCount_test.cpp +++ b/src/tests/class_tests/openms/source/BinnedSharedPeakCount_test.cpp @@ -84,22 +84,6 @@ START_SECTION((double operator()(const BinnedSpectrum &spec) const )) } END_SECTION -START_SECTION((static BinnedSpectrumCompareFunctor* create())) -{ - BinnedSpectrumCompareFunctor* bsf = BinnedSharedPeakCount::create(); - BinnedSharedPeakCount bsp; - TEST_EQUAL(bsf->getParameters(), bsp.getParameters()) - TEST_EQUAL(bsf->getName(), bsp.getName()) - delete bsf; -} -END_SECTION - -START_SECTION((static const String getProductName())) -{ - TEST_EQUAL(ptr->getProductName(), "BinnedSharedPeakCount") -} -END_SECTION - delete ptr; ///////////////////////////////////////////////////////////// diff --git a/src/tests/class_tests/openms/source/BinnedSpectralContrastAngle_test.cpp b/src/tests/class_tests/openms/source/BinnedSpectralContrastAngle_test.cpp index 345c07a6ce2..3ff47d47747 100644 --- a/src/tests/class_tests/openms/source/BinnedSpectralContrastAngle_test.cpp +++ b/src/tests/class_tests/openms/source/BinnedSpectralContrastAngle_test.cpp @@ -80,22 +80,6 @@ START_SECTION((double operator()(const BinnedSpectrum &spec) const )) } END_SECTION -START_SECTION((static BinnedSpectrumCompareFunctor* create())) -{ - BinnedSpectrumCompareFunctor* bsf = BinnedSpectralContrastAngle::create(); - BinnedSpectralContrastAngle bsp; - TEST_EQUAL(bsf->getParameters(), bsp.getParameters()) - TEST_EQUAL(bsf->getName(), bsp.getName()) - delete bsf; -} -END_SECTION - -START_SECTION((static const String getProductName())) -{ - TEST_EQUAL(ptr->getProductName(), "BinnedSpectralContrastAngle") -} -END_SECTION - delete ptr; ///////////////////////////////////////////////////////////// diff --git a/src/tests/class_tests/openms/source/BinnedSpectrumCompareFunctor_test.cpp b/src/tests/class_tests/openms/source/BinnedSpectrumCompareFunctor_test.cpp index 91d6387ceb3..684f182daf3 100644 --- a/src/tests/class_tests/openms/source/BinnedSpectrumCompareFunctor_test.cpp +++ b/src/tests/class_tests/openms/source/BinnedSpectrumCompareFunctor_test.cpp @@ -11,7 +11,6 @@ /////////////////////////// #include -#include using namespace OpenMS; using namespace std; @@ -59,26 +58,6 @@ START_SECTION((virtual double operator()(const BinnedSpectrum &spec) const =0)) } END_SECTION -START_SECTION((static void registerChildren())) -{ - BinnedSpectrumCompareFunctor* c1 = Factory::create("BinnedSharedPeakCount"); - TEST_EQUAL(c1->getName(), "BinnedSharedPeakCount") - delete c1; - c1 = Factory::create("BinnedSpectralContrastAngle"); - TEST_EQUAL(c1->getName(), "BinnedSpectralContrastAngle") - delete c1; - c1 = Factory::create("BinnedSumAgreeingIntensities"); - TEST_EQUAL(c1->getName(), "BinnedSumAgreeingIntensities") - delete c1; -} -END_SECTION - -START_SECTION((static const String getProductName())) -{ - TEST_EQUAL(BinnedSpectrumCompareFunctor::getProductName(), "BinnedSpectrumCompareFunctor") -} -END_SECTION - START_SECTION(([BinnedSpectrumCompareFunctor::IncompatibleBinning] IncompatibleBinning(const char *file, int line, const char *function, const char *message="compared spectra have different settings in binsize and/or binspread"))) { NOT_TESTABLE diff --git a/src/tests/class_tests/openms/source/BinnedSumAgreeingIntensities_test.cpp b/src/tests/class_tests/openms/source/BinnedSumAgreeingIntensities_test.cpp index d75e9dda226..3e68174581d 100644 --- a/src/tests/class_tests/openms/source/BinnedSumAgreeingIntensities_test.cpp +++ b/src/tests/class_tests/openms/source/BinnedSumAgreeingIntensities_test.cpp @@ -84,22 +84,6 @@ START_SECTION((double operator()(const BinnedSpectrum &spec) const )) } END_SECTION -START_SECTION((static BinnedSpectrumCompareFunctor* create())) -{ - BinnedSpectrumCompareFunctor* bsf = BinnedSumAgreeingIntensities::create(); - BinnedSumAgreeingIntensities bsp; - TEST_EQUAL(bsf->getParameters(), bsp.getParameters()) - TEST_EQUAL(bsf->getName(), bsp.getName()) - delete bsf; -} -END_SECTION - -START_SECTION((static const String getProductName())) -{ - TEST_EQUAL(ptr->getProductName(), "BinnedSumAgreeingIntensities") -} -END_SECTION - delete ptr; ///////////////////////////////////////////////////////////// diff --git a/src/tests/class_tests/openms/source/ClusterFunctor_test.cpp b/src/tests/class_tests/openms/source/ClusterFunctor_test.cpp index 31ba97a6b9d..b64487e8f46 100644 --- a/src/tests/class_tests/openms/source/ClusterFunctor_test.cpp +++ b/src/tests/class_tests/openms/source/ClusterFunctor_test.cpp @@ -8,7 +8,6 @@ #include #include -#include #include #include #include @@ -54,25 +53,6 @@ START_SECTION((virtual void operator()(DistanceMatrix< float > &original_distanc } END_SECTION -START_SECTION((static void registerChildren())) -{ - ClusterFunctor* cfp = Factory::create("AverageLinkage"); - AverageLinkage* avl_nullPointer = nullptr; - TEST_NOT_EQUAL( dynamic_cast(cfp) , avl_nullPointer) - delete cfp; - - cfp = Factory::create("SingleLinkage"); - SingleLinkage* sl_nullPointer = nullptr; - TEST_NOT_EQUAL( dynamic_cast(cfp) , sl_nullPointer) - delete cfp; - - cfp = Factory::create("CompleteLinkage"); - CompleteLinkage* cl_nullPointer = nullptr; - TEST_NOT_EQUAL( dynamic_cast(cfp) , cl_nullPointer) - delete cfp; -} -END_SECTION - START_SECTION(([ClusterFunctor::InsufficientInput] InsufficientInput(const char *file, int line, const char *function, const char *message="not enough data points to cluster anything"))) { NOT_TESTABLE diff --git a/src/tests/class_tests/openms/source/ComplementFilter_test.cpp b/src/tests/class_tests/openms/source/ComplementFilter_test.cpp index 8e23d445647..6c945da0de4 100644 --- a/src/tests/class_tests/openms/source/ComplementFilter_test.cpp +++ b/src/tests/class_tests/openms/source/ComplementFilter_test.cpp @@ -70,18 +70,6 @@ START_SECTION((template double apply(SpectrumType& spectr END_SECTION -START_SECTION((static FilterFunctor* create())) - FilterFunctor* ff = ComplementFilter::create(); - ComplementFilter cf; - TEST_EQUAL(ff->getParameters(), cf.getParameters()) - TEST_EQUAL(ff->getName(), cf.getName()) - delete ff; -END_SECTION - -START_SECTION((static const String getProductName())) - TEST_EQUAL(e_ptr->getProductName(), "ComplementFilter") -END_SECTION - delete e_ptr; ///////////////////////////////////////////////////////////// diff --git a/src/tests/class_tests/openms/source/ComplementMarker_test.cpp b/src/tests/class_tests/openms/source/ComplementMarker_test.cpp index f18b17985d5..9a8242f02b5 100644 --- a/src/tests/class_tests/openms/source/ComplementMarker_test.cpp +++ b/src/tests/class_tests/openms/source/ComplementMarker_test.cpp @@ -76,18 +76,6 @@ START_SECTION((template void apply(std::map END_SECTION -START_SECTION((static PeakMarker* create())) - PeakMarker* pm = ComplementMarker::create(); - ComplementMarker cm; - TEST_EQUAL(pm->getParameters(), cm.getParameters()) - TEST_EQUAL(pm->getName(), cm.getName()) - delete pm; -END_SECTION - -START_SECTION((static const String getProductName())) - TEST_EQUAL(e_ptr->getProductName(), "ComplementMarker") -END_SECTION - delete e_ptr; ///////////////////////////////////////////////////////////// diff --git a/src/tests/class_tests/openms/source/CompleteLinkage_test.cpp b/src/tests/class_tests/openms/source/CompleteLinkage_test.cpp index c61b665555e..91c0faf2a25 100644 --- a/src/tests/class_tests/openms/source/CompleteLinkage_test.cpp +++ b/src/tests/class_tests/openms/source/CompleteLinkage_test.cpp @@ -44,7 +44,6 @@ ptr = new CompleteLinkage(); START_SECTION((CompleteLinkage(const CompleteLinkage &source))) { CompleteLinkage copy(*ptr); - TEST_EQUAL(copy.getProductName(), ptr->getProductName()); } END_SECTION @@ -52,7 +51,6 @@ START_SECTION((CompleteLinkage& operator=(const CompleteLinkage &source))) { CompleteLinkage copy; copy = *ptr; - TEST_EQUAL(copy.getProductName(), ptr->getProductName()); } END_SECTION @@ -121,20 +119,6 @@ START_SECTION((void operator()(DistanceMatrix< float > &original_distance, std:: } END_SECTION -START_SECTION((static const String getProductName())) -{ - TEST_EQUAL(ptr->getProductName(), "CompleteLinkage") -} -END_SECTION - -START_SECTION((static ClusterFunctor* create())) -{ - ClusterFunctor* cf = CompleteLinkage::create(); - TEST_NOT_EQUAL( dynamic_cast(cf) , nullPointer) - delete cf; -} -END_SECTION - delete ptr; ///////////////////////////////////////////////////////////// diff --git a/src/tests/class_tests/openms/source/EmgFitter1D_test.cpp b/src/tests/class_tests/openms/source/EmgFitter1D_test.cpp index 0ac667cbbb6..4b6abcfa7c6 100644 --- a/src/tests/class_tests/openms/source/EmgFitter1D_test.cpp +++ b/src/tests/class_tests/openms/source/EmgFitter1D_test.cpp @@ -138,23 +138,6 @@ START_SECTION((QualityType fit1d(const RawDataArrayType &range, InterpolationMo END_SECTION -START_SECTION((Fitter1D* create())) -{ - Fitter1D* ptr = EmgFitter1D::create(); - TEST_EQUAL(ptr->getName(), "EmgFitter1D") - TEST_NOT_EQUAL(ptr, nullPointer) - delete ptr; -} -END_SECTION - -START_SECTION((const String getProductName())) -{ - TEST_EQUAL(EmgFitter1D::getProductName(),"EmgFitter1D") - TEST_EQUAL(EmgFitter1D().getName(),"EmgFitter1D") -} -END_SECTION - - ///////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////// END_TEST diff --git a/src/tests/class_tests/openms/source/EmgModel_test.cpp b/src/tests/class_tests/openms/source/EmgModel_test.cpp index 6c079d02143..e8cfce7ac11 100644 --- a/src/tests/class_tests/openms/source/EmgModel_test.cpp +++ b/src/tests/class_tests/openms/source/EmgModel_test.cpp @@ -41,18 +41,6 @@ START_SECTION((virtual ~EmgModel())) delete ptr; END_SECTION -START_SECTION((static const String getProductName())) - TEST_EQUAL(EmgModel::getProductName(),"EmgModel") - TEST_EQUAL(EmgModel().getName(),"EmgModel") -END_SECTION - -START_SECTION((static BaseModel<1>* create())) - BaseModel<1>* ptr = EmgModel::create(); - TEST_EQUAL(ptr->getName(), "EmgModel") - TEST_NOT_EQUAL(ptr, nullPointer) - delete ptr; -END_SECTION - // assignment operator START_SECTION((virtual EmgModel& operator=(const EmgModel &source))) EmgModel em1; diff --git a/src/tests/class_tests/openms/source/ExtendedIsotopeFitter1D_test.cpp b/src/tests/class_tests/openms/source/ExtendedIsotopeFitter1D_test.cpp index d0922cfa75b..95738ed75ee 100644 --- a/src/tests/class_tests/openms/source/ExtendedIsotopeFitter1D_test.cpp +++ b/src/tests/class_tests/openms/source/ExtendedIsotopeFitter1D_test.cpp @@ -86,19 +86,6 @@ START_SECTION((QualityType fit1d(const RawDataArrayType &range, InterpolationMo TEST_EQUAL(1,1) END_SECTION -START_SECTION((Fitter1D* create())) - Fitter1D* ptr = ExtendedIsotopeFitter1D::create(); - TEST_EQUAL(ptr->getName(), "ExtendedIsotopeFitter1D") - TEST_NOT_EQUAL(ptr, nullPointer) - delete ptr; -END_SECTION - -START_SECTION((const String getProductName())) - TEST_EQUAL(ExtendedIsotopeFitter1D::getProductName(),"ExtendedIsotopeFitter1D") - TEST_EQUAL(ExtendedIsotopeFitter1D().getName(),"ExtendedIsotopeFitter1D") -END_SECTION - - ///////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////// END_TEST diff --git a/src/tests/class_tests/openms/source/ExtendedIsotopeModel_test.cpp b/src/tests/class_tests/openms/source/ExtendedIsotopeModel_test.cpp index 2f1ca1eb59e..d15856d41b5 100644 --- a/src/tests/class_tests/openms/source/ExtendedIsotopeModel_test.cpp +++ b/src/tests/class_tests/openms/source/ExtendedIsotopeModel_test.cpp @@ -40,18 +40,6 @@ START_SECTION((virtual ~ExtendedIsotopeModel())) delete ptr; END_SECTION -START_SECTION(static BaseModel<1>* create()) - BaseModel<1>* ptr = ExtendedIsotopeModel::create(); - TEST_EQUAL(ptr->getName(), "ExtendedIsotopeModel") - TEST_NOT_EQUAL(ptr, nullPointer) - delete ptr; -END_SECTION - -START_SECTION((static const String getProductName())) - TEST_EQUAL(ExtendedIsotopeModel::getProductName(),"ExtendedIsotopeModel") - TEST_EQUAL(ExtendedIsotopeModel().getName(),"ExtendedIsotopeModel") -END_SECTION - // assignment operator START_SECTION((virtual ExtendedIsotopeModel& operator=(const ExtendedIsotopeModel &source))) ExtendedIsotopeModel im1; diff --git a/src/tests/class_tests/openms/source/FactoryBase_test.cpp b/src/tests/class_tests/openms/source/FactoryBase_test.cpp deleted file mode 100644 index 91f56403318..00000000000 --- a/src/tests/class_tests/openms/source/FactoryBase_test.cpp +++ /dev/null @@ -1,43 +0,0 @@ -// Copyright (c) 2002-present, The OpenMS Team -- EKU Tuebingen, ETH Zurich, and FU Berlin -// SPDX-License-Identifier: BSD-3-Clause -// -// -------------------------------------------------------------------------- -// $Maintainer: Chris Bielow $ -// $Authors: $ -// -------------------------------------------------------------------------- - -#include -#include - -/////////////////////////// -#include -/////////////////////////// - -using namespace OpenMS; -using namespace std; - -START_TEST(FactoryBase, "$Id$") - -///////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////// - -FactoryBase* ptr = nullptr; -FactoryBase* nullPointer = nullptr; -START_SECTION(FactoryBase()) -{ - ptr = new FactoryBase(); - TEST_NOT_EQUAL(ptr, nullPointer) -} -END_SECTION - -START_SECTION(~FactoryBase()) -{ - delete ptr; -} -END_SECTION - - -///////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////// -END_TEST - diff --git a/src/tests/class_tests/openms/source/Factory_test.cpp b/src/tests/class_tests/openms/source/Factory_test.cpp deleted file mode 100644 index f2072e82f41..00000000000 --- a/src/tests/class_tests/openms/source/Factory_test.cpp +++ /dev/null @@ -1,75 +0,0 @@ -// Copyright (c) 2002-present, The OpenMS Team -- EKU Tuebingen, ETH Zurich, and FU Berlin -// SPDX-License-Identifier: BSD-3-Clause -// -// -------------------------------------------------------------------------- -// $Maintainer: Chris Bielow $ -// $Authors: $ -// -------------------------------------------------------------------------- - -#include -#include - -/////////////////////////// - -#include - -#include - -/////////////////////////// - -using namespace OpenMS; -using namespace std; - -START_TEST(, "$Id$") - -///////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////// - -// Factory is singleton, therefore we don't test the constructor -START_SECTION(static FactoryProduct* create(const String& name)) - FilterFunctor* p = Factory::create("TICFilter"); - TICFilter reducer; - TEST_EQUAL(*p==reducer,true); - delete p; -END_SECTION - -START_SECTION( static void registerProduct(const String& name, const FunctionType creator) ) - Factory::registerProduct(TICFilter::getProductName(), &TICFilter::create); - FilterFunctor* ext = Factory::create("TICFilter"); - FilterFunctor* nullPointer = nullptr; - TEST_NOT_EQUAL(ext, nullPointer) - delete ext; -END_SECTION - -START_SECTION(static bool isRegistered(const String& name)) - TEST_EQUAL(Factory::isRegistered("TICFilter"), true) - TEST_EQUAL(Factory::isRegistered("TICFilter_bla_bluff"), false) -END_SECTION - -START_SECTION(static std::vector registeredProducts()) - vector list = Factory::registeredProducts(); - TEST_EQUAL(list.size(),6) -END_SECTION - -START_SECTION([EXTRA] multithreaded example) -{ - - int nr_iterations (1e2); - int test = 0; -#pragma omp parallel for reduction (+: test) - for (int k = 1; k < nr_iterations + 1; k++) - { - FilterFunctor* p = Factory::create("TICFilter"); - TICFilter reducer; - test += (*p == reducer); - delete p; - } - TEST_EQUAL(test, nr_iterations) -} -END_SECTION - -///////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////// -END_TEST - - diff --git a/src/tests/class_tests/openms/source/FeatureFinderAlgorithmMRM_test.cpp b/src/tests/class_tests/openms/source/FeatureFinderAlgorithmMRM_test.cpp index 9372bf7f5ee..92ad15f7d57 100644 --- a/src/tests/class_tests/openms/source/FeatureFinderAlgorithmMRM_test.cpp +++ b/src/tests/class_tests/openms/source/FeatureFinderAlgorithmMRM_test.cpp @@ -13,8 +13,8 @@ #include /////////////////////////// -#include #include +#include using namespace OpenMS; using namespace std; @@ -26,18 +26,17 @@ START_TEST(FeatureFinderAlgorithmMRM, "$Id$") FeatureFinderAlgorithmMRM* ptr = nullptr; FeatureFinderAlgorithmMRM* nullPointer = nullptr; -FeatureFinderAlgorithm* ffA_nullPointer = nullptr; START_SECTION(FeatureFinderAlgorithmMRM()) { ptr = new FeatureFinderAlgorithmMRM(); - TEST_NOT_EQUAL(ptr, nullPointer) + TEST_NOT_EQUAL(ptr, nullPointer) } END_SECTION START_SECTION(~FeatureFinderAlgorithmMRM()) { - delete ptr; + delete ptr; } END_SECTION @@ -45,56 +44,44 @@ ptr = new FeatureFinderAlgorithmMRM(); START_SECTION((virtual void run())) { - FeatureFinder ff; + FeatureFinderAlgorithmMRM ff; ff.setLogType(ProgressLogger::NONE); PeakMap exp; - MzMLFile().load(OPENMS_GET_TEST_DATA_PATH("FeatureFinderAlgorithmMRM_input.mzML"), exp); + MzMLFile().load(OPENMS_GET_TEST_DATA_PATH("FeatureFinderAlgorithmMRM_input.mzML"), exp); - FeatureMap features, seeds; - Param ff_param(ptr->getParameters()); - ff.run("mrm", exp, features, ff_param, seeds); + FeatureMap features, seeds; + Param ff_param(ptr->getParameters()); + ff.run(exp, features, ff_param, seeds); - TEST_EQUAL(exp.getChromatograms().size(), 3) + TEST_EQUAL(exp.getChromatograms().size(), 3) - FeatureMap new_features; - for (Size i = 0; i != features.size(); ++i) - { - if (features[i].getQuality(0) > 0.99) - { - new_features.push_back(features[i]); - } - } + FeatureMap new_features; + for (Size i = 0; i != features.size(); ++i) + { + if (features[i].getQuality(0) > 0.99) { new_features.push_back(features[i]); } + } - TEST_EQUAL(new_features.size(), 3) + TEST_EQUAL(new_features.size(), 3) - for (Size i = 0; i != new_features.size(); ++i) - { - TEST_EQUAL(new_features[i].getIntensity() > 100000, true) - } + for (Size i = 0; i != new_features.size(); ++i) + { + TEST_EQUAL(new_features[i].getIntensity() > 100000, true) + } } END_SECTION -START_SECTION((static FeatureFinderAlgorithm* create())) +START_SECTION((static FeatureFinderAlgorithm * create())) { - FeatureFinderAlgorithm* ptr2 = nullptr; - ptr2 = FeatureFinderAlgorithmMRM::create(); - TEST_NOT_EQUAL(ptr2, ffA_nullPointer) + FeatureFinderAlgorithmMRM* ptr2 = nullptr; + ptr2 = new FeatureFinderAlgorithmMRM(); + TEST_NOT_EQUAL(ptr2, nullptr) delete ptr2; } END_SECTION -START_SECTION((static const String getProductName())) -{ - TEST_STRING_EQUAL(ptr->getProductName(), "mrm") -} -END_SECTION - delete ptr; ///////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////// END_TEST - - - diff --git a/src/tests/class_tests/openms/source/FeatureFinderAlgorithmPicked_test.cpp b/src/tests/class_tests/openms/source/FeatureFinderAlgorithmPicked_test.cpp index e9365a2b16e..7f55ac10b4d 100644 --- a/src/tests/class_tests/openms/source/FeatureFinderAlgorithmPicked_test.cpp +++ b/src/tests/class_tests/openms/source/FeatureFinderAlgorithmPicked_test.cpp @@ -31,7 +31,6 @@ typedef FeatureFinderAlgorithmPicked FFPP; FFPP* ptr = nullptr; FFPP* nullPointer = nullptr; -FeatureFinderAlgorithm* ffA_nullPointer = nullptr; START_SECTION((FeatureFinderAlgorithmPicked())) ptr = new FFPP; @@ -42,16 +41,6 @@ START_SECTION((~FeatureFinderAlgorithmPicked())) delete ptr; END_SECTION -START_SECTION((static FeatureFinderAlgorithm* create())) - FeatureFinderAlgorithm* ptr2 = FFPP::create(); - TEST_NOT_EQUAL(ptr2,ffA_nullPointer) - delete ptr2; -END_SECTION - -START_SECTION((static const String getProductName())) - TEST_EQUAL(FFPP::getProductName(),"centroided") -END_SECTION - START_SECTION((virtual void run())) //input and output PeakMap input; @@ -65,13 +54,11 @@ START_SECTION((virtual void run())) Param param; ParamXMLFile paramFile; paramFile.load(OPENMS_GET_TEST_DATA_PATH("FeatureFinderAlgorithmPicked.ini"), param); - param = param.copy("FeatureFinder:1:algorithm:",true); - //Dummy featurefinder - FeatureFinder ff; + param = param.copy("FeatureFinder:1:algorithm:", true); FFPP ffpp; ffpp.setParameters(param); - ffpp.setData(input, output, ff); + ffpp.setData(input, output); ffpp.run(); TEST_EQUAL(output.size(), 8); diff --git a/src/tests/class_tests/openms/source/FeatureFinderAlgorithm_test.cpp b/src/tests/class_tests/openms/source/FeatureFinderAlgorithm_test.cpp index fc910fd7e54..7bb54efa38c 100644 --- a/src/tests/class_tests/openms/source/FeatureFinderAlgorithm_test.cpp +++ b/src/tests/class_tests/openms/source/FeatureFinderAlgorithm_test.cpp @@ -52,11 +52,6 @@ namespace OpenMS { return this->features_; } - - const FeatureFinder* getFF() - { - return this->ff_; - } }; } @@ -70,7 +65,6 @@ FFA* nullPointer = nullptr; PeakMap* map_nullPointer = nullptr; FeatureMap* featureMap_nullPointer = nullptr; -FeatureFinder* ff_nullPointer = nullptr; START_SECTION((FeatureFinderAlgorithm())) ptr = new FFA(); @@ -95,16 +89,14 @@ START_SECTION((void setData(const MapType& map, FeatureMap features, FeatureFind FFA ffa; TEST_EQUAL(ffa.getMap(),map_nullPointer) TEST_EQUAL(ffa.getFeatures(),featureMap_nullPointer) - TEST_EQUAL(ffa.getFF(),ff_nullPointer) PeakMap map; FeatureMap features; FeatureFinder ff; - ffa.setData(map, features, ff); + ffa.setData(map, features); TEST_NOT_EQUAL(ffa.getMap(),map_nullPointer) TEST_NOT_EQUAL(ffa.getFeatures(),featureMap_nullPointer) - TEST_NOT_EQUAL(ffa.getFF(),ff_nullPointer) END_SECTION START_SECTION((virtual void setSeeds(const FeatureMap& seeds))) diff --git a/src/tests/class_tests/openms/source/FeatureFinder_test.cpp b/src/tests/class_tests/openms/source/FeatureFinder_test.cpp index 646290a71ef..a27e9215057 100644 --- a/src/tests/class_tests/openms/source/FeatureFinder_test.cpp +++ b/src/tests/class_tests/openms/source/FeatureFinder_test.cpp @@ -38,64 +38,6 @@ START_SECTION((virtual ~FeatureFinder())) delete ptr; END_SECTION -START_SECTION((template void run(const String &algorithm_name, MSExperiment< PeakType > const &input_map, FeatureMap< FeatureType > &features, const Param ¶m, const FeatureMap& seeds))) - FeatureFinder ff; - FeatureMap features; - - //empty map works -> nothing to do - PeakMap map; - ff.run("none", map, features, Param(), FeatureMap()); - - //no updateRanges -> exception - map.resize(2); - map[0].resize(1); - map[1].resize(1); - TEST_EXCEPTION(Exception::IllegalArgument, ff.run("none", map, features, Param(), FeatureMap())) - - //updateRanges -> it works again - map.updateRanges(); - ff.run("none", map, features, Param(), FeatureMap()); - - //MS2 scans -> exception - map[0].setMSLevel(1); - map[0].setMSLevel(2); - map.updateRanges(); - TEST_EXCEPTION(Exception::IllegalArgument, ff.run("none", map, features, Param(), FeatureMap())) -END_SECTION - -START_SECTION((const Flag& getPeakFlag(const IndexPair& index) const)) - FeatureFinder ff; - FeatureMap features; - PeakMap map; - map.resize(2); - map[0].resize(1); - map[1].resize(1); - map.updateRanges(); - ff.run("none", map, features, Param(), FeatureMap()); - TEST_EQUAL(ff.getPeakFlag(make_pair(0,0)),FeatureFinderDefs::UNUSED) - TEST_EQUAL(ff.getPeakFlag(make_pair(1,0)),FeatureFinderDefs::UNUSED) -END_SECTION - -START_SECTION((Flag& getPeakFlag(const IndexPair& index))) - FeatureFinder ff; - FeatureMap features; - PeakMap map; - map.resize(2); - map[0].resize(1); - map[1].resize(1); - map.updateRanges(); - ff.run("none", map, features, Param(), FeatureMap()); - ff.getPeakFlag(make_pair(0,0)) = FeatureFinderDefs::USED; - TEST_EQUAL(ff.getPeakFlag(make_pair(0,0)),FeatureFinderDefs::USED) - TEST_EQUAL(ff.getPeakFlag(make_pair(1,0)),FeatureFinderDefs::UNUSED) -END_SECTION - -START_SECTION((Param getParameters(const String& algorithm_name) const)) - FeatureFinder ff; - TEST_EQUAL(ff.getParameters("none").empty(),true) - TEST_EQUAL(ff.getParameters("centroided").empty(),false) -END_SECTION - ///////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////// END_TEST diff --git a/src/tests/class_tests/openms/source/FeatureGroupingAlgorithmKD_test.cpp b/src/tests/class_tests/openms/source/FeatureGroupingAlgorithmKD_test.cpp index d7c9d898641..f43c670e36c 100644 --- a/src/tests/class_tests/openms/source/FeatureGroupingAlgorithmKD_test.cpp +++ b/src/tests/class_tests/openms/source/FeatureGroupingAlgorithmKD_test.cpp @@ -30,18 +30,6 @@ START_SECTION((virtual ~FeatureGroupingAlgorithmKD())) delete ptr; END_SECTION -START_SECTION((static FeatureGroupingAlgorithm* create())) - FeatureGroupingAlgorithm* ptr2 = nullptr; - FeatureGroupingAlgorithm* base_NullPointer = nullptr; - ptr2 = FeatureGroupingAlgorithmKD::create(); - TEST_NOT_EQUAL(ptr2, base_NullPointer) - delete ptr2; -END_SECTION - -START_SECTION((static String getProductName())) - TEST_EQUAL(FeatureGroupingAlgorithmKD::getProductName(), "unlabeled_kd") -END_SECTION - START_SECTION((virtual void group(const std::vector& maps, ConsensusMap& out))) // This is tested in the tool NOT_TESTABLE; diff --git a/src/tests/class_tests/openms/source/FeatureGroupingAlgorithmLabeled_test.cpp b/src/tests/class_tests/openms/source/FeatureGroupingAlgorithmLabeled_test.cpp index 1c1db8f5359..1538f7599e5 100644 --- a/src/tests/class_tests/openms/source/FeatureGroupingAlgorithmLabeled_test.cpp +++ b/src/tests/class_tests/openms/source/FeatureGroupingAlgorithmLabeled_test.cpp @@ -34,18 +34,6 @@ START_SECTION((virtual ~FeatureGroupingAlgorithmLabeled())) delete ptr; END_SECTION -START_SECTION((static FeatureGroupingAlgorithm* create())) - FeatureGroupingAlgorithm* ptr2 = nullptr; - FeatureGroupingAlgorithm* base_NullPointer = nullptr; - ptr2 = FeatureGroupingAlgorithmLabeled::create(); - TEST_NOT_EQUAL(ptr2, base_NullPointer) - delete ptr2; -END_SECTION - -START_SECTION((static String getProductName())) - TEST_EQUAL(FeatureGroupingAlgorithmLabeled::getProductName(),"labeled") -END_SECTION - START_SECTION((virtual void group(const std::vector< FeatureMap > &maps, ConsensusMap &out))) TOLERANCE_ABSOLUTE(0.001) diff --git a/src/tests/class_tests/openms/source/FeatureGroupingAlgorithmQT_test.cpp b/src/tests/class_tests/openms/source/FeatureGroupingAlgorithmQT_test.cpp index 6f217c442a2..76bae7763ff 100644 --- a/src/tests/class_tests/openms/source/FeatureGroupingAlgorithmQT_test.cpp +++ b/src/tests/class_tests/openms/source/FeatureGroupingAlgorithmQT_test.cpp @@ -34,18 +34,6 @@ START_SECTION((virtual ~FeatureGroupingAlgorithmQT())) delete ptr; END_SECTION -START_SECTION((static FeatureGroupingAlgorithm* create())) - FeatureGroupingAlgorithm* ptr2 = nullptr; - FeatureGroupingAlgorithm* base_NullPointer = nullptr; - ptr2 = FeatureGroupingAlgorithmQT::create(); - TEST_NOT_EQUAL(ptr2, base_NullPointer) - delete ptr2; -END_SECTION - -START_SECTION((static String getProductName())) - TEST_EQUAL(FeatureGroupingAlgorithmQT::getProductName(), "unlabeled_qt") -END_SECTION - START_SECTION((virtual void group(const std::vector< FeatureMap >& maps, ConsensusMap& out))) // This is tested extensively in TEST/TOPP NOT_TESTABLE; diff --git a/src/tests/class_tests/openms/source/FeatureGroupingAlgorithmUnlabeled_test.cpp b/src/tests/class_tests/openms/source/FeatureGroupingAlgorithmUnlabeled_test.cpp index 4d9b92d2dbb..e259cafa9df 100644 --- a/src/tests/class_tests/openms/source/FeatureGroupingAlgorithmUnlabeled_test.cpp +++ b/src/tests/class_tests/openms/source/FeatureGroupingAlgorithmUnlabeled_test.cpp @@ -34,18 +34,6 @@ START_SECTION((virtual ~FeatureGroupingAlgorithmUnlabeled())) delete ptr; END_SECTION -START_SECTION((static FeatureGroupingAlgorithm* create())) - FeatureGroupingAlgorithm* ptr2 = nullptr; - FeatureGroupingAlgorithm* base_NullPointer = nullptr; - ptr2 = FeatureGroupingAlgorithmUnlabeled::create(); - TEST_NOT_EQUAL(ptr2, base_NullPointer) - delete ptr2; -END_SECTION - -START_SECTION((static String getProductName())) - TEST_EQUAL(FeatureGroupingAlgorithmUnlabeled::getProductName(),"unlabeled") -END_SECTION - START_SECTION((virtual void group(const std::vector< FeatureMap > &maps, ConsensusMap &out))) // This is tested extensively in TEST/TOPP NOT_TESTABLE; diff --git a/src/tests/class_tests/openms/source/FeatureGroupingAlgorithm_test.cpp b/src/tests/class_tests/openms/source/FeatureGroupingAlgorithm_test.cpp index 2e5464ed04b..196b3103000 100644 --- a/src/tests/class_tests/openms/source/FeatureGroupingAlgorithm_test.cpp +++ b/src/tests/class_tests/openms/source/FeatureGroupingAlgorithm_test.cpp @@ -17,8 +17,6 @@ #include #include -#include - using namespace OpenMS; using namespace std; @@ -60,14 +58,6 @@ START_SECTION((virtual void group(const vector< FeatureMap > &maps, ConsensusMap TEST_EQUAL(map.getColumnHeaders()[0].filename, "bla") END_SECTION -START_SECTION((static void registerChildren())) -{ - TEST_STRING_EQUAL(Factory::registeredProducts()[0],FeatureGroupingAlgorithmLabeled::getProductName()); - TEST_STRING_EQUAL(Factory::registeredProducts()[1],FeatureGroupingAlgorithmUnlabeled::getProductName()); - TEST_EQUAL(Factory::registeredProducts().size(), 4) -} -END_SECTION - START_SECTION((void transferSubelements(const vector& maps, ConsensusMap& out) const)) { vector maps(2); @@ -102,8 +92,7 @@ START_SECTION((void transferSubelements(const vector& maps, Consen out[0].insert(handle6); // need an instance of FeatureGroupingAlgorithm: - String algo_name = Factory::registeredProducts()[0]; - FeatureGroupingAlgorithm* algo = Factory::create(algo_name); + FeatureGroupingAlgorithm* algo = new FeatureGroupingAlgorithmKD(); algo->transferSubelements(maps, out); diff --git a/src/tests/class_tests/openms/source/FilterFunctor_test.cpp b/src/tests/class_tests/openms/source/FilterFunctor_test.cpp index b19dbd9447b..1c960a07b0d 100644 --- a/src/tests/class_tests/openms/source/FilterFunctor_test.cpp +++ b/src/tests/class_tests/openms/source/FilterFunctor_test.cpp @@ -14,7 +14,6 @@ #include /////////////////////////// -#include #include /////////////////////////// @@ -45,28 +44,6 @@ START_SECTION(FilterFunctor& operator = (const FilterFunctor& source)) NOT_TESTABLE END_SECTION -START_SECTION(static void registerChildren()) - FilterFunctor* ff = Factory::create("ComplementFilter"); - TEST_EQUAL(ff->getName(), "ComplementFilter") - delete ff; - - ff = Factory::create("IntensityBalanceFilter"); - TEST_EQUAL(ff->getName(), "IntensityBalanceFilter") - delete ff; - - ff = Factory::create("NeutralLossDiffFilter"); - TEST_EQUAL(ff->getName(), "NeutralLossDiffFilter") - delete ff; - - ff = Factory::create("IsotopeDiffFilter"); - TEST_EQUAL(ff->getName(), "IsotopeDiffFilter") - delete ff; - - ff = Factory::create("TICFilter"); - TEST_EQUAL(ff->getName(), "TICFilter") - delete ff; -END_SECTION - START_SECTION(template double apply(SpectrumType&)) NOT_TESTABLE END_SECTION diff --git a/src/tests/class_tests/openms/source/Fitter1D_test.cpp b/src/tests/class_tests/openms/source/Fitter1D_test.cpp index a912f528abc..beae9677444 100644 --- a/src/tests/class_tests/openms/source/Fitter1D_test.cpp +++ b/src/tests/class_tests/openms/source/Fitter1D_test.cpp @@ -21,7 +21,7 @@ class TestModel : public Fitter1D TestModel() : Fitter1D() { - setName(getProductName()); + setName("TestModel"); check_defaults_ = false; @@ -60,11 +60,6 @@ class TestModel : public Fitter1D return 1.0; } - static const String getProductName() - { - return "TestModel"; - } - }; @@ -89,25 +84,10 @@ START_SECTION(Fitter1D()) } END_SECTION -START_SECTION((Fitter1D(const Fitter1D &source))) - TestModel tm1; - - TestModel tm2(tm1); - TEST_EQUAL(tm1.getProductName(),tm2.getProductName()) -END_SECTION - START_SECTION((virtual ~Fitter1D())) delete ptr; END_SECTION -START_SECTION((virtual Fitter1D& operator=(const Fitter1D &source))) - TestModel tm1; - TestModel tm2; - - tm2 = tm1; - TEST_EQUAL(tm1.getProductName(),tm2.getProductName()) -END_SECTION - START_SECTION((virtual QualityType fit1d(const RawDataArrayType &, InterpolationModel *&))) Fitter1D f1d; Fitter1D::RawDataArrayType rft; @@ -115,11 +95,6 @@ START_SECTION((virtual QualityType fit1d(const RawDataArrayType &, Interpolatio TEST_EXCEPTION(Exception::NotImplemented,f1d.fit1d(rft,ipm)); END_SECTION -START_SECTION((void registerChildren())) - // dummy subtest - TEST_EQUAL(1,1) -END_SECTION - ///////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////// diff --git a/src/tests/class_tests/openms/source/GaussFitter1D_test.cpp b/src/tests/class_tests/openms/source/GaussFitter1D_test.cpp index 23201583456..5d66bdb8086 100644 --- a/src/tests/class_tests/openms/source/GaussFitter1D_test.cpp +++ b/src/tests/class_tests/openms/source/GaussFitter1D_test.cpp @@ -79,23 +79,6 @@ START_SECTION((QualityType fit1d(const RawDataArrayType &range, InterpolationMo TEST_EQUAL(1,1) END_SECTION -START_SECTION((Fitter1D* create())) -{ - Fitter1D* ptr = GaussFitter1D::create(); - TEST_EQUAL(ptr->getName(), "GaussFitter1D") - TEST_NOT_EQUAL(ptr, nullPointer) - delete ptr; -} -END_SECTION - -START_SECTION((const String getProductName())) -{ - TEST_EQUAL(GaussFitter1D::getProductName(),"GaussFitter1D") - TEST_EQUAL(GaussFitter1D().getName(),"GaussFitter1D") -} -END_SECTION - - ///////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////// END_TEST diff --git a/src/tests/class_tests/openms/source/GaussModel_test.cpp b/src/tests/class_tests/openms/source/GaussModel_test.cpp index 18117d6d0a2..53a61d8f111 100644 --- a/src/tests/class_tests/openms/source/GaussModel_test.cpp +++ b/src/tests/class_tests/openms/source/GaussModel_test.cpp @@ -38,18 +38,6 @@ START_SECTION((virtual ~GaussModel())) delete ptr; END_SECTION -START_SECTION((static const String getProductName())) - TEST_EQUAL(GaussModel::getProductName(),"GaussModel") - TEST_EQUAL(GaussModel().getProductName(),"GaussModel") -END_SECTION - -START_SECTION(static BaseModel<1>* create()) - BaseModel<1>* ptr = GaussModel::create(); - TEST_EQUAL(ptr->getName(), "GaussModel") - TEST_NOT_EQUAL(ptr, nullPointer) - delete ptr; -END_SECTION - // assignment operator START_SECTION((virtual GaussModel& operator=(const GaussModel &source))) GaussModel gm1; diff --git a/src/tests/class_tests/openms/source/GoodDiffFilter_test.cpp b/src/tests/class_tests/openms/source/GoodDiffFilter_test.cpp index f33b45cb31e..ad0ccdfed08 100644 --- a/src/tests/class_tests/openms/source/GoodDiffFilter_test.cpp +++ b/src/tests/class_tests/openms/source/GoodDiffFilter_test.cpp @@ -72,18 +72,6 @@ START_SECTION((template double apply(SpectrumType& spectr TEST_REAL_SIMILAR(filter, 0.811684) END_SECTION -START_SECTION((static FilterFunctor* create())) - FilterFunctor* ff = GoodDiffFilter::create(); - GoodDiffFilter good; - TEST_EQUAL(ff->getParameters(), good.getParameters()) - TEST_EQUAL(ff->getName(), good.getName()) - delete ff; -END_SECTION - -START_SECTION((static const String getProductName())) - TEST_EQUAL(e_ptr->getProductName(), "GoodDiffFilter") -END_SECTION - delete e_ptr; ///////////////////////////////////////////////////////////// diff --git a/src/tests/class_tests/openms/source/HiddenMarkovModel_test.cpp b/src/tests/class_tests/openms/source/HiddenMarkovModel_test.cpp deleted file mode 100644 index d1ebaf53cf5..00000000000 --- a/src/tests/class_tests/openms/source/HiddenMarkovModel_test.cpp +++ /dev/null @@ -1,432 +0,0 @@ -// Copyright (c) 2002-present, The OpenMS Team -- EKU Tuebingen, ETH Zurich, and FU Berlin -// SPDX-License-Identifier: BSD-3-Clause -// -// -------------------------------------------------------------------------- -// $Maintainer: Timo Sachsenberg $ -// $Authors: Andreas Bertsch $ -// -------------------------------------------------------------------------- - -#include -#include - -/////////////////////////// - -#include -#include -#include - -#include -#include -#include - -/////////////////////////// - -START_TEST(HiddenMarkovModel, "$Id$") - -///////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////// - -using namespace OpenMS; -using namespace std; - -// the HMM -// 0.5 0.25 0.25 -// | | | -// v v v -// A B C -// | | | -// v v v -// A_2 B_2 C_2 -// \ / | -// \ / | -// \ / | -// v v v -// AB_3 C_3 -// -// each edge is accompanied by an edge to the "end" state -// the weight of each edge is 0.5 - -HiddenMarkovModel the_hmm; -HMMState* state_A = new HMMState("A", true); -HMMState* state_B = new HMMState("B", true); -HMMState* state_C = new HMMState("C", true); -HMMState* state_A_2 = new HMMState("A_2", true); -HMMState* state_B_2 = new HMMState("B_2", true); -HMMState* state_C_2 = new HMMState("C_2", true); -HMMState* state_AB_3 = new HMMState("AB_3", false); -HMMState* state_C_3 = new HMMState("C_3", false); -HMMState* state_end = new HMMState("end", false); - -the_hmm.addNewState(state_A); -the_hmm.addNewState(state_B); -the_hmm.addNewState(state_C); -the_hmm.addNewState(state_A_2); -the_hmm.addNewState(state_B_2); -the_hmm.addNewState(state_C_2); -the_hmm.addNewState(state_AB_3); -the_hmm.addNewState(state_C_3); -the_hmm.addNewState(state_end); - -HiddenMarkovModel* ptr = nullptr; -HiddenMarkovModel* nullPointer = nullptr; -HMMState* state_ptr = nullptr; -HMMState* state_ptr2 = nullptr; -HMMState* state_ptr3 = new HMMState("base", true); -HMMState* state_nullPointer = nullptr; - -// Hidden Markov Model State Tests -START_SECTION([EXTRA](HMMState())) - state_ptr = new HMMState(); - TEST_NOT_EQUAL(state_ptr, state_nullPointer) -END_SECTION - -START_SECTION([EXTRA](virtual ~HMMState())) - delete state_ptr; -END_SECTION - -state_ptr = nullptr; - -START_SECTION([EXTRA](HMMState(const String& name, bool hidden = true))) - state_ptr = new HMMState("state_name_hidden", true); - TEST_NOT_EQUAL(state_ptr, state_nullPointer) - state_ptr2 = new HMMState("state_name_emitting", false); - TEST_NOT_EQUAL(state_ptr2, state_nullPointer) -END_SECTION - -START_SECTION([EXTRA](const String& getName() const)) - TEST_EQUAL(state_ptr->getName(), "state_name_hidden"); - TEST_EQUAL(state_ptr2->getName(), "state_name_emitting"); -END_SECTION - -START_SECTION([EXTRA](bool isHidden() const)) - TEST_EQUAL(state_ptr->isHidden(), true) - TEST_EQUAL(state_ptr2->isHidden(), false) -END_SECTION - -START_SECTION([EXTRA](void setName(const String& name))) - state_ptr->setName("state_name_hidden2"); - TEST_EQUAL(state_ptr->getName(), "state_name_hidden2") - state_ptr->setName("state_name_hidden"); -END_SECTION - -START_SECTION([EXTRA](void setHidden(bool hidden))) - state_ptr->setHidden(false); - TEST_EQUAL(state_ptr->isHidden(), false) - state_ptr->setHidden(true); - TEST_EQUAL(state_ptr->isHidden(), true) -END_SECTION - -START_SECTION([EXTRA](const std::set& getPredecessorStates() const)) - TEST_EQUAL(state_ptr->getPredecessorStates().size(), 0) -END_SECTION - -START_SECTION([EXTRA](const std::set& getSuccessorStates() const)) - TEST_EQUAL(state_ptr->getSuccessorStates().size(), 0) -END_SECTION - -START_SECTION([EXTRA](void addPredecessorState(HMMState* state))) - state_ptr->addPredecessorState(state_ptr2); - TEST_EQUAL(state_ptr->getPredecessorStates().size(), 1); - TEST_EQUAL(*state_ptr->getPredecessorStates().begin(), state_ptr2); -END_SECTION - -START_SECTION([EXTRA](void deletePredecessorState(HMMState* state))) - state_ptr->deletePredecessorState(state_ptr2); - TEST_EQUAL(state_ptr->getPredecessorStates().size(), 0); -END_SECTION - -START_SECTION([EXTRA](void addSuccessorState(HMMState* state))) - state_ptr->addSuccessorState(state_ptr2); - TEST_EQUAL(state_ptr->getSuccessorStates().size(), 1); - TEST_EQUAL(*state_ptr->getSuccessorStates().begin(), state_ptr2); -END_SECTION - -START_SECTION([EXTRA](void deleteSuccessorState(HMMState* state))) - state_ptr->deleteSuccessorState(state_ptr2); - TEST_EQUAL(state_ptr->getSuccessorStates().size(), 0); -END_SECTION - - -// Hidden Markov Model Tests -START_SECTION((HiddenMarkovModel())) - ptr = new HiddenMarkovModel(); - TEST_NOT_EQUAL(ptr, nullPointer) -END_SECTION - -START_SECTION((virtual ~HiddenMarkovModel())) - delete ptr; -END_SECTION - -ptr = new HiddenMarkovModel(); - -START_SECTION((Size getNumberOfStates() const)) - TEST_EQUAL(ptr->getNumberOfStates(), 0) -END_SECTION - -START_SECTION((void addNewState(HMMState* state))) - ptr->addNewState(state_ptr); - TEST_EQUAL(ptr->getNumberOfStates(), 1) - ptr->addNewState(state_ptr2); - ptr->addNewState(state_ptr3); - TEST_EQUAL(ptr->getNumberOfStates(), 3) -END_SECTION - -START_SECTION((HMMState* getState(const String& name))) - TEST_EQUAL(ptr->getState("state_name_hidden"), state_ptr) -END_SECTION - -START_SECTION((const HMMState* getState(const String& name) const)) - TEST_EQUAL(ptr->getState("state_name_hidden"), state_ptr) -END_SECTION - -START_SECTION((double getTransitionProbability(const String& s1, const String& s2) const)) - TEST_REAL_SIMILAR(ptr->getTransitionProbability("state_name_hidden", "state_name_emitting"), 0.0) -END_SECTION - -START_SECTION((void setTransitionProbability(const String& s1, const String& s2, double prob))) - ptr->setTransitionProbability("state_name_hidden", "state_name_emitting", 0.3); - TEST_REAL_SIMILAR(ptr->getTransitionProbability("state_name_hidden", "state_name_emitting"), 0.3) - - the_hmm.setTransitionProbability("A", "A_2", 0.5); - the_hmm.setTransitionProbability("A", "end", 0.5); - the_hmm.setTransitionProbability("B", "B_2", 0.5); - the_hmm.setTransitionProbability("B", "end", 0.5); - the_hmm.setTransitionProbability("C", "C_2", 0.5); - the_hmm.setTransitionProbability("C", "end", 0.5); - the_hmm.setTransitionProbability("A_2", "AB_3", 0.5); - the_hmm.setTransitionProbability("A_2", "end", 0.5); - the_hmm.setTransitionProbability("B_2", "AB_3", 0.5); - the_hmm.setTransitionProbability("B_2", "end", 0.5); - the_hmm.setTransitionProbability("C_2", "C_3", 0.5); - the_hmm.setTransitionProbability("C_2", "end", 0.5); - - TEST_REAL_SIMILAR(the_hmm.getTransitionProbability("A", "A_2"), 0.5) - TEST_REAL_SIMILAR(the_hmm.getTransitionProbability("A", "end"), 0.5) - TEST_REAL_SIMILAR(the_hmm.getTransitionProbability("B", "B_2"), 0.5) - TEST_REAL_SIMILAR(the_hmm.getTransitionProbability("B", "end"), 0.5) - TEST_REAL_SIMILAR(the_hmm.getTransitionProbability("C", "C_2"), 0.5) - TEST_REAL_SIMILAR(the_hmm.getTransitionProbability("C", "end"), 0.5) - TEST_REAL_SIMILAR(the_hmm.getTransitionProbability("A_2", "AB_3"), 0.5) - TEST_REAL_SIMILAR(the_hmm.getTransitionProbability("A_2", "end"), 0.5) - TEST_REAL_SIMILAR(the_hmm.getTransitionProbability("B_2", "AB_3"), 0.5) - TEST_REAL_SIMILAR(the_hmm.getTransitionProbability("B_2", "end"), 0.5) - TEST_REAL_SIMILAR(the_hmm.getTransitionProbability("C_2", "C_3"), 0.5) - TEST_REAL_SIMILAR(the_hmm.getTransitionProbability("C_2", "end"), 0.5) - -END_SECTION - -START_SECTION((void addSynonymTransition(const String& name1, const String& name2, const String& synonym1, const String& synonym2))) - HMMState* s1 = new HMMState("state_name_hidden2"); - HMMState* s2 = new HMMState("state_name_emitting2"); - ptr->addNewState(s1); - ptr->addNewState(s2); - ptr->addSynonymTransition("state_name_hidden", "state_name_emitting", "state_name_hidden2", "state_name_emitting2"); - NOT_TESTABLE -END_SECTION - -START_SECTION((void setInitialTransitionProbability(const String& state, double prob))) - ptr->setInitialTransitionProbability("state_name_hidden2", 1.0); - NOT_TESTABLE - - the_hmm.setInitialTransitionProbability("A", 0.5); - the_hmm.setInitialTransitionProbability("B", 0.25); - the_hmm.setInitialTransitionProbability("C", 0.25); - -END_SECTION - -START_SECTION((void enableTransition(const String& s1, const String& s2))) - the_hmm.enableTransition("A", "A_2"); - the_hmm.enableTransition("A", "end"); - the_hmm.enableTransition("B", "B_2"); - the_hmm.enableTransition("B", "end"); - the_hmm.enableTransition("C", "C_2"); - the_hmm.enableTransition("C", "end"); - the_hmm.enableTransition("A_2", "AB_3"); - the_hmm.enableTransition("A_2", "end"); - the_hmm.enableTransition("B_2", "AB_3"); - the_hmm.enableTransition("B_2", "end"); - the_hmm.enableTransition("C_2", "C_3"); - the_hmm.enableTransition("C_2", "end"); - NOT_TESTABLE // will be tested implicetly below -END_SECTION - -START_SECTION((void disableTransition(const String& s1, const String& s2))) - NOT_TESTABLE // will be tested implicitely below -END_SECTION - -START_SECTION((void disableTransitions())) - ptr->disableTransitions(); - NOT_TESTABLE -END_SECTION - -START_SECTION((void calculateEmissionProbabilities(Map& emission_probs))) - std::map emission_probs; - the_hmm.calculateEmissionProbabilities(emission_probs); - TEST_EQUAL(emission_probs.size(), 3) - double sum(0); - TOLERANCE_ABSOLUTE(0.01) - for (std::map::const_iterator it = emission_probs.begin(); it != emission_probs.end(); ++it) - { - if (it->first->getName() == "end") - { - sum += it->second; - TEST_REAL_SIMILAR(it->second, 12.0/16.0) - } - else if (it->first->getName() == "AB_3") - { - sum += it->second; - TEST_REAL_SIMILAR(it->second, 3.0/16.0) - } - else if (it->first->getName() == "C_3") - { - sum += it->second; - TEST_REAL_SIMILAR(it->second, 1.0/16.0) - } - } - TEST_REAL_SIMILAR(sum , 1.0) -END_SECTION - -START_SECTION((void setTrainingEmissionProbability(const String& state, double prob))) - the_hmm.setTrainingEmissionProbability("end", 0.5); - the_hmm.setTrainingEmissionProbability("AB_3", 0.3); - the_hmm.setTrainingEmissionProbability("C_3", 0.2); - NOT_TESTABLE -END_SECTION - -START_SECTION((void train())) - the_hmm.train(); - NOT_TESTABLE -END_SECTION - -START_SECTION((void evaluate())) - the_hmm.evaluate(); - NOT_TESTABLE -END_SECTION - -START_SECTION((void estimateUntrainedTransitions())) - NOT_TESTABLE // only applicable to the fragmentation model -END_SECTION - -START_SECTION(([EXTRA] void calculateEmissionProbabilities(Map& emission_probs))) - std::map emission_probs; - the_hmm.calculateEmissionProbabilities(emission_probs); - TEST_EQUAL(emission_probs.size(), 3) - double sum(0); - TOLERANCE_ABSOLUTE(0.01) - for (std::map::const_iterator it = emission_probs.begin(); it != emission_probs.end(); ++it) - { - if (it->first->getName() == "end") - { - sum += it->second; - TEST_REAL_SIMILAR(it->second, 0.8456) - } - else if (it->first->getName() == "AB_3") - { - sum += it->second; - TEST_REAL_SIMILAR(it->second, 0.125) - } - else if (it->first->getName() == "C_3") - { - sum += it->second; - TEST_REAL_SIMILAR(it->second, 0.02941) - } - } - TEST_REAL_SIMILAR(sum , 1.0) - -END_SECTION - -START_SECTION([EXTRA](HMMState(const HMMState& state))) - HMMState copy(*state_ptr); - TEST_EQUAL(copy.getName(), state_ptr->getName()) - TEST_EQUAL(copy.getSuccessorStates().size(), state_ptr->getSuccessorStates().size()) - TEST_EQUAL(copy.getPredecessorStates().size(), state_ptr->getPredecessorStates().size()) - TEST_EQUAL(copy.isHidden(), state_ptr->isHidden()) -END_SECTION - -START_SECTION((HiddenMarkovModel(const HiddenMarkovModel& hmm_new))) - HiddenMarkovModel copy(*ptr); - TEST_EQUAL(copy.getNumberOfStates(), ptr->getNumberOfStates()) -END_SECTION - -START_SECTION([EXTRA](HMMState& operator = (const HMMState&))) - HMMState copy; - copy = *state_ptr; - TEST_EQUAL(copy.getName(), state_ptr->getName()) - TEST_EQUAL(copy.getSuccessorStates().size(), state_ptr->getSuccessorStates().size()) - TEST_EQUAL(copy.getPredecessorStates().size(), state_ptr->getPredecessorStates().size()) - TEST_EQUAL(copy.isHidden(), state_ptr->isHidden()) -END_SECTION - -START_SECTION((HiddenMarkovModel& operator = (const HiddenMarkovModel&))) - HiddenMarkovModel copy; - copy = *ptr; - TEST_EQUAL(copy.getNumberOfStates(), ptr->getNumberOfStates()) -END_SECTION - -START_SECTION((void clearInitialTransitionProbabilities())) - ptr->clearInitialTransitionProbabilities(); - NOT_TESTABLE -END_SECTION - -START_SECTION((void clearTrainingEmissionProbabilities())) - ptr->clearTrainingEmissionProbabilities(); - NOT_TESTABLE -END_SECTION - -START_SECTION((void dump())) - NOT_TESTABLE -END_SECTION - -START_SECTION((void forwardDump())) - NOT_TESTABLE -END_SECTION - -START_SECTION((void write(std::ostream& out) const)) - stringstream ss; - ptr->write(ss); - String str_stream = ss.str(); - TEST_EQUAL(str_stream.hasSubstring("State"), true); - TEST_EQUAL(str_stream.hasSubstring("Transition"), true); - TEST_EQUAL(str_stream.hasSubstring("Synonym"), true); -END_SECTION - -START_SECTION((void writeGraphMLFile(const String& filename))) - String filename; - NEW_TMP_FILE(filename) - ptr->writeGraphMLFile(filename); - //TEST_FILE_SIMILAR(filename, OPENMS_GET_TEST_DATA_PATH("HiddenMarkovModel_test.graphML")) - NOT_TESTABLE // just a convenience function; the sorting of the nodes will depend on the instance... -END_SECTION - -START_SECTION((void setVariableModifications(const StringList &modifications))) - StringList mods = ListUtils::create("Carboxymethyl (C),Oxidation (M)"); - ptr->setVariableModifications(mods); - NOT_TESTABLE -END_SECTION - -START_SECTION((void clear())) - ptr->clear(); - TEST_EQUAL(ptr->getNumberOfStates(), 0) -END_SECTION - -START_SECTION(void addNewState(const String &name)) - ptr->addNewState("new_fancy_state"); - TEST_EQUAL(ptr->getNumberOfStates(), 1) -END_SECTION - -START_SECTION(void setPseudoCounts(double pseudo_counts)) - ptr->setPseudoCounts(10e-3); - NOT_TESTABLE // tested in next section -END_SECTION - -START_SECTION(double getPseudoCounts() const) - TEST_EQUAL(ptr->getPseudoCounts(), 10e-3) -END_SECTION - -delete ptr; - -///////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////// - -END_TEST - diff --git a/src/tests/class_tests/openms/source/IntensityBalanceFilter_test.cpp b/src/tests/class_tests/openms/source/IntensityBalanceFilter_test.cpp index 168aa0eff78..ff006b8a079 100644 --- a/src/tests/class_tests/openms/source/IntensityBalanceFilter_test.cpp +++ b/src/tests/class_tests/openms/source/IntensityBalanceFilter_test.cpp @@ -64,18 +64,6 @@ START_SECTION((template double apply(SpectrumType& spectr END_SECTION -START_SECTION((static FilterFunctor* create())) - FilterFunctor* ff = IntensityBalanceFilter::create(); - IntensityBalanceFilter filter; - TEST_EQUAL(ff->getParameters(), filter.getParameters()) - TEST_EQUAL(ff->getName(), filter.getName()) - delete ff; -END_SECTION - -START_SECTION((static const String getProductName())) - TEST_EQUAL(e_ptr->getProductName(), "IntensityBalanceFilter") -END_SECTION - delete e_ptr; ///////////////////////////////////////////////////////////// diff --git a/src/tests/class_tests/openms/source/InterpolationModel_test.cpp b/src/tests/class_tests/openms/source/InterpolationModel_test.cpp index dba9b540fa0..52e922a2373 100644 --- a/src/tests/class_tests/openms/source/InterpolationModel_test.cpp +++ b/src/tests/class_tests/openms/source/InterpolationModel_test.cpp @@ -25,7 +25,7 @@ class TestModel : public InterpolationModel TestModel() : InterpolationModel() { - setName(getProductName()); + setName("TestModel"); check_defaults_ = false; @@ -91,11 +91,6 @@ class TestModel : public InterpolationModel return 10.0; } - static const String getProductName() - { - return "TestModel"; - } - }; diff --git a/src/tests/class_tests/openms/source/IsobaricQuantitationMethod_test.cpp b/src/tests/class_tests/openms/source/IsobaricQuantitationMethod_test.cpp index 4a63a9207b9..0990551530e 100644 --- a/src/tests/class_tests/openms/source/IsobaricQuantitationMethod_test.cpp +++ b/src/tests/class_tests/openms/source/IsobaricQuantitationMethod_test.cpp @@ -141,9 +141,9 @@ START_SECTION((virtual Matrix getIsotopeCorrectionMatrix() const =0)) {0.002, 0.056, 0.924, 0.04}, {0, 0.001, 0.045, 0.923}}; - for(Matrix::SizeType i = 0; i < m.rows(); ++i) + for (size_t i = 0; i < m.rows(); ++i) { - for(Matrix::SizeType j = 0; j < m.cols(); ++j) + for (size_t j = 0; j < m.cols(); ++j) { TEST_REAL_SIMILAR(real_m[i][j], m(i,j)) } @@ -160,9 +160,9 @@ START_SECTION((virtual Matrix getIsotopeCorrectionMatrix() const =0)) {0.002, 0.056, 0.854, 0.04}, {0, 0.006, 0.045, 0.923}}; - for(Matrix::SizeType i = 0; i < m.rows(); ++i) + for(size_t i = 0; i < m.rows(); ++i) { - for(Matrix::SizeType j = 0; j < m.cols(); ++j) + for(size_t j = 0; j < m.cols(); ++j) { TEST_REAL_SIMILAR(real_m2[i][j], m(i,j)) } diff --git a/src/tests/class_tests/openms/source/IsotopeDiffFilter_test.cpp b/src/tests/class_tests/openms/source/IsotopeDiffFilter_test.cpp index 88a064387c2..9640c3b105b 100644 --- a/src/tests/class_tests/openms/source/IsotopeDiffFilter_test.cpp +++ b/src/tests/class_tests/openms/source/IsotopeDiffFilter_test.cpp @@ -69,18 +69,6 @@ START_SECTION((template double apply(SpectrumType& spectr TEST_REAL_SIMILAR(filter, 2162) END_SECTION -START_SECTION((static FilterFunctor* create())) - FilterFunctor* ff = IsotopeDiffFilter::create(); - IsotopeDiffFilter filter; - TEST_EQUAL(ff->getParameters(), filter.getParameters()) - TEST_EQUAL(ff->getName(), filter.getName()) - delete ff; -END_SECTION - -START_SECTION((static const String getProductName())) - TEST_EQUAL(e_ptr->getProductName(), "IsotopeDiffFilter") -END_SECTION - delete e_ptr; ///////////////////////////////////////////////////////////// diff --git a/src/tests/class_tests/openms/source/IsotopeFitter1D_test.cpp b/src/tests/class_tests/openms/source/IsotopeFitter1D_test.cpp index 5a370dca27a..b728cf35f1a 100644 --- a/src/tests/class_tests/openms/source/IsotopeFitter1D_test.cpp +++ b/src/tests/class_tests/openms/source/IsotopeFitter1D_test.cpp @@ -87,19 +87,6 @@ START_SECTION((QualityType fit1d(const RawDataArrayType &range, InterpolationMo TEST_EQUAL(if1.getParameters(), if1.getParameters()) END_SECTION -START_SECTION((Fitter1D* create())) - Fitter1D* ptr = IsotopeFitter1D::create(); - TEST_EQUAL(ptr->getName(), "IsotopeFitter1D") - TEST_NOT_EQUAL(ptr, nullPointer) - delete ptr; -END_SECTION - -START_SECTION((const String getProductName())) - TEST_EQUAL(IsotopeFitter1D::getProductName(),"IsotopeFitter1D") - TEST_EQUAL(IsotopeFitter1D().getName(),"IsotopeFitter1D") -END_SECTION - - ///////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////// END_TEST diff --git a/src/tests/class_tests/openms/source/IsotopeLabelingMDVs_test.cpp b/src/tests/class_tests/openms/source/IsotopeLabelingMDVs_test.cpp index 56750a1caf7..5a734a3621f 100644 --- a/src/tests/class_tests/openms/source/IsotopeLabelingMDVs_test.cpp +++ b/src/tests/class_tests/openms/source/IsotopeLabelingMDVs_test.cpp @@ -314,7 +314,7 @@ START_SECTION(( void IsotopeLabelingMDVs::isotopicCorrection( {0.8466, 0.0957, 0.0343, 0.0233}, {0.8484, 0.0954, 0.0337, 0.0225} }; - correction_matrix_tBDMS.setMatrix<4,4>(correction_matrix_tBDMS_); + correction_matrix_tBDMS.setMatrix(correction_matrix_tBDMS_); // L1_norm_max, L1_peak_apex_int From CHO_190316_Flux.xlsx provided by Douglas McCloskey // L1_corrected self calculated @@ -374,7 +374,7 @@ START_SECTION(( void IsotopeLabelingMDVs::isotopicCorrections( {0.8466, 0.0957, 0.0343, 0.0233}, {0.8484, 0.0954, 0.0337, 0.0225} }; - correction_matrix_tBDMS.setMatrix<4,4>(correction_matrix_tBDMS_); + correction_matrix_tBDMS.setMatrix(correction_matrix_tBDMS_); // L1_norm_max, L1_peak_apex_int From CHO_190316_Flux.xlsx provided by Douglas McCloskey // L1_corrected self calculated diff --git a/src/tests/class_tests/openms/source/IsotopeMarker_test.cpp b/src/tests/class_tests/openms/source/IsotopeMarker_test.cpp index aeb2b81b0b5..67c144dfe69 100644 --- a/src/tests/class_tests/openms/source/IsotopeMarker_test.cpp +++ b/src/tests/class_tests/openms/source/IsotopeMarker_test.cpp @@ -74,18 +74,6 @@ START_SECTION((template void apply(std::map TEST_EQUAL(marked.size(), 17) END_SECTION -START_SECTION((static PeakMarker* create())) - PeakMarker* pm = IsotopeMarker::create(); - IsotopeMarker im; - TEST_EQUAL(pm->getParameters(), im.getParameters()) - TEST_EQUAL(pm->getName(), im.getName()) - delete pm; -END_SECTION - -START_SECTION((static const String getProductName())) - TEST_EQUAL(e_ptr->getProductName(), "IsotopeMarker") -END_SECTION - delete e_ptr; ///////////////////////////////////////////////////////////// diff --git a/src/tests/class_tests/openms/source/IsotopeModel_test.cpp b/src/tests/class_tests/openms/source/IsotopeModel_test.cpp index c8ec260291d..fdcae422b59 100644 --- a/src/tests/class_tests/openms/source/IsotopeModel_test.cpp +++ b/src/tests/class_tests/openms/source/IsotopeModel_test.cpp @@ -42,18 +42,6 @@ START_SECTION((virtual ~IsotopeModel())) delete ptr; END_SECTION -START_SECTION(static BaseModel<1>* create()) - BaseModel<1>* ptr = IsotopeModel::create(); - TEST_EQUAL(ptr->getName(), "IsotopeModel") - TEST_NOT_EQUAL(ptr, nullPointer) - delete ptr; -END_SECTION - -START_SECTION((static const String getProductName())) - TEST_EQUAL(IsotopeModel::getProductName(),"IsotopeModel") - TEST_EQUAL(IsotopeModel().getName(),"IsotopeModel") -END_SECTION - // assignment operator START_SECTION((virtual IsotopeModel& operator=(const IsotopeModel &source))) IsotopeModel im1; diff --git a/src/tests/class_tests/openms/source/ItraqConstants_test.cpp b/src/tests/class_tests/openms/source/ItraqConstants_test.cpp index a4614ced10f..4decff2c331 100644 --- a/src/tests/class_tests/openms/source/ItraqConstants_test.cpp +++ b/src/tests/class_tests/openms/source/ItraqConstants_test.cpp @@ -43,9 +43,9 @@ START_SECTION((static StringList getIsotopeMatrixAsStringList(const int itraq_ty { ItraqConstants::IsotopeMatrices ic; ic.resize(3); - ic[0].setMatrix<4,4>(ItraqConstants::ISOTOPECORRECTIONS_FOURPLEX); - ic[1].setMatrix<8,4>(ItraqConstants::ISOTOPECORRECTIONS_EIGHTPLEX); - ic[2].setMatrix<6,4>(ItraqConstants::ISOTOPECORRECTIONS_TMT_SIXPLEX); + ic[0].setMatrix(ItraqConstants::ISOTOPECORRECTIONS_FOURPLEX); + ic[1].setMatrix(ItraqConstants::ISOTOPECORRECTIONS_EIGHTPLEX); + ic[2].setMatrix(ItraqConstants::ISOTOPECORRECTIONS_TMT_SIXPLEX); { StringList ics = ItraqConstants::getIsotopeMatrixAsStringList(ItraqConstants::FOURPLEX, ic); @@ -69,16 +69,16 @@ START_SECTION((static void updateIsotopeMatrixFromStringList(const int itraq_typ { ItraqConstants::IsotopeMatrices ic; ic.resize(3); - ic[0].setMatrix<4,4>(ItraqConstants::ISOTOPECORRECTIONS_FOURPLEX); - ic[1].setMatrix<8,4>(ItraqConstants::ISOTOPECORRECTIONS_EIGHTPLEX); - ic[2].setMatrix<6,4>(ItraqConstants::ISOTOPECORRECTIONS_TMT_SIXPLEX); + ic[0].setMatrix(ItraqConstants::ISOTOPECORRECTIONS_FOURPLEX); + ic[1].setMatrix(ItraqConstants::ISOTOPECORRECTIONS_EIGHTPLEX); + ic[2].setMatrix(ItraqConstants::ISOTOPECORRECTIONS_TMT_SIXPLEX); //StringList t_ics = ListUtils::create("114:0/1/5.9/0.2,115:0/2/5.6/0.1,116:0/3/4.5/0.1,117:0.1/4/3.5/0.1"); // the default StringList t_ics = ListUtils::create("114:0/1/5.9/4.2,115:3/2/5.6/0.1,116:0/3/4.5/0.1,117:0.1/4/3.5/2"); - ic[0].setValue(0,3,4.2); - ic[0].setValue(1,0,3); - ic[0].setValue(3,3,2); + ic[0](0,3) = 4.2; + ic[0](1,0) = 3; + ic[0](3,3) = 2; ItraqConstants::IsotopeMatrices ic_new; ItraqConstants::updateIsotopeMatrixFromStringList(ItraqConstants::FOURPLEX, t_ics, ic_new); @@ -90,10 +90,10 @@ START_SECTION((static void updateIsotopeMatrixFromStringList(const int itraq_typ } // reset previously updated and update TMT isotope corrections - ic[0].setMatrix<4,4>(ItraqConstants::ISOTOPECORRECTIONS_FOURPLEX); - ic[2].setValue(0,2,3.4); - ic[2].setValue(1,0,2.1); - ic[2].setValue(4,3,5.1); + ic[0].setMatrix(ItraqConstants::ISOTOPECORRECTIONS_FOURPLEX); + ic[2](0,2) = 3.4; + ic[2](1,0) = 2.1; + ic[2](4,3) = 5.1; // StringList tmt_ics = ListUtils::create("126:0/0/0/0,127:0/0/0/0,128:0/0/0/0,129:0/0/0/0,130:0/0/0/0,131:0/0/0/0"); // the original one StringList tmt_ics = ListUtils::create("126:0/0/3.4/0,127:2.1/0/0/0,128:0/0/0/0,129:0/0/0/0,130:0/0/0/5.1,131:0/0/0/0"); @@ -175,15 +175,15 @@ START_SECTION((static Matrix translateIsotopeMatrix(const int &itraq_typ { ItraqConstants::IsotopeMatrices ic; ic.resize(3); - ic[0].setMatrix<4,4>(ItraqConstants::ISOTOPECORRECTIONS_FOURPLEX); - ic[1].setMatrix<8,4>(ItraqConstants::ISOTOPECORRECTIONS_EIGHTPLEX); - ic[2].setMatrix<6,4>(ItraqConstants::ISOTOPECORRECTIONS_TMT_SIXPLEX); + ic[0].setMatrix(ItraqConstants::ISOTOPECORRECTIONS_FOURPLEX); + ic[1].setMatrix(ItraqConstants::ISOTOPECORRECTIONS_EIGHTPLEX); + ic[2].setMatrix(ItraqConstants::ISOTOPECORRECTIONS_TMT_SIXPLEX); Matrix channel_frequency = ItraqConstants::translateIsotopeMatrix(ItraqConstants::FOURPLEX, ic); std::cout << "CF: \n" << channel_frequency << "\n"; - TEST_REAL_SIMILAR(channel_frequency.getValue(0,0), 0.929) - TEST_REAL_SIMILAR(channel_frequency.getValue(3,0), 0) + TEST_REAL_SIMILAR(channel_frequency(0,0), 0.929) + TEST_REAL_SIMILAR(channel_frequency(3,0), 0) channel_frequency = ItraqConstants::translateIsotopeMatrix(ItraqConstants::EIGHTPLEX, ic); @@ -200,16 +200,16 @@ START_SECTION((static Matrix translateIsotopeMatrix(const int &itraq_typ */ // test lower right triangle - TEST_REAL_SIMILAR(channel_frequency.getValue(6,7), 0.0027) - TEST_REAL_SIMILAR(channel_frequency.getValue(7,7), 0.9211) - TEST_REAL_SIMILAR(channel_frequency.getValue(7,6), 0.0000) + TEST_REAL_SIMILAR(channel_frequency(6,7), 0.0027) + TEST_REAL_SIMILAR(channel_frequency(7,7), 0.9211) + TEST_REAL_SIMILAR(channel_frequency(7,6), 0.0000) channel_frequency = ItraqConstants::translateIsotopeMatrix(ItraqConstants::TMT_SIXPLEX, ic); std::cout << "CF: \n" << channel_frequency << "\n"; - TEST_REAL_SIMILAR(channel_frequency.getValue(0,0), 1.0) - TEST_REAL_SIMILAR(channel_frequency.getValue(1,0), 0.0) - TEST_REAL_SIMILAR(channel_frequency.getValue(0,1), 0.0) - TEST_REAL_SIMILAR(channel_frequency.getValue(3,3), 1.0) + TEST_REAL_SIMILAR(channel_frequency(0,0), 1.0) + TEST_REAL_SIMILAR(channel_frequency(1,0), 0.0) + TEST_REAL_SIMILAR(channel_frequency(0,1), 0.0) + TEST_REAL_SIMILAR(channel_frequency(3,3), 1.0) } END_SECTION diff --git a/src/tests/class_tests/openms/source/ItraqEightPlexQuantitationMethod_test.cpp b/src/tests/class_tests/openms/source/ItraqEightPlexQuantitationMethod_test.cpp index dd1f7460c0e..182c89a74d2 100644 --- a/src/tests/class_tests/openms/source/ItraqEightPlexQuantitationMethod_test.cpp +++ b/src/tests/class_tests/openms/source/ItraqEightPlexQuantitationMethod_test.cpp @@ -129,9 +129,9 @@ START_SECTION((virtual Matrix getIsotopeCorrectionMatrix() const )) { 0, 0, 0, 0, 0, 0, 0, 0.9211 } }; - for(Matrix::SizeType i = 0; i < m.rows(); ++i) + for(size_t i = 0; i < m.rows(); ++i) { - for(Matrix::SizeType j = 0; j < m.cols(); ++j) + for(size_t j = 0; j < m.cols(); ++j) { TEST_REAL_SIMILAR(m(i,j), real_m[i][j]) } diff --git a/src/tests/class_tests/openms/source/ItraqFourPlexQuantitationMethod_test.cpp b/src/tests/class_tests/openms/source/ItraqFourPlexQuantitationMethod_test.cpp index af139a441f2..70c62fbe149 100644 --- a/src/tests/class_tests/openms/source/ItraqFourPlexQuantitationMethod_test.cpp +++ b/src/tests/class_tests/openms/source/ItraqFourPlexQuantitationMethod_test.cpp @@ -140,9 +140,9 @@ START_SECTION((virtual Matrix getIsotopeCorrectionMatrix() const )) {0.002, 0.056, 0.924, 0.04}, {0, 0.001, 0.045, 0.923}}; - for(Matrix::SizeType i = 0; i < m.rows(); ++i) + for (size_t i = 0; i < m.rows(); ++i) { - for(Matrix::SizeType j = 0; j < m.cols(); ++j) + for (size_t j = 0; j < m.cols(); ++j) { TEST_REAL_SIMILAR(m(i,j), real_m[i][j]) } diff --git a/src/tests/class_tests/openms/source/LabeledPairFinder_test.cpp b/src/tests/class_tests/openms/source/LabeledPairFinder_test.cpp index 8efcf4c367a..58555894d6c 100644 --- a/src/tests/class_tests/openms/source/LabeledPairFinder_test.cpp +++ b/src/tests/class_tests/openms/source/LabeledPairFinder_test.cpp @@ -37,20 +37,6 @@ START_SECTION((virtual ~LabeledPairFinder())) delete ptr; END_SECTION -START_SECTION((static BaseGroupFinder* create())) - BaseGroupFinder* base_ptr = nullptr; - BaseGroupFinder* base_nullPointer = nullptr; - base_ptr = LabeledPairFinder::create(); - TEST_NOT_EQUAL(base_ptr, base_nullPointer) - delete base_ptr; -END_SECTION - -START_SECTION((static const String getProductName())) - LabeledPairFinder spf; - - TEST_STRING_EQUAL(spf.getProductName(),"labeled_pair_finder") -END_SECTION - FeatureMap features; features.resize(10); //start diff --git a/src/tests/class_tests/openms/source/LevMarqFitter1D_test.cpp b/src/tests/class_tests/openms/source/LevMarqFitter1D_test.cpp index cf2fa932cfc..f4c031a2e05 100644 --- a/src/tests/class_tests/openms/source/LevMarqFitter1D_test.cpp +++ b/src/tests/class_tests/openms/source/LevMarqFitter1D_test.cpp @@ -27,7 +27,7 @@ class TestModel : public LevMarqFitter1D { public: TestModel() : LevMarqFitter1D() { - setName(getProductName()); + setName("TestModel"); check_defaults_ = false; defaultsToParam_(); } @@ -68,12 +68,6 @@ class TestModel : public LevMarqFitter1D void optimize_() { } - - static const String getProductName() - { - return "TestModel"; - } - }; ///////////////////////////////////////////////////////////// @@ -95,9 +89,7 @@ END_SECTION START_SECTION((LevMarqFitter1D(const LevMarqFitter1D &source))) TestModel tm1; - TestModel tm2(tm1); - TEST_EQUAL(tm1.getProductName(),tm2.getProductName()) END_SECTION START_SECTION((virtual ~LevMarqFitter1D())) @@ -107,9 +99,7 @@ END_SECTION START_SECTION((virtual LevMarqFitter1D& operator=(const LevMarqFitter1D &source))) TestModel tm1; TestModel tm2; - tm2 = tm1; - TEST_EQUAL(tm1.getProductName(),tm2.getProductName()) END_SECTION diff --git a/src/tests/class_tests/openms/source/MRMAssay_test.cpp b/src/tests/class_tests/openms/source/MRMAssay_test.cpp index 4cd918fcae5..3d77038a36c 100644 --- a/src/tests/class_tests/openms/source/MRMAssay_test.cpp +++ b/src/tests/class_tests/openms/source/MRMAssay_test.cpp @@ -624,9 +624,9 @@ START_SECTION(void uisTransitions(OpenMS::TargetedExperiment& exp, std::vector fragment_types2; fragment_types2.push_back(String("y")); std::vector fragment_charges2; @@ -650,8 +650,9 @@ START_SECTION(void uisTransitions(OpenMS::TargetedExperiment& exp, std::vector fragment_types2; fragment_types2.push_back(String("y")); fragment_types2.push_back(String("b")); @@ -746,8 +749,10 @@ START_SECTION(void uisTransitions(OpenMS::TargetedExperiment& exp, std::vector fragment_types3; fragment_types3.push_back(String("y")); fragment_types3.push_back(String("b")); @@ -772,7 +777,9 @@ START_SECTION(void uisTransitions(OpenMS::TargetedExperiment& exp, std::vectorsecond, TEST_REAL_SIMILAR(cross_correlation.data[12].second, -0.35036919) // find(1)->second, @@ -252,16 +252,25 @@ mean(xcorr_max) # shape score TEST_EQUAL(mrmscore.getXCorrPrecursorContrastMatrix().cols(), 2) std::vector sum_matrix; - for(auto e : mrmscore.getXCorrPrecursorContrastMatrix()) - { - double sum{0}; - for(size_t i = 0; i < e.data.size(); ++i) + + const auto& cm = mrmscore.getXCorrPrecursorContrastMatrix(); + // Note: the original code depens on col vs. row order and + // the old code: for (auto e : mrmscore.getXCorrPrecursorContrastMatrix()) fails with different data + for (size_t r = 0; r != cm.rows(); ++r) + for (size_t c = 0; c != cm.cols(); ++c) { - sum += abs(e.data[i].second); + double sum{0}; + for (size_t i = 0; i < cm(r,c).data.size(); ++i) + { + sum += abs(cm(r,c).data[i].second); + } + sum_matrix.push_back(sum); } - sum_matrix.push_back(sum); +/* + for (auto e : mrmscore.getXCorrPrecursorContrastMatrix()) + { } - +*/ TEST_REAL_SIMILAR(sum_matrix[0], 3.40949220) TEST_REAL_SIMILAR(sum_matrix[1], 6.19794611) TEST_REAL_SIMILAR(sum_matrix[2], 3.68912454) @@ -288,15 +297,20 @@ mean(xcorr_max) # shape score TEST_EQUAL(mrmscore.getXCorrPrecursorCombinedMatrix().cols(), 5) std::vector sum_matrix; - for(auto e : mrmscore.getXCorrPrecursorCombinedMatrix()) - { - double sum{0}; - for(size_t i = 0; i < e.data.size(); ++i) + + const auto& cm = mrmscore.getXCorrPrecursorCombinedMatrix(); + // Note: the original code depens on col vs. row order and + // the old code: for (auto e : mrmscore.getXCorrPrecursorCombinedMatrix()) fails with different data + for (size_t r = 0; r != cm.rows(); ++r) + for (size_t c = 0; c != cm.cols(); ++c) { - sum += abs(e.data[i].second); + double sum{0}; + for (size_t i = 0; i < cm(r,c).data.size(); ++i) + { + sum += abs(cm(r,c).data[i].second); + } + sum_matrix.push_back(sum); } - sum_matrix.push_back(sum); - } // Check upper triangular matrix TEST_REAL_SIMILAR(sum_matrix[0], 5.86440677) @@ -348,11 +362,11 @@ END_SECTION*/ TEST_EQUAL(mrmscore.getXCorrContrastMatrix().rows(), 2) TEST_EQUAL(mrmscore.getXCorrContrastMatrix().cols(), 2) - TEST_EQUAL(mrmscore.getXCorrContrastMatrix().getValue(0, 0).data.size(), 23) + TEST_EQUAL(mrmscore.getXCorrContrastMatrix()(0, 0).data.size(), 23) // test auto-correlation = xcorrmatrix_0_0 const OpenSwath::Scoring::XCorrArrayType auto_correlation = - mrmscore.getXCorrContrastMatrix().getValue(0, 0); + mrmscore.getXCorrContrastMatrix()(0, 0); TEST_REAL_SIMILAR(auto_correlation.data[11].second, 1) // find(0)->second, TEST_REAL_SIMILAR(auto_correlation.data[12].second, -0.227352707759245) // find(1)->second, TEST_REAL_SIMILAR(auto_correlation.data[10].second, -0.227352707759245) // find(-1)->second, @@ -361,7 +375,7 @@ END_SECTION*/ // // test cross-correlation = xcorrmatrix_0_1 const OpenSwath::Scoring::XCorrArrayType cross_correlation = - mrmscore.getXCorrContrastMatrix().getValue(0, 1); + mrmscore.getXCorrContrastMatrix()(0, 1); TEST_REAL_SIMILAR(cross_correlation.data[13].second, -0.31165141) // find(2)->second, TEST_REAL_SIMILAR(cross_correlation.data[12].second, -0.35036919) // find(1)->second, TEST_REAL_SIMILAR(cross_correlation.data[11].second, 0.03129565) // find(0)->second, @@ -698,10 +712,10 @@ mean(m4) TEST_EQUAL(mrmscore.getMIMatrix().rows(), 2) TEST_EQUAL(mrmscore.getMIMatrix().cols(), 2) - TEST_REAL_SIMILAR(mrmscore.getMIMatrix().getValue(0, 0), 3.2776) - TEST_REAL_SIMILAR(mrmscore.getMIMatrix().getValue(0, 1), 3.2776) - TEST_REAL_SIMILAR(mrmscore.getMIMatrix().getValue(1, 1), 3.4594) - TEST_REAL_SIMILAR(mrmscore.getMIMatrix().getValue(1, 0), 0) // value not initialized for lower diagonal half of matrix + TEST_REAL_SIMILAR(mrmscore.getMIMatrix()(0, 0), 3.2776) + TEST_REAL_SIMILAR(mrmscore.getMIMatrix()(0, 1), 3.2776) + TEST_REAL_SIMILAR(mrmscore.getMIMatrix()(1, 1), 3.4594) + TEST_REAL_SIMILAR(mrmscore.getMIMatrix()(1, 0), 0) // value not initialized for lower diagonal half of matrix } END_SECTION @@ -720,11 +734,7 @@ mean(m4) TEST_EQUAL(mrmscore.getMIPrecursorContrastMatrix().rows(), 3) TEST_EQUAL(mrmscore.getMIPrecursorContrastMatrix().cols(), 2) - double sum{0}; - for(auto e : mrmscore.getMIPrecursorContrastMatrix()) - { - sum += e; - } + double sum = mrmscore.getMIPrecursorContrastMatrix().getEigenMatrix().sum(); TEST_REAL_SIMILAR(sum, 12.01954465) } END_SECTION @@ -745,11 +755,7 @@ mean(m4) TEST_EQUAL(mrmscore.getMIPrecursorCombinedMatrix().rows(), 5) TEST_EQUAL(mrmscore.getMIPrecursorCombinedMatrix().cols(), 5) - double sum{0}; - for(auto e : mrmscore.getMIPrecursorCombinedMatrix()) - { - sum += e; - } + double sum = mrmscore.getMIPrecursorCombinedMatrix().getEigenMatrix().sum(); TEST_REAL_SIMILAR(sum, 48.98726953) } END_SECTION @@ -770,10 +776,10 @@ mean(m4) mrmscore.initializeMIContrastMatrix(imrmfeature, native_ids1, native_ids2); delete imrmfeature; - TEST_REAL_SIMILAR(mrmscore.getMIContrastMatrix().getValue(0, 0), 3.2776) - TEST_REAL_SIMILAR(mrmscore.getMIContrastMatrix().getValue(0, 1), 3.2776) - TEST_REAL_SIMILAR(mrmscore.getMIContrastMatrix().getValue(1, 1), 3.2776) - TEST_REAL_SIMILAR(mrmscore.getMIContrastMatrix().getValue(1, 0), 3.4594) + TEST_REAL_SIMILAR(mrmscore.getMIContrastMatrix()(0, 0), 3.2776) + TEST_REAL_SIMILAR(mrmscore.getMIContrastMatrix()(0, 1), 3.2776) + TEST_REAL_SIMILAR(mrmscore.getMIContrastMatrix()(1, 1), 3.2776) + TEST_REAL_SIMILAR(mrmscore.getMIContrastMatrix()(1, 0), 3.4594) } END_SECTION diff --git a/src/tests/class_tests/openms/source/MapAlignmentAlgorithmPoseClustering_test.cpp b/src/tests/class_tests/openms/source/MapAlignmentAlgorithmPoseClustering_test.cpp index 98ee2134331..40a1806ff43 100644 --- a/src/tests/class_tests/openms/source/MapAlignmentAlgorithmPoseClustering_test.cpp +++ b/src/tests/class_tests/openms/source/MapAlignmentAlgorithmPoseClustering_test.cpp @@ -13,8 +13,6 @@ #include #include -#include - using namespace std; using namespace OpenMS; diff --git a/src/tests/class_tests/openms/source/MapAlignmentAlgorithmSpectrumAlignment_test.cpp b/src/tests/class_tests/openms/source/MapAlignmentAlgorithmSpectrumAlignment_test.cpp deleted file mode 100644 index 20741e5d7f1..00000000000 --- a/src/tests/class_tests/openms/source/MapAlignmentAlgorithmSpectrumAlignment_test.cpp +++ /dev/null @@ -1,106 +0,0 @@ -// Copyright (c) 2002-present, The OpenMS Team -- EKU Tuebingen, ETH Zurich, and FU Berlin -// SPDX-License-Identifier: BSD-3-Clause -// -// -------------------------------------------------------------------------- -// $Maintainer: Timo Sachsenberg $ -// $Authors: Vipul Patel $ -// -------------------------------------------------------------------------- - -#include -#include - -#include -#include - -using namespace std; -using namespace OpenMS; - -///////////////////////////////////////////////////////////// - -START_TEST(MapAlignmentAlgorithmSpectrumAlignment, "$Id$") - -///////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////// - - -MapAlignmentAlgorithmSpectrumAlignment* ptr = nullptr; -MapAlignmentAlgorithmSpectrumAlignment* nullPointer = nullptr; -START_SECTION((MapAlignmentAlgorithmSpectrumAlignment())) - ptr = new MapAlignmentAlgorithmSpectrumAlignment(); - TEST_NOT_EQUAL(ptr, nullPointer) -END_SECTION - -START_SECTION((virtual ~MapAlignmentAlgorithmSpectrumAlignment())) - delete ptr; -END_SECTION - -START_SECTION((virtual void align(std::vector&, std::vector&))) -{ - MapAlignmentAlgorithmSpectrumAlignment ma; - std::vector maps; - PeakMap map1; - PeakMap map2; - for (UInt i = 0; i < 15; ++i) - { - for (UInt j = 1 ; j < 5; ++j) - { - PeakSpectrum spectrum; - spectrum.setRT(i); - spectrum.setMSLevel(j); - - for (float mz = 500.0; mz <= 900; mz += 100.0) - { - Peak1D peak; - peak.setMZ(mz + i); - peak.setIntensity(mz + i); - spectrum.push_back(peak); - } - map1.addSpectrum(spectrum); - } - } - for (UInt i = 0; i < 15; ++i) - { - for (UInt j = 1 ; j < 5; ++j) - { - PeakSpectrum spectrum; - spectrum.setRT(i * 1.2 + 200); - spectrum.setMSLevel(j); - - for (float mz = 500.0; mz <= 900; mz += 100.0) - { - Peak1D peak; - peak.setMZ(mz + i); - peak.setIntensity(mz + i); - spectrum.push_back(peak); - } - map2.addSpectrum(spectrum); - } - } - - maps.push_back(map1); - maps.push_back(map2); - std::vector transformations; - ma.align(maps, transformations); - String model_type = "interpolated"; - Param params; - params.setValue("interpolation_type", "cspline"); - transformations[0].fitModel(model_type, params); - transformations[1].fitModel(model_type, params); - MapAlignmentTransformer::transformRetentionTimes(maps[0], transformations[0]); - MapAlignmentTransformer::transformRetentionTimes(maps[1], transformations[1]); - maps[0].updateRanges(-1); - maps[1].updateRanges(-1); - for (Size i = 0; i < maps[0].size(); ++i) - { - if (maps[0][i].getMSLevel() < 2) - { - TEST_REAL_SIMILAR(maps[0][i].getRT(), maps[1][i].getRT()); - } - } -} -END_SECTION - -///////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////// -END_TEST - diff --git a/src/tests/class_tests/openms/source/MapAlignmentEvaluationAlgorithmPrecision_test.cpp b/src/tests/class_tests/openms/source/MapAlignmentEvaluationAlgorithmPrecision_test.cpp index 8eae5642c04..7ff988d6a2b 100644 --- a/src/tests/class_tests/openms/source/MapAlignmentEvaluationAlgorithmPrecision_test.cpp +++ b/src/tests/class_tests/openms/source/MapAlignmentEvaluationAlgorithmPrecision_test.cpp @@ -37,18 +37,6 @@ START_SECTION((virtual ~MapAlignmentEvaluationAlgorithmPrecision())) delete ptr; END_SECTION -MapAlignmentEvaluationAlgorithm* base_nullPointer = nullptr; -START_SECTION((static MapAlignmentEvaluationAlgorithm* create())) - MapAlignmentEvaluationAlgorithm* ptr2 = nullptr; - ptr2 = MapAlignmentEvaluationAlgorithmPrecision::create(); - TEST_NOT_EQUAL(ptr2, base_nullPointer) - delete ptr2; -END_SECTION - -START_SECTION((static String getProductName())) - TEST_EQUAL(MapAlignmentEvaluationAlgorithmPrecision::getProductName(),"precision") -END_SECTION - START_SECTION((virtual void evaluate(const ConsensusMap &consensus_map_in, const ConsensusMap &consensus_map_gt, const double &rt_dev, const double &mz_dev, const Peak2D::IntensityType &int_dev, const bool use_charge, double &out))) MapAlignmentEvaluationAlgorithmPrecision maea; ConsensusMap in; diff --git a/src/tests/class_tests/openms/source/MapAlignmentEvaluationAlgorithmRecall_test.cpp b/src/tests/class_tests/openms/source/MapAlignmentEvaluationAlgorithmRecall_test.cpp index a381ee2308e..b572c09432c 100644 --- a/src/tests/class_tests/openms/source/MapAlignmentEvaluationAlgorithmRecall_test.cpp +++ b/src/tests/class_tests/openms/source/MapAlignmentEvaluationAlgorithmRecall_test.cpp @@ -37,18 +37,6 @@ START_SECTION((virtual ~MapAlignmentEvaluationAlgorithmRecall())) delete ptr; END_SECTION -MapAlignmentEvaluationAlgorithm* base_nullPointer = nullptr; -START_SECTION((static MapAlignmentEvaluationAlgorithm* create())) - MapAlignmentEvaluationAlgorithm* ptr2 = nullptr; - ptr2 = MapAlignmentEvaluationAlgorithmRecall::create(); - TEST_NOT_EQUAL(ptr2, base_nullPointer) - delete ptr2; -END_SECTION - -START_SECTION((static String getProductName())) - TEST_EQUAL(MapAlignmentEvaluationAlgorithmRecall::getProductName(),"recall") -END_SECTION - START_SECTION((virtual void evaluate(const ConsensusMap &consensus_map_in, const ConsensusMap &consensus_map_gt, const double &rt_dev, const double &mz_dev, const Peak2D::IntensityType &int_dev, const bool use_charge, double &out))) MapAlignmentEvaluationAlgorithmRecall maea; ConsensusMap in; diff --git a/src/tests/class_tests/openms/source/MapAlignmentEvaluationAlgorithm_test.cpp b/src/tests/class_tests/openms/source/MapAlignmentEvaluationAlgorithm_test.cpp index 032627a30b4..8609cd2f741 100644 --- a/src/tests/class_tests/openms/source/MapAlignmentEvaluationAlgorithm_test.cpp +++ b/src/tests/class_tests/openms/source/MapAlignmentEvaluationAlgorithm_test.cpp @@ -16,7 +16,6 @@ #include #include -#include #include using namespace OpenMS; @@ -97,14 +96,6 @@ START_SECTION((bool isSameHandle(const FeatureHandle &lhs, const FeatureHandle & } END_SECTION -START_SECTION((static void registerChildren())) -{ - TEST_STRING_EQUAL(Factory::registeredProducts()[0],MapAlignmentEvaluationAlgorithmPrecision::getProductName()); - TEST_STRING_EQUAL(Factory::registeredProducts()[1],MapAlignmentEvaluationAlgorithmRecall::getProductName()); - TEST_EQUAL(Factory::registeredProducts().size(),2) -} -END_SECTION - ///////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////// END_TEST diff --git a/src/tests/class_tests/openms/source/MatrixUtils_test.cpp b/src/tests/class_tests/openms/source/MatrixUtils_test.cpp deleted file mode 100644 index 522654ae8c2..00000000000 --- a/src/tests/class_tests/openms/source/MatrixUtils_test.cpp +++ /dev/null @@ -1,44 +0,0 @@ -// Copyright (c) 2002-present, The OpenMS Team -- EKU Tuebingen, ETH Zurich, and FU Berlin -// SPDX-License-Identifier: BSD-3-Clause -// -// -------------------------------------------------------------------------- -// $Maintainer: $ -// $Authors: $ -// -------------------------------------------------------------------------- - -#include - -/////////////////////////// -#include -/////////////////////////// - -using namespace OpenMS; -using namespace std; - -START_TEST(MatrixUtils, "$Id$") - -///////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////// - -MatrixUtils* ptr = 0; -MatrixUtils* null_ptr = 0; -START_SECTION(MatrixUtils()) -{ - ptr = new MatrixUtils(); - TEST_NOT_EQUAL(ptr, null_ptr) -} -END_SECTION - -START_SECTION(~MatrixUtils()) -{ - delete ptr; -} -END_SECTION - - -///////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////// -END_TEST - - - diff --git a/src/tests/class_tests/openms/source/Matrix_test.cpp b/src/tests/class_tests/openms/source/Matrix_test.cpp index 505467ec534..6405925b0cb 100644 --- a/src/tests/class_tests/openms/source/Matrix_test.cpp +++ b/src/tests/class_tests/openms/source/Matrix_test.cpp @@ -32,14 +32,23 @@ Matrix* ptr = nullptr; Matrix* nullPointer = nullptr; START_SECTION((Matrix())) { - ptr = new Matrix; + ptr = new Matrix; TEST_NOT_EQUAL(ptr, nullPointer); Matrix mi1; - TEST_EQUAL(mi1.size(),0); - TEST_EQUAL(mi1.cols(),0); - TEST_EQUAL(mi1.rows(),0); - TEST_EQUAL(mi1.empty(),true); + TEST_EQUAL(mi1.size(), 0); + TEST_EQUAL(mi1.cols(), 0); + TEST_EQUAL(mi1.rows(), 0); + + for (auto & i : mi1.getEigenMatrix().reshaped()) + { + TEST_EQUAL(i, i - 1); // this should not be executed on empty matrix + } + + for (const auto & i : mi1.getEigenMatrix().reshaped()) + { + TEST_EQUAL(i, i - 1); // this should not be executed on empty matrix + } STATUS("mi1:\n"<< mi1); } END_SECTION; @@ -52,34 +61,19 @@ END_SECTION; Matrix mi; -START_SECTION((void resize(size_type i, size_type j, value_type value = value_type()))) +START_SECTION((void getEigenMatrix().resize(size_type i, size_type j))) { - mi.resize(2,2,3); + mi.getEigenMatrix().resize(2,2); + mi.getEigenMatrix().fill(3); + mi.getEigenMatrix().resize(2,3); + mi.getEigenMatrix().fill(7); STATUS("mi1:\n"<< mi); - mi.resize(2,3,7); - STATUS("mi1:\n"<< mi); - TEST_EQUAL(mi(0,0),3); - TEST_EQUAL(mi(0,1),3); - TEST_EQUAL(mi(0,2),3); - TEST_EQUAL(mi(1,0),3); - TEST_EQUAL(mi(1,1),7); - TEST_EQUAL(mi(1,2),7); -} -END_SECTION - -START_SECTION((void resize(std::pair const & size_pair, value_type value = value_type()))) -{ - std::pair const sizepair(2,2); - mi.resize(sizepair,3); - STATUS("mi1:\n"<< mi); - mi.resize(2,3,7); - STATUS("mi1:\n"<< mi); - TEST_EQUAL(mi(0,0),3); - TEST_EQUAL(mi(0,1),3); - TEST_EQUAL(mi(0,2),3); - TEST_EQUAL(mi(1,0),3); - TEST_EQUAL(mi(1,1),7); - TEST_EQUAL(mi(1,2),7); + TEST_EQUAL(mi(0,0),7); + TEST_EQUAL(mi(0,1),7); + TEST_EQUAL(mi(0,2),7); + TEST_EQUAL(mi(1,0),7); + TEST_EQUAL(mi(1,1),7); + TEST_EQUAL(mi(1,2),7); } END_SECTION @@ -87,14 +81,31 @@ START_SECTION((Matrix(const Matrix & source))) { Matrix mi2(mi); STATUS("mi2:\n"<< mi2); - TEST_EQUAL(mi2.cols(),3); - TEST_EQUAL(mi2.rows(),2); - TEST_EQUAL(mi2(0,0),3); - TEST_EQUAL(mi2(0,1),3); - TEST_EQUAL(mi2(0,2),3); - TEST_EQUAL(mi2(1,0),3); - TEST_EQUAL(mi2(1,1),7); - TEST_EQUAL(mi2(1,2),7); + TEST_EQUAL(mi2.cols(),3); + TEST_EQUAL(mi2.rows(),2); + TEST_EQUAL(mi2(0,0),7); + TEST_EQUAL(mi2(0,1),7); + TEST_EQUAL(mi2(0,2),7); + TEST_EQUAL(mi2(1,0),7); + TEST_EQUAL(mi2(1,1),7); + TEST_EQUAL(mi2(1,2),7); + + // test iterators and confirm column first order + size_t row{}, col{}; + for (auto & i : mi2.getEigenMatrix().reshaped()) + { + TEST_EQUAL(i, mi.getValue(row, col)); + ++col; + if (col == mi2.cols()) { col = 0; ++row;} + } + + row = 0; col = 0; + for (const auto & i : mi2.getEigenMatrix().reshaped()) + { + TEST_EQUAL(i, mi.getValue(row, col)); + ++col; + if (col == mi2.cols()) { col = 0; ++row;} + } } END_SECTION @@ -106,10 +117,10 @@ START_SECTION((Matrix& operator = (const Matrix & rhs))) STATUS("mi3:\n"< const & micr = mi; + Matrix const & micr = mi; STATUS("micr:\n"< const & micr = mi; - STATUS("micr:\n"< const & micr = mi; - TEST_EQUAL(micr.getValue(1,2),33); + TEST_EQUAL(micr(1,2), 33); } END_SECTION START_SECTION((reference operator() (size_type const i, size_type const j))) { - STATUS(mi.getValue(1,0)); - mi.getValue(1,0) = 44; - STATUS(mi.getValue(1,0)); + STATUS(mi(1,0)); + mi(1,0) = 44; + STATUS(mi(1,0)); Matrix const & micr = mi; - TEST_EQUAL(micr.getValue(1,0), 44); -} -END_SECTION - -START_SECTION(container_type row(size_type const i) const) -{ - Matrix::container_type row = mi.row(0); - TEST_EQUAL(row.size(), 3) - TEST_EQUAL(row[0], 3) - TEST_EQUAL(row[1], 3) - TEST_EQUAL(row[2], 3) - row = mi.row(1); - TEST_EQUAL(row[0], 44) - TEST_EQUAL(row[1], 17) - TEST_EQUAL(row[2], 33) -} -END_SECTION - -START_SECTION(container_type col(size_type const i) const) -{ - Matrix::container_type col = mi.col(0); - TEST_EQUAL(col.size(), 2) - TEST_EQUAL(col[0], 3) - TEST_EQUAL(col[1], 44) - col = mi.col(1); - TEST_EQUAL(col.size(), 2) - TEST_EQUAL(col[0], 3) - TEST_EQUAL(col[1], 17) - col = mi.col(2); - TEST_EQUAL(col.size(), 2) - TEST_EQUAL(col[0], 3) - TEST_EQUAL(col[1], 33) + TEST_EQUAL(micr(1,0), 44); } END_SECTION -START_SECTION((void clear())) +START_SECTION((void operator()(size_type const i, size_type const j) = value_type value)) { - Matrix mi4(mi); - STATUS("mi4:\n"< mi5(4,5,6); START_SECTION((Matrix(const SizeType rows, const SizeType cols, ValueType value = ValueType()))) { STATUS("mi5:\n"< mf(6,7,8); -START_SECTION((SizeType colIndex(SizeType index) const)) -{ - TEST_EQUAL(mf.colIndex(30),2); -} -END_SECTION; - -START_SECTION((SizeType const index(SizeType row, SizeType col) const)) -{ - TEST_EQUAL(mf.index(5,5),40); -} -END_SECTION; - -START_SECTION((SizeType rowIndex(SizeType index) const)) -{ - TEST_EQUAL(mf.rowIndex(30),4); -} -END_SECTION; - -START_SECTION((std::pair const indexPair(Size index) const)) -{ - std::pair result = mf.indexPair(30); - TEST_EQUAL(result.first,4); - TEST_EQUAL(result.second,2); -} -END_SECTION - -START_SECTION((std::pair sizePair() const)) -{ - Matrix const mf(6,7,8); - TEST_EQUAL(mf.sizePair().first,6); - TEST_EQUAL(mf.sizePair().second,7); -} -END_SECTION - START_SECTION((bool operator==(Matrix const &rhs) const)) { Matrix mi1(4,5,6); @@ -277,27 +205,6 @@ START_SECTION((bool operator==(Matrix const &rhs) const)) } END_SECTION -START_SECTION((bool operator<(Matrix const &rhs) const)) -{ - Matrix mi1(4,5,6); - TEST_EQUAL(mi1 mi2(4,5,6); - TEST_EQUAL(mi1 mi3(5,4,6); - Matrix mi4(4,4,6); - Matrix mi5(5,5,6); - TEST_PRECONDITION_VIOLATED(bool comparison = (mi1==mi3);(void) comparison); - TEST_PRECONDITION_VIOLATED(bool comparison = (mi1==mi4);(void) comparison); - TEST_PRECONDITION_VIOLATED(bool comparison = (mi1==mi5);(void) comparison); -} -END_SECTION - START_SECTION((template void setMatrix(const ValueType matrix[ROWS][COLS]))) { double test_matrix[4][4] = { @@ -308,10 +215,10 @@ START_SECTION((template void setMatrix(const ValueType matr }; Matrix myMatrix; - myMatrix.setMatrix<4,4>(test_matrix); - for (size_t i=0;i<4;++i) + myMatrix.setMatrix(test_matrix); + for (size_t i=0; i<4; ++i) { - for (size_t j=0;j<4;++j) + for (size_t j=0; j<4; ++j) { TEST_EQUAL( myMatrix(i,j), test_matrix[i][j] ) } diff --git a/src/tests/class_tests/openms/source/MaxLikeliFitter1D_test.cpp b/src/tests/class_tests/openms/source/MaxLikeliFitter1D_test.cpp index 1399d08977e..0913f64cd5c 100644 --- a/src/tests/class_tests/openms/source/MaxLikeliFitter1D_test.cpp +++ b/src/tests/class_tests/openms/source/MaxLikeliFitter1D_test.cpp @@ -23,7 +23,7 @@ class TestModel : public MaxLikeliFitter1D { public: TestModel() : MaxLikeliFitter1D() { - setName(getProductName()); + setName("TestModel"); check_defaults_ = false; defaultsToParam_(); } @@ -76,11 +76,6 @@ class TestModel : public MaxLikeliFitter1D return 1.0; } - static const String getProductName() - { - return "TestModel"; - } - }; ///////////////////////////////////////////////////////////// @@ -100,9 +95,7 @@ END_SECTION START_SECTION((MaxLikeliFitter1D(const MaxLikeliFitter1D &source))) TestModel tm1; - TestModel tm2(tm1); - TEST_EQUAL(tm1.getProductName(),tm2.getProductName()) END_SECTION START_SECTION((virtual ~MaxLikeliFitter1D())) @@ -112,9 +105,7 @@ END_SECTION START_SECTION((virtual MaxLikeliFitter1D& operator=(const MaxLikeliFitter1D &source))) TestModel tm1; TestModel tm2; - tm2 = tm1; - TEST_EQUAL(tm1.getProductName(),tm2.getProductName()) END_SECTION diff --git a/src/tests/class_tests/openms/source/ModelDescription_test.cpp b/src/tests/class_tests/openms/source/ModelDescription_test.cpp index d10957ef1eb..16c401771cd 100644 --- a/src/tests/class_tests/openms/source/ModelDescription_test.cpp +++ b/src/tests/class_tests/openms/source/ModelDescription_test.cpp @@ -37,12 +37,6 @@ START_SECTION((virtual ~ModelDescription())) delete ptr; END_SECTION -START_SECTION(BaseModel* createModel()) - BaseModel<2>* ptr = ModelDescription<2>().createModel(); - BaseModel<2>* baseModel_nullPointer = nullptr; - TEST_EQUAL(ptr, baseModel_nullPointer) // no name is set, should be zero pointer -END_SECTION - START_SECTION( virtual bool operator==(const ModelDescription &rhs) const ) ModelDescription<2> fp1,fp2; TEST_EQUAL(fp1==fp2,true) @@ -98,17 +92,6 @@ START_SECTION((ModelDescription(const ModelDescription &source))) TEST_EQUAL(tm1==tm2,true) END_SECTION -START_SECTION( ModelDescription(const BaseModel< D > *model) ) - const BaseModel<1> * bm = new IsotopeModel(); - - ModelDescription<1> md(bm); - - BaseModel<1>* ptr = md.createModel(); - TEST_EQUAL( *ptr == *bm, true) - delete bm; - delete ptr; -END_SECTION - START_SECTION((const String& getName() const )) const ModelDescription<2> m; TEST_EQUAL(m.getName(), "") diff --git a/src/tests/class_tests/openms/source/NeutralLossDiffFilter_test.cpp b/src/tests/class_tests/openms/source/NeutralLossDiffFilter_test.cpp index 13ccf01f475..0c9d27d92ca 100644 --- a/src/tests/class_tests/openms/source/NeutralLossDiffFilter_test.cpp +++ b/src/tests/class_tests/openms/source/NeutralLossDiffFilter_test.cpp @@ -69,18 +69,6 @@ START_SECTION((template double apply(SpectrumType& spectr TEST_REAL_SIMILAR(filter, 2482.5) END_SECTION -START_SECTION((static FilterFunctor* create())) - FilterFunctor* ff = NeutralLossDiffFilter::create(); - NeutralLossDiffFilter filter; - TEST_EQUAL(ff->getParameters(), filter.getParameters()) - TEST_EQUAL(ff->getName(), filter.getName()) - delete ff; -END_SECTION - -START_SECTION((static const String getProductName())) - TEST_EQUAL(e_ptr->getProductName(), "NeutralLossDiffFilter"); -END_SECTION - delete e_ptr; ///////////////////////////////////////////////////////////// diff --git a/src/tests/class_tests/openms/source/NeutralLossMarker_test.cpp b/src/tests/class_tests/openms/source/NeutralLossMarker_test.cpp index 56e4537cb60..1c7ff3f324e 100644 --- a/src/tests/class_tests/openms/source/NeutralLossMarker_test.cpp +++ b/src/tests/class_tests/openms/source/NeutralLossMarker_test.cpp @@ -76,18 +76,6 @@ START_SECTION((template void apply(std::map TEST_EQUAL(marked.size(), 49) END_SECTION -START_SECTION((static PeakMarker* create())) - PeakMarker* pm = NeutralLossMarker::create(); - NeutralLossMarker marker; - TEST_EQUAL(pm->getParameters(), marker.getParameters()) - TEST_EQUAL(pm->getName(), marker.getName()) - delete pm; -END_SECTION - -START_SECTION((static const String getProductName())) - TEST_EQUAL(e_ptr->getProductName(), "NeutralLossMarker") -END_SECTION - delete e_ptr; ///////////////////////////////////////////////////////////// diff --git a/src/tests/class_tests/openms/source/NonNegativeLeastSquaresSolver_test.cpp b/src/tests/class_tests/openms/source/NonNegativeLeastSquaresSolver_test.cpp index eb3d1ea8a96..daff62a4cfa 100644 --- a/src/tests/class_tests/openms/source/NonNegativeLeastSquaresSolver_test.cpp +++ b/src/tests/class_tests/openms/source/NonNegativeLeastSquaresSolver_test.cpp @@ -50,14 +50,14 @@ START_SECTION((static Int solve(const Matrix< double > &A, const Matrix< double double x_1[4][1] = {{0.931153},{0.36833},{0},{0}}; Matrix A,b,x; - A.setMatrix<3,4>(A_1); - b.setMatrix<3,1>(b_1); - x.resize(4,1); + A.setMatrix(A_1); + b.setMatrix(b_1); + x.getEigenMatrix().resize(4,1); TOLERANCE_ABSOLUTE(0.0005); NonNegativeLeastSquaresSolver::solve(A,b,x); - for (size_t i=0;i &A, const Matrix< double double b_2[4][1] = {{5},{45},{4},{31}}; double x_2[4][1] = {{4.3395},{48.4364},{0},{33.4945}}; - A.setMatrix<4,4>(A_2); - b.setMatrix<4,1>(b_2); - x.resize(4,1); + A.setMatrix(A_2); + b.setMatrix(b_2); + x.getEigenMatrix().resize(4,1); NonNegativeLeastSquaresSolver::solve(A,b,x); for (size_t i=0;i > getAlignmentTraceback(const PeakSpectru } END_SECTION -START_SECTION((static PeakSpectrumCompareFunctor* create())) -{ - PeakSpectrumCompareFunctor* psf = PeakAlignment::create(); - PeakAlignment pa; - TEST_EQUAL(psf->getParameters(), pa.getParameters()) - TEST_EQUAL(psf->getName(), pa.getName()) - delete psf; -} -END_SECTION - -START_SECTION((static const String getProductName())) -{ - TEST_EQUAL(ptr->getProductName(), "PeakAlignment") -} -END_SECTION - delete ptr; ///////////////////////////////////////////////////////////// diff --git a/src/tests/class_tests/openms/source/PeakMarker_test.cpp b/src/tests/class_tests/openms/source/PeakMarker_test.cpp index 9c526e31ff9..02bf495faea 100644 --- a/src/tests/class_tests/openms/source/PeakMarker_test.cpp +++ b/src/tests/class_tests/openms/source/PeakMarker_test.cpp @@ -50,10 +50,6 @@ START_SECTION((template void apply(std::map NOT_TESTABLE END_SECTION -START_SECTION(static const String getProductName()) - TEST_EQUAL(e_ptr->getProductName(), "PeakMarker") -END_SECTION - START_SECTION((PeakMarker& operator = (const PeakMarker& source))) PeakMarker copy; copy = *e_ptr; diff --git a/src/tests/class_tests/openms/source/PeakSpectrumCompareFunctor_test.cpp b/src/tests/class_tests/openms/source/PeakSpectrumCompareFunctor_test.cpp index 9021ebc4100..353b67f0c7c 100644 --- a/src/tests/class_tests/openms/source/PeakSpectrumCompareFunctor_test.cpp +++ b/src/tests/class_tests/openms/source/PeakSpectrumCompareFunctor_test.cpp @@ -9,7 +9,6 @@ #include #include -#include /////////////////////////// @@ -50,25 +49,6 @@ START_SECTION(double operator () (const PeakSpectrum& a) const) NOT_TESTABLE END_SECTION -START_SECTION(static void registerChildren()) - PeakSpectrumCompareFunctor* c1 = Factory::create("SpectrumCheapDPCorr"); - delete c1; - c1 = Factory::create("SpectrumPrecursorComparator"); - TEST_EQUAL(c1->getName(), "SpectrumPrecursorComparator") - delete c1; - c1 = Factory::create("ZhangSimilarityScore"); - TEST_EQUAL(c1->getName(), "ZhangSimilarityScore") - delete c1; - c1 = Factory::create("SteinScottImproveScore"); - TEST_EQUAL(c1->getName(), "SteinScottImproveScore"); - delete c1; -END_SECTION - -START_SECTION(static const String getProductName()) - TEST_EQUAL(PeakSpectrumCompareFunctor::getProductName(), "PeakSpectrumCompareFunctor") -END_SECTION - - ///////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////// END_TEST diff --git a/src/tests/class_tests/openms/source/PoseClusteringAffineSuperimposer_test.cpp b/src/tests/class_tests/openms/source/PoseClusteringAffineSuperimposer_test.cpp index 5bd9ad6a14d..2a528cc6d01 100644 --- a/src/tests/class_tests/openms/source/PoseClusteringAffineSuperimposer_test.cpp +++ b/src/tests/class_tests/openms/source/PoseClusteringAffineSuperimposer_test.cpp @@ -43,22 +43,6 @@ START_SECTION((virtual ~PoseClusteringAffineSuperimposer())) } END_SECTION -START_SECTION((static BaseSuperimposer* create())) -{ - BaseSuperimposer* base_ptr = nullptr; - base_ptr = PoseClusteringAffineSuperimposer::create(); - TEST_NOT_EQUAL(base_ptr, base_nullPointer) - delete base_ptr; -} -END_SECTION - -START_SECTION((static const String getProductName())) -{ - PoseClusteringAffineSuperimposer pcat; - TEST_EQUAL(pcat.getName() == "poseclustering_affine",true) -} -END_SECTION - START_SECTION((virtual void run(const ConsensusMap& map_model, const ConsensusMap& map_scene, TransformationDescription& transformation))) { std::vector input(2); diff --git a/src/tests/class_tests/openms/source/PoseClusteringShiftSuperimposer_test.cpp b/src/tests/class_tests/openms/source/PoseClusteringShiftSuperimposer_test.cpp index 939dc18be8c..cf5dad9d96f 100644 --- a/src/tests/class_tests/openms/source/PoseClusteringShiftSuperimposer_test.cpp +++ b/src/tests/class_tests/openms/source/PoseClusteringShiftSuperimposer_test.cpp @@ -39,19 +39,6 @@ START_SECTION((virtual ~PoseClusteringShiftSuperimposer())) delete ptr; END_SECTION -START_SECTION((static BaseSuperimposer* create())) - BaseSuperimposer* base_ptr = nullptr; - base_ptr = PoseClusteringShiftSuperimposer::create(); - TEST_NOT_EQUAL(base_ptr, base_nullPointer) - delete (base_ptr); -END_SECTION - -START_SECTION((static const String getProductName())) - PoseClusteringShiftSuperimposer pcsi; - - TEST_EQUAL(pcsi.getName() == "poseclustering_shift",true) -END_SECTION - START_SECTION((virtual void run(const ConsensusMap& map_model, const ConsensusMap& map_scene, TransformationDescription& transformation))) std::vector input(2); diff --git a/src/tests/class_tests/openms/source/ProductModel_test.cpp b/src/tests/class_tests/openms/source/ProductModel_test.cpp deleted file mode 100644 index 490f03be66c..00000000000 --- a/src/tests/class_tests/openms/source/ProductModel_test.cpp +++ /dev/null @@ -1,273 +0,0 @@ -// Copyright (c) 2002-present, The OpenMS Team -- EKU Tuebingen, ETH Zurich, and FU Berlin -// SPDX-License-Identifier: BSD-3-Clause -// -// -------------------------------------------------------------------------- -// $Maintainer: Timo Sachsenberg $ -// $Authors: $ -// -------------------------------------------------------------------------- - -#include -#include - -/////////////////////////// - -#include -#include -#include -#include -#include - - -/////////////////////////// - -START_TEST(ProductModel<2>, "$Id$") - -///////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////// -using namespace OpenMS; -using namespace std; - -typedef ProductModel<2> ProductModel; - -Param p1; -p1.setValue("bounding_box:min",1.0f); -p1.setValue("bounding_box:max",4.0f); -p1.setValue("statistics:mean",3.0f); -p1.setValue("statistics:variance",0.1f); - -Param p2; -p2.setValue("bounding_box:min",5.0f); -p2.setValue("bounding_box:max",6.0f); -p2.setValue("statistics:mean",7.0f); -p2.setValue("statistics:variance",0.3f); - -TOLERANCE_ABSOLUTE(0.0001) - -// default ctor -ProductModel* ptr = nullptr; -ProductModel* nullPointer = nullptr; -START_SECTION((ProductModel())) - ptr = new ProductModel(); - TEST_EQUAL(ptr->getName(), "ProductModel2D") - TEST_NOT_EQUAL(ptr, nullPointer) -END_SECTION - -// destructor -START_SECTION((virtual ~ProductModel())) -delete ptr; -END_SECTION - -START_SECTION( static const String getProductName() ) - ptr = new ProductModel(); - TEST_EQUAL(ptr->getName(), "ProductModel2D") - TEST_NOT_EQUAL(ptr, nullPointer) -END_SECTION - - -// assignment operator -START_SECTION((virtual ProductModel& operator=(const ProductModel &source))) -GaussModel* gm1 = new GaussModel(); -gm1->setParameters(p1); -GaussModel* gm2 = new GaussModel(); -gm2->setParameters(p2); -GaussModel* gm3 = new GaussModel(); -gm3->setParameters(p1); -GaussModel* gm4 = new GaussModel(); -gm4->setParameters(p2); - -ProductModel pm1; -pm1.setModel(0,gm1); -pm1.setModel(1,gm2); - -ProductModel pm2; -pm2 = pm1; - -ProductModel pm3; -pm3.setModel(0,gm3); -pm3.setModel(1,gm4); - -pm1 = ProductModel(); - -TEST_EQUAL(pm2.getParameters(), pm3.getParameters()) -END_SECTION - - -// copy ctor -START_SECTION((ProductModel(const ProductModel& source))) -GaussModel* gm1 = new GaussModel(); -gm1->setParameters(p1); -GaussModel* gm2 = new GaussModel(); -gm2->setParameters(p2); -GaussModel* gm3 = new GaussModel(); -gm3->setParameters(p1); -GaussModel* gm4 = new GaussModel(); -gm4->setParameters(p2); - -ProductModel pm1; -pm1.setModel(0,gm1); -pm1.setModel(1,gm2); -ProductModel pm2(pm1); - -ProductModel pm3; -pm3.setModel(0,gm3); -pm3.setModel(1,gm4); - -pm1 = ProductModel(); -TEST_EQUAL(pm3.getParameters(), pm2.getParameters()) -END_SECTION - -// ModelDescription -START_SECTION((static BaseModel* create())) -GaussModel* gm1 = new GaussModel(); -GaussModel* gm2 = new GaussModel(); -GaussModel* gm3 = new GaussModel(); -gm3->setParameters(p1); -GaussModel* gm4 = new GaussModel(); -gm4->setParameters(p2); - -ProductModel pm1; -pm1.setModel(0,gm1); -pm1.setModel(1,gm2); -pm1.setScale(4.0); -pm1.setCutOff(0.5); -gm1->setParameters(p1); -gm2->setParameters(p2); - -ModelDescription<2> md(&pm1); -ProductModel* pm2 = static_cast< ProductModel* >(md.createModel()); - -ProductModel pm3; -pm3.setModel(0,gm3); -pm3.setModel(1,gm4); -pm3.setScale(4.0); -pm3.setCutOff(0.5); - -pm1 = ProductModel(); - -//remove fitting data and compare -Param tmp1 = pm3.getParameters(); -tmp1.removeAll("RT:bounding_box:"); -tmp1.removeAll("RT:statistics:"); -tmp1.removeAll("MZ:bounding_box:"); -tmp1.removeAll("MZ:statistics:"); -Param tmp2 = pm2->getParameters(); -tmp2.removeAll("RT:bounding_box:"); -tmp2.removeAll("RT:statistics:"); -tmp2.removeAll("MZ:bounding_box:"); -tmp2.removeAll("MZ:statistics:"); -TEST_EQUAL(tmp1, tmp2) - -DPosition<2> pos; -pos[0] = 3.5; -pos[1] = 7.5; -TEST_REAL_SIMILAR(pm3.getIntensity(pos), pm2->getIntensity(pos)) -delete pm2; -END_SECTION - -START_SECTION( IntensityType getIntensity(const PositionType &pos) const ) - - TOLERANCE_ABSOLUTE(0.1) - GaussModel* gm1 = new GaussModel(); - GaussModel* gm2 = new GaussModel(); - gm1->setParameters(p1); - gm2->setParameters(p2); - - ProductModel pm1; - pm1.setModel(0,gm1); - pm1.setModel(1,gm2); - pm1.setScale(10.0); - pm1.setCutOff(0.01); - - DPosition<2> pos; - pos[0] = 2.5; - pos[1] = 5.9; - TEST_REAL_SIMILAR(pm1.getIntensity(pos), 8.52587) - pos[0] = 2.0; - pos[1] = 5.9; - TEST_REAL_SIMILAR(pm1.getIntensity(pos), 0.200509) - pos[0] = 1.8; - pos[1] = 5.9; - TEST_REAL_SIMILAR(pm1.getIntensity(pos), 0.0222171) -END_SECTION - -START_SECTION( void getSamples(SamplesType &cont) const ) -{ - GaussModel* gm1 = new GaussModel(); - gm1->setParameters(p1); - GaussModel* gm2 = new GaussModel(); - gm2->setParameters(p2); - - ProductModel pm1; - pm1.setModel(0,gm1); - pm1.setModel(1,gm2); - - ProductModel pm2(pm1); - - TEST_EQUAL(pm1.getParameters(),pm2.getParameters()); - TEST_EQUAL(pm1.getModel(0)->getParameters(),pm2.getModel(0)->getParameters()); - TEST_EQUAL(pm1.getModel(1)->getParameters(),pm2.getModel(1)->getParameters()); - TEST_EQUAL(pm1.getModel(0)->getName(),pm2.getModel(0)->getName()); - TEST_EQUAL(pm1.getModel(1)->getName(),pm2.getModel(1)->getName()); - - std::vector dpa1; - std::vector dpa2; - pm1.getSamples(dpa1); - pm2.getSamples(dpa2); - - TEST_EQUAL(dpa1.size(),dpa2.size()); - ABORT_IF(dpa1.size()!=dpa2.size()); - for (Size i=0; i *dist) ) - GaussModel* gm1 = new GaussModel(); - gm1->setParameters(p1); - GaussModel* gm2 = new GaussModel(); - gm2->setParameters(p2); - - ProductModel pm1; - pm1.setModel(0,gm1); - pm1.setModel(1,gm2); - - TEST_EQUAL( pm1.getModel(0) == gm1, true) - TEST_EQUAL( pm1.getModel(1) == gm2, true) - -END_SECTION - -START_SECTION( BaseModel<1>* getModel(UInt dim) const ) - GaussModel* gm1 = new GaussModel(); - gm1->setParameters(p1); - GaussModel* gm2 = new GaussModel(); - gm2->setParameters(p2); - - ProductModel pm1; - pm1.setModel(0,gm1); - pm1.setModel(1,gm2); - - TEST_EQUAL( pm1.getModel(0) == gm1, true) - TEST_EQUAL( pm1.getModel(1) == gm2, true) - -END_SECTION - -delete ptr; - -///////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////// -END_TEST diff --git a/src/tests/class_tests/openms/source/ProtonDistributionModel_test.cpp b/src/tests/class_tests/openms/source/ProtonDistributionModel_test.cpp deleted file mode 100644 index 92789f56eae..00000000000 --- a/src/tests/class_tests/openms/source/ProtonDistributionModel_test.cpp +++ /dev/null @@ -1,117 +0,0 @@ -// Copyright (c) 2002-present, The OpenMS Team -- EKU Tuebingen, ETH Zurich, and FU Berlin -// SPDX-License-Identifier: BSD-3-Clause -// -// -------------------------------------------------------------------------- -// $Maintainer: Timo Sachsenberg $ -// $Authors: Andreas Bertsch $ -// -------------------------------------------------------------------------- - -#include -#include - -/////////////////////////// - -#include - -#include -#include - -/////////////////////////// - -START_TEST(ProtonDistributionModel, "$Id$") - -///////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////// - -using namespace OpenMS; -using namespace std; - -ProtonDistributionModel* ptr = nullptr; -ProtonDistributionModel* nullPointer = nullptr; - -START_SECTION(ProtonDistributionModel()) - ptr = new ProtonDistributionModel(); - TEST_NOT_EQUAL(ptr, nullPointer) -END_SECTION - -START_SECTION(~ProtonDistributionModel()) - delete ptr; -END_SECTION - -ptr = new ProtonDistributionModel(); - -START_SECTION(ProtonDistributionModel(const ProtonDistributionModel& model)) - ProtonDistributionModel copy(*ptr); - NOT_TESTABLE -END_SECTION - -START_SECTION(ProtonDistributionModel& operator = (const ProtonDistributionModel& pdm)) - ProtonDistributionModel copy; - copy = *ptr; - NOT_TESTABLE -END_SECTION - -START_SECTION(void getProtonDistribution(vector& bb_charges, vector& sc_charges, const AASequence& peptide, Int charge, Residue::ResidueType res_type = Residue::YIon)) - vector bb_charges, sc_charges; - double bb_tmp[] = {1.76496e-09, 2.9459e-13, 6.3724e-12, 2.96724e-13, 0.69332e-13, 6.56286e-13, 4.82365e-13, 3.51139e-13, 5.82514e-23, 1.35049e-12}; - AASequence peptide = AASequence::fromString("DFPIANGER"); - ptr->getProtonDistribution(bb_charges, sc_charges, peptide, 1); - for (Size i = 0; i <= peptide.size(); ++i) - { - TEST_REAL_SIMILAR(bb_charges[i], bb_tmp[i]) - } - - double sc_tmp[] = {2.7239e-23, 0, 0, 0, 0, 7.77547e-15, 0, 1.15343e-22, 1}; - for (Size i = 0; i != peptide.size(); ++i) - { - TEST_REAL_SIMILAR(sc_charges[i], sc_tmp[i]) - } - -END_SECTION - -START_SECTION((void setPeptideProtonDistribution(const std::vector< double > &bb_charge, const std::vector< double > &sc_charge))) - vector bb_charges, sc_charges; - AASequence peptide = AASequence::fromString("DFPIANGER"); - ptr->getProtonDistribution(bb_charges, sc_charges, peptide, 1); - - ptr->setPeptideProtonDistribution(bb_charges, sc_charges); - NOT_TESTABLE -END_SECTION - -START_SECTION((void getChargeStateIntensities(const AASequence &peptide, const AASequence &n_term_ion, const AASequence &c_term_ion, Int charge, Residue::ResidueType n_term_type, std::vector< double > &n_term_intensities, std::vector< double > &c_term_intensities, FragmentationType type))) - vector bb_charges, sc_charges; - AASequence peptide = AASequence::fromString("DFPIANGER"); - ptr->getProtonDistribution(bb_charges, sc_charges, peptide, 1); - - // set the full proton distribution - ptr->setPeptideProtonDistribution(bb_charges, sc_charges); - - AASequence pre1 = AASequence::fromString("DFP"); - AASequence suf1 = AASequence::fromString("IANGER"); - vector pre_ints, suf_ints; - ptr->getChargeStateIntensities(peptide, pre1, suf1, 1, Residue::YIon, pre_ints, suf_ints, ProtonDistributionModel::ChargeDirected); - - TEST_EQUAL(pre_ints.size(), 1) - TEST_EQUAL(suf_ints.size(), 1) - TEST_REAL_SIMILAR(pre_ints[0], 0.0); - TEST_REAL_SIMILAR(suf_ints[0], 1.0); - - pre_ints.clear(); - suf_ints.clear(); - ptr->getChargeStateIntensities(peptide, pre1, suf1, 2, Residue::YIon, pre_ints, suf_ints, ProtonDistributionModel::ChargeDirected); - TEST_EQUAL(pre_ints.size(), 2) - TEST_EQUAL(suf_ints.size(), 2) - TOLERANCE_ABSOLUTE(0.01) - TEST_REAL_SIMILAR(pre_ints[0], 0.40526) - TEST_REAL_SIMILAR(pre_ints[1], 0.0) - TEST_REAL_SIMILAR(suf_ints[0], 0.4922) - TEST_REAL_SIMILAR(suf_ints[1], 0.1025) - -END_SECTION - -delete ptr; - -///////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////// - -END_TEST diff --git a/src/tests/class_tests/openms/source/QTClusterFinder_test.cpp b/src/tests/class_tests/openms/source/QTClusterFinder_test.cpp index 62661efe4f4..9e94d557824 100644 --- a/src/tests/class_tests/openms/source/QTClusterFinder_test.cpp +++ b/src/tests/class_tests/openms/source/QTClusterFinder_test.cpp @@ -43,22 +43,6 @@ START_SECTION((virtual ~QTClusterFinder())) delete ptr; END_SECTION -START_SECTION((static BaseGroupFinder* create())) -{ - BaseGroupFinder* base_ptr = nullptr; - base_ptr = QTClusterFinder::create(); - TEST_NOT_EQUAL(base_ptr, base_nullPointer); - delete base_ptr; -} -END_SECTION - -START_SECTION((static const String getProductName())) -{ - QTClusterFinder finder; - TEST_EQUAL(finder.getName() == "qt", true); -} -END_SECTION - START_SECTION((void run(const std::vector& input_maps, ConsensusMap& result_map))) { vector input(2); diff --git a/src/tests/class_tests/openms/source/SimplePairFinder_test.cpp b/src/tests/class_tests/openms/source/SimplePairFinder_test.cpp index 3a1b22b42b6..7af2be6070d 100644 --- a/src/tests/class_tests/openms/source/SimplePairFinder_test.cpp +++ b/src/tests/class_tests/openms/source/SimplePairFinder_test.cpp @@ -41,18 +41,6 @@ START_SECTION((virtual ~SimplePairFinder())) delete ptr; END_SECTION -START_SECTION((static BaseGroupFinder* create())) - BaseGroupFinder* base_ptr = SimplePairFinder::create(); - TEST_NOT_EQUAL(base_ptr, base_nullPointer) - delete base_ptr; -END_SECTION - -START_SECTION((static const String getProductName())) - SimplePairFinder spf; - - TEST_EQUAL(spf.getName() == "simple",true) -END_SECTION - START_SECTION((virtual void run(const std::vector< ConsensusMap > &input_maps, ConsensusMap &result_map))) FeatureMap scene; Feature feat1; diff --git a/src/tests/class_tests/openms/source/SingleLinkage_test.cpp b/src/tests/class_tests/openms/source/SingleLinkage_test.cpp index 5f07a59994c..b02408a3504 100644 --- a/src/tests/class_tests/openms/source/SingleLinkage_test.cpp +++ b/src/tests/class_tests/openms/source/SingleLinkage_test.cpp @@ -44,7 +44,6 @@ ptr = new SingleLinkage(); START_SECTION((SingleLinkage(const SingleLinkage &source))) { SingleLinkage copy(*ptr); - TEST_EQUAL(copy.getProductName(), ptr->getProductName()); } END_SECTION @@ -52,7 +51,6 @@ START_SECTION((SingleLinkage& operator=(const SingleLinkage &source))) { SingleLinkage copy; copy = *ptr; - TEST_EQUAL(copy.getProductName(), ptr->getProductName()); } END_SECTION @@ -115,20 +113,6 @@ START_SECTION((void operator()(DistanceMatrix< float > &original_distance, std:: } END_SECTION -START_SECTION((static const String getProductName())) -{ - TEST_EQUAL(ptr->getProductName(), "SingleLinkage") -} -END_SECTION - -START_SECTION((static ClusterFunctor* create())) -{ - ClusterFunctor* cf = SingleLinkage::create(); - TEST_NOT_EQUAL( dynamic_cast(cf) , nullPointer) - delete cf; -} -END_SECTION - delete ptr; ///////////////////////////////////////////////////////////// diff --git a/src/tests/class_tests/openms/source/SingletonRegistry_test.cpp b/src/tests/class_tests/openms/source/SingletonRegistry_test.cpp deleted file mode 100644 index 19f8a3862d6..00000000000 --- a/src/tests/class_tests/openms/source/SingletonRegistry_test.cpp +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright (c) 2002-present, The OpenMS Team -- EKU Tuebingen, ETH Zurich, and FU Berlin -// SPDX-License-Identifier: BSD-3-Clause -// -// -------------------------------------------------------------------------- -// $Maintainer: Chris Bielow $ -// $Authors: $ -// -------------------------------------------------------------------------- - -#include -#include - -/////////////////////////// - -#include -#include - - -#include - -/////////////////////////// - -using namespace OpenMS; -using namespace std; - - -START_TEST(, "$Id$") -///////////////////////////////////////////////////////////// -FactoryBase* nullPointer = nullptr; - -START_SECTION(static FactoryBase* getFactory(const String& name)) - auto ptr = Factory::create("TICFilter"); - String myName = typeid(Factory).name(); - - TEST_NOT_EQUAL(SingletonRegistry::getFactory(myName), nullPointer) - delete ptr; -END_SECTION - - -START_SECTION(static void registerFactory(const String& name, FactoryBase* instance)) - String myName = typeid(FactoryBase).name(); - FactoryBase* fb = new FactoryBase; - SingletonRegistry::registerFactory(myName, fb); - TEST_NOT_EQUAL(SingletonRegistry::getFactory(myName), nullPointer) - delete fb; -END_SECTION - -START_SECTION(static bool isRegistered(String name)) - TEST_EQUAL(SingletonRegistry::isRegistered(typeid(Factory).name()), true) -END_SECTION -///////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////// -END_TEST - - diff --git a/src/tests/class_tests/openms/source/SiriusFragmentAnnotation_test.cpp b/src/tests/class_tests/openms/source/SiriusFragmentAnnotation_test.cpp index fc7a48b782c..a01c53edf82 100644 --- a/src/tests/class_tests/openms/source/SiriusFragmentAnnotation_test.cpp +++ b/src/tests/class_tests/openms/source/SiriusFragmentAnnotation_test.cpp @@ -49,16 +49,16 @@ START_SECTION(static void extractSiriusFragmentAnnotationMapping(const String& p String test_path = OPENMS_GET_TEST_DATA_PATH("SiriusFragmentAnnotation_test"); MSSpectrum annotated_msspectrum = SiriusFragmentAnnotation::extractAnnotationsFromSiriusFile(test_path, 1, false, false)[0]; - TEST_STRING_SIMILAR(annotated_msspectrum.getNativeID(), "sample=1 period=1 cycle=657 experiment=5|sample=1 period=1 cycle=658 experiment=6|sample=1 period=1 cycle=659 experiment=7"); + TEST_STRING_SIMILAR(annotated_msspectrum.getNativeID(), "sample=1 period=1 cycle=676 experiment=4|sample=1 period=1 cycle=677 experiment=5|sample=1 period=1 cycle=678 experiment=3"); TEST_EQUAL(annotated_msspectrum.getMSLevel(), 2); TEST_EQUAL(annotated_msspectrum.empty(), false); - TEST_REAL_SIMILAR(annotated_msspectrum[0].getMZ(), 51.023137); + TEST_REAL_SIMILAR(annotated_msspectrum[0].getMZ(), 70.040098); TEST_STRING_SIMILAR(annotated_msspectrum.getMetaValue("peak_mz"), "mz"); TEST_STRING_SIMILAR(annotated_msspectrum.getFloatDataArrays()[0].getName(), "exact_mass"); - TEST_REAL_SIMILAR(annotated_msspectrum.getFloatDataArrays()[0][0], 51.022927); - TEST_STRING_SIMILAR(annotated_msspectrum.getStringDataArrays()[0][0], "C4H2"); - TEST_STRING_SIMILAR(annotated_msspectrum.getMetaValue("annotated_sumformula"), "C10H12N3O3PS2"); + TEST_REAL_SIMILAR(annotated_msspectrum.getFloatDataArrays()[0][0], 70.040098); + TEST_STRING_SIMILAR(annotated_msspectrum.getStringDataArrays()[0][0], "C2H3N3"); + TEST_STRING_SIMILAR(annotated_msspectrum.getMetaValue("annotated_sumformula"), "C15H17ClN4"); TEST_STRING_SIMILAR(annotated_msspectrum.getMetaValue("annotated_adduct"), "[M+H]+"); TEST_REAL_SIMILAR(annotated_msspectrum.getMetaValue("decoy"), 0); } @@ -70,16 +70,16 @@ START_SECTION(static void extractSiriusFragmentAnnotationMapping(const String& p String test_path = OPENMS_GET_TEST_DATA_PATH("SiriusFragmentAnnotation_test"); MSSpectrum annotated_msspectrum = SiriusFragmentAnnotation::extractAnnotationsFromSiriusFile(test_path, 1, false, true)[0]; - TEST_STRING_SIMILAR(annotated_msspectrum.getNativeID(), "sample=1 period=1 cycle=657 experiment=5|sample=1 period=1 cycle=658 experiment=6|sample=1 period=1 cycle=659 experiment=7"); + TEST_STRING_SIMILAR(annotated_msspectrum.getNativeID(), "sample=1 period=1 cycle=676 experiment=4|sample=1 period=1 cycle=677 experiment=5|sample=1 period=1 cycle=678 experiment=3"); TEST_EQUAL(annotated_msspectrum.getMSLevel(), 2); TEST_EQUAL(annotated_msspectrum.empty(), false); - TEST_REAL_SIMILAR(annotated_msspectrum[0].getMZ(), 51.022927) + TEST_REAL_SIMILAR(annotated_msspectrum[0].getMZ(), 70.040098) TEST_STRING_SIMILAR(annotated_msspectrum.getMetaValue("peak_mz"), "exact_mass"); TEST_STRING_SIMILAR(annotated_msspectrum.getFloatDataArrays()[0].getName(), "mz"); - TEST_REAL_SIMILAR(annotated_msspectrum.getFloatDataArrays()[0][0], 51.023137); - TEST_STRING_SIMILAR(annotated_msspectrum.getStringDataArrays()[0][0], "C4H2"); - TEST_STRING_SIMILAR(annotated_msspectrum.getMetaValue("annotated_sumformula"), "C10H12N3O3PS2"); + TEST_REAL_SIMILAR(annotated_msspectrum.getFloatDataArrays()[0][0], 70.040098); + TEST_STRING_SIMILAR(annotated_msspectrum.getStringDataArrays()[0][0], "C2H3N3"); + TEST_STRING_SIMILAR(annotated_msspectrum.getMetaValue("annotated_sumformula"), "C15H17ClN4"); TEST_STRING_SIMILAR(annotated_msspectrum.getMetaValue("annotated_adduct"), "[M+H]+"); TEST_REAL_SIMILAR(annotated_msspectrum.getMetaValue("decoy"), 0); } @@ -91,22 +91,19 @@ START_SECTION(static void extractSiriusDecoyAnnotationMapping(const String& path String test_path = OPENMS_GET_TEST_DATA_PATH("SiriusFragmentAnnotation_test"); MSSpectrum decoy_msspectrum = SiriusFragmentAnnotation::extractAnnotationsFromSiriusFile(test_path, 1, true, false)[0]; - TEST_STRING_SIMILAR(decoy_msspectrum.getNativeID(), "sample=1 period=1 cycle=657 experiment=5|sample=1 period=1 cycle=658 experiment=6|sample=1 period=1 cycle=659 experiment=7"); + TEST_STRING_SIMILAR(decoy_msspectrum.getNativeID(), "sample=1 period=1 cycle=676 experiment=4|sample=1 period=1 cycle=677 experiment=5|sample=1 period=1 cycle=678 experiment=3"); TEST_EQUAL(decoy_msspectrum.getMSLevel(), 2); TEST_EQUAL(decoy_msspectrum.empty(), false); - TEST_REAL_SIMILAR(decoy_msspectrum[0].getMZ(), 46.994998); + TEST_REAL_SIMILAR(decoy_msspectrum[0].getMZ(), 53.013424); TEST_STRING_SIMILAR(decoy_msspectrum.getMetaValue("peak_mz"), "mz"); - TEST_STRING_SIMILAR(decoy_msspectrum.getStringDataArrays()[0][0], "CH2S"); - TEST_STRING_SIMILAR(decoy_msspectrum.getMetaValue("annotated_sumformula"), "C10H12N3O3PS2"); + TEST_STRING_SIMILAR(decoy_msspectrum.getStringDataArrays()[0][0], "C2N2"); + TEST_STRING_SIMILAR(decoy_msspectrum.getMetaValue("annotated_sumformula"), "C15H17ClN4"); TEST_STRING_SIMILAR(decoy_msspectrum.getMetaValue("annotated_adduct"), "[M+H]+"); TEST_REAL_SIMILAR(decoy_msspectrum.getMetaValue("decoy"), 1); } END_SECTION -// TODO: extractAndResolveSiriusAnnotations -// vector annotated_spectra = SiriusFragmentAnnotation::extractAndResolveSiriusAnnotations(subdirs, score_threshold, use_exact_mass); - ///////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////// END_TEST diff --git a/src/tests/class_tests/openms/source/SpectraSTSimilarityScore_test.cpp b/src/tests/class_tests/openms/source/SpectraSTSimilarityScore_test.cpp index 80b65551772..9cfaeef2cf2 100644 --- a/src/tests/class_tests/openms/source/SpectraSTSimilarityScore_test.cpp +++ b/src/tests/class_tests/openms/source/SpectraSTSimilarityScore_test.cpp @@ -202,20 +202,6 @@ START_SECTION(bool preprocess(PeakSpectrum &spec, float remove_peak_intensity_th TEST_EQUAL(s3.size(),8) END_SECTION - - -START_SECTION(static PeakSpectrumCompareFunctor* create()) - PeakSpectrumCompareFunctor* psf = SpectraSTSimilarityScore::create(); - SpectraSTSimilarityScore spectrast; - TEST_EQUAL(psf->getParameters(), spectrast.getParameters()) - TEST_EQUAL(psf->getName(), spectrast.getName()) - delete psf; -END_SECTION - -START_SECTION(static const String getProductName()) - TEST_EQUAL(ptr->getProductName(), "SpectraSTSimilarityScore") -END_SECTION - START_SECTION(double delta_D(double top_hit, double runner_up)) SpectraSTSimilarityScore spectrast; TEST_EXCEPTION( Exception::DivisionByZero, spectrast.delta_D(0,5)) diff --git a/src/tests/class_tests/openms/source/SpectrumAlignmentScore_test.cpp b/src/tests/class_tests/openms/source/SpectrumAlignmentScore_test.cpp index 4d84ee75b70..002d2f54469 100644 --- a/src/tests/class_tests/openms/source/SpectrumAlignmentScore_test.cpp +++ b/src/tests/class_tests/openms/source/SpectrumAlignmentScore_test.cpp @@ -109,19 +109,6 @@ START_SECTION(double operator()(const PeakSpectrum &spec) const) END_SECTION - -START_SECTION(static PeakSpectrumCompareFunctor* create()) - PeakSpectrumCompareFunctor* pscf = SpectrumAlignmentScore::create(); - SpectrumAlignmentScore sas; - TEST_EQUAL(pscf->getParameters(), sas.getParameters()) - TEST_EQUAL(pscf->getName(), sas.getName()) - delete pscf; -END_SECTION - -START_SECTION(static const String getProductName()) - TEST_STRING_EQUAL(SpectrumAlignmentScore::getProductName(), "SpectrumAlignmentScore") -END_SECTION - delete ptr; ///////////////////////////////////////////////////////////// diff --git a/src/tests/class_tests/openms/source/SpectrumCheapDPCorr_test.cpp b/src/tests/class_tests/openms/source/SpectrumCheapDPCorr_test.cpp index c0765f790d9..9e7eb9dbdab 100644 --- a/src/tests/class_tests/openms/source/SpectrumCheapDPCorr_test.cpp +++ b/src/tests/class_tests/openms/source/SpectrumCheapDPCorr_test.cpp @@ -97,18 +97,6 @@ START_SECTION(double operator () (const PeakSpectrum& a) const) END_SECTION -START_SECTION(static PeakSpectrumCompareFunctor* create()) - PeakSpectrumCompareFunctor* cf = SpectrumCheapDPCorr::create(); - SpectrumCheapDPCorr corr; - TEST_EQUAL(cf->getParameters(), corr.getParameters()) - TEST_EQUAL(cf->getName(), corr.getName()) - delete cf; -END_SECTION - -START_SECTION(static const String getProductName()) - TEST_EQUAL(SpectrumCheapDPCorr::getProductName(), "SpectrumCheapDPCorr") -END_SECTION - START_SECTION(void setFactor(double f)) e_ptr->setFactor(0.3); diff --git a/src/tests/class_tests/openms/source/SpectrumPrecursorComparator_test.cpp b/src/tests/class_tests/openms/source/SpectrumPrecursorComparator_test.cpp index 63744a01f52..8dee0ccd816 100644 --- a/src/tests/class_tests/openms/source/SpectrumPrecursorComparator_test.cpp +++ b/src/tests/class_tests/openms/source/SpectrumPrecursorComparator_test.cpp @@ -79,18 +79,6 @@ START_SECTION(double operator () (const PeakSpectrum& a) const) END_SECTION -START_SECTION(static PeakSpectrumCompareFunctor* create()) - PeakSpectrumCompareFunctor* cf = SpectrumPrecursorComparator::create(); - SpectrumPrecursorComparator pre_comp; - TEST_EQUAL(cf->getName(), pre_comp.getName()) - TEST_EQUAL(cf->getParameters(), pre_comp.getParameters()) - delete cf; -END_SECTION - -START_SECTION(static const String getProductName()) - TEST_EQUAL(e_ptr->getProductName(), "SpectrumPrecursorComparator") -END_SECTION - delete e_ptr; ///////////////////////////////////////////////////////////// diff --git a/src/tests/class_tests/openms/source/StablePairFinder_test.cpp b/src/tests/class_tests/openms/source/StablePairFinder_test.cpp index 341d1054dd6..f8d67587b5f 100644 --- a/src/tests/class_tests/openms/source/StablePairFinder_test.cpp +++ b/src/tests/class_tests/openms/source/StablePairFinder_test.cpp @@ -38,17 +38,6 @@ START_SECTION((virtual ~StablePairFinder())) END_SECTION BaseGroupFinder* base_nullPointer = nullptr; -START_SECTION((static BaseGroupFinder* create())) - BaseGroupFinder* base_ptr = StablePairFinder::create(); - TEST_NOT_EQUAL(base_ptr, base_nullPointer) - delete base_ptr; -END_SECTION - -START_SECTION((static const String getProductName())) - StablePairFinder spf; - - TEST_EQUAL(spf.getName() == "stable", true) -END_SECTION START_SECTION((void run(const std::vector& input_maps, ConsensusMap &result_map))) { diff --git a/src/tests/class_tests/openms/source/SteinScottImproveScore_test.cpp b/src/tests/class_tests/openms/source/SteinScottImproveScore_test.cpp index 475bb86fa9c..313e93f7625 100644 --- a/src/tests/class_tests/openms/source/SteinScottImproveScore_test.cpp +++ b/src/tests/class_tests/openms/source/SteinScottImproveScore_test.cpp @@ -95,18 +95,6 @@ START_SECTION(double operator () (const PeakSpectrum& spec1, const PeakSpectrum& TEST_REAL_SIMILAR(score, 1.0) END_SECTION -START_SECTION(static PeakSpectrumCompareFunctor* create()) - PeakSpectrumCompareFunctor* psf = SteinScottImproveScore::create(); - SteinScottImproveScore stein; - TEST_EQUAL(psf->getParameters(), stein.getParameters()) - TEST_EQUAL(psf->getName(), stein.getName()) - delete psf; -END_SECTION - -START_SECTION(static const String getProductName()) - TEST_EQUAL(ptr->getProductName(), "SteinScottImproveScore") -END_SECTION - delete ptr; ///////////////////////////////////////////////////////////// diff --git a/src/tests/class_tests/openms/source/TICFilter_test.cpp b/src/tests/class_tests/openms/source/TICFilter_test.cpp index 593bee73681..789ceb75378 100644 --- a/src/tests/class_tests/openms/source/TICFilter_test.cpp +++ b/src/tests/class_tests/openms/source/TICFilter_test.cpp @@ -66,10 +66,6 @@ START_SECTION((static FilterFunctor* create())) NOT_TESTABLE END_SECTION -START_SECTION((static const String getProductName())) - TEST_EQUAL(e_ptr->getProductName(), "TICFilter") -END_SECTION - delete e_ptr; ///////////////////////////////////////////////////////////// diff --git a/src/tests/class_tests/openms/source/TMTEighteenPlexQuantitationMethod_test.cpp b/src/tests/class_tests/openms/source/TMTEighteenPlexQuantitationMethod_test.cpp index b832f88033a..50bdbf15bec 100644 --- a/src/tests/class_tests/openms/source/TMTEighteenPlexQuantitationMethod_test.cpp +++ b/src/tests/class_tests/openms/source/TMTEighteenPlexQuantitationMethod_test.cpp @@ -182,7 +182,7 @@ START_SECTION((virtual Matrix getIsotopeCorrectionMatrix() const )) }; Matrix test_Matrix; - test_Matrix.setMatrix<18,18>(test_matrix); + test_Matrix.setMatrix(test_matrix); TMTEighteenPlexQuantitationMethod quant_meth; @@ -196,9 +196,9 @@ START_SECTION((virtual Matrix getIsotopeCorrectionMatrix() const )) ABORT_IF(m.rows() != 18) ABORT_IF(m.cols() != 18) - for(Matrix::SizeType i = 0; i < m.rows(); ++i) + for(size_t i = 0; i < m.rows(); ++i) { - for(Matrix::SizeType j = 0; j < m.cols(); ++j) + for(size_t j = 0; j < m.cols(); ++j) { TEST_REAL_SIMILAR(m(i,j), test_Matrix(i,j)) } diff --git a/src/tests/class_tests/openms/source/TMTElevenPlexQuantitationMethod_test.cpp b/src/tests/class_tests/openms/source/TMTElevenPlexQuantitationMethod_test.cpp index 4617159eb90..bbe9c0ba9f5 100644 --- a/src/tests/class_tests/openms/source/TMTElevenPlexQuantitationMethod_test.cpp +++ b/src/tests/class_tests/openms/source/TMTElevenPlexQuantitationMethod_test.cpp @@ -177,9 +177,9 @@ START_SECTION((virtual Matrix getIsotopeCorrectionMatrix() const )) ABORT_IF(m.rows() != 11) ABORT_IF(m.cols() != 11) - for (Matrix::SizeType i = 0; i < m.rows(); ++i) + for (size_t i = 0; i < m.rows(); ++i) { - for (Matrix::SizeType j = 0; j < m.cols(); ++j) + for (size_t j = 0; j < m.cols(); ++j) { if (i == j) { TEST_REAL_SIMILAR(m(i,j), 1.0) } else { TEST_REAL_SIMILAR(m(i,j), 0.0) } diff --git a/src/tests/class_tests/openms/source/TMTSixPlexQuantitationMethod_test.cpp b/src/tests/class_tests/openms/source/TMTSixPlexQuantitationMethod_test.cpp index ff12c3ce016..94eb9a32468 100644 --- a/src/tests/class_tests/openms/source/TMTSixPlexQuantitationMethod_test.cpp +++ b/src/tests/class_tests/openms/source/TMTSixPlexQuantitationMethod_test.cpp @@ -109,9 +109,9 @@ START_SECTION((virtual Matrix getIsotopeCorrectionMatrix() const )) ABORT_IF(m.rows() != 6) ABORT_IF(m.cols() != 6) - for(Matrix::SizeType i = 0; i < m.rows(); ++i) + for(size_t i = 0; i < m.rows(); ++i) { - for(Matrix::SizeType j = 0; j < m.cols(); ++j) + for(size_t j = 0; j < m.cols(); ++j) { if (i == j) TEST_REAL_SIMILAR(m(i,j), 1.0) diff --git a/src/tests/class_tests/openms/source/TMTSixteenPlexQuantitationMethod_test.cpp b/src/tests/class_tests/openms/source/TMTSixteenPlexQuantitationMethod_test.cpp index 96d1f0b05c9..a2712d6109d 100644 --- a/src/tests/class_tests/openms/source/TMTSixteenPlexQuantitationMethod_test.cpp +++ b/src/tests/class_tests/openms/source/TMTSixteenPlexQuantitationMethod_test.cpp @@ -172,7 +172,7 @@ START_SECTION((virtual Matrix getIsotopeCorrectionMatrix() const )) }; Matrix test_Matrix; - test_Matrix.setMatrix<16,16>(test_matrix); + test_Matrix.setMatrix(test_matrix); TMTSixteenPlexQuantitationMethod quant_meth; @@ -186,9 +186,9 @@ START_SECTION((virtual Matrix getIsotopeCorrectionMatrix() const )) ABORT_IF(m.rows() != 16) ABORT_IF(m.cols() != 16) - for(Matrix::SizeType i = 0; i < m.rows(); ++i) + for (size_t i = 0; i < m.rows(); ++i) { - for(Matrix::SizeType j = 0; j < m.cols(); ++j) + for (size_t j = 0; j < m.cols(); ++j) { TEST_REAL_SIMILAR(m(i,j), test_Matrix(i,j)) } diff --git a/src/tests/class_tests/openms/source/TMTTenPlexQuantitationMethod_test.cpp b/src/tests/class_tests/openms/source/TMTTenPlexQuantitationMethod_test.cpp index 8317c37421f..9e1871af509 100644 --- a/src/tests/class_tests/openms/source/TMTTenPlexQuantitationMethod_test.cpp +++ b/src/tests/class_tests/openms/source/TMTTenPlexQuantitationMethod_test.cpp @@ -170,7 +170,7 @@ START_SECTION((virtual Matrix getIsotopeCorrectionMatrix() const )) {0,0,0,0,0,0,0,0.0275,0,0.9628}}; Matrix test_Matrix; - test_Matrix.setMatrix<10,10>(test_matrix); + test_Matrix.setMatrix(test_matrix); TMTTenPlexQuantitationMethod quant_meth; @@ -183,11 +183,11 @@ START_SECTION((virtual Matrix getIsotopeCorrectionMatrix() const )) ABORT_IF(m.rows() != 10) ABORT_IF(m.cols() != 10) - for(Matrix::SizeType i = 0; i < m.rows(); ++i) + for (size_t i = 0; i < m.rows(); ++i) { - for(Matrix::SizeType j = 0; j < m.cols(); ++j) + for (size_t j = 0; j < m.cols(); ++j) { - if (i == j) TEST_REAL_SIMILAR(m(i,j),test_Matrix(i,j)) + if (i == j) TEST_REAL_SIMILAR(m(i,j), test_Matrix(i,j)) else TEST_REAL_SIMILAR(m(i,j), test_Matrix(i,j)) } } diff --git a/src/tests/class_tests/openms/source/ZhangSimilarityScore_test.cpp b/src/tests/class_tests/openms/source/ZhangSimilarityScore_test.cpp index 623dfa95794..369692a96d9 100644 --- a/src/tests/class_tests/openms/source/ZhangSimilarityScore_test.cpp +++ b/src/tests/class_tests/openms/source/ZhangSimilarityScore_test.cpp @@ -93,18 +93,6 @@ START_SECTION(double operator () (const PeakSpectrum& spec1, const PeakSpectrum& TEST_REAL_SIMILAR(score, 0.328749) END_SECTION -START_SECTION(static PeakSpectrumCompareFunctor* create()) - PeakSpectrumCompareFunctor* psf = ZhangSimilarityScore::create(); - ZhangSimilarityScore zhang; - TEST_EQUAL(psf->getParameters(), zhang.getParameters()) - TEST_EQUAL(psf->getName(), zhang.getName()) - delete psf; -END_SECTION - -START_SECTION(static const String getProductName()) - TEST_EQUAL(ptr->getProductName(), "ZhangSimilarityScore") -END_SECTION - delete ptr; ///////////////////////////////////////////////////////////// diff --git a/src/tests/class_tests/openms_gui/source/GUI/TOPPView_test.cpp b/src/tests/class_tests/openms_gui/source/GUI/TOPPView_test.cpp index 1f172313893..3fd1443a910 100644 --- a/src/tests/class_tests/openms_gui/source/GUI/TOPPView_test.cpp +++ b/src/tests/class_tests/openms_gui/source/GUI/TOPPView_test.cpp @@ -15,10 +15,8 @@ #include #include -#include #include - using namespace OpenMS; void TestTOPPView::scheduleModalWidget_(const QString& key_sequence, const QString& title, const int delay) @@ -95,8 +93,9 @@ void TestTOPPView::simulateClick_() void TestTOPPView::testGui() { - // register a GUI logger - Factory::registerProduct(GUIProgressLoggerImpl::getProductName(), &GUIProgressLoggerImpl::create); + // inject the GUIProgressLoggerImpl to be used by OpenMS lib via an extern variable + make_gui_progress_logger = + []() -> ProgressLogger::ProgressLoggerImpl* { return new GUIProgressLoggerImpl(); }; TOPPViewBase tv(TOPPViewBase::TOOL_SCAN::SKIP_SCAN); tv.show(); diff --git a/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/.format b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/.format new file mode 100644 index 00000000000..c933dabcf2f --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/.format @@ -0,0 +1 @@ +%source_%name \ No newline at end of file diff --git a/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/.version b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/.version new file mode 100644 index 00000000000..699d122cba4 --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/.version @@ -0,0 +1 @@ +siriusVersion 5.8.5 diff --git a/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/compound.config b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/compound.config new file mode 100644 index 00000000000..7f8f23a49b3 --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/compound.config @@ -0,0 +1,199 @@ +# Allows the USER to Specify the ScoreType that is used to rank the list of Molecular Formula +# Identifications +# before CSI:FingerID predictions are calculated. Auto means that this ScoreType is +# automatically set depending on the executed workflow. +FormulaResultRankingScore=AUTO +PrintCitations=True +RecomputeResults=False +# Maximum number of candidate molecular formulas (fragmentation trees computed by SIRIUS) +# per compound which are considered by ZODIAC. +# This is the threshold used for all compounds with mz below 300 m/z and is used to interpolate the +# number of candidates for larger compounds. +# If lower than 0, all available candidates are considered. +ZodiacNumberOfConsideredCandidatesAt300Mz=10 +# As default ZODIAC runs a 2-step approach. First running 'good quality compounds' only, and +# afterwards including the remaining. +ZodiacRunInTwoSteps=true +# Ratio of candidate molecular formulas (fragmentation trees computed by SIRIUS) per +# compound which are forced for each ionization to be considered by ZODIAC. +# This depends on the number of candidates ZODIAC considers. E.g. if 50 candidates are +# considered and a ratio of 0.2 is set, at least 10 candidates per ionization will be +# considered, which might increase the number of candidates above 50. +ZodiacRatioOfConsideredCandidatesPerIonization=0.2 +# cluster compounds before running ZODIAC +ZodiacClusterCompounds=false +# Maximum number of candidate molecular formulas (fragmentation trees computed by SIRIUS) +# per compound which are considered by ZODIAC. +# This is the threshold used for all compounds with mz above 800 m/z and is used to interpolate the +# number of candidates for smaller compounds. +# If lower than 0, all available candidates are considered. +ZodiacNumberOfConsideredCandidatesAt800Mz=50 +MotifDbFile=none +StructurePredictors=CSI_FINGERID +# Candidates matching the lipid class estimated by El Gordo will be tagged. +# The lipid class will only be available if El Gordo predicts that the MS/MS is a lipid spectrum. +# If this parameter is set to 'false' El Gordo will still be executed and e.g. improve the +# fragmentation +# tree, but the matching candidates will not be tagged as lipid class. +InjectElGordoCompounds=True +NumberOfStructureCandidates=10000 +FormulaSearchDB=none +StructureSearchDB=BIO +# Specifies if the list of Molecular Formula Identifications is filtered by a soft threshold +# (calculateThreshold) before CSI:FingerID predictions are calculated. +FormulaResultThreshold=true +MedianNoiseIntensity=0.015 +# This configuration holds a set of user given formulas to be used as candidates for SIRIUS +# Note: This set might be merged with other sources like formulas from databases +# Set of Molecular Formulas to be used as candidates for molecular formula estimation with +# SIRIUS +CandidateFormulas=, +# Keywords that can be assigned to a input spectrum to judge its quality. Available keywords +# are: Good, LowIntensity, NoMS1Peak, FewPeaks, Chimeric, NotMonoisotopicPeak, +# PoorlyExplained +CompoundQuality=UNKNOWN +# An adduct switch is a switch of the ionization mode within a spectrum, e.g. an ion replaces an +# sodium adduct +# with a protonation during fragmentation. Such adduct switches heavily increase the +# complexity of the +# analysis, but for certain adducts they might happen regularly. Adduct switches are written +# in the +# form {@literal a -> b, a -> c, d -> c} where a, b, c, and d are adducts and {@literal a -> b} denotes an +# allowed switch from +# a to b within the MS/MS spectrum. +PossibleAdductSwitches=[M+Na]+:[M+H]+,[M+K]+:[M+H]+,[M+Cl]-:[M-H]- +IsotopeMs2Settings=IGNORE +# use this parameter if you want to force to report at least +# numberOfResultsToKeepPerIonization results per ionization. +# if le 0, this parameter will have no effect and just the top +# numberOfResultsToKeep results will be reported. +NumberOfCandidatesPerIon=1 +# Enable/Disable the hypothesen driven recalibration of MS/MS spectra +# Must be either 'ALLOWED' or FORBIDDEN' +ForbidRecalibration=ALLOWED +NumberOfCandidates=10 +# Configuration profile to store instrument specific algorithm properties. +# Some of the default profiles are: 'qtof', 'orbitrap', 'fticr'. +AlgorithmProfile=default +NoiseThresholdSettings.intensityThreshold = 0.005 +NoiseThresholdSettings.maximalNumberOfPeaks = 60 +NoiseThresholdSettings.basePeak = NOT_PRECURSOR +NoiseThresholdSettings.absoluteThreshold = 0 + +# Mass accuracy setting for MS1 spectra. Mass accuracies are always written as "X ppm (Y Da)" +# with X and Y +# are numerical values. The ppm is a relative measure (parts per million), Da is an absolute +# measure. For each mass, the +# maximum of relative and absolute is used. +MS1MassDeviation.allowedMassDeviation = 10.0 ppm +MS1MassDeviation.standardMassDeviation = 10.0 ppm +MS1MassDeviation.massDifferenceDeviation = 5.0 ppm + +# Mass accuracy setting for MS2 spectra. Mass Accuracies are always written as "X ppm (Y Da)" +# with X and Y +# are numerical values. The ppm is a relative measure (parts per million), Da is an absolute +# measure. For each mass, the +# maximum of relative and absolute is used. +MS2MassDeviation.allowedMassDeviation = 10.0 ppm +MS2MassDeviation.standardMassDeviation = 10.0 ppm + +# Describes how to deal with Adducts: +# Pos Examples: +# [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+ +# Neg Examples: +# [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]- +# Enforced ion modes that are always considered. +AdductSettings.enforced = , +# Detectable ion modes which are only considered if there is an indication in the MS1 scan (e.g. +# correct mass delta). +AdductSettings.detectable = [M+H]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+H-H4O2]+,[M+NH4]+,[M-H]-,[M+Cl]-,[M-H2O-H]-,[M+Br]- +# Fallback ion modes which are considered if the auto detection did not find any indication for +# an ion mode. +AdductSettings.fallback = [M+H]+,[M-H]-,[M+Na]+,[M+K]+ + +# These configurations hold the information how to autodetect elements based on the given +# formula constraints. +# Note: If the compound is already assigned to a specific molecular formula, this annotation is +# ignored. +# Enforced elements are always considered +FormulaSettings.enforced = C,H,N,O,P +# Detectable elements are added to the chemical alphabet, if there are indications for them +# (e.g. in isotope pattern) +FormulaSettings.detectable = S,Br,Cl,B,Se +# Fallback elements are used, if the auto-detection fails (e.g. no isotope pattern available) +FormulaSettings.fallback = S + +# This configurations define how to deal with isotope patterns in MS1. +# When filtering is enabled, molecular formulas are excluded if their theoretical isotope +# pattern does not match +# the theoretical one, even if their MS/MS pattern has high score. +IsotopeSettings.filter = True +# multiplier for the isotope score. Set to 0 to disable isotope scoring. Otherwise, the score +# from isotope +# pattern analysis is multiplied with this coefficient. Set to a value larger than one if your +# isotope +# pattern data is of much better quality than your MS/MS data. +IsotopeSettings.multiplier = 1 + +# This configurations define a timeout for the tree computation. As the underlying problem is +# NP-hard, it might take +# forever to compute trees for very challenging (e.g. large mass) compounds. Setting an time +# constraint allow the program +# to continue with other instances and just skip the challenging ones. +# Note that, due to multithreading, this time constraints are not absolutely accurate. +# Set the maximum number of seconds for computing a single compound. Set to 0 to disable the time +# constraint. +Timeout.secondsPerInstance = 0 +# Set the maximum number of seconds for a single molecular formula check. Set to 0 to disable the +# time constraint +Timeout.secondsPerTree = 0 +# Ignore isotope peaks below this intensity. +# This value should reflect the smallest relative intensive which is still above noise level. +# Obviously, this is hard to judge without having absolute values. Keeping this value around 1 +# percent is +# fine for most settings. Set it to smaller values if you trust your small intensities. +ms1.minimalIntensityToConsider = 0.01 +# The average absolute deviation between theoretical and measured intensity of isotope +# peaks. +# Do not change this parameter without a good reason! +ms1.absoluteIntensityError = 0.02 +# The average relative deviation between theoretical and measured intensity of isotope +# peaks. +# Do not change this parameter without a good reason! +ms1.relativeIntensityError = 0.08 +# Set minimum m/z to enable heuristic preprocessing. The heuristic will be used to initially +# rank the formula candidates. The Top (NumberOfCandidates) candidates will then be +# computed exactly by solving the ILP. +UseHeuristic.mzToUseHeuristic = 300 +# Set minimum m/z to only use heuristic tree computation. No exact tree computation (ILP) will +# be performed for this compounds. +UseHeuristic.mzToUseHeuristicOnly = 650 + +# Defines the proportion of edges of the complete network which will be ignored. +ZodiacEdgeFilterThresholds.thresholdFilter = 0.95 +# Minimum number of candidates per compound which are forced to have at least +# [minLocalConnections] connections to other compounds. +# E.g. 2 candidates per compound must have at least 10 connections to other compounds +ZodiacEdgeFilterThresholds.minLocalCandidates = 1 +# Minimum number of connections per candidate which are forced for at least +# [minLocalCandidates] candidates to other compounds. +# E.g. 2 candidates per compound must have at least 10 connections to other compounds +ZodiacEdgeFilterThresholds.minLocalConnections = 10 + +# Number of epochs to run the Gibbs sampling. When multiple Markov chains are computed, all +# chains' iterations sum up to this value. +ZodiacEpochs.iterations = 20000 +# Number of epochs considered as 'burn-in period'. +# Samples from the beginning of a Markov chain do not accurately represent the desired +# distribution of candidates and are not used to estimate the ZODIAC score. +ZodiacEpochs.burnInPeriod = 2000 +# Number of separate Gibbs sampling runs. +ZodiacEpochs.numberOfMarkovChains = 10 + +# Lambda used in the scoring function of spectral library hits. The higher this value the higher +# are librar hits weighted in ZODIAC scoring. +ZodiacLibraryScoring.lambda = 1000 +# Spectral library hits must have at least this cosine or higher to be considered in scoring. +# Value must be in [0,1]. +ZodiacLibraryScoring.minCosine = 0.5 + diff --git a/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/compound.info b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/compound.info new file mode 100644 index 00000000000..fa8101d45bd --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/compound.info @@ -0,0 +1,7 @@ +index 1 +name SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN +ionMass 286.179028092823 +ionType [M + ?]+ +detectedAdducts MS1_PREPROCESSOR:{} +rt 438.351:NaN,NaN +rankingScoreType sirius.scores.SiriusScore diff --git a/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/decoys/C16H25NO2_[M+Na]+.tsv b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/decoys/C16H25NO2_[M+Na]+.tsv new file mode 100644 index 00000000000..fda05f73ef9 --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/decoys/C16H25NO2_[M+Na]+.tsv @@ -0,0 +1,14 @@ +mz rel.intensity formula ionization +166.083849 3.55 C7H13NO2 [M + Na]+ +173.132477 1.33 C13H16 [M + H]+ +175.148127 1.11 C13H18 [M + H]+ +176.143376 5.54 C12H17N [M + H]+ +190.135217 1.33 C13H17O [M + H]+ +215.140636 1.33 C13H20O [M + Na]+ +225.161371 0.44 C15H22 [M + Na]+ +218.153941 100.00 C14H19NO [M + H]+ +243.135551 0.89 C14H20O2 [M + Na]+ +258.182835 1.55 C15H25NO [M + Na]+ +260.162100 60.06 C14H23NO2 [M + Na]+ +269.151201 0.66 C16H22O2 [M + Na]+ +286.177750 3.55 C16H25NO2 [M + Na]+ diff --git a/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/formula_candidates.tsv b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/formula_candidates.tsv new file mode 100644 index 00000000000..9dde75f3c7d --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/formula_candidates.tsv @@ -0,0 +1,12 @@ +formulaRank molecularFormula adduct precursorFormula SiriusScore TreeScore IsotopeScore numExplainedPeaks explainedIntensity medianMassErrorFragmentPeaks(ppm) medianAbsoluteMassErrorFragmentPeaks(ppm) massErrorPrecursor(ppm) lipidClass +1 C16H25NO2 [M + Na]+ C16H25NO2 37.77674634435295 37.77674634435295 0.0 13 0.8419395465994967 -3.076517427408221 4.831274574031946 4.466968600002982 +2 C13H29NO2S [M + Na]+ C13H29NO2S 32.115714161167894 32.115714161167894 0.0 13 0.8419395465994967 -3.2480292487052242 5.06931156233155 -7.312818418257181 +3 C9H26N4O4P [M + H]+ C9H26N4O4P 31.07856598980353 31.07856598980353 0.0 15 0.8555835432409744 6.775762087912526 9.031754526785704 9.031754526785704 +4 C16H21N4O [M + H]+ C16H21N4O 29.782763777963467 29.782763777963467 0.0 12 0.840890008396306 -2.9114404683027493 7.834133147089885 0.7524965540025428 +5 C8H25N6O3S [M + H]+ C8H25N6O3S 29.53930686216235 29.53930686216235 0.0 16 0.8660789252728803 3.930389675187392 7.723524449767405 3.029504776342838 +6 C12H28N2O2P [M + Na]+ C12H28N2O2P 28.46024676574528 28.46024676574528 0.0 13 0.8419395465994967 -3.076517427408221 4.831274574031946 3.3811937195723 +7 C14H23N4O [M + Na]+ C14H23N4O 27.7140043522479 27.7140043522479 0.0 14 0.5726280436607896 6.228311376125477 7.053239167168478 9.15873098719097 +8 C12H24N5OP [M + H]+ C12H24N5OP 27.288452476896214 27.288452476896214 0.0 12 0.840890008396306 -3.4543279085180902 7.834133147089885 -0.33327832642813954 +9 C14H19N7 [M + H]+ C14H19N7 26.481754552968567 26.481754552968567 0.0 10 0.8261964735516377 4.9502930681817485 4.9502930681817485 5.4442589411905296 +10 C10H24N2O4S [M + H3N + H]+ C10H27N3O4S 25.765791775415323 25.765791775415323 0.0 12 0.840890008396306 3.983899833764388 8.117086602306683 -1.662257611043777 +11 C11H27N4O2 [M + K]+ C11H27N4O2 20.87735868535779 20.87735868535779 0.0 12 0.840890008396306 -2.1149361780912024 8.265767927296457 8.627077773474678 diff --git a/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/scores/C10H27N3O4S_[M+H3N+H]+.info b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/scores/C10H27N3O4S_[M+H3N+H]+.info new file mode 100644 index 00000000000..72ea39e1714 --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/scores/C10H27N3O4S_[M+H3N+H]+.info @@ -0,0 +1,3 @@ +sirius.scores.IsotopeScore 0.0 +sirius.scores.TreeScore 25.765791775415323 +sirius.scores.SiriusScore 25.765791775415323 diff --git a/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/scores/C11H27N4O2_[M+K]+.info b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/scores/C11H27N4O2_[M+K]+.info new file mode 100644 index 00000000000..43df63757b1 --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/scores/C11H27N4O2_[M+K]+.info @@ -0,0 +1,3 @@ +sirius.scores.IsotopeScore 0.0 +sirius.scores.TreeScore 20.87735868535779 +sirius.scores.SiriusScore 20.87735868535779 diff --git a/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/scores/C12H24N5OP_[M+H]+.info b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/scores/C12H24N5OP_[M+H]+.info new file mode 100644 index 00000000000..ffb7b405a6c --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/scores/C12H24N5OP_[M+H]+.info @@ -0,0 +1,3 @@ +sirius.scores.IsotopeScore 0.0 +sirius.scores.TreeScore 27.288452476896214 +sirius.scores.SiriusScore 27.288452476896214 diff --git a/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/scores/C12H28N2O2P_[M+Na]+.info b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/scores/C12H28N2O2P_[M+Na]+.info new file mode 100644 index 00000000000..44665d1a9a4 --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/scores/C12H28N2O2P_[M+Na]+.info @@ -0,0 +1,3 @@ +sirius.scores.IsotopeScore 0.0 +sirius.scores.TreeScore 28.46024676574528 +sirius.scores.SiriusScore 28.46024676574528 diff --git a/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/scores/C13H29NO2S_[M+Na]+.info b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/scores/C13H29NO2S_[M+Na]+.info new file mode 100644 index 00000000000..0f8979623de --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/scores/C13H29NO2S_[M+Na]+.info @@ -0,0 +1,3 @@ +sirius.scores.IsotopeScore 0.0 +sirius.scores.TreeScore 32.115714161167894 +sirius.scores.SiriusScore 32.115714161167894 diff --git a/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/scores/C14H19N7_[M+H]+.info b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/scores/C14H19N7_[M+H]+.info new file mode 100644 index 00000000000..614ee236554 --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/scores/C14H19N7_[M+H]+.info @@ -0,0 +1,3 @@ +sirius.scores.IsotopeScore 0.0 +sirius.scores.TreeScore 26.481754552968567 +sirius.scores.SiriusScore 26.481754552968567 diff --git a/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/scores/C14H23N4O_[M+Na]+.info b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/scores/C14H23N4O_[M+Na]+.info new file mode 100644 index 00000000000..5d85bc5c7a0 --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/scores/C14H23N4O_[M+Na]+.info @@ -0,0 +1,3 @@ +sirius.scores.IsotopeScore 0.0 +sirius.scores.TreeScore 27.7140043522479 +sirius.scores.SiriusScore 27.7140043522479 diff --git a/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/scores/C16H21N4O_[M+H]+.info b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/scores/C16H21N4O_[M+H]+.info new file mode 100644 index 00000000000..67007c638f1 --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/scores/C16H21N4O_[M+H]+.info @@ -0,0 +1,3 @@ +sirius.scores.IsotopeScore 0.0 +sirius.scores.TreeScore 29.782763777963467 +sirius.scores.SiriusScore 29.782763777963467 diff --git a/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/scores/C16H25NO2_[M+Na]+.info b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/scores/C16H25NO2_[M+Na]+.info new file mode 100644 index 00000000000..d002e2528f6 --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/scores/C16H25NO2_[M+Na]+.info @@ -0,0 +1,3 @@ +sirius.scores.IsotopeScore 0.0 +sirius.scores.TreeScore 37.77674634435295 +sirius.scores.SiriusScore 37.77674634435295 diff --git a/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/scores/C8H25N6O3S_[M+H]+.info b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/scores/C8H25N6O3S_[M+H]+.info new file mode 100644 index 00000000000..3bb7aab0b99 --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/scores/C8H25N6O3S_[M+H]+.info @@ -0,0 +1,3 @@ +sirius.scores.IsotopeScore 0.0 +sirius.scores.TreeScore 29.53930686216235 +sirius.scores.SiriusScore 29.53930686216235 diff --git a/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/scores/C9H26N4O4P_[M+H]+.info b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/scores/C9H26N4O4P_[M+H]+.info new file mode 100644 index 00000000000..2374dc061fc --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/scores/C9H26N4O4P_[M+H]+.info @@ -0,0 +1,3 @@ +sirius.scores.IsotopeScore 0.0 +sirius.scores.TreeScore 31.07856598980353 +sirius.scores.SiriusScore 31.07856598980353 diff --git a/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/spectra/C10H27N3O4S_[M+H3N+H]+.tsv b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/spectra/C10H27N3O4S_[M+H3N+H]+.tsv new file mode 100644 index 00000000000..994be7d2336 --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/spectra/C10H27N3O4S_[M+H3N+H]+.tsv @@ -0,0 +1,13 @@ +mz intensity rel.intensity exactmass formula ionization implicitAdduct +53.045206 30.00 1.33 53.047130 H3O2 [M + H]+ H3N +56.049919 60.00 5.54 56.049476 C3H2 [M + H]+ H3N +79.063804 30.00 1.33 79.062780 C2H5O2 [M + H]+ H3N +98.059279 958.00 100.00 98.060040 C5H4O [M + H]+ H3N +85.028411 35.00 1.55 85.028406 C4H4O2 [M + H]+ +95.045082 30.00 1.33 95.045119 CH6N2O3 [M + H]+ +105.067130 10.00 0.44 105.065854 C3H8N2O2 [M + H]+ +138.088468 35.00 1.55 138.087318 C3H8N2O3 [M + H]+ H3N +123.041272 20.00 0.89 123.040033 C2H6N2O4 [M + H]+ +140.069591 561.00 60.06 140.070605 C7H6O2 [M + H]+ H3N +166.083820 60.00 3.55 166.082232 C4H8N2O4 [M + H]+ H3N +286.179028 135.00 13.30 286.179504 C10H24N2O4S [M + H]+ H3N diff --git a/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/spectra/C11H27N4O2_[M+K]+.tsv b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/spectra/C11H27N4O2_[M+K]+.tsv new file mode 100644 index 00000000000..44af3cb7cdd --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/spectra/C11H27N4O2_[M+K]+.tsv @@ -0,0 +1,13 @@ +mz intensity rel.intensity exactmass formula ionization +53.038833 30.00 1.33 53.038577 C4H4 [M + H]+ +55.054506 25.00 1.11 55.054227 C4H6 [M + H]+ +56.049919 60.00 5.54 56.049476 C3H5N [M + H]+ +70.039929 30.00 1.33 70.041316 C4H5O [M + H]+ +85.028411 35.00 1.55 85.027063 C2H2N3O [M + H]+ +98.059279 958.00 100.00 98.060040 C5H7NO [M + H]+ +123.041272 20.00 0.89 123.042713 C5H4N3O [M + H]+ +138.088468 35.00 1.55 138.089998 C6H9N4 [M + H]+ +140.069591 561.00 60.06 140.069262 C5H7N4O [M + H]+ +149.056693 15.00 0.66 149.058363 C7H6N3O [M + H]+ +166.083820 60.00 3.55 166.084912 C7H9N4O [M + H]+ +286.179028 135.00 13.30 286.176559 C11H27N4O2 [M + K]+ diff --git a/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/spectra/C12H24N5OP_[M+H]+.tsv b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/spectra/C12H24N5OP_[M+H]+.tsv new file mode 100644 index 00000000000..6ecb348410e --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/spectra/C12H24N5OP_[M+H]+.tsv @@ -0,0 +1,13 @@ +mz intensity rel.intensity exactmass formula ionization +53.038833 30.00 1.33 53.038577 C4H4 [M + H]+ +55.054506 25.00 1.11 55.054227 C4H6 [M + H]+ +56.049919 60.00 5.54 56.049476 C3H5N [M + H]+ +70.039929 30.00 1.33 70.041316 C4H5O [M + H]+ +85.028411 35.00 1.55 85.027063 C2H2N3O [M + H]+ +98.059279 958.00 100.00 98.060040 C5H7NO [M + H]+ +123.041272 20.00 0.89 123.042713 C5H4N3O [M + H]+ +138.088468 35.00 1.55 138.089998 C6H9N4 [M + H]+ +140.069591 561.00 60.06 140.069262 C5H7N4O [M + H]+ +149.056693 15.00 0.66 149.058363 C7H6N3O [M + H]+ +166.083820 60.00 3.55 166.084912 C7H9N4O [M + H]+ +286.179028 135.00 13.30 286.179123 C12H24N5OP [M + H]+ diff --git a/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/spectra/C12H28N2O2P_[M+Na]+.tsv b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/spectra/C12H28N2O2P_[M+Na]+.tsv new file mode 100644 index 00000000000..a80c26e1ee0 --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/spectra/C12H28N2O2P_[M+Na]+.tsv @@ -0,0 +1,14 @@ +mz intensity rel.intensity exactmass formula ionization +53.038833 30.00 1.33 53.038577 C4H4 [M + H]+ +55.054506 25.00 1.11 55.054227 C4H6 [M + H]+ +56.049919 60.00 5.54 56.049476 C3H5N [M + H]+ +70.039929 30.00 1.33 70.041316 C4H5O [M + H]+ +95.045082 30.00 1.33 95.046736 C4H8O [M + Na]+ +105.067130 10.00 0.44 105.067471 C6H10 [M + Na]+ +98.059279 958.00 100.00 98.060040 C5H7NO [M + H]+ +123.041272 20.00 0.89 123.041650 C5H8O2 [M + Na]+ +138.088468 35.00 1.55 138.088935 C6H13NO [M + Na]+ +140.069591 561.00 60.06 140.068199 C5H11NO2 [M + Na]+ +149.056693 15.00 0.66 149.057300 C7H10O2 [M + Na]+ +166.083820 60.00 3.55 166.083849 C7H13NO2 [M + Na]+ +286.179028 135.00 13.30 286.178060 C12H28N2O2P [M + Na]+ diff --git a/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/spectra/C13H29NO2S_[M+Na]+.tsv b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/spectra/C13H29NO2S_[M+Na]+.tsv new file mode 100644 index 00000000000..0412f2ddcd7 --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/spectra/C13H29NO2S_[M+Na]+.tsv @@ -0,0 +1,14 @@ +mz intensity rel.intensity exactmass formula ionization +53.038833 30.00 1.33 53.038577 C4H4 [M + H]+ +55.054506 25.00 1.11 55.054227 C4H6 [M + H]+ +56.049919 60.00 5.54 56.049476 C3H5N [M + H]+ +70.039929 30.00 1.33 70.041316 C4H5O [M + H]+ +95.045082 30.00 1.33 95.046736 C4H8O [M + Na]+ +105.067130 10.00 0.44 105.067471 C6H10 [M + Na]+ +98.059279 958.00 100.00 98.060040 C5H7NO [M + H]+ +123.041272 20.00 0.89 123.041650 C5H8O2 [M + Na]+ +138.088468 35.00 1.55 138.088935 C6H13NO [M + Na]+ +140.069591 561.00 60.06 140.068199 C5H11NO2 [M + Na]+ +149.056693 15.00 0.66 149.057300 C7H10O2 [M + Na]+ +166.083820 60.00 3.55 166.083849 C7H13NO2 [M + Na]+ +286.179028 135.00 13.30 286.181121 C13H29NO2S [M + Na]+ diff --git a/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/spectra/C14H19N7_[M+H]+.tsv b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/spectra/C14H19N7_[M+H]+.tsv new file mode 100644 index 00000000000..ec2d959b0d6 --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/spectra/C14H19N7_[M+H]+.tsv @@ -0,0 +1,11 @@ +mz intensity rel.intensity exactmass formula ionization +53.038833 30.00 1.33 53.038577 C4H4 [M + H]+ +55.054506 25.00 1.11 55.054227 C4H6 [M + H]+ +56.049919 60.00 5.54 56.049476 C3H5N [M + H]+ +70.039929 30.00 1.33 70.039974 C2H3N3 [M + H]+ +98.059279 958.00 100.00 98.058698 C3H5N4 [M + H]+ +123.041272 20.00 0.89 123.041371 C3H2N6 [M + H]+ +140.069591 561.00 60.06 140.067920 C3H5N7 [M + H]+ +149.056693 15.00 0.66 149.057021 C5H4N6 [M + H]+ +166.083820 60.00 3.55 166.083570 C5H7N7 [M + H]+ +286.179028 135.00 13.30 286.177470 C14H19N7 [M + H]+ diff --git a/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/spectra/C14H23N4O_[M+Na]+.tsv b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/spectra/C14H23N4O_[M+Na]+.tsv new file mode 100644 index 00000000000..433e9732445 --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/spectra/C14H23N4O_[M+Na]+.tsv @@ -0,0 +1,15 @@ +mz intensity rel.intensity exactmass formula ionization +70.039929 30.00 1.33 70.038911 C2H7O [M + Na]+ +53.038833 30.00 1.33 53.038577 C4H4 [M + H]+ +55.054506 25.00 1.11 55.054227 C4H6 [M + H]+ +56.049919 60.00 5.54 56.049476 C3H5N [M + H]+ +95.045082 30.00 1.33 95.045393 C2H6N3 [M + Na]+ +105.067130 10.00 0.44 105.067471 C6H10 [M + Na]+ +98.059279 958.00 100.00 98.060040 C5H7NO [M + H]+ +123.041272 20.00 0.89 123.040308 C3H6N3O [M + Na]+ +133.100243 59.00 2.62 133.098771 C8H14 [M + Na]+ +138.088468 35.00 1.55 138.087592 C4H11N4 [M + Na]+ +149.056693 15.00 0.66 149.055958 C5H8N3O [M + Na]+ +166.083820 60.00 3.55 166.082507 C5H11N4O [M + Na]+ +184.123372 13.00 0.58 184.122246 C12H17 [M + Na]+ +286.179028 135.00 13.30 286.176407 C14H23N4O [M + Na]+ diff --git a/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/spectra/C16H21N4O_[M+H]+.tsv b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/spectra/C16H21N4O_[M+H]+.tsv new file mode 100644 index 00000000000..5acb1b44714 --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/spectra/C16H21N4O_[M+H]+.tsv @@ -0,0 +1,13 @@ +mz intensity rel.intensity exactmass formula ionization +53.038833 30.00 1.33 53.038577 C4H4 [M + H]+ +55.054506 25.00 1.11 55.054227 C4H6 [M + H]+ +56.049919 60.00 5.54 56.049476 C3H5N [M + H]+ +70.039929 30.00 1.33 70.041316 C4H5O [M + H]+ +85.028411 35.00 1.55 85.027063 C2H2N3O [M + H]+ +98.059279 958.00 100.00 98.060040 C5H7NO [M + H]+ +123.041272 20.00 0.89 123.042713 C5H4N3O [M + H]+ +138.088468 35.00 1.55 138.089998 C6H9N4 [M + H]+ +140.069591 561.00 60.06 140.069262 C5H7N4O [M + H]+ +149.056693 15.00 0.66 149.058363 C7H6N3O [M + H]+ +166.083820 60.00 3.55 166.084912 C7H9N4O [M + H]+ +286.179028 135.00 13.30 286.178813 C16H21N4O [M + H]+ diff --git a/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/spectra/C16H25NO2_[M+Na]+.tsv b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/spectra/C16H25NO2_[M+Na]+.tsv new file mode 100644 index 00000000000..01f16ec8e71 --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/spectra/C16H25NO2_[M+Na]+.tsv @@ -0,0 +1,14 @@ +mz intensity rel.intensity exactmass formula ionization +53.038833 30.00 1.33 53.038577 C4H4 [M + H]+ +55.054506 25.00 1.11 55.054227 C4H6 [M + H]+ +56.049919 60.00 5.54 56.049476 C3H5N [M + H]+ +70.039929 30.00 1.33 70.041316 C4H5O [M + H]+ +95.045082 30.00 1.33 95.046736 C4H8O [M + Na]+ +105.067130 10.00 0.44 105.067471 C6H10 [M + Na]+ +98.059279 958.00 100.00 98.060040 C5H7NO [M + H]+ +123.041272 20.00 0.89 123.041650 C5H8O2 [M + Na]+ +138.088468 35.00 1.55 138.088935 C6H13NO [M + Na]+ +140.069591 561.00 60.06 140.068199 C5H11NO2 [M + Na]+ +149.056693 15.00 0.66 149.057300 C7H10O2 [M + Na]+ +166.083820 60.00 3.55 166.083849 C7H13NO2 [M + Na]+ +286.179028 135.00 13.30 286.177750 C16H25NO2 [M + Na]+ diff --git a/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/spectra/C8H25N6O3S_[M+H]+.tsv b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/spectra/C8H25N6O3S_[M+H]+.tsv new file mode 100644 index 00000000000..d3271ea378b --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/spectra/C8H25N6O3S_[M+H]+.tsv @@ -0,0 +1,17 @@ +mz intensity rel.intensity exactmass formula ionization +53.038833 30.00 1.33 53.038577 C4H4 [M + H]+ +55.054506 25.00 1.11 55.054227 C4H6 [M + H]+ +56.049919 60.00 5.54 56.049476 C3H5N [M + H]+ +70.039929 30.00 1.33 70.041316 C4H5O [M + H]+ +81.036251 30.00 1.33 81.036862 C2H8OS [M + H]+ +85.028411 35.00 1.55 85.027063 C2H2N3O [M + H]+ +98.059279 958.00 100.00 98.058698 C3H5N4 [M + H]+ +105.067130 10.00 0.44 105.065854 C3H8N2O2 [M + H]+ +123.041272 20.00 0.89 123.042713 C5H4N3O [M + H]+ +123.048287 30.00 2.22 123.047427 C4H10O2S [M + H]+ +138.088468 35.00 1.55 138.089998 C6H9N4 [M + H]+ +140.069591 561.00 60.06 140.069262 C5H7N4O [M + H]+ +149.056693 15.00 0.66 149.058363 C7H6N3O [M + H]+ +166.083820 60.00 3.55 166.084912 C7H9N4O [M + H]+ +179.086353 30.00 1.33 179.084875 C6H14N2O2S [M + H]+ +286.179028 135.00 13.30 286.178161 C8H25N6O3S [M + H]+ diff --git a/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/spectra/C9H26N4O4P_[M+H]+.tsv b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/spectra/C9H26N4O4P_[M+H]+.tsv new file mode 100644 index 00000000000..fb284e0cdb3 --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/spectra/C9H26N4O4P_[M+H]+.tsv @@ -0,0 +1,16 @@ +mz intensity rel.intensity exactmass formula ionization +53.038833 30.00 1.33 53.038577 C4H4 [M + H]+ +53.045206 30.00 1.33 53.047130 H6NO2 [M + H]+ +55.054506 25.00 1.11 55.054227 C4H6 [M + H]+ +56.049919 60.00 5.54 56.049476 C3H5N [M + H]+ +79.063804 30.00 1.33 79.062780 C2H8NO2 [M + H]+ +85.028411 35.00 1.55 85.028717 H7NO2P [M + H]+ +95.045082 30.00 1.33 95.045119 CH6N2O3 [M + H]+ +98.059279 958.00 100.00 98.060351 CH10N2OP [M + H]+ +105.067130 10.00 0.44 105.065854 C3H8N2O2 [M + H]+ +123.041272 20.00 0.89 123.040033 C2H6N2O4 [M + H]+ +138.088468 35.00 1.55 138.087318 C3H11N3O3 [M + H]+ +140.069591 561.00 60.06 140.070916 C3H12N2O2P [M + H]+ +149.056693 15.00 0.66 149.055683 C4H8N2O4 [M + H]+ +166.083820 60.00 3.55 166.082232 C4H11N3O4 [M + H]+ +286.179028 135.00 13.30 286.176443 C9H26N4O4P [M + H]+ diff --git a/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/spectrum.ms b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/spectrum.ms new file mode 100644 index 00000000000..eaad10c5495 --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/spectrum.ms @@ -0,0 +1,538 @@ +>compound 0_10333458062711546021-664003--57--UNKNOWN +>parentmass 286.179028092823 +>ionization [M + ?]+ +>instrumentation Unknown (LCMS) +>source file:///home/axel/dev/OpenMS/src/tests/topp/SiriusExport_2_output.ms +>quality UNKNOWN +>rt 438.351s + +>ms1merged +##fid 10333458062711546021 +##fmz 286.179028092822705 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source format [MS, MS:1000562, ABI WIFF format,] +286.179028092823 67049.21901024424 + +>ms1peaks +52.005453969998 2626.72314453125 +53.013597312446 12728.5537109375 +53.850414409821 1250.853881835938 +54.009329210909 348334.9375 +55.006062122532 5392.66845703125 +55.011342055713 6236.11181640625 +55.054021350211 1869.2734375 +55.93428637444 6315.56396484375 +56.941831842622 2597.011962890625 +59.049520241177 68985.5625 +60.044238693811 9277.4111328125 +60.051306561624 7152.46337890625 +61.039638104919 1556.488891601562 +63.997844257749 4543.38671875 +64.004868648059 4706.5009765625 +68.011536869512 28038.3359375 +68.993647464953 12595.1962890625 +69.04451564507 12865.3759765625 +72.936647087938 2567.0 +73.064121365067 1769.92578125 +76.486182586418 2785.3779296875 +79.020888115541 15628.5712890625 +80.049060365715 12153.072265625 +81.936978966817 8495.0 +82.996309100211 9038.6689453125 +87.043494139885 1178.19091796875 +87.05431917233 1546.054443359375 +89.506956806916 1559.0 +90.488703688296 1817.0 +91.053777911785 1528.745483398438 +95.952341177386 2260.7412109375 +97.968210936145 7024.0 +98.983399057372 5034.8876953125 +100.075304888654 1243.0 +102.090957068479 1525.0 +109.943109012828 1320.9287109375 +113.962992754591 2498.0 +114.090728474154 10512.6171875 +118.085470631803 6601.4580078125 +122.095607083049 3712.7216796875 +122.962888411087 10607.5009765625 +123.091509718457 1686.104614257812 +132.043186178558 2464.123291015625 +136.020620151667 1645.0 +140.0671647866 1314.0 +141.089863109573 1272.67529296875 +141.111890586678 1562.626220703125 +141.957557081223 15988.39453125 +147.090173997086 2431.0 +149.022336160605 4523.34912109375 +149.043636850784 1223.066040039062 +151.095789721496 2301.788818359375 +151.111113393103 2538.584228515625 +155.069111807472 1549.374267578125 +155.105759874764 1515.979370117188 +155.973112787773 4487.0 +158.153378740203 12758.58984375 +159.156448385204 1328.413452148438 +161.095542076597 1436.0 +164.14201835883 1273.736083984375 +170.095175686942 2849.232421875 +171.138207188731 2555.0 +172.133475837479 1266.057739257812 +173.079557051502 6304.22509765625 +174.991247355031 15122.0 +176.988586706089 4881.0 +178.158242399689 1403.950073242188 +179.105412805866 3814.716552734375 +182.960601426951 1842.280639648438 +182.982966835265 1410.150146484375 +186.220883153188 1802.0 +194.115976643286 3119.0 +195.102214753451 1498.0576171875 +195.120897037407 1858.993774414062 +198.184171488074 2116.0 +217.106332787106 21497.787109375 +218.109128733639 2613.0 +219.095226750847 2102.304443359375 +224.127626531368 1175.0 +228.195317705032 1672.133422851562 +239.088374855672 3685.309814453125 +242.28318531079 1468.0 +246.860952738993 3049.0 +249.183720846634 1286.295654296875 +250.177140311956 1205.756591796875 +250.999832075601 32001.0 +252.002106420824 2157.0 +252.996924958467 20204.0 +253.999797691244 1411.0 +254.993496356863 3401.0 +279.092906188567 2036.0 +286.179288894577 8400.0 +287.181689656808 1994.078002929688 +287.217541902151 1349.643310546875 +291.235948805059 1485.048828125 +292.122314491142 439122.0 +292.983059595137 1438.03466796875 +293.122671084767 47692.13671875 +294.118451514065 133013.5625 +295.120454982262 22502.744140625 +296.12260798439 2357.932373046875 +313.039105768504 33266.0 +314.042149111497 5168.0 +315.036268416268 21007.2421875 +316.038403197349 3302.0 +317.033014483539 3862.0 +321.22705792137 1381.0 +327.007877449001 47611.56640625 +328.011115186819 4973.0 +329.004794999861 46547.0 +330.008005603352 4737.0 +331.001868162022 15538.0 +332.004876313775 1480.0 +333.003299668985 2744.07177734375 +335.018886982057 3585.0 +337.016084576435 2205.0 +339.994390073568 1754.0 +348.988792788967 6573.0 +350.986916484867 6721.0 +352.984603835989 2083.0 +354.041095041215 1340.092163085938 +356.039619641072 1269.081298828125 +372.065048824891 6209.5869140625 +374.062468004687 6086.0 +376.05914822959 1968.0 +392.045330940334 2193.0 +395.067648242738 2230.0 +397.066134815272 1581.0 +426.930515343123 1306.0 +426.976513054277 1169.811889648438 +428.927149366436 1298.0 +430.88664035001 1403.0 +445.11891390093 2269.0 +491.969645058197 1379.0 +505.851389825487 3789.0 +522.878326149515 1800.0 +536.163456762234 4427.0 +537.165324404735 2206.0 +538.161529742511 1590.843383789062 +544.337468455008 1195.0 +546.914116937371 2559.0 +547.911876414748 1196.0 +610.180850219782 2080.0 +611.182328195703 1214.0 +645.154717656738 8484.0 +646.158700037782 2782.0 +647.152980374288 9942.0 +648.155555240546 3294.0 +649.150621117204 4284.0 +650.1527099554 1200.0 + +>ms1peaks +52.005349834334 2531.576904296875 +52.017818445883 1415.950317382812 +53.013312992683 14436.3916015625 +53.85025651417 1311.865234375 +54.009237809188 346906.65625 +55.005700977113 5493.92431640625 +55.011578128004 6377.6845703125 +55.053978874167 1984.071533203125 +55.93399913398 6168.7666015625 +56.049511919157 2977.76220703125 +56.942056567735 2284.77685546875 +59.049350876787 53629.328125 +60.044322757483 8600.1640625 +61.039156449004 1644.316650390625 +63.99750818887 3394.98291015625 +64.005057234464 4259.6796875 +67.029035810216 2293.846923828125 +68.011280581573 27100.8359375 +68.993371510951 13738.876953125 +69.007497995886 1441.296142578125 +69.044403084909 13070.419921875 +72.936195718172 2643.0 +73.063931102643 1919.621459960938 +76.486167754556 1986.0 +79.020619039319 14111.75390625 +80.048823728166 11369.2158203125 +81.936905757296 8703.630859375 +82.996214707689 8986.6513671875 +87.054271044459 1595.093627929688 +89.505822079267 1760.0 +90.488874903389 1822.018798828125 +91.053163445835 1300.61083984375 +95.9523313459 2696.0 +97.967781752031 7299.724609375 +98.982987677469 4854.5224609375 +102.09029086708 1906.0 +109.942394870381 1583.0 +113.962086127466 2074.0 +114.090395399108 10058.849609375 +118.084999014032 6547.7587890625 +122.095088721755 3711.12451171875 +122.962603857586 10794.16796875 +123.090649527845 1803.942016601562 +123.961855384374 1203.0 +130.157739418261 1256.0 +136.020039379796 2083.0 +136.110849290905 1530.0 +141.089744053815 1237.175415039062 +141.111592847426 1371.69677734375 +141.957218960001 15367.2275390625 +147.090011968413 2463.0 +149.021828990169 4784.99560546875 +149.041466762922 2472.640625 +151.095944798794 2940.50830078125 +151.109341918543 3165.085693359375 +155.069344508958 1582.135864257812 +155.105135879836 1693.281616210938 +155.972287468254 4554.34033203125 +158.152759351824 13585.107421875 +159.156196357366 1465.92138671875 +159.967851357038 1225.276977539062 +161.095405694183 1641.0 +164.14161512709 1478.434814453125 +170.094609622 2457.6884765625 +171.141467030026 1915.0 +173.079379445344 6273.8388671875 +174.990844938283 15688.865234375 +176.987639364551 5360.52587890625 +177.052467267277 1475.0 +178.157540067017 1547.0 +179.105091602082 3287.998779296875 +182.959873591311 1986.81787109375 +186.220399692631 1658.0 +194.115345005627 3116.0 +195.120929712058 1968.662841796875 +198.184276303297 2015.0 +217.10597761005 20924.755859375 +218.108820705353 2495.792236328125 +219.094022022929 1823.679443359375 +228.194066029155 1666.038696289062 +239.087872978056 3722.0 +242.28242381947 1362.0 +246.860857987495 3450.0 +249.182928857496 1266.0 +250.177066939258 1504.335083007812 +250.999117678898 32221.0 +252.001781095835 2314.0 +252.995932699016 21462.0 +253.998953923887 1371.0 +254.99303375674 3403.0 +267.170032496706 1345.0 +279.092268016151 1928.0 +281.050459546987 1487.0 +286.178655880094 23309.20703125 +287.182133845414 5196.47119140625 +291.235317712341 1559.882568359375 +292.121093988068 399090.0 +292.98266390846 1255.68212890625 +293.023857907805 1542.28759765625 +293.121921829592 49425.3359375 +294.117639052994 123150.9296875 +295.119583284786 21162.34765625 +296.122453171108 2024.725219726562 +304.297977116061 1205.098876953125 +311.183844763032 2282.70361328125 +313.038450493324 32210.287109375 +314.041319280533 5035.671875 +315.035461346507 21071.0 +316.038196392607 3544.0 +317.032926032719 3656.0 +327.007662782866 46713.0 +328.00975395292 4731.13134765625 +329.00414172793 46254.0 +330.006788270317 4440.0 +331.000792355787 15238.0 +332.003743171067 1635.0 +333.001048030235 2840.54736328125 +335.018066518429 3857.0 +337.016490283319 2257.0 +348.988206068721 7382.0 +350.985085465325 7259.0 +352.983081816715 2462.0 +354.04109270199 1411.0 +358.095358680256 1344.0 +372.064528986026 6467.4951171875 +374.061053722203 5695.0 +376.059656060961 2211.0 +392.044067632616 2143.0 +395.066337210837 2288.0 +397.06535202634 1841.0 +428.895605409648 1348.684326171875 +428.9278597963 1412.0 +445.117454275133 2106.0 +491.967681975778 1277.0 +505.85090845577 4139.74755859375 +522.876740252438 1800.0 +536.161867901498 4607.0 +537.162257475039 2465.0 +538.160527239899 1695.0 +544.3364378563 1324.164184570312 +546.911854407175 2375.0 +547.911013918907 1216.0 +610.179211400596 2165.0 +611.181197363117 1284.0 +645.15389276048 7294.0 +646.156182811867 3135.0 +647.151735773867 8987.490234375 +648.154489817139 3184.0 +649.150180493474 3821.59130859375 +650.151352616891 1194.0 + +>ms1peaks +52.00554636841 2670.973876953125 +53.013447667176 13442.6962890625 +53.850235753676 1356.916015625 +54.009375548499 346132.0 +55.006052234178 5908.220703125 +55.011327139628 6618.6650390625 +55.054273818991 1724.201538085938 +55.934183438349 6089.1953125 +56.942085448242 2338.52294921875 +59.049497543886 62260.1953125 +60.044496762287 9351.7353515625 +61.039589911785 1691.005004882812 +63.997480072658 3643.092529296875 +64.00507351026 4229.73828125 +68.011506505752 28323.26953125 +68.993585810696 12464.4453125 +69.04464085294 13649.212890625 +72.044186043856 1148.0 +72.936480336335 2359.262451171875 +73.064260321862 1642.10302734375 +76.486297311909 2289.460693359375 +79.020766274604 15897.3828125 +80.048988150704 12209.904296875 +81.936792921049 8371.669921875 +82.996095650262 8043.11328125 +87.04383465373 1276.883422851562 +87.054214175865 1482.59814453125 +89.506458664277 1777.830322265625 +90.489196475802 1663.0 +91.05375523593 1541.526000976562 +95.952402869893 2400.645751953125 +97.967886882016 8001.9873046875 +98.983532889025 3424.810302734375 +100.074677767759 1304.0 +102.090242730316 1329.0 +109.942679982849 1398.0 +113.96269076886 1941.0 +114.090409984344 11174.9423828125 +118.085207229958 6292.0 +122.095068185146 3153.0 +122.962957192644 10933.0 +123.089979550376 1737.604248046875 +123.962216545241 1382.0 +130.157851054625 1368.0 +136.020636426938 1627.06298828125 +136.111496039851 1223.0 +140.067223364828 1192.0 +141.090663513328 1291.584838867188 +141.111904002369 1407.591674804688 +141.935850183021 1558.355590820312 +141.957535804851 16602.31640625 +147.090073371469 2918.0 +149.02224215734 5058.01123046875 +149.041140009202 2281.293701171875 +151.094511933196 2771.192138671875 +151.109513517514 3017.586181640625 +155.069293446605 1572.56640625 +155.105166988042 1682.863525390625 +155.972752865047 4956.0 +158.095291106412 1175.110473632812 +158.152897422617 13347.4541015625 +159.140146486584 1221.760620117188 +159.156626899127 1511.809692382812 +159.968130743445 1344.0 +161.095301376904 1939.0 +164.142147914813 1352.608276367188 +170.095211316489 2555.052490234375 +171.142065868167 1688.7470703125 +173.079666684779 7435.07080078125 +174.99087633145 12561.8759765625 +176.988228889313 4082.0 +178.157451442432 1671.7890625 +179.082574741649 1161.343872070312 +179.105464745461 2033.503295898438 +182.960688200025 1872.628540039062 +186.220236378822 1627.0 +194.115587597029 3414.43115234375 +195.1025219361 1940.187622070312 +195.12115396471 2419.52587890625 +198.184119642186 2274.0 +217.106221715984 24680.2578125 +218.109389146592 2768.0 +219.094928896725 1923.877807617188 +224.12573778853 1308.718017578125 +228.194389849522 1662.646850585938 +239.088555805042 4654.19384765625 +242.282289579657 1282.0 +246.861651699246 3614.0 +249.183697918794 1626.163208007812 +250.176302167701 1384.0 +250.99915901332 25559.16796875 +252.002213377038 1651.423461914062 +252.996445325154 16054.0 +253.999379477884 1131.0 +254.993447206468 2772.603271484375 +267.171432346745 1267.0 +279.091928399145 1791.0 +281.049474584863 1227.866455078125 +286.179096453069 25739.439453125 +287.182281594319 5585.33349609375 +292.120716590068 202371.0 +293.123166487022 34628.8203125 +294.117931210581 66532.0 +295.120340194058 11307.2236328125 +296.123175528233 1139.0 +304.298333326187 1345.0 +311.184016131023 2112.0 +313.038042743243 19603.21484375 +314.041307564911 3224.0 +315.035568487358 12179.0 +316.038573054615 2028.0 +317.032999093534 2260.0 +327.007882393116 37742.55859375 +328.009892511372 3601.0 +329.004296620889 35070.0 +330.007896864877 3743.0 +331.001397377526 12099.0 +332.004304811118 1147.0 +333.002267631798 2076.0 +335.01777065022 2313.0 +337.017035297896 1211.0 +348.98871515987 5698.0 +350.985988216636 6014.0 +352.98222744772 1887.0 +371.314800126809 1304.0 +372.064251479626 5075.02734375 +374.061938971072 4867.0 +376.058486261926 1592.0 +392.043742286078 1216.0 +395.068502390905 1429.0 +397.065868843467 1348.0 +428.893525922553 1400.224853515625 +428.927664629947 1466.814208984375 +430.886759376928 1323.849609375 +445.118824286635 2200.0 +505.851799123756 3631.0 +522.879142647299 1843.0 +529.887839543416 1136.832397460938 +536.163692934414 5222.0 +537.164127390652 2657.0 +538.162454710439 1796.178100585938 +544.339301230729 1413.667114257812 +546.912450246131 2510.0 +610.18154256263 2042.0 +611.181371312242 1400.0 +645.154552081192 5333.0 +646.158693354263 1778.0 +647.153270969225 6082.12939453125 +648.155656988395 2289.0 +649.150637720064 2324.0 + +>ms2peaks +##specref ms_run[1]:sample=1 period=1 cycle=664 experiment=3 +##scan 57 +##n_id sample=1 period=1 cycle=664 experiment=3 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=664 experiment=3_0 +51.938122634847 13.0 +56.049507786248 45.0 +98.060380513671 369.0 +123.04828715679 30.0 +126.875862655178 13.0 +138.097784854251 60.0 +140.072452948764 270.0 +170.852966884469 45.0 +170.866613065551 45.0 +184.123371965665 13.0 +269.157141111623 30.0 +269.174210692919 30.0 +286.179738267349 60.0 + +>ms2peaks +##specref ms_run[1]:sample=1 period=1 cycle=665 experiment=5 +##scan 68 +##n_id sample=1 period=1 cycle=665 experiment=5 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=665 experiment=5_0 +51.937914215879 30.0 +53.038832825255 30.0 +53.045206203438 30.0 +56.049918656323 60.0 +70.039929361435 30.0 +79.05676970651 30.0 +79.063803665589 30.0 +81.036251104807 30.0 +95.045081818956 30.0 +98.059564237847 929.0 +133.104347649114 30.0 +138.093679048566 30.0 +140.069724401264 524.0 +166.083820296277 60.0 +170.866129800466 45.0 +179.086353477601 30.0 +269.148315487256 30.0 +286.177025513197 135.0 + +>ms2peaks +##specref ms_run[1]:sample=1 period=1 cycle=666 experiment=3 +##scan 75 +##n_id sample=1 period=1 cycle=666 experiment=3 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=666 experiment=3_0 +55.054505732533 25.0 +55.060116779446 15.0 +56.048448506258 20.0 +85.028411205925 35.0 +98.059278982655 958.0 +105.06712975898 10.0 +123.041271657474 20.0 +123.051095128888 20.0 +126.876822431871 10.0 +133.100243079469 59.0 +138.08846790169 35.0 +140.069590830035 561.0 +145.101270946048 20.0 +149.056693160781 15.0 +166.087482254599 20.0 +286.178204102612 105.0 +286.21327753122 60.716449737549 + diff --git a/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/trees/C10H27N3O4S_[M+H3N+H]+.json b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/trees/C10H27N3O4S_[M+H3N+H]+.json new file mode 100644 index 00000000000..f9b5b64ce82 --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/trees/C10H27N3O4S_[M+H3N+H]+.json @@ -0,0 +1,697 @@ +{ + "molecularFormula" : "C10H24N2O4S", + "root" : "C10H24N2O4S", + "annotations" : { + "precursorIonType" : "[M + H3N + H]+", + "numberOfUnconsideredCandidates" : 21, + "lowestConsideredCandidateScore" : 31.877358685357798, + "recalibration" : { + "separate" : [ "none", "1.0x", "1.0x" ], + "merged" : "0.9999917649375867x + 2.1751848083795267E-4" + }, + "treeType" : "neutralized", + "nodeBoost" : 2.0, + "statistics" : { + "explainedIntensity" : 0.840890008396306, + "explainedIntensityOfExplainablePeaks" : 0.9150296939241664, + "ratioOfExplainedPeaks" : 0.33333333333333337 + } + }, + "fragments" : [ { + "id" : 0, + "molecularFormula" : "C10H24N2O4S", + "ion" : "[M + H]+", + "massDeviation" : "-1.662257611043777 ppm (-4.7570326756840586E-4 m/z)", + "recalibratedMassDeviation" : "-1.662257611043777 ppm (-4.7570326756840586E-4 m/z)", + "score" : -1.4471298053699595, + "scores" : { + "Chemical Prior" : 0.3038955345357771, + "MS-Isotopes" : 0.0, + "CommonRootLoss" : 0.0, + "Mass Deviation" : -0.14158742747163627, + "CarbohydrogenCompound" : 0.0, + "motif-search" : 0.0, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "BeautificationScorer" : -0.0, + "ImplicitAdductPeakScore" : 0.0, + "IntrinsicallyChargedScorer" : 0.0, + "StrangeElementRootScorer" : -1.6094379124341003 + }, + "hasImplicitAdduct" : { + "adductFormula" : "H3N" + }, + "relativeIntensity" : 0.13297872340425532, + "mz" : 286.179028092823, + "recalibratedMass" : 286.179028092823, + "peaks" : [ { + "intensity" : 135.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 286.177025513197 + }, { + "intensity" : 105.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 286.178204102612 + }, { + "intensity" : 60.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 286.179738267349 + } ], + "isotopes" : { + "score" : -9.81517413459004, + "mz" : [ 286.179028092823 ], + "relInt" : [ 1.0 ] + } + }, { + "id" : 1, + "molecularFormula" : "C4H8N2O4", + "ion" : "[M + H]+", + "massDeviation" : "9.561510468791653 ppm (0.001588012186459764 m/z)", + "recalibratedMassDeviation" : "9.561510468791653 ppm (0.001588012186459764 m/z)", + "score" : 4.931190274959666, + "scores" : { + "TreeSizeScorer" : 1.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.425260994680946, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.33916179703723004, + "ClippedPeakIsNoiseScorer" : 1.2449493017241469, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 2.272340170879235 + }, + "hasImplicitAdduct" : { + "score" : 2.272340170879235, + "adductFormula" : "H3N", + "relativeIntensity" : 0.006648936170212766, + "mz" : 149.056693160781, + "recalibratedMass" : 149.056693160781, + "peaks" : [ { + "intensity" : 15.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 149.056693160781 + } ] + }, + "relativeIntensity" : 0.03546099290780142, + "mz" : 166.083820296277, + "recalibratedMass" : 166.083820296277, + "peaks" : [ { + "intensity" : 60.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 166.083820296277 + }, { + "intensity" : 20.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 166.087482254599 + } ] + }, { + "id" : 2, + "molecularFormula" : "C7H6O2", + "ion" : "[M + H]+", + "massDeviation" : "-7.240329964051787 ppm (-0.0010141500555391758 m/z)", + "recalibratedMassDeviation" : "-7.240329964051787 ppm (-0.0010141500555391758 m/z)", + "score" : 5.517748465865325, + "scores" : { + "TreeSizeScorer" : 1.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.24542802800605243, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.5993040916996499, + "ClippedPeakIsNoiseScorer" : 3.663872402171727, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + }, + "hasImplicitAdduct" : { + "adductFormula" : "H3N" + }, + "relativeIntensity" : 0.6006205673758865, + "mz" : 140.069590830035, + "recalibratedMass" : 140.069590830035, + "peaks" : [ { + "intensity" : 561.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 140.069590830035 + }, { + "intensity" : 524.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 140.069724401264 + }, { + "intensity" : 270.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 140.072452948764 + } ] + }, { + "id" : 3, + "molecularFormula" : "C2H6N2O4", + "ion" : "[M + H]+", + "massDeviation" : "10.065999536359788 ppm (0.001238533383457252 m/z)", + "recalibratedMassDeviation" : "10.065999536359788 ppm (0.001238533383457252 m/z)", + "score" : 2.563428586242395, + "scores" : { + "TreeSizeScorer" : 1.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.3120525173935285, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.76958728342526, + "ClippedPeakIsNoiseScorer" : 0.6058938202106641, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + }, + "relativeIntensity" : 0.008865248226950355, + "mz" : 123.041271657474, + "recalibratedMass" : 123.041271657474, + "peaks" : [ { + "intensity" : 20.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 123.041271657474 + } ] + }, { + "id" : 4, + "molecularFormula" : "C3H8N2O3", + "ion" : "[M + H]+", + "massDeviation" : "8.329715123495133 ppm (0.0011502375994609793 m/z)", + "recalibratedMassDeviation" : "8.329715123495133 ppm (0.0011502375994609793 m/z)", + "score" : 2.685650061451246, + "scores" : { + "TreeSizeScorer" : 1.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.28527812353666043, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.6191153209831, + "ClippedPeakIsNoiseScorer" : 0.8518128640048066, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + }, + "hasImplicitAdduct" : { + "adductFormula" : "H3N" + }, + "relativeIntensity" : 0.01551418439716312, + "mz" : 138.08846790169, + "recalibratedMass" : 138.08846790169, + "peaks" : [ { + "intensity" : 35.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 138.08846790169 + } ] + }, { + "id" : 5, + "molecularFormula" : "C3H8N2O2", + "ion" : "[M + H]+", + "massDeviation" : "12.142816620135408 ppm (0.001275810889467266 m/z)", + "recalibratedMassDeviation" : "12.142816620135408 ppm (0.001275810889467266 m/z)", + "score" : 2.4425328620394944, + "scores" : { + "TreeSizeScorer" : 1.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.3235754738389774, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.9493287024102, + "ClippedPeakIsNoiseScorer" : 0.31677963346827187, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + }, + "relativeIntensity" : 0.004432624113475178, + "mz" : 105.06712975898, + "recalibratedMass" : 105.06712975898, + "peaks" : [ { + "intensity" : 10.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 105.06712975898 + } ] + }, { + "id" : 6, + "molecularFormula" : "CH6N2O3", + "ion" : "[M + H]+", + "massDeviation" : "-0.3859761476327683 ppm (-3.6685134531921904E-5 m/z)", + "recalibratedMassDeviation" : "-0.3859761476327683 ppm (-3.6685134531921904E-5 m/z)", + "score" : 3.324911570594359, + "scores" : { + "TreeSizeScorer" : 1.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.007371285107327513, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.0495491818104399, + "ClippedPeakIsNoiseScorer" : 0.7827336738912465, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + }, + "relativeIntensity" : 0.013297872340425532, + "mz" : 95.045081818956, + "recalibratedMass" : 95.045081818956, + "peaks" : [ { + "intensity" : 30.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 95.045081818956 + } ] + }, { + "id" : 7, + "molecularFormula" : "C4H4O2", + "ion" : "[M + H]+", + "massDeviation" : "0.06334158641054131 ppm (5.385834455751137E-6 m/z)", + "recalibratedMassDeviation" : "0.06334158641054131 ppm (5.385834455751137E-6 m/z)", + "score" : 3.5004532788907463, + "scores" : { + "TreeSizeScorer" : 1.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.0010754730548102676, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.14971588794075, + "ClippedPeakIsNoiseScorer" : 0.8518128640048066, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + }, + "relativeIntensity" : 0.01551418439716312, + "mz" : 85.028411205925, + "recalibratedMass" : 85.028411205925, + "peaks" : [ { + "intensity" : 35.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 85.028411205925 + } ] + }, { + "id" : 8, + "molecularFormula" : "C5H4O", + "ion" : "[M + H]+", + "massDeviation" : "-7.763808213061534 ppm (-7.613134355324291E-4 m/z)", + "recalibratedMassDeviation" : "-7.763808213061534 ppm (-7.613134355324291E-4 m/z)", + "score" : 13.731016600214899, + "scores" : { + "TreeSizeScorer" : 1.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.1758735604456145, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.01940721017345, + "ClippedPeakIsNoiseScorer" : 11.387482950487064, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + }, + "hasImplicitAdduct" : { + "adductFormula" : "H3N" + }, + "relativeIntensity" : 1.0, + "mz" : 98.059278982655, + "recalibratedMass" : 98.059278982655, + "peaks" : [ { + "intensity" : 958.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 98.059278982655 + }, { + "intensity" : 929.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 98.059564237847 + }, { + "intensity" : 369.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 98.060380513671 + } ] + }, { + "id" : 9, + "molecularFormula" : "C2H5O2", + "ion" : "[M + H]+", + "massDeviation" : "12.947992014139288 ppm (0.001023717498469523 m/z)", + "recalibratedMassDeviation" : "12.947992014139288 ppm (0.001023717498469523 m/z)", + "score" : 3.2439217282071207, + "scores" : { + "TreeSizeScorer" : 1.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.2481739090282355, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.20936196334411, + "ClippedPeakIsNoiseScorer" : 0.7827336738912465, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + }, + "hasImplicitAdduct" : { + "adductFormula" : "H3N" + }, + "relativeIntensity" : 0.013297872340425532, + "mz" : 79.063803665589, + "recalibratedMass" : 79.063803665589, + "peaks" : [ { + "intensity" : 30.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 79.063803665589 + } ] + }, { + "id" : 10, + "molecularFormula" : "C3H2", + "ion" : "[M + H]+", + "massDeviation" : "7.904458081118235 ppm (4.4304423246899205E-4 m/z)", + "recalibratedMassDeviation" : "7.904458081118235 ppm (4.4304423246899205E-4 m/z)", + "score" : 4.321746919219734, + "scores" : { + "TreeSizeScorer" : 1.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.09637633526184135, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.43950081343677, + "ClippedPeakIsNoiseScorer" : 1.4786224410448057, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + }, + "hasImplicitAdduct" : { + "adductFormula" : "H3N" + }, + "relativeIntensity" : 0.05540780141843971, + "mz" : 56.049918656323, + "recalibratedMass" : 56.049918656323, + "peaks" : [ { + "intensity" : 20.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 56.048448506258 + }, { + "intensity" : 45.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 56.049507786248 + }, { + "intensity" : 60.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 56.049918656323 + } ] + }, { + "id" : 11, + "molecularFormula" : "H3O2", + "ion" : "[M + H]+", + "massDeviation" : "-36.264929297489886 ppm (-0.0019236806525384509 m/z)", + "recalibratedMassDeviation" : "-36.264929297489886 ppm (-0.0019236806525384509 m/z)", + "score" : 3.207152696243114, + "scores" : { + "TreeSizeScorer" : 1.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.5451289156137523, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.46954793796562, + "ClippedPeakIsNoiseScorer" : 0.7827336738912465, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + }, + "hasImplicitAdduct" : { + "adductFormula" : "H3N" + }, + "relativeIntensity" : 0.013297872340425532, + "mz" : 53.045206203438, + "recalibratedMass" : 53.045206203438, + "peaks" : [ { + "intensity" : 30.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 53.045206203438 + } ] + } ], + "losses" : [ { + "source" : 0, + "target" : 1, + "molecularFormula" : "C6H16S", + "score" : -6.862279266283113, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : -0.7535640460848674, + "Loss RDBE" : -2.1972245773362196, + "Mass Deviation" : -1.2283125590844104, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.694804625936435, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 0, + "target" : 2, + "molecularFormula" : "C3H18N2O2S", + "score" : -7.340073562768975, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : -1.4916638350114937, + "Loss RDBE" : -2.995732273553991, + "Mass Deviation" : -0.16949937042587448, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.694804625936435, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 1, + "target" : 3, + "molecularFormula" : "C2H2", + "score" : 0.8976677060960859, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.7807331247698537, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.09970717797341114, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 0.20501521714082305, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + }, + "adductLoss" : { + "adduct" : "H3N", + "modifiedMolecularFormula" : "C2H2" + } + }, { + "source" : 1, + "target" : 4, + "molecularFormula" : "CO", + "score" : 1.1617927478991255, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.8780805875717457, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.20658508697723843, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 0.4786707051457979, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 1, + "target" : 5, + "molecularFormula" : "CO2", + "score" : -1.358756472994521, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 1.098012017797652, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.11763095215815493, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.3507640807928385, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + }, + "adductLoss" : { + "adduct" : "H3N", + "modifiedMolecularFormula" : "CO2" + } + }, { + "source" : 3, + "target" : 6, + "molecularFormula" : "CO", + "score" : 0.5692439340323783, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.8781167754652612, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.7991700887375011, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 0.4786707051457979, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 2, + "target" : 7, + "molecularFormula" : "C3H2", + "hasImplicitAdduct" : { + "adductFormula" : "H3N" + }, + "score" : -1.6790392830886869, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.9646274134986461, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.5889111584221933, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.06638208032396, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 2, + "target" : 8, + "molecularFormula" : "C2H2O", + "score" : -0.4979081454781588, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 1.1055072936737664, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.11132529380710361, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -1.503716687503642, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 4, + "target" : 9, + "molecularFormula" : "CH3N2O", + "score" : -4.148649986277192, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.8901712362287642, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.05305804573429617, + "Free Radical" : -2.2909585508352253, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.694804625936435, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 8, + "target" : 10, + "molecularFormula" : "C2H2O", + "score" : -1.1247967985789344, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 1.1055093118884525, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.7382159651225652, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -1.503716687503642, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 9, + "target" : 11, + "molecularFormula" : "C2H2", + "score" : -1.8740323357008308, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.7809094410052824, + "Loss RDBE" : 0.0, + "Mass Deviation" : -2.8715835360057564, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 0.20501521714082305, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + } ] +} \ No newline at end of file diff --git a/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/trees/C11H27N4O2_[M+K]+.json b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/trees/C11H27N4O2_[M+K]+.json new file mode 100644 index 00000000000..0515423cb67 --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/trees/C11H27N4O2_[M+K]+.json @@ -0,0 +1,647 @@ +{ + "molecularFormula" : "C11H27N4O2", + "root" : "C11H27N4O2", + "annotations" : { + "precursorIonType" : "[M + K]+", + "nodeBoost" : 3.0, + "numberOfUnconsideredCandidates" : 21, + "lowestConsideredCandidateScore" : 31.877358685357798, + "statistics" : { + "explainedIntensity" : 0.840890008396306, + "explainedIntensityOfExplainablePeaks" : 0.9474929044465469, + "ratioOfExplainedPeaks" : 0.3333333333333333 + } + }, + "fragments" : [ { + "id" : 0, + "molecularFormula" : "C11H27N4O2", + "ion" : "[M + K]+", + "massDeviation" : "8.627077773474678 ppm (0.002468888732494179 m/z)", + "recalibratedMassDeviation" : "8.627077773474678 ppm (0.002468888732494179 m/z)", + "relativeIntensity" : 0.13297872340425532, + "mz" : 286.179028092823, + "recalibratedMass" : 286.179028092823, + "peaks" : [ { + "intensity" : 135.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 286.177025513197 + }, { + "intensity" : 105.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 286.178204102612 + }, { + "intensity" : 60.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 286.179738267349 + } ], + "score" : -15.55115197917369, + "scores" : { + "Chemical Prior" : 1.0, + "MS-Isotopes" : 0.0, + "CommonRootLoss" : 0.0, + "Mass Deviation" : -0.945981793185593, + "CarbohydrogenCompound" : 0.0, + "motif-search" : 0.0, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "BeautificationScorer" : -11.000000000000007, + "ImplicitAdductPeakScore" : 0.0, + "IntrinsicallyChargedScorer" : -4.605170185988091, + "StrangeElementRootScorer" : 0.0 + }, + "isotopes" : { + "score" : -12.087614111466648, + "mz" : [ 286.179028092823 ], + "relInt" : [ 1.0 ] + } + }, { + "id" : 1, + "molecularFormula" : "C7H9N4O", + "ion" : "[M + H]+", + "massDeviation" : "-6.575377490608041 ppm (-0.0010920638135303307 m/z)", + "recalibratedMassDeviation" : "-6.575377490608041 ppm (-0.0010920638135303307 m/z)", + "relativeIntensity" : 0.03546099290780142, + "mz" : 166.083820296277, + "recalibratedMass" : 166.083820296277, + "peaks" : [ { + "intensity" : 60.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 166.083820296277 + }, { + "intensity" : 20.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 166.087482254599 + } ], + "score" : 3.8160769925131928, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.26803410624818425, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.33916179703723004, + "ClippedPeakIsNoiseScorer" : 1.2449493017241469, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 2, + "molecularFormula" : "C7H6N3O", + "ion" : "[M + H]+", + "massDeviation" : "-11.204483838375484 ppm (-0.0016701033095216644 m/z)", + "recalibratedMassDeviation" : "-11.204483838375484 ppm (-0.0016701033095216644 m/z)", + "relativeIntensity" : 0.006648936170212766, + "mz" : 149.056693160781, + "recalibratedMass" : 149.056693160781, + "peaks" : [ { + "intensity" : 15.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 149.056693160781 + } ], + "score" : 3.039985808092882, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.4535557138315937, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.5094330683921899, + "ClippedPeakIsNoiseScorer" : 0.4841084535322853, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 3, + "molecularFormula" : "C5H7N4O", + "ion" : "[M + H]+", + "massDeviation" : "2.3455051344256366 ppm (3.285339444687452E-4 m/z)", + "recalibratedMassDeviation" : "2.3455051344256366 ppm (3.285339444687452E-4 m/z)", + "relativeIntensity" : 0.6006205673758865, + "mz" : 140.069590830035, + "recalibratedMass" : 140.069590830035, + "peaks" : [ { + "intensity" : 561.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 140.069590830035 + }, { + "intensity" : 524.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 140.069724401264 + }, { + "intensity" : 270.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 140.072452948764 + } ], + "score" : 6.693270086004846, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.06990640786653102, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.5993040916996499, + "ClippedPeakIsNoiseScorer" : 3.663872402171727, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 4, + "molecularFormula" : "C6H9N4", + "ion" : "[M + H]+", + "massDeviation" : "-11.07868328018717 ppm (-0.0015298384005291155 m/z)", + "recalibratedMassDeviation" : "-11.07868328018717 ppm (-0.0015298384005291155 m/z)", + "relativeIntensity" : 0.01551418439716312, + "mz" : 138.08846790169, + "recalibratedMass" : 138.08846790169, + "peaks" : [ { + "intensity" : 35.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 138.08846790169 + } ], + "score" : 3.5653226746126956, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.4056055103752111, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.6191153209831, + "ClippedPeakIsNoiseScorer" : 0.8518128640048066, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 5, + "molecularFormula" : "C5H4N3O", + "ion" : "[M + H]+", + "massDeviation" : "-11.715927486070303 ppm (-0.0014415426165328427 m/z)", + "recalibratedMassDeviation" : "-11.715927486070303 ppm (-0.0014415426165328427 m/z)", + "relativeIntensity" : 0.008865248226950355, + "mz" : 123.041271657474, + "recalibratedMass" : 123.041271657474, + "peaks" : [ { + "intensity" : 20.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 123.041271657474 + } ], + "score" : 3.4990858320912257, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.3763952715446977, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.76958728342526, + "ClippedPeakIsNoiseScorer" : 0.6058938202106641, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 6, + "molecularFormula" : "C5H7NO", + "ion" : "[M + H]+", + "massDeviation" : "-7.763808213061534 ppm (-7.613134355324291E-4 m/z)", + "recalibratedMassDeviation" : "-7.763808213061534 ppm (-7.613134355324291E-4 m/z)", + "relativeIntensity" : 1.0, + "mz" : 98.059278982655, + "recalibratedMass" : 98.059278982655, + "peaks" : [ { + "intensity" : 958.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 98.059278982655 + }, { + "intensity" : 929.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 98.059564237847 + }, { + "intensity" : 369.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 98.060380513671 + } ], + "score" : 14.731016600214899, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.1758735604456145, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.01940721017345, + "ClippedPeakIsNoiseScorer" : 11.387482950487064, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 7, + "molecularFormula" : "C2H2N3O", + "ion" : "[M + H]+", + "massDeviation" : "15.85434580447312 ppm (0.0013480698344636721 m/z)", + "recalibratedMassDeviation" : "15.85434580447312 ppm (0.0013480698344636721 m/z)", + "relativeIntensity" : 0.01551418439716312, + "mz" : 85.028411205925, + "recalibratedMass" : 85.028411205925, + "peaks" : [ { + "intensity" : 35.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 85.028411205925 + } ], + "score" : 4.155244192966554, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.3462845589790036, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.14971588794075, + "ClippedPeakIsNoiseScorer" : 0.8518128640048066, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 8, + "molecularFormula" : "C4H5O", + "ion" : "[M + H]+", + "massDeviation" : "-19.80114297917525 ppm (-0.001386870655537109 m/z)", + "recalibratedMassDeviation" : "-19.80114297917525 ppm (-0.001386870655537109 m/z)", + "relativeIntensity" : 0.013297872340425532, + "mz" : 70.039929361435, + "recalibratedMass" : 70.039929361435, + "peaks" : [ { + "intensity" : 30.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 70.039929361435 + } ], + "score" : 4.464304735749953, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.240653, + "Mass Deviation" : -0.3586826445269436, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.2996007063856498, + "ClippedPeakIsNoiseScorer" : 0.7827336738912465, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 9, + "molecularFormula" : "C3H5N", + "ion" : "[M + H]+", + "massDeviation" : "7.904458081118235 ppm (4.4304423246899205E-4 m/z)", + "recalibratedMassDeviation" : "7.904458081118235 ppm (4.4304423246899205E-4 m/z)", + "relativeIntensity" : 0.05540780141843971, + "mz" : 56.049918656323, + "recalibratedMass" : 56.049918656323, + "peaks" : [ { + "intensity" : 20.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 56.048448506258 + }, { + "intensity" : 45.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 56.049507786248 + }, { + "intensity" : 60.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 56.049918656323 + } ], + "score" : 5.321746919219734, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.09637633526184135, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.43950081343677, + "ClippedPeakIsNoiseScorer" : 1.4786224410448057, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 10, + "molecularFormula" : "C4H6", + "ion" : "[M + H]+", + "massDeviation" : "5.06931156233155 ppm (2.7908844246837816E-4 m/z)", + "recalibratedMassDeviation" : "5.06931156233155 ppm (2.7908844246837816E-4 m/z)", + "relativeIntensity" : 0.011081560283687944, + "mz" : 55.054505732533, + "recalibratedMass" : 55.054505732533, + "peaks" : [ { + "intensity" : 25.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 55.054505732533 + } ], + "score" : 4.593033282124102, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.05881770900781395, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.4494549426746701, + "ClippedPeakIsNoiseScorer" : 0.7023960484572456, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 11, + "molecularFormula" : "C4H4", + "ion" : "[M + H]+", + "massDeviation" : "4.831274574031946 ppm (2.5624516446498546E-4 m/z)", + "recalibratedMassDeviation" : "4.831274574031946 ppm (2.5624516446498546E-4 m/z)", + "relativeIntensity" : 0.013297872340425532, + "mz" : 53.038832825255, + "recalibratedMass" : 53.038832825255, + "peaks" : [ { + "intensity" : 30.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 53.038832825255 + } ], + "score" : 4.698581673364512, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.05376367227418448, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.46961167174745, + "ClippedPeakIsNoiseScorer" : 0.7827336738912465, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + } ], + "losses" : [ { + "source" : 0, + "target" : 1, + "molecularFormula" : "C4H18O", + "score" : -11.863685384078487, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : -0.7535640460848674, + "Loss RDBE" : -2.995732273553991, + "Mass Deviation" : -2.9002952646797224, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.694804625936435, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : -2.530915715982292, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 1, + "target" : 2, + "molecularFormula" : "H3N", + "score" : 0.023030392061025362, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : -0.11909994533147827, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.28702698696382317, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 0.4175307821975065, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 1, + "target" : 3, + "molecularFormula" : "C2H2", + "score" : 0.0665407853704082, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.7806669298851281, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.9307679038143633, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 0.20501521714082305, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 1, + "target" : 4, + "molecularFormula" : "CO", + "score" : 1.1617927478991255, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.8780805875717457, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.20658508697723843, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 0.4786707051457979, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 2, + "target" : 5, + "molecularFormula" : "C2H2", + "score" : 0.8976677060960859, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.7807331247698537, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.09970717797341114, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 0.20501521714082305, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 1, + "target" : 6, + "molecularFormula" : "C2H2N3", + "score" : -4.4448958742214275, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.6908572967856159, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.1499899942353829, + "Free Radical" : -2.2909585508352253, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.694804625936435, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 3, + "target" : 7, + "molecularFormula" : "C3H5N", + "score" : -1.6790392830886869, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.9646274134986461, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.5889111584221933, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.06638208032396, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 2, + "target" : 8, + "molecularFormula" : "C3HN3", + "score" : -2.3987777545815, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.4105587597292697, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.1261584305331548, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.694804625936435, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 6, + "target" : 9, + "molecularFormula" : "C2H2O", + "score" : -1.1247967985789344, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 1.1055093118884525, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.7382159651225652, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -1.503716687503642, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 6, + "target" : 10, + "molecularFormula" : "CHNO", + "score" : -2.1857060900958376, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 1.1025458594057662, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.605073865723989, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.694804625936435, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 10, + "target" : 11, + "molecularFormula" : "H2", + "score" : -0.60128857920489, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : -13.382452509315037, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.009196414819379358, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 12.778733802770706, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + } ] +} \ No newline at end of file diff --git a/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/trees/C12H24N5OP_[M+H]+.json b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/trees/C12H24N5OP_[M+H]+.json new file mode 100644 index 00000000000..b003a6f2840 --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/trees/C12H24N5OP_[M+H]+.json @@ -0,0 +1,647 @@ +{ + "molecularFormula" : "C12H24N5OP", + "root" : "C12H24N5OP", + "annotations" : { + "precursorIonType" : "[M + H]+", + "nodeBoost" : 3.0, + "numberOfUnconsideredCandidates" : 21, + "lowestConsideredCandidateScore" : 31.877358685357798, + "statistics" : { + "explainedIntensity" : 0.840890008396306, + "explainedIntensityOfExplainablePeaks" : 0.9634439634439634, + "ratioOfExplainedPeaks" : 0.3333333333333333 + } + }, + "fragments" : [ { + "id" : 0, + "molecularFormula" : "C12H24N5OP", + "ion" : "[M + H]+", + "massDeviation" : "-0.33327832642813954 ppm (-9.537726754160758E-5 m/z)", + "recalibratedMassDeviation" : "-0.33327832642813954 ppm (-9.537726754160758E-5 m/z)", + "relativeIntensity" : 0.13297872340425532, + "mz" : 286.179028092823, + "recalibratedMass" : 286.179028092823, + "peaks" : [ { + "intensity" : 135.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 286.177025513197 + }, { + "intensity" : 105.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 286.178204102612 + }, { + "intensity" : 60.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 286.179738267349 + } ], + "score" : -14.632116849227224, + "scores" : { + "Chemical Prior" : 1.0, + "MS-Isotopes" : 0.0, + "CommonRootLoss" : 0.0, + "Mass Deviation" : -0.026946663239137202, + "CarbohydrogenCompound" : 0.0, + "motif-search" : 0.0, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : -2.995732273553991, + "BeautificationScorer" : -10.999999999999996, + "ImplicitAdductPeakScore" : 0.0, + "IntrinsicallyChargedScorer" : 0.0, + "StrangeElementRootScorer" : -1.6094379124341003 + }, + "isotopes" : { + "score" : -7.602594559538953, + "mz" : [ 286.179028092823 ], + "relInt" : [ 1.0 ] + } + }, { + "id" : 1, + "molecularFormula" : "C7H9N4O", + "ion" : "[M + H]+", + "massDeviation" : "-6.575377490608041 ppm (-0.0010920638135303307 m/z)", + "recalibratedMassDeviation" : "-6.575377490608041 ppm (-0.0010920638135303307 m/z)", + "relativeIntensity" : 0.03546099290780142, + "mz" : 166.083820296277, + "recalibratedMass" : 166.083820296277, + "peaks" : [ { + "intensity" : 60.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 166.083820296277 + }, { + "intensity" : 20.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 166.087482254599 + } ], + "score" : 3.8160769925131928, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.26803410624818425, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.33916179703723004, + "ClippedPeakIsNoiseScorer" : 1.2449493017241469, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 2, + "molecularFormula" : "C7H6N3O", + "ion" : "[M + H]+", + "massDeviation" : "-11.204483838375484 ppm (-0.0016701033095216644 m/z)", + "recalibratedMassDeviation" : "-11.204483838375484 ppm (-0.0016701033095216644 m/z)", + "relativeIntensity" : 0.006648936170212766, + "mz" : 149.056693160781, + "recalibratedMass" : 149.056693160781, + "peaks" : [ { + "intensity" : 15.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 149.056693160781 + } ], + "score" : 3.039985808092882, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.4535557138315937, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.5094330683921899, + "ClippedPeakIsNoiseScorer" : 0.4841084535322853, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 3, + "molecularFormula" : "C5H7N4O", + "ion" : "[M + H]+", + "massDeviation" : "2.3455051344256366 ppm (3.285339444687452E-4 m/z)", + "recalibratedMassDeviation" : "2.3455051344256366 ppm (3.285339444687452E-4 m/z)", + "relativeIntensity" : 0.6006205673758865, + "mz" : 140.069590830035, + "recalibratedMass" : 140.069590830035, + "peaks" : [ { + "intensity" : 561.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 140.069590830035 + }, { + "intensity" : 524.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 140.069724401264 + }, { + "intensity" : 270.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 140.072452948764 + } ], + "score" : 6.693270086004846, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.06990640786653102, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.5993040916996499, + "ClippedPeakIsNoiseScorer" : 3.663872402171727, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 4, + "molecularFormula" : "C6H9N4", + "ion" : "[M + H]+", + "massDeviation" : "-11.07868328018717 ppm (-0.0015298384005291155 m/z)", + "recalibratedMassDeviation" : "-11.07868328018717 ppm (-0.0015298384005291155 m/z)", + "relativeIntensity" : 0.01551418439716312, + "mz" : 138.08846790169, + "recalibratedMass" : 138.08846790169, + "peaks" : [ { + "intensity" : 35.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 138.08846790169 + } ], + "score" : 3.5653226746126956, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.4056055103752111, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.6191153209831, + "ClippedPeakIsNoiseScorer" : 0.8518128640048066, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 5, + "molecularFormula" : "C5H4N3O", + "ion" : "[M + H]+", + "massDeviation" : "-11.715927486070303 ppm (-0.0014415426165328427 m/z)", + "recalibratedMassDeviation" : "-11.715927486070303 ppm (-0.0014415426165328427 m/z)", + "relativeIntensity" : 0.008865248226950355, + "mz" : 123.041271657474, + "recalibratedMass" : 123.041271657474, + "peaks" : [ { + "intensity" : 20.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 123.041271657474 + } ], + "score" : 3.4990858320912257, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.3763952715446977, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.76958728342526, + "ClippedPeakIsNoiseScorer" : 0.6058938202106641, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 6, + "molecularFormula" : "C5H7NO", + "ion" : "[M + H]+", + "massDeviation" : "-7.763808213061534 ppm (-7.613134355324291E-4 m/z)", + "recalibratedMassDeviation" : "-7.763808213061534 ppm (-7.613134355324291E-4 m/z)", + "relativeIntensity" : 1.0, + "mz" : 98.059278982655, + "recalibratedMass" : 98.059278982655, + "peaks" : [ { + "intensity" : 958.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 98.059278982655 + }, { + "intensity" : 929.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 98.059564237847 + }, { + "intensity" : 369.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 98.060380513671 + } ], + "score" : 14.731016600214899, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.1758735604456145, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.01940721017345, + "ClippedPeakIsNoiseScorer" : 11.387482950487064, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 7, + "molecularFormula" : "C2H2N3O", + "ion" : "[M + H]+", + "massDeviation" : "15.85434580447312 ppm (0.0013480698344636721 m/z)", + "recalibratedMassDeviation" : "15.85434580447312 ppm (0.0013480698344636721 m/z)", + "relativeIntensity" : 0.01551418439716312, + "mz" : 85.028411205925, + "recalibratedMass" : 85.028411205925, + "peaks" : [ { + "intensity" : 35.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 85.028411205925 + } ], + "score" : 4.155244192966554, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.3462845589790036, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.14971588794075, + "ClippedPeakIsNoiseScorer" : 0.8518128640048066, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 8, + "molecularFormula" : "C4H5O", + "ion" : "[M + H]+", + "massDeviation" : "-19.80114297917525 ppm (-0.001386870655537109 m/z)", + "recalibratedMassDeviation" : "-19.80114297917525 ppm (-0.001386870655537109 m/z)", + "relativeIntensity" : 0.013297872340425532, + "mz" : 70.039929361435, + "recalibratedMass" : 70.039929361435, + "peaks" : [ { + "intensity" : 30.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 70.039929361435 + } ], + "score" : 4.464304735749953, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.240653, + "Mass Deviation" : -0.3586826445269436, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.2996007063856498, + "ClippedPeakIsNoiseScorer" : 0.7827336738912465, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 9, + "molecularFormula" : "C3H5N", + "ion" : "[M + H]+", + "massDeviation" : "7.904458081118235 ppm (4.4304423246899205E-4 m/z)", + "recalibratedMassDeviation" : "7.904458081118235 ppm (4.4304423246899205E-4 m/z)", + "relativeIntensity" : 0.05540780141843971, + "mz" : 56.049918656323, + "recalibratedMass" : 56.049918656323, + "peaks" : [ { + "intensity" : 20.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 56.048448506258 + }, { + "intensity" : 45.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 56.049507786248 + }, { + "intensity" : 60.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 56.049918656323 + } ], + "score" : 5.321746919219734, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.09637633526184135, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.43950081343677, + "ClippedPeakIsNoiseScorer" : 1.4786224410448057, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 10, + "molecularFormula" : "C4H6", + "ion" : "[M + H]+", + "massDeviation" : "5.06931156233155 ppm (2.7908844246837816E-4 m/z)", + "recalibratedMassDeviation" : "5.06931156233155 ppm (2.7908844246837816E-4 m/z)", + "relativeIntensity" : 0.011081560283687944, + "mz" : 55.054505732533, + "recalibratedMass" : 55.054505732533, + "peaks" : [ { + "intensity" : 25.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 55.054505732533 + } ], + "score" : 4.593033282124102, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.05881770900781395, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.4494549426746701, + "ClippedPeakIsNoiseScorer" : 0.7023960484572456, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 11, + "molecularFormula" : "C4H4", + "ion" : "[M + H]+", + "massDeviation" : "4.831274574031946 ppm (2.5624516446498546E-4 m/z)", + "recalibratedMassDeviation" : "4.831274574031946 ppm (2.5624516446498546E-4 m/z)", + "relativeIntensity" : 0.013297872340425532, + "mz" : 53.038832825255, + "recalibratedMass" : 53.038832825255, + "peaks" : [ { + "intensity" : 30.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 53.038832825255 + } ], + "score" : 4.698581673364512, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.05376367227418448, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.46961167174745, + "ClippedPeakIsNoiseScorer" : 0.7827336738912465, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + } ], + "losses" : [ { + "source" : 0, + "target" : 1, + "molecularFormula" : "C5H15NP", + "score" : -6.371626722486521, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : -0.7535640460848674, + "Loss RDBE" : -1.0986122886681098, + "Mass Deviation" : -0.4499779428360395, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.694804625936435, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : -1.3862943611198906, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 1, + "target" : 2, + "molecularFormula" : "H3N", + "score" : 0.023030392061025362, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : -0.11909994533147827, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.28702698696382317, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 0.4175307821975065, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 1, + "target" : 3, + "molecularFormula" : "C2H2", + "score" : 0.0665407853704082, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.7806669298851281, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.9307679038143633, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 0.20501521714082305, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 1, + "target" : 4, + "molecularFormula" : "CO", + "score" : 1.1617927478991255, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.8780805875717457, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.20658508697723843, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 0.4786707051457979, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 2, + "target" : 5, + "molecularFormula" : "C2H2", + "score" : 0.8976677060960859, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.7807331247698537, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.09970717797341114, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 0.20501521714082305, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 1, + "target" : 6, + "molecularFormula" : "C2H2N3", + "score" : -4.4448958742214275, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.6908572967856159, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.1499899942353829, + "Free Radical" : -2.2909585508352253, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.694804625936435, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 3, + "target" : 7, + "molecularFormula" : "C3H5N", + "score" : -1.6790392830886869, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.9646274134986461, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.5889111584221933, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.06638208032396, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 2, + "target" : 8, + "molecularFormula" : "C3HN3", + "score" : -2.3987777545815, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.4105587597292697, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.1261584305331548, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.694804625936435, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 6, + "target" : 9, + "molecularFormula" : "C2H2O", + "score" : -1.1247967985789344, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 1.1055093118884525, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.7382159651225652, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -1.503716687503642, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 6, + "target" : 10, + "molecularFormula" : "CHNO", + "score" : -2.1857060900958376, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 1.1025458594057662, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.605073865723989, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.694804625936435, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 10, + "target" : 11, + "molecularFormula" : "H2", + "score" : -0.60128857920489, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : -13.382452509315037, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.009196414819379358, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 12.778733802770706, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + } ] +} \ No newline at end of file diff --git a/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/trees/C12H28N2O2P_[M+Na]+.json b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/trees/C12H28N2O2P_[M+Na]+.json new file mode 100644 index 00000000000..6aa46d0c231 --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/trees/C12H28N2O2P_[M+Na]+.json @@ -0,0 +1,697 @@ +{ + "molecularFormula" : "C12H28N2O2P", + "root" : "C12H28N2O2P", + "annotations" : { + "precursorIonType" : "[M + Na]+", + "nodeBoost" : 3.0, + "numberOfUnconsideredCandidates" : 21, + "lowestConsideredCandidateScore" : 31.877358685357798, + "statistics" : { + "explainedIntensity" : 0.8419395465994967, + "explainedIntensityOfExplainablePeaks" : 0.9419915453264445, + "ratioOfExplainedPeaks" : 0.36363636363636365 + } + }, + "fragments" : [ { + "id" : 0, + "molecularFormula" : "C12H28N2O2P", + "ion" : "[M + Na]+", + "massDeviation" : "3.3811937195723 ppm (9.676267324607579E-4 m/z)", + "recalibratedMassDeviation" : "3.3811937195723 ppm (9.676267324607579E-4 m/z)", + "relativeIntensity" : 0.13297872340425532, + "mz" : 286.179028092823, + "recalibratedMass" : 286.179028092823, + "peaks" : [ { + "intensity" : 135.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 286.177025513197 + }, { + "intensity" : 105.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 286.178204102612 + }, { + "intensity" : 60.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 286.179738267349 + } ], + "score" : -16.510105826198405, + "scores" : { + "Chemical Prior" : 1.0, + "MS-Isotopes" : 0.0, + "CommonRootLoss" : 0.0, + "Mass Deviation" : -0.3075131037253351, + "CarbohydrogenCompound" : 0.0, + "motif-search" : 0.0, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "BeautificationScorer" : -10.987984624050878, + "ImplicitAdductPeakScore" : 0.0, + "IntrinsicallyChargedScorer" : -4.605170185988091, + "StrangeElementRootScorer" : -1.6094379124341003 + }, + "isotopes" : { + "score" : -7.365420403417175, + "mz" : [ 286.179028092823 ], + "relInt" : [ 1.0 ] + } + }, { + "id" : 1, + "molecularFormula" : "C7H13NO2", + "ion" : "[M + Na]+", + "massDeviation" : "-0.17497076762881145 ppm (-2.905981352796516E-5 m/z)", + "recalibratedMassDeviation" : "-0.17497076762881145 ppm (-2.905981352796516E-5 m/z)", + "relativeIntensity" : 0.03546099290780142, + "mz" : 166.083820296277, + "recalibratedMass" : 166.083820296277, + "peaks" : [ { + "intensity" : 60.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 166.083820296277 + }, { + "intensity" : 20.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 166.087482254599 + } ], + "score" : 4.060834706548679, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.023276392212697998, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.33916179703723004, + "ClippedPeakIsNoiseScorer" : 1.2449493017241469, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 2, + "molecularFormula" : "C7H10O2", + "ion" : "[M + Na]+", + "massDeviation" : "-4.072942292262228 ppm (-6.070993095192989E-4 m/z)", + "recalibratedMassDeviation" : "-4.072942292262228 ppm (-6.070993095192989E-4 m/z)", + "relativeIntensity" : 0.006648936170212766, + "mz" : 149.056693160781, + "recalibratedMass" : 149.056693160781, + "peaks" : [ { + "intensity" : 15.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 149.056693160781 + } ], + "score" : 3.464532934945635, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.10724299999999998, + "Mass Deviation" : -0.13625158697884068, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.5094330683921899, + "ClippedPeakIsNoiseScorer" : 0.4841084535322853, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 3, + "molecularFormula" : "C5H11NO2", + "ion" : "[M + Na]+", + "massDeviation" : "9.93461847232529 ppm (0.0013915379444711107 m/z)", + "recalibratedMassDeviation" : "9.93461847232529 ppm (0.0013915379444711107 m/z)", + "relativeIntensity" : 0.6006205673758865, + "mz" : 140.069590830035, + "recalibratedMass" : 140.069590830035, + "peaks" : [ { + "intensity" : 561.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 140.069590830035 + }, { + "intensity" : 524.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 140.069724401264 + }, { + "intensity" : 270.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 140.072452948764 + } ], + "score" : 6.402992863127164, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.3601836307442136, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.5993040916996499, + "ClippedPeakIsNoiseScorer" : 3.663872402171727, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 4, + "molecularFormula" : "C6H13NO", + "ion" : "[M + Na]+", + "massDeviation" : "-3.3806907097233303 ppm (-4.6683440055517167E-4 m/z)", + "recalibratedMassDeviation" : "-3.3806907097233303 ppm (-4.6683440055517167E-4 m/z)", + "relativeIntensity" : 0.01551418439716312, + "mz" : 138.08846790169, + "recalibratedMass" : 138.08846790169, + "peaks" : [ { + "intensity" : 35.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 138.08846790169 + } ], + "score" : 3.868912909334309, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.1020152756535976, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.6191153209831, + "ClippedPeakIsNoiseScorer" : 0.8518128640048066, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 5, + "molecularFormula" : "C5H8O2", + "ion" : "[M + Na]+", + "massDeviation" : "-3.076517427408221 ppm (-3.78538616544688E-4 m/z)", + "recalibratedMassDeviation" : "-3.076517427408221 ppm (-3.78538616544688E-4 m/z)", + "relativeIntensity" : 0.008865248226950355, + "mz" : 123.041271657474, + "recalibratedMass" : 123.041271657474, + "peaks" : [ { + "intensity" : 20.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 123.041271657474 + } ], + "score" : 3.7941520746311537, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.08132902900476989, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.76958728342526, + "ClippedPeakIsNoiseScorer" : 0.6058938202106641, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 6, + "molecularFormula" : "C5H7NO", + "ion" : "[M + H]+", + "massDeviation" : "-7.763808213061534 ppm (-7.613134355324291E-4 m/z)", + "recalibratedMassDeviation" : "-7.763808213061534 ppm (-7.613134355324291E-4 m/z)", + "relativeIntensity" : 1.0, + "mz" : 98.059278982655, + "recalibratedMass" : 98.059278982655, + "peaks" : [ { + "intensity" : 958.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 98.059278982655 + }, { + "intensity" : 929.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 98.059564237847 + }, { + "intensity" : 369.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 98.060380513671 + } ], + "score" : 14.731016600214899, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.1758735604456145, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.01940721017345, + "ClippedPeakIsNoiseScorer" : 11.387482950487064, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 7, + "molecularFormula" : "C6H10", + "ion" : "[M + Na]+", + "massDeviation" : "-3.2480292487052242 ppm (-3.412611105346741E-4 m/z)", + "recalibratedMassDeviation" : "-3.2480292487052242 ppm (-3.412611105346741E-4 m/z)", + "relativeIntensity" : 0.004432624113475178, + "mz" : 105.06712975898, + "recalibratedMass" : 105.06712975898, + "peaks" : [ { + "intensity" : 10.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 105.06712975898 + } ], + "score" : 3.693314602564298, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.07279373331417366, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.9493287024102, + "ClippedPeakIsNoiseScorer" : 0.31677963346827187, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 8, + "molecularFormula" : "C4H8O", + "ion" : "[M + Na]+", + "massDeviation" : "-17.399712882398013 ppm (-0.001653757134533862 m/z)", + "recalibratedMassDeviation" : "-17.399712882398013 ppm (-0.001653757134533862 m/z)", + "relativeIntensity" : 0.013297872340425532, + "mz" : 95.045081818956, + "recalibratedMass" : 95.045081818956, + "peaks" : [ { + "intensity" : 30.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 95.045081818956 + } ], + "score" : 4.252943985439368, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.4065270000000001, + "Mass Deviation" : -0.4858658702623185, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.0495491818104399, + "ClippedPeakIsNoiseScorer" : 0.7827336738912465, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 9, + "molecularFormula" : "C4H5O", + "ion" : "[M + H]+", + "massDeviation" : "-19.80114297917525 ppm (-0.001386870655537109 m/z)", + "recalibratedMassDeviation" : "-19.80114297917525 ppm (-0.001386870655537109 m/z)", + "relativeIntensity" : 0.013297872340425532, + "mz" : 70.039929361435, + "recalibratedMass" : 70.039929361435, + "peaks" : [ { + "intensity" : 30.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 70.039929361435 + } ], + "score" : 4.399415171244475, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.240653, + "Mass Deviation" : -0.42357220903242193, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.2996007063856498, + "ClippedPeakIsNoiseScorer" : 0.7827336738912465, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 10, + "molecularFormula" : "C3H5N", + "ion" : "[M + H]+", + "massDeviation" : "7.904458081118235 ppm (4.4304423246899205E-4 m/z)", + "recalibratedMassDeviation" : "7.904458081118235 ppm (4.4304423246899205E-4 m/z)", + "relativeIntensity" : 0.05540780141843971, + "mz" : 56.049918656323, + "recalibratedMass" : 56.049918656323, + "peaks" : [ { + "intensity" : 20.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 56.048448506258 + }, { + "intensity" : 45.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 56.049507786248 + }, { + "intensity" : 60.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 56.049918656323 + } ], + "score" : 5.377171979189174, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.04095127529240153, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.43950081343677, + "ClippedPeakIsNoiseScorer" : 1.4786224410448057, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 11, + "molecularFormula" : "C4H6", + "ion" : "[M + H]+", + "massDeviation" : "5.06931156233155 ppm (2.7908844246837816E-4 m/z)", + "recalibratedMassDeviation" : "5.06931156233155 ppm (2.7908844246837816E-4 m/z)", + "relativeIntensity" : 0.011081560283687944, + "mz" : 55.054505732533, + "recalibratedMass" : 55.054505732533, + "peaks" : [ { + "intensity" : 25.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 55.054505732533 + } ], + "score" : 4.593033282124102, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.05881770900781395, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.4494549426746701, + "ClippedPeakIsNoiseScorer" : 0.7023960484572456, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 12, + "molecularFormula" : "C4H4", + "ion" : "[M + H]+", + "massDeviation" : "4.831274574031946 ppm (2.5624516446498546E-4 m/z)", + "recalibratedMassDeviation" : "4.831274574031946 ppm (2.5624516446498546E-4 m/z)", + "relativeIntensity" : 0.013297872340425532, + "mz" : 53.038832825255, + "recalibratedMass" : 53.038832825255, + "peaks" : [ { + "intensity" : 30.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 53.038832825255 + } ], + "score" : 4.752345345638696, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : 0.0, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.46961167174745, + "ClippedPeakIsNoiseScorer" : 0.7827336738912465, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + } ], + "losses" : [ { + "source" : 0, + "target" : 1, + "molecularFormula" : "C5H15NP", + "score" : -6.371626722486521, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : -0.7535640460848674, + "Loss RDBE" : -1.0986122886681098, + "Mass Deviation" : -0.4499779428360395, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.694804625936435, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : -1.3862943611198906, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 1, + "target" : 2, + "molecularFormula" : "H3N", + "score" : 0.023030392061025362, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : -0.11909994533147827, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.28702698696382317, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 0.4175307821975065, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 1, + "target" : 3, + "molecularFormula" : "C2H2", + "score" : 0.0665407853704082, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.7806669298851281, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.9307679038143633, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 0.20501521714082305, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 1, + "target" : 4, + "molecularFormula" : "CO", + "score" : 1.161792747883552, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.8780805875717457, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.20658508699281183, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 0.4786707051457979, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 2, + "target" : 5, + "molecularFormula" : "C2H2", + "score" : 0.897667706102828, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.7807331247698537, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.09970717796666911, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 0.20501521714082305, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 1, + "target" : 6, + "molecularFormula" : "C2H6O", + "score" : -5.084984217961084, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.6908572967856159, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.3839205134302384, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.185674170842775, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : -3.217873372632506, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 2, + "target" : 7, + "molecularFormula" : "CO2", + "score" : -1.358756472987597, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 1.098012017797652, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.11763095215123089, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.3507640807928385, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 5, + "target" : 8, + "molecularFormula" : "CO", + "score" : 0.5692439340323783, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.8781167754652612, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.7991700887375011, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 0.4786707051457979, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 6, + "target" : 9, + "molecularFormula" : "CH2N", + "score" : -4.42257406720739, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.8791160009376071, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.3159268913733358, + "Free Radical" : -2.2909585508352253, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.694804625936435, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 6, + "target" : 10, + "molecularFormula" : "C2H2O", + "score" : -1.1247967985789344, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 1.1055093118884525, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.7382159651225652, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -1.503716687503642, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 6, + "target" : 11, + "molecularFormula" : "CHNO", + "score" : -2.1857060900958376, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 1.1025458594057662, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.605073865723989, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.694804625936435, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 11, + "target" : 12, + "molecularFormula" : "H2", + "score" : -0.60128857920489, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : -13.382452509315037, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.009196414819379358, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 12.778733802770706, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + } ] +} \ No newline at end of file diff --git a/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/trees/C13H29NO2S_[M+Na]+.json b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/trees/C13H29NO2S_[M+Na]+.json new file mode 100644 index 00000000000..c49e0e1f5b5 --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/trees/C13H29NO2S_[M+Na]+.json @@ -0,0 +1,697 @@ +{ + "molecularFormula" : "C13H29NO2S", + "root" : "C13H29NO2S", + "annotations" : { + "precursorIonType" : "[M + Na]+", + "nodeBoost" : 3.0, + "numberOfUnconsideredCandidates" : 21, + "lowestConsideredCandidateScore" : 31.877358685357798, + "statistics" : { + "explainedIntensity" : 0.8419395465994967, + "explainedIntensityOfExplainablePeaks" : 0.912005457025921, + "ratioOfExplainedPeaks" : 0.36363636363636365 + } + }, + "fragments" : [ { + "id" : 0, + "molecularFormula" : "C13H29NO2S", + "ion" : "[M + Na]+", + "massDeviation" : "-7.312818418257181 ppm (-0.002092775267556135 m/z)", + "recalibratedMassDeviation" : "-7.312818418257181 ppm (-0.002092775267556135 m/z)", + "relativeIntensity" : 0.13297872340425532, + "mz" : 286.179028092823, + "recalibratedMass" : 286.179028092823, + "peaks" : [ { + "intensity" : 135.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 286.177025513197 + }, { + "intensity" : 105.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 286.178204102612 + }, { + "intensity" : 60.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 286.179738267349 + } ], + "score" : -12.363985886979199, + "scores" : { + "Chemical Prior" : 1.0, + "MS-Isotopes" : 0.0, + "CommonRootLoss" : 0.0, + "Mass Deviation" : -0.766563350494217, + "CarbohydrogenCompound" : 0.0, + "motif-search" : 0.0, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "BeautificationScorer" : -10.987984624050881, + "ImplicitAdductPeakScore" : 0.0, + "IntrinsicallyChargedScorer" : 0.0, + "StrangeElementRootScorer" : -1.6094379124341003 + }, + "isotopes" : { + "score" : -11.623236672154428, + "mz" : [ 286.179028092823 ], + "relInt" : [ 1.0 ] + } + }, { + "id" : 1, + "molecularFormula" : "C7H13NO2", + "ion" : "[M + Na]+", + "massDeviation" : "-0.17497076762881145 ppm (-2.905981352796516E-5 m/z)", + "recalibratedMassDeviation" : "-0.17497076762881145 ppm (-2.905981352796516E-5 m/z)", + "relativeIntensity" : 0.03546099290780142, + "mz" : 166.083820296277, + "recalibratedMass" : 166.083820296277, + "peaks" : [ { + "intensity" : 60.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 166.083820296277 + }, { + "intensity" : 20.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 166.087482254599 + } ], + "score" : 4.060834706548679, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.023276392212697998, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.33916179703723004, + "ClippedPeakIsNoiseScorer" : 1.2449493017241469, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 2, + "molecularFormula" : "C7H10O2", + "ion" : "[M + Na]+", + "massDeviation" : "-4.072942292262228 ppm (-6.070993095192989E-4 m/z)", + "recalibratedMassDeviation" : "-4.072942292262228 ppm (-6.070993095192989E-4 m/z)", + "relativeIntensity" : 0.006648936170212766, + "mz" : 149.056693160781, + "recalibratedMass" : 149.056693160781, + "peaks" : [ { + "intensity" : 15.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 149.056693160781 + } ], + "score" : 3.464532934945635, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.10724299999999998, + "Mass Deviation" : -0.13625158697884068, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.5094330683921899, + "ClippedPeakIsNoiseScorer" : 0.4841084535322853, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 3, + "molecularFormula" : "C5H11NO2", + "ion" : "[M + Na]+", + "massDeviation" : "9.93461847232529 ppm (0.0013915379444711107 m/z)", + "recalibratedMassDeviation" : "9.93461847232529 ppm (0.0013915379444711107 m/z)", + "relativeIntensity" : 0.6006205673758865, + "mz" : 140.069590830035, + "recalibratedMass" : 140.069590830035, + "peaks" : [ { + "intensity" : 561.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 140.069590830035 + }, { + "intensity" : 524.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 140.069724401264 + }, { + "intensity" : 270.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 140.072452948764 + } ], + "score" : 6.402992863127164, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.3601836307442136, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.5993040916996499, + "ClippedPeakIsNoiseScorer" : 3.663872402171727, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 4, + "molecularFormula" : "C6H13NO", + "ion" : "[M + Na]+", + "massDeviation" : "-3.3806907097233303 ppm (-4.6683440055517167E-4 m/z)", + "recalibratedMassDeviation" : "-3.3806907097233303 ppm (-4.6683440055517167E-4 m/z)", + "relativeIntensity" : 0.01551418439716312, + "mz" : 138.08846790169, + "recalibratedMass" : 138.08846790169, + "peaks" : [ { + "intensity" : 35.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 138.08846790169 + } ], + "score" : 3.868912909334309, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.1020152756535976, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.6191153209831, + "ClippedPeakIsNoiseScorer" : 0.8518128640048066, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 5, + "molecularFormula" : "C5H8O2", + "ion" : "[M + Na]+", + "massDeviation" : "-3.076517427408221 ppm (-3.78538616544688E-4 m/z)", + "recalibratedMassDeviation" : "-3.076517427408221 ppm (-3.78538616544688E-4 m/z)", + "relativeIntensity" : 0.008865248226950355, + "mz" : 123.041271657474, + "recalibratedMass" : 123.041271657474, + "peaks" : [ { + "intensity" : 20.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 123.041271657474 + } ], + "score" : 3.7941520746311537, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.08132902900476989, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.76958728342526, + "ClippedPeakIsNoiseScorer" : 0.6058938202106641, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 6, + "molecularFormula" : "C5H7NO", + "ion" : "[M + H]+", + "massDeviation" : "-7.763808213061534 ppm (-7.613134355324291E-4 m/z)", + "recalibratedMassDeviation" : "-7.763808213061534 ppm (-7.613134355324291E-4 m/z)", + "relativeIntensity" : 1.0, + "mz" : 98.059278982655, + "recalibratedMass" : 98.059278982655, + "peaks" : [ { + "intensity" : 958.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 98.059278982655 + }, { + "intensity" : 929.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 98.059564237847 + }, { + "intensity" : 369.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 98.060380513671 + } ], + "score" : 14.731016600214899, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.1758735604456145, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.01940721017345, + "ClippedPeakIsNoiseScorer" : 11.387482950487064, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 7, + "molecularFormula" : "C6H10", + "ion" : "[M + Na]+", + "massDeviation" : "-3.2480292487052242 ppm (-3.412611105346741E-4 m/z)", + "recalibratedMassDeviation" : "-3.2480292487052242 ppm (-3.412611105346741E-4 m/z)", + "relativeIntensity" : 0.004432624113475178, + "mz" : 105.06712975898, + "recalibratedMass" : 105.06712975898, + "peaks" : [ { + "intensity" : 10.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 105.06712975898 + } ], + "score" : 3.693314602564298, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.07279373331417366, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.9493287024102, + "ClippedPeakIsNoiseScorer" : 0.31677963346827187, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 8, + "molecularFormula" : "C4H8O", + "ion" : "[M + Na]+", + "massDeviation" : "-17.399712882398013 ppm (-0.001653757134533862 m/z)", + "recalibratedMassDeviation" : "-17.399712882398013 ppm (-0.001653757134533862 m/z)", + "relativeIntensity" : 0.013297872340425532, + "mz" : 95.045081818956, + "recalibratedMass" : 95.045081818956, + "peaks" : [ { + "intensity" : 30.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 95.045081818956 + } ], + "score" : 4.252943985439368, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.4065270000000001, + "Mass Deviation" : -0.4858658702623185, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.0495491818104399, + "ClippedPeakIsNoiseScorer" : 0.7827336738912465, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 9, + "molecularFormula" : "C4H5O", + "ion" : "[M + H]+", + "massDeviation" : "-19.80114297917525 ppm (-0.001386870655537109 m/z)", + "recalibratedMassDeviation" : "-19.80114297917525 ppm (-0.001386870655537109 m/z)", + "relativeIntensity" : 0.013297872340425532, + "mz" : 70.039929361435, + "recalibratedMass" : 70.039929361435, + "peaks" : [ { + "intensity" : 30.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 70.039929361435 + } ], + "score" : 4.399415171244475, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.240653, + "Mass Deviation" : -0.42357220903242193, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.2996007063856498, + "ClippedPeakIsNoiseScorer" : 0.7827336738912465, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 10, + "molecularFormula" : "C3H5N", + "ion" : "[M + H]+", + "massDeviation" : "7.904458081118235 ppm (4.4304423246899205E-4 m/z)", + "recalibratedMassDeviation" : "7.904458081118235 ppm (4.4304423246899205E-4 m/z)", + "relativeIntensity" : 0.05540780141843971, + "mz" : 56.049918656323, + "recalibratedMass" : 56.049918656323, + "peaks" : [ { + "intensity" : 20.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 56.048448506258 + }, { + "intensity" : 45.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 56.049507786248 + }, { + "intensity" : 60.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 56.049918656323 + } ], + "score" : 5.377171979189174, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.04095127529240153, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.43950081343677, + "ClippedPeakIsNoiseScorer" : 1.4786224410448057, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 11, + "molecularFormula" : "C4H6", + "ion" : "[M + H]+", + "massDeviation" : "5.06931156233155 ppm (2.7908844246837816E-4 m/z)", + "recalibratedMassDeviation" : "5.06931156233155 ppm (2.7908844246837816E-4 m/z)", + "relativeIntensity" : 0.011081560283687944, + "mz" : 55.054505732533, + "recalibratedMass" : 55.054505732533, + "peaks" : [ { + "intensity" : 25.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 55.054505732533 + } ], + "score" : 4.593033282124102, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.05881770900781395, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.4494549426746701, + "ClippedPeakIsNoiseScorer" : 0.7023960484572456, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 12, + "molecularFormula" : "C4H4", + "ion" : "[M + H]+", + "massDeviation" : "4.831274574031946 ppm (2.5624516446498546E-4 m/z)", + "recalibratedMassDeviation" : "4.831274574031946 ppm (2.5624516446498546E-4 m/z)", + "relativeIntensity" : 0.013297872340425532, + "mz" : 53.038832825255, + "recalibratedMass" : 53.038832825255, + "peaks" : [ { + "intensity" : 30.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 53.038832825255 + } ], + "score" : 4.752345345638696, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : 0.0, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.46961167174745, + "ClippedPeakIsNoiseScorer" : 0.7827336738912465, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + } ], + "losses" : [ { + "source" : 0, + "target" : 1, + "molecularFormula" : "C6H16S", + "score" : -6.862279266283113, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : -0.7535640460848674, + "Loss RDBE" : -2.1972245773362196, + "Mass Deviation" : -1.2283125590844104, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.694804625936435, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 1, + "target" : 2, + "molecularFormula" : "H3N", + "score" : 0.023030392061025362, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : -0.11909994533147827, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.28702698696382317, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 0.4175307821975065, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 1, + "target" : 3, + "molecularFormula" : "C2H2", + "score" : 0.0665407853704082, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.7806669298851281, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.9307679038143633, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 0.20501521714082305, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 1, + "target" : 4, + "molecularFormula" : "CO", + "score" : 1.161792747883552, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.8780805875717457, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.20658508699281183, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 0.4786707051457979, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 2, + "target" : 5, + "molecularFormula" : "C2H2", + "score" : 0.897667706102828, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.7807331247698537, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.09970717796666911, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 0.20501521714082305, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 1, + "target" : 6, + "molecularFormula" : "C2H6O", + "score" : -5.084984217961084, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.6908572967856159, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.3839205134302384, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.185674170842775, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : -3.217873372632506, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 2, + "target" : 7, + "molecularFormula" : "CO2", + "score" : -1.358756472987597, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 1.098012017797652, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.11763095215123089, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.3507640807928385, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 5, + "target" : 8, + "molecularFormula" : "CO", + "score" : 0.5692439340323783, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.8781167754652612, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.7991700887375011, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 0.4786707051457979, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 6, + "target" : 9, + "molecularFormula" : "CH2N", + "score" : -4.42257406720739, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.8791160009376071, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.3159268913733358, + "Free Radical" : -2.2909585508352253, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.694804625936435, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 6, + "target" : 10, + "molecularFormula" : "C2H2O", + "score" : -1.1247967985789344, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 1.1055093118884525, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.7382159651225652, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -1.503716687503642, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 6, + "target" : 11, + "molecularFormula" : "CHNO", + "score" : -2.1857060900958376, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 1.1025458594057662, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.605073865723989, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.694804625936435, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 11, + "target" : 12, + "molecularFormula" : "H2", + "score" : -0.60128857920489, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : -13.382452509315037, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.009196414819379358, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 12.778733802770706, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + } ] +} \ No newline at end of file diff --git a/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/trees/C14H19N7_[M+H]+.json b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/trees/C14H19N7_[M+H]+.json new file mode 100644 index 00000000000..7b4b8fe737d --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/trees/C14H19N7_[M+H]+.json @@ -0,0 +1,547 @@ +{ + "molecularFormula" : "C14H19N7", + "root" : "C14H19N7", + "annotations" : { + "precursorIonType" : "[M + H]+", + "nodeBoost" : 3.0, + "numberOfUnconsideredCandidates" : 21, + "lowestConsideredCandidateScore" : 31.877358685357798, + "statistics" : { + "explainedIntensity" : 0.8261964735516377, + "explainedIntensityOfExplainablePeaks" : 0.9546446762066458, + "ratioOfExplainedPeaks" : 0.2727272727272727 + } + }, + "fragments" : [ { + "id" : 0, + "molecularFormula" : "C14H19N7", + "ion" : "[M + H]+", + "massDeviation" : "5.4442589411905296 ppm (0.0015580327324755672 m/z)", + "recalibratedMassDeviation" : "5.4442589411905296 ppm (0.0015580327324755672 m/z)", + "relativeIntensity" : 0.13297872340425532, + "mz" : 286.179028092823, + "recalibratedMass" : 286.179028092823, + "peaks" : [ { + "intensity" : 135.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 286.177025513197 + }, { + "intensity" : 105.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 286.178204102612 + }, { + "intensity" : 60.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 286.179738267349 + } ], + "score" : -8.394160301219388, + "scores" : { + "Chemical Prior" : 1.0, + "MS-Isotopes" : 0.0, + "CommonRootLoss" : 0.0, + "Mass Deviation" : -0.5341822263175484, + "CarbohydrogenCompound" : 0.0, + "motif-search" : 0.0, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "BeautificationScorer" : -8.85997807490184, + "ImplicitAdductPeakScore" : 0.0, + "IntrinsicallyChargedScorer" : 0.0, + "StrangeElementRootScorer" : 0.0 + }, + "isotopes" : { + "score" : -9.512962604764944, + "mz" : [ 286.179028092823 ], + "relInt" : [ 1.0 ] + } + }, { + "id" : 1, + "molecularFormula" : "C5H7N7", + "ion" : "[M + H]+", + "massDeviation" : "1.508998203620972 ppm (2.506201864775903E-4 m/z)", + "recalibratedMassDeviation" : "1.508998203620972 ppm (2.506201864775903E-4 m/z)", + "relativeIntensity" : 0.03546099290780142, + "mz" : 166.083820296277, + "recalibratedMass" : 166.083820296277, + "peaks" : [ { + "intensity" : 60.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 166.083820296277 + }, { + "intensity" : 20.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 166.087482254599 + } ], + "score" : 4.024709815972054, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.05940128278932259, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.33916179703723004, + "ClippedPeakIsNoiseScorer" : 1.2449493017241469, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 2, + "molecularFormula" : "C5H4N6", + "ion" : "[M + H]+", + "massDeviation" : "-2.1966092402209028 ppm (-3.2741930951374343E-4 m/z)", + "recalibratedMassDeviation" : "-2.1966092402209028 ppm (-3.2741930951374343E-4 m/z)", + "relativeIntensity" : 0.006648936170212766, + "mz" : 149.056693160781, + "recalibratedMass" : 149.056693160781, + "peaks" : [ { + "intensity" : 15.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 149.056693160781 + } ], + "score" : 3.4206409737759014, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.0729005481485745, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.5094330683921899, + "ClippedPeakIsNoiseScorer" : 0.4841084535322853, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 3, + "molecularFormula" : "C3H5N7", + "ion" : "[M + H]+", + "massDeviation" : "11.931340232903061 ppm (0.0016712179444766662 m/z)", + "recalibratedMassDeviation" : "11.931340232903061 ppm (0.0016712179444766662 m/z)", + "relativeIntensity" : 0.6006205673758865, + "mz" : 140.069590830035, + "recalibratedMass" : 140.069590830035, + "peaks" : [ { + "intensity" : 561.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 140.069590830035 + }, { + "intensity" : 524.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 140.069724401264 + }, { + "intensity" : 270.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 140.072452948764 + } ], + "score" : 6.322510753133749, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.4406657407376281, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.5993040916996499, + "ClippedPeakIsNoiseScorer" : 3.663872402171727, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 4, + "molecularFormula" : "C3H2N6", + "ion" : "[M + H]+", + "massDeviation" : "-0.803458995566448 ppm (-9.885861653913253E-5 m/z)", + "recalibratedMassDeviation" : "-0.803458995566448 ppm (-9.885861653913253E-5 m/z)", + "relativeIntensity" : 0.008865248226950355, + "mz" : 123.041271657474, + "recalibratedMass" : 123.041271657474, + "peaks" : [ { + "intensity" : 20.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 123.041271657474 + } ], + "score" : 3.837729501497298, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.03775160213862572, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.76958728342526, + "ClippedPeakIsNoiseScorer" : 0.6058938202106641, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 5, + "molecularFormula" : "C3H5N4", + "ion" : "[M + H]+", + "massDeviation" : "5.928766461543392 ppm (5.813705644754918E-4 m/z)", + "recalibratedMassDeviation" : "5.928766461543392 ppm (5.813705644754918E-4 m/z)", + "relativeIntensity" : 1.0, + "mz" : 98.059278982655, + "recalibratedMass" : 98.059278982655, + "peaks" : [ { + "intensity" : 958.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 98.059278982655 + }, { + "intensity" : 929.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 98.059564237847 + }, { + "intensity" : 369.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 98.060380513671 + } ], + "score" : 14.813334136453095, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.09355602420741703, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.01940721017345, + "ClippedPeakIsNoiseScorer" : 11.387482950487064, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 6, + "molecularFormula" : "C2H3N3", + "ion" : "[M + H]+", + "massDeviation" : "-0.6308780710095621 ppm (-4.41866555291881E-5 m/z)", + "recalibratedMassDeviation" : "-0.6308780710095621 ppm (-4.41866555291881E-5 m/z)", + "relativeIntensity" : 0.013297872340425532, + "mz" : 70.039929361435, + "recalibratedMass" : 70.039929361435, + "peaks" : [ { + "intensity" : 30.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 70.039929361435 + } ], + "score" : 4.525708563465001, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.0566258168118962, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.2996007063856498, + "ClippedPeakIsNoiseScorer" : 0.7827336738912465, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 7, + "molecularFormula" : "C3H5N", + "ion" : "[M + H]+", + "massDeviation" : "7.904458081118235 ppm (4.4304423246899205E-4 m/z)", + "recalibratedMassDeviation" : "7.904458081118235 ppm (4.4304423246899205E-4 m/z)", + "relativeIntensity" : 0.05540780141843971, + "mz" : 56.049918656323, + "recalibratedMass" : 56.049918656323, + "peaks" : [ { + "intensity" : 20.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 56.048448506258 + }, { + "intensity" : 45.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 56.049507786248 + }, { + "intensity" : 60.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 56.049918656323 + } ], + "score" : 5.38076224070056, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.03736101378101638, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.43950081343677, + "ClippedPeakIsNoiseScorer" : 1.4786224410448057, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 8, + "molecularFormula" : "C4H6", + "ion" : "[M + H]+", + "massDeviation" : "5.06931156233155 ppm (2.7908844246837816E-4 m/z)", + "recalibratedMassDeviation" : "5.06931156233155 ppm (2.7908844246837816E-4 m/z)", + "relativeIntensity" : 0.011081560283687944, + "mz" : 55.054505732533, + "recalibratedMass" : 55.054505732533, + "peaks" : [ { + "intensity" : 25.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 55.054505732533 + } ], + "score" : 4.649028695348245, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.002822295783670884, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.4494549426746701, + "ClippedPeakIsNoiseScorer" : 0.7023960484572456, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 9, + "molecularFormula" : "C4H4", + "ion" : "[M + H]+", + "massDeviation" : "4.831274574031946 ppm (2.5624516446498546E-4 m/z)", + "recalibratedMassDeviation" : "4.831274574031946 ppm (2.5624516446498546E-4 m/z)", + "relativeIntensity" : 0.013297872340425532, + "mz" : 53.038832825255, + "recalibratedMass" : 53.038832825255, + "peaks" : [ { + "intensity" : 30.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 53.038832825255 + } ], + "score" : 4.749523049855026, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.002822295783670884, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.46961167174745, + "ClippedPeakIsNoiseScorer" : 0.7827336738912465, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + } ], + "losses" : [ { + "source" : 0, + "target" : 1, + "molecularFormula" : "C9H12", + "score" : -3.842403784005459, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.237454809655712, + "LossSizeScorer" : -0.7535640460848674, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.6431164637986884, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.694804625936435, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 1, + "target" : 2, + "molecularFormula" : "H3N", + "score" : 0.023030392061025362, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : -0.11909994533147827, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.28702698696382317, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 0.4175307821975065, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 1, + "target" : 3, + "molecularFormula" : "C2H2", + "score" : 0.0665407853704082, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.7806669298851281, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.9307679038143633, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 0.20501521714082305, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 2, + "target" : 4, + "molecularFormula" : "C2H2", + "score" : 0.897667706102828, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.7807331247698537, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.09970717796666911, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 0.20501521714082305, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 1, + "target" : 5, + "molecularFormula" : "C2H2N3", + "score" : -4.4448958742214275, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.6908572967856159, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.1499899942353829, + "Free Radical" : -2.2909585508352253, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.694804625936435, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 2, + "target" : 6, + "molecularFormula" : "C3HN3", + "score" : -2.3987777545815, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.4105587597292697, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.1261584305331548, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.694804625936435, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 1, + "target" : 7, + "molecularFormula" : "C2H2N6", + "score" : -3.221796910259109, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : -0.4638907750652983, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.0747280514161958, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.694804625936435, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 1, + "target" : 8, + "molecularFormula" : "CHN7", + "score" : -3.1860869321766865, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : -0.49257490855964203, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.010333939839429611, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.694804625936435, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 8, + "target" : 9, + "molecularFormula" : "H2", + "score" : -0.60128857920489, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : -13.382452509315037, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.009196414819379358, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 12.778733802770706, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + } ] +} \ No newline at end of file diff --git a/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/trees/C14H23N4O_[M+Na]+.json b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/trees/C14H23N4O_[M+Na]+.json new file mode 100644 index 00000000000..4334c1c1aeb --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/trees/C14H23N4O_[M+Na]+.json @@ -0,0 +1,737 @@ +{ + "molecularFormula" : "C14H23N4O", + "root" : "C14H23N4O", + "annotations" : { + "precursorIonType" : "[M + Na]+", + "nodeBoost" : 3.0, + "numberOfUnconsideredCandidates" : 21, + "lowestConsideredCandidateScore" : 31.877358685357798, + "statistics" : { + "explainedIntensity" : 0.5726280436607896, + "explainedIntensityOfExplainablePeaks" : 0.6452223273415328, + "ratioOfExplainedPeaks" : 0.3939393939393939 + } + }, + "fragments" : [ { + "id" : 0, + "molecularFormula" : "C14H23N4O", + "ion" : "[M + Na]+", + "massDeviation" : "9.15873098719097 ppm (0.0026210367324779327 m/z)", + "recalibratedMassDeviation" : "9.15873098719097 ppm (0.0026210367324779327 m/z)", + "relativeIntensity" : 0.13297872340425532, + "mz" : 286.179028092823, + "recalibratedMass" : 286.179028092823, + "peaks" : [ { + "intensity" : 135.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 286.177025513197 + }, { + "intensity" : 105.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 286.178204102612 + }, { + "intensity" : 60.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 286.179738267349 + } ], + "score" : -9.77089494601693, + "scores" : { + "Chemical Prior" : 1.0, + "MS-Isotopes" : 0.0, + "CommonRootLoss" : 0.0, + "Mass Deviation" : -1.0223919165825974, + "CarbohydrogenCompound" : 0.0, + "motif-search" : 0.0, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "BeautificationScorer" : -5.143332843446242, + "ImplicitAdductPeakScore" : 0.0, + "IntrinsicallyChargedScorer" : -4.605170185988091, + "StrangeElementRootScorer" : 0.0 + }, + "isotopes" : { + "score" : -9.483431698452994, + "mz" : [ 286.179028092823 ], + "relInt" : [ 1.0 ] + } + }, { + "id" : 1, + "molecularFormula" : "C12H17", + "ion" : "[M + Na]+", + "massDeviation" : "6.113952630975533 ppm (0.0011257215744535642 m/z)", + "recalibratedMassDeviation" : "6.113952630975533 ppm (0.0011257215744535642 m/z)", + "relativeIntensity" : 0.00576241134751773, + "mz" : 184.123371965665, + "recalibratedMass" : 184.123371965665, + "peaks" : [ { + "intensity" : 13.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 184.123371965665 + } ], + "score" : 3.3851765422841007, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.33936900000000003, + "Mass Deviation" : -0.03747498719726003, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.15876628034335005, + "ClippedPeakIsNoiseScorer" : 0.4245162491380101, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 2, + "molecularFormula" : "C5H11N4O", + "ion" : "[M + Na]+", + "massDeviation" : "7.909404926600201 ppm (0.0013136241864799558 m/z)", + "recalibratedMassDeviation" : "7.909404926600201 ppm (0.0013136241864799558 m/z)", + "relativeIntensity" : 0.03546099290780142, + "mz" : 166.083820296277, + "recalibratedMass" : 166.083820296277, + "peaks" : [ { + "intensity" : 60.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 166.083820296277 + }, { + "intensity" : 20.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 166.087482254599 + } ], + "score" : 4.0530231422721394, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.031087956489237897, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.33916179703723004, + "ClippedPeakIsNoiseScorer" : 1.2449493017241469, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 3, + "molecularFormula" : "C5H8N3O", + "ion" : "[M + Na]+", + "massDeviation" : "4.934932305892354 ppm (7.355846904886221E-4 m/z)", + "recalibratedMassDeviation" : "4.934932305892354 ppm (7.355846904886221E-4 m/z)", + "relativeIntensity" : 0.006648936170212766, + "mz" : 149.056693160781, + "recalibratedMass" : 149.056693160781, + "peaks" : [ { + "intensity" : 15.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 149.056693160781 + } ], + "score" : 3.432225996341686, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.06131552558278979, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.5094330683921899, + "ClippedPeakIsNoiseScorer" : 0.4841084535322853, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 4, + "molecularFormula" : "C4H11N4", + "ion" : "[M + Na]+", + "massDeviation" : "6.342670121275422 ppm (8.758495994527493E-4 m/z)", + "recalibratedMassDeviation" : "6.342670121275422 ppm (8.758495994527493E-4 m/z)", + "relativeIntensity" : 0.01551418439716312, + "mz" : 138.08846790169, + "recalibratedMass" : 138.08846790169, + "peaks" : [ { + "intensity" : 35.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 138.08846790169 + } ], + "score" : 3.958382163759269, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.012546021228637403, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.6191153209831, + "ClippedPeakIsNoiseScorer" : 0.8518128640048066, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 5, + "molecularFormula" : "C8H14", + "ion" : "[M + Na]+", + "massDeviation" : "11.058818109074455 ppm (0.0014719313784894439 m/z)", + "recalibratedMassDeviation" : "11.058818109074455 ppm (0.0014719313784894439 m/z)", + "relativeIntensity" : 0.026152482269503546, + "mz" : 133.100243079469, + "recalibratedMass" : 133.100243079469, + "peaks" : [ { + "intensity" : 59.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 133.100243079469 + } ], + "score" : 4.192191100194527, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.12800475422185667, + "CarbohydrogenFragment" : 0.05612003376703556, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.6689975692053098, + "ClippedPeakIsNoiseScorer" : 1.0950782514440376, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 6, + "molecularFormula" : "C3H6N3O", + "ion" : "[M + Na]+", + "massDeviation" : "7.835951063211131 ppm (9.64145383463233E-4 m/z)", + "recalibratedMassDeviation" : "7.835951063211131 ppm (9.64145383463233E-4 m/z)", + "relativeIntensity" : 0.008865248226950355, + "mz" : 123.041271657474, + "recalibratedMass" : 123.041271657474, + "peaks" : [ { + "intensity" : 20.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 123.041271657474 + } ], + "score" : 3.8453373364434142, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.030143767192509524, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.76958728342526, + "ClippedPeakIsNoiseScorer" : 0.6058938202106641, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 7, + "molecularFormula" : "C5H7NO", + "ion" : "[M + H]+", + "massDeviation" : "-7.763808213061534 ppm (-7.613134355324291E-4 m/z)", + "recalibratedMassDeviation" : "-7.763808213061534 ppm (-7.613134355324291E-4 m/z)", + "relativeIntensity" : 1.0, + "mz" : 98.059278982655, + "recalibratedMass" : 98.059278982655, + "peaks" : [ { + "intensity" : 958.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 98.059278982655 + }, { + "intensity" : 929.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 98.059564237847 + }, { + "intensity" : 369.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 98.060380513671 + } ], + "score" : 14.550917755137094, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.35597240552341813, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.01940721017345, + "ClippedPeakIsNoiseScorer" : 11.387482950487064, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 8, + "molecularFormula" : "C6H10", + "ion" : "[M + Na]+", + "massDeviation" : "-3.2480292487052242 ppm (-3.412611105346741E-4 m/z)", + "recalibratedMassDeviation" : "-3.2480292487052242 ppm (-3.412611105346741E-4 m/z)", + "relativeIntensity" : 0.004432624113475178, + "mz" : 105.06712975898, + "recalibratedMass" : 105.06712975898, + "peaks" : [ { + "intensity" : 10.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 105.06712975898 + } ], + "score" : 3.520566546360465, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.24554178951800673, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.9493287024102, + "ClippedPeakIsNoiseScorer" : 0.31677963346827187, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 9, + "molecularFormula" : "C2H6N3", + "ion" : "[M + Na]+", + "massDeviation" : "-3.272900907515561 ppm (-3.1107313454015184E-4 m/z)", + "recalibratedMassDeviation" : "-3.272900907515561 ppm (-3.1107313454015184E-4 m/z)", + "relativeIntensity" : 0.013297872340425532, + "mz" : 95.045081818956, + "recalibratedMass" : 95.045081818956, + "peaks" : [ { + "intensity" : 30.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 95.045081818956 + } ], + "score" : 4.117859455353925, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.21442340034776158, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.0495491818104399, + "ClippedPeakIsNoiseScorer" : 0.7827336738912465, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 10, + "molecularFormula" : "C3H5N", + "ion" : "[M + H]+", + "massDeviation" : "7.904458081118235 ppm (4.4304423246899205E-4 m/z)", + "recalibratedMassDeviation" : "7.904458081118235 ppm (4.4304423246899205E-4 m/z)", + "relativeIntensity" : 0.05540780141843971, + "mz" : 56.049918656323, + "recalibratedMass" : 56.049918656323, + "peaks" : [ { + "intensity" : 20.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 56.048448506258 + }, { + "intensity" : 45.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 56.049507786248 + }, { + "intensity" : 60.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 56.049918656323 + } ], + "score" : 5.384614177419786, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.03350907706178935, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.43950081343677, + "ClippedPeakIsNoiseScorer" : 1.4786224410448057, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 11, + "molecularFormula" : "C4H6", + "ion" : "[M + H]+", + "massDeviation" : "5.06931156233155 ppm (2.7908844246837816E-4 m/z)", + "recalibratedMassDeviation" : "5.06931156233155 ppm (2.7908844246837816E-4 m/z)", + "relativeIntensity" : 0.011081560283687944, + "mz" : 55.054505732533, + "recalibratedMass" : 55.054505732533, + "peaks" : [ { + "intensity" : 25.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 55.054505732533 + } ], + "score" : 4.650515478795383, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.0013355123365328327, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.4494549426746701, + "ClippedPeakIsNoiseScorer" : 0.7023960484572456, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 12, + "molecularFormula" : "C4H4", + "ion" : "[M + H]+", + "massDeviation" : "4.831274574031946 ppm (2.5624516446498546E-4 m/z)", + "recalibratedMassDeviation" : "4.831274574031946 ppm (2.5624516446498546E-4 m/z)", + "relativeIntensity" : 0.013297872340425532, + "mz" : 53.038832825255, + "recalibratedMass" : 53.038832825255, + "peaks" : [ { + "intensity" : 30.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 53.038832825255 + } ], + "score" : 4.752345345638696, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : 0.0, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.46961167174745, + "ClippedPeakIsNoiseScorer" : 0.7827336738912465, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 13, + "molecularFormula" : "C2H7O", + "ion" : "[M + Na]+", + "massDeviation" : "14.546236036325046 ppm (0.0010188173444589665 m/z)", + "recalibratedMassDeviation" : "14.546236036325046 ppm (0.0010188173444589665 m/z)", + "relativeIntensity" : 0.013297872340425532, + "mz" : 70.039929361435, + "recalibratedMass" : 70.039929361435, + "peaks" : [ { + "intensity" : 30.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 70.039929361435 + } ], + "score" : 4.441264138357428, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.14107024191946865, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.2996007063856498, + "ClippedPeakIsNoiseScorer" : 0.7827336738912465, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + } ], + "losses" : [ { + "source" : 0, + "target" : 1, + "molecularFormula" : "C2H6N4O", + "score" : -3.8903957896828683, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : -0.2342989254684822, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.9729187804367714, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.694804625936435, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 0, + "target" : 2, + "molecularFormula" : "C9H12", + "score" : -3.842403784005459, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.237454809655712, + "LossSizeScorer" : -0.7535640460848674, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.6431164637986884, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.694804625936435, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 2, + "target" : 3, + "molecularFormula" : "H3N", + "score" : 0.023030392061025362, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : -0.11909994533147827, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.28702698696382317, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 0.4175307821975065, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 2, + "target" : 4, + "molecularFormula" : "CO", + "score" : 1.161792747883552, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.8780805875717457, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.20658508699281183, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 0.4786707051457979, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 1, + "target" : 5, + "molecularFormula" : "C4H3", + "score" : -4.115946032837988, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 1.0277310149700378, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.15791387103636575, + "Free Radical" : -2.2909585508352253, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.694804625936435, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 3, + "target" : 6, + "molecularFormula" : "C2H2", + "score" : 0.897667706102828, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.7807331247698537, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.09970717796666911, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 0.20501521714082305, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 3, + "target" : 7, + "molecularFormula" : "HN2", + "score" : -8.680800826449678, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 1.0280891177306142, + "Loss RDBE" : 0.0, + "Mass Deviation" : -1.003393889482032, + "Free Radical" : -2.2909585508352253, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.694804625936435, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : -3.7197328779266003, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 5, + "target" : 8, + "molecularFormula" : "C2H4", + "score" : -1.5264736467732203, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.8797084067983363, + "Loss RDBE" : 0.0, + "Mass Deviation" : -1.3310453204009591, + "Free Radical" : -0.09373397349900595, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -0.9814027596715915, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 6, + "target" : 9, + "molecularFormula" : "CO", + "score" : 0.5692439340199466, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.8781167754652612, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.7991700887499328, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 0.4786707051457979, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 7, + "target" : 10, + "molecularFormula" : "C2H2O", + "score" : -1.1247967985789344, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 1.1055093118884525, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.7382159651225652, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -1.503716687503642, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 7, + "target" : 11, + "molecularFormula" : "CHNO", + "score" : -2.1857060900958376, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 1.1025458594057662, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.605073865723989, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.694804625936435, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 11, + "target" : 12, + "molecularFormula" : "H2", + "score" : -0.60128857920489, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : -13.382452509315037, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.009196414819379358, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 12.778733802770706, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 3, + "target" : 13, + "molecularFormula" : "C3HN3", + "score" : -2.3987777545744904, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.4105587597292697, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.12615843052614523, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.694804625936435, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + } ] +} \ No newline at end of file diff --git a/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/trees/C16H21N4O_[M+H]+.json b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/trees/C16H21N4O_[M+H]+.json new file mode 100644 index 00000000000..2d4eb6148c4 --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/trees/C16H21N4O_[M+H]+.json @@ -0,0 +1,647 @@ +{ + "molecularFormula" : "C16H21N4O", + "root" : "C16H21N4O", + "annotations" : { + "precursorIonType" : "[M + H]+", + "nodeBoost" : 3.0, + "numberOfUnconsideredCandidates" : 21, + "lowestConsideredCandidateScore" : 31.877358685357798, + "statistics" : { + "explainedIntensity" : 0.840890008396306, + "explainedIntensityOfExplainablePeaks" : 0.9634439634439634, + "ratioOfExplainedPeaks" : 0.3333333333333333 + } + }, + "fragments" : [ { + "id" : 0, + "molecularFormula" : "C16H21N4O", + "ion" : "[M + H]+", + "massDeviation" : "0.7524965540025428 ppm (2.153487324676462E-4 m/z)", + "recalibratedMassDeviation" : "0.7524965540025428 ppm (2.153487324676462E-4 m/z)", + "relativeIntensity" : 0.13297872340425532, + "mz" : 286.179028092823, + "recalibratedMass" : 286.179028092823, + "peaks" : [ { + "intensity" : 135.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 286.177025513197 + }, { + "intensity" : 105.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 286.178204102612 + }, { + "intensity" : 60.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 286.179738267349 + } ], + "score" : -14.667028486641037, + "scores" : { + "Chemical Prior" : 1.0, + "MS-Isotopes" : 0.0, + "CommonRootLoss" : 0.0, + "Mass Deviation" : -0.06185830065294675, + "CarbohydrogenCompound" : 0.0, + "motif-search" : 0.0, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "BeautificationScorer" : -11.0, + "ImplicitAdductPeakScore" : 0.0, + "IntrinsicallyChargedScorer" : -4.605170185988091, + "StrangeElementRootScorer" : 0.0 + }, + "isotopes" : { + "score" : -9.598720250482668, + "mz" : [ 286.179028092823 ], + "relInt" : [ 1.0 ] + } + }, { + "id" : 1, + "molecularFormula" : "C7H9N4O", + "ion" : "[M + H]+", + "massDeviation" : "-6.575377490608041 ppm (-0.0010920638135303307 m/z)", + "recalibratedMassDeviation" : "-6.575377490608041 ppm (-0.0010920638135303307 m/z)", + "relativeIntensity" : 0.03546099290780142, + "mz" : 166.083820296277, + "recalibratedMass" : 166.083820296277, + "peaks" : [ { + "intensity" : 60.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 166.083820296277 + }, { + "intensity" : 20.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 166.087482254599 + } ], + "score" : 3.8160769925131928, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.26803410624818425, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.33916179703723004, + "ClippedPeakIsNoiseScorer" : 1.2449493017241469, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 2, + "molecularFormula" : "C7H6N3O", + "ion" : "[M + H]+", + "massDeviation" : "-11.204483838375484 ppm (-0.0016701033095216644 m/z)", + "recalibratedMassDeviation" : "-11.204483838375484 ppm (-0.0016701033095216644 m/z)", + "relativeIntensity" : 0.006648936170212766, + "mz" : 149.056693160781, + "recalibratedMass" : 149.056693160781, + "peaks" : [ { + "intensity" : 15.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 149.056693160781 + } ], + "score" : 3.039985808092882, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.4535557138315937, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.5094330683921899, + "ClippedPeakIsNoiseScorer" : 0.4841084535322853, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 3, + "molecularFormula" : "C5H7N4O", + "ion" : "[M + H]+", + "massDeviation" : "2.3455051344256366 ppm (3.285339444687452E-4 m/z)", + "recalibratedMassDeviation" : "2.3455051344256366 ppm (3.285339444687452E-4 m/z)", + "relativeIntensity" : 0.6006205673758865, + "mz" : 140.069590830035, + "recalibratedMass" : 140.069590830035, + "peaks" : [ { + "intensity" : 561.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 140.069590830035 + }, { + "intensity" : 524.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 140.069724401264 + }, { + "intensity" : 270.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 140.072452948764 + } ], + "score" : 6.693270086004846, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.06990640786653102, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.5993040916996499, + "ClippedPeakIsNoiseScorer" : 3.663872402171727, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 4, + "molecularFormula" : "C6H9N4", + "ion" : "[M + H]+", + "massDeviation" : "-11.07868328018717 ppm (-0.0015298384005291155 m/z)", + "recalibratedMassDeviation" : "-11.07868328018717 ppm (-0.0015298384005291155 m/z)", + "relativeIntensity" : 0.01551418439716312, + "mz" : 138.08846790169, + "recalibratedMass" : 138.08846790169, + "peaks" : [ { + "intensity" : 35.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 138.08846790169 + } ], + "score" : 3.5653226746126956, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.4056055103752111, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.6191153209831, + "ClippedPeakIsNoiseScorer" : 0.8518128640048066, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 5, + "molecularFormula" : "C5H4N3O", + "ion" : "[M + H]+", + "massDeviation" : "-11.715927486070303 ppm (-0.0014415426165328427 m/z)", + "recalibratedMassDeviation" : "-11.715927486070303 ppm (-0.0014415426165328427 m/z)", + "relativeIntensity" : 0.008865248226950355, + "mz" : 123.041271657474, + "recalibratedMass" : 123.041271657474, + "peaks" : [ { + "intensity" : 20.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 123.041271657474 + } ], + "score" : 3.4990858320912257, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.3763952715446977, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.76958728342526, + "ClippedPeakIsNoiseScorer" : 0.6058938202106641, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 6, + "molecularFormula" : "C5H7NO", + "ion" : "[M + H]+", + "massDeviation" : "-7.763808213061534 ppm (-7.613134355324291E-4 m/z)", + "recalibratedMassDeviation" : "-7.763808213061534 ppm (-7.613134355324291E-4 m/z)", + "relativeIntensity" : 1.0, + "mz" : 98.059278982655, + "recalibratedMass" : 98.059278982655, + "peaks" : [ { + "intensity" : 958.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 98.059278982655 + }, { + "intensity" : 929.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 98.059564237847 + }, { + "intensity" : 369.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 98.060380513671 + } ], + "score" : 14.731016600214899, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.1758735604456145, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.01940721017345, + "ClippedPeakIsNoiseScorer" : 11.387482950487064, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 7, + "molecularFormula" : "C2H2N3O", + "ion" : "[M + H]+", + "massDeviation" : "15.85434580447312 ppm (0.0013480698344636721 m/z)", + "recalibratedMassDeviation" : "15.85434580447312 ppm (0.0013480698344636721 m/z)", + "relativeIntensity" : 0.01551418439716312, + "mz" : 85.028411205925, + "recalibratedMass" : 85.028411205925, + "peaks" : [ { + "intensity" : 35.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 85.028411205925 + } ], + "score" : 4.155244192966554, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.3462845589790036, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.14971588794075, + "ClippedPeakIsNoiseScorer" : 0.8518128640048066, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 8, + "molecularFormula" : "C4H5O", + "ion" : "[M + H]+", + "massDeviation" : "-19.80114297917525 ppm (-0.001386870655537109 m/z)", + "recalibratedMassDeviation" : "-19.80114297917525 ppm (-0.001386870655537109 m/z)", + "relativeIntensity" : 0.013297872340425532, + "mz" : 70.039929361435, + "recalibratedMass" : 70.039929361435, + "peaks" : [ { + "intensity" : 30.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 70.039929361435 + } ], + "score" : 4.464304735749953, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.240653, + "Mass Deviation" : -0.3586826445269436, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.2996007063856498, + "ClippedPeakIsNoiseScorer" : 0.7827336738912465, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 9, + "molecularFormula" : "C3H5N", + "ion" : "[M + H]+", + "massDeviation" : "7.904458081118235 ppm (4.4304423246899205E-4 m/z)", + "recalibratedMassDeviation" : "7.904458081118235 ppm (4.4304423246899205E-4 m/z)", + "relativeIntensity" : 0.05540780141843971, + "mz" : 56.049918656323, + "recalibratedMass" : 56.049918656323, + "peaks" : [ { + "intensity" : 20.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 56.048448506258 + }, { + "intensity" : 45.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 56.049507786248 + }, { + "intensity" : 60.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 56.049918656323 + } ], + "score" : 5.321746919219734, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.09637633526184135, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.43950081343677, + "ClippedPeakIsNoiseScorer" : 1.4786224410448057, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 10, + "molecularFormula" : "C4H6", + "ion" : "[M + H]+", + "massDeviation" : "5.06931156233155 ppm (2.7908844246837816E-4 m/z)", + "recalibratedMassDeviation" : "5.06931156233155 ppm (2.7908844246837816E-4 m/z)", + "relativeIntensity" : 0.011081560283687944, + "mz" : 55.054505732533, + "recalibratedMass" : 55.054505732533, + "peaks" : [ { + "intensity" : 25.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 55.054505732533 + } ], + "score" : 4.593033282124102, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.05881770900781395, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.4494549426746701, + "ClippedPeakIsNoiseScorer" : 0.7023960484572456, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 11, + "molecularFormula" : "C4H4", + "ion" : "[M + H]+", + "massDeviation" : "4.831274574031946 ppm (2.5624516446498546E-4 m/z)", + "recalibratedMassDeviation" : "4.831274574031946 ppm (2.5624516446498546E-4 m/z)", + "relativeIntensity" : 0.013297872340425532, + "mz" : 53.038832825255, + "recalibratedMass" : 53.038832825255, + "peaks" : [ { + "intensity" : 30.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 53.038832825255 + } ], + "score" : 4.698581673364512, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.05376367227418448, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.46961167174745, + "ClippedPeakIsNoiseScorer" : 0.7827336738912465, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + } ], + "losses" : [ { + "source" : 0, + "target" : 1, + "molecularFormula" : "C9H12", + "score" : -3.842403784005459, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.237454809655712, + "LossSizeScorer" : -0.7535640460848674, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.6431164637986884, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.694804625936435, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 1, + "target" : 2, + "molecularFormula" : "H3N", + "score" : 0.023030392061025362, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : -0.11909994533147827, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.28702698696382317, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 0.4175307821975065, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 1, + "target" : 3, + "molecularFormula" : "C2H2", + "score" : 0.0665407853704082, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.7806669298851281, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.9307679038143633, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 0.20501521714082305, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 1, + "target" : 4, + "molecularFormula" : "CO", + "score" : 1.1617927478991255, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.8780805875717457, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.20658508697723843, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 0.4786707051457979, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 2, + "target" : 5, + "molecularFormula" : "C2H2", + "score" : 0.8976677060960859, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.7807331247698537, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.09970717797341114, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 0.20501521714082305, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 1, + "target" : 6, + "molecularFormula" : "C2H2N3", + "score" : -4.4448958742214275, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.6908572967856159, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.1499899942353829, + "Free Radical" : -2.2909585508352253, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.694804625936435, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 3, + "target" : 7, + "molecularFormula" : "C3H5N", + "score" : -1.6790392830886869, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.9646274134986461, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.5889111584221933, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.06638208032396, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 2, + "target" : 8, + "molecularFormula" : "C3HN3", + "score" : -2.3987777545815, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.4105587597292697, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.1261584305331548, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.694804625936435, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 6, + "target" : 9, + "molecularFormula" : "C2H2O", + "score" : -1.1247967985789344, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 1.1055093118884525, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.7382159651225652, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -1.503716687503642, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 6, + "target" : 10, + "molecularFormula" : "CHNO", + "score" : -2.1857060900958376, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 1.1025458594057662, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.605073865723989, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.694804625936435, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 10, + "target" : 11, + "molecularFormula" : "H2", + "score" : -0.60128857920489, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : -13.382452509315037, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.009196414819379358, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 12.778733802770706, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + } ] +} \ No newline at end of file diff --git a/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/trees/C16H25NO2_[M+Na]+.json b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/trees/C16H25NO2_[M+Na]+.json new file mode 100644 index 00000000000..05eef0433f7 --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/trees/C16H25NO2_[M+Na]+.json @@ -0,0 +1,697 @@ +{ + "molecularFormula" : "C16H25NO2", + "root" : "C16H25NO2", + "annotations" : { + "precursorIonType" : "[M + Na]+", + "nodeBoost" : 3.0, + "numberOfUnconsideredCandidates" : 21, + "lowestConsideredCandidateScore" : 31.877358685357798, + "statistics" : { + "explainedIntensity" : 0.8419395465994967, + "explainedIntensityOfExplainablePeaks" : 0.9419915453264445, + "ratioOfExplainedPeaks" : 0.36363636363636365 + } + }, + "fragments" : [ { + "id" : 0, + "molecularFormula" : "C16H25NO2", + "ion" : "[M + Na]+", + "massDeviation" : "4.466968600002982 ppm (0.0012783527324700117 m/z)", + "recalibratedMassDeviation" : "4.466968600002982 ppm (0.0012783527324700117 m/z)", + "relativeIntensity" : 0.13297872340425532, + "mz" : 286.179028092823, + "recalibratedMass" : 286.179028092823, + "peaks" : [ { + "intensity" : 135.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 286.177025513197 + }, { + "intensity" : 105.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 286.178204102612 + }, { + "intensity" : 60.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 286.179738267349 + } ], + "score" : -10.41096124363026, + "scores" : { + "Chemical Prior" : 1.0, + "MS-Isotopes" : 0.0, + "CommonRootLoss" : 0.0, + "Mass Deviation" : -0.4229766195793851, + "CarbohydrogenCompound" : 0.0, + "motif-search" : 0.0, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "BeautificationScorer" : -10.987984624050874, + "ImplicitAdductPeakScore" : 0.0, + "IntrinsicallyChargedScorer" : 0.0, + "StrangeElementRootScorer" : 0.0 + }, + "isotopes" : { + "score" : -9.442097972832672, + "mz" : [ 286.179028092823 ], + "relInt" : [ 1.0 ] + } + }, { + "id" : 1, + "molecularFormula" : "C7H13NO2", + "ion" : "[M + Na]+", + "massDeviation" : "-0.17497076762881145 ppm (-2.905981352796516E-5 m/z)", + "recalibratedMassDeviation" : "-0.17497076762881145 ppm (-2.905981352796516E-5 m/z)", + "relativeIntensity" : 0.03546099290780142, + "mz" : 166.083820296277, + "recalibratedMass" : 166.083820296277, + "peaks" : [ { + "intensity" : 60.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 166.083820296277 + }, { + "intensity" : 20.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 166.087482254599 + } ], + "score" : 4.060834706548679, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.023276392212697998, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.33916179703723004, + "ClippedPeakIsNoiseScorer" : 1.2449493017241469, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 2, + "molecularFormula" : "C7H10O2", + "ion" : "[M + Na]+", + "massDeviation" : "-4.072942292262228 ppm (-6.070993095192989E-4 m/z)", + "recalibratedMassDeviation" : "-4.072942292262228 ppm (-6.070993095192989E-4 m/z)", + "relativeIntensity" : 0.006648936170212766, + "mz" : 149.056693160781, + "recalibratedMass" : 149.056693160781, + "peaks" : [ { + "intensity" : 15.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 149.056693160781 + } ], + "score" : 3.464532934945635, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.10724299999999998, + "Mass Deviation" : -0.13625158697884068, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.5094330683921899, + "ClippedPeakIsNoiseScorer" : 0.4841084535322853, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 3, + "molecularFormula" : "C5H11NO2", + "ion" : "[M + Na]+", + "massDeviation" : "9.93461847232529 ppm (0.0013915379444711107 m/z)", + "recalibratedMassDeviation" : "9.93461847232529 ppm (0.0013915379444711107 m/z)", + "relativeIntensity" : 0.6006205673758865, + "mz" : 140.069590830035, + "recalibratedMass" : 140.069590830035, + "peaks" : [ { + "intensity" : 561.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 140.069590830035 + }, { + "intensity" : 524.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 140.069724401264 + }, { + "intensity" : 270.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 140.072452948764 + } ], + "score" : 6.402992863127164, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.3601836307442136, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.5993040916996499, + "ClippedPeakIsNoiseScorer" : 3.663872402171727, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 4, + "molecularFormula" : "C6H13NO", + "ion" : "[M + Na]+", + "massDeviation" : "-3.3806907097233303 ppm (-4.6683440055517167E-4 m/z)", + "recalibratedMassDeviation" : "-3.3806907097233303 ppm (-4.6683440055517167E-4 m/z)", + "relativeIntensity" : 0.01551418439716312, + "mz" : 138.08846790169, + "recalibratedMass" : 138.08846790169, + "peaks" : [ { + "intensity" : 35.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 138.08846790169 + } ], + "score" : 3.868912909334309, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.1020152756535976, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.6191153209831, + "ClippedPeakIsNoiseScorer" : 0.8518128640048066, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 5, + "molecularFormula" : "C5H8O2", + "ion" : "[M + Na]+", + "massDeviation" : "-3.076517427408221 ppm (-3.78538616544688E-4 m/z)", + "recalibratedMassDeviation" : "-3.076517427408221 ppm (-3.78538616544688E-4 m/z)", + "relativeIntensity" : 0.008865248226950355, + "mz" : 123.041271657474, + "recalibratedMass" : 123.041271657474, + "peaks" : [ { + "intensity" : 20.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 123.041271657474 + } ], + "score" : 3.7941520746311537, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.08132902900476989, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.76958728342526, + "ClippedPeakIsNoiseScorer" : 0.6058938202106641, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 6, + "molecularFormula" : "C5H7NO", + "ion" : "[M + H]+", + "massDeviation" : "-7.763808213061534 ppm (-7.613134355324291E-4 m/z)", + "recalibratedMassDeviation" : "-7.763808213061534 ppm (-7.613134355324291E-4 m/z)", + "relativeIntensity" : 1.0, + "mz" : 98.059278982655, + "recalibratedMass" : 98.059278982655, + "peaks" : [ { + "intensity" : 958.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 98.059278982655 + }, { + "intensity" : 929.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 98.059564237847 + }, { + "intensity" : 369.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 98.060380513671 + } ], + "score" : 14.731016600214899, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.1758735604456145, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.01940721017345, + "ClippedPeakIsNoiseScorer" : 11.387482950487064, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 7, + "molecularFormula" : "C6H10", + "ion" : "[M + Na]+", + "massDeviation" : "-3.2480292487052242 ppm (-3.412611105346741E-4 m/z)", + "recalibratedMassDeviation" : "-3.2480292487052242 ppm (-3.412611105346741E-4 m/z)", + "relativeIntensity" : 0.004432624113475178, + "mz" : 105.06712975898, + "recalibratedMass" : 105.06712975898, + "peaks" : [ { + "intensity" : 10.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 105.06712975898 + } ], + "score" : 3.693314602564298, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.07279373331417366, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.9493287024102, + "ClippedPeakIsNoiseScorer" : 0.31677963346827187, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 8, + "molecularFormula" : "C4H8O", + "ion" : "[M + Na]+", + "massDeviation" : "-17.399712882398013 ppm (-0.001653757134533862 m/z)", + "recalibratedMassDeviation" : "-17.399712882398013 ppm (-0.001653757134533862 m/z)", + "relativeIntensity" : 0.013297872340425532, + "mz" : 95.045081818956, + "recalibratedMass" : 95.045081818956, + "peaks" : [ { + "intensity" : 30.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 95.045081818956 + } ], + "score" : 4.252943985439368, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.4065270000000001, + "Mass Deviation" : -0.4858658702623185, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.0495491818104399, + "ClippedPeakIsNoiseScorer" : 0.7827336738912465, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 9, + "molecularFormula" : "C4H5O", + "ion" : "[M + H]+", + "massDeviation" : "-19.80114297917525 ppm (-0.001386870655537109 m/z)", + "recalibratedMassDeviation" : "-19.80114297917525 ppm (-0.001386870655537109 m/z)", + "relativeIntensity" : 0.013297872340425532, + "mz" : 70.039929361435, + "recalibratedMass" : 70.039929361435, + "peaks" : [ { + "intensity" : 30.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 70.039929361435 + } ], + "score" : 4.399415171244475, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.240653, + "Mass Deviation" : -0.42357220903242193, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.2996007063856498, + "ClippedPeakIsNoiseScorer" : 0.7827336738912465, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 10, + "molecularFormula" : "C3H5N", + "ion" : "[M + H]+", + "massDeviation" : "7.904458081118235 ppm (4.4304423246899205E-4 m/z)", + "recalibratedMassDeviation" : "7.904458081118235 ppm (4.4304423246899205E-4 m/z)", + "relativeIntensity" : 0.05540780141843971, + "mz" : 56.049918656323, + "recalibratedMass" : 56.049918656323, + "peaks" : [ { + "intensity" : 20.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 56.048448506258 + }, { + "intensity" : 45.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 56.049507786248 + }, { + "intensity" : 60.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 56.049918656323 + } ], + "score" : 6.065304036747646, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.04095127529240153, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.43950081343677, + "ClippedPeakIsNoiseScorer" : 1.4786224410448057, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.6881320575584717, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 11, + "molecularFormula" : "C4H6", + "ion" : "[M + H]+", + "massDeviation" : "5.06931156233155 ppm (2.7908844246837816E-4 m/z)", + "recalibratedMassDeviation" : "5.06931156233155 ppm (2.7908844246837816E-4 m/z)", + "relativeIntensity" : 0.011081560283687944, + "mz" : 55.054505732533, + "recalibratedMass" : 55.054505732533, + "peaks" : [ { + "intensity" : 25.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 55.054505732533 + } ], + "score" : 4.593033282124102, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.05881770900781395, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.4494549426746701, + "ClippedPeakIsNoiseScorer" : 0.7023960484572456, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 12, + "molecularFormula" : "C4H4", + "ion" : "[M + H]+", + "massDeviation" : "4.831274574031946 ppm (2.5624516446498546E-4 m/z)", + "recalibratedMassDeviation" : "4.831274574031946 ppm (2.5624516446498546E-4 m/z)", + "relativeIntensity" : 0.013297872340425532, + "mz" : 53.038832825255, + "recalibratedMass" : 53.038832825255, + "peaks" : [ { + "intensity" : 30.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 53.038832825255 + } ], + "score" : 4.752345345638696, + "scores" : { + "TreeSizeScorer" : 2.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : 0.0, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.46961167174745, + "ClippedPeakIsNoiseScorer" : 0.7827336738912465, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + } ], + "losses" : [ { + "source" : 0, + "target" : 1, + "molecularFormula" : "C9H12", + "score" : -3.842403784005459, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.237454809655712, + "LossSizeScorer" : -0.7535640460848674, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.6431164637986884, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.694804625936435, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 1, + "target" : 2, + "molecularFormula" : "H3N", + "score" : 0.023030392061025362, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : -0.11909994533147827, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.28702698696382317, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 0.4175307821975065, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 1, + "target" : 3, + "molecularFormula" : "C2H2", + "score" : 0.0665407853704082, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.7806669298851281, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.9307679038143633, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 0.20501521714082305, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 1, + "target" : 4, + "molecularFormula" : "CO", + "score" : 1.161792747883552, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.8780805875717457, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.20658508699281183, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 0.4786707051457979, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 2, + "target" : 5, + "molecularFormula" : "C2H2", + "score" : 0.897667706102828, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.7807331247698537, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.09970717796666911, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 0.20501521714082305, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 1, + "target" : 6, + "molecularFormula" : "C2H6O", + "score" : -5.084984217961084, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.6908572967856159, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.3839205134302384, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.185674170842775, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : -3.217873372632506, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 2, + "target" : 7, + "molecularFormula" : "CO2", + "score" : -1.358756472987597, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 1.098012017797652, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.11763095215123089, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.3507640807928385, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 5, + "target" : 8, + "molecularFormula" : "CO", + "score" : 0.5692439340323783, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.8781167754652612, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.7991700887375011, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 0.4786707051457979, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 6, + "target" : 9, + "molecularFormula" : "CH2N", + "score" : -4.42257406720739, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.8791160009376071, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.3159268913733358, + "Free Radical" : -2.2909585508352253, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.694804625936435, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 6, + "target" : 10, + "molecularFormula" : "C2H2O", + "score" : -1.1247967985789344, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 1.1055093118884525, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.7382159651225652, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -1.503716687503642, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 6, + "target" : 11, + "molecularFormula" : "CHNO", + "score" : -2.1857060900958376, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 1.1025458594057662, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.605073865723989, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.694804625936435, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 11, + "target" : 12, + "molecularFormula" : "H2", + "score" : -0.60128857920489, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : -13.382452509315037, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.009196414819379358, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 12.778733802770706, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + } ] +} \ No newline at end of file diff --git a/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/trees/C8H25N6O3S_[M+H]+.json b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/trees/C8H25N6O3S_[M+H]+.json new file mode 100644 index 00000000000..964bbb6e878 --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/trees/C8H25N6O3S_[M+H]+.json @@ -0,0 +1,856 @@ +{ + "molecularFormula" : "C8H25N6O3S", + "root" : "C8H25N6O3S", + "annotations" : { + "precursorIonType" : "[M + H]+", + "nodeBoost" : 2.0, + "numberOfUnconsideredCandidates" : 21, + "lowestConsideredCandidateScore" : 31.877358685357798, + "statistics" : { + "explainedIntensity" : 0.8660789252728803, + "explainedIntensityOfExplainablePeaks" : 0.9487238445619685, + "ratioOfExplainedPeaks" : 0.45454545454545453 + }, + "recalibration" : { + "separate" : [ "none", "1.0x", "1.0x" ], + "merged" : "0.9999928746179206x + 1.1733926470469669E-4" + } + }, + "fragments" : [ { + "id" : 0, + "molecularFormula" : "C8H25N6O3S", + "ion" : "[M + H]+", + "massDeviation" : "3.029504776342838 ppm (8.669807324963585E-4 m/z)", + "recalibratedMassDeviation" : "3.029504776342838 ppm (8.669807324963585E-4 m/z)", + "relativeIntensity" : 0.13297872340425532, + "mz" : 286.179028092823, + "recalibratedMass" : 286.179028092823, + "peaks" : [ { + "intensity" : 135.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 286.177025513197 + }, { + "intensity" : 105.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 286.178204102612 + }, { + "intensity" : 60.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 286.179738267349 + } ], + "score" : -2.338023982882643, + "scores" : { + "Chemical Prior" : -0.45668233238088446, + "MS-Isotopes" : 0.0, + "CommonRootLoss" : 0.0, + "Mass Deviation" : -0.2719037380676583, + "CarbohydrogenCompound" : 0.0, + "motif-search" : 0.0, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "BeautificationScorer" : -0.0, + "ImplicitAdductPeakScore" : 0.0, + "IntrinsicallyChargedScorer" : 0.0, + "StrangeElementRootScorer" : -1.6094379124341003 + }, + "isotopes" : { + "score" : -9.21894374511125, + "mz" : [ 286.179028092823 ], + "relInt" : [ 1.0 ] + } + }, { + "id" : 1, + "molecularFormula" : "C6H14N2O2S", + "ion" : "[M + H]+", + "massDeviation" : "8.254886437495532 ppm (0.0014783375104627794 m/z)", + "recalibratedMassDeviation" : "8.254886437495532 ppm (0.0014783375104627794 m/z)", + "relativeIntensity" : 0.013297872340425532, + "mz" : 179.086353477601, + "recalibratedMass" : 179.086353477601, + "peaks" : [ { + "intensity" : 30.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 179.086353477601 + } ], + "score" : 1.6979280247344417, + "scores" : { + "TreeSizeScorer" : 1.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.3884769062726252, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.20913646522399, + "ClippedPeakIsNoiseScorer" : 0.7827336738912465, + "StrangeElementFragmentScorer" : -0.4054652081081694, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 2, + "molecularFormula" : "C7H9N4O", + "ion" : "[M + H]+", + "massDeviation" : "-6.575377490608041 ppm (-0.0010920638135303307 m/z)", + "recalibratedMassDeviation" : "-6.575377490608041 ppm (-0.0010920638135303307 m/z)", + "relativeIntensity" : 0.03546099290780142, + "mz" : 166.083820296277, + "recalibratedMass" : 166.083820296277, + "peaks" : [ { + "intensity" : 60.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 166.083820296277 + }, { + "intensity" : 20.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 166.087482254599 + } ], + "score" : 2.8160769925131928, + "scores" : { + "TreeSizeScorer" : 1.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.26803410624818425, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.33916179703723004, + "ClippedPeakIsNoiseScorer" : 1.2449493017241469, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 3, + "molecularFormula" : "C7H6N3O", + "ion" : "[M + H]+", + "massDeviation" : "-11.204483838375484 ppm (-0.0016701033095216644 m/z)", + "recalibratedMassDeviation" : "-11.204483838375484 ppm (-0.0016701033095216644 m/z)", + "relativeIntensity" : 0.006648936170212766, + "mz" : 149.056693160781, + "recalibratedMass" : 149.056693160781, + "peaks" : [ { + "intensity" : 15.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 149.056693160781 + } ], + "score" : 2.039985808092882, + "scores" : { + "TreeSizeScorer" : 1.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.4535557138315937, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.5094330683921899, + "ClippedPeakIsNoiseScorer" : 0.4841084535322853, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 4, + "molecularFormula" : "C5H7N4O", + "ion" : "[M + H]+", + "massDeviation" : "2.3455051344256366 ppm (3.285339444687452E-4 m/z)", + "recalibratedMassDeviation" : "2.3455051344256366 ppm (3.285339444687452E-4 m/z)", + "relativeIntensity" : 0.6006205673758865, + "mz" : 140.069590830035, + "recalibratedMass" : 140.069590830035, + "peaks" : [ { + "intensity" : 561.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 140.069590830035 + }, { + "intensity" : 524.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 140.069724401264 + }, { + "intensity" : 270.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 140.072452948764 + } ], + "score" : 5.693270086004846, + "scores" : { + "TreeSizeScorer" : 1.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.06990640786653102, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.5993040916996499, + "ClippedPeakIsNoiseScorer" : 3.663872402171727, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 5, + "molecularFormula" : "C6H9N4", + "ion" : "[M + H]+", + "massDeviation" : "-11.07868328018717 ppm (-0.0015298384005291155 m/z)", + "recalibratedMassDeviation" : "-11.07868328018717 ppm (-0.0015298384005291155 m/z)", + "relativeIntensity" : 0.01551418439716312, + "mz" : 138.08846790169, + "recalibratedMass" : 138.08846790169, + "peaks" : [ { + "intensity" : 35.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 138.08846790169 + } ], + "score" : 2.5653226746126956, + "scores" : { + "TreeSizeScorer" : 1.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.4056055103752111, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.6191153209831, + "ClippedPeakIsNoiseScorer" : 0.8518128640048066, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 6, + "molecularFormula" : "C4H10O2S", + "ion" : "[M + H]+", + "massDeviation" : "6.990302094680382 ppm (8.601446994589423E-4 m/z)", + "recalibratedMassDeviation" : "0.8185284647313631 ppm (1.0071790396182223E-4 m/z)", + "relativeIntensity" : 0.022163120567375887, + "mz" : 123.04828715679, + "recalibratedMass" : 123.0475277299945, + "peaks" : [ { + "intensity" : 30.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 123.04828715679 + }, { + "intensity" : 20.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 123.051095128888 + } ], + "score" : 2.8598227490784294, + "scores" : { + "TreeSizeScorer" : 1.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.020496240759608746, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.7695171284321001, + "ClippedPeakIsNoiseScorer" : 1.0162670695141076, + "StrangeElementFragmentScorer" : -0.4054652081081694, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 7, + "molecularFormula" : "C5H4N3O", + "ion" : "[M + H]+", + "massDeviation" : "-11.715927486070303 ppm (-0.0014415426165328427 m/z)", + "recalibratedMassDeviation" : "-11.715927486070303 ppm (-0.0014415426165328427 m/z)", + "relativeIntensity" : 0.008865248226950355, + "mz" : 123.041271657474, + "recalibratedMass" : 123.041271657474, + "peaks" : [ { + "intensity" : 20.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 123.041271657474 + } ], + "score" : 2.4990858320912257, + "scores" : { + "TreeSizeScorer" : 1.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.3763952715446977, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.76958728342526, + "ClippedPeakIsNoiseScorer" : 0.6058938202106641, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 8, + "molecularFormula" : "C3H8N2O2", + "ion" : "[M + H]+", + "massDeviation" : "12.142816620135408 ppm (0.001275810889467266 m/z)", + "recalibratedMassDeviation" : "12.142816620135408 ppm (0.001275810889467266 m/z)", + "relativeIntensity" : 0.004432624113475178, + "mz" : 105.06712975898, + "recalibratedMass" : 105.06712975898, + "peaks" : [ { + "intensity" : 10.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 105.06712975898 + } ], + "score" : 2.4425328620394944, + "scores" : { + "TreeSizeScorer" : 1.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.3235754738389774, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.9493287024102, + "ClippedPeakIsNoiseScorer" : 0.31677963346827187, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 9, + "molecularFormula" : "C3H5N4", + "ion" : "[M + H]+", + "massDeviation" : "5.928766461543392 ppm (5.813705644754918E-4 m/z)", + "recalibratedMassDeviation" : "5.928766461543392 ppm (5.813705644754918E-4 m/z)", + "relativeIntensity" : 1.0, + "mz" : 98.059278982655, + "recalibratedMass" : 98.059278982655, + "peaks" : [ { + "intensity" : 958.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 98.059278982655 + }, { + "intensity" : 929.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 98.059564237847 + }, { + "intensity" : 369.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 98.060380513671 + } ], + "score" : 13.777046055266409, + "scores" : { + "TreeSizeScorer" : 1.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.12984410539410465, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.01940721017345, + "ClippedPeakIsNoiseScorer" : 11.387482950487064, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 10, + "molecularFormula" : "C2H2N3O", + "ion" : "[M + H]+", + "massDeviation" : "15.85434580447312 ppm (0.0013480698344636721 m/z)", + "recalibratedMassDeviation" : "15.85434580447312 ppm (0.0013480698344636721 m/z)", + "relativeIntensity" : 0.01551418439716312, + "mz" : 85.028411205925, + "recalibratedMass" : 85.028411205925, + "peaks" : [ { + "intensity" : 35.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 85.028411205925 + } ], + "score" : 3.1552441929665527, + "scores" : { + "TreeSizeScorer" : 1.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.3462845589790036, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.14971588794075, + "ClippedPeakIsNoiseScorer" : 0.8518128640048066, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 11, + "molecularFormula" : "C2H8OS", + "ion" : "[M + H]+", + "massDeviation" : "-7.542590818416575 ppm (-6.112232835420173E-4 m/z)", + "recalibratedMassDeviation" : "-7.542590818416575 ppm (-6.112232835420173E-4 m/z)", + "relativeIntensity" : 0.013297872340425532, + "mz" : 81.036251104807, + "recalibratedMass" : 81.036251104807, + "peaks" : [ { + "intensity" : 30.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 81.036251104807 + } ], + "score" : 3.3350871800866555, + "scores" : { + "TreeSizeScorer" : 1.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.13728398275652057, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.18963748895193, + "ClippedPeakIsNoiseScorer" : 0.7827336738912465, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 12, + "molecularFormula" : "C4H5O", + "ion" : "[M + H]+", + "massDeviation" : "-19.80114297917525 ppm (-0.001386870655537109 m/z)", + "recalibratedMassDeviation" : "-19.80114297917525 ppm (-0.001386870655537109 m/z)", + "relativeIntensity" : 0.013297872340425532, + "mz" : 70.039929361435, + "recalibratedMass" : 70.039929361435, + "peaks" : [ { + "intensity" : 30.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 70.039929361435 + } ], + "score" : 3.464304735749953, + "scores" : { + "TreeSizeScorer" : 1.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.240653, + "Mass Deviation" : -0.3586826445269436, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.2996007063856498, + "ClippedPeakIsNoiseScorer" : 0.7827336738912465, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 13, + "molecularFormula" : "C3H5N", + "ion" : "[M + H]+", + "massDeviation" : "7.904458081118235 ppm (4.4304423246899205E-4 m/z)", + "recalibratedMassDeviation" : "7.904458081118235 ppm (4.4304423246899205E-4 m/z)", + "relativeIntensity" : 0.05540780141843971, + "mz" : 56.049918656323, + "recalibratedMass" : 56.049918656323, + "peaks" : [ { + "intensity" : 20.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 56.048448506258 + }, { + "intensity" : 45.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 56.049507786248 + }, { + "intensity" : 60.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 56.049918656323 + } ], + "score" : 4.321746919219734, + "scores" : { + "TreeSizeScorer" : 1.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.09637633526184135, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.43950081343677, + "ClippedPeakIsNoiseScorer" : 1.4786224410448057, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 14, + "molecularFormula" : "C4H6", + "ion" : "[M + H]+", + "massDeviation" : "5.06931156233155 ppm (2.7908844246837816E-4 m/z)", + "recalibratedMassDeviation" : "5.06931156233155 ppm (2.7908844246837816E-4 m/z)", + "relativeIntensity" : 0.011081560283687944, + "mz" : 55.054505732533, + "recalibratedMass" : 55.054505732533, + "peaks" : [ { + "intensity" : 25.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 55.054505732533 + } ], + "score" : 3.5930332821241016, + "scores" : { + "TreeSizeScorer" : 1.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.05881770900781395, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.4494549426746701, + "ClippedPeakIsNoiseScorer" : 0.7023960484572456, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 15, + "molecularFormula" : "C4H4", + "ion" : "[M + H]+", + "massDeviation" : "4.831274574031946 ppm (2.5624516446498546E-4 m/z)", + "recalibratedMassDeviation" : "4.831274574031946 ppm (2.5624516446498546E-4 m/z)", + "relativeIntensity" : 0.013297872340425532, + "mz" : 53.038832825255, + "recalibratedMass" : 53.038832825255, + "peaks" : [ { + "intensity" : 30.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 53.038832825255 + } ], + "score" : 3.698581673364512, + "scores" : { + "TreeSizeScorer" : 1.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.05376367227418448, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.46961167174745, + "ClippedPeakIsNoiseScorer" : 0.7827336738912465, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + } ], + "losses" : [ { + "source" : 0, + "target" : 1, + "molecularFormula" : "C2H11N4O", + "score" : -4.443687472416394, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : -0.37915919272349274, + "Loss RDBE" : -1.0986122886681098, + "Mass Deviation" : -0.28273790724717707, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.694804625936435, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 0, + "target" : 2, + "molecularFormula" : "CH16N2O2S", + "score" : -7.569769338128809, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : -0.7535640460848674, + "Loss RDBE" : -2.995732273553991, + "Mass Deviation" : -1.1372949347123367, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.694804625936435, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 2, + "target" : 3, + "molecularFormula" : "H3N", + "score" : 0.023030392061025362, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : -0.11909994533147827, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.28702698696382317, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 0.4175307821975065, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 2, + "target" : 4, + "molecularFormula" : "C2H2", + "score" : 0.0665407853704082, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.7806669298851281, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.9307679038143633, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 0.20501521714082305, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 2, + "target" : 5, + "molecularFormula" : "CO", + "score" : 1.1617927478991255, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.8780805875717457, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.20658508697723843, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 0.4786707051457979, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 1, + "target" : 6, + "molecularFormula" : "C2H4N2", + "score" : -2.0475786125455544, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.9469920628068724, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.3113925915748117, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.694804625936435, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 3, + "target" : 7, + "molecularFormula" : "C2H2", + "score" : 0.8976677060960859, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.7807331247698537, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.09970717797341114, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 0.20501521714082305, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 1, + "target" : 8, + "molecularFormula" : "C3H6S", + "score" : -1.4472441793078359, + "scores" : { + "StrangeElementLossScorer" : 0.6931471805599453, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.5416475046673179, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.08747139406644583, + "Free Radical" : -0.09373397349900595, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.5008334969696473, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 4, + "target" : 9, + "molecularFormula" : "C2H2O", + "score" : -0.4979081454781588, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 1.1055072936737664, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.11132529380710361, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -1.503716687503642, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 4, + "target" : 10, + "molecularFormula" : "C3H5N", + "score" : -1.6790392830886869, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.9646274134986461, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.5889111584221933, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.06638208032396, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 6, + "target" : 11, + "molecularFormula" : "C2H2O", + "score" : -1.3654051395471214, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 1.1055036324995529, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.9788186267018525, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -1.503716687503642, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 3, + "target" : 12, + "molecularFormula" : "C3HN3", + "score" : -2.3987777545815, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.4105587597292697, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.1261584305331548, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.694804625936435, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 8, + "target" : 13, + "molecularFormula" : "H3NO2", + "score" : -2.081460959614616, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 1.0536804372021136, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.4519633130391151, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.694804625936435, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 1, + "target" : 14, + "molecularFormula" : "C2H8N2O2S", + "score" : -4.098610390413211, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : -0.8665260319038497, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.5489062747317462, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.694804625936435, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 14, + "target" : 15, + "molecularFormula" : "H2", + "score" : -0.60128857920489, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : -13.382452509315037, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.009196414819379358, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 12.778733802770706, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + } ] +} \ No newline at end of file diff --git a/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/trees/C9H26N4O4P_[M+H]+.json b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/trees/C9H26N4O4P_[M+H]+.json new file mode 100644 index 00000000000..5c2cc02d723 --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/trees/C9H26N4O4P_[M+H]+.json @@ -0,0 +1,801 @@ +{ + "molecularFormula" : "C9H26N4O4P", + "root" : "C9H26N4O4P", + "annotations" : { + "precursorIonType" : "[M + H]+", + "nodeBoost" : 2.0, + "numberOfUnconsideredCandidates" : 21, + "lowestConsideredCandidateScore" : 31.877358685357798, + "statistics" : { + "explainedIntensity" : 0.8555835432409744, + "explainedIntensityOfExplainablePeaks" : 0.957256928135275, + "ratioOfExplainedPeaks" : 0.42424242424242425 + }, + "recalibration" : { + "separate" : [ "none", "1.0x", "1.0x" ], + "merged" : "0.9999895514636724x + 2.979330070829178E-4" + } + }, + "fragments" : [ { + "id" : 0, + "molecularFormula" : "C9H26N4O4P", + "ion" : "[M + H]+", + "massDeviation" : "9.031754526785704 ppm (0.002584698732448487 m/z)", + "recalibratedMassDeviation" : "9.031754526785704 ppm (0.002584698732448487 m/z)", + "relativeIntensity" : 0.13297872340425532, + "mz" : 286.179028092823, + "recalibratedMass" : 286.179028092823, + "peaks" : [ { + "intensity" : 135.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 286.177025513197 + }, { + "intensity" : 105.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 286.178204102612 + }, { + "intensity" : 60.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 286.179738267349 + } ], + "score" : -1.842569760670251, + "scores" : { + "Chemical Prior" : 0.7708083266399447, + "MS-Isotopes" : 0.0, + "CommonRootLoss" : 0.0, + "Mass Deviation" : -1.003940174876095, + "CarbohydrogenCompound" : 0.0, + "motif-search" : 0.0, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "BeautificationScorer" : -0.0, + "ImplicitAdductPeakScore" : 0.0, + "IntrinsicallyChargedScorer" : 0.0, + "StrangeElementRootScorer" : -1.6094379124341003 + }, + "isotopes" : { + "score" : -6.841189376295789, + "mz" : [ 286.179028092823 ], + "relInt" : [ 1.0 ] + } + }, { + "id" : 1, + "molecularFormula" : "C4H11N3O4", + "ion" : "[M + H]+", + "massDeviation" : "9.561510468791653 ppm (0.001588012186459764 m/z)", + "recalibratedMassDeviation" : "9.561510468791653 ppm (0.001588012186459764 m/z)", + "relativeIntensity" : 0.03546099290780142, + "mz" : 166.083820296277, + "recalibratedMass" : 166.083820296277, + "peaks" : [ { + "intensity" : 60.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 166.083820296277 + }, { + "intensity" : 20.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 166.087482254599 + } ], + "score" : 2.6588501040804307, + "scores" : { + "TreeSizeScorer" : 1.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.425260994680946, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.33916179703723004, + "ClippedPeakIsNoiseScorer" : 1.2449493017241469, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 2, + "molecularFormula" : "C4H8N2O4", + "ion" : "[M + H]+", + "massDeviation" : "6.775762087912526 ppm (0.0010099726904684303 m/z)", + "recalibratedMassDeviation" : "6.775762087912526 ppm (0.0010099726904684303 m/z)", + "relativeIntensity" : 0.006648936170212766, + "mz" : 149.056693160781, + "recalibratedMass" : 149.056693160781, + "peaks" : [ { + "intensity" : 15.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 149.056693160781 + } ], + "score" : 2.2493097788182097, + "scores" : { + "TreeSizeScorer" : 1.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.24423174310626591, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.5094330683921899, + "ClippedPeakIsNoiseScorer" : 0.4841084535322853, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 3, + "molecularFormula" : "C3H12N2O2P", + "ion" : "[M + H]+", + "massDeviation" : "-9.45869869182439 ppm (-0.0013248760555484296 m/z)", + "recalibratedMassDeviation" : "-9.45869869182439 ppm (-0.0013248760555484296 m/z)", + "relativeIntensity" : 0.6006205673758865, + "mz" : 140.069590830035, + "recalibratedMass" : 140.069590830035, + "peaks" : [ { + "intensity" : 561.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 140.069590830035 + }, { + "intensity" : 524.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 140.069724401264 + }, { + "intensity" : 270.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 140.072452948764 + } ], + "score" : 6.014648676613856, + "scores" : { + "TreeSizeScorer" : 1.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.33894159587285166, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.5993040916996499, + "ClippedPeakIsNoiseScorer" : 3.663872402171727, + "StrangeElementFragmentScorer" : -0.4054652081081694, + "CommonRootLoss" : 0.9958789867234998, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 4, + "molecularFormula" : "C3H11N3O3", + "ion" : "[M + H]+", + "massDeviation" : "8.329715123495133 ppm (0.0011502375994609793 m/z)", + "recalibratedMassDeviation" : "8.329715123495133 ppm (0.0011502375994609793 m/z)", + "relativeIntensity" : 0.01551418439716312, + "mz" : 138.08846790169, + "recalibratedMass" : 138.08846790169, + "peaks" : [ { + "intensity" : 35.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 138.08846790169 + } ], + "score" : 2.685650061451246, + "scores" : { + "TreeSizeScorer" : 1.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.28527812353666043, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.6191153209831, + "ClippedPeakIsNoiseScorer" : 0.8518128640048066, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 5, + "molecularFormula" : "C2H6N2O4", + "ion" : "[M + H]+", + "massDeviation" : "10.065999536359788 ppm (0.001238533383457252 m/z)", + "recalibratedMassDeviation" : "10.065999536359788 ppm (0.001238533383457252 m/z)", + "relativeIntensity" : 0.008865248226950355, + "mz" : 123.041271657474, + "recalibratedMass" : 123.041271657474, + "peaks" : [ { + "intensity" : 20.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 123.041271657474 + } ], + "score" : 2.563428586242395, + "scores" : { + "TreeSizeScorer" : 1.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.3120525173935285, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.76958728342526, + "ClippedPeakIsNoiseScorer" : 0.6058938202106641, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 6, + "molecularFormula" : "C3H8N2O2", + "ion" : "[M + H]+", + "massDeviation" : "12.142816620135408 ppm (0.001275810889467266 m/z)", + "recalibratedMassDeviation" : "12.142816620135408 ppm (0.001275810889467266 m/z)", + "relativeIntensity" : 0.004432624113475178, + "mz" : 105.06712975898, + "recalibratedMass" : 105.06712975898, + "peaks" : [ { + "intensity" : 10.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 105.06712975898 + } ], + "score" : 2.4425328620394944, + "scores" : { + "TreeSizeScorer" : 1.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.3235754738389774, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.9493287024102, + "ClippedPeakIsNoiseScorer" : 0.31677963346827187, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 7, + "molecularFormula" : "CH10N2OP", + "ion" : "[M + H]+", + "massDeviation" : "-10.932564940816029 ppm (-0.001072039435527472 m/z)", + "recalibratedMassDeviation" : "-10.932564940816029 ppm (-0.001072039435527472 m/z)", + "relativeIntensity" : 1.0, + "mz" : 98.059278982655, + "recalibratedMass" : 98.059278982655, + "peaks" : [ { + "intensity" : 958.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 98.059278982655 + }, { + "intensity" : 929.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 98.059564237847 + }, { + "intensity" : 369.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 98.060380513671 + } ], + "score" : 13.64471931883449, + "scores" : { + "TreeSizeScorer" : 1.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.2621708418260225, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.01940721017345, + "ClippedPeakIsNoiseScorer" : 11.387482950487064, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 8, + "molecularFormula" : "CH6N2O3", + "ion" : "[M + H]+", + "massDeviation" : "-0.3859761476327683 ppm (-3.6685134531921904E-5 m/z)", + "recalibratedMassDeviation" : "-0.3859761476327683 ppm (-3.6685134531921904E-5 m/z)", + "relativeIntensity" : 0.013297872340425532, + "mz" : 95.045081818956, + "recalibratedMass" : 95.045081818956, + "peaks" : [ { + "intensity" : 30.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 95.045081818956 + } ], + "score" : 3.324911570594359, + "scores" : { + "TreeSizeScorer" : 1.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.007371285107327513, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.0495491818104399, + "ClippedPeakIsNoiseScorer" : 0.7827336738912465, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 9, + "molecularFormula" : "H7NO2P", + "ion" : "[M + H]+", + "massDeviation" : "-3.5910369394037893 ppm (-3.053401655392918E-4 m/z)", + "recalibratedMassDeviation" : "-3.5910369394037893 ppm (-3.053401655392918E-4 m/z)", + "relativeIntensity" : 0.01551418439716312, + "mz" : 85.028411205925, + "recalibratedMass" : 85.028411205925, + "peaks" : [ { + "intensity" : 35.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 85.028411205925 + } ], + "score" : 3.436849242901471, + "scores" : { + "TreeSizeScorer" : 1.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.06467950904408526, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.14971588794075, + "ClippedPeakIsNoiseScorer" : 0.8518128640048066, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 10, + "molecularFormula" : "C2H8NO2", + "ion" : "[M + H]+", + "massDeviation" : "12.947992014139288 ppm (0.001023717498469523 m/z)", + "recalibratedMassDeviation" : "12.947992014139288 ppm (0.001023717498469523 m/z)", + "relativeIntensity" : 0.013297872340425532, + "mz" : 79.063803665589, + "recalibratedMass" : 79.063803665589, + "peaks" : [ { + "intensity" : 30.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 79.063803665589 + } ], + "score" : 3.2439217282071207, + "scores" : { + "TreeSizeScorer" : 1.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.2481739090282355, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.20936196334411, + "ClippedPeakIsNoiseScorer" : 0.7827336738912465, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 11, + "molecularFormula" : "C3H5N", + "ion" : "[M + H]+", + "massDeviation" : "7.904458081118235 ppm (4.4304423246899205E-4 m/z)", + "recalibratedMassDeviation" : "7.904458081118235 ppm (4.4304423246899205E-4 m/z)", + "relativeIntensity" : 0.05540780141843971, + "mz" : 56.049918656323, + "recalibratedMass" : 56.049918656323, + "peaks" : [ { + "intensity" : 20.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 56.048448506258 + }, { + "intensity" : 45.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 56.049507786248 + }, { + "intensity" : 60.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 56.049918656323 + } ], + "score" : 4.321746919219734, + "scores" : { + "TreeSizeScorer" : 1.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.09637633526184135, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.43950081343677, + "ClippedPeakIsNoiseScorer" : 1.4786224410448057, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 12, + "molecularFormula" : "C4H6", + "ion" : "[M + H]+", + "massDeviation" : "5.06931156233155 ppm (2.7908844246837816E-4 m/z)", + "recalibratedMassDeviation" : "5.06931156233155 ppm (2.7908844246837816E-4 m/z)", + "relativeIntensity" : 0.011081560283687944, + "mz" : 55.054505732533, + "recalibratedMass" : 55.054505732533, + "peaks" : [ { + "intensity" : 25.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 55.054505732533 + } ], + "score" : 3.5930332821241016, + "scores" : { + "TreeSizeScorer" : 1.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.05881770900781395, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.4494549426746701, + "ClippedPeakIsNoiseScorer" : 0.7023960484572456, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 13, + "molecularFormula" : "H6NO2", + "ion" : "[M + H]+", + "massDeviation" : "-36.264929297489886 ppm (-0.0019236806525384509 m/z)", + "recalibratedMassDeviation" : "-36.264929297489886 ppm (-0.0019236806525384509 m/z)", + "relativeIntensity" : 0.013297872340425532, + "mz" : 53.045206203438, + "recalibratedMass" : 53.045206203438, + "peaks" : [ { + "intensity" : 30.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 53.045206203438 + } ], + "score" : 3.207152696243114, + "scores" : { + "TreeSizeScorer" : 1.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.5451289156137523, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.46954793796562, + "ClippedPeakIsNoiseScorer" : 0.7827336738912465, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 14, + "molecularFormula" : "C4H4", + "ion" : "[M + H]+", + "massDeviation" : "4.831274574031946 ppm (2.5624516446498546E-4 m/z)", + "recalibratedMassDeviation" : "4.831274574031946 ppm (2.5624516446498546E-4 m/z)", + "relativeIntensity" : 0.013297872340425532, + "mz" : 53.038832825255, + "recalibratedMass" : 53.038832825255, + "peaks" : [ { + "intensity" : 30.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 53.038832825255 + } ], + "score" : 3.698581673364512, + "scores" : { + "TreeSizeScorer" : 1.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.05376367227418448, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.46961167174745, + "ClippedPeakIsNoiseScorer" : 0.7827336738912465, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + } ], + "losses" : [ { + "source" : 0, + "target" : 1, + "molecularFormula" : "C5H15NP", + "score" : -6.371626722486521, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : -0.7535640460848674, + "Loss RDBE" : -1.0986122886681098, + "Mass Deviation" : -0.4499779428360395, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.694804625936435, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : -1.3862943611198906, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 1, + "target" : 2, + "molecularFormula" : "H3N", + "score" : 0.023030392061025362, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : -0.11909994533147827, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.28702698696382317, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 0.4175307821975065, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 0, + "target" : 3, + "molecularFormula" : "C6H14N2O2", + "score" : -5.132692885300438, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : -1.4916638350114937, + "Loss RDBE" : 0.0, + "Mass Deviation" : -2.449405677363344, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -1.2032499150844207, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 1, + "target" : 4, + "molecularFormula" : "CO", + "score" : 1.1617927478991255, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.8780805875717457, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.20658508697723843, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 0.4786707051457979, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 2, + "target" : 5, + "molecularFormula" : "C2H2", + "score" : 0.8976677060960859, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.7807331247698537, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.09970717797341114, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 0.20501521714082305, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 2, + "target" : 6, + "molecularFormula" : "CO2", + "score" : -1.358756472994521, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 1.098012017797652, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.11763095215815493, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.3507640807928385, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 3, + "target" : 7, + "molecularFormula" : "C2H2O", + "score" : -0.49790814548501916, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 1.1055072936737664, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.11132529381396397, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -1.503716687503642, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 5, + "target" : 8, + "molecularFormula" : "CO", + "score" : 0.5692439340323783, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.8781167754652612, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.7991700887375011, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 0.4786707051457979, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 3, + "target" : 9, + "molecularFormula" : "C3H5N", + "score" : -1.679039283099635, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.9646274134986461, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.5889111584331415, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.06638208032396, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 4, + "target" : 10, + "molecularFormula" : "CH3N2O", + "score" : -4.148649986277192, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.8901712362287642, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.05305804573429617, + "Free Radical" : -2.2909585508352253, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.694804625936435, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 6, + "target" : 11, + "molecularFormula" : "H3NO2", + "score" : -2.081460959614616, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 1.0536804372021136, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.4519633130391151, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.694804625936435, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 2, + "target" : 12, + "molecularFormula" : "H2N2O4", + "score" : -3.0704801601857046, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : -0.004281670877276156, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.38302040553081346, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.694804625936435, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 10, + "target" : 13, + "molecularFormula" : "C2H2", + "score" : -1.8740323357008308, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.7809094410052824, + "Loss RDBE" : 0.0, + "Mass Deviation" : -2.8715835360057564, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 0.20501521714082305, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 12, + "target" : 14, + "molecularFormula" : "H2", + "score" : -0.60128857920489, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : -13.382452509315037, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.009196414819379358, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 12.778733802770706, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + } ] +} \ No newline at end of file diff --git a/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/2_SiriusExport_2_output_0_5053681185761206615-676004--121--Myclobutanil/compound.config b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/2_SiriusExport_2_output_0_5053681185761206615-676004--121--Myclobutanil/compound.config new file mode 100644 index 00000000000..7f8f23a49b3 --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/2_SiriusExport_2_output_0_5053681185761206615-676004--121--Myclobutanil/compound.config @@ -0,0 +1,199 @@ +# Allows the USER to Specify the ScoreType that is used to rank the list of Molecular Formula +# Identifications +# before CSI:FingerID predictions are calculated. Auto means that this ScoreType is +# automatically set depending on the executed workflow. +FormulaResultRankingScore=AUTO +PrintCitations=True +RecomputeResults=False +# Maximum number of candidate molecular formulas (fragmentation trees computed by SIRIUS) +# per compound which are considered by ZODIAC. +# This is the threshold used for all compounds with mz below 300 m/z and is used to interpolate the +# number of candidates for larger compounds. +# If lower than 0, all available candidates are considered. +ZodiacNumberOfConsideredCandidatesAt300Mz=10 +# As default ZODIAC runs a 2-step approach. First running 'good quality compounds' only, and +# afterwards including the remaining. +ZodiacRunInTwoSteps=true +# Ratio of candidate molecular formulas (fragmentation trees computed by SIRIUS) per +# compound which are forced for each ionization to be considered by ZODIAC. +# This depends on the number of candidates ZODIAC considers. E.g. if 50 candidates are +# considered and a ratio of 0.2 is set, at least 10 candidates per ionization will be +# considered, which might increase the number of candidates above 50. +ZodiacRatioOfConsideredCandidatesPerIonization=0.2 +# cluster compounds before running ZODIAC +ZodiacClusterCompounds=false +# Maximum number of candidate molecular formulas (fragmentation trees computed by SIRIUS) +# per compound which are considered by ZODIAC. +# This is the threshold used for all compounds with mz above 800 m/z and is used to interpolate the +# number of candidates for smaller compounds. +# If lower than 0, all available candidates are considered. +ZodiacNumberOfConsideredCandidatesAt800Mz=50 +MotifDbFile=none +StructurePredictors=CSI_FINGERID +# Candidates matching the lipid class estimated by El Gordo will be tagged. +# The lipid class will only be available if El Gordo predicts that the MS/MS is a lipid spectrum. +# If this parameter is set to 'false' El Gordo will still be executed and e.g. improve the +# fragmentation +# tree, but the matching candidates will not be tagged as lipid class. +InjectElGordoCompounds=True +NumberOfStructureCandidates=10000 +FormulaSearchDB=none +StructureSearchDB=BIO +# Specifies if the list of Molecular Formula Identifications is filtered by a soft threshold +# (calculateThreshold) before CSI:FingerID predictions are calculated. +FormulaResultThreshold=true +MedianNoiseIntensity=0.015 +# This configuration holds a set of user given formulas to be used as candidates for SIRIUS +# Note: This set might be merged with other sources like formulas from databases +# Set of Molecular Formulas to be used as candidates for molecular formula estimation with +# SIRIUS +CandidateFormulas=, +# Keywords that can be assigned to a input spectrum to judge its quality. Available keywords +# are: Good, LowIntensity, NoMS1Peak, FewPeaks, Chimeric, NotMonoisotopicPeak, +# PoorlyExplained +CompoundQuality=UNKNOWN +# An adduct switch is a switch of the ionization mode within a spectrum, e.g. an ion replaces an +# sodium adduct +# with a protonation during fragmentation. Such adduct switches heavily increase the +# complexity of the +# analysis, but for certain adducts they might happen regularly. Adduct switches are written +# in the +# form {@literal a -> b, a -> c, d -> c} where a, b, c, and d are adducts and {@literal a -> b} denotes an +# allowed switch from +# a to b within the MS/MS spectrum. +PossibleAdductSwitches=[M+Na]+:[M+H]+,[M+K]+:[M+H]+,[M+Cl]-:[M-H]- +IsotopeMs2Settings=IGNORE +# use this parameter if you want to force to report at least +# numberOfResultsToKeepPerIonization results per ionization. +# if le 0, this parameter will have no effect and just the top +# numberOfResultsToKeep results will be reported. +NumberOfCandidatesPerIon=1 +# Enable/Disable the hypothesen driven recalibration of MS/MS spectra +# Must be either 'ALLOWED' or FORBIDDEN' +ForbidRecalibration=ALLOWED +NumberOfCandidates=10 +# Configuration profile to store instrument specific algorithm properties. +# Some of the default profiles are: 'qtof', 'orbitrap', 'fticr'. +AlgorithmProfile=default +NoiseThresholdSettings.intensityThreshold = 0.005 +NoiseThresholdSettings.maximalNumberOfPeaks = 60 +NoiseThresholdSettings.basePeak = NOT_PRECURSOR +NoiseThresholdSettings.absoluteThreshold = 0 + +# Mass accuracy setting for MS1 spectra. Mass accuracies are always written as "X ppm (Y Da)" +# with X and Y +# are numerical values. The ppm is a relative measure (parts per million), Da is an absolute +# measure. For each mass, the +# maximum of relative and absolute is used. +MS1MassDeviation.allowedMassDeviation = 10.0 ppm +MS1MassDeviation.standardMassDeviation = 10.0 ppm +MS1MassDeviation.massDifferenceDeviation = 5.0 ppm + +# Mass accuracy setting for MS2 spectra. Mass Accuracies are always written as "X ppm (Y Da)" +# with X and Y +# are numerical values. The ppm is a relative measure (parts per million), Da is an absolute +# measure. For each mass, the +# maximum of relative and absolute is used. +MS2MassDeviation.allowedMassDeviation = 10.0 ppm +MS2MassDeviation.standardMassDeviation = 10.0 ppm + +# Describes how to deal with Adducts: +# Pos Examples: +# [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+ +# Neg Examples: +# [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]- +# Enforced ion modes that are always considered. +AdductSettings.enforced = , +# Detectable ion modes which are only considered if there is an indication in the MS1 scan (e.g. +# correct mass delta). +AdductSettings.detectable = [M+H]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+H-H4O2]+,[M+NH4]+,[M-H]-,[M+Cl]-,[M-H2O-H]-,[M+Br]- +# Fallback ion modes which are considered if the auto detection did not find any indication for +# an ion mode. +AdductSettings.fallback = [M+H]+,[M-H]-,[M+Na]+,[M+K]+ + +# These configurations hold the information how to autodetect elements based on the given +# formula constraints. +# Note: If the compound is already assigned to a specific molecular formula, this annotation is +# ignored. +# Enforced elements are always considered +FormulaSettings.enforced = C,H,N,O,P +# Detectable elements are added to the chemical alphabet, if there are indications for them +# (e.g. in isotope pattern) +FormulaSettings.detectable = S,Br,Cl,B,Se +# Fallback elements are used, if the auto-detection fails (e.g. no isotope pattern available) +FormulaSettings.fallback = S + +# This configurations define how to deal with isotope patterns in MS1. +# When filtering is enabled, molecular formulas are excluded if their theoretical isotope +# pattern does not match +# the theoretical one, even if their MS/MS pattern has high score. +IsotopeSettings.filter = True +# multiplier for the isotope score. Set to 0 to disable isotope scoring. Otherwise, the score +# from isotope +# pattern analysis is multiplied with this coefficient. Set to a value larger than one if your +# isotope +# pattern data is of much better quality than your MS/MS data. +IsotopeSettings.multiplier = 1 + +# This configurations define a timeout for the tree computation. As the underlying problem is +# NP-hard, it might take +# forever to compute trees for very challenging (e.g. large mass) compounds. Setting an time +# constraint allow the program +# to continue with other instances and just skip the challenging ones. +# Note that, due to multithreading, this time constraints are not absolutely accurate. +# Set the maximum number of seconds for computing a single compound. Set to 0 to disable the time +# constraint. +Timeout.secondsPerInstance = 0 +# Set the maximum number of seconds for a single molecular formula check. Set to 0 to disable the +# time constraint +Timeout.secondsPerTree = 0 +# Ignore isotope peaks below this intensity. +# This value should reflect the smallest relative intensive which is still above noise level. +# Obviously, this is hard to judge without having absolute values. Keeping this value around 1 +# percent is +# fine for most settings. Set it to smaller values if you trust your small intensities. +ms1.minimalIntensityToConsider = 0.01 +# The average absolute deviation between theoretical and measured intensity of isotope +# peaks. +# Do not change this parameter without a good reason! +ms1.absoluteIntensityError = 0.02 +# The average relative deviation between theoretical and measured intensity of isotope +# peaks. +# Do not change this parameter without a good reason! +ms1.relativeIntensityError = 0.08 +# Set minimum m/z to enable heuristic preprocessing. The heuristic will be used to initially +# rank the formula candidates. The Top (NumberOfCandidates) candidates will then be +# computed exactly by solving the ILP. +UseHeuristic.mzToUseHeuristic = 300 +# Set minimum m/z to only use heuristic tree computation. No exact tree computation (ILP) will +# be performed for this compounds. +UseHeuristic.mzToUseHeuristicOnly = 650 + +# Defines the proportion of edges of the complete network which will be ignored. +ZodiacEdgeFilterThresholds.thresholdFilter = 0.95 +# Minimum number of candidates per compound which are forced to have at least +# [minLocalConnections] connections to other compounds. +# E.g. 2 candidates per compound must have at least 10 connections to other compounds +ZodiacEdgeFilterThresholds.minLocalCandidates = 1 +# Minimum number of connections per candidate which are forced for at least +# [minLocalCandidates] candidates to other compounds. +# E.g. 2 candidates per compound must have at least 10 connections to other compounds +ZodiacEdgeFilterThresholds.minLocalConnections = 10 + +# Number of epochs to run the Gibbs sampling. When multiple Markov chains are computed, all +# chains' iterations sum up to this value. +ZodiacEpochs.iterations = 20000 +# Number of epochs considered as 'burn-in period'. +# Samples from the beginning of a Markov chain do not accurately represent the desired +# distribution of candidates and are not used to estimate the ZODIAC score. +ZodiacEpochs.burnInPeriod = 2000 +# Number of separate Gibbs sampling runs. +ZodiacEpochs.numberOfMarkovChains = 10 + +# Lambda used in the scoring function of spectral library hits. The higher this value the higher +# are librar hits weighted in ZODIAC scoring. +ZodiacLibraryScoring.lambda = 1000 +# Spectral library hits must have at least this cosine or higher to be considered in scoring. +# Value must be in [0,1]. +ZodiacLibraryScoring.minCosine = 0.5 + diff --git a/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/2_SiriusExport_2_output_0_5053681185761206615-676004--121--Myclobutanil/compound.info b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/2_SiriusExport_2_output_0_5053681185761206615-676004--121--Myclobutanil/compound.info new file mode 100644 index 00000000000..2e96eca64a6 --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/2_SiriusExport_2_output_0_5053681185761206615-676004--121--Myclobutanil/compound.info @@ -0,0 +1,6 @@ +index 2 +name SiriusExport_2_output_0_5053681185761206615-676004--121--Myclobutanil +ionMass 289.122615478838 +ionType [M + H]+ +rt 448.02799999998:NaN,NaN +rankingScoreType sirius.scores.SiriusScore diff --git a/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/2_SiriusExport_2_output_0_5053681185761206615-676004--121--Myclobutanil/decoys/C15H17ClN4_[M+H]+.tsv b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/2_SiriusExport_2_output_0_5053681185761206615-676004--121--Myclobutanil/decoys/C15H17ClN4_[M+H]+.tsv new file mode 100644 index 00000000000..a7f1f6eee74 --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/2_SiriusExport_2_output_0_5053681185761206615-676004--121--Myclobutanil/decoys/C15H17ClN4_[M+H]+.tsv @@ -0,0 +1,23 @@ +mz rel.intensity formula ionization +53.013424 100.00 C2N2 [M + H]+ +158.071274 1.18 C9H7N3 [M + H]+ +168.032301 0.54 C7H6ClN3 [M + H]+ +184.086924 0.77 C11H9N3 [M + H]+ +185.094749 1.11 C11H10N3 [M + H]+ +194.047951 63.51 C9H8ClN3 [M + H]+ +199.097823 1.32 C11H10N4 [M + H]+ +206.047951 0.91 C10H8ClN3 [M + H]+ +212.105648 0.67 C12H11N4 [M + H]+ +218.047951 1.33 C11H8ClN3 [M + H]+ +219.043200 1.45 C10H7ClN4 [M + H]+ +220.063601 15.12 C11H10ClN3 [M + H]+ +220.088754 1.91 C13H14ClN [M + H]+ +222.102574 0.86 C14H11N3 [M + H]+ +233.058850 5.26 C11H9ClN4 [M + H]+ +235.074500 1.55 C11H11ClN4 [M + H]+ +244.063601 0.86 C13H10ClN3 [M + H]+ +247.074500 3.10 C12H11ClN4 [M + H]+ +261.090151 0.57 C13H13ClN4 [M + H]+ +262.110552 0.70 C14H16ClN3 [M + H]+ +272.094902 0.85 C15H14ClN3 [M + H]+ +289.121451 1.91 C15H17ClN4 [M + H]+ diff --git a/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/2_SiriusExport_2_output_0_5053681185761206615-676004--121--Myclobutanil/formula_candidates.tsv b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/2_SiriusExport_2_output_0_5053681185761206615-676004--121--Myclobutanil/formula_candidates.tsv new file mode 100644 index 00000000000..5ccf613b595 --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/2_SiriusExport_2_output_0_5053681185761206615-676004--121--Myclobutanil/formula_candidates.tsv @@ -0,0 +1,2 @@ +formulaRank molecularFormula adduct precursorFormula SiriusScore TreeScore IsotopeScore numExplainedPeaks explainedIntensity medianMassErrorFragmentPeaks(ppm) medianAbsoluteMassErrorFragmentPeaks(ppm) massErrorPrecursor(ppm) lipidClass +1 C15H17ClN4 [M + H]+ C15H17ClN4 39.34241769057247 36.691010794465846 2.6514068961066233 22 0.9685426989556167 -4.462674100188872 4.8724686384496785 4.02875003592188 diff --git a/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/2_SiriusExport_2_output_0_5053681185761206615-676004--121--Myclobutanil/scores/C15H17ClN4_[M+H]+.info b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/2_SiriusExport_2_output_0_5053681185761206615-676004--121--Myclobutanil/scores/C15H17ClN4_[M+H]+.info new file mode 100644 index 00000000000..db7a20598f0 --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/2_SiriusExport_2_output_0_5053681185761206615-676004--121--Myclobutanil/scores/C15H17ClN4_[M+H]+.info @@ -0,0 +1,3 @@ +sirius.scores.IsotopeScore 2.6514068961066233 +sirius.scores.TreeScore 36.691010794465846 +sirius.scores.SiriusScore 39.34241769057247 diff --git a/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/2_SiriusExport_2_output_0_5053681185761206615-676004--121--Myclobutanil/spectra/C15H17ClN4_[M+H]+.tsv b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/2_SiriusExport_2_output_0_5053681185761206615-676004--121--Myclobutanil/spectra/C15H17ClN4_[M+H]+.tsv new file mode 100644 index 00000000000..f4fdf313527 --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/2_SiriusExport_2_output_0_5053681185761206615-676004--121--Myclobutanil/spectra/C15H17ClN4_[M+H]+.tsv @@ -0,0 +1,23 @@ +mz intensity rel.intensity exactmass formula ionization +70.040098 24218.53 100.00 70.039974 C2H3N3 [M + H]+ +89.037322 315.00 1.18 89.038577 C7H4 [M + H]+ +98.999966 135.00 0.54 98.999604 C5H3Cl [M + H]+ +115.054570 213.74 0.77 115.054227 C9H6 [M + H]+ +116.061561 270.00 1.11 116.062052 C9H7 [M + H]+ +125.014308 14773.00 63.51 125.015254 C7H5Cl [M + H]+ +130.064515 366.00 1.32 130.065126 C9H7N [M + H]+ +137.014279 249.00 0.91 137.015254 C8H5Cl [M + H]+ +143.072762 168.12 0.67 143.072951 C10H8N [M + H]+ +149.013989 299.00 1.33 149.015254 C9H5Cl [M + H]+ +150.010826 309.00 1.45 150.010503 C8H4ClN [M + H]+ +151.029903 3468.00 15.12 151.030904 C9H7Cl [M + H]+ +153.069565 225.00 0.86 153.069877 C12H8 [M + H]+ +164.024417 1260.00 5.26 164.026153 C9H6ClN [M + H]+ +166.041504 358.00 1.55 166.041803 C9H8ClN [M + H]+ +175.031788 270.00 0.86 175.030904 C11H7Cl [M + H]+ +178.040558 739.00 3.10 178.041803 C10H8ClN [M + H]+ +192.055368 195.00 0.57 192.057453 C11H10ClN [M + H]+ +193.076440 180.00 0.70 193.077855 C12H13Cl [M + H]+ +203.062236 251.00 0.85 203.062204 C13H11Cl [M + H]+ +220.087015 542.00 1.91 220.088754 C13H14ClN [M + H]+ +289.122615 827.00 2.92 289.121451 C15H17ClN4 [M + H]+ diff --git a/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/2_SiriusExport_2_output_0_5053681185761206615-676004--121--Myclobutanil/spectrum.ms b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/2_SiriusExport_2_output_0_5053681185761206615-676004--121--Myclobutanil/spectrum.ms new file mode 100644 index 00000000000..e20891c8445 --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/2_SiriusExport_2_output_0_5053681185761206615-676004--121--Myclobutanil/spectrum.ms @@ -0,0 +1,692 @@ +>compound 0_5053681185761206615-676004--121--Myclobutanil +>formula C15H17ClN4 +>parentmass 289.122615478838 +>ionization [M + H]+ +>instrumentation Unknown (LCMS) +>source file:///home/axel/dev/OpenMS/src/tests/topp/SiriusExport_2_output.ms +>quality UNKNOWN +>rt 448.02799999998s + +>ms1merged +##fid 5053681185761206615 +##fmz 289.122615478837758 +##des Myclobutanil +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source format [MS, MS:1000562, ABI WIFF format,] +289.122615478838 1356806.543650602 +290.123323995928 168319.5386947108 +291.117964046924 433903.2521391701 +292.12026079967 99781.63453909254 + +>ms1peaks +52.005351813457 2501.610107421875 +53.013412581284 13134.5205078125 +53.850226225992 1302.909057617188 +54.009140063564 338983.65625 +55.006042248338 6435.41259765625 +55.011148435189 6609.39404296875 +55.054172395822 1772.104248046875 +55.934029229957 5757.919921875 +56.941868288709 2705.908203125 +59.049392394217 65787.7578125 +60.04419739655 9389.001953125 +61.039698624921 1629.770751953125 +63.997582420249 4596.09619140625 +64.004915539546 4860.728515625 +68.011405901665 27484.29296875 +68.993238795734 11816.1728515625 +69.044514210085 12151.7626953125 +72.936346245282 1770.0 +73.063844648998 1632.810180664062 +76.485866327556 2207.0 +79.020638014668 15456.1591796875 +80.048700307132 11716.7060546875 +81.936658440041 8339.158203125 +82.995849176432 8191.0 +87.054215388379 1432.329345703125 +89.50580663687 1376.0 +90.488666027165 1798.0 +95.952211902793 2472.0 +97.967974119285 6640.0 +100.0745588278 1418.0 +102.090063528932 1768.0 +109.942148206295 1646.0 +113.96281092092 1728.0009765625 +114.090265101894 9843.087890625 +118.085166173822 5466.14697265625 +122.095082275611 3591.515380859375 +122.962671452755 9919.435546875 +123.090603383338 1818.105346679688 +130.157985838236 1433.0 +136.020144210415 1305.642211914062 +141.111768954054 1381.647338867188 +141.957291332652 13999.958984375 +147.090365251433 2315.56494140625 +149.021998403294 4169.404296875 +151.095653127576 2632.1923828125 +151.109600618565 2638.50390625 +155.06904919199 1400.58837890625 +155.10522171537 1306.244873046875 +155.972774632456 3955.750244140625 +158.152847157321 10190.6318359375 +161.094883274868 1469.0 +164.993233307885 1413.0 +170.0947568042 2692.873779296875 +173.07909618349 5464.607421875 +174.990754641374 1338.0 +175.120920396226 1335.489135742188 +178.157288006504 1567.557739257812 +179.104881581157 1856.0 +182.960071822982 1596.667236328125 +186.016812097735 3128.0 +194.115183195725 3037.01904296875 +195.105676043577 1846.959228515625 +195.121034909827 2138.53466796875 +198.183715433637 1614.0 +201.983396783946 6476.0 +217.007534943089 16000.083984375 +217.105603079 12722.193359375 +218.010461830348 1723.0 +218.108916975941 1918.0 +219.094207015885 1394.0 +234.033666185649 17919.0 +235.036061869219 1699.0 +239.087710708037 2715.0 +245.038087259231 3705.0 +246.860587751512 3017.0 +250.998652800198 2461.0 +252.996040050118 1751.0 +262.065226573716 31878.271484375 +263.067812997194 3540.0 +264.062744585962 1732.0 +276.080875651007 47441.0 +277.083729023421 6202.904296875 +278.078049070253 2909.8056640625 +279.092264164105 2269.0 +281.049607531965 1759.0 +284.16370925301 5971.3173828125 +285.167422523505 1450.9375 +289.120547785899 45105.26171875 +290.122834000335 8899.0 +291.11814896433 16223.0 +292.119468760172 3916.748291015625 +303.104211105075 4272.90087890625 +303.190626643079 3701.817626953125 +304.121038021889 1154982.0 +304.680120827865 1361.469604492188 +304.720450396369 1578.193115234375 +304.756696628278 1464.1357421875 +304.826755934771 1415.802856445312 +304.888295222133 4211.7490234375 +304.975939340234 6444.7470703125 +305.112954471951 109660.9765625 +306.110248734555 72833.0 +307.111946842557 10169.5791015625 +307.247397220322 1757.839477539062 +310.1202124831 5088.0 +320.107070842572 7286.0 +321.109817317563 1634.396606445312 +321.134008500327 1645.504272460938 +326.094135509242 51581.21484375 +327.006663634739 3305.2880859375 +327.096918826684 8025.06396484375 +328.09087936356 3401.237060546875 +329.002848029289 3721.0 +330.204815446188 11820.9521484375 +331.208232327135 2889.0 +342.067980362905 3189.39501953125 +349.169296376205 25098.0 +350.172883605486 4323.0 +351.167291455015 1724.0 +372.149200119315 2817.47705078125 +404.03600410036 11013.0 +405.038241871311 2224.6796875 +424.359699824875 1469.0 +445.117347283461 1962.204711914062 +500.274802921042 11554.1630859375 +501.277725760601 3400.0 +502.28653995658 1910.0 +505.85089556432 2188.0 +536.162361057972 4668.0 +537.163239801382 2428.0 +538.161608472883 1869.0 +544.336387601713 1598.0 +546.911505452596 1493.0 +549.965979448424 1640.0 +592.225456903764 1675.0 +607.216655018496 74091.0 +608.219193446659 23449.0 +609.2158525552 11438.5283203125 +610.208425679746 4454.0 +611.188234775837 1805.798706054688 +612.220726308427 4082.0 +613.22450541899 34075.0 +614.227906702716 11171.0 +615.225014693998 5343.0 +623.210784148654 2510.0 +629.198405169302 68640.0 +630.201595235063 21340.328125 +631.198284234777 10581.0 +632.198298853566 2483.0 +707.140261218123 1384.0 + +>ms1peaks +52.005397076818 2734.410888671875 +52.018107045505 1336.588989257812 +53.013261826329 14264.3037109375 +54.009079203842 328540.5625 +55.005732946798 6038.43408203125 +55.011210209049 5773.4833984375 +55.054089450492 1883.920532226562 +55.93393335135 5941.79931640625 +56.049311183158 2529.91064453125 +56.941559341288 2177.7314453125 +59.049288422008 55833.33203125 +60.044400478994 9188.86328125 +61.039483771618 1336.615844726562 +63.99776908929 4226.59521484375 +64.004652574785 4312.662109375 +67.028420902367 1685.13232421875 +68.011303574981 26639.857421875 +68.993400384347 11132.4560546875 +69.044245603619 12842.1396484375 +72.936451870693 2092.43896484375 +73.064343001052 2004.0 +76.485626827097 1932.002563476562 +79.020705537221 15479.7822265625 +80.048746552992 12934.6494140625 +81.936560826315 7849.1748046875 +82.996236710322 7697.5703125 +87.043649221397 1392.278564453125 +87.054161695388 1495.958618164062 +89.506032483299 1554.0 +90.488774891048 1551.744018554688 +91.052857733317 1701.434936523438 +95.951953010697 2094.0 +97.967766546756 6595.5302734375 +109.942695624537 1327.0 +113.961956344849 1877.0 +114.090202311915 11113.38671875 +118.085079269697 5461.0 +122.095332793077 3096.0 +122.962788239519 9551.916015625 +123.089923877343 1592.0 +130.158267685481 1374.0 +136.020500147191 1906.4296875 +141.089705751127 1398.031372070312 +141.111419699029 1374.918823242188 +141.935031405798 2215.52880859375 +141.957114961469 13636.359375 +147.090410388658 2596.0 +149.021734118264 3900.0 +149.0422250444 1717.679077148438 +151.095530836015 2392.175048828125 +151.109345923165 2675.036376953125 +155.069217138005 1392.010375976562 +155.972851416164 3798.715576171875 +158.152680730278 10054.0 +161.095473046681 1550.0 +164.142407569715 1467.709594726562 +170.094842381476 2189.80517578125 +173.079740417554 5427.904296875 +178.157986956425 1455.0 +179.105560744514 1912.301391601562 +182.96069817628 2000.407470703125 +186.016618789428 1896.0 +186.220115257894 1974.0 +194.116069304698 2583.0 +195.12120780654 1998.3037109375 +198.184395565259 1695.0 +201.982853397927 4906.0 +217.00704585203 12703.0 +217.105649597883 13317.7265625 +218.109378650956 2113.98193359375 +219.093923189224 1382.400756835938 +234.033511361987 14162.0 +235.036774500644 1342.0 +239.08726666962 2910.0 +242.282551973761 1561.0 +245.038675382516 2489.0 +246.861414583855 2664.0 +250.998716978816 2090.0 +262.065290180852 23768.0 +263.068197519244 2928.0 +276.081065166232 35016.0 +277.08420013176 4404.0 +278.078513434024 2183.0 +279.092009717775 2217.0 +281.049184165914 1367.0 +284.16336041232 3532.0 +289.121282596047 297520.0 +290.123339528492 48851.796875 +291.118124278084 95531.0 +292.120251426315 17101.046875 +293.12318758226 1858.0654296875 +303.10401477558 2693.449951171875 +303.190353825641 2785.50244140625 +304.119856155362 954170.0 +304.858461688543 1629.946044921875 +304.974182520147 7187.60791015625 +305.110635941863 61549.015625 +306.110453215668 55678.07421875 +307.111643085162 7091.70068359375 +310.120007901196 5493.85400390625 +320.106626078784 4025.0 +326.094632546811 51218.67578125 +327.006414911949 2851.898193359375 +327.096265128312 8263.4248046875 +328.091406924071 3217.697509765625 +329.003058211528 3429.933349609375 +330.205471949815 7747.0 +331.207754653901 1796.0 +342.06742675164 3267.0 +349.169395269431 21267.0 +350.172679880257 4154.27197265625 +351.168393055602 1571.0 +372.0987395627 1670.002075195312 +372.148644610713 2317.465087890625 +389.045115150928 4473.0 +391.043177396698 1663.0 +404.036316278299 7850.0 +405.03999791327 1931.0 +424.359886173771 1591.0 +445.117801993639 2038.0 +500.275651903375 13340.0 +501.278433801524 4082.0 +502.285907017338 2013.566040039062 +505.851095535466 2281.0 +536.163686089478 4281.0 +537.165279310098 2275.0 +538.161599212928 1446.0 +542.322146689605 2319.23583984375 +544.33668100172 2203.0 +546.913546060949 1480.0 +549.965890540792 1571.7275390625 +592.225728725342 6278.0 +593.2291918198 2109.0 +594.222911870749 2943.70703125 +607.216789747777 46858.0 +608.219527953593 15482.0 +609.215333724431 7397.0 +610.196851071075 3575.0 +611.184731787601 1662.0 +612.221188935026 2560.0 +613.225065362361 23067.0 +614.226835965539 7388.0 +615.223918934987 3328.0 +623.150116137773 1311.609985351562 +623.211673074874 1404.509399414062 +629.198822367023 49161.0 +630.201975789631 15060.724609375 +631.197108322666 7602.10302734375 +632.19918227597 1787.0 +707.142781768806 1359.0 + +>ms1peaks +52.005617027968 2841.486083984375 +53.013411271366 13567.8837890625 +54.009125331887 341665.8125 +55.005857415052 5900.7900390625 +55.011242701615 6013.953125 +55.054093292119 2035.055908203125 +55.933978586076 5672.33837890625 +56.049467099919 1695.441040039062 +56.94178230893 2173.33740234375 +59.049339198083 62878.703125 +60.044404001763 9862.6142578125 +61.039435521241 1719.998779296875 +63.997664239141 3450.59716796875 +64.005081384586 3958.136474609375 +68.011443914678 27040.419921875 +68.993714467215 12520.46484375 +69.007373071731 1388.10791015625 +69.044312866744 13073.23046875 +72.93642300411 2084.0 +73.063871079142 1705.0 +76.485830845774 2577.0 +79.020684296263 13782.1328125 +80.048779775419 11186.9970703125 +81.936674853257 8327.65625 +82.996269546702 8040.20166015625 +89.506005127285 1468.281982421875 +90.489095167913 1675.0 +95.951948147015 2520.51513671875 +97.967758472339 6678.626953125 +102.090788355145 2027.477661132812 +113.962336972098 2071.0 +114.090407289761 9387.833984375 +118.085129231385 6116.0 +122.09563813811 3776.03076171875 +122.962814871209 10117.1689453125 +123.09071509347 1657.50146484375 +136.020905158615 1394.424438476562 +140.067586645329 1617.045654296875 +141.112054526426 1383.640991210938 +141.93570970262 1911.949829101562 +141.957347460629 13581.779296875 +147.090339739564 2374.998291015625 +149.022576244489 3994.022705078125 +151.095387083973 2392.279052734375 +151.109293023596 2750.11474609375 +155.06969917273 1332.009765625 +155.972973853574 3810.662841796875 +158.152617650358 10434.0 +159.15482186858 1369.0 +161.095811541558 1615.0 +170.09478689383 2397.4794921875 +170.116223095026 1563.12939453125 +173.079809386205 6290.7470703125 +178.157999558146 1344.694458007812 +179.105474980732 1898.194946289062 +182.961052201833 2004.073364257812 +186.220351226598 1623.0 +193.157127136625 1493.4091796875 +194.115785614334 2955.0 +195.120763129781 1823.166137695312 +198.184413101409 2214.0 +201.984090601891 2436.0 +217.007207589124 6332.41943359375 +217.105727151964 16770.736328125 +218.108791440056 2512.0 +234.033555067529 7474.0 +239.08784770299 2936.0 +242.2830768363 1598.0 +245.03911035763 1466.0 +246.860750264023 2469.0 +249.183092518468 1366.967651367188 +250.999128212314 2641.0 +252.995944883436 1376.0 +262.065576474895 11528.0 +263.068397905954 1693.0 +276.080823895982 18533.0 +277.084470217057 2604.24365234375 +279.093578782719 2100.0 +281.049703566301 1340.0 +284.163284328388 2755.0 +288.245192514905 2240.408203125 +289.124028104405 571675.0 +289.974079344843 2398.387451171875 +290.020293351816 2510.57177734375 +290.12300483356 37005.6328125 +291.118405903154 172664.0625 +292.12044024798 30711.75 +293.123309031099 2511.0 +303.10399927149 1878.0 +303.190085777343 1857.193237304688 +304.115683834546 552400.0 +304.984847835069 1705.556396484375 +305.107785187759 57481.2109375 +306.110327480189 29213.0 +307.11238432698 4304.0 +310.120384968947 4593.26953125 +311.105475064582 1824.0 +320.107323506761 2737.0 +326.09481066741 41008.0 +327.006437528123 3347.260986328125 +327.09645563603 6753.96142578125 +328.092188803708 2930.0 +329.003747738298 3355.0 +330.205009985617 6046.36767578125 +331.208059597585 1436.0 +342.068061155461 2814.0 +349.1700609529 13874.0 +350.172621024257 2607.730712890625 +372.148688883306 1405.186401367188 +389.044748240917 7650.0 +390.04749755921 1913.0 +391.042419990568 2801.0 +392.068522384462 2797.0 +394.066194691334 1609.439208984375 +404.03664725 3756.0 +424.362220661973 1680.073608398438 +445.118239809427 2256.0 +457.032674519482 1580.0 +468.387534165811 1625.361328125 +487.228056299732 1735.0 +500.275588301319 14065.0 +501.278629401665 3579.0 +502.286881001175 2107.0 +505.851399270242 2207.88427734375 +531.255889309595 1828.0 +536.162574795725 4348.0 +537.164900413678 2412.0 +538.160905924694 1840.207275390625 +542.321702796647 4110.07568359375 +543.325936834084 1425.0 +544.336609702317 2008.0 +546.912855890436 1498.0 +592.225267665071 7023.0 +593.153130472392 2079.229736328125 +593.228621623492 2593.85986328125 +594.223736830213 3021.337890625 +607.216353924445 19371.0 +608.21987654802 6018.0 +609.216035675932 2735.843994140625 +610.184990477 2845.0 +612.185596819648 1643.0 +613.224838309655 6730.89697265625 +614.227226894726 2411.0 +629.198664613593 14632.0 +630.201165251457 4128.0 +631.197724705928 2446.0 +639.156464406238 1485.0 +641.154235888014 1515.855590820312 +654.147541437576 1594.0 +692.150340948486 1581.0 + +>ms2peaks +##specref ms_run[1]:sample=1 period=1 cycle=676 experiment=4 +##scan 121 +##n_id sample=1 period=1 cycle=676 experiment=4 +##m_id Myclobutanil_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=676 experiment=4_0 +70.039827273652 5131.529296875 +82.041077772907 30.0 +82.066941721068 30.0 +83.048162364624 30.0 +89.038123713717 30.0 +98.998128961124 45.0 +99.005937159691 45.0 +116.057773265737 45.0 +116.068964884923 45.0 +125.014210234006 2627.0 +128.869373457499 30.0 +129.050864049931 30.0 +129.066487998016 43.279674530029 +130.062932087251 75.0 +130.074324678654 75.0 +131.069149811718 90.0 +137.012353655287 30.0 +143.074736350629 45.0 +143.085702367776 45.0 +149.013720936376 75.0 +150.009016679015 90.0 +151.029635761105 960.0 +153.071034687141 30.0 +164.027845684388 225.0 +166.040731347006 75.0 +167.084665955303 45.0 +168.094844704597 30.0 +173.861021388832 75.0 +178.040593736165 180.0 +191.04991567702 45.0 +203.057899363272 45.0 +220.08807292582 120.0 +289.119266976743 135.0 + +>ms2peaks +##specref ms_run[1]:sample=1 period=1 cycle=677 experiment=5 +##scan 131 +##n_id sample=1 period=1 cycle=677 experiment=5 +##m_id Myclobutanil_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=677 experiment=5_0 +55.054639659329 105.0 +55.060017620298 92.68334197998 +56.049823597015 30.0 +57.069035771002 30.0 +65.037770341976 30.0 +69.832588352285 45.0 +70.039908024674 17805.998046875 +70.065015706368 30.0 +70.282524899395 30.0 +70.655650228794 30.0 +70.662690104158 30.0 +70.671685449976 30.0 +70.680369758222 30.0 +71.073891359706 30.0 +80.047874421886 45.0 +81.071842605128 75.0 +82.039226093295 45.0 +82.068250865158 45.0 +83.046676696339 105.0 +89.037423472355 210.0 +90.046133682594 75.0 +95.071588708154 60.0 +98.999966313572 135.0 +103.050438931432 30.0 +115.05516672796 150.0 +116.06252226169 210.0 +122.999173332647 45.0 +124.644051017099 60.0 +124.994916353506 582.297302246094 +125.014371187472 12549.0 +125.378378046066 30.0 +125.39053167682 30.0 +128.046903884584 225.0 +129.05537365472 75.0 +129.064357675053 60.0 +130.062595084552 180.0 +131.075918885468 60.0 +131.089262432243 60.0 +137.014910793247 150.0 +139.029843740401 105.0 +139.049300450331 47.856365203857 +143.072761538143 168.118270874023 +143.089863992705 96.726943969727 +149.013988771638 299.0 +150.010736302066 285.0 +151.030302067974 2704.0 +152.065539738869 30.0 +153.069429336803 150.0 +157.100583676525 45.0 +158.108303191611 30.0 +162.029804830888 30.0 +163.016613439026 30.0 +163.027865460821 30.0 +164.025164845834 997.0 +165.032309967876 230.13996887207 +165.048285398527 267.0 +165.068235719394 71.195930480957 +166.041158820976 300.0 +167.084364530618 120.0 +168.091368874638 180.0 +169.091421834386 45.0 +170.096865844811 90.0 +175.029690206742 135.0 +177.033157268884 30.0 +178.041386504653 543.0 +184.113505217082 75.0 +185.131013174733 45.0 +188.038417071829 30.0 +191.051083107779 30.0 +192.056950923082 75.0 +193.074112586304 150.0 +203.062235811985 251.0 +220.086936658481 240.0 +289.118902482462 413.0 + +>ms2peaks +##specref ms_run[1]:sample=1 period=1 cycle=678 experiment=3 +##scan 138 +##n_id sample=1 period=1 cycle=678 experiment=3 +##m_id Myclobutanil_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=678 experiment=3_0 +55.05427043422 105.0 +56.052257730119 45.0 +57.069642685298 75.0 +57.076278365435 58.515125274658 +58.064669437897 30.0 +58.069671200743 30.0 +69.831821936433 120.0 +70.040097536413 24218.52734375 +70.062801316593 31.250431060791 +70.429050963972 30.0 +70.438704107352 30.0 +70.574152845601 53.442497253418 +71.040963389931 30.0 +71.331546496348 45.0 +71.547711411837 30.0 +71.554731582869 30.0 +81.069977524059 75.0 +82.040024877605 180.0 +82.064998747631 45.0 +82.071892633579 45.0 +83.046815904048 150.0 +89.037322041009 315.0 +93.058395230178 30.0 +94.065823923167 15.0 +95.073128971584 30.0 +98.998707139648 75.0 +115.038697637289 93.372489929199 +115.054570314383 213.739791870117 +116.061560571436 270.0 +122.996698381028 60.0 +123.007612454196 60.0 +123.995047593998 30.0 +124.002911191956 30.0 +125.014307674051 14773.0 +125.381473665944 30.0 +125.393966225912 30.0 +125.593372072822 30.0 +125.599867839373 30.0 +126.051609264641 30.0 +126.059603286955 30.0 +127.054832877589 45.0 +128.048017316181 180.0 +129.07207623044 45.0 +129.857221738296 30.0 +129.870016169563 30.0 +130.064515161974 366.0 +131.073613293583 60.0 +137.014278524345 249.0 +139.030165806979 60.0 +143.060465185927 75.0 +143.07401284668 104.308815002441 +143.089076083416 75.0 +144.077234015868 30.0 +149.015246811528 255.0 +150.010825556181 309.0 +150.598024297069 30.0 +150.607575019774 30.0 +151.029903267346 3468.0 +152.066634976325 75.0 +153.048272599038 48.395233154297 +153.069565327336 225.0 +156.056088009549 27.453353881836 +156.078507049206 90.0 +158.105667049362 30.0 +158.1156938966 30.0 +163.028234418456 150.0 +163.04907477486 101.341789245605 +164.024417450344 1260.0 +164.048222951239 223.749069213867 +165.033343347864 300.0 +165.07168912024 100.887588500977 +166.041504194847 358.0 +167.083021637505 120.0 +168.092033871908 180.0 +168.126067348571 15.0 +170.097096768962 45.0 +175.031788442407 270.0 +177.045702469556 45.0 +178.040557800332 739.0 +179.064601892177 45.0 +184.112879145243 75.0 +185.120289107757 30.0 +188.038359439527 30.0 +191.046836106019 45.0 +192.055368291335 195.0 +193.076440167615 180.0 +203.062460725867 150.0 +205.065521702945 45.0 +218.068791434007 45.0 +220.087014664115 542.0 +289.122158220479 827.0 + diff --git a/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/2_SiriusExport_2_output_0_5053681185761206615-676004--121--Myclobutanil/trees/C15H17ClN4_[M+H]+.json b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/2_SiriusExport_2_output_0_5053681185761206615-676004--121--Myclobutanil/trees/C15H17ClN4_[M+H]+.json new file mode 100644 index 00000000000..d11caa9e219 --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/2_SiriusExport_2_output_0_5053681185761206615-676004--121--Myclobutanil/trees/C15H17ClN4_[M+H]+.json @@ -0,0 +1,1301 @@ +{ + "molecularFormula" : "C15H17ClN4", + "root" : "C15H17ClN4", + "annotations" : { + "precursorIonType" : "[M + H]+", + "nodeBoost" : 1.0, + "numberOfUnconsideredCandidates" : 0, + "lowestConsideredCandidateScore" : 39.34241769057247, + "statistics" : { + "explainedIntensity" : 0.9685426989556167, + "explainedIntensityOfExplainablePeaks" : 0.980955482459397, + "ratioOfExplainedPeaks" : 0.7 + }, + "recalibration" : { + "separate" : [ "0.9999992499401706x + 0.0011672038944468", "1.0000082238596981x + -5.104749603361824E-4", "1.000006985872933x + -2.981000594672878E-4" ], + "merged" : "1.0000086927736447x + -7.328310364016488E-4" + } + }, + "fragments" : [ { + "id" : 0, + "molecularFormula" : "C15H17ClN4", + "ion" : "[M + H]+", + "massDeviation" : "4.02875003592188 ppm (0.0011648027474961964 m/z)", + "recalibratedMassDeviation" : "9.983512872948994 ppm (0.00288647654184615 m/z)", + "relativeIntensity" : 0.029158503804273542, + "mz" : 289.122615478838, + "recalibratedMass" : 289.12433715263234, + "peaks" : [ { + "intensity" : 413.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 289.118902482462 + }, { + "intensity" : 135.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 289.119266976743 + }, { + "intensity" : 827.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 289.122158220479 + } ], + "score" : 1.6666064826420646, + "scores" : { + "Chemical Prior" : 1.0, + "MS-Isotopes" : 2.6514068961066233, + "CommonRootLoss" : 0.0, + "Mass Deviation" : -0.3753625010304584, + "CarbohydrogenCompound" : 0.0, + "motif-search" : 0.0, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "BeautificationScorer" : -0.0, + "ImplicitAdductPeakScore" : 0.0, + "IntrinsicallyChargedScorer" : 0.0, + "StrangeElementRootScorer" : -1.6094379124341003 + }, + "isotopes" : { + "score" : 2.6514068961066233, + "mz" : [ 289.122615478838, 290.123323995928, 291.117964046924, 292.12026079967 ], + "relInt" : [ 1.0, 0.12405566547595867, 0.3197974347704109, 0.07354153398363017 ] + } + }, { + "id" : 1, + "molecularFormula" : "C13H14ClN", + "ion" : "[M + H]+", + "massDeviation" : "-7.901038496870883 ppm (-0.0017389159755225592 m/z)", + "recalibratedMassDeviation" : "-2.269617333617651 ppm (-4.995161163492412E-4 m/z)", + "relativeIntensity" : 0.019127978495603444, + "mz" : 220.087014664115, + "recalibratedMass" : 220.08825406397418, + "peaks" : [ { + "intensity" : 240.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 220.086936658481 + }, { + "intensity" : 542.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 220.087014664115 + }, { + "intensity" : 120.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 220.08807292582 + } ], + "score" : 1.3485751100694492, + "scores" : { + "TreeSizeScorer" : 0.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.0989490225951921, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.0, + "ClippedPeakIsNoiseScorer" : 0.9475241326646413, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 2, + "molecularFormula" : "C13H11Cl", + "ion" : "[M + H]+", + "massDeviation" : "0.15427730493873867 ppm (3.132789447590767E-5 m/z)", + "recalibratedMassDeviation" : "5.864219249023691 ppm (0.0011908082714455759 m/z)", + "relativeIntensity" : 0.008503680018555412, + "mz" : 203.062235811985, + "recalibratedMass" : 203.06339529236197, + "peaks" : [ { + "intensity" : 251.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 203.062235811985 + }, { + "intensity" : 150.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 203.062460725867 + } ], + "score" : 0.7960274325027488, + "scores" : { + "TreeSizeScorer" : 0.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.29206387067421696, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.0, + "ClippedPeakIsNoiseScorer" : 0.5880913031769656, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 3, + "molecularFormula" : "C12H13Cl", + "ion" : "[M + H]+", + "massDeviation" : "-7.325494888427065 ppm (-0.0014143804755235578 m/z)", + "recalibratedMassDeviation" : "-1.8835600979287652 ppm (-3.6367305762041724E-4 m/z)", + "relativeIntensity" : 0.00699804091302565, + "mz" : 193.076440167615, + "recalibratedMass" : 193.0774908750329, + "peaks" : [ { + "intensity" : 150.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 193.074112586304 + }, { + "intensity" : 180.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 193.076440167615 + } ], + "score" : 0.996896123628343, + "scores" : { + "TreeSizeScorer" : 0.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.07791127867137017, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.06923559832384996, + "ClippedPeakIsNoiseScorer" : 0.5055718039758632, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 4, + "molecularFormula" : "C11H10ClN", + "ion" : "[M + H]+", + "massDeviation" : "-10.857081341139029 ppm (-0.0020851607555414375 m/z)", + "recalibratedMassDeviation" : "-5.423335810057452 ppm (-0.0010415864160222554 m/z)", + "relativeIntensity" : 0.005725669837930078, + "mz" : 192.055368291335, + "recalibratedMass" : 192.0564118656745, + "peaks" : [ { + "intensity" : 195.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 192.055368291335 + }, { + "intensity" : 75.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 192.056950923082 + } ], + "score" : 0.7479882715326616, + "scores" : { + "TreeSizeScorer" : 0.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.2533248151486868, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.07944631708665018, + "ClippedPeakIsNoiseScorer" : 0.42186676959469815, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 5, + "molecularFormula" : "C10H8ClN", + "ion" : "[M + H]+", + "massDeviation" : "-6.9960899578574445 ppm (-0.0012455877585182407 m/z)", + "recalibratedMassDeviation" : "-1.684546009897009 ppm (-2.9991910426474533E-4 m/z)", + "relativeIntensity" : 0.031003441863162125, + "mz" : 178.040557800332, + "recalibratedMass" : 178.04150346898626, + "peaks" : [ { + "intensity" : 739.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 178.040557800332 + }, { + "intensity" : 180.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 178.040593736165 + }, { + "intensity" : 543.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 178.041386504653 + } ], + "score" : 1.8341226184013202, + "scores" : { + "TreeSizeScorer" : 0.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.0634643182644769, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.2195944219966799, + "ClippedPeakIsNoiseScorer" : 1.1779925146691173, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 6, + "molecularFormula" : "C11H7Cl", + "ion" : "[M + H]+", + "massDeviation" : "5.051004302293667 ppm (8.840863164607526E-4 m/z)", + "recalibratedMassDeviation" : "10.333703102287899 ppm (0.0018087360902825367 m/z)", + "relativeIntensity" : 0.008588504756895116, + "mz" : 175.031788442407, + "recalibratedMass" : 175.0327130921808, + "peaks" : [ { + "intensity" : 135.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 175.029690206742 + }, { + "intensity" : 270.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 175.031788442407 + } ], + "score" : 0.8391774714418639, + "scores" : { + "TreeSizeScorer" : 0.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.5028338935897302, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.24968211557593012, + "ClippedPeakIsNoiseScorer" : 0.5923292494556641, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 7, + "molecularFormula" : "C9H8ClN", + "ion" : "[M + H]+", + "massDeviation" : "-1.8019184118201104 ppm (-2.991932435350009E-4 m/z)", + "recalibratedMassDeviation" : "3.3886023208093694 ppm (5.626515469145943E-4 m/z)", + "relativeIntensity" : 0.015544133300750914, + "mz" : 166.041504194847, + "recalibratedMass" : 166.04236603963744, + "peaks" : [ { + "intensity" : 75.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 166.040731347006 + }, { + "intensity" : 300.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 166.041158820976 + }, { + "intensity" : 358.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 166.041504194847 + } ], + "score" : 1.9768507026090707, + "scores" : { + "TreeSizeScorer" : 0.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.40980000000000016, + "Mass Deviation" : -0.12521848561760004, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.33958495805153, + "ClippedPeakIsNoiseScorer" : 0.8526842301751405, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 8, + "molecularFormula" : "C9H6ClN", + "ion" : "[M + H]+", + "massDeviation" : "-10.583020342391098 ppm (-0.00173587374652584 m/z)", + "recalibratedMassDeviation" : "-5.414532125071871 ppm (-8.881200677706147E-4 m/z)", + "relativeIntensity" : 0.05263375013978686, + "mz" : 164.024417450344, + "recalibratedMass" : 164.02526520402276, + "peaks" : [ { + "intensity" : 1260.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 164.024417450344 + }, { + "intensity" : 997.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 164.025164845834 + }, { + "intensity" : 225.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 164.027845684388 + } ], + "score" : 2.100456325757585, + "scores" : { + "TreeSizeScorer" : 0.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.2100362538653716, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.35975582549656004, + "ClippedPeakIsNoiseScorer" : 1.4507367541263962, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 9, + "molecularFormula" : "C12H8", + "ion" : "[M + H]+", + "massDeviation" : "-2.0342434100017073 ppm (-3.113807545389591E-4 m/z)", + "recalibratedMassDeviation" : "3.0041334568330123 ppm (4.5984371928398105E-4 m/z)", + "relativeIntensity" : 0.008588504756895116, + "mz" : 153.069565327336, + "recalibratedMass" : 153.07033655180982, + "peaks" : [ { + "intensity" : 150.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 153.069429336803 + }, { + "intensity" : 225.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 153.069565327336 + }, { + "intensity" : 30.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 153.071034687141 + } ], + "score" : 1.4612803252220892, + "scores" : { + "TreeSizeScorer" : 0.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.10035327096021494, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.46930434672664, + "ClippedPeakIsNoiseScorer" : 0.5923292494556641, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 10, + "molecularFormula" : "C9H7Cl", + "ion" : "[M + H]+", + "massDeviation" : "-6.628414127846931 ppm (-0.0010010887445446315 m/z)", + "recalibratedMassDeviation" : "-1.6163147953457855 ppm (-2.4411309070160314E-4 m/z)", + "relativeIntensity" : 0.15124250845969375, + "mz" : 151.029903267346, + "recalibratedMass" : 151.03066024299983, + "peaks" : [ { + "intensity" : 960.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 151.029635761105 + }, { + "intensity" : 3468.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 151.029903267346 + }, { + "intensity" : 2704.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 151.030302067974 + } ], + "score" : 3.0396353438057293, + "scores" : { + "TreeSizeScorer" : 0.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.051097080108690296, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.4897009673265402, + "ClippedPeakIsNoiseScorer" : 2.1010314565878794, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 11, + "molecularFormula" : "C8H4ClN", + "ion" : "[M + H]+", + "massDeviation" : "2.148485546150962 ppm (3.222960904736283E-4 m/z)", + "recalibratedMassDeviation" : "7.147132439408817 ppm (0.0010721525969188406 m/z)", + "relativeIntensity" : 0.01450503025608953, + "mz" : 150.010825556181, + "recalibratedMass" : 150.01157541268745, + "peaks" : [ { + "intensity" : 90.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 150.009016679015 + }, { + "intensity" : 285.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 150.010736302066 + }, { + "intensity" : 309.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 150.010825556181 + } ], + "score" : 1.5592234415623711, + "scores" : { + "TreeSizeScorer" : 0.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.2622038722907288, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.49989174443819007, + "ClippedPeakIsNoiseScorer" : 0.8215355694149097, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 12, + "molecularFormula" : "C9H5Cl", + "ion" : "[M + H]+", + "massDeviation" : "-8.492628530827854 ppm (-0.0012655204525344743 m/z)", + "recalibratedMassDeviation" : "-3.694435933177676 ppm (-5.505252761679458E-4 m/z)", + "relativeIntensity" : 0.013338690103918588, + "mz" : 149.013988771638, + "recalibratedMass" : 149.01470376681436, + "peaks" : [ { + "intensity" : 75.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 149.013720936376 + }, { + "intensity" : 299.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 149.013988771638 + }, { + "intensity" : 255.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 149.015246811528 + } ], + "score" : 1.671718347473519, + "scores" : { + "TreeSizeScorer" : 0.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.12223820196012986, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.5098601122836199, + "ClippedPeakIsNoiseScorer" : 0.7840964371500289, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 13, + "molecularFormula" : "C10H8N", + "ion" : "[M + H]+", + "massDeviation" : "-1.3221940046347078 ppm (-1.891699475322639E-4 m/z)", + "recalibratedMassDeviation" : "3.333710650652999 ppm (4.769654096605791E-4 m/z)", + "relativeIntensity" : 0.00673141737535152, + "mz" : 143.072761538143, + "recalibratedMass" : 143.0734276735002, + "peaks" : [ { + "intensity" : 168.118270874023, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 143.072761538143 + }, { + "intensity" : 104.308815002441, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 143.07401284668 + }, { + "intensity" : 45.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 143.074736350629 + } ], + "score" : 1.4541130020089041, + "scores" : { + "TreeSizeScorer" : 0.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.10443130063215107, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.5692723846185701, + "ClippedPeakIsNoiseScorer" : 0.48927191802248526, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 14, + "molecularFormula" : "C8H5Cl", + "ion" : "[M + H]+", + "massDeviation" : "-7.1216500647878735 ppm (-9.757677455297653E-4 m/z)", + "recalibratedMassDeviation" : "-2.3114520999701407 ppm (-3.167034652165057E-4 m/z)", + "relativeIntensity" : 0.009097453186933346, + "mz" : 137.014278524345, + "recalibratedMass" : 137.01493758862532, + "peaks" : [ { + "intensity" : 30.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 137.012353655287 + }, { + "intensity" : 249.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 137.014278524345 + }, { + "intensity" : 150.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 137.014910793247 + } ], + "score" : 1.6796019066475418, + "scores" : { + "TreeSizeScorer" : 0.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.06723469013750483, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.62985721475655, + "ClippedPeakIsNoiseScorer" : 0.6169793820284969, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 15, + "molecularFormula" : "C9H7N", + "ion" : "[M + H]+", + "massDeviation" : "-4.693932974605689 ppm (-6.105141165448913E-4 m/z)", + "recalibratedMassDeviation" : "0.0 ppm (0.0 m/z)", + "relativeIntensity" : 0.013169040627239179, + "mz" : 130.064515161974, + "recalibratedMass" : 130.06512567609053, + "peaks" : [ { + "intensity" : 180.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 130.062595084552 + }, { + "intensity" : 75.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 130.062932087251 + }, { + "intensity" : 366.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 130.064515161974 + } ], + "score" : 1.9777624604643393, + "scores" : { + "TreeSizeScorer" : 0.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : 0.0, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.6993548483802601, + "ClippedPeakIsNoiseScorer" : 0.7784076120840793, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 16, + "molecularFormula" : "C7H5Cl", + "ion" : "[M + H]+", + "massDeviation" : "-7.572077605733799 ppm (-9.466180395349966E-4 m/z)", + "recalibratedMassDeviation" : "-2.9707185428347915 ppm (-3.7138403078529336E-4 m/z)", + "relativeIntensity" : 0.6351040221339551, + "mz" : 125.014307674051, + "recalibratedMass" : 125.01488290805975, + "peaks" : [ { + "intensity" : 2627.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 125.014210234006 + }, { + "intensity" : 14773.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 125.014307674051 + }, { + "intensity" : 12549.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 125.014371187472 + } ], + "score" : 5.711352860476965, + "scores" : { + "TreeSizeScorer" : 0.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.05837100000000017, + "Mass Deviation" : -0.0796817857251408, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.74985692325949, + "ClippedPeakIsNoiseScorer" : 3.7896597229426163, + "StrangeElementFragmentScorer" : 0.693147, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 17, + "molecularFormula" : "C9H7", + "ion" : "[M + H]+", + "massDeviation" : "-4.231415225772055 ppm (-4.9110465452884E-4 m/z)", + "recalibratedMassDeviation" : "0.18599185729384737 ppm (2.15866005675025E-5 m/z)", + "relativeIntensity" : 0.011133246907086261, + "mz" : 116.061560571436, + "recalibratedMass" : 116.0620732626911, + "peaks" : [ { + "intensity" : 45.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 116.057773265737 + }, { + "intensity" : 270.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 116.061560571436 + }, { + "intensity" : 210.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 116.06252226169 + } ], + "score" : 2.097860087257688, + "scores" : { + "TreeSizeScorer" : 0.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.05837100000000017, + "Mass Deviation" : -0.0043244674472150205, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.83938439428564, + "ClippedPeakIsNoiseScorer" : 0.7044291604192628, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 18, + "molecularFormula" : "C9H6", + "ion" : "[M + H]+", + "massDeviation" : "2.987019911741795 ppm (3.436702924659585E-4 m/z)", + "recalibratedMassDeviation" : "7.381915438388569 ppm (8.493268415747934E-4 m/z)", + "relativeIntensity" : 0.007713533167280343, + "mz" : 115.054570314383, + "recalibratedMass" : 115.05507597093211, + "peaks" : [ { + "intensity" : 213.739791870117, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 115.054570314383 + }, { + "intensity" : 150.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 115.05516672796 + } ], + "score" : 1.6966568554700618, + "scores" : { + "TreeSizeScorer" : 0.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.19943193237483844, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 0.84945429685617, + "ClippedPeakIsNoiseScorer" : 0.5466344909887302, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 19, + "molecularFormula" : "C5H3Cl", + "ion" : "[M + H]+", + "massDeviation" : "3.657430350258991 ppm (3.6208548146987596E-4 m/z)", + "recalibratedMassDeviation" : "6.724954934037173 ppm (6.657723542105032E-4 m/z)", + "relativeIntensity" : 0.0054075770691561845, + "mz" : 98.999966313572, + "recalibratedMass" : 99.00027000044474, + "peaks" : [ { + "intensity" : 45.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 98.998128961124 + }, { + "intensity" : 75.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 98.998707139648 + }, { + "intensity" : 135.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 98.999966313572 + } ], + "score" : 2.4503111641149884, + "scores" : { + "TreeSizeScorer" : 0.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.15107971337013218, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.0100003368642798, + "ClippedPeakIsNoiseScorer" : 0.3982435406208407, + "StrangeElementFragmentScorer" : 0.693147, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 20, + "molecularFormula" : "C7H4", + "ion" : "[M + H]+", + "massDeviation" : "-14.09003609689925 ppm (-0.0012545390815290602 m/z)", + "recalibratedMassDeviation" : "-10.452160016730344 ppm (-9.306357229235118E-4 m/z)", + "relativeIntensity" : 0.011769432444634048, + "mz" : 89.037322041009, + "recalibratedMass" : 89.03764594436761, + "peaks" : [ { + "intensity" : 315.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 89.037322041009 + }, { + "intensity" : 210.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 89.037423472355 + }, { + "intensity" : 30.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 89.038123713717 + } ], + "score" : 2.116589557359265, + "scores" : { + "TreeSizeScorer" : 0.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.22181419068040337, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.10962677958991, + "ClippedPeakIsNoiseScorer" : 0.7287769684497583, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + }, { + "id" : 21, + "molecularFormula" : "C2H3N3", + "ion" : "[M + H]+", + "massDeviation" : "1.7702477128452196 ppm (1.239883224712912E-4 m/z)", + "recalibratedMassDeviation" : "4.499974091226673 ppm (3.1517948461612377E-4 m/z)", + "relativeIntensity" : 1.0, + "mz" : 70.040097536413, + "recalibratedMass" : 70.04028872757515, + "peaks" : [ { + "intensity" : 5131.529296875, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 70.039827273652 + }, { + "intensity" : 17805.998046875, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 1, + "mz" : 70.039908024674 + }, { + "intensity" : 24218.52734375, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 2, + "mz" : 70.040097536413 + } ], + "score" : 13.120190598456494, + "scores" : { + "TreeSizeScorer" : 0.5, + "StrangeElementSmallFragmentScorer" : 0.0, + "Common Fragments" : 0.0, + "Mass Deviation" : -0.06689137666643918, + "CarbohydrogenFragment" : 0.0, + "MS2-Isotopes" : 0.0, + "FragmentSizeScorer" : 1.29959902463587, + "ClippedPeakIsNoiseScorer" : 11.387482950487064, + "StrangeElementFragmentScorer" : 0.0, + "CommonRootLoss" : 0.0, + "PhosphorScorer" : 0.0, + "Predefined" : 0.0, + "ImplicitAdductPeakScore" : 0.0 + } + } ], + "losses" : [ { + "source" : 0, + "target" : 1, + "molecularFormula" : "C2H3N3", + "score" : -4.81813153786506, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.6664372244936265, + "Loss RDBE" : 0.0, + "Mass Deviation" : -2.801390678581072, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.694804625936435, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 1, + "target" : 2, + "molecularFormula" : "H3N", + "score" : -0.9743436346507856, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : -0.11948631770900775, + "Loss RDBE" : 0.0, + "Mass Deviation" : -1.2840146412981046, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 0.4175307821975065, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 1, + "target" : 3, + "molecularFormula" : "CHN", + "score" : 0.0810592346526999, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.8327051934599607, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.14682817465066292, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -0.6164443263154182, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 1, + "target" : 4, + "molecularFormula" : "C2H4", + "score" : -0.3534233086799539, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.8796453182290644, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.15793189373842093, + "Free Radical" : -0.09373397349900595, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -0.9814027596715915, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 1, + "target" : 5, + "molecularFormula" : "C3H6", + "score" : -1.034030295917232, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 1.1054294477565412, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.23758391533178658, + "Free Radical" : -0.09373397349900595, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -1.8081418548429808, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 2, + "target" : 6, + "molecularFormula" : "C2H4", + "score" : -0.6615075708908357, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.8795937441051995, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.46596458182543776, + "Free Radical" : -0.09373397349900595, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -0.9814027596715915, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 4, + "target" : 7, + "molecularFormula" : "C2H2", + "score" : -0.30385098678480016, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.7806466386229776, + "Loss RDBE" : 0.0, + "Mass Deviation" : -1.301139384707421, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 0.20501521714082305, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 4, + "target" : 8, + "molecularFormula" : "C2H4", + "score" : -0.3550225003576503, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.8796154014904287, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.1595011686774816, + "Free Radical" : -0.09373397349900595, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -0.9814027596715915, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 2, + "target" : 9, + "molecularFormula" : "CH3Cl", + "score" : -0.19825162952431385, + "scores" : { + "StrangeElementLossScorer" : 0.6931471805599453, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 1.0415747583465595, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.15611195036155656, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -1.7884881602280824, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 5, + "target" : 10, + "molecularFormula" : "CHN", + "score" : 0.12057909127865941, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.8327091178857824, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.10731224245052505, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -0.6164443263154182, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 7, + "target" : 11, + "molecularFormula" : "CH4", + "score" : -0.004622776324140654, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : -0.2938367268961999, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.31341975939115974, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 0.5910071678043987, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 7, + "target" : 12, + "molecularFormula" : "H3N", + "score" : -0.23836484996367735, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : -0.11903606981265469, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.5484861045073495, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 0.4175307821975065, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 5, + "target" : 13, + "molecularFormula" : "Cl", + "score" : -2.0676945805471414, + "scores" : { + "StrangeElementLossScorer" : 0.6931471805599453, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 1.0679891749004824, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.6175986742415093, + "Free Radical" : -0.09373397349900595, + "PureCarbonNitrogenLossScorer" : -2.3025850929940455, + "CommonLossEdgeScorer" : -0.8149131952730082, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 8, + "target" : 14, + "molecularFormula" : "CHN", + "score" : -0.1745184374312293, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.8326838354525474, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.4023844887271788, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -0.6164443263154182, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 7, + "target" : 15, + "molecularFormula" : "ClH", + "score" : 1.2604022393269758, + "scores" : { + "StrangeElementLossScorer" : 0.6931471805599453, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 1.0808653308207727, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.1401502246891185, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -0.3850865895234441, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 10, + "target" : 16, + "molecularFormula" : "C2H2", + "score" : 0.9751787462713936, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.7807427913265004, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.02220580435475013, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 0.20501521714082305, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 13, + "target" : 17, + "molecularFormula" : "CHN", + "score" : 0.09247407554668366, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.832735910087079, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.13544405038379745, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -0.6164443263154182, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 10, + "target" : 18, + "molecularFormula" : "ClH", + "score" : 0.539518864596601, + "scores" : { + "StrangeElementLossScorer" : 0.6931471805599453, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 1.080846590800208, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.8610148593989285, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -0.3850865895234441, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 16, + "target" : 19, + "molecularFormula" : "C2H2", + "score" : 0.16861703788797755, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 0.7806731438869905, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.8286978652986563, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : 0.20501521714082305, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 16, + "target" : 20, + "molecularFormula" : "ClH", + "score" : 1.2621104107028407, + "scores" : { + "StrangeElementLossScorer" : 0.6931471805599453, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : 1.080865292356485, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.13844201484896576, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -0.3850865895234441, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + }, { + "source" : 0, + "target" : 21, + "molecularFormula" : "C13H14ClN", + "score" : -6.316756389659614, + "scores" : { + "StrangeElementLossScorer" : 0.0, + "FattyAcidChainScore" : 0.0, + "LossSizeScorer" : -3.4063012031961772, + "Loss RDBE" : 0.0, + "Mass Deviation" : -0.22727710268582155, + "Free Radical" : 0.011626542158820332, + "PureCarbonNitrogenLossScorer" : 0.0, + "CommonLossEdgeScorer" : -2.694804625936435, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "AdductSwitchLossScorer" : 0.0, + "MultimereLossScorer" : 0.0 + } + } ] +} \ No newline at end of file diff --git a/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/7_SiriusExport_2_output_0_7960809195137357048-676005--122--Fenamiphos/compound.config b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/7_SiriusExport_2_output_0_7960809195137357048-676005--122--Fenamiphos/compound.config new file mode 100644 index 00000000000..7f8f23a49b3 --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/7_SiriusExport_2_output_0_7960809195137357048-676005--122--Fenamiphos/compound.config @@ -0,0 +1,199 @@ +# Allows the USER to Specify the ScoreType that is used to rank the list of Molecular Formula +# Identifications +# before CSI:FingerID predictions are calculated. Auto means that this ScoreType is +# automatically set depending on the executed workflow. +FormulaResultRankingScore=AUTO +PrintCitations=True +RecomputeResults=False +# Maximum number of candidate molecular formulas (fragmentation trees computed by SIRIUS) +# per compound which are considered by ZODIAC. +# This is the threshold used for all compounds with mz below 300 m/z and is used to interpolate the +# number of candidates for larger compounds. +# If lower than 0, all available candidates are considered. +ZodiacNumberOfConsideredCandidatesAt300Mz=10 +# As default ZODIAC runs a 2-step approach. First running 'good quality compounds' only, and +# afterwards including the remaining. +ZodiacRunInTwoSteps=true +# Ratio of candidate molecular formulas (fragmentation trees computed by SIRIUS) per +# compound which are forced for each ionization to be considered by ZODIAC. +# This depends on the number of candidates ZODIAC considers. E.g. if 50 candidates are +# considered and a ratio of 0.2 is set, at least 10 candidates per ionization will be +# considered, which might increase the number of candidates above 50. +ZodiacRatioOfConsideredCandidatesPerIonization=0.2 +# cluster compounds before running ZODIAC +ZodiacClusterCompounds=false +# Maximum number of candidate molecular formulas (fragmentation trees computed by SIRIUS) +# per compound which are considered by ZODIAC. +# This is the threshold used for all compounds with mz above 800 m/z and is used to interpolate the +# number of candidates for smaller compounds. +# If lower than 0, all available candidates are considered. +ZodiacNumberOfConsideredCandidatesAt800Mz=50 +MotifDbFile=none +StructurePredictors=CSI_FINGERID +# Candidates matching the lipid class estimated by El Gordo will be tagged. +# The lipid class will only be available if El Gordo predicts that the MS/MS is a lipid spectrum. +# If this parameter is set to 'false' El Gordo will still be executed and e.g. improve the +# fragmentation +# tree, but the matching candidates will not be tagged as lipid class. +InjectElGordoCompounds=True +NumberOfStructureCandidates=10000 +FormulaSearchDB=none +StructureSearchDB=BIO +# Specifies if the list of Molecular Formula Identifications is filtered by a soft threshold +# (calculateThreshold) before CSI:FingerID predictions are calculated. +FormulaResultThreshold=true +MedianNoiseIntensity=0.015 +# This configuration holds a set of user given formulas to be used as candidates for SIRIUS +# Note: This set might be merged with other sources like formulas from databases +# Set of Molecular Formulas to be used as candidates for molecular formula estimation with +# SIRIUS +CandidateFormulas=, +# Keywords that can be assigned to a input spectrum to judge its quality. Available keywords +# are: Good, LowIntensity, NoMS1Peak, FewPeaks, Chimeric, NotMonoisotopicPeak, +# PoorlyExplained +CompoundQuality=UNKNOWN +# An adduct switch is a switch of the ionization mode within a spectrum, e.g. an ion replaces an +# sodium adduct +# with a protonation during fragmentation. Such adduct switches heavily increase the +# complexity of the +# analysis, but for certain adducts they might happen regularly. Adduct switches are written +# in the +# form {@literal a -> b, a -> c, d -> c} where a, b, c, and d are adducts and {@literal a -> b} denotes an +# allowed switch from +# a to b within the MS/MS spectrum. +PossibleAdductSwitches=[M+Na]+:[M+H]+,[M+K]+:[M+H]+,[M+Cl]-:[M-H]- +IsotopeMs2Settings=IGNORE +# use this parameter if you want to force to report at least +# numberOfResultsToKeepPerIonization results per ionization. +# if le 0, this parameter will have no effect and just the top +# numberOfResultsToKeep results will be reported. +NumberOfCandidatesPerIon=1 +# Enable/Disable the hypothesen driven recalibration of MS/MS spectra +# Must be either 'ALLOWED' or FORBIDDEN' +ForbidRecalibration=ALLOWED +NumberOfCandidates=10 +# Configuration profile to store instrument specific algorithm properties. +# Some of the default profiles are: 'qtof', 'orbitrap', 'fticr'. +AlgorithmProfile=default +NoiseThresholdSettings.intensityThreshold = 0.005 +NoiseThresholdSettings.maximalNumberOfPeaks = 60 +NoiseThresholdSettings.basePeak = NOT_PRECURSOR +NoiseThresholdSettings.absoluteThreshold = 0 + +# Mass accuracy setting for MS1 spectra. Mass accuracies are always written as "X ppm (Y Da)" +# with X and Y +# are numerical values. The ppm is a relative measure (parts per million), Da is an absolute +# measure. For each mass, the +# maximum of relative and absolute is used. +MS1MassDeviation.allowedMassDeviation = 10.0 ppm +MS1MassDeviation.standardMassDeviation = 10.0 ppm +MS1MassDeviation.massDifferenceDeviation = 5.0 ppm + +# Mass accuracy setting for MS2 spectra. Mass Accuracies are always written as "X ppm (Y Da)" +# with X and Y +# are numerical values. The ppm is a relative measure (parts per million), Da is an absolute +# measure. For each mass, the +# maximum of relative and absolute is used. +MS2MassDeviation.allowedMassDeviation = 10.0 ppm +MS2MassDeviation.standardMassDeviation = 10.0 ppm + +# Describes how to deal with Adducts: +# Pos Examples: +# [M+H]+,[M]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+Na2-H]+,[M+2K-H]+,[M+NH4]+,[M+H3O]+,[M+MeOH+H]+,[M+ACN+H]+,[M+2ACN+H]+,[M+IPA+H]+,[M+ACN+Na]+,[M+DMSO+H]+ +# Neg Examples: +# [M-H]-,[M]-,[M+K-2H]-,[M+Cl]-,[M-H2O-H]-,[M+Na-2H]-,M+FA-H]-,[M+Br]-,[M+HAc-H]-,[M+TFA-H]-,[M+ACN-H]- +# Enforced ion modes that are always considered. +AdductSettings.enforced = , +# Detectable ion modes which are only considered if there is an indication in the MS1 scan (e.g. +# correct mass delta). +AdductSettings.detectable = [M+H]+,[M+K]+,[M+Na]+,[M+H-H2O]+,[M+H-H4O2]+,[M+NH4]+,[M-H]-,[M+Cl]-,[M-H2O-H]-,[M+Br]- +# Fallback ion modes which are considered if the auto detection did not find any indication for +# an ion mode. +AdductSettings.fallback = [M+H]+,[M-H]-,[M+Na]+,[M+K]+ + +# These configurations hold the information how to autodetect elements based on the given +# formula constraints. +# Note: If the compound is already assigned to a specific molecular formula, this annotation is +# ignored. +# Enforced elements are always considered +FormulaSettings.enforced = C,H,N,O,P +# Detectable elements are added to the chemical alphabet, if there are indications for them +# (e.g. in isotope pattern) +FormulaSettings.detectable = S,Br,Cl,B,Se +# Fallback elements are used, if the auto-detection fails (e.g. no isotope pattern available) +FormulaSettings.fallback = S + +# This configurations define how to deal with isotope patterns in MS1. +# When filtering is enabled, molecular formulas are excluded if their theoretical isotope +# pattern does not match +# the theoretical one, even if their MS/MS pattern has high score. +IsotopeSettings.filter = True +# multiplier for the isotope score. Set to 0 to disable isotope scoring. Otherwise, the score +# from isotope +# pattern analysis is multiplied with this coefficient. Set to a value larger than one if your +# isotope +# pattern data is of much better quality than your MS/MS data. +IsotopeSettings.multiplier = 1 + +# This configurations define a timeout for the tree computation. As the underlying problem is +# NP-hard, it might take +# forever to compute trees for very challenging (e.g. large mass) compounds. Setting an time +# constraint allow the program +# to continue with other instances and just skip the challenging ones. +# Note that, due to multithreading, this time constraints are not absolutely accurate. +# Set the maximum number of seconds for computing a single compound. Set to 0 to disable the time +# constraint. +Timeout.secondsPerInstance = 0 +# Set the maximum number of seconds for a single molecular formula check. Set to 0 to disable the +# time constraint +Timeout.secondsPerTree = 0 +# Ignore isotope peaks below this intensity. +# This value should reflect the smallest relative intensive which is still above noise level. +# Obviously, this is hard to judge without having absolute values. Keeping this value around 1 +# percent is +# fine for most settings. Set it to smaller values if you trust your small intensities. +ms1.minimalIntensityToConsider = 0.01 +# The average absolute deviation between theoretical and measured intensity of isotope +# peaks. +# Do not change this parameter without a good reason! +ms1.absoluteIntensityError = 0.02 +# The average relative deviation between theoretical and measured intensity of isotope +# peaks. +# Do not change this parameter without a good reason! +ms1.relativeIntensityError = 0.08 +# Set minimum m/z to enable heuristic preprocessing. The heuristic will be used to initially +# rank the formula candidates. The Top (NumberOfCandidates) candidates will then be +# computed exactly by solving the ILP. +UseHeuristic.mzToUseHeuristic = 300 +# Set minimum m/z to only use heuristic tree computation. No exact tree computation (ILP) will +# be performed for this compounds. +UseHeuristic.mzToUseHeuristicOnly = 650 + +# Defines the proportion of edges of the complete network which will be ignored. +ZodiacEdgeFilterThresholds.thresholdFilter = 0.95 +# Minimum number of candidates per compound which are forced to have at least +# [minLocalConnections] connections to other compounds. +# E.g. 2 candidates per compound must have at least 10 connections to other compounds +ZodiacEdgeFilterThresholds.minLocalCandidates = 1 +# Minimum number of connections per candidate which are forced for at least +# [minLocalCandidates] candidates to other compounds. +# E.g. 2 candidates per compound must have at least 10 connections to other compounds +ZodiacEdgeFilterThresholds.minLocalConnections = 10 + +# Number of epochs to run the Gibbs sampling. When multiple Markov chains are computed, all +# chains' iterations sum up to this value. +ZodiacEpochs.iterations = 20000 +# Number of epochs considered as 'burn-in period'. +# Samples from the beginning of a Markov chain do not accurately represent the desired +# distribution of candidates and are not used to estimate the ZODIAC score. +ZodiacEpochs.burnInPeriod = 2000 +# Number of separate Gibbs sampling runs. +ZodiacEpochs.numberOfMarkovChains = 10 + +# Lambda used in the scoring function of spectral library hits. The higher this value the higher +# are librar hits weighted in ZODIAC scoring. +ZodiacLibraryScoring.lambda = 1000 +# Spectral library hits must have at least this cosine or higher to be considered in scoring. +# Value must be in [0,1]. +ZodiacLibraryScoring.minCosine = 0.5 + diff --git a/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/7_SiriusExport_2_output_0_7960809195137357048-676005--122--Fenamiphos/compound.info b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/7_SiriusExport_2_output_0_7960809195137357048-676005--122--Fenamiphos/compound.info new file mode 100644 index 00000000000..ceb6a218d81 --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/7_SiriusExport_2_output_0_7960809195137357048-676005--122--Fenamiphos/compound.info @@ -0,0 +1,6 @@ +index 7 +name SiriusExport_2_output_0_7960809195137357048-676005--122--Fenamiphos +ionMass 326.094454354613 +ionType [M + Na]+ +rt 447.10000000002:NaN,NaN +rankingScoreType sirius.scores.SiriusScore diff --git a/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/7_SiriusExport_2_output_0_7960809195137357048-676005--122--Fenamiphos/formula_candidates.tsv b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/7_SiriusExport_2_output_0_7960809195137357048-676005--122--Fenamiphos/formula_candidates.tsv new file mode 100644 index 00000000000..2c03c9e7d6d --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/7_SiriusExport_2_output_0_7960809195137357048-676005--122--Fenamiphos/formula_candidates.tsv @@ -0,0 +1,2 @@ +formulaRank molecularFormula adduct precursorFormula SiriusScore TreeScore IsotopeScore numExplainedPeaks explainedIntensity medianMassErrorFragmentPeaks(ppm) medianAbsoluteMassErrorFragmentPeaks(ppm) massErrorPrecursor(ppm) lipidClass +1 C13H22NO3PS [M + Na]+ C13H22NO3PS -2.3675697077238156 -2.3675697077238156 0.0 1 0.0 -1.7404143799237406 1.7404143799237406 -1.7404143799237406 diff --git a/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/7_SiriusExport_2_output_0_7960809195137357048-676005--122--Fenamiphos/scores/C13H22NO3PS_[M+Na]+.info b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/7_SiriusExport_2_output_0_7960809195137357048-676005--122--Fenamiphos/scores/C13H22NO3PS_[M+Na]+.info new file mode 100644 index 00000000000..76ae94bace5 --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/7_SiriusExport_2_output_0_7960809195137357048-676005--122--Fenamiphos/scores/C13H22NO3PS_[M+Na]+.info @@ -0,0 +1,3 @@ +sirius.scores.IsotopeScore 0.0 +sirius.scores.TreeScore -2.3675697077238156 +sirius.scores.SiriusScore -2.3675697077238156 diff --git a/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/7_SiriusExport_2_output_0_7960809195137357048-676005--122--Fenamiphos/spectra/C13H22NO3PS_[M+Na]+.tsv b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/7_SiriusExport_2_output_0_7960809195137357048-676005--122--Fenamiphos/spectra/C13H22NO3PS_[M+Na]+.tsv new file mode 100644 index 00000000000..c4a92bb44d3 --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/7_SiriusExport_2_output_0_7960809195137357048-676005--122--Fenamiphos/spectra/C13H22NO3PS_[M+Na]+.tsv @@ -0,0 +1,2 @@ +mz intensity rel.intensity exactmass formula ionization +326.094454 90.00 100.00 326.095022 C13H22NO3PS [M + Na]+ diff --git a/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/7_SiriusExport_2_output_0_7960809195137357048-676005--122--Fenamiphos/spectrum.ms b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/7_SiriusExport_2_output_0_7960809195137357048-676005--122--Fenamiphos/spectrum.ms new file mode 100644 index 00000000000..a427c1111d9 --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/7_SiriusExport_2_output_0_7960809195137357048-676005--122--Fenamiphos/spectrum.ms @@ -0,0 +1,178 @@ +>compound 0_7960809195137357048-676005--122--Fenamiphos +>formula C13H22NO3PS +>parentmass 326.094454354613 +>ionization [M + Na]+ +>instrumentation Unknown (LCMS) +>source file:///home/axel/dev/OpenMS/src/tests/topp/SiriusExport_2_output.ms +>quality UNKNOWN +>rt 447.10000000002s + +>ms1merged +##fid 7960809195137357048 +##fmz 326.094454354612708 +##des Fenamiphos +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source format [MS, MS:1000562, ABI WIFF format,] +326.094454354613 187407.0768380293 +327.096383244799 30166.116877709566 + +>ms1peaks +52.005351813457 2501.610107421875 +53.013412581284 13134.5205078125 +53.850226225992 1302.909057617188 +54.009140063564 338983.65625 +55.006042248338 6435.41259765625 +55.011148435189 6609.39404296875 +55.054172395822 1772.104248046875 +55.934029229957 5757.919921875 +56.941868288709 2705.908203125 +59.049392394217 65787.7578125 +60.04419739655 9389.001953125 +61.039698624921 1629.770751953125 +63.997582420249 4596.09619140625 +64.004915539546 4860.728515625 +68.011405901665 27484.29296875 +68.993238795734 11816.1728515625 +69.044514210085 12151.7626953125 +72.936346245282 1770.0 +73.063844648998 1632.810180664062 +76.485866327556 2207.0 +79.020638014668 15456.1591796875 +80.048700307132 11716.7060546875 +81.936658440041 8339.158203125 +82.995849176432 8191.0 +87.054215388379 1432.329345703125 +89.50580663687 1376.0 +90.488666027165 1798.0 +95.952211902793 2472.0 +97.967974119285 6640.0 +100.0745588278 1418.0 +102.090063528932 1768.0 +109.942148206295 1646.0 +113.96281092092 1728.0009765625 +114.090265101894 9843.087890625 +118.085166173822 5466.14697265625 +122.095082275611 3591.515380859375 +122.962671452755 9919.435546875 +123.090603383338 1818.105346679688 +130.157985838236 1433.0 +136.020144210415 1305.642211914062 +141.111768954054 1381.647338867188 +141.957291332652 13999.958984375 +147.090365251433 2315.56494140625 +149.021998403294 4169.404296875 +151.095653127576 2632.1923828125 +151.109600618565 2638.50390625 +155.06904919199 1400.58837890625 +155.10522171537 1306.244873046875 +155.972774632456 3955.750244140625 +158.152847157321 10190.6318359375 +161.094883274868 1469.0 +164.993233307885 1413.0 +170.0947568042 2692.873779296875 +173.07909618349 5464.607421875 +174.990754641374 1338.0 +175.120920396226 1335.489135742188 +178.157288006504 1567.557739257812 +179.104881581157 1856.0 +182.960071822982 1596.667236328125 +186.016812097735 3128.0 +194.115183195725 3037.01904296875 +195.105676043577 1846.959228515625 +195.121034909827 2138.53466796875 +198.183715433637 1614.0 +201.983396783946 6476.0 +217.007534943089 16000.083984375 +217.105603079 12722.193359375 +218.010461830348 1723.0 +218.108916975941 1918.0 +219.094207015885 1394.0 +234.033666185649 17919.0 +235.036061869219 1699.0 +239.087710708037 2715.0 +245.038087259231 3705.0 +246.860587751512 3017.0 +250.998652800198 2461.0 +252.996040050118 1751.0 +262.065226573716 31878.271484375 +263.067812997194 3540.0 +264.062744585962 1732.0 +276.080875651007 47441.0 +277.083729023421 6202.904296875 +278.078049070253 2909.8056640625 +279.092264164105 2269.0 +281.049607531965 1759.0 +284.16370925301 5971.3173828125 +285.167422523505 1450.9375 +289.120547785899 45105.26171875 +290.122834000335 8899.0 +291.11814896433 16223.0 +292.119468760172 3916.748291015625 +303.104211105075 4272.90087890625 +303.190626643079 3701.817626953125 +304.121038021889 1154982.0 +304.680120827865 1361.469604492188 +304.720450396369 1578.193115234375 +304.756696628278 1464.1357421875 +304.826755934771 1415.802856445312 +304.888295222133 4211.7490234375 +304.975939340234 6444.7470703125 +305.112954471951 109660.9765625 +306.110248734555 72833.0 +307.111946842557 10169.5791015625 +307.247397220322 1757.839477539062 +310.1202124831 5088.0 +320.107070842572 7286.0 +321.109817317563 1634.396606445312 +321.134008500327 1645.504272460938 +326.094135509242 51581.21484375 +327.006663634739 3305.2880859375 +327.096918826684 8025.06396484375 +328.09087936356 3401.237060546875 +329.002848029289 3721.0 +330.204815446188 11820.9521484375 +331.208232327135 2889.0 +342.067980362905 3189.39501953125 +349.169296376205 25098.0 +350.172883605486 4323.0 +351.167291455015 1724.0 +372.149200119315 2817.47705078125 +404.03600410036 11013.0 +405.038241871311 2224.6796875 +424.359699824875 1469.0 +445.117347283461 1962.204711914062 +500.274802921042 11554.1630859375 +501.277725760601 3400.0 +502.28653995658 1910.0 +505.85089556432 2188.0 +536.162361057972 4668.0 +537.163239801382 2428.0 +538.161608472883 1869.0 +544.336387601713 1598.0 +546.911505452596 1493.0 +549.965979448424 1640.0 +592.225456903764 1675.0 +607.216655018496 74091.0 +608.219193446659 23449.0 +609.2158525552 11438.5283203125 +610.208425679746 4454.0 +611.188234775837 1805.798706054688 +612.220726308427 4082.0 +613.22450541899 34075.0 +614.227906702716 11171.0 +615.225014693998 5343.0 +623.210784148654 2510.0 +629.198405169302 68640.0 +630.201595235063 21340.328125 +631.198284234777 10581.0 +632.198298853566 2483.0 +707.140261218123 1384.0 + +>ms2peaks +##specref ms_run[1]:sample=1 period=1 cycle=676 experiment=5 +##scan 122 +##n_id sample=1 period=1 cycle=676 experiment=5 +##m_id Fenamiphos_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=676 experiment=5_0 +135.110573680588 13.0 +326.090792568903 90.0 + diff --git a/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/7_SiriusExport_2_output_0_7960809195137357048-676005--122--Fenamiphos/trees/C13H22NO3PS_[M+Na]+.json b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/7_SiriusExport_2_output_0_7960809195137357048-676005--122--Fenamiphos/trees/C13H22NO3PS_[M+Na]+.json new file mode 100644 index 00000000000..eb8904755f9 --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/7_SiriusExport_2_output_0_7960809195137357048-676005--122--Fenamiphos/trees/C13H22NO3PS_[M+Na]+.json @@ -0,0 +1,55 @@ +{ + "molecularFormula" : "C13H22NO3PS", + "root" : "C13H22NO3PS", + "annotations" : { + "precursorIonType" : "[M + Na]+", + "nodeBoost" : 3.0, + "numberOfUnconsideredCandidates" : 0, + "lowestConsideredCandidateScore" : -2.3675697077238156, + "statistics" : { + "explainedIntensity" : 0.0, + "explainedIntensityOfExplainablePeaks" : 0.0, + "ratioOfExplainedPeaks" : 0.0 + }, + "recalibration" : { + "merged" : "1.0x" + } + }, + "fragments" : [ { + "id" : 0, + "molecularFormula" : "C13H22NO3PS", + "ion" : "[M + Na]+", + "massDeviation" : "-1.7404143799237406 ppm (-5.675394775721543E-4 m/z)", + "recalibratedMassDeviation" : "-1.7404143799237406 ppm (-5.675394775721543E-4 m/z)", + "relativeIntensity" : 1.0, + "mz" : 326.094454354613, + "recalibratedMass" : 326.094454354613, + "peaks" : [ { + "intensity" : 90.0, + "ce" : "-1 eV (corrected -1 eV)", + "spectrum" : 0, + "mz" : 326.090792568903 + } ], + "score" : -2.3675697077238156, + "scores" : { + "Chemical Prior" : 1.0, + "MS-Isotopes" : 0.0, + "CommonRootLoss" : 0.0, + "Mass Deviation" : -0.14869388285561508, + "CarbohydrogenCompound" : 0.0, + "motif-search" : 0.0, + "MS2-Isotopes" : 0.0, + "PhosphorScorer" : 0.0, + "BeautificationScorer" : -0.0, + "ImplicitAdductPeakScore" : 0.0, + "IntrinsicallyChargedScorer" : 0.0, + "StrangeElementRootScorer" : -3.2188758248682006 + }, + "isotopes" : { + "score" : -0.3066782904273615, + "mz" : [ 326.094454354613, 327.096383244799 ], + "relInt" : [ 1.0, 0.1609657297188478 ] + } + } ], + "losses" : [ ] +} \ No newline at end of file diff --git a/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/canopus_formula_summary.tsv b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/canopus_formula_summary.tsv new file mode 100644 index 00000000000..3d95322d327 --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/canopus_formula_summary.tsv @@ -0,0 +1 @@ +id molecularFormula adduct precursorFormula NPC#pathway NPC#pathway Probability NPC#superclass NPC#superclass Probability NPC#class NPC#class Probability ClassyFire#most specific class ClassyFire#most specific class Probability ClassyFire#level 5 ClassyFire#level 5 Probability ClassyFire#subclass ClassyFire#subclass Probability ClassyFire#class ClassyFire#class Probability ClassyFire#superclass ClassyFire#superclass probability ClassyFire#all classifications featureId diff --git a/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/formula_identifications.tsv b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/formula_identifications.tsv new file mode 100644 index 00000000000..21c8366690c --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/formula_identifications.tsv @@ -0,0 +1,4 @@ +formulaRank molecularFormula adduct precursorFormula SiriusScore TreeScore IsotopeScore numExplainedPeaks explainedIntensity medianMassErrorFragmentPeaks(ppm) medianAbsoluteMassErrorFragmentPeaks(ppm) massErrorPrecursor(ppm) lipidClass ionMass retentionTimeInSeconds id featureId +1 C16H25NO2 [M + Na]+ C16H25NO2 37.77674634435295 37.77674634435295 0.0 13 0.8419395465994967 -3.076517427408221 4.831274574031946 4.466968600002982 286.17903 438.351 1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN N/A +1 C15H17ClN4 [M + H]+ C15H17ClN4 39.34241769057247 36.691010794465846 2.6514068961066233 22 0.9685426989556167 -4.462674100188872 4.8724686384496785 4.02875003592188 289.12262 448.02799999998 2_SiriusExport_2_output_0_5053681185761206615-676004--121--Myclobutanil N/A +1 C13H22NO3PS [M + Na]+ C13H22NO3PS -2.3675697077238156 -2.3675697077238156 0.0 1 0.0 -1.7404143799237406 1.7404143799237406 -1.7404143799237406 326.09445 447.10000000002 7_SiriusExport_2_output_0_7960809195137357048-676005--122--Fenamiphos N/A diff --git a/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/report.mztab b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/report.mztab new file mode 100644 index 00000000000..1b0f8e25f62 --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetabo-in-SIRIUS-project/report.mztab @@ -0,0 +1,34 @@ +MTD mzTab-version 2.0.0-M +MTD mzTab-ID SIRIUS-3e6291f4-b8bc-4b73-bde0-ffa971fc61d2 +MTD title SIRIUS Analysis Report: 3e6291f4-b8bc-4b73-bde0-ffa971fc61d2 +MTD software[1] [, , SIRIUS, 4.13.1] +MTD ms_run[1]-location /home/axel/dev/OpenMS/src/tests/topp/SiriusExport_2_output.ms +MTD ms_run[1]-scan_polarity[1] [MS, MS:1000130, positive scan, ] +MTD cv[1]-label MS +MTD cv[1]-uri URL:https://raw.githubusercontent.com/HUPO-PSI/psi-ms-CV/master/psi-ms.obo +MTD cv[1]-version 4.1.16 +MTD cv[1]-full_name PSI-MS controlled vocabulary +MTD small_molecule-identification_reliability [MS, MS:1002955, hr-ms compound identification confidence level, ] +MTD database[1] [, , no database, null] +MTD database[1]-prefix null +MTD database[1]-uri null +MTD database[1]-version Unknown +MTD database[2] [, , CSI:FingerID PubChem Copy, CID] +MTD database[2]-prefix CID +MTD database[2]-uri https://pubchem.ncbi.nlm.nih.gov/compound/ +MTD database[2]-version Unknown + +SMH SML_ID SMF_ID_REFS database_identifier chemical_formula smiles inchi chemical_name uri theoretical_neutral_mass adduct_ions reliability best_id_confidence_measure best_id_confidence_value +SML 1 1 null C15H17ClN4 null null null null 288.11417422399995 [M + H]+ 4 null null +SML 2 2 null C13H22NO3PS null null null null 303.10580119400004 [M + Na]+ 4 null null +SML 10 10 null C16H25NO2 null null null null 263.18852904 [M + Na]+ 4 null null + +SFH SMF_ID SME_ID_REFS SME_ID_REF_ambiguity_code adduct_ion isotopomer exp_mass_to_charge charge retention_time_in_seconds retention_time_in_seconds_start retention_time_in_seconds_end +SMF 1 1 2 [M + H]+ null 289.122615478838 1 448.02799999998 null null +SMF 2 2 2 [M + Na]+ null 326.094454354613 1 447.10000000002 null null +SMF 10 10 2 [M + Na]+ null 286.179028092823 1 438.351 null null + +SEH SME_ID evidence_input_id database_identifier chemical_formula smiles inchi chemical_name uri derivatized_form adduct_ion exp_mass_to_charge charge theoretical_mass_to_charge spectra_ref identification_method ms_level rank opt_global_SIRIUS:sirius_score opt_global_SIRIUS:isotope_score opt_global_SIRIUS:tree_score opt_global_SIRIUS:zodiac_score opt_global_SIRIUS:explained_intensity_ratio opt_global_SIRIUS:explained_intensity_of_explainable_peaks_ratio opt_global_SIRIUS:explained_peaks_ratio opt_global_SIRIUS:annotated_spectra_location opt_global_SIRIUS:tree_location opt_global_SIRIUS:candidate_location +SME 1 2_SiriusExport_2_output_0_5053681185761206615-676004--121--Myclobutanil:289.122615478838:M+H+ null C15H17ClN4 null null null null null [M + H]+ 289.122615478838 1 289.1214506760905 ms_run[1]:sample=1 period=1 cycle=676 experiment=4|ms_run[1]:sample=1 period=1 cycle=677 experiment=5|ms_run[1]:sample=1 period=1 cycle=678 experiment=3 [, , SIRIUS, 4.13.1] [MS, MS:1000511, ms_level, 2] 1 39.34241769057247 2.6514068961066233 36.691010794465846 N/A 0.9685426989556167 0.980955482459397 0.7 spectra/C15H17ClN4_[M+H]+.tsv trees/C15H17ClN4_[M+H]+.json 2_SiriusExport_2_output_0_5053681185761206615-676004--121--Myclobutanil/formula_candidates.tsv +SME 2 7_SiriusExport_2_output_0_7960809195137357048-676005--122--Fenamiphos:326.094454354613:M+Na+ null C13H22NO3PS null null null null null [M + Na]+ 326.094454354613 1 326.09502189409056 ms_run[1]:sample=1 period=1 cycle=676 experiment=5 [, , SIRIUS, 4.13.1] [MS, MS:1000511, ms_level, 2] 1 -2.3675697077238156 0.0 -2.3675697077238156 N/A 0.0 0.0 0.0 spectra/C13H22NO3PS_[M+Na]+.tsv trees/C13H22NO3PS_[M+Na]+.json 7_SiriusExport_2_output_0_7960809195137357048-676005--122--Fenamiphos/formula_candidates.tsv +SME 10 1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN:286.179028092823:M+Na+ null C16H25NO2 null null null null null [M + Na]+ 286.179028092823 1 286.1777497400905 ms_run[1]:sample=1 period=1 cycle=664 experiment=3|ms_run[1]:sample=1 period=1 cycle=665 experiment=5|ms_run[1]:sample=1 period=1 cycle=666 experiment=3 [, , SIRIUS, 4.13.1] [MS, MS:1000511, ms_level, 2] 1 37.77674634435295 0.0 37.77674634435295 N/A 0.8419395465994967 0.9419915453264445 0.36363636363636365 spectra/C16H25NO2_[M+Na]+.tsv trees/C16H25NO2_[M+Na]+.json 1_SiriusExport_2_output_0_10333458062711546021-664003--57--UNKNOWN/formula_candidates.tsv diff --git a/src/tests/topp/AssayGeneratorMetaboSirius_output_1.tsv b/src/tests/topp/AssayGeneratorMetaboSirius_output_1.tsv new file mode 100644 index 00000000000..9b4cb779df1 --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetaboSirius_output_1.tsv @@ -0,0 +1,4 @@ +PrecursorMz ProductMz PrecursorCharge ProductCharge LibraryIntensity NormalizedRetentionTime PeptideSequence ModifiedPeptideSequence PeptideGroupLabel LabelType CompoundName SumFormula SMILES Adducts ProteinId UniprotId GeneName FragmentType FragmentSeriesNumber Annotation CollisionEnergy PrecursorIonMobility TransitionGroupId TransitionId Decoy DetectingTransition IdentifyingTransition QuantifyingTransition Peptidoforms +289.12299999999999 70.040098 1 1 1.0 448.02800000000002 Myclobutanil C15H17ClN4 NA [M+H]+ -1 C2H3N3 -1.0 -1.0 0_Myclobutanil_[M+H]+_448_0 0_0_Myclobutanil_[M+H]+_448_0 0 1 0 1 +289.12299999999999 125.014308 1 1 0.609987497329712 448.02800000000002 Myclobutanil C15H17ClN4 NA [M+H]+ -1 C7H5Cl -1.0 -1.0 0_Myclobutanil_[M+H]+_448_0 0_1_Myclobutanil_[M+H]+_448_0 0 1 0 1 +289.12299999999999 151.02990299999999 1 1 0.143196150660515 448.02800000000002 Myclobutanil C15H17ClN4 NA [M+H]+ -1 C9H7Cl -1.0 -1.0 0_Myclobutanil_[M+H]+_448_0 0_2_Myclobutanil_[M+H]+_448_0 0 1 0 1 diff --git a/src/tests/topp/AssayGeneratorMetaboSirius_output_2.tsv b/src/tests/topp/AssayGeneratorMetaboSirius_output_2.tsv new file mode 100644 index 00000000000..f4e1f2443a6 --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetaboSirius_output_2.tsv @@ -0,0 +1,7 @@ +PrecursorMz ProductMz PrecursorCharge ProductCharge LibraryIntensity NormalizedRetentionTime PeptideSequence ModifiedPeptideSequence PeptideGroupLabel LabelType CompoundName SumFormula SMILES Adducts ProteinId UniprotId GeneName FragmentType FragmentSeriesNumber Annotation CollisionEnergy PrecursorIonMobility TransitionGroupId TransitionId Decoy DetectingTransition IdentifyingTransition QuantifyingTransition Peptidoforms +286.178999999999974 98.059279000000004 1 1 1.0 438.350999999999999 UNKNOWN_0 C16H25NO2 NA [M+Na]+ -1 C5H7NO -1.0 -1.0 0_UNKNOWN_0_[M+Na]+_438_0 0_0_UNKNOWN_0_[M+Na]+_438_0 0 1 0 1 +286.178999999999974 140.069591000000003 1 1 0.585595011711121 438.350999999999999 UNKNOWN_0 C16H25NO2 NA [M+Na]+ -1 C5H11NO2 -1.0 -1.0 0_UNKNOWN_0_[M+Na]+_438_0 0_1_UNKNOWN_0_[M+Na]+_438_0 0 1 0 1 +286.178999999999974 56.049919000000003 1 1 0.062630482017994 438.350999999999999 UNKNOWN_0 C16H25NO2 NA [M+Na]+ -1 C3H5N -1.0 -1.0 0_UNKNOWN_0_[M+Na]+_438_0 0_2_UNKNOWN_0_[M+Na]+_438_0 0 1 0 1 +289.12299999999999 70.040098 1 1 1.0 448.02800000000002 Myclobutanil C15H17ClN4 NA [M+H]+ -1 C2H3N3 -1.0 -1.0 1_Myclobutanil_[M+H]+_448_0 1_0_Myclobutanil_[M+H]+_448_0 0 1 0 1 +289.12299999999999 125.014308 1 1 0.609987497329712 448.02800000000002 Myclobutanil C15H17ClN4 NA [M+H]+ -1 C7H5Cl -1.0 -1.0 1_Myclobutanil_[M+H]+_448_0 1_1_Myclobutanil_[M+H]+_448_0 0 1 0 1 +289.12299999999999 151.02990299999999 1 1 0.143196150660515 448.02800000000002 Myclobutanil C15H17ClN4 NA [M+H]+ -1 C9H7Cl -1.0 -1.0 1_Myclobutanil_[M+H]+_448_0 1_2_Myclobutanil_[M+H]+_448_0 0 1 0 1 diff --git a/src/tests/topp/AssayGeneratorMetaboSirius_output_3.tsv b/src/tests/topp/AssayGeneratorMetaboSirius_output_3.tsv new file mode 100644 index 00000000000..6dcf6395580 --- /dev/null +++ b/src/tests/topp/AssayGeneratorMetaboSirius_output_3.tsv @@ -0,0 +1,7 @@ +PrecursorMz ProductMz PrecursorCharge ProductCharge LibraryIntensity NormalizedRetentionTime PeptideSequence ModifiedPeptideSequence PeptideGroupLabel LabelType CompoundName SumFormula SMILES Adducts ProteinId UniprotId GeneName FragmentType FragmentSeriesNumber Annotation CollisionEnergy PrecursorIonMobility TransitionGroupId TransitionId Decoy DetectingTransition IdentifyingTransition QuantifyingTransition Peptidoforms +289.12299999999999 70.040098 1 1 1.0 448.02800000000002 Myclobutanil C15H17ClN4 NA [M+H]+ -1 C2H3N3 -1.0 -1.0 0_Myclobutanil_[M+H]+_448_0 0_0_Myclobutanil_[M+H]+_448_0 0 1 0 1 +289.12299999999999 53.013424000000001 1 1 1.0 448.02800000000002 Myclobutanil_decoy C15H17ClN4 NA [M+H]+ -1 C2N2 -1.0 -1.0 0_Myclobutanil_decoy_[M+H]+_448_0 0_0_Myclobutanil_decoy_[M+H]+_448_0 1 1 0 1 +289.12299999999999 125.014308 1 1 0.609987497329712 448.02800000000002 Myclobutanil C15H17ClN4 NA [M+H]+ -1 C7H5Cl -1.0 -1.0 0_Myclobutanil_[M+H]+_448_0 0_1_Myclobutanil_[M+H]+_448_0 0 1 0 1 +289.12299999999999 194.047951000000012 1 1 0.63510000705719 448.02800000000002 Myclobutanil_decoy C15H17ClN4 NA [M+H]+ -1 C9H8ClN3 -1.0 -1.0 0_Myclobutanil_decoy_[M+H]+_448_0 0_1_Myclobutanil_decoy_[M+H]+_448_0 1 1 0 1 +289.12299999999999 151.02990299999999 1 1 0.143196150660515 448.02800000000002 Myclobutanil C15H17ClN4 NA [M+H]+ -1 C9H7Cl -1.0 -1.0 0_Myclobutanil_[M+H]+_448_0 0_2_Myclobutanil_[M+H]+_448_0 0 1 0 1 +289.12299999999999 220.063601000000006 1 1 0.151199996471405 448.02800000000002 Myclobutanil_decoy C15H17ClN4 NA [M+H]+ -1 C11H10ClN3 -1.0 -1.0 0_Myclobutanil_decoy_[M+H]+_448_0 0_2_Myclobutanil_decoy_[M+H]+_448_0 1 1 0 1 diff --git a/src/tests/topp/CMakeLists.txt b/src/tests/topp/CMakeLists.txt index 4a69e4d95cf..99c6352a847 100644 --- a/src/tests/topp/CMakeLists.txt +++ b/src/tests/topp/CMakeLists.txt @@ -1212,16 +1212,6 @@ add_test("TOPP_MapAlignerIdentification_8" ${TOPP_BIN_PATH}/MapAlignerIdentifica add_test("TOPP_MapAlignerIdentification_8_out1" ${DIFF} -in1 MapAlignerIdentification_8_output1.tmp.trafoXML -in2 ${DATA_DIR_TOPP}/MapAlignerIdentification_8_output1.trafoXML) set_tests_properties("TOPP_MapAlignerIdentification_8_out1" PROPERTIES DEPENDS "TOPP_MapAlignerIdentification_8") -#------------------------------------------------------------------------------ -# MapAlignerSpectrum tests: -add_test("TOPP_MapAlignerSpectrum_1" ${TOPP_BIN_PATH}/MapAlignerSpectrum -test -ini ${DATA_DIR_TOPP}/MapAlignerSpectrum_parameters.ini -in ${DATA_DIR_TOPP}/MapAlignerSpectrum_1_input1.mzML ${DATA_DIR_TOPP}/MapAlignerSpectrum_1_input2.mzML ${DATA_DIR_TOPP}/MapAlignerSpectrum_1_input3.mzML -out MapAlignerSpectrum_1_output1.tmp.mzML MapAlignerSpectrum_1_output2.tmp.mzML MapAlignerSpectrum_1_output3.tmp.mzML) -add_test("TOPP_MapAlignerSpectrum_1_out1" ${DIFF} -whitelist ${INDEX_WHITELIST} -in1 MapAlignerSpectrum_1_output1.tmp.mzML -in2 ${DATA_DIR_TOPP}/MapAlignerSpectrum_1_output1.mzML ) -set_tests_properties("TOPP_MapAlignerSpectrum_1_out1" PROPERTIES DEPENDS "TOPP_MapAlignerSpectrum_1") -add_test("TOPP_MapAlignerSpectrum_1_out2" ${DIFF} -whitelist ${INDEX_WHITELIST} -in1 MapAlignerSpectrum_1_output2.tmp.mzML -in2 ${DATA_DIR_TOPP}/MapAlignerSpectrum_1_output2.mzML ) -set_tests_properties("TOPP_MapAlignerSpectrum_1_out2" PROPERTIES DEPENDS "TOPP_MapAlignerSpectrum_1") -add_test("TOPP_MapAlignerSpectrum_1_out3" ${DIFF} -whitelist ${INDEX_WHITELIST} -in1 MapAlignerSpectrum_1_output3.tmp.mzML -in2 ${DATA_DIR_TOPP}/MapAlignerSpectrum_1_output3.mzML ) -set_tests_properties("TOPP_MapAlignerSpectrum_1_out3" PROPERTIES DEPENDS "TOPP_MapAlignerSpectrum_1") - #------------------------------------------------------------------------------ # MapAlignerTreeGuided tests: add_test("TOPP_MapAlignerTreeGuided_1" ${TOPP_BIN_PATH}/MapAlignerTreeGuided -test -ini ${DATA_DIR_TOPP}/MapAlignerTreeGuided_parameters.ini -in ${DATA_DIR_TOPP}/MapAlignerTreeGuided_1_input1.featureXML ${DATA_DIR_TOPP}/MapAlignerTreeGuided_1_input2.featureXML ${DATA_DIR_TOPP}/MapAlignerTreeGuided_1_input3.featureXML -out MapAlignerTreeGuided_1_output1.tmp.featureXML MapAlignerTreeGuided_1_output2.tmp.featureXML MapAlignerTreeGuided_1_output3.tmp.featureXML) @@ -2549,34 +2539,76 @@ set_tests_properties("TOPP_AccurateMassSearch_3_out1" PROPERTIES DEPENDS "TOPP_A add_test("TOPP_AccurateMassSearch_5" ${TOPP_BIN_PATH}/AccurateMassSearch -test -in ${DATA_DIR_TOPP}/AccurateMassSearch_2_input.featureXML -out AccurateMassSearch_5_output.tmp.mzTab -out_annotation AccurateMassSearch_5_output.tmp.oms -db:mapping ${DATA_DIR_TOPP}/AMS_test_Mapping.tsv -db:struct ${DATA_DIR_TOPP}/AMS_test_Struct.tsv -positive_adducts ${DATA_DIR_TOPP}/AMS_PositiveAdducts.tsv -negative_adducts ${DATA_DIR_TOPP}/AMS_NegativeAdducts.tsv -algorithm:id_format ID) add_test("TOPP_AccurateMassSearch_5_out1" ${DIFF} -in1 AccurateMassSearch_5_output.tmp.mzTab -in2 ${DATA_DIR_TOPP}/AccurateMassSearch_5_output.mzTab -whitelist "") set_tests_properties("TOPP_AccurateMassSearch_5_out1" PROPERTIES DEPENDS "TOPP_AccurateMassSearch_5") -# mztab_m + feautreXML (annotation) +# mztab_m + featureXML (annotation) add_test("TOPP_AccurateMassSearch_6" ${TOPP_BIN_PATH}/AccurateMassSearch -test -in ${DATA_DIR_TOPP}/AccurateMassSearch_2_input.featureXML -out AccurateMassSearch_6_output.tmp.mzTab -out_annotation AccurateMassSearch_6_output.tmp.featureXML -db:mapping ${DATA_DIR_TOPP}/AMS_test_Mapping.tsv -db:struct ${DATA_DIR_TOPP}/AMS_test_Struct.tsv -positive_adducts ${DATA_DIR_TOPP}/AMS_PositiveAdducts.tsv -negative_adducts ${DATA_DIR_TOPP}/AMS_NegativeAdducts.tsv -algorithm:id_format ID) add_test("TOPP_AccurateMassSearch_6_out1" ${DIFF} -in1 AccurateMassSearch_6_output.tmp.mzTab -in2 ${DATA_DIR_TOPP}/AccurateMassSearch_6_output.mzTab -whitelist "") add_test("TOPP_AccurateMassSearch_6_out2" ${DIFF} -in1 AccurateMassSearch_6_output.tmp.featureXML -in2 ${DATA_DIR_TOPP}/AccurateMassSearch_6_output.featureXML -whitelist "IdentificationRun id=\"PI_0\" date=" "database_location") set_tests_properties("TOPP_AccurateMassSearch_6_out1" PROPERTIES DEPENDS "TOPP_AccurateMassSearch_6") set_tests_properties("TOPP_AccurateMassSearch_6_out2" PROPERTIES DEPENDS "TOPP_AccurateMassSearch_6") +# SiriusExport +# without featureinfo +add_test("TOPP_SiriusExport_1" ${TOPP_BIN_PATH}/SiriusExport -test -in ${DATA_DIR_TOPP}/SiriusExport_1_input.mzML -out SiriusExport_1_output.tmp.ms) +add_test("TOPP_SiriusExport_1_out" ${DIFF} -in1 SiriusExport_1_output.tmp.ms -in2 ${DATA_DIR_TOPP}/SiriusExport_1_output.ms) +set_tests_properties("TOPP_SiriusExport_1_out" PROPERTIES DEPENDS "TOPP_SiriusExport_1") + +# with featureinfo, feature_only and compound info table (input for AssayGeneratorMetaboSirius tests) +add_test("TOPP_SiriusExport_2" ${TOPP_BIN_PATH}/SiriusExport -test -in ${DATA_DIR_TOPP}/AssayGeneratorMetabo_input.mzML -in_featureinfo ${DATA_DIR_TOPP}/AssayGeneratorMetabo_ams_input.featureXML -out SiriusExport_2_output.tmp.ms -out_compoundinfo SiriusExport_2_output_compoundinfo.tmp.tsv -feature_only true) +add_test("TOPP_SiriusExport_2_out1" ${DIFF} -in1 SiriusExport_2_output.tmp.ms -in2 ${DATA_DIR_TOPP}/SiriusExport_2_output.ms) +add_test("TOPP_SiriusExport_2_out2" ${DIFF} -in1 SiriusExport_2_output_compoundinfo.tmp.tsv -in2 ${DATA_DIR_TOPP}/SiriusExport_2_output_compoundinfo.tsv) +set_tests_properties("TOPP_SiriusExport_2_out1" PROPERTIES DEPENDS "TOPP_SiriusExport_2") +set_tests_properties("TOPP_SiriusExport_2_out2" PROPERTIES DEPENDS "TOPP_SiriusExport_2") + +# with multiple files +add_test("TOPP_SiriusExport_3" ${TOPP_BIN_PATH}/SiriusExport -test -in ${DATA_DIR_TOPP}/SiriusExport_1_input.mzML ${DATA_DIR_TOPP}/AssayGeneratorMetabo_input.mzML -in_featureinfo ${DATA_DIR_TOPP}/SiriusExport_1_input.featureXML ${DATA_DIR_TOPP}/AssayGeneratorMetabo_ams_input.featureXML -out SiriusExport_3_output.tmp.ms -out_compoundinfo SiriusExport_3_output_compoundinfo.tmp.tsv) +add_test("TOPP_SiriusExport_3_out1" ${DIFF} -in1 SiriusExport_3_output.tmp.ms -in2 ${DATA_DIR_TOPP}/SiriusExport_3_output.ms) +add_test("TOPP_SiriusExport_3_out2" ${DIFF} -in1 SiriusExport_3_output_compoundinfo.tmp.tsv -in2 ${DATA_DIR_TOPP}/SiriusExport_3_output_compoundinfo.tsv) +set_tests_properties("TOPP_SiriusExport_3_out1" PROPERTIES DEPENDS "TOPP_SiriusExport_3") +set_tests_properties("TOPP_SiriusExport_3_out2" PROPERTIES DEPENDS "TOPP_SiriusExport_3") + +# AssayGeneratorMetaboSirius +# SIRIUS project directory generated with SIRIUS 5.8.5 from SiriusExport_2 test .ms file, minimal example with one UNKNOWN 2 two named compounds from which only Myclobutanil will pass filtering +add_test("TOPP_AssayGeneratorMetaboSirius_1" ${TOPP_BIN_PATH}/AssayGeneratorMetaboSirius -test -in ${DATA_DIR_TOPP}/AssayGeneratorMetabo-in-SIRIUS-project -in_compoundinfo ${DATA_DIR_TOPP}/SiriusExport_2_output_compoundinfo.tsv -out AssayGeneratorMetaboSirius_output_1.tmp.tsv -exclude_ms2_precursor -max_transitions 3) +add_test("TOPP_AssayGeneratorMetaboSirius_1_out" ${DIFF} -in1 AssayGeneratorMetaboSirius_output_1.tmp.tsv -in2 ${DATA_DIR_TOPP}/AssayGeneratorMetaboSirius_output_1.tsv) +set_tests_properties("TOPP_AssayGeneratorMetaboSirius_1_out" PROPERTIES DEPENDS "TOPP_AssayGeneratorMetaboSirius_1") + +# AssayGeneratorMetaboSirius: use_known_unknowns +add_test("TOPP_AssayGeneratorMetaboSirius_2" ${TOPP_BIN_PATH}/AssayGeneratorMetaboSirius -test -in ${DATA_DIR_TOPP}/AssayGeneratorMetabo-in-SIRIUS-project -in_compoundinfo ${DATA_DIR_TOPP}/SiriusExport_2_output_compoundinfo.tsv -out AssayGeneratorMetaboSirius_output_2.tmp.tsv -exclude_ms2_precursor -max_transitions 3 -use_known_unknowns) +add_test("TOPP_AssayGeneratorMetaboSirius_2_out" ${DIFF} -in1 AssayGeneratorMetaboSirius_output_2.tmp.tsv -in2 ${DATA_DIR_TOPP}/AssayGeneratorMetaboSirius_output_2.tsv) +set_tests_properties("TOPP_AssayGeneratorMetaboSirius_2_out" PROPERTIES DEPENDS "TOPP_AssayGeneratorMetaboSirius_2") + +# AssayGeneratorMetaboSirius: decoys resolving overlaps +add_test("TOPP_AssayGeneratorMetaboSirius_3" ${TOPP_BIN_PATH}/AssayGeneratorMetaboSirius -test -in ${DATA_DIR_TOPP}/AssayGeneratorMetabo-in-SIRIUS-project -in_compoundinfo ${DATA_DIR_TOPP}/SiriusExport_2_output_compoundinfo.tsv -out AssayGeneratorMetaboSirius_output_3.tmp.tsv -exclude_ms2_precursor -max_transitions 3 -decoy_generation -decoy_generation_method resolve_overlap) +add_test("TOPP_AssayGeneratorMetaboSirius_3_out" ${DIFF} -in1 AssayGeneratorMetaboSirius_output_3.tmp.tsv -in2 ${DATA_DIR_TOPP}/AssayGeneratorMetaboSirius_output_3.tsv) +set_tests_properties("TOPP_AssayGeneratorMetaboSirius_3_out" PROPERTIES DEPENDS "TOPP_AssayGeneratorMetaboSirius_3") + # AssayGeneratorMetabo # use FeatureFinderMetabo data -add_test("TOPP_AssayGeneratorMetabo_1" ${TOPP_BIN_PATH}/AssayGeneratorMetabo -test -in ${DATA_DIR_TOPP}/AssayGeneratorMetabo_input.mzML -in_id ${DATA_DIR_TOPP}/AssayGeneratorMetabo_ffm_input.featureXML -out AssayGeneratorMetabo_ffm_output.tmp.tsv -fragment_annotation none -min_transitions 1 -max_transitions 3) +add_test("TOPP_AssayGeneratorMetabo_1" ${TOPP_BIN_PATH}/AssayGeneratorMetabo -test -in ${DATA_DIR_TOPP}/AssayGeneratorMetabo_input.mzML -in_featureinfo ${DATA_DIR_TOPP}/AssayGeneratorMetabo_ffm_input.featureXML -out AssayGeneratorMetabo_ffm_output.tmp.tsv -min_transitions 1 -max_transitions 3) add_test("TOPP_AssayGeneratorMetabo_1_out1" ${DIFF} -in1 AssayGeneratorMetabo_ffm_output.tmp.tsv -in2 ${DATA_DIR_TOPP}/AssayGeneratorMetabo_ffm_output.tsv) set_tests_properties("TOPP_AssayGeneratorMetabo_1_out1" PROPERTIES DEPENDS "TOPP_AssayGeneratorMetabo_1") + # use AccurateMassSearch data -add_test("TOPP_AssayGeneratorMetabo_2" ${TOPP_BIN_PATH}/AssayGeneratorMetabo -test -in ${DATA_DIR_TOPP}/AssayGeneratorMetabo_input.mzML -in_id ${DATA_DIR_TOPP}/AssayGeneratorMetabo_ams_input.featureXML -out AssayGeneratorMetabo_ams_output.tmp.tsv -fragment_annotation none -min_transitions 1 -max_transitions 3) +add_test("TOPP_AssayGeneratorMetabo_2" ${TOPP_BIN_PATH}/AssayGeneratorMetabo -test -in ${DATA_DIR_TOPP}/AssayGeneratorMetabo_input.mzML -in_featureinfo ${DATA_DIR_TOPP}/AssayGeneratorMetabo_ams_input.featureXML -out AssayGeneratorMetabo_ams_output.tmp.tsv -min_transitions 1 -max_transitions 3) add_test("TOPP_AssayGeneratorMetabo_2_out1" ${DIFF} -in1 AssayGeneratorMetabo_ams_output.tmp.tsv -in2 ${DATA_DIR_TOPP}/AssayGeneratorMetabo_ams_output.tsv) set_tests_properties("TOPP_AssayGeneratorMetabo_2_out1" PROPERTIES DEPENDS "TOPP_AssayGeneratorMetabo_2") + # use FeatureFinderMetabo data with method consenesus_spectrum -add_test("TOPP_AssayGeneratorMetabo_3" ${TOPP_BIN_PATH}/AssayGeneratorMetabo -test -in ${DATA_DIR_TOPP}/AssayGeneratorMetabo_input.mzML -in_id ${DATA_DIR_TOPP}/AssayGeneratorMetabo_ffm_input.featureXML -out AssayGeneratorMetabo_ffm_output_consensus.tmp.tsv -fragment_annotation none -method consensus_spectrum -min_transitions 1 -max_transitions 3) +add_test("TOPP_AssayGeneratorMetabo_3" ${TOPP_BIN_PATH}/AssayGeneratorMetabo -test -in ${DATA_DIR_TOPP}/AssayGeneratorMetabo_input.mzML -in_featureinfo ${DATA_DIR_TOPP}/AssayGeneratorMetabo_ffm_input.featureXML -out AssayGeneratorMetabo_ffm_output_consensus.tmp.tsv -method consensus_spectrum -min_transitions 1 -max_transitions 3) add_test("TOPP_AssayGeneratorMetabo_3_out1" ${DIFF} -in1 AssayGeneratorMetabo_ffm_output_consensus.tmp.tsv -in2 ${DATA_DIR_TOPP}/AssayGeneratorMetabo_ffm_output_consensus.tsv) set_tests_properties("TOPP_AssayGeneratorMetabo_3_out1" PROPERTIES DEPENDS "TOPP_AssayGeneratorMetabo_3") + # use AccurateMassSearch data with method consensus_spectrum -add_test("TOPP_AssayGeneratorMetabo_4" ${TOPP_BIN_PATH}/AssayGeneratorMetabo -test -in ${DATA_DIR_TOPP}/AssayGeneratorMetabo_input.mzML -in_id ${DATA_DIR_TOPP}/AssayGeneratorMetabo_ams_input.featureXML -out AssayGeneratorMetabo_ams_output_consensus.tmp.tsv -fragment_annotation none -method consensus_spectrum -min_transitions 1 -max_transitions 3) +add_test("TOPP_AssayGeneratorMetabo_4" ${TOPP_BIN_PATH}/AssayGeneratorMetabo -test -in ${DATA_DIR_TOPP}/AssayGeneratorMetabo_input.mzML -in_featureinfo ${DATA_DIR_TOPP}/AssayGeneratorMetabo_ams_input.featureXML -out AssayGeneratorMetabo_ams_output_consensus.tmp.tsv -method consensus_spectrum -min_transitions 1 -max_transitions 3) add_test("TOPP_AssayGeneratorMetabo_4_out1" ${DIFF} -in1 AssayGeneratorMetabo_ams_output_consensus.tmp.tsv -in2 ${DATA_DIR_TOPP}/AssayGeneratorMetabo_ams_output_consensus.tsv) set_tests_properties("TOPP_AssayGeneratorMetabo_4_out1" PROPERTIES DEPENDS "TOPP_AssayGeneratorMetabo_4") + # use AccurateMassSearch data with method consensus_spectrum and use_known_unkowns -add_test("TOPP_AssayGeneratorMetabo_5" ${TOPP_BIN_PATH}/AssayGeneratorMetabo -test -in ${DATA_DIR_TOPP}/AssayGeneratorMetabo_input.mzML -in_id ${DATA_DIR_TOPP}/AssayGeneratorMetabo_ams_input.featureXML -out AssayGeneratorMetabo_ams_uku_output_consensus.tmp.tsv -fragment_annotation none -method consensus_spectrum -use_known_unknowns -min_transitions 1 -max_transitions 3) +add_test("TOPP_AssayGeneratorMetabo_5" ${TOPP_BIN_PATH}/AssayGeneratorMetabo -test -in ${DATA_DIR_TOPP}/AssayGeneratorMetabo_input.mzML -in_featureinfo ${DATA_DIR_TOPP}/AssayGeneratorMetabo_ams_input.featureXML -out AssayGeneratorMetabo_ams_uku_output_consensus.tmp.tsv -method consensus_spectrum -use_known_unknowns -min_transitions 1 -max_transitions 3) add_test("TOPP_AssayGeneratorMetabo_5_out1" ${DIFF} -in1 AssayGeneratorMetabo_ams_uku_output_consensus.tmp.tsv -in2 ${DATA_DIR_TOPP}/AssayGeneratorMetabo_ams_uku_output_consensus.tsv) set_tests_properties("TOPP_AssayGeneratorMetabo_5_out1" PROPERTIES DEPENDS "TOPP_AssayGeneratorMetabo_5") + +# export TOPP_AssayGeneratorMetabo_5 output to TraML add_test("TOPP_AssayGeneratorMetabo_6" ${TOPP_BIN_PATH}/TargetedFileConverter -test -in ${DATA_DIR_TOPP}/AssayGeneratorMetabo_ams_uku_output_consensus.tsv -out AssayGeneratorMetabo_ams_uku_output_consensus_traml.tmp.TraML) add_test("TOPP_AssayGeneratorMetabo_6_out1" ${DIFF} -in1 AssayGeneratorMetabo_ams_uku_output_consensus_traml.tmp.TraML -in2 ${DATA_DIR_TOPP}/AssayGeneratorMetabo_ams_uku_output_consensus_traml.TraML) set_tests_properties("TOPP_AssayGeneratorMetabo_6_out1" PROPERTIES DEPENDS "TOPP_AssayGeneratorMetabo_6") diff --git a/src/tests/topp/THIRDPARTY/SiriusAdapter_3_input.featureXML b/src/tests/topp/SiriusExport_1_input.featureXML similarity index 99% rename from src/tests/topp/THIRDPARTY/SiriusAdapter_3_input.featureXML rename to src/tests/topp/SiriusExport_1_input.featureXML index 5675a978f86..5c36a88d92a 100644 --- a/src/tests/topp/THIRDPARTY/SiriusAdapter_3_input.featureXML +++ b/src/tests/topp/SiriusExport_1_input.featureXML @@ -1,10 +1,10 @@ - + - - + + diff --git a/src/tests/topp/THIRDPARTY/SiriusAdapter_3_input.mzML b/src/tests/topp/SiriusExport_1_input.mzML similarity index 99% rename from src/tests/topp/THIRDPARTY/SiriusAdapter_3_input.mzML rename to src/tests/topp/SiriusExport_1_input.mzML index ec38110fe64..03d5640bdaf 100644 --- a/src/tests/topp/THIRDPARTY/SiriusAdapter_3_input.mzML +++ b/src/tests/topp/SiriusExport_1_input.mzML @@ -172,9 +172,9 @@ - + - + diff --git a/src/tests/topp/THIRDPARTY/SiriusAdapter_5_output.ms b/src/tests/topp/SiriusExport_1_output.ms similarity index 91% rename from src/tests/topp/THIRDPARTY/SiriusAdapter_5_output.ms rename to src/tests/topp/SiriusExport_1_output.ms index 13e17e21352..fb0fbb13f03 100644 --- a/src/tests/topp/THIRDPARTY/SiriusAdapter_5_output.ms +++ b/src/tests/topp/SiriusExport_1_output.ms @@ -1,19 +1,52 @@ ->compound _13442776035824190606-2167005--6--UNKNOWN ->parentmass 292.121752827683 +>compound 0_0-2165004--2--UNKNOWN +>parentmass 292.118520142944 +>charge 1 +>rt 404.455000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://.PestMix1pos.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +292.118520142944 1915.000000000000 +>ms1peaks +292.118520142944 1915.000000000000 +294.117460558153 780.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=2165 experiment=4 +##m_id UNKNOWN_PestMix1pos.wiff_sample=1 period=1 cycle=2165 experiment=4_0 +##scan 2 +##specref ms_run[1]:sample=1 period=1 cycle=2165 experiment=4 +292.121314370419 294.000000000000 +>compound 0_0-2166006--4--UNKNOWN +>parentmass 292.121468920531 +>charge 1 +>rt 404.875000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://.PestMix1pos.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +292.121468920531 5829.000000000000 +>ms1peaks +292.121468920531 5829.000000000000 +293.123073196945 1108.000000000000 +294.116966544654 1439.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=2166 experiment=6 +##m_id UNKNOWN_PestMix1pos.wiff_sample=1 period=1 cycle=2166 experiment=6_0 +##scan 4 +##specref ms_run[1]:sample=1 period=1 cycle=2166 experiment=6 +292.121333456885 798.000000000000 +>compound 0_0-2167005--6--UNKNOWN +>parentmass 292.121302384156 >charge 1 ->rt 410.145000000000 -##fmz 292.121752827682997 -##fid 13442776035824190606 +>rt 405.295000000020 ##des UNKNOWN ##specref_format [MS, MS:1000770, WIFF nativeID format] ##source file file://.PestMix1pos.wiff ##source format [MS, MS:1000562, ABI WIFF format,] >ms1merged -292.121752827683 5446638.265330639668 -293.124863183735 668010.447580512962 -294.119155604245 1663109.077192980098 -295.121610199554 257162.167168799991 -296.123527063003 27792.421876255601 +292.121302384156 9184.000000000000 >ms1peaks 292.121302384156 9184.000000000000 293.125436491662 1483.000000000000 @@ -26,6 +59,98 @@ ##specref ms_run[1]:sample=1 period=1 cycle=2167 experiment=5 292.120347921437 2157.000000000000 292.230622503656 42.000000000000 +>compound 0_0-2171003--11--UNKNOWN +>parentmass 296.123099065922 +>charge 1 +>rt 406.816999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://.PestMix1pos.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +296.123099065922 1194.000000000000 +>ms1peaks +291.224349165591 1045.000000000000 +292.122036064513 179902.000000000000 +293.125028313222 29293.646484375000 +294.118845532743 53763.000000000000 +295.120631519007 8426.000000000000 +296.123099065922 1194.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=2171 experiment=3 +##m_id UNKNOWN_PestMix1pos.wiff_sample=1 period=1 cycle=2171 experiment=3_0 +##scan 11 +##specref ms_run[1]:sample=1 period=1 cycle=2171 experiment=3 +296.123852278497 84.000000000000 +296.170279302095 28.000000000000 +>compound 0_0-2172004--13--UNKNOWN +>parentmass 296.123821549630 +>charge 1 +>rt 407.245000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://.PestMix1pos.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +296.123821549630 1828.000000000000 +>ms1peaks +291.228305245532 2281.000000000000 +292.121628844349 353290.562500000000 +292.873209260830 762.116149902344 +292.948657738737 1700.587890625000 +293.124827763224 54737.000000000000 +294.119184999894 112358.921875000000 +295.121889009140 17240.000000000000 +296.123821549630 1828.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=2172 experiment=4 +##m_id UNKNOWN_PestMix1pos.wiff_sample=1 period=1 cycle=2172 experiment=4_0 +##scan 13 +##specref ms_run[1]:sample=1 period=1 cycle=2172 experiment=4 +296.124718247637 252.000000000000 +296.181428565605 42.000000000000 +296.200211990605 42.000000000000 +>compound 0_0-2173002--15--UNKNOWN +>parentmass 296.125008105473 +>charge 1 +>rt 407.655000000000 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://.PestMix1pos.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +296.125008105473 3131.000000000000 +>ms1peaks +291.225311742873 3531.410888671875 +292.121594874632 603490.000000000000 +292.844494240889 895.966491699219 +292.924862933623 3391.752441406250 +292.945749680321 3333.063964843750 +293.061298520115 726.139831542969 +293.075063609419 1551.603393554688 +293.125218605791 78178.000000000000 +294.119362908748 183181.000000000000 +294.941798145972 607.000000000000 +295.122330502481 30299.996093750000 +296.125008105473 3131.000000000000 +296.176985366327 631.191101074219 +>ms2peaks +##n_id sample=1 period=1 cycle=2173 experiment=2 +##m_id UNKNOWN_PestMix1pos.wiff_sample=1 period=1 cycle=2173 experiment=2_0 +##scan 15 +##specref ms_run[1]:sample=1 period=1 cycle=2173 experiment=2 +296.125886082126 602.945556640625 +296.147120140233 714.000000000000 +>compound 0_0-2175004--18--UNKNOWN +>parentmass 292.121970956018 +>charge 1 +>rt 408.495000000000 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://.PestMix1pos.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +292.121970956018 952091.000000000000 >ms1peaks 291.227611742001 5933.231933593750 292.121970956018 952091.000000000000 @@ -75,6 +200,16 @@ 292.503362735226 210.000000000000 292.526015236751 210.000000000000 292.840345918310 294.000000000000 +>compound 0_0-2176006--20--UNKNOWN +>parentmass 292.121614764237 +>charge 1 +>rt 408.915000000000 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://.PestMix1pos.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +292.121614764237 974277.000000000000 >ms1peaks 291.224220910568 6368.000000000000 292.121614764237 974277.000000000000 @@ -133,128 +268,7 @@ 292.953203258155 546.000000000000 292.977891955669 420.000000000000 293.196421777814 210.000000000000 ->compound _0-2165004--2--UNKNOWN ->parentmass 292.118520142944 ->charge 1 ->rt 404.455000000020 -##des UNKNOWN -##specref_format [MS, MS:1000770, WIFF nativeID format] -##source file file://.PestMix1pos.wiff -##source format [MS, MS:1000562, ABI WIFF format,] ->ms1merged -292.118520142944 1915.000000000000 ->ms1peaks -292.118520142944 1915.000000000000 -294.117460558153 780.000000000000 ->ms2peaks -##n_id sample=1 period=1 cycle=2165 experiment=4 -##m_id UNKNOWN_PestMix1pos.wiff_sample=1 period=1 cycle=2165 experiment=4_0 -##scan 2 -##specref ms_run[1]:sample=1 period=1 cycle=2165 experiment=4 -292.121314370419 294.000000000000 ->compound _0-2166006--4--UNKNOWN ->parentmass 292.121468920531 ->charge 1 ->rt 404.875000000020 -##des UNKNOWN -##specref_format [MS, MS:1000770, WIFF nativeID format] -##source file file://.PestMix1pos.wiff -##source format [MS, MS:1000562, ABI WIFF format,] ->ms1merged -292.121468920531 5829.000000000000 ->ms1peaks -292.121468920531 5829.000000000000 -293.123073196945 1108.000000000000 -294.116966544654 1439.000000000000 ->ms2peaks -##n_id sample=1 period=1 cycle=2166 experiment=6 -##m_id UNKNOWN_PestMix1pos.wiff_sample=1 period=1 cycle=2166 experiment=6_0 -##scan 4 -##specref ms_run[1]:sample=1 period=1 cycle=2166 experiment=6 -292.121333456885 798.000000000000 ->compound _0-2171003--11--UNKNOWN ->parentmass 296.123099065922 ->charge 1 ->rt 406.816999999980 -##des UNKNOWN -##specref_format [MS, MS:1000770, WIFF nativeID format] -##source file file://.PestMix1pos.wiff -##source format [MS, MS:1000562, ABI WIFF format,] ->ms1merged -296.123099065922 1194.000000000000 ->ms1peaks -291.224349165591 1045.000000000000 -292.122036064513 179902.000000000000 -293.125028313222 29293.646484375000 -294.118845532743 53763.000000000000 -295.120631519007 8426.000000000000 -296.123099065922 1194.000000000000 ->ms2peaks -##n_id sample=1 period=1 cycle=2171 experiment=3 -##m_id UNKNOWN_PestMix1pos.wiff_sample=1 period=1 cycle=2171 experiment=3_0 -##scan 11 -##specref ms_run[1]:sample=1 period=1 cycle=2171 experiment=3 -296.123852278497 84.000000000000 -296.170279302095 28.000000000000 ->compound _0-2172004--13--UNKNOWN ->parentmass 296.123821549630 ->charge 1 ->rt 407.245000000020 -##des UNKNOWN -##specref_format [MS, MS:1000770, WIFF nativeID format] -##source file file://.PestMix1pos.wiff -##source format [MS, MS:1000562, ABI WIFF format,] ->ms1merged -296.123821549630 1828.000000000000 ->ms1peaks -291.228305245532 2281.000000000000 -292.121628844349 353290.562500000000 -292.873209260830 762.116149902344 -292.948657738737 1700.587890625000 -293.124827763224 54737.000000000000 -294.119184999894 112358.921875000000 -295.121889009140 17240.000000000000 -296.123821549630 1828.000000000000 ->ms2peaks -##n_id sample=1 period=1 cycle=2172 experiment=4 -##m_id UNKNOWN_PestMix1pos.wiff_sample=1 period=1 cycle=2172 experiment=4_0 -##scan 13 -##specref ms_run[1]:sample=1 period=1 cycle=2172 experiment=4 -296.124718247637 252.000000000000 -296.181428565605 42.000000000000 -296.200211990605 42.000000000000 ->compound _0-2173002--15--UNKNOWN ->parentmass 296.125008105473 ->charge 1 ->rt 407.655000000000 -##des UNKNOWN -##specref_format [MS, MS:1000770, WIFF nativeID format] -##source file file://.PestMix1pos.wiff -##source format [MS, MS:1000562, ABI WIFF format,] ->ms1merged -296.125008105473 3131.000000000000 ->ms1peaks -291.225311742873 3531.410888671875 -292.121594874632 603490.000000000000 -292.844494240889 895.966491699219 -292.924862933623 3391.752441406250 -292.945749680321 3333.063964843750 -293.061298520115 726.139831542969 -293.075063609419 1551.603393554688 -293.125218605791 78178.000000000000 -294.119362908748 183181.000000000000 -294.941798145972 607.000000000000 -295.122330502481 30299.996093750000 -296.125008105473 3131.000000000000 -296.176985366327 631.191101074219 ->ms2peaks -##n_id sample=1 period=1 cycle=2173 experiment=2 -##m_id UNKNOWN_PestMix1pos.wiff_sample=1 period=1 cycle=2173 experiment=2_0 -##scan 15 -##specref ms_run[1]:sample=1 period=1 cycle=2173 experiment=2 -296.125886082126 602.945556640625 -296.147120140233 714.000000000000 ->compound _0-2199003--43--UNKNOWN +>compound 0_0-2199003--43--UNKNOWN >parentmass 295.187072485748 >charge 1 >rt 418.393999999980 @@ -279,7 +293,7 @@ ##specref ms_run[1]:sample=1 period=1 cycle=2199 experiment=3 295.083913845584 42.000000000000 295.119725048092 42.000000000000 ->compound _0-2204006--49--UNKNOWN +>compound 0_0-2204006--49--UNKNOWN >parentmass 290.124002639251 >charge 1 >rt 420.444000000000 diff --git a/src/tests/topp/SiriusExport_2_output.ms b/src/tests/topp/SiriusExport_2_output.ms new file mode 100644 index 00000000000..290fe8737a4 --- /dev/null +++ b/src/tests/topp/SiriusExport_2_output.ms @@ -0,0 +1,5636 @@ +>compound 0_10333458062711546021-664003--57--UNKNOWN +>parentmass 286.179028092823 +>charge 1 +>rt 438.351000000000 +##fmz 286.179028092822705 +##fid 10333458062711546021 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +286.179028092823 67049.219010244240 +>ms1peaks +52.005453969998 2626.723144531250 +53.013597312446 12728.553710937500 +53.850414409821 1250.853881835938 +54.009329210909 348334.937500000000 +55.006062122532 5392.668457031250 +55.011342055713 6236.111816406250 +55.054021350211 1869.273437500000 +55.934286374440 6315.563964843750 +56.941831842622 2597.011962890625 +59.049520241177 68985.562500000000 +60.044238693811 9277.411132812500 +60.051306561624 7152.463378906250 +61.039638104919 1556.488891601562 +63.997844257749 4543.386718750000 +64.004868648059 4706.500976562500 +68.011536869512 28038.335937500000 +68.993647464953 12595.196289062500 +69.044515645070 12865.375976562500 +72.936647087938 2567.000000000000 +73.064121365067 1769.925781250000 +76.486182586418 2785.377929687500 +79.020888115541 15628.571289062500 +80.049060365715 12153.072265625000 +81.936978966817 8495.000000000000 +82.996309100211 9038.668945312500 +87.043494139885 1178.190917968750 +87.054319172330 1546.054443359375 +89.506956806916 1559.000000000000 +90.488703688296 1817.000000000000 +91.053777911785 1528.745483398438 +95.952341177386 2260.741210937500 +97.968210936145 7024.000000000000 +98.983399057372 5034.887695312500 +100.075304888654 1243.000000000000 +102.090957068479 1525.000000000000 +109.943109012828 1320.928710937500 +113.962992754591 2498.000000000000 +114.090728474154 10512.617187500000 +118.085470631803 6601.458007812500 +122.095607083049 3712.721679687500 +122.962888411087 10607.500976562500 +123.091509718457 1686.104614257812 +132.043186178558 2464.123291015625 +136.020620151667 1645.000000000000 +140.067164786600 1314.000000000000 +141.089863109573 1272.675292968750 +141.111890586678 1562.626220703125 +141.957557081223 15988.394531250000 +147.090173997086 2431.000000000000 +149.022336160605 4523.349121093750 +149.043636850784 1223.066040039062 +151.095789721496 2301.788818359375 +151.111113393103 2538.584228515625 +155.069111807472 1549.374267578125 +155.105759874764 1515.979370117188 +155.973112787773 4487.000000000000 +158.153378740203 12758.589843750000 +159.156448385204 1328.413452148438 +161.095542076597 1436.000000000000 +164.142018358830 1273.736083984375 +170.095175686942 2849.232421875000 +171.138207188731 2555.000000000000 +172.133475837479 1266.057739257812 +173.079557051502 6304.225097656250 +174.991247355031 15122.000000000000 +176.988586706089 4881.000000000000 +178.158242399689 1403.950073242188 +179.105412805866 3814.716552734375 +182.960601426951 1842.280639648438 +182.982966835265 1410.150146484375 +186.220883153188 1802.000000000000 +194.115976643286 3119.000000000000 +195.102214753451 1498.057617187500 +195.120897037407 1858.993774414062 +198.184171488074 2116.000000000000 +217.106332787106 21497.787109375000 +218.109128733639 2613.000000000000 +219.095226750847 2102.304443359375 +224.127626531368 1175.000000000000 +228.195317705032 1672.133422851562 +239.088374855672 3685.309814453125 +242.283185310790 1468.000000000000 +246.860952738993 3049.000000000000 +249.183720846634 1286.295654296875 +250.177140311956 1205.756591796875 +250.999832075601 32001.000000000000 +252.002106420824 2157.000000000000 +252.996924958467 20204.000000000000 +253.999797691244 1411.000000000000 +254.993496356863 3401.000000000000 +279.092906188567 2036.000000000000 +286.179288894577 8400.000000000000 +287.181689656808 1994.078002929688 +287.217541902151 1349.643310546875 +291.235948805059 1485.048828125000 +292.122314491142 439122.000000000000 +292.983059595137 1438.034667968750 +293.122671084767 47692.136718750000 +294.118451514065 133013.562500000000 +295.120454982262 22502.744140625000 +296.122607984390 2357.932373046875 +313.039105768504 33266.000000000000 +314.042149111497 5168.000000000000 +315.036268416268 21007.242187500000 +316.038403197349 3302.000000000000 +317.033014483539 3862.000000000000 +321.227057921370 1381.000000000000 +327.007877449001 47611.566406250000 +328.011115186819 4973.000000000000 +329.004794999861 46547.000000000000 +330.008005603352 4737.000000000000 +331.001868162022 15538.000000000000 +332.004876313775 1480.000000000000 +333.003299668985 2744.071777343750 +335.018886982057 3585.000000000000 +337.016084576435 2205.000000000000 +339.994390073568 1754.000000000000 +348.988792788967 6573.000000000000 +350.986916484867 6721.000000000000 +352.984603835989 2083.000000000000 +354.041095041215 1340.092163085938 +356.039619641072 1269.081298828125 +372.065048824891 6209.586914062500 +374.062468004687 6086.000000000000 +376.059148229590 1968.000000000000 +392.045330940334 2193.000000000000 +395.067648242738 2230.000000000000 +397.066134815272 1581.000000000000 +426.930515343123 1306.000000000000 +426.976513054277 1169.811889648438 +428.927149366436 1298.000000000000 +430.886640350010 1403.000000000000 +445.118913900930 2269.000000000000 +491.969645058197 1379.000000000000 +505.851389825487 3789.000000000000 +522.878326149515 1800.000000000000 +536.163456762234 4427.000000000000 +537.165324404735 2206.000000000000 +538.161529742511 1590.843383789062 +544.337468455008 1195.000000000000 +546.914116937371 2559.000000000000 +547.911876414748 1196.000000000000 +610.180850219782 2080.000000000000 +611.182328195703 1214.000000000000 +645.154717656738 8484.000000000000 +646.158700037782 2782.000000000000 +647.152980374288 9942.000000000000 +648.155555240546 3294.000000000000 +649.150621117204 4284.000000000000 +650.152709955400 1200.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=664 experiment=3 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=664 experiment=3_0 +##scan 57 +##specref ms_run[1]:sample=1 period=1 cycle=664 experiment=3 +51.938122634847 13.000000000000 +56.049507786248 45.000000000000 +98.060380513671 369.000000000000 +123.048287156790 30.000000000000 +126.875862655178 13.000000000000 +138.097784854251 60.000000000000 +140.072452948764 270.000000000000 +170.852966884469 45.000000000000 +170.866613065551 45.000000000000 +184.123371965665 13.000000000000 +269.157141111623 30.000000000000 +269.174210692919 30.000000000000 +286.179738267349 60.000000000000 +>ms1peaks +52.005349834334 2531.576904296875 +52.017818445883 1415.950317382812 +53.013312992683 14436.391601562500 +53.850256514170 1311.865234375000 +54.009237809188 346906.656250000000 +55.005700977113 5493.924316406250 +55.011578128004 6377.684570312500 +55.053978874167 1984.071533203125 +55.933999133980 6168.766601562500 +56.049511919157 2977.762207031250 +56.942056567735 2284.776855468750 +59.049350876787 53629.328125000000 +60.044322757483 8600.164062500000 +61.039156449004 1644.316650390625 +63.997508188870 3394.982910156250 +64.005057234464 4259.679687500000 +67.029035810216 2293.846923828125 +68.011280581573 27100.835937500000 +68.993371510951 13738.876953125000 +69.007497995886 1441.296142578125 +69.044403084909 13070.419921875000 +72.936195718172 2643.000000000000 +73.063931102643 1919.621459960938 +76.486167754556 1986.000000000000 +79.020619039319 14111.753906250000 +80.048823728166 11369.215820312500 +81.936905757296 8703.630859375000 +82.996214707689 8986.651367187500 +87.054271044459 1595.093627929688 +89.505822079267 1760.000000000000 +90.488874903389 1822.018798828125 +91.053163445835 1300.610839843750 +95.952331345900 2696.000000000000 +97.967781752031 7299.724609375000 +98.982987677469 4854.522460937500 +102.090290867080 1906.000000000000 +109.942394870381 1583.000000000000 +113.962086127466 2074.000000000000 +114.090395399108 10058.849609375000 +118.084999014032 6547.758789062500 +122.095088721755 3711.124511718750 +122.962603857586 10794.167968750000 +123.090649527845 1803.942016601562 +123.961855384374 1203.000000000000 +130.157739418261 1256.000000000000 +136.020039379796 2083.000000000000 +136.110849290905 1530.000000000000 +141.089744053815 1237.175415039062 +141.111592847426 1371.696777343750 +141.957218960001 15367.227539062500 +147.090011968413 2463.000000000000 +149.021828990169 4784.995605468750 +149.041466762922 2472.640625000000 +151.095944798794 2940.508300781250 +151.109341918543 3165.085693359375 +155.069344508958 1582.135864257812 +155.105135879836 1693.281616210938 +155.972287468254 4554.340332031250 +158.152759351824 13585.107421875000 +159.156196357366 1465.921386718750 +159.967851357038 1225.276977539062 +161.095405694183 1641.000000000000 +164.141615127090 1478.434814453125 +170.094609622000 2457.688476562500 +171.141467030026 1915.000000000000 +173.079379445344 6273.838867187500 +174.990844938283 15688.865234375000 +176.987639364551 5360.525878906250 +177.052467267277 1475.000000000000 +178.157540067017 1547.000000000000 +179.105091602082 3287.998779296875 +182.959873591311 1986.817871093750 +186.220399692631 1658.000000000000 +194.115345005627 3116.000000000000 +195.120929712058 1968.662841796875 +198.184276303297 2015.000000000000 +217.105977610050 20924.755859375000 +218.108820705353 2495.792236328125 +219.094022022929 1823.679443359375 +228.194066029155 1666.038696289062 +239.087872978056 3722.000000000000 +242.282423819470 1362.000000000000 +246.860857987495 3450.000000000000 +249.182928857496 1266.000000000000 +250.177066939258 1504.335083007812 +250.999117678898 32221.000000000000 +252.001781095835 2314.000000000000 +252.995932699016 21462.000000000000 +253.998953923887 1371.000000000000 +254.993033756740 3403.000000000000 +267.170032496706 1345.000000000000 +279.092268016151 1928.000000000000 +281.050459546987 1487.000000000000 +286.178655880094 23309.207031250000 +287.182133845414 5196.471191406250 +291.235317712341 1559.882568359375 +292.121093988068 399090.000000000000 +292.982663908460 1255.682128906250 +293.023857907805 1542.287597656250 +293.121921829592 49425.335937500000 +294.117639052994 123150.929687500000 +295.119583284786 21162.347656250000 +296.122453171108 2024.725219726562 +304.297977116061 1205.098876953125 +311.183844763032 2282.703613281250 +313.038450493324 32210.287109375000 +314.041319280533 5035.671875000000 +315.035461346507 21071.000000000000 +316.038196392607 3544.000000000000 +317.032926032719 3656.000000000000 +327.007662782866 46713.000000000000 +328.009753952920 4731.131347656250 +329.004141727930 46254.000000000000 +330.006788270317 4440.000000000000 +331.000792355787 15238.000000000000 +332.003743171067 1635.000000000000 +333.001048030235 2840.547363281250 +335.018066518429 3857.000000000000 +337.016490283319 2257.000000000000 +348.988206068721 7382.000000000000 +350.985085465325 7259.000000000000 +352.983081816715 2462.000000000000 +354.041092701990 1411.000000000000 +358.095358680256 1344.000000000000 +372.064528986026 6467.495117187500 +374.061053722203 5695.000000000000 +376.059656060961 2211.000000000000 +392.044067632616 2143.000000000000 +395.066337210837 2288.000000000000 +397.065352026340 1841.000000000000 +428.895605409648 1348.684326171875 +428.927859796300 1412.000000000000 +445.117454275133 2106.000000000000 +491.967681975778 1277.000000000000 +505.850908455770 4139.747558593750 +522.876740252438 1800.000000000000 +536.161867901498 4607.000000000000 +537.162257475039 2465.000000000000 +538.160527239899 1695.000000000000 +544.336437856300 1324.164184570312 +546.911854407175 2375.000000000000 +547.911013918907 1216.000000000000 +610.179211400596 2165.000000000000 +611.181197363117 1284.000000000000 +645.153892760480 7294.000000000000 +646.156182811867 3135.000000000000 +647.151735773867 8987.490234375000 +648.154489817139 3184.000000000000 +649.150180493474 3821.591308593750 +650.151352616891 1194.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=665 experiment=5 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=665 experiment=5_0 +##scan 68 +##specref ms_run[1]:sample=1 period=1 cycle=665 experiment=5 +51.937914215879 30.000000000000 +53.038832825255 30.000000000000 +53.045206203438 30.000000000000 +56.049918656323 60.000000000000 +70.039929361435 30.000000000000 +79.056769706510 30.000000000000 +79.063803665589 30.000000000000 +81.036251104807 30.000000000000 +95.045081818956 30.000000000000 +98.059564237847 929.000000000000 +133.104347649114 30.000000000000 +138.093679048566 30.000000000000 +140.069724401264 524.000000000000 +166.083820296277 60.000000000000 +170.866129800466 45.000000000000 +179.086353477601 30.000000000000 +269.148315487256 30.000000000000 +286.177025513197 135.000000000000 +>ms1peaks +52.005546368410 2670.973876953125 +53.013447667176 13442.696289062500 +53.850235753676 1356.916015625000 +54.009375548499 346132.000000000000 +55.006052234178 5908.220703125000 +55.011327139628 6618.665039062500 +55.054273818991 1724.201538085938 +55.934183438349 6089.195312500000 +56.942085448242 2338.522949218750 +59.049497543886 62260.195312500000 +60.044496762287 9351.735351562500 +61.039589911785 1691.005004882812 +63.997480072658 3643.092529296875 +64.005073510260 4229.738281250000 +68.011506505752 28323.269531250000 +68.993585810696 12464.445312500000 +69.044640852940 13649.212890625000 +72.044186043856 1148.000000000000 +72.936480336335 2359.262451171875 +73.064260321862 1642.103027343750 +76.486297311909 2289.460693359375 +79.020766274604 15897.382812500000 +80.048988150704 12209.904296875000 +81.936792921049 8371.669921875000 +82.996095650262 8043.113281250000 +87.043834653730 1276.883422851562 +87.054214175865 1482.598144531250 +89.506458664277 1777.830322265625 +90.489196475802 1663.000000000000 +91.053755235930 1541.526000976562 +95.952402869893 2400.645751953125 +97.967886882016 8001.987304687500 +98.983532889025 3424.810302734375 +100.074677767759 1304.000000000000 +102.090242730316 1329.000000000000 +109.942679982849 1398.000000000000 +113.962690768860 1941.000000000000 +114.090409984344 11174.942382812500 +118.085207229958 6292.000000000000 +122.095068185146 3153.000000000000 +122.962957192644 10933.000000000000 +123.089979550376 1737.604248046875 +123.962216545241 1382.000000000000 +130.157851054625 1368.000000000000 +136.020636426938 1627.062988281250 +136.111496039851 1223.000000000000 +140.067223364828 1192.000000000000 +141.090663513328 1291.584838867188 +141.111904002369 1407.591674804688 +141.935850183021 1558.355590820312 +141.957535804851 16602.316406250000 +147.090073371469 2918.000000000000 +149.022242157340 5058.011230468750 +149.041140009202 2281.293701171875 +151.094511933196 2771.192138671875 +151.109513517514 3017.586181640625 +155.069293446605 1572.566406250000 +155.105166988042 1682.863525390625 +155.972752865047 4956.000000000000 +158.095291106412 1175.110473632812 +158.152897422617 13347.454101562500 +159.140146486584 1221.760620117188 +159.156626899127 1511.809692382812 +159.968130743445 1344.000000000000 +161.095301376904 1939.000000000000 +164.142147914813 1352.608276367188 +170.095211316489 2555.052490234375 +171.142065868167 1688.747070312500 +173.079666684779 7435.070800781250 +174.990876331450 12561.875976562500 +176.988228889313 4082.000000000000 +178.157451442432 1671.789062500000 +179.082574741649 1161.343872070312 +179.105464745461 2033.503295898438 +182.960688200025 1872.628540039062 +186.220236378822 1627.000000000000 +194.115587597029 3414.431152343750 +195.102521936100 1940.187622070312 +195.121153964710 2419.525878906250 +198.184119642186 2274.000000000000 +217.106221715984 24680.257812500000 +218.109389146592 2768.000000000000 +219.094928896725 1923.877807617188 +224.125737788530 1308.718017578125 +228.194389849522 1662.646850585938 +239.088555805042 4654.193847656250 +242.282289579657 1282.000000000000 +246.861651699246 3614.000000000000 +249.183697918794 1626.163208007812 +250.176302167701 1384.000000000000 +250.999159013320 25559.167968750000 +252.002213377038 1651.423461914062 +252.996445325154 16054.000000000000 +253.999379477884 1131.000000000000 +254.993447206468 2772.603271484375 +267.171432346745 1267.000000000000 +279.091928399145 1791.000000000000 +281.049474584863 1227.866455078125 +286.179096453069 25739.439453125000 +287.182281594319 5585.333496093750 +292.120716590068 202371.000000000000 +293.123166487022 34628.820312500000 +294.117931210581 66532.000000000000 +295.120340194058 11307.223632812500 +296.123175528233 1139.000000000000 +304.298333326187 1345.000000000000 +311.184016131023 2112.000000000000 +313.038042743243 19603.214843750000 +314.041307564911 3224.000000000000 +315.035568487358 12179.000000000000 +316.038573054615 2028.000000000000 +317.032999093534 2260.000000000000 +327.007882393116 37742.558593750000 +328.009892511372 3601.000000000000 +329.004296620889 35070.000000000000 +330.007896864877 3743.000000000000 +331.001397377526 12099.000000000000 +332.004304811118 1147.000000000000 +333.002267631798 2076.000000000000 +335.017770650220 2313.000000000000 +337.017035297896 1211.000000000000 +348.988715159870 5698.000000000000 +350.985988216636 6014.000000000000 +352.982227447720 1887.000000000000 +371.314800126809 1304.000000000000 +372.064251479626 5075.027343750000 +374.061938971072 4867.000000000000 +376.058486261926 1592.000000000000 +392.043742286078 1216.000000000000 +395.068502390905 1429.000000000000 +397.065868843467 1348.000000000000 +428.893525922553 1400.224853515625 +428.927664629947 1466.814208984375 +430.886759376928 1323.849609375000 +445.118824286635 2200.000000000000 +505.851799123756 3631.000000000000 +522.879142647299 1843.000000000000 +529.887839543416 1136.832397460938 +536.163692934414 5222.000000000000 +537.164127390652 2657.000000000000 +538.162454710439 1796.178100585938 +544.339301230729 1413.667114257812 +546.912450246131 2510.000000000000 +610.181542562630 2042.000000000000 +611.181371312242 1400.000000000000 +645.154552081192 5333.000000000000 +646.158693354263 1778.000000000000 +647.153270969225 6082.129394531250 +648.155656988395 2289.000000000000 +649.150637720064 2324.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=666 experiment=3 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=666 experiment=3_0 +##scan 75 +##specref ms_run[1]:sample=1 period=1 cycle=666 experiment=3 +55.054505732533 25.000000000000 +55.060116779446 15.000000000000 +56.048448506258 20.000000000000 +85.028411205925 35.000000000000 +98.059278982655 958.000000000000 +105.067129758980 10.000000000000 +123.041271657474 20.000000000000 +123.051095128888 20.000000000000 +126.876822431871 10.000000000000 +133.100243079469 59.000000000000 +138.088467901690 35.000000000000 +140.069590830035 561.000000000000 +145.101270946048 20.000000000000 +149.056693160781 15.000000000000 +166.087482254599 20.000000000000 +286.178204102612 105.000000000000 +286.213277531220 60.716449737549 +>compound 0_5053681185761206615-676004--121--Myclobutanil +>parentmass 289.122615478838 +>ionization [M+H]1+ +>formula C15H17ClN4 +>charge 1 +>rt 448.027999999980 +##fmz 289.122615478837758 +##fid 5053681185761206615 +##des Myclobutanil +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +289.122615478838 1356806.543650601991 +290.123323995928 168319.538694710791 +291.117964046924 433903.252139170072 +292.120260799670 99781.634539092542 +>ms1peaks +52.005351813457 2501.610107421875 +53.013412581284 13134.520507812500 +53.850226225992 1302.909057617188 +54.009140063564 338983.656250000000 +55.006042248338 6435.412597656250 +55.011148435189 6609.394042968750 +55.054172395822 1772.104248046875 +55.934029229957 5757.919921875000 +56.941868288709 2705.908203125000 +59.049392394217 65787.757812500000 +60.044197396550 9389.001953125000 +61.039698624921 1629.770751953125 +63.997582420249 4596.096191406250 +64.004915539546 4860.728515625000 +68.011405901665 27484.292968750000 +68.993238795734 11816.172851562500 +69.044514210085 12151.762695312500 +72.936346245282 1770.000000000000 +73.063844648998 1632.810180664062 +76.485866327556 2207.000000000000 +79.020638014668 15456.159179687500 +80.048700307132 11716.706054687500 +81.936658440041 8339.158203125000 +82.995849176432 8191.000000000000 +87.054215388379 1432.329345703125 +89.505806636870 1376.000000000000 +90.488666027165 1798.000000000000 +95.952211902793 2472.000000000000 +97.967974119285 6640.000000000000 +100.074558827800 1418.000000000000 +102.090063528932 1768.000000000000 +109.942148206295 1646.000000000000 +113.962810920920 1728.000976562500 +114.090265101894 9843.087890625000 +118.085166173822 5466.146972656250 +122.095082275611 3591.515380859375 +122.962671452755 9919.435546875000 +123.090603383338 1818.105346679688 +130.157985838236 1433.000000000000 +136.020144210415 1305.642211914062 +141.111768954054 1381.647338867188 +141.957291332652 13999.958984375000 +147.090365251433 2315.564941406250 +149.021998403294 4169.404296875000 +151.095653127576 2632.192382812500 +151.109600618565 2638.503906250000 +155.069049191990 1400.588378906250 +155.105221715370 1306.244873046875 +155.972774632456 3955.750244140625 +158.152847157321 10190.631835937500 +161.094883274868 1469.000000000000 +164.993233307885 1413.000000000000 +170.094756804200 2692.873779296875 +173.079096183490 5464.607421875000 +174.990754641374 1338.000000000000 +175.120920396226 1335.489135742188 +178.157288006504 1567.557739257812 +179.104881581157 1856.000000000000 +182.960071822982 1596.667236328125 +186.016812097735 3128.000000000000 +194.115183195725 3037.019042968750 +195.105676043577 1846.959228515625 +195.121034909827 2138.534667968750 +198.183715433637 1614.000000000000 +201.983396783946 6476.000000000000 +217.007534943089 16000.083984375000 +217.105603079000 12722.193359375000 +218.010461830348 1723.000000000000 +218.108916975941 1918.000000000000 +219.094207015885 1394.000000000000 +234.033666185649 17919.000000000000 +235.036061869219 1699.000000000000 +239.087710708037 2715.000000000000 +245.038087259231 3705.000000000000 +246.860587751512 3017.000000000000 +250.998652800198 2461.000000000000 +252.996040050118 1751.000000000000 +262.065226573716 31878.271484375000 +263.067812997194 3540.000000000000 +264.062744585962 1732.000000000000 +276.080875651007 47441.000000000000 +277.083729023421 6202.904296875000 +278.078049070253 2909.805664062500 +279.092264164105 2269.000000000000 +281.049607531965 1759.000000000000 +284.163709253010 5971.317382812500 +285.167422523505 1450.937500000000 +289.120547785899 45105.261718750000 +290.122834000335 8899.000000000000 +291.118148964330 16223.000000000000 +292.119468760172 3916.748291015625 +303.104211105075 4272.900878906250 +303.190626643079 3701.817626953125 +304.121038021889 1154982.000000000000 +304.680120827865 1361.469604492188 +304.720450396369 1578.193115234375 +304.756696628278 1464.135742187500 +304.826755934771 1415.802856445312 +304.888295222133 4211.749023437500 +304.975939340234 6444.747070312500 +305.112954471951 109660.976562500000 +306.110248734555 72833.000000000000 +307.111946842557 10169.579101562500 +307.247397220322 1757.839477539062 +310.120212483100 5088.000000000000 +320.107070842572 7286.000000000000 +321.109817317563 1634.396606445312 +321.134008500327 1645.504272460938 +326.094135509242 51581.214843750000 +327.006663634739 3305.288085937500 +327.096918826684 8025.063964843750 +328.090879363560 3401.237060546875 +329.002848029289 3721.000000000000 +330.204815446188 11820.952148437500 +331.208232327135 2889.000000000000 +342.067980362905 3189.395019531250 +349.169296376205 25098.000000000000 +350.172883605486 4323.000000000000 +351.167291455015 1724.000000000000 +372.149200119315 2817.477050781250 +404.036004100360 11013.000000000000 +405.038241871311 2224.679687500000 +424.359699824875 1469.000000000000 +445.117347283461 1962.204711914062 +500.274802921042 11554.163085937500 +501.277725760601 3400.000000000000 +502.286539956580 1910.000000000000 +505.850895564320 2188.000000000000 +536.162361057972 4668.000000000000 +537.163239801382 2428.000000000000 +538.161608472883 1869.000000000000 +544.336387601713 1598.000000000000 +546.911505452596 1493.000000000000 +549.965979448424 1640.000000000000 +592.225456903764 1675.000000000000 +607.216655018496 74091.000000000000 +608.219193446659 23449.000000000000 +609.215852555200 11438.528320312500 +610.208425679746 4454.000000000000 +611.188234775837 1805.798706054688 +612.220726308427 4082.000000000000 +613.224505418990 34075.000000000000 +614.227906702716 11171.000000000000 +615.225014693998 5343.000000000000 +623.210784148654 2510.000000000000 +629.198405169302 68640.000000000000 +630.201595235063 21340.328125000000 +631.198284234777 10581.000000000000 +632.198298853566 2483.000000000000 +707.140261218123 1384.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=676 experiment=4 +##m_id Myclobutanil_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=676 experiment=4_0 +##scan 121 +##specref ms_run[1]:sample=1 period=1 cycle=676 experiment=4 +70.039827273652 5131.529296875000 +82.041077772907 30.000000000000 +82.066941721068 30.000000000000 +83.048162364624 30.000000000000 +89.038123713717 30.000000000000 +98.998128961124 45.000000000000 +99.005937159691 45.000000000000 +116.057773265737 45.000000000000 +116.068964884923 45.000000000000 +125.014210234006 2627.000000000000 +128.869373457499 30.000000000000 +129.050864049931 30.000000000000 +129.066487998016 43.279674530029 +130.062932087251 75.000000000000 +130.074324678654 75.000000000000 +131.069149811718 90.000000000000 +137.012353655287 30.000000000000 +143.074736350629 45.000000000000 +143.085702367776 45.000000000000 +149.013720936376 75.000000000000 +150.009016679015 90.000000000000 +151.029635761105 960.000000000000 +153.071034687141 30.000000000000 +164.027845684388 225.000000000000 +166.040731347006 75.000000000000 +167.084665955303 45.000000000000 +168.094844704597 30.000000000000 +173.861021388832 75.000000000000 +178.040593736165 180.000000000000 +191.049915677020 45.000000000000 +203.057899363272 45.000000000000 +220.088072925820 120.000000000000 +289.119266976743 135.000000000000 +>ms1peaks +52.005397076818 2734.410888671875 +52.018107045505 1336.588989257812 +53.013261826329 14264.303710937500 +54.009079203842 328540.562500000000 +55.005732946798 6038.434082031250 +55.011210209049 5773.483398437500 +55.054089450492 1883.920532226562 +55.933933351350 5941.799316406250 +56.049311183158 2529.910644531250 +56.941559341288 2177.731445312500 +59.049288422008 55833.332031250000 +60.044400478994 9188.863281250000 +61.039483771618 1336.615844726562 +63.997769089290 4226.595214843750 +64.004652574785 4312.662109375000 +67.028420902367 1685.132324218750 +68.011303574981 26639.857421875000 +68.993400384347 11132.456054687500 +69.044245603619 12842.139648437500 +72.936451870693 2092.438964843750 +73.064343001052 2004.000000000000 +76.485626827097 1932.002563476562 +79.020705537221 15479.782226562500 +80.048746552992 12934.649414062500 +81.936560826315 7849.174804687500 +82.996236710322 7697.570312500000 +87.043649221397 1392.278564453125 +87.054161695388 1495.958618164062 +89.506032483299 1554.000000000000 +90.488774891048 1551.744018554688 +91.052857733317 1701.434936523438 +95.951953010697 2094.000000000000 +97.967766546756 6595.530273437500 +109.942695624537 1327.000000000000 +113.961956344849 1877.000000000000 +114.090202311915 11113.386718750000 +118.085079269697 5461.000000000000 +122.095332793077 3096.000000000000 +122.962788239519 9551.916015625000 +123.089923877343 1592.000000000000 +130.158267685481 1374.000000000000 +136.020500147191 1906.429687500000 +141.089705751127 1398.031372070312 +141.111419699029 1374.918823242188 +141.935031405798 2215.528808593750 +141.957114961469 13636.359375000000 +147.090410388658 2596.000000000000 +149.021734118264 3900.000000000000 +149.042225044400 1717.679077148438 +151.095530836015 2392.175048828125 +151.109345923165 2675.036376953125 +155.069217138005 1392.010375976562 +155.972851416164 3798.715576171875 +158.152680730278 10054.000000000000 +161.095473046681 1550.000000000000 +164.142407569715 1467.709594726562 +170.094842381476 2189.805175781250 +173.079740417554 5427.904296875000 +178.157986956425 1455.000000000000 +179.105560744514 1912.301391601562 +182.960698176280 2000.407470703125 +186.016618789428 1896.000000000000 +186.220115257894 1974.000000000000 +194.116069304698 2583.000000000000 +195.121207806540 1998.303710937500 +198.184395565259 1695.000000000000 +201.982853397927 4906.000000000000 +217.007045852030 12703.000000000000 +217.105649597883 13317.726562500000 +218.109378650956 2113.981933593750 +219.093923189224 1382.400756835938 +234.033511361987 14162.000000000000 +235.036774500644 1342.000000000000 +239.087266669620 2910.000000000000 +242.282551973761 1561.000000000000 +245.038675382516 2489.000000000000 +246.861414583855 2664.000000000000 +250.998716978816 2090.000000000000 +262.065290180852 23768.000000000000 +263.068197519244 2928.000000000000 +276.081065166232 35016.000000000000 +277.084200131760 4404.000000000000 +278.078513434024 2183.000000000000 +279.092009717775 2217.000000000000 +281.049184165914 1367.000000000000 +284.163360412320 3532.000000000000 +289.121282596047 297520.000000000000 +290.123339528492 48851.796875000000 +291.118124278084 95531.000000000000 +292.120251426315 17101.046875000000 +293.123187582260 1858.065429687500 +303.104014775580 2693.449951171875 +303.190353825641 2785.502441406250 +304.119856155362 954170.000000000000 +304.858461688543 1629.946044921875 +304.974182520147 7187.607910156250 +305.110635941863 61549.015625000000 +306.110453215668 55678.074218750000 +307.111643085162 7091.700683593750 +310.120007901196 5493.854003906250 +320.106626078784 4025.000000000000 +326.094632546811 51218.675781250000 +327.006414911949 2851.898193359375 +327.096265128312 8263.424804687500 +328.091406924071 3217.697509765625 +329.003058211528 3429.933349609375 +330.205471949815 7747.000000000000 +331.207754653901 1796.000000000000 +342.067426751640 3267.000000000000 +349.169395269431 21267.000000000000 +350.172679880257 4154.271972656250 +351.168393055602 1571.000000000000 +372.098739562700 1670.002075195312 +372.148644610713 2317.465087890625 +389.045115150928 4473.000000000000 +391.043177396698 1663.000000000000 +404.036316278299 7850.000000000000 +405.039997913270 1931.000000000000 +424.359886173771 1591.000000000000 +445.117801993639 2038.000000000000 +500.275651903375 13340.000000000000 +501.278433801524 4082.000000000000 +502.285907017338 2013.566040039062 +505.851095535466 2281.000000000000 +536.163686089478 4281.000000000000 +537.165279310098 2275.000000000000 +538.161599212928 1446.000000000000 +542.322146689605 2319.235839843750 +544.336681001720 2203.000000000000 +546.913546060949 1480.000000000000 +549.965890540792 1571.727539062500 +592.225728725342 6278.000000000000 +593.229191819800 2109.000000000000 +594.222911870749 2943.707031250000 +607.216789747777 46858.000000000000 +608.219527953593 15482.000000000000 +609.215333724431 7397.000000000000 +610.196851071075 3575.000000000000 +611.184731787601 1662.000000000000 +612.221188935026 2560.000000000000 +613.225065362361 23067.000000000000 +614.226835965539 7388.000000000000 +615.223918934987 3328.000000000000 +623.150116137773 1311.609985351562 +623.211673074874 1404.509399414062 +629.198822367023 49161.000000000000 +630.201975789631 15060.724609375000 +631.197108322666 7602.103027343750 +632.199182275970 1787.000000000000 +707.142781768806 1359.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=677 experiment=5 +##m_id Myclobutanil_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=677 experiment=5_0 +##scan 131 +##specref ms_run[1]:sample=1 period=1 cycle=677 experiment=5 +55.054639659329 105.000000000000 +55.060017620298 92.683341979980 +56.049823597015 30.000000000000 +57.069035771002 30.000000000000 +65.037770341976 30.000000000000 +69.832588352285 45.000000000000 +70.039908024674 17805.998046875000 +70.065015706368 30.000000000000 +70.282524899395 30.000000000000 +70.655650228794 30.000000000000 +70.662690104158 30.000000000000 +70.671685449976 30.000000000000 +70.680369758222 30.000000000000 +71.073891359706 30.000000000000 +80.047874421886 45.000000000000 +81.071842605128 75.000000000000 +82.039226093295 45.000000000000 +82.068250865158 45.000000000000 +83.046676696339 105.000000000000 +89.037423472355 210.000000000000 +90.046133682594 75.000000000000 +95.071588708154 60.000000000000 +98.999966313572 135.000000000000 +103.050438931432 30.000000000000 +115.055166727960 150.000000000000 +116.062522261690 210.000000000000 +122.999173332647 45.000000000000 +124.644051017099 60.000000000000 +124.994916353506 582.297302246094 +125.014371187472 12549.000000000000 +125.378378046066 30.000000000000 +125.390531676820 30.000000000000 +128.046903884584 225.000000000000 +129.055373654720 75.000000000000 +129.064357675053 60.000000000000 +130.062595084552 180.000000000000 +131.075918885468 60.000000000000 +131.089262432243 60.000000000000 +137.014910793247 150.000000000000 +139.029843740401 105.000000000000 +139.049300450331 47.856365203857 +143.072761538143 168.118270874023 +143.089863992705 96.726943969727 +149.013988771638 299.000000000000 +150.010736302066 285.000000000000 +151.030302067974 2704.000000000000 +152.065539738869 30.000000000000 +153.069429336803 150.000000000000 +157.100583676525 45.000000000000 +158.108303191611 30.000000000000 +162.029804830888 30.000000000000 +163.016613439026 30.000000000000 +163.027865460821 30.000000000000 +164.025164845834 997.000000000000 +165.032309967876 230.139968872070 +165.048285398527 267.000000000000 +165.068235719394 71.195930480957 +166.041158820976 300.000000000000 +167.084364530618 120.000000000000 +168.091368874638 180.000000000000 +169.091421834386 45.000000000000 +170.096865844811 90.000000000000 +175.029690206742 135.000000000000 +177.033157268884 30.000000000000 +178.041386504653 543.000000000000 +184.113505217082 75.000000000000 +185.131013174733 45.000000000000 +188.038417071829 30.000000000000 +191.051083107779 30.000000000000 +192.056950923082 75.000000000000 +193.074112586304 150.000000000000 +203.062235811985 251.000000000000 +220.086936658481 240.000000000000 +289.118902482462 413.000000000000 +>ms1peaks +52.005617027968 2841.486083984375 +53.013411271366 13567.883789062500 +54.009125331887 341665.812500000000 +55.005857415052 5900.790039062500 +55.011242701615 6013.953125000000 +55.054093292119 2035.055908203125 +55.933978586076 5672.338378906250 +56.049467099919 1695.441040039062 +56.941782308930 2173.337402343750 +59.049339198083 62878.703125000000 +60.044404001763 9862.614257812500 +61.039435521241 1719.998779296875 +63.997664239141 3450.597167968750 +64.005081384586 3958.136474609375 +68.011443914678 27040.419921875000 +68.993714467215 12520.464843750000 +69.007373071731 1388.107910156250 +69.044312866744 13073.230468750000 +72.936423004110 2084.000000000000 +73.063871079142 1705.000000000000 +76.485830845774 2577.000000000000 +79.020684296263 13782.132812500000 +80.048779775419 11186.997070312500 +81.936674853257 8327.656250000000 +82.996269546702 8040.201660156250 +89.506005127285 1468.281982421875 +90.489095167913 1675.000000000000 +95.951948147015 2520.515136718750 +97.967758472339 6678.626953125000 +102.090788355145 2027.477661132812 +113.962336972098 2071.000000000000 +114.090407289761 9387.833984375000 +118.085129231385 6116.000000000000 +122.095638138110 3776.030761718750 +122.962814871209 10117.168945312500 +123.090715093470 1657.501464843750 +136.020905158615 1394.424438476562 +140.067586645329 1617.045654296875 +141.112054526426 1383.640991210938 +141.935709702620 1911.949829101562 +141.957347460629 13581.779296875000 +147.090339739564 2374.998291015625 +149.022576244489 3994.022705078125 +151.095387083973 2392.279052734375 +151.109293023596 2750.114746093750 +155.069699172730 1332.009765625000 +155.972973853574 3810.662841796875 +158.152617650358 10434.000000000000 +159.154821868580 1369.000000000000 +161.095811541558 1615.000000000000 +170.094786893830 2397.479492187500 +170.116223095026 1563.129394531250 +173.079809386205 6290.747070312500 +178.157999558146 1344.694458007812 +179.105474980732 1898.194946289062 +182.961052201833 2004.073364257812 +186.220351226598 1623.000000000000 +193.157127136625 1493.409179687500 +194.115785614334 2955.000000000000 +195.120763129781 1823.166137695312 +198.184413101409 2214.000000000000 +201.984090601891 2436.000000000000 +217.007207589124 6332.419433593750 +217.105727151964 16770.736328125000 +218.108791440056 2512.000000000000 +234.033555067529 7474.000000000000 +239.087847702990 2936.000000000000 +242.283076836300 1598.000000000000 +245.039110357630 1466.000000000000 +246.860750264023 2469.000000000000 +249.183092518468 1366.967651367188 +250.999128212314 2641.000000000000 +252.995944883436 1376.000000000000 +262.065576474895 11528.000000000000 +263.068397905954 1693.000000000000 +276.080823895982 18533.000000000000 +277.084470217057 2604.243652343750 +279.093578782719 2100.000000000000 +281.049703566301 1340.000000000000 +284.163284328388 2755.000000000000 +288.245192514905 2240.408203125000 +289.124028104405 571675.000000000000 +289.974079344843 2398.387451171875 +290.020293351816 2510.571777343750 +290.123004833560 37005.632812500000 +291.118405903154 172664.062500000000 +292.120440247980 30711.750000000000 +293.123309031099 2511.000000000000 +303.103999271490 1878.000000000000 +303.190085777343 1857.193237304688 +304.115683834546 552400.000000000000 +304.984847835069 1705.556396484375 +305.107785187759 57481.210937500000 +306.110327480189 29213.000000000000 +307.112384326980 4304.000000000000 +310.120384968947 4593.269531250000 +311.105475064582 1824.000000000000 +320.107323506761 2737.000000000000 +326.094810667410 41008.000000000000 +327.006437528123 3347.260986328125 +327.096455636030 6753.961425781250 +328.092188803708 2930.000000000000 +329.003747738298 3355.000000000000 +330.205009985617 6046.367675781250 +331.208059597585 1436.000000000000 +342.068061155461 2814.000000000000 +349.170060952900 13874.000000000000 +350.172621024257 2607.730712890625 +372.148688883306 1405.186401367188 +389.044748240917 7650.000000000000 +390.047497559210 1913.000000000000 +391.042419990568 2801.000000000000 +392.068522384462 2797.000000000000 +394.066194691334 1609.439208984375 +404.036647250000 3756.000000000000 +424.362220661973 1680.073608398438 +445.118239809427 2256.000000000000 +457.032674519482 1580.000000000000 +468.387534165811 1625.361328125000 +487.228056299732 1735.000000000000 +500.275588301319 14065.000000000000 +501.278629401665 3579.000000000000 +502.286881001175 2107.000000000000 +505.851399270242 2207.884277343750 +531.255889309595 1828.000000000000 +536.162574795725 4348.000000000000 +537.164900413678 2412.000000000000 +538.160905924694 1840.207275390625 +542.321702796647 4110.075683593750 +543.325936834084 1425.000000000000 +544.336609702317 2008.000000000000 +546.912855890436 1498.000000000000 +592.225267665071 7023.000000000000 +593.153130472392 2079.229736328125 +593.228621623492 2593.859863281250 +594.223736830213 3021.337890625000 +607.216353924445 19371.000000000000 +608.219876548020 6018.000000000000 +609.216035675932 2735.843994140625 +610.184990477000 2845.000000000000 +612.185596819648 1643.000000000000 +613.224838309655 6730.896972656250 +614.227226894726 2411.000000000000 +629.198664613593 14632.000000000000 +630.201165251457 4128.000000000000 +631.197724705928 2446.000000000000 +639.156464406238 1485.000000000000 +641.154235888014 1515.855590820312 +654.147541437576 1594.000000000000 +692.150340948486 1581.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=678 experiment=3 +##m_id Myclobutanil_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=678 experiment=3_0 +##scan 138 +##specref ms_run[1]:sample=1 period=1 cycle=678 experiment=3 +55.054270434220 105.000000000000 +56.052257730119 45.000000000000 +57.069642685298 75.000000000000 +57.076278365435 58.515125274658 +58.064669437897 30.000000000000 +58.069671200743 30.000000000000 +69.831821936433 120.000000000000 +70.040097536413 24218.527343750000 +70.062801316593 31.250431060791 +70.429050963972 30.000000000000 +70.438704107352 30.000000000000 +70.574152845601 53.442497253418 +71.040963389931 30.000000000000 +71.331546496348 45.000000000000 +71.547711411837 30.000000000000 +71.554731582869 30.000000000000 +81.069977524059 75.000000000000 +82.040024877605 180.000000000000 +82.064998747631 45.000000000000 +82.071892633579 45.000000000000 +83.046815904048 150.000000000000 +89.037322041009 315.000000000000 +93.058395230178 30.000000000000 +94.065823923167 15.000000000000 +95.073128971584 30.000000000000 +98.998707139648 75.000000000000 +115.038697637289 93.372489929199 +115.054570314383 213.739791870117 +116.061560571436 270.000000000000 +122.996698381028 60.000000000000 +123.007612454196 60.000000000000 +123.995047593998 30.000000000000 +124.002911191956 30.000000000000 +125.014307674051 14773.000000000000 +125.381473665944 30.000000000000 +125.393966225912 30.000000000000 +125.593372072822 30.000000000000 +125.599867839373 30.000000000000 +126.051609264641 30.000000000000 +126.059603286955 30.000000000000 +127.054832877589 45.000000000000 +128.048017316181 180.000000000000 +129.072076230440 45.000000000000 +129.857221738296 30.000000000000 +129.870016169563 30.000000000000 +130.064515161974 366.000000000000 +131.073613293583 60.000000000000 +137.014278524345 249.000000000000 +139.030165806979 60.000000000000 +143.060465185927 75.000000000000 +143.074012846680 104.308815002441 +143.089076083416 75.000000000000 +144.077234015868 30.000000000000 +149.015246811528 255.000000000000 +150.010825556181 309.000000000000 +150.598024297069 30.000000000000 +150.607575019774 30.000000000000 +151.029903267346 3468.000000000000 +152.066634976325 75.000000000000 +153.048272599038 48.395233154297 +153.069565327336 225.000000000000 +156.056088009549 27.453353881836 +156.078507049206 90.000000000000 +158.105667049362 30.000000000000 +158.115693896600 30.000000000000 +163.028234418456 150.000000000000 +163.049074774860 101.341789245605 +164.024417450344 1260.000000000000 +164.048222951239 223.749069213867 +165.033343347864 300.000000000000 +165.071689120240 100.887588500977 +166.041504194847 358.000000000000 +167.083021637505 120.000000000000 +168.092033871908 180.000000000000 +168.126067348571 15.000000000000 +170.097096768962 45.000000000000 +175.031788442407 270.000000000000 +177.045702469556 45.000000000000 +178.040557800332 739.000000000000 +179.064601892177 45.000000000000 +184.112879145243 75.000000000000 +185.120289107757 30.000000000000 +188.038359439527 30.000000000000 +191.046836106019 45.000000000000 +192.055368291335 195.000000000000 +193.076440167615 180.000000000000 +203.062460725867 150.000000000000 +205.065521702945 45.000000000000 +218.068791434007 45.000000000000 +220.087014664115 542.000000000000 +289.122158220479 827.000000000000 +>compound 0_5868141785564858207-659006--23--Cyproconazole +>parentmass 292.121361099857 +>ionization [M+H]1+ +>formula C15H18ClN3O +>charge 1 +>rt 436.497000000000 +##fmz 292.121361099857211 +##fid 5868141785564858207 +##des Cyproconazole +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +292.121361099857 1772579.388386697043 +293.123089125011 260903.108379805693 +294.118234104604 585930.221396290231 +295.120342830415 94191.053388591099 +>ms1peaks +50.015030688094 1631.000000000000 +52.005691836328 2833.837890625000 +53.013678352050 13820.645507812500 +53.850930804944 1372.676147460938 +54.009488813193 341215.375000000000 +55.006244952468 6363.858398437500 +55.011195314574 6663.786621093750 +55.054435589179 2093.444580078125 +55.934214796378 6443.966308593750 +56.049418637710 1614.372314453125 +56.942077131072 2603.345458984375 +59.049684010496 67068.679687500000 +60.044674600260 8507.357421875000 +61.039576232541 1618.787597656250 +63.997953270808 4540.612304687500 +64.004984885183 4765.146484375000 +68.011730125352 26984.066406250000 +68.993758540617 13250.065429687500 +69.044639818678 13453.114257812500 +72.936865747985 3009.785888671875 +73.064487442720 1926.000000000000 +76.486106736487 2394.000000000000 +77.012975210189 1331.000000000000 +77.038245950909 6864.013671875000 +79.021170250218 14954.513671875000 +80.049055487900 12273.781250000000 +81.937167726085 8605.721679687500 +82.996581259270 9547.895507812500 +87.054493611252 1308.586669921875 +89.506388403917 1579.000000000000 +90.489379547455 1879.000000000000 +91.053817827625 1210.000000000000 +95.952611673257 2421.652587890625 +97.968325410624 7844.628906250000 +100.075376789744 1408.000000000000 +102.090940410850 1712.000000000000 +104.048827681379 4021.000000000000 +105.032851808396 3043.702148437500 +109.943040230612 1524.000000000000 +113.962743611150 2300.809326171875 +114.091086475065 10732.537109375000 +118.085604757949 6375.129394531250 +122.095612538633 3453.346191406250 +122.963478886657 10149.138671875000 +123.091154033496 1907.152587890625 +123.962085557178 1291.000000000000 +124.964032856960 1524.723510742188 +124.981293760905 5573.300781250000 +132.044243365317 129513.453125000000 +133.047275934233 12024.171875000000 +136.021338396786 1596.000000000000 +136.111611313675 1179.000000000000 +141.090513006913 1389.292724609375 +141.112565247916 1247.203857421875 +141.957978845995 16325.500000000000 +147.090945866648 2556.685302734375 +149.023028218992 6399.154296875000 +150.054262184195 1568.000000000000 +151.096430884077 2664.400390625000 +151.111011940160 2835.027587890625 +155.069438117684 1871.944824218750 +155.105960083325 1401.000000000000 +155.973753152622 4288.000000000000 +158.153627071218 14384.000000000000 +159.156473714741 1627.752929687500 +160.050487288307 38915.000000000000 +161.053611692746 4466.942382812500 +161.095700587134 1743.057495117188 +164.142944501592 1256.052368164062 +167.015735366166 2785.089599609375 +170.096151543720 2652.023193359375 +170.116409887737 1324.376464843750 +170.968993556255 7076.000000000000 +171.137671144810 4912.312011718750 +172.136045264128 1371.000000000000 +173.079830429233 8581.928710937500 +174.991306236853 1198.000000000000 +177.054219725911 1769.000000000000 +178.157947155736 1498.908447265625 +179.106050750592 1934.090454101562 +182.960933723657 1780.061523437500 +182.991388549794 1244.309082031250 +186.221152079128 2287.000000000000 +194.116900036921 2752.000000000000 +195.121615177487 1919.471069335938 +198.184412559940 2140.000000000000 +200.200455656322 1296.554199218750 +209.153704347399 1590.000000000000 +212.888258624179 1535.000000000000 +217.106944592366 24346.000000000000 +218.110517718319 2646.000000000000 +219.095540028475 2644.006591796875 +228.196097140190 1527.811645507812 +236.167749124378 1677.000000000000 +239.089312381813 3327.000000000000 +242.284215148787 1201.000000000000 +246.862288406064 3365.000000000000 +249.184532839914 1860.293334960938 +251.001107206325 2362.000000000000 +252.997444701878 1876.000000000000 +253.916335213075 4093.000000000000 +260.980865788213 46877.000000000000 +261.983931158765 5301.000000000000 +262.976772362746 4418.000000000000 +267.172661485943 1410.000000000000 +277.199859444074 2417.590087890625 +279.093448238935 1888.450561523438 +281.051163936397 1557.000000000000 +292.121170689402 15731.000000000000 +293.123945781771 2615.000000000000 +294.118820607873 4859.000000000000 +295.121821476430 1186.000000000000 +318.013460543863 19020.000000000000 +319.016226586969 2819.000000000000 +320.010792812476 1745.000000000000 +324.021120495162 2522.000000000000 +327.007928037291 3314.077636718750 +329.005428091932 3187.000000000000 +331.002680981835 1140.229492187500 +335.040406311528 1228.000000000000 +339.995783079981 73785.000000000000 +340.998517552508 10283.000000000000 +341.992089047450 7216.000000000000 +351.928943475892 4368.000000000000 +353.926519256680 2362.000000000000 +355.969819970535 3512.076416015625 +363.071778928522 11698.970703125000 +364.073181575102 1981.000000000000 +371.315525399960 1354.000000000000 +379.934529706961 4095.883300781250 +381.932716463007 2062.000000000000 +445.119746997025 2474.000000000000 +446.119291863183 1145.000000000000 +505.853826516954 4858.000000000000 +506.855308046231 1451.000000000000 +519.139330404280 1166.703979492188 +522.880837958116 1970.000000000000 +523.871380297922 1372.000000000000 +529.891671811182 1342.000000000000 +536.165890644769 5714.000000000000 +537.166372879728 2646.000000000000 +538.163391669663 2155.000000000000 +544.339624971493 1155.000000000000 +546.914039373140 3234.000000000000 +547.912958504845 1306.000000000000 +610.184280095073 1860.000000000000 +611.183517202231 1239.000000000000 +657.000223829242 1834.000000000000 +696.940499292838 3022.000000000000 +698.938485246113 2250.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=659 experiment=6 +##m_id Cyproconazole_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=659 experiment=6_0 +##scan 23 +##specref ms_run[1]:sample=1 period=1 cycle=659 experiment=6 +70.040568192781 3615.933349609375 +125.015306520704 1696.000000000000 +138.993130230232 120.000000000000 +292.118132099014 75.000000000000 +>ms1peaks +52.005894908514 3265.400634765625 +53.013510908959 13106.733398437500 +53.850705653871 1327.061035156250 +54.009389058624 348945.000000000000 +55.006169898270 6124.332519531250 +55.011317455070 6538.428710937500 +55.054331627343 2077.732910156250 +55.934133744738 6508.345214843750 +56.049593965189 1999.699707031250 +56.942184704094 2688.283691406250 +59.049605800481 70253.718750000000 +60.044658666294 10706.690429687500 +61.039619044210 1586.278076171875 +63.997756861684 3941.995605468750 +64.005166169614 4907.884765625000 +67.028913163203 1580.000000000000 +68.011642030602 27597.281250000000 +68.993728986678 12929.603515625000 +69.044696634986 12506.645507812500 +72.936667673711 2191.062988281250 +73.064288768235 1852.000000000000 +76.486322585941 2327.304443359375 +77.038204782362 5884.000000000000 +79.020970020200 14096.371093750000 +80.049138765431 11437.409179687500 +81.937010633269 8800.649414062500 +82.996563663943 9775.875976562500 +87.054866657942 1386.671508789062 +89.506477006513 1856.891357421875 +90.489380614180 1867.000000000000 +91.053607705956 1522.000000000000 +95.952400718089 2411.000000000000 +97.968129951793 7534.000000000000 +100.075098492601 1334.000000000000 +102.090723461138 1696.000000000000 +104.049086460790 3045.739257812500 +105.032948258430 2178.018554687500 +109.942760191152 1389.039428710938 +113.963014550647 1955.283325195312 +114.090880342296 9824.000000000000 +118.085478285355 6071.000000000000 +122.095943650184 3414.491943359375 +122.963053449523 10824.022460937500 +123.091014422132 1667.127319335938 +123.961852610233 1273.000000000000 +124.964467047349 2135.799560546875 +124.981051711745 4296.547363281250 +132.043642930226 93077.242187500000 +133.046777995488 9274.231445312500 +136.020768820120 1683.000000000000 +136.110810804565 1296.000000000000 +141.090222902589 1360.714843750000 +141.112627587411 1461.608520507812 +141.935004916839 1940.239746093750 +141.957609246025 17033.816406250000 +147.090484942279 2411.661132812500 +149.022774177869 5733.046386718750 +149.042316567318 2746.710693359375 +150.054248684273 1437.284790039062 +151.095045034366 2698.686279296875 +151.110908763912 3144.476318359375 +155.069769845772 1649.881591796875 +155.105405759277 1860.793457031250 +155.973140596379 4755.245605468750 +158.153359438729 14516.186523437500 +159.156612007249 1486.367431640625 +160.049846075993 24545.988281250000 +161.052607402490 2286.874755859375 +161.095210153424 1778.371337890625 +167.015155408714 1740.000000000000 +170.095595750468 2643.026123046875 +170.968534800983 4638.000000000000 +171.137187033467 8793.664062500000 +172.138659608019 1674.000000000000 +172.168464035175 1208.633911132812 +173.079743164910 7798.492675781250 +174.991345453773 1573.000000000000 +177.053816341336 1417.014038085938 +178.158055093780 1735.947753906250 +179.105704311835 2197.604980468750 +182.961317763038 2211.718750000000 +186.220205393587 1399.000000000000 +194.116470425084 2855.795654296875 +195.121709243913 1774.128417968750 +198.184491575929 2140.000000000000 +200.199765534300 1398.692871093750 +209.152792656657 1425.000000000000 +217.106381802785 24672.529296875000 +218.109726712595 2594.000000000000 +219.095072568829 2421.334228515625 +228.194355078180 1758.423828125000 +236.167326569908 1392.000000000000 +239.087560169956 3393.000000000000 +242.283100716676 1301.000000000000 +246.861853504396 3967.000000000000 +249.184072418419 1674.044555664062 +250.179850228401 1317.625488281250 +250.969009212760 1272.659667968750 +250.998800627422 2485.986083984375 +252.996506036249 1407.000000000000 +253.914744903944 3247.000000000000 +260.980140443968 31189.000000000000 +261.982652125164 3630.000000000000 +262.976320674948 3030.000000000000 +267.169211061356 1310.111816406250 +277.200326399959 5169.000000000000 +279.093304185450 2011.372070312500 +281.050388682144 1561.000000000000 +292.121055360225 111310.531250000000 +293.123630076529 20278.496093750000 +294.118239620053 37417.625000000000 +295.120516544042 6903.191406250000 +299.181966555803 2788.124755859375 +304.298855657172 1458.000000000000 +318.012599323858 12766.560546875000 +319.014697171275 1763.000000000000 +320.008501629176 1292.000000000000 +324.021279180039 2211.000000000000 +327.007286394326 3510.000000000000 +329.004329094240 3020.000000000000 +339.994441786583 55469.000000000000 +340.996800649447 7731.000000000000 +341.991164319056 5376.000000000000 +351.927480336150 4373.000000000000 +353.925190372111 2157.000000000000 +355.923288991607 1875.234497070312 +355.967623747153 2895.083740234375 +363.069819320259 9600.000000000000 +364.071840904280 1502.000000000000 +365.067263835001 1200.000000000000 +379.933765070569 3274.000000000000 +381.930698322663 2082.000000000000 +445.119022397624 2321.740478515625 +505.851287178680 4210.000000000000 +506.853720407640 1284.000000000000 +522.877826294640 1830.000000000000 +529.887917529630 1402.000000000000 +536.163984165691 5143.000000000000 +537.165630799202 2699.000000000000 +538.162716451736 1997.000000000000 +544.338330991241 1339.000000000000 +546.913670520771 2956.903320312500 +547.912049049860 1201.466308593750 +610.182850595719 2143.000000000000 +611.183650714411 1327.000000000000 +647.152176664637 1285.000000000000 +671.046640090612 3328.000000000000 +673.045642862147 3209.000000000000 +696.940422810442 1799.000000000000 +698.936403714808 1431.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=660 experiment=5 +##m_id Cyproconazole_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=660 experiment=5_0 +##scan 31 +##specref ms_run[1]:sample=1 period=1 cycle=660 experiment=5 +69.069680828999 60.000000000000 +69.833468065273 60.000000000000 +70.039800909321 9567.099609375000 +70.641144537874 15.000000000000 +89.039009042006 90.000000000000 +96.981904363605 13.000000000000 +98.999669479829 13.000000000000 +124.645645258446 30.000000000000 +124.666018175052 30.000000000000 +125.014601911838 6743.000000000000 +129.070787391149 30.000000000000 +130.077634043857 45.000000000000 +137.015407395449 30.000000000000 +138.994241947132 309.000000000000 +139.027445850546 45.000000000000 +142.075290059555 45.000000000000 +163.032692292347 45.000000000000 +165.053013026384 30.000000000000 +170.879635830076 13.000000000000 +205.069739102638 13.000000000000 +292.116826310858 217.000000000000 +>ms1peaks +52.005486844196 2797.312255859375 +53.013452941613 13289.114257812500 +53.850392691129 1182.554077148438 +54.009302603618 341601.031250000000 +55.005911181832 5603.758300781250 +55.011355581201 5959.661132812500 +55.054189724209 2205.188476562500 +55.933928601241 6093.526367187500 +56.941939565668 2798.683593750000 +59.049443593556 67299.640625000000 +60.044262774734 8968.761718750000 +61.039204580633 1571.923095703125 +63.997813637547 4075.065429687500 +64.004662670356 4416.795898437500 +68.011501134588 27277.638671875000 +68.993585500338 12264.906250000000 +69.044393197123 13147.085937500000 +72.043949942055 1214.000000000000 +72.936545824901 2386.261962890625 +73.064141392327 1809.102661132812 +76.486217265459 2318.000000000000 +77.037914467348 2784.771240234375 +79.020708818127 18172.382812500000 +80.048894299954 13850.358398437500 +81.936654565436 8646.963867187500 +82.996013274860 9151.881835937500 +87.042952193812 1456.767700195312 +87.054623008241 1774.283325195312 +89.069755450540 1371.091674804688 +89.506205030598 1420.000000000000 +90.488660539027 2076.000000000000 +91.053504137418 1574.000000000000 +95.952180653762 2284.000000000000 +97.967884579650 7862.442871093750 +100.074476020240 1221.000000000000 +102.090415152097 1454.000000000000 +104.048216330484 1263.218750000000 +109.942447219977 1590.828491210938 +113.962324334339 2023.251098632812 +114.090394525983 11631.025390625000 +118.085045416936 6564.007812500000 +122.095214148430 3526.000000000000 +122.962880463908 10844.000000000000 +123.090776414574 1696.206054687500 +123.961832528390 1236.000000000000 +124.981223378162 1673.021850585938 +130.158379717264 1405.000000000000 +132.043434483782 41526.472656250000 +133.046757663549 4137.170898437500 +136.020231843939 1752.000000000000 +139.962610586396 1241.217529296875 +141.090622201525 1287.143798828125 +141.112120261557 1304.199096679688 +141.957439283701 16426.482421875000 +147.090642325371 2533.530273437500 +149.022533327810 5845.030273437500 +149.040994237727 2756.796875000000 +151.095191450521 2425.737792968750 +151.109945034180 2827.097656250000 +155.069776946854 1748.044799804688 +155.105248734220 1748.282226562500 +155.973048592075 4793.413085937500 +158.153052811157 14275.985351562500 +159.139068434260 1227.674072265625 +159.156070191539 1425.673461914062 +160.049271893755 12624.257812500000 +161.053296289892 1271.000000000000 +161.096235386258 1578.421630859375 +164.142270683686 1217.000000000000 +170.094887803481 2717.008544921875 +170.968792401520 2390.000000000000 +171.137329533636 9794.265625000000 +172.136840902698 2122.000000000000 +172.168466786332 1309.672119140625 +173.079514403953 7730.000000000000 +174.990695602365 1337.972656250000 +177.054653270806 1487.000000000000 +178.158403800321 1799.193237304688 +179.105583290233 3646.174560546875 +182.960823278834 1922.372802734375 +182.986018115359 1341.532470703125 +186.220896557034 1469.000000000000 +194.116385994522 3228.431884765625 +195.101721591860 1761.497314453125 +195.120840048138 2139.872070312500 +198.184759772344 2245.000000000000 +200.198358143313 1177.926513671875 +209.152634370621 1389.980712890625 +217.106353356190 24341.000000000000 +218.109655666691 2974.806884765625 +219.095036364843 2223.419921875000 +224.127894084409 1278.478759765625 +228.195273215592 1674.000000000000 +236.167137123771 1456.000000000000 +239.088416675585 3867.606689453125 +242.282513583885 1277.000000000000 +246.861185203855 3901.000000000000 +249.182714411045 1537.000000000000 +250.178392714940 1258.000000000000 +250.999007399485 2502.000000000000 +252.996469033063 1435.000000000000 +253.914671653353 1239.000000000000 +260.979753981104 14440.506835937500 +261.982083120224 1659.000000000000 +262.976384632325 1466.000000000000 +267.171781473257 1284.615478515625 +277.200008538434 5514.000000000000 +279.092542460055 2184.000000000000 +281.050041935527 1782.000000000000 +292.121077385471 225397.000000000000 +293.123076709567 37677.234375000000 +294.118496498528 72202.039062500000 +295.120481083763 12277.000000000000 +296.122922541254 1529.722534179688 +299.182168197771 3169.000000000000 +304.298453938228 1206.488281250000 +318.011978476534 6627.000000000000 +322.257925183826 1680.000000000000 +327.007860740219 3296.000000000000 +329.003921677419 3051.000000000000 +331.002277995733 1209.000000000000 +339.994321798017 30539.392578125000 +340.996727216497 4443.000000000000 +341.991298278029 3214.898193359375 +351.926939354897 2576.000000000000 +353.925624186681 1528.262939453125 +355.967794750582 1676.749389648438 +363.070157834182 5926.000000000000 +379.934179014433 2532.000000000000 +381.930242914518 1263.000000000000 +445.118947651762 2644.000000000000 +505.851615177973 4750.000000000000 +522.877878746579 2136.000000000000 +529.887991001196 1339.000000000000 +536.163681670628 5319.764160156250 +537.164689652602 2801.000000000000 +538.163060633683 2127.000000000000 +544.338383816682 1327.000000000000 +546.914418903411 2791.000000000000 +547.911772088961 1197.000000000000 +610.182643718635 2184.000000000000 +611.184358419061 1263.000000000000 +645.154326732470 4086.000000000000 +646.158388244596 1322.000000000000 +647.153421689114 4193.000000000000 +648.155059129677 1544.000000000000 +649.151941293891 1547.000000000000 +671.046678825629 4046.000000000000 +672.049764904672 1509.000000000000 +673.044229478168 4164.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=661 experiment=4 +##m_id Cyproconazole_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=661 experiment=4_0 +##scan 39 +##specref ms_run[1]:sample=1 period=1 cycle=661 experiment=4 +69.069782720526 75.000000000000 +69.075037200335 72.171691894531 +69.833112312395 75.000000000000 +69.843591471427 60.000000000000 +70.039928634265 13088.292968750000 +70.319666133547 15.000000000000 +89.038675227825 135.000000000000 +98.999711365249 75.000000000000 +110.999837825429 45.000000000000 +124.625194151181 42.994541168213 +124.642697348778 60.000000000000 +125.014756270469 8204.791015625000 +128.059856883403 30.000000000000 +129.068987922921 30.000000000000 +137.001555355407 45.000000000000 +137.012360970077 45.000000000000 +138.995547268225 330.000000000000 +139.030941733198 30.000000000000 +141.069593086757 45.000000000000 +142.076344647709 75.000000000000 +151.025488198283 30.000000000000 +155.057537358319 15.000000000000 +155.084546775978 30.000000000000 +163.031632720579 30.000000000000 +165.052030425682 45.000000000000 +292.123662525593 418.000000000000 +>compound 0_18386993698014176665-675005--113--UNKNOWN +>parentmass 304.118832214819 +>ionization [M+H]1+ +>charge 1 +>rt 446.172000000000 +##fmz 304.118832214819406 +##fid 18386993698014176665 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +304.118832214819 3569184.783728866838 +305.111339121164 309883.178195710818 +>ms1peaks +52.005429962927 2874.067626953125 +53.013488092548 14817.291015625000 +54.009250374962 334494.937500000000 +55.006084606761 5488.883300781250 +55.011047738293 6443.265136718750 +55.054381628314 2385.724365234375 +55.934070669618 5486.966796875000 +56.942036090778 2313.250244140625 +59.049556209203 57988.484375000000 +60.044347260401 9323.001953125000 +61.039167560780 1828.241455078125 +63.997923021227 4927.193359375000 +64.004932691950 5181.531250000000 +68.011552270537 27280.974609375000 +68.993634139472 11798.143554687500 +69.044334270747 12566.409179687500 +72.936570834957 2193.115966796875 +73.063872777826 1681.879882812500 +76.486053959604 2158.190429687500 +79.020753207512 16147.697265625000 +80.048886066869 12139.645507812500 +81.936907500524 8343.286132812500 +82.996250408243 8009.000000000000 +87.042980895665 1166.738403320312 +87.053972860944 1485.116088867188 +89.506705194324 1444.000000000000 +90.488891330057 1645.000000000000 +91.053476545401 1583.000000000000 +95.952210208006 2039.742797851562 +97.968150682366 6945.562500000000 +100.074718244150 1363.000000000000 +102.090306392772 1417.000000000000 +109.942448236827 1253.000000000000 +113.962708637249 2032.000000000000 +114.090792284548 10306.000000000000 +118.084892277491 5540.821289062500 +122.095166173318 3378.000000000000 +122.962913232208 9579.000000000000 +123.091195975991 1531.662963867188 +130.157764407919 1286.000000000000 +136.020428292954 1633.000000000000 +141.090127789620 1346.968627929688 +141.112042976374 1656.172241210938 +141.957142368171 13820.262695312500 +147.089971164701 2287.525390625000 +149.022027180229 4587.050292968750 +149.040978245649 2678.199707031250 +151.095856455214 2104.623291015625 +151.110429192129 2233.988037109375 +155.068837159282 1322.053710937500 +155.973356955881 4212.000000000000 +158.153011960091 10898.886718750000 +161.095284178342 1762.593994140625 +164.141720682546 1224.125244140625 +170.095143568643 2743.236816406250 +173.079445020465 6455.588378906250 +174.990181271009 1164.000000000000 +175.126264328958 1229.927246093750 +178.157011972493 1362.000000000000 +179.105369890054 1931.000000000000 +182.960638968270 1810.076538085938 +182.983125598895 1274.763061523438 +186.016954934375 1958.000000000000 +186.220415397417 1282.000000000000 +193.158240520354 1195.032958984375 +194.115937912419 2861.000000000000 +195.121022485646 2380.102539062500 +198.183707422577 1745.000000000000 +200.199383225092 1357.000000000000 +201.983259096536 4157.000000000000 +217.007242135614 11741.327148437500 +217.105963587093 15482.668945312500 +218.009949414252 1208.000000000000 +218.108958783015 2547.000000000000 +219.093633048806 1319.448730468750 +234.033582693957 12770.000000000000 +235.037603512480 1379.336669921875 +239.087766278998 3286.875732421875 +242.283333142943 1269.000000000000 +245.038366204801 2525.000000000000 +246.860868473188 2768.000000000000 +249.183726045021 1277.861328125000 +250.999502407170 2552.000000000000 +252.995631834554 1836.000000000000 +262.065239894604 21394.767578125000 +263.067572169870 2404.000000000000 +264.061891103771 1243.000000000000 +276.080813947841 32185.000000000000 +277.083963767141 4114.000000000000 +278.078054160446 2217.000000000000 +279.092495265569 1940.000000000000 +281.050419778851 1367.000000000000 +284.163590469925 9332.000000000000 +285.167331910184 2517.000000000000 +289.119964437534 1441.302978515625 +292.119508242518 1546.000000000000 +303.104642799152 3336.000000000000 +303.191168270618 2846.093505859375 +304.118917204532 886697.062500000000 +304.856339026942 1419.656616210938 +304.975022441588 5892.455566406250 +305.107897820025 60098.996093750000 +306.110158464267 52147.246093750000 +307.111260806590 6616.670410156250 +307.247283236566 2744.782226562500 +310.120139525907 4017.412597656250 +320.106832165572 5127.000000000000 +321.110457254103 1231.635253906250 +321.131042046566 1226.668579101562 +326.094185610162 39581.000000000000 +327.007439325330 3479.883544921875 +327.096485748553 6323.979980468750 +328.091424657873 2476.325927734375 +329.002736488496 3916.000000000000 +330.204957173578 17861.789062500000 +331.208137127779 4322.000000000000 +342.068068201427 2858.656982421875 +349.169386508932 18308.152343750000 +350.172289812388 3575.000000000000 +351.169114792649 1326.000000000000 +352.185338388432 1383.838623046875 +372.148023932598 2199.032714843750 +380.334421867930 1500.000000000000 +404.036203084131 8110.000000000000 +405.038280600419 1614.000000000000 +445.117639958471 2103.000000000000 +500.274765830931 9506.000000000000 +501.278189264574 2845.197509765625 +502.287108152553 1738.000000000000 +505.850965822120 2506.000000000000 +536.163265279090 5123.811523437500 +537.164206705990 2452.000000000000 +538.160787955733 1794.000000000000 +544.336478775213 1764.000000000000 +546.913227478942 1570.434814453125 +549.964589119831 1398.000000000000 +607.215848916045 42716.000000000000 +608.219229396365 13004.000000000000 +609.215354074706 6569.000000000000 +610.191475231986 3658.000000000000 +611.187180591379 1650.000000000000 +612.219311132493 2717.000000000000 +613.224098373297 22062.000000000000 +614.227279534381 7018.149414062500 +615.222828016202 3443.000000000000 +623.211028873207 1301.000000000000 +629.198230629944 46218.000000000000 +630.201437914669 14408.000000000000 +631.197842259138 6467.000000000000 +632.198694915122 1400.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=675 experiment=5 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=675 experiment=5_0 +##scan 113 +##specref ms_run[1]:sample=1 period=1 cycle=675 experiment=5 +51.025230191010 60.000000000000 +53.042474404052 45.000000000000 +58.995209811857 285.000000000000 +60.080905436478 1803.923461914062 +65.038735029139 45.000000000000 +77.038622051882 332.000000000000 +78.045973004466 60.000000000000 +79.053817998651 539.000000000000 +79.990848874925 300.000000000000 +91.054001664442 620.000000000000 +93.068645217008 370.000000000000 +95.049052730571 45.000000000000 +97.010676625187 890.000000000000 +103.053787209201 291.000000000000 +104.061084742769 150.000000000000 +105.068334920325 38.785545349121 +107.048476065256 2240.160888671875 +107.072432955012 135.000000000000 +108.055792255651 1061.000000000000 +109.063970513485 264.350006103516 +110.016978522096 165.000000000000 +111.025272603771 75.000000000000 +118.074140251592 45.000000000000 +121.009130624023 548.000000000000 +121.029958953434 60.535709381104 +122.017298486385 980.000000000000 +122.036506966533 227.800430297852 +125.041266230161 262.000000000000 +134.018538775237 60.000000000000 +134.073916170563 45.000000000000 +134.095695488835 45.000000000000 +135.026161726804 534.000000000000 +135.078487450095 90.000000000000 +137.006305675560 313.000000000000 +137.040979968925 1778.926025390625 +138.012727979825 1464.000000000000 +139.020309257361 1024.000000000000 +140.027069020713 150.000000000000 +140.591866048816 30.000000000000 +141.011260927571 75.000000000000 +150.046751311030 105.000000000000 +151.021299475346 150.000000000000 +152.576168311708 60.000000000000 +152.998044511193 75.000000000000 +153.036074179846 6124.000000000000 +154.043709586541 210.000000000000 +154.068241390455 62.952999114990 +154.972722850633 330.000000000000 +155.052161537136 3686.873535156250 +165.043680396210 45.000000000000 +168.986761486121 8191.273437500000 +169.003111638348 7602.300781250000 +170.010033115696 45.000000000000 +173.035848580677 30.000000000000 +180.985431825642 60.000000000000 +181.052453612627 45.000000000000 +181.070315448994 45.000000000000 +183.018664996496 135.000000000000 +183.973342047871 75.000000000000 +184.026572772516 45.000000000000 +184.419112957683 30.000000000000 +184.981576709492 6491.000000000000 +186.996738133410 343.000000000000 +187.039366781676 45.000000000000 +197.034096977050 45.000000000000 +198.015599522243 45.000000000000 +198.997463487937 4190.000000000000 +200.976234887806 1639.719970703125 +200.999328730996 1443.055786132812 +201.375560498466 330.000000000000 +201.984744162441 63752.667968750000 +202.025092005346 214.887084960938 +202.151693094227 45.000000000000 +202.176315801779 45.594470977783 +202.419371448987 60.000000000000 +202.437288231128 45.000000000000 +202.500019618456 60.000000000000 +202.517624485801 48.558765411377 +202.648988098710 45.000000000000 +202.993585993201 150.000000000000 +203.108544868346 30.000000000000 +203.121478592138 45.000000000000 +204.132231430480 45.000000000000 +204.153026361689 45.000000000000 +214.991727371784 945.000000000000 +216.023012287561 843.000000000000 +216.355082188226 442.000000000000 +216.385654222669 90.000000000000 +216.964403576794 59.121311187744 +217.008494855200 125901.000000000000 +217.056166733144 228.620422363281 +217.174442197011 75.000000000000 +217.205900295791 55.864074707031 +217.396324549254 45.000000000000 +217.415518436779 74.666610717773 +217.442451066205 47.380496978760 +217.588006413291 45.000000000000 +217.621801811369 31.066198348999 +217.664328232764 90.000000000000 +217.679728975131 105.000000000000 +217.706002637447 60.000000000000 +217.757983028729 60.000000000000 +217.809934792328 48.510864257812 +217.841984466983 139.269760131836 +217.883101217311 43.148494720459 +217.943854175255 89.818382263184 +217.964694239548 105.000000000000 +218.011068530749 180.000000000000 +218.072232357054 75.000000000000 +218.098922642672 84.849304199219 +218.265989620271 31.124542236328 +218.280034633009 37.702697753906 +218.308801511389 90.247619628906 +218.328355039950 90.000000000000 +218.387581973378 45.000000000000 +218.446704980964 75.000000000000 +218.467978540240 90.000000000000 +218.695018142784 70.259552001953 +218.719948225804 67.364746093750 +218.789254676702 45.000000000000 +218.813580838430 45.000000000000 +218.846289402485 45.000000000000 +218.995968780702 105.000000000000 +219.012218895710 101.918548583984 +219.303339997865 45.000000000000 +219.325838359475 45.000000000000 +219.388058465824 45.000000000000 +219.459153843468 30.000000000000 +219.739233899158 30.000000000000 +220.670213104301 45.000000000000 +220.686553112587 45.000000000000 +227.030058630938 60.000000000000 +229.004458545685 45.000000000000 +229.988914935534 523.873046875000 +230.015305123973 1019.361999511719 +233.326493414012 45.000000000000 +234.034608098264 14349.000000000000 +235.040675886350 60.000000000000 +241.043552600133 60.000000000000 +244.017269590781 45.000000000000 +244.046131119763 33.784996032715 +245.039409146005 1613.000000000000 +258.074029499555 150.000000000000 +259.054432449659 75.000000000000 +262.032514350373 638.202148437500 +262.065722539033 1269.000000000000 +275.250410575562 45.000000000000 +275.276233367382 45.000000000000 +276.082221466818 3389.000000000000 +304.114900229964 1271.000000000000 +>compound 0_11941333258820146302-663003--50--UNKNOWN +>parentmass 313.038703270813 +>ionization [M+H]1+ +>charge 1 +>rt 436.497000000000 +##fmz 313.038703270813244 +##fid 11941333258820146302 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +313.038703270813 90349.665873127466 +>ms1peaks +52.005966180500 2509.332031250000 +53.013507369873 14095.641601562500 +53.850970390711 1246.033935546875 +54.009372281497 342031.000000000000 +55.006163575275 5705.965820312500 +55.011387270805 6127.473144531250 +55.054184206823 1848.058593750000 +55.934334911976 6140.810546875000 +56.049690767818 1330.017089843750 +56.942074959092 2606.667480468750 +59.049518267006 56697.359375000000 +60.044566292185 9567.453125000000 +60.051796148101 5984.580078125000 +61.039393490257 1915.440551757812 +63.997909973617 3748.628417968750 +64.005283923938 4326.699218750000 +68.011628084817 27292.236328125000 +68.993816323075 12618.667968750000 +69.032897101129 1379.142456054688 +69.044540912933 13986.380859375000 +72.936558146637 2579.000000000000 +73.064228849484 1913.000000000000 +76.486180881623 2682.000244140625 +79.021000086474 14334.086914062500 +80.049089873152 11904.342773437500 +81.937137428830 9328.000000000000 +82.996717483329 9530.261718750000 +87.044278019735 1244.984619140625 +87.054474952312 1464.973510742188 +89.506620387415 1797.000000000000 +90.489369315210 1750.000000000000 +91.053371587935 1520.000000000000 +95.952544398364 2306.000000000000 +97.967985008693 7122.677246093750 +98.983597639133 2707.236572265625 +102.090693288494 2155.000000000000 +109.942639865272 1479.000000000000 +113.962988365185 2088.000000000000 +114.090715282838 10161.079101562500 +118.085459870469 7107.342285156250 +122.095676141264 3819.024658203125 +122.963182714449 11743.000000000000 +123.091076294906 1884.834838867188 +123.962710172625 1278.000000000000 +130.158549361780 1309.000000000000 +132.043510097675 6102.050781250000 +136.020884350350 1696.428710937500 +136.110913014003 1219.864746093750 +141.090089283606 1510.582885742188 +141.112164115087 1395.173217773438 +141.957727661927 16172.547851562500 +147.090953742167 2593.000000000000 +149.022660175650 5113.270019531250 +149.042184219595 2270.130126953125 +151.095573062425 2291.701904296875 +151.109764648433 2508.697753906250 +155.069421770644 1304.007690429688 +155.105956399660 1556.186767578125 +155.973291029133 4647.000000000000 +158.153352334475 13909.827148437500 +159.156157365710 1453.476074218750 +160.049315575157 1807.000000000000 +161.095748922100 1676.696289062500 +164.141989249057 1365.831665039062 +170.095477046624 2501.143554687500 +171.138013785490 3982.982177734375 +172.134863309732 1431.708251953125 +173.080523810193 6956.130371093750 +174.991175918913 9969.217773437500 +176.988389097507 3050.117675781250 +177.054118074174 1458.434448242188 +178.157975354817 1551.791381835938 +179.106014386017 6976.000000000000 +182.960744773798 1855.346191406250 +182.979834217019 1800.970458984375 +186.220995397905 2442.000000000000 +194.116040015282 3148.000000000000 +195.104779764897 1691.220825195312 +195.121820949901 2158.996582031250 +198.184910946765 2078.562744140625 +217.106618021168 23378.933593750000 +218.110011440618 2630.000000000000 +219.095176701267 2434.000000000000 +228.195374276500 1663.423095703125 +235.168383933758 1236.068969726562 +236.166825939935 1254.000000000000 +239.088686366357 4311.829589843750 +242.284913917132 1324.000000000000 +246.862288674394 3536.000000000000 +249.184859994698 1408.000000000000 +250.178788935105 1421.692382812500 +250.999929283760 20029.000000000000 +252.003012365740 1411.418090820312 +252.997001503914 12765.000000000000 +254.993768386515 1938.000000000000 +260.980022779583 1808.000000000000 +267.171368540006 1448.377807617188 +277.200433490599 1660.000000000000 +279.093759730917 2119.000000000000 +281.051032806120 1483.000000000000 +291.237715025520 1241.364013671875 +292.121361150912 285183.000000000000 +293.123834428448 45555.277343750000 +294.118427695985 93122.570312500000 +295.120641413580 15470.696289062500 +296.123835906431 1561.000000000000 +313.039035562555 16422.000000000000 +314.041466363413 2766.000000000000 +315.036563511042 10824.000000000000 +316.039700661579 1830.000000000000 +317.034195270562 1773.448120117188 +321.226781744505 2044.000000000000 +327.008089983734 28336.265625000000 +328.011190071085 2858.514404296875 +329.005295881569 27689.000000000000 +330.008649187278 3052.000000000000 +331.002098826780 9057.932617187500 +333.003548365368 1609.000000000000 +335.018062590141 2124.000000000000 +339.950891675362 1270.914672851562 +339.994456530817 4579.000000000000 +348.990164564731 4627.000000000000 +350.986598107700 4290.000000000000 +372.065686169920 4230.000000000000 +374.062221925680 3509.000000000000 +376.059337391009 1282.000000000000 +392.047236888469 1599.000000000000 +395.069603447750 1690.000000000000 +397.066731969223 1427.000000000000 +428.928860183743 1238.358520507812 +430.887744920288 1367.548706054688 +445.120189406834 2253.000000000000 +505.852818670435 4262.000000000000 +506.855243935787 1464.000000000000 +522.879200969200 1903.639038085938 +529.890071522891 1483.417846679688 +536.164962577408 4542.000000000000 +537.166020159870 2688.000000000000 +538.164211996041 1760.000000000000 +544.339325990071 1415.000000000000 +546.913817544760 2912.000000000000 +547.914903230189 1254.000000000000 +610.183749066707 2160.000000000000 +611.183884033885 1283.000000000000 +645.156997893402 7650.000000000000 +646.160667456787 3315.000000000000 +647.154701516229 9174.000000000000 +648.157895170257 3104.000000000000 +649.152380094183 3397.000000000000 +673.045753694998 1272.428222656250 +>ms2peaks +##n_id sample=1 period=1 cycle=663 experiment=3 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=663 experiment=3_0 +##scan 50 +##specref ms_run[1]:sample=1 period=1 cycle=663 experiment=3 +79.054534010328 30.000000000000 +81.069024421900 75.000000000000 +138.997340989450 30.000000000000 +146.973850300653 30.000000000000 +150.993294957568 30.000000000000 +152.064927694190 45.000000000000 +156.961224883657 842.000000000000 +158.975205667710 360.000000000000 +165.069897758503 30.000000000000 +170.975051884785 30.000000000000 +172.953347267476 75.000000000000 +174.969622660121 45.000000000000 +179.085562211052 150.000000000000 +184.954446069391 901.000000000000 +186.974009154470 60.000000000000 +188.019125882175 20.250818252563 +188.041595099939 27.989727020264 +198.970267195566 45.000000000000 +199.003336715238 30.000000000000 +199.022915165548 30.000000000000 +204.033776256140 60.000000000000 +204.069004228345 18.236137390137 +208.993398028951 60.000000000000 +212.950028404695 799.000000000000 +213.043299647071 45.000000000000 +214.054672340147 120.000000000000 +214.964896120028 180.000000000000 +230.962098026426 180.000000000000 +238.999390755164 165.000000000000 +249.024795643907 75.000000000000 +267.035582268648 105.000000000000 +277.017494808075 30.000000000000 +295.029960009017 195.000000000000 +313.033105483710 45.000000000000 +>ms1peaks +52.005453969998 2626.723144531250 +53.013597312446 12728.553710937500 +53.850414409821 1250.853881835938 +54.009329210909 348334.937500000000 +55.006062122532 5392.668457031250 +55.011342055713 6236.111816406250 +55.054021350211 1869.273437500000 +55.934286374440 6315.563964843750 +56.941831842622 2597.011962890625 +59.049520241177 68985.562500000000 +60.044238693811 9277.411132812500 +60.051306561624 7152.463378906250 +61.039638104919 1556.488891601562 +63.997844257749 4543.386718750000 +64.004868648059 4706.500976562500 +68.011536869512 28038.335937500000 +68.993647464953 12595.196289062500 +69.044515645070 12865.375976562500 +72.936647087938 2567.000000000000 +73.064121365067 1769.925781250000 +76.486182586418 2785.377929687500 +79.020888115541 15628.571289062500 +80.049060365715 12153.072265625000 +81.936978966817 8495.000000000000 +82.996309100211 9038.668945312500 +87.043494139885 1178.190917968750 +87.054319172330 1546.054443359375 +89.506956806916 1559.000000000000 +90.488703688296 1817.000000000000 +91.053777911785 1528.745483398438 +95.952341177386 2260.741210937500 +97.968210936145 7024.000000000000 +98.983399057372 5034.887695312500 +100.075304888654 1243.000000000000 +102.090957068479 1525.000000000000 +109.943109012828 1320.928710937500 +113.962992754591 2498.000000000000 +114.090728474154 10512.617187500000 +118.085470631803 6601.458007812500 +122.095607083049 3712.721679687500 +122.962888411087 10607.500976562500 +123.091509718457 1686.104614257812 +132.043186178558 2464.123291015625 +136.020620151667 1645.000000000000 +140.067164786600 1314.000000000000 +141.089863109573 1272.675292968750 +141.111890586678 1562.626220703125 +141.957557081223 15988.394531250000 +147.090173997086 2431.000000000000 +149.022336160605 4523.349121093750 +149.043636850784 1223.066040039062 +151.095789721496 2301.788818359375 +151.111113393103 2538.584228515625 +155.069111807472 1549.374267578125 +155.105759874764 1515.979370117188 +155.973112787773 4487.000000000000 +158.153378740203 12758.589843750000 +159.156448385204 1328.413452148438 +161.095542076597 1436.000000000000 +164.142018358830 1273.736083984375 +170.095175686942 2849.232421875000 +171.138207188731 2555.000000000000 +172.133475837479 1266.057739257812 +173.079557051502 6304.225097656250 +174.991247355031 15122.000000000000 +176.988586706089 4881.000000000000 +178.158242399689 1403.950073242188 +179.105412805866 3814.716552734375 +182.960601426951 1842.280639648438 +182.982966835265 1410.150146484375 +186.220883153188 1802.000000000000 +194.115976643286 3119.000000000000 +195.102214753451 1498.057617187500 +195.120897037407 1858.993774414062 +198.184171488074 2116.000000000000 +217.106332787106 21497.787109375000 +218.109128733639 2613.000000000000 +219.095226750847 2102.304443359375 +224.127626531368 1175.000000000000 +228.195317705032 1672.133422851562 +239.088374855672 3685.309814453125 +242.283185310790 1468.000000000000 +246.860952738993 3049.000000000000 +249.183720846634 1286.295654296875 +250.177140311956 1205.756591796875 +250.999832075601 32001.000000000000 +252.002106420824 2157.000000000000 +252.996924958467 20204.000000000000 +253.999797691244 1411.000000000000 +254.993496356863 3401.000000000000 +279.092906188567 2036.000000000000 +286.179288894577 8400.000000000000 +287.181689656808 1994.078002929688 +287.217541902151 1349.643310546875 +291.235948805059 1485.048828125000 +292.122314491142 439122.000000000000 +292.983059595137 1438.034667968750 +293.122671084767 47692.136718750000 +294.118451514065 133013.562500000000 +295.120454982262 22502.744140625000 +296.122607984390 2357.932373046875 +313.039105768504 33266.000000000000 +314.042149111497 5168.000000000000 +315.036268416268 21007.242187500000 +316.038403197349 3302.000000000000 +317.033014483539 3862.000000000000 +321.227057921370 1381.000000000000 +327.007877449001 47611.566406250000 +328.011115186819 4973.000000000000 +329.004794999861 46547.000000000000 +330.008005603352 4737.000000000000 +331.001868162022 15538.000000000000 +332.004876313775 1480.000000000000 +333.003299668985 2744.071777343750 +335.018886982057 3585.000000000000 +337.016084576435 2205.000000000000 +339.994390073568 1754.000000000000 +348.988792788967 6573.000000000000 +350.986916484867 6721.000000000000 +352.984603835989 2083.000000000000 +354.041095041215 1340.092163085938 +356.039619641072 1269.081298828125 +372.065048824891 6209.586914062500 +374.062468004687 6086.000000000000 +376.059148229590 1968.000000000000 +392.045330940334 2193.000000000000 +395.067648242738 2230.000000000000 +397.066134815272 1581.000000000000 +426.930515343123 1306.000000000000 +426.976513054277 1169.811889648438 +428.927149366436 1298.000000000000 +430.886640350010 1403.000000000000 +445.118913900930 2269.000000000000 +491.969645058197 1379.000000000000 +505.851389825487 3789.000000000000 +522.878326149515 1800.000000000000 +536.163456762234 4427.000000000000 +537.165324404735 2206.000000000000 +538.161529742511 1590.843383789062 +544.337468455008 1195.000000000000 +546.914116937371 2559.000000000000 +547.911876414748 1196.000000000000 +610.180850219782 2080.000000000000 +611.182328195703 1214.000000000000 +645.154717656738 8484.000000000000 +646.158700037782 2782.000000000000 +647.152980374288 9942.000000000000 +648.155555240546 3294.000000000000 +649.150621117204 4284.000000000000 +650.152709955400 1200.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=664 experiment=4 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=664 experiment=4_0 +##scan 58 +##specref ms_run[1]:sample=1 period=1 cycle=664 experiment=4 +67.052860010023 60.000000000000 +67.055622152498 60.000000000000 +81.069428964487 45.000000000000 +81.077587109471 45.000000000000 +103.058281594513 30.000000000000 +110.998196456129 30.000000000000 +111.009859654407 30.000000000000 +138.996284531066 60.000000000000 +139.011800641272 60.000000000000 +150.023220788635 30.000000000000 +152.066111503787 45.000000000000 +153.067329858556 30.000000000000 +156.959221707615 1422.000000000000 +158.975323377537 573.000000000000 +167.998485094510 75.000000000000 +168.054963100567 45.000000000000 +170.978736884857 30.000000000000 +170.989580124746 30.000000000000 +172.952683092322 15.000000000000 +172.994922272365 30.000000000000 +174.970336993994 45.000000000000 +178.078063806293 150.000000000000 +179.083834729450 180.000000000000 +182.975542373838 150.000000000000 +184.954422686375 1843.000000000000 +184.992879568467 48.715236663818 +186.968700625415 75.000000000000 +194.975613857505 30.000000000000 +194.991095982443 30.000000000000 +196.990058954009 60.000000000000 +199.008102021282 45.000000000000 +199.030178886815 45.000000000000 +201.048040457878 30.000000000000 +202.965285319444 45.000000000000 +204.036034755587 90.000000000000 +207.082759367559 30.000000000000 +208.990721337596 30.000000000000 +212.950645803637 1638.000000000000 +212.986769086209 148.526763916016 +213.046844646179 90.000000000000 +213.955156667542 15.000000000000 +214.051741312846 150.000000000000 +214.966808128885 135.000000000000 +217.035226498901 30.000000000000 +223.003713665023 45.000000000000 +224.986874913994 60.000000000000 +230.919675166084 15.000000000000 +230.960902234020 405.000000000000 +232.066177190226 30.000000000000 +239.002766522535 165.000000000000 +239.042628345807 15.000000000000 +242.055948459935 75.000000000000 +249.024370713899 105.000000000000 +266.994560803543 160.405776977539 +267.030177175817 247.000000000000 +277.016316391148 75.000000000000 +295.030764387377 675.000000000000 +313.036686987791 210.000000000000 +>ms1peaks +52.005349834334 2531.576904296875 +52.017818445883 1415.950317382812 +53.013312992683 14436.391601562500 +53.850256514170 1311.865234375000 +54.009237809188 346906.656250000000 +55.005700977113 5493.924316406250 +55.011578128004 6377.684570312500 +55.053978874167 1984.071533203125 +55.933999133980 6168.766601562500 +56.049511919157 2977.762207031250 +56.942056567735 2284.776855468750 +59.049350876787 53629.328125000000 +60.044322757483 8600.164062500000 +61.039156449004 1644.316650390625 +63.997508188870 3394.982910156250 +64.005057234464 4259.679687500000 +67.029035810216 2293.846923828125 +68.011280581573 27100.835937500000 +68.993371510951 13738.876953125000 +69.007497995886 1441.296142578125 +69.044403084909 13070.419921875000 +72.936195718172 2643.000000000000 +73.063931102643 1919.621459960938 +76.486167754556 1986.000000000000 +79.020619039319 14111.753906250000 +80.048823728166 11369.215820312500 +81.936905757296 8703.630859375000 +82.996214707689 8986.651367187500 +87.054271044459 1595.093627929688 +89.505822079267 1760.000000000000 +90.488874903389 1822.018798828125 +91.053163445835 1300.610839843750 +95.952331345900 2696.000000000000 +97.967781752031 7299.724609375000 +98.982987677469 4854.522460937500 +102.090290867080 1906.000000000000 +109.942394870381 1583.000000000000 +113.962086127466 2074.000000000000 +114.090395399108 10058.849609375000 +118.084999014032 6547.758789062500 +122.095088721755 3711.124511718750 +122.962603857586 10794.167968750000 +123.090649527845 1803.942016601562 +123.961855384374 1203.000000000000 +130.157739418261 1256.000000000000 +136.020039379796 2083.000000000000 +136.110849290905 1530.000000000000 +141.089744053815 1237.175415039062 +141.111592847426 1371.696777343750 +141.957218960001 15367.227539062500 +147.090011968413 2463.000000000000 +149.021828990169 4784.995605468750 +149.041466762922 2472.640625000000 +151.095944798794 2940.508300781250 +151.109341918543 3165.085693359375 +155.069344508958 1582.135864257812 +155.105135879836 1693.281616210938 +155.972287468254 4554.340332031250 +158.152759351824 13585.107421875000 +159.156196357366 1465.921386718750 +159.967851357038 1225.276977539062 +161.095405694183 1641.000000000000 +164.141615127090 1478.434814453125 +170.094609622000 2457.688476562500 +171.141467030026 1915.000000000000 +173.079379445344 6273.838867187500 +174.990844938283 15688.865234375000 +176.987639364551 5360.525878906250 +177.052467267277 1475.000000000000 +178.157540067017 1547.000000000000 +179.105091602082 3287.998779296875 +182.959873591311 1986.817871093750 +186.220399692631 1658.000000000000 +194.115345005627 3116.000000000000 +195.120929712058 1968.662841796875 +198.184276303297 2015.000000000000 +217.105977610050 20924.755859375000 +218.108820705353 2495.792236328125 +219.094022022929 1823.679443359375 +228.194066029155 1666.038696289062 +239.087872978056 3722.000000000000 +242.282423819470 1362.000000000000 +246.860857987495 3450.000000000000 +249.182928857496 1266.000000000000 +250.177066939258 1504.335083007812 +250.999117678898 32221.000000000000 +252.001781095835 2314.000000000000 +252.995932699016 21462.000000000000 +253.998953923887 1371.000000000000 +254.993033756740 3403.000000000000 +267.170032496706 1345.000000000000 +279.092268016151 1928.000000000000 +281.050459546987 1487.000000000000 +286.178655880094 23309.207031250000 +287.182133845414 5196.471191406250 +291.235317712341 1559.882568359375 +292.121093988068 399090.000000000000 +292.982663908460 1255.682128906250 +293.023857907805 1542.287597656250 +293.121921829592 49425.335937500000 +294.117639052994 123150.929687500000 +295.119583284786 21162.347656250000 +296.122453171108 2024.725219726562 +304.297977116061 1205.098876953125 +311.183844763032 2282.703613281250 +313.038450493324 32210.287109375000 +314.041319280533 5035.671875000000 +315.035461346507 21071.000000000000 +316.038196392607 3544.000000000000 +317.032926032719 3656.000000000000 +327.007662782866 46713.000000000000 +328.009753952920 4731.131347656250 +329.004141727930 46254.000000000000 +330.006788270317 4440.000000000000 +331.000792355787 15238.000000000000 +332.003743171067 1635.000000000000 +333.001048030235 2840.547363281250 +335.018066518429 3857.000000000000 +337.016490283319 2257.000000000000 +348.988206068721 7382.000000000000 +350.985085465325 7259.000000000000 +352.983081816715 2462.000000000000 +354.041092701990 1411.000000000000 +358.095358680256 1344.000000000000 +372.064528986026 6467.495117187500 +374.061053722203 5695.000000000000 +376.059656060961 2211.000000000000 +392.044067632616 2143.000000000000 +395.066337210837 2288.000000000000 +397.065352026340 1841.000000000000 +428.895605409648 1348.684326171875 +428.927859796300 1412.000000000000 +445.117454275133 2106.000000000000 +491.967681975778 1277.000000000000 +505.850908455770 4139.747558593750 +522.876740252438 1800.000000000000 +536.161867901498 4607.000000000000 +537.162257475039 2465.000000000000 +538.160527239899 1695.000000000000 +544.336437856300 1324.164184570312 +546.911854407175 2375.000000000000 +547.911013918907 1216.000000000000 +610.179211400596 2165.000000000000 +611.181197363117 1284.000000000000 +645.153892760480 7294.000000000000 +646.156182811867 3135.000000000000 +647.151735773867 8987.490234375000 +648.154489817139 3184.000000000000 +649.150180493474 3821.591308593750 +650.151352616891 1194.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=665 experiment=6 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=665 experiment=6_0 +##scan 69 +##specref ms_run[1]:sample=1 period=1 cycle=665 experiment=6 +67.053909584653 45.000000000000 +69.033542873165 13.000000000000 +79.058030256646 30.000000000000 +81.071734674950 30.000000000000 +81.077520980836 30.000000000000 +91.053098777872 13.000000000000 +109.060313103905 13.000000000000 +138.993471049311 30.000000000000 +149.023896935008 30.000000000000 +150.017107851047 13.000000000000 +156.959451948594 749.000000000000 +158.976159750666 460.000000000000 +162.031570235371 30.000000000000 +162.399240446876 13.000000000000 +170.977950756921 45.000000000000 +172.956036470090 75.000000000000 +174.971632752174 120.000000000000 +178.077461386559 45.000000000000 +179.086561839318 165.000000000000 +182.975030642321 45.000000000000 +184.955502967338 896.000000000000 +184.992605516328 30.000000000000 +191.998848071163 30.000000000000 +196.997306173106 60.000000000000 +199.034660593666 45.000000000000 +200.984079860705 30.000000000000 +202.966246576670 45.000000000000 +210.115748455489 13.000000000000 +212.949562579619 1107.000000000000 +214.056205506006 60.000000000000 +214.966968499949 90.000000000000 +215.063547094064 30.000000000000 +217.046765511981 30.000000000000 +223.009125324614 45.000000000000 +225.026448920531 30.000000000000 +230.959952529606 285.000000000000 +239.005060800584 75.000000000000 +239.038323483484 100.378295898438 +248.980307720551 35.114593505859 +249.019654122443 105.000000000000 +252.013840214424 30.000000000000 +252.973787534598 13.000000000000 +267.032662567266 345.000000000000 +277.013441128794 30.000000000000 +295.029124243952 728.000000000000 +313.006618779013 150.000000000000 +313.040296521628 165.000000000000 +>compound 0_5585685219772452827-657005--4--Guthion +>parentmass 318.012862565976 +>ionization [M+H]1+ +>formula C10H12N3O3PS2 +>charge 1 +>rt 431.866000000020 +##fmz 318.012862565976377 +##fid 5585685219772452827 +##des Guthion +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +318.012862565976 47593.132286356151 +>ms1peaks +52.005865355475 2936.356689453125 +53.013723515258 15168.868164062500 +53.850400239168 1357.829345703125 +54.009447090145 347607.156250000000 +55.006110218286 6238.441894531250 +55.011508541956 7268.958007812500 +55.054636618089 2136.000000000000 +55.934309116073 6532.552734375000 +56.942275933353 2612.874023437500 +59.049622158630 56011.429687500000 +60.044524012498 9000.792968750000 +61.039481839151 1786.074829101562 +63.997449394256 3736.165039062500 +64.005109595772 4712.666015625000 +68.011792039005 26707.251953125000 +68.993702477550 13633.019531250000 +69.008646447254 1441.886596679688 +69.044733608562 13552.908203125000 +69.494666168807 1088.000000000000 +72.044289477019 1134.000000000000 +72.936653378507 2379.292724609375 +73.064314657279 1947.000000000000 +76.486410468336 2230.000000000000 +77.038532396207 1590.778686523438 +79.021074679723 14557.214843750000 +80.049121781728 13038.990234375000 +81.937384309880 9136.173828125000 +82.996771559276 9647.291015625000 +87.044032478393 1164.202392578125 +87.055030197874 1937.880737304688 +89.506480817586 1633.000000000000 +90.489144644798 1823.000000000000 +91.053978578614 1481.000000000000 +95.952653475183 2798.568603515625 +97.968242662562 7804.676269531250 +100.075124666224 1357.000000000000 +102.091023963336 2105.000000000000 +109.943015773476 1849.492675781250 +113.963173340819 2146.000000000000 +114.091149027124 11434.439453125000 +118.085562888545 7126.602050781250 +122.095450971812 3351.000000000000 +122.963406396921 11429.592773437500 +123.091816714399 1461.405029296875 +123.962989553704 1162.000000000000 +132.043858137010 23466.287109375000 +133.047312261130 2601.019775390625 +136.020979409517 1763.000000000000 +136.111376584671 1338.000000000000 +141.090631531290 1452.329956054688 +141.112250777587 1933.171752929688 +141.957805111647 16272.520507812500 +142.960130525273 1091.785766601562 +147.090889713370 2561.000000000000 +149.022860382613 8952.703125000000 +149.043461527452 2074.399169921875 +151.096439801801 2539.815917968750 +151.111209143750 2693.475830078125 +155.070028482861 1787.522338867188 +155.105375703160 1554.431030273438 +155.973268704769 4467.000000000000 +158.002234575261 1123.180664062500 +158.153819790011 15565.543945312500 +159.136830576290 1251.366088867188 +159.156929350810 1638.817993164062 +159.968015589745 1144.587158203125 +160.050107538005 10862.000000000000 +161.095753069011 1987.528442382812 +163.130314304873 1321.613403320312 +164.142207413101 1344.506469726562 +170.096003050047 2831.750244140625 +170.116393016687 1241.047485351562 +170.969308188165 1467.000000000000 +171.138824143644 1976.471679687500 +172.132816514555 1070.000000000000 +172.169354072833 1126.623413085938 +173.080592066342 7150.673339843750 +174.127101054123 1093.000000000000 +174.991572624579 1115.259887695312 +175.117966507653 1382.413574218750 +177.053956263481 3086.000000000000 +178.158743604693 1737.946655273438 +179.106488149861 2092.017333984375 +182.961571664514 1566.125366210938 +182.982955367691 1389.804321289062 +186.221312636852 2310.000000000000 +194.116506735598 3012.142089843750 +195.121983568600 1971.532348632812 +198.184492106186 2254.000000000000 +199.168659259112 1074.472778320312 +200.200544607050 1265.000000000000 +209.152957718499 1444.000000000000 +215.126858142678 1195.000000000000 +217.107186196782 24662.302734375000 +218.110233972313 2772.000000000000 +219.095202240315 3180.013427734375 +219.137164883586 1444.293090820312 +224.128646207474 1167.206176757812 +228.196369189320 1732.199340820312 +235.170060948981 1264.538574218750 +236.167946332224 2704.449462890625 +239.089160494599 5259.000000000000 +240.068219796793 1277.484863281250 +240.091769691182 1359.958740234375 +242.284200605489 1137.000000000000 +246.863294404574 3891.000000000000 +249.184938071857 1294.474121093750 +250.177914710678 1312.000000000000 +250.999736865556 2366.000000000000 +251.185303455126 1195.000000000000 +252.996845199048 1725.000000000000 +260.980831135670 9681.000000000000 +262.976934337234 1074.000000000000 +267.172286092444 1268.487426757812 +279.093453473919 1954.000000000000 +281.051187832394 1373.000000000000 +287.889696989575 1142.000000000000 +318.012975056617 4878.000000000000 +327.008528574617 3507.000000000000 +329.005288792022 3151.000000000000 +339.995536258518 21188.000000000000 +340.998304727292 3403.000000000000 +341.991615450972 1965.000000000000 +351.928765172494 2752.000000000000 +353.925863637500 1287.000000000000 +355.970345025132 1233.272216796875 +363.071463720139 4333.000000000000 +371.315937786641 1386.000000000000 +379.934517326720 2414.000000000000 +381.932765584480 1355.000000000000 +430.887891579421 1170.000000000000 +445.119501835711 2373.000000000000 +503.857852657168 1208.000000000000 +505.853144541362 5379.000000000000 +506.854406933930 1813.000000000000 +522.880381915172 2380.000000000000 +523.873038712107 1344.000000000000 +529.890971881918 1718.000000000000 +536.164830382665 5050.000000000000 +537.165530578391 2568.000000000000 +538.164082153377 1889.000000000000 +542.919791547930 1233.000000000000 +544.340309842267 1260.000000000000 +544.916740966050 1184.000000000000 +546.914239791284 3795.000000000000 +547.912822025670 1609.000000000000 +563.944002995814 1077.258789062500 +610.183402350979 1851.000000000000 +611.184706508494 1107.000000000000 +696.940078237106 1408.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=657 experiment=5 +##m_id Guthion_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=657 experiment=5_0 +##scan 4 +##specref ms_run[1]:sample=1 period=1 cycle=657 experiment=5 +51.024411650566 166.000000000000 +77.038595873029 3035.000000000000 +78.994852705761 195.000000000000 +102.033579338103 169.000000000000 +104.050175822373 488.000000000000 +105.032352182141 910.895751953125 +124.981761234611 1563.000000000000 +130.038666860551 105.000000000000 +132.043763332558 1142.000000000000 +167.019219324624 150.000000000000 +>ms1peaks +52.005717667707 2536.876953125000 +53.013645918459 13517.719726562500 +53.851091408425 1440.814208984375 +54.009479564739 340518.468750000000 +55.006713705873 6189.195800781250 +55.011648330739 5775.918945312500 +55.054395080163 1937.021850585938 +55.934309790351 6216.487304687500 +56.049851096555 1422.552856445312 +56.942103151176 2497.945800781250 +59.049782018324 63557.187500000000 +60.044617957556 9127.332031250000 +61.039564209817 1916.918579101562 +63.998058629288 4341.631347656250 +64.005180932598 4902.907226562500 +68.011727932833 27051.191406250000 +68.994002789359 13611.511718750000 +69.034264524552 2235.962402343750 +69.044867744672 14147.763671875000 +72.936875253829 3080.500976562500 +73.064425531348 1778.781250000000 +76.486297547963 2075.000000000000 +77.038265451054 5099.881835937500 +79.021270792779 14303.786132812500 +80.049179511142 11132.483398437500 +81.937187525733 8269.017578125000 +82.996616277972 9058.604492187500 +87.055191552618 1226.265625000000 +89.506723502083 2138.000000000000 +90.489274059111 1883.000000000000 +91.053872057085 1250.000000000000 +95.952563443877 2416.907226562500 +97.968351278732 7414.000000000000 +102.091075578098 2124.000000000000 +104.049176798538 2869.822265625000 +105.032824057535 2268.302246093750 +109.942659719793 1552.503417968750 +113.963028919819 2876.313476562500 +114.091047730204 9707.000000000000 +118.085960022478 6202.343750000000 +122.095829000463 3354.874755859375 +122.963603572159 10189.080078125000 +123.091990223840 1658.215576171875 +123.962908276753 1264.000000000000 +124.961981387844 1248.617553710938 +124.981468335431 3929.697021484375 +132.044195947098 93934.070312500000 +133.046929709006 8774.461914062500 +136.020849942089 1733.000000000000 +136.111849813683 1360.000000000000 +139.963062553447 1109.337646484375 +141.090358589210 1395.717041015625 +141.112852312471 1316.060180664062 +141.957905703603 16856.453125000000 +142.959660117555 1253.947509765625 +147.090758649450 2468.091308593750 +149.023008191796 6552.861328125000 +150.054483884674 1381.879394531250 +151.096258773620 2499.016357421875 +151.110632987131 2703.097412109375 +153.126579038194 1175.000000000000 +155.069775153959 1603.251586914062 +155.105765884478 1708.284912109375 +155.973825500886 4965.000000000000 +158.002736417151 1095.759399414062 +158.153601610996 15319.201171875000 +159.156377711765 1693.013305664062 +160.050203671116 29808.187500000000 +161.053148014827 2780.099853515625 +161.095739798824 1801.900268554688 +164.143136174419 1163.970947265625 +167.016142798795 1938.000000000000 +170.095669159809 2557.841796875000 +170.116803885810 1136.247192382812 +170.969513731195 5351.000000000000 +171.138682297569 3310.690673828125 +172.133498266589 1186.970092773438 +172.168816609007 1753.000000000000 +173.079889235839 8137.424804687500 +174.127584523158 1118.000000000000 +177.053398759750 2010.000000000000 +178.158757601913 1500.698242187500 +179.105540802675 2172.262695312500 +182.961283063703 1745.384643554688 +186.221178069795 1622.000000000000 +194.116354222571 3003.000000000000 +195.102160721940 1637.390014648438 +195.121964321705 2114.307128906250 +198.185094857026 2154.000000000000 +209.152949152955 1423.597534179688 +217.106757414349 22820.371093750000 +218.109717212262 2365.715332031250 +219.095322856019 2839.912353515625 +224.127859164514 1268.000000000000 +228.195125596876 1796.750244140625 +235.168738541554 1153.106201171875 +236.167125665018 2147.822998046875 +239.089167868946 3697.000000000000 +242.283752097581 1331.000000000000 +246.862020032552 3643.000000000000 +249.184726675759 1740.000000000000 +250.176839865775 1269.149047851562 +251.000052262976 1835.000000000000 +251.185199846439 1143.344848632812 +252.997000735520 1613.000000000000 +253.915053857069 3181.000000000000 +260.980520936940 34136.089843750000 +261.983107472769 3914.000000000000 +262.975908361642 3711.000000000000 +267.171176133304 1190.000000000000 +279.094069923914 2218.000000000000 +281.050366742298 1525.000000000000 +304.299335403967 1178.000000000000 +318.012807082281 13905.000000000000 +319.015812641865 1771.000000000000 +320.009779889072 1411.312622070312 +324.021497063862 2274.000000000000 +327.008303487350 3194.000000000000 +329.005675073912 3118.000000000000 +339.995324080662 63593.000000000000 +340.998247708453 9047.660156250000 +341.991464705082 6892.000000000000 +351.928380615899 5009.000000000000 +353.925994810456 2303.000000000000 +355.968410053379 3129.565673828125 +363.070877703428 10529.000000000000 +364.073137490148 1819.000000000000 +379.934530374708 4270.000000000000 +381.931407641533 2153.000000000000 +445.120046493581 2353.000000000000 +503.859909772363 1436.000000000000 +505.853063220538 5926.000000000000 +506.854048759295 1904.000000000000 +519.139384687535 1126.000000000000 +522.880368766100 2806.000000000000 +523.877736811317 1418.000000000000 +529.888748439098 1722.000000000000 +536.165143915241 4925.000000000000 +537.165086990853 2707.000000000000 +538.162296228146 1762.000000000000 +542.921174254561 1132.000000000000 +543.918003709155 1152.000000000000 +546.914886995490 3416.000000000000 +547.912219447510 1693.000000000000 +563.943181698806 1223.378784179688 +610.184322938020 2314.000000000000 +611.184296206340 1322.000000000000 +657.001817843383 1409.000000000000 +696.940437510992 3603.000000000000 +698.940217154744 2331.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=658 experiment=6 +##m_id Guthion_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=658 experiment=6_0 +##scan 14 +##specref ms_run[1]:sample=1 period=1 cycle=658 experiment=6 +50.014691789931 30.000000000000 +50.024594232484 15.000000000000 +51.023487773864 693.360839843750 +55.057307673128 13.000000000000 +62.017416144800 60.000000000000 +62.022558150102 60.000000000000 +75.021910544523 45.000000000000 +76.969400380676 13.000000000000 +77.038719402888 7559.670898437500 +77.358766992240 13.000000000000 +77.908647248588 30.000000000000 +77.916409786540 30.000000000000 +78.032820819888 30.000000000000 +78.994535162676 491.007476806641 +92.024213095291 30.000000000000 +93.009414078685 30.000000000000 +101.731414730929 13.000000000000 +102.033724528028 301.612030029297 +103.740436291946 30.000000000000 +104.049620996277 2037.000000000000 +105.033096287295 2149.877929687500 +109.009378682469 13.000000000000 +110.990785884171 13.000000000000 +124.609786162675 45.000000000000 +124.982586564713 3771.000000000000 +130.038871325813 312.000000000000 +132.044466950146 3875.000000000000 +132.737736847345 13.000000000000 +133.059399526787 30.000000000000 +134.515630815072 13.000000000000 +135.045638388353 30.000000000000 +137.006358531913 180.000000000000 +151.992732393118 135.000000000000 +167.017809464954 504.000000000000 +167.975239069750 30.000000000000 +168.014364521589 15.000000000000 +182.994146815153 135.000000000000 +>ms1peaks +50.015030688094 1631.000000000000 +52.005691836328 2833.837890625000 +53.013678352050 13820.645507812500 +53.850930804944 1372.676147460938 +54.009488813193 341215.375000000000 +55.006244952468 6363.858398437500 +55.011195314574 6663.786621093750 +55.054435589179 2093.444580078125 +55.934214796378 6443.966308593750 +56.049418637710 1614.372314453125 +56.942077131072 2603.345458984375 +59.049684010496 67068.679687500000 +60.044674600260 8507.357421875000 +61.039576232541 1618.787597656250 +63.997953270808 4540.612304687500 +64.004984885183 4765.146484375000 +68.011730125352 26984.066406250000 +68.993758540617 13250.065429687500 +69.044639818678 13453.114257812500 +72.936865747985 3009.785888671875 +73.064487442720 1926.000000000000 +76.486106736487 2394.000000000000 +77.012975210189 1331.000000000000 +77.038245950909 6864.013671875000 +79.021170250218 14954.513671875000 +80.049055487900 12273.781250000000 +81.937167726085 8605.721679687500 +82.996581259270 9547.895507812500 +87.054493611252 1308.586669921875 +89.506388403917 1579.000000000000 +90.489379547455 1879.000000000000 +91.053817827625 1210.000000000000 +95.952611673257 2421.652587890625 +97.968325410624 7844.628906250000 +100.075376789744 1408.000000000000 +102.090940410850 1712.000000000000 +104.048827681379 4021.000000000000 +105.032851808396 3043.702148437500 +109.943040230612 1524.000000000000 +113.962743611150 2300.809326171875 +114.091086475065 10732.537109375000 +118.085604757949 6375.129394531250 +122.095612538633 3453.346191406250 +122.963478886657 10149.138671875000 +123.091154033496 1907.152587890625 +123.962085557178 1291.000000000000 +124.964032856960 1524.723510742188 +124.981293760905 5573.300781250000 +132.044243365317 129513.453125000000 +133.047275934233 12024.171875000000 +136.021338396786 1596.000000000000 +136.111611313675 1179.000000000000 +141.090513006913 1389.292724609375 +141.112565247916 1247.203857421875 +141.957978845995 16325.500000000000 +147.090945866648 2556.685302734375 +149.023028218992 6399.154296875000 +150.054262184195 1568.000000000000 +151.096430884077 2664.400390625000 +151.111011940160 2835.027587890625 +155.069438117684 1871.944824218750 +155.105960083325 1401.000000000000 +155.973753152622 4288.000000000000 +158.153627071218 14384.000000000000 +159.156473714741 1627.752929687500 +160.050487288307 38915.000000000000 +161.053611692746 4466.942382812500 +161.095700587134 1743.057495117188 +164.142944501592 1256.052368164062 +167.015735366166 2785.089599609375 +170.096151543720 2652.023193359375 +170.116409887737 1324.376464843750 +170.968993556255 7076.000000000000 +171.137671144810 4912.312011718750 +172.136045264128 1371.000000000000 +173.079830429233 8581.928710937500 +174.991306236853 1198.000000000000 +177.054219725911 1769.000000000000 +178.157947155736 1498.908447265625 +179.106050750592 1934.090454101562 +182.960933723657 1780.061523437500 +182.991388549794 1244.309082031250 +186.221152079128 2287.000000000000 +194.116900036921 2752.000000000000 +195.121615177487 1919.471069335938 +198.184412559940 2140.000000000000 +200.200455656322 1296.554199218750 +209.153704347399 1590.000000000000 +212.888258624179 1535.000000000000 +217.106944592366 24346.000000000000 +218.110517718319 2646.000000000000 +219.095540028475 2644.006591796875 +228.196097140190 1527.811645507812 +236.167749124378 1677.000000000000 +239.089312381813 3327.000000000000 +242.284215148787 1201.000000000000 +246.862288406064 3365.000000000000 +249.184532839914 1860.293334960938 +251.001107206325 2362.000000000000 +252.997444701878 1876.000000000000 +253.916335213075 4093.000000000000 +260.980865788213 46877.000000000000 +261.983931158765 5301.000000000000 +262.976772362746 4418.000000000000 +267.172661485943 1410.000000000000 +277.199859444074 2417.590087890625 +279.093448238935 1888.450561523438 +281.051163936397 1557.000000000000 +292.121170689402 15731.000000000000 +293.123945781771 2615.000000000000 +294.118820607873 4859.000000000000 +295.121821476430 1186.000000000000 +318.013460543863 19020.000000000000 +319.016226586969 2819.000000000000 +320.010792812476 1745.000000000000 +324.021120495162 2522.000000000000 +327.007928037291 3314.077636718750 +329.005428091932 3187.000000000000 +331.002680981835 1140.229492187500 +335.040406311528 1228.000000000000 +339.995783079981 73785.000000000000 +340.998517552508 10283.000000000000 +341.992089047450 7216.000000000000 +351.928943475892 4368.000000000000 +353.926519256680 2362.000000000000 +355.969819970535 3512.076416015625 +363.071778928522 11698.970703125000 +364.073181575102 1981.000000000000 +371.315525399960 1354.000000000000 +379.934529706961 4095.883300781250 +381.932716463007 2062.000000000000 +445.119746997025 2474.000000000000 +446.119291863183 1145.000000000000 +505.853826516954 4858.000000000000 +506.855308046231 1451.000000000000 +519.139330404280 1166.703979492188 +522.880837958116 1970.000000000000 +523.871380297922 1372.000000000000 +529.891671811182 1342.000000000000 +536.165890644769 5714.000000000000 +537.166372879728 2646.000000000000 +538.163391669663 2155.000000000000 +544.339624971493 1155.000000000000 +546.914039373140 3234.000000000000 +547.912958504845 1306.000000000000 +610.184280095073 1860.000000000000 +611.183517202231 1239.000000000000 +657.000223829242 1834.000000000000 +696.940499292838 3022.000000000000 +698.938485246113 2250.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=659 experiment=7 +##m_id Guthion_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=659 experiment=7_0 +##scan 24 +##specref ms_run[1]:sample=1 period=1 cycle=659 experiment=7 +50.011945356227 45.000000000000 +50.016256671506 49.487056732178 +50.022471395276 30.022994995117 +51.023137253924 713.147644042969 +62.018117926456 60.000000000000 +75.022593594554 90.000000000000 +77.038765619679 6198.346191406250 +78.994159655565 300.000000000000 +95.049659419828 45.000000000000 +102.032654025566 195.000000000000 +104.049320764675 2561.366455078125 +104.717611043490 45.000000000000 +105.033125946638 2057.047363281250 +105.058664010100 164.415649414062 +124.982069879350 3636.000000000000 +130.038883295770 336.000000000000 +132.044268805220 4731.000000000000 +137.005031295070 165.000000000000 +151.991870480462 135.000000000000 +167.017216144522 349.000000000000 +167.970809068710 90.000000000000 +170.968502602363 45.000000000000 +170.979804540922 45.000000000000 +182.992849568269 120.000000000000 +>compound 0_7960809195137357048-676005--122--Fenamiphos +>parentmass 326.094454354613 +>ionization [M+Na]1+ +>formula C13H22NO3PS +>charge 1 +>rt 447.100000000020 +##fmz 326.094454354612708 +##fid 7960809195137357048 +##des Fenamiphos +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +326.094454354613 187407.076838029287 +327.096383244799 30166.116877709566 +>ms1peaks +52.005351813457 2501.610107421875 +53.013412581284 13134.520507812500 +53.850226225992 1302.909057617188 +54.009140063564 338983.656250000000 +55.006042248338 6435.412597656250 +55.011148435189 6609.394042968750 +55.054172395822 1772.104248046875 +55.934029229957 5757.919921875000 +56.941868288709 2705.908203125000 +59.049392394217 65787.757812500000 +60.044197396550 9389.001953125000 +61.039698624921 1629.770751953125 +63.997582420249 4596.096191406250 +64.004915539546 4860.728515625000 +68.011405901665 27484.292968750000 +68.993238795734 11816.172851562500 +69.044514210085 12151.762695312500 +72.936346245282 1770.000000000000 +73.063844648998 1632.810180664062 +76.485866327556 2207.000000000000 +79.020638014668 15456.159179687500 +80.048700307132 11716.706054687500 +81.936658440041 8339.158203125000 +82.995849176432 8191.000000000000 +87.054215388379 1432.329345703125 +89.505806636870 1376.000000000000 +90.488666027165 1798.000000000000 +95.952211902793 2472.000000000000 +97.967974119285 6640.000000000000 +100.074558827800 1418.000000000000 +102.090063528932 1768.000000000000 +109.942148206295 1646.000000000000 +113.962810920920 1728.000976562500 +114.090265101894 9843.087890625000 +118.085166173822 5466.146972656250 +122.095082275611 3591.515380859375 +122.962671452755 9919.435546875000 +123.090603383338 1818.105346679688 +130.157985838236 1433.000000000000 +136.020144210415 1305.642211914062 +141.111768954054 1381.647338867188 +141.957291332652 13999.958984375000 +147.090365251433 2315.564941406250 +149.021998403294 4169.404296875000 +151.095653127576 2632.192382812500 +151.109600618565 2638.503906250000 +155.069049191990 1400.588378906250 +155.105221715370 1306.244873046875 +155.972774632456 3955.750244140625 +158.152847157321 10190.631835937500 +161.094883274868 1469.000000000000 +164.993233307885 1413.000000000000 +170.094756804200 2692.873779296875 +173.079096183490 5464.607421875000 +174.990754641374 1338.000000000000 +175.120920396226 1335.489135742188 +178.157288006504 1567.557739257812 +179.104881581157 1856.000000000000 +182.960071822982 1596.667236328125 +186.016812097735 3128.000000000000 +194.115183195725 3037.019042968750 +195.105676043577 1846.959228515625 +195.121034909827 2138.534667968750 +198.183715433637 1614.000000000000 +201.983396783946 6476.000000000000 +217.007534943089 16000.083984375000 +217.105603079000 12722.193359375000 +218.010461830348 1723.000000000000 +218.108916975941 1918.000000000000 +219.094207015885 1394.000000000000 +234.033666185649 17919.000000000000 +235.036061869219 1699.000000000000 +239.087710708037 2715.000000000000 +245.038087259231 3705.000000000000 +246.860587751512 3017.000000000000 +250.998652800198 2461.000000000000 +252.996040050118 1751.000000000000 +262.065226573716 31878.271484375000 +263.067812997194 3540.000000000000 +264.062744585962 1732.000000000000 +276.080875651007 47441.000000000000 +277.083729023421 6202.904296875000 +278.078049070253 2909.805664062500 +279.092264164105 2269.000000000000 +281.049607531965 1759.000000000000 +284.163709253010 5971.317382812500 +285.167422523505 1450.937500000000 +289.120547785899 45105.261718750000 +290.122834000335 8899.000000000000 +291.118148964330 16223.000000000000 +292.119468760172 3916.748291015625 +303.104211105075 4272.900878906250 +303.190626643079 3701.817626953125 +304.121038021889 1154982.000000000000 +304.680120827865 1361.469604492188 +304.720450396369 1578.193115234375 +304.756696628278 1464.135742187500 +304.826755934771 1415.802856445312 +304.888295222133 4211.749023437500 +304.975939340234 6444.747070312500 +305.112954471951 109660.976562500000 +306.110248734555 72833.000000000000 +307.111946842557 10169.579101562500 +307.247397220322 1757.839477539062 +310.120212483100 5088.000000000000 +320.107070842572 7286.000000000000 +321.109817317563 1634.396606445312 +321.134008500327 1645.504272460938 +326.094135509242 51581.214843750000 +327.006663634739 3305.288085937500 +327.096918826684 8025.063964843750 +328.090879363560 3401.237060546875 +329.002848029289 3721.000000000000 +330.204815446188 11820.952148437500 +331.208232327135 2889.000000000000 +342.067980362905 3189.395019531250 +349.169296376205 25098.000000000000 +350.172883605486 4323.000000000000 +351.167291455015 1724.000000000000 +372.149200119315 2817.477050781250 +404.036004100360 11013.000000000000 +405.038241871311 2224.679687500000 +424.359699824875 1469.000000000000 +445.117347283461 1962.204711914062 +500.274802921042 11554.163085937500 +501.277725760601 3400.000000000000 +502.286539956580 1910.000000000000 +505.850895564320 2188.000000000000 +536.162361057972 4668.000000000000 +537.163239801382 2428.000000000000 +538.161608472883 1869.000000000000 +544.336387601713 1598.000000000000 +546.911505452596 1493.000000000000 +549.965979448424 1640.000000000000 +592.225456903764 1675.000000000000 +607.216655018496 74091.000000000000 +608.219193446659 23449.000000000000 +609.215852555200 11438.528320312500 +610.208425679746 4454.000000000000 +611.188234775837 1805.798706054688 +612.220726308427 4082.000000000000 +613.224505418990 34075.000000000000 +614.227906702716 11171.000000000000 +615.225014693998 5343.000000000000 +623.210784148654 2510.000000000000 +629.198405169302 68640.000000000000 +630.201595235063 21340.328125000000 +631.198284234777 10581.000000000000 +632.198298853566 2483.000000000000 +707.140261218123 1384.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=676 experiment=5 +##m_id Fenamiphos_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=676 experiment=5_0 +##scan 122 +##specref ms_run[1]:sample=1 period=1 cycle=676 experiment=5 +135.110573680588 13.000000000000 +326.090792568903 90.000000000000 +>compound 0_1072340199693961134-657006--5--Guthion +>parentmass 339.995124103413 +>ionization [M+Na]1+ +>formula C10H12N3O3PS2 +>charge 1 +>rt 431.866000000020 +##fmz 339.99512410341282 +##fid 1072340199693961134 +##des Guthion +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +339.995124103413 202334.306264709012 +340.997818750530 28664.112314598762 +>ms1peaks +52.005865355475 2936.356689453125 +53.013723515258 15168.868164062500 +53.850400239168 1357.829345703125 +54.009447090145 347607.156250000000 +55.006110218286 6238.441894531250 +55.011508541956 7268.958007812500 +55.054636618089 2136.000000000000 +55.934309116073 6532.552734375000 +56.942275933353 2612.874023437500 +59.049622158630 56011.429687500000 +60.044524012498 9000.792968750000 +61.039481839151 1786.074829101562 +63.997449394256 3736.165039062500 +64.005109595772 4712.666015625000 +68.011792039005 26707.251953125000 +68.993702477550 13633.019531250000 +69.008646447254 1441.886596679688 +69.044733608562 13552.908203125000 +69.494666168807 1088.000000000000 +72.044289477019 1134.000000000000 +72.936653378507 2379.292724609375 +73.064314657279 1947.000000000000 +76.486410468336 2230.000000000000 +77.038532396207 1590.778686523438 +79.021074679723 14557.214843750000 +80.049121781728 13038.990234375000 +81.937384309880 9136.173828125000 +82.996771559276 9647.291015625000 +87.044032478393 1164.202392578125 +87.055030197874 1937.880737304688 +89.506480817586 1633.000000000000 +90.489144644798 1823.000000000000 +91.053978578614 1481.000000000000 +95.952653475183 2798.568603515625 +97.968242662562 7804.676269531250 +100.075124666224 1357.000000000000 +102.091023963336 2105.000000000000 +109.943015773476 1849.492675781250 +113.963173340819 2146.000000000000 +114.091149027124 11434.439453125000 +118.085562888545 7126.602050781250 +122.095450971812 3351.000000000000 +122.963406396921 11429.592773437500 +123.091816714399 1461.405029296875 +123.962989553704 1162.000000000000 +132.043858137010 23466.287109375000 +133.047312261130 2601.019775390625 +136.020979409517 1763.000000000000 +136.111376584671 1338.000000000000 +141.090631531290 1452.329956054688 +141.112250777587 1933.171752929688 +141.957805111647 16272.520507812500 +142.960130525273 1091.785766601562 +147.090889713370 2561.000000000000 +149.022860382613 8952.703125000000 +149.043461527452 2074.399169921875 +151.096439801801 2539.815917968750 +151.111209143750 2693.475830078125 +155.070028482861 1787.522338867188 +155.105375703160 1554.431030273438 +155.973268704769 4467.000000000000 +158.002234575261 1123.180664062500 +158.153819790011 15565.543945312500 +159.136830576290 1251.366088867188 +159.156929350810 1638.817993164062 +159.968015589745 1144.587158203125 +160.050107538005 10862.000000000000 +161.095753069011 1987.528442382812 +163.130314304873 1321.613403320312 +164.142207413101 1344.506469726562 +170.096003050047 2831.750244140625 +170.116393016687 1241.047485351562 +170.969308188165 1467.000000000000 +171.138824143644 1976.471679687500 +172.132816514555 1070.000000000000 +172.169354072833 1126.623413085938 +173.080592066342 7150.673339843750 +174.127101054123 1093.000000000000 +174.991572624579 1115.259887695312 +175.117966507653 1382.413574218750 +177.053956263481 3086.000000000000 +178.158743604693 1737.946655273438 +179.106488149861 2092.017333984375 +182.961571664514 1566.125366210938 +182.982955367691 1389.804321289062 +186.221312636852 2310.000000000000 +194.116506735598 3012.142089843750 +195.121983568600 1971.532348632812 +198.184492106186 2254.000000000000 +199.168659259112 1074.472778320312 +200.200544607050 1265.000000000000 +209.152957718499 1444.000000000000 +215.126858142678 1195.000000000000 +217.107186196782 24662.302734375000 +218.110233972313 2772.000000000000 +219.095202240315 3180.013427734375 +219.137164883586 1444.293090820312 +224.128646207474 1167.206176757812 +228.196369189320 1732.199340820312 +235.170060948981 1264.538574218750 +236.167946332224 2704.449462890625 +239.089160494599 5259.000000000000 +240.068219796793 1277.484863281250 +240.091769691182 1359.958740234375 +242.284200605489 1137.000000000000 +246.863294404574 3891.000000000000 +249.184938071857 1294.474121093750 +250.177914710678 1312.000000000000 +250.999736865556 2366.000000000000 +251.185303455126 1195.000000000000 +252.996845199048 1725.000000000000 +260.980831135670 9681.000000000000 +262.976934337234 1074.000000000000 +267.172286092444 1268.487426757812 +279.093453473919 1954.000000000000 +281.051187832394 1373.000000000000 +287.889696989575 1142.000000000000 +318.012975056617 4878.000000000000 +327.008528574617 3507.000000000000 +329.005288792022 3151.000000000000 +339.995536258518 21188.000000000000 +340.998304727292 3403.000000000000 +341.991615450972 1965.000000000000 +351.928765172494 2752.000000000000 +353.925863637500 1287.000000000000 +355.970345025132 1233.272216796875 +363.071463720139 4333.000000000000 +371.315937786641 1386.000000000000 +379.934517326720 2414.000000000000 +381.932765584480 1355.000000000000 +430.887891579421 1170.000000000000 +445.119501835711 2373.000000000000 +503.857852657168 1208.000000000000 +505.853144541362 5379.000000000000 +506.854406933930 1813.000000000000 +522.880381915172 2380.000000000000 +523.873038712107 1344.000000000000 +529.890971881918 1718.000000000000 +536.164830382665 5050.000000000000 +537.165530578391 2568.000000000000 +538.164082153377 1889.000000000000 +542.919791547930 1233.000000000000 +544.340309842267 1260.000000000000 +544.916740966050 1184.000000000000 +546.914239791284 3795.000000000000 +547.912822025670 1609.000000000000 +563.944002995814 1077.258789062500 +610.183402350979 1851.000000000000 +611.184706508494 1107.000000000000 +696.940078237106 1408.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=657 experiment=6 +##m_id Guthion_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=657 experiment=6_0 +##scan 5 +##specref ms_run[1]:sample=1 period=1 cycle=657 experiment=6 +50.015108090982 30.000000000000 +51.023164211064 180.000000000000 +77.038275757512 1908.000000000000 +95.059280397863 13.000000000000 +102.035255157111 75.000000000000 +104.049402590680 764.000000000000 +105.033036827807 713.000000000000 +124.990392017926 30.000000000000 +132.044138630021 3917.000000000000 +148.024481257446 45.000000000000 +160.052436120329 135.000000000000 +250.873112501629 13.000000000000 +>ms1peaks +52.005717667707 2536.876953125000 +53.013645918459 13517.719726562500 +53.851091408425 1440.814208984375 +54.009479564739 340518.468750000000 +55.006713705873 6189.195800781250 +55.011648330739 5775.918945312500 +55.054395080163 1937.021850585938 +55.934309790351 6216.487304687500 +56.049851096555 1422.552856445312 +56.942103151176 2497.945800781250 +59.049782018324 63557.187500000000 +60.044617957556 9127.332031250000 +61.039564209817 1916.918579101562 +63.998058629288 4341.631347656250 +64.005180932598 4902.907226562500 +68.011727932833 27051.191406250000 +68.994002789359 13611.511718750000 +69.034264524552 2235.962402343750 +69.044867744672 14147.763671875000 +72.936875253829 3080.500976562500 +73.064425531348 1778.781250000000 +76.486297547963 2075.000000000000 +77.038265451054 5099.881835937500 +79.021270792779 14303.786132812500 +80.049179511142 11132.483398437500 +81.937187525733 8269.017578125000 +82.996616277972 9058.604492187500 +87.055191552618 1226.265625000000 +89.506723502083 2138.000000000000 +90.489274059111 1883.000000000000 +91.053872057085 1250.000000000000 +95.952563443877 2416.907226562500 +97.968351278732 7414.000000000000 +102.091075578098 2124.000000000000 +104.049176798538 2869.822265625000 +105.032824057535 2268.302246093750 +109.942659719793 1552.503417968750 +113.963028919819 2876.313476562500 +114.091047730204 9707.000000000000 +118.085960022478 6202.343750000000 +122.095829000463 3354.874755859375 +122.963603572159 10189.080078125000 +123.091990223840 1658.215576171875 +123.962908276753 1264.000000000000 +124.961981387844 1248.617553710938 +124.981468335431 3929.697021484375 +132.044195947098 93934.070312500000 +133.046929709006 8774.461914062500 +136.020849942089 1733.000000000000 +136.111849813683 1360.000000000000 +139.963062553447 1109.337646484375 +141.090358589210 1395.717041015625 +141.112852312471 1316.060180664062 +141.957905703603 16856.453125000000 +142.959660117555 1253.947509765625 +147.090758649450 2468.091308593750 +149.023008191796 6552.861328125000 +150.054483884674 1381.879394531250 +151.096258773620 2499.016357421875 +151.110632987131 2703.097412109375 +153.126579038194 1175.000000000000 +155.069775153959 1603.251586914062 +155.105765884478 1708.284912109375 +155.973825500886 4965.000000000000 +158.002736417151 1095.759399414062 +158.153601610996 15319.201171875000 +159.156377711765 1693.013305664062 +160.050203671116 29808.187500000000 +161.053148014827 2780.099853515625 +161.095739798824 1801.900268554688 +164.143136174419 1163.970947265625 +167.016142798795 1938.000000000000 +170.095669159809 2557.841796875000 +170.116803885810 1136.247192382812 +170.969513731195 5351.000000000000 +171.138682297569 3310.690673828125 +172.133498266589 1186.970092773438 +172.168816609007 1753.000000000000 +173.079889235839 8137.424804687500 +174.127584523158 1118.000000000000 +177.053398759750 2010.000000000000 +178.158757601913 1500.698242187500 +179.105540802675 2172.262695312500 +182.961283063703 1745.384643554688 +186.221178069795 1622.000000000000 +194.116354222571 3003.000000000000 +195.102160721940 1637.390014648438 +195.121964321705 2114.307128906250 +198.185094857026 2154.000000000000 +209.152949152955 1423.597534179688 +217.106757414349 22820.371093750000 +218.109717212262 2365.715332031250 +219.095322856019 2839.912353515625 +224.127859164514 1268.000000000000 +228.195125596876 1796.750244140625 +235.168738541554 1153.106201171875 +236.167125665018 2147.822998046875 +239.089167868946 3697.000000000000 +242.283752097581 1331.000000000000 +246.862020032552 3643.000000000000 +249.184726675759 1740.000000000000 +250.176839865775 1269.149047851562 +251.000052262976 1835.000000000000 +251.185199846439 1143.344848632812 +252.997000735520 1613.000000000000 +253.915053857069 3181.000000000000 +260.980520936940 34136.089843750000 +261.983107472769 3914.000000000000 +262.975908361642 3711.000000000000 +267.171176133304 1190.000000000000 +279.094069923914 2218.000000000000 +281.050366742298 1525.000000000000 +304.299335403967 1178.000000000000 +318.012807082281 13905.000000000000 +319.015812641865 1771.000000000000 +320.009779889072 1411.312622070312 +324.021497063862 2274.000000000000 +327.008303487350 3194.000000000000 +329.005675073912 3118.000000000000 +339.995324080662 63593.000000000000 +340.998247708453 9047.660156250000 +341.991464705082 6892.000000000000 +351.928380615899 5009.000000000000 +353.925994810456 2303.000000000000 +355.968410053379 3129.565673828125 +363.070877703428 10529.000000000000 +364.073137490148 1819.000000000000 +379.934530374708 4270.000000000000 +381.931407641533 2153.000000000000 +445.120046493581 2353.000000000000 +503.859909772363 1436.000000000000 +505.853063220538 5926.000000000000 +506.854048759295 1904.000000000000 +519.139384687535 1126.000000000000 +522.880368766100 2806.000000000000 +523.877736811317 1418.000000000000 +529.888748439098 1722.000000000000 +536.165143915241 4925.000000000000 +537.165086990853 2707.000000000000 +538.162296228146 1762.000000000000 +542.921174254561 1132.000000000000 +543.918003709155 1152.000000000000 +546.914886995490 3416.000000000000 +547.912219447510 1693.000000000000 +563.943181698806 1223.378784179688 +610.184322938020 2314.000000000000 +611.184296206340 1322.000000000000 +657.001817843383 1409.000000000000 +696.940437510992 3603.000000000000 +698.940217154744 2331.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=658 experiment=7 +##m_id Guthion_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=658 experiment=7_0 +##scan 15 +##specref ms_run[1]:sample=1 period=1 cycle=658 experiment=7 +50.015107422585 45.000000000000 +51.023257171810 385.000000000000 +76.809444242167 45.000000000000 +76.816396118776 45.000000000000 +77.038638658533 3569.000000000000 +102.033997039434 120.000000000000 +103.741576634459 45.000000000000 +104.049277894383 1381.095214843750 +105.033422442588 1416.438964843750 +124.982582830443 75.000000000000 +130.038279917398 165.000000000000 +132.044560334103 4432.000000000000 +160.049869986071 120.000000000000 +>ms1peaks +50.015030688094 1631.000000000000 +52.005691836328 2833.837890625000 +53.013678352050 13820.645507812500 +53.850930804944 1372.676147460938 +54.009488813193 341215.375000000000 +55.006244952468 6363.858398437500 +55.011195314574 6663.786621093750 +55.054435589179 2093.444580078125 +55.934214796378 6443.966308593750 +56.049418637710 1614.372314453125 +56.942077131072 2603.345458984375 +59.049684010496 67068.679687500000 +60.044674600260 8507.357421875000 +61.039576232541 1618.787597656250 +63.997953270808 4540.612304687500 +64.004984885183 4765.146484375000 +68.011730125352 26984.066406250000 +68.993758540617 13250.065429687500 +69.044639818678 13453.114257812500 +72.936865747985 3009.785888671875 +73.064487442720 1926.000000000000 +76.486106736487 2394.000000000000 +77.012975210189 1331.000000000000 +77.038245950909 6864.013671875000 +79.021170250218 14954.513671875000 +80.049055487900 12273.781250000000 +81.937167726085 8605.721679687500 +82.996581259270 9547.895507812500 +87.054493611252 1308.586669921875 +89.506388403917 1579.000000000000 +90.489379547455 1879.000000000000 +91.053817827625 1210.000000000000 +95.952611673257 2421.652587890625 +97.968325410624 7844.628906250000 +100.075376789744 1408.000000000000 +102.090940410850 1712.000000000000 +104.048827681379 4021.000000000000 +105.032851808396 3043.702148437500 +109.943040230612 1524.000000000000 +113.962743611150 2300.809326171875 +114.091086475065 10732.537109375000 +118.085604757949 6375.129394531250 +122.095612538633 3453.346191406250 +122.963478886657 10149.138671875000 +123.091154033496 1907.152587890625 +123.962085557178 1291.000000000000 +124.964032856960 1524.723510742188 +124.981293760905 5573.300781250000 +132.044243365317 129513.453125000000 +133.047275934233 12024.171875000000 +136.021338396786 1596.000000000000 +136.111611313675 1179.000000000000 +141.090513006913 1389.292724609375 +141.112565247916 1247.203857421875 +141.957978845995 16325.500000000000 +147.090945866648 2556.685302734375 +149.023028218992 6399.154296875000 +150.054262184195 1568.000000000000 +151.096430884077 2664.400390625000 +151.111011940160 2835.027587890625 +155.069438117684 1871.944824218750 +155.105960083325 1401.000000000000 +155.973753152622 4288.000000000000 +158.153627071218 14384.000000000000 +159.156473714741 1627.752929687500 +160.050487288307 38915.000000000000 +161.053611692746 4466.942382812500 +161.095700587134 1743.057495117188 +164.142944501592 1256.052368164062 +167.015735366166 2785.089599609375 +170.096151543720 2652.023193359375 +170.116409887737 1324.376464843750 +170.968993556255 7076.000000000000 +171.137671144810 4912.312011718750 +172.136045264128 1371.000000000000 +173.079830429233 8581.928710937500 +174.991306236853 1198.000000000000 +177.054219725911 1769.000000000000 +178.157947155736 1498.908447265625 +179.106050750592 1934.090454101562 +182.960933723657 1780.061523437500 +182.991388549794 1244.309082031250 +186.221152079128 2287.000000000000 +194.116900036921 2752.000000000000 +195.121615177487 1919.471069335938 +198.184412559940 2140.000000000000 +200.200455656322 1296.554199218750 +209.153704347399 1590.000000000000 +212.888258624179 1535.000000000000 +217.106944592366 24346.000000000000 +218.110517718319 2646.000000000000 +219.095540028475 2644.006591796875 +228.196097140190 1527.811645507812 +236.167749124378 1677.000000000000 +239.089312381813 3327.000000000000 +242.284215148787 1201.000000000000 +246.862288406064 3365.000000000000 +249.184532839914 1860.293334960938 +251.001107206325 2362.000000000000 +252.997444701878 1876.000000000000 +253.916335213075 4093.000000000000 +260.980865788213 46877.000000000000 +261.983931158765 5301.000000000000 +262.976772362746 4418.000000000000 +267.172661485943 1410.000000000000 +277.199859444074 2417.590087890625 +279.093448238935 1888.450561523438 +281.051163936397 1557.000000000000 +292.121170689402 15731.000000000000 +293.123945781771 2615.000000000000 +294.118820607873 4859.000000000000 +295.121821476430 1186.000000000000 +318.013460543863 19020.000000000000 +319.016226586969 2819.000000000000 +320.010792812476 1745.000000000000 +324.021120495162 2522.000000000000 +327.007928037291 3314.077636718750 +329.005428091932 3187.000000000000 +331.002680981835 1140.229492187500 +335.040406311528 1228.000000000000 +339.995783079981 73785.000000000000 +340.998517552508 10283.000000000000 +341.992089047450 7216.000000000000 +351.928943475892 4368.000000000000 +353.926519256680 2362.000000000000 +355.969819970535 3512.076416015625 +363.071778928522 11698.970703125000 +364.073181575102 1981.000000000000 +371.315525399960 1354.000000000000 +379.934529706961 4095.883300781250 +381.932716463007 2062.000000000000 +445.119746997025 2474.000000000000 +446.119291863183 1145.000000000000 +505.853826516954 4858.000000000000 +506.855308046231 1451.000000000000 +519.139330404280 1166.703979492188 +522.880837958116 1970.000000000000 +523.871380297922 1372.000000000000 +529.891671811182 1342.000000000000 +536.165890644769 5714.000000000000 +537.166372879728 2646.000000000000 +538.163391669663 2155.000000000000 +544.339624971493 1155.000000000000 +546.914039373140 3234.000000000000 +547.912958504845 1306.000000000000 +610.184280095073 1860.000000000000 +611.183517202231 1239.000000000000 +657.000223829242 1834.000000000000 +696.940499292838 3022.000000000000 +698.938485246113 2250.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=659 experiment=8 +##m_id Guthion_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=659 experiment=8_0 +##scan 25 +##specref ms_run[1]:sample=1 period=1 cycle=659 experiment=8 +50.020070819941 30.000000000000 +51.023482850302 195.000000000000 +77.038364033267 3246.000000000000 +78.033404846471 30.000000000000 +78.552620684994 15.000000000000 +102.032982714874 90.000000000000 +104.048728147669 1394.000000000000 +105.032731936693 1151.000000000000 +124.980669674857 90.000000000000 +130.042013539390 75.000000000000 +131.642901555616 30.000000000000 +132.044319218476 4842.849121093750 +148.019756120458 30.000000000000 +160.051798718236 120.000000000000 +>compound 0_15110953643123771443-674006--105--UNKNOWN +>parentmass 349.169536935035 +>ionization [M+Na]1+ +>charge 1 +>rt 447.100000000020 +##fmz 349.169536935035183 +##fid 15110953643123771443 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +349.169536935035 78624.106478969305 +>ms1peaks +52.005592753043 3006.313964843750 +53.013386604926 14895.982421875000 +53.850307885580 1282.519653320312 +54.009266588925 342199.718750000000 +55.006082581110 6060.072753906250 +55.011283454187 6240.310058593750 +55.054294821572 2210.000000000000 +55.934096145228 5628.309570312500 +56.941759312303 2162.160156250000 +59.049359471853 46694.679687500000 +60.044421789280 9540.689453125000 +61.039479760124 2294.308837890625 +63.997714272448 3712.306396484375 +64.004717741595 3776.877441406250 +68.011627587572 27064.916015625000 +68.993566533187 11389.638671875000 +69.008625246067 1040.924560546875 +69.044535203632 13668.087890625000 +72.936481622578 2454.600341796875 +73.064065589451 1403.865722656250 +76.486273965426 2375.015136718750 +79.020790259171 14203.234375000000 +80.049005926370 10670.580078125000 +81.936823889862 7769.677734375000 +82.996318430269 8831.000000000000 +87.043659684882 1291.933349609375 +87.054507882909 1447.717041015625 +89.506487543125 1968.296386718750 +90.489051431145 1567.000000000000 +91.053400164401 1256.000000000000 +95.952306311885 1977.000000000000 +97.968075016323 6813.626953125000 +100.074949120053 1188.000000000000 +102.090464066418 1830.000000000000 +109.942585550788 1505.090454101562 +113.962587921756 2250.229736328125 +114.090562200242 10307.702148437500 +118.085082878297 6730.000000000000 +122.095605127592 3465.000000000000 +122.963039812214 10185.000000000000 +123.091494988172 1608.787231445312 +129.051393255556 1096.195678710938 +130.157964856700 1224.000000000000 +136.020696393521 1628.173095703125 +136.111265586312 1351.884765625000 +137.963028699523 1044.000000000000 +141.090735684411 1400.241577148438 +141.111884779659 1559.751831054688 +141.936149934788 2056.103759765625 +141.957562608877 15536.687500000000 +147.090844143576 2684.000000000000 +149.022219076913 4357.918945312500 +149.040987249104 1837.193115234375 +151.095349881837 2305.082275390625 +151.109939199155 2576.997802734375 +155.068952001479 1217.608398437500 +155.105783696987 1630.887817382812 +155.972951860043 4015.000000000000 +158.153089325142 12131.025390625000 +159.156361011225 1282.655029296875 +161.095571014168 1849.739868164062 +164.142332600548 1475.398193359375 +170.095084317194 2525.529541015625 +171.146419276332 1492.000000000000 +172.132296924472 1198.192871093750 +173.080359168822 7163.493164062500 +174.127015852864 1059.000000000000 +174.990991861896 1587.000000000000 +178.157781317469 1624.536987304688 +179.105994436857 1966.000000000000 +182.960688878508 2338.556152343750 +182.982210678536 2178.232421875000 +186.220605721634 1746.000000000000 +194.115986578552 3414.184814453125 +195.121368448944 2440.554443359375 +198.184661469947 1850.538574218750 +200.200431422851 1250.850830078125 +201.983565637695 1125.000000000000 +217.006778563847 3269.000000000000 +217.106257896227 20478.425781250000 +218.109387671986 2700.000000000000 +219.094811619683 1568.384521484375 +224.126330250006 1136.363037109375 +228.195256821021 1364.000000000000 +234.034555602122 3162.000000000000 +235.168379942276 1059.765869140625 +239.088123273064 4617.123535156250 +242.283687547927 1626.000000000000 +246.861503474727 3165.000000000000 +249.183966936445 1338.000000000000 +250.178157580094 1268.000000000000 +250.999499019254 3169.000000000000 +251.184919733032 1121.084228515625 +252.996470645480 2204.000000000000 +262.065339439714 5824.345214843750 +267.170259991556 1568.463745117188 +276.081091674263 8173.000000000000 +277.057665923216 1209.618164062500 +277.085219951598 1293.623413085938 +279.093583842250 1859.000000000000 +281.050436828814 1462.000000000000 +284.164194797510 15720.000000000000 +285.167199045233 4022.000000000000 +286.177305853522 1891.670776367188 +292.120375414143 1944.000000000000 +303.190300317299 1143.297241210938 +304.113551407962 233981.000000000000 +305.115237199332 34039.113281250000 +306.110943955948 13933.000000000000 +307.113098422247 1919.696899414062 +307.246808467596 3300.572753906250 +310.120295757069 1681.000000000000 +320.107169971093 1195.785766601562 +326.095118441765 16572.000000000000 +327.007733661441 3760.000000000000 +327.095761410498 3082.000000000000 +328.091343004556 1205.000000000000 +329.005017718870 3936.000000000000 +330.206156493086 31473.623046875000 +331.001131359041 1283.000000000000 +331.208781030804 7087.107910156250 +332.212762979446 1049.000000000000 +342.069329790769 1871.000000000000 +349.169872251691 6112.673339843750 +350.172892076873 1285.000000000000 +352.188381138816 3463.990966796875 +352.237855065072 1571.586547851562 +380.335730124158 1272.000000000000 +404.036775645443 2150.000000000000 +445.119594711322 2089.000000000000 +487.229352410180 1300.347412109375 +500.276727311162 8288.133789062500 +501.279823879484 2533.000000000000 +502.288704966210 1392.000000000000 +505.852309070026 2882.000000000000 +522.878554007503 1334.599853515625 +536.164536908876 5057.000000000000 +537.165016352661 2456.000000000000 +538.163523094599 1972.255615234375 +544.338584253074 1675.149536132812 +546.914933234641 1855.000000000000 +607.218843523736 2732.000000000000 +610.184293153428 2142.000000000000 +611.183428881164 1140.000000000000 +612.185574985429 1243.000000000000 +613.226429565287 4419.000000000000 +614.228332015276 1213.785766601562 +629.199480533100 8990.000000000000 +630.203842344410 2729.000000000000 +631.198645508739 1426.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=674 experiment=6 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=674 experiment=6_0 +##scan 105 +##specref ms_run[1]:sample=1 period=1 cycle=674 experiment=6 +60.081311873120 317.000000000000 +107.048591987939 75.000000000000 +121.011185515683 45.000000000000 +137.042863316042 135.000000000000 +138.016928731083 75.000000000000 +139.019366132232 45.000000000000 +153.036359085879 180.000000000000 +155.052447162542 210.000000000000 +168.986017376512 270.000000000000 +184.982182920189 90.000000000000 +198.994924698980 120.000000000000 +200.998143970587 75.000000000000 +201.984368682258 2676.000000000000 +216.021457924153 75.000000000000 +216.350770868740 105.000000000000 +216.432740599583 30.000000000000 +216.450991207642 30.000000000000 +217.008052190453 11994.411132812500 +230.014504527888 75.000000000000 +233.328955599542 45.000000000000 +234.033967852197 2770.000000000000 +245.037925257354 135.000000000000 +262.065875378587 437.000000000000 +276.082025735516 1394.000000000000 +304.112103688826 1171.000000000000 +>ms1peaks +52.005429962927 2874.067626953125 +53.013488092548 14817.291015625000 +54.009250374962 334494.937500000000 +55.006084606761 5488.883300781250 +55.011047738293 6443.265136718750 +55.054381628314 2385.724365234375 +55.934070669618 5486.966796875000 +56.942036090778 2313.250244140625 +59.049556209203 57988.484375000000 +60.044347260401 9323.001953125000 +61.039167560780 1828.241455078125 +63.997923021227 4927.193359375000 +64.004932691950 5181.531250000000 +68.011552270537 27280.974609375000 +68.993634139472 11798.143554687500 +69.044334270747 12566.409179687500 +72.936570834957 2193.115966796875 +73.063872777826 1681.879882812500 +76.486053959604 2158.190429687500 +79.020753207512 16147.697265625000 +80.048886066869 12139.645507812500 +81.936907500524 8343.286132812500 +82.996250408243 8009.000000000000 +87.042980895665 1166.738403320312 +87.053972860944 1485.116088867188 +89.506705194324 1444.000000000000 +90.488891330057 1645.000000000000 +91.053476545401 1583.000000000000 +95.952210208006 2039.742797851562 +97.968150682366 6945.562500000000 +100.074718244150 1363.000000000000 +102.090306392772 1417.000000000000 +109.942448236827 1253.000000000000 +113.962708637249 2032.000000000000 +114.090792284548 10306.000000000000 +118.084892277491 5540.821289062500 +122.095166173318 3378.000000000000 +122.962913232208 9579.000000000000 +123.091195975991 1531.662963867188 +130.157764407919 1286.000000000000 +136.020428292954 1633.000000000000 +141.090127789620 1346.968627929688 +141.112042976374 1656.172241210938 +141.957142368171 13820.262695312500 +147.089971164701 2287.525390625000 +149.022027180229 4587.050292968750 +149.040978245649 2678.199707031250 +151.095856455214 2104.623291015625 +151.110429192129 2233.988037109375 +155.068837159282 1322.053710937500 +155.973356955881 4212.000000000000 +158.153011960091 10898.886718750000 +161.095284178342 1762.593994140625 +164.141720682546 1224.125244140625 +170.095143568643 2743.236816406250 +173.079445020465 6455.588378906250 +174.990181271009 1164.000000000000 +175.126264328958 1229.927246093750 +178.157011972493 1362.000000000000 +179.105369890054 1931.000000000000 +182.960638968270 1810.076538085938 +182.983125598895 1274.763061523438 +186.016954934375 1958.000000000000 +186.220415397417 1282.000000000000 +193.158240520354 1195.032958984375 +194.115937912419 2861.000000000000 +195.121022485646 2380.102539062500 +198.183707422577 1745.000000000000 +200.199383225092 1357.000000000000 +201.983259096536 4157.000000000000 +217.007242135614 11741.327148437500 +217.105963587093 15482.668945312500 +218.009949414252 1208.000000000000 +218.108958783015 2547.000000000000 +219.093633048806 1319.448730468750 +234.033582693957 12770.000000000000 +235.037603512480 1379.336669921875 +239.087766278998 3286.875732421875 +242.283333142943 1269.000000000000 +245.038366204801 2525.000000000000 +246.860868473188 2768.000000000000 +249.183726045021 1277.861328125000 +250.999502407170 2552.000000000000 +252.995631834554 1836.000000000000 +262.065239894604 21394.767578125000 +263.067572169870 2404.000000000000 +264.061891103771 1243.000000000000 +276.080813947841 32185.000000000000 +277.083963767141 4114.000000000000 +278.078054160446 2217.000000000000 +279.092495265569 1940.000000000000 +281.050419778851 1367.000000000000 +284.163590469925 9332.000000000000 +285.167331910184 2517.000000000000 +289.119964437534 1441.302978515625 +292.119508242518 1546.000000000000 +303.104642799152 3336.000000000000 +303.191168270618 2846.093505859375 +304.118917204532 886697.062500000000 +304.856339026942 1419.656616210938 +304.975022441588 5892.455566406250 +305.107897820025 60098.996093750000 +306.110158464267 52147.246093750000 +307.111260806590 6616.670410156250 +307.247283236566 2744.782226562500 +310.120139525907 4017.412597656250 +320.106832165572 5127.000000000000 +321.110457254103 1231.635253906250 +321.131042046566 1226.668579101562 +326.094185610162 39581.000000000000 +327.007439325330 3479.883544921875 +327.096485748553 6323.979980468750 +328.091424657873 2476.325927734375 +329.002736488496 3916.000000000000 +330.204957173578 17861.789062500000 +331.208137127779 4322.000000000000 +342.068068201427 2858.656982421875 +349.169386508932 18308.152343750000 +350.172289812388 3575.000000000000 +351.169114792649 1326.000000000000 +352.185338388432 1383.838623046875 +372.148023932598 2199.032714843750 +380.334421867930 1500.000000000000 +404.036203084131 8110.000000000000 +405.038280600419 1614.000000000000 +445.117639958471 2103.000000000000 +500.274765830931 9506.000000000000 +501.278189264574 2845.197509765625 +502.287108152553 1738.000000000000 +505.850965822120 2506.000000000000 +536.163265279090 5123.811523437500 +537.164206705990 2452.000000000000 +538.160787955733 1794.000000000000 +544.336478775213 1764.000000000000 +546.913227478942 1570.434814453125 +549.964589119831 1398.000000000000 +607.215848916045 42716.000000000000 +608.219229396365 13004.000000000000 +609.215354074706 6569.000000000000 +610.191475231986 3658.000000000000 +611.187180591379 1650.000000000000 +612.219311132493 2717.000000000000 +613.224098373297 22062.000000000000 +614.227279534381 7018.149414062500 +615.222828016202 3443.000000000000 +623.211028873207 1301.000000000000 +629.198230629944 46218.000000000000 +630.201437914669 14408.000000000000 +631.197842259138 6467.000000000000 +632.198694915122 1400.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=675 experiment=6 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=675 experiment=6_0 +##scan 114 +##specref ms_run[1]:sample=1 period=1 cycle=675 experiment=6 +58.996001750623 30.000000000000 +60.080603176850 312.000000000000 +79.054209126712 30.000000000000 +108.054653787627 60.000000000000 +108.065739487326 56.225082397461 +109.010792405487 30.000000000000 +121.009796723678 30.000000000000 +121.019361963549 30.000000000000 +137.041178917357 135.000000000000 +138.011633501269 60.000000000000 +138.020572409930 60.000000000000 +139.020685086527 75.000000000000 +153.036669947981 330.000000000000 +155.028529627766 71.037872314453 +155.050885009520 255.000000000000 +168.986193427166 335.790893554688 +169.005494842977 263.783813476562 +180.983729756425 30.000000000000 +184.979757717870 180.000000000000 +186.996465097648 45.000000000000 +197.044969171046 13.000000000000 +198.995507284397 330.000000000000 +200.977071763483 60.000000000000 +201.005388168102 51.036884307861 +201.378265734807 45.000000000000 +201.983900875679 3766.254394531250 +214.062947226188 30.000000000000 +216.024647971071 75.000000000000 +216.044892485375 75.000000000000 +216.350618341967 75.000000000000 +217.008093074677 19212.000000000000 +218.543211108378 30.000000000000 +218.552176214816 30.000000000000 +219.007942777136 30.000000000000 +230.017030272807 180.000000000000 +233.289535001227 15.000000000000 +233.960096828681 13.000000000000 +234.034328458175 4563.000000000000 +234.394676822829 13.000000000000 +235.044702856826 30.000000000000 +244.034141805200 13.000000000000 +245.040864912952 461.000000000000 +258.070168801048 60.000000000000 +262.065305326236 869.000000000000 +276.082158135887 2140.000000000000 +277.085594725098 45.000000000000 +277.901531191057 45.000000000000 +277.943555976348 30.000000000000 +303.179510395725 13.000000000000 +304.112709846410 2392.000000000000 +305.112381425482 30.000000000000 +307.656160100874 13.000000000000 +348.985330011267 30.000000000000 +>ms1peaks +52.005351813457 2501.610107421875 +53.013412581284 13134.520507812500 +53.850226225992 1302.909057617188 +54.009140063564 338983.656250000000 +55.006042248338 6435.412597656250 +55.011148435189 6609.394042968750 +55.054172395822 1772.104248046875 +55.934029229957 5757.919921875000 +56.941868288709 2705.908203125000 +59.049392394217 65787.757812500000 +60.044197396550 9389.001953125000 +61.039698624921 1629.770751953125 +63.997582420249 4596.096191406250 +64.004915539546 4860.728515625000 +68.011405901665 27484.292968750000 +68.993238795734 11816.172851562500 +69.044514210085 12151.762695312500 +72.936346245282 1770.000000000000 +73.063844648998 1632.810180664062 +76.485866327556 2207.000000000000 +79.020638014668 15456.159179687500 +80.048700307132 11716.706054687500 +81.936658440041 8339.158203125000 +82.995849176432 8191.000000000000 +87.054215388379 1432.329345703125 +89.505806636870 1376.000000000000 +90.488666027165 1798.000000000000 +95.952211902793 2472.000000000000 +97.967974119285 6640.000000000000 +100.074558827800 1418.000000000000 +102.090063528932 1768.000000000000 +109.942148206295 1646.000000000000 +113.962810920920 1728.000976562500 +114.090265101894 9843.087890625000 +118.085166173822 5466.146972656250 +122.095082275611 3591.515380859375 +122.962671452755 9919.435546875000 +123.090603383338 1818.105346679688 +130.157985838236 1433.000000000000 +136.020144210415 1305.642211914062 +141.111768954054 1381.647338867188 +141.957291332652 13999.958984375000 +147.090365251433 2315.564941406250 +149.021998403294 4169.404296875000 +151.095653127576 2632.192382812500 +151.109600618565 2638.503906250000 +155.069049191990 1400.588378906250 +155.105221715370 1306.244873046875 +155.972774632456 3955.750244140625 +158.152847157321 10190.631835937500 +161.094883274868 1469.000000000000 +164.993233307885 1413.000000000000 +170.094756804200 2692.873779296875 +173.079096183490 5464.607421875000 +174.990754641374 1338.000000000000 +175.120920396226 1335.489135742188 +178.157288006504 1567.557739257812 +179.104881581157 1856.000000000000 +182.960071822982 1596.667236328125 +186.016812097735 3128.000000000000 +194.115183195725 3037.019042968750 +195.105676043577 1846.959228515625 +195.121034909827 2138.534667968750 +198.183715433637 1614.000000000000 +201.983396783946 6476.000000000000 +217.007534943089 16000.083984375000 +217.105603079000 12722.193359375000 +218.010461830348 1723.000000000000 +218.108916975941 1918.000000000000 +219.094207015885 1394.000000000000 +234.033666185649 17919.000000000000 +235.036061869219 1699.000000000000 +239.087710708037 2715.000000000000 +245.038087259231 3705.000000000000 +246.860587751512 3017.000000000000 +250.998652800198 2461.000000000000 +252.996040050118 1751.000000000000 +262.065226573716 31878.271484375000 +263.067812997194 3540.000000000000 +264.062744585962 1732.000000000000 +276.080875651007 47441.000000000000 +277.083729023421 6202.904296875000 +278.078049070253 2909.805664062500 +279.092264164105 2269.000000000000 +281.049607531965 1759.000000000000 +284.163709253010 5971.317382812500 +285.167422523505 1450.937500000000 +289.120547785899 45105.261718750000 +290.122834000335 8899.000000000000 +291.118148964330 16223.000000000000 +292.119468760172 3916.748291015625 +303.104211105075 4272.900878906250 +303.190626643079 3701.817626953125 +304.121038021889 1154982.000000000000 +304.680120827865 1361.469604492188 +304.720450396369 1578.193115234375 +304.756696628278 1464.135742187500 +304.826755934771 1415.802856445312 +304.888295222133 4211.749023437500 +304.975939340234 6444.747070312500 +305.112954471951 109660.976562500000 +306.110248734555 72833.000000000000 +307.111946842557 10169.579101562500 +307.247397220322 1757.839477539062 +310.120212483100 5088.000000000000 +320.107070842572 7286.000000000000 +321.109817317563 1634.396606445312 +321.134008500327 1645.504272460938 +326.094135509242 51581.214843750000 +327.006663634739 3305.288085937500 +327.096918826684 8025.063964843750 +328.090879363560 3401.237060546875 +329.002848029289 3721.000000000000 +330.204815446188 11820.952148437500 +331.208232327135 2889.000000000000 +342.067980362905 3189.395019531250 +349.169296376205 25098.000000000000 +350.172883605486 4323.000000000000 +351.167291455015 1724.000000000000 +372.149200119315 2817.477050781250 +404.036004100360 11013.000000000000 +405.038241871311 2224.679687500000 +424.359699824875 1469.000000000000 +445.117347283461 1962.204711914062 +500.274802921042 11554.163085937500 +501.277725760601 3400.000000000000 +502.286539956580 1910.000000000000 +505.850895564320 2188.000000000000 +536.162361057972 4668.000000000000 +537.163239801382 2428.000000000000 +538.161608472883 1869.000000000000 +544.336387601713 1598.000000000000 +546.911505452596 1493.000000000000 +549.965979448424 1640.000000000000 +592.225456903764 1675.000000000000 +607.216655018496 74091.000000000000 +608.219193446659 23449.000000000000 +609.215852555200 11438.528320312500 +610.208425679746 4454.000000000000 +611.188234775837 1805.798706054688 +612.220726308427 4082.000000000000 +613.224505418990 34075.000000000000 +614.227906702716 11171.000000000000 +615.225014693998 5343.000000000000 +623.210784148654 2510.000000000000 +629.198405169302 68640.000000000000 +630.201595235063 21340.328125000000 +631.198284234777 10581.000000000000 +632.198298853566 2483.000000000000 +707.140261218123 1384.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=676 experiment=6 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=676 experiment=6_0 +##scan 123 +##specref ms_run[1]:sample=1 period=1 cycle=676 experiment=6 +60.080804667174 433.000000000000 +77.037138854585 30.000000000000 +77.044660163015 30.000000000000 +79.051436344945 30.000000000000 +79.987786684964 45.000000000000 +79.995145870102 45.000000000000 +91.053912185659 45.000000000000 +103.055533984494 45.000000000000 +107.047730443211 150.000000000000 +108.056269079190 30.000000000000 +121.009504971189 30.000000000000 +125.040363278974 45.000000000000 +137.042600268373 120.000000000000 +138.019111040995 75.000000000000 +139.020855944901 105.000000000000 +140.031859103509 30.000000000000 +150.070308181449 30.000000000000 +153.035568142921 438.000000000000 +154.041169236265 30.000000000000 +155.050251278454 292.000000000000 +168.985995519890 388.000000000000 +184.982127385526 240.000000000000 +186.996395915972 90.000000000000 +187.034875102026 15.000000000000 +198.997821411773 180.000000000000 +200.977311045020 120.000000000000 +201.984671750322 4516.000000000000 +214.059766225802 30.000000000000 +214.073341606216 30.000000000000 +214.995982481649 45.000000000000 +216.024223244159 75.000000000000 +216.352099910034 45.000000000000 +217.008225956243 19597.000000000000 +217.159059425024 30.000000000000 +217.172831358415 30.000000000000 +217.680866309640 30.000000000000 +217.701180241721 30.000000000000 +217.946417478232 30.000000000000 +218.595765379496 30.000000000000 +219.010234249981 30.000000000000 +230.014065437955 45.000000000000 +233.336055274841 45.000000000000 +234.034165917597 4691.000000000000 +234.071698687435 208.209503173828 +234.991297986214 30.000000000000 +235.014754835894 45.000000000000 +235.038214028110 30.000000000000 +245.039792758223 315.000000000000 +258.068699435792 120.000000000000 +262.065919000015 870.000000000000 +276.081990706357 2323.384521484375 +303.209442753655 30.000000000000 +304.112289160302 3220.247314453125 +>compound 0_3034601138604610277-657008--7--UNKNOWN +>parentmass 363.070775069452 +>ionization [M+Na]1+ +>charge 1 +>rt 431.866000000020 +##fmz 363.07077506945177 +##fid 3034601138604610277 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +363.070775069452 38114.593385922941 +>ms1peaks +52.005865355475 2936.356689453125 +53.013723515258 15168.868164062500 +53.850400239168 1357.829345703125 +54.009447090145 347607.156250000000 +55.006110218286 6238.441894531250 +55.011508541956 7268.958007812500 +55.054636618089 2136.000000000000 +55.934309116073 6532.552734375000 +56.942275933353 2612.874023437500 +59.049622158630 56011.429687500000 +60.044524012498 9000.792968750000 +61.039481839151 1786.074829101562 +63.997449394256 3736.165039062500 +64.005109595772 4712.666015625000 +68.011792039005 26707.251953125000 +68.993702477550 13633.019531250000 +69.008646447254 1441.886596679688 +69.044733608562 13552.908203125000 +69.494666168807 1088.000000000000 +72.044289477019 1134.000000000000 +72.936653378507 2379.292724609375 +73.064314657279 1947.000000000000 +76.486410468336 2230.000000000000 +77.038532396207 1590.778686523438 +79.021074679723 14557.214843750000 +80.049121781728 13038.990234375000 +81.937384309880 9136.173828125000 +82.996771559276 9647.291015625000 +87.044032478393 1164.202392578125 +87.055030197874 1937.880737304688 +89.506480817586 1633.000000000000 +90.489144644798 1823.000000000000 +91.053978578614 1481.000000000000 +95.952653475183 2798.568603515625 +97.968242662562 7804.676269531250 +100.075124666224 1357.000000000000 +102.091023963336 2105.000000000000 +109.943015773476 1849.492675781250 +113.963173340819 2146.000000000000 +114.091149027124 11434.439453125000 +118.085562888545 7126.602050781250 +122.095450971812 3351.000000000000 +122.963406396921 11429.592773437500 +123.091816714399 1461.405029296875 +123.962989553704 1162.000000000000 +132.043858137010 23466.287109375000 +133.047312261130 2601.019775390625 +136.020979409517 1763.000000000000 +136.111376584671 1338.000000000000 +141.090631531290 1452.329956054688 +141.112250777587 1933.171752929688 +141.957805111647 16272.520507812500 +142.960130525273 1091.785766601562 +147.090889713370 2561.000000000000 +149.022860382613 8952.703125000000 +149.043461527452 2074.399169921875 +151.096439801801 2539.815917968750 +151.111209143750 2693.475830078125 +155.070028482861 1787.522338867188 +155.105375703160 1554.431030273438 +155.973268704769 4467.000000000000 +158.002234575261 1123.180664062500 +158.153819790011 15565.543945312500 +159.136830576290 1251.366088867188 +159.156929350810 1638.817993164062 +159.968015589745 1144.587158203125 +160.050107538005 10862.000000000000 +161.095753069011 1987.528442382812 +163.130314304873 1321.613403320312 +164.142207413101 1344.506469726562 +170.096003050047 2831.750244140625 +170.116393016687 1241.047485351562 +170.969308188165 1467.000000000000 +171.138824143644 1976.471679687500 +172.132816514555 1070.000000000000 +172.169354072833 1126.623413085938 +173.080592066342 7150.673339843750 +174.127101054123 1093.000000000000 +174.991572624579 1115.259887695312 +175.117966507653 1382.413574218750 +177.053956263481 3086.000000000000 +178.158743604693 1737.946655273438 +179.106488149861 2092.017333984375 +182.961571664514 1566.125366210938 +182.982955367691 1389.804321289062 +186.221312636852 2310.000000000000 +194.116506735598 3012.142089843750 +195.121983568600 1971.532348632812 +198.184492106186 2254.000000000000 +199.168659259112 1074.472778320312 +200.200544607050 1265.000000000000 +209.152957718499 1444.000000000000 +215.126858142678 1195.000000000000 +217.107186196782 24662.302734375000 +218.110233972313 2772.000000000000 +219.095202240315 3180.013427734375 +219.137164883586 1444.293090820312 +224.128646207474 1167.206176757812 +228.196369189320 1732.199340820312 +235.170060948981 1264.538574218750 +236.167946332224 2704.449462890625 +239.089160494599 5259.000000000000 +240.068219796793 1277.484863281250 +240.091769691182 1359.958740234375 +242.284200605489 1137.000000000000 +246.863294404574 3891.000000000000 +249.184938071857 1294.474121093750 +250.177914710678 1312.000000000000 +250.999736865556 2366.000000000000 +251.185303455126 1195.000000000000 +252.996845199048 1725.000000000000 +260.980831135670 9681.000000000000 +262.976934337234 1074.000000000000 +267.172286092444 1268.487426757812 +279.093453473919 1954.000000000000 +281.051187832394 1373.000000000000 +287.889696989575 1142.000000000000 +318.012975056617 4878.000000000000 +327.008528574617 3507.000000000000 +329.005288792022 3151.000000000000 +339.995536258518 21188.000000000000 +340.998304727292 3403.000000000000 +341.991615450972 1965.000000000000 +351.928765172494 2752.000000000000 +353.925863637500 1287.000000000000 +355.970345025132 1233.272216796875 +363.071463720139 4333.000000000000 +371.315937786641 1386.000000000000 +379.934517326720 2414.000000000000 +381.932765584480 1355.000000000000 +430.887891579421 1170.000000000000 +445.119501835711 2373.000000000000 +503.857852657168 1208.000000000000 +505.853144541362 5379.000000000000 +506.854406933930 1813.000000000000 +522.880381915172 2380.000000000000 +523.873038712107 1344.000000000000 +529.890971881918 1718.000000000000 +536.164830382665 5050.000000000000 +537.165530578391 2568.000000000000 +538.164082153377 1889.000000000000 +542.919791547930 1233.000000000000 +544.340309842267 1260.000000000000 +544.916740966050 1184.000000000000 +546.914239791284 3795.000000000000 +547.912822025670 1609.000000000000 +563.944002995814 1077.258789062500 +610.183402350979 1851.000000000000 +611.184706508494 1107.000000000000 +696.940078237106 1408.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=657 experiment=8 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=657 experiment=8_0 +##scan 7 +##specref ms_run[1]:sample=1 period=1 cycle=657 experiment=8 +51.023327393106 30.000000000000 +77.037828076161 230.000000000000 +77.047112591606 188.054351806641 +104.051039199103 135.000000000000 +105.033428602011 150.000000000000 +124.983684040858 90.000000000000 +132.044015045267 690.740539550781 +167.013583750308 30.000000000000 +172.867381277642 30.000000000000 +>ms1peaks +52.005717667707 2536.876953125000 +53.013645918459 13517.719726562500 +53.851091408425 1440.814208984375 +54.009479564739 340518.468750000000 +55.006713705873 6189.195800781250 +55.011648330739 5775.918945312500 +55.054395080163 1937.021850585938 +55.934309790351 6216.487304687500 +56.049851096555 1422.552856445312 +56.942103151176 2497.945800781250 +59.049782018324 63557.187500000000 +60.044617957556 9127.332031250000 +61.039564209817 1916.918579101562 +63.998058629288 4341.631347656250 +64.005180932598 4902.907226562500 +68.011727932833 27051.191406250000 +68.994002789359 13611.511718750000 +69.034264524552 2235.962402343750 +69.044867744672 14147.763671875000 +72.936875253829 3080.500976562500 +73.064425531348 1778.781250000000 +76.486297547963 2075.000000000000 +77.038265451054 5099.881835937500 +79.021270792779 14303.786132812500 +80.049179511142 11132.483398437500 +81.937187525733 8269.017578125000 +82.996616277972 9058.604492187500 +87.055191552618 1226.265625000000 +89.506723502083 2138.000000000000 +90.489274059111 1883.000000000000 +91.053872057085 1250.000000000000 +95.952563443877 2416.907226562500 +97.968351278732 7414.000000000000 +102.091075578098 2124.000000000000 +104.049176798538 2869.822265625000 +105.032824057535 2268.302246093750 +109.942659719793 1552.503417968750 +113.963028919819 2876.313476562500 +114.091047730204 9707.000000000000 +118.085960022478 6202.343750000000 +122.095829000463 3354.874755859375 +122.963603572159 10189.080078125000 +123.091990223840 1658.215576171875 +123.962908276753 1264.000000000000 +124.961981387844 1248.617553710938 +124.981468335431 3929.697021484375 +132.044195947098 93934.070312500000 +133.046929709006 8774.461914062500 +136.020849942089 1733.000000000000 +136.111849813683 1360.000000000000 +139.963062553447 1109.337646484375 +141.090358589210 1395.717041015625 +141.112852312471 1316.060180664062 +141.957905703603 16856.453125000000 +142.959660117555 1253.947509765625 +147.090758649450 2468.091308593750 +149.023008191796 6552.861328125000 +150.054483884674 1381.879394531250 +151.096258773620 2499.016357421875 +151.110632987131 2703.097412109375 +153.126579038194 1175.000000000000 +155.069775153959 1603.251586914062 +155.105765884478 1708.284912109375 +155.973825500886 4965.000000000000 +158.002736417151 1095.759399414062 +158.153601610996 15319.201171875000 +159.156377711765 1693.013305664062 +160.050203671116 29808.187500000000 +161.053148014827 2780.099853515625 +161.095739798824 1801.900268554688 +164.143136174419 1163.970947265625 +167.016142798795 1938.000000000000 +170.095669159809 2557.841796875000 +170.116803885810 1136.247192382812 +170.969513731195 5351.000000000000 +171.138682297569 3310.690673828125 +172.133498266589 1186.970092773438 +172.168816609007 1753.000000000000 +173.079889235839 8137.424804687500 +174.127584523158 1118.000000000000 +177.053398759750 2010.000000000000 +178.158757601913 1500.698242187500 +179.105540802675 2172.262695312500 +182.961283063703 1745.384643554688 +186.221178069795 1622.000000000000 +194.116354222571 3003.000000000000 +195.102160721940 1637.390014648438 +195.121964321705 2114.307128906250 +198.185094857026 2154.000000000000 +209.152949152955 1423.597534179688 +217.106757414349 22820.371093750000 +218.109717212262 2365.715332031250 +219.095322856019 2839.912353515625 +224.127859164514 1268.000000000000 +228.195125596876 1796.750244140625 +235.168738541554 1153.106201171875 +236.167125665018 2147.822998046875 +239.089167868946 3697.000000000000 +242.283752097581 1331.000000000000 +246.862020032552 3643.000000000000 +249.184726675759 1740.000000000000 +250.176839865775 1269.149047851562 +251.000052262976 1835.000000000000 +251.185199846439 1143.344848632812 +252.997000735520 1613.000000000000 +253.915053857069 3181.000000000000 +260.980520936940 34136.089843750000 +261.983107472769 3914.000000000000 +262.975908361642 3711.000000000000 +267.171176133304 1190.000000000000 +279.094069923914 2218.000000000000 +281.050366742298 1525.000000000000 +304.299335403967 1178.000000000000 +318.012807082281 13905.000000000000 +319.015812641865 1771.000000000000 +320.009779889072 1411.312622070312 +324.021497063862 2274.000000000000 +327.008303487350 3194.000000000000 +329.005675073912 3118.000000000000 +339.995324080662 63593.000000000000 +340.998247708453 9047.660156250000 +341.991464705082 6892.000000000000 +351.928380615899 5009.000000000000 +353.925994810456 2303.000000000000 +355.968410053379 3129.565673828125 +363.070877703428 10529.000000000000 +364.073137490148 1819.000000000000 +379.934530374708 4270.000000000000 +381.931407641533 2153.000000000000 +445.120046493581 2353.000000000000 +503.859909772363 1436.000000000000 +505.853063220538 5926.000000000000 +506.854048759295 1904.000000000000 +519.139384687535 1126.000000000000 +522.880368766100 2806.000000000000 +523.877736811317 1418.000000000000 +529.888748439098 1722.000000000000 +536.165143915241 4925.000000000000 +537.165086990853 2707.000000000000 +538.162296228146 1762.000000000000 +542.921174254561 1132.000000000000 +543.918003709155 1152.000000000000 +546.914886995490 3416.000000000000 +547.912219447510 1693.000000000000 +563.943181698806 1223.378784179688 +610.184322938020 2314.000000000000 +611.184296206340 1322.000000000000 +657.001817843383 1409.000000000000 +696.940437510992 3603.000000000000 +698.940217154744 2331.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=658 experiment=9 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=658 experiment=9_0 +##scan 17 +##specref ms_run[1]:sample=1 period=1 cycle=658 experiment=9 +77.039588173559 315.000000000000 +104.048667587430 90.000000000000 +105.034213515052 266.000000000000 +124.982932191415 120.000000000000 +132.045552020292 1052.000000000000 +134.069001291881 15.000000000000 +160.052154319404 75.000000000000 +260.988397593186 30.000000000000 +>ms1peaks +50.015030688094 1631.000000000000 +52.005691836328 2833.837890625000 +53.013678352050 13820.645507812500 +53.850930804944 1372.676147460938 +54.009488813193 341215.375000000000 +55.006244952468 6363.858398437500 +55.011195314574 6663.786621093750 +55.054435589179 2093.444580078125 +55.934214796378 6443.966308593750 +56.049418637710 1614.372314453125 +56.942077131072 2603.345458984375 +59.049684010496 67068.679687500000 +60.044674600260 8507.357421875000 +61.039576232541 1618.787597656250 +63.997953270808 4540.612304687500 +64.004984885183 4765.146484375000 +68.011730125352 26984.066406250000 +68.993758540617 13250.065429687500 +69.044639818678 13453.114257812500 +72.936865747985 3009.785888671875 +73.064487442720 1926.000000000000 +76.486106736487 2394.000000000000 +77.012975210189 1331.000000000000 +77.038245950909 6864.013671875000 +79.021170250218 14954.513671875000 +80.049055487900 12273.781250000000 +81.937167726085 8605.721679687500 +82.996581259270 9547.895507812500 +87.054493611252 1308.586669921875 +89.506388403917 1579.000000000000 +90.489379547455 1879.000000000000 +91.053817827625 1210.000000000000 +95.952611673257 2421.652587890625 +97.968325410624 7844.628906250000 +100.075376789744 1408.000000000000 +102.090940410850 1712.000000000000 +104.048827681379 4021.000000000000 +105.032851808396 3043.702148437500 +109.943040230612 1524.000000000000 +113.962743611150 2300.809326171875 +114.091086475065 10732.537109375000 +118.085604757949 6375.129394531250 +122.095612538633 3453.346191406250 +122.963478886657 10149.138671875000 +123.091154033496 1907.152587890625 +123.962085557178 1291.000000000000 +124.964032856960 1524.723510742188 +124.981293760905 5573.300781250000 +132.044243365317 129513.453125000000 +133.047275934233 12024.171875000000 +136.021338396786 1596.000000000000 +136.111611313675 1179.000000000000 +141.090513006913 1389.292724609375 +141.112565247916 1247.203857421875 +141.957978845995 16325.500000000000 +147.090945866648 2556.685302734375 +149.023028218992 6399.154296875000 +150.054262184195 1568.000000000000 +151.096430884077 2664.400390625000 +151.111011940160 2835.027587890625 +155.069438117684 1871.944824218750 +155.105960083325 1401.000000000000 +155.973753152622 4288.000000000000 +158.153627071218 14384.000000000000 +159.156473714741 1627.752929687500 +160.050487288307 38915.000000000000 +161.053611692746 4466.942382812500 +161.095700587134 1743.057495117188 +164.142944501592 1256.052368164062 +167.015735366166 2785.089599609375 +170.096151543720 2652.023193359375 +170.116409887737 1324.376464843750 +170.968993556255 7076.000000000000 +171.137671144810 4912.312011718750 +172.136045264128 1371.000000000000 +173.079830429233 8581.928710937500 +174.991306236853 1198.000000000000 +177.054219725911 1769.000000000000 +178.157947155736 1498.908447265625 +179.106050750592 1934.090454101562 +182.960933723657 1780.061523437500 +182.991388549794 1244.309082031250 +186.221152079128 2287.000000000000 +194.116900036921 2752.000000000000 +195.121615177487 1919.471069335938 +198.184412559940 2140.000000000000 +200.200455656322 1296.554199218750 +209.153704347399 1590.000000000000 +212.888258624179 1535.000000000000 +217.106944592366 24346.000000000000 +218.110517718319 2646.000000000000 +219.095540028475 2644.006591796875 +228.196097140190 1527.811645507812 +236.167749124378 1677.000000000000 +239.089312381813 3327.000000000000 +242.284215148787 1201.000000000000 +246.862288406064 3365.000000000000 +249.184532839914 1860.293334960938 +251.001107206325 2362.000000000000 +252.997444701878 1876.000000000000 +253.916335213075 4093.000000000000 +260.980865788213 46877.000000000000 +261.983931158765 5301.000000000000 +262.976772362746 4418.000000000000 +267.172661485943 1410.000000000000 +277.199859444074 2417.590087890625 +279.093448238935 1888.450561523438 +281.051163936397 1557.000000000000 +292.121170689402 15731.000000000000 +293.123945781771 2615.000000000000 +294.118820607873 4859.000000000000 +295.121821476430 1186.000000000000 +318.013460543863 19020.000000000000 +319.016226586969 2819.000000000000 +320.010792812476 1745.000000000000 +324.021120495162 2522.000000000000 +327.007928037291 3314.077636718750 +329.005428091932 3187.000000000000 +331.002680981835 1140.229492187500 +335.040406311528 1228.000000000000 +339.995783079981 73785.000000000000 +340.998517552508 10283.000000000000 +341.992089047450 7216.000000000000 +351.928943475892 4368.000000000000 +353.926519256680 2362.000000000000 +355.969819970535 3512.076416015625 +363.071778928522 11698.970703125000 +364.073181575102 1981.000000000000 +371.315525399960 1354.000000000000 +379.934529706961 4095.883300781250 +381.932716463007 2062.000000000000 +445.119746997025 2474.000000000000 +446.119291863183 1145.000000000000 +505.853826516954 4858.000000000000 +506.855308046231 1451.000000000000 +519.139330404280 1166.703979492188 +522.880837958116 1970.000000000000 +523.871380297922 1372.000000000000 +529.891671811182 1342.000000000000 +536.165890644769 5714.000000000000 +537.166372879728 2646.000000000000 +538.163391669663 2155.000000000000 +544.339624971493 1155.000000000000 +546.914039373140 3234.000000000000 +547.912958504845 1306.000000000000 +610.184280095073 1860.000000000000 +611.183517202231 1239.000000000000 +657.000223829242 1834.000000000000 +696.940499292838 3022.000000000000 +698.938485246113 2250.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=659 experiment=9 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=659 experiment=9_0 +##scan 26 +##specref ms_run[1]:sample=1 period=1 cycle=659 experiment=9 +77.038879416695 240.000000000000 +104.047502330176 150.000000000000 +105.032936494768 150.000000000000 +105.045515734250 116.539550781250 +124.982386965946 30.000000000000 +130.038678184319 30.000000000000 +130.049262402724 30.000000000000 +132.044440689304 739.000000000000 +160.052657174434 75.000000000000 +182.992309980599 30.000000000000 +>compound 0_16459302675638519057-664006--60--UNKNOWN +>parentmass 372.064975852221 +>ionization [M+Na]1+ +>charge 1 +>rt 437.422999999980 +##fmz 372.064975852221096 +##fid 16459302675638519057 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +372.064975852221 23380.927388863765 +>ms1peaks +52.005453969998 2626.723144531250 +53.013597312446 12728.553710937500 +53.850414409821 1250.853881835938 +54.009329210909 348334.937500000000 +55.006062122532 5392.668457031250 +55.011342055713 6236.111816406250 +55.054021350211 1869.273437500000 +55.934286374440 6315.563964843750 +56.941831842622 2597.011962890625 +59.049520241177 68985.562500000000 +60.044238693811 9277.411132812500 +60.051306561624 7152.463378906250 +61.039638104919 1556.488891601562 +63.997844257749 4543.386718750000 +64.004868648059 4706.500976562500 +68.011536869512 28038.335937500000 +68.993647464953 12595.196289062500 +69.044515645070 12865.375976562500 +72.936647087938 2567.000000000000 +73.064121365067 1769.925781250000 +76.486182586418 2785.377929687500 +79.020888115541 15628.571289062500 +80.049060365715 12153.072265625000 +81.936978966817 8495.000000000000 +82.996309100211 9038.668945312500 +87.043494139885 1178.190917968750 +87.054319172330 1546.054443359375 +89.506956806916 1559.000000000000 +90.488703688296 1817.000000000000 +91.053777911785 1528.745483398438 +95.952341177386 2260.741210937500 +97.968210936145 7024.000000000000 +98.983399057372 5034.887695312500 +100.075304888654 1243.000000000000 +102.090957068479 1525.000000000000 +109.943109012828 1320.928710937500 +113.962992754591 2498.000000000000 +114.090728474154 10512.617187500000 +118.085470631803 6601.458007812500 +122.095607083049 3712.721679687500 +122.962888411087 10607.500976562500 +123.091509718457 1686.104614257812 +132.043186178558 2464.123291015625 +136.020620151667 1645.000000000000 +140.067164786600 1314.000000000000 +141.089863109573 1272.675292968750 +141.111890586678 1562.626220703125 +141.957557081223 15988.394531250000 +147.090173997086 2431.000000000000 +149.022336160605 4523.349121093750 +149.043636850784 1223.066040039062 +151.095789721496 2301.788818359375 +151.111113393103 2538.584228515625 +155.069111807472 1549.374267578125 +155.105759874764 1515.979370117188 +155.973112787773 4487.000000000000 +158.153378740203 12758.589843750000 +159.156448385204 1328.413452148438 +161.095542076597 1436.000000000000 +164.142018358830 1273.736083984375 +170.095175686942 2849.232421875000 +171.138207188731 2555.000000000000 +172.133475837479 1266.057739257812 +173.079557051502 6304.225097656250 +174.991247355031 15122.000000000000 +176.988586706089 4881.000000000000 +178.158242399689 1403.950073242188 +179.105412805866 3814.716552734375 +182.960601426951 1842.280639648438 +182.982966835265 1410.150146484375 +186.220883153188 1802.000000000000 +194.115976643286 3119.000000000000 +195.102214753451 1498.057617187500 +195.120897037407 1858.993774414062 +198.184171488074 2116.000000000000 +217.106332787106 21497.787109375000 +218.109128733639 2613.000000000000 +219.095226750847 2102.304443359375 +224.127626531368 1175.000000000000 +228.195317705032 1672.133422851562 +239.088374855672 3685.309814453125 +242.283185310790 1468.000000000000 +246.860952738993 3049.000000000000 +249.183720846634 1286.295654296875 +250.177140311956 1205.756591796875 +250.999832075601 32001.000000000000 +252.002106420824 2157.000000000000 +252.996924958467 20204.000000000000 +253.999797691244 1411.000000000000 +254.993496356863 3401.000000000000 +279.092906188567 2036.000000000000 +286.179288894577 8400.000000000000 +287.181689656808 1994.078002929688 +287.217541902151 1349.643310546875 +291.235948805059 1485.048828125000 +292.122314491142 439122.000000000000 +292.983059595137 1438.034667968750 +293.122671084767 47692.136718750000 +294.118451514065 133013.562500000000 +295.120454982262 22502.744140625000 +296.122607984390 2357.932373046875 +313.039105768504 33266.000000000000 +314.042149111497 5168.000000000000 +315.036268416268 21007.242187500000 +316.038403197349 3302.000000000000 +317.033014483539 3862.000000000000 +321.227057921370 1381.000000000000 +327.007877449001 47611.566406250000 +328.011115186819 4973.000000000000 +329.004794999861 46547.000000000000 +330.008005603352 4737.000000000000 +331.001868162022 15538.000000000000 +332.004876313775 1480.000000000000 +333.003299668985 2744.071777343750 +335.018886982057 3585.000000000000 +337.016084576435 2205.000000000000 +339.994390073568 1754.000000000000 +348.988792788967 6573.000000000000 +350.986916484867 6721.000000000000 +352.984603835989 2083.000000000000 +354.041095041215 1340.092163085938 +356.039619641072 1269.081298828125 +372.065048824891 6209.586914062500 +374.062468004687 6086.000000000000 +376.059148229590 1968.000000000000 +392.045330940334 2193.000000000000 +395.067648242738 2230.000000000000 +397.066134815272 1581.000000000000 +426.930515343123 1306.000000000000 +426.976513054277 1169.811889648438 +428.927149366436 1298.000000000000 +430.886640350010 1403.000000000000 +445.118913900930 2269.000000000000 +491.969645058197 1379.000000000000 +505.851389825487 3789.000000000000 +522.878326149515 1800.000000000000 +536.163456762234 4427.000000000000 +537.165324404735 2206.000000000000 +538.161529742511 1590.843383789062 +544.337468455008 1195.000000000000 +546.914116937371 2559.000000000000 +547.911876414748 1196.000000000000 +610.180850219782 2080.000000000000 +611.182328195703 1214.000000000000 +645.154717656738 8484.000000000000 +646.158700037782 2782.000000000000 +647.152980374288 9942.000000000000 +648.155555240546 3294.000000000000 +649.150621117204 4284.000000000000 +650.152709955400 1200.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=664 experiment=6 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=664 experiment=6_0 +##scan 60 +##specref ms_run[1]:sample=1 period=1 cycle=664 experiment=6 +80.972953153785 13.000000000000 +98.982914422980 431.000000000000 +129.050346989349 13.000000000000 +174.989442978594 105.000000000000 +>compound 0_12237362536485158566-690002--189--Fluopicolide +>parentmass 382.973869490197 +>ionization [M+H]1+ +>formula C14H8Cl3F3N2O +>charge 1 +>rt 461.815000000020 +##fmz 382.973869490196876 +##fid 12237362536485158566 +##des Fluopicolide +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +382.973869490197 1566560.194702931913 +383.974085388476 215156.515593794087 +384.971182227280 1515411.090952950995 +385.971445846469 217515.636160165188 +386.966617270822 496455.906171257608 +387.969500648600 70588.742014634801 +388.966369635235 66477.465492693751 +>ms1peaks +52.005210101745 2880.326171875000 +53.013244764978 14536.934570312500 +53.849926196038 1299.180541992188 +54.009062191468 337463.656250000000 +55.005782184426 6018.867675781250 +55.011130257419 6291.486816406250 +55.053977714849 2564.656250000000 +55.934045390685 5149.269042968750 +56.049252844183 1522.427001953125 +56.941603012839 2038.434204101562 +59.049303582077 66746.156250000000 +60.044155103878 10569.948242187500 +61.039339551811 1535.741943359375 +63.997382781260 3987.302490234375 +64.004764366709 4495.057128906250 +67.029012182241 1196.788085937500 +68.011241243102 27618.355468750000 +68.993215053966 11211.009765625000 +69.007933522035 1110.942382812500 +69.030952972722 1208.401123046875 +69.044122956537 14957.959960937500 +70.047392494398 1056.000000000000 +72.936253799388 1911.266845703125 +73.064074433437 1870.000000000000 +76.485837613149 2263.000000000000 +79.020585106505 16188.393554687500 +80.048658040907 12759.203125000000 +81.936455171914 7130.960449218750 +82.995989890540 8094.847167968750 +83.084419311590 1600.000000000000 +87.043278684781 1486.388549804688 +87.053817622777 1603.334838867188 +89.069749088361 1018.981018066406 +89.505979323008 1330.000000000000 +90.488509802564 1298.000000000000 +91.053061548451 1458.197998046875 +95.952010042584 2034.000000000000 +97.967845663329 6727.871582031250 +100.074557176530 1242.297607421875 +102.090456966796 1808.000000000000 +109.942605580563 1304.000000000000 +113.961995665745 1783.000000000000 +114.090136653414 11099.125976562500 +118.084578873938 6589.014160156250 +122.095225690220 3753.473632812500 +122.962554906366 9321.000000000000 +123.090771458381 1894.498779296875 +123.959613404275 1190.405883789062 +129.051729705624 1153.000000000000 +130.157564325932 1454.000000000000 +136.020001066212 1765.000000000000 +136.111173027530 1401.000000000000 +140.066639527938 1028.000000000000 +141.089745096835 1563.539672851562 +141.111484223018 1201.726074218750 +141.934455898498 1853.158203125000 +141.957169463850 15166.348632812500 +147.090458533503 2770.000000000000 +149.021900848308 4662.361816406250 +149.040700354547 2059.066162109375 +151.095497123421 2745.510253906250 +151.109864345448 3167.984130859375 +155.069134838044 1226.075561523438 +155.104965175783 5033.305175781250 +155.972604697841 3923.406005859375 +158.152845331544 12425.991210937500 +159.155757881201 1277.437866210938 +159.967768899180 1071.000000000000 +161.095020040845 1890.000000000000 +164.141534807567 1672.000000000000 +170.094937863069 2534.239013671875 +171.145574254043 1674.000000000000 +172.132621534302 1231.000000000000 +173.079595798653 7293.703125000000 +174.126503889229 1050.000000000000 +174.990271465623 1245.000000000000 +175.121004452465 1328.734497070312 +177.053009667276 1263.687377929688 +178.157674087207 1448.371459960938 +179.105287566263 2170.352783203125 +182.960459644363 2471.043212890625 +182.982288944426 1163.013549804688 +183.079109532841 6225.136718750000 +184.081105483367 1022.846374511719 +186.219653891550 1284.000000000000 +194.115456511691 3794.229980468750 +195.099541191905 1349.889038085938 +195.121523296283 2229.914550781250 +198.183976447015 2341.000000000000 +199.168630322872 1033.270751953125 +200.199814752449 1084.000000000000 +215.080651017155 1832.000000000000 +217.106027886947 23780.771484375000 +218.109364414939 2635.000000000000 +219.094316037445 1318.440917968750 +221.152166294283 1164.883911132812 +224.126348349948 1477.977416992188 +227.126868766390 14694.514648437500 +227.161495790859 1160.310546875000 +228.130201807144 2153.737548828125 +228.194384410156 1676.000000000000 +233.134961623018 1118.406982421875 +235.167077858732 1294.375976562500 +239.087617137075 5289.139648437500 +242.282321574347 2010.184570312500 +246.860834293952 3268.000000000000 +249.108707735736 7477.228027343750 +249.183052414364 1165.512939453125 +250.176352588420 1357.000000000000 +250.998215553850 2416.000000000000 +251.183857770360 1222.461791992188 +252.995780678787 1689.000000000000 +267.170841081571 1457.286621093750 +279.092420733858 2225.000000000000 +281.050010295874 1569.000000000000 +289.119147717746 1566.258178710938 +294.135329652932 4503.000000000000 +295.188814348578 2271.450439453125 +296.132567161201 1627.334594726562 +304.111668221270 3004.000000000000 +309.233650475700 1074.000000000000 +327.007272430691 3551.831542968750 +329.003127675682 3321.000000000000 +330.204917561574 2224.000000000000 +331.001391515662 1115.000000000000 +367.244150717722 1652.779052734375 +371.099010574269 1011.000000000000 +382.971173512741 7099.000000000000 +383.975115565599 1219.000000000000 +384.968741898502 6715.411132812500 +385.970680131379 1240.000000000000 +386.965633977078 2382.000000000000 +430.884821512900 1145.000000000000 +445.117845109390 2209.000000000000 +500.274546729878 1889.000000000000 +502.290379415694 1910.427490234375 +505.850981337320 1612.000000000000 +519.134856069604 1068.000000000000 +520.338024852892 1339.000000000000 +524.367950184351 1991.705444335938 +536.162415980276 5397.000000000000 +537.164195256501 2408.000000000000 +538.161390635714 2020.000000000000 +542.322588022880 3070.203369140625 +543.324833448983 1285.000000000000 +544.336359438462 3205.019042968750 +546.911641444659 1057.000000000000 +610.180489575856 2193.000000000000 +611.181108891135 1384.000000000000 +684.198238488602 1003.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=690 experiment=2 +##m_id Fluopicolide_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=690 experiment=2_0 +##scan 189 +##specref ms_run[1]:sample=1 period=1 cycle=690 experiment=2 +74.014827458225 8.000000000000 +108.983366207722 26.000000000000 +109.989618691772 4.000000000000 +123.979816140963 2.000000000000 +132.018313553585 6.000000000000 +144.519211201056 4.000000000000 +144.529614141667 4.000000000000 +144.959898296654 481.000000000000 +146.983453232469 2.000000000000 +153.877690540072 2.000000000000 +158.021510503175 10.000000000000 +159.026979232729 6.000000000000 +172.435617385246 34.000000000000 +172.483826110428 3.604490280151 +172.502325907959 3.796431541443 +172.955133300395 5827.000000000000 +173.017652697274 4.000000000000 +173.102323528288 8.000000000000 +173.119342430749 7.952377319336 +173.169183183190 4.000000000000 +173.183867564746 4.000000000000 +173.958949059484 6.000000000000 +173.992189755989 19.000000000000 +174.292784929592 4.000000000000 +174.303838341920 4.000000000000 +174.498056923622 4.000000000000 +174.507993062891 4.000000000000 +174.601446376462 4.000000000000 +174.618843037831 4.000000000000 +174.847046208074 2.000000000000 +175.359849884359 2.000000000000 +175.469734656576 4.000000000000 +175.486021571205 6.000000000000 +175.497515908935 4.000000000000 +189.699838262997 2.000000000000 +193.998191877080 288.000000000000 +212.011275243780 14.000000000000 +212.886974994315 2.000000000000 +234.188215950907 2.000000000000 +235.803102855284 2.000000000000 +237.057303951399 2.000000000000 +282.803853588561 8.000000000000 +282.826910729405 8.000000000000 +327.069830102971 2.000000000000 +334.802573876047 2.000000000000 +364.963080105351 179.000000000000 +371.709130079698 2.000000000000 +376.326026715934 2.000000000000 +382.972744466787 67.000000000000 +383.976807274218 4.000000000000 +>ms1peaks +52.005460768039 2632.474609375000 +52.018216605071 1453.331787109375 +53.013504878262 13629.050781250000 +53.849980694050 1426.347900390625 +54.009228946889 336414.500000000000 +55.006192155745 5923.077148437500 +55.011510780469 6201.034179687500 +55.054252354012 2748.183837890625 +55.934342759512 5029.362792968750 +56.049718574756 3820.462890625000 +56.941798954376 2040.369384765625 +59.049450389379 63100.214843750000 +60.044446622738 10277.622070312500 +61.039574586144 1639.209472656250 +63.997833501230 3457.696044921875 +64.005356757182 3922.083740234375 +67.028813659264 2927.124267578125 +68.011568906879 27184.011718750000 +68.993799166752 11291.774414062500 +69.008782671073 1110.820922851562 +69.044422525384 14576.621093750000 +72.044090470135 1069.000000000000 +72.936647746103 1867.645996093750 +73.064241969654 1890.270141601562 +76.486566607142 2154.000000000000 +79.021060621858 16402.000000000000 +80.048912504147 11908.904296875000 +81.936948519663 7659.439453125000 +82.996456601784 7432.041015625000 +83.084846425827 2619.000000000000 +87.044234628717 1642.456787109375 +87.054412582263 1764.396362304688 +89.070136748709 1188.329101562500 +89.506769824945 1309.000000000000 +90.489346677114 1261.775878906250 +91.053422064295 1599.987548828125 +95.952556829344 1954.000000000000 +97.967937653882 6272.680175781250 +100.074820050407 1313.661132812500 +102.090442487468 2018.000000000000 +109.942993258045 1292.210815429688 +113.962358113491 1857.055419921875 +114.090543897348 10782.883789062500 +118.085193271831 6439.585937500000 +122.095576433333 3719.300781250000 +122.963045289522 8831.000000000000 +123.090127906704 2032.145874023438 +123.961671902554 1039.000000000000 +130.158410860949 1108.000000000000 +136.020580299746 1385.000000000000 +136.110973601797 1208.185180664062 +137.963495288748 1038.000000000000 +138.970185164931 1044.000000000000 +141.090483230390 1714.842407226562 +141.112072140860 1217.862182617188 +141.957625571099 14848.524414062500 +142.959933648058 1183.193115234375 +147.090750731097 2692.000000000000 +149.022586318358 4677.753906250000 +151.095818189897 2463.614501953125 +151.109403980113 2852.661376953125 +155.069856888985 1644.906494140625 +155.105634666236 8124.955078125000 +155.973077442175 3878.003173828125 +158.095390272769 1041.850830078125 +158.153110530602 11433.902343750000 +159.156138029756 1255.307250976562 +159.968790133864 1084.000000000000 +161.096047015176 1855.838989257812 +163.131292514217 1081.046264648438 +164.142338808225 1538.000000000000 +170.095249905282 2481.923583984375 +170.114818729424 1586.174682617188 +171.144577817449 1465.000000000000 +172.133060054694 1132.135253906250 +173.080138735239 6781.958007812500 +174.126750381227 1146.000000000000 +174.990894555098 1459.000000000000 +175.124197631539 1158.163574218750 +177.054313185370 1050.000000000000 +178.158439439061 1351.589477539062 +179.106069845588 2217.652832031250 +182.960683036176 2721.000000000000 +183.079572975077 3558.392822265625 +186.220577305634 1472.000000000000 +194.115833443496 3200.611816406250 +195.099867813526 1492.162719726562 +195.121670053083 2089.949218750000 +198.184355819996 2036.034667968750 +199.185771412889 1053.000000000000 +200.199994101328 1045.000000000000 +217.106066147047 23700.000000000000 +218.109880969704 2669.000000000000 +219.095458161270 1180.932006835938 +224.126383591275 1239.964111328125 +227.127075688130 24915.439453125000 +228.130566679052 3475.000000000000 +228.195672567193 1184.000000000000 +233.135519600916 1606.236083984375 +235.167213939552 1131.541503906250 +239.088391913188 5292.000000000000 +242.283165125348 1763.000000000000 +246.861456391400 2687.000000000000 +249.108966407852 11636.693359375000 +250.113738299007 1549.000000000000 +250.178629966588 1340.000000000000 +250.999377894033 2470.000000000000 +252.996369939032 1431.000000000000 +267.169859968301 1516.000000000000 +279.093360326372 2198.000000000000 +281.049935707172 1718.359741210938 +289.120421172109 1505.223999023438 +294.135805745070 1954.000000000000 +295.190643010298 1597.599243164062 +304.112579156761 2114.000000000000 +327.007179750003 3429.369384765625 +327.051990179871 1964.440551757812 +329.004854748166 3098.000000000000 +330.205970450676 2139.970947265625 +331.001810666775 1124.000000000000 +367.245375431034 1096.678710937500 +371.099956255100 1145.000000000000 +371.315850471733 1077.000000000000 +382.972477955693 57862.191406250000 +383.973581113624 9390.000000000000 +384.969379705317 56829.000000000000 +385.971610318225 8858.000000000000 +386.966433781431 18577.000000000000 +387.968684254304 3112.000000000000 +388.968200016670 2893.000000000000 +404.953693248965 4478.000000000000 +406.950549247024 5007.000000000000 +408.948134552343 1602.000000000000 +430.886087934454 1034.000000000000 +445.119126674486 2384.000000000000 +446.119450710310 1082.000000000000 +500.276347970652 1519.000000000000 +502.291527770051 2163.919189453125 +505.851373232660 1515.000000000000 +520.336525060874 1398.000000000000 +524.368789804896 2012.000000000000 +526.290251526751 1047.306762695312 +536.163216797749 5403.000000000000 +537.165736905426 2653.000000000000 +538.162249785514 1911.000000000000 +542.322969125465 2655.288330078125 +544.337954764480 2683.000000000000 +546.913572609430 1216.000000000000 +610.182763261579 2011.580444335938 +611.182765882529 1285.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=691 experiment=5 +##m_id Fluopicolide_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=691 experiment=5_0 +##scan 194 +##specref ms_run[1]:sample=1 period=1 cycle=691 experiment=5 +94.434175767174 13.000000000000 +100.470091159134 13.000000000000 +108.984100401010 150.000000000000 +144.959636504415 2258.000000000000 +158.020256143752 30.000000000000 +158.027675425270 30.000000000000 +172.435894581249 75.000000000000 +172.469065092596 30.000000000000 +172.719677895769 30.000000000000 +172.955388574782 28821.000000000000 +173.655714669105 13.000000000000 +173.745544595693 15.000000000000 +173.779716942753 30.000000000000 +173.952141059980 45.000000000000 +173.968506193653 60.000000000000 +173.991228893118 75.000000000000 +174.021679641905 30.000000000000 +174.065013627237 30.000000000000 +174.082566814628 30.000000000000 +175.410680683511 30.000000000000 +175.428157974081 30.000000000000 +181.987621311304 13.000000000000 +193.997014592663 1490.000000000000 +261.818816423649 13.000000000000 +364.963188973205 1040.000000000000 +382.971132691434 382.000000000000 diff --git a/src/tests/topp/SiriusExport_2_output_compoundinfo.tsv b/src/tests/topp/SiriusExport_2_output_compoundinfo.tsv new file mode 100644 index 00000000000..cb5fe21fd65 --- /dev/null +++ b/src/tests/topp/SiriusExport_2_output_compoundinfo.tsv @@ -0,0 +1,13 @@ +cmp file_index pmass pint_mono rt fmz fid formula charge ionization des specref_format source_file source_format native_ids_id m_ids_id +0_10333458062711546021-664003--57--UNKNOWN 0 286.179 67049.2 438.351 286.179 10333458062711546021 1 UNKNOWN [MS, MS:1000770, WIFF nativeID format] file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff [MS, MS:1000562, ABI WIFF format,] sample=1 period=1 cycle=664 experiment=3|sample=1 period=1 cycle=665 experiment=5|sample=1 period=1 cycle=666 experiment=3 UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=664 experiment=3_0|UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=665 experiment=5_0|UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=666 experiment=3_0 +0_5053681185761206615-676004--121--Myclobutanil 0 289.123 1.35681e+06 448.028 289.123 5053681185761206615 C15H17ClN4 1 [M+H]1+ Myclobutanil [MS, MS:1000770, WIFF nativeID format] file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff [MS, MS:1000562, ABI WIFF format,] sample=1 period=1 cycle=676 experiment=4|sample=1 period=1 cycle=677 experiment=5|sample=1 period=1 cycle=678 experiment=3 Myclobutanil_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=676 experiment=4_0|Myclobutanil_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=677 experiment=5_0|Myclobutanil_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=678 experiment=3_0 +0_5868141785564858207-659006--23--Cyproconazole 0 292.121 1.77258e+06 436.497 292.121 5868141785564858207 C15H18ClN3O 1 [M+H]1+ Cyproconazole [MS, MS:1000770, WIFF nativeID format] file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff [MS, MS:1000562, ABI WIFF format,] sample=1 period=1 cycle=659 experiment=6|sample=1 period=1 cycle=660 experiment=5|sample=1 period=1 cycle=661 experiment=4 Cyproconazole_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=659 experiment=6_0|Cyproconazole_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=660 experiment=5_0|Cyproconazole_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=661 experiment=4_0 +0_18386993698014176665-675005--113--UNKNOWN 0 304.119 3.56918e+06 446.172 304.119 18386993698014176665 1 [M+H]1+ UNKNOWN [MS, MS:1000770, WIFF nativeID format] file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff [MS, MS:1000562, ABI WIFF format,] sample=1 period=1 cycle=675 experiment=5 UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=675 experiment=5_0 +0_11941333258820146302-663003--50--UNKNOWN 0 313.039 90349.7 436.497 313.039 11941333258820146302 1 [M+H]1+ UNKNOWN [MS, MS:1000770, WIFF nativeID format] file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff [MS, MS:1000562, ABI WIFF format,] sample=1 period=1 cycle=663 experiment=3|sample=1 period=1 cycle=664 experiment=4|sample=1 period=1 cycle=665 experiment=6 UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=663 experiment=3_0|UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=664 experiment=4_0|UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=665 experiment=6_0 +0_5585685219772452827-657005--4--Guthion 0 318.013 47593.1 431.866 318.013 5585685219772452827 C10H12N3O3PS2 1 [M+H]1+ Guthion [MS, MS:1000770, WIFF nativeID format] file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff [MS, MS:1000562, ABI WIFF format,] sample=1 period=1 cycle=657 experiment=5|sample=1 period=1 cycle=658 experiment=6|sample=1 period=1 cycle=659 experiment=7 Guthion_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=657 experiment=5_0|Guthion_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=658 experiment=6_0|Guthion_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=659 experiment=7_0 +0_7960809195137357048-676005--122--Fenamiphos 0 326.094 187407 447.1 326.094 7960809195137357048 C13H22NO3PS 1 [M+Na]1+ Fenamiphos [MS, MS:1000770, WIFF nativeID format] file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff [MS, MS:1000562, ABI WIFF format,] sample=1 period=1 cycle=676 experiment=5 Fenamiphos_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=676 experiment=5_0 +0_1072340199693961134-657006--5--Guthion 0 339.995 202334 431.866 339.995 1072340199693961134 C10H12N3O3PS2 1 [M+Na]1+ Guthion [MS, MS:1000770, WIFF nativeID format] file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff [MS, MS:1000562, ABI WIFF format,] sample=1 period=1 cycle=657 experiment=6|sample=1 period=1 cycle=658 experiment=7|sample=1 period=1 cycle=659 experiment=8 Guthion_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=657 experiment=6_0|Guthion_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=658 experiment=7_0|Guthion_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=659 experiment=8_0 +0_15110953643123771443-674006--105--UNKNOWN 0 349.17 78624.1 447.1 349.17 15110953643123771443 1 [M+Na]1+ UNKNOWN [MS, MS:1000770, WIFF nativeID format] file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff [MS, MS:1000562, ABI WIFF format,] sample=1 period=1 cycle=674 experiment=6|sample=1 period=1 cycle=675 experiment=6|sample=1 period=1 cycle=676 experiment=6 UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=674 experiment=6_0|UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=675 experiment=6_0|UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=676 experiment=6_0 +0_3034601138604610277-657008--7--UNKNOWN 0 363.071 38114.6 431.866 363.071 3034601138604610277 1 [M+Na]1+ UNKNOWN [MS, MS:1000770, WIFF nativeID format] file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff [MS, MS:1000562, ABI WIFF format,] sample=1 period=1 cycle=657 experiment=8|sample=1 period=1 cycle=658 experiment=9|sample=1 period=1 cycle=659 experiment=9 UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=657 experiment=8_0|UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=658 experiment=9_0|UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=659 experiment=9_0 +0_16459302675638519057-664006--60--UNKNOWN 0 372.065 23380.9 437.423 372.065 16459302675638519057 1 [M+Na]1+ UNKNOWN [MS, MS:1000770, WIFF nativeID format] file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff [MS, MS:1000562, ABI WIFF format,] sample=1 period=1 cycle=664 experiment=6 UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=664 experiment=6_0 +0_12237362536485158566-690002--189--Fluopicolide 0 382.974 1.56656e+06 461.815 382.974 12237362536485158566 C14H8Cl3F3N2O 1 [M+H]1+ Fluopicolide [MS, MS:1000770, WIFF nativeID format] file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff [MS, MS:1000562, ABI WIFF format,] sample=1 period=1 cycle=690 experiment=2|sample=1 period=1 cycle=691 experiment=5 Fluopicolide_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=690 experiment=2_0|Fluopicolide_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=691 experiment=5_0 diff --git a/src/tests/topp/SiriusExport_3_output.ms b/src/tests/topp/SiriusExport_3_output.ms new file mode 100644 index 00000000000..c6963013f33 --- /dev/null +++ b/src/tests/topp/SiriusExport_3_output.ms @@ -0,0 +1,38149 @@ +>compound 0_13442776035824190606-2167005--6--UNKNOWN +>parentmass 292.121752827683 +>charge 1 +>rt 410.145000000000 +##fmz 292.121752827682997 +##fid 13442776035824190606 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://.PestMix1pos.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +292.121752827683 5446638.265330639668 +293.124863183735 668010.447580512962 +294.119155604245 1663109.077192980098 +295.121610199554 257162.167168799991 +296.123527063003 27792.421876255601 +>ms1peaks +292.121302384156 9184.000000000000 +293.125436491662 1483.000000000000 +294.118709098161 3537.000000000000 +295.120851794460 581.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=2167 experiment=5 +##m_id UNKNOWN_PestMix1pos.wiff_sample=1 period=1 cycle=2167 experiment=5_0 +##scan 6 +##specref ms_run[1]:sample=1 period=1 cycle=2167 experiment=5 +292.120347921437 2157.000000000000 +292.230622503656 42.000000000000 +>ms1peaks +291.227611742001 5933.231933593750 +292.121970956018 952091.000000000000 +292.600784083412 1813.373779296875 +292.625391617310 1942.974365234375 +292.870614918734 3206.520751953125 +292.914698248922 4069.153320312500 +292.955993808867 5482.062988281250 +292.984468322198 5034.270019531250 +293.062510122155 1878.177612304688 +293.124856605889 76833.851562500000 +293.771688569890 454.000000000000 +293.794423476364 480.945709228516 +293.873798821536 601.242553710938 +293.919183187270 791.000000000000 +293.943529342654 889.199768066406 +294.118995108565 283102.250000000000 +294.690059061292 457.266967773438 +294.731076708942 503.000000000000 +294.765963646879 489.742889404297 +294.828056898526 550.124084472656 +294.890338745415 1116.290039062500 +294.948156474825 1388.386596679688 +294.996547979613 619.612548828125 +295.048777885623 630.000000000000 +295.121689096228 47065.230468750000 +295.400753145264 535.468078613281 +295.413812857998 453.452697753906 +295.512627053283 516.000000000000 +295.736814845120 517.600585937500 +295.856878594116 760.000000000000 +295.890459222359 744.369750976562 +295.916184144875 494.160980224609 +296.080119484585 1101.742187500000 +296.124715732580 4807.255859375000 +296.194281256997 519.150390625000 +296.485887543491 464.244689941406 +296.525951846672 471.541839599609 +296.814412450300 484.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=2175 experiment=4 +##m_id UNKNOWN_PestMix1pos.wiff_sample=1 period=1 cycle=2175 experiment=4_0 +##scan 18 +##specref ms_run[1]:sample=1 period=1 cycle=2175 experiment=4 +291.217137556058 714.000000000000 +292.122914779150 111767.000000000000 +292.503362735226 210.000000000000 +292.526015236751 210.000000000000 +292.840345918310 294.000000000000 +>ms1peaks +291.224220910568 6368.000000000000 +292.121614764237 974277.000000000000 +292.602400083430 437.000000000000 +292.912719798382 3885.043945312500 +292.949338916803 3612.433349609375 +293.070104763343 497.662689208984 +293.124628909948 144040.453125000000 +293.480552737776 401.000000000000 +293.763605658242 464.869323730469 +293.900755572146 576.034179687500 +293.966231212632 547.000000000000 +294.118681702582 292803.687500000000 +294.379028560083 366.788238525391 +294.411592992305 401.000000000000 +294.544830471138 583.000000000000 +294.574398137986 656.000000000000 +294.670860333942 365.000000000000 +294.703086460653 438.030883789062 +294.778096480686 474.000000000000 +294.855431056283 474.000000000000 +294.872408508893 631.344055175781 +294.896551414956 474.000000000000 +294.960624260299 1232.000000000000 +295.012479277491 692.547851562500 +295.050922931604 662.725646972656 +295.121647146276 46884.218750000000 +295.213960103382 437.000000000000 +295.365395566686 437.000000000000 +295.398882680144 601.965942382812 +295.429816514318 488.949554443359 +295.667908865267 510.000000000000 +295.684356508942 510.000000000000 +295.782122487246 474.000000000000 +295.807928951542 656.000000000000 +295.834023656244 729.000000000000 +295.862201836370 474.000000000000 +296.123058772697 5103.291992187500 +296.181316029469 435.000000000000 +296.304990800985 437.000000000000 +296.473086062009 365.000000000000 +296.674889401153 510.000000000000 +296.691543393358 583.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=2176 experiment=6 +##m_id UNKNOWN_PestMix1pos.wiff_sample=1 period=1 cycle=2176 experiment=6_0 +##scan 20 +##specref ms_run[1]:sample=1 period=1 cycle=2176 experiment=6 +291.222353601227 923.000000000000 +292.122612317949 140626.000000000000 +292.634025560336 210.000000000000 +292.801725449778 210.000000000000 +292.821322616467 252.000000000000 +292.880413812731 294.000000000000 +292.909621144378 336.000000000000 +292.953203258155 546.000000000000 +292.977891955669 420.000000000000 +293.196421777814 210.000000000000 +>compound 0_0-2165004--2--UNKNOWN +>parentmass 292.118520142944 +>charge 1 +>rt 404.455000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://.PestMix1pos.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +292.118520142944 1915.000000000000 +>ms1peaks +292.118520142944 1915.000000000000 +294.117460558153 780.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=2165 experiment=4 +##m_id UNKNOWN_PestMix1pos.wiff_sample=1 period=1 cycle=2165 experiment=4_0 +##scan 2 +##specref ms_run[1]:sample=1 period=1 cycle=2165 experiment=4 +292.121314370419 294.000000000000 +>compound 0_0-2166006--4--UNKNOWN +>parentmass 292.121468920531 +>charge 1 +>rt 404.875000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://.PestMix1pos.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +292.121468920531 5829.000000000000 +>ms1peaks +292.121468920531 5829.000000000000 +293.123073196945 1108.000000000000 +294.116966544654 1439.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=2166 experiment=6 +##m_id UNKNOWN_PestMix1pos.wiff_sample=1 period=1 cycle=2166 experiment=6_0 +##scan 4 +##specref ms_run[1]:sample=1 period=1 cycle=2166 experiment=6 +292.121333456885 798.000000000000 +>compound 0_0-2171003--11--UNKNOWN +>parentmass 296.123099065922 +>charge 1 +>rt 406.816999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://.PestMix1pos.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +296.123099065922 1194.000000000000 +>ms1peaks +291.224349165591 1045.000000000000 +292.122036064513 179902.000000000000 +293.125028313222 29293.646484375000 +294.118845532743 53763.000000000000 +295.120631519007 8426.000000000000 +296.123099065922 1194.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=2171 experiment=3 +##m_id UNKNOWN_PestMix1pos.wiff_sample=1 period=1 cycle=2171 experiment=3_0 +##scan 11 +##specref ms_run[1]:sample=1 period=1 cycle=2171 experiment=3 +296.123852278497 84.000000000000 +296.170279302095 28.000000000000 +>compound 0_0-2172004--13--UNKNOWN +>parentmass 296.123821549630 +>charge 1 +>rt 407.245000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://.PestMix1pos.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +296.123821549630 1828.000000000000 +>ms1peaks +291.228305245532 2281.000000000000 +292.121628844349 353290.562500000000 +292.873209260830 762.116149902344 +292.948657738737 1700.587890625000 +293.124827763224 54737.000000000000 +294.119184999894 112358.921875000000 +295.121889009140 17240.000000000000 +296.123821549630 1828.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=2172 experiment=4 +##m_id UNKNOWN_PestMix1pos.wiff_sample=1 period=1 cycle=2172 experiment=4_0 +##scan 13 +##specref ms_run[1]:sample=1 period=1 cycle=2172 experiment=4 +296.124718247637 252.000000000000 +296.181428565605 42.000000000000 +296.200211990605 42.000000000000 +>compound 0_0-2173002--15--UNKNOWN +>parentmass 296.125008105473 +>charge 1 +>rt 407.655000000000 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://.PestMix1pos.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +296.125008105473 3131.000000000000 +>ms1peaks +291.225311742873 3531.410888671875 +292.121594874632 603490.000000000000 +292.844494240889 895.966491699219 +292.924862933623 3391.752441406250 +292.945749680321 3333.063964843750 +293.061298520115 726.139831542969 +293.075063609419 1551.603393554688 +293.125218605791 78178.000000000000 +294.119362908748 183181.000000000000 +294.941798145972 607.000000000000 +295.122330502481 30299.996093750000 +296.125008105473 3131.000000000000 +296.176985366327 631.191101074219 +>ms2peaks +##n_id sample=1 period=1 cycle=2173 experiment=2 +##m_id UNKNOWN_PestMix1pos.wiff_sample=1 period=1 cycle=2173 experiment=2_0 +##scan 15 +##specref ms_run[1]:sample=1 period=1 cycle=2173 experiment=2 +296.125886082126 602.945556640625 +296.147120140233 714.000000000000 +>compound 0_0-2199003--43--UNKNOWN +>parentmass 295.187072485748 +>charge 1 +>rt 418.393999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://.PestMix1pos.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +295.187072485748 607.000000000000 +>ms1peaks +289.119188720099 383.000000000000 +289.156570999736 314.757629394531 +292.121664618143 12909.000000000000 +293.123482534562 1968.000000000000 +294.118968071226 3679.000000000000 +295.119930960168 607.000000000000 +295.187072485748 607.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=2199 experiment=3 +##m_id UNKNOWN_PestMix1pos.wiff_sample=1 period=1 cycle=2199 experiment=3_0 +##scan 43 +##specref ms_run[1]:sample=1 period=1 cycle=2199 experiment=3 +295.083913845584 42.000000000000 +295.119725048092 42.000000000000 +>compound 0_0-2204006--49--UNKNOWN +>parentmass 290.124002639251 +>charge 1 +>rt 420.444000000000 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://.PestMix1pos.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +290.124002639251 1184.000000000000 +>ms1peaks +289.076977752583 1046.175170898438 +289.120808284958 7624.000000000000 +290.124002639251 1184.000000000000 +291.117882393609 2625.000000000000 +292.121445363191 5817.000000000000 +293.122623314819 1290.000000000000 +293.164141016630 357.384429931641 +294.118060477730 1716.000000000000 +294.163352795438 350.539123535156 +295.026278830448 1267.607299804688 +295.185958723798 337.209289550781 +>ms2peaks +##n_id sample=1 period=1 cycle=2204 experiment=6 +##m_id UNKNOWN_PestMix1pos.wiff_sample=1 period=1 cycle=2204 experiment=6_0 +##scan 49 +##specref ms_run[1]:sample=1 period=1 cycle=2204 experiment=6 +290.106948471714 84.000000000000 +290.125346661415 84.000000000000 +>compound 1_10333458062711546021-664003--57--UNKNOWN +>parentmass 286.179028092823 +>charge 1 +>rt 438.351000000000 +##fmz 286.179028092822705 +##fid 10333458062711546021 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +286.179028092823 67049.219010244240 +>ms1peaks +52.005453969998 2626.723144531250 +53.013597312446 12728.553710937500 +53.850414409821 1250.853881835938 +54.009329210909 348334.937500000000 +55.006062122532 5392.668457031250 +55.011342055713 6236.111816406250 +55.054021350211 1869.273437500000 +55.934286374440 6315.563964843750 +56.941831842622 2597.011962890625 +59.049520241177 68985.562500000000 +60.044238693811 9277.411132812500 +60.051306561624 7152.463378906250 +61.039638104919 1556.488891601562 +63.997844257749 4543.386718750000 +64.004868648059 4706.500976562500 +68.011536869512 28038.335937500000 +68.993647464953 12595.196289062500 +69.044515645070 12865.375976562500 +72.936647087938 2567.000000000000 +73.064121365067 1769.925781250000 +76.486182586418 2785.377929687500 +79.020888115541 15628.571289062500 +80.049060365715 12153.072265625000 +81.936978966817 8495.000000000000 +82.996309100211 9038.668945312500 +87.043494139885 1178.190917968750 +87.054319172330 1546.054443359375 +89.506956806916 1559.000000000000 +90.488703688296 1817.000000000000 +91.053777911785 1528.745483398438 +95.952341177386 2260.741210937500 +97.968210936145 7024.000000000000 +98.983399057372 5034.887695312500 +100.075304888654 1243.000000000000 +102.090957068479 1525.000000000000 +109.943109012828 1320.928710937500 +113.962992754591 2498.000000000000 +114.090728474154 10512.617187500000 +118.085470631803 6601.458007812500 +122.095607083049 3712.721679687500 +122.962888411087 10607.500976562500 +123.091509718457 1686.104614257812 +132.043186178558 2464.123291015625 +136.020620151667 1645.000000000000 +140.067164786600 1314.000000000000 +141.089863109573 1272.675292968750 +141.111890586678 1562.626220703125 +141.957557081223 15988.394531250000 +147.090173997086 2431.000000000000 +149.022336160605 4523.349121093750 +149.043636850784 1223.066040039062 +151.095789721496 2301.788818359375 +151.111113393103 2538.584228515625 +155.069111807472 1549.374267578125 +155.105759874764 1515.979370117188 +155.973112787773 4487.000000000000 +158.153378740203 12758.589843750000 +159.156448385204 1328.413452148438 +161.095542076597 1436.000000000000 +164.142018358830 1273.736083984375 +170.095175686942 2849.232421875000 +171.138207188731 2555.000000000000 +172.133475837479 1266.057739257812 +173.079557051502 6304.225097656250 +174.991247355031 15122.000000000000 +176.988586706089 4881.000000000000 +178.158242399689 1403.950073242188 +179.105412805866 3814.716552734375 +182.960601426951 1842.280639648438 +182.982966835265 1410.150146484375 +186.220883153188 1802.000000000000 +194.115976643286 3119.000000000000 +195.102214753451 1498.057617187500 +195.120897037407 1858.993774414062 +198.184171488074 2116.000000000000 +217.106332787106 21497.787109375000 +218.109128733639 2613.000000000000 +219.095226750847 2102.304443359375 +224.127626531368 1175.000000000000 +228.195317705032 1672.133422851562 +239.088374855672 3685.309814453125 +242.283185310790 1468.000000000000 +246.860952738993 3049.000000000000 +249.183720846634 1286.295654296875 +250.177140311956 1205.756591796875 +250.999832075601 32001.000000000000 +252.002106420824 2157.000000000000 +252.996924958467 20204.000000000000 +253.999797691244 1411.000000000000 +254.993496356863 3401.000000000000 +279.092906188567 2036.000000000000 +286.179288894577 8400.000000000000 +287.181689656808 1994.078002929688 +287.217541902151 1349.643310546875 +291.235948805059 1485.048828125000 +292.122314491142 439122.000000000000 +292.983059595137 1438.034667968750 +293.122671084767 47692.136718750000 +294.118451514065 133013.562500000000 +295.120454982262 22502.744140625000 +296.122607984390 2357.932373046875 +313.039105768504 33266.000000000000 +314.042149111497 5168.000000000000 +315.036268416268 21007.242187500000 +316.038403197349 3302.000000000000 +317.033014483539 3862.000000000000 +321.227057921370 1381.000000000000 +327.007877449001 47611.566406250000 +328.011115186819 4973.000000000000 +329.004794999861 46547.000000000000 +330.008005603352 4737.000000000000 +331.001868162022 15538.000000000000 +332.004876313775 1480.000000000000 +333.003299668985 2744.071777343750 +335.018886982057 3585.000000000000 +337.016084576435 2205.000000000000 +339.994390073568 1754.000000000000 +348.988792788967 6573.000000000000 +350.986916484867 6721.000000000000 +352.984603835989 2083.000000000000 +354.041095041215 1340.092163085938 +356.039619641072 1269.081298828125 +372.065048824891 6209.586914062500 +374.062468004687 6086.000000000000 +376.059148229590 1968.000000000000 +392.045330940334 2193.000000000000 +395.067648242738 2230.000000000000 +397.066134815272 1581.000000000000 +426.930515343123 1306.000000000000 +426.976513054277 1169.811889648438 +428.927149366436 1298.000000000000 +430.886640350010 1403.000000000000 +445.118913900930 2269.000000000000 +491.969645058197 1379.000000000000 +505.851389825487 3789.000000000000 +522.878326149515 1800.000000000000 +536.163456762234 4427.000000000000 +537.165324404735 2206.000000000000 +538.161529742511 1590.843383789062 +544.337468455008 1195.000000000000 +546.914116937371 2559.000000000000 +547.911876414748 1196.000000000000 +610.180850219782 2080.000000000000 +611.182328195703 1214.000000000000 +645.154717656738 8484.000000000000 +646.158700037782 2782.000000000000 +647.152980374288 9942.000000000000 +648.155555240546 3294.000000000000 +649.150621117204 4284.000000000000 +650.152709955400 1200.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=664 experiment=3 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=664 experiment=3_0 +##scan 57 +##specref ms_run[1]:sample=1 period=1 cycle=664 experiment=3 +51.938122634847 13.000000000000 +56.049507786248 45.000000000000 +98.060380513671 369.000000000000 +123.048287156790 30.000000000000 +126.875862655178 13.000000000000 +138.097784854251 60.000000000000 +140.072452948764 270.000000000000 +170.852966884469 45.000000000000 +170.866613065551 45.000000000000 +184.123371965665 13.000000000000 +269.157141111623 30.000000000000 +269.174210692919 30.000000000000 +286.179738267349 60.000000000000 +>ms1peaks +52.005349834334 2531.576904296875 +52.017818445883 1415.950317382812 +53.013312992683 14436.391601562500 +53.850256514170 1311.865234375000 +54.009237809188 346906.656250000000 +55.005700977113 5493.924316406250 +55.011578128004 6377.684570312500 +55.053978874167 1984.071533203125 +55.933999133980 6168.766601562500 +56.049511919157 2977.762207031250 +56.942056567735 2284.776855468750 +59.049350876787 53629.328125000000 +60.044322757483 8600.164062500000 +61.039156449004 1644.316650390625 +63.997508188870 3394.982910156250 +64.005057234464 4259.679687500000 +67.029035810216 2293.846923828125 +68.011280581573 27100.835937500000 +68.993371510951 13738.876953125000 +69.007497995886 1441.296142578125 +69.044403084909 13070.419921875000 +72.936195718172 2643.000000000000 +73.063931102643 1919.621459960938 +76.486167754556 1986.000000000000 +79.020619039319 14111.753906250000 +80.048823728166 11369.215820312500 +81.936905757296 8703.630859375000 +82.996214707689 8986.651367187500 +87.054271044459 1595.093627929688 +89.505822079267 1760.000000000000 +90.488874903389 1822.018798828125 +91.053163445835 1300.610839843750 +95.952331345900 2696.000000000000 +97.967781752031 7299.724609375000 +98.982987677469 4854.522460937500 +102.090290867080 1906.000000000000 +109.942394870381 1583.000000000000 +113.962086127466 2074.000000000000 +114.090395399108 10058.849609375000 +118.084999014032 6547.758789062500 +122.095088721755 3711.124511718750 +122.962603857586 10794.167968750000 +123.090649527845 1803.942016601562 +123.961855384374 1203.000000000000 +130.157739418261 1256.000000000000 +136.020039379796 2083.000000000000 +136.110849290905 1530.000000000000 +141.089744053815 1237.175415039062 +141.111592847426 1371.696777343750 +141.957218960001 15367.227539062500 +147.090011968413 2463.000000000000 +149.021828990169 4784.995605468750 +149.041466762922 2472.640625000000 +151.095944798794 2940.508300781250 +151.109341918543 3165.085693359375 +155.069344508958 1582.135864257812 +155.105135879836 1693.281616210938 +155.972287468254 4554.340332031250 +158.152759351824 13585.107421875000 +159.156196357366 1465.921386718750 +159.967851357038 1225.276977539062 +161.095405694183 1641.000000000000 +164.141615127090 1478.434814453125 +170.094609622000 2457.688476562500 +171.141467030026 1915.000000000000 +173.079379445344 6273.838867187500 +174.990844938283 15688.865234375000 +176.987639364551 5360.525878906250 +177.052467267277 1475.000000000000 +178.157540067017 1547.000000000000 +179.105091602082 3287.998779296875 +182.959873591311 1986.817871093750 +186.220399692631 1658.000000000000 +194.115345005627 3116.000000000000 +195.120929712058 1968.662841796875 +198.184276303297 2015.000000000000 +217.105977610050 20924.755859375000 +218.108820705353 2495.792236328125 +219.094022022929 1823.679443359375 +228.194066029155 1666.038696289062 +239.087872978056 3722.000000000000 +242.282423819470 1362.000000000000 +246.860857987495 3450.000000000000 +249.182928857496 1266.000000000000 +250.177066939258 1504.335083007812 +250.999117678898 32221.000000000000 +252.001781095835 2314.000000000000 +252.995932699016 21462.000000000000 +253.998953923887 1371.000000000000 +254.993033756740 3403.000000000000 +267.170032496706 1345.000000000000 +279.092268016151 1928.000000000000 +281.050459546987 1487.000000000000 +286.178655880094 23309.207031250000 +287.182133845414 5196.471191406250 +291.235317712341 1559.882568359375 +292.121093988068 399090.000000000000 +292.982663908460 1255.682128906250 +293.023857907805 1542.287597656250 +293.121921829592 49425.335937500000 +294.117639052994 123150.929687500000 +295.119583284786 21162.347656250000 +296.122453171108 2024.725219726562 +304.297977116061 1205.098876953125 +311.183844763032 2282.703613281250 +313.038450493324 32210.287109375000 +314.041319280533 5035.671875000000 +315.035461346507 21071.000000000000 +316.038196392607 3544.000000000000 +317.032926032719 3656.000000000000 +327.007662782866 46713.000000000000 +328.009753952920 4731.131347656250 +329.004141727930 46254.000000000000 +330.006788270317 4440.000000000000 +331.000792355787 15238.000000000000 +332.003743171067 1635.000000000000 +333.001048030235 2840.547363281250 +335.018066518429 3857.000000000000 +337.016490283319 2257.000000000000 +348.988206068721 7382.000000000000 +350.985085465325 7259.000000000000 +352.983081816715 2462.000000000000 +354.041092701990 1411.000000000000 +358.095358680256 1344.000000000000 +372.064528986026 6467.495117187500 +374.061053722203 5695.000000000000 +376.059656060961 2211.000000000000 +392.044067632616 2143.000000000000 +395.066337210837 2288.000000000000 +397.065352026340 1841.000000000000 +428.895605409648 1348.684326171875 +428.927859796300 1412.000000000000 +445.117454275133 2106.000000000000 +491.967681975778 1277.000000000000 +505.850908455770 4139.747558593750 +522.876740252438 1800.000000000000 +536.161867901498 4607.000000000000 +537.162257475039 2465.000000000000 +538.160527239899 1695.000000000000 +544.336437856300 1324.164184570312 +546.911854407175 2375.000000000000 +547.911013918907 1216.000000000000 +610.179211400596 2165.000000000000 +611.181197363117 1284.000000000000 +645.153892760480 7294.000000000000 +646.156182811867 3135.000000000000 +647.151735773867 8987.490234375000 +648.154489817139 3184.000000000000 +649.150180493474 3821.591308593750 +650.151352616891 1194.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=665 experiment=5 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=665 experiment=5_0 +##scan 68 +##specref ms_run[1]:sample=1 period=1 cycle=665 experiment=5 +51.937914215879 30.000000000000 +53.038832825255 30.000000000000 +53.045206203438 30.000000000000 +56.049918656323 60.000000000000 +70.039929361435 30.000000000000 +79.056769706510 30.000000000000 +79.063803665589 30.000000000000 +81.036251104807 30.000000000000 +95.045081818956 30.000000000000 +98.059564237847 929.000000000000 +133.104347649114 30.000000000000 +138.093679048566 30.000000000000 +140.069724401264 524.000000000000 +166.083820296277 60.000000000000 +170.866129800466 45.000000000000 +179.086353477601 30.000000000000 +269.148315487256 30.000000000000 +286.177025513197 135.000000000000 +>ms1peaks +52.005546368410 2670.973876953125 +53.013447667176 13442.696289062500 +53.850235753676 1356.916015625000 +54.009375548499 346132.000000000000 +55.006052234178 5908.220703125000 +55.011327139628 6618.665039062500 +55.054273818991 1724.201538085938 +55.934183438349 6089.195312500000 +56.942085448242 2338.522949218750 +59.049497543886 62260.195312500000 +60.044496762287 9351.735351562500 +61.039589911785 1691.005004882812 +63.997480072658 3643.092529296875 +64.005073510260 4229.738281250000 +68.011506505752 28323.269531250000 +68.993585810696 12464.445312500000 +69.044640852940 13649.212890625000 +72.044186043856 1148.000000000000 +72.936480336335 2359.262451171875 +73.064260321862 1642.103027343750 +76.486297311909 2289.460693359375 +79.020766274604 15897.382812500000 +80.048988150704 12209.904296875000 +81.936792921049 8371.669921875000 +82.996095650262 8043.113281250000 +87.043834653730 1276.883422851562 +87.054214175865 1482.598144531250 +89.506458664277 1777.830322265625 +90.489196475802 1663.000000000000 +91.053755235930 1541.526000976562 +95.952402869893 2400.645751953125 +97.967886882016 8001.987304687500 +98.983532889025 3424.810302734375 +100.074677767759 1304.000000000000 +102.090242730316 1329.000000000000 +109.942679982849 1398.000000000000 +113.962690768860 1941.000000000000 +114.090409984344 11174.942382812500 +118.085207229958 6292.000000000000 +122.095068185146 3153.000000000000 +122.962957192644 10933.000000000000 +123.089979550376 1737.604248046875 +123.962216545241 1382.000000000000 +130.157851054625 1368.000000000000 +136.020636426938 1627.062988281250 +136.111496039851 1223.000000000000 +140.067223364828 1192.000000000000 +141.090663513328 1291.584838867188 +141.111904002369 1407.591674804688 +141.935850183021 1558.355590820312 +141.957535804851 16602.316406250000 +147.090073371469 2918.000000000000 +149.022242157340 5058.011230468750 +149.041140009202 2281.293701171875 +151.094511933196 2771.192138671875 +151.109513517514 3017.586181640625 +155.069293446605 1572.566406250000 +155.105166988042 1682.863525390625 +155.972752865047 4956.000000000000 +158.095291106412 1175.110473632812 +158.152897422617 13347.454101562500 +159.140146486584 1221.760620117188 +159.156626899127 1511.809692382812 +159.968130743445 1344.000000000000 +161.095301376904 1939.000000000000 +164.142147914813 1352.608276367188 +170.095211316489 2555.052490234375 +171.142065868167 1688.747070312500 +173.079666684779 7435.070800781250 +174.990876331450 12561.875976562500 +176.988228889313 4082.000000000000 +178.157451442432 1671.789062500000 +179.082574741649 1161.343872070312 +179.105464745461 2033.503295898438 +182.960688200025 1872.628540039062 +186.220236378822 1627.000000000000 +194.115587597029 3414.431152343750 +195.102521936100 1940.187622070312 +195.121153964710 2419.525878906250 +198.184119642186 2274.000000000000 +217.106221715984 24680.257812500000 +218.109389146592 2768.000000000000 +219.094928896725 1923.877807617188 +224.125737788530 1308.718017578125 +228.194389849522 1662.646850585938 +239.088555805042 4654.193847656250 +242.282289579657 1282.000000000000 +246.861651699246 3614.000000000000 +249.183697918794 1626.163208007812 +250.176302167701 1384.000000000000 +250.999159013320 25559.167968750000 +252.002213377038 1651.423461914062 +252.996445325154 16054.000000000000 +253.999379477884 1131.000000000000 +254.993447206468 2772.603271484375 +267.171432346745 1267.000000000000 +279.091928399145 1791.000000000000 +281.049474584863 1227.866455078125 +286.179096453069 25739.439453125000 +287.182281594319 5585.333496093750 +292.120716590068 202371.000000000000 +293.123166487022 34628.820312500000 +294.117931210581 66532.000000000000 +295.120340194058 11307.223632812500 +296.123175528233 1139.000000000000 +304.298333326187 1345.000000000000 +311.184016131023 2112.000000000000 +313.038042743243 19603.214843750000 +314.041307564911 3224.000000000000 +315.035568487358 12179.000000000000 +316.038573054615 2028.000000000000 +317.032999093534 2260.000000000000 +327.007882393116 37742.558593750000 +328.009892511372 3601.000000000000 +329.004296620889 35070.000000000000 +330.007896864877 3743.000000000000 +331.001397377526 12099.000000000000 +332.004304811118 1147.000000000000 +333.002267631798 2076.000000000000 +335.017770650220 2313.000000000000 +337.017035297896 1211.000000000000 +348.988715159870 5698.000000000000 +350.985988216636 6014.000000000000 +352.982227447720 1887.000000000000 +371.314800126809 1304.000000000000 +372.064251479626 5075.027343750000 +374.061938971072 4867.000000000000 +376.058486261926 1592.000000000000 +392.043742286078 1216.000000000000 +395.068502390905 1429.000000000000 +397.065868843467 1348.000000000000 +428.893525922553 1400.224853515625 +428.927664629947 1466.814208984375 +430.886759376928 1323.849609375000 +445.118824286635 2200.000000000000 +505.851799123756 3631.000000000000 +522.879142647299 1843.000000000000 +529.887839543416 1136.832397460938 +536.163692934414 5222.000000000000 +537.164127390652 2657.000000000000 +538.162454710439 1796.178100585938 +544.339301230729 1413.667114257812 +546.912450246131 2510.000000000000 +610.181542562630 2042.000000000000 +611.181371312242 1400.000000000000 +645.154552081192 5333.000000000000 +646.158693354263 1778.000000000000 +647.153270969225 6082.129394531250 +648.155656988395 2289.000000000000 +649.150637720064 2324.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=666 experiment=3 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=666 experiment=3_0 +##scan 75 +##specref ms_run[1]:sample=1 period=1 cycle=666 experiment=3 +55.054505732533 25.000000000000 +55.060116779446 15.000000000000 +56.048448506258 20.000000000000 +85.028411205925 35.000000000000 +98.059278982655 958.000000000000 +105.067129758980 10.000000000000 +123.041271657474 20.000000000000 +123.051095128888 20.000000000000 +126.876822431871 10.000000000000 +133.100243079469 59.000000000000 +138.088467901690 35.000000000000 +140.069590830035 561.000000000000 +145.101270946048 20.000000000000 +149.056693160781 15.000000000000 +166.087482254599 20.000000000000 +286.178204102612 105.000000000000 +286.213277531220 60.716449737549 +>compound 1_5053681185761206615-676004--121--Myclobutanil +>parentmass 289.122615478838 +>ionization [M+H]1+ +>formula C15H17ClN4 +>charge 1 +>rt 448.027999999980 +##fmz 289.122615478837758 +##fid 5053681185761206615 +##des Myclobutanil +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +289.122615478838 1356806.543650601991 +290.123323995928 168319.538694710791 +291.117964046924 433903.252139170072 +292.120260799670 99781.634539092542 +>ms1peaks +52.005351813457 2501.610107421875 +53.013412581284 13134.520507812500 +53.850226225992 1302.909057617188 +54.009140063564 338983.656250000000 +55.006042248338 6435.412597656250 +55.011148435189 6609.394042968750 +55.054172395822 1772.104248046875 +55.934029229957 5757.919921875000 +56.941868288709 2705.908203125000 +59.049392394217 65787.757812500000 +60.044197396550 9389.001953125000 +61.039698624921 1629.770751953125 +63.997582420249 4596.096191406250 +64.004915539546 4860.728515625000 +68.011405901665 27484.292968750000 +68.993238795734 11816.172851562500 +69.044514210085 12151.762695312500 +72.936346245282 1770.000000000000 +73.063844648998 1632.810180664062 +76.485866327556 2207.000000000000 +79.020638014668 15456.159179687500 +80.048700307132 11716.706054687500 +81.936658440041 8339.158203125000 +82.995849176432 8191.000000000000 +87.054215388379 1432.329345703125 +89.505806636870 1376.000000000000 +90.488666027165 1798.000000000000 +95.952211902793 2472.000000000000 +97.967974119285 6640.000000000000 +100.074558827800 1418.000000000000 +102.090063528932 1768.000000000000 +109.942148206295 1646.000000000000 +113.962810920920 1728.000976562500 +114.090265101894 9843.087890625000 +118.085166173822 5466.146972656250 +122.095082275611 3591.515380859375 +122.962671452755 9919.435546875000 +123.090603383338 1818.105346679688 +130.157985838236 1433.000000000000 +136.020144210415 1305.642211914062 +141.111768954054 1381.647338867188 +141.957291332652 13999.958984375000 +147.090365251433 2315.564941406250 +149.021998403294 4169.404296875000 +151.095653127576 2632.192382812500 +151.109600618565 2638.503906250000 +155.069049191990 1400.588378906250 +155.105221715370 1306.244873046875 +155.972774632456 3955.750244140625 +158.152847157321 10190.631835937500 +161.094883274868 1469.000000000000 +164.993233307885 1413.000000000000 +170.094756804200 2692.873779296875 +173.079096183490 5464.607421875000 +174.990754641374 1338.000000000000 +175.120920396226 1335.489135742188 +178.157288006504 1567.557739257812 +179.104881581157 1856.000000000000 +182.960071822982 1596.667236328125 +186.016812097735 3128.000000000000 +194.115183195725 3037.019042968750 +195.105676043577 1846.959228515625 +195.121034909827 2138.534667968750 +198.183715433637 1614.000000000000 +201.983396783946 6476.000000000000 +217.007534943089 16000.083984375000 +217.105603079000 12722.193359375000 +218.010461830348 1723.000000000000 +218.108916975941 1918.000000000000 +219.094207015885 1394.000000000000 +234.033666185649 17919.000000000000 +235.036061869219 1699.000000000000 +239.087710708037 2715.000000000000 +245.038087259231 3705.000000000000 +246.860587751512 3017.000000000000 +250.998652800198 2461.000000000000 +252.996040050118 1751.000000000000 +262.065226573716 31878.271484375000 +263.067812997194 3540.000000000000 +264.062744585962 1732.000000000000 +276.080875651007 47441.000000000000 +277.083729023421 6202.904296875000 +278.078049070253 2909.805664062500 +279.092264164105 2269.000000000000 +281.049607531965 1759.000000000000 +284.163709253010 5971.317382812500 +285.167422523505 1450.937500000000 +289.120547785899 45105.261718750000 +290.122834000335 8899.000000000000 +291.118148964330 16223.000000000000 +292.119468760172 3916.748291015625 +303.104211105075 4272.900878906250 +303.190626643079 3701.817626953125 +304.121038021889 1154982.000000000000 +304.680120827865 1361.469604492188 +304.720450396369 1578.193115234375 +304.756696628278 1464.135742187500 +304.826755934771 1415.802856445312 +304.888295222133 4211.749023437500 +304.975939340234 6444.747070312500 +305.112954471951 109660.976562500000 +306.110248734555 72833.000000000000 +307.111946842557 10169.579101562500 +307.247397220322 1757.839477539062 +310.120212483100 5088.000000000000 +320.107070842572 7286.000000000000 +321.109817317563 1634.396606445312 +321.134008500327 1645.504272460938 +326.094135509242 51581.214843750000 +327.006663634739 3305.288085937500 +327.096918826684 8025.063964843750 +328.090879363560 3401.237060546875 +329.002848029289 3721.000000000000 +330.204815446188 11820.952148437500 +331.208232327135 2889.000000000000 +342.067980362905 3189.395019531250 +349.169296376205 25098.000000000000 +350.172883605486 4323.000000000000 +351.167291455015 1724.000000000000 +372.149200119315 2817.477050781250 +404.036004100360 11013.000000000000 +405.038241871311 2224.679687500000 +424.359699824875 1469.000000000000 +445.117347283461 1962.204711914062 +500.274802921042 11554.163085937500 +501.277725760601 3400.000000000000 +502.286539956580 1910.000000000000 +505.850895564320 2188.000000000000 +536.162361057972 4668.000000000000 +537.163239801382 2428.000000000000 +538.161608472883 1869.000000000000 +544.336387601713 1598.000000000000 +546.911505452596 1493.000000000000 +549.965979448424 1640.000000000000 +592.225456903764 1675.000000000000 +607.216655018496 74091.000000000000 +608.219193446659 23449.000000000000 +609.215852555200 11438.528320312500 +610.208425679746 4454.000000000000 +611.188234775837 1805.798706054688 +612.220726308427 4082.000000000000 +613.224505418990 34075.000000000000 +614.227906702716 11171.000000000000 +615.225014693998 5343.000000000000 +623.210784148654 2510.000000000000 +629.198405169302 68640.000000000000 +630.201595235063 21340.328125000000 +631.198284234777 10581.000000000000 +632.198298853566 2483.000000000000 +707.140261218123 1384.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=676 experiment=4 +##m_id Myclobutanil_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=676 experiment=4_0 +##scan 121 +##specref ms_run[1]:sample=1 period=1 cycle=676 experiment=4 +70.039827273652 5131.529296875000 +82.041077772907 30.000000000000 +82.066941721068 30.000000000000 +83.048162364624 30.000000000000 +89.038123713717 30.000000000000 +98.998128961124 45.000000000000 +99.005937159691 45.000000000000 +116.057773265737 45.000000000000 +116.068964884923 45.000000000000 +125.014210234006 2627.000000000000 +128.869373457499 30.000000000000 +129.050864049931 30.000000000000 +129.066487998016 43.279674530029 +130.062932087251 75.000000000000 +130.074324678654 75.000000000000 +131.069149811718 90.000000000000 +137.012353655287 30.000000000000 +143.074736350629 45.000000000000 +143.085702367776 45.000000000000 +149.013720936376 75.000000000000 +150.009016679015 90.000000000000 +151.029635761105 960.000000000000 +153.071034687141 30.000000000000 +164.027845684388 225.000000000000 +166.040731347006 75.000000000000 +167.084665955303 45.000000000000 +168.094844704597 30.000000000000 +173.861021388832 75.000000000000 +178.040593736165 180.000000000000 +191.049915677020 45.000000000000 +203.057899363272 45.000000000000 +220.088072925820 120.000000000000 +289.119266976743 135.000000000000 +>ms1peaks +52.005397076818 2734.410888671875 +52.018107045505 1336.588989257812 +53.013261826329 14264.303710937500 +54.009079203842 328540.562500000000 +55.005732946798 6038.434082031250 +55.011210209049 5773.483398437500 +55.054089450492 1883.920532226562 +55.933933351350 5941.799316406250 +56.049311183158 2529.910644531250 +56.941559341288 2177.731445312500 +59.049288422008 55833.332031250000 +60.044400478994 9188.863281250000 +61.039483771618 1336.615844726562 +63.997769089290 4226.595214843750 +64.004652574785 4312.662109375000 +67.028420902367 1685.132324218750 +68.011303574981 26639.857421875000 +68.993400384347 11132.456054687500 +69.044245603619 12842.139648437500 +72.936451870693 2092.438964843750 +73.064343001052 2004.000000000000 +76.485626827097 1932.002563476562 +79.020705537221 15479.782226562500 +80.048746552992 12934.649414062500 +81.936560826315 7849.174804687500 +82.996236710322 7697.570312500000 +87.043649221397 1392.278564453125 +87.054161695388 1495.958618164062 +89.506032483299 1554.000000000000 +90.488774891048 1551.744018554688 +91.052857733317 1701.434936523438 +95.951953010697 2094.000000000000 +97.967766546756 6595.530273437500 +109.942695624537 1327.000000000000 +113.961956344849 1877.000000000000 +114.090202311915 11113.386718750000 +118.085079269697 5461.000000000000 +122.095332793077 3096.000000000000 +122.962788239519 9551.916015625000 +123.089923877343 1592.000000000000 +130.158267685481 1374.000000000000 +136.020500147191 1906.429687500000 +141.089705751127 1398.031372070312 +141.111419699029 1374.918823242188 +141.935031405798 2215.528808593750 +141.957114961469 13636.359375000000 +147.090410388658 2596.000000000000 +149.021734118264 3900.000000000000 +149.042225044400 1717.679077148438 +151.095530836015 2392.175048828125 +151.109345923165 2675.036376953125 +155.069217138005 1392.010375976562 +155.972851416164 3798.715576171875 +158.152680730278 10054.000000000000 +161.095473046681 1550.000000000000 +164.142407569715 1467.709594726562 +170.094842381476 2189.805175781250 +173.079740417554 5427.904296875000 +178.157986956425 1455.000000000000 +179.105560744514 1912.301391601562 +182.960698176280 2000.407470703125 +186.016618789428 1896.000000000000 +186.220115257894 1974.000000000000 +194.116069304698 2583.000000000000 +195.121207806540 1998.303710937500 +198.184395565259 1695.000000000000 +201.982853397927 4906.000000000000 +217.007045852030 12703.000000000000 +217.105649597883 13317.726562500000 +218.109378650956 2113.981933593750 +219.093923189224 1382.400756835938 +234.033511361987 14162.000000000000 +235.036774500644 1342.000000000000 +239.087266669620 2910.000000000000 +242.282551973761 1561.000000000000 +245.038675382516 2489.000000000000 +246.861414583855 2664.000000000000 +250.998716978816 2090.000000000000 +262.065290180852 23768.000000000000 +263.068197519244 2928.000000000000 +276.081065166232 35016.000000000000 +277.084200131760 4404.000000000000 +278.078513434024 2183.000000000000 +279.092009717775 2217.000000000000 +281.049184165914 1367.000000000000 +284.163360412320 3532.000000000000 +289.121282596047 297520.000000000000 +290.123339528492 48851.796875000000 +291.118124278084 95531.000000000000 +292.120251426315 17101.046875000000 +293.123187582260 1858.065429687500 +303.104014775580 2693.449951171875 +303.190353825641 2785.502441406250 +304.119856155362 954170.000000000000 +304.858461688543 1629.946044921875 +304.974182520147 7187.607910156250 +305.110635941863 61549.015625000000 +306.110453215668 55678.074218750000 +307.111643085162 7091.700683593750 +310.120007901196 5493.854003906250 +320.106626078784 4025.000000000000 +326.094632546811 51218.675781250000 +327.006414911949 2851.898193359375 +327.096265128312 8263.424804687500 +328.091406924071 3217.697509765625 +329.003058211528 3429.933349609375 +330.205471949815 7747.000000000000 +331.207754653901 1796.000000000000 +342.067426751640 3267.000000000000 +349.169395269431 21267.000000000000 +350.172679880257 4154.271972656250 +351.168393055602 1571.000000000000 +372.098739562700 1670.002075195312 +372.148644610713 2317.465087890625 +389.045115150928 4473.000000000000 +391.043177396698 1663.000000000000 +404.036316278299 7850.000000000000 +405.039997913270 1931.000000000000 +424.359886173771 1591.000000000000 +445.117801993639 2038.000000000000 +500.275651903375 13340.000000000000 +501.278433801524 4082.000000000000 +502.285907017338 2013.566040039062 +505.851095535466 2281.000000000000 +536.163686089478 4281.000000000000 +537.165279310098 2275.000000000000 +538.161599212928 1446.000000000000 +542.322146689605 2319.235839843750 +544.336681001720 2203.000000000000 +546.913546060949 1480.000000000000 +549.965890540792 1571.727539062500 +592.225728725342 6278.000000000000 +593.229191819800 2109.000000000000 +594.222911870749 2943.707031250000 +607.216789747777 46858.000000000000 +608.219527953593 15482.000000000000 +609.215333724431 7397.000000000000 +610.196851071075 3575.000000000000 +611.184731787601 1662.000000000000 +612.221188935026 2560.000000000000 +613.225065362361 23067.000000000000 +614.226835965539 7388.000000000000 +615.223918934987 3328.000000000000 +623.150116137773 1311.609985351562 +623.211673074874 1404.509399414062 +629.198822367023 49161.000000000000 +630.201975789631 15060.724609375000 +631.197108322666 7602.103027343750 +632.199182275970 1787.000000000000 +707.142781768806 1359.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=677 experiment=5 +##m_id Myclobutanil_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=677 experiment=5_0 +##scan 131 +##specref ms_run[1]:sample=1 period=1 cycle=677 experiment=5 +55.054639659329 105.000000000000 +55.060017620298 92.683341979980 +56.049823597015 30.000000000000 +57.069035771002 30.000000000000 +65.037770341976 30.000000000000 +69.832588352285 45.000000000000 +70.039908024674 17805.998046875000 +70.065015706368 30.000000000000 +70.282524899395 30.000000000000 +70.655650228794 30.000000000000 +70.662690104158 30.000000000000 +70.671685449976 30.000000000000 +70.680369758222 30.000000000000 +71.073891359706 30.000000000000 +80.047874421886 45.000000000000 +81.071842605128 75.000000000000 +82.039226093295 45.000000000000 +82.068250865158 45.000000000000 +83.046676696339 105.000000000000 +89.037423472355 210.000000000000 +90.046133682594 75.000000000000 +95.071588708154 60.000000000000 +98.999966313572 135.000000000000 +103.050438931432 30.000000000000 +115.055166727960 150.000000000000 +116.062522261690 210.000000000000 +122.999173332647 45.000000000000 +124.644051017099 60.000000000000 +124.994916353506 582.297302246094 +125.014371187472 12549.000000000000 +125.378378046066 30.000000000000 +125.390531676820 30.000000000000 +128.046903884584 225.000000000000 +129.055373654720 75.000000000000 +129.064357675053 60.000000000000 +130.062595084552 180.000000000000 +131.075918885468 60.000000000000 +131.089262432243 60.000000000000 +137.014910793247 150.000000000000 +139.029843740401 105.000000000000 +139.049300450331 47.856365203857 +143.072761538143 168.118270874023 +143.089863992705 96.726943969727 +149.013988771638 299.000000000000 +150.010736302066 285.000000000000 +151.030302067974 2704.000000000000 +152.065539738869 30.000000000000 +153.069429336803 150.000000000000 +157.100583676525 45.000000000000 +158.108303191611 30.000000000000 +162.029804830888 30.000000000000 +163.016613439026 30.000000000000 +163.027865460821 30.000000000000 +164.025164845834 997.000000000000 +165.032309967876 230.139968872070 +165.048285398527 267.000000000000 +165.068235719394 71.195930480957 +166.041158820976 300.000000000000 +167.084364530618 120.000000000000 +168.091368874638 180.000000000000 +169.091421834386 45.000000000000 +170.096865844811 90.000000000000 +175.029690206742 135.000000000000 +177.033157268884 30.000000000000 +178.041386504653 543.000000000000 +184.113505217082 75.000000000000 +185.131013174733 45.000000000000 +188.038417071829 30.000000000000 +191.051083107779 30.000000000000 +192.056950923082 75.000000000000 +193.074112586304 150.000000000000 +203.062235811985 251.000000000000 +220.086936658481 240.000000000000 +289.118902482462 413.000000000000 +>ms1peaks +52.005617027968 2841.486083984375 +53.013411271366 13567.883789062500 +54.009125331887 341665.812500000000 +55.005857415052 5900.790039062500 +55.011242701615 6013.953125000000 +55.054093292119 2035.055908203125 +55.933978586076 5672.338378906250 +56.049467099919 1695.441040039062 +56.941782308930 2173.337402343750 +59.049339198083 62878.703125000000 +60.044404001763 9862.614257812500 +61.039435521241 1719.998779296875 +63.997664239141 3450.597167968750 +64.005081384586 3958.136474609375 +68.011443914678 27040.419921875000 +68.993714467215 12520.464843750000 +69.007373071731 1388.107910156250 +69.044312866744 13073.230468750000 +72.936423004110 2084.000000000000 +73.063871079142 1705.000000000000 +76.485830845774 2577.000000000000 +79.020684296263 13782.132812500000 +80.048779775419 11186.997070312500 +81.936674853257 8327.656250000000 +82.996269546702 8040.201660156250 +89.506005127285 1468.281982421875 +90.489095167913 1675.000000000000 +95.951948147015 2520.515136718750 +97.967758472339 6678.626953125000 +102.090788355145 2027.477661132812 +113.962336972098 2071.000000000000 +114.090407289761 9387.833984375000 +118.085129231385 6116.000000000000 +122.095638138110 3776.030761718750 +122.962814871209 10117.168945312500 +123.090715093470 1657.501464843750 +136.020905158615 1394.424438476562 +140.067586645329 1617.045654296875 +141.112054526426 1383.640991210938 +141.935709702620 1911.949829101562 +141.957347460629 13581.779296875000 +147.090339739564 2374.998291015625 +149.022576244489 3994.022705078125 +151.095387083973 2392.279052734375 +151.109293023596 2750.114746093750 +155.069699172730 1332.009765625000 +155.972973853574 3810.662841796875 +158.152617650358 10434.000000000000 +159.154821868580 1369.000000000000 +161.095811541558 1615.000000000000 +170.094786893830 2397.479492187500 +170.116223095026 1563.129394531250 +173.079809386205 6290.747070312500 +178.157999558146 1344.694458007812 +179.105474980732 1898.194946289062 +182.961052201833 2004.073364257812 +186.220351226598 1623.000000000000 +193.157127136625 1493.409179687500 +194.115785614334 2955.000000000000 +195.120763129781 1823.166137695312 +198.184413101409 2214.000000000000 +201.984090601891 2436.000000000000 +217.007207589124 6332.419433593750 +217.105727151964 16770.736328125000 +218.108791440056 2512.000000000000 +234.033555067529 7474.000000000000 +239.087847702990 2936.000000000000 +242.283076836300 1598.000000000000 +245.039110357630 1466.000000000000 +246.860750264023 2469.000000000000 +249.183092518468 1366.967651367188 +250.999128212314 2641.000000000000 +252.995944883436 1376.000000000000 +262.065576474895 11528.000000000000 +263.068397905954 1693.000000000000 +276.080823895982 18533.000000000000 +277.084470217057 2604.243652343750 +279.093578782719 2100.000000000000 +281.049703566301 1340.000000000000 +284.163284328388 2755.000000000000 +288.245192514905 2240.408203125000 +289.124028104405 571675.000000000000 +289.974079344843 2398.387451171875 +290.020293351816 2510.571777343750 +290.123004833560 37005.632812500000 +291.118405903154 172664.062500000000 +292.120440247980 30711.750000000000 +293.123309031099 2511.000000000000 +303.103999271490 1878.000000000000 +303.190085777343 1857.193237304688 +304.115683834546 552400.000000000000 +304.984847835069 1705.556396484375 +305.107785187759 57481.210937500000 +306.110327480189 29213.000000000000 +307.112384326980 4304.000000000000 +310.120384968947 4593.269531250000 +311.105475064582 1824.000000000000 +320.107323506761 2737.000000000000 +326.094810667410 41008.000000000000 +327.006437528123 3347.260986328125 +327.096455636030 6753.961425781250 +328.092188803708 2930.000000000000 +329.003747738298 3355.000000000000 +330.205009985617 6046.367675781250 +331.208059597585 1436.000000000000 +342.068061155461 2814.000000000000 +349.170060952900 13874.000000000000 +350.172621024257 2607.730712890625 +372.148688883306 1405.186401367188 +389.044748240917 7650.000000000000 +390.047497559210 1913.000000000000 +391.042419990568 2801.000000000000 +392.068522384462 2797.000000000000 +394.066194691334 1609.439208984375 +404.036647250000 3756.000000000000 +424.362220661973 1680.073608398438 +445.118239809427 2256.000000000000 +457.032674519482 1580.000000000000 +468.387534165811 1625.361328125000 +487.228056299732 1735.000000000000 +500.275588301319 14065.000000000000 +501.278629401665 3579.000000000000 +502.286881001175 2107.000000000000 +505.851399270242 2207.884277343750 +531.255889309595 1828.000000000000 +536.162574795725 4348.000000000000 +537.164900413678 2412.000000000000 +538.160905924694 1840.207275390625 +542.321702796647 4110.075683593750 +543.325936834084 1425.000000000000 +544.336609702317 2008.000000000000 +546.912855890436 1498.000000000000 +592.225267665071 7023.000000000000 +593.153130472392 2079.229736328125 +593.228621623492 2593.859863281250 +594.223736830213 3021.337890625000 +607.216353924445 19371.000000000000 +608.219876548020 6018.000000000000 +609.216035675932 2735.843994140625 +610.184990477000 2845.000000000000 +612.185596819648 1643.000000000000 +613.224838309655 6730.896972656250 +614.227226894726 2411.000000000000 +629.198664613593 14632.000000000000 +630.201165251457 4128.000000000000 +631.197724705928 2446.000000000000 +639.156464406238 1485.000000000000 +641.154235888014 1515.855590820312 +654.147541437576 1594.000000000000 +692.150340948486 1581.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=678 experiment=3 +##m_id Myclobutanil_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=678 experiment=3_0 +##scan 138 +##specref ms_run[1]:sample=1 period=1 cycle=678 experiment=3 +55.054270434220 105.000000000000 +56.052257730119 45.000000000000 +57.069642685298 75.000000000000 +57.076278365435 58.515125274658 +58.064669437897 30.000000000000 +58.069671200743 30.000000000000 +69.831821936433 120.000000000000 +70.040097536413 24218.527343750000 +70.062801316593 31.250431060791 +70.429050963972 30.000000000000 +70.438704107352 30.000000000000 +70.574152845601 53.442497253418 +71.040963389931 30.000000000000 +71.331546496348 45.000000000000 +71.547711411837 30.000000000000 +71.554731582869 30.000000000000 +81.069977524059 75.000000000000 +82.040024877605 180.000000000000 +82.064998747631 45.000000000000 +82.071892633579 45.000000000000 +83.046815904048 150.000000000000 +89.037322041009 315.000000000000 +93.058395230178 30.000000000000 +94.065823923167 15.000000000000 +95.073128971584 30.000000000000 +98.998707139648 75.000000000000 +115.038697637289 93.372489929199 +115.054570314383 213.739791870117 +116.061560571436 270.000000000000 +122.996698381028 60.000000000000 +123.007612454196 60.000000000000 +123.995047593998 30.000000000000 +124.002911191956 30.000000000000 +125.014307674051 14773.000000000000 +125.381473665944 30.000000000000 +125.393966225912 30.000000000000 +125.593372072822 30.000000000000 +125.599867839373 30.000000000000 +126.051609264641 30.000000000000 +126.059603286955 30.000000000000 +127.054832877589 45.000000000000 +128.048017316181 180.000000000000 +129.072076230440 45.000000000000 +129.857221738296 30.000000000000 +129.870016169563 30.000000000000 +130.064515161974 366.000000000000 +131.073613293583 60.000000000000 +137.014278524345 249.000000000000 +139.030165806979 60.000000000000 +143.060465185927 75.000000000000 +143.074012846680 104.308815002441 +143.089076083416 75.000000000000 +144.077234015868 30.000000000000 +149.015246811528 255.000000000000 +150.010825556181 309.000000000000 +150.598024297069 30.000000000000 +150.607575019774 30.000000000000 +151.029903267346 3468.000000000000 +152.066634976325 75.000000000000 +153.048272599038 48.395233154297 +153.069565327336 225.000000000000 +156.056088009549 27.453353881836 +156.078507049206 90.000000000000 +158.105667049362 30.000000000000 +158.115693896600 30.000000000000 +163.028234418456 150.000000000000 +163.049074774860 101.341789245605 +164.024417450344 1260.000000000000 +164.048222951239 223.749069213867 +165.033343347864 300.000000000000 +165.071689120240 100.887588500977 +166.041504194847 358.000000000000 +167.083021637505 120.000000000000 +168.092033871908 180.000000000000 +168.126067348571 15.000000000000 +170.097096768962 45.000000000000 +175.031788442407 270.000000000000 +177.045702469556 45.000000000000 +178.040557800332 739.000000000000 +179.064601892177 45.000000000000 +184.112879145243 75.000000000000 +185.120289107757 30.000000000000 +188.038359439527 30.000000000000 +191.046836106019 45.000000000000 +192.055368291335 195.000000000000 +193.076440167615 180.000000000000 +203.062460725867 150.000000000000 +205.065521702945 45.000000000000 +218.068791434007 45.000000000000 +220.087014664115 542.000000000000 +289.122158220479 827.000000000000 +>compound 1_5868141785564858207-659006--23--Cyproconazole +>parentmass 292.121361099857 +>ionization [M+H]1+ +>formula C15H18ClN3O +>charge 1 +>rt 436.497000000000 +##fmz 292.121361099857211 +##fid 5868141785564858207 +##des Cyproconazole +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +292.121361099857 1772579.388386697043 +293.123089125011 260903.108379805693 +294.118234104604 585930.221396290231 +295.120342830415 94191.053388591099 +>ms1peaks +50.015030688094 1631.000000000000 +52.005691836328 2833.837890625000 +53.013678352050 13820.645507812500 +53.850930804944 1372.676147460938 +54.009488813193 341215.375000000000 +55.006244952468 6363.858398437500 +55.011195314574 6663.786621093750 +55.054435589179 2093.444580078125 +55.934214796378 6443.966308593750 +56.049418637710 1614.372314453125 +56.942077131072 2603.345458984375 +59.049684010496 67068.679687500000 +60.044674600260 8507.357421875000 +61.039576232541 1618.787597656250 +63.997953270808 4540.612304687500 +64.004984885183 4765.146484375000 +68.011730125352 26984.066406250000 +68.993758540617 13250.065429687500 +69.044639818678 13453.114257812500 +72.936865747985 3009.785888671875 +73.064487442720 1926.000000000000 +76.486106736487 2394.000000000000 +77.012975210189 1331.000000000000 +77.038245950909 6864.013671875000 +79.021170250218 14954.513671875000 +80.049055487900 12273.781250000000 +81.937167726085 8605.721679687500 +82.996581259270 9547.895507812500 +87.054493611252 1308.586669921875 +89.506388403917 1579.000000000000 +90.489379547455 1879.000000000000 +91.053817827625 1210.000000000000 +95.952611673257 2421.652587890625 +97.968325410624 7844.628906250000 +100.075376789744 1408.000000000000 +102.090940410850 1712.000000000000 +104.048827681379 4021.000000000000 +105.032851808396 3043.702148437500 +109.943040230612 1524.000000000000 +113.962743611150 2300.809326171875 +114.091086475065 10732.537109375000 +118.085604757949 6375.129394531250 +122.095612538633 3453.346191406250 +122.963478886657 10149.138671875000 +123.091154033496 1907.152587890625 +123.962085557178 1291.000000000000 +124.964032856960 1524.723510742188 +124.981293760905 5573.300781250000 +132.044243365317 129513.453125000000 +133.047275934233 12024.171875000000 +136.021338396786 1596.000000000000 +136.111611313675 1179.000000000000 +141.090513006913 1389.292724609375 +141.112565247916 1247.203857421875 +141.957978845995 16325.500000000000 +147.090945866648 2556.685302734375 +149.023028218992 6399.154296875000 +150.054262184195 1568.000000000000 +151.096430884077 2664.400390625000 +151.111011940160 2835.027587890625 +155.069438117684 1871.944824218750 +155.105960083325 1401.000000000000 +155.973753152622 4288.000000000000 +158.153627071218 14384.000000000000 +159.156473714741 1627.752929687500 +160.050487288307 38915.000000000000 +161.053611692746 4466.942382812500 +161.095700587134 1743.057495117188 +164.142944501592 1256.052368164062 +167.015735366166 2785.089599609375 +170.096151543720 2652.023193359375 +170.116409887737 1324.376464843750 +170.968993556255 7076.000000000000 +171.137671144810 4912.312011718750 +172.136045264128 1371.000000000000 +173.079830429233 8581.928710937500 +174.991306236853 1198.000000000000 +177.054219725911 1769.000000000000 +178.157947155736 1498.908447265625 +179.106050750592 1934.090454101562 +182.960933723657 1780.061523437500 +182.991388549794 1244.309082031250 +186.221152079128 2287.000000000000 +194.116900036921 2752.000000000000 +195.121615177487 1919.471069335938 +198.184412559940 2140.000000000000 +200.200455656322 1296.554199218750 +209.153704347399 1590.000000000000 +212.888258624179 1535.000000000000 +217.106944592366 24346.000000000000 +218.110517718319 2646.000000000000 +219.095540028475 2644.006591796875 +228.196097140190 1527.811645507812 +236.167749124378 1677.000000000000 +239.089312381813 3327.000000000000 +242.284215148787 1201.000000000000 +246.862288406064 3365.000000000000 +249.184532839914 1860.293334960938 +251.001107206325 2362.000000000000 +252.997444701878 1876.000000000000 +253.916335213075 4093.000000000000 +260.980865788213 46877.000000000000 +261.983931158765 5301.000000000000 +262.976772362746 4418.000000000000 +267.172661485943 1410.000000000000 +277.199859444074 2417.590087890625 +279.093448238935 1888.450561523438 +281.051163936397 1557.000000000000 +292.121170689402 15731.000000000000 +293.123945781771 2615.000000000000 +294.118820607873 4859.000000000000 +295.121821476430 1186.000000000000 +318.013460543863 19020.000000000000 +319.016226586969 2819.000000000000 +320.010792812476 1745.000000000000 +324.021120495162 2522.000000000000 +327.007928037291 3314.077636718750 +329.005428091932 3187.000000000000 +331.002680981835 1140.229492187500 +335.040406311528 1228.000000000000 +339.995783079981 73785.000000000000 +340.998517552508 10283.000000000000 +341.992089047450 7216.000000000000 +351.928943475892 4368.000000000000 +353.926519256680 2362.000000000000 +355.969819970535 3512.076416015625 +363.071778928522 11698.970703125000 +364.073181575102 1981.000000000000 +371.315525399960 1354.000000000000 +379.934529706961 4095.883300781250 +381.932716463007 2062.000000000000 +445.119746997025 2474.000000000000 +446.119291863183 1145.000000000000 +505.853826516954 4858.000000000000 +506.855308046231 1451.000000000000 +519.139330404280 1166.703979492188 +522.880837958116 1970.000000000000 +523.871380297922 1372.000000000000 +529.891671811182 1342.000000000000 +536.165890644769 5714.000000000000 +537.166372879728 2646.000000000000 +538.163391669663 2155.000000000000 +544.339624971493 1155.000000000000 +546.914039373140 3234.000000000000 +547.912958504845 1306.000000000000 +610.184280095073 1860.000000000000 +611.183517202231 1239.000000000000 +657.000223829242 1834.000000000000 +696.940499292838 3022.000000000000 +698.938485246113 2250.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=659 experiment=6 +##m_id Cyproconazole_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=659 experiment=6_0 +##scan 23 +##specref ms_run[1]:sample=1 period=1 cycle=659 experiment=6 +70.040568192781 3615.933349609375 +125.015306520704 1696.000000000000 +138.993130230232 120.000000000000 +292.118132099014 75.000000000000 +>ms1peaks +52.005894908514 3265.400634765625 +53.013510908959 13106.733398437500 +53.850705653871 1327.061035156250 +54.009389058624 348945.000000000000 +55.006169898270 6124.332519531250 +55.011317455070 6538.428710937500 +55.054331627343 2077.732910156250 +55.934133744738 6508.345214843750 +56.049593965189 1999.699707031250 +56.942184704094 2688.283691406250 +59.049605800481 70253.718750000000 +60.044658666294 10706.690429687500 +61.039619044210 1586.278076171875 +63.997756861684 3941.995605468750 +64.005166169614 4907.884765625000 +67.028913163203 1580.000000000000 +68.011642030602 27597.281250000000 +68.993728986678 12929.603515625000 +69.044696634986 12506.645507812500 +72.936667673711 2191.062988281250 +73.064288768235 1852.000000000000 +76.486322585941 2327.304443359375 +77.038204782362 5884.000000000000 +79.020970020200 14096.371093750000 +80.049138765431 11437.409179687500 +81.937010633269 8800.649414062500 +82.996563663943 9775.875976562500 +87.054866657942 1386.671508789062 +89.506477006513 1856.891357421875 +90.489380614180 1867.000000000000 +91.053607705956 1522.000000000000 +95.952400718089 2411.000000000000 +97.968129951793 7534.000000000000 +100.075098492601 1334.000000000000 +102.090723461138 1696.000000000000 +104.049086460790 3045.739257812500 +105.032948258430 2178.018554687500 +109.942760191152 1389.039428710938 +113.963014550647 1955.283325195312 +114.090880342296 9824.000000000000 +118.085478285355 6071.000000000000 +122.095943650184 3414.491943359375 +122.963053449523 10824.022460937500 +123.091014422132 1667.127319335938 +123.961852610233 1273.000000000000 +124.964467047349 2135.799560546875 +124.981051711745 4296.547363281250 +132.043642930226 93077.242187500000 +133.046777995488 9274.231445312500 +136.020768820120 1683.000000000000 +136.110810804565 1296.000000000000 +141.090222902589 1360.714843750000 +141.112627587411 1461.608520507812 +141.935004916839 1940.239746093750 +141.957609246025 17033.816406250000 +147.090484942279 2411.661132812500 +149.022774177869 5733.046386718750 +149.042316567318 2746.710693359375 +150.054248684273 1437.284790039062 +151.095045034366 2698.686279296875 +151.110908763912 3144.476318359375 +155.069769845772 1649.881591796875 +155.105405759277 1860.793457031250 +155.973140596379 4755.245605468750 +158.153359438729 14516.186523437500 +159.156612007249 1486.367431640625 +160.049846075993 24545.988281250000 +161.052607402490 2286.874755859375 +161.095210153424 1778.371337890625 +167.015155408714 1740.000000000000 +170.095595750468 2643.026123046875 +170.968534800983 4638.000000000000 +171.137187033467 8793.664062500000 +172.138659608019 1674.000000000000 +172.168464035175 1208.633911132812 +173.079743164910 7798.492675781250 +174.991345453773 1573.000000000000 +177.053816341336 1417.014038085938 +178.158055093780 1735.947753906250 +179.105704311835 2197.604980468750 +182.961317763038 2211.718750000000 +186.220205393587 1399.000000000000 +194.116470425084 2855.795654296875 +195.121709243913 1774.128417968750 +198.184491575929 2140.000000000000 +200.199765534300 1398.692871093750 +209.152792656657 1425.000000000000 +217.106381802785 24672.529296875000 +218.109726712595 2594.000000000000 +219.095072568829 2421.334228515625 +228.194355078180 1758.423828125000 +236.167326569908 1392.000000000000 +239.087560169956 3393.000000000000 +242.283100716676 1301.000000000000 +246.861853504396 3967.000000000000 +249.184072418419 1674.044555664062 +250.179850228401 1317.625488281250 +250.969009212760 1272.659667968750 +250.998800627422 2485.986083984375 +252.996506036249 1407.000000000000 +253.914744903944 3247.000000000000 +260.980140443968 31189.000000000000 +261.982652125164 3630.000000000000 +262.976320674948 3030.000000000000 +267.169211061356 1310.111816406250 +277.200326399959 5169.000000000000 +279.093304185450 2011.372070312500 +281.050388682144 1561.000000000000 +292.121055360225 111310.531250000000 +293.123630076529 20278.496093750000 +294.118239620053 37417.625000000000 +295.120516544042 6903.191406250000 +299.181966555803 2788.124755859375 +304.298855657172 1458.000000000000 +318.012599323858 12766.560546875000 +319.014697171275 1763.000000000000 +320.008501629176 1292.000000000000 +324.021279180039 2211.000000000000 +327.007286394326 3510.000000000000 +329.004329094240 3020.000000000000 +339.994441786583 55469.000000000000 +340.996800649447 7731.000000000000 +341.991164319056 5376.000000000000 +351.927480336150 4373.000000000000 +353.925190372111 2157.000000000000 +355.923288991607 1875.234497070312 +355.967623747153 2895.083740234375 +363.069819320259 9600.000000000000 +364.071840904280 1502.000000000000 +365.067263835001 1200.000000000000 +379.933765070569 3274.000000000000 +381.930698322663 2082.000000000000 +445.119022397624 2321.740478515625 +505.851287178680 4210.000000000000 +506.853720407640 1284.000000000000 +522.877826294640 1830.000000000000 +529.887917529630 1402.000000000000 +536.163984165691 5143.000000000000 +537.165630799202 2699.000000000000 +538.162716451736 1997.000000000000 +544.338330991241 1339.000000000000 +546.913670520771 2956.903320312500 +547.912049049860 1201.466308593750 +610.182850595719 2143.000000000000 +611.183650714411 1327.000000000000 +647.152176664637 1285.000000000000 +671.046640090612 3328.000000000000 +673.045642862147 3209.000000000000 +696.940422810442 1799.000000000000 +698.936403714808 1431.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=660 experiment=5 +##m_id Cyproconazole_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=660 experiment=5_0 +##scan 31 +##specref ms_run[1]:sample=1 period=1 cycle=660 experiment=5 +69.069680828999 60.000000000000 +69.833468065273 60.000000000000 +70.039800909321 9567.099609375000 +70.641144537874 15.000000000000 +89.039009042006 90.000000000000 +96.981904363605 13.000000000000 +98.999669479829 13.000000000000 +124.645645258446 30.000000000000 +124.666018175052 30.000000000000 +125.014601911838 6743.000000000000 +129.070787391149 30.000000000000 +130.077634043857 45.000000000000 +137.015407395449 30.000000000000 +138.994241947132 309.000000000000 +139.027445850546 45.000000000000 +142.075290059555 45.000000000000 +163.032692292347 45.000000000000 +165.053013026384 30.000000000000 +170.879635830076 13.000000000000 +205.069739102638 13.000000000000 +292.116826310858 217.000000000000 +>ms1peaks +52.005486844196 2797.312255859375 +53.013452941613 13289.114257812500 +53.850392691129 1182.554077148438 +54.009302603618 341601.031250000000 +55.005911181832 5603.758300781250 +55.011355581201 5959.661132812500 +55.054189724209 2205.188476562500 +55.933928601241 6093.526367187500 +56.941939565668 2798.683593750000 +59.049443593556 67299.640625000000 +60.044262774734 8968.761718750000 +61.039204580633 1571.923095703125 +63.997813637547 4075.065429687500 +64.004662670356 4416.795898437500 +68.011501134588 27277.638671875000 +68.993585500338 12264.906250000000 +69.044393197123 13147.085937500000 +72.043949942055 1214.000000000000 +72.936545824901 2386.261962890625 +73.064141392327 1809.102661132812 +76.486217265459 2318.000000000000 +77.037914467348 2784.771240234375 +79.020708818127 18172.382812500000 +80.048894299954 13850.358398437500 +81.936654565436 8646.963867187500 +82.996013274860 9151.881835937500 +87.042952193812 1456.767700195312 +87.054623008241 1774.283325195312 +89.069755450540 1371.091674804688 +89.506205030598 1420.000000000000 +90.488660539027 2076.000000000000 +91.053504137418 1574.000000000000 +95.952180653762 2284.000000000000 +97.967884579650 7862.442871093750 +100.074476020240 1221.000000000000 +102.090415152097 1454.000000000000 +104.048216330484 1263.218750000000 +109.942447219977 1590.828491210938 +113.962324334339 2023.251098632812 +114.090394525983 11631.025390625000 +118.085045416936 6564.007812500000 +122.095214148430 3526.000000000000 +122.962880463908 10844.000000000000 +123.090776414574 1696.206054687500 +123.961832528390 1236.000000000000 +124.981223378162 1673.021850585938 +130.158379717264 1405.000000000000 +132.043434483782 41526.472656250000 +133.046757663549 4137.170898437500 +136.020231843939 1752.000000000000 +139.962610586396 1241.217529296875 +141.090622201525 1287.143798828125 +141.112120261557 1304.199096679688 +141.957439283701 16426.482421875000 +147.090642325371 2533.530273437500 +149.022533327810 5845.030273437500 +149.040994237727 2756.796875000000 +151.095191450521 2425.737792968750 +151.109945034180 2827.097656250000 +155.069776946854 1748.044799804688 +155.105248734220 1748.282226562500 +155.973048592075 4793.413085937500 +158.153052811157 14275.985351562500 +159.139068434260 1227.674072265625 +159.156070191539 1425.673461914062 +160.049271893755 12624.257812500000 +161.053296289892 1271.000000000000 +161.096235386258 1578.421630859375 +164.142270683686 1217.000000000000 +170.094887803481 2717.008544921875 +170.968792401520 2390.000000000000 +171.137329533636 9794.265625000000 +172.136840902698 2122.000000000000 +172.168466786332 1309.672119140625 +173.079514403953 7730.000000000000 +174.990695602365 1337.972656250000 +177.054653270806 1487.000000000000 +178.158403800321 1799.193237304688 +179.105583290233 3646.174560546875 +182.960823278834 1922.372802734375 +182.986018115359 1341.532470703125 +186.220896557034 1469.000000000000 +194.116385994522 3228.431884765625 +195.101721591860 1761.497314453125 +195.120840048138 2139.872070312500 +198.184759772344 2245.000000000000 +200.198358143313 1177.926513671875 +209.152634370621 1389.980712890625 +217.106353356190 24341.000000000000 +218.109655666691 2974.806884765625 +219.095036364843 2223.419921875000 +224.127894084409 1278.478759765625 +228.195273215592 1674.000000000000 +236.167137123771 1456.000000000000 +239.088416675585 3867.606689453125 +242.282513583885 1277.000000000000 +246.861185203855 3901.000000000000 +249.182714411045 1537.000000000000 +250.178392714940 1258.000000000000 +250.999007399485 2502.000000000000 +252.996469033063 1435.000000000000 +253.914671653353 1239.000000000000 +260.979753981104 14440.506835937500 +261.982083120224 1659.000000000000 +262.976384632325 1466.000000000000 +267.171781473257 1284.615478515625 +277.200008538434 5514.000000000000 +279.092542460055 2184.000000000000 +281.050041935527 1782.000000000000 +292.121077385471 225397.000000000000 +293.123076709567 37677.234375000000 +294.118496498528 72202.039062500000 +295.120481083763 12277.000000000000 +296.122922541254 1529.722534179688 +299.182168197771 3169.000000000000 +304.298453938228 1206.488281250000 +318.011978476534 6627.000000000000 +322.257925183826 1680.000000000000 +327.007860740219 3296.000000000000 +329.003921677419 3051.000000000000 +331.002277995733 1209.000000000000 +339.994321798017 30539.392578125000 +340.996727216497 4443.000000000000 +341.991298278029 3214.898193359375 +351.926939354897 2576.000000000000 +353.925624186681 1528.262939453125 +355.967794750582 1676.749389648438 +363.070157834182 5926.000000000000 +379.934179014433 2532.000000000000 +381.930242914518 1263.000000000000 +445.118947651762 2644.000000000000 +505.851615177973 4750.000000000000 +522.877878746579 2136.000000000000 +529.887991001196 1339.000000000000 +536.163681670628 5319.764160156250 +537.164689652602 2801.000000000000 +538.163060633683 2127.000000000000 +544.338383816682 1327.000000000000 +546.914418903411 2791.000000000000 +547.911772088961 1197.000000000000 +610.182643718635 2184.000000000000 +611.184358419061 1263.000000000000 +645.154326732470 4086.000000000000 +646.158388244596 1322.000000000000 +647.153421689114 4193.000000000000 +648.155059129677 1544.000000000000 +649.151941293891 1547.000000000000 +671.046678825629 4046.000000000000 +672.049764904672 1509.000000000000 +673.044229478168 4164.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=661 experiment=4 +##m_id Cyproconazole_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=661 experiment=4_0 +##scan 39 +##specref ms_run[1]:sample=1 period=1 cycle=661 experiment=4 +69.069782720526 75.000000000000 +69.075037200335 72.171691894531 +69.833112312395 75.000000000000 +69.843591471427 60.000000000000 +70.039928634265 13088.292968750000 +70.319666133547 15.000000000000 +89.038675227825 135.000000000000 +98.999711365249 75.000000000000 +110.999837825429 45.000000000000 +124.625194151181 42.994541168213 +124.642697348778 60.000000000000 +125.014756270469 8204.791015625000 +128.059856883403 30.000000000000 +129.068987922921 30.000000000000 +137.001555355407 45.000000000000 +137.012360970077 45.000000000000 +138.995547268225 330.000000000000 +139.030941733198 30.000000000000 +141.069593086757 45.000000000000 +142.076344647709 75.000000000000 +151.025488198283 30.000000000000 +155.057537358319 15.000000000000 +155.084546775978 30.000000000000 +163.031632720579 30.000000000000 +165.052030425682 45.000000000000 +292.123662525593 418.000000000000 +>compound 1_18386993698014176665-675005--113--UNKNOWN +>parentmass 304.118832214819 +>ionization [M+H]1+ +>charge 1 +>rt 446.172000000000 +##fmz 304.118832214819406 +##fid 18386993698014176665 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +304.118832214819 3569184.783728866838 +305.111339121164 309883.178195710818 +>ms1peaks +52.005429962927 2874.067626953125 +53.013488092548 14817.291015625000 +54.009250374962 334494.937500000000 +55.006084606761 5488.883300781250 +55.011047738293 6443.265136718750 +55.054381628314 2385.724365234375 +55.934070669618 5486.966796875000 +56.942036090778 2313.250244140625 +59.049556209203 57988.484375000000 +60.044347260401 9323.001953125000 +61.039167560780 1828.241455078125 +63.997923021227 4927.193359375000 +64.004932691950 5181.531250000000 +68.011552270537 27280.974609375000 +68.993634139472 11798.143554687500 +69.044334270747 12566.409179687500 +72.936570834957 2193.115966796875 +73.063872777826 1681.879882812500 +76.486053959604 2158.190429687500 +79.020753207512 16147.697265625000 +80.048886066869 12139.645507812500 +81.936907500524 8343.286132812500 +82.996250408243 8009.000000000000 +87.042980895665 1166.738403320312 +87.053972860944 1485.116088867188 +89.506705194324 1444.000000000000 +90.488891330057 1645.000000000000 +91.053476545401 1583.000000000000 +95.952210208006 2039.742797851562 +97.968150682366 6945.562500000000 +100.074718244150 1363.000000000000 +102.090306392772 1417.000000000000 +109.942448236827 1253.000000000000 +113.962708637249 2032.000000000000 +114.090792284548 10306.000000000000 +118.084892277491 5540.821289062500 +122.095166173318 3378.000000000000 +122.962913232208 9579.000000000000 +123.091195975991 1531.662963867188 +130.157764407919 1286.000000000000 +136.020428292954 1633.000000000000 +141.090127789620 1346.968627929688 +141.112042976374 1656.172241210938 +141.957142368171 13820.262695312500 +147.089971164701 2287.525390625000 +149.022027180229 4587.050292968750 +149.040978245649 2678.199707031250 +151.095856455214 2104.623291015625 +151.110429192129 2233.988037109375 +155.068837159282 1322.053710937500 +155.973356955881 4212.000000000000 +158.153011960091 10898.886718750000 +161.095284178342 1762.593994140625 +164.141720682546 1224.125244140625 +170.095143568643 2743.236816406250 +173.079445020465 6455.588378906250 +174.990181271009 1164.000000000000 +175.126264328958 1229.927246093750 +178.157011972493 1362.000000000000 +179.105369890054 1931.000000000000 +182.960638968270 1810.076538085938 +182.983125598895 1274.763061523438 +186.016954934375 1958.000000000000 +186.220415397417 1282.000000000000 +193.158240520354 1195.032958984375 +194.115937912419 2861.000000000000 +195.121022485646 2380.102539062500 +198.183707422577 1745.000000000000 +200.199383225092 1357.000000000000 +201.983259096536 4157.000000000000 +217.007242135614 11741.327148437500 +217.105963587093 15482.668945312500 +218.009949414252 1208.000000000000 +218.108958783015 2547.000000000000 +219.093633048806 1319.448730468750 +234.033582693957 12770.000000000000 +235.037603512480 1379.336669921875 +239.087766278998 3286.875732421875 +242.283333142943 1269.000000000000 +245.038366204801 2525.000000000000 +246.860868473188 2768.000000000000 +249.183726045021 1277.861328125000 +250.999502407170 2552.000000000000 +252.995631834554 1836.000000000000 +262.065239894604 21394.767578125000 +263.067572169870 2404.000000000000 +264.061891103771 1243.000000000000 +276.080813947841 32185.000000000000 +277.083963767141 4114.000000000000 +278.078054160446 2217.000000000000 +279.092495265569 1940.000000000000 +281.050419778851 1367.000000000000 +284.163590469925 9332.000000000000 +285.167331910184 2517.000000000000 +289.119964437534 1441.302978515625 +292.119508242518 1546.000000000000 +303.104642799152 3336.000000000000 +303.191168270618 2846.093505859375 +304.118917204532 886697.062500000000 +304.856339026942 1419.656616210938 +304.975022441588 5892.455566406250 +305.107897820025 60098.996093750000 +306.110158464267 52147.246093750000 +307.111260806590 6616.670410156250 +307.247283236566 2744.782226562500 +310.120139525907 4017.412597656250 +320.106832165572 5127.000000000000 +321.110457254103 1231.635253906250 +321.131042046566 1226.668579101562 +326.094185610162 39581.000000000000 +327.007439325330 3479.883544921875 +327.096485748553 6323.979980468750 +328.091424657873 2476.325927734375 +329.002736488496 3916.000000000000 +330.204957173578 17861.789062500000 +331.208137127779 4322.000000000000 +342.068068201427 2858.656982421875 +349.169386508932 18308.152343750000 +350.172289812388 3575.000000000000 +351.169114792649 1326.000000000000 +352.185338388432 1383.838623046875 +372.148023932598 2199.032714843750 +380.334421867930 1500.000000000000 +404.036203084131 8110.000000000000 +405.038280600419 1614.000000000000 +445.117639958471 2103.000000000000 +500.274765830931 9506.000000000000 +501.278189264574 2845.197509765625 +502.287108152553 1738.000000000000 +505.850965822120 2506.000000000000 +536.163265279090 5123.811523437500 +537.164206705990 2452.000000000000 +538.160787955733 1794.000000000000 +544.336478775213 1764.000000000000 +546.913227478942 1570.434814453125 +549.964589119831 1398.000000000000 +607.215848916045 42716.000000000000 +608.219229396365 13004.000000000000 +609.215354074706 6569.000000000000 +610.191475231986 3658.000000000000 +611.187180591379 1650.000000000000 +612.219311132493 2717.000000000000 +613.224098373297 22062.000000000000 +614.227279534381 7018.149414062500 +615.222828016202 3443.000000000000 +623.211028873207 1301.000000000000 +629.198230629944 46218.000000000000 +630.201437914669 14408.000000000000 +631.197842259138 6467.000000000000 +632.198694915122 1400.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=675 experiment=5 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=675 experiment=5_0 +##scan 113 +##specref ms_run[1]:sample=1 period=1 cycle=675 experiment=5 +51.025230191010 60.000000000000 +53.042474404052 45.000000000000 +58.995209811857 285.000000000000 +60.080905436478 1803.923461914062 +65.038735029139 45.000000000000 +77.038622051882 332.000000000000 +78.045973004466 60.000000000000 +79.053817998651 539.000000000000 +79.990848874925 300.000000000000 +91.054001664442 620.000000000000 +93.068645217008 370.000000000000 +95.049052730571 45.000000000000 +97.010676625187 890.000000000000 +103.053787209201 291.000000000000 +104.061084742769 150.000000000000 +105.068334920325 38.785545349121 +107.048476065256 2240.160888671875 +107.072432955012 135.000000000000 +108.055792255651 1061.000000000000 +109.063970513485 264.350006103516 +110.016978522096 165.000000000000 +111.025272603771 75.000000000000 +118.074140251592 45.000000000000 +121.009130624023 548.000000000000 +121.029958953434 60.535709381104 +122.017298486385 980.000000000000 +122.036506966533 227.800430297852 +125.041266230161 262.000000000000 +134.018538775237 60.000000000000 +134.073916170563 45.000000000000 +134.095695488835 45.000000000000 +135.026161726804 534.000000000000 +135.078487450095 90.000000000000 +137.006305675560 313.000000000000 +137.040979968925 1778.926025390625 +138.012727979825 1464.000000000000 +139.020309257361 1024.000000000000 +140.027069020713 150.000000000000 +140.591866048816 30.000000000000 +141.011260927571 75.000000000000 +150.046751311030 105.000000000000 +151.021299475346 150.000000000000 +152.576168311708 60.000000000000 +152.998044511193 75.000000000000 +153.036074179846 6124.000000000000 +154.043709586541 210.000000000000 +154.068241390455 62.952999114990 +154.972722850633 330.000000000000 +155.052161537136 3686.873535156250 +165.043680396210 45.000000000000 +168.986761486121 8191.273437500000 +169.003111638348 7602.300781250000 +170.010033115696 45.000000000000 +173.035848580677 30.000000000000 +180.985431825642 60.000000000000 +181.052453612627 45.000000000000 +181.070315448994 45.000000000000 +183.018664996496 135.000000000000 +183.973342047871 75.000000000000 +184.026572772516 45.000000000000 +184.419112957683 30.000000000000 +184.981576709492 6491.000000000000 +186.996738133410 343.000000000000 +187.039366781676 45.000000000000 +197.034096977050 45.000000000000 +198.015599522243 45.000000000000 +198.997463487937 4190.000000000000 +200.976234887806 1639.719970703125 +200.999328730996 1443.055786132812 +201.375560498466 330.000000000000 +201.984744162441 63752.667968750000 +202.025092005346 214.887084960938 +202.151693094227 45.000000000000 +202.176315801779 45.594470977783 +202.419371448987 60.000000000000 +202.437288231128 45.000000000000 +202.500019618456 60.000000000000 +202.517624485801 48.558765411377 +202.648988098710 45.000000000000 +202.993585993201 150.000000000000 +203.108544868346 30.000000000000 +203.121478592138 45.000000000000 +204.132231430480 45.000000000000 +204.153026361689 45.000000000000 +214.991727371784 945.000000000000 +216.023012287561 843.000000000000 +216.355082188226 442.000000000000 +216.385654222669 90.000000000000 +216.964403576794 59.121311187744 +217.008494855200 125901.000000000000 +217.056166733144 228.620422363281 +217.174442197011 75.000000000000 +217.205900295791 55.864074707031 +217.396324549254 45.000000000000 +217.415518436779 74.666610717773 +217.442451066205 47.380496978760 +217.588006413291 45.000000000000 +217.621801811369 31.066198348999 +217.664328232764 90.000000000000 +217.679728975131 105.000000000000 +217.706002637447 60.000000000000 +217.757983028729 60.000000000000 +217.809934792328 48.510864257812 +217.841984466983 139.269760131836 +217.883101217311 43.148494720459 +217.943854175255 89.818382263184 +217.964694239548 105.000000000000 +218.011068530749 180.000000000000 +218.072232357054 75.000000000000 +218.098922642672 84.849304199219 +218.265989620271 31.124542236328 +218.280034633009 37.702697753906 +218.308801511389 90.247619628906 +218.328355039950 90.000000000000 +218.387581973378 45.000000000000 +218.446704980964 75.000000000000 +218.467978540240 90.000000000000 +218.695018142784 70.259552001953 +218.719948225804 67.364746093750 +218.789254676702 45.000000000000 +218.813580838430 45.000000000000 +218.846289402485 45.000000000000 +218.995968780702 105.000000000000 +219.012218895710 101.918548583984 +219.303339997865 45.000000000000 +219.325838359475 45.000000000000 +219.388058465824 45.000000000000 +219.459153843468 30.000000000000 +219.739233899158 30.000000000000 +220.670213104301 45.000000000000 +220.686553112587 45.000000000000 +227.030058630938 60.000000000000 +229.004458545685 45.000000000000 +229.988914935534 523.873046875000 +230.015305123973 1019.361999511719 +233.326493414012 45.000000000000 +234.034608098264 14349.000000000000 +235.040675886350 60.000000000000 +241.043552600133 60.000000000000 +244.017269590781 45.000000000000 +244.046131119763 33.784996032715 +245.039409146005 1613.000000000000 +258.074029499555 150.000000000000 +259.054432449659 75.000000000000 +262.032514350373 638.202148437500 +262.065722539033 1269.000000000000 +275.250410575562 45.000000000000 +275.276233367382 45.000000000000 +276.082221466818 3389.000000000000 +304.114900229964 1271.000000000000 +>compound 1_11941333258820146302-663003--50--UNKNOWN +>parentmass 313.038703270813 +>ionization [M+H]1+ +>charge 1 +>rt 436.497000000000 +##fmz 313.038703270813244 +##fid 11941333258820146302 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +313.038703270813 90349.665873127466 +>ms1peaks +52.005966180500 2509.332031250000 +53.013507369873 14095.641601562500 +53.850970390711 1246.033935546875 +54.009372281497 342031.000000000000 +55.006163575275 5705.965820312500 +55.011387270805 6127.473144531250 +55.054184206823 1848.058593750000 +55.934334911976 6140.810546875000 +56.049690767818 1330.017089843750 +56.942074959092 2606.667480468750 +59.049518267006 56697.359375000000 +60.044566292185 9567.453125000000 +60.051796148101 5984.580078125000 +61.039393490257 1915.440551757812 +63.997909973617 3748.628417968750 +64.005283923938 4326.699218750000 +68.011628084817 27292.236328125000 +68.993816323075 12618.667968750000 +69.032897101129 1379.142456054688 +69.044540912933 13986.380859375000 +72.936558146637 2579.000000000000 +73.064228849484 1913.000000000000 +76.486180881623 2682.000244140625 +79.021000086474 14334.086914062500 +80.049089873152 11904.342773437500 +81.937137428830 9328.000000000000 +82.996717483329 9530.261718750000 +87.044278019735 1244.984619140625 +87.054474952312 1464.973510742188 +89.506620387415 1797.000000000000 +90.489369315210 1750.000000000000 +91.053371587935 1520.000000000000 +95.952544398364 2306.000000000000 +97.967985008693 7122.677246093750 +98.983597639133 2707.236572265625 +102.090693288494 2155.000000000000 +109.942639865272 1479.000000000000 +113.962988365185 2088.000000000000 +114.090715282838 10161.079101562500 +118.085459870469 7107.342285156250 +122.095676141264 3819.024658203125 +122.963182714449 11743.000000000000 +123.091076294906 1884.834838867188 +123.962710172625 1278.000000000000 +130.158549361780 1309.000000000000 +132.043510097675 6102.050781250000 +136.020884350350 1696.428710937500 +136.110913014003 1219.864746093750 +141.090089283606 1510.582885742188 +141.112164115087 1395.173217773438 +141.957727661927 16172.547851562500 +147.090953742167 2593.000000000000 +149.022660175650 5113.270019531250 +149.042184219595 2270.130126953125 +151.095573062425 2291.701904296875 +151.109764648433 2508.697753906250 +155.069421770644 1304.007690429688 +155.105956399660 1556.186767578125 +155.973291029133 4647.000000000000 +158.153352334475 13909.827148437500 +159.156157365710 1453.476074218750 +160.049315575157 1807.000000000000 +161.095748922100 1676.696289062500 +164.141989249057 1365.831665039062 +170.095477046624 2501.143554687500 +171.138013785490 3982.982177734375 +172.134863309732 1431.708251953125 +173.080523810193 6956.130371093750 +174.991175918913 9969.217773437500 +176.988389097507 3050.117675781250 +177.054118074174 1458.434448242188 +178.157975354817 1551.791381835938 +179.106014386017 6976.000000000000 +182.960744773798 1855.346191406250 +182.979834217019 1800.970458984375 +186.220995397905 2442.000000000000 +194.116040015282 3148.000000000000 +195.104779764897 1691.220825195312 +195.121820949901 2158.996582031250 +198.184910946765 2078.562744140625 +217.106618021168 23378.933593750000 +218.110011440618 2630.000000000000 +219.095176701267 2434.000000000000 +228.195374276500 1663.423095703125 +235.168383933758 1236.068969726562 +236.166825939935 1254.000000000000 +239.088686366357 4311.829589843750 +242.284913917132 1324.000000000000 +246.862288674394 3536.000000000000 +249.184859994698 1408.000000000000 +250.178788935105 1421.692382812500 +250.999929283760 20029.000000000000 +252.003012365740 1411.418090820312 +252.997001503914 12765.000000000000 +254.993768386515 1938.000000000000 +260.980022779583 1808.000000000000 +267.171368540006 1448.377807617188 +277.200433490599 1660.000000000000 +279.093759730917 2119.000000000000 +281.051032806120 1483.000000000000 +291.237715025520 1241.364013671875 +292.121361150912 285183.000000000000 +293.123834428448 45555.277343750000 +294.118427695985 93122.570312500000 +295.120641413580 15470.696289062500 +296.123835906431 1561.000000000000 +313.039035562555 16422.000000000000 +314.041466363413 2766.000000000000 +315.036563511042 10824.000000000000 +316.039700661579 1830.000000000000 +317.034195270562 1773.448120117188 +321.226781744505 2044.000000000000 +327.008089983734 28336.265625000000 +328.011190071085 2858.514404296875 +329.005295881569 27689.000000000000 +330.008649187278 3052.000000000000 +331.002098826780 9057.932617187500 +333.003548365368 1609.000000000000 +335.018062590141 2124.000000000000 +339.950891675362 1270.914672851562 +339.994456530817 4579.000000000000 +348.990164564731 4627.000000000000 +350.986598107700 4290.000000000000 +372.065686169920 4230.000000000000 +374.062221925680 3509.000000000000 +376.059337391009 1282.000000000000 +392.047236888469 1599.000000000000 +395.069603447750 1690.000000000000 +397.066731969223 1427.000000000000 +428.928860183743 1238.358520507812 +430.887744920288 1367.548706054688 +445.120189406834 2253.000000000000 +505.852818670435 4262.000000000000 +506.855243935787 1464.000000000000 +522.879200969200 1903.639038085938 +529.890071522891 1483.417846679688 +536.164962577408 4542.000000000000 +537.166020159870 2688.000000000000 +538.164211996041 1760.000000000000 +544.339325990071 1415.000000000000 +546.913817544760 2912.000000000000 +547.914903230189 1254.000000000000 +610.183749066707 2160.000000000000 +611.183884033885 1283.000000000000 +645.156997893402 7650.000000000000 +646.160667456787 3315.000000000000 +647.154701516229 9174.000000000000 +648.157895170257 3104.000000000000 +649.152380094183 3397.000000000000 +673.045753694998 1272.428222656250 +>ms2peaks +##n_id sample=1 period=1 cycle=663 experiment=3 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=663 experiment=3_0 +##scan 50 +##specref ms_run[1]:sample=1 period=1 cycle=663 experiment=3 +79.054534010328 30.000000000000 +81.069024421900 75.000000000000 +138.997340989450 30.000000000000 +146.973850300653 30.000000000000 +150.993294957568 30.000000000000 +152.064927694190 45.000000000000 +156.961224883657 842.000000000000 +158.975205667710 360.000000000000 +165.069897758503 30.000000000000 +170.975051884785 30.000000000000 +172.953347267476 75.000000000000 +174.969622660121 45.000000000000 +179.085562211052 150.000000000000 +184.954446069391 901.000000000000 +186.974009154470 60.000000000000 +188.019125882175 20.250818252563 +188.041595099939 27.989727020264 +198.970267195566 45.000000000000 +199.003336715238 30.000000000000 +199.022915165548 30.000000000000 +204.033776256140 60.000000000000 +204.069004228345 18.236137390137 +208.993398028951 60.000000000000 +212.950028404695 799.000000000000 +213.043299647071 45.000000000000 +214.054672340147 120.000000000000 +214.964896120028 180.000000000000 +230.962098026426 180.000000000000 +238.999390755164 165.000000000000 +249.024795643907 75.000000000000 +267.035582268648 105.000000000000 +277.017494808075 30.000000000000 +295.029960009017 195.000000000000 +313.033105483710 45.000000000000 +>ms1peaks +52.005453969998 2626.723144531250 +53.013597312446 12728.553710937500 +53.850414409821 1250.853881835938 +54.009329210909 348334.937500000000 +55.006062122532 5392.668457031250 +55.011342055713 6236.111816406250 +55.054021350211 1869.273437500000 +55.934286374440 6315.563964843750 +56.941831842622 2597.011962890625 +59.049520241177 68985.562500000000 +60.044238693811 9277.411132812500 +60.051306561624 7152.463378906250 +61.039638104919 1556.488891601562 +63.997844257749 4543.386718750000 +64.004868648059 4706.500976562500 +68.011536869512 28038.335937500000 +68.993647464953 12595.196289062500 +69.044515645070 12865.375976562500 +72.936647087938 2567.000000000000 +73.064121365067 1769.925781250000 +76.486182586418 2785.377929687500 +79.020888115541 15628.571289062500 +80.049060365715 12153.072265625000 +81.936978966817 8495.000000000000 +82.996309100211 9038.668945312500 +87.043494139885 1178.190917968750 +87.054319172330 1546.054443359375 +89.506956806916 1559.000000000000 +90.488703688296 1817.000000000000 +91.053777911785 1528.745483398438 +95.952341177386 2260.741210937500 +97.968210936145 7024.000000000000 +98.983399057372 5034.887695312500 +100.075304888654 1243.000000000000 +102.090957068479 1525.000000000000 +109.943109012828 1320.928710937500 +113.962992754591 2498.000000000000 +114.090728474154 10512.617187500000 +118.085470631803 6601.458007812500 +122.095607083049 3712.721679687500 +122.962888411087 10607.500976562500 +123.091509718457 1686.104614257812 +132.043186178558 2464.123291015625 +136.020620151667 1645.000000000000 +140.067164786600 1314.000000000000 +141.089863109573 1272.675292968750 +141.111890586678 1562.626220703125 +141.957557081223 15988.394531250000 +147.090173997086 2431.000000000000 +149.022336160605 4523.349121093750 +149.043636850784 1223.066040039062 +151.095789721496 2301.788818359375 +151.111113393103 2538.584228515625 +155.069111807472 1549.374267578125 +155.105759874764 1515.979370117188 +155.973112787773 4487.000000000000 +158.153378740203 12758.589843750000 +159.156448385204 1328.413452148438 +161.095542076597 1436.000000000000 +164.142018358830 1273.736083984375 +170.095175686942 2849.232421875000 +171.138207188731 2555.000000000000 +172.133475837479 1266.057739257812 +173.079557051502 6304.225097656250 +174.991247355031 15122.000000000000 +176.988586706089 4881.000000000000 +178.158242399689 1403.950073242188 +179.105412805866 3814.716552734375 +182.960601426951 1842.280639648438 +182.982966835265 1410.150146484375 +186.220883153188 1802.000000000000 +194.115976643286 3119.000000000000 +195.102214753451 1498.057617187500 +195.120897037407 1858.993774414062 +198.184171488074 2116.000000000000 +217.106332787106 21497.787109375000 +218.109128733639 2613.000000000000 +219.095226750847 2102.304443359375 +224.127626531368 1175.000000000000 +228.195317705032 1672.133422851562 +239.088374855672 3685.309814453125 +242.283185310790 1468.000000000000 +246.860952738993 3049.000000000000 +249.183720846634 1286.295654296875 +250.177140311956 1205.756591796875 +250.999832075601 32001.000000000000 +252.002106420824 2157.000000000000 +252.996924958467 20204.000000000000 +253.999797691244 1411.000000000000 +254.993496356863 3401.000000000000 +279.092906188567 2036.000000000000 +286.179288894577 8400.000000000000 +287.181689656808 1994.078002929688 +287.217541902151 1349.643310546875 +291.235948805059 1485.048828125000 +292.122314491142 439122.000000000000 +292.983059595137 1438.034667968750 +293.122671084767 47692.136718750000 +294.118451514065 133013.562500000000 +295.120454982262 22502.744140625000 +296.122607984390 2357.932373046875 +313.039105768504 33266.000000000000 +314.042149111497 5168.000000000000 +315.036268416268 21007.242187500000 +316.038403197349 3302.000000000000 +317.033014483539 3862.000000000000 +321.227057921370 1381.000000000000 +327.007877449001 47611.566406250000 +328.011115186819 4973.000000000000 +329.004794999861 46547.000000000000 +330.008005603352 4737.000000000000 +331.001868162022 15538.000000000000 +332.004876313775 1480.000000000000 +333.003299668985 2744.071777343750 +335.018886982057 3585.000000000000 +337.016084576435 2205.000000000000 +339.994390073568 1754.000000000000 +348.988792788967 6573.000000000000 +350.986916484867 6721.000000000000 +352.984603835989 2083.000000000000 +354.041095041215 1340.092163085938 +356.039619641072 1269.081298828125 +372.065048824891 6209.586914062500 +374.062468004687 6086.000000000000 +376.059148229590 1968.000000000000 +392.045330940334 2193.000000000000 +395.067648242738 2230.000000000000 +397.066134815272 1581.000000000000 +426.930515343123 1306.000000000000 +426.976513054277 1169.811889648438 +428.927149366436 1298.000000000000 +430.886640350010 1403.000000000000 +445.118913900930 2269.000000000000 +491.969645058197 1379.000000000000 +505.851389825487 3789.000000000000 +522.878326149515 1800.000000000000 +536.163456762234 4427.000000000000 +537.165324404735 2206.000000000000 +538.161529742511 1590.843383789062 +544.337468455008 1195.000000000000 +546.914116937371 2559.000000000000 +547.911876414748 1196.000000000000 +610.180850219782 2080.000000000000 +611.182328195703 1214.000000000000 +645.154717656738 8484.000000000000 +646.158700037782 2782.000000000000 +647.152980374288 9942.000000000000 +648.155555240546 3294.000000000000 +649.150621117204 4284.000000000000 +650.152709955400 1200.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=664 experiment=4 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=664 experiment=4_0 +##scan 58 +##specref ms_run[1]:sample=1 period=1 cycle=664 experiment=4 +67.052860010023 60.000000000000 +67.055622152498 60.000000000000 +81.069428964487 45.000000000000 +81.077587109471 45.000000000000 +103.058281594513 30.000000000000 +110.998196456129 30.000000000000 +111.009859654407 30.000000000000 +138.996284531066 60.000000000000 +139.011800641272 60.000000000000 +150.023220788635 30.000000000000 +152.066111503787 45.000000000000 +153.067329858556 30.000000000000 +156.959221707615 1422.000000000000 +158.975323377537 573.000000000000 +167.998485094510 75.000000000000 +168.054963100567 45.000000000000 +170.978736884857 30.000000000000 +170.989580124746 30.000000000000 +172.952683092322 15.000000000000 +172.994922272365 30.000000000000 +174.970336993994 45.000000000000 +178.078063806293 150.000000000000 +179.083834729450 180.000000000000 +182.975542373838 150.000000000000 +184.954422686375 1843.000000000000 +184.992879568467 48.715236663818 +186.968700625415 75.000000000000 +194.975613857505 30.000000000000 +194.991095982443 30.000000000000 +196.990058954009 60.000000000000 +199.008102021282 45.000000000000 +199.030178886815 45.000000000000 +201.048040457878 30.000000000000 +202.965285319444 45.000000000000 +204.036034755587 90.000000000000 +207.082759367559 30.000000000000 +208.990721337596 30.000000000000 +212.950645803637 1638.000000000000 +212.986769086209 148.526763916016 +213.046844646179 90.000000000000 +213.955156667542 15.000000000000 +214.051741312846 150.000000000000 +214.966808128885 135.000000000000 +217.035226498901 30.000000000000 +223.003713665023 45.000000000000 +224.986874913994 60.000000000000 +230.919675166084 15.000000000000 +230.960902234020 405.000000000000 +232.066177190226 30.000000000000 +239.002766522535 165.000000000000 +239.042628345807 15.000000000000 +242.055948459935 75.000000000000 +249.024370713899 105.000000000000 +266.994560803543 160.405776977539 +267.030177175817 247.000000000000 +277.016316391148 75.000000000000 +295.030764387377 675.000000000000 +313.036686987791 210.000000000000 +>ms1peaks +52.005349834334 2531.576904296875 +52.017818445883 1415.950317382812 +53.013312992683 14436.391601562500 +53.850256514170 1311.865234375000 +54.009237809188 346906.656250000000 +55.005700977113 5493.924316406250 +55.011578128004 6377.684570312500 +55.053978874167 1984.071533203125 +55.933999133980 6168.766601562500 +56.049511919157 2977.762207031250 +56.942056567735 2284.776855468750 +59.049350876787 53629.328125000000 +60.044322757483 8600.164062500000 +61.039156449004 1644.316650390625 +63.997508188870 3394.982910156250 +64.005057234464 4259.679687500000 +67.029035810216 2293.846923828125 +68.011280581573 27100.835937500000 +68.993371510951 13738.876953125000 +69.007497995886 1441.296142578125 +69.044403084909 13070.419921875000 +72.936195718172 2643.000000000000 +73.063931102643 1919.621459960938 +76.486167754556 1986.000000000000 +79.020619039319 14111.753906250000 +80.048823728166 11369.215820312500 +81.936905757296 8703.630859375000 +82.996214707689 8986.651367187500 +87.054271044459 1595.093627929688 +89.505822079267 1760.000000000000 +90.488874903389 1822.018798828125 +91.053163445835 1300.610839843750 +95.952331345900 2696.000000000000 +97.967781752031 7299.724609375000 +98.982987677469 4854.522460937500 +102.090290867080 1906.000000000000 +109.942394870381 1583.000000000000 +113.962086127466 2074.000000000000 +114.090395399108 10058.849609375000 +118.084999014032 6547.758789062500 +122.095088721755 3711.124511718750 +122.962603857586 10794.167968750000 +123.090649527845 1803.942016601562 +123.961855384374 1203.000000000000 +130.157739418261 1256.000000000000 +136.020039379796 2083.000000000000 +136.110849290905 1530.000000000000 +141.089744053815 1237.175415039062 +141.111592847426 1371.696777343750 +141.957218960001 15367.227539062500 +147.090011968413 2463.000000000000 +149.021828990169 4784.995605468750 +149.041466762922 2472.640625000000 +151.095944798794 2940.508300781250 +151.109341918543 3165.085693359375 +155.069344508958 1582.135864257812 +155.105135879836 1693.281616210938 +155.972287468254 4554.340332031250 +158.152759351824 13585.107421875000 +159.156196357366 1465.921386718750 +159.967851357038 1225.276977539062 +161.095405694183 1641.000000000000 +164.141615127090 1478.434814453125 +170.094609622000 2457.688476562500 +171.141467030026 1915.000000000000 +173.079379445344 6273.838867187500 +174.990844938283 15688.865234375000 +176.987639364551 5360.525878906250 +177.052467267277 1475.000000000000 +178.157540067017 1547.000000000000 +179.105091602082 3287.998779296875 +182.959873591311 1986.817871093750 +186.220399692631 1658.000000000000 +194.115345005627 3116.000000000000 +195.120929712058 1968.662841796875 +198.184276303297 2015.000000000000 +217.105977610050 20924.755859375000 +218.108820705353 2495.792236328125 +219.094022022929 1823.679443359375 +228.194066029155 1666.038696289062 +239.087872978056 3722.000000000000 +242.282423819470 1362.000000000000 +246.860857987495 3450.000000000000 +249.182928857496 1266.000000000000 +250.177066939258 1504.335083007812 +250.999117678898 32221.000000000000 +252.001781095835 2314.000000000000 +252.995932699016 21462.000000000000 +253.998953923887 1371.000000000000 +254.993033756740 3403.000000000000 +267.170032496706 1345.000000000000 +279.092268016151 1928.000000000000 +281.050459546987 1487.000000000000 +286.178655880094 23309.207031250000 +287.182133845414 5196.471191406250 +291.235317712341 1559.882568359375 +292.121093988068 399090.000000000000 +292.982663908460 1255.682128906250 +293.023857907805 1542.287597656250 +293.121921829592 49425.335937500000 +294.117639052994 123150.929687500000 +295.119583284786 21162.347656250000 +296.122453171108 2024.725219726562 +304.297977116061 1205.098876953125 +311.183844763032 2282.703613281250 +313.038450493324 32210.287109375000 +314.041319280533 5035.671875000000 +315.035461346507 21071.000000000000 +316.038196392607 3544.000000000000 +317.032926032719 3656.000000000000 +327.007662782866 46713.000000000000 +328.009753952920 4731.131347656250 +329.004141727930 46254.000000000000 +330.006788270317 4440.000000000000 +331.000792355787 15238.000000000000 +332.003743171067 1635.000000000000 +333.001048030235 2840.547363281250 +335.018066518429 3857.000000000000 +337.016490283319 2257.000000000000 +348.988206068721 7382.000000000000 +350.985085465325 7259.000000000000 +352.983081816715 2462.000000000000 +354.041092701990 1411.000000000000 +358.095358680256 1344.000000000000 +372.064528986026 6467.495117187500 +374.061053722203 5695.000000000000 +376.059656060961 2211.000000000000 +392.044067632616 2143.000000000000 +395.066337210837 2288.000000000000 +397.065352026340 1841.000000000000 +428.895605409648 1348.684326171875 +428.927859796300 1412.000000000000 +445.117454275133 2106.000000000000 +491.967681975778 1277.000000000000 +505.850908455770 4139.747558593750 +522.876740252438 1800.000000000000 +536.161867901498 4607.000000000000 +537.162257475039 2465.000000000000 +538.160527239899 1695.000000000000 +544.336437856300 1324.164184570312 +546.911854407175 2375.000000000000 +547.911013918907 1216.000000000000 +610.179211400596 2165.000000000000 +611.181197363117 1284.000000000000 +645.153892760480 7294.000000000000 +646.156182811867 3135.000000000000 +647.151735773867 8987.490234375000 +648.154489817139 3184.000000000000 +649.150180493474 3821.591308593750 +650.151352616891 1194.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=665 experiment=6 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=665 experiment=6_0 +##scan 69 +##specref ms_run[1]:sample=1 period=1 cycle=665 experiment=6 +67.053909584653 45.000000000000 +69.033542873165 13.000000000000 +79.058030256646 30.000000000000 +81.071734674950 30.000000000000 +81.077520980836 30.000000000000 +91.053098777872 13.000000000000 +109.060313103905 13.000000000000 +138.993471049311 30.000000000000 +149.023896935008 30.000000000000 +150.017107851047 13.000000000000 +156.959451948594 749.000000000000 +158.976159750666 460.000000000000 +162.031570235371 30.000000000000 +162.399240446876 13.000000000000 +170.977950756921 45.000000000000 +172.956036470090 75.000000000000 +174.971632752174 120.000000000000 +178.077461386559 45.000000000000 +179.086561839318 165.000000000000 +182.975030642321 45.000000000000 +184.955502967338 896.000000000000 +184.992605516328 30.000000000000 +191.998848071163 30.000000000000 +196.997306173106 60.000000000000 +199.034660593666 45.000000000000 +200.984079860705 30.000000000000 +202.966246576670 45.000000000000 +210.115748455489 13.000000000000 +212.949562579619 1107.000000000000 +214.056205506006 60.000000000000 +214.966968499949 90.000000000000 +215.063547094064 30.000000000000 +217.046765511981 30.000000000000 +223.009125324614 45.000000000000 +225.026448920531 30.000000000000 +230.959952529606 285.000000000000 +239.005060800584 75.000000000000 +239.038323483484 100.378295898438 +248.980307720551 35.114593505859 +249.019654122443 105.000000000000 +252.013840214424 30.000000000000 +252.973787534598 13.000000000000 +267.032662567266 345.000000000000 +277.013441128794 30.000000000000 +295.029124243952 728.000000000000 +313.006618779013 150.000000000000 +313.040296521628 165.000000000000 +>compound 1_5585685219772452827-657005--4--Guthion +>parentmass 318.012862565976 +>ionization [M+H]1+ +>formula C10H12N3O3PS2 +>charge 1 +>rt 431.866000000020 +##fmz 318.012862565976377 +##fid 5585685219772452827 +##des Guthion +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +318.012862565976 47593.132286356151 +>ms1peaks +52.005865355475 2936.356689453125 +53.013723515258 15168.868164062500 +53.850400239168 1357.829345703125 +54.009447090145 347607.156250000000 +55.006110218286 6238.441894531250 +55.011508541956 7268.958007812500 +55.054636618089 2136.000000000000 +55.934309116073 6532.552734375000 +56.942275933353 2612.874023437500 +59.049622158630 56011.429687500000 +60.044524012498 9000.792968750000 +61.039481839151 1786.074829101562 +63.997449394256 3736.165039062500 +64.005109595772 4712.666015625000 +68.011792039005 26707.251953125000 +68.993702477550 13633.019531250000 +69.008646447254 1441.886596679688 +69.044733608562 13552.908203125000 +69.494666168807 1088.000000000000 +72.044289477019 1134.000000000000 +72.936653378507 2379.292724609375 +73.064314657279 1947.000000000000 +76.486410468336 2230.000000000000 +77.038532396207 1590.778686523438 +79.021074679723 14557.214843750000 +80.049121781728 13038.990234375000 +81.937384309880 9136.173828125000 +82.996771559276 9647.291015625000 +87.044032478393 1164.202392578125 +87.055030197874 1937.880737304688 +89.506480817586 1633.000000000000 +90.489144644798 1823.000000000000 +91.053978578614 1481.000000000000 +95.952653475183 2798.568603515625 +97.968242662562 7804.676269531250 +100.075124666224 1357.000000000000 +102.091023963336 2105.000000000000 +109.943015773476 1849.492675781250 +113.963173340819 2146.000000000000 +114.091149027124 11434.439453125000 +118.085562888545 7126.602050781250 +122.095450971812 3351.000000000000 +122.963406396921 11429.592773437500 +123.091816714399 1461.405029296875 +123.962989553704 1162.000000000000 +132.043858137010 23466.287109375000 +133.047312261130 2601.019775390625 +136.020979409517 1763.000000000000 +136.111376584671 1338.000000000000 +141.090631531290 1452.329956054688 +141.112250777587 1933.171752929688 +141.957805111647 16272.520507812500 +142.960130525273 1091.785766601562 +147.090889713370 2561.000000000000 +149.022860382613 8952.703125000000 +149.043461527452 2074.399169921875 +151.096439801801 2539.815917968750 +151.111209143750 2693.475830078125 +155.070028482861 1787.522338867188 +155.105375703160 1554.431030273438 +155.973268704769 4467.000000000000 +158.002234575261 1123.180664062500 +158.153819790011 15565.543945312500 +159.136830576290 1251.366088867188 +159.156929350810 1638.817993164062 +159.968015589745 1144.587158203125 +160.050107538005 10862.000000000000 +161.095753069011 1987.528442382812 +163.130314304873 1321.613403320312 +164.142207413101 1344.506469726562 +170.096003050047 2831.750244140625 +170.116393016687 1241.047485351562 +170.969308188165 1467.000000000000 +171.138824143644 1976.471679687500 +172.132816514555 1070.000000000000 +172.169354072833 1126.623413085938 +173.080592066342 7150.673339843750 +174.127101054123 1093.000000000000 +174.991572624579 1115.259887695312 +175.117966507653 1382.413574218750 +177.053956263481 3086.000000000000 +178.158743604693 1737.946655273438 +179.106488149861 2092.017333984375 +182.961571664514 1566.125366210938 +182.982955367691 1389.804321289062 +186.221312636852 2310.000000000000 +194.116506735598 3012.142089843750 +195.121983568600 1971.532348632812 +198.184492106186 2254.000000000000 +199.168659259112 1074.472778320312 +200.200544607050 1265.000000000000 +209.152957718499 1444.000000000000 +215.126858142678 1195.000000000000 +217.107186196782 24662.302734375000 +218.110233972313 2772.000000000000 +219.095202240315 3180.013427734375 +219.137164883586 1444.293090820312 +224.128646207474 1167.206176757812 +228.196369189320 1732.199340820312 +235.170060948981 1264.538574218750 +236.167946332224 2704.449462890625 +239.089160494599 5259.000000000000 +240.068219796793 1277.484863281250 +240.091769691182 1359.958740234375 +242.284200605489 1137.000000000000 +246.863294404574 3891.000000000000 +249.184938071857 1294.474121093750 +250.177914710678 1312.000000000000 +250.999736865556 2366.000000000000 +251.185303455126 1195.000000000000 +252.996845199048 1725.000000000000 +260.980831135670 9681.000000000000 +262.976934337234 1074.000000000000 +267.172286092444 1268.487426757812 +279.093453473919 1954.000000000000 +281.051187832394 1373.000000000000 +287.889696989575 1142.000000000000 +318.012975056617 4878.000000000000 +327.008528574617 3507.000000000000 +329.005288792022 3151.000000000000 +339.995536258518 21188.000000000000 +340.998304727292 3403.000000000000 +341.991615450972 1965.000000000000 +351.928765172494 2752.000000000000 +353.925863637500 1287.000000000000 +355.970345025132 1233.272216796875 +363.071463720139 4333.000000000000 +371.315937786641 1386.000000000000 +379.934517326720 2414.000000000000 +381.932765584480 1355.000000000000 +430.887891579421 1170.000000000000 +445.119501835711 2373.000000000000 +503.857852657168 1208.000000000000 +505.853144541362 5379.000000000000 +506.854406933930 1813.000000000000 +522.880381915172 2380.000000000000 +523.873038712107 1344.000000000000 +529.890971881918 1718.000000000000 +536.164830382665 5050.000000000000 +537.165530578391 2568.000000000000 +538.164082153377 1889.000000000000 +542.919791547930 1233.000000000000 +544.340309842267 1260.000000000000 +544.916740966050 1184.000000000000 +546.914239791284 3795.000000000000 +547.912822025670 1609.000000000000 +563.944002995814 1077.258789062500 +610.183402350979 1851.000000000000 +611.184706508494 1107.000000000000 +696.940078237106 1408.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=657 experiment=5 +##m_id Guthion_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=657 experiment=5_0 +##scan 4 +##specref ms_run[1]:sample=1 period=1 cycle=657 experiment=5 +51.024411650566 166.000000000000 +77.038595873029 3035.000000000000 +78.994852705761 195.000000000000 +102.033579338103 169.000000000000 +104.050175822373 488.000000000000 +105.032352182141 910.895751953125 +124.981761234611 1563.000000000000 +130.038666860551 105.000000000000 +132.043763332558 1142.000000000000 +167.019219324624 150.000000000000 +>ms1peaks +52.005717667707 2536.876953125000 +53.013645918459 13517.719726562500 +53.851091408425 1440.814208984375 +54.009479564739 340518.468750000000 +55.006713705873 6189.195800781250 +55.011648330739 5775.918945312500 +55.054395080163 1937.021850585938 +55.934309790351 6216.487304687500 +56.049851096555 1422.552856445312 +56.942103151176 2497.945800781250 +59.049782018324 63557.187500000000 +60.044617957556 9127.332031250000 +61.039564209817 1916.918579101562 +63.998058629288 4341.631347656250 +64.005180932598 4902.907226562500 +68.011727932833 27051.191406250000 +68.994002789359 13611.511718750000 +69.034264524552 2235.962402343750 +69.044867744672 14147.763671875000 +72.936875253829 3080.500976562500 +73.064425531348 1778.781250000000 +76.486297547963 2075.000000000000 +77.038265451054 5099.881835937500 +79.021270792779 14303.786132812500 +80.049179511142 11132.483398437500 +81.937187525733 8269.017578125000 +82.996616277972 9058.604492187500 +87.055191552618 1226.265625000000 +89.506723502083 2138.000000000000 +90.489274059111 1883.000000000000 +91.053872057085 1250.000000000000 +95.952563443877 2416.907226562500 +97.968351278732 7414.000000000000 +102.091075578098 2124.000000000000 +104.049176798538 2869.822265625000 +105.032824057535 2268.302246093750 +109.942659719793 1552.503417968750 +113.963028919819 2876.313476562500 +114.091047730204 9707.000000000000 +118.085960022478 6202.343750000000 +122.095829000463 3354.874755859375 +122.963603572159 10189.080078125000 +123.091990223840 1658.215576171875 +123.962908276753 1264.000000000000 +124.961981387844 1248.617553710938 +124.981468335431 3929.697021484375 +132.044195947098 93934.070312500000 +133.046929709006 8774.461914062500 +136.020849942089 1733.000000000000 +136.111849813683 1360.000000000000 +139.963062553447 1109.337646484375 +141.090358589210 1395.717041015625 +141.112852312471 1316.060180664062 +141.957905703603 16856.453125000000 +142.959660117555 1253.947509765625 +147.090758649450 2468.091308593750 +149.023008191796 6552.861328125000 +150.054483884674 1381.879394531250 +151.096258773620 2499.016357421875 +151.110632987131 2703.097412109375 +153.126579038194 1175.000000000000 +155.069775153959 1603.251586914062 +155.105765884478 1708.284912109375 +155.973825500886 4965.000000000000 +158.002736417151 1095.759399414062 +158.153601610996 15319.201171875000 +159.156377711765 1693.013305664062 +160.050203671116 29808.187500000000 +161.053148014827 2780.099853515625 +161.095739798824 1801.900268554688 +164.143136174419 1163.970947265625 +167.016142798795 1938.000000000000 +170.095669159809 2557.841796875000 +170.116803885810 1136.247192382812 +170.969513731195 5351.000000000000 +171.138682297569 3310.690673828125 +172.133498266589 1186.970092773438 +172.168816609007 1753.000000000000 +173.079889235839 8137.424804687500 +174.127584523158 1118.000000000000 +177.053398759750 2010.000000000000 +178.158757601913 1500.698242187500 +179.105540802675 2172.262695312500 +182.961283063703 1745.384643554688 +186.221178069795 1622.000000000000 +194.116354222571 3003.000000000000 +195.102160721940 1637.390014648438 +195.121964321705 2114.307128906250 +198.185094857026 2154.000000000000 +209.152949152955 1423.597534179688 +217.106757414349 22820.371093750000 +218.109717212262 2365.715332031250 +219.095322856019 2839.912353515625 +224.127859164514 1268.000000000000 +228.195125596876 1796.750244140625 +235.168738541554 1153.106201171875 +236.167125665018 2147.822998046875 +239.089167868946 3697.000000000000 +242.283752097581 1331.000000000000 +246.862020032552 3643.000000000000 +249.184726675759 1740.000000000000 +250.176839865775 1269.149047851562 +251.000052262976 1835.000000000000 +251.185199846439 1143.344848632812 +252.997000735520 1613.000000000000 +253.915053857069 3181.000000000000 +260.980520936940 34136.089843750000 +261.983107472769 3914.000000000000 +262.975908361642 3711.000000000000 +267.171176133304 1190.000000000000 +279.094069923914 2218.000000000000 +281.050366742298 1525.000000000000 +304.299335403967 1178.000000000000 +318.012807082281 13905.000000000000 +319.015812641865 1771.000000000000 +320.009779889072 1411.312622070312 +324.021497063862 2274.000000000000 +327.008303487350 3194.000000000000 +329.005675073912 3118.000000000000 +339.995324080662 63593.000000000000 +340.998247708453 9047.660156250000 +341.991464705082 6892.000000000000 +351.928380615899 5009.000000000000 +353.925994810456 2303.000000000000 +355.968410053379 3129.565673828125 +363.070877703428 10529.000000000000 +364.073137490148 1819.000000000000 +379.934530374708 4270.000000000000 +381.931407641533 2153.000000000000 +445.120046493581 2353.000000000000 +503.859909772363 1436.000000000000 +505.853063220538 5926.000000000000 +506.854048759295 1904.000000000000 +519.139384687535 1126.000000000000 +522.880368766100 2806.000000000000 +523.877736811317 1418.000000000000 +529.888748439098 1722.000000000000 +536.165143915241 4925.000000000000 +537.165086990853 2707.000000000000 +538.162296228146 1762.000000000000 +542.921174254561 1132.000000000000 +543.918003709155 1152.000000000000 +546.914886995490 3416.000000000000 +547.912219447510 1693.000000000000 +563.943181698806 1223.378784179688 +610.184322938020 2314.000000000000 +611.184296206340 1322.000000000000 +657.001817843383 1409.000000000000 +696.940437510992 3603.000000000000 +698.940217154744 2331.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=658 experiment=6 +##m_id Guthion_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=658 experiment=6_0 +##scan 14 +##specref ms_run[1]:sample=1 period=1 cycle=658 experiment=6 +50.014691789931 30.000000000000 +50.024594232484 15.000000000000 +51.023487773864 693.360839843750 +55.057307673128 13.000000000000 +62.017416144800 60.000000000000 +62.022558150102 60.000000000000 +75.021910544523 45.000000000000 +76.969400380676 13.000000000000 +77.038719402888 7559.670898437500 +77.358766992240 13.000000000000 +77.908647248588 30.000000000000 +77.916409786540 30.000000000000 +78.032820819888 30.000000000000 +78.994535162676 491.007476806641 +92.024213095291 30.000000000000 +93.009414078685 30.000000000000 +101.731414730929 13.000000000000 +102.033724528028 301.612030029297 +103.740436291946 30.000000000000 +104.049620996277 2037.000000000000 +105.033096287295 2149.877929687500 +109.009378682469 13.000000000000 +110.990785884171 13.000000000000 +124.609786162675 45.000000000000 +124.982586564713 3771.000000000000 +130.038871325813 312.000000000000 +132.044466950146 3875.000000000000 +132.737736847345 13.000000000000 +133.059399526787 30.000000000000 +134.515630815072 13.000000000000 +135.045638388353 30.000000000000 +137.006358531913 180.000000000000 +151.992732393118 135.000000000000 +167.017809464954 504.000000000000 +167.975239069750 30.000000000000 +168.014364521589 15.000000000000 +182.994146815153 135.000000000000 +>ms1peaks +50.015030688094 1631.000000000000 +52.005691836328 2833.837890625000 +53.013678352050 13820.645507812500 +53.850930804944 1372.676147460938 +54.009488813193 341215.375000000000 +55.006244952468 6363.858398437500 +55.011195314574 6663.786621093750 +55.054435589179 2093.444580078125 +55.934214796378 6443.966308593750 +56.049418637710 1614.372314453125 +56.942077131072 2603.345458984375 +59.049684010496 67068.679687500000 +60.044674600260 8507.357421875000 +61.039576232541 1618.787597656250 +63.997953270808 4540.612304687500 +64.004984885183 4765.146484375000 +68.011730125352 26984.066406250000 +68.993758540617 13250.065429687500 +69.044639818678 13453.114257812500 +72.936865747985 3009.785888671875 +73.064487442720 1926.000000000000 +76.486106736487 2394.000000000000 +77.012975210189 1331.000000000000 +77.038245950909 6864.013671875000 +79.021170250218 14954.513671875000 +80.049055487900 12273.781250000000 +81.937167726085 8605.721679687500 +82.996581259270 9547.895507812500 +87.054493611252 1308.586669921875 +89.506388403917 1579.000000000000 +90.489379547455 1879.000000000000 +91.053817827625 1210.000000000000 +95.952611673257 2421.652587890625 +97.968325410624 7844.628906250000 +100.075376789744 1408.000000000000 +102.090940410850 1712.000000000000 +104.048827681379 4021.000000000000 +105.032851808396 3043.702148437500 +109.943040230612 1524.000000000000 +113.962743611150 2300.809326171875 +114.091086475065 10732.537109375000 +118.085604757949 6375.129394531250 +122.095612538633 3453.346191406250 +122.963478886657 10149.138671875000 +123.091154033496 1907.152587890625 +123.962085557178 1291.000000000000 +124.964032856960 1524.723510742188 +124.981293760905 5573.300781250000 +132.044243365317 129513.453125000000 +133.047275934233 12024.171875000000 +136.021338396786 1596.000000000000 +136.111611313675 1179.000000000000 +141.090513006913 1389.292724609375 +141.112565247916 1247.203857421875 +141.957978845995 16325.500000000000 +147.090945866648 2556.685302734375 +149.023028218992 6399.154296875000 +150.054262184195 1568.000000000000 +151.096430884077 2664.400390625000 +151.111011940160 2835.027587890625 +155.069438117684 1871.944824218750 +155.105960083325 1401.000000000000 +155.973753152622 4288.000000000000 +158.153627071218 14384.000000000000 +159.156473714741 1627.752929687500 +160.050487288307 38915.000000000000 +161.053611692746 4466.942382812500 +161.095700587134 1743.057495117188 +164.142944501592 1256.052368164062 +167.015735366166 2785.089599609375 +170.096151543720 2652.023193359375 +170.116409887737 1324.376464843750 +170.968993556255 7076.000000000000 +171.137671144810 4912.312011718750 +172.136045264128 1371.000000000000 +173.079830429233 8581.928710937500 +174.991306236853 1198.000000000000 +177.054219725911 1769.000000000000 +178.157947155736 1498.908447265625 +179.106050750592 1934.090454101562 +182.960933723657 1780.061523437500 +182.991388549794 1244.309082031250 +186.221152079128 2287.000000000000 +194.116900036921 2752.000000000000 +195.121615177487 1919.471069335938 +198.184412559940 2140.000000000000 +200.200455656322 1296.554199218750 +209.153704347399 1590.000000000000 +212.888258624179 1535.000000000000 +217.106944592366 24346.000000000000 +218.110517718319 2646.000000000000 +219.095540028475 2644.006591796875 +228.196097140190 1527.811645507812 +236.167749124378 1677.000000000000 +239.089312381813 3327.000000000000 +242.284215148787 1201.000000000000 +246.862288406064 3365.000000000000 +249.184532839914 1860.293334960938 +251.001107206325 2362.000000000000 +252.997444701878 1876.000000000000 +253.916335213075 4093.000000000000 +260.980865788213 46877.000000000000 +261.983931158765 5301.000000000000 +262.976772362746 4418.000000000000 +267.172661485943 1410.000000000000 +277.199859444074 2417.590087890625 +279.093448238935 1888.450561523438 +281.051163936397 1557.000000000000 +292.121170689402 15731.000000000000 +293.123945781771 2615.000000000000 +294.118820607873 4859.000000000000 +295.121821476430 1186.000000000000 +318.013460543863 19020.000000000000 +319.016226586969 2819.000000000000 +320.010792812476 1745.000000000000 +324.021120495162 2522.000000000000 +327.007928037291 3314.077636718750 +329.005428091932 3187.000000000000 +331.002680981835 1140.229492187500 +335.040406311528 1228.000000000000 +339.995783079981 73785.000000000000 +340.998517552508 10283.000000000000 +341.992089047450 7216.000000000000 +351.928943475892 4368.000000000000 +353.926519256680 2362.000000000000 +355.969819970535 3512.076416015625 +363.071778928522 11698.970703125000 +364.073181575102 1981.000000000000 +371.315525399960 1354.000000000000 +379.934529706961 4095.883300781250 +381.932716463007 2062.000000000000 +445.119746997025 2474.000000000000 +446.119291863183 1145.000000000000 +505.853826516954 4858.000000000000 +506.855308046231 1451.000000000000 +519.139330404280 1166.703979492188 +522.880837958116 1970.000000000000 +523.871380297922 1372.000000000000 +529.891671811182 1342.000000000000 +536.165890644769 5714.000000000000 +537.166372879728 2646.000000000000 +538.163391669663 2155.000000000000 +544.339624971493 1155.000000000000 +546.914039373140 3234.000000000000 +547.912958504845 1306.000000000000 +610.184280095073 1860.000000000000 +611.183517202231 1239.000000000000 +657.000223829242 1834.000000000000 +696.940499292838 3022.000000000000 +698.938485246113 2250.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=659 experiment=7 +##m_id Guthion_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=659 experiment=7_0 +##scan 24 +##specref ms_run[1]:sample=1 period=1 cycle=659 experiment=7 +50.011945356227 45.000000000000 +50.016256671506 49.487056732178 +50.022471395276 30.022994995117 +51.023137253924 713.147644042969 +62.018117926456 60.000000000000 +75.022593594554 90.000000000000 +77.038765619679 6198.346191406250 +78.994159655565 300.000000000000 +95.049659419828 45.000000000000 +102.032654025566 195.000000000000 +104.049320764675 2561.366455078125 +104.717611043490 45.000000000000 +105.033125946638 2057.047363281250 +105.058664010100 164.415649414062 +124.982069879350 3636.000000000000 +130.038883295770 336.000000000000 +132.044268805220 4731.000000000000 +137.005031295070 165.000000000000 +151.991870480462 135.000000000000 +167.017216144522 349.000000000000 +167.970809068710 90.000000000000 +170.968502602363 45.000000000000 +170.979804540922 45.000000000000 +182.992849568269 120.000000000000 +>compound 1_7960809195137357048-676005--122--Fenamiphos +>parentmass 326.094454354613 +>ionization [M+Na]1+ +>formula C13H22NO3PS +>charge 1 +>rt 447.100000000020 +##fmz 326.094454354612708 +##fid 7960809195137357048 +##des Fenamiphos +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +326.094454354613 187407.076838029287 +327.096383244799 30166.116877709566 +>ms1peaks +52.005351813457 2501.610107421875 +53.013412581284 13134.520507812500 +53.850226225992 1302.909057617188 +54.009140063564 338983.656250000000 +55.006042248338 6435.412597656250 +55.011148435189 6609.394042968750 +55.054172395822 1772.104248046875 +55.934029229957 5757.919921875000 +56.941868288709 2705.908203125000 +59.049392394217 65787.757812500000 +60.044197396550 9389.001953125000 +61.039698624921 1629.770751953125 +63.997582420249 4596.096191406250 +64.004915539546 4860.728515625000 +68.011405901665 27484.292968750000 +68.993238795734 11816.172851562500 +69.044514210085 12151.762695312500 +72.936346245282 1770.000000000000 +73.063844648998 1632.810180664062 +76.485866327556 2207.000000000000 +79.020638014668 15456.159179687500 +80.048700307132 11716.706054687500 +81.936658440041 8339.158203125000 +82.995849176432 8191.000000000000 +87.054215388379 1432.329345703125 +89.505806636870 1376.000000000000 +90.488666027165 1798.000000000000 +95.952211902793 2472.000000000000 +97.967974119285 6640.000000000000 +100.074558827800 1418.000000000000 +102.090063528932 1768.000000000000 +109.942148206295 1646.000000000000 +113.962810920920 1728.000976562500 +114.090265101894 9843.087890625000 +118.085166173822 5466.146972656250 +122.095082275611 3591.515380859375 +122.962671452755 9919.435546875000 +123.090603383338 1818.105346679688 +130.157985838236 1433.000000000000 +136.020144210415 1305.642211914062 +141.111768954054 1381.647338867188 +141.957291332652 13999.958984375000 +147.090365251433 2315.564941406250 +149.021998403294 4169.404296875000 +151.095653127576 2632.192382812500 +151.109600618565 2638.503906250000 +155.069049191990 1400.588378906250 +155.105221715370 1306.244873046875 +155.972774632456 3955.750244140625 +158.152847157321 10190.631835937500 +161.094883274868 1469.000000000000 +164.993233307885 1413.000000000000 +170.094756804200 2692.873779296875 +173.079096183490 5464.607421875000 +174.990754641374 1338.000000000000 +175.120920396226 1335.489135742188 +178.157288006504 1567.557739257812 +179.104881581157 1856.000000000000 +182.960071822982 1596.667236328125 +186.016812097735 3128.000000000000 +194.115183195725 3037.019042968750 +195.105676043577 1846.959228515625 +195.121034909827 2138.534667968750 +198.183715433637 1614.000000000000 +201.983396783946 6476.000000000000 +217.007534943089 16000.083984375000 +217.105603079000 12722.193359375000 +218.010461830348 1723.000000000000 +218.108916975941 1918.000000000000 +219.094207015885 1394.000000000000 +234.033666185649 17919.000000000000 +235.036061869219 1699.000000000000 +239.087710708037 2715.000000000000 +245.038087259231 3705.000000000000 +246.860587751512 3017.000000000000 +250.998652800198 2461.000000000000 +252.996040050118 1751.000000000000 +262.065226573716 31878.271484375000 +263.067812997194 3540.000000000000 +264.062744585962 1732.000000000000 +276.080875651007 47441.000000000000 +277.083729023421 6202.904296875000 +278.078049070253 2909.805664062500 +279.092264164105 2269.000000000000 +281.049607531965 1759.000000000000 +284.163709253010 5971.317382812500 +285.167422523505 1450.937500000000 +289.120547785899 45105.261718750000 +290.122834000335 8899.000000000000 +291.118148964330 16223.000000000000 +292.119468760172 3916.748291015625 +303.104211105075 4272.900878906250 +303.190626643079 3701.817626953125 +304.121038021889 1154982.000000000000 +304.680120827865 1361.469604492188 +304.720450396369 1578.193115234375 +304.756696628278 1464.135742187500 +304.826755934771 1415.802856445312 +304.888295222133 4211.749023437500 +304.975939340234 6444.747070312500 +305.112954471951 109660.976562500000 +306.110248734555 72833.000000000000 +307.111946842557 10169.579101562500 +307.247397220322 1757.839477539062 +310.120212483100 5088.000000000000 +320.107070842572 7286.000000000000 +321.109817317563 1634.396606445312 +321.134008500327 1645.504272460938 +326.094135509242 51581.214843750000 +327.006663634739 3305.288085937500 +327.096918826684 8025.063964843750 +328.090879363560 3401.237060546875 +329.002848029289 3721.000000000000 +330.204815446188 11820.952148437500 +331.208232327135 2889.000000000000 +342.067980362905 3189.395019531250 +349.169296376205 25098.000000000000 +350.172883605486 4323.000000000000 +351.167291455015 1724.000000000000 +372.149200119315 2817.477050781250 +404.036004100360 11013.000000000000 +405.038241871311 2224.679687500000 +424.359699824875 1469.000000000000 +445.117347283461 1962.204711914062 +500.274802921042 11554.163085937500 +501.277725760601 3400.000000000000 +502.286539956580 1910.000000000000 +505.850895564320 2188.000000000000 +536.162361057972 4668.000000000000 +537.163239801382 2428.000000000000 +538.161608472883 1869.000000000000 +544.336387601713 1598.000000000000 +546.911505452596 1493.000000000000 +549.965979448424 1640.000000000000 +592.225456903764 1675.000000000000 +607.216655018496 74091.000000000000 +608.219193446659 23449.000000000000 +609.215852555200 11438.528320312500 +610.208425679746 4454.000000000000 +611.188234775837 1805.798706054688 +612.220726308427 4082.000000000000 +613.224505418990 34075.000000000000 +614.227906702716 11171.000000000000 +615.225014693998 5343.000000000000 +623.210784148654 2510.000000000000 +629.198405169302 68640.000000000000 +630.201595235063 21340.328125000000 +631.198284234777 10581.000000000000 +632.198298853566 2483.000000000000 +707.140261218123 1384.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=676 experiment=5 +##m_id Fenamiphos_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=676 experiment=5_0 +##scan 122 +##specref ms_run[1]:sample=1 period=1 cycle=676 experiment=5 +135.110573680588 13.000000000000 +326.090792568903 90.000000000000 +>compound 1_1072340199693961134-657006--5--Guthion +>parentmass 339.995124103413 +>ionization [M+Na]1+ +>formula C10H12N3O3PS2 +>charge 1 +>rt 431.866000000020 +##fmz 339.99512410341282 +##fid 1072340199693961134 +##des Guthion +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +339.995124103413 202334.306264709012 +340.997818750530 28664.112314598762 +>ms1peaks +52.005865355475 2936.356689453125 +53.013723515258 15168.868164062500 +53.850400239168 1357.829345703125 +54.009447090145 347607.156250000000 +55.006110218286 6238.441894531250 +55.011508541956 7268.958007812500 +55.054636618089 2136.000000000000 +55.934309116073 6532.552734375000 +56.942275933353 2612.874023437500 +59.049622158630 56011.429687500000 +60.044524012498 9000.792968750000 +61.039481839151 1786.074829101562 +63.997449394256 3736.165039062500 +64.005109595772 4712.666015625000 +68.011792039005 26707.251953125000 +68.993702477550 13633.019531250000 +69.008646447254 1441.886596679688 +69.044733608562 13552.908203125000 +69.494666168807 1088.000000000000 +72.044289477019 1134.000000000000 +72.936653378507 2379.292724609375 +73.064314657279 1947.000000000000 +76.486410468336 2230.000000000000 +77.038532396207 1590.778686523438 +79.021074679723 14557.214843750000 +80.049121781728 13038.990234375000 +81.937384309880 9136.173828125000 +82.996771559276 9647.291015625000 +87.044032478393 1164.202392578125 +87.055030197874 1937.880737304688 +89.506480817586 1633.000000000000 +90.489144644798 1823.000000000000 +91.053978578614 1481.000000000000 +95.952653475183 2798.568603515625 +97.968242662562 7804.676269531250 +100.075124666224 1357.000000000000 +102.091023963336 2105.000000000000 +109.943015773476 1849.492675781250 +113.963173340819 2146.000000000000 +114.091149027124 11434.439453125000 +118.085562888545 7126.602050781250 +122.095450971812 3351.000000000000 +122.963406396921 11429.592773437500 +123.091816714399 1461.405029296875 +123.962989553704 1162.000000000000 +132.043858137010 23466.287109375000 +133.047312261130 2601.019775390625 +136.020979409517 1763.000000000000 +136.111376584671 1338.000000000000 +141.090631531290 1452.329956054688 +141.112250777587 1933.171752929688 +141.957805111647 16272.520507812500 +142.960130525273 1091.785766601562 +147.090889713370 2561.000000000000 +149.022860382613 8952.703125000000 +149.043461527452 2074.399169921875 +151.096439801801 2539.815917968750 +151.111209143750 2693.475830078125 +155.070028482861 1787.522338867188 +155.105375703160 1554.431030273438 +155.973268704769 4467.000000000000 +158.002234575261 1123.180664062500 +158.153819790011 15565.543945312500 +159.136830576290 1251.366088867188 +159.156929350810 1638.817993164062 +159.968015589745 1144.587158203125 +160.050107538005 10862.000000000000 +161.095753069011 1987.528442382812 +163.130314304873 1321.613403320312 +164.142207413101 1344.506469726562 +170.096003050047 2831.750244140625 +170.116393016687 1241.047485351562 +170.969308188165 1467.000000000000 +171.138824143644 1976.471679687500 +172.132816514555 1070.000000000000 +172.169354072833 1126.623413085938 +173.080592066342 7150.673339843750 +174.127101054123 1093.000000000000 +174.991572624579 1115.259887695312 +175.117966507653 1382.413574218750 +177.053956263481 3086.000000000000 +178.158743604693 1737.946655273438 +179.106488149861 2092.017333984375 +182.961571664514 1566.125366210938 +182.982955367691 1389.804321289062 +186.221312636852 2310.000000000000 +194.116506735598 3012.142089843750 +195.121983568600 1971.532348632812 +198.184492106186 2254.000000000000 +199.168659259112 1074.472778320312 +200.200544607050 1265.000000000000 +209.152957718499 1444.000000000000 +215.126858142678 1195.000000000000 +217.107186196782 24662.302734375000 +218.110233972313 2772.000000000000 +219.095202240315 3180.013427734375 +219.137164883586 1444.293090820312 +224.128646207474 1167.206176757812 +228.196369189320 1732.199340820312 +235.170060948981 1264.538574218750 +236.167946332224 2704.449462890625 +239.089160494599 5259.000000000000 +240.068219796793 1277.484863281250 +240.091769691182 1359.958740234375 +242.284200605489 1137.000000000000 +246.863294404574 3891.000000000000 +249.184938071857 1294.474121093750 +250.177914710678 1312.000000000000 +250.999736865556 2366.000000000000 +251.185303455126 1195.000000000000 +252.996845199048 1725.000000000000 +260.980831135670 9681.000000000000 +262.976934337234 1074.000000000000 +267.172286092444 1268.487426757812 +279.093453473919 1954.000000000000 +281.051187832394 1373.000000000000 +287.889696989575 1142.000000000000 +318.012975056617 4878.000000000000 +327.008528574617 3507.000000000000 +329.005288792022 3151.000000000000 +339.995536258518 21188.000000000000 +340.998304727292 3403.000000000000 +341.991615450972 1965.000000000000 +351.928765172494 2752.000000000000 +353.925863637500 1287.000000000000 +355.970345025132 1233.272216796875 +363.071463720139 4333.000000000000 +371.315937786641 1386.000000000000 +379.934517326720 2414.000000000000 +381.932765584480 1355.000000000000 +430.887891579421 1170.000000000000 +445.119501835711 2373.000000000000 +503.857852657168 1208.000000000000 +505.853144541362 5379.000000000000 +506.854406933930 1813.000000000000 +522.880381915172 2380.000000000000 +523.873038712107 1344.000000000000 +529.890971881918 1718.000000000000 +536.164830382665 5050.000000000000 +537.165530578391 2568.000000000000 +538.164082153377 1889.000000000000 +542.919791547930 1233.000000000000 +544.340309842267 1260.000000000000 +544.916740966050 1184.000000000000 +546.914239791284 3795.000000000000 +547.912822025670 1609.000000000000 +563.944002995814 1077.258789062500 +610.183402350979 1851.000000000000 +611.184706508494 1107.000000000000 +696.940078237106 1408.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=657 experiment=6 +##m_id Guthion_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=657 experiment=6_0 +##scan 5 +##specref ms_run[1]:sample=1 period=1 cycle=657 experiment=6 +50.015108090982 30.000000000000 +51.023164211064 180.000000000000 +77.038275757512 1908.000000000000 +95.059280397863 13.000000000000 +102.035255157111 75.000000000000 +104.049402590680 764.000000000000 +105.033036827807 713.000000000000 +124.990392017926 30.000000000000 +132.044138630021 3917.000000000000 +148.024481257446 45.000000000000 +160.052436120329 135.000000000000 +250.873112501629 13.000000000000 +>ms1peaks +52.005717667707 2536.876953125000 +53.013645918459 13517.719726562500 +53.851091408425 1440.814208984375 +54.009479564739 340518.468750000000 +55.006713705873 6189.195800781250 +55.011648330739 5775.918945312500 +55.054395080163 1937.021850585938 +55.934309790351 6216.487304687500 +56.049851096555 1422.552856445312 +56.942103151176 2497.945800781250 +59.049782018324 63557.187500000000 +60.044617957556 9127.332031250000 +61.039564209817 1916.918579101562 +63.998058629288 4341.631347656250 +64.005180932598 4902.907226562500 +68.011727932833 27051.191406250000 +68.994002789359 13611.511718750000 +69.034264524552 2235.962402343750 +69.044867744672 14147.763671875000 +72.936875253829 3080.500976562500 +73.064425531348 1778.781250000000 +76.486297547963 2075.000000000000 +77.038265451054 5099.881835937500 +79.021270792779 14303.786132812500 +80.049179511142 11132.483398437500 +81.937187525733 8269.017578125000 +82.996616277972 9058.604492187500 +87.055191552618 1226.265625000000 +89.506723502083 2138.000000000000 +90.489274059111 1883.000000000000 +91.053872057085 1250.000000000000 +95.952563443877 2416.907226562500 +97.968351278732 7414.000000000000 +102.091075578098 2124.000000000000 +104.049176798538 2869.822265625000 +105.032824057535 2268.302246093750 +109.942659719793 1552.503417968750 +113.963028919819 2876.313476562500 +114.091047730204 9707.000000000000 +118.085960022478 6202.343750000000 +122.095829000463 3354.874755859375 +122.963603572159 10189.080078125000 +123.091990223840 1658.215576171875 +123.962908276753 1264.000000000000 +124.961981387844 1248.617553710938 +124.981468335431 3929.697021484375 +132.044195947098 93934.070312500000 +133.046929709006 8774.461914062500 +136.020849942089 1733.000000000000 +136.111849813683 1360.000000000000 +139.963062553447 1109.337646484375 +141.090358589210 1395.717041015625 +141.112852312471 1316.060180664062 +141.957905703603 16856.453125000000 +142.959660117555 1253.947509765625 +147.090758649450 2468.091308593750 +149.023008191796 6552.861328125000 +150.054483884674 1381.879394531250 +151.096258773620 2499.016357421875 +151.110632987131 2703.097412109375 +153.126579038194 1175.000000000000 +155.069775153959 1603.251586914062 +155.105765884478 1708.284912109375 +155.973825500886 4965.000000000000 +158.002736417151 1095.759399414062 +158.153601610996 15319.201171875000 +159.156377711765 1693.013305664062 +160.050203671116 29808.187500000000 +161.053148014827 2780.099853515625 +161.095739798824 1801.900268554688 +164.143136174419 1163.970947265625 +167.016142798795 1938.000000000000 +170.095669159809 2557.841796875000 +170.116803885810 1136.247192382812 +170.969513731195 5351.000000000000 +171.138682297569 3310.690673828125 +172.133498266589 1186.970092773438 +172.168816609007 1753.000000000000 +173.079889235839 8137.424804687500 +174.127584523158 1118.000000000000 +177.053398759750 2010.000000000000 +178.158757601913 1500.698242187500 +179.105540802675 2172.262695312500 +182.961283063703 1745.384643554688 +186.221178069795 1622.000000000000 +194.116354222571 3003.000000000000 +195.102160721940 1637.390014648438 +195.121964321705 2114.307128906250 +198.185094857026 2154.000000000000 +209.152949152955 1423.597534179688 +217.106757414349 22820.371093750000 +218.109717212262 2365.715332031250 +219.095322856019 2839.912353515625 +224.127859164514 1268.000000000000 +228.195125596876 1796.750244140625 +235.168738541554 1153.106201171875 +236.167125665018 2147.822998046875 +239.089167868946 3697.000000000000 +242.283752097581 1331.000000000000 +246.862020032552 3643.000000000000 +249.184726675759 1740.000000000000 +250.176839865775 1269.149047851562 +251.000052262976 1835.000000000000 +251.185199846439 1143.344848632812 +252.997000735520 1613.000000000000 +253.915053857069 3181.000000000000 +260.980520936940 34136.089843750000 +261.983107472769 3914.000000000000 +262.975908361642 3711.000000000000 +267.171176133304 1190.000000000000 +279.094069923914 2218.000000000000 +281.050366742298 1525.000000000000 +304.299335403967 1178.000000000000 +318.012807082281 13905.000000000000 +319.015812641865 1771.000000000000 +320.009779889072 1411.312622070312 +324.021497063862 2274.000000000000 +327.008303487350 3194.000000000000 +329.005675073912 3118.000000000000 +339.995324080662 63593.000000000000 +340.998247708453 9047.660156250000 +341.991464705082 6892.000000000000 +351.928380615899 5009.000000000000 +353.925994810456 2303.000000000000 +355.968410053379 3129.565673828125 +363.070877703428 10529.000000000000 +364.073137490148 1819.000000000000 +379.934530374708 4270.000000000000 +381.931407641533 2153.000000000000 +445.120046493581 2353.000000000000 +503.859909772363 1436.000000000000 +505.853063220538 5926.000000000000 +506.854048759295 1904.000000000000 +519.139384687535 1126.000000000000 +522.880368766100 2806.000000000000 +523.877736811317 1418.000000000000 +529.888748439098 1722.000000000000 +536.165143915241 4925.000000000000 +537.165086990853 2707.000000000000 +538.162296228146 1762.000000000000 +542.921174254561 1132.000000000000 +543.918003709155 1152.000000000000 +546.914886995490 3416.000000000000 +547.912219447510 1693.000000000000 +563.943181698806 1223.378784179688 +610.184322938020 2314.000000000000 +611.184296206340 1322.000000000000 +657.001817843383 1409.000000000000 +696.940437510992 3603.000000000000 +698.940217154744 2331.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=658 experiment=7 +##m_id Guthion_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=658 experiment=7_0 +##scan 15 +##specref ms_run[1]:sample=1 period=1 cycle=658 experiment=7 +50.015107422585 45.000000000000 +51.023257171810 385.000000000000 +76.809444242167 45.000000000000 +76.816396118776 45.000000000000 +77.038638658533 3569.000000000000 +102.033997039434 120.000000000000 +103.741576634459 45.000000000000 +104.049277894383 1381.095214843750 +105.033422442588 1416.438964843750 +124.982582830443 75.000000000000 +130.038279917398 165.000000000000 +132.044560334103 4432.000000000000 +160.049869986071 120.000000000000 +>ms1peaks +50.015030688094 1631.000000000000 +52.005691836328 2833.837890625000 +53.013678352050 13820.645507812500 +53.850930804944 1372.676147460938 +54.009488813193 341215.375000000000 +55.006244952468 6363.858398437500 +55.011195314574 6663.786621093750 +55.054435589179 2093.444580078125 +55.934214796378 6443.966308593750 +56.049418637710 1614.372314453125 +56.942077131072 2603.345458984375 +59.049684010496 67068.679687500000 +60.044674600260 8507.357421875000 +61.039576232541 1618.787597656250 +63.997953270808 4540.612304687500 +64.004984885183 4765.146484375000 +68.011730125352 26984.066406250000 +68.993758540617 13250.065429687500 +69.044639818678 13453.114257812500 +72.936865747985 3009.785888671875 +73.064487442720 1926.000000000000 +76.486106736487 2394.000000000000 +77.012975210189 1331.000000000000 +77.038245950909 6864.013671875000 +79.021170250218 14954.513671875000 +80.049055487900 12273.781250000000 +81.937167726085 8605.721679687500 +82.996581259270 9547.895507812500 +87.054493611252 1308.586669921875 +89.506388403917 1579.000000000000 +90.489379547455 1879.000000000000 +91.053817827625 1210.000000000000 +95.952611673257 2421.652587890625 +97.968325410624 7844.628906250000 +100.075376789744 1408.000000000000 +102.090940410850 1712.000000000000 +104.048827681379 4021.000000000000 +105.032851808396 3043.702148437500 +109.943040230612 1524.000000000000 +113.962743611150 2300.809326171875 +114.091086475065 10732.537109375000 +118.085604757949 6375.129394531250 +122.095612538633 3453.346191406250 +122.963478886657 10149.138671875000 +123.091154033496 1907.152587890625 +123.962085557178 1291.000000000000 +124.964032856960 1524.723510742188 +124.981293760905 5573.300781250000 +132.044243365317 129513.453125000000 +133.047275934233 12024.171875000000 +136.021338396786 1596.000000000000 +136.111611313675 1179.000000000000 +141.090513006913 1389.292724609375 +141.112565247916 1247.203857421875 +141.957978845995 16325.500000000000 +147.090945866648 2556.685302734375 +149.023028218992 6399.154296875000 +150.054262184195 1568.000000000000 +151.096430884077 2664.400390625000 +151.111011940160 2835.027587890625 +155.069438117684 1871.944824218750 +155.105960083325 1401.000000000000 +155.973753152622 4288.000000000000 +158.153627071218 14384.000000000000 +159.156473714741 1627.752929687500 +160.050487288307 38915.000000000000 +161.053611692746 4466.942382812500 +161.095700587134 1743.057495117188 +164.142944501592 1256.052368164062 +167.015735366166 2785.089599609375 +170.096151543720 2652.023193359375 +170.116409887737 1324.376464843750 +170.968993556255 7076.000000000000 +171.137671144810 4912.312011718750 +172.136045264128 1371.000000000000 +173.079830429233 8581.928710937500 +174.991306236853 1198.000000000000 +177.054219725911 1769.000000000000 +178.157947155736 1498.908447265625 +179.106050750592 1934.090454101562 +182.960933723657 1780.061523437500 +182.991388549794 1244.309082031250 +186.221152079128 2287.000000000000 +194.116900036921 2752.000000000000 +195.121615177487 1919.471069335938 +198.184412559940 2140.000000000000 +200.200455656322 1296.554199218750 +209.153704347399 1590.000000000000 +212.888258624179 1535.000000000000 +217.106944592366 24346.000000000000 +218.110517718319 2646.000000000000 +219.095540028475 2644.006591796875 +228.196097140190 1527.811645507812 +236.167749124378 1677.000000000000 +239.089312381813 3327.000000000000 +242.284215148787 1201.000000000000 +246.862288406064 3365.000000000000 +249.184532839914 1860.293334960938 +251.001107206325 2362.000000000000 +252.997444701878 1876.000000000000 +253.916335213075 4093.000000000000 +260.980865788213 46877.000000000000 +261.983931158765 5301.000000000000 +262.976772362746 4418.000000000000 +267.172661485943 1410.000000000000 +277.199859444074 2417.590087890625 +279.093448238935 1888.450561523438 +281.051163936397 1557.000000000000 +292.121170689402 15731.000000000000 +293.123945781771 2615.000000000000 +294.118820607873 4859.000000000000 +295.121821476430 1186.000000000000 +318.013460543863 19020.000000000000 +319.016226586969 2819.000000000000 +320.010792812476 1745.000000000000 +324.021120495162 2522.000000000000 +327.007928037291 3314.077636718750 +329.005428091932 3187.000000000000 +331.002680981835 1140.229492187500 +335.040406311528 1228.000000000000 +339.995783079981 73785.000000000000 +340.998517552508 10283.000000000000 +341.992089047450 7216.000000000000 +351.928943475892 4368.000000000000 +353.926519256680 2362.000000000000 +355.969819970535 3512.076416015625 +363.071778928522 11698.970703125000 +364.073181575102 1981.000000000000 +371.315525399960 1354.000000000000 +379.934529706961 4095.883300781250 +381.932716463007 2062.000000000000 +445.119746997025 2474.000000000000 +446.119291863183 1145.000000000000 +505.853826516954 4858.000000000000 +506.855308046231 1451.000000000000 +519.139330404280 1166.703979492188 +522.880837958116 1970.000000000000 +523.871380297922 1372.000000000000 +529.891671811182 1342.000000000000 +536.165890644769 5714.000000000000 +537.166372879728 2646.000000000000 +538.163391669663 2155.000000000000 +544.339624971493 1155.000000000000 +546.914039373140 3234.000000000000 +547.912958504845 1306.000000000000 +610.184280095073 1860.000000000000 +611.183517202231 1239.000000000000 +657.000223829242 1834.000000000000 +696.940499292838 3022.000000000000 +698.938485246113 2250.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=659 experiment=8 +##m_id Guthion_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=659 experiment=8_0 +##scan 25 +##specref ms_run[1]:sample=1 period=1 cycle=659 experiment=8 +50.020070819941 30.000000000000 +51.023482850302 195.000000000000 +77.038364033267 3246.000000000000 +78.033404846471 30.000000000000 +78.552620684994 15.000000000000 +102.032982714874 90.000000000000 +104.048728147669 1394.000000000000 +105.032731936693 1151.000000000000 +124.980669674857 90.000000000000 +130.042013539390 75.000000000000 +131.642901555616 30.000000000000 +132.044319218476 4842.849121093750 +148.019756120458 30.000000000000 +160.051798718236 120.000000000000 +>compound 1_15110953643123771443-674006--105--UNKNOWN +>parentmass 349.169536935035 +>ionization [M+Na]1+ +>charge 1 +>rt 447.100000000020 +##fmz 349.169536935035183 +##fid 15110953643123771443 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +349.169536935035 78624.106478969305 +>ms1peaks +52.005592753043 3006.313964843750 +53.013386604926 14895.982421875000 +53.850307885580 1282.519653320312 +54.009266588925 342199.718750000000 +55.006082581110 6060.072753906250 +55.011283454187 6240.310058593750 +55.054294821572 2210.000000000000 +55.934096145228 5628.309570312500 +56.941759312303 2162.160156250000 +59.049359471853 46694.679687500000 +60.044421789280 9540.689453125000 +61.039479760124 2294.308837890625 +63.997714272448 3712.306396484375 +64.004717741595 3776.877441406250 +68.011627587572 27064.916015625000 +68.993566533187 11389.638671875000 +69.008625246067 1040.924560546875 +69.044535203632 13668.087890625000 +72.936481622578 2454.600341796875 +73.064065589451 1403.865722656250 +76.486273965426 2375.015136718750 +79.020790259171 14203.234375000000 +80.049005926370 10670.580078125000 +81.936823889862 7769.677734375000 +82.996318430269 8831.000000000000 +87.043659684882 1291.933349609375 +87.054507882909 1447.717041015625 +89.506487543125 1968.296386718750 +90.489051431145 1567.000000000000 +91.053400164401 1256.000000000000 +95.952306311885 1977.000000000000 +97.968075016323 6813.626953125000 +100.074949120053 1188.000000000000 +102.090464066418 1830.000000000000 +109.942585550788 1505.090454101562 +113.962587921756 2250.229736328125 +114.090562200242 10307.702148437500 +118.085082878297 6730.000000000000 +122.095605127592 3465.000000000000 +122.963039812214 10185.000000000000 +123.091494988172 1608.787231445312 +129.051393255556 1096.195678710938 +130.157964856700 1224.000000000000 +136.020696393521 1628.173095703125 +136.111265586312 1351.884765625000 +137.963028699523 1044.000000000000 +141.090735684411 1400.241577148438 +141.111884779659 1559.751831054688 +141.936149934788 2056.103759765625 +141.957562608877 15536.687500000000 +147.090844143576 2684.000000000000 +149.022219076913 4357.918945312500 +149.040987249104 1837.193115234375 +151.095349881837 2305.082275390625 +151.109939199155 2576.997802734375 +155.068952001479 1217.608398437500 +155.105783696987 1630.887817382812 +155.972951860043 4015.000000000000 +158.153089325142 12131.025390625000 +159.156361011225 1282.655029296875 +161.095571014168 1849.739868164062 +164.142332600548 1475.398193359375 +170.095084317194 2525.529541015625 +171.146419276332 1492.000000000000 +172.132296924472 1198.192871093750 +173.080359168822 7163.493164062500 +174.127015852864 1059.000000000000 +174.990991861896 1587.000000000000 +178.157781317469 1624.536987304688 +179.105994436857 1966.000000000000 +182.960688878508 2338.556152343750 +182.982210678536 2178.232421875000 +186.220605721634 1746.000000000000 +194.115986578552 3414.184814453125 +195.121368448944 2440.554443359375 +198.184661469947 1850.538574218750 +200.200431422851 1250.850830078125 +201.983565637695 1125.000000000000 +217.006778563847 3269.000000000000 +217.106257896227 20478.425781250000 +218.109387671986 2700.000000000000 +219.094811619683 1568.384521484375 +224.126330250006 1136.363037109375 +228.195256821021 1364.000000000000 +234.034555602122 3162.000000000000 +235.168379942276 1059.765869140625 +239.088123273064 4617.123535156250 +242.283687547927 1626.000000000000 +246.861503474727 3165.000000000000 +249.183966936445 1338.000000000000 +250.178157580094 1268.000000000000 +250.999499019254 3169.000000000000 +251.184919733032 1121.084228515625 +252.996470645480 2204.000000000000 +262.065339439714 5824.345214843750 +267.170259991556 1568.463745117188 +276.081091674263 8173.000000000000 +277.057665923216 1209.618164062500 +277.085219951598 1293.623413085938 +279.093583842250 1859.000000000000 +281.050436828814 1462.000000000000 +284.164194797510 15720.000000000000 +285.167199045233 4022.000000000000 +286.177305853522 1891.670776367188 +292.120375414143 1944.000000000000 +303.190300317299 1143.297241210938 +304.113551407962 233981.000000000000 +305.115237199332 34039.113281250000 +306.110943955948 13933.000000000000 +307.113098422247 1919.696899414062 +307.246808467596 3300.572753906250 +310.120295757069 1681.000000000000 +320.107169971093 1195.785766601562 +326.095118441765 16572.000000000000 +327.007733661441 3760.000000000000 +327.095761410498 3082.000000000000 +328.091343004556 1205.000000000000 +329.005017718870 3936.000000000000 +330.206156493086 31473.623046875000 +331.001131359041 1283.000000000000 +331.208781030804 7087.107910156250 +332.212762979446 1049.000000000000 +342.069329790769 1871.000000000000 +349.169872251691 6112.673339843750 +350.172892076873 1285.000000000000 +352.188381138816 3463.990966796875 +352.237855065072 1571.586547851562 +380.335730124158 1272.000000000000 +404.036775645443 2150.000000000000 +445.119594711322 2089.000000000000 +487.229352410180 1300.347412109375 +500.276727311162 8288.133789062500 +501.279823879484 2533.000000000000 +502.288704966210 1392.000000000000 +505.852309070026 2882.000000000000 +522.878554007503 1334.599853515625 +536.164536908876 5057.000000000000 +537.165016352661 2456.000000000000 +538.163523094599 1972.255615234375 +544.338584253074 1675.149536132812 +546.914933234641 1855.000000000000 +607.218843523736 2732.000000000000 +610.184293153428 2142.000000000000 +611.183428881164 1140.000000000000 +612.185574985429 1243.000000000000 +613.226429565287 4419.000000000000 +614.228332015276 1213.785766601562 +629.199480533100 8990.000000000000 +630.203842344410 2729.000000000000 +631.198645508739 1426.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=674 experiment=6 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=674 experiment=6_0 +##scan 105 +##specref ms_run[1]:sample=1 period=1 cycle=674 experiment=6 +60.081311873120 317.000000000000 +107.048591987939 75.000000000000 +121.011185515683 45.000000000000 +137.042863316042 135.000000000000 +138.016928731083 75.000000000000 +139.019366132232 45.000000000000 +153.036359085879 180.000000000000 +155.052447162542 210.000000000000 +168.986017376512 270.000000000000 +184.982182920189 90.000000000000 +198.994924698980 120.000000000000 +200.998143970587 75.000000000000 +201.984368682258 2676.000000000000 +216.021457924153 75.000000000000 +216.350770868740 105.000000000000 +216.432740599583 30.000000000000 +216.450991207642 30.000000000000 +217.008052190453 11994.411132812500 +230.014504527888 75.000000000000 +233.328955599542 45.000000000000 +234.033967852197 2770.000000000000 +245.037925257354 135.000000000000 +262.065875378587 437.000000000000 +276.082025735516 1394.000000000000 +304.112103688826 1171.000000000000 +>ms1peaks +52.005429962927 2874.067626953125 +53.013488092548 14817.291015625000 +54.009250374962 334494.937500000000 +55.006084606761 5488.883300781250 +55.011047738293 6443.265136718750 +55.054381628314 2385.724365234375 +55.934070669618 5486.966796875000 +56.942036090778 2313.250244140625 +59.049556209203 57988.484375000000 +60.044347260401 9323.001953125000 +61.039167560780 1828.241455078125 +63.997923021227 4927.193359375000 +64.004932691950 5181.531250000000 +68.011552270537 27280.974609375000 +68.993634139472 11798.143554687500 +69.044334270747 12566.409179687500 +72.936570834957 2193.115966796875 +73.063872777826 1681.879882812500 +76.486053959604 2158.190429687500 +79.020753207512 16147.697265625000 +80.048886066869 12139.645507812500 +81.936907500524 8343.286132812500 +82.996250408243 8009.000000000000 +87.042980895665 1166.738403320312 +87.053972860944 1485.116088867188 +89.506705194324 1444.000000000000 +90.488891330057 1645.000000000000 +91.053476545401 1583.000000000000 +95.952210208006 2039.742797851562 +97.968150682366 6945.562500000000 +100.074718244150 1363.000000000000 +102.090306392772 1417.000000000000 +109.942448236827 1253.000000000000 +113.962708637249 2032.000000000000 +114.090792284548 10306.000000000000 +118.084892277491 5540.821289062500 +122.095166173318 3378.000000000000 +122.962913232208 9579.000000000000 +123.091195975991 1531.662963867188 +130.157764407919 1286.000000000000 +136.020428292954 1633.000000000000 +141.090127789620 1346.968627929688 +141.112042976374 1656.172241210938 +141.957142368171 13820.262695312500 +147.089971164701 2287.525390625000 +149.022027180229 4587.050292968750 +149.040978245649 2678.199707031250 +151.095856455214 2104.623291015625 +151.110429192129 2233.988037109375 +155.068837159282 1322.053710937500 +155.973356955881 4212.000000000000 +158.153011960091 10898.886718750000 +161.095284178342 1762.593994140625 +164.141720682546 1224.125244140625 +170.095143568643 2743.236816406250 +173.079445020465 6455.588378906250 +174.990181271009 1164.000000000000 +175.126264328958 1229.927246093750 +178.157011972493 1362.000000000000 +179.105369890054 1931.000000000000 +182.960638968270 1810.076538085938 +182.983125598895 1274.763061523438 +186.016954934375 1958.000000000000 +186.220415397417 1282.000000000000 +193.158240520354 1195.032958984375 +194.115937912419 2861.000000000000 +195.121022485646 2380.102539062500 +198.183707422577 1745.000000000000 +200.199383225092 1357.000000000000 +201.983259096536 4157.000000000000 +217.007242135614 11741.327148437500 +217.105963587093 15482.668945312500 +218.009949414252 1208.000000000000 +218.108958783015 2547.000000000000 +219.093633048806 1319.448730468750 +234.033582693957 12770.000000000000 +235.037603512480 1379.336669921875 +239.087766278998 3286.875732421875 +242.283333142943 1269.000000000000 +245.038366204801 2525.000000000000 +246.860868473188 2768.000000000000 +249.183726045021 1277.861328125000 +250.999502407170 2552.000000000000 +252.995631834554 1836.000000000000 +262.065239894604 21394.767578125000 +263.067572169870 2404.000000000000 +264.061891103771 1243.000000000000 +276.080813947841 32185.000000000000 +277.083963767141 4114.000000000000 +278.078054160446 2217.000000000000 +279.092495265569 1940.000000000000 +281.050419778851 1367.000000000000 +284.163590469925 9332.000000000000 +285.167331910184 2517.000000000000 +289.119964437534 1441.302978515625 +292.119508242518 1546.000000000000 +303.104642799152 3336.000000000000 +303.191168270618 2846.093505859375 +304.118917204532 886697.062500000000 +304.856339026942 1419.656616210938 +304.975022441588 5892.455566406250 +305.107897820025 60098.996093750000 +306.110158464267 52147.246093750000 +307.111260806590 6616.670410156250 +307.247283236566 2744.782226562500 +310.120139525907 4017.412597656250 +320.106832165572 5127.000000000000 +321.110457254103 1231.635253906250 +321.131042046566 1226.668579101562 +326.094185610162 39581.000000000000 +327.007439325330 3479.883544921875 +327.096485748553 6323.979980468750 +328.091424657873 2476.325927734375 +329.002736488496 3916.000000000000 +330.204957173578 17861.789062500000 +331.208137127779 4322.000000000000 +342.068068201427 2858.656982421875 +349.169386508932 18308.152343750000 +350.172289812388 3575.000000000000 +351.169114792649 1326.000000000000 +352.185338388432 1383.838623046875 +372.148023932598 2199.032714843750 +380.334421867930 1500.000000000000 +404.036203084131 8110.000000000000 +405.038280600419 1614.000000000000 +445.117639958471 2103.000000000000 +500.274765830931 9506.000000000000 +501.278189264574 2845.197509765625 +502.287108152553 1738.000000000000 +505.850965822120 2506.000000000000 +536.163265279090 5123.811523437500 +537.164206705990 2452.000000000000 +538.160787955733 1794.000000000000 +544.336478775213 1764.000000000000 +546.913227478942 1570.434814453125 +549.964589119831 1398.000000000000 +607.215848916045 42716.000000000000 +608.219229396365 13004.000000000000 +609.215354074706 6569.000000000000 +610.191475231986 3658.000000000000 +611.187180591379 1650.000000000000 +612.219311132493 2717.000000000000 +613.224098373297 22062.000000000000 +614.227279534381 7018.149414062500 +615.222828016202 3443.000000000000 +623.211028873207 1301.000000000000 +629.198230629944 46218.000000000000 +630.201437914669 14408.000000000000 +631.197842259138 6467.000000000000 +632.198694915122 1400.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=675 experiment=6 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=675 experiment=6_0 +##scan 114 +##specref ms_run[1]:sample=1 period=1 cycle=675 experiment=6 +58.996001750623 30.000000000000 +60.080603176850 312.000000000000 +79.054209126712 30.000000000000 +108.054653787627 60.000000000000 +108.065739487326 56.225082397461 +109.010792405487 30.000000000000 +121.009796723678 30.000000000000 +121.019361963549 30.000000000000 +137.041178917357 135.000000000000 +138.011633501269 60.000000000000 +138.020572409930 60.000000000000 +139.020685086527 75.000000000000 +153.036669947981 330.000000000000 +155.028529627766 71.037872314453 +155.050885009520 255.000000000000 +168.986193427166 335.790893554688 +169.005494842977 263.783813476562 +180.983729756425 30.000000000000 +184.979757717870 180.000000000000 +186.996465097648 45.000000000000 +197.044969171046 13.000000000000 +198.995507284397 330.000000000000 +200.977071763483 60.000000000000 +201.005388168102 51.036884307861 +201.378265734807 45.000000000000 +201.983900875679 3766.254394531250 +214.062947226188 30.000000000000 +216.024647971071 75.000000000000 +216.044892485375 75.000000000000 +216.350618341967 75.000000000000 +217.008093074677 19212.000000000000 +218.543211108378 30.000000000000 +218.552176214816 30.000000000000 +219.007942777136 30.000000000000 +230.017030272807 180.000000000000 +233.289535001227 15.000000000000 +233.960096828681 13.000000000000 +234.034328458175 4563.000000000000 +234.394676822829 13.000000000000 +235.044702856826 30.000000000000 +244.034141805200 13.000000000000 +245.040864912952 461.000000000000 +258.070168801048 60.000000000000 +262.065305326236 869.000000000000 +276.082158135887 2140.000000000000 +277.085594725098 45.000000000000 +277.901531191057 45.000000000000 +277.943555976348 30.000000000000 +303.179510395725 13.000000000000 +304.112709846410 2392.000000000000 +305.112381425482 30.000000000000 +307.656160100874 13.000000000000 +348.985330011267 30.000000000000 +>ms1peaks +52.005351813457 2501.610107421875 +53.013412581284 13134.520507812500 +53.850226225992 1302.909057617188 +54.009140063564 338983.656250000000 +55.006042248338 6435.412597656250 +55.011148435189 6609.394042968750 +55.054172395822 1772.104248046875 +55.934029229957 5757.919921875000 +56.941868288709 2705.908203125000 +59.049392394217 65787.757812500000 +60.044197396550 9389.001953125000 +61.039698624921 1629.770751953125 +63.997582420249 4596.096191406250 +64.004915539546 4860.728515625000 +68.011405901665 27484.292968750000 +68.993238795734 11816.172851562500 +69.044514210085 12151.762695312500 +72.936346245282 1770.000000000000 +73.063844648998 1632.810180664062 +76.485866327556 2207.000000000000 +79.020638014668 15456.159179687500 +80.048700307132 11716.706054687500 +81.936658440041 8339.158203125000 +82.995849176432 8191.000000000000 +87.054215388379 1432.329345703125 +89.505806636870 1376.000000000000 +90.488666027165 1798.000000000000 +95.952211902793 2472.000000000000 +97.967974119285 6640.000000000000 +100.074558827800 1418.000000000000 +102.090063528932 1768.000000000000 +109.942148206295 1646.000000000000 +113.962810920920 1728.000976562500 +114.090265101894 9843.087890625000 +118.085166173822 5466.146972656250 +122.095082275611 3591.515380859375 +122.962671452755 9919.435546875000 +123.090603383338 1818.105346679688 +130.157985838236 1433.000000000000 +136.020144210415 1305.642211914062 +141.111768954054 1381.647338867188 +141.957291332652 13999.958984375000 +147.090365251433 2315.564941406250 +149.021998403294 4169.404296875000 +151.095653127576 2632.192382812500 +151.109600618565 2638.503906250000 +155.069049191990 1400.588378906250 +155.105221715370 1306.244873046875 +155.972774632456 3955.750244140625 +158.152847157321 10190.631835937500 +161.094883274868 1469.000000000000 +164.993233307885 1413.000000000000 +170.094756804200 2692.873779296875 +173.079096183490 5464.607421875000 +174.990754641374 1338.000000000000 +175.120920396226 1335.489135742188 +178.157288006504 1567.557739257812 +179.104881581157 1856.000000000000 +182.960071822982 1596.667236328125 +186.016812097735 3128.000000000000 +194.115183195725 3037.019042968750 +195.105676043577 1846.959228515625 +195.121034909827 2138.534667968750 +198.183715433637 1614.000000000000 +201.983396783946 6476.000000000000 +217.007534943089 16000.083984375000 +217.105603079000 12722.193359375000 +218.010461830348 1723.000000000000 +218.108916975941 1918.000000000000 +219.094207015885 1394.000000000000 +234.033666185649 17919.000000000000 +235.036061869219 1699.000000000000 +239.087710708037 2715.000000000000 +245.038087259231 3705.000000000000 +246.860587751512 3017.000000000000 +250.998652800198 2461.000000000000 +252.996040050118 1751.000000000000 +262.065226573716 31878.271484375000 +263.067812997194 3540.000000000000 +264.062744585962 1732.000000000000 +276.080875651007 47441.000000000000 +277.083729023421 6202.904296875000 +278.078049070253 2909.805664062500 +279.092264164105 2269.000000000000 +281.049607531965 1759.000000000000 +284.163709253010 5971.317382812500 +285.167422523505 1450.937500000000 +289.120547785899 45105.261718750000 +290.122834000335 8899.000000000000 +291.118148964330 16223.000000000000 +292.119468760172 3916.748291015625 +303.104211105075 4272.900878906250 +303.190626643079 3701.817626953125 +304.121038021889 1154982.000000000000 +304.680120827865 1361.469604492188 +304.720450396369 1578.193115234375 +304.756696628278 1464.135742187500 +304.826755934771 1415.802856445312 +304.888295222133 4211.749023437500 +304.975939340234 6444.747070312500 +305.112954471951 109660.976562500000 +306.110248734555 72833.000000000000 +307.111946842557 10169.579101562500 +307.247397220322 1757.839477539062 +310.120212483100 5088.000000000000 +320.107070842572 7286.000000000000 +321.109817317563 1634.396606445312 +321.134008500327 1645.504272460938 +326.094135509242 51581.214843750000 +327.006663634739 3305.288085937500 +327.096918826684 8025.063964843750 +328.090879363560 3401.237060546875 +329.002848029289 3721.000000000000 +330.204815446188 11820.952148437500 +331.208232327135 2889.000000000000 +342.067980362905 3189.395019531250 +349.169296376205 25098.000000000000 +350.172883605486 4323.000000000000 +351.167291455015 1724.000000000000 +372.149200119315 2817.477050781250 +404.036004100360 11013.000000000000 +405.038241871311 2224.679687500000 +424.359699824875 1469.000000000000 +445.117347283461 1962.204711914062 +500.274802921042 11554.163085937500 +501.277725760601 3400.000000000000 +502.286539956580 1910.000000000000 +505.850895564320 2188.000000000000 +536.162361057972 4668.000000000000 +537.163239801382 2428.000000000000 +538.161608472883 1869.000000000000 +544.336387601713 1598.000000000000 +546.911505452596 1493.000000000000 +549.965979448424 1640.000000000000 +592.225456903764 1675.000000000000 +607.216655018496 74091.000000000000 +608.219193446659 23449.000000000000 +609.215852555200 11438.528320312500 +610.208425679746 4454.000000000000 +611.188234775837 1805.798706054688 +612.220726308427 4082.000000000000 +613.224505418990 34075.000000000000 +614.227906702716 11171.000000000000 +615.225014693998 5343.000000000000 +623.210784148654 2510.000000000000 +629.198405169302 68640.000000000000 +630.201595235063 21340.328125000000 +631.198284234777 10581.000000000000 +632.198298853566 2483.000000000000 +707.140261218123 1384.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=676 experiment=6 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=676 experiment=6_0 +##scan 123 +##specref ms_run[1]:sample=1 period=1 cycle=676 experiment=6 +60.080804667174 433.000000000000 +77.037138854585 30.000000000000 +77.044660163015 30.000000000000 +79.051436344945 30.000000000000 +79.987786684964 45.000000000000 +79.995145870102 45.000000000000 +91.053912185659 45.000000000000 +103.055533984494 45.000000000000 +107.047730443211 150.000000000000 +108.056269079190 30.000000000000 +121.009504971189 30.000000000000 +125.040363278974 45.000000000000 +137.042600268373 120.000000000000 +138.019111040995 75.000000000000 +139.020855944901 105.000000000000 +140.031859103509 30.000000000000 +150.070308181449 30.000000000000 +153.035568142921 438.000000000000 +154.041169236265 30.000000000000 +155.050251278454 292.000000000000 +168.985995519890 388.000000000000 +184.982127385526 240.000000000000 +186.996395915972 90.000000000000 +187.034875102026 15.000000000000 +198.997821411773 180.000000000000 +200.977311045020 120.000000000000 +201.984671750322 4516.000000000000 +214.059766225802 30.000000000000 +214.073341606216 30.000000000000 +214.995982481649 45.000000000000 +216.024223244159 75.000000000000 +216.352099910034 45.000000000000 +217.008225956243 19597.000000000000 +217.159059425024 30.000000000000 +217.172831358415 30.000000000000 +217.680866309640 30.000000000000 +217.701180241721 30.000000000000 +217.946417478232 30.000000000000 +218.595765379496 30.000000000000 +219.010234249981 30.000000000000 +230.014065437955 45.000000000000 +233.336055274841 45.000000000000 +234.034165917597 4691.000000000000 +234.071698687435 208.209503173828 +234.991297986214 30.000000000000 +235.014754835894 45.000000000000 +235.038214028110 30.000000000000 +245.039792758223 315.000000000000 +258.068699435792 120.000000000000 +262.065919000015 870.000000000000 +276.081990706357 2323.384521484375 +303.209442753655 30.000000000000 +304.112289160302 3220.247314453125 +>compound 1_3034601138604610277-657008--7--UNKNOWN +>parentmass 363.070775069452 +>ionization [M+Na]1+ +>charge 1 +>rt 431.866000000020 +##fmz 363.07077506945177 +##fid 3034601138604610277 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +363.070775069452 38114.593385922941 +>ms1peaks +52.005865355475 2936.356689453125 +53.013723515258 15168.868164062500 +53.850400239168 1357.829345703125 +54.009447090145 347607.156250000000 +55.006110218286 6238.441894531250 +55.011508541956 7268.958007812500 +55.054636618089 2136.000000000000 +55.934309116073 6532.552734375000 +56.942275933353 2612.874023437500 +59.049622158630 56011.429687500000 +60.044524012498 9000.792968750000 +61.039481839151 1786.074829101562 +63.997449394256 3736.165039062500 +64.005109595772 4712.666015625000 +68.011792039005 26707.251953125000 +68.993702477550 13633.019531250000 +69.008646447254 1441.886596679688 +69.044733608562 13552.908203125000 +69.494666168807 1088.000000000000 +72.044289477019 1134.000000000000 +72.936653378507 2379.292724609375 +73.064314657279 1947.000000000000 +76.486410468336 2230.000000000000 +77.038532396207 1590.778686523438 +79.021074679723 14557.214843750000 +80.049121781728 13038.990234375000 +81.937384309880 9136.173828125000 +82.996771559276 9647.291015625000 +87.044032478393 1164.202392578125 +87.055030197874 1937.880737304688 +89.506480817586 1633.000000000000 +90.489144644798 1823.000000000000 +91.053978578614 1481.000000000000 +95.952653475183 2798.568603515625 +97.968242662562 7804.676269531250 +100.075124666224 1357.000000000000 +102.091023963336 2105.000000000000 +109.943015773476 1849.492675781250 +113.963173340819 2146.000000000000 +114.091149027124 11434.439453125000 +118.085562888545 7126.602050781250 +122.095450971812 3351.000000000000 +122.963406396921 11429.592773437500 +123.091816714399 1461.405029296875 +123.962989553704 1162.000000000000 +132.043858137010 23466.287109375000 +133.047312261130 2601.019775390625 +136.020979409517 1763.000000000000 +136.111376584671 1338.000000000000 +141.090631531290 1452.329956054688 +141.112250777587 1933.171752929688 +141.957805111647 16272.520507812500 +142.960130525273 1091.785766601562 +147.090889713370 2561.000000000000 +149.022860382613 8952.703125000000 +149.043461527452 2074.399169921875 +151.096439801801 2539.815917968750 +151.111209143750 2693.475830078125 +155.070028482861 1787.522338867188 +155.105375703160 1554.431030273438 +155.973268704769 4467.000000000000 +158.002234575261 1123.180664062500 +158.153819790011 15565.543945312500 +159.136830576290 1251.366088867188 +159.156929350810 1638.817993164062 +159.968015589745 1144.587158203125 +160.050107538005 10862.000000000000 +161.095753069011 1987.528442382812 +163.130314304873 1321.613403320312 +164.142207413101 1344.506469726562 +170.096003050047 2831.750244140625 +170.116393016687 1241.047485351562 +170.969308188165 1467.000000000000 +171.138824143644 1976.471679687500 +172.132816514555 1070.000000000000 +172.169354072833 1126.623413085938 +173.080592066342 7150.673339843750 +174.127101054123 1093.000000000000 +174.991572624579 1115.259887695312 +175.117966507653 1382.413574218750 +177.053956263481 3086.000000000000 +178.158743604693 1737.946655273438 +179.106488149861 2092.017333984375 +182.961571664514 1566.125366210938 +182.982955367691 1389.804321289062 +186.221312636852 2310.000000000000 +194.116506735598 3012.142089843750 +195.121983568600 1971.532348632812 +198.184492106186 2254.000000000000 +199.168659259112 1074.472778320312 +200.200544607050 1265.000000000000 +209.152957718499 1444.000000000000 +215.126858142678 1195.000000000000 +217.107186196782 24662.302734375000 +218.110233972313 2772.000000000000 +219.095202240315 3180.013427734375 +219.137164883586 1444.293090820312 +224.128646207474 1167.206176757812 +228.196369189320 1732.199340820312 +235.170060948981 1264.538574218750 +236.167946332224 2704.449462890625 +239.089160494599 5259.000000000000 +240.068219796793 1277.484863281250 +240.091769691182 1359.958740234375 +242.284200605489 1137.000000000000 +246.863294404574 3891.000000000000 +249.184938071857 1294.474121093750 +250.177914710678 1312.000000000000 +250.999736865556 2366.000000000000 +251.185303455126 1195.000000000000 +252.996845199048 1725.000000000000 +260.980831135670 9681.000000000000 +262.976934337234 1074.000000000000 +267.172286092444 1268.487426757812 +279.093453473919 1954.000000000000 +281.051187832394 1373.000000000000 +287.889696989575 1142.000000000000 +318.012975056617 4878.000000000000 +327.008528574617 3507.000000000000 +329.005288792022 3151.000000000000 +339.995536258518 21188.000000000000 +340.998304727292 3403.000000000000 +341.991615450972 1965.000000000000 +351.928765172494 2752.000000000000 +353.925863637500 1287.000000000000 +355.970345025132 1233.272216796875 +363.071463720139 4333.000000000000 +371.315937786641 1386.000000000000 +379.934517326720 2414.000000000000 +381.932765584480 1355.000000000000 +430.887891579421 1170.000000000000 +445.119501835711 2373.000000000000 +503.857852657168 1208.000000000000 +505.853144541362 5379.000000000000 +506.854406933930 1813.000000000000 +522.880381915172 2380.000000000000 +523.873038712107 1344.000000000000 +529.890971881918 1718.000000000000 +536.164830382665 5050.000000000000 +537.165530578391 2568.000000000000 +538.164082153377 1889.000000000000 +542.919791547930 1233.000000000000 +544.340309842267 1260.000000000000 +544.916740966050 1184.000000000000 +546.914239791284 3795.000000000000 +547.912822025670 1609.000000000000 +563.944002995814 1077.258789062500 +610.183402350979 1851.000000000000 +611.184706508494 1107.000000000000 +696.940078237106 1408.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=657 experiment=8 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=657 experiment=8_0 +##scan 7 +##specref ms_run[1]:sample=1 period=1 cycle=657 experiment=8 +51.023327393106 30.000000000000 +77.037828076161 230.000000000000 +77.047112591606 188.054351806641 +104.051039199103 135.000000000000 +105.033428602011 150.000000000000 +124.983684040858 90.000000000000 +132.044015045267 690.740539550781 +167.013583750308 30.000000000000 +172.867381277642 30.000000000000 +>ms1peaks +52.005717667707 2536.876953125000 +53.013645918459 13517.719726562500 +53.851091408425 1440.814208984375 +54.009479564739 340518.468750000000 +55.006713705873 6189.195800781250 +55.011648330739 5775.918945312500 +55.054395080163 1937.021850585938 +55.934309790351 6216.487304687500 +56.049851096555 1422.552856445312 +56.942103151176 2497.945800781250 +59.049782018324 63557.187500000000 +60.044617957556 9127.332031250000 +61.039564209817 1916.918579101562 +63.998058629288 4341.631347656250 +64.005180932598 4902.907226562500 +68.011727932833 27051.191406250000 +68.994002789359 13611.511718750000 +69.034264524552 2235.962402343750 +69.044867744672 14147.763671875000 +72.936875253829 3080.500976562500 +73.064425531348 1778.781250000000 +76.486297547963 2075.000000000000 +77.038265451054 5099.881835937500 +79.021270792779 14303.786132812500 +80.049179511142 11132.483398437500 +81.937187525733 8269.017578125000 +82.996616277972 9058.604492187500 +87.055191552618 1226.265625000000 +89.506723502083 2138.000000000000 +90.489274059111 1883.000000000000 +91.053872057085 1250.000000000000 +95.952563443877 2416.907226562500 +97.968351278732 7414.000000000000 +102.091075578098 2124.000000000000 +104.049176798538 2869.822265625000 +105.032824057535 2268.302246093750 +109.942659719793 1552.503417968750 +113.963028919819 2876.313476562500 +114.091047730204 9707.000000000000 +118.085960022478 6202.343750000000 +122.095829000463 3354.874755859375 +122.963603572159 10189.080078125000 +123.091990223840 1658.215576171875 +123.962908276753 1264.000000000000 +124.961981387844 1248.617553710938 +124.981468335431 3929.697021484375 +132.044195947098 93934.070312500000 +133.046929709006 8774.461914062500 +136.020849942089 1733.000000000000 +136.111849813683 1360.000000000000 +139.963062553447 1109.337646484375 +141.090358589210 1395.717041015625 +141.112852312471 1316.060180664062 +141.957905703603 16856.453125000000 +142.959660117555 1253.947509765625 +147.090758649450 2468.091308593750 +149.023008191796 6552.861328125000 +150.054483884674 1381.879394531250 +151.096258773620 2499.016357421875 +151.110632987131 2703.097412109375 +153.126579038194 1175.000000000000 +155.069775153959 1603.251586914062 +155.105765884478 1708.284912109375 +155.973825500886 4965.000000000000 +158.002736417151 1095.759399414062 +158.153601610996 15319.201171875000 +159.156377711765 1693.013305664062 +160.050203671116 29808.187500000000 +161.053148014827 2780.099853515625 +161.095739798824 1801.900268554688 +164.143136174419 1163.970947265625 +167.016142798795 1938.000000000000 +170.095669159809 2557.841796875000 +170.116803885810 1136.247192382812 +170.969513731195 5351.000000000000 +171.138682297569 3310.690673828125 +172.133498266589 1186.970092773438 +172.168816609007 1753.000000000000 +173.079889235839 8137.424804687500 +174.127584523158 1118.000000000000 +177.053398759750 2010.000000000000 +178.158757601913 1500.698242187500 +179.105540802675 2172.262695312500 +182.961283063703 1745.384643554688 +186.221178069795 1622.000000000000 +194.116354222571 3003.000000000000 +195.102160721940 1637.390014648438 +195.121964321705 2114.307128906250 +198.185094857026 2154.000000000000 +209.152949152955 1423.597534179688 +217.106757414349 22820.371093750000 +218.109717212262 2365.715332031250 +219.095322856019 2839.912353515625 +224.127859164514 1268.000000000000 +228.195125596876 1796.750244140625 +235.168738541554 1153.106201171875 +236.167125665018 2147.822998046875 +239.089167868946 3697.000000000000 +242.283752097581 1331.000000000000 +246.862020032552 3643.000000000000 +249.184726675759 1740.000000000000 +250.176839865775 1269.149047851562 +251.000052262976 1835.000000000000 +251.185199846439 1143.344848632812 +252.997000735520 1613.000000000000 +253.915053857069 3181.000000000000 +260.980520936940 34136.089843750000 +261.983107472769 3914.000000000000 +262.975908361642 3711.000000000000 +267.171176133304 1190.000000000000 +279.094069923914 2218.000000000000 +281.050366742298 1525.000000000000 +304.299335403967 1178.000000000000 +318.012807082281 13905.000000000000 +319.015812641865 1771.000000000000 +320.009779889072 1411.312622070312 +324.021497063862 2274.000000000000 +327.008303487350 3194.000000000000 +329.005675073912 3118.000000000000 +339.995324080662 63593.000000000000 +340.998247708453 9047.660156250000 +341.991464705082 6892.000000000000 +351.928380615899 5009.000000000000 +353.925994810456 2303.000000000000 +355.968410053379 3129.565673828125 +363.070877703428 10529.000000000000 +364.073137490148 1819.000000000000 +379.934530374708 4270.000000000000 +381.931407641533 2153.000000000000 +445.120046493581 2353.000000000000 +503.859909772363 1436.000000000000 +505.853063220538 5926.000000000000 +506.854048759295 1904.000000000000 +519.139384687535 1126.000000000000 +522.880368766100 2806.000000000000 +523.877736811317 1418.000000000000 +529.888748439098 1722.000000000000 +536.165143915241 4925.000000000000 +537.165086990853 2707.000000000000 +538.162296228146 1762.000000000000 +542.921174254561 1132.000000000000 +543.918003709155 1152.000000000000 +546.914886995490 3416.000000000000 +547.912219447510 1693.000000000000 +563.943181698806 1223.378784179688 +610.184322938020 2314.000000000000 +611.184296206340 1322.000000000000 +657.001817843383 1409.000000000000 +696.940437510992 3603.000000000000 +698.940217154744 2331.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=658 experiment=9 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=658 experiment=9_0 +##scan 17 +##specref ms_run[1]:sample=1 period=1 cycle=658 experiment=9 +77.039588173559 315.000000000000 +104.048667587430 90.000000000000 +105.034213515052 266.000000000000 +124.982932191415 120.000000000000 +132.045552020292 1052.000000000000 +134.069001291881 15.000000000000 +160.052154319404 75.000000000000 +260.988397593186 30.000000000000 +>ms1peaks +50.015030688094 1631.000000000000 +52.005691836328 2833.837890625000 +53.013678352050 13820.645507812500 +53.850930804944 1372.676147460938 +54.009488813193 341215.375000000000 +55.006244952468 6363.858398437500 +55.011195314574 6663.786621093750 +55.054435589179 2093.444580078125 +55.934214796378 6443.966308593750 +56.049418637710 1614.372314453125 +56.942077131072 2603.345458984375 +59.049684010496 67068.679687500000 +60.044674600260 8507.357421875000 +61.039576232541 1618.787597656250 +63.997953270808 4540.612304687500 +64.004984885183 4765.146484375000 +68.011730125352 26984.066406250000 +68.993758540617 13250.065429687500 +69.044639818678 13453.114257812500 +72.936865747985 3009.785888671875 +73.064487442720 1926.000000000000 +76.486106736487 2394.000000000000 +77.012975210189 1331.000000000000 +77.038245950909 6864.013671875000 +79.021170250218 14954.513671875000 +80.049055487900 12273.781250000000 +81.937167726085 8605.721679687500 +82.996581259270 9547.895507812500 +87.054493611252 1308.586669921875 +89.506388403917 1579.000000000000 +90.489379547455 1879.000000000000 +91.053817827625 1210.000000000000 +95.952611673257 2421.652587890625 +97.968325410624 7844.628906250000 +100.075376789744 1408.000000000000 +102.090940410850 1712.000000000000 +104.048827681379 4021.000000000000 +105.032851808396 3043.702148437500 +109.943040230612 1524.000000000000 +113.962743611150 2300.809326171875 +114.091086475065 10732.537109375000 +118.085604757949 6375.129394531250 +122.095612538633 3453.346191406250 +122.963478886657 10149.138671875000 +123.091154033496 1907.152587890625 +123.962085557178 1291.000000000000 +124.964032856960 1524.723510742188 +124.981293760905 5573.300781250000 +132.044243365317 129513.453125000000 +133.047275934233 12024.171875000000 +136.021338396786 1596.000000000000 +136.111611313675 1179.000000000000 +141.090513006913 1389.292724609375 +141.112565247916 1247.203857421875 +141.957978845995 16325.500000000000 +147.090945866648 2556.685302734375 +149.023028218992 6399.154296875000 +150.054262184195 1568.000000000000 +151.096430884077 2664.400390625000 +151.111011940160 2835.027587890625 +155.069438117684 1871.944824218750 +155.105960083325 1401.000000000000 +155.973753152622 4288.000000000000 +158.153627071218 14384.000000000000 +159.156473714741 1627.752929687500 +160.050487288307 38915.000000000000 +161.053611692746 4466.942382812500 +161.095700587134 1743.057495117188 +164.142944501592 1256.052368164062 +167.015735366166 2785.089599609375 +170.096151543720 2652.023193359375 +170.116409887737 1324.376464843750 +170.968993556255 7076.000000000000 +171.137671144810 4912.312011718750 +172.136045264128 1371.000000000000 +173.079830429233 8581.928710937500 +174.991306236853 1198.000000000000 +177.054219725911 1769.000000000000 +178.157947155736 1498.908447265625 +179.106050750592 1934.090454101562 +182.960933723657 1780.061523437500 +182.991388549794 1244.309082031250 +186.221152079128 2287.000000000000 +194.116900036921 2752.000000000000 +195.121615177487 1919.471069335938 +198.184412559940 2140.000000000000 +200.200455656322 1296.554199218750 +209.153704347399 1590.000000000000 +212.888258624179 1535.000000000000 +217.106944592366 24346.000000000000 +218.110517718319 2646.000000000000 +219.095540028475 2644.006591796875 +228.196097140190 1527.811645507812 +236.167749124378 1677.000000000000 +239.089312381813 3327.000000000000 +242.284215148787 1201.000000000000 +246.862288406064 3365.000000000000 +249.184532839914 1860.293334960938 +251.001107206325 2362.000000000000 +252.997444701878 1876.000000000000 +253.916335213075 4093.000000000000 +260.980865788213 46877.000000000000 +261.983931158765 5301.000000000000 +262.976772362746 4418.000000000000 +267.172661485943 1410.000000000000 +277.199859444074 2417.590087890625 +279.093448238935 1888.450561523438 +281.051163936397 1557.000000000000 +292.121170689402 15731.000000000000 +293.123945781771 2615.000000000000 +294.118820607873 4859.000000000000 +295.121821476430 1186.000000000000 +318.013460543863 19020.000000000000 +319.016226586969 2819.000000000000 +320.010792812476 1745.000000000000 +324.021120495162 2522.000000000000 +327.007928037291 3314.077636718750 +329.005428091932 3187.000000000000 +331.002680981835 1140.229492187500 +335.040406311528 1228.000000000000 +339.995783079981 73785.000000000000 +340.998517552508 10283.000000000000 +341.992089047450 7216.000000000000 +351.928943475892 4368.000000000000 +353.926519256680 2362.000000000000 +355.969819970535 3512.076416015625 +363.071778928522 11698.970703125000 +364.073181575102 1981.000000000000 +371.315525399960 1354.000000000000 +379.934529706961 4095.883300781250 +381.932716463007 2062.000000000000 +445.119746997025 2474.000000000000 +446.119291863183 1145.000000000000 +505.853826516954 4858.000000000000 +506.855308046231 1451.000000000000 +519.139330404280 1166.703979492188 +522.880837958116 1970.000000000000 +523.871380297922 1372.000000000000 +529.891671811182 1342.000000000000 +536.165890644769 5714.000000000000 +537.166372879728 2646.000000000000 +538.163391669663 2155.000000000000 +544.339624971493 1155.000000000000 +546.914039373140 3234.000000000000 +547.912958504845 1306.000000000000 +610.184280095073 1860.000000000000 +611.183517202231 1239.000000000000 +657.000223829242 1834.000000000000 +696.940499292838 3022.000000000000 +698.938485246113 2250.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=659 experiment=9 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=659 experiment=9_0 +##scan 26 +##specref ms_run[1]:sample=1 period=1 cycle=659 experiment=9 +77.038879416695 240.000000000000 +104.047502330176 150.000000000000 +105.032936494768 150.000000000000 +105.045515734250 116.539550781250 +124.982386965946 30.000000000000 +130.038678184319 30.000000000000 +130.049262402724 30.000000000000 +132.044440689304 739.000000000000 +160.052657174434 75.000000000000 +182.992309980599 30.000000000000 +>compound 1_16459302675638519057-664006--60--UNKNOWN +>parentmass 372.064975852221 +>ionization [M+Na]1+ +>charge 1 +>rt 437.422999999980 +##fmz 372.064975852221096 +##fid 16459302675638519057 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +372.064975852221 23380.927388863765 +>ms1peaks +52.005453969998 2626.723144531250 +53.013597312446 12728.553710937500 +53.850414409821 1250.853881835938 +54.009329210909 348334.937500000000 +55.006062122532 5392.668457031250 +55.011342055713 6236.111816406250 +55.054021350211 1869.273437500000 +55.934286374440 6315.563964843750 +56.941831842622 2597.011962890625 +59.049520241177 68985.562500000000 +60.044238693811 9277.411132812500 +60.051306561624 7152.463378906250 +61.039638104919 1556.488891601562 +63.997844257749 4543.386718750000 +64.004868648059 4706.500976562500 +68.011536869512 28038.335937500000 +68.993647464953 12595.196289062500 +69.044515645070 12865.375976562500 +72.936647087938 2567.000000000000 +73.064121365067 1769.925781250000 +76.486182586418 2785.377929687500 +79.020888115541 15628.571289062500 +80.049060365715 12153.072265625000 +81.936978966817 8495.000000000000 +82.996309100211 9038.668945312500 +87.043494139885 1178.190917968750 +87.054319172330 1546.054443359375 +89.506956806916 1559.000000000000 +90.488703688296 1817.000000000000 +91.053777911785 1528.745483398438 +95.952341177386 2260.741210937500 +97.968210936145 7024.000000000000 +98.983399057372 5034.887695312500 +100.075304888654 1243.000000000000 +102.090957068479 1525.000000000000 +109.943109012828 1320.928710937500 +113.962992754591 2498.000000000000 +114.090728474154 10512.617187500000 +118.085470631803 6601.458007812500 +122.095607083049 3712.721679687500 +122.962888411087 10607.500976562500 +123.091509718457 1686.104614257812 +132.043186178558 2464.123291015625 +136.020620151667 1645.000000000000 +140.067164786600 1314.000000000000 +141.089863109573 1272.675292968750 +141.111890586678 1562.626220703125 +141.957557081223 15988.394531250000 +147.090173997086 2431.000000000000 +149.022336160605 4523.349121093750 +149.043636850784 1223.066040039062 +151.095789721496 2301.788818359375 +151.111113393103 2538.584228515625 +155.069111807472 1549.374267578125 +155.105759874764 1515.979370117188 +155.973112787773 4487.000000000000 +158.153378740203 12758.589843750000 +159.156448385204 1328.413452148438 +161.095542076597 1436.000000000000 +164.142018358830 1273.736083984375 +170.095175686942 2849.232421875000 +171.138207188731 2555.000000000000 +172.133475837479 1266.057739257812 +173.079557051502 6304.225097656250 +174.991247355031 15122.000000000000 +176.988586706089 4881.000000000000 +178.158242399689 1403.950073242188 +179.105412805866 3814.716552734375 +182.960601426951 1842.280639648438 +182.982966835265 1410.150146484375 +186.220883153188 1802.000000000000 +194.115976643286 3119.000000000000 +195.102214753451 1498.057617187500 +195.120897037407 1858.993774414062 +198.184171488074 2116.000000000000 +217.106332787106 21497.787109375000 +218.109128733639 2613.000000000000 +219.095226750847 2102.304443359375 +224.127626531368 1175.000000000000 +228.195317705032 1672.133422851562 +239.088374855672 3685.309814453125 +242.283185310790 1468.000000000000 +246.860952738993 3049.000000000000 +249.183720846634 1286.295654296875 +250.177140311956 1205.756591796875 +250.999832075601 32001.000000000000 +252.002106420824 2157.000000000000 +252.996924958467 20204.000000000000 +253.999797691244 1411.000000000000 +254.993496356863 3401.000000000000 +279.092906188567 2036.000000000000 +286.179288894577 8400.000000000000 +287.181689656808 1994.078002929688 +287.217541902151 1349.643310546875 +291.235948805059 1485.048828125000 +292.122314491142 439122.000000000000 +292.983059595137 1438.034667968750 +293.122671084767 47692.136718750000 +294.118451514065 133013.562500000000 +295.120454982262 22502.744140625000 +296.122607984390 2357.932373046875 +313.039105768504 33266.000000000000 +314.042149111497 5168.000000000000 +315.036268416268 21007.242187500000 +316.038403197349 3302.000000000000 +317.033014483539 3862.000000000000 +321.227057921370 1381.000000000000 +327.007877449001 47611.566406250000 +328.011115186819 4973.000000000000 +329.004794999861 46547.000000000000 +330.008005603352 4737.000000000000 +331.001868162022 15538.000000000000 +332.004876313775 1480.000000000000 +333.003299668985 2744.071777343750 +335.018886982057 3585.000000000000 +337.016084576435 2205.000000000000 +339.994390073568 1754.000000000000 +348.988792788967 6573.000000000000 +350.986916484867 6721.000000000000 +352.984603835989 2083.000000000000 +354.041095041215 1340.092163085938 +356.039619641072 1269.081298828125 +372.065048824891 6209.586914062500 +374.062468004687 6086.000000000000 +376.059148229590 1968.000000000000 +392.045330940334 2193.000000000000 +395.067648242738 2230.000000000000 +397.066134815272 1581.000000000000 +426.930515343123 1306.000000000000 +426.976513054277 1169.811889648438 +428.927149366436 1298.000000000000 +430.886640350010 1403.000000000000 +445.118913900930 2269.000000000000 +491.969645058197 1379.000000000000 +505.851389825487 3789.000000000000 +522.878326149515 1800.000000000000 +536.163456762234 4427.000000000000 +537.165324404735 2206.000000000000 +538.161529742511 1590.843383789062 +544.337468455008 1195.000000000000 +546.914116937371 2559.000000000000 +547.911876414748 1196.000000000000 +610.180850219782 2080.000000000000 +611.182328195703 1214.000000000000 +645.154717656738 8484.000000000000 +646.158700037782 2782.000000000000 +647.152980374288 9942.000000000000 +648.155555240546 3294.000000000000 +649.150621117204 4284.000000000000 +650.152709955400 1200.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=664 experiment=6 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=664 experiment=6_0 +##scan 60 +##specref ms_run[1]:sample=1 period=1 cycle=664 experiment=6 +80.972953153785 13.000000000000 +98.982914422980 431.000000000000 +129.050346989349 13.000000000000 +174.989442978594 105.000000000000 +>compound 1_12237362536485158566-690002--189--Fluopicolide +>parentmass 382.973869490197 +>ionization [M+H]1+ +>formula C14H8Cl3F3N2O +>charge 1 +>rt 461.815000000020 +##fmz 382.973869490196876 +##fid 12237362536485158566 +##des Fluopicolide +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +382.973869490197 1566560.194702931913 +383.974085388476 215156.515593794087 +384.971182227280 1515411.090952950995 +385.971445846469 217515.636160165188 +386.966617270822 496455.906171257608 +387.969500648600 70588.742014634801 +388.966369635235 66477.465492693751 +>ms1peaks +52.005210101745 2880.326171875000 +53.013244764978 14536.934570312500 +53.849926196038 1299.180541992188 +54.009062191468 337463.656250000000 +55.005782184426 6018.867675781250 +55.011130257419 6291.486816406250 +55.053977714849 2564.656250000000 +55.934045390685 5149.269042968750 +56.049252844183 1522.427001953125 +56.941603012839 2038.434204101562 +59.049303582077 66746.156250000000 +60.044155103878 10569.948242187500 +61.039339551811 1535.741943359375 +63.997382781260 3987.302490234375 +64.004764366709 4495.057128906250 +67.029012182241 1196.788085937500 +68.011241243102 27618.355468750000 +68.993215053966 11211.009765625000 +69.007933522035 1110.942382812500 +69.030952972722 1208.401123046875 +69.044122956537 14957.959960937500 +70.047392494398 1056.000000000000 +72.936253799388 1911.266845703125 +73.064074433437 1870.000000000000 +76.485837613149 2263.000000000000 +79.020585106505 16188.393554687500 +80.048658040907 12759.203125000000 +81.936455171914 7130.960449218750 +82.995989890540 8094.847167968750 +83.084419311590 1600.000000000000 +87.043278684781 1486.388549804688 +87.053817622777 1603.334838867188 +89.069749088361 1018.981018066406 +89.505979323008 1330.000000000000 +90.488509802564 1298.000000000000 +91.053061548451 1458.197998046875 +95.952010042584 2034.000000000000 +97.967845663329 6727.871582031250 +100.074557176530 1242.297607421875 +102.090456966796 1808.000000000000 +109.942605580563 1304.000000000000 +113.961995665745 1783.000000000000 +114.090136653414 11099.125976562500 +118.084578873938 6589.014160156250 +122.095225690220 3753.473632812500 +122.962554906366 9321.000000000000 +123.090771458381 1894.498779296875 +123.959613404275 1190.405883789062 +129.051729705624 1153.000000000000 +130.157564325932 1454.000000000000 +136.020001066212 1765.000000000000 +136.111173027530 1401.000000000000 +140.066639527938 1028.000000000000 +141.089745096835 1563.539672851562 +141.111484223018 1201.726074218750 +141.934455898498 1853.158203125000 +141.957169463850 15166.348632812500 +147.090458533503 2770.000000000000 +149.021900848308 4662.361816406250 +149.040700354547 2059.066162109375 +151.095497123421 2745.510253906250 +151.109864345448 3167.984130859375 +155.069134838044 1226.075561523438 +155.104965175783 5033.305175781250 +155.972604697841 3923.406005859375 +158.152845331544 12425.991210937500 +159.155757881201 1277.437866210938 +159.967768899180 1071.000000000000 +161.095020040845 1890.000000000000 +164.141534807567 1672.000000000000 +170.094937863069 2534.239013671875 +171.145574254043 1674.000000000000 +172.132621534302 1231.000000000000 +173.079595798653 7293.703125000000 +174.126503889229 1050.000000000000 +174.990271465623 1245.000000000000 +175.121004452465 1328.734497070312 +177.053009667276 1263.687377929688 +178.157674087207 1448.371459960938 +179.105287566263 2170.352783203125 +182.960459644363 2471.043212890625 +182.982288944426 1163.013549804688 +183.079109532841 6225.136718750000 +184.081105483367 1022.846374511719 +186.219653891550 1284.000000000000 +194.115456511691 3794.229980468750 +195.099541191905 1349.889038085938 +195.121523296283 2229.914550781250 +198.183976447015 2341.000000000000 +199.168630322872 1033.270751953125 +200.199814752449 1084.000000000000 +215.080651017155 1832.000000000000 +217.106027886947 23780.771484375000 +218.109364414939 2635.000000000000 +219.094316037445 1318.440917968750 +221.152166294283 1164.883911132812 +224.126348349948 1477.977416992188 +227.126868766390 14694.514648437500 +227.161495790859 1160.310546875000 +228.130201807144 2153.737548828125 +228.194384410156 1676.000000000000 +233.134961623018 1118.406982421875 +235.167077858732 1294.375976562500 +239.087617137075 5289.139648437500 +242.282321574347 2010.184570312500 +246.860834293952 3268.000000000000 +249.108707735736 7477.228027343750 +249.183052414364 1165.512939453125 +250.176352588420 1357.000000000000 +250.998215553850 2416.000000000000 +251.183857770360 1222.461791992188 +252.995780678787 1689.000000000000 +267.170841081571 1457.286621093750 +279.092420733858 2225.000000000000 +281.050010295874 1569.000000000000 +289.119147717746 1566.258178710938 +294.135329652932 4503.000000000000 +295.188814348578 2271.450439453125 +296.132567161201 1627.334594726562 +304.111668221270 3004.000000000000 +309.233650475700 1074.000000000000 +327.007272430691 3551.831542968750 +329.003127675682 3321.000000000000 +330.204917561574 2224.000000000000 +331.001391515662 1115.000000000000 +367.244150717722 1652.779052734375 +371.099010574269 1011.000000000000 +382.971173512741 7099.000000000000 +383.975115565599 1219.000000000000 +384.968741898502 6715.411132812500 +385.970680131379 1240.000000000000 +386.965633977078 2382.000000000000 +430.884821512900 1145.000000000000 +445.117845109390 2209.000000000000 +500.274546729878 1889.000000000000 +502.290379415694 1910.427490234375 +505.850981337320 1612.000000000000 +519.134856069604 1068.000000000000 +520.338024852892 1339.000000000000 +524.367950184351 1991.705444335938 +536.162415980276 5397.000000000000 +537.164195256501 2408.000000000000 +538.161390635714 2020.000000000000 +542.322588022880 3070.203369140625 +543.324833448983 1285.000000000000 +544.336359438462 3205.019042968750 +546.911641444659 1057.000000000000 +610.180489575856 2193.000000000000 +611.181108891135 1384.000000000000 +684.198238488602 1003.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=690 experiment=2 +##m_id Fluopicolide_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=690 experiment=2_0 +##scan 189 +##specref ms_run[1]:sample=1 period=1 cycle=690 experiment=2 +74.014827458225 8.000000000000 +108.983366207722 26.000000000000 +109.989618691772 4.000000000000 +123.979816140963 2.000000000000 +132.018313553585 6.000000000000 +144.519211201056 4.000000000000 +144.529614141667 4.000000000000 +144.959898296654 481.000000000000 +146.983453232469 2.000000000000 +153.877690540072 2.000000000000 +158.021510503175 10.000000000000 +159.026979232729 6.000000000000 +172.435617385246 34.000000000000 +172.483826110428 3.604490280151 +172.502325907959 3.796431541443 +172.955133300395 5827.000000000000 +173.017652697274 4.000000000000 +173.102323528288 8.000000000000 +173.119342430749 7.952377319336 +173.169183183190 4.000000000000 +173.183867564746 4.000000000000 +173.958949059484 6.000000000000 +173.992189755989 19.000000000000 +174.292784929592 4.000000000000 +174.303838341920 4.000000000000 +174.498056923622 4.000000000000 +174.507993062891 4.000000000000 +174.601446376462 4.000000000000 +174.618843037831 4.000000000000 +174.847046208074 2.000000000000 +175.359849884359 2.000000000000 +175.469734656576 4.000000000000 +175.486021571205 6.000000000000 +175.497515908935 4.000000000000 +189.699838262997 2.000000000000 +193.998191877080 288.000000000000 +212.011275243780 14.000000000000 +212.886974994315 2.000000000000 +234.188215950907 2.000000000000 +235.803102855284 2.000000000000 +237.057303951399 2.000000000000 +282.803853588561 8.000000000000 +282.826910729405 8.000000000000 +327.069830102971 2.000000000000 +334.802573876047 2.000000000000 +364.963080105351 179.000000000000 +371.709130079698 2.000000000000 +376.326026715934 2.000000000000 +382.972744466787 67.000000000000 +383.976807274218 4.000000000000 +>ms1peaks +52.005460768039 2632.474609375000 +52.018216605071 1453.331787109375 +53.013504878262 13629.050781250000 +53.849980694050 1426.347900390625 +54.009228946889 336414.500000000000 +55.006192155745 5923.077148437500 +55.011510780469 6201.034179687500 +55.054252354012 2748.183837890625 +55.934342759512 5029.362792968750 +56.049718574756 3820.462890625000 +56.941798954376 2040.369384765625 +59.049450389379 63100.214843750000 +60.044446622738 10277.622070312500 +61.039574586144 1639.209472656250 +63.997833501230 3457.696044921875 +64.005356757182 3922.083740234375 +67.028813659264 2927.124267578125 +68.011568906879 27184.011718750000 +68.993799166752 11291.774414062500 +69.008782671073 1110.820922851562 +69.044422525384 14576.621093750000 +72.044090470135 1069.000000000000 +72.936647746103 1867.645996093750 +73.064241969654 1890.270141601562 +76.486566607142 2154.000000000000 +79.021060621858 16402.000000000000 +80.048912504147 11908.904296875000 +81.936948519663 7659.439453125000 +82.996456601784 7432.041015625000 +83.084846425827 2619.000000000000 +87.044234628717 1642.456787109375 +87.054412582263 1764.396362304688 +89.070136748709 1188.329101562500 +89.506769824945 1309.000000000000 +90.489346677114 1261.775878906250 +91.053422064295 1599.987548828125 +95.952556829344 1954.000000000000 +97.967937653882 6272.680175781250 +100.074820050407 1313.661132812500 +102.090442487468 2018.000000000000 +109.942993258045 1292.210815429688 +113.962358113491 1857.055419921875 +114.090543897348 10782.883789062500 +118.085193271831 6439.585937500000 +122.095576433333 3719.300781250000 +122.963045289522 8831.000000000000 +123.090127906704 2032.145874023438 +123.961671902554 1039.000000000000 +130.158410860949 1108.000000000000 +136.020580299746 1385.000000000000 +136.110973601797 1208.185180664062 +137.963495288748 1038.000000000000 +138.970185164931 1044.000000000000 +141.090483230390 1714.842407226562 +141.112072140860 1217.862182617188 +141.957625571099 14848.524414062500 +142.959933648058 1183.193115234375 +147.090750731097 2692.000000000000 +149.022586318358 4677.753906250000 +151.095818189897 2463.614501953125 +151.109403980113 2852.661376953125 +155.069856888985 1644.906494140625 +155.105634666236 8124.955078125000 +155.973077442175 3878.003173828125 +158.095390272769 1041.850830078125 +158.153110530602 11433.902343750000 +159.156138029756 1255.307250976562 +159.968790133864 1084.000000000000 +161.096047015176 1855.838989257812 +163.131292514217 1081.046264648438 +164.142338808225 1538.000000000000 +170.095249905282 2481.923583984375 +170.114818729424 1586.174682617188 +171.144577817449 1465.000000000000 +172.133060054694 1132.135253906250 +173.080138735239 6781.958007812500 +174.126750381227 1146.000000000000 +174.990894555098 1459.000000000000 +175.124197631539 1158.163574218750 +177.054313185370 1050.000000000000 +178.158439439061 1351.589477539062 +179.106069845588 2217.652832031250 +182.960683036176 2721.000000000000 +183.079572975077 3558.392822265625 +186.220577305634 1472.000000000000 +194.115833443496 3200.611816406250 +195.099867813526 1492.162719726562 +195.121670053083 2089.949218750000 +198.184355819996 2036.034667968750 +199.185771412889 1053.000000000000 +200.199994101328 1045.000000000000 +217.106066147047 23700.000000000000 +218.109880969704 2669.000000000000 +219.095458161270 1180.932006835938 +224.126383591275 1239.964111328125 +227.127075688130 24915.439453125000 +228.130566679052 3475.000000000000 +228.195672567193 1184.000000000000 +233.135519600916 1606.236083984375 +235.167213939552 1131.541503906250 +239.088391913188 5292.000000000000 +242.283165125348 1763.000000000000 +246.861456391400 2687.000000000000 +249.108966407852 11636.693359375000 +250.113738299007 1549.000000000000 +250.178629966588 1340.000000000000 +250.999377894033 2470.000000000000 +252.996369939032 1431.000000000000 +267.169859968301 1516.000000000000 +279.093360326372 2198.000000000000 +281.049935707172 1718.359741210938 +289.120421172109 1505.223999023438 +294.135805745070 1954.000000000000 +295.190643010298 1597.599243164062 +304.112579156761 2114.000000000000 +327.007179750003 3429.369384765625 +327.051990179871 1964.440551757812 +329.004854748166 3098.000000000000 +330.205970450676 2139.970947265625 +331.001810666775 1124.000000000000 +367.245375431034 1096.678710937500 +371.099956255100 1145.000000000000 +371.315850471733 1077.000000000000 +382.972477955693 57862.191406250000 +383.973581113624 9390.000000000000 +384.969379705317 56829.000000000000 +385.971610318225 8858.000000000000 +386.966433781431 18577.000000000000 +387.968684254304 3112.000000000000 +388.968200016670 2893.000000000000 +404.953693248965 4478.000000000000 +406.950549247024 5007.000000000000 +408.948134552343 1602.000000000000 +430.886087934454 1034.000000000000 +445.119126674486 2384.000000000000 +446.119450710310 1082.000000000000 +500.276347970652 1519.000000000000 +502.291527770051 2163.919189453125 +505.851373232660 1515.000000000000 +520.336525060874 1398.000000000000 +524.368789804896 2012.000000000000 +526.290251526751 1047.306762695312 +536.163216797749 5403.000000000000 +537.165736905426 2653.000000000000 +538.162249785514 1911.000000000000 +542.322969125465 2655.288330078125 +544.337954764480 2683.000000000000 +546.913572609430 1216.000000000000 +610.182763261579 2011.580444335938 +611.182765882529 1285.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=691 experiment=5 +##m_id Fluopicolide_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=691 experiment=5_0 +##scan 194 +##specref ms_run[1]:sample=1 period=1 cycle=691 experiment=5 +94.434175767174 13.000000000000 +100.470091159134 13.000000000000 +108.984100401010 150.000000000000 +144.959636504415 2258.000000000000 +158.020256143752 30.000000000000 +158.027675425270 30.000000000000 +172.435894581249 75.000000000000 +172.469065092596 30.000000000000 +172.719677895769 30.000000000000 +172.955388574782 28821.000000000000 +173.655714669105 13.000000000000 +173.745544595693 15.000000000000 +173.779716942753 30.000000000000 +173.952141059980 45.000000000000 +173.968506193653 60.000000000000 +173.991228893118 75.000000000000 +174.021679641905 30.000000000000 +174.065013627237 30.000000000000 +174.082566814628 30.000000000000 +175.410680683511 30.000000000000 +175.428157974081 30.000000000000 +181.987621311304 13.000000000000 +193.997014592663 1490.000000000000 +261.818816423649 13.000000000000 +364.963188973205 1040.000000000000 +382.971132691434 382.000000000000 +>compound 1_0-657002--1--UNKNOWN +>parentmass 132.043858137010 +>charge 1 +>rt 430.017000000000 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +132.043858137010 23466.287109375000 +133.047312261130 2601.019775390625 +>ms1peaks +52.005865355475 2936.356689453125 +53.013723515258 15168.868164062500 +53.850400239168 1357.829345703125 +54.009447090145 347607.156250000000 +55.006110218286 6238.441894531250 +55.011508541956 7268.958007812500 +55.054636618089 2136.000000000000 +55.934309116073 6532.552734375000 +56.942275933353 2612.874023437500 +59.049622158630 56011.429687500000 +60.044524012498 9000.792968750000 +61.039481839151 1786.074829101562 +63.997449394256 3736.165039062500 +64.005109595772 4712.666015625000 +68.011792039005 26707.251953125000 +68.993702477550 13633.019531250000 +69.008646447254 1441.886596679688 +69.044733608562 13552.908203125000 +69.494666168807 1088.000000000000 +72.044289477019 1134.000000000000 +72.936653378507 2379.292724609375 +73.064314657279 1947.000000000000 +76.486410468336 2230.000000000000 +77.038532396207 1590.778686523438 +79.021074679723 14557.214843750000 +80.049121781728 13038.990234375000 +81.937384309880 9136.173828125000 +82.996771559276 9647.291015625000 +87.044032478393 1164.202392578125 +87.055030197874 1937.880737304688 +89.506480817586 1633.000000000000 +90.489144644798 1823.000000000000 +91.053978578614 1481.000000000000 +95.952653475183 2798.568603515625 +97.968242662562 7804.676269531250 +100.075124666224 1357.000000000000 +102.091023963336 2105.000000000000 +109.943015773476 1849.492675781250 +113.963173340819 2146.000000000000 +114.091149027124 11434.439453125000 +118.085562888545 7126.602050781250 +122.095450971812 3351.000000000000 +122.963406396921 11429.592773437500 +123.091816714399 1461.405029296875 +123.962989553704 1162.000000000000 +132.043858137010 23466.287109375000 +133.047312261130 2601.019775390625 +136.020979409517 1763.000000000000 +136.111376584671 1338.000000000000 +141.090631531290 1452.329956054688 +141.112250777587 1933.171752929688 +141.957805111647 16272.520507812500 +142.960130525273 1091.785766601562 +147.090889713370 2561.000000000000 +149.022860382613 8952.703125000000 +149.043461527452 2074.399169921875 +151.096439801801 2539.815917968750 +151.111209143750 2693.475830078125 +155.070028482861 1787.522338867188 +155.105375703160 1554.431030273438 +155.973268704769 4467.000000000000 +158.002234575261 1123.180664062500 +158.153819790011 15565.543945312500 +159.136830576290 1251.366088867188 +159.156929350810 1638.817993164062 +159.968015589745 1144.587158203125 +160.050107538005 10862.000000000000 +161.095753069011 1987.528442382812 +163.130314304873 1321.613403320312 +164.142207413101 1344.506469726562 +170.096003050047 2831.750244140625 +170.116393016687 1241.047485351562 +170.969308188165 1467.000000000000 +171.138824143644 1976.471679687500 +172.132816514555 1070.000000000000 +172.169354072833 1126.623413085938 +173.080592066342 7150.673339843750 +174.127101054123 1093.000000000000 +174.991572624579 1115.259887695312 +175.117966507653 1382.413574218750 +177.053956263481 3086.000000000000 +178.158743604693 1737.946655273438 +179.106488149861 2092.017333984375 +182.961571664514 1566.125366210938 +182.982955367691 1389.804321289062 +186.221312636852 2310.000000000000 +194.116506735598 3012.142089843750 +195.121983568600 1971.532348632812 +198.184492106186 2254.000000000000 +199.168659259112 1074.472778320312 +200.200544607050 1265.000000000000 +209.152957718499 1444.000000000000 +215.126858142678 1195.000000000000 +217.107186196782 24662.302734375000 +218.110233972313 2772.000000000000 +219.095202240315 3180.013427734375 +219.137164883586 1444.293090820312 +224.128646207474 1167.206176757812 +228.196369189320 1732.199340820312 +235.170060948981 1264.538574218750 +236.167946332224 2704.449462890625 +239.089160494599 5259.000000000000 +240.068219796793 1277.484863281250 +240.091769691182 1359.958740234375 +242.284200605489 1137.000000000000 +246.863294404574 3891.000000000000 +249.184938071857 1294.474121093750 +250.177914710678 1312.000000000000 +250.999736865556 2366.000000000000 +251.185303455126 1195.000000000000 +252.996845199048 1725.000000000000 +260.980831135670 9681.000000000000 +262.976934337234 1074.000000000000 +267.172286092444 1268.487426757812 +279.093453473919 1954.000000000000 +281.051187832394 1373.000000000000 +287.889696989575 1142.000000000000 +318.012975056617 4878.000000000000 +327.008528574617 3507.000000000000 +329.005288792022 3151.000000000000 +339.995536258518 21188.000000000000 +340.998304727292 3403.000000000000 +341.991615450972 1965.000000000000 +351.928765172494 2752.000000000000 +353.925863637500 1287.000000000000 +355.970345025132 1233.272216796875 +363.071463720139 4333.000000000000 +371.315937786641 1386.000000000000 +379.934517326720 2414.000000000000 +381.932765584480 1355.000000000000 +430.887891579421 1170.000000000000 +445.119501835711 2373.000000000000 +503.857852657168 1208.000000000000 +505.853144541362 5379.000000000000 +506.854406933930 1813.000000000000 +522.880381915172 2380.000000000000 +523.873038712107 1344.000000000000 +529.890971881918 1718.000000000000 +536.164830382665 5050.000000000000 +537.165530578391 2568.000000000000 +538.164082153377 1889.000000000000 +542.919791547930 1233.000000000000 +544.340309842267 1260.000000000000 +544.916740966050 1184.000000000000 +546.914239791284 3795.000000000000 +547.912822025670 1609.000000000000 +563.944002995814 1077.258789062500 +610.183402350979 1851.000000000000 +611.184706508494 1107.000000000000 +696.940078237106 1408.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=657 experiment=2 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=657 experiment=2_0 +##scan 1 +##specref ms_run[1]:sample=1 period=1 cycle=657 experiment=2 +50.015415002242 285.000000000000 +50.024474711894 43.822067260742 +51.023566728983 1814.975830078125 +62.928566360931 105.000000000000 +62.937551196842 52.369979858398 +72.936146643831 45.000000000000 +74.013642948272 30.000000000000 +76.018649722394 41.022171020508 +76.027663080483 30.493232727051 +77.038265131706 1602.420654296875 +77.546097840113 15.000000000000 +78.033179671526 60.000000000000 +78.041594464593 66.191909790039 +90.907137934653 30.000000000000 +102.033220379487 45.000000000000 +105.033879384179 135.000000000000 +105.044793254630 150.000000000000 +132.043198806346 105.000000000000 +236.366584652741 45.000000000000 +236.388458999412 60.000000000000 +236.404846292349 30.000000000000 +236.594201849365 45.000000000000 +237.198497347044 30.000000000000 +237.420981046975 45.000000000000 +237.763714672555 30.000000000000 +238.561382715078 30.000000000000 +238.585152114913 30.000000000000 +238.932774788501 30.000000000000 +238.947927581425 30.000000000000 +239.065826120421 30.000000000000 +239.168882320178 30.000000000000 +239.274636674623 30.000000000000 +239.482625210385 30.000000000000 +239.888162749805 45.000000000000 +240.876925861072 30.000000000000 +241.019589710602 51.692695617676 +241.046851620655 45.000000000000 +241.213372384277 60.000000000000 +241.415325628952 45.000000000000 +241.673460861643 60.000000000000 +241.831052758284 51.677196502686 +241.857446198850 60.000000000000 +242.139773131637 30.000000000000 +242.254004019201 30.000000000000 +242.275309955933 30.000000000000 +242.552758402666 30.000000000000 +243.482197040812 30.000000000000 +243.694516378858 30.000000000000 +243.802137184468 30.000000000000 +243.817598785760 30.000000000000 +243.906705592654 30.000000000000 +244.011091487072 30.000000000000 +244.310474843896 30.000000000000 +>compound 1_0-657003--2--UNKNOWN +>parentmass 160.050107538005 +>charge 1 +>rt 430.017000000000 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +160.050107538005 10862.000000000000 +>ms1peaks +52.005865355475 2936.356689453125 +53.013723515258 15168.868164062500 +53.850400239168 1357.829345703125 +54.009447090145 347607.156250000000 +55.006110218286 6238.441894531250 +55.011508541956 7268.958007812500 +55.054636618089 2136.000000000000 +55.934309116073 6532.552734375000 +56.942275933353 2612.874023437500 +59.049622158630 56011.429687500000 +60.044524012498 9000.792968750000 +61.039481839151 1786.074829101562 +63.997449394256 3736.165039062500 +64.005109595772 4712.666015625000 +68.011792039005 26707.251953125000 +68.993702477550 13633.019531250000 +69.008646447254 1441.886596679688 +69.044733608562 13552.908203125000 +69.494666168807 1088.000000000000 +72.044289477019 1134.000000000000 +72.936653378507 2379.292724609375 +73.064314657279 1947.000000000000 +76.486410468336 2230.000000000000 +77.038532396207 1590.778686523438 +79.021074679723 14557.214843750000 +80.049121781728 13038.990234375000 +81.937384309880 9136.173828125000 +82.996771559276 9647.291015625000 +87.044032478393 1164.202392578125 +87.055030197874 1937.880737304688 +89.506480817586 1633.000000000000 +90.489144644798 1823.000000000000 +91.053978578614 1481.000000000000 +95.952653475183 2798.568603515625 +97.968242662562 7804.676269531250 +100.075124666224 1357.000000000000 +102.091023963336 2105.000000000000 +109.943015773476 1849.492675781250 +113.963173340819 2146.000000000000 +114.091149027124 11434.439453125000 +118.085562888545 7126.602050781250 +122.095450971812 3351.000000000000 +122.963406396921 11429.592773437500 +123.091816714399 1461.405029296875 +123.962989553704 1162.000000000000 +132.043858137010 23466.287109375000 +133.047312261130 2601.019775390625 +136.020979409517 1763.000000000000 +136.111376584671 1338.000000000000 +141.090631531290 1452.329956054688 +141.112250777587 1933.171752929688 +141.957805111647 16272.520507812500 +142.960130525273 1091.785766601562 +147.090889713370 2561.000000000000 +149.022860382613 8952.703125000000 +149.043461527452 2074.399169921875 +151.096439801801 2539.815917968750 +151.111209143750 2693.475830078125 +155.070028482861 1787.522338867188 +155.105375703160 1554.431030273438 +155.973268704769 4467.000000000000 +158.002234575261 1123.180664062500 +158.153819790011 15565.543945312500 +159.136830576290 1251.366088867188 +159.156929350810 1638.817993164062 +159.968015589745 1144.587158203125 +160.050107538005 10862.000000000000 +161.095753069011 1987.528442382812 +163.130314304873 1321.613403320312 +164.142207413101 1344.506469726562 +170.096003050047 2831.750244140625 +170.116393016687 1241.047485351562 +170.969308188165 1467.000000000000 +171.138824143644 1976.471679687500 +172.132816514555 1070.000000000000 +172.169354072833 1126.623413085938 +173.080592066342 7150.673339843750 +174.127101054123 1093.000000000000 +174.991572624579 1115.259887695312 +175.117966507653 1382.413574218750 +177.053956263481 3086.000000000000 +178.158743604693 1737.946655273438 +179.106488149861 2092.017333984375 +182.961571664514 1566.125366210938 +182.982955367691 1389.804321289062 +186.221312636852 2310.000000000000 +194.116506735598 3012.142089843750 +195.121983568600 1971.532348632812 +198.184492106186 2254.000000000000 +199.168659259112 1074.472778320312 +200.200544607050 1265.000000000000 +209.152957718499 1444.000000000000 +215.126858142678 1195.000000000000 +217.107186196782 24662.302734375000 +218.110233972313 2772.000000000000 +219.095202240315 3180.013427734375 +219.137164883586 1444.293090820312 +224.128646207474 1167.206176757812 +228.196369189320 1732.199340820312 +235.170060948981 1264.538574218750 +236.167946332224 2704.449462890625 +239.089160494599 5259.000000000000 +240.068219796793 1277.484863281250 +240.091769691182 1359.958740234375 +242.284200605489 1137.000000000000 +246.863294404574 3891.000000000000 +249.184938071857 1294.474121093750 +250.177914710678 1312.000000000000 +250.999736865556 2366.000000000000 +251.185303455126 1195.000000000000 +252.996845199048 1725.000000000000 +260.980831135670 9681.000000000000 +262.976934337234 1074.000000000000 +267.172286092444 1268.487426757812 +279.093453473919 1954.000000000000 +281.051187832394 1373.000000000000 +287.889696989575 1142.000000000000 +318.012975056617 4878.000000000000 +327.008528574617 3507.000000000000 +329.005288792022 3151.000000000000 +339.995536258518 21188.000000000000 +340.998304727292 3403.000000000000 +341.991615450972 1965.000000000000 +351.928765172494 2752.000000000000 +353.925863637500 1287.000000000000 +355.970345025132 1233.272216796875 +363.071463720139 4333.000000000000 +371.315937786641 1386.000000000000 +379.934517326720 2414.000000000000 +381.932765584480 1355.000000000000 +430.887891579421 1170.000000000000 +445.119501835711 2373.000000000000 +503.857852657168 1208.000000000000 +505.853144541362 5379.000000000000 +506.854406933930 1813.000000000000 +522.880381915172 2380.000000000000 +523.873038712107 1344.000000000000 +529.890971881918 1718.000000000000 +536.164830382665 5050.000000000000 +537.165530578391 2568.000000000000 +538.164082153377 1889.000000000000 +542.919791547930 1233.000000000000 +544.340309842267 1260.000000000000 +544.916740966050 1184.000000000000 +546.914239791284 3795.000000000000 +547.912822025670 1609.000000000000 +563.944002995814 1077.258789062500 +610.183402350979 1851.000000000000 +611.184706508494 1107.000000000000 +696.940078237106 1408.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=657 experiment=3 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=657 experiment=3_0 +##scan 2 +##specref ms_run[1]:sample=1 period=1 cycle=657 experiment=3 +50.014504904608 45.000000000000 +50.019318522027 60.000000000000 +50.874572145106 13.000000000000 +51.022846415128 363.000000000000 +56.941938051381 90.000000000000 +72.934684093877 30.000000000000 +77.039186107043 528.420654296875 +77.269697464798 13.000000000000 +141.967115723970 30.000000000000 +>compound 1_0-657004--3--UNKNOWN +>parentmass 260.980831135670 +>charge 1 +>rt 430.017000000000 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +260.980831135670 9681.000000000000 +>ms1peaks +52.005865355475 2936.356689453125 +53.013723515258 15168.868164062500 +53.850400239168 1357.829345703125 +54.009447090145 347607.156250000000 +55.006110218286 6238.441894531250 +55.011508541956 7268.958007812500 +55.054636618089 2136.000000000000 +55.934309116073 6532.552734375000 +56.942275933353 2612.874023437500 +59.049622158630 56011.429687500000 +60.044524012498 9000.792968750000 +61.039481839151 1786.074829101562 +63.997449394256 3736.165039062500 +64.005109595772 4712.666015625000 +68.011792039005 26707.251953125000 +68.993702477550 13633.019531250000 +69.008646447254 1441.886596679688 +69.044733608562 13552.908203125000 +69.494666168807 1088.000000000000 +72.044289477019 1134.000000000000 +72.936653378507 2379.292724609375 +73.064314657279 1947.000000000000 +76.486410468336 2230.000000000000 +77.038532396207 1590.778686523438 +79.021074679723 14557.214843750000 +80.049121781728 13038.990234375000 +81.937384309880 9136.173828125000 +82.996771559276 9647.291015625000 +87.044032478393 1164.202392578125 +87.055030197874 1937.880737304688 +89.506480817586 1633.000000000000 +90.489144644798 1823.000000000000 +91.053978578614 1481.000000000000 +95.952653475183 2798.568603515625 +97.968242662562 7804.676269531250 +100.075124666224 1357.000000000000 +102.091023963336 2105.000000000000 +109.943015773476 1849.492675781250 +113.963173340819 2146.000000000000 +114.091149027124 11434.439453125000 +118.085562888545 7126.602050781250 +122.095450971812 3351.000000000000 +122.963406396921 11429.592773437500 +123.091816714399 1461.405029296875 +123.962989553704 1162.000000000000 +132.043858137010 23466.287109375000 +133.047312261130 2601.019775390625 +136.020979409517 1763.000000000000 +136.111376584671 1338.000000000000 +141.090631531290 1452.329956054688 +141.112250777587 1933.171752929688 +141.957805111647 16272.520507812500 +142.960130525273 1091.785766601562 +147.090889713370 2561.000000000000 +149.022860382613 8952.703125000000 +149.043461527452 2074.399169921875 +151.096439801801 2539.815917968750 +151.111209143750 2693.475830078125 +155.070028482861 1787.522338867188 +155.105375703160 1554.431030273438 +155.973268704769 4467.000000000000 +158.002234575261 1123.180664062500 +158.153819790011 15565.543945312500 +159.136830576290 1251.366088867188 +159.156929350810 1638.817993164062 +159.968015589745 1144.587158203125 +160.050107538005 10862.000000000000 +161.095753069011 1987.528442382812 +163.130314304873 1321.613403320312 +164.142207413101 1344.506469726562 +170.096003050047 2831.750244140625 +170.116393016687 1241.047485351562 +170.969308188165 1467.000000000000 +171.138824143644 1976.471679687500 +172.132816514555 1070.000000000000 +172.169354072833 1126.623413085938 +173.080592066342 7150.673339843750 +174.127101054123 1093.000000000000 +174.991572624579 1115.259887695312 +175.117966507653 1382.413574218750 +177.053956263481 3086.000000000000 +178.158743604693 1737.946655273438 +179.106488149861 2092.017333984375 +182.961571664514 1566.125366210938 +182.982955367691 1389.804321289062 +186.221312636852 2310.000000000000 +194.116506735598 3012.142089843750 +195.121983568600 1971.532348632812 +198.184492106186 2254.000000000000 +199.168659259112 1074.472778320312 +200.200544607050 1265.000000000000 +209.152957718499 1444.000000000000 +215.126858142678 1195.000000000000 +217.107186196782 24662.302734375000 +218.110233972313 2772.000000000000 +219.095202240315 3180.013427734375 +219.137164883586 1444.293090820312 +224.128646207474 1167.206176757812 +228.196369189320 1732.199340820312 +235.170060948981 1264.538574218750 +236.167946332224 2704.449462890625 +239.089160494599 5259.000000000000 +240.068219796793 1277.484863281250 +240.091769691182 1359.958740234375 +242.284200605489 1137.000000000000 +246.863294404574 3891.000000000000 +249.184938071857 1294.474121093750 +250.177914710678 1312.000000000000 +250.999736865556 2366.000000000000 +251.185303455126 1195.000000000000 +252.996845199048 1725.000000000000 +260.980831135670 9681.000000000000 +262.976934337234 1074.000000000000 +267.172286092444 1268.487426757812 +279.093453473919 1954.000000000000 +281.051187832394 1373.000000000000 +287.889696989575 1142.000000000000 +318.012975056617 4878.000000000000 +327.008528574617 3507.000000000000 +329.005288792022 3151.000000000000 +339.995536258518 21188.000000000000 +340.998304727292 3403.000000000000 +341.991615450972 1965.000000000000 +351.928765172494 2752.000000000000 +353.925863637500 1287.000000000000 +355.970345025132 1233.272216796875 +363.071463720139 4333.000000000000 +371.315937786641 1386.000000000000 +379.934517326720 2414.000000000000 +381.932765584480 1355.000000000000 +430.887891579421 1170.000000000000 +445.119501835711 2373.000000000000 +503.857852657168 1208.000000000000 +505.853144541362 5379.000000000000 +506.854406933930 1813.000000000000 +522.880381915172 2380.000000000000 +523.873038712107 1344.000000000000 +529.890971881918 1718.000000000000 +536.164830382665 5050.000000000000 +537.165530578391 2568.000000000000 +538.164082153377 1889.000000000000 +542.919791547930 1233.000000000000 +544.340309842267 1260.000000000000 +544.916740966050 1184.000000000000 +546.914239791284 3795.000000000000 +547.912822025670 1609.000000000000 +563.944002995814 1077.258789062500 +610.183402350979 1851.000000000000 +611.184706508494 1107.000000000000 +696.940078237106 1408.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=657 experiment=4 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=657 experiment=4_0 +##scan 3 +##specref ms_run[1]:sample=1 period=1 cycle=657 experiment=4 +78.994270447800 90.000000000000 +124.981451470272 320.000000000000 +151.991667583953 60.000000000000 +167.015142055345 60.000000000000 +167.967957766024 45.000000000000 +>compound 1_0-657007--6--UNKNOWN +>parentmass 351.928765172494 +>charge 1 +>rt 430.017000000000 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +351.928765172494 2752.000000000000 +>ms1peaks +52.005865355475 2936.356689453125 +53.013723515258 15168.868164062500 +53.850400239168 1357.829345703125 +54.009447090145 347607.156250000000 +55.006110218286 6238.441894531250 +55.011508541956 7268.958007812500 +55.054636618089 2136.000000000000 +55.934309116073 6532.552734375000 +56.942275933353 2612.874023437500 +59.049622158630 56011.429687500000 +60.044524012498 9000.792968750000 +61.039481839151 1786.074829101562 +63.997449394256 3736.165039062500 +64.005109595772 4712.666015625000 +68.011792039005 26707.251953125000 +68.993702477550 13633.019531250000 +69.008646447254 1441.886596679688 +69.044733608562 13552.908203125000 +69.494666168807 1088.000000000000 +72.044289477019 1134.000000000000 +72.936653378507 2379.292724609375 +73.064314657279 1947.000000000000 +76.486410468336 2230.000000000000 +77.038532396207 1590.778686523438 +79.021074679723 14557.214843750000 +80.049121781728 13038.990234375000 +81.937384309880 9136.173828125000 +82.996771559276 9647.291015625000 +87.044032478393 1164.202392578125 +87.055030197874 1937.880737304688 +89.506480817586 1633.000000000000 +90.489144644798 1823.000000000000 +91.053978578614 1481.000000000000 +95.952653475183 2798.568603515625 +97.968242662562 7804.676269531250 +100.075124666224 1357.000000000000 +102.091023963336 2105.000000000000 +109.943015773476 1849.492675781250 +113.963173340819 2146.000000000000 +114.091149027124 11434.439453125000 +118.085562888545 7126.602050781250 +122.095450971812 3351.000000000000 +122.963406396921 11429.592773437500 +123.091816714399 1461.405029296875 +123.962989553704 1162.000000000000 +132.043858137010 23466.287109375000 +133.047312261130 2601.019775390625 +136.020979409517 1763.000000000000 +136.111376584671 1338.000000000000 +141.090631531290 1452.329956054688 +141.112250777587 1933.171752929688 +141.957805111647 16272.520507812500 +142.960130525273 1091.785766601562 +147.090889713370 2561.000000000000 +149.022860382613 8952.703125000000 +149.043461527452 2074.399169921875 +151.096439801801 2539.815917968750 +151.111209143750 2693.475830078125 +155.070028482861 1787.522338867188 +155.105375703160 1554.431030273438 +155.973268704769 4467.000000000000 +158.002234575261 1123.180664062500 +158.153819790011 15565.543945312500 +159.136830576290 1251.366088867188 +159.156929350810 1638.817993164062 +159.968015589745 1144.587158203125 +160.050107538005 10862.000000000000 +161.095753069011 1987.528442382812 +163.130314304873 1321.613403320312 +164.142207413101 1344.506469726562 +170.096003050047 2831.750244140625 +170.116393016687 1241.047485351562 +170.969308188165 1467.000000000000 +171.138824143644 1976.471679687500 +172.132816514555 1070.000000000000 +172.169354072833 1126.623413085938 +173.080592066342 7150.673339843750 +174.127101054123 1093.000000000000 +174.991572624579 1115.259887695312 +175.117966507653 1382.413574218750 +177.053956263481 3086.000000000000 +178.158743604693 1737.946655273438 +179.106488149861 2092.017333984375 +182.961571664514 1566.125366210938 +182.982955367691 1389.804321289062 +186.221312636852 2310.000000000000 +194.116506735598 3012.142089843750 +195.121983568600 1971.532348632812 +198.184492106186 2254.000000000000 +199.168659259112 1074.472778320312 +200.200544607050 1265.000000000000 +209.152957718499 1444.000000000000 +215.126858142678 1195.000000000000 +217.107186196782 24662.302734375000 +218.110233972313 2772.000000000000 +219.095202240315 3180.013427734375 +219.137164883586 1444.293090820312 +224.128646207474 1167.206176757812 +228.196369189320 1732.199340820312 +235.170060948981 1264.538574218750 +236.167946332224 2704.449462890625 +239.089160494599 5259.000000000000 +240.068219796793 1277.484863281250 +240.091769691182 1359.958740234375 +242.284200605489 1137.000000000000 +246.863294404574 3891.000000000000 +249.184938071857 1294.474121093750 +250.177914710678 1312.000000000000 +250.999736865556 2366.000000000000 +251.185303455126 1195.000000000000 +252.996845199048 1725.000000000000 +260.980831135670 9681.000000000000 +262.976934337234 1074.000000000000 +267.172286092444 1268.487426757812 +279.093453473919 1954.000000000000 +281.051187832394 1373.000000000000 +287.889696989575 1142.000000000000 +318.012975056617 4878.000000000000 +327.008528574617 3507.000000000000 +329.005288792022 3151.000000000000 +339.995536258518 21188.000000000000 +340.998304727292 3403.000000000000 +341.991615450972 1965.000000000000 +351.928765172494 2752.000000000000 +353.925863637500 1287.000000000000 +355.970345025132 1233.272216796875 +363.071463720139 4333.000000000000 +371.315937786641 1386.000000000000 +379.934517326720 2414.000000000000 +381.932765584480 1355.000000000000 +430.887891579421 1170.000000000000 +445.119501835711 2373.000000000000 +503.857852657168 1208.000000000000 +505.853144541362 5379.000000000000 +506.854406933930 1813.000000000000 +522.880381915172 2380.000000000000 +523.873038712107 1344.000000000000 +529.890971881918 1718.000000000000 +536.164830382665 5050.000000000000 +537.165530578391 2568.000000000000 +538.164082153377 1889.000000000000 +542.919791547930 1233.000000000000 +544.340309842267 1260.000000000000 +544.916740966050 1184.000000000000 +546.914239791284 3795.000000000000 +547.912822025670 1609.000000000000 +563.944002995814 1077.258789062500 +610.183402350979 1851.000000000000 +611.184706508494 1107.000000000000 +696.940078237106 1408.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=657 experiment=7 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=657 experiment=7_0 +##scan 6 +##specref ms_run[1]:sample=1 period=1 cycle=657 experiment=7 +92.964282264079 13.000000000000 +152.979473626362 13.000000000000 +188.918277240583 45.000000000000 +209.941982292814 30.000000000000 +279.078049395214 13.000000000000 +306.234950585609 13.000000000000 +>compound 1_0-657009--8--UNKNOWN +>parentmass 546.914239791284 +>charge 1 +>rt 430.017000000000 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +546.914239791284 3795.000000000000 +>ms1peaks +52.005865355475 2936.356689453125 +53.013723515258 15168.868164062500 +53.850400239168 1357.829345703125 +54.009447090145 347607.156250000000 +55.006110218286 6238.441894531250 +55.011508541956 7268.958007812500 +55.054636618089 2136.000000000000 +55.934309116073 6532.552734375000 +56.942275933353 2612.874023437500 +59.049622158630 56011.429687500000 +60.044524012498 9000.792968750000 +61.039481839151 1786.074829101562 +63.997449394256 3736.165039062500 +64.005109595772 4712.666015625000 +68.011792039005 26707.251953125000 +68.993702477550 13633.019531250000 +69.008646447254 1441.886596679688 +69.044733608562 13552.908203125000 +69.494666168807 1088.000000000000 +72.044289477019 1134.000000000000 +72.936653378507 2379.292724609375 +73.064314657279 1947.000000000000 +76.486410468336 2230.000000000000 +77.038532396207 1590.778686523438 +79.021074679723 14557.214843750000 +80.049121781728 13038.990234375000 +81.937384309880 9136.173828125000 +82.996771559276 9647.291015625000 +87.044032478393 1164.202392578125 +87.055030197874 1937.880737304688 +89.506480817586 1633.000000000000 +90.489144644798 1823.000000000000 +91.053978578614 1481.000000000000 +95.952653475183 2798.568603515625 +97.968242662562 7804.676269531250 +100.075124666224 1357.000000000000 +102.091023963336 2105.000000000000 +109.943015773476 1849.492675781250 +113.963173340819 2146.000000000000 +114.091149027124 11434.439453125000 +118.085562888545 7126.602050781250 +122.095450971812 3351.000000000000 +122.963406396921 11429.592773437500 +123.091816714399 1461.405029296875 +123.962989553704 1162.000000000000 +132.043858137010 23466.287109375000 +133.047312261130 2601.019775390625 +136.020979409517 1763.000000000000 +136.111376584671 1338.000000000000 +141.090631531290 1452.329956054688 +141.112250777587 1933.171752929688 +141.957805111647 16272.520507812500 +142.960130525273 1091.785766601562 +147.090889713370 2561.000000000000 +149.022860382613 8952.703125000000 +149.043461527452 2074.399169921875 +151.096439801801 2539.815917968750 +151.111209143750 2693.475830078125 +155.070028482861 1787.522338867188 +155.105375703160 1554.431030273438 +155.973268704769 4467.000000000000 +158.002234575261 1123.180664062500 +158.153819790011 15565.543945312500 +159.136830576290 1251.366088867188 +159.156929350810 1638.817993164062 +159.968015589745 1144.587158203125 +160.050107538005 10862.000000000000 +161.095753069011 1987.528442382812 +163.130314304873 1321.613403320312 +164.142207413101 1344.506469726562 +170.096003050047 2831.750244140625 +170.116393016687 1241.047485351562 +170.969308188165 1467.000000000000 +171.138824143644 1976.471679687500 +172.132816514555 1070.000000000000 +172.169354072833 1126.623413085938 +173.080592066342 7150.673339843750 +174.127101054123 1093.000000000000 +174.991572624579 1115.259887695312 +175.117966507653 1382.413574218750 +177.053956263481 3086.000000000000 +178.158743604693 1737.946655273438 +179.106488149861 2092.017333984375 +182.961571664514 1566.125366210938 +182.982955367691 1389.804321289062 +186.221312636852 2310.000000000000 +194.116506735598 3012.142089843750 +195.121983568600 1971.532348632812 +198.184492106186 2254.000000000000 +199.168659259112 1074.472778320312 +200.200544607050 1265.000000000000 +209.152957718499 1444.000000000000 +215.126858142678 1195.000000000000 +217.107186196782 24662.302734375000 +218.110233972313 2772.000000000000 +219.095202240315 3180.013427734375 +219.137164883586 1444.293090820312 +224.128646207474 1167.206176757812 +228.196369189320 1732.199340820312 +235.170060948981 1264.538574218750 +236.167946332224 2704.449462890625 +239.089160494599 5259.000000000000 +240.068219796793 1277.484863281250 +240.091769691182 1359.958740234375 +242.284200605489 1137.000000000000 +246.863294404574 3891.000000000000 +249.184938071857 1294.474121093750 +250.177914710678 1312.000000000000 +250.999736865556 2366.000000000000 +251.185303455126 1195.000000000000 +252.996845199048 1725.000000000000 +260.980831135670 9681.000000000000 +262.976934337234 1074.000000000000 +267.172286092444 1268.487426757812 +279.093453473919 1954.000000000000 +281.051187832394 1373.000000000000 +287.889696989575 1142.000000000000 +318.012975056617 4878.000000000000 +327.008528574617 3507.000000000000 +329.005288792022 3151.000000000000 +339.995536258518 21188.000000000000 +340.998304727292 3403.000000000000 +341.991615450972 1965.000000000000 +351.928765172494 2752.000000000000 +353.925863637500 1287.000000000000 +355.970345025132 1233.272216796875 +363.071463720139 4333.000000000000 +371.315937786641 1386.000000000000 +379.934517326720 2414.000000000000 +381.932765584480 1355.000000000000 +430.887891579421 1170.000000000000 +445.119501835711 2373.000000000000 +503.857852657168 1208.000000000000 +505.853144541362 5379.000000000000 +506.854406933930 1813.000000000000 +522.880381915172 2380.000000000000 +523.873038712107 1344.000000000000 +529.890971881918 1718.000000000000 +536.164830382665 5050.000000000000 +537.165530578391 2568.000000000000 +538.164082153377 1889.000000000000 +542.919791547930 1233.000000000000 +544.340309842267 1260.000000000000 +544.916740966050 1184.000000000000 +546.914239791284 3795.000000000000 +547.912822025670 1609.000000000000 +563.944002995814 1077.258789062500 +610.183402350979 1851.000000000000 +611.184706508494 1107.000000000000 +696.940078237106 1408.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=657 experiment=9 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=657 experiment=9_0 +##scan 8 +##specref ms_run[1]:sample=1 period=1 cycle=657 experiment=9 +290.887820344896 30.000000000000 +297.830664328927 30.000000000000 +297.860339107230 30.000000000000 +300.913318707665 45.000000000000 +302.435794711402 13.000000000000 +313.918910872313 30.000000000000 +356.844075856555 265.000000000000 +357.857587076699 30.000000000000 +401.844271469061 30.000000000000 +460.860438443741 60.000000000000 +505.854728055991 60.000000000000 +>compound 1_0-658002--10--UNKNOWN +>parentmass 132.044195947098 +>charge 1 +>rt 430.939999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +132.044195947098 93934.070312500000 +>ms1peaks +52.005717667707 2536.876953125000 +53.013645918459 13517.719726562500 +53.851091408425 1440.814208984375 +54.009479564739 340518.468750000000 +55.006713705873 6189.195800781250 +55.011648330739 5775.918945312500 +55.054395080163 1937.021850585938 +55.934309790351 6216.487304687500 +56.049851096555 1422.552856445312 +56.942103151176 2497.945800781250 +59.049782018324 63557.187500000000 +60.044617957556 9127.332031250000 +61.039564209817 1916.918579101562 +63.998058629288 4341.631347656250 +64.005180932598 4902.907226562500 +68.011727932833 27051.191406250000 +68.994002789359 13611.511718750000 +69.034264524552 2235.962402343750 +69.044867744672 14147.763671875000 +72.936875253829 3080.500976562500 +73.064425531348 1778.781250000000 +76.486297547963 2075.000000000000 +77.038265451054 5099.881835937500 +79.021270792779 14303.786132812500 +80.049179511142 11132.483398437500 +81.937187525733 8269.017578125000 +82.996616277972 9058.604492187500 +87.055191552618 1226.265625000000 +89.506723502083 2138.000000000000 +90.489274059111 1883.000000000000 +91.053872057085 1250.000000000000 +95.952563443877 2416.907226562500 +97.968351278732 7414.000000000000 +102.091075578098 2124.000000000000 +104.049176798538 2869.822265625000 +105.032824057535 2268.302246093750 +109.942659719793 1552.503417968750 +113.963028919819 2876.313476562500 +114.091047730204 9707.000000000000 +118.085960022478 6202.343750000000 +122.095829000463 3354.874755859375 +122.963603572159 10189.080078125000 +123.091990223840 1658.215576171875 +123.962908276753 1264.000000000000 +124.961981387844 1248.617553710938 +124.981468335431 3929.697021484375 +132.044195947098 93934.070312500000 +133.046929709006 8774.461914062500 +136.020849942089 1733.000000000000 +136.111849813683 1360.000000000000 +139.963062553447 1109.337646484375 +141.090358589210 1395.717041015625 +141.112852312471 1316.060180664062 +141.957905703603 16856.453125000000 +142.959660117555 1253.947509765625 +147.090758649450 2468.091308593750 +149.023008191796 6552.861328125000 +150.054483884674 1381.879394531250 +151.096258773620 2499.016357421875 +151.110632987131 2703.097412109375 +153.126579038194 1175.000000000000 +155.069775153959 1603.251586914062 +155.105765884478 1708.284912109375 +155.973825500886 4965.000000000000 +158.002736417151 1095.759399414062 +158.153601610996 15319.201171875000 +159.156377711765 1693.013305664062 +160.050203671116 29808.187500000000 +161.053148014827 2780.099853515625 +161.095739798824 1801.900268554688 +164.143136174419 1163.970947265625 +167.016142798795 1938.000000000000 +170.095669159809 2557.841796875000 +170.116803885810 1136.247192382812 +170.969513731195 5351.000000000000 +171.138682297569 3310.690673828125 +172.133498266589 1186.970092773438 +172.168816609007 1753.000000000000 +173.079889235839 8137.424804687500 +174.127584523158 1118.000000000000 +177.053398759750 2010.000000000000 +178.158757601913 1500.698242187500 +179.105540802675 2172.262695312500 +182.961283063703 1745.384643554688 +186.221178069795 1622.000000000000 +194.116354222571 3003.000000000000 +195.102160721940 1637.390014648438 +195.121964321705 2114.307128906250 +198.185094857026 2154.000000000000 +209.152949152955 1423.597534179688 +217.106757414349 22820.371093750000 +218.109717212262 2365.715332031250 +219.095322856019 2839.912353515625 +224.127859164514 1268.000000000000 +228.195125596876 1796.750244140625 +235.168738541554 1153.106201171875 +236.167125665018 2147.822998046875 +239.089167868946 3697.000000000000 +242.283752097581 1331.000000000000 +246.862020032552 3643.000000000000 +249.184726675759 1740.000000000000 +250.176839865775 1269.149047851562 +251.000052262976 1835.000000000000 +251.185199846439 1143.344848632812 +252.997000735520 1613.000000000000 +253.915053857069 3181.000000000000 +260.980520936940 34136.089843750000 +261.983107472769 3914.000000000000 +262.975908361642 3711.000000000000 +267.171176133304 1190.000000000000 +279.094069923914 2218.000000000000 +281.050366742298 1525.000000000000 +304.299335403967 1178.000000000000 +318.012807082281 13905.000000000000 +319.015812641865 1771.000000000000 +320.009779889072 1411.312622070312 +324.021497063862 2274.000000000000 +327.008303487350 3194.000000000000 +329.005675073912 3118.000000000000 +339.995324080662 63593.000000000000 +340.998247708453 9047.660156250000 +341.991464705082 6892.000000000000 +351.928380615899 5009.000000000000 +353.925994810456 2303.000000000000 +355.968410053379 3129.565673828125 +363.070877703428 10529.000000000000 +364.073137490148 1819.000000000000 +379.934530374708 4270.000000000000 +381.931407641533 2153.000000000000 +445.120046493581 2353.000000000000 +503.859909772363 1436.000000000000 +505.853063220538 5926.000000000000 +506.854048759295 1904.000000000000 +519.139384687535 1126.000000000000 +522.880368766100 2806.000000000000 +523.877736811317 1418.000000000000 +529.888748439098 1722.000000000000 +536.165143915241 4925.000000000000 +537.165086990853 2707.000000000000 +538.162296228146 1762.000000000000 +542.921174254561 1132.000000000000 +543.918003709155 1152.000000000000 +546.914886995490 3416.000000000000 +547.912219447510 1693.000000000000 +563.943181698806 1223.378784179688 +610.184322938020 2314.000000000000 +611.184296206340 1322.000000000000 +657.001817843383 1409.000000000000 +696.940437510992 3603.000000000000 +698.940217154744 2331.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=658 experiment=2 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=658 experiment=2_0 +##scan 10 +##specref ms_run[1]:sample=1 period=1 cycle=658 experiment=2 +50.015165475480 1250.000000000000 +51.023463812880 4679.426269531250 +52.026754245056 120.000000000000 +62.929776022273 120.000000000000 +74.021084721128 60.000000000000 +75.023851813769 60.000000000000 +75.034042258539 45.907085418701 +76.019641569926 120.000000000000 +77.038970411957 4387.440917968750 +77.052046304853 310.789520263672 +77.061493073389 45.000000000000 +78.031873532333 95.631401062012 +78.042618006558 150.000000000000 +102.032089682936 60.000000000000 +104.049886917122 135.000000000000 +105.033508227470 315.000000000000 +130.030742806830 60.000000000000 +130.038270993802 60.000000000000 +132.045117165303 240.000000000000 +>compound 1_0-658003--11--UNKNOWN +>parentmass 160.050203671116 +>charge 1 +>rt 430.939999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +160.050203671116 29808.187500000000 +>ms1peaks +52.005717667707 2536.876953125000 +53.013645918459 13517.719726562500 +53.851091408425 1440.814208984375 +54.009479564739 340518.468750000000 +55.006713705873 6189.195800781250 +55.011648330739 5775.918945312500 +55.054395080163 1937.021850585938 +55.934309790351 6216.487304687500 +56.049851096555 1422.552856445312 +56.942103151176 2497.945800781250 +59.049782018324 63557.187500000000 +60.044617957556 9127.332031250000 +61.039564209817 1916.918579101562 +63.998058629288 4341.631347656250 +64.005180932598 4902.907226562500 +68.011727932833 27051.191406250000 +68.994002789359 13611.511718750000 +69.034264524552 2235.962402343750 +69.044867744672 14147.763671875000 +72.936875253829 3080.500976562500 +73.064425531348 1778.781250000000 +76.486297547963 2075.000000000000 +77.038265451054 5099.881835937500 +79.021270792779 14303.786132812500 +80.049179511142 11132.483398437500 +81.937187525733 8269.017578125000 +82.996616277972 9058.604492187500 +87.055191552618 1226.265625000000 +89.506723502083 2138.000000000000 +90.489274059111 1883.000000000000 +91.053872057085 1250.000000000000 +95.952563443877 2416.907226562500 +97.968351278732 7414.000000000000 +102.091075578098 2124.000000000000 +104.049176798538 2869.822265625000 +105.032824057535 2268.302246093750 +109.942659719793 1552.503417968750 +113.963028919819 2876.313476562500 +114.091047730204 9707.000000000000 +118.085960022478 6202.343750000000 +122.095829000463 3354.874755859375 +122.963603572159 10189.080078125000 +123.091990223840 1658.215576171875 +123.962908276753 1264.000000000000 +124.961981387844 1248.617553710938 +124.981468335431 3929.697021484375 +132.044195947098 93934.070312500000 +133.046929709006 8774.461914062500 +136.020849942089 1733.000000000000 +136.111849813683 1360.000000000000 +139.963062553447 1109.337646484375 +141.090358589210 1395.717041015625 +141.112852312471 1316.060180664062 +141.957905703603 16856.453125000000 +142.959660117555 1253.947509765625 +147.090758649450 2468.091308593750 +149.023008191796 6552.861328125000 +150.054483884674 1381.879394531250 +151.096258773620 2499.016357421875 +151.110632987131 2703.097412109375 +153.126579038194 1175.000000000000 +155.069775153959 1603.251586914062 +155.105765884478 1708.284912109375 +155.973825500886 4965.000000000000 +158.002736417151 1095.759399414062 +158.153601610996 15319.201171875000 +159.156377711765 1693.013305664062 +160.050203671116 29808.187500000000 +161.053148014827 2780.099853515625 +161.095739798824 1801.900268554688 +164.143136174419 1163.970947265625 +167.016142798795 1938.000000000000 +170.095669159809 2557.841796875000 +170.116803885810 1136.247192382812 +170.969513731195 5351.000000000000 +171.138682297569 3310.690673828125 +172.133498266589 1186.970092773438 +172.168816609007 1753.000000000000 +173.079889235839 8137.424804687500 +174.127584523158 1118.000000000000 +177.053398759750 2010.000000000000 +178.158757601913 1500.698242187500 +179.105540802675 2172.262695312500 +182.961283063703 1745.384643554688 +186.221178069795 1622.000000000000 +194.116354222571 3003.000000000000 +195.102160721940 1637.390014648438 +195.121964321705 2114.307128906250 +198.185094857026 2154.000000000000 +209.152949152955 1423.597534179688 +217.106757414349 22820.371093750000 +218.109717212262 2365.715332031250 +219.095322856019 2839.912353515625 +224.127859164514 1268.000000000000 +228.195125596876 1796.750244140625 +235.168738541554 1153.106201171875 +236.167125665018 2147.822998046875 +239.089167868946 3697.000000000000 +242.283752097581 1331.000000000000 +246.862020032552 3643.000000000000 +249.184726675759 1740.000000000000 +250.176839865775 1269.149047851562 +251.000052262976 1835.000000000000 +251.185199846439 1143.344848632812 +252.997000735520 1613.000000000000 +253.915053857069 3181.000000000000 +260.980520936940 34136.089843750000 +261.983107472769 3914.000000000000 +262.975908361642 3711.000000000000 +267.171176133304 1190.000000000000 +279.094069923914 2218.000000000000 +281.050366742298 1525.000000000000 +304.299335403967 1178.000000000000 +318.012807082281 13905.000000000000 +319.015812641865 1771.000000000000 +320.009779889072 1411.312622070312 +324.021497063862 2274.000000000000 +327.008303487350 3194.000000000000 +329.005675073912 3118.000000000000 +339.995324080662 63593.000000000000 +340.998247708453 9047.660156250000 +341.991464705082 6892.000000000000 +351.928380615899 5009.000000000000 +353.925994810456 2303.000000000000 +355.968410053379 3129.565673828125 +363.070877703428 10529.000000000000 +364.073137490148 1819.000000000000 +379.934530374708 4270.000000000000 +381.931407641533 2153.000000000000 +445.120046493581 2353.000000000000 +503.859909772363 1436.000000000000 +505.853063220538 5926.000000000000 +506.854048759295 1904.000000000000 +519.139384687535 1126.000000000000 +522.880368766100 2806.000000000000 +523.877736811317 1418.000000000000 +529.888748439098 1722.000000000000 +536.165143915241 4925.000000000000 +537.165086990853 2707.000000000000 +538.162296228146 1762.000000000000 +542.921174254561 1132.000000000000 +543.918003709155 1152.000000000000 +546.914886995490 3416.000000000000 +547.912219447510 1693.000000000000 +563.943181698806 1223.378784179688 +610.184322938020 2314.000000000000 +611.184296206340 1322.000000000000 +657.001817843383 1409.000000000000 +696.940437510992 3603.000000000000 +698.940217154744 2331.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=658 experiment=3 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=658 experiment=3_0 +##scan 11 +##specref ms_run[1]:sample=1 period=1 cycle=658 experiment=3 +50.000549506599 19.416494369507 +50.007678769020 23.997817993164 +50.017972224964 165.000000000000 +51.023261721307 1659.817749023438 +55.934947062739 30.000000000000 +55.943791529530 15.000000000000 +56.942758461933 60.000000000000 +72.938382531295 30.000000000000 +75.022596683330 30.000000000000 +77.038948532128 1661.000000000000 +78.034500212369 45.000000000000 +78.043126278161 55.031566619873 +102.034063362310 90.000000000000 +105.034914035691 75.000000000000 +105.045001283267 75.000000000000 +130.039992259140 74.195045471191 +130.053680546923 60.000000000000 +>compound 1_0-658004--12--UNKNOWN +>parentmass 170.969513731195 +>charge 1 +>rt 430.939999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +170.969513731195 5351.000000000000 +>ms1peaks +52.005717667707 2536.876953125000 +53.013645918459 13517.719726562500 +53.851091408425 1440.814208984375 +54.009479564739 340518.468750000000 +55.006713705873 6189.195800781250 +55.011648330739 5775.918945312500 +55.054395080163 1937.021850585938 +55.934309790351 6216.487304687500 +56.049851096555 1422.552856445312 +56.942103151176 2497.945800781250 +59.049782018324 63557.187500000000 +60.044617957556 9127.332031250000 +61.039564209817 1916.918579101562 +63.998058629288 4341.631347656250 +64.005180932598 4902.907226562500 +68.011727932833 27051.191406250000 +68.994002789359 13611.511718750000 +69.034264524552 2235.962402343750 +69.044867744672 14147.763671875000 +72.936875253829 3080.500976562500 +73.064425531348 1778.781250000000 +76.486297547963 2075.000000000000 +77.038265451054 5099.881835937500 +79.021270792779 14303.786132812500 +80.049179511142 11132.483398437500 +81.937187525733 8269.017578125000 +82.996616277972 9058.604492187500 +87.055191552618 1226.265625000000 +89.506723502083 2138.000000000000 +90.489274059111 1883.000000000000 +91.053872057085 1250.000000000000 +95.952563443877 2416.907226562500 +97.968351278732 7414.000000000000 +102.091075578098 2124.000000000000 +104.049176798538 2869.822265625000 +105.032824057535 2268.302246093750 +109.942659719793 1552.503417968750 +113.963028919819 2876.313476562500 +114.091047730204 9707.000000000000 +118.085960022478 6202.343750000000 +122.095829000463 3354.874755859375 +122.963603572159 10189.080078125000 +123.091990223840 1658.215576171875 +123.962908276753 1264.000000000000 +124.961981387844 1248.617553710938 +124.981468335431 3929.697021484375 +132.044195947098 93934.070312500000 +133.046929709006 8774.461914062500 +136.020849942089 1733.000000000000 +136.111849813683 1360.000000000000 +139.963062553447 1109.337646484375 +141.090358589210 1395.717041015625 +141.112852312471 1316.060180664062 +141.957905703603 16856.453125000000 +142.959660117555 1253.947509765625 +147.090758649450 2468.091308593750 +149.023008191796 6552.861328125000 +150.054483884674 1381.879394531250 +151.096258773620 2499.016357421875 +151.110632987131 2703.097412109375 +153.126579038194 1175.000000000000 +155.069775153959 1603.251586914062 +155.105765884478 1708.284912109375 +155.973825500886 4965.000000000000 +158.002736417151 1095.759399414062 +158.153601610996 15319.201171875000 +159.156377711765 1693.013305664062 +160.050203671116 29808.187500000000 +161.053148014827 2780.099853515625 +161.095739798824 1801.900268554688 +164.143136174419 1163.970947265625 +167.016142798795 1938.000000000000 +170.095669159809 2557.841796875000 +170.116803885810 1136.247192382812 +170.969513731195 5351.000000000000 +171.138682297569 3310.690673828125 +172.133498266589 1186.970092773438 +172.168816609007 1753.000000000000 +173.079889235839 8137.424804687500 +174.127584523158 1118.000000000000 +177.053398759750 2010.000000000000 +178.158757601913 1500.698242187500 +179.105540802675 2172.262695312500 +182.961283063703 1745.384643554688 +186.221178069795 1622.000000000000 +194.116354222571 3003.000000000000 +195.102160721940 1637.390014648438 +195.121964321705 2114.307128906250 +198.185094857026 2154.000000000000 +209.152949152955 1423.597534179688 +217.106757414349 22820.371093750000 +218.109717212262 2365.715332031250 +219.095322856019 2839.912353515625 +224.127859164514 1268.000000000000 +228.195125596876 1796.750244140625 +235.168738541554 1153.106201171875 +236.167125665018 2147.822998046875 +239.089167868946 3697.000000000000 +242.283752097581 1331.000000000000 +246.862020032552 3643.000000000000 +249.184726675759 1740.000000000000 +250.176839865775 1269.149047851562 +251.000052262976 1835.000000000000 +251.185199846439 1143.344848632812 +252.997000735520 1613.000000000000 +253.915053857069 3181.000000000000 +260.980520936940 34136.089843750000 +261.983107472769 3914.000000000000 +262.975908361642 3711.000000000000 +267.171176133304 1190.000000000000 +279.094069923914 2218.000000000000 +281.050366742298 1525.000000000000 +304.299335403967 1178.000000000000 +318.012807082281 13905.000000000000 +319.015812641865 1771.000000000000 +320.009779889072 1411.312622070312 +324.021497063862 2274.000000000000 +327.008303487350 3194.000000000000 +329.005675073912 3118.000000000000 +339.995324080662 63593.000000000000 +340.998247708453 9047.660156250000 +341.991464705082 6892.000000000000 +351.928380615899 5009.000000000000 +353.925994810456 2303.000000000000 +355.968410053379 3129.565673828125 +363.070877703428 10529.000000000000 +364.073137490148 1819.000000000000 +379.934530374708 4270.000000000000 +381.931407641533 2153.000000000000 +445.120046493581 2353.000000000000 +503.859909772363 1436.000000000000 +505.853063220538 5926.000000000000 +506.854048759295 1904.000000000000 +519.139384687535 1126.000000000000 +522.880368766100 2806.000000000000 +523.877736811317 1418.000000000000 +529.888748439098 1722.000000000000 +536.165143915241 4925.000000000000 +537.165086990853 2707.000000000000 +538.162296228146 1762.000000000000 +542.921174254561 1132.000000000000 +543.918003709155 1152.000000000000 +546.914886995490 3416.000000000000 +547.912219447510 1693.000000000000 +563.943181698806 1223.378784179688 +610.184322938020 2314.000000000000 +611.184296206340 1322.000000000000 +657.001817843383 1409.000000000000 +696.940437510992 3603.000000000000 +698.940217154744 2331.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=658 experiment=4 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=658 experiment=4_0 +##scan 12 +##specref ms_run[1]:sample=1 period=1 cycle=658 experiment=4 +51.939949248191 30.000000000000 +55.054830450184 30.000000000000 +69.067255631228 13.000000000000 +72.044778791888 30.000000000000 +78.993063364372 60.000000000000 +83.084510468780 30.000000000000 +88.985248761352 13.000000000000 +89.908171661637 13.000000000000 +93.011376570627 45.000000000000 +94.056360529085 30.000000000000 +124.982421070470 75.000000000000 +>compound 1_0-658005--13--UNKNOWN +>parentmass 260.980520936940 +>charge 1 +>rt 430.939999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +260.980520936940 34136.089843750000 +>ms1peaks +52.005717667707 2536.876953125000 +53.013645918459 13517.719726562500 +53.851091408425 1440.814208984375 +54.009479564739 340518.468750000000 +55.006713705873 6189.195800781250 +55.011648330739 5775.918945312500 +55.054395080163 1937.021850585938 +55.934309790351 6216.487304687500 +56.049851096555 1422.552856445312 +56.942103151176 2497.945800781250 +59.049782018324 63557.187500000000 +60.044617957556 9127.332031250000 +61.039564209817 1916.918579101562 +63.998058629288 4341.631347656250 +64.005180932598 4902.907226562500 +68.011727932833 27051.191406250000 +68.994002789359 13611.511718750000 +69.034264524552 2235.962402343750 +69.044867744672 14147.763671875000 +72.936875253829 3080.500976562500 +73.064425531348 1778.781250000000 +76.486297547963 2075.000000000000 +77.038265451054 5099.881835937500 +79.021270792779 14303.786132812500 +80.049179511142 11132.483398437500 +81.937187525733 8269.017578125000 +82.996616277972 9058.604492187500 +87.055191552618 1226.265625000000 +89.506723502083 2138.000000000000 +90.489274059111 1883.000000000000 +91.053872057085 1250.000000000000 +95.952563443877 2416.907226562500 +97.968351278732 7414.000000000000 +102.091075578098 2124.000000000000 +104.049176798538 2869.822265625000 +105.032824057535 2268.302246093750 +109.942659719793 1552.503417968750 +113.963028919819 2876.313476562500 +114.091047730204 9707.000000000000 +118.085960022478 6202.343750000000 +122.095829000463 3354.874755859375 +122.963603572159 10189.080078125000 +123.091990223840 1658.215576171875 +123.962908276753 1264.000000000000 +124.961981387844 1248.617553710938 +124.981468335431 3929.697021484375 +132.044195947098 93934.070312500000 +133.046929709006 8774.461914062500 +136.020849942089 1733.000000000000 +136.111849813683 1360.000000000000 +139.963062553447 1109.337646484375 +141.090358589210 1395.717041015625 +141.112852312471 1316.060180664062 +141.957905703603 16856.453125000000 +142.959660117555 1253.947509765625 +147.090758649450 2468.091308593750 +149.023008191796 6552.861328125000 +150.054483884674 1381.879394531250 +151.096258773620 2499.016357421875 +151.110632987131 2703.097412109375 +153.126579038194 1175.000000000000 +155.069775153959 1603.251586914062 +155.105765884478 1708.284912109375 +155.973825500886 4965.000000000000 +158.002736417151 1095.759399414062 +158.153601610996 15319.201171875000 +159.156377711765 1693.013305664062 +160.050203671116 29808.187500000000 +161.053148014827 2780.099853515625 +161.095739798824 1801.900268554688 +164.143136174419 1163.970947265625 +167.016142798795 1938.000000000000 +170.095669159809 2557.841796875000 +170.116803885810 1136.247192382812 +170.969513731195 5351.000000000000 +171.138682297569 3310.690673828125 +172.133498266589 1186.970092773438 +172.168816609007 1753.000000000000 +173.079889235839 8137.424804687500 +174.127584523158 1118.000000000000 +177.053398759750 2010.000000000000 +178.158757601913 1500.698242187500 +179.105540802675 2172.262695312500 +182.961283063703 1745.384643554688 +186.221178069795 1622.000000000000 +194.116354222571 3003.000000000000 +195.102160721940 1637.390014648438 +195.121964321705 2114.307128906250 +198.185094857026 2154.000000000000 +209.152949152955 1423.597534179688 +217.106757414349 22820.371093750000 +218.109717212262 2365.715332031250 +219.095322856019 2839.912353515625 +224.127859164514 1268.000000000000 +228.195125596876 1796.750244140625 +235.168738541554 1153.106201171875 +236.167125665018 2147.822998046875 +239.089167868946 3697.000000000000 +242.283752097581 1331.000000000000 +246.862020032552 3643.000000000000 +249.184726675759 1740.000000000000 +250.176839865775 1269.149047851562 +251.000052262976 1835.000000000000 +251.185199846439 1143.344848632812 +252.997000735520 1613.000000000000 +253.915053857069 3181.000000000000 +260.980520936940 34136.089843750000 +261.983107472769 3914.000000000000 +262.975908361642 3711.000000000000 +267.171176133304 1190.000000000000 +279.094069923914 2218.000000000000 +281.050366742298 1525.000000000000 +304.299335403967 1178.000000000000 +318.012807082281 13905.000000000000 +319.015812641865 1771.000000000000 +320.009779889072 1411.312622070312 +324.021497063862 2274.000000000000 +327.008303487350 3194.000000000000 +329.005675073912 3118.000000000000 +339.995324080662 63593.000000000000 +340.998247708453 9047.660156250000 +341.991464705082 6892.000000000000 +351.928380615899 5009.000000000000 +353.925994810456 2303.000000000000 +355.968410053379 3129.565673828125 +363.070877703428 10529.000000000000 +364.073137490148 1819.000000000000 +379.934530374708 4270.000000000000 +381.931407641533 2153.000000000000 +445.120046493581 2353.000000000000 +503.859909772363 1436.000000000000 +505.853063220538 5926.000000000000 +506.854048759295 1904.000000000000 +519.139384687535 1126.000000000000 +522.880368766100 2806.000000000000 +523.877736811317 1418.000000000000 +529.888748439098 1722.000000000000 +536.165143915241 4925.000000000000 +537.165086990853 2707.000000000000 +538.162296228146 1762.000000000000 +542.921174254561 1132.000000000000 +543.918003709155 1152.000000000000 +546.914886995490 3416.000000000000 +547.912219447510 1693.000000000000 +563.943181698806 1223.378784179688 +610.184322938020 2314.000000000000 +611.184296206340 1322.000000000000 +657.001817843383 1409.000000000000 +696.940437510992 3603.000000000000 +698.940217154744 2331.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=658 experiment=5 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=658 experiment=5_0 +##scan 13 +##specref ms_run[1]:sample=1 period=1 cycle=658 experiment=5 +62.018433615912 45.000000000000 +62.999560176952 30.000000000000 +78.994234236028 309.650909423828 +93.009991019875 45.000000000000 +124.981777144557 1225.000000000000 +136.001703293989 30.000000000000 +137.004941794890 75.000000000000 +151.995082084157 210.000000000000 +167.016342549556 210.000000000000 +167.975948042555 75.000000000000 +182.992473591235 90.000000000000 +>compound 1_0-658008--16--UNKNOWN +>parentmass 351.928380615899 +>charge 1 +>rt 430.939999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +351.928380615899 5009.000000000000 +>ms1peaks +52.005717667707 2536.876953125000 +53.013645918459 13517.719726562500 +53.851091408425 1440.814208984375 +54.009479564739 340518.468750000000 +55.006713705873 6189.195800781250 +55.011648330739 5775.918945312500 +55.054395080163 1937.021850585938 +55.934309790351 6216.487304687500 +56.049851096555 1422.552856445312 +56.942103151176 2497.945800781250 +59.049782018324 63557.187500000000 +60.044617957556 9127.332031250000 +61.039564209817 1916.918579101562 +63.998058629288 4341.631347656250 +64.005180932598 4902.907226562500 +68.011727932833 27051.191406250000 +68.994002789359 13611.511718750000 +69.034264524552 2235.962402343750 +69.044867744672 14147.763671875000 +72.936875253829 3080.500976562500 +73.064425531348 1778.781250000000 +76.486297547963 2075.000000000000 +77.038265451054 5099.881835937500 +79.021270792779 14303.786132812500 +80.049179511142 11132.483398437500 +81.937187525733 8269.017578125000 +82.996616277972 9058.604492187500 +87.055191552618 1226.265625000000 +89.506723502083 2138.000000000000 +90.489274059111 1883.000000000000 +91.053872057085 1250.000000000000 +95.952563443877 2416.907226562500 +97.968351278732 7414.000000000000 +102.091075578098 2124.000000000000 +104.049176798538 2869.822265625000 +105.032824057535 2268.302246093750 +109.942659719793 1552.503417968750 +113.963028919819 2876.313476562500 +114.091047730204 9707.000000000000 +118.085960022478 6202.343750000000 +122.095829000463 3354.874755859375 +122.963603572159 10189.080078125000 +123.091990223840 1658.215576171875 +123.962908276753 1264.000000000000 +124.961981387844 1248.617553710938 +124.981468335431 3929.697021484375 +132.044195947098 93934.070312500000 +133.046929709006 8774.461914062500 +136.020849942089 1733.000000000000 +136.111849813683 1360.000000000000 +139.963062553447 1109.337646484375 +141.090358589210 1395.717041015625 +141.112852312471 1316.060180664062 +141.957905703603 16856.453125000000 +142.959660117555 1253.947509765625 +147.090758649450 2468.091308593750 +149.023008191796 6552.861328125000 +150.054483884674 1381.879394531250 +151.096258773620 2499.016357421875 +151.110632987131 2703.097412109375 +153.126579038194 1175.000000000000 +155.069775153959 1603.251586914062 +155.105765884478 1708.284912109375 +155.973825500886 4965.000000000000 +158.002736417151 1095.759399414062 +158.153601610996 15319.201171875000 +159.156377711765 1693.013305664062 +160.050203671116 29808.187500000000 +161.053148014827 2780.099853515625 +161.095739798824 1801.900268554688 +164.143136174419 1163.970947265625 +167.016142798795 1938.000000000000 +170.095669159809 2557.841796875000 +170.116803885810 1136.247192382812 +170.969513731195 5351.000000000000 +171.138682297569 3310.690673828125 +172.133498266589 1186.970092773438 +172.168816609007 1753.000000000000 +173.079889235839 8137.424804687500 +174.127584523158 1118.000000000000 +177.053398759750 2010.000000000000 +178.158757601913 1500.698242187500 +179.105540802675 2172.262695312500 +182.961283063703 1745.384643554688 +186.221178069795 1622.000000000000 +194.116354222571 3003.000000000000 +195.102160721940 1637.390014648438 +195.121964321705 2114.307128906250 +198.185094857026 2154.000000000000 +209.152949152955 1423.597534179688 +217.106757414349 22820.371093750000 +218.109717212262 2365.715332031250 +219.095322856019 2839.912353515625 +224.127859164514 1268.000000000000 +228.195125596876 1796.750244140625 +235.168738541554 1153.106201171875 +236.167125665018 2147.822998046875 +239.089167868946 3697.000000000000 +242.283752097581 1331.000000000000 +246.862020032552 3643.000000000000 +249.184726675759 1740.000000000000 +250.176839865775 1269.149047851562 +251.000052262976 1835.000000000000 +251.185199846439 1143.344848632812 +252.997000735520 1613.000000000000 +253.915053857069 3181.000000000000 +260.980520936940 34136.089843750000 +261.983107472769 3914.000000000000 +262.975908361642 3711.000000000000 +267.171176133304 1190.000000000000 +279.094069923914 2218.000000000000 +281.050366742298 1525.000000000000 +304.299335403967 1178.000000000000 +318.012807082281 13905.000000000000 +319.015812641865 1771.000000000000 +320.009779889072 1411.312622070312 +324.021497063862 2274.000000000000 +327.008303487350 3194.000000000000 +329.005675073912 3118.000000000000 +339.995324080662 63593.000000000000 +340.998247708453 9047.660156250000 +341.991464705082 6892.000000000000 +351.928380615899 5009.000000000000 +353.925994810456 2303.000000000000 +355.968410053379 3129.565673828125 +363.070877703428 10529.000000000000 +364.073137490148 1819.000000000000 +379.934530374708 4270.000000000000 +381.931407641533 2153.000000000000 +445.120046493581 2353.000000000000 +503.859909772363 1436.000000000000 +505.853063220538 5926.000000000000 +506.854048759295 1904.000000000000 +519.139384687535 1126.000000000000 +522.880368766100 2806.000000000000 +523.877736811317 1418.000000000000 +529.888748439098 1722.000000000000 +536.165143915241 4925.000000000000 +537.165086990853 2707.000000000000 +538.162296228146 1762.000000000000 +542.921174254561 1132.000000000000 +543.918003709155 1152.000000000000 +546.914886995490 3416.000000000000 +547.912219447510 1693.000000000000 +563.943181698806 1223.378784179688 +610.184322938020 2314.000000000000 +611.184296206340 1322.000000000000 +657.001817843383 1409.000000000000 +696.940437510992 3603.000000000000 +698.940217154744 2331.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=658 experiment=8 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=658 experiment=8_0 +##scan 16 +##specref ms_run[1]:sample=1 period=1 cycle=658 experiment=8 +132.041411012430 45.000000000000 +215.930891084475 45.000000000000 +216.924999760429 30.000000000000 +282.161332115821 30.000000000000 +351.933034998352 60.000000000000 +>compound 1_0-659002--19--UNKNOWN +>parentmass 132.044243365317 +>charge 1 +>rt 431.866000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +132.044243365317 129513.453125000000 +>ms1peaks +50.015030688094 1631.000000000000 +52.005691836328 2833.837890625000 +53.013678352050 13820.645507812500 +53.850930804944 1372.676147460938 +54.009488813193 341215.375000000000 +55.006244952468 6363.858398437500 +55.011195314574 6663.786621093750 +55.054435589179 2093.444580078125 +55.934214796378 6443.966308593750 +56.049418637710 1614.372314453125 +56.942077131072 2603.345458984375 +59.049684010496 67068.679687500000 +60.044674600260 8507.357421875000 +61.039576232541 1618.787597656250 +63.997953270808 4540.612304687500 +64.004984885183 4765.146484375000 +68.011730125352 26984.066406250000 +68.993758540617 13250.065429687500 +69.044639818678 13453.114257812500 +72.936865747985 3009.785888671875 +73.064487442720 1926.000000000000 +76.486106736487 2394.000000000000 +77.012975210189 1331.000000000000 +77.038245950909 6864.013671875000 +79.021170250218 14954.513671875000 +80.049055487900 12273.781250000000 +81.937167726085 8605.721679687500 +82.996581259270 9547.895507812500 +87.054493611252 1308.586669921875 +89.506388403917 1579.000000000000 +90.489379547455 1879.000000000000 +91.053817827625 1210.000000000000 +95.952611673257 2421.652587890625 +97.968325410624 7844.628906250000 +100.075376789744 1408.000000000000 +102.090940410850 1712.000000000000 +104.048827681379 4021.000000000000 +105.032851808396 3043.702148437500 +109.943040230612 1524.000000000000 +113.962743611150 2300.809326171875 +114.091086475065 10732.537109375000 +118.085604757949 6375.129394531250 +122.095612538633 3453.346191406250 +122.963478886657 10149.138671875000 +123.091154033496 1907.152587890625 +123.962085557178 1291.000000000000 +124.964032856960 1524.723510742188 +124.981293760905 5573.300781250000 +132.044243365317 129513.453125000000 +133.047275934233 12024.171875000000 +136.021338396786 1596.000000000000 +136.111611313675 1179.000000000000 +141.090513006913 1389.292724609375 +141.112565247916 1247.203857421875 +141.957978845995 16325.500000000000 +147.090945866648 2556.685302734375 +149.023028218992 6399.154296875000 +150.054262184195 1568.000000000000 +151.096430884077 2664.400390625000 +151.111011940160 2835.027587890625 +155.069438117684 1871.944824218750 +155.105960083325 1401.000000000000 +155.973753152622 4288.000000000000 +158.153627071218 14384.000000000000 +159.156473714741 1627.752929687500 +160.050487288307 38915.000000000000 +161.053611692746 4466.942382812500 +161.095700587134 1743.057495117188 +164.142944501592 1256.052368164062 +167.015735366166 2785.089599609375 +170.096151543720 2652.023193359375 +170.116409887737 1324.376464843750 +170.968993556255 7076.000000000000 +171.137671144810 4912.312011718750 +172.136045264128 1371.000000000000 +173.079830429233 8581.928710937500 +174.991306236853 1198.000000000000 +177.054219725911 1769.000000000000 +178.157947155736 1498.908447265625 +179.106050750592 1934.090454101562 +182.960933723657 1780.061523437500 +182.991388549794 1244.309082031250 +186.221152079128 2287.000000000000 +194.116900036921 2752.000000000000 +195.121615177487 1919.471069335938 +198.184412559940 2140.000000000000 +200.200455656322 1296.554199218750 +209.153704347399 1590.000000000000 +212.888258624179 1535.000000000000 +217.106944592366 24346.000000000000 +218.110517718319 2646.000000000000 +219.095540028475 2644.006591796875 +228.196097140190 1527.811645507812 +236.167749124378 1677.000000000000 +239.089312381813 3327.000000000000 +242.284215148787 1201.000000000000 +246.862288406064 3365.000000000000 +249.184532839914 1860.293334960938 +251.001107206325 2362.000000000000 +252.997444701878 1876.000000000000 +253.916335213075 4093.000000000000 +260.980865788213 46877.000000000000 +261.983931158765 5301.000000000000 +262.976772362746 4418.000000000000 +267.172661485943 1410.000000000000 +277.199859444074 2417.590087890625 +279.093448238935 1888.450561523438 +281.051163936397 1557.000000000000 +292.121170689402 15731.000000000000 +293.123945781771 2615.000000000000 +294.118820607873 4859.000000000000 +295.121821476430 1186.000000000000 +318.013460543863 19020.000000000000 +319.016226586969 2819.000000000000 +320.010792812476 1745.000000000000 +324.021120495162 2522.000000000000 +327.007928037291 3314.077636718750 +329.005428091932 3187.000000000000 +331.002680981835 1140.229492187500 +335.040406311528 1228.000000000000 +339.995783079981 73785.000000000000 +340.998517552508 10283.000000000000 +341.992089047450 7216.000000000000 +351.928943475892 4368.000000000000 +353.926519256680 2362.000000000000 +355.969819970535 3512.076416015625 +363.071778928522 11698.970703125000 +364.073181575102 1981.000000000000 +371.315525399960 1354.000000000000 +379.934529706961 4095.883300781250 +381.932716463007 2062.000000000000 +445.119746997025 2474.000000000000 +446.119291863183 1145.000000000000 +505.853826516954 4858.000000000000 +506.855308046231 1451.000000000000 +519.139330404280 1166.703979492188 +522.880837958116 1970.000000000000 +523.871380297922 1372.000000000000 +529.891671811182 1342.000000000000 +536.165890644769 5714.000000000000 +537.166372879728 2646.000000000000 +538.163391669663 2155.000000000000 +544.339624971493 1155.000000000000 +546.914039373140 3234.000000000000 +547.912958504845 1306.000000000000 +610.184280095073 1860.000000000000 +611.183517202231 1239.000000000000 +657.000223829242 1834.000000000000 +696.940499292838 3022.000000000000 +698.938485246113 2250.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=659 experiment=2 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=659 experiment=2_0 +##scan 19 +##specref ms_run[1]:sample=1 period=1 cycle=659 experiment=2 +50.015684933400 782.296936035156 +51.023476325043 5238.444335937500 +52.019660740259 45.000000000000 +52.027188221199 105.486495971680 +62.930593774696 45.000000000000 +63.022428787821 75.000000000000 +74.014590526065 105.000000000000 +75.022725050754 75.000000000000 +76.017779952496 120.000000000000 +77.038582522704 6592.706054687500 +78.040220421887 60.000000000000 +102.033634726357 60.000000000000 +104.049860668558 165.000000000000 +105.032887544235 427.000000000000 +105.045829320505 316.610382080078 +130.041154011737 60.000000000000 +132.046355654990 135.000000000000 +>compound 1_0-659003--20--UNKNOWN +>parentmass 160.050487288307 +>charge 1 +>rt 431.866000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +160.050487288307 38915.000000000000 +>ms1peaks +50.015030688094 1631.000000000000 +52.005691836328 2833.837890625000 +53.013678352050 13820.645507812500 +53.850930804944 1372.676147460938 +54.009488813193 341215.375000000000 +55.006244952468 6363.858398437500 +55.011195314574 6663.786621093750 +55.054435589179 2093.444580078125 +55.934214796378 6443.966308593750 +56.049418637710 1614.372314453125 +56.942077131072 2603.345458984375 +59.049684010496 67068.679687500000 +60.044674600260 8507.357421875000 +61.039576232541 1618.787597656250 +63.997953270808 4540.612304687500 +64.004984885183 4765.146484375000 +68.011730125352 26984.066406250000 +68.993758540617 13250.065429687500 +69.044639818678 13453.114257812500 +72.936865747985 3009.785888671875 +73.064487442720 1926.000000000000 +76.486106736487 2394.000000000000 +77.012975210189 1331.000000000000 +77.038245950909 6864.013671875000 +79.021170250218 14954.513671875000 +80.049055487900 12273.781250000000 +81.937167726085 8605.721679687500 +82.996581259270 9547.895507812500 +87.054493611252 1308.586669921875 +89.506388403917 1579.000000000000 +90.489379547455 1879.000000000000 +91.053817827625 1210.000000000000 +95.952611673257 2421.652587890625 +97.968325410624 7844.628906250000 +100.075376789744 1408.000000000000 +102.090940410850 1712.000000000000 +104.048827681379 4021.000000000000 +105.032851808396 3043.702148437500 +109.943040230612 1524.000000000000 +113.962743611150 2300.809326171875 +114.091086475065 10732.537109375000 +118.085604757949 6375.129394531250 +122.095612538633 3453.346191406250 +122.963478886657 10149.138671875000 +123.091154033496 1907.152587890625 +123.962085557178 1291.000000000000 +124.964032856960 1524.723510742188 +124.981293760905 5573.300781250000 +132.044243365317 129513.453125000000 +133.047275934233 12024.171875000000 +136.021338396786 1596.000000000000 +136.111611313675 1179.000000000000 +141.090513006913 1389.292724609375 +141.112565247916 1247.203857421875 +141.957978845995 16325.500000000000 +147.090945866648 2556.685302734375 +149.023028218992 6399.154296875000 +150.054262184195 1568.000000000000 +151.096430884077 2664.400390625000 +151.111011940160 2835.027587890625 +155.069438117684 1871.944824218750 +155.105960083325 1401.000000000000 +155.973753152622 4288.000000000000 +158.153627071218 14384.000000000000 +159.156473714741 1627.752929687500 +160.050487288307 38915.000000000000 +161.053611692746 4466.942382812500 +161.095700587134 1743.057495117188 +164.142944501592 1256.052368164062 +167.015735366166 2785.089599609375 +170.096151543720 2652.023193359375 +170.116409887737 1324.376464843750 +170.968993556255 7076.000000000000 +171.137671144810 4912.312011718750 +172.136045264128 1371.000000000000 +173.079830429233 8581.928710937500 +174.991306236853 1198.000000000000 +177.054219725911 1769.000000000000 +178.157947155736 1498.908447265625 +179.106050750592 1934.090454101562 +182.960933723657 1780.061523437500 +182.991388549794 1244.309082031250 +186.221152079128 2287.000000000000 +194.116900036921 2752.000000000000 +195.121615177487 1919.471069335938 +198.184412559940 2140.000000000000 +200.200455656322 1296.554199218750 +209.153704347399 1590.000000000000 +212.888258624179 1535.000000000000 +217.106944592366 24346.000000000000 +218.110517718319 2646.000000000000 +219.095540028475 2644.006591796875 +228.196097140190 1527.811645507812 +236.167749124378 1677.000000000000 +239.089312381813 3327.000000000000 +242.284215148787 1201.000000000000 +246.862288406064 3365.000000000000 +249.184532839914 1860.293334960938 +251.001107206325 2362.000000000000 +252.997444701878 1876.000000000000 +253.916335213075 4093.000000000000 +260.980865788213 46877.000000000000 +261.983931158765 5301.000000000000 +262.976772362746 4418.000000000000 +267.172661485943 1410.000000000000 +277.199859444074 2417.590087890625 +279.093448238935 1888.450561523438 +281.051163936397 1557.000000000000 +292.121170689402 15731.000000000000 +293.123945781771 2615.000000000000 +294.118820607873 4859.000000000000 +295.121821476430 1186.000000000000 +318.013460543863 19020.000000000000 +319.016226586969 2819.000000000000 +320.010792812476 1745.000000000000 +324.021120495162 2522.000000000000 +327.007928037291 3314.077636718750 +329.005428091932 3187.000000000000 +331.002680981835 1140.229492187500 +335.040406311528 1228.000000000000 +339.995783079981 73785.000000000000 +340.998517552508 10283.000000000000 +341.992089047450 7216.000000000000 +351.928943475892 4368.000000000000 +353.926519256680 2362.000000000000 +355.969819970535 3512.076416015625 +363.071778928522 11698.970703125000 +364.073181575102 1981.000000000000 +371.315525399960 1354.000000000000 +379.934529706961 4095.883300781250 +381.932716463007 2062.000000000000 +445.119746997025 2474.000000000000 +446.119291863183 1145.000000000000 +505.853826516954 4858.000000000000 +506.855308046231 1451.000000000000 +519.139330404280 1166.703979492188 +522.880837958116 1970.000000000000 +523.871380297922 1372.000000000000 +529.891671811182 1342.000000000000 +536.165890644769 5714.000000000000 +537.166372879728 2646.000000000000 +538.163391669663 2155.000000000000 +544.339624971493 1155.000000000000 +546.914039373140 3234.000000000000 +547.912958504845 1306.000000000000 +610.184280095073 1860.000000000000 +611.183517202231 1239.000000000000 +657.000223829242 1834.000000000000 +696.940499292838 3022.000000000000 +698.938485246113 2250.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=659 experiment=3 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=659 experiment=3_0 +##scan 20 +##specref ms_run[1]:sample=1 period=1 cycle=659 experiment=3 +50.015300938071 165.000000000000 +50.023432814222 26.121423721313 +51.023560643128 1567.000000000000 +52.024436323526 30.000000000000 +55.934703320231 30.000000000000 +55.938250623348 30.000000000000 +56.934648956307 30.000000000000 +56.943545244569 105.000000000000 +75.009914112122 15.000000000000 +75.024485681270 45.000000000000 +76.024872027539 60.000000000000 +77.015824971891 15.000000000000 +77.038700302945 1461.000000000000 +78.033265752833 30.000000000000 +102.032787662102 75.000000000000 +105.035190696906 165.000000000000 +105.040853889502 193.226303100586 +105.051692243839 90.000000000000 +130.038254747999 30.000000000000 +>compound 1_0-659004--21--UNKNOWN +>parentmass 170.968993556255 +>charge 1 +>rt 431.866000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +170.968993556255 7076.000000000000 +>ms1peaks +50.015030688094 1631.000000000000 +52.005691836328 2833.837890625000 +53.013678352050 13820.645507812500 +53.850930804944 1372.676147460938 +54.009488813193 341215.375000000000 +55.006244952468 6363.858398437500 +55.011195314574 6663.786621093750 +55.054435589179 2093.444580078125 +55.934214796378 6443.966308593750 +56.049418637710 1614.372314453125 +56.942077131072 2603.345458984375 +59.049684010496 67068.679687500000 +60.044674600260 8507.357421875000 +61.039576232541 1618.787597656250 +63.997953270808 4540.612304687500 +64.004984885183 4765.146484375000 +68.011730125352 26984.066406250000 +68.993758540617 13250.065429687500 +69.044639818678 13453.114257812500 +72.936865747985 3009.785888671875 +73.064487442720 1926.000000000000 +76.486106736487 2394.000000000000 +77.012975210189 1331.000000000000 +77.038245950909 6864.013671875000 +79.021170250218 14954.513671875000 +80.049055487900 12273.781250000000 +81.937167726085 8605.721679687500 +82.996581259270 9547.895507812500 +87.054493611252 1308.586669921875 +89.506388403917 1579.000000000000 +90.489379547455 1879.000000000000 +91.053817827625 1210.000000000000 +95.952611673257 2421.652587890625 +97.968325410624 7844.628906250000 +100.075376789744 1408.000000000000 +102.090940410850 1712.000000000000 +104.048827681379 4021.000000000000 +105.032851808396 3043.702148437500 +109.943040230612 1524.000000000000 +113.962743611150 2300.809326171875 +114.091086475065 10732.537109375000 +118.085604757949 6375.129394531250 +122.095612538633 3453.346191406250 +122.963478886657 10149.138671875000 +123.091154033496 1907.152587890625 +123.962085557178 1291.000000000000 +124.964032856960 1524.723510742188 +124.981293760905 5573.300781250000 +132.044243365317 129513.453125000000 +133.047275934233 12024.171875000000 +136.021338396786 1596.000000000000 +136.111611313675 1179.000000000000 +141.090513006913 1389.292724609375 +141.112565247916 1247.203857421875 +141.957978845995 16325.500000000000 +147.090945866648 2556.685302734375 +149.023028218992 6399.154296875000 +150.054262184195 1568.000000000000 +151.096430884077 2664.400390625000 +151.111011940160 2835.027587890625 +155.069438117684 1871.944824218750 +155.105960083325 1401.000000000000 +155.973753152622 4288.000000000000 +158.153627071218 14384.000000000000 +159.156473714741 1627.752929687500 +160.050487288307 38915.000000000000 +161.053611692746 4466.942382812500 +161.095700587134 1743.057495117188 +164.142944501592 1256.052368164062 +167.015735366166 2785.089599609375 +170.096151543720 2652.023193359375 +170.116409887737 1324.376464843750 +170.968993556255 7076.000000000000 +171.137671144810 4912.312011718750 +172.136045264128 1371.000000000000 +173.079830429233 8581.928710937500 +174.991306236853 1198.000000000000 +177.054219725911 1769.000000000000 +178.157947155736 1498.908447265625 +179.106050750592 1934.090454101562 +182.960933723657 1780.061523437500 +182.991388549794 1244.309082031250 +186.221152079128 2287.000000000000 +194.116900036921 2752.000000000000 +195.121615177487 1919.471069335938 +198.184412559940 2140.000000000000 +200.200455656322 1296.554199218750 +209.153704347399 1590.000000000000 +212.888258624179 1535.000000000000 +217.106944592366 24346.000000000000 +218.110517718319 2646.000000000000 +219.095540028475 2644.006591796875 +228.196097140190 1527.811645507812 +236.167749124378 1677.000000000000 +239.089312381813 3327.000000000000 +242.284215148787 1201.000000000000 +246.862288406064 3365.000000000000 +249.184532839914 1860.293334960938 +251.001107206325 2362.000000000000 +252.997444701878 1876.000000000000 +253.916335213075 4093.000000000000 +260.980865788213 46877.000000000000 +261.983931158765 5301.000000000000 +262.976772362746 4418.000000000000 +267.172661485943 1410.000000000000 +277.199859444074 2417.590087890625 +279.093448238935 1888.450561523438 +281.051163936397 1557.000000000000 +292.121170689402 15731.000000000000 +293.123945781771 2615.000000000000 +294.118820607873 4859.000000000000 +295.121821476430 1186.000000000000 +318.013460543863 19020.000000000000 +319.016226586969 2819.000000000000 +320.010792812476 1745.000000000000 +324.021120495162 2522.000000000000 +327.007928037291 3314.077636718750 +329.005428091932 3187.000000000000 +331.002680981835 1140.229492187500 +335.040406311528 1228.000000000000 +339.995783079981 73785.000000000000 +340.998517552508 10283.000000000000 +341.992089047450 7216.000000000000 +351.928943475892 4368.000000000000 +353.926519256680 2362.000000000000 +355.969819970535 3512.076416015625 +363.071778928522 11698.970703125000 +364.073181575102 1981.000000000000 +371.315525399960 1354.000000000000 +379.934529706961 4095.883300781250 +381.932716463007 2062.000000000000 +445.119746997025 2474.000000000000 +446.119291863183 1145.000000000000 +505.853826516954 4858.000000000000 +506.855308046231 1451.000000000000 +519.139330404280 1166.703979492188 +522.880837958116 1970.000000000000 +523.871380297922 1372.000000000000 +529.891671811182 1342.000000000000 +536.165890644769 5714.000000000000 +537.166372879728 2646.000000000000 +538.163391669663 2155.000000000000 +544.339624971493 1155.000000000000 +546.914039373140 3234.000000000000 +547.912958504845 1306.000000000000 +610.184280095073 1860.000000000000 +611.183517202231 1239.000000000000 +657.000223829242 1834.000000000000 +696.940499292838 3022.000000000000 +698.938485246113 2250.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=659 experiment=4 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=659 experiment=4_0 +##scan 21 +##specref ms_run[1]:sample=1 period=1 cycle=659 experiment=4 +55.054145525042 45.000000000000 +67.054325993411 30.000000000000 +69.068379525266 30.000000000000 +69.075332528705 30.000000000000 +72.043433360441 45.000000000000 +72.049851746112 45.000000000000 +72.936671815931 30.000000000000 +78.995629325717 30.000000000000 +124.980821138791 120.000000000000 +124.996031391239 105.000000000000 +>compound 1_0-659005--22--UNKNOWN +>parentmass 260.980865788213 +>charge 1 +>rt 431.866000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +260.980865788213 46877.000000000000 +>ms1peaks +50.015030688094 1631.000000000000 +52.005691836328 2833.837890625000 +53.013678352050 13820.645507812500 +53.850930804944 1372.676147460938 +54.009488813193 341215.375000000000 +55.006244952468 6363.858398437500 +55.011195314574 6663.786621093750 +55.054435589179 2093.444580078125 +55.934214796378 6443.966308593750 +56.049418637710 1614.372314453125 +56.942077131072 2603.345458984375 +59.049684010496 67068.679687500000 +60.044674600260 8507.357421875000 +61.039576232541 1618.787597656250 +63.997953270808 4540.612304687500 +64.004984885183 4765.146484375000 +68.011730125352 26984.066406250000 +68.993758540617 13250.065429687500 +69.044639818678 13453.114257812500 +72.936865747985 3009.785888671875 +73.064487442720 1926.000000000000 +76.486106736487 2394.000000000000 +77.012975210189 1331.000000000000 +77.038245950909 6864.013671875000 +79.021170250218 14954.513671875000 +80.049055487900 12273.781250000000 +81.937167726085 8605.721679687500 +82.996581259270 9547.895507812500 +87.054493611252 1308.586669921875 +89.506388403917 1579.000000000000 +90.489379547455 1879.000000000000 +91.053817827625 1210.000000000000 +95.952611673257 2421.652587890625 +97.968325410624 7844.628906250000 +100.075376789744 1408.000000000000 +102.090940410850 1712.000000000000 +104.048827681379 4021.000000000000 +105.032851808396 3043.702148437500 +109.943040230612 1524.000000000000 +113.962743611150 2300.809326171875 +114.091086475065 10732.537109375000 +118.085604757949 6375.129394531250 +122.095612538633 3453.346191406250 +122.963478886657 10149.138671875000 +123.091154033496 1907.152587890625 +123.962085557178 1291.000000000000 +124.964032856960 1524.723510742188 +124.981293760905 5573.300781250000 +132.044243365317 129513.453125000000 +133.047275934233 12024.171875000000 +136.021338396786 1596.000000000000 +136.111611313675 1179.000000000000 +141.090513006913 1389.292724609375 +141.112565247916 1247.203857421875 +141.957978845995 16325.500000000000 +147.090945866648 2556.685302734375 +149.023028218992 6399.154296875000 +150.054262184195 1568.000000000000 +151.096430884077 2664.400390625000 +151.111011940160 2835.027587890625 +155.069438117684 1871.944824218750 +155.105960083325 1401.000000000000 +155.973753152622 4288.000000000000 +158.153627071218 14384.000000000000 +159.156473714741 1627.752929687500 +160.050487288307 38915.000000000000 +161.053611692746 4466.942382812500 +161.095700587134 1743.057495117188 +164.142944501592 1256.052368164062 +167.015735366166 2785.089599609375 +170.096151543720 2652.023193359375 +170.116409887737 1324.376464843750 +170.968993556255 7076.000000000000 +171.137671144810 4912.312011718750 +172.136045264128 1371.000000000000 +173.079830429233 8581.928710937500 +174.991306236853 1198.000000000000 +177.054219725911 1769.000000000000 +178.157947155736 1498.908447265625 +179.106050750592 1934.090454101562 +182.960933723657 1780.061523437500 +182.991388549794 1244.309082031250 +186.221152079128 2287.000000000000 +194.116900036921 2752.000000000000 +195.121615177487 1919.471069335938 +198.184412559940 2140.000000000000 +200.200455656322 1296.554199218750 +209.153704347399 1590.000000000000 +212.888258624179 1535.000000000000 +217.106944592366 24346.000000000000 +218.110517718319 2646.000000000000 +219.095540028475 2644.006591796875 +228.196097140190 1527.811645507812 +236.167749124378 1677.000000000000 +239.089312381813 3327.000000000000 +242.284215148787 1201.000000000000 +246.862288406064 3365.000000000000 +249.184532839914 1860.293334960938 +251.001107206325 2362.000000000000 +252.997444701878 1876.000000000000 +253.916335213075 4093.000000000000 +260.980865788213 46877.000000000000 +261.983931158765 5301.000000000000 +262.976772362746 4418.000000000000 +267.172661485943 1410.000000000000 +277.199859444074 2417.590087890625 +279.093448238935 1888.450561523438 +281.051163936397 1557.000000000000 +292.121170689402 15731.000000000000 +293.123945781771 2615.000000000000 +294.118820607873 4859.000000000000 +295.121821476430 1186.000000000000 +318.013460543863 19020.000000000000 +319.016226586969 2819.000000000000 +320.010792812476 1745.000000000000 +324.021120495162 2522.000000000000 +327.007928037291 3314.077636718750 +329.005428091932 3187.000000000000 +331.002680981835 1140.229492187500 +335.040406311528 1228.000000000000 +339.995783079981 73785.000000000000 +340.998517552508 10283.000000000000 +341.992089047450 7216.000000000000 +351.928943475892 4368.000000000000 +353.926519256680 2362.000000000000 +355.969819970535 3512.076416015625 +363.071778928522 11698.970703125000 +364.073181575102 1981.000000000000 +371.315525399960 1354.000000000000 +379.934529706961 4095.883300781250 +381.932716463007 2062.000000000000 +445.119746997025 2474.000000000000 +446.119291863183 1145.000000000000 +505.853826516954 4858.000000000000 +506.855308046231 1451.000000000000 +519.139330404280 1166.703979492188 +522.880837958116 1970.000000000000 +523.871380297922 1372.000000000000 +529.891671811182 1342.000000000000 +536.165890644769 5714.000000000000 +537.166372879728 2646.000000000000 +538.163391669663 2155.000000000000 +544.339624971493 1155.000000000000 +546.914039373140 3234.000000000000 +547.912958504845 1306.000000000000 +610.184280095073 1860.000000000000 +611.183517202231 1239.000000000000 +657.000223829242 1834.000000000000 +696.940499292838 3022.000000000000 +698.938485246113 2250.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=659 experiment=5 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=659 experiment=5_0 +##scan 22 +##specref ms_run[1]:sample=1 period=1 cycle=659 experiment=5 +62.016790701025 30.000000000000 +78.994568832211 561.000000000000 +109.012111223247 45.000000000000 +109.019923324024 45.000000000000 +124.982037010262 1167.000000000000 +137.004013733819 45.000000000000 +151.991334988917 180.000000000000 +167.016403926681 240.000000000000 +182.993550986921 30.000000000000 +>compound 1_0-660002--28--UNKNOWN +>parentmass 104.049086460790 +>charge 1 +>rt 432.790999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +104.049086460790 3045.739257812500 +>ms1peaks +52.005894908514 3265.400634765625 +53.013510908959 13106.733398437500 +53.850705653871 1327.061035156250 +54.009389058624 348945.000000000000 +55.006169898270 6124.332519531250 +55.011317455070 6538.428710937500 +55.054331627343 2077.732910156250 +55.934133744738 6508.345214843750 +56.049593965189 1999.699707031250 +56.942184704094 2688.283691406250 +59.049605800481 70253.718750000000 +60.044658666294 10706.690429687500 +61.039619044210 1586.278076171875 +63.997756861684 3941.995605468750 +64.005166169614 4907.884765625000 +67.028913163203 1580.000000000000 +68.011642030602 27597.281250000000 +68.993728986678 12929.603515625000 +69.044696634986 12506.645507812500 +72.936667673711 2191.062988281250 +73.064288768235 1852.000000000000 +76.486322585941 2327.304443359375 +77.038204782362 5884.000000000000 +79.020970020200 14096.371093750000 +80.049138765431 11437.409179687500 +81.937010633269 8800.649414062500 +82.996563663943 9775.875976562500 +87.054866657942 1386.671508789062 +89.506477006513 1856.891357421875 +90.489380614180 1867.000000000000 +91.053607705956 1522.000000000000 +95.952400718089 2411.000000000000 +97.968129951793 7534.000000000000 +100.075098492601 1334.000000000000 +102.090723461138 1696.000000000000 +104.049086460790 3045.739257812500 +105.032948258430 2178.018554687500 +109.942760191152 1389.039428710938 +113.963014550647 1955.283325195312 +114.090880342296 9824.000000000000 +118.085478285355 6071.000000000000 +122.095943650184 3414.491943359375 +122.963053449523 10824.022460937500 +123.091014422132 1667.127319335938 +123.961852610233 1273.000000000000 +124.964467047349 2135.799560546875 +124.981051711745 4296.547363281250 +132.043642930226 93077.242187500000 +133.046777995488 9274.231445312500 +136.020768820120 1683.000000000000 +136.110810804565 1296.000000000000 +141.090222902589 1360.714843750000 +141.112627587411 1461.608520507812 +141.935004916839 1940.239746093750 +141.957609246025 17033.816406250000 +147.090484942279 2411.661132812500 +149.022774177869 5733.046386718750 +149.042316567318 2746.710693359375 +150.054248684273 1437.284790039062 +151.095045034366 2698.686279296875 +151.110908763912 3144.476318359375 +155.069769845772 1649.881591796875 +155.105405759277 1860.793457031250 +155.973140596379 4755.245605468750 +158.153359438729 14516.186523437500 +159.156612007249 1486.367431640625 +160.049846075993 24545.988281250000 +161.052607402490 2286.874755859375 +161.095210153424 1778.371337890625 +167.015155408714 1740.000000000000 +170.095595750468 2643.026123046875 +170.968534800983 4638.000000000000 +171.137187033467 8793.664062500000 +172.138659608019 1674.000000000000 +172.168464035175 1208.633911132812 +173.079743164910 7798.492675781250 +174.991345453773 1573.000000000000 +177.053816341336 1417.014038085938 +178.158055093780 1735.947753906250 +179.105704311835 2197.604980468750 +182.961317763038 2211.718750000000 +186.220205393587 1399.000000000000 +194.116470425084 2855.795654296875 +195.121709243913 1774.128417968750 +198.184491575929 2140.000000000000 +200.199765534300 1398.692871093750 +209.152792656657 1425.000000000000 +217.106381802785 24672.529296875000 +218.109726712595 2594.000000000000 +219.095072568829 2421.334228515625 +228.194355078180 1758.423828125000 +236.167326569908 1392.000000000000 +239.087560169956 3393.000000000000 +242.283100716676 1301.000000000000 +246.861853504396 3967.000000000000 +249.184072418419 1674.044555664062 +250.179850228401 1317.625488281250 +250.969009212760 1272.659667968750 +250.998800627422 2485.986083984375 +252.996506036249 1407.000000000000 +253.914744903944 3247.000000000000 +260.980140443968 31189.000000000000 +261.982652125164 3630.000000000000 +262.976320674948 3030.000000000000 +267.169211061356 1310.111816406250 +277.200326399959 5169.000000000000 +279.093304185450 2011.372070312500 +281.050388682144 1561.000000000000 +292.121055360225 111310.531250000000 +293.123630076529 20278.496093750000 +294.118239620053 37417.625000000000 +295.120516544042 6903.191406250000 +299.181966555803 2788.124755859375 +304.298855657172 1458.000000000000 +318.012599323858 12766.560546875000 +319.014697171275 1763.000000000000 +320.008501629176 1292.000000000000 +324.021279180039 2211.000000000000 +327.007286394326 3510.000000000000 +329.004329094240 3020.000000000000 +339.994441786583 55469.000000000000 +340.996800649447 7731.000000000000 +341.991164319056 5376.000000000000 +351.927480336150 4373.000000000000 +353.925190372111 2157.000000000000 +355.923288991607 1875.234497070312 +355.967623747153 2895.083740234375 +363.069819320259 9600.000000000000 +364.071840904280 1502.000000000000 +365.067263835001 1200.000000000000 +379.933765070569 3274.000000000000 +381.930698322663 2082.000000000000 +445.119022397624 2321.740478515625 +505.851287178680 4210.000000000000 +506.853720407640 1284.000000000000 +522.877826294640 1830.000000000000 +529.887917529630 1402.000000000000 +536.163984165691 5143.000000000000 +537.165630799202 2699.000000000000 +538.162716451736 1997.000000000000 +544.338330991241 1339.000000000000 +546.913670520771 2956.903320312500 +547.912049049860 1201.466308593750 +610.182850595719 2143.000000000000 +611.183650714411 1327.000000000000 +647.152176664637 1285.000000000000 +671.046640090612 3328.000000000000 +673.045642862147 3209.000000000000 +696.940422810442 1799.000000000000 +698.936403714808 1431.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=660 experiment=2 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=660 experiment=2_0 +##scan 28 +##specref ms_run[1]:sample=1 period=1 cycle=660 experiment=2 +51.023095335618 120.000000000000 +>compound 1_0-660003--29--UNKNOWN +>parentmass 124.981051711745 +>charge 1 +>rt 432.790999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +124.981051711745 4296.547363281250 +>ms1peaks +52.005894908514 3265.400634765625 +53.013510908959 13106.733398437500 +53.850705653871 1327.061035156250 +54.009389058624 348945.000000000000 +55.006169898270 6124.332519531250 +55.011317455070 6538.428710937500 +55.054331627343 2077.732910156250 +55.934133744738 6508.345214843750 +56.049593965189 1999.699707031250 +56.942184704094 2688.283691406250 +59.049605800481 70253.718750000000 +60.044658666294 10706.690429687500 +61.039619044210 1586.278076171875 +63.997756861684 3941.995605468750 +64.005166169614 4907.884765625000 +67.028913163203 1580.000000000000 +68.011642030602 27597.281250000000 +68.993728986678 12929.603515625000 +69.044696634986 12506.645507812500 +72.936667673711 2191.062988281250 +73.064288768235 1852.000000000000 +76.486322585941 2327.304443359375 +77.038204782362 5884.000000000000 +79.020970020200 14096.371093750000 +80.049138765431 11437.409179687500 +81.937010633269 8800.649414062500 +82.996563663943 9775.875976562500 +87.054866657942 1386.671508789062 +89.506477006513 1856.891357421875 +90.489380614180 1867.000000000000 +91.053607705956 1522.000000000000 +95.952400718089 2411.000000000000 +97.968129951793 7534.000000000000 +100.075098492601 1334.000000000000 +102.090723461138 1696.000000000000 +104.049086460790 3045.739257812500 +105.032948258430 2178.018554687500 +109.942760191152 1389.039428710938 +113.963014550647 1955.283325195312 +114.090880342296 9824.000000000000 +118.085478285355 6071.000000000000 +122.095943650184 3414.491943359375 +122.963053449523 10824.022460937500 +123.091014422132 1667.127319335938 +123.961852610233 1273.000000000000 +124.964467047349 2135.799560546875 +124.981051711745 4296.547363281250 +132.043642930226 93077.242187500000 +133.046777995488 9274.231445312500 +136.020768820120 1683.000000000000 +136.110810804565 1296.000000000000 +141.090222902589 1360.714843750000 +141.112627587411 1461.608520507812 +141.935004916839 1940.239746093750 +141.957609246025 17033.816406250000 +147.090484942279 2411.661132812500 +149.022774177869 5733.046386718750 +149.042316567318 2746.710693359375 +150.054248684273 1437.284790039062 +151.095045034366 2698.686279296875 +151.110908763912 3144.476318359375 +155.069769845772 1649.881591796875 +155.105405759277 1860.793457031250 +155.973140596379 4755.245605468750 +158.153359438729 14516.186523437500 +159.156612007249 1486.367431640625 +160.049846075993 24545.988281250000 +161.052607402490 2286.874755859375 +161.095210153424 1778.371337890625 +167.015155408714 1740.000000000000 +170.095595750468 2643.026123046875 +170.968534800983 4638.000000000000 +171.137187033467 8793.664062500000 +172.138659608019 1674.000000000000 +172.168464035175 1208.633911132812 +173.079743164910 7798.492675781250 +174.991345453773 1573.000000000000 +177.053816341336 1417.014038085938 +178.158055093780 1735.947753906250 +179.105704311835 2197.604980468750 +182.961317763038 2211.718750000000 +186.220205393587 1399.000000000000 +194.116470425084 2855.795654296875 +195.121709243913 1774.128417968750 +198.184491575929 2140.000000000000 +200.199765534300 1398.692871093750 +209.152792656657 1425.000000000000 +217.106381802785 24672.529296875000 +218.109726712595 2594.000000000000 +219.095072568829 2421.334228515625 +228.194355078180 1758.423828125000 +236.167326569908 1392.000000000000 +239.087560169956 3393.000000000000 +242.283100716676 1301.000000000000 +246.861853504396 3967.000000000000 +249.184072418419 1674.044555664062 +250.179850228401 1317.625488281250 +250.969009212760 1272.659667968750 +250.998800627422 2485.986083984375 +252.996506036249 1407.000000000000 +253.914744903944 3247.000000000000 +260.980140443968 31189.000000000000 +261.982652125164 3630.000000000000 +262.976320674948 3030.000000000000 +267.169211061356 1310.111816406250 +277.200326399959 5169.000000000000 +279.093304185450 2011.372070312500 +281.050388682144 1561.000000000000 +292.121055360225 111310.531250000000 +293.123630076529 20278.496093750000 +294.118239620053 37417.625000000000 +295.120516544042 6903.191406250000 +299.181966555803 2788.124755859375 +304.298855657172 1458.000000000000 +318.012599323858 12766.560546875000 +319.014697171275 1763.000000000000 +320.008501629176 1292.000000000000 +324.021279180039 2211.000000000000 +327.007286394326 3510.000000000000 +329.004329094240 3020.000000000000 +339.994441786583 55469.000000000000 +340.996800649447 7731.000000000000 +341.991164319056 5376.000000000000 +351.927480336150 4373.000000000000 +353.925190372111 2157.000000000000 +355.923288991607 1875.234497070312 +355.967623747153 2895.083740234375 +363.069819320259 9600.000000000000 +364.071840904280 1502.000000000000 +365.067263835001 1200.000000000000 +379.933765070569 3274.000000000000 +381.930698322663 2082.000000000000 +445.119022397624 2321.740478515625 +505.851287178680 4210.000000000000 +506.853720407640 1284.000000000000 +522.877826294640 1830.000000000000 +529.887917529630 1402.000000000000 +536.163984165691 5143.000000000000 +537.165630799202 2699.000000000000 +538.162716451736 1997.000000000000 +544.338330991241 1339.000000000000 +546.913670520771 2956.903320312500 +547.912049049860 1201.466308593750 +610.182850595719 2143.000000000000 +611.183650714411 1327.000000000000 +647.152176664637 1285.000000000000 +671.046640090612 3328.000000000000 +673.045642862147 3209.000000000000 +696.940422810442 1799.000000000000 +698.936403714808 1431.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=660 experiment=3 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=660 experiment=3_0 +##scan 29 +##specref ms_run[1]:sample=1 period=1 cycle=660 experiment=3 +56.934367146454 45.000000000000 +56.941247949358 30.000000000000 +57.935581136683 75.000000000000 +>compound 1_0-660004--30--UNKNOWN +>parentmass 253.914744903944 +>charge 1 +>rt 432.790999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +253.914744903944 3247.000000000000 +>ms1peaks +52.005894908514 3265.400634765625 +53.013510908959 13106.733398437500 +53.850705653871 1327.061035156250 +54.009389058624 348945.000000000000 +55.006169898270 6124.332519531250 +55.011317455070 6538.428710937500 +55.054331627343 2077.732910156250 +55.934133744738 6508.345214843750 +56.049593965189 1999.699707031250 +56.942184704094 2688.283691406250 +59.049605800481 70253.718750000000 +60.044658666294 10706.690429687500 +61.039619044210 1586.278076171875 +63.997756861684 3941.995605468750 +64.005166169614 4907.884765625000 +67.028913163203 1580.000000000000 +68.011642030602 27597.281250000000 +68.993728986678 12929.603515625000 +69.044696634986 12506.645507812500 +72.936667673711 2191.062988281250 +73.064288768235 1852.000000000000 +76.486322585941 2327.304443359375 +77.038204782362 5884.000000000000 +79.020970020200 14096.371093750000 +80.049138765431 11437.409179687500 +81.937010633269 8800.649414062500 +82.996563663943 9775.875976562500 +87.054866657942 1386.671508789062 +89.506477006513 1856.891357421875 +90.489380614180 1867.000000000000 +91.053607705956 1522.000000000000 +95.952400718089 2411.000000000000 +97.968129951793 7534.000000000000 +100.075098492601 1334.000000000000 +102.090723461138 1696.000000000000 +104.049086460790 3045.739257812500 +105.032948258430 2178.018554687500 +109.942760191152 1389.039428710938 +113.963014550647 1955.283325195312 +114.090880342296 9824.000000000000 +118.085478285355 6071.000000000000 +122.095943650184 3414.491943359375 +122.963053449523 10824.022460937500 +123.091014422132 1667.127319335938 +123.961852610233 1273.000000000000 +124.964467047349 2135.799560546875 +124.981051711745 4296.547363281250 +132.043642930226 93077.242187500000 +133.046777995488 9274.231445312500 +136.020768820120 1683.000000000000 +136.110810804565 1296.000000000000 +141.090222902589 1360.714843750000 +141.112627587411 1461.608520507812 +141.935004916839 1940.239746093750 +141.957609246025 17033.816406250000 +147.090484942279 2411.661132812500 +149.022774177869 5733.046386718750 +149.042316567318 2746.710693359375 +150.054248684273 1437.284790039062 +151.095045034366 2698.686279296875 +151.110908763912 3144.476318359375 +155.069769845772 1649.881591796875 +155.105405759277 1860.793457031250 +155.973140596379 4755.245605468750 +158.153359438729 14516.186523437500 +159.156612007249 1486.367431640625 +160.049846075993 24545.988281250000 +161.052607402490 2286.874755859375 +161.095210153424 1778.371337890625 +167.015155408714 1740.000000000000 +170.095595750468 2643.026123046875 +170.968534800983 4638.000000000000 +171.137187033467 8793.664062500000 +172.138659608019 1674.000000000000 +172.168464035175 1208.633911132812 +173.079743164910 7798.492675781250 +174.991345453773 1573.000000000000 +177.053816341336 1417.014038085938 +178.158055093780 1735.947753906250 +179.105704311835 2197.604980468750 +182.961317763038 2211.718750000000 +186.220205393587 1399.000000000000 +194.116470425084 2855.795654296875 +195.121709243913 1774.128417968750 +198.184491575929 2140.000000000000 +200.199765534300 1398.692871093750 +209.152792656657 1425.000000000000 +217.106381802785 24672.529296875000 +218.109726712595 2594.000000000000 +219.095072568829 2421.334228515625 +228.194355078180 1758.423828125000 +236.167326569908 1392.000000000000 +239.087560169956 3393.000000000000 +242.283100716676 1301.000000000000 +246.861853504396 3967.000000000000 +249.184072418419 1674.044555664062 +250.179850228401 1317.625488281250 +250.969009212760 1272.659667968750 +250.998800627422 2485.986083984375 +252.996506036249 1407.000000000000 +253.914744903944 3247.000000000000 +260.980140443968 31189.000000000000 +261.982652125164 3630.000000000000 +262.976320674948 3030.000000000000 +267.169211061356 1310.111816406250 +277.200326399959 5169.000000000000 +279.093304185450 2011.372070312500 +281.050388682144 1561.000000000000 +292.121055360225 111310.531250000000 +293.123630076529 20278.496093750000 +294.118239620053 37417.625000000000 +295.120516544042 6903.191406250000 +299.181966555803 2788.124755859375 +304.298855657172 1458.000000000000 +318.012599323858 12766.560546875000 +319.014697171275 1763.000000000000 +320.008501629176 1292.000000000000 +324.021279180039 2211.000000000000 +327.007286394326 3510.000000000000 +329.004329094240 3020.000000000000 +339.994441786583 55469.000000000000 +340.996800649447 7731.000000000000 +341.991164319056 5376.000000000000 +351.927480336150 4373.000000000000 +353.925190372111 2157.000000000000 +355.923288991607 1875.234497070312 +355.967623747153 2895.083740234375 +363.069819320259 9600.000000000000 +364.071840904280 1502.000000000000 +365.067263835001 1200.000000000000 +379.933765070569 3274.000000000000 +381.930698322663 2082.000000000000 +445.119022397624 2321.740478515625 +505.851287178680 4210.000000000000 +506.853720407640 1284.000000000000 +522.877826294640 1830.000000000000 +529.887917529630 1402.000000000000 +536.163984165691 5143.000000000000 +537.165630799202 2699.000000000000 +538.162716451736 1997.000000000000 +544.338330991241 1339.000000000000 +546.913670520771 2956.903320312500 +547.912049049860 1201.466308593750 +610.182850595719 2143.000000000000 +611.183650714411 1327.000000000000 +647.152176664637 1285.000000000000 +671.046640090612 3328.000000000000 +673.045642862147 3209.000000000000 +696.940422810442 1799.000000000000 +698.936403714808 1431.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=660 experiment=4 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=660 experiment=4_0 +##scan 30 +##specref ms_run[1]:sample=1 period=1 cycle=660 experiment=4 +150.851403748292 298.000000000000 +182.874872183224 150.000000000000 +>compound 1_0-660006--32--UNKNOWN +>parentmass 351.927480336150 +>charge 1 +>rt 432.790999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +351.927480336150 4373.000000000000 +>ms1peaks +52.005894908514 3265.400634765625 +53.013510908959 13106.733398437500 +53.850705653871 1327.061035156250 +54.009389058624 348945.000000000000 +55.006169898270 6124.332519531250 +55.011317455070 6538.428710937500 +55.054331627343 2077.732910156250 +55.934133744738 6508.345214843750 +56.049593965189 1999.699707031250 +56.942184704094 2688.283691406250 +59.049605800481 70253.718750000000 +60.044658666294 10706.690429687500 +61.039619044210 1586.278076171875 +63.997756861684 3941.995605468750 +64.005166169614 4907.884765625000 +67.028913163203 1580.000000000000 +68.011642030602 27597.281250000000 +68.993728986678 12929.603515625000 +69.044696634986 12506.645507812500 +72.936667673711 2191.062988281250 +73.064288768235 1852.000000000000 +76.486322585941 2327.304443359375 +77.038204782362 5884.000000000000 +79.020970020200 14096.371093750000 +80.049138765431 11437.409179687500 +81.937010633269 8800.649414062500 +82.996563663943 9775.875976562500 +87.054866657942 1386.671508789062 +89.506477006513 1856.891357421875 +90.489380614180 1867.000000000000 +91.053607705956 1522.000000000000 +95.952400718089 2411.000000000000 +97.968129951793 7534.000000000000 +100.075098492601 1334.000000000000 +102.090723461138 1696.000000000000 +104.049086460790 3045.739257812500 +105.032948258430 2178.018554687500 +109.942760191152 1389.039428710938 +113.963014550647 1955.283325195312 +114.090880342296 9824.000000000000 +118.085478285355 6071.000000000000 +122.095943650184 3414.491943359375 +122.963053449523 10824.022460937500 +123.091014422132 1667.127319335938 +123.961852610233 1273.000000000000 +124.964467047349 2135.799560546875 +124.981051711745 4296.547363281250 +132.043642930226 93077.242187500000 +133.046777995488 9274.231445312500 +136.020768820120 1683.000000000000 +136.110810804565 1296.000000000000 +141.090222902589 1360.714843750000 +141.112627587411 1461.608520507812 +141.935004916839 1940.239746093750 +141.957609246025 17033.816406250000 +147.090484942279 2411.661132812500 +149.022774177869 5733.046386718750 +149.042316567318 2746.710693359375 +150.054248684273 1437.284790039062 +151.095045034366 2698.686279296875 +151.110908763912 3144.476318359375 +155.069769845772 1649.881591796875 +155.105405759277 1860.793457031250 +155.973140596379 4755.245605468750 +158.153359438729 14516.186523437500 +159.156612007249 1486.367431640625 +160.049846075993 24545.988281250000 +161.052607402490 2286.874755859375 +161.095210153424 1778.371337890625 +167.015155408714 1740.000000000000 +170.095595750468 2643.026123046875 +170.968534800983 4638.000000000000 +171.137187033467 8793.664062500000 +172.138659608019 1674.000000000000 +172.168464035175 1208.633911132812 +173.079743164910 7798.492675781250 +174.991345453773 1573.000000000000 +177.053816341336 1417.014038085938 +178.158055093780 1735.947753906250 +179.105704311835 2197.604980468750 +182.961317763038 2211.718750000000 +186.220205393587 1399.000000000000 +194.116470425084 2855.795654296875 +195.121709243913 1774.128417968750 +198.184491575929 2140.000000000000 +200.199765534300 1398.692871093750 +209.152792656657 1425.000000000000 +217.106381802785 24672.529296875000 +218.109726712595 2594.000000000000 +219.095072568829 2421.334228515625 +228.194355078180 1758.423828125000 +236.167326569908 1392.000000000000 +239.087560169956 3393.000000000000 +242.283100716676 1301.000000000000 +246.861853504396 3967.000000000000 +249.184072418419 1674.044555664062 +250.179850228401 1317.625488281250 +250.969009212760 1272.659667968750 +250.998800627422 2485.986083984375 +252.996506036249 1407.000000000000 +253.914744903944 3247.000000000000 +260.980140443968 31189.000000000000 +261.982652125164 3630.000000000000 +262.976320674948 3030.000000000000 +267.169211061356 1310.111816406250 +277.200326399959 5169.000000000000 +279.093304185450 2011.372070312500 +281.050388682144 1561.000000000000 +292.121055360225 111310.531250000000 +293.123630076529 20278.496093750000 +294.118239620053 37417.625000000000 +295.120516544042 6903.191406250000 +299.181966555803 2788.124755859375 +304.298855657172 1458.000000000000 +318.012599323858 12766.560546875000 +319.014697171275 1763.000000000000 +320.008501629176 1292.000000000000 +324.021279180039 2211.000000000000 +327.007286394326 3510.000000000000 +329.004329094240 3020.000000000000 +339.994441786583 55469.000000000000 +340.996800649447 7731.000000000000 +341.991164319056 5376.000000000000 +351.927480336150 4373.000000000000 +353.925190372111 2157.000000000000 +355.923288991607 1875.234497070312 +355.967623747153 2895.083740234375 +363.069819320259 9600.000000000000 +364.071840904280 1502.000000000000 +365.067263835001 1200.000000000000 +379.933765070569 3274.000000000000 +381.930698322663 2082.000000000000 +445.119022397624 2321.740478515625 +505.851287178680 4210.000000000000 +506.853720407640 1284.000000000000 +522.877826294640 1830.000000000000 +529.887917529630 1402.000000000000 +536.163984165691 5143.000000000000 +537.165630799202 2699.000000000000 +538.162716451736 1997.000000000000 +544.338330991241 1339.000000000000 +546.913670520771 2956.903320312500 +547.912049049860 1201.466308593750 +610.182850595719 2143.000000000000 +611.183650714411 1327.000000000000 +647.152176664637 1285.000000000000 +671.046640090612 3328.000000000000 +673.045642862147 3209.000000000000 +696.940422810442 1799.000000000000 +698.936403714808 1431.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=660 experiment=6 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=660 experiment=6_0 +##scan 32 +##specref ms_run[1]:sample=1 period=1 cycle=660 experiment=6 +81.071578582130 13.000000000000 +125.015139058731 30.000000000000 +188.922621292832 30.000000000000 +198.931691566578 30.000000000000 +215.925863286823 13.000000000000 +232.899496436580 13.000000000000 +248.917848318342 13.000000000000 +>compound 1_0-660007--33--UNKNOWN +>parentmass 355.967623747153 +>charge 1 +>rt 432.790999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +355.967623747153 2895.083740234375 +>ms1peaks +52.005894908514 3265.400634765625 +53.013510908959 13106.733398437500 +53.850705653871 1327.061035156250 +54.009389058624 348945.000000000000 +55.006169898270 6124.332519531250 +55.011317455070 6538.428710937500 +55.054331627343 2077.732910156250 +55.934133744738 6508.345214843750 +56.049593965189 1999.699707031250 +56.942184704094 2688.283691406250 +59.049605800481 70253.718750000000 +60.044658666294 10706.690429687500 +61.039619044210 1586.278076171875 +63.997756861684 3941.995605468750 +64.005166169614 4907.884765625000 +67.028913163203 1580.000000000000 +68.011642030602 27597.281250000000 +68.993728986678 12929.603515625000 +69.044696634986 12506.645507812500 +72.936667673711 2191.062988281250 +73.064288768235 1852.000000000000 +76.486322585941 2327.304443359375 +77.038204782362 5884.000000000000 +79.020970020200 14096.371093750000 +80.049138765431 11437.409179687500 +81.937010633269 8800.649414062500 +82.996563663943 9775.875976562500 +87.054866657942 1386.671508789062 +89.506477006513 1856.891357421875 +90.489380614180 1867.000000000000 +91.053607705956 1522.000000000000 +95.952400718089 2411.000000000000 +97.968129951793 7534.000000000000 +100.075098492601 1334.000000000000 +102.090723461138 1696.000000000000 +104.049086460790 3045.739257812500 +105.032948258430 2178.018554687500 +109.942760191152 1389.039428710938 +113.963014550647 1955.283325195312 +114.090880342296 9824.000000000000 +118.085478285355 6071.000000000000 +122.095943650184 3414.491943359375 +122.963053449523 10824.022460937500 +123.091014422132 1667.127319335938 +123.961852610233 1273.000000000000 +124.964467047349 2135.799560546875 +124.981051711745 4296.547363281250 +132.043642930226 93077.242187500000 +133.046777995488 9274.231445312500 +136.020768820120 1683.000000000000 +136.110810804565 1296.000000000000 +141.090222902589 1360.714843750000 +141.112627587411 1461.608520507812 +141.935004916839 1940.239746093750 +141.957609246025 17033.816406250000 +147.090484942279 2411.661132812500 +149.022774177869 5733.046386718750 +149.042316567318 2746.710693359375 +150.054248684273 1437.284790039062 +151.095045034366 2698.686279296875 +151.110908763912 3144.476318359375 +155.069769845772 1649.881591796875 +155.105405759277 1860.793457031250 +155.973140596379 4755.245605468750 +158.153359438729 14516.186523437500 +159.156612007249 1486.367431640625 +160.049846075993 24545.988281250000 +161.052607402490 2286.874755859375 +161.095210153424 1778.371337890625 +167.015155408714 1740.000000000000 +170.095595750468 2643.026123046875 +170.968534800983 4638.000000000000 +171.137187033467 8793.664062500000 +172.138659608019 1674.000000000000 +172.168464035175 1208.633911132812 +173.079743164910 7798.492675781250 +174.991345453773 1573.000000000000 +177.053816341336 1417.014038085938 +178.158055093780 1735.947753906250 +179.105704311835 2197.604980468750 +182.961317763038 2211.718750000000 +186.220205393587 1399.000000000000 +194.116470425084 2855.795654296875 +195.121709243913 1774.128417968750 +198.184491575929 2140.000000000000 +200.199765534300 1398.692871093750 +209.152792656657 1425.000000000000 +217.106381802785 24672.529296875000 +218.109726712595 2594.000000000000 +219.095072568829 2421.334228515625 +228.194355078180 1758.423828125000 +236.167326569908 1392.000000000000 +239.087560169956 3393.000000000000 +242.283100716676 1301.000000000000 +246.861853504396 3967.000000000000 +249.184072418419 1674.044555664062 +250.179850228401 1317.625488281250 +250.969009212760 1272.659667968750 +250.998800627422 2485.986083984375 +252.996506036249 1407.000000000000 +253.914744903944 3247.000000000000 +260.980140443968 31189.000000000000 +261.982652125164 3630.000000000000 +262.976320674948 3030.000000000000 +267.169211061356 1310.111816406250 +277.200326399959 5169.000000000000 +279.093304185450 2011.372070312500 +281.050388682144 1561.000000000000 +292.121055360225 111310.531250000000 +293.123630076529 20278.496093750000 +294.118239620053 37417.625000000000 +295.120516544042 6903.191406250000 +299.181966555803 2788.124755859375 +304.298855657172 1458.000000000000 +318.012599323858 12766.560546875000 +319.014697171275 1763.000000000000 +320.008501629176 1292.000000000000 +324.021279180039 2211.000000000000 +327.007286394326 3510.000000000000 +329.004329094240 3020.000000000000 +339.994441786583 55469.000000000000 +340.996800649447 7731.000000000000 +341.991164319056 5376.000000000000 +351.927480336150 4373.000000000000 +353.925190372111 2157.000000000000 +355.923288991607 1875.234497070312 +355.967623747153 2895.083740234375 +363.069819320259 9600.000000000000 +364.071840904280 1502.000000000000 +365.067263835001 1200.000000000000 +379.933765070569 3274.000000000000 +381.930698322663 2082.000000000000 +445.119022397624 2321.740478515625 +505.851287178680 4210.000000000000 +506.853720407640 1284.000000000000 +522.877826294640 1830.000000000000 +529.887917529630 1402.000000000000 +536.163984165691 5143.000000000000 +537.165630799202 2699.000000000000 +538.162716451736 1997.000000000000 +544.338330991241 1339.000000000000 +546.913670520771 2956.903320312500 +547.912049049860 1201.466308593750 +610.182850595719 2143.000000000000 +611.183650714411 1327.000000000000 +647.152176664637 1285.000000000000 +671.046640090612 3328.000000000000 +673.045642862147 3209.000000000000 +696.940422810442 1799.000000000000 +698.936403714808 1431.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=660 experiment=7 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=660 experiment=7_0 +##scan 33 +##specref ms_run[1]:sample=1 period=1 cycle=660 experiment=7 +161.094948222414 75.000000000000 +249.184994365580 30.000000000000 +>compound 1_0-660008--34--UNKNOWN +>parentmass 379.933765070569 +>charge 1 +>rt 432.790999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +379.933765070569 3274.000000000000 +>ms1peaks +52.005894908514 3265.400634765625 +53.013510908959 13106.733398437500 +53.850705653871 1327.061035156250 +54.009389058624 348945.000000000000 +55.006169898270 6124.332519531250 +55.011317455070 6538.428710937500 +55.054331627343 2077.732910156250 +55.934133744738 6508.345214843750 +56.049593965189 1999.699707031250 +56.942184704094 2688.283691406250 +59.049605800481 70253.718750000000 +60.044658666294 10706.690429687500 +61.039619044210 1586.278076171875 +63.997756861684 3941.995605468750 +64.005166169614 4907.884765625000 +67.028913163203 1580.000000000000 +68.011642030602 27597.281250000000 +68.993728986678 12929.603515625000 +69.044696634986 12506.645507812500 +72.936667673711 2191.062988281250 +73.064288768235 1852.000000000000 +76.486322585941 2327.304443359375 +77.038204782362 5884.000000000000 +79.020970020200 14096.371093750000 +80.049138765431 11437.409179687500 +81.937010633269 8800.649414062500 +82.996563663943 9775.875976562500 +87.054866657942 1386.671508789062 +89.506477006513 1856.891357421875 +90.489380614180 1867.000000000000 +91.053607705956 1522.000000000000 +95.952400718089 2411.000000000000 +97.968129951793 7534.000000000000 +100.075098492601 1334.000000000000 +102.090723461138 1696.000000000000 +104.049086460790 3045.739257812500 +105.032948258430 2178.018554687500 +109.942760191152 1389.039428710938 +113.963014550647 1955.283325195312 +114.090880342296 9824.000000000000 +118.085478285355 6071.000000000000 +122.095943650184 3414.491943359375 +122.963053449523 10824.022460937500 +123.091014422132 1667.127319335938 +123.961852610233 1273.000000000000 +124.964467047349 2135.799560546875 +124.981051711745 4296.547363281250 +132.043642930226 93077.242187500000 +133.046777995488 9274.231445312500 +136.020768820120 1683.000000000000 +136.110810804565 1296.000000000000 +141.090222902589 1360.714843750000 +141.112627587411 1461.608520507812 +141.935004916839 1940.239746093750 +141.957609246025 17033.816406250000 +147.090484942279 2411.661132812500 +149.022774177869 5733.046386718750 +149.042316567318 2746.710693359375 +150.054248684273 1437.284790039062 +151.095045034366 2698.686279296875 +151.110908763912 3144.476318359375 +155.069769845772 1649.881591796875 +155.105405759277 1860.793457031250 +155.973140596379 4755.245605468750 +158.153359438729 14516.186523437500 +159.156612007249 1486.367431640625 +160.049846075993 24545.988281250000 +161.052607402490 2286.874755859375 +161.095210153424 1778.371337890625 +167.015155408714 1740.000000000000 +170.095595750468 2643.026123046875 +170.968534800983 4638.000000000000 +171.137187033467 8793.664062500000 +172.138659608019 1674.000000000000 +172.168464035175 1208.633911132812 +173.079743164910 7798.492675781250 +174.991345453773 1573.000000000000 +177.053816341336 1417.014038085938 +178.158055093780 1735.947753906250 +179.105704311835 2197.604980468750 +182.961317763038 2211.718750000000 +186.220205393587 1399.000000000000 +194.116470425084 2855.795654296875 +195.121709243913 1774.128417968750 +198.184491575929 2140.000000000000 +200.199765534300 1398.692871093750 +209.152792656657 1425.000000000000 +217.106381802785 24672.529296875000 +218.109726712595 2594.000000000000 +219.095072568829 2421.334228515625 +228.194355078180 1758.423828125000 +236.167326569908 1392.000000000000 +239.087560169956 3393.000000000000 +242.283100716676 1301.000000000000 +246.861853504396 3967.000000000000 +249.184072418419 1674.044555664062 +250.179850228401 1317.625488281250 +250.969009212760 1272.659667968750 +250.998800627422 2485.986083984375 +252.996506036249 1407.000000000000 +253.914744903944 3247.000000000000 +260.980140443968 31189.000000000000 +261.982652125164 3630.000000000000 +262.976320674948 3030.000000000000 +267.169211061356 1310.111816406250 +277.200326399959 5169.000000000000 +279.093304185450 2011.372070312500 +281.050388682144 1561.000000000000 +292.121055360225 111310.531250000000 +293.123630076529 20278.496093750000 +294.118239620053 37417.625000000000 +295.120516544042 6903.191406250000 +299.181966555803 2788.124755859375 +304.298855657172 1458.000000000000 +318.012599323858 12766.560546875000 +319.014697171275 1763.000000000000 +320.008501629176 1292.000000000000 +324.021279180039 2211.000000000000 +327.007286394326 3510.000000000000 +329.004329094240 3020.000000000000 +339.994441786583 55469.000000000000 +340.996800649447 7731.000000000000 +341.991164319056 5376.000000000000 +351.927480336150 4373.000000000000 +353.925190372111 2157.000000000000 +355.923288991607 1875.234497070312 +355.967623747153 2895.083740234375 +363.069819320259 9600.000000000000 +364.071840904280 1502.000000000000 +365.067263835001 1200.000000000000 +379.933765070569 3274.000000000000 +381.930698322663 2082.000000000000 +445.119022397624 2321.740478515625 +505.851287178680 4210.000000000000 +506.853720407640 1284.000000000000 +522.877826294640 1830.000000000000 +529.887917529630 1402.000000000000 +536.163984165691 5143.000000000000 +537.165630799202 2699.000000000000 +538.162716451736 1997.000000000000 +544.338330991241 1339.000000000000 +546.913670520771 2956.903320312500 +547.912049049860 1201.466308593750 +610.182850595719 2143.000000000000 +611.183650714411 1327.000000000000 +647.152176664637 1285.000000000000 +671.046640090612 3328.000000000000 +673.045642862147 3209.000000000000 +696.940422810442 1799.000000000000 +698.936403714808 1431.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=660 experiment=8 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=660 experiment=8_0 +##scan 34 +##specref ms_run[1]:sample=1 period=1 cycle=660 experiment=8 +77.038400992655 13.000000000000 +93.008038800226 45.000000000000 +104.052610528955 30.000000000000 +110.934028957951 13.000000000000 +124.990932131726 13.000000000000 +132.048785523388 30.000000000000 +148.022413441678 13.000000000000 +157.052815679658 13.000000000000 +188.917655606726 60.000000000000 +215.930861887584 30.000000000000 +>compound 1_0-660009--35--UNKNOWN +>parentmass 671.046640090612 +>charge 1 +>rt 432.790999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +671.046640090612 3328.000000000000 +>ms1peaks +52.005894908514 3265.400634765625 +53.013510908959 13106.733398437500 +53.850705653871 1327.061035156250 +54.009389058624 348945.000000000000 +55.006169898270 6124.332519531250 +55.011317455070 6538.428710937500 +55.054331627343 2077.732910156250 +55.934133744738 6508.345214843750 +56.049593965189 1999.699707031250 +56.942184704094 2688.283691406250 +59.049605800481 70253.718750000000 +60.044658666294 10706.690429687500 +61.039619044210 1586.278076171875 +63.997756861684 3941.995605468750 +64.005166169614 4907.884765625000 +67.028913163203 1580.000000000000 +68.011642030602 27597.281250000000 +68.993728986678 12929.603515625000 +69.044696634986 12506.645507812500 +72.936667673711 2191.062988281250 +73.064288768235 1852.000000000000 +76.486322585941 2327.304443359375 +77.038204782362 5884.000000000000 +79.020970020200 14096.371093750000 +80.049138765431 11437.409179687500 +81.937010633269 8800.649414062500 +82.996563663943 9775.875976562500 +87.054866657942 1386.671508789062 +89.506477006513 1856.891357421875 +90.489380614180 1867.000000000000 +91.053607705956 1522.000000000000 +95.952400718089 2411.000000000000 +97.968129951793 7534.000000000000 +100.075098492601 1334.000000000000 +102.090723461138 1696.000000000000 +104.049086460790 3045.739257812500 +105.032948258430 2178.018554687500 +109.942760191152 1389.039428710938 +113.963014550647 1955.283325195312 +114.090880342296 9824.000000000000 +118.085478285355 6071.000000000000 +122.095943650184 3414.491943359375 +122.963053449523 10824.022460937500 +123.091014422132 1667.127319335938 +123.961852610233 1273.000000000000 +124.964467047349 2135.799560546875 +124.981051711745 4296.547363281250 +132.043642930226 93077.242187500000 +133.046777995488 9274.231445312500 +136.020768820120 1683.000000000000 +136.110810804565 1296.000000000000 +141.090222902589 1360.714843750000 +141.112627587411 1461.608520507812 +141.935004916839 1940.239746093750 +141.957609246025 17033.816406250000 +147.090484942279 2411.661132812500 +149.022774177869 5733.046386718750 +149.042316567318 2746.710693359375 +150.054248684273 1437.284790039062 +151.095045034366 2698.686279296875 +151.110908763912 3144.476318359375 +155.069769845772 1649.881591796875 +155.105405759277 1860.793457031250 +155.973140596379 4755.245605468750 +158.153359438729 14516.186523437500 +159.156612007249 1486.367431640625 +160.049846075993 24545.988281250000 +161.052607402490 2286.874755859375 +161.095210153424 1778.371337890625 +167.015155408714 1740.000000000000 +170.095595750468 2643.026123046875 +170.968534800983 4638.000000000000 +171.137187033467 8793.664062500000 +172.138659608019 1674.000000000000 +172.168464035175 1208.633911132812 +173.079743164910 7798.492675781250 +174.991345453773 1573.000000000000 +177.053816341336 1417.014038085938 +178.158055093780 1735.947753906250 +179.105704311835 2197.604980468750 +182.961317763038 2211.718750000000 +186.220205393587 1399.000000000000 +194.116470425084 2855.795654296875 +195.121709243913 1774.128417968750 +198.184491575929 2140.000000000000 +200.199765534300 1398.692871093750 +209.152792656657 1425.000000000000 +217.106381802785 24672.529296875000 +218.109726712595 2594.000000000000 +219.095072568829 2421.334228515625 +228.194355078180 1758.423828125000 +236.167326569908 1392.000000000000 +239.087560169956 3393.000000000000 +242.283100716676 1301.000000000000 +246.861853504396 3967.000000000000 +249.184072418419 1674.044555664062 +250.179850228401 1317.625488281250 +250.969009212760 1272.659667968750 +250.998800627422 2485.986083984375 +252.996506036249 1407.000000000000 +253.914744903944 3247.000000000000 +260.980140443968 31189.000000000000 +261.982652125164 3630.000000000000 +262.976320674948 3030.000000000000 +267.169211061356 1310.111816406250 +277.200326399959 5169.000000000000 +279.093304185450 2011.372070312500 +281.050388682144 1561.000000000000 +292.121055360225 111310.531250000000 +293.123630076529 20278.496093750000 +294.118239620053 37417.625000000000 +295.120516544042 6903.191406250000 +299.181966555803 2788.124755859375 +304.298855657172 1458.000000000000 +318.012599323858 12766.560546875000 +319.014697171275 1763.000000000000 +320.008501629176 1292.000000000000 +324.021279180039 2211.000000000000 +327.007286394326 3510.000000000000 +329.004329094240 3020.000000000000 +339.994441786583 55469.000000000000 +340.996800649447 7731.000000000000 +341.991164319056 5376.000000000000 +351.927480336150 4373.000000000000 +353.925190372111 2157.000000000000 +355.923288991607 1875.234497070312 +355.967623747153 2895.083740234375 +363.069819320259 9600.000000000000 +364.071840904280 1502.000000000000 +365.067263835001 1200.000000000000 +379.933765070569 3274.000000000000 +381.930698322663 2082.000000000000 +445.119022397624 2321.740478515625 +505.851287178680 4210.000000000000 +506.853720407640 1284.000000000000 +522.877826294640 1830.000000000000 +529.887917529630 1402.000000000000 +536.163984165691 5143.000000000000 +537.165630799202 2699.000000000000 +538.162716451736 1997.000000000000 +544.338330991241 1339.000000000000 +546.913670520771 2956.903320312500 +547.912049049860 1201.466308593750 +610.182850595719 2143.000000000000 +611.183650714411 1327.000000000000 +647.152176664637 1285.000000000000 +671.046640090612 3328.000000000000 +673.045642862147 3209.000000000000 +696.940422810442 1799.000000000000 +698.936403714808 1431.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=660 experiment=9 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=660 experiment=9_0 +##scan 35 +##specref ms_run[1]:sample=1 period=1 cycle=660 experiment=9 +132.045075030038 60.000000000000 +209.952700754335 15.000000000000 +215.930298294557 105.000000000000 +227.925487255539 13.000000000000 +241.966988126378 30.000000000000 +243.942689713958 30.000000000000 +295.917493331121 30.000000000000 +351.929334312329 575.000000000000 +379.933352013020 30.000000000000 +379.971207208409 30.000000000000 +>compound 1_0-661002--37--UNKNOWN +>parentmass 171.137329533636 +>charge 1 +>rt 433.717000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +171.137329533636 9794.265625000000 +>ms1peaks +52.005486844196 2797.312255859375 +53.013452941613 13289.114257812500 +53.850392691129 1182.554077148438 +54.009302603618 341601.031250000000 +55.005911181832 5603.758300781250 +55.011355581201 5959.661132812500 +55.054189724209 2205.188476562500 +55.933928601241 6093.526367187500 +56.941939565668 2798.683593750000 +59.049443593556 67299.640625000000 +60.044262774734 8968.761718750000 +61.039204580633 1571.923095703125 +63.997813637547 4075.065429687500 +64.004662670356 4416.795898437500 +68.011501134588 27277.638671875000 +68.993585500338 12264.906250000000 +69.044393197123 13147.085937500000 +72.043949942055 1214.000000000000 +72.936545824901 2386.261962890625 +73.064141392327 1809.102661132812 +76.486217265459 2318.000000000000 +77.037914467348 2784.771240234375 +79.020708818127 18172.382812500000 +80.048894299954 13850.358398437500 +81.936654565436 8646.963867187500 +82.996013274860 9151.881835937500 +87.042952193812 1456.767700195312 +87.054623008241 1774.283325195312 +89.069755450540 1371.091674804688 +89.506205030598 1420.000000000000 +90.488660539027 2076.000000000000 +91.053504137418 1574.000000000000 +95.952180653762 2284.000000000000 +97.967884579650 7862.442871093750 +100.074476020240 1221.000000000000 +102.090415152097 1454.000000000000 +104.048216330484 1263.218750000000 +109.942447219977 1590.828491210938 +113.962324334339 2023.251098632812 +114.090394525983 11631.025390625000 +118.085045416936 6564.007812500000 +122.095214148430 3526.000000000000 +122.962880463908 10844.000000000000 +123.090776414574 1696.206054687500 +123.961832528390 1236.000000000000 +124.981223378162 1673.021850585938 +130.158379717264 1405.000000000000 +132.043434483782 41526.472656250000 +133.046757663549 4137.170898437500 +136.020231843939 1752.000000000000 +139.962610586396 1241.217529296875 +141.090622201525 1287.143798828125 +141.112120261557 1304.199096679688 +141.957439283701 16426.482421875000 +147.090642325371 2533.530273437500 +149.022533327810 5845.030273437500 +149.040994237727 2756.796875000000 +151.095191450521 2425.737792968750 +151.109945034180 2827.097656250000 +155.069776946854 1748.044799804688 +155.105248734220 1748.282226562500 +155.973048592075 4793.413085937500 +158.153052811157 14275.985351562500 +159.139068434260 1227.674072265625 +159.156070191539 1425.673461914062 +160.049271893755 12624.257812500000 +161.053296289892 1271.000000000000 +161.096235386258 1578.421630859375 +164.142270683686 1217.000000000000 +170.094887803481 2717.008544921875 +170.968792401520 2390.000000000000 +171.137329533636 9794.265625000000 +172.136840902698 2122.000000000000 +172.168466786332 1309.672119140625 +173.079514403953 7730.000000000000 +174.990695602365 1337.972656250000 +177.054653270806 1487.000000000000 +178.158403800321 1799.193237304688 +179.105583290233 3646.174560546875 +182.960823278834 1922.372802734375 +182.986018115359 1341.532470703125 +186.220896557034 1469.000000000000 +194.116385994522 3228.431884765625 +195.101721591860 1761.497314453125 +195.120840048138 2139.872070312500 +198.184759772344 2245.000000000000 +200.198358143313 1177.926513671875 +209.152634370621 1389.980712890625 +217.106353356190 24341.000000000000 +218.109655666691 2974.806884765625 +219.095036364843 2223.419921875000 +224.127894084409 1278.478759765625 +228.195273215592 1674.000000000000 +236.167137123771 1456.000000000000 +239.088416675585 3867.606689453125 +242.282513583885 1277.000000000000 +246.861185203855 3901.000000000000 +249.182714411045 1537.000000000000 +250.178392714940 1258.000000000000 +250.999007399485 2502.000000000000 +252.996469033063 1435.000000000000 +253.914671653353 1239.000000000000 +260.979753981104 14440.506835937500 +261.982083120224 1659.000000000000 +262.976384632325 1466.000000000000 +267.171781473257 1284.615478515625 +277.200008538434 5514.000000000000 +279.092542460055 2184.000000000000 +281.050041935527 1782.000000000000 +292.121077385471 225397.000000000000 +293.123076709567 37677.234375000000 +294.118496498528 72202.039062500000 +295.120481083763 12277.000000000000 +296.122922541254 1529.722534179688 +299.182168197771 3169.000000000000 +304.298453938228 1206.488281250000 +318.011978476534 6627.000000000000 +322.257925183826 1680.000000000000 +327.007860740219 3296.000000000000 +329.003921677419 3051.000000000000 +331.002277995733 1209.000000000000 +339.994321798017 30539.392578125000 +340.996727216497 4443.000000000000 +341.991298278029 3214.898193359375 +351.926939354897 2576.000000000000 +353.925624186681 1528.262939453125 +355.967794750582 1676.749389648438 +363.070157834182 5926.000000000000 +379.934179014433 2532.000000000000 +381.930242914518 1263.000000000000 +445.118947651762 2644.000000000000 +505.851615177973 4750.000000000000 +522.877878746579 2136.000000000000 +529.887991001196 1339.000000000000 +536.163681670628 5319.764160156250 +537.164689652602 2801.000000000000 +538.163060633683 2127.000000000000 +544.338383816682 1327.000000000000 +546.914418903411 2791.000000000000 +547.911772088961 1197.000000000000 +610.182643718635 2184.000000000000 +611.184358419061 1263.000000000000 +645.154326732470 4086.000000000000 +646.158388244596 1322.000000000000 +647.153421689114 4193.000000000000 +648.155059129677 1544.000000000000 +649.151941293891 1547.000000000000 +671.046678825629 4046.000000000000 +672.049764904672 1509.000000000000 +673.044229478168 4164.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=661 experiment=2 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=661 experiment=2_0 +##scan 37 +##specref ms_run[1]:sample=1 period=1 cycle=661 experiment=2 +55.054126973401 60.000000000000 +56.055312067439 13.000000000000 +60.988401024091 13.000000000000 +67.052157228521 13.000000000000 +72.043995913709 30.000000000000 +72.936981743619 30.000000000000 +73.047124126098 13.000000000000 +78.994584928562 30.000000000000 +88.905920960920 30.000000000000 +>compound 1_0-661003--38--UNKNOWN +>parentmass 277.200008538434 +>charge 1 +>rt 433.717000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +277.200008538434 5514.000000000000 +>ms1peaks +52.005486844196 2797.312255859375 +53.013452941613 13289.114257812500 +53.850392691129 1182.554077148438 +54.009302603618 341601.031250000000 +55.005911181832 5603.758300781250 +55.011355581201 5959.661132812500 +55.054189724209 2205.188476562500 +55.933928601241 6093.526367187500 +56.941939565668 2798.683593750000 +59.049443593556 67299.640625000000 +60.044262774734 8968.761718750000 +61.039204580633 1571.923095703125 +63.997813637547 4075.065429687500 +64.004662670356 4416.795898437500 +68.011501134588 27277.638671875000 +68.993585500338 12264.906250000000 +69.044393197123 13147.085937500000 +72.043949942055 1214.000000000000 +72.936545824901 2386.261962890625 +73.064141392327 1809.102661132812 +76.486217265459 2318.000000000000 +77.037914467348 2784.771240234375 +79.020708818127 18172.382812500000 +80.048894299954 13850.358398437500 +81.936654565436 8646.963867187500 +82.996013274860 9151.881835937500 +87.042952193812 1456.767700195312 +87.054623008241 1774.283325195312 +89.069755450540 1371.091674804688 +89.506205030598 1420.000000000000 +90.488660539027 2076.000000000000 +91.053504137418 1574.000000000000 +95.952180653762 2284.000000000000 +97.967884579650 7862.442871093750 +100.074476020240 1221.000000000000 +102.090415152097 1454.000000000000 +104.048216330484 1263.218750000000 +109.942447219977 1590.828491210938 +113.962324334339 2023.251098632812 +114.090394525983 11631.025390625000 +118.085045416936 6564.007812500000 +122.095214148430 3526.000000000000 +122.962880463908 10844.000000000000 +123.090776414574 1696.206054687500 +123.961832528390 1236.000000000000 +124.981223378162 1673.021850585938 +130.158379717264 1405.000000000000 +132.043434483782 41526.472656250000 +133.046757663549 4137.170898437500 +136.020231843939 1752.000000000000 +139.962610586396 1241.217529296875 +141.090622201525 1287.143798828125 +141.112120261557 1304.199096679688 +141.957439283701 16426.482421875000 +147.090642325371 2533.530273437500 +149.022533327810 5845.030273437500 +149.040994237727 2756.796875000000 +151.095191450521 2425.737792968750 +151.109945034180 2827.097656250000 +155.069776946854 1748.044799804688 +155.105248734220 1748.282226562500 +155.973048592075 4793.413085937500 +158.153052811157 14275.985351562500 +159.139068434260 1227.674072265625 +159.156070191539 1425.673461914062 +160.049271893755 12624.257812500000 +161.053296289892 1271.000000000000 +161.096235386258 1578.421630859375 +164.142270683686 1217.000000000000 +170.094887803481 2717.008544921875 +170.968792401520 2390.000000000000 +171.137329533636 9794.265625000000 +172.136840902698 2122.000000000000 +172.168466786332 1309.672119140625 +173.079514403953 7730.000000000000 +174.990695602365 1337.972656250000 +177.054653270806 1487.000000000000 +178.158403800321 1799.193237304688 +179.105583290233 3646.174560546875 +182.960823278834 1922.372802734375 +182.986018115359 1341.532470703125 +186.220896557034 1469.000000000000 +194.116385994522 3228.431884765625 +195.101721591860 1761.497314453125 +195.120840048138 2139.872070312500 +198.184759772344 2245.000000000000 +200.198358143313 1177.926513671875 +209.152634370621 1389.980712890625 +217.106353356190 24341.000000000000 +218.109655666691 2974.806884765625 +219.095036364843 2223.419921875000 +224.127894084409 1278.478759765625 +228.195273215592 1674.000000000000 +236.167137123771 1456.000000000000 +239.088416675585 3867.606689453125 +242.282513583885 1277.000000000000 +246.861185203855 3901.000000000000 +249.182714411045 1537.000000000000 +250.178392714940 1258.000000000000 +250.999007399485 2502.000000000000 +252.996469033063 1435.000000000000 +253.914671653353 1239.000000000000 +260.979753981104 14440.506835937500 +261.982083120224 1659.000000000000 +262.976384632325 1466.000000000000 +267.171781473257 1284.615478515625 +277.200008538434 5514.000000000000 +279.092542460055 2184.000000000000 +281.050041935527 1782.000000000000 +292.121077385471 225397.000000000000 +293.123076709567 37677.234375000000 +294.118496498528 72202.039062500000 +295.120481083763 12277.000000000000 +296.122922541254 1529.722534179688 +299.182168197771 3169.000000000000 +304.298453938228 1206.488281250000 +318.011978476534 6627.000000000000 +322.257925183826 1680.000000000000 +327.007860740219 3296.000000000000 +329.003921677419 3051.000000000000 +331.002277995733 1209.000000000000 +339.994321798017 30539.392578125000 +340.996727216497 4443.000000000000 +341.991298278029 3214.898193359375 +351.926939354897 2576.000000000000 +353.925624186681 1528.262939453125 +355.967794750582 1676.749389648438 +363.070157834182 5926.000000000000 +379.934179014433 2532.000000000000 +381.930242914518 1263.000000000000 +445.118947651762 2644.000000000000 +505.851615177973 4750.000000000000 +522.877878746579 2136.000000000000 +529.887991001196 1339.000000000000 +536.163681670628 5319.764160156250 +537.164689652602 2801.000000000000 +538.163060633683 2127.000000000000 +544.338383816682 1327.000000000000 +546.914418903411 2791.000000000000 +547.911772088961 1197.000000000000 +610.182643718635 2184.000000000000 +611.184358419061 1263.000000000000 +645.154326732470 4086.000000000000 +646.158388244596 1322.000000000000 +647.153421689114 4193.000000000000 +648.155059129677 1544.000000000000 +649.151941293891 1547.000000000000 +671.046678825629 4046.000000000000 +672.049764904672 1509.000000000000 +673.044229478168 4164.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=661 experiment=3 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=661 experiment=3_0 +##scan 38 +##specref ms_run[1]:sample=1 period=1 cycle=661 experiment=3 +57.070116320209 30.000000000000 +171.137956393748 180.000000000000 +173.873502965422 30.000000000000 +>compound 1_0-661005--40--UNKNOWN +>parentmass 299.182168197771 +>charge 1 +>rt 433.717000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +299.182168197771 3169.000000000000 +>ms1peaks +52.005486844196 2797.312255859375 +53.013452941613 13289.114257812500 +53.850392691129 1182.554077148438 +54.009302603618 341601.031250000000 +55.005911181832 5603.758300781250 +55.011355581201 5959.661132812500 +55.054189724209 2205.188476562500 +55.933928601241 6093.526367187500 +56.941939565668 2798.683593750000 +59.049443593556 67299.640625000000 +60.044262774734 8968.761718750000 +61.039204580633 1571.923095703125 +63.997813637547 4075.065429687500 +64.004662670356 4416.795898437500 +68.011501134588 27277.638671875000 +68.993585500338 12264.906250000000 +69.044393197123 13147.085937500000 +72.043949942055 1214.000000000000 +72.936545824901 2386.261962890625 +73.064141392327 1809.102661132812 +76.486217265459 2318.000000000000 +77.037914467348 2784.771240234375 +79.020708818127 18172.382812500000 +80.048894299954 13850.358398437500 +81.936654565436 8646.963867187500 +82.996013274860 9151.881835937500 +87.042952193812 1456.767700195312 +87.054623008241 1774.283325195312 +89.069755450540 1371.091674804688 +89.506205030598 1420.000000000000 +90.488660539027 2076.000000000000 +91.053504137418 1574.000000000000 +95.952180653762 2284.000000000000 +97.967884579650 7862.442871093750 +100.074476020240 1221.000000000000 +102.090415152097 1454.000000000000 +104.048216330484 1263.218750000000 +109.942447219977 1590.828491210938 +113.962324334339 2023.251098632812 +114.090394525983 11631.025390625000 +118.085045416936 6564.007812500000 +122.095214148430 3526.000000000000 +122.962880463908 10844.000000000000 +123.090776414574 1696.206054687500 +123.961832528390 1236.000000000000 +124.981223378162 1673.021850585938 +130.158379717264 1405.000000000000 +132.043434483782 41526.472656250000 +133.046757663549 4137.170898437500 +136.020231843939 1752.000000000000 +139.962610586396 1241.217529296875 +141.090622201525 1287.143798828125 +141.112120261557 1304.199096679688 +141.957439283701 16426.482421875000 +147.090642325371 2533.530273437500 +149.022533327810 5845.030273437500 +149.040994237727 2756.796875000000 +151.095191450521 2425.737792968750 +151.109945034180 2827.097656250000 +155.069776946854 1748.044799804688 +155.105248734220 1748.282226562500 +155.973048592075 4793.413085937500 +158.153052811157 14275.985351562500 +159.139068434260 1227.674072265625 +159.156070191539 1425.673461914062 +160.049271893755 12624.257812500000 +161.053296289892 1271.000000000000 +161.096235386258 1578.421630859375 +164.142270683686 1217.000000000000 +170.094887803481 2717.008544921875 +170.968792401520 2390.000000000000 +171.137329533636 9794.265625000000 +172.136840902698 2122.000000000000 +172.168466786332 1309.672119140625 +173.079514403953 7730.000000000000 +174.990695602365 1337.972656250000 +177.054653270806 1487.000000000000 +178.158403800321 1799.193237304688 +179.105583290233 3646.174560546875 +182.960823278834 1922.372802734375 +182.986018115359 1341.532470703125 +186.220896557034 1469.000000000000 +194.116385994522 3228.431884765625 +195.101721591860 1761.497314453125 +195.120840048138 2139.872070312500 +198.184759772344 2245.000000000000 +200.198358143313 1177.926513671875 +209.152634370621 1389.980712890625 +217.106353356190 24341.000000000000 +218.109655666691 2974.806884765625 +219.095036364843 2223.419921875000 +224.127894084409 1278.478759765625 +228.195273215592 1674.000000000000 +236.167137123771 1456.000000000000 +239.088416675585 3867.606689453125 +242.282513583885 1277.000000000000 +246.861185203855 3901.000000000000 +249.182714411045 1537.000000000000 +250.178392714940 1258.000000000000 +250.999007399485 2502.000000000000 +252.996469033063 1435.000000000000 +253.914671653353 1239.000000000000 +260.979753981104 14440.506835937500 +261.982083120224 1659.000000000000 +262.976384632325 1466.000000000000 +267.171781473257 1284.615478515625 +277.200008538434 5514.000000000000 +279.092542460055 2184.000000000000 +281.050041935527 1782.000000000000 +292.121077385471 225397.000000000000 +293.123076709567 37677.234375000000 +294.118496498528 72202.039062500000 +295.120481083763 12277.000000000000 +296.122922541254 1529.722534179688 +299.182168197771 3169.000000000000 +304.298453938228 1206.488281250000 +318.011978476534 6627.000000000000 +322.257925183826 1680.000000000000 +327.007860740219 3296.000000000000 +329.003921677419 3051.000000000000 +331.002277995733 1209.000000000000 +339.994321798017 30539.392578125000 +340.996727216497 4443.000000000000 +341.991298278029 3214.898193359375 +351.926939354897 2576.000000000000 +353.925624186681 1528.262939453125 +355.967794750582 1676.749389648438 +363.070157834182 5926.000000000000 +379.934179014433 2532.000000000000 +381.930242914518 1263.000000000000 +445.118947651762 2644.000000000000 +505.851615177973 4750.000000000000 +522.877878746579 2136.000000000000 +529.887991001196 1339.000000000000 +536.163681670628 5319.764160156250 +537.164689652602 2801.000000000000 +538.163060633683 2127.000000000000 +544.338383816682 1327.000000000000 +546.914418903411 2791.000000000000 +547.911772088961 1197.000000000000 +610.182643718635 2184.000000000000 +611.184358419061 1263.000000000000 +645.154326732470 4086.000000000000 +646.158388244596 1322.000000000000 +647.153421689114 4193.000000000000 +648.155059129677 1544.000000000000 +649.151941293891 1547.000000000000 +671.046678825629 4046.000000000000 +672.049764904672 1509.000000000000 +673.044229478168 4164.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=661 experiment=5 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=661 experiment=5_0 +##scan 40 +##specref ms_run[1]:sample=1 period=1 cycle=661 experiment=5 +267.022502481564 60.000000000000 +>compound 1_0-661008--41--UNKNOWN +>parentmass 645.154326732470 +>charge 1 +>rt 433.717000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +645.154326732470 4086.000000000000 +>ms1peaks +52.005486844196 2797.312255859375 +53.013452941613 13289.114257812500 +53.850392691129 1182.554077148438 +54.009302603618 341601.031250000000 +55.005911181832 5603.758300781250 +55.011355581201 5959.661132812500 +55.054189724209 2205.188476562500 +55.933928601241 6093.526367187500 +56.941939565668 2798.683593750000 +59.049443593556 67299.640625000000 +60.044262774734 8968.761718750000 +61.039204580633 1571.923095703125 +63.997813637547 4075.065429687500 +64.004662670356 4416.795898437500 +68.011501134588 27277.638671875000 +68.993585500338 12264.906250000000 +69.044393197123 13147.085937500000 +72.043949942055 1214.000000000000 +72.936545824901 2386.261962890625 +73.064141392327 1809.102661132812 +76.486217265459 2318.000000000000 +77.037914467348 2784.771240234375 +79.020708818127 18172.382812500000 +80.048894299954 13850.358398437500 +81.936654565436 8646.963867187500 +82.996013274860 9151.881835937500 +87.042952193812 1456.767700195312 +87.054623008241 1774.283325195312 +89.069755450540 1371.091674804688 +89.506205030598 1420.000000000000 +90.488660539027 2076.000000000000 +91.053504137418 1574.000000000000 +95.952180653762 2284.000000000000 +97.967884579650 7862.442871093750 +100.074476020240 1221.000000000000 +102.090415152097 1454.000000000000 +104.048216330484 1263.218750000000 +109.942447219977 1590.828491210938 +113.962324334339 2023.251098632812 +114.090394525983 11631.025390625000 +118.085045416936 6564.007812500000 +122.095214148430 3526.000000000000 +122.962880463908 10844.000000000000 +123.090776414574 1696.206054687500 +123.961832528390 1236.000000000000 +124.981223378162 1673.021850585938 +130.158379717264 1405.000000000000 +132.043434483782 41526.472656250000 +133.046757663549 4137.170898437500 +136.020231843939 1752.000000000000 +139.962610586396 1241.217529296875 +141.090622201525 1287.143798828125 +141.112120261557 1304.199096679688 +141.957439283701 16426.482421875000 +147.090642325371 2533.530273437500 +149.022533327810 5845.030273437500 +149.040994237727 2756.796875000000 +151.095191450521 2425.737792968750 +151.109945034180 2827.097656250000 +155.069776946854 1748.044799804688 +155.105248734220 1748.282226562500 +155.973048592075 4793.413085937500 +158.153052811157 14275.985351562500 +159.139068434260 1227.674072265625 +159.156070191539 1425.673461914062 +160.049271893755 12624.257812500000 +161.053296289892 1271.000000000000 +161.096235386258 1578.421630859375 +164.142270683686 1217.000000000000 +170.094887803481 2717.008544921875 +170.968792401520 2390.000000000000 +171.137329533636 9794.265625000000 +172.136840902698 2122.000000000000 +172.168466786332 1309.672119140625 +173.079514403953 7730.000000000000 +174.990695602365 1337.972656250000 +177.054653270806 1487.000000000000 +178.158403800321 1799.193237304688 +179.105583290233 3646.174560546875 +182.960823278834 1922.372802734375 +182.986018115359 1341.532470703125 +186.220896557034 1469.000000000000 +194.116385994522 3228.431884765625 +195.101721591860 1761.497314453125 +195.120840048138 2139.872070312500 +198.184759772344 2245.000000000000 +200.198358143313 1177.926513671875 +209.152634370621 1389.980712890625 +217.106353356190 24341.000000000000 +218.109655666691 2974.806884765625 +219.095036364843 2223.419921875000 +224.127894084409 1278.478759765625 +228.195273215592 1674.000000000000 +236.167137123771 1456.000000000000 +239.088416675585 3867.606689453125 +242.282513583885 1277.000000000000 +246.861185203855 3901.000000000000 +249.182714411045 1537.000000000000 +250.178392714940 1258.000000000000 +250.999007399485 2502.000000000000 +252.996469033063 1435.000000000000 +253.914671653353 1239.000000000000 +260.979753981104 14440.506835937500 +261.982083120224 1659.000000000000 +262.976384632325 1466.000000000000 +267.171781473257 1284.615478515625 +277.200008538434 5514.000000000000 +279.092542460055 2184.000000000000 +281.050041935527 1782.000000000000 +292.121077385471 225397.000000000000 +293.123076709567 37677.234375000000 +294.118496498528 72202.039062500000 +295.120481083763 12277.000000000000 +296.122922541254 1529.722534179688 +299.182168197771 3169.000000000000 +304.298453938228 1206.488281250000 +318.011978476534 6627.000000000000 +322.257925183826 1680.000000000000 +327.007860740219 3296.000000000000 +329.003921677419 3051.000000000000 +331.002277995733 1209.000000000000 +339.994321798017 30539.392578125000 +340.996727216497 4443.000000000000 +341.991298278029 3214.898193359375 +351.926939354897 2576.000000000000 +353.925624186681 1528.262939453125 +355.967794750582 1676.749389648438 +363.070157834182 5926.000000000000 +379.934179014433 2532.000000000000 +381.930242914518 1263.000000000000 +445.118947651762 2644.000000000000 +505.851615177973 4750.000000000000 +522.877878746579 2136.000000000000 +529.887991001196 1339.000000000000 +536.163681670628 5319.764160156250 +537.164689652602 2801.000000000000 +538.163060633683 2127.000000000000 +544.338383816682 1327.000000000000 +546.914418903411 2791.000000000000 +547.911772088961 1197.000000000000 +610.182643718635 2184.000000000000 +611.184358419061 1263.000000000000 +645.154326732470 4086.000000000000 +646.158388244596 1322.000000000000 +647.153421689114 4193.000000000000 +648.155059129677 1544.000000000000 +649.151941293891 1547.000000000000 +671.046678825629 4046.000000000000 +672.049764904672 1509.000000000000 +673.044229478168 4164.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=661 experiment=8 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=661 experiment=8_0 +##scan 41 +##specref ms_run[1]:sample=1 period=1 cycle=661 experiment=8 +336.032082553299 180.000000000000 +354.045887866375 699.000000000000 +645.158440945669 255.000000000000 +>compound 1_0-661009--42--UNKNOWN +>parentmass 671.046678825629 +>charge 1 +>rt 433.717000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +671.046678825629 4046.000000000000 +672.049764904672 1509.000000000000 +>ms1peaks +52.005486844196 2797.312255859375 +53.013452941613 13289.114257812500 +53.850392691129 1182.554077148438 +54.009302603618 341601.031250000000 +55.005911181832 5603.758300781250 +55.011355581201 5959.661132812500 +55.054189724209 2205.188476562500 +55.933928601241 6093.526367187500 +56.941939565668 2798.683593750000 +59.049443593556 67299.640625000000 +60.044262774734 8968.761718750000 +61.039204580633 1571.923095703125 +63.997813637547 4075.065429687500 +64.004662670356 4416.795898437500 +68.011501134588 27277.638671875000 +68.993585500338 12264.906250000000 +69.044393197123 13147.085937500000 +72.043949942055 1214.000000000000 +72.936545824901 2386.261962890625 +73.064141392327 1809.102661132812 +76.486217265459 2318.000000000000 +77.037914467348 2784.771240234375 +79.020708818127 18172.382812500000 +80.048894299954 13850.358398437500 +81.936654565436 8646.963867187500 +82.996013274860 9151.881835937500 +87.042952193812 1456.767700195312 +87.054623008241 1774.283325195312 +89.069755450540 1371.091674804688 +89.506205030598 1420.000000000000 +90.488660539027 2076.000000000000 +91.053504137418 1574.000000000000 +95.952180653762 2284.000000000000 +97.967884579650 7862.442871093750 +100.074476020240 1221.000000000000 +102.090415152097 1454.000000000000 +104.048216330484 1263.218750000000 +109.942447219977 1590.828491210938 +113.962324334339 2023.251098632812 +114.090394525983 11631.025390625000 +118.085045416936 6564.007812500000 +122.095214148430 3526.000000000000 +122.962880463908 10844.000000000000 +123.090776414574 1696.206054687500 +123.961832528390 1236.000000000000 +124.981223378162 1673.021850585938 +130.158379717264 1405.000000000000 +132.043434483782 41526.472656250000 +133.046757663549 4137.170898437500 +136.020231843939 1752.000000000000 +139.962610586396 1241.217529296875 +141.090622201525 1287.143798828125 +141.112120261557 1304.199096679688 +141.957439283701 16426.482421875000 +147.090642325371 2533.530273437500 +149.022533327810 5845.030273437500 +149.040994237727 2756.796875000000 +151.095191450521 2425.737792968750 +151.109945034180 2827.097656250000 +155.069776946854 1748.044799804688 +155.105248734220 1748.282226562500 +155.973048592075 4793.413085937500 +158.153052811157 14275.985351562500 +159.139068434260 1227.674072265625 +159.156070191539 1425.673461914062 +160.049271893755 12624.257812500000 +161.053296289892 1271.000000000000 +161.096235386258 1578.421630859375 +164.142270683686 1217.000000000000 +170.094887803481 2717.008544921875 +170.968792401520 2390.000000000000 +171.137329533636 9794.265625000000 +172.136840902698 2122.000000000000 +172.168466786332 1309.672119140625 +173.079514403953 7730.000000000000 +174.990695602365 1337.972656250000 +177.054653270806 1487.000000000000 +178.158403800321 1799.193237304688 +179.105583290233 3646.174560546875 +182.960823278834 1922.372802734375 +182.986018115359 1341.532470703125 +186.220896557034 1469.000000000000 +194.116385994522 3228.431884765625 +195.101721591860 1761.497314453125 +195.120840048138 2139.872070312500 +198.184759772344 2245.000000000000 +200.198358143313 1177.926513671875 +209.152634370621 1389.980712890625 +217.106353356190 24341.000000000000 +218.109655666691 2974.806884765625 +219.095036364843 2223.419921875000 +224.127894084409 1278.478759765625 +228.195273215592 1674.000000000000 +236.167137123771 1456.000000000000 +239.088416675585 3867.606689453125 +242.282513583885 1277.000000000000 +246.861185203855 3901.000000000000 +249.182714411045 1537.000000000000 +250.178392714940 1258.000000000000 +250.999007399485 2502.000000000000 +252.996469033063 1435.000000000000 +253.914671653353 1239.000000000000 +260.979753981104 14440.506835937500 +261.982083120224 1659.000000000000 +262.976384632325 1466.000000000000 +267.171781473257 1284.615478515625 +277.200008538434 5514.000000000000 +279.092542460055 2184.000000000000 +281.050041935527 1782.000000000000 +292.121077385471 225397.000000000000 +293.123076709567 37677.234375000000 +294.118496498528 72202.039062500000 +295.120481083763 12277.000000000000 +296.122922541254 1529.722534179688 +299.182168197771 3169.000000000000 +304.298453938228 1206.488281250000 +318.011978476534 6627.000000000000 +322.257925183826 1680.000000000000 +327.007860740219 3296.000000000000 +329.003921677419 3051.000000000000 +331.002277995733 1209.000000000000 +339.994321798017 30539.392578125000 +340.996727216497 4443.000000000000 +341.991298278029 3214.898193359375 +351.926939354897 2576.000000000000 +353.925624186681 1528.262939453125 +355.967794750582 1676.749389648438 +363.070157834182 5926.000000000000 +379.934179014433 2532.000000000000 +381.930242914518 1263.000000000000 +445.118947651762 2644.000000000000 +505.851615177973 4750.000000000000 +522.877878746579 2136.000000000000 +529.887991001196 1339.000000000000 +536.163681670628 5319.764160156250 +537.164689652602 2801.000000000000 +538.163060633683 2127.000000000000 +544.338383816682 1327.000000000000 +546.914418903411 2791.000000000000 +547.911772088961 1197.000000000000 +610.182643718635 2184.000000000000 +611.184358419061 1263.000000000000 +645.154326732470 4086.000000000000 +646.158388244596 1322.000000000000 +647.153421689114 4193.000000000000 +648.155059129677 1544.000000000000 +649.151941293891 1547.000000000000 +671.046678825629 4046.000000000000 +672.049764904672 1509.000000000000 +673.044229478168 4164.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=661 experiment=9 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=661 experiment=9_0 +##scan 42 +##specref ms_run[1]:sample=1 period=1 cycle=661 experiment=9 +132.044360950479 45.000000000000 +198.929356968611 13.000000000000 +215.932468819012 75.000000000000 +243.936721402497 30.000000000000 +292.897804521671 45.000000000000 +296.925538722782 30.000000000000 +305.944412546327 13.000000000000 +351.929820518156 550.000000000000 +>compound 1_0-662002--44--UNKNOWN +>parentmass 395.068920996882 +>charge 1 +>rt 434.644000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +395.068920996882 1393.000000000000 +>ms1peaks +52.005619971544 2868.924316406250 +53.013626758479 15517.225585937500 +53.850198684085 1306.466552734375 +54.009455637414 347190.343750000000 +55.005852998941 5408.673828125000 +55.011340638134 6294.821777343750 +55.054331409012 2287.876708984375 +55.934276302981 6088.493164062500 +56.049611939377 1303.000000000000 +56.942183855942 2248.690917968750 +59.049668892653 58332.753906250000 +60.044410399376 9555.736328125000 +61.039859624613 2285.231201171875 +61.047565318545 1412.572753906250 +63.997926632311 4869.690429687500 +64.005070485828 5061.671875000000 +68.011612619473 26166.705078125000 +68.993940190776 13597.881835937500 +69.044643346983 13622.998046875000 +72.936817778709 2490.000000000000 +73.064323773787 1898.000000000000 +76.486168290219 2589.881835937500 +77.037917344036 1166.000000000000 +79.020976204714 14359.524414062500 +80.049086811816 11200.334960937500 +81.937123457333 8916.551757812500 +82.996597708283 9606.731445312500 +87.054211158765 1709.380249023438 +89.506529077942 1677.579467773438 +90.488709770268 1839.000000000000 +91.053746899511 1385.000000000000 +95.952345721258 2220.636962890625 +97.968335149083 7665.471679687500 +100.075245170106 1470.000000000000 +102.091210277475 2129.000000000000 +109.943024793110 1495.000000000000 +113.962850208870 2370.901855468750 +114.090998028958 11338.424804687500 +118.085629511707 7241.961914062500 +122.095655396081 3517.866455078125 +122.963397098816 11180.203125000000 +123.091986139169 1718.697021484375 +123.962012519152 1156.000000000000 +130.158398873332 1284.000000000000 +132.043365551604 16054.902343750000 +133.046736557240 1554.686889648438 +136.020953831915 1663.000000000000 +136.111690191692 1458.000000000000 +141.090571574442 1356.679443359375 +141.111969398206 1508.873413085938 +141.957754684218 16253.752929687500 +142.959109560212 1257.000000000000 +147.090592660524 2334.000000000000 +149.022922810080 4924.312011718750 +149.044154127725 1624.280761718750 +151.077238578663 1241.405883789062 +151.096099445415 2811.134277343750 +151.110911811468 2755.069335937500 +153.126543469127 1197.000000000000 +155.069074554388 1644.209716796875 +155.106522781764 1724.000000000000 +155.973756817392 4858.000000000000 +158.153411215039 13571.562500000000 +159.156521733298 1438.622314453125 +159.969052827239 1173.000000000000 +160.049853047069 6039.000000000000 +161.095474801406 1536.000000000000 +164.142982515454 1325.256713867188 +170.095832751217 2575.989990234375 +170.118615587336 1143.736083984375 +171.137332256244 7221.275390625000 +172.135168711042 1818.587890625000 +172.168548245108 1130.258056640625 +173.080526756051 7626.000000000000 +174.128180990381 1268.000000000000 +174.991074078541 2689.000000000000 +177.053474162561 1542.000000000000 +178.158227079464 1590.000000000000 +179.105675621931 6564.306640625000 +180.108363067116 1112.432739257812 +182.960684510514 1746.039062500000 +186.221467270526 1783.000000000000 +194.116223460583 3271.894775390625 +195.103058328345 1548.885864257812 +195.121163629464 1978.875610351562 +198.184851980288 2163.000000000000 +217.106463272486 22916.730468750000 +218.109369425491 2815.000000000000 +219.094951255367 2417.630126953125 +223.063533684134 1163.051147460938 +224.127008680729 1347.111083984375 +228.194978416391 1823.135620117188 +239.088910319306 4372.000000000000 +242.283851659051 1439.000000000000 +246.862004049781 3614.000000000000 +249.184343134700 1319.000000000000 +250.177626745483 1517.000000000000 +251.000192722755 5349.000000000000 +252.996537563492 3311.000000000000 +260.979723254531 6036.000000000000 +267.172888668337 1629.000000000000 +277.200459264940 3763.000000000000 +279.092801580084 2210.000000000000 +281.050340945059 1505.000000000000 +292.121394674630 223463.312500000000 +293.123678844874 37244.414062500000 +294.118727019850 72349.000000000000 +295.120801964456 13234.699218750000 +296.123693407425 1142.168212890625 +299.183031927639 2040.384643554688 +304.298672942450 1257.265014648438 +313.039453485601 2029.000000000000 +315.036487220481 1245.000000000000 +318.012264297452 3228.000000000000 +322.257627652589 1286.923828125000 +327.008314255252 8546.000000000000 +329.004869369746 7597.000000000000 +331.001726848134 2689.000000000000 +339.994768303561 13115.000000000000 +340.996413024238 1878.000000000000 +341.991672781264 1155.000000000000 +348.989002691846 1131.000000000000 +351.928143211389 1226.000000000000 +363.069604437683 2542.000000000000 +372.066265915938 1350.000000000000 +372.093977422513 1384.438232421875 +379.934475958043 1258.000000000000 +392.045434731573 1278.000000000000 +395.068920996882 1393.000000000000 +445.121248938517 2203.000000000000 +505.852906465283 4354.000000000000 +506.852300462823 1384.000000000000 +522.878257983247 1658.000000000000 +523.874535929923 1366.000000000000 +529.890814020884 1412.000000000000 +536.164597718931 5578.000000000000 +537.165350038450 2083.371093750000 +538.162757655305 1663.000000000000 +544.339007559620 1297.000000000000 +546.915501042648 2403.000000000000 +547.913876040424 1320.000000000000 +610.182690652914 2060.000000000000 +611.183593920178 1202.338012695312 +645.156830666215 4838.000000000000 +646.159647200242 1639.000000000000 +647.154424391907 5365.000000000000 +648.156498599768 1846.161254882812 +649.154510273270 2279.000000000000 +671.048282134270 2667.000000000000 +673.046260223844 2015.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=662 experiment=2 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=662 experiment=2_0 +##scan 44 +##specref ms_run[1]:sample=1 period=1 cycle=662 experiment=2 +69.045201223357 40.000000000000 +131.959553181301 31.000000000000 +137.133037555271 6.000000000000 +163.027633404674 6.000000000000 +167.090245316507 6.000000000000 +199.942295849446 16.000000000000 +240.969767381681 39.000000000000 +266.970884772710 54.000000000000 +267.001442967414 62.000000000000 +283.964507020502 46.000000000000 +318.068281699418 16.000000000000 +336.029833311234 68.000000000000 +354.042082386970 93.000000000000 +476.988960477588 6.000000000000 +>compound 1_0-662003--45--UNKNOWN +>parentmass 449.154393512052 +>charge 1 +>rt 434.644000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1peaks +52.005619971544 2868.924316406250 +53.013626758479 15517.225585937500 +53.850198684085 1306.466552734375 +54.009455637414 347190.343750000000 +55.005852998941 5408.673828125000 +55.011340638134 6294.821777343750 +55.054331409012 2287.876708984375 +55.934276302981 6088.493164062500 +56.049611939377 1303.000000000000 +56.942183855942 2248.690917968750 +59.049668892653 58332.753906250000 +60.044410399376 9555.736328125000 +61.039859624613 2285.231201171875 +61.047565318545 1412.572753906250 +63.997926632311 4869.690429687500 +64.005070485828 5061.671875000000 +68.011612619473 26166.705078125000 +68.993940190776 13597.881835937500 +69.044643346983 13622.998046875000 +72.936817778709 2490.000000000000 +73.064323773787 1898.000000000000 +76.486168290219 2589.881835937500 +77.037917344036 1166.000000000000 +79.020976204714 14359.524414062500 +80.049086811816 11200.334960937500 +81.937123457333 8916.551757812500 +82.996597708283 9606.731445312500 +87.054211158765 1709.380249023438 +89.506529077942 1677.579467773438 +90.488709770268 1839.000000000000 +91.053746899511 1385.000000000000 +95.952345721258 2220.636962890625 +97.968335149083 7665.471679687500 +100.075245170106 1470.000000000000 +102.091210277475 2129.000000000000 +109.943024793110 1495.000000000000 +113.962850208870 2370.901855468750 +114.090998028958 11338.424804687500 +118.085629511707 7241.961914062500 +122.095655396081 3517.866455078125 +122.963397098816 11180.203125000000 +123.091986139169 1718.697021484375 +123.962012519152 1156.000000000000 +130.158398873332 1284.000000000000 +132.043365551604 16054.902343750000 +133.046736557240 1554.686889648438 +136.020953831915 1663.000000000000 +136.111690191692 1458.000000000000 +141.090571574442 1356.679443359375 +141.111969398206 1508.873413085938 +141.957754684218 16253.752929687500 +142.959109560212 1257.000000000000 +147.090592660524 2334.000000000000 +149.022922810080 4924.312011718750 +149.044154127725 1624.280761718750 +151.077238578663 1241.405883789062 +151.096099445415 2811.134277343750 +151.110911811468 2755.069335937500 +153.126543469127 1197.000000000000 +155.069074554388 1644.209716796875 +155.106522781764 1724.000000000000 +155.973756817392 4858.000000000000 +158.153411215039 13571.562500000000 +159.156521733298 1438.622314453125 +159.969052827239 1173.000000000000 +160.049853047069 6039.000000000000 +161.095474801406 1536.000000000000 +164.142982515454 1325.256713867188 +170.095832751217 2575.989990234375 +170.118615587336 1143.736083984375 +171.137332256244 7221.275390625000 +172.135168711042 1818.587890625000 +172.168548245108 1130.258056640625 +173.080526756051 7626.000000000000 +174.128180990381 1268.000000000000 +174.991074078541 2689.000000000000 +177.053474162561 1542.000000000000 +178.158227079464 1590.000000000000 +179.105675621931 6564.306640625000 +180.108363067116 1112.432739257812 +182.960684510514 1746.039062500000 +186.221467270526 1783.000000000000 +194.116223460583 3271.894775390625 +195.103058328345 1548.885864257812 +195.121163629464 1978.875610351562 +198.184851980288 2163.000000000000 +217.106463272486 22916.730468750000 +218.109369425491 2815.000000000000 +219.094951255367 2417.630126953125 +223.063533684134 1163.051147460938 +224.127008680729 1347.111083984375 +228.194978416391 1823.135620117188 +239.088910319306 4372.000000000000 +242.283851659051 1439.000000000000 +246.862004049781 3614.000000000000 +249.184343134700 1319.000000000000 +250.177626745483 1517.000000000000 +251.000192722755 5349.000000000000 +252.996537563492 3311.000000000000 +260.979723254531 6036.000000000000 +267.172888668337 1629.000000000000 +277.200459264940 3763.000000000000 +279.092801580084 2210.000000000000 +281.050340945059 1505.000000000000 +292.121394674630 223463.312500000000 +293.123678844874 37244.414062500000 +294.118727019850 72349.000000000000 +295.120801964456 13234.699218750000 +296.123693407425 1142.168212890625 +299.183031927639 2040.384643554688 +304.298672942450 1257.265014648438 +313.039453485601 2029.000000000000 +315.036487220481 1245.000000000000 +318.012264297452 3228.000000000000 +322.257627652589 1286.923828125000 +327.008314255252 8546.000000000000 +329.004869369746 7597.000000000000 +331.001726848134 2689.000000000000 +339.994768303561 13115.000000000000 +340.996413024238 1878.000000000000 +341.991672781264 1155.000000000000 +348.989002691846 1131.000000000000 +351.928143211389 1226.000000000000 +363.069604437683 2542.000000000000 +372.066265915938 1350.000000000000 +372.093977422513 1384.438232421875 +379.934475958043 1258.000000000000 +392.045434731573 1278.000000000000 +395.068920996882 1393.000000000000 +445.121248938517 2203.000000000000 +505.852906465283 4354.000000000000 +506.852300462823 1384.000000000000 +522.878257983247 1658.000000000000 +523.874535929923 1366.000000000000 +529.890814020884 1412.000000000000 +536.164597718931 5578.000000000000 +537.165350038450 2083.371093750000 +538.162757655305 1663.000000000000 +544.339007559620 1297.000000000000 +546.915501042648 2403.000000000000 +547.913876040424 1320.000000000000 +610.182690652914 2060.000000000000 +611.183593920178 1202.338012695312 +645.156830666215 4838.000000000000 +646.159647200242 1639.000000000000 +647.154424391907 5365.000000000000 +648.156498599768 1846.161254882812 +649.154510273270 2279.000000000000 +671.048282134270 2667.000000000000 +673.046260223844 2015.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=662 experiment=3 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=662 experiment=3_0 +##scan 45 +##specref ms_run[1]:sample=1 period=1 cycle=662 experiment=3 +147.066126280386 6.000000000000 +159.976098174475 6.000000000000 +161.026756196110 8.000000000000 +173.011455384830 6.000000000000 +227.044922241699 6.000000000000 +239.044605815469 16.000000000000 +239.059765700566 16.000000000000 +285.149983831385 6.000000000000 +343.045712821721 6.000000000000 +367.102596690006 24.000000000000 +>compound 1_0-662004--46--UNKNOWN +>parentmass 491.968666926117 +>charge 1 +>rt 434.644000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1peaks +52.005619971544 2868.924316406250 +53.013626758479 15517.225585937500 +53.850198684085 1306.466552734375 +54.009455637414 347190.343750000000 +55.005852998941 5408.673828125000 +55.011340638134 6294.821777343750 +55.054331409012 2287.876708984375 +55.934276302981 6088.493164062500 +56.049611939377 1303.000000000000 +56.942183855942 2248.690917968750 +59.049668892653 58332.753906250000 +60.044410399376 9555.736328125000 +61.039859624613 2285.231201171875 +61.047565318545 1412.572753906250 +63.997926632311 4869.690429687500 +64.005070485828 5061.671875000000 +68.011612619473 26166.705078125000 +68.993940190776 13597.881835937500 +69.044643346983 13622.998046875000 +72.936817778709 2490.000000000000 +73.064323773787 1898.000000000000 +76.486168290219 2589.881835937500 +77.037917344036 1166.000000000000 +79.020976204714 14359.524414062500 +80.049086811816 11200.334960937500 +81.937123457333 8916.551757812500 +82.996597708283 9606.731445312500 +87.054211158765 1709.380249023438 +89.506529077942 1677.579467773438 +90.488709770268 1839.000000000000 +91.053746899511 1385.000000000000 +95.952345721258 2220.636962890625 +97.968335149083 7665.471679687500 +100.075245170106 1470.000000000000 +102.091210277475 2129.000000000000 +109.943024793110 1495.000000000000 +113.962850208870 2370.901855468750 +114.090998028958 11338.424804687500 +118.085629511707 7241.961914062500 +122.095655396081 3517.866455078125 +122.963397098816 11180.203125000000 +123.091986139169 1718.697021484375 +123.962012519152 1156.000000000000 +130.158398873332 1284.000000000000 +132.043365551604 16054.902343750000 +133.046736557240 1554.686889648438 +136.020953831915 1663.000000000000 +136.111690191692 1458.000000000000 +141.090571574442 1356.679443359375 +141.111969398206 1508.873413085938 +141.957754684218 16253.752929687500 +142.959109560212 1257.000000000000 +147.090592660524 2334.000000000000 +149.022922810080 4924.312011718750 +149.044154127725 1624.280761718750 +151.077238578663 1241.405883789062 +151.096099445415 2811.134277343750 +151.110911811468 2755.069335937500 +153.126543469127 1197.000000000000 +155.069074554388 1644.209716796875 +155.106522781764 1724.000000000000 +155.973756817392 4858.000000000000 +158.153411215039 13571.562500000000 +159.156521733298 1438.622314453125 +159.969052827239 1173.000000000000 +160.049853047069 6039.000000000000 +161.095474801406 1536.000000000000 +164.142982515454 1325.256713867188 +170.095832751217 2575.989990234375 +170.118615587336 1143.736083984375 +171.137332256244 7221.275390625000 +172.135168711042 1818.587890625000 +172.168548245108 1130.258056640625 +173.080526756051 7626.000000000000 +174.128180990381 1268.000000000000 +174.991074078541 2689.000000000000 +177.053474162561 1542.000000000000 +178.158227079464 1590.000000000000 +179.105675621931 6564.306640625000 +180.108363067116 1112.432739257812 +182.960684510514 1746.039062500000 +186.221467270526 1783.000000000000 +194.116223460583 3271.894775390625 +195.103058328345 1548.885864257812 +195.121163629464 1978.875610351562 +198.184851980288 2163.000000000000 +217.106463272486 22916.730468750000 +218.109369425491 2815.000000000000 +219.094951255367 2417.630126953125 +223.063533684134 1163.051147460938 +224.127008680729 1347.111083984375 +228.194978416391 1823.135620117188 +239.088910319306 4372.000000000000 +242.283851659051 1439.000000000000 +246.862004049781 3614.000000000000 +249.184343134700 1319.000000000000 +250.177626745483 1517.000000000000 +251.000192722755 5349.000000000000 +252.996537563492 3311.000000000000 +260.979723254531 6036.000000000000 +267.172888668337 1629.000000000000 +277.200459264940 3763.000000000000 +279.092801580084 2210.000000000000 +281.050340945059 1505.000000000000 +292.121394674630 223463.312500000000 +293.123678844874 37244.414062500000 +294.118727019850 72349.000000000000 +295.120801964456 13234.699218750000 +296.123693407425 1142.168212890625 +299.183031927639 2040.384643554688 +304.298672942450 1257.265014648438 +313.039453485601 2029.000000000000 +315.036487220481 1245.000000000000 +318.012264297452 3228.000000000000 +322.257627652589 1286.923828125000 +327.008314255252 8546.000000000000 +329.004869369746 7597.000000000000 +331.001726848134 2689.000000000000 +339.994768303561 13115.000000000000 +340.996413024238 1878.000000000000 +341.991672781264 1155.000000000000 +348.989002691846 1131.000000000000 +351.928143211389 1226.000000000000 +363.069604437683 2542.000000000000 +372.066265915938 1350.000000000000 +372.093977422513 1384.438232421875 +379.934475958043 1258.000000000000 +392.045434731573 1278.000000000000 +395.068920996882 1393.000000000000 +445.121248938517 2203.000000000000 +505.852906465283 4354.000000000000 +506.852300462823 1384.000000000000 +522.878257983247 1658.000000000000 +523.874535929923 1366.000000000000 +529.890814020884 1412.000000000000 +536.164597718931 5578.000000000000 +537.165350038450 2083.371093750000 +538.162757655305 1663.000000000000 +544.339007559620 1297.000000000000 +546.915501042648 2403.000000000000 +547.913876040424 1320.000000000000 +610.182690652914 2060.000000000000 +611.183593920178 1202.338012695312 +645.156830666215 4838.000000000000 +646.159647200242 1639.000000000000 +647.154424391907 5365.000000000000 +648.156498599768 1846.161254882812 +649.154510273270 2279.000000000000 +671.048282134270 2667.000000000000 +673.046260223844 2015.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=662 experiment=4 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=662 experiment=4_0 +##scan 46 +##specref ms_run[1]:sample=1 period=1 cycle=662 experiment=4 +338.956039786047 6.000000000000 +>compound 1_0-662005--47--UNKNOWN +>parentmass 647.154424391907 +>charge 1 +>rt 434.644000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +647.154424391907 5365.000000000000 +>ms1peaks +52.005619971544 2868.924316406250 +53.013626758479 15517.225585937500 +53.850198684085 1306.466552734375 +54.009455637414 347190.343750000000 +55.005852998941 5408.673828125000 +55.011340638134 6294.821777343750 +55.054331409012 2287.876708984375 +55.934276302981 6088.493164062500 +56.049611939377 1303.000000000000 +56.942183855942 2248.690917968750 +59.049668892653 58332.753906250000 +60.044410399376 9555.736328125000 +61.039859624613 2285.231201171875 +61.047565318545 1412.572753906250 +63.997926632311 4869.690429687500 +64.005070485828 5061.671875000000 +68.011612619473 26166.705078125000 +68.993940190776 13597.881835937500 +69.044643346983 13622.998046875000 +72.936817778709 2490.000000000000 +73.064323773787 1898.000000000000 +76.486168290219 2589.881835937500 +77.037917344036 1166.000000000000 +79.020976204714 14359.524414062500 +80.049086811816 11200.334960937500 +81.937123457333 8916.551757812500 +82.996597708283 9606.731445312500 +87.054211158765 1709.380249023438 +89.506529077942 1677.579467773438 +90.488709770268 1839.000000000000 +91.053746899511 1385.000000000000 +95.952345721258 2220.636962890625 +97.968335149083 7665.471679687500 +100.075245170106 1470.000000000000 +102.091210277475 2129.000000000000 +109.943024793110 1495.000000000000 +113.962850208870 2370.901855468750 +114.090998028958 11338.424804687500 +118.085629511707 7241.961914062500 +122.095655396081 3517.866455078125 +122.963397098816 11180.203125000000 +123.091986139169 1718.697021484375 +123.962012519152 1156.000000000000 +130.158398873332 1284.000000000000 +132.043365551604 16054.902343750000 +133.046736557240 1554.686889648438 +136.020953831915 1663.000000000000 +136.111690191692 1458.000000000000 +141.090571574442 1356.679443359375 +141.111969398206 1508.873413085938 +141.957754684218 16253.752929687500 +142.959109560212 1257.000000000000 +147.090592660524 2334.000000000000 +149.022922810080 4924.312011718750 +149.044154127725 1624.280761718750 +151.077238578663 1241.405883789062 +151.096099445415 2811.134277343750 +151.110911811468 2755.069335937500 +153.126543469127 1197.000000000000 +155.069074554388 1644.209716796875 +155.106522781764 1724.000000000000 +155.973756817392 4858.000000000000 +158.153411215039 13571.562500000000 +159.156521733298 1438.622314453125 +159.969052827239 1173.000000000000 +160.049853047069 6039.000000000000 +161.095474801406 1536.000000000000 +164.142982515454 1325.256713867188 +170.095832751217 2575.989990234375 +170.118615587336 1143.736083984375 +171.137332256244 7221.275390625000 +172.135168711042 1818.587890625000 +172.168548245108 1130.258056640625 +173.080526756051 7626.000000000000 +174.128180990381 1268.000000000000 +174.991074078541 2689.000000000000 +177.053474162561 1542.000000000000 +178.158227079464 1590.000000000000 +179.105675621931 6564.306640625000 +180.108363067116 1112.432739257812 +182.960684510514 1746.039062500000 +186.221467270526 1783.000000000000 +194.116223460583 3271.894775390625 +195.103058328345 1548.885864257812 +195.121163629464 1978.875610351562 +198.184851980288 2163.000000000000 +217.106463272486 22916.730468750000 +218.109369425491 2815.000000000000 +219.094951255367 2417.630126953125 +223.063533684134 1163.051147460938 +224.127008680729 1347.111083984375 +228.194978416391 1823.135620117188 +239.088910319306 4372.000000000000 +242.283851659051 1439.000000000000 +246.862004049781 3614.000000000000 +249.184343134700 1319.000000000000 +250.177626745483 1517.000000000000 +251.000192722755 5349.000000000000 +252.996537563492 3311.000000000000 +260.979723254531 6036.000000000000 +267.172888668337 1629.000000000000 +277.200459264940 3763.000000000000 +279.092801580084 2210.000000000000 +281.050340945059 1505.000000000000 +292.121394674630 223463.312500000000 +293.123678844874 37244.414062500000 +294.118727019850 72349.000000000000 +295.120801964456 13234.699218750000 +296.123693407425 1142.168212890625 +299.183031927639 2040.384643554688 +304.298672942450 1257.265014648438 +313.039453485601 2029.000000000000 +315.036487220481 1245.000000000000 +318.012264297452 3228.000000000000 +322.257627652589 1286.923828125000 +327.008314255252 8546.000000000000 +329.004869369746 7597.000000000000 +331.001726848134 2689.000000000000 +339.994768303561 13115.000000000000 +340.996413024238 1878.000000000000 +341.991672781264 1155.000000000000 +348.989002691846 1131.000000000000 +351.928143211389 1226.000000000000 +363.069604437683 2542.000000000000 +372.066265915938 1350.000000000000 +372.093977422513 1384.438232421875 +379.934475958043 1258.000000000000 +392.045434731573 1278.000000000000 +395.068920996882 1393.000000000000 +445.121248938517 2203.000000000000 +505.852906465283 4354.000000000000 +506.852300462823 1384.000000000000 +522.878257983247 1658.000000000000 +523.874535929923 1366.000000000000 +529.890814020884 1412.000000000000 +536.164597718931 5578.000000000000 +537.165350038450 2083.371093750000 +538.162757655305 1663.000000000000 +544.339007559620 1297.000000000000 +546.915501042648 2403.000000000000 +547.913876040424 1320.000000000000 +610.182690652914 2060.000000000000 +611.183593920178 1202.338012695312 +645.156830666215 4838.000000000000 +646.159647200242 1639.000000000000 +647.154424391907 5365.000000000000 +648.156498599768 1846.161254882812 +649.154510273270 2279.000000000000 +671.048282134270 2667.000000000000 +673.046260223844 2015.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=662 experiment=5 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=662 experiment=5_0 +##scan 47 +##specref ms_run[1]:sample=1 period=1 cycle=662 experiment=5 +203.076628798793 16.000000000000 +203.089507643509 16.000000000000 +266.984887770009 32.000000000000 +266.993947608827 32.000000000000 +268.996679091902 54.000000000000 +283.964545183828 23.000000000000 +285.964024113963 40.000000000000 +336.028004543941 99.000000000000 +337.983278357196 77.810935974121 +338.031706063310 169.000000000000 +354.043787496435 476.000000000000 +355.041263036732 39.000000000000 +356.041960679948 1007.000000000000 +356.097610668179 60.964313507080 +647.154616006882 261.000000000000 +>compound 1_0-663002--49--UNKNOWN +>parentmass 192.173979598132 +>charge 1 +>rt 435.568999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1peaks +52.005966180500 2509.332031250000 +53.013507369873 14095.641601562500 +53.850970390711 1246.033935546875 +54.009372281497 342031.000000000000 +55.006163575275 5705.965820312500 +55.011387270805 6127.473144531250 +55.054184206823 1848.058593750000 +55.934334911976 6140.810546875000 +56.049690767818 1330.017089843750 +56.942074959092 2606.667480468750 +59.049518267006 56697.359375000000 +60.044566292185 9567.453125000000 +60.051796148101 5984.580078125000 +61.039393490257 1915.440551757812 +63.997909973617 3748.628417968750 +64.005283923938 4326.699218750000 +68.011628084817 27292.236328125000 +68.993816323075 12618.667968750000 +69.032897101129 1379.142456054688 +69.044540912933 13986.380859375000 +72.936558146637 2579.000000000000 +73.064228849484 1913.000000000000 +76.486180881623 2682.000244140625 +79.021000086474 14334.086914062500 +80.049089873152 11904.342773437500 +81.937137428830 9328.000000000000 +82.996717483329 9530.261718750000 +87.044278019735 1244.984619140625 +87.054474952312 1464.973510742188 +89.506620387415 1797.000000000000 +90.489369315210 1750.000000000000 +91.053371587935 1520.000000000000 +95.952544398364 2306.000000000000 +97.967985008693 7122.677246093750 +98.983597639133 2707.236572265625 +102.090693288494 2155.000000000000 +109.942639865272 1479.000000000000 +113.962988365185 2088.000000000000 +114.090715282838 10161.079101562500 +118.085459870469 7107.342285156250 +122.095676141264 3819.024658203125 +122.963182714449 11743.000000000000 +123.091076294906 1884.834838867188 +123.962710172625 1278.000000000000 +130.158549361780 1309.000000000000 +132.043510097675 6102.050781250000 +136.020884350350 1696.428710937500 +136.110913014003 1219.864746093750 +141.090089283606 1510.582885742188 +141.112164115087 1395.173217773438 +141.957727661927 16172.547851562500 +147.090953742167 2593.000000000000 +149.022660175650 5113.270019531250 +149.042184219595 2270.130126953125 +151.095573062425 2291.701904296875 +151.109764648433 2508.697753906250 +155.069421770644 1304.007690429688 +155.105956399660 1556.186767578125 +155.973291029133 4647.000000000000 +158.153352334475 13909.827148437500 +159.156157365710 1453.476074218750 +160.049315575157 1807.000000000000 +161.095748922100 1676.696289062500 +164.141989249057 1365.831665039062 +170.095477046624 2501.143554687500 +171.138013785490 3982.982177734375 +172.134863309732 1431.708251953125 +173.080523810193 6956.130371093750 +174.991175918913 9969.217773437500 +176.988389097507 3050.117675781250 +177.054118074174 1458.434448242188 +178.157975354817 1551.791381835938 +179.106014386017 6976.000000000000 +182.960744773798 1855.346191406250 +182.979834217019 1800.970458984375 +186.220995397905 2442.000000000000 +194.116040015282 3148.000000000000 +195.104779764897 1691.220825195312 +195.121820949901 2158.996582031250 +198.184910946765 2078.562744140625 +217.106618021168 23378.933593750000 +218.110011440618 2630.000000000000 +219.095176701267 2434.000000000000 +228.195374276500 1663.423095703125 +235.168383933758 1236.068969726562 +236.166825939935 1254.000000000000 +239.088686366357 4311.829589843750 +242.284913917132 1324.000000000000 +246.862288674394 3536.000000000000 +249.184859994698 1408.000000000000 +250.178788935105 1421.692382812500 +250.999929283760 20029.000000000000 +252.003012365740 1411.418090820312 +252.997001503914 12765.000000000000 +254.993768386515 1938.000000000000 +260.980022779583 1808.000000000000 +267.171368540006 1448.377807617188 +277.200433490599 1660.000000000000 +279.093759730917 2119.000000000000 +281.051032806120 1483.000000000000 +291.237715025520 1241.364013671875 +292.121361150912 285183.000000000000 +293.123834428448 45555.277343750000 +294.118427695985 93122.570312500000 +295.120641413580 15470.696289062500 +296.123835906431 1561.000000000000 +313.039035562555 16422.000000000000 +314.041466363413 2766.000000000000 +315.036563511042 10824.000000000000 +316.039700661579 1830.000000000000 +317.034195270562 1773.448120117188 +321.226781744505 2044.000000000000 +327.008089983734 28336.265625000000 +328.011190071085 2858.514404296875 +329.005295881569 27689.000000000000 +330.008649187278 3052.000000000000 +331.002098826780 9057.932617187500 +333.003548365368 1609.000000000000 +335.018062590141 2124.000000000000 +339.950891675362 1270.914672851562 +339.994456530817 4579.000000000000 +348.990164564731 4627.000000000000 +350.986598107700 4290.000000000000 +372.065686169920 4230.000000000000 +374.062221925680 3509.000000000000 +376.059337391009 1282.000000000000 +392.047236888469 1599.000000000000 +395.069603447750 1690.000000000000 +397.066731969223 1427.000000000000 +428.928860183743 1238.358520507812 +430.887744920288 1367.548706054688 +445.120189406834 2253.000000000000 +505.852818670435 4262.000000000000 +506.855243935787 1464.000000000000 +522.879200969200 1903.639038085938 +529.890071522891 1483.417846679688 +536.164962577408 4542.000000000000 +537.166020159870 2688.000000000000 +538.164211996041 1760.000000000000 +544.339325990071 1415.000000000000 +546.913817544760 2912.000000000000 +547.914903230189 1254.000000000000 +610.183749066707 2160.000000000000 +611.183884033885 1283.000000000000 +645.156997893402 7650.000000000000 +646.160667456787 3315.000000000000 +647.154701516229 9174.000000000000 +648.157895170257 3104.000000000000 +649.152380094183 3397.000000000000 +673.045753694998 1272.428222656250 +>ms2peaks +##n_id sample=1 period=1 cycle=663 experiment=2 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=663 experiment=2_0 +##scan 49 +##specref ms_run[1]:sample=1 period=1 cycle=663 experiment=2 +69.070724544271 30.000000000000 +133.068999638192 30.000000000000 +192.175678549586 30.000000000000 +>compound 1_0-663004--51--UNKNOWN +>parentmass 370.001363664809 +>charge 1 +>rt 435.568999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1peaks +52.005966180500 2509.332031250000 +53.013507369873 14095.641601562500 +53.850970390711 1246.033935546875 +54.009372281497 342031.000000000000 +55.006163575275 5705.965820312500 +55.011387270805 6127.473144531250 +55.054184206823 1848.058593750000 +55.934334911976 6140.810546875000 +56.049690767818 1330.017089843750 +56.942074959092 2606.667480468750 +59.049518267006 56697.359375000000 +60.044566292185 9567.453125000000 +60.051796148101 5984.580078125000 +61.039393490257 1915.440551757812 +63.997909973617 3748.628417968750 +64.005283923938 4326.699218750000 +68.011628084817 27292.236328125000 +68.993816323075 12618.667968750000 +69.032897101129 1379.142456054688 +69.044540912933 13986.380859375000 +72.936558146637 2579.000000000000 +73.064228849484 1913.000000000000 +76.486180881623 2682.000244140625 +79.021000086474 14334.086914062500 +80.049089873152 11904.342773437500 +81.937137428830 9328.000000000000 +82.996717483329 9530.261718750000 +87.044278019735 1244.984619140625 +87.054474952312 1464.973510742188 +89.506620387415 1797.000000000000 +90.489369315210 1750.000000000000 +91.053371587935 1520.000000000000 +95.952544398364 2306.000000000000 +97.967985008693 7122.677246093750 +98.983597639133 2707.236572265625 +102.090693288494 2155.000000000000 +109.942639865272 1479.000000000000 +113.962988365185 2088.000000000000 +114.090715282838 10161.079101562500 +118.085459870469 7107.342285156250 +122.095676141264 3819.024658203125 +122.963182714449 11743.000000000000 +123.091076294906 1884.834838867188 +123.962710172625 1278.000000000000 +130.158549361780 1309.000000000000 +132.043510097675 6102.050781250000 +136.020884350350 1696.428710937500 +136.110913014003 1219.864746093750 +141.090089283606 1510.582885742188 +141.112164115087 1395.173217773438 +141.957727661927 16172.547851562500 +147.090953742167 2593.000000000000 +149.022660175650 5113.270019531250 +149.042184219595 2270.130126953125 +151.095573062425 2291.701904296875 +151.109764648433 2508.697753906250 +155.069421770644 1304.007690429688 +155.105956399660 1556.186767578125 +155.973291029133 4647.000000000000 +158.153352334475 13909.827148437500 +159.156157365710 1453.476074218750 +160.049315575157 1807.000000000000 +161.095748922100 1676.696289062500 +164.141989249057 1365.831665039062 +170.095477046624 2501.143554687500 +171.138013785490 3982.982177734375 +172.134863309732 1431.708251953125 +173.080523810193 6956.130371093750 +174.991175918913 9969.217773437500 +176.988389097507 3050.117675781250 +177.054118074174 1458.434448242188 +178.157975354817 1551.791381835938 +179.106014386017 6976.000000000000 +182.960744773798 1855.346191406250 +182.979834217019 1800.970458984375 +186.220995397905 2442.000000000000 +194.116040015282 3148.000000000000 +195.104779764897 1691.220825195312 +195.121820949901 2158.996582031250 +198.184910946765 2078.562744140625 +217.106618021168 23378.933593750000 +218.110011440618 2630.000000000000 +219.095176701267 2434.000000000000 +228.195374276500 1663.423095703125 +235.168383933758 1236.068969726562 +236.166825939935 1254.000000000000 +239.088686366357 4311.829589843750 +242.284913917132 1324.000000000000 +246.862288674394 3536.000000000000 +249.184859994698 1408.000000000000 +250.178788935105 1421.692382812500 +250.999929283760 20029.000000000000 +252.003012365740 1411.418090820312 +252.997001503914 12765.000000000000 +254.993768386515 1938.000000000000 +260.980022779583 1808.000000000000 +267.171368540006 1448.377807617188 +277.200433490599 1660.000000000000 +279.093759730917 2119.000000000000 +281.051032806120 1483.000000000000 +291.237715025520 1241.364013671875 +292.121361150912 285183.000000000000 +293.123834428448 45555.277343750000 +294.118427695985 93122.570312500000 +295.120641413580 15470.696289062500 +296.123835906431 1561.000000000000 +313.039035562555 16422.000000000000 +314.041466363413 2766.000000000000 +315.036563511042 10824.000000000000 +316.039700661579 1830.000000000000 +317.034195270562 1773.448120117188 +321.226781744505 2044.000000000000 +327.008089983734 28336.265625000000 +328.011190071085 2858.514404296875 +329.005295881569 27689.000000000000 +330.008649187278 3052.000000000000 +331.002098826780 9057.932617187500 +333.003548365368 1609.000000000000 +335.018062590141 2124.000000000000 +339.950891675362 1270.914672851562 +339.994456530817 4579.000000000000 +348.990164564731 4627.000000000000 +350.986598107700 4290.000000000000 +372.065686169920 4230.000000000000 +374.062221925680 3509.000000000000 +376.059337391009 1282.000000000000 +392.047236888469 1599.000000000000 +395.069603447750 1690.000000000000 +397.066731969223 1427.000000000000 +428.928860183743 1238.358520507812 +430.887744920288 1367.548706054688 +445.120189406834 2253.000000000000 +505.852818670435 4262.000000000000 +506.855243935787 1464.000000000000 +522.879200969200 1903.639038085938 +529.890071522891 1483.417846679688 +536.164962577408 4542.000000000000 +537.166020159870 2688.000000000000 +538.164211996041 1760.000000000000 +544.339325990071 1415.000000000000 +546.913817544760 2912.000000000000 +547.914903230189 1254.000000000000 +610.183749066707 2160.000000000000 +611.183884033885 1283.000000000000 +645.156997893402 7650.000000000000 +646.160667456787 3315.000000000000 +647.154701516229 9174.000000000000 +648.157895170257 3104.000000000000 +649.152380094183 3397.000000000000 +673.045753694998 1272.428222656250 +>ms2peaks +##n_id sample=1 period=1 cycle=663 experiment=4 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=663 experiment=4_0 +##scan 51 +##specref ms_run[1]:sample=1 period=1 cycle=663 experiment=4 +70.042034041168 13.000000000000 +132.040889110567 30.000000000000 +339.399913718878 13.000000000000 +>compound 1_0-663005--52--UNKNOWN +>parentmass 392.047236888469 +>charge 1 +>rt 435.568999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +392.047236888469 1599.000000000000 +>ms1peaks +52.005966180500 2509.332031250000 +53.013507369873 14095.641601562500 +53.850970390711 1246.033935546875 +54.009372281497 342031.000000000000 +55.006163575275 5705.965820312500 +55.011387270805 6127.473144531250 +55.054184206823 1848.058593750000 +55.934334911976 6140.810546875000 +56.049690767818 1330.017089843750 +56.942074959092 2606.667480468750 +59.049518267006 56697.359375000000 +60.044566292185 9567.453125000000 +60.051796148101 5984.580078125000 +61.039393490257 1915.440551757812 +63.997909973617 3748.628417968750 +64.005283923938 4326.699218750000 +68.011628084817 27292.236328125000 +68.993816323075 12618.667968750000 +69.032897101129 1379.142456054688 +69.044540912933 13986.380859375000 +72.936558146637 2579.000000000000 +73.064228849484 1913.000000000000 +76.486180881623 2682.000244140625 +79.021000086474 14334.086914062500 +80.049089873152 11904.342773437500 +81.937137428830 9328.000000000000 +82.996717483329 9530.261718750000 +87.044278019735 1244.984619140625 +87.054474952312 1464.973510742188 +89.506620387415 1797.000000000000 +90.489369315210 1750.000000000000 +91.053371587935 1520.000000000000 +95.952544398364 2306.000000000000 +97.967985008693 7122.677246093750 +98.983597639133 2707.236572265625 +102.090693288494 2155.000000000000 +109.942639865272 1479.000000000000 +113.962988365185 2088.000000000000 +114.090715282838 10161.079101562500 +118.085459870469 7107.342285156250 +122.095676141264 3819.024658203125 +122.963182714449 11743.000000000000 +123.091076294906 1884.834838867188 +123.962710172625 1278.000000000000 +130.158549361780 1309.000000000000 +132.043510097675 6102.050781250000 +136.020884350350 1696.428710937500 +136.110913014003 1219.864746093750 +141.090089283606 1510.582885742188 +141.112164115087 1395.173217773438 +141.957727661927 16172.547851562500 +147.090953742167 2593.000000000000 +149.022660175650 5113.270019531250 +149.042184219595 2270.130126953125 +151.095573062425 2291.701904296875 +151.109764648433 2508.697753906250 +155.069421770644 1304.007690429688 +155.105956399660 1556.186767578125 +155.973291029133 4647.000000000000 +158.153352334475 13909.827148437500 +159.156157365710 1453.476074218750 +160.049315575157 1807.000000000000 +161.095748922100 1676.696289062500 +164.141989249057 1365.831665039062 +170.095477046624 2501.143554687500 +171.138013785490 3982.982177734375 +172.134863309732 1431.708251953125 +173.080523810193 6956.130371093750 +174.991175918913 9969.217773437500 +176.988389097507 3050.117675781250 +177.054118074174 1458.434448242188 +178.157975354817 1551.791381835938 +179.106014386017 6976.000000000000 +182.960744773798 1855.346191406250 +182.979834217019 1800.970458984375 +186.220995397905 2442.000000000000 +194.116040015282 3148.000000000000 +195.104779764897 1691.220825195312 +195.121820949901 2158.996582031250 +198.184910946765 2078.562744140625 +217.106618021168 23378.933593750000 +218.110011440618 2630.000000000000 +219.095176701267 2434.000000000000 +228.195374276500 1663.423095703125 +235.168383933758 1236.068969726562 +236.166825939935 1254.000000000000 +239.088686366357 4311.829589843750 +242.284913917132 1324.000000000000 +246.862288674394 3536.000000000000 +249.184859994698 1408.000000000000 +250.178788935105 1421.692382812500 +250.999929283760 20029.000000000000 +252.003012365740 1411.418090820312 +252.997001503914 12765.000000000000 +254.993768386515 1938.000000000000 +260.980022779583 1808.000000000000 +267.171368540006 1448.377807617188 +277.200433490599 1660.000000000000 +279.093759730917 2119.000000000000 +281.051032806120 1483.000000000000 +291.237715025520 1241.364013671875 +292.121361150912 285183.000000000000 +293.123834428448 45555.277343750000 +294.118427695985 93122.570312500000 +295.120641413580 15470.696289062500 +296.123835906431 1561.000000000000 +313.039035562555 16422.000000000000 +314.041466363413 2766.000000000000 +315.036563511042 10824.000000000000 +316.039700661579 1830.000000000000 +317.034195270562 1773.448120117188 +321.226781744505 2044.000000000000 +327.008089983734 28336.265625000000 +328.011190071085 2858.514404296875 +329.005295881569 27689.000000000000 +330.008649187278 3052.000000000000 +331.002098826780 9057.932617187500 +333.003548365368 1609.000000000000 +335.018062590141 2124.000000000000 +339.950891675362 1270.914672851562 +339.994456530817 4579.000000000000 +348.990164564731 4627.000000000000 +350.986598107700 4290.000000000000 +372.065686169920 4230.000000000000 +374.062221925680 3509.000000000000 +376.059337391009 1282.000000000000 +392.047236888469 1599.000000000000 +395.069603447750 1690.000000000000 +397.066731969223 1427.000000000000 +428.928860183743 1238.358520507812 +430.887744920288 1367.548706054688 +445.120189406834 2253.000000000000 +505.852818670435 4262.000000000000 +506.855243935787 1464.000000000000 +522.879200969200 1903.639038085938 +529.890071522891 1483.417846679688 +536.164962577408 4542.000000000000 +537.166020159870 2688.000000000000 +538.164211996041 1760.000000000000 +544.339325990071 1415.000000000000 +546.913817544760 2912.000000000000 +547.914903230189 1254.000000000000 +610.183749066707 2160.000000000000 +611.183884033885 1283.000000000000 +645.156997893402 7650.000000000000 +646.160667456787 3315.000000000000 +647.154701516229 9174.000000000000 +648.157895170257 3104.000000000000 +649.152380094183 3397.000000000000 +673.045753694998 1272.428222656250 +>ms2peaks +##n_id sample=1 period=1 cycle=663 experiment=5 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=663 experiment=5_0 +##scan 52 +##specref ms_run[1]:sample=1 period=1 cycle=663 experiment=5 +196.944269665891 60.000000000000 +200.799302685752 30.000000000000 +287.109367638317 13.000000000000 +351.004463556543 45.000000000000 +>compound 1_0-663006--53--UNKNOWN +>parentmass 397.066731969223 +>charge 1 +>rt 435.568999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +397.066731969223 1427.000000000000 +>ms1peaks +52.005966180500 2509.332031250000 +53.013507369873 14095.641601562500 +53.850970390711 1246.033935546875 +54.009372281497 342031.000000000000 +55.006163575275 5705.965820312500 +55.011387270805 6127.473144531250 +55.054184206823 1848.058593750000 +55.934334911976 6140.810546875000 +56.049690767818 1330.017089843750 +56.942074959092 2606.667480468750 +59.049518267006 56697.359375000000 +60.044566292185 9567.453125000000 +60.051796148101 5984.580078125000 +61.039393490257 1915.440551757812 +63.997909973617 3748.628417968750 +64.005283923938 4326.699218750000 +68.011628084817 27292.236328125000 +68.993816323075 12618.667968750000 +69.032897101129 1379.142456054688 +69.044540912933 13986.380859375000 +72.936558146637 2579.000000000000 +73.064228849484 1913.000000000000 +76.486180881623 2682.000244140625 +79.021000086474 14334.086914062500 +80.049089873152 11904.342773437500 +81.937137428830 9328.000000000000 +82.996717483329 9530.261718750000 +87.044278019735 1244.984619140625 +87.054474952312 1464.973510742188 +89.506620387415 1797.000000000000 +90.489369315210 1750.000000000000 +91.053371587935 1520.000000000000 +95.952544398364 2306.000000000000 +97.967985008693 7122.677246093750 +98.983597639133 2707.236572265625 +102.090693288494 2155.000000000000 +109.942639865272 1479.000000000000 +113.962988365185 2088.000000000000 +114.090715282838 10161.079101562500 +118.085459870469 7107.342285156250 +122.095676141264 3819.024658203125 +122.963182714449 11743.000000000000 +123.091076294906 1884.834838867188 +123.962710172625 1278.000000000000 +130.158549361780 1309.000000000000 +132.043510097675 6102.050781250000 +136.020884350350 1696.428710937500 +136.110913014003 1219.864746093750 +141.090089283606 1510.582885742188 +141.112164115087 1395.173217773438 +141.957727661927 16172.547851562500 +147.090953742167 2593.000000000000 +149.022660175650 5113.270019531250 +149.042184219595 2270.130126953125 +151.095573062425 2291.701904296875 +151.109764648433 2508.697753906250 +155.069421770644 1304.007690429688 +155.105956399660 1556.186767578125 +155.973291029133 4647.000000000000 +158.153352334475 13909.827148437500 +159.156157365710 1453.476074218750 +160.049315575157 1807.000000000000 +161.095748922100 1676.696289062500 +164.141989249057 1365.831665039062 +170.095477046624 2501.143554687500 +171.138013785490 3982.982177734375 +172.134863309732 1431.708251953125 +173.080523810193 6956.130371093750 +174.991175918913 9969.217773437500 +176.988389097507 3050.117675781250 +177.054118074174 1458.434448242188 +178.157975354817 1551.791381835938 +179.106014386017 6976.000000000000 +182.960744773798 1855.346191406250 +182.979834217019 1800.970458984375 +186.220995397905 2442.000000000000 +194.116040015282 3148.000000000000 +195.104779764897 1691.220825195312 +195.121820949901 2158.996582031250 +198.184910946765 2078.562744140625 +217.106618021168 23378.933593750000 +218.110011440618 2630.000000000000 +219.095176701267 2434.000000000000 +228.195374276500 1663.423095703125 +235.168383933758 1236.068969726562 +236.166825939935 1254.000000000000 +239.088686366357 4311.829589843750 +242.284913917132 1324.000000000000 +246.862288674394 3536.000000000000 +249.184859994698 1408.000000000000 +250.178788935105 1421.692382812500 +250.999929283760 20029.000000000000 +252.003012365740 1411.418090820312 +252.997001503914 12765.000000000000 +254.993768386515 1938.000000000000 +260.980022779583 1808.000000000000 +267.171368540006 1448.377807617188 +277.200433490599 1660.000000000000 +279.093759730917 2119.000000000000 +281.051032806120 1483.000000000000 +291.237715025520 1241.364013671875 +292.121361150912 285183.000000000000 +293.123834428448 45555.277343750000 +294.118427695985 93122.570312500000 +295.120641413580 15470.696289062500 +296.123835906431 1561.000000000000 +313.039035562555 16422.000000000000 +314.041466363413 2766.000000000000 +315.036563511042 10824.000000000000 +316.039700661579 1830.000000000000 +317.034195270562 1773.448120117188 +321.226781744505 2044.000000000000 +327.008089983734 28336.265625000000 +328.011190071085 2858.514404296875 +329.005295881569 27689.000000000000 +330.008649187278 3052.000000000000 +331.002098826780 9057.932617187500 +333.003548365368 1609.000000000000 +335.018062590141 2124.000000000000 +339.950891675362 1270.914672851562 +339.994456530817 4579.000000000000 +348.990164564731 4627.000000000000 +350.986598107700 4290.000000000000 +372.065686169920 4230.000000000000 +374.062221925680 3509.000000000000 +376.059337391009 1282.000000000000 +392.047236888469 1599.000000000000 +395.069603447750 1690.000000000000 +397.066731969223 1427.000000000000 +428.928860183743 1238.358520507812 +430.887744920288 1367.548706054688 +445.120189406834 2253.000000000000 +505.852818670435 4262.000000000000 +506.855243935787 1464.000000000000 +522.879200969200 1903.639038085938 +529.890071522891 1483.417846679688 +536.164962577408 4542.000000000000 +537.166020159870 2688.000000000000 +538.164211996041 1760.000000000000 +544.339325990071 1415.000000000000 +546.913817544760 2912.000000000000 +547.914903230189 1254.000000000000 +610.183749066707 2160.000000000000 +611.183884033885 1283.000000000000 +645.156997893402 7650.000000000000 +646.160667456787 3315.000000000000 +647.154701516229 9174.000000000000 +648.157895170257 3104.000000000000 +649.152380094183 3397.000000000000 +673.045753694998 1272.428222656250 +>ms2peaks +##n_id sample=1 period=1 cycle=663 experiment=6 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=663 experiment=6_0 +##scan 53 +##specref ms_run[1]:sample=1 period=1 cycle=663 experiment=6 +69.044210683165 90.000000000000 +266.979525618837 45.000000000000 +268.995691760962 225.000000000000 +285.961374389564 45.000000000000 +295.975889045146 30.000000000000 +295.994659435108 30.000000000000 +338.029878392992 105.000000000000 +356.042561221922 150.000000000000 +>compound 1_0-663008--54--UNKNOWN +>parentmass 647.154701516229 +>charge 1 +>rt 435.568999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +647.154701516229 9174.000000000000 +648.157895170257 3104.000000000000 +>ms1peaks +52.005966180500 2509.332031250000 +53.013507369873 14095.641601562500 +53.850970390711 1246.033935546875 +54.009372281497 342031.000000000000 +55.006163575275 5705.965820312500 +55.011387270805 6127.473144531250 +55.054184206823 1848.058593750000 +55.934334911976 6140.810546875000 +56.049690767818 1330.017089843750 +56.942074959092 2606.667480468750 +59.049518267006 56697.359375000000 +60.044566292185 9567.453125000000 +60.051796148101 5984.580078125000 +61.039393490257 1915.440551757812 +63.997909973617 3748.628417968750 +64.005283923938 4326.699218750000 +68.011628084817 27292.236328125000 +68.993816323075 12618.667968750000 +69.032897101129 1379.142456054688 +69.044540912933 13986.380859375000 +72.936558146637 2579.000000000000 +73.064228849484 1913.000000000000 +76.486180881623 2682.000244140625 +79.021000086474 14334.086914062500 +80.049089873152 11904.342773437500 +81.937137428830 9328.000000000000 +82.996717483329 9530.261718750000 +87.044278019735 1244.984619140625 +87.054474952312 1464.973510742188 +89.506620387415 1797.000000000000 +90.489369315210 1750.000000000000 +91.053371587935 1520.000000000000 +95.952544398364 2306.000000000000 +97.967985008693 7122.677246093750 +98.983597639133 2707.236572265625 +102.090693288494 2155.000000000000 +109.942639865272 1479.000000000000 +113.962988365185 2088.000000000000 +114.090715282838 10161.079101562500 +118.085459870469 7107.342285156250 +122.095676141264 3819.024658203125 +122.963182714449 11743.000000000000 +123.091076294906 1884.834838867188 +123.962710172625 1278.000000000000 +130.158549361780 1309.000000000000 +132.043510097675 6102.050781250000 +136.020884350350 1696.428710937500 +136.110913014003 1219.864746093750 +141.090089283606 1510.582885742188 +141.112164115087 1395.173217773438 +141.957727661927 16172.547851562500 +147.090953742167 2593.000000000000 +149.022660175650 5113.270019531250 +149.042184219595 2270.130126953125 +151.095573062425 2291.701904296875 +151.109764648433 2508.697753906250 +155.069421770644 1304.007690429688 +155.105956399660 1556.186767578125 +155.973291029133 4647.000000000000 +158.153352334475 13909.827148437500 +159.156157365710 1453.476074218750 +160.049315575157 1807.000000000000 +161.095748922100 1676.696289062500 +164.141989249057 1365.831665039062 +170.095477046624 2501.143554687500 +171.138013785490 3982.982177734375 +172.134863309732 1431.708251953125 +173.080523810193 6956.130371093750 +174.991175918913 9969.217773437500 +176.988389097507 3050.117675781250 +177.054118074174 1458.434448242188 +178.157975354817 1551.791381835938 +179.106014386017 6976.000000000000 +182.960744773798 1855.346191406250 +182.979834217019 1800.970458984375 +186.220995397905 2442.000000000000 +194.116040015282 3148.000000000000 +195.104779764897 1691.220825195312 +195.121820949901 2158.996582031250 +198.184910946765 2078.562744140625 +217.106618021168 23378.933593750000 +218.110011440618 2630.000000000000 +219.095176701267 2434.000000000000 +228.195374276500 1663.423095703125 +235.168383933758 1236.068969726562 +236.166825939935 1254.000000000000 +239.088686366357 4311.829589843750 +242.284913917132 1324.000000000000 +246.862288674394 3536.000000000000 +249.184859994698 1408.000000000000 +250.178788935105 1421.692382812500 +250.999929283760 20029.000000000000 +252.003012365740 1411.418090820312 +252.997001503914 12765.000000000000 +254.993768386515 1938.000000000000 +260.980022779583 1808.000000000000 +267.171368540006 1448.377807617188 +277.200433490599 1660.000000000000 +279.093759730917 2119.000000000000 +281.051032806120 1483.000000000000 +291.237715025520 1241.364013671875 +292.121361150912 285183.000000000000 +293.123834428448 45555.277343750000 +294.118427695985 93122.570312500000 +295.120641413580 15470.696289062500 +296.123835906431 1561.000000000000 +313.039035562555 16422.000000000000 +314.041466363413 2766.000000000000 +315.036563511042 10824.000000000000 +316.039700661579 1830.000000000000 +317.034195270562 1773.448120117188 +321.226781744505 2044.000000000000 +327.008089983734 28336.265625000000 +328.011190071085 2858.514404296875 +329.005295881569 27689.000000000000 +330.008649187278 3052.000000000000 +331.002098826780 9057.932617187500 +333.003548365368 1609.000000000000 +335.018062590141 2124.000000000000 +339.950891675362 1270.914672851562 +339.994456530817 4579.000000000000 +348.990164564731 4627.000000000000 +350.986598107700 4290.000000000000 +372.065686169920 4230.000000000000 +374.062221925680 3509.000000000000 +376.059337391009 1282.000000000000 +392.047236888469 1599.000000000000 +395.069603447750 1690.000000000000 +397.066731969223 1427.000000000000 +428.928860183743 1238.358520507812 +430.887744920288 1367.548706054688 +445.120189406834 2253.000000000000 +505.852818670435 4262.000000000000 +506.855243935787 1464.000000000000 +522.879200969200 1903.639038085938 +529.890071522891 1483.417846679688 +536.164962577408 4542.000000000000 +537.166020159870 2688.000000000000 +538.164211996041 1760.000000000000 +544.339325990071 1415.000000000000 +546.913817544760 2912.000000000000 +547.914903230189 1254.000000000000 +610.183749066707 2160.000000000000 +611.183884033885 1283.000000000000 +645.156997893402 7650.000000000000 +646.160667456787 3315.000000000000 +647.154701516229 9174.000000000000 +648.157895170257 3104.000000000000 +649.152380094183 3397.000000000000 +673.045753694998 1272.428222656250 +>ms2peaks +##n_id sample=1 period=1 cycle=663 experiment=8 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=663 experiment=8_0 +##scan 54 +##specref ms_run[1]:sample=1 period=1 cycle=663 experiment=8 +87.042604806507 6.000000000000 +131.960313200227 16.000000000000 +182.998385323593 16.000000000000 +203.062682391390 16.000000000000 +267.001132312198 55.000000000000 +268.994985449502 85.000000000000 +283.968166163393 61.410400390625 +284.002728908626 24.000000000000 +285.966803188608 39.000000000000 +287.004875040927 24.000000000000 +288.067313817794 6.000000000000 +311.973125923276 16.000000000000 +319.207305453989 6.000000000000 +335.010188654904 39.000000000000 +336.035209531649 123.000000000000 +337.570253630194 6.000000000000 +338.030185182611 361.000000000000 +354.042602342376 591.000000000000 +355.040735501216 78.000000000000 +356.041143627300 1389.000000000000 +647.154276158968 374.000000000000 +>compound 1_0-664002--56--UNKNOWN +>parentmass 252.996924958467 +>charge 1 +>rt 436.497000000000 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +252.996924958467 20204.000000000000 +>ms1peaks +52.005453969998 2626.723144531250 +53.013597312446 12728.553710937500 +53.850414409821 1250.853881835938 +54.009329210909 348334.937500000000 +55.006062122532 5392.668457031250 +55.011342055713 6236.111816406250 +55.054021350211 1869.273437500000 +55.934286374440 6315.563964843750 +56.941831842622 2597.011962890625 +59.049520241177 68985.562500000000 +60.044238693811 9277.411132812500 +60.051306561624 7152.463378906250 +61.039638104919 1556.488891601562 +63.997844257749 4543.386718750000 +64.004868648059 4706.500976562500 +68.011536869512 28038.335937500000 +68.993647464953 12595.196289062500 +69.044515645070 12865.375976562500 +72.936647087938 2567.000000000000 +73.064121365067 1769.925781250000 +76.486182586418 2785.377929687500 +79.020888115541 15628.571289062500 +80.049060365715 12153.072265625000 +81.936978966817 8495.000000000000 +82.996309100211 9038.668945312500 +87.043494139885 1178.190917968750 +87.054319172330 1546.054443359375 +89.506956806916 1559.000000000000 +90.488703688296 1817.000000000000 +91.053777911785 1528.745483398438 +95.952341177386 2260.741210937500 +97.968210936145 7024.000000000000 +98.983399057372 5034.887695312500 +100.075304888654 1243.000000000000 +102.090957068479 1525.000000000000 +109.943109012828 1320.928710937500 +113.962992754591 2498.000000000000 +114.090728474154 10512.617187500000 +118.085470631803 6601.458007812500 +122.095607083049 3712.721679687500 +122.962888411087 10607.500976562500 +123.091509718457 1686.104614257812 +132.043186178558 2464.123291015625 +136.020620151667 1645.000000000000 +140.067164786600 1314.000000000000 +141.089863109573 1272.675292968750 +141.111890586678 1562.626220703125 +141.957557081223 15988.394531250000 +147.090173997086 2431.000000000000 +149.022336160605 4523.349121093750 +149.043636850784 1223.066040039062 +151.095789721496 2301.788818359375 +151.111113393103 2538.584228515625 +155.069111807472 1549.374267578125 +155.105759874764 1515.979370117188 +155.973112787773 4487.000000000000 +158.153378740203 12758.589843750000 +159.156448385204 1328.413452148438 +161.095542076597 1436.000000000000 +164.142018358830 1273.736083984375 +170.095175686942 2849.232421875000 +171.138207188731 2555.000000000000 +172.133475837479 1266.057739257812 +173.079557051502 6304.225097656250 +174.991247355031 15122.000000000000 +176.988586706089 4881.000000000000 +178.158242399689 1403.950073242188 +179.105412805866 3814.716552734375 +182.960601426951 1842.280639648438 +182.982966835265 1410.150146484375 +186.220883153188 1802.000000000000 +194.115976643286 3119.000000000000 +195.102214753451 1498.057617187500 +195.120897037407 1858.993774414062 +198.184171488074 2116.000000000000 +217.106332787106 21497.787109375000 +218.109128733639 2613.000000000000 +219.095226750847 2102.304443359375 +224.127626531368 1175.000000000000 +228.195317705032 1672.133422851562 +239.088374855672 3685.309814453125 +242.283185310790 1468.000000000000 +246.860952738993 3049.000000000000 +249.183720846634 1286.295654296875 +250.177140311956 1205.756591796875 +250.999832075601 32001.000000000000 +252.002106420824 2157.000000000000 +252.996924958467 20204.000000000000 +253.999797691244 1411.000000000000 +254.993496356863 3401.000000000000 +279.092906188567 2036.000000000000 +286.179288894577 8400.000000000000 +287.181689656808 1994.078002929688 +287.217541902151 1349.643310546875 +291.235948805059 1485.048828125000 +292.122314491142 439122.000000000000 +292.983059595137 1438.034667968750 +293.122671084767 47692.136718750000 +294.118451514065 133013.562500000000 +295.120454982262 22502.744140625000 +296.122607984390 2357.932373046875 +313.039105768504 33266.000000000000 +314.042149111497 5168.000000000000 +315.036268416268 21007.242187500000 +316.038403197349 3302.000000000000 +317.033014483539 3862.000000000000 +321.227057921370 1381.000000000000 +327.007877449001 47611.566406250000 +328.011115186819 4973.000000000000 +329.004794999861 46547.000000000000 +330.008005603352 4737.000000000000 +331.001868162022 15538.000000000000 +332.004876313775 1480.000000000000 +333.003299668985 2744.071777343750 +335.018886982057 3585.000000000000 +337.016084576435 2205.000000000000 +339.994390073568 1754.000000000000 +348.988792788967 6573.000000000000 +350.986916484867 6721.000000000000 +352.984603835989 2083.000000000000 +354.041095041215 1340.092163085938 +356.039619641072 1269.081298828125 +372.065048824891 6209.586914062500 +374.062468004687 6086.000000000000 +376.059148229590 1968.000000000000 +392.045330940334 2193.000000000000 +395.067648242738 2230.000000000000 +397.066134815272 1581.000000000000 +426.930515343123 1306.000000000000 +426.976513054277 1169.811889648438 +428.927149366436 1298.000000000000 +430.886640350010 1403.000000000000 +445.118913900930 2269.000000000000 +491.969645058197 1379.000000000000 +505.851389825487 3789.000000000000 +522.878326149515 1800.000000000000 +536.163456762234 4427.000000000000 +537.165324404735 2206.000000000000 +538.161529742511 1590.843383789062 +544.337468455008 1195.000000000000 +546.914116937371 2559.000000000000 +547.911876414748 1196.000000000000 +610.180850219782 2080.000000000000 +611.182328195703 1214.000000000000 +645.154717656738 8484.000000000000 +646.158700037782 2782.000000000000 +647.152980374288 9942.000000000000 +648.155555240546 3294.000000000000 +649.150621117204 4284.000000000000 +650.152709955400 1200.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=664 experiment=2 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=664 experiment=2_0 +##scan 56 +##specref ms_run[1]:sample=1 period=1 cycle=664 experiment=2 +77.016502900895 13.000000000000 +80.972489743235 60.000000000000 +98.982807445197 119.581855773926 +98.994196748779 104.889022827148 +142.078711904369 13.000000000000 +>compound 1_0-664005--59--UNKNOWN +>parentmass 330.008005603352 +>charge 1 +>rt 436.497000000000 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +330.008005603352 4737.000000000000 +>ms1peaks +52.005453969998 2626.723144531250 +53.013597312446 12728.553710937500 +53.850414409821 1250.853881835938 +54.009329210909 348334.937500000000 +55.006062122532 5392.668457031250 +55.011342055713 6236.111816406250 +55.054021350211 1869.273437500000 +55.934286374440 6315.563964843750 +56.941831842622 2597.011962890625 +59.049520241177 68985.562500000000 +60.044238693811 9277.411132812500 +60.051306561624 7152.463378906250 +61.039638104919 1556.488891601562 +63.997844257749 4543.386718750000 +64.004868648059 4706.500976562500 +68.011536869512 28038.335937500000 +68.993647464953 12595.196289062500 +69.044515645070 12865.375976562500 +72.936647087938 2567.000000000000 +73.064121365067 1769.925781250000 +76.486182586418 2785.377929687500 +79.020888115541 15628.571289062500 +80.049060365715 12153.072265625000 +81.936978966817 8495.000000000000 +82.996309100211 9038.668945312500 +87.043494139885 1178.190917968750 +87.054319172330 1546.054443359375 +89.506956806916 1559.000000000000 +90.488703688296 1817.000000000000 +91.053777911785 1528.745483398438 +95.952341177386 2260.741210937500 +97.968210936145 7024.000000000000 +98.983399057372 5034.887695312500 +100.075304888654 1243.000000000000 +102.090957068479 1525.000000000000 +109.943109012828 1320.928710937500 +113.962992754591 2498.000000000000 +114.090728474154 10512.617187500000 +118.085470631803 6601.458007812500 +122.095607083049 3712.721679687500 +122.962888411087 10607.500976562500 +123.091509718457 1686.104614257812 +132.043186178558 2464.123291015625 +136.020620151667 1645.000000000000 +140.067164786600 1314.000000000000 +141.089863109573 1272.675292968750 +141.111890586678 1562.626220703125 +141.957557081223 15988.394531250000 +147.090173997086 2431.000000000000 +149.022336160605 4523.349121093750 +149.043636850784 1223.066040039062 +151.095789721496 2301.788818359375 +151.111113393103 2538.584228515625 +155.069111807472 1549.374267578125 +155.105759874764 1515.979370117188 +155.973112787773 4487.000000000000 +158.153378740203 12758.589843750000 +159.156448385204 1328.413452148438 +161.095542076597 1436.000000000000 +164.142018358830 1273.736083984375 +170.095175686942 2849.232421875000 +171.138207188731 2555.000000000000 +172.133475837479 1266.057739257812 +173.079557051502 6304.225097656250 +174.991247355031 15122.000000000000 +176.988586706089 4881.000000000000 +178.158242399689 1403.950073242188 +179.105412805866 3814.716552734375 +182.960601426951 1842.280639648438 +182.982966835265 1410.150146484375 +186.220883153188 1802.000000000000 +194.115976643286 3119.000000000000 +195.102214753451 1498.057617187500 +195.120897037407 1858.993774414062 +198.184171488074 2116.000000000000 +217.106332787106 21497.787109375000 +218.109128733639 2613.000000000000 +219.095226750847 2102.304443359375 +224.127626531368 1175.000000000000 +228.195317705032 1672.133422851562 +239.088374855672 3685.309814453125 +242.283185310790 1468.000000000000 +246.860952738993 3049.000000000000 +249.183720846634 1286.295654296875 +250.177140311956 1205.756591796875 +250.999832075601 32001.000000000000 +252.002106420824 2157.000000000000 +252.996924958467 20204.000000000000 +253.999797691244 1411.000000000000 +254.993496356863 3401.000000000000 +279.092906188567 2036.000000000000 +286.179288894577 8400.000000000000 +287.181689656808 1994.078002929688 +287.217541902151 1349.643310546875 +291.235948805059 1485.048828125000 +292.122314491142 439122.000000000000 +292.983059595137 1438.034667968750 +293.122671084767 47692.136718750000 +294.118451514065 133013.562500000000 +295.120454982262 22502.744140625000 +296.122607984390 2357.932373046875 +313.039105768504 33266.000000000000 +314.042149111497 5168.000000000000 +315.036268416268 21007.242187500000 +316.038403197349 3302.000000000000 +317.033014483539 3862.000000000000 +321.227057921370 1381.000000000000 +327.007877449001 47611.566406250000 +328.011115186819 4973.000000000000 +329.004794999861 46547.000000000000 +330.008005603352 4737.000000000000 +331.001868162022 15538.000000000000 +332.004876313775 1480.000000000000 +333.003299668985 2744.071777343750 +335.018886982057 3585.000000000000 +337.016084576435 2205.000000000000 +339.994390073568 1754.000000000000 +348.988792788967 6573.000000000000 +350.986916484867 6721.000000000000 +352.984603835989 2083.000000000000 +354.041095041215 1340.092163085938 +356.039619641072 1269.081298828125 +372.065048824891 6209.586914062500 +374.062468004687 6086.000000000000 +376.059148229590 1968.000000000000 +392.045330940334 2193.000000000000 +395.067648242738 2230.000000000000 +397.066134815272 1581.000000000000 +426.930515343123 1306.000000000000 +426.976513054277 1169.811889648438 +428.927149366436 1298.000000000000 +430.886640350010 1403.000000000000 +445.118913900930 2269.000000000000 +491.969645058197 1379.000000000000 +505.851389825487 3789.000000000000 +522.878326149515 1800.000000000000 +536.163456762234 4427.000000000000 +537.165324404735 2206.000000000000 +538.161529742511 1590.843383789062 +544.337468455008 1195.000000000000 +546.914116937371 2559.000000000000 +547.911876414748 1196.000000000000 +610.180850219782 2080.000000000000 +611.182328195703 1214.000000000000 +645.154717656738 8484.000000000000 +646.158700037782 2782.000000000000 +647.152980374288 9942.000000000000 +648.155555240546 3294.000000000000 +649.150621117204 4284.000000000000 +650.152709955400 1200.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=664 experiment=5 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=664 experiment=5_0 +##scan 59 +##specref ms_run[1]:sample=1 period=1 cycle=664 experiment=5 +62.963991045889 30.000000000000 +77.038213536939 13.000000000000 +80.975112258593 90.000000000000 +98.690297785460 15.000000000000 +98.712674960752 15.000000000000 +98.983624368216 1012.000000000000 +156.961371587084 75.000000000000 +158.977394491418 75.000000000000 +175.997787043806 30.000000000000 +176.998252677535 13.000000000000 +178.077227276091 13.000000000000 +184.954342963985 60.000000000000 +212.954269258896 75.000000000000 +212.976131237305 60.000000000000 +228.493454690255 13.000000000000 +230.962609451045 60.000000000000 +295.027307056200 105.000000000000 +313.044657222614 60.000000000000 +>compound 1_0-664007--61--UNKNOWN +>parentmass 428.927149366436 +>charge 1 +>rt 436.497000000000 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +428.927149366436 1298.000000000000 +>ms1peaks +52.005453969998 2626.723144531250 +53.013597312446 12728.553710937500 +53.850414409821 1250.853881835938 +54.009329210909 348334.937500000000 +55.006062122532 5392.668457031250 +55.011342055713 6236.111816406250 +55.054021350211 1869.273437500000 +55.934286374440 6315.563964843750 +56.941831842622 2597.011962890625 +59.049520241177 68985.562500000000 +60.044238693811 9277.411132812500 +60.051306561624 7152.463378906250 +61.039638104919 1556.488891601562 +63.997844257749 4543.386718750000 +64.004868648059 4706.500976562500 +68.011536869512 28038.335937500000 +68.993647464953 12595.196289062500 +69.044515645070 12865.375976562500 +72.936647087938 2567.000000000000 +73.064121365067 1769.925781250000 +76.486182586418 2785.377929687500 +79.020888115541 15628.571289062500 +80.049060365715 12153.072265625000 +81.936978966817 8495.000000000000 +82.996309100211 9038.668945312500 +87.043494139885 1178.190917968750 +87.054319172330 1546.054443359375 +89.506956806916 1559.000000000000 +90.488703688296 1817.000000000000 +91.053777911785 1528.745483398438 +95.952341177386 2260.741210937500 +97.968210936145 7024.000000000000 +98.983399057372 5034.887695312500 +100.075304888654 1243.000000000000 +102.090957068479 1525.000000000000 +109.943109012828 1320.928710937500 +113.962992754591 2498.000000000000 +114.090728474154 10512.617187500000 +118.085470631803 6601.458007812500 +122.095607083049 3712.721679687500 +122.962888411087 10607.500976562500 +123.091509718457 1686.104614257812 +132.043186178558 2464.123291015625 +136.020620151667 1645.000000000000 +140.067164786600 1314.000000000000 +141.089863109573 1272.675292968750 +141.111890586678 1562.626220703125 +141.957557081223 15988.394531250000 +147.090173997086 2431.000000000000 +149.022336160605 4523.349121093750 +149.043636850784 1223.066040039062 +151.095789721496 2301.788818359375 +151.111113393103 2538.584228515625 +155.069111807472 1549.374267578125 +155.105759874764 1515.979370117188 +155.973112787773 4487.000000000000 +158.153378740203 12758.589843750000 +159.156448385204 1328.413452148438 +161.095542076597 1436.000000000000 +164.142018358830 1273.736083984375 +170.095175686942 2849.232421875000 +171.138207188731 2555.000000000000 +172.133475837479 1266.057739257812 +173.079557051502 6304.225097656250 +174.991247355031 15122.000000000000 +176.988586706089 4881.000000000000 +178.158242399689 1403.950073242188 +179.105412805866 3814.716552734375 +182.960601426951 1842.280639648438 +182.982966835265 1410.150146484375 +186.220883153188 1802.000000000000 +194.115976643286 3119.000000000000 +195.102214753451 1498.057617187500 +195.120897037407 1858.993774414062 +198.184171488074 2116.000000000000 +217.106332787106 21497.787109375000 +218.109128733639 2613.000000000000 +219.095226750847 2102.304443359375 +224.127626531368 1175.000000000000 +228.195317705032 1672.133422851562 +239.088374855672 3685.309814453125 +242.283185310790 1468.000000000000 +246.860952738993 3049.000000000000 +249.183720846634 1286.295654296875 +250.177140311956 1205.756591796875 +250.999832075601 32001.000000000000 +252.002106420824 2157.000000000000 +252.996924958467 20204.000000000000 +253.999797691244 1411.000000000000 +254.993496356863 3401.000000000000 +279.092906188567 2036.000000000000 +286.179288894577 8400.000000000000 +287.181689656808 1994.078002929688 +287.217541902151 1349.643310546875 +291.235948805059 1485.048828125000 +292.122314491142 439122.000000000000 +292.983059595137 1438.034667968750 +293.122671084767 47692.136718750000 +294.118451514065 133013.562500000000 +295.120454982262 22502.744140625000 +296.122607984390 2357.932373046875 +313.039105768504 33266.000000000000 +314.042149111497 5168.000000000000 +315.036268416268 21007.242187500000 +316.038403197349 3302.000000000000 +317.033014483539 3862.000000000000 +321.227057921370 1381.000000000000 +327.007877449001 47611.566406250000 +328.011115186819 4973.000000000000 +329.004794999861 46547.000000000000 +330.008005603352 4737.000000000000 +331.001868162022 15538.000000000000 +332.004876313775 1480.000000000000 +333.003299668985 2744.071777343750 +335.018886982057 3585.000000000000 +337.016084576435 2205.000000000000 +339.994390073568 1754.000000000000 +348.988792788967 6573.000000000000 +350.986916484867 6721.000000000000 +352.984603835989 2083.000000000000 +354.041095041215 1340.092163085938 +356.039619641072 1269.081298828125 +372.065048824891 6209.586914062500 +374.062468004687 6086.000000000000 +376.059148229590 1968.000000000000 +392.045330940334 2193.000000000000 +395.067648242738 2230.000000000000 +397.066134815272 1581.000000000000 +426.930515343123 1306.000000000000 +426.976513054277 1169.811889648438 +428.927149366436 1298.000000000000 +430.886640350010 1403.000000000000 +445.118913900930 2269.000000000000 +491.969645058197 1379.000000000000 +505.851389825487 3789.000000000000 +522.878326149515 1800.000000000000 +536.163456762234 4427.000000000000 +537.165324404735 2206.000000000000 +538.161529742511 1590.843383789062 +544.337468455008 1195.000000000000 +546.914116937371 2559.000000000000 +547.911876414748 1196.000000000000 +610.180850219782 2080.000000000000 +611.182328195703 1214.000000000000 +645.154717656738 8484.000000000000 +646.158700037782 2782.000000000000 +647.152980374288 9942.000000000000 +648.155555240546 3294.000000000000 +649.150621117204 4284.000000000000 +650.152709955400 1200.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=664 experiment=7 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=664 experiment=7_0 +##scan 61 +##specref ms_run[1]:sample=1 period=1 cycle=664 experiment=7 +98.986556629867 13.000000000000 +133.075811737643 13.000000000000 +208.949278139608 30.000000000000 +>compound 1_0-664008--62--UNKNOWN +>parentmass 491.969645058197 +>charge 1 +>rt 436.497000000000 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +491.969645058197 1379.000000000000 +>ms1peaks +52.005453969998 2626.723144531250 +53.013597312446 12728.553710937500 +53.850414409821 1250.853881835938 +54.009329210909 348334.937500000000 +55.006062122532 5392.668457031250 +55.011342055713 6236.111816406250 +55.054021350211 1869.273437500000 +55.934286374440 6315.563964843750 +56.941831842622 2597.011962890625 +59.049520241177 68985.562500000000 +60.044238693811 9277.411132812500 +60.051306561624 7152.463378906250 +61.039638104919 1556.488891601562 +63.997844257749 4543.386718750000 +64.004868648059 4706.500976562500 +68.011536869512 28038.335937500000 +68.993647464953 12595.196289062500 +69.044515645070 12865.375976562500 +72.936647087938 2567.000000000000 +73.064121365067 1769.925781250000 +76.486182586418 2785.377929687500 +79.020888115541 15628.571289062500 +80.049060365715 12153.072265625000 +81.936978966817 8495.000000000000 +82.996309100211 9038.668945312500 +87.043494139885 1178.190917968750 +87.054319172330 1546.054443359375 +89.506956806916 1559.000000000000 +90.488703688296 1817.000000000000 +91.053777911785 1528.745483398438 +95.952341177386 2260.741210937500 +97.968210936145 7024.000000000000 +98.983399057372 5034.887695312500 +100.075304888654 1243.000000000000 +102.090957068479 1525.000000000000 +109.943109012828 1320.928710937500 +113.962992754591 2498.000000000000 +114.090728474154 10512.617187500000 +118.085470631803 6601.458007812500 +122.095607083049 3712.721679687500 +122.962888411087 10607.500976562500 +123.091509718457 1686.104614257812 +132.043186178558 2464.123291015625 +136.020620151667 1645.000000000000 +140.067164786600 1314.000000000000 +141.089863109573 1272.675292968750 +141.111890586678 1562.626220703125 +141.957557081223 15988.394531250000 +147.090173997086 2431.000000000000 +149.022336160605 4523.349121093750 +149.043636850784 1223.066040039062 +151.095789721496 2301.788818359375 +151.111113393103 2538.584228515625 +155.069111807472 1549.374267578125 +155.105759874764 1515.979370117188 +155.973112787773 4487.000000000000 +158.153378740203 12758.589843750000 +159.156448385204 1328.413452148438 +161.095542076597 1436.000000000000 +164.142018358830 1273.736083984375 +170.095175686942 2849.232421875000 +171.138207188731 2555.000000000000 +172.133475837479 1266.057739257812 +173.079557051502 6304.225097656250 +174.991247355031 15122.000000000000 +176.988586706089 4881.000000000000 +178.158242399689 1403.950073242188 +179.105412805866 3814.716552734375 +182.960601426951 1842.280639648438 +182.982966835265 1410.150146484375 +186.220883153188 1802.000000000000 +194.115976643286 3119.000000000000 +195.102214753451 1498.057617187500 +195.120897037407 1858.993774414062 +198.184171488074 2116.000000000000 +217.106332787106 21497.787109375000 +218.109128733639 2613.000000000000 +219.095226750847 2102.304443359375 +224.127626531368 1175.000000000000 +228.195317705032 1672.133422851562 +239.088374855672 3685.309814453125 +242.283185310790 1468.000000000000 +246.860952738993 3049.000000000000 +249.183720846634 1286.295654296875 +250.177140311956 1205.756591796875 +250.999832075601 32001.000000000000 +252.002106420824 2157.000000000000 +252.996924958467 20204.000000000000 +253.999797691244 1411.000000000000 +254.993496356863 3401.000000000000 +279.092906188567 2036.000000000000 +286.179288894577 8400.000000000000 +287.181689656808 1994.078002929688 +287.217541902151 1349.643310546875 +291.235948805059 1485.048828125000 +292.122314491142 439122.000000000000 +292.983059595137 1438.034667968750 +293.122671084767 47692.136718750000 +294.118451514065 133013.562500000000 +295.120454982262 22502.744140625000 +296.122607984390 2357.932373046875 +313.039105768504 33266.000000000000 +314.042149111497 5168.000000000000 +315.036268416268 21007.242187500000 +316.038403197349 3302.000000000000 +317.033014483539 3862.000000000000 +321.227057921370 1381.000000000000 +327.007877449001 47611.566406250000 +328.011115186819 4973.000000000000 +329.004794999861 46547.000000000000 +330.008005603352 4737.000000000000 +331.001868162022 15538.000000000000 +332.004876313775 1480.000000000000 +333.003299668985 2744.071777343750 +335.018886982057 3585.000000000000 +337.016084576435 2205.000000000000 +339.994390073568 1754.000000000000 +348.988792788967 6573.000000000000 +350.986916484867 6721.000000000000 +352.984603835989 2083.000000000000 +354.041095041215 1340.092163085938 +356.039619641072 1269.081298828125 +372.065048824891 6209.586914062500 +374.062468004687 6086.000000000000 +376.059148229590 1968.000000000000 +392.045330940334 2193.000000000000 +395.067648242738 2230.000000000000 +397.066134815272 1581.000000000000 +426.930515343123 1306.000000000000 +426.976513054277 1169.811889648438 +428.927149366436 1298.000000000000 +430.886640350010 1403.000000000000 +445.118913900930 2269.000000000000 +491.969645058197 1379.000000000000 +505.851389825487 3789.000000000000 +522.878326149515 1800.000000000000 +536.163456762234 4427.000000000000 +537.165324404735 2206.000000000000 +538.161529742511 1590.843383789062 +544.337468455008 1195.000000000000 +546.914116937371 2559.000000000000 +547.911876414748 1196.000000000000 +610.180850219782 2080.000000000000 +611.182328195703 1214.000000000000 +645.154717656738 8484.000000000000 +646.158700037782 2782.000000000000 +647.152980374288 9942.000000000000 +648.155555240546 3294.000000000000 +649.150621117204 4284.000000000000 +650.152709955400 1200.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=664 experiment=8 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=664 experiment=8_0 +##scan 62 +##specref ms_run[1]:sample=1 period=1 cycle=664 experiment=8 +240.827061170975 13.000000000000 +>compound 1_0-664009--63--UNKNOWN +>parentmass 647.152980374288 +>charge 1 +>rt 436.497000000000 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +647.152980374288 9942.000000000000 +>ms1peaks +52.005453969998 2626.723144531250 +53.013597312446 12728.553710937500 +53.850414409821 1250.853881835938 +54.009329210909 348334.937500000000 +55.006062122532 5392.668457031250 +55.011342055713 6236.111816406250 +55.054021350211 1869.273437500000 +55.934286374440 6315.563964843750 +56.941831842622 2597.011962890625 +59.049520241177 68985.562500000000 +60.044238693811 9277.411132812500 +60.051306561624 7152.463378906250 +61.039638104919 1556.488891601562 +63.997844257749 4543.386718750000 +64.004868648059 4706.500976562500 +68.011536869512 28038.335937500000 +68.993647464953 12595.196289062500 +69.044515645070 12865.375976562500 +72.936647087938 2567.000000000000 +73.064121365067 1769.925781250000 +76.486182586418 2785.377929687500 +79.020888115541 15628.571289062500 +80.049060365715 12153.072265625000 +81.936978966817 8495.000000000000 +82.996309100211 9038.668945312500 +87.043494139885 1178.190917968750 +87.054319172330 1546.054443359375 +89.506956806916 1559.000000000000 +90.488703688296 1817.000000000000 +91.053777911785 1528.745483398438 +95.952341177386 2260.741210937500 +97.968210936145 7024.000000000000 +98.983399057372 5034.887695312500 +100.075304888654 1243.000000000000 +102.090957068479 1525.000000000000 +109.943109012828 1320.928710937500 +113.962992754591 2498.000000000000 +114.090728474154 10512.617187500000 +118.085470631803 6601.458007812500 +122.095607083049 3712.721679687500 +122.962888411087 10607.500976562500 +123.091509718457 1686.104614257812 +132.043186178558 2464.123291015625 +136.020620151667 1645.000000000000 +140.067164786600 1314.000000000000 +141.089863109573 1272.675292968750 +141.111890586678 1562.626220703125 +141.957557081223 15988.394531250000 +147.090173997086 2431.000000000000 +149.022336160605 4523.349121093750 +149.043636850784 1223.066040039062 +151.095789721496 2301.788818359375 +151.111113393103 2538.584228515625 +155.069111807472 1549.374267578125 +155.105759874764 1515.979370117188 +155.973112787773 4487.000000000000 +158.153378740203 12758.589843750000 +159.156448385204 1328.413452148438 +161.095542076597 1436.000000000000 +164.142018358830 1273.736083984375 +170.095175686942 2849.232421875000 +171.138207188731 2555.000000000000 +172.133475837479 1266.057739257812 +173.079557051502 6304.225097656250 +174.991247355031 15122.000000000000 +176.988586706089 4881.000000000000 +178.158242399689 1403.950073242188 +179.105412805866 3814.716552734375 +182.960601426951 1842.280639648438 +182.982966835265 1410.150146484375 +186.220883153188 1802.000000000000 +194.115976643286 3119.000000000000 +195.102214753451 1498.057617187500 +195.120897037407 1858.993774414062 +198.184171488074 2116.000000000000 +217.106332787106 21497.787109375000 +218.109128733639 2613.000000000000 +219.095226750847 2102.304443359375 +224.127626531368 1175.000000000000 +228.195317705032 1672.133422851562 +239.088374855672 3685.309814453125 +242.283185310790 1468.000000000000 +246.860952738993 3049.000000000000 +249.183720846634 1286.295654296875 +250.177140311956 1205.756591796875 +250.999832075601 32001.000000000000 +252.002106420824 2157.000000000000 +252.996924958467 20204.000000000000 +253.999797691244 1411.000000000000 +254.993496356863 3401.000000000000 +279.092906188567 2036.000000000000 +286.179288894577 8400.000000000000 +287.181689656808 1994.078002929688 +287.217541902151 1349.643310546875 +291.235948805059 1485.048828125000 +292.122314491142 439122.000000000000 +292.983059595137 1438.034667968750 +293.122671084767 47692.136718750000 +294.118451514065 133013.562500000000 +295.120454982262 22502.744140625000 +296.122607984390 2357.932373046875 +313.039105768504 33266.000000000000 +314.042149111497 5168.000000000000 +315.036268416268 21007.242187500000 +316.038403197349 3302.000000000000 +317.033014483539 3862.000000000000 +321.227057921370 1381.000000000000 +327.007877449001 47611.566406250000 +328.011115186819 4973.000000000000 +329.004794999861 46547.000000000000 +330.008005603352 4737.000000000000 +331.001868162022 15538.000000000000 +332.004876313775 1480.000000000000 +333.003299668985 2744.071777343750 +335.018886982057 3585.000000000000 +337.016084576435 2205.000000000000 +339.994390073568 1754.000000000000 +348.988792788967 6573.000000000000 +350.986916484867 6721.000000000000 +352.984603835989 2083.000000000000 +354.041095041215 1340.092163085938 +356.039619641072 1269.081298828125 +372.065048824891 6209.586914062500 +374.062468004687 6086.000000000000 +376.059148229590 1968.000000000000 +392.045330940334 2193.000000000000 +395.067648242738 2230.000000000000 +397.066134815272 1581.000000000000 +426.930515343123 1306.000000000000 +426.976513054277 1169.811889648438 +428.927149366436 1298.000000000000 +430.886640350010 1403.000000000000 +445.118913900930 2269.000000000000 +491.969645058197 1379.000000000000 +505.851389825487 3789.000000000000 +522.878326149515 1800.000000000000 +536.163456762234 4427.000000000000 +537.165324404735 2206.000000000000 +538.161529742511 1590.843383789062 +544.337468455008 1195.000000000000 +546.914116937371 2559.000000000000 +547.911876414748 1196.000000000000 +610.180850219782 2080.000000000000 +611.182328195703 1214.000000000000 +645.154717656738 8484.000000000000 +646.158700037782 2782.000000000000 +647.152980374288 9942.000000000000 +648.155555240546 3294.000000000000 +649.150621117204 4284.000000000000 +650.152709955400 1200.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=664 experiment=9 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=664 experiment=9_0 +##scan 63 +##specref ms_run[1]:sample=1 period=1 cycle=664 experiment=9 +266.995958954568 30.000000000000 +268.997143967970 90.000000000000 +284.008810984111 15.000000000000 +285.013429702575 15.000000000000 +313.973796740665 30.000000000000 +336.029363639623 105.000000000000 +338.029837337198 285.000000000000 +354.042937205568 467.000000000000 +355.053935770849 30.000000000000 +356.039766448800 987.000000000000 +374.058630154883 13.000000000000 +647.155035410594 450.000000000000 +>compound 1_0-665002--65--UNKNOWN +>parentmass 98.982987677469 +>charge 1 +>rt 437.422999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +98.982987677469 4854.522460937500 +>ms1peaks +52.005349834334 2531.576904296875 +52.017818445883 1415.950317382812 +53.013312992683 14436.391601562500 +53.850256514170 1311.865234375000 +54.009237809188 346906.656250000000 +55.005700977113 5493.924316406250 +55.011578128004 6377.684570312500 +55.053978874167 1984.071533203125 +55.933999133980 6168.766601562500 +56.049511919157 2977.762207031250 +56.942056567735 2284.776855468750 +59.049350876787 53629.328125000000 +60.044322757483 8600.164062500000 +61.039156449004 1644.316650390625 +63.997508188870 3394.982910156250 +64.005057234464 4259.679687500000 +67.029035810216 2293.846923828125 +68.011280581573 27100.835937500000 +68.993371510951 13738.876953125000 +69.007497995886 1441.296142578125 +69.044403084909 13070.419921875000 +72.936195718172 2643.000000000000 +73.063931102643 1919.621459960938 +76.486167754556 1986.000000000000 +79.020619039319 14111.753906250000 +80.048823728166 11369.215820312500 +81.936905757296 8703.630859375000 +82.996214707689 8986.651367187500 +87.054271044459 1595.093627929688 +89.505822079267 1760.000000000000 +90.488874903389 1822.018798828125 +91.053163445835 1300.610839843750 +95.952331345900 2696.000000000000 +97.967781752031 7299.724609375000 +98.982987677469 4854.522460937500 +102.090290867080 1906.000000000000 +109.942394870381 1583.000000000000 +113.962086127466 2074.000000000000 +114.090395399108 10058.849609375000 +118.084999014032 6547.758789062500 +122.095088721755 3711.124511718750 +122.962603857586 10794.167968750000 +123.090649527845 1803.942016601562 +123.961855384374 1203.000000000000 +130.157739418261 1256.000000000000 +136.020039379796 2083.000000000000 +136.110849290905 1530.000000000000 +141.089744053815 1237.175415039062 +141.111592847426 1371.696777343750 +141.957218960001 15367.227539062500 +147.090011968413 2463.000000000000 +149.021828990169 4784.995605468750 +149.041466762922 2472.640625000000 +151.095944798794 2940.508300781250 +151.109341918543 3165.085693359375 +155.069344508958 1582.135864257812 +155.105135879836 1693.281616210938 +155.972287468254 4554.340332031250 +158.152759351824 13585.107421875000 +159.156196357366 1465.921386718750 +159.967851357038 1225.276977539062 +161.095405694183 1641.000000000000 +164.141615127090 1478.434814453125 +170.094609622000 2457.688476562500 +171.141467030026 1915.000000000000 +173.079379445344 6273.838867187500 +174.990844938283 15688.865234375000 +176.987639364551 5360.525878906250 +177.052467267277 1475.000000000000 +178.157540067017 1547.000000000000 +179.105091602082 3287.998779296875 +182.959873591311 1986.817871093750 +186.220399692631 1658.000000000000 +194.115345005627 3116.000000000000 +195.120929712058 1968.662841796875 +198.184276303297 2015.000000000000 +217.105977610050 20924.755859375000 +218.108820705353 2495.792236328125 +219.094022022929 1823.679443359375 +228.194066029155 1666.038696289062 +239.087872978056 3722.000000000000 +242.282423819470 1362.000000000000 +246.860857987495 3450.000000000000 +249.182928857496 1266.000000000000 +250.177066939258 1504.335083007812 +250.999117678898 32221.000000000000 +252.001781095835 2314.000000000000 +252.995932699016 21462.000000000000 +253.998953923887 1371.000000000000 +254.993033756740 3403.000000000000 +267.170032496706 1345.000000000000 +279.092268016151 1928.000000000000 +281.050459546987 1487.000000000000 +286.178655880094 23309.207031250000 +287.182133845414 5196.471191406250 +291.235317712341 1559.882568359375 +292.121093988068 399090.000000000000 +292.982663908460 1255.682128906250 +293.023857907805 1542.287597656250 +293.121921829592 49425.335937500000 +294.117639052994 123150.929687500000 +295.119583284786 21162.347656250000 +296.122453171108 2024.725219726562 +304.297977116061 1205.098876953125 +311.183844763032 2282.703613281250 +313.038450493324 32210.287109375000 +314.041319280533 5035.671875000000 +315.035461346507 21071.000000000000 +316.038196392607 3544.000000000000 +317.032926032719 3656.000000000000 +327.007662782866 46713.000000000000 +328.009753952920 4731.131347656250 +329.004141727930 46254.000000000000 +330.006788270317 4440.000000000000 +331.000792355787 15238.000000000000 +332.003743171067 1635.000000000000 +333.001048030235 2840.547363281250 +335.018066518429 3857.000000000000 +337.016490283319 2257.000000000000 +348.988206068721 7382.000000000000 +350.985085465325 7259.000000000000 +352.983081816715 2462.000000000000 +354.041092701990 1411.000000000000 +358.095358680256 1344.000000000000 +372.064528986026 6467.495117187500 +374.061053722203 5695.000000000000 +376.059656060961 2211.000000000000 +392.044067632616 2143.000000000000 +395.066337210837 2288.000000000000 +397.065352026340 1841.000000000000 +428.895605409648 1348.684326171875 +428.927859796300 1412.000000000000 +445.117454275133 2106.000000000000 +491.967681975778 1277.000000000000 +505.850908455770 4139.747558593750 +522.876740252438 1800.000000000000 +536.161867901498 4607.000000000000 +537.162257475039 2465.000000000000 +538.160527239899 1695.000000000000 +544.336437856300 1324.164184570312 +546.911854407175 2375.000000000000 +547.911013918907 1216.000000000000 +610.179211400596 2165.000000000000 +611.181197363117 1284.000000000000 +645.153892760480 7294.000000000000 +646.156182811867 3135.000000000000 +647.151735773867 8987.490234375000 +648.154489817139 3184.000000000000 +649.150180493474 3821.591308593750 +650.151352616891 1194.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=665 experiment=2 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=665 experiment=2_0 +##scan 65 +##specref ms_run[1]:sample=1 period=1 cycle=665 experiment=2 +55.935898495830 75.000000000000 +62.963764738494 60.000000000000 +72.935053375154 30.000000000000 +80.973017357270 135.000000000000 +81.936608070413 90.000000000000 +>compound 1_0-665003--66--UNKNOWN +>parentmass 176.987639364551 +>charge 1 +>rt 437.422999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +176.987639364551 5360.525878906250 +>ms1peaks +52.005349834334 2531.576904296875 +52.017818445883 1415.950317382812 +53.013312992683 14436.391601562500 +53.850256514170 1311.865234375000 +54.009237809188 346906.656250000000 +55.005700977113 5493.924316406250 +55.011578128004 6377.684570312500 +55.053978874167 1984.071533203125 +55.933999133980 6168.766601562500 +56.049511919157 2977.762207031250 +56.942056567735 2284.776855468750 +59.049350876787 53629.328125000000 +60.044322757483 8600.164062500000 +61.039156449004 1644.316650390625 +63.997508188870 3394.982910156250 +64.005057234464 4259.679687500000 +67.029035810216 2293.846923828125 +68.011280581573 27100.835937500000 +68.993371510951 13738.876953125000 +69.007497995886 1441.296142578125 +69.044403084909 13070.419921875000 +72.936195718172 2643.000000000000 +73.063931102643 1919.621459960938 +76.486167754556 1986.000000000000 +79.020619039319 14111.753906250000 +80.048823728166 11369.215820312500 +81.936905757296 8703.630859375000 +82.996214707689 8986.651367187500 +87.054271044459 1595.093627929688 +89.505822079267 1760.000000000000 +90.488874903389 1822.018798828125 +91.053163445835 1300.610839843750 +95.952331345900 2696.000000000000 +97.967781752031 7299.724609375000 +98.982987677469 4854.522460937500 +102.090290867080 1906.000000000000 +109.942394870381 1583.000000000000 +113.962086127466 2074.000000000000 +114.090395399108 10058.849609375000 +118.084999014032 6547.758789062500 +122.095088721755 3711.124511718750 +122.962603857586 10794.167968750000 +123.090649527845 1803.942016601562 +123.961855384374 1203.000000000000 +130.157739418261 1256.000000000000 +136.020039379796 2083.000000000000 +136.110849290905 1530.000000000000 +141.089744053815 1237.175415039062 +141.111592847426 1371.696777343750 +141.957218960001 15367.227539062500 +147.090011968413 2463.000000000000 +149.021828990169 4784.995605468750 +149.041466762922 2472.640625000000 +151.095944798794 2940.508300781250 +151.109341918543 3165.085693359375 +155.069344508958 1582.135864257812 +155.105135879836 1693.281616210938 +155.972287468254 4554.340332031250 +158.152759351824 13585.107421875000 +159.156196357366 1465.921386718750 +159.967851357038 1225.276977539062 +161.095405694183 1641.000000000000 +164.141615127090 1478.434814453125 +170.094609622000 2457.688476562500 +171.141467030026 1915.000000000000 +173.079379445344 6273.838867187500 +174.990844938283 15688.865234375000 +176.987639364551 5360.525878906250 +177.052467267277 1475.000000000000 +178.157540067017 1547.000000000000 +179.105091602082 3287.998779296875 +182.959873591311 1986.817871093750 +186.220399692631 1658.000000000000 +194.115345005627 3116.000000000000 +195.120929712058 1968.662841796875 +198.184276303297 2015.000000000000 +217.105977610050 20924.755859375000 +218.108820705353 2495.792236328125 +219.094022022929 1823.679443359375 +228.194066029155 1666.038696289062 +239.087872978056 3722.000000000000 +242.282423819470 1362.000000000000 +246.860857987495 3450.000000000000 +249.182928857496 1266.000000000000 +250.177066939258 1504.335083007812 +250.999117678898 32221.000000000000 +252.001781095835 2314.000000000000 +252.995932699016 21462.000000000000 +253.998953923887 1371.000000000000 +254.993033756740 3403.000000000000 +267.170032496706 1345.000000000000 +279.092268016151 1928.000000000000 +281.050459546987 1487.000000000000 +286.178655880094 23309.207031250000 +287.182133845414 5196.471191406250 +291.235317712341 1559.882568359375 +292.121093988068 399090.000000000000 +292.982663908460 1255.682128906250 +293.023857907805 1542.287597656250 +293.121921829592 49425.335937500000 +294.117639052994 123150.929687500000 +295.119583284786 21162.347656250000 +296.122453171108 2024.725219726562 +304.297977116061 1205.098876953125 +311.183844763032 2282.703613281250 +313.038450493324 32210.287109375000 +314.041319280533 5035.671875000000 +315.035461346507 21071.000000000000 +316.038196392607 3544.000000000000 +317.032926032719 3656.000000000000 +327.007662782866 46713.000000000000 +328.009753952920 4731.131347656250 +329.004141727930 46254.000000000000 +330.006788270317 4440.000000000000 +331.000792355787 15238.000000000000 +332.003743171067 1635.000000000000 +333.001048030235 2840.547363281250 +335.018066518429 3857.000000000000 +337.016490283319 2257.000000000000 +348.988206068721 7382.000000000000 +350.985085465325 7259.000000000000 +352.983081816715 2462.000000000000 +354.041092701990 1411.000000000000 +358.095358680256 1344.000000000000 +372.064528986026 6467.495117187500 +374.061053722203 5695.000000000000 +376.059656060961 2211.000000000000 +392.044067632616 2143.000000000000 +395.066337210837 2288.000000000000 +397.065352026340 1841.000000000000 +428.895605409648 1348.684326171875 +428.927859796300 1412.000000000000 +445.117454275133 2106.000000000000 +491.967681975778 1277.000000000000 +505.850908455770 4139.747558593750 +522.876740252438 1800.000000000000 +536.161867901498 4607.000000000000 +537.162257475039 2465.000000000000 +538.160527239899 1695.000000000000 +544.336437856300 1324.164184570312 +546.911854407175 2375.000000000000 +547.911013918907 1216.000000000000 +610.179211400596 2165.000000000000 +611.181197363117 1284.000000000000 +645.153892760480 7294.000000000000 +646.156182811867 3135.000000000000 +647.151735773867 8987.490234375000 +648.154489817139 3184.000000000000 +649.150180493474 3821.591308593750 +650.151352616891 1194.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=665 experiment=3 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=665 experiment=3_0 +##scan 66 +##specref ms_run[1]:sample=1 period=1 cycle=665 experiment=3 +55.053253776895 15.000000000000 +55.065781137459 15.000000000000 +59.051364084622 13.000000000000 +65.036601733213 30.000000000000 +65.040726266398 30.000000000000 +98.985534799675 13.000000000000 +129.066776342241 13.000000000000 +133.049841945649 13.000000000000 +149.024197822655 45.000000000000 +178.160710659108 30.000000000000 +>compound 1_0-665004--67--UNKNOWN +>parentmass 250.999117678898 +>charge 1 +>rt 437.422999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +250.999117678898 32221.000000000000 +>ms1peaks +52.005349834334 2531.576904296875 +52.017818445883 1415.950317382812 +53.013312992683 14436.391601562500 +53.850256514170 1311.865234375000 +54.009237809188 346906.656250000000 +55.005700977113 5493.924316406250 +55.011578128004 6377.684570312500 +55.053978874167 1984.071533203125 +55.933999133980 6168.766601562500 +56.049511919157 2977.762207031250 +56.942056567735 2284.776855468750 +59.049350876787 53629.328125000000 +60.044322757483 8600.164062500000 +61.039156449004 1644.316650390625 +63.997508188870 3394.982910156250 +64.005057234464 4259.679687500000 +67.029035810216 2293.846923828125 +68.011280581573 27100.835937500000 +68.993371510951 13738.876953125000 +69.007497995886 1441.296142578125 +69.044403084909 13070.419921875000 +72.936195718172 2643.000000000000 +73.063931102643 1919.621459960938 +76.486167754556 1986.000000000000 +79.020619039319 14111.753906250000 +80.048823728166 11369.215820312500 +81.936905757296 8703.630859375000 +82.996214707689 8986.651367187500 +87.054271044459 1595.093627929688 +89.505822079267 1760.000000000000 +90.488874903389 1822.018798828125 +91.053163445835 1300.610839843750 +95.952331345900 2696.000000000000 +97.967781752031 7299.724609375000 +98.982987677469 4854.522460937500 +102.090290867080 1906.000000000000 +109.942394870381 1583.000000000000 +113.962086127466 2074.000000000000 +114.090395399108 10058.849609375000 +118.084999014032 6547.758789062500 +122.095088721755 3711.124511718750 +122.962603857586 10794.167968750000 +123.090649527845 1803.942016601562 +123.961855384374 1203.000000000000 +130.157739418261 1256.000000000000 +136.020039379796 2083.000000000000 +136.110849290905 1530.000000000000 +141.089744053815 1237.175415039062 +141.111592847426 1371.696777343750 +141.957218960001 15367.227539062500 +147.090011968413 2463.000000000000 +149.021828990169 4784.995605468750 +149.041466762922 2472.640625000000 +151.095944798794 2940.508300781250 +151.109341918543 3165.085693359375 +155.069344508958 1582.135864257812 +155.105135879836 1693.281616210938 +155.972287468254 4554.340332031250 +158.152759351824 13585.107421875000 +159.156196357366 1465.921386718750 +159.967851357038 1225.276977539062 +161.095405694183 1641.000000000000 +164.141615127090 1478.434814453125 +170.094609622000 2457.688476562500 +171.141467030026 1915.000000000000 +173.079379445344 6273.838867187500 +174.990844938283 15688.865234375000 +176.987639364551 5360.525878906250 +177.052467267277 1475.000000000000 +178.157540067017 1547.000000000000 +179.105091602082 3287.998779296875 +182.959873591311 1986.817871093750 +186.220399692631 1658.000000000000 +194.115345005627 3116.000000000000 +195.120929712058 1968.662841796875 +198.184276303297 2015.000000000000 +217.105977610050 20924.755859375000 +218.108820705353 2495.792236328125 +219.094022022929 1823.679443359375 +228.194066029155 1666.038696289062 +239.087872978056 3722.000000000000 +242.282423819470 1362.000000000000 +246.860857987495 3450.000000000000 +249.182928857496 1266.000000000000 +250.177066939258 1504.335083007812 +250.999117678898 32221.000000000000 +252.001781095835 2314.000000000000 +252.995932699016 21462.000000000000 +253.998953923887 1371.000000000000 +254.993033756740 3403.000000000000 +267.170032496706 1345.000000000000 +279.092268016151 1928.000000000000 +281.050459546987 1487.000000000000 +286.178655880094 23309.207031250000 +287.182133845414 5196.471191406250 +291.235317712341 1559.882568359375 +292.121093988068 399090.000000000000 +292.982663908460 1255.682128906250 +293.023857907805 1542.287597656250 +293.121921829592 49425.335937500000 +294.117639052994 123150.929687500000 +295.119583284786 21162.347656250000 +296.122453171108 2024.725219726562 +304.297977116061 1205.098876953125 +311.183844763032 2282.703613281250 +313.038450493324 32210.287109375000 +314.041319280533 5035.671875000000 +315.035461346507 21071.000000000000 +316.038196392607 3544.000000000000 +317.032926032719 3656.000000000000 +327.007662782866 46713.000000000000 +328.009753952920 4731.131347656250 +329.004141727930 46254.000000000000 +330.006788270317 4440.000000000000 +331.000792355787 15238.000000000000 +332.003743171067 1635.000000000000 +333.001048030235 2840.547363281250 +335.018066518429 3857.000000000000 +337.016490283319 2257.000000000000 +348.988206068721 7382.000000000000 +350.985085465325 7259.000000000000 +352.983081816715 2462.000000000000 +354.041092701990 1411.000000000000 +358.095358680256 1344.000000000000 +372.064528986026 6467.495117187500 +374.061053722203 5695.000000000000 +376.059656060961 2211.000000000000 +392.044067632616 2143.000000000000 +395.066337210837 2288.000000000000 +397.065352026340 1841.000000000000 +428.895605409648 1348.684326171875 +428.927859796300 1412.000000000000 +445.117454275133 2106.000000000000 +491.967681975778 1277.000000000000 +505.850908455770 4139.747558593750 +522.876740252438 1800.000000000000 +536.161867901498 4607.000000000000 +537.162257475039 2465.000000000000 +538.160527239899 1695.000000000000 +544.336437856300 1324.164184570312 +546.911854407175 2375.000000000000 +547.911013918907 1216.000000000000 +610.179211400596 2165.000000000000 +611.181197363117 1284.000000000000 +645.153892760480 7294.000000000000 +646.156182811867 3135.000000000000 +647.151735773867 8987.490234375000 +648.154489817139 3184.000000000000 +649.150180493474 3821.591308593750 +650.151352616891 1194.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=665 experiment=4 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=665 experiment=4_0 +##scan 67 +##specref ms_run[1]:sample=1 period=1 cycle=665 experiment=4 +98.983676187547 225.000000000000 +>compound 1_0-665007--70--UNKNOWN +>parentmass 329.004141727930 +>charge 1 +>rt 437.422999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +329.004141727930 46254.000000000000 +>ms1peaks +52.005349834334 2531.576904296875 +52.017818445883 1415.950317382812 +53.013312992683 14436.391601562500 +53.850256514170 1311.865234375000 +54.009237809188 346906.656250000000 +55.005700977113 5493.924316406250 +55.011578128004 6377.684570312500 +55.053978874167 1984.071533203125 +55.933999133980 6168.766601562500 +56.049511919157 2977.762207031250 +56.942056567735 2284.776855468750 +59.049350876787 53629.328125000000 +60.044322757483 8600.164062500000 +61.039156449004 1644.316650390625 +63.997508188870 3394.982910156250 +64.005057234464 4259.679687500000 +67.029035810216 2293.846923828125 +68.011280581573 27100.835937500000 +68.993371510951 13738.876953125000 +69.007497995886 1441.296142578125 +69.044403084909 13070.419921875000 +72.936195718172 2643.000000000000 +73.063931102643 1919.621459960938 +76.486167754556 1986.000000000000 +79.020619039319 14111.753906250000 +80.048823728166 11369.215820312500 +81.936905757296 8703.630859375000 +82.996214707689 8986.651367187500 +87.054271044459 1595.093627929688 +89.505822079267 1760.000000000000 +90.488874903389 1822.018798828125 +91.053163445835 1300.610839843750 +95.952331345900 2696.000000000000 +97.967781752031 7299.724609375000 +98.982987677469 4854.522460937500 +102.090290867080 1906.000000000000 +109.942394870381 1583.000000000000 +113.962086127466 2074.000000000000 +114.090395399108 10058.849609375000 +118.084999014032 6547.758789062500 +122.095088721755 3711.124511718750 +122.962603857586 10794.167968750000 +123.090649527845 1803.942016601562 +123.961855384374 1203.000000000000 +130.157739418261 1256.000000000000 +136.020039379796 2083.000000000000 +136.110849290905 1530.000000000000 +141.089744053815 1237.175415039062 +141.111592847426 1371.696777343750 +141.957218960001 15367.227539062500 +147.090011968413 2463.000000000000 +149.021828990169 4784.995605468750 +149.041466762922 2472.640625000000 +151.095944798794 2940.508300781250 +151.109341918543 3165.085693359375 +155.069344508958 1582.135864257812 +155.105135879836 1693.281616210938 +155.972287468254 4554.340332031250 +158.152759351824 13585.107421875000 +159.156196357366 1465.921386718750 +159.967851357038 1225.276977539062 +161.095405694183 1641.000000000000 +164.141615127090 1478.434814453125 +170.094609622000 2457.688476562500 +171.141467030026 1915.000000000000 +173.079379445344 6273.838867187500 +174.990844938283 15688.865234375000 +176.987639364551 5360.525878906250 +177.052467267277 1475.000000000000 +178.157540067017 1547.000000000000 +179.105091602082 3287.998779296875 +182.959873591311 1986.817871093750 +186.220399692631 1658.000000000000 +194.115345005627 3116.000000000000 +195.120929712058 1968.662841796875 +198.184276303297 2015.000000000000 +217.105977610050 20924.755859375000 +218.108820705353 2495.792236328125 +219.094022022929 1823.679443359375 +228.194066029155 1666.038696289062 +239.087872978056 3722.000000000000 +242.282423819470 1362.000000000000 +246.860857987495 3450.000000000000 +249.182928857496 1266.000000000000 +250.177066939258 1504.335083007812 +250.999117678898 32221.000000000000 +252.001781095835 2314.000000000000 +252.995932699016 21462.000000000000 +253.998953923887 1371.000000000000 +254.993033756740 3403.000000000000 +267.170032496706 1345.000000000000 +279.092268016151 1928.000000000000 +281.050459546987 1487.000000000000 +286.178655880094 23309.207031250000 +287.182133845414 5196.471191406250 +291.235317712341 1559.882568359375 +292.121093988068 399090.000000000000 +292.982663908460 1255.682128906250 +293.023857907805 1542.287597656250 +293.121921829592 49425.335937500000 +294.117639052994 123150.929687500000 +295.119583284786 21162.347656250000 +296.122453171108 2024.725219726562 +304.297977116061 1205.098876953125 +311.183844763032 2282.703613281250 +313.038450493324 32210.287109375000 +314.041319280533 5035.671875000000 +315.035461346507 21071.000000000000 +316.038196392607 3544.000000000000 +317.032926032719 3656.000000000000 +327.007662782866 46713.000000000000 +328.009753952920 4731.131347656250 +329.004141727930 46254.000000000000 +330.006788270317 4440.000000000000 +331.000792355787 15238.000000000000 +332.003743171067 1635.000000000000 +333.001048030235 2840.547363281250 +335.018066518429 3857.000000000000 +337.016490283319 2257.000000000000 +348.988206068721 7382.000000000000 +350.985085465325 7259.000000000000 +352.983081816715 2462.000000000000 +354.041092701990 1411.000000000000 +358.095358680256 1344.000000000000 +372.064528986026 6467.495117187500 +374.061053722203 5695.000000000000 +376.059656060961 2211.000000000000 +392.044067632616 2143.000000000000 +395.066337210837 2288.000000000000 +397.065352026340 1841.000000000000 +428.895605409648 1348.684326171875 +428.927859796300 1412.000000000000 +445.117454275133 2106.000000000000 +491.967681975778 1277.000000000000 +505.850908455770 4139.747558593750 +522.876740252438 1800.000000000000 +536.161867901498 4607.000000000000 +537.162257475039 2465.000000000000 +538.160527239899 1695.000000000000 +544.336437856300 1324.164184570312 +546.911854407175 2375.000000000000 +547.911013918907 1216.000000000000 +610.179211400596 2165.000000000000 +611.181197363117 1284.000000000000 +645.153892760480 7294.000000000000 +646.156182811867 3135.000000000000 +647.151735773867 8987.490234375000 +648.154489817139 3184.000000000000 +649.150180493474 3821.591308593750 +650.151352616891 1194.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=665 experiment=7 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=665 experiment=7_0 +##scan 70 +##specref ms_run[1]:sample=1 period=1 cycle=665 experiment=7 +80.973206086134 474.000000000000 +98.691175786184 60.000000000000 +98.699860688257 45.000000000000 +98.969679162489 455.384338378906 +98.983934179376 10033.775390625000 +100.989337065281 60.000000000000 +101.003119000240 30.000000000000 +128.869107660209 90.000000000000 +156.866948588954 90.000000000000 +172.861258594385 332.000000000000 +174.990026005959 105.000000000000 +176.987916793466 105.000000000000 +202.871227443859 60.000000000000 +246.859393536835 60.000000000000 +>compound 1_0-665008--71--UNKNOWN +>parentmass 335.018066518429 +>charge 1 +>rt 437.422999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +335.018066518429 3857.000000000000 +>ms1peaks +52.005349834334 2531.576904296875 +52.017818445883 1415.950317382812 +53.013312992683 14436.391601562500 +53.850256514170 1311.865234375000 +54.009237809188 346906.656250000000 +55.005700977113 5493.924316406250 +55.011578128004 6377.684570312500 +55.053978874167 1984.071533203125 +55.933999133980 6168.766601562500 +56.049511919157 2977.762207031250 +56.942056567735 2284.776855468750 +59.049350876787 53629.328125000000 +60.044322757483 8600.164062500000 +61.039156449004 1644.316650390625 +63.997508188870 3394.982910156250 +64.005057234464 4259.679687500000 +67.029035810216 2293.846923828125 +68.011280581573 27100.835937500000 +68.993371510951 13738.876953125000 +69.007497995886 1441.296142578125 +69.044403084909 13070.419921875000 +72.936195718172 2643.000000000000 +73.063931102643 1919.621459960938 +76.486167754556 1986.000000000000 +79.020619039319 14111.753906250000 +80.048823728166 11369.215820312500 +81.936905757296 8703.630859375000 +82.996214707689 8986.651367187500 +87.054271044459 1595.093627929688 +89.505822079267 1760.000000000000 +90.488874903389 1822.018798828125 +91.053163445835 1300.610839843750 +95.952331345900 2696.000000000000 +97.967781752031 7299.724609375000 +98.982987677469 4854.522460937500 +102.090290867080 1906.000000000000 +109.942394870381 1583.000000000000 +113.962086127466 2074.000000000000 +114.090395399108 10058.849609375000 +118.084999014032 6547.758789062500 +122.095088721755 3711.124511718750 +122.962603857586 10794.167968750000 +123.090649527845 1803.942016601562 +123.961855384374 1203.000000000000 +130.157739418261 1256.000000000000 +136.020039379796 2083.000000000000 +136.110849290905 1530.000000000000 +141.089744053815 1237.175415039062 +141.111592847426 1371.696777343750 +141.957218960001 15367.227539062500 +147.090011968413 2463.000000000000 +149.021828990169 4784.995605468750 +149.041466762922 2472.640625000000 +151.095944798794 2940.508300781250 +151.109341918543 3165.085693359375 +155.069344508958 1582.135864257812 +155.105135879836 1693.281616210938 +155.972287468254 4554.340332031250 +158.152759351824 13585.107421875000 +159.156196357366 1465.921386718750 +159.967851357038 1225.276977539062 +161.095405694183 1641.000000000000 +164.141615127090 1478.434814453125 +170.094609622000 2457.688476562500 +171.141467030026 1915.000000000000 +173.079379445344 6273.838867187500 +174.990844938283 15688.865234375000 +176.987639364551 5360.525878906250 +177.052467267277 1475.000000000000 +178.157540067017 1547.000000000000 +179.105091602082 3287.998779296875 +182.959873591311 1986.817871093750 +186.220399692631 1658.000000000000 +194.115345005627 3116.000000000000 +195.120929712058 1968.662841796875 +198.184276303297 2015.000000000000 +217.105977610050 20924.755859375000 +218.108820705353 2495.792236328125 +219.094022022929 1823.679443359375 +228.194066029155 1666.038696289062 +239.087872978056 3722.000000000000 +242.282423819470 1362.000000000000 +246.860857987495 3450.000000000000 +249.182928857496 1266.000000000000 +250.177066939258 1504.335083007812 +250.999117678898 32221.000000000000 +252.001781095835 2314.000000000000 +252.995932699016 21462.000000000000 +253.998953923887 1371.000000000000 +254.993033756740 3403.000000000000 +267.170032496706 1345.000000000000 +279.092268016151 1928.000000000000 +281.050459546987 1487.000000000000 +286.178655880094 23309.207031250000 +287.182133845414 5196.471191406250 +291.235317712341 1559.882568359375 +292.121093988068 399090.000000000000 +292.982663908460 1255.682128906250 +293.023857907805 1542.287597656250 +293.121921829592 49425.335937500000 +294.117639052994 123150.929687500000 +295.119583284786 21162.347656250000 +296.122453171108 2024.725219726562 +304.297977116061 1205.098876953125 +311.183844763032 2282.703613281250 +313.038450493324 32210.287109375000 +314.041319280533 5035.671875000000 +315.035461346507 21071.000000000000 +316.038196392607 3544.000000000000 +317.032926032719 3656.000000000000 +327.007662782866 46713.000000000000 +328.009753952920 4731.131347656250 +329.004141727930 46254.000000000000 +330.006788270317 4440.000000000000 +331.000792355787 15238.000000000000 +332.003743171067 1635.000000000000 +333.001048030235 2840.547363281250 +335.018066518429 3857.000000000000 +337.016490283319 2257.000000000000 +348.988206068721 7382.000000000000 +350.985085465325 7259.000000000000 +352.983081816715 2462.000000000000 +354.041092701990 1411.000000000000 +358.095358680256 1344.000000000000 +372.064528986026 6467.495117187500 +374.061053722203 5695.000000000000 +376.059656060961 2211.000000000000 +392.044067632616 2143.000000000000 +395.066337210837 2288.000000000000 +397.065352026340 1841.000000000000 +428.895605409648 1348.684326171875 +428.927859796300 1412.000000000000 +445.117454275133 2106.000000000000 +491.967681975778 1277.000000000000 +505.850908455770 4139.747558593750 +522.876740252438 1800.000000000000 +536.161867901498 4607.000000000000 +537.162257475039 2465.000000000000 +538.160527239899 1695.000000000000 +544.336437856300 1324.164184570312 +546.911854407175 2375.000000000000 +547.911013918907 1216.000000000000 +610.179211400596 2165.000000000000 +611.181197363117 1284.000000000000 +645.153892760480 7294.000000000000 +646.156182811867 3135.000000000000 +647.151735773867 8987.490234375000 +648.154489817139 3184.000000000000 +649.150180493474 3821.591308593750 +650.151352616891 1194.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=665 experiment=8 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=665 experiment=8_0 +##scan 71 +##specref ms_run[1]:sample=1 period=1 cycle=665 experiment=8 +164.174152858135 13.000000000000 +190.894251421786 13.000000000000 +217.948296724673 13.000000000000 +>compound 1_0-665009--72--UNKNOWN +>parentmass 397.065352026340 +>charge 1 +>rt 437.422999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +397.065352026340 1841.000000000000 +>ms1peaks +52.005349834334 2531.576904296875 +52.017818445883 1415.950317382812 +53.013312992683 14436.391601562500 +53.850256514170 1311.865234375000 +54.009237809188 346906.656250000000 +55.005700977113 5493.924316406250 +55.011578128004 6377.684570312500 +55.053978874167 1984.071533203125 +55.933999133980 6168.766601562500 +56.049511919157 2977.762207031250 +56.942056567735 2284.776855468750 +59.049350876787 53629.328125000000 +60.044322757483 8600.164062500000 +61.039156449004 1644.316650390625 +63.997508188870 3394.982910156250 +64.005057234464 4259.679687500000 +67.029035810216 2293.846923828125 +68.011280581573 27100.835937500000 +68.993371510951 13738.876953125000 +69.007497995886 1441.296142578125 +69.044403084909 13070.419921875000 +72.936195718172 2643.000000000000 +73.063931102643 1919.621459960938 +76.486167754556 1986.000000000000 +79.020619039319 14111.753906250000 +80.048823728166 11369.215820312500 +81.936905757296 8703.630859375000 +82.996214707689 8986.651367187500 +87.054271044459 1595.093627929688 +89.505822079267 1760.000000000000 +90.488874903389 1822.018798828125 +91.053163445835 1300.610839843750 +95.952331345900 2696.000000000000 +97.967781752031 7299.724609375000 +98.982987677469 4854.522460937500 +102.090290867080 1906.000000000000 +109.942394870381 1583.000000000000 +113.962086127466 2074.000000000000 +114.090395399108 10058.849609375000 +118.084999014032 6547.758789062500 +122.095088721755 3711.124511718750 +122.962603857586 10794.167968750000 +123.090649527845 1803.942016601562 +123.961855384374 1203.000000000000 +130.157739418261 1256.000000000000 +136.020039379796 2083.000000000000 +136.110849290905 1530.000000000000 +141.089744053815 1237.175415039062 +141.111592847426 1371.696777343750 +141.957218960001 15367.227539062500 +147.090011968413 2463.000000000000 +149.021828990169 4784.995605468750 +149.041466762922 2472.640625000000 +151.095944798794 2940.508300781250 +151.109341918543 3165.085693359375 +155.069344508958 1582.135864257812 +155.105135879836 1693.281616210938 +155.972287468254 4554.340332031250 +158.152759351824 13585.107421875000 +159.156196357366 1465.921386718750 +159.967851357038 1225.276977539062 +161.095405694183 1641.000000000000 +164.141615127090 1478.434814453125 +170.094609622000 2457.688476562500 +171.141467030026 1915.000000000000 +173.079379445344 6273.838867187500 +174.990844938283 15688.865234375000 +176.987639364551 5360.525878906250 +177.052467267277 1475.000000000000 +178.157540067017 1547.000000000000 +179.105091602082 3287.998779296875 +182.959873591311 1986.817871093750 +186.220399692631 1658.000000000000 +194.115345005627 3116.000000000000 +195.120929712058 1968.662841796875 +198.184276303297 2015.000000000000 +217.105977610050 20924.755859375000 +218.108820705353 2495.792236328125 +219.094022022929 1823.679443359375 +228.194066029155 1666.038696289062 +239.087872978056 3722.000000000000 +242.282423819470 1362.000000000000 +246.860857987495 3450.000000000000 +249.182928857496 1266.000000000000 +250.177066939258 1504.335083007812 +250.999117678898 32221.000000000000 +252.001781095835 2314.000000000000 +252.995932699016 21462.000000000000 +253.998953923887 1371.000000000000 +254.993033756740 3403.000000000000 +267.170032496706 1345.000000000000 +279.092268016151 1928.000000000000 +281.050459546987 1487.000000000000 +286.178655880094 23309.207031250000 +287.182133845414 5196.471191406250 +291.235317712341 1559.882568359375 +292.121093988068 399090.000000000000 +292.982663908460 1255.682128906250 +293.023857907805 1542.287597656250 +293.121921829592 49425.335937500000 +294.117639052994 123150.929687500000 +295.119583284786 21162.347656250000 +296.122453171108 2024.725219726562 +304.297977116061 1205.098876953125 +311.183844763032 2282.703613281250 +313.038450493324 32210.287109375000 +314.041319280533 5035.671875000000 +315.035461346507 21071.000000000000 +316.038196392607 3544.000000000000 +317.032926032719 3656.000000000000 +327.007662782866 46713.000000000000 +328.009753952920 4731.131347656250 +329.004141727930 46254.000000000000 +330.006788270317 4440.000000000000 +331.000792355787 15238.000000000000 +332.003743171067 1635.000000000000 +333.001048030235 2840.547363281250 +335.018066518429 3857.000000000000 +337.016490283319 2257.000000000000 +348.988206068721 7382.000000000000 +350.985085465325 7259.000000000000 +352.983081816715 2462.000000000000 +354.041092701990 1411.000000000000 +358.095358680256 1344.000000000000 +372.064528986026 6467.495117187500 +374.061053722203 5695.000000000000 +376.059656060961 2211.000000000000 +392.044067632616 2143.000000000000 +395.066337210837 2288.000000000000 +397.065352026340 1841.000000000000 +428.895605409648 1348.684326171875 +428.927859796300 1412.000000000000 +445.117454275133 2106.000000000000 +491.967681975778 1277.000000000000 +505.850908455770 4139.747558593750 +522.876740252438 1800.000000000000 +536.161867901498 4607.000000000000 +537.162257475039 2465.000000000000 +538.160527239899 1695.000000000000 +544.336437856300 1324.164184570312 +546.911854407175 2375.000000000000 +547.911013918907 1216.000000000000 +610.179211400596 2165.000000000000 +611.181197363117 1284.000000000000 +645.153892760480 7294.000000000000 +646.156182811867 3135.000000000000 +647.151735773867 8987.490234375000 +648.154489817139 3184.000000000000 +649.150180493474 3821.591308593750 +650.151352616891 1194.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=665 experiment=9 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=665 experiment=9_0 +##scan 72 +##specref ms_run[1]:sample=1 period=1 cycle=665 experiment=9 +69.040925369389 30.000000000000 +131.947607632016 45.000000000000 +131.958538591111 45.000000000000 +133.958038892445 30.000000000000 +268.998796621958 90.000000000000 +285.959130960569 30.000000000000 +338.030948340123 45.000000000000 +356.039202201384 90.000000000000 +>compound 1_0-666002--74--UNKNOWN +>parentmass 267.121226672435 +>charge 1 +>rt 438.351000000000 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1peaks +52.005546368410 2670.973876953125 +53.013447667176 13442.696289062500 +53.850235753676 1356.916015625000 +54.009375548499 346132.000000000000 +55.006052234178 5908.220703125000 +55.011327139628 6618.665039062500 +55.054273818991 1724.201538085938 +55.934183438349 6089.195312500000 +56.942085448242 2338.522949218750 +59.049497543886 62260.195312500000 +60.044496762287 9351.735351562500 +61.039589911785 1691.005004882812 +63.997480072658 3643.092529296875 +64.005073510260 4229.738281250000 +68.011506505752 28323.269531250000 +68.993585810696 12464.445312500000 +69.044640852940 13649.212890625000 +72.044186043856 1148.000000000000 +72.936480336335 2359.262451171875 +73.064260321862 1642.103027343750 +76.486297311909 2289.460693359375 +79.020766274604 15897.382812500000 +80.048988150704 12209.904296875000 +81.936792921049 8371.669921875000 +82.996095650262 8043.113281250000 +87.043834653730 1276.883422851562 +87.054214175865 1482.598144531250 +89.506458664277 1777.830322265625 +90.489196475802 1663.000000000000 +91.053755235930 1541.526000976562 +95.952402869893 2400.645751953125 +97.967886882016 8001.987304687500 +98.983532889025 3424.810302734375 +100.074677767759 1304.000000000000 +102.090242730316 1329.000000000000 +109.942679982849 1398.000000000000 +113.962690768860 1941.000000000000 +114.090409984344 11174.942382812500 +118.085207229958 6292.000000000000 +122.095068185146 3153.000000000000 +122.962957192644 10933.000000000000 +123.089979550376 1737.604248046875 +123.962216545241 1382.000000000000 +130.157851054625 1368.000000000000 +136.020636426938 1627.062988281250 +136.111496039851 1223.000000000000 +140.067223364828 1192.000000000000 +141.090663513328 1291.584838867188 +141.111904002369 1407.591674804688 +141.935850183021 1558.355590820312 +141.957535804851 16602.316406250000 +147.090073371469 2918.000000000000 +149.022242157340 5058.011230468750 +149.041140009202 2281.293701171875 +151.094511933196 2771.192138671875 +151.109513517514 3017.586181640625 +155.069293446605 1572.566406250000 +155.105166988042 1682.863525390625 +155.972752865047 4956.000000000000 +158.095291106412 1175.110473632812 +158.152897422617 13347.454101562500 +159.140146486584 1221.760620117188 +159.156626899127 1511.809692382812 +159.968130743445 1344.000000000000 +161.095301376904 1939.000000000000 +164.142147914813 1352.608276367188 +170.095211316489 2555.052490234375 +171.142065868167 1688.747070312500 +173.079666684779 7435.070800781250 +174.990876331450 12561.875976562500 +176.988228889313 4082.000000000000 +178.157451442432 1671.789062500000 +179.082574741649 1161.343872070312 +179.105464745461 2033.503295898438 +182.960688200025 1872.628540039062 +186.220236378822 1627.000000000000 +194.115587597029 3414.431152343750 +195.102521936100 1940.187622070312 +195.121153964710 2419.525878906250 +198.184119642186 2274.000000000000 +217.106221715984 24680.257812500000 +218.109389146592 2768.000000000000 +219.094928896725 1923.877807617188 +224.125737788530 1308.718017578125 +228.194389849522 1662.646850585938 +239.088555805042 4654.193847656250 +242.282289579657 1282.000000000000 +246.861651699246 3614.000000000000 +249.183697918794 1626.163208007812 +250.176302167701 1384.000000000000 +250.999159013320 25559.167968750000 +252.002213377038 1651.423461914062 +252.996445325154 16054.000000000000 +253.999379477884 1131.000000000000 +254.993447206468 2772.603271484375 +267.171432346745 1267.000000000000 +279.091928399145 1791.000000000000 +281.049474584863 1227.866455078125 +286.179096453069 25739.439453125000 +287.182281594319 5585.333496093750 +292.120716590068 202371.000000000000 +293.123166487022 34628.820312500000 +294.117931210581 66532.000000000000 +295.120340194058 11307.223632812500 +296.123175528233 1139.000000000000 +304.298333326187 1345.000000000000 +311.184016131023 2112.000000000000 +313.038042743243 19603.214843750000 +314.041307564911 3224.000000000000 +315.035568487358 12179.000000000000 +316.038573054615 2028.000000000000 +317.032999093534 2260.000000000000 +327.007882393116 37742.558593750000 +328.009892511372 3601.000000000000 +329.004296620889 35070.000000000000 +330.007896864877 3743.000000000000 +331.001397377526 12099.000000000000 +332.004304811118 1147.000000000000 +333.002267631798 2076.000000000000 +335.017770650220 2313.000000000000 +337.017035297896 1211.000000000000 +348.988715159870 5698.000000000000 +350.985988216636 6014.000000000000 +352.982227447720 1887.000000000000 +371.314800126809 1304.000000000000 +372.064251479626 5075.027343750000 +374.061938971072 4867.000000000000 +376.058486261926 1592.000000000000 +392.043742286078 1216.000000000000 +395.068502390905 1429.000000000000 +397.065868843467 1348.000000000000 +428.893525922553 1400.224853515625 +428.927664629947 1466.814208984375 +430.886759376928 1323.849609375000 +445.118824286635 2200.000000000000 +505.851799123756 3631.000000000000 +522.879142647299 1843.000000000000 +529.887839543416 1136.832397460938 +536.163692934414 5222.000000000000 +537.164127390652 2657.000000000000 +538.162454710439 1796.178100585938 +544.339301230729 1413.667114257812 +546.912450246131 2510.000000000000 +610.181542562630 2042.000000000000 +611.181371312242 1400.000000000000 +645.154552081192 5333.000000000000 +646.158693354263 1778.000000000000 +647.153270969225 6082.129394531250 +648.155656988395 2289.000000000000 +649.150637720064 2324.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=666 experiment=2 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=666 experiment=2_0 +##scan 74 +##specref ms_run[1]:sample=1 period=1 cycle=666 experiment=2 +68.063557124162 6.000000000000 +98.983184576439 233.000000000000 +119.083218486627 6.000000000000 +147.119962308944 6.000000000000 +>compound 1_0-666004--76--UNKNOWN +>parentmass 537.361055634014 +>charge 1 +>rt 438.351000000000 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1peaks +52.005546368410 2670.973876953125 +53.013447667176 13442.696289062500 +53.850235753676 1356.916015625000 +54.009375548499 346132.000000000000 +55.006052234178 5908.220703125000 +55.011327139628 6618.665039062500 +55.054273818991 1724.201538085938 +55.934183438349 6089.195312500000 +56.942085448242 2338.522949218750 +59.049497543886 62260.195312500000 +60.044496762287 9351.735351562500 +61.039589911785 1691.005004882812 +63.997480072658 3643.092529296875 +64.005073510260 4229.738281250000 +68.011506505752 28323.269531250000 +68.993585810696 12464.445312500000 +69.044640852940 13649.212890625000 +72.044186043856 1148.000000000000 +72.936480336335 2359.262451171875 +73.064260321862 1642.103027343750 +76.486297311909 2289.460693359375 +79.020766274604 15897.382812500000 +80.048988150704 12209.904296875000 +81.936792921049 8371.669921875000 +82.996095650262 8043.113281250000 +87.043834653730 1276.883422851562 +87.054214175865 1482.598144531250 +89.506458664277 1777.830322265625 +90.489196475802 1663.000000000000 +91.053755235930 1541.526000976562 +95.952402869893 2400.645751953125 +97.967886882016 8001.987304687500 +98.983532889025 3424.810302734375 +100.074677767759 1304.000000000000 +102.090242730316 1329.000000000000 +109.942679982849 1398.000000000000 +113.962690768860 1941.000000000000 +114.090409984344 11174.942382812500 +118.085207229958 6292.000000000000 +122.095068185146 3153.000000000000 +122.962957192644 10933.000000000000 +123.089979550376 1737.604248046875 +123.962216545241 1382.000000000000 +130.157851054625 1368.000000000000 +136.020636426938 1627.062988281250 +136.111496039851 1223.000000000000 +140.067223364828 1192.000000000000 +141.090663513328 1291.584838867188 +141.111904002369 1407.591674804688 +141.935850183021 1558.355590820312 +141.957535804851 16602.316406250000 +147.090073371469 2918.000000000000 +149.022242157340 5058.011230468750 +149.041140009202 2281.293701171875 +151.094511933196 2771.192138671875 +151.109513517514 3017.586181640625 +155.069293446605 1572.566406250000 +155.105166988042 1682.863525390625 +155.972752865047 4956.000000000000 +158.095291106412 1175.110473632812 +158.152897422617 13347.454101562500 +159.140146486584 1221.760620117188 +159.156626899127 1511.809692382812 +159.968130743445 1344.000000000000 +161.095301376904 1939.000000000000 +164.142147914813 1352.608276367188 +170.095211316489 2555.052490234375 +171.142065868167 1688.747070312500 +173.079666684779 7435.070800781250 +174.990876331450 12561.875976562500 +176.988228889313 4082.000000000000 +178.157451442432 1671.789062500000 +179.082574741649 1161.343872070312 +179.105464745461 2033.503295898438 +182.960688200025 1872.628540039062 +186.220236378822 1627.000000000000 +194.115587597029 3414.431152343750 +195.102521936100 1940.187622070312 +195.121153964710 2419.525878906250 +198.184119642186 2274.000000000000 +217.106221715984 24680.257812500000 +218.109389146592 2768.000000000000 +219.094928896725 1923.877807617188 +224.125737788530 1308.718017578125 +228.194389849522 1662.646850585938 +239.088555805042 4654.193847656250 +242.282289579657 1282.000000000000 +246.861651699246 3614.000000000000 +249.183697918794 1626.163208007812 +250.176302167701 1384.000000000000 +250.999159013320 25559.167968750000 +252.002213377038 1651.423461914062 +252.996445325154 16054.000000000000 +253.999379477884 1131.000000000000 +254.993447206468 2772.603271484375 +267.171432346745 1267.000000000000 +279.091928399145 1791.000000000000 +281.049474584863 1227.866455078125 +286.179096453069 25739.439453125000 +287.182281594319 5585.333496093750 +292.120716590068 202371.000000000000 +293.123166487022 34628.820312500000 +294.117931210581 66532.000000000000 +295.120340194058 11307.223632812500 +296.123175528233 1139.000000000000 +304.298333326187 1345.000000000000 +311.184016131023 2112.000000000000 +313.038042743243 19603.214843750000 +314.041307564911 3224.000000000000 +315.035568487358 12179.000000000000 +316.038573054615 2028.000000000000 +317.032999093534 2260.000000000000 +327.007882393116 37742.558593750000 +328.009892511372 3601.000000000000 +329.004296620889 35070.000000000000 +330.007896864877 3743.000000000000 +331.001397377526 12099.000000000000 +332.004304811118 1147.000000000000 +333.002267631798 2076.000000000000 +335.017770650220 2313.000000000000 +337.017035297896 1211.000000000000 +348.988715159870 5698.000000000000 +350.985988216636 6014.000000000000 +352.982227447720 1887.000000000000 +371.314800126809 1304.000000000000 +372.064251479626 5075.027343750000 +374.061938971072 4867.000000000000 +376.058486261926 1592.000000000000 +392.043742286078 1216.000000000000 +395.068502390905 1429.000000000000 +397.065868843467 1348.000000000000 +428.893525922553 1400.224853515625 +428.927664629947 1466.814208984375 +430.886759376928 1323.849609375000 +445.118824286635 2200.000000000000 +505.851799123756 3631.000000000000 +522.879142647299 1843.000000000000 +529.887839543416 1136.832397460938 +536.163692934414 5222.000000000000 +537.164127390652 2657.000000000000 +538.162454710439 1796.178100585938 +544.339301230729 1413.667114257812 +546.912450246131 2510.000000000000 +610.181542562630 2042.000000000000 +611.181371312242 1400.000000000000 +645.154552081192 5333.000000000000 +646.158693354263 1778.000000000000 +647.153270969225 6082.129394531250 +648.155656988395 2289.000000000000 +649.150637720064 2324.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=666 experiment=4 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=666 experiment=4_0 +##scan 76 +##specref ms_run[1]:sample=1 period=1 cycle=666 experiment=4 +73.045605189807 10.000000000000 +147.061735685350 20.000000000000 +175.150249756992 4.000000000000 +184.077202969343 4.000000000000 +199.126487899159 4.000000000000 +243.124375783172 4.000000000000 +266.023494755175 15.000000000000 +281.052547845633 80.000000000000 +282.051977628280 90.000000000000 +326.967869200950 15.000000000000 +327.964644755827 25.000000000000 +341.027549556230 10.000000000000 +415.040389390486 10.000000000000 +416.033829341811 50.000000000000 +434.848857284264 4.000000000000 +504.109916858764 10.000000000000 +520.137614626731 4.000000000000 +537.187341987794 10.000000000000 +537.225333263430 10.000000000000 +>compound 1_0-667002--78--UNKNOWN +>parentmass 401.182362536536 +>charge 1 +>rt 439.276999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1peaks +52.005698102405 2949.600830078125 +53.013515252594 15990.059570312500 +53.850556940343 1196.854736328125 +54.009272267552 338690.687500000000 +55.005821221102 5702.030273437500 +55.011543271813 6793.216796875000 +55.054337703856 2357.244384765625 +55.934122072892 5857.799316406250 +56.049254187278 1357.658447265625 +56.941774674543 2264.940185546875 +59.049473584088 55372.843750000000 +60.044254660964 8661.087890625000 +61.039388228146 1775.590698242188 +63.997708482146 4927.317871093750 +64.004913437148 5195.035644531250 +68.011498068399 27823.996093750000 +68.993528779111 12691.588867187500 +69.044539630421 13641.355468750000 +72.044188157969 1190.000000000000 +72.936618787987 2801.000000000000 +73.064321087153 2046.862548828125 +76.485958866767 2159.189941406250 +79.020742258634 15046.928710937500 +80.048913927087 12740.775390625000 +81.936979441844 8856.285156250000 +82.996474896234 8891.872070312500 +87.043161738019 1323.176513671875 +87.054360585665 1763.251098632812 +89.506172511810 1599.000000000000 +90.489095501214 1759.160278320312 +91.053265697252 1575.000000000000 +95.952056815363 2283.000000000000 +97.968187964074 6359.000000000000 +98.983431868114 2735.816406250000 +100.075345688743 1463.000000000000 +102.090279252754 1691.454101562500 +109.943044107872 1411.000000000000 +113.963132503376 1920.000000000000 +114.090654998669 11155.000000000000 +118.085001951326 6917.983886718750 +122.095569615714 3696.000000000000 +122.962879635622 10817.001953125000 +123.090964739312 1549.663940429688 +123.961980595361 1327.000000000000 +130.158475522952 1262.000000000000 +136.020390726288 1678.679687500000 +136.110841262260 1177.000000000000 +139.110840348484 1026.000000000000 +141.090401388048 1485.482666015625 +141.111871154729 1641.574951171875 +141.957412140972 15722.000000000000 +142.960232618623 1059.000000000000 +147.090578178518 2231.000000000000 +149.022279225979 4729.229492187500 +151.095530461737 2818.962646484375 +151.109419676630 3115.360595703125 +155.069377129794 1541.703002929688 +155.105372266794 1586.923583984375 +155.973006696051 4294.000000000000 +158.001561442680 1181.000000000000 +158.153307967440 13072.687500000000 +159.156330307507 1422.823974609375 +161.094777911612 1691.061889648438 +164.143185474474 1315.469360351562 +170.095392867764 2656.926513671875 +171.142870901882 1771.642211914062 +172.132135089164 1247.027465820312 +173.079712433766 7644.225097656250 +174.126155282897 1073.541748046875 +174.991034459905 8968.177734375000 +176.988559846077 2674.000000000000 +177.054370932227 1282.000000000000 +178.158088453453 1516.090087890625 +179.105202439074 1944.794799804688 +182.960528622626 1759.674194335938 +182.983472600956 1184.856201171875 +186.220880632295 2015.000000000000 +193.157491893544 1075.468750000000 +194.116257055303 3237.000000000000 +195.101355387288 1623.295410156250 +195.120918327975 2101.834228515625 +198.184186985488 2063.614257812500 +200.199448446419 1135.201782226562 +217.106517261674 24668.234375000000 +218.109309491595 2956.000000000000 +219.093865591968 1651.447875976562 +223.063083038321 1023.289855957031 +224.126999324278 1244.013549804688 +228.194909587291 1515.000000000000 +235.168922209485 1338.772705078125 +239.088175881437 4929.000000000000 +242.283671298138 1141.513061523438 +246.861316031859 3671.000000000000 +249.183479803263 2009.000000000000 +250.177560643419 1103.000000000000 +250.999840013086 17475.000000000000 +252.002546713265 1125.000000000000 +252.996889788006 11501.701171875000 +254.993570660448 2016.000000000000 +267.171021424450 1593.530273437500 +279.092872569360 2087.000000000000 +281.050876576574 1372.317993164062 +286.179193418835 15427.296875000000 +287.182603223176 3253.493164062500 +292.120694136232 76277.781250000000 +293.123405762313 12833.188476562500 +294.117725650166 24966.453125000000 +295.120340048140 4475.091308593750 +304.298597795561 1115.000000000000 +311.183886460342 1246.385742187500 +313.038539852560 8339.437500000000 +314.042251974940 1267.000000000000 +315.035831684045 4854.000000000000 +327.007790884067 28309.000000000000 +328.010045566579 2627.000000000000 +329.004756826577 27474.000000000000 +330.008281380043 2723.000000000000 +331.001542223463 9102.000000000000 +332.005373872228 1076.000000000000 +333.002751974480 1548.000000000000 +335.017421250997 1117.000000000000 +348.988673876327 4533.000000000000 +350.986848617700 4252.000000000000 +352.984057117347 1513.000000000000 +371.314467518185 1298.172485351562 +372.064810678069 3984.672607421875 +374.062784787365 3711.000000000000 +376.059186329383 1368.000000000000 +428.892538744371 1053.615112304688 +428.926698994321 1067.593017578125 +430.887270890271 1264.000000000000 +432.882842821351 1019.678100585938 +445.119167648701 2176.000000000000 +446.119905173519 1073.000000000000 +449.152928695156 1143.697509765625 +505.852027617280 3886.000000000000 +506.854372818170 1098.000000000000 +519.136741292354 1050.000000000000 +522.879562540202 1688.000000000000 +529.887966309494 1182.000000000000 +536.162612121417 4851.000000000000 +537.163925187658 2688.887695312500 +538.161274762959 1807.000000000000 +544.338237046413 1475.000000000000 +546.912887449785 2193.394287109375 +610.182769358975 1963.000000000000 +611.184368705221 1079.000000000000 +612.178950467926 1066.000000000000 +645.154812988634 2117.000000000000 +647.153129730253 2652.456542968750 +>ms2peaks +##n_id sample=1 period=1 cycle=667 experiment=2 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=667 experiment=2_0 +##scan 78 +##specref ms_run[1]:sample=1 period=1 cycle=667 experiment=2 +69.047281608210 4.000000000000 +80.946796920336 4.000000000000 +98.974833948229 2.000000000000 +99.045589618734 2.000000000000 +123.020068675281 71.000000000000 +161.133659453649 2.000000000000 +167.050418944662 4.000000000000 +179.083342678960 14.000000000000 +184.079735962511 4.000000000000 +228.794089285502 2.000000000000 +235.148325239736 14.000000000000 +242.924517568223 2.000000000000 +244.803410790479 4.000000000000 +246.228192014639 2.000000000000 +293.318808851730 4.000000000000 +525.020792473106 2.000000000000 +>compound 1_0-669002--81--UNKNOWN +>parentmass 449.154471966734 +>charge 1 +>rt 440.473000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1peaks +52.005642791179 2326.013427734375 +53.013542052105 13325.309570312500 +53.850360208328 1368.689208984375 +54.009421110911 350603.062500000000 +55.006214514093 6487.597167968750 +55.011175731826 7225.198730468750 +55.054348483345 1869.965820312500 +55.934151264860 6032.304199218750 +56.941907285604 2330.847656250000 +59.049586730627 62821.945312500000 +60.044517284837 9713.949218750000 +61.039557181883 1599.177856445312 +63.997492037625 3446.909667968750 +64.005254918402 4611.981933593750 +68.011468810813 27245.654296875000 +68.993677019213 13703.551757812500 +69.008589513229 1262.355468750000 +69.033143503599 1540.852050781250 +69.044747848791 14264.771484375000 +69.494284229830 998.000000000000 +72.936597399084 2202.892578125000 +73.064314652934 1576.000000000000 +76.485917599311 2337.000000000000 +79.020868838396 15323.071289062500 +80.048964095294 12301.551757812500 +81.937027996525 8758.282226562500 +82.996336645083 8668.493164062500 +87.043849597337 1053.125488281250 +87.054789719208 1599.292602539062 +89.059298125228 1082.533569335938 +89.506984518188 1570.193237304688 +90.489389825127 1609.000000000000 +91.053732987865 1119.000000000000 +95.952505447671 2343.706054687500 +97.968173137029 7257.098144531250 +98.983187282682 2220.172363281250 +100.074977916523 1250.000000000000 +102.090776470476 1408.000000000000 +109.942855845878 1548.000000000000 +113.962790570282 2153.000000000000 +114.090899656748 10869.000000000000 +118.085648359175 7172.000000000000 +122.095530346439 3819.967529296875 +122.962914746508 10553.519531250000 +123.090819191577 2055.197998046875 +123.963987089384 1177.000000000000 +130.158555261388 1254.419067382812 +136.020323985227 1440.000000000000 +136.111023400954 1425.000000000000 +137.964110947355 963.000000000000 +139.962366629428 1161.362304687500 +141.090717501472 1258.590087890625 +141.112361515013 1563.057006835938 +141.935520306844 1192.109130859375 +141.957640850243 16016.802734375000 +142.958873238395 1265.995117187500 +147.090689577993 2770.877929687500 +149.022910208935 4874.038085937500 +149.042752223785 3015.926269531250 +151.095744793211 3153.844482421875 +151.110489532796 3488.890869140625 +155.069262948529 1591.492187500000 +155.106518924093 1493.223388671875 +155.973065375718 4726.000000000000 +158.001455491443 991.000000000000 +158.153652787710 12962.330078125000 +159.155435415511 1402.366821289062 +161.095833102064 1759.349853515625 +163.128637575336 1104.128662109375 +164.142330153152 1357.906616210938 +170.095575594983 2309.863037109375 +171.145961377144 1327.000000000000 +173.080688753252 7090.320800781250 +174.127357783942 1352.222290039062 +174.991521442449 6167.003417968750 +176.989228350474 2100.000000000000 +177.054256918550 1123.000000000000 +178.158534857461 1383.000000000000 +179.105584493101 2084.170654296875 +182.961887582712 1825.454833984375 +182.984495644782 1445.177856445312 +186.221158400479 1727.000000000000 +193.157874734960 969.111999511719 +194.116505813537 3746.151123046875 +195.121376693893 2143.172851562500 +198.184587875999 2043.000000000000 +199.168705255450 999.000000000000 +200.200985979511 1162.000000000000 +217.106826227734 23733.167968750000 +218.109596857231 2506.000000000000 +219.094671611610 1729.716918945312 +221.152582776539 1012.134277343750 +223.096303580504 1147.152343750000 +223.114459171910 1025.000000000000 +224.101519806602 972.015014648438 +224.127454904159 1178.907836914062 +228.195397044980 1443.253417968750 +235.167416584044 1038.770751953125 +239.089054467698 4633.000000000000 +242.283732608312 1501.000000000000 +246.862061033287 3476.000000000000 +249.184876694483 1531.000000000000 +250.177608083863 1326.000000000000 +251.000075636729 12485.000000000000 +252.996815724244 8252.000000000000 +254.994305701867 1296.000000000000 +267.171508453986 1205.000000000000 +279.093237779712 2074.000000000000 +281.050822990484 1471.722778320312 +286.179660489996 5753.000000000000 +287.182967661655 1464.435302734375 +292.121109367808 21453.000000000000 +293.123862010729 3640.655761718750 +294.118673433853 7229.000000000000 +295.120792322794 1246.092773437500 +304.298657204513 1229.000000000000 +313.038748698733 2851.000000000000 +315.036348445508 1566.000000000000 +327.008555015640 17449.000000000000 +328.011898692642 1605.000000000000 +329.005385006286 16849.000000000000 +330.008082213811 1534.000000000000 +331.002251040661 5477.017089843750 +333.006380319976 1021.000000000000 +348.989226305693 3382.000000000000 +350.987843612751 3398.589111328125 +372.065544608850 2511.378417968750 +374.062846961058 2346.700439453125 +430.888594927663 1029.000000000000 +432.884470295934 1030.000000000000 +443.204761293615 1605.000000000000 +445.119752496770 1998.680053710938 +446.119835252536 1016.436706542969 +500.277863757763 2454.000000000000 +502.292933186982 1151.000000000000 +505.852599831847 3665.000000000000 +506.854715230544 1076.233764648438 +519.137839558537 1119.000000000000 +522.879040076034 1642.000000000000 +524.370352421756 1137.000000000000 +529.890003756889 1162.000000000000 +536.164390893130 4937.000000000000 +537.165369170595 2331.330810546875 +538.163258138218 2036.000000000000 +544.339439758304 1352.000000000000 +546.917003901480 2253.098144531250 +547.911297950275 1233.514892578125 +610.182801253029 2158.000000000000 +611.183728546344 1155.000000000000 +612.182688818395 1120.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=669 experiment=2 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=669 experiment=2_0 +##scan 81 +##specref ms_run[1]:sample=1 period=1 cycle=669 experiment=2 +209.023878630820 2.000000000000 +262.073138437785 2.000000000000 +320.792994293127 2.000000000000 +323.039050435516 2.000000000000 +330.809605842770 4.000000000000 +358.153168054668 2.000000000000 +365.087626895192 6.000000000000 +367.103190877640 14.000000000000 +371.793254818231 4.000000000000 +408.129247915328 4.000000000000 +566.618969445652 2.000000000000 +>compound 1_0-670002--83--UNKNOWN +>parentmass 307.248320691448 +>charge 1 +>rt 441.393000000000 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1peaks +52.005502489904 2919.979248046875 +53.013397888489 15055.970703125000 +53.850457540194 1421.021362304688 +54.009273624235 342160.312500000000 +55.006045325378 5686.630371093750 +55.011243322323 6178.623535156250 +55.054034653321 2126.622070312500 +55.934030348944 6027.599121093750 +56.941834640970 2404.554443359375 +59.049385822084 61875.332031250000 +60.044298798404 10184.558593750000 +61.039418882913 2286.914306640625 +63.997293806135 3642.552978515625 +64.004847642736 4027.128417968750 +68.011428344057 26806.927734375000 +68.993546780927 12917.697265625000 +69.015455086485 928.613647460938 +69.031159819229 1223.010009765625 +69.044371878291 14776.713867187500 +72.044003163397 1080.000000000000 +72.936333801170 2251.000000000000 +73.063962262087 1833.188842773438 +76.486159144284 2960.903808593750 +79.020716144749 14561.841796875000 +80.048658974045 11887.597656250000 +81.936974199969 9126.329101562500 +82.996066627776 8894.431640625000 +87.043092864853 1103.720214843750 +87.054562513061 1484.481933593750 +89.059751298671 1018.702392578125 +89.069168874472 1109.018798828125 +89.506352897069 1411.000000000000 +90.488778662771 2018.000000000000 +91.053584322790 1352.000000000000 +95.952253672280 2399.000000000000 +97.967799209254 7155.141601562500 +98.983564893197 1457.376342773438 +100.074965446511 1505.000000000000 +102.090335909767 2388.000000000000 +109.942156793370 1988.818359375000 +113.962348441769 2048.000000000000 +114.090417568760 10591.000000000000 +118.085038992309 7314.000000000000 +122.095120750199 3758.000000000000 +122.962813564185 10982.000000000000 +123.090951999080 1665.650756835938 +123.960891375264 1216.000000000000 +129.051162637992 954.252746582031 +136.020066411981 1868.696777343750 +136.111160897340 1338.000000000000 +137.962549666720 1021.476867675781 +139.962456455124 967.809143066406 +141.090094083529 1393.371948242188 +141.111725718067 1640.699096679688 +141.957223441115 16241.401367187500 +142.960221893370 960.000000000000 +147.089935229790 2717.344970703125 +149.022400588010 4741.835937500000 +151.095298354055 2892.759521484375 +151.109553538548 3492.303466796875 +155.069181035901 1716.963378906250 +155.105308039946 1558.000000000000 +155.972698502286 4636.000000000000 +158.152577988199 13197.477539062500 +159.137557909241 1254.460815429688 +159.155841713366 1444.691772460938 +161.094647833130 1737.000000000000 +163.129782609703 1085.899169921875 +164.142227800380 1247.418579101562 +170.094800579081 2435.155029296875 +171.145398436366 1418.625854492188 +172.132459139840 984.577636718750 +173.079692491605 7187.565429687500 +174.126294729419 978.000000000000 +174.990893560601 3594.000000000000 +175.113002236447 1076.870605468750 +175.118543465528 1060.572143554688 +176.988769607129 1185.000000000000 +177.052657602333 1201.000000000000 +178.157354224232 1526.206176757812 +179.105540470790 1871.373413085938 +182.960191636989 2137.037353515625 +182.982644677510 1065.602661132812 +186.220030706931 2126.000000000000 +193.156908978486 1205.063354492188 +194.115568727585 3337.445312500000 +195.121528786220 2022.682128906250 +198.184114343883 2226.273681640625 +199.168257690240 1054.873657226562 +200.199138579701 954.000000000000 +217.106149115686 23597.000000000000 +218.109454650007 2579.000000000000 +219.093799923422 1986.124633789062 +221.151957881474 1025.000000000000 +223.113148468309 972.000000000000 +224.126318639839 1198.000366210938 +228.194605138727 1777.935424804688 +235.166345240972 1306.823242187500 +239.087625655101 5033.000000000000 +242.282985022539 1402.000000000000 +246.861393206100 3629.000000000000 +249.183820941524 1474.000000000000 +250.177181466148 1444.000000000000 +250.999070868183 7189.396972656250 +251.184696020425 1159.000000000000 +252.996090529354 4943.000000000000 +267.170580383807 1575.882812500000 +279.092865651629 2285.360595703125 +281.050191631858 1408.404785156250 +284.163355479766 1688.000000000000 +286.178387675162 2125.000000000000 +287.887736000422 984.000000000000 +292.120053575647 9470.024414062500 +293.122726732828 1594.095947265625 +294.118173438154 2908.000000000000 +304.297425827232 1045.024536132812 +313.036947548503 1115.000000000000 +327.007528542749 10457.000000000000 +328.010128341285 1133.000000000000 +329.004066317044 10255.000000000000 +330.007084479398 958.000000000000 +330.204749181397 3234.000000000000 +331.001200672383 3629.000000000000 +348.988996290768 2065.000000000000 +350.984768962296 2137.000000000000 +371.100107833629 1073.000000000000 +371.315156882146 1069.000000000000 +372.064612891210 1790.998168945312 +374.062069424001 1419.000000000000 +430.886400445887 1294.870605468750 +443.203561604514 2349.000000000000 +445.116891824517 2658.000000000000 +446.119595467672 975.000000000000 +462.145315654701 931.000000000000 +500.274305412794 3917.534912109375 +501.277477578144 1018.000000000000 +502.289359881166 1109.000000000000 +505.850608925330 4085.000000000000 +506.851852727775 1183.000000000000 +522.876231755946 1752.915405273438 +523.871845553561 960.000000000000 +529.887801193018 1230.000000000000 +536.163393449586 4412.000000000000 +537.163890396426 2608.000000000000 +538.160325642661 1692.000000000000 +544.336478177375 1628.000000000000 +546.912331841281 2476.000000000000 +547.911264543609 1106.000000000000 +610.181660414095 1869.000000000000 +611.181059938071 1218.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=670 experiment=2 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=670 experiment=2_0 +##scan 83 +##specref ms_run[1]:sample=1 period=1 cycle=670 experiment=2 +149.021653923963 24.000000000000 +159.887866099153 6.000000000000 +>compound 1_0-670003--84--UNKNOWN +>parentmass 443.203561604514 +>charge 1 +>rt 441.393000000000 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +443.203561604514 2349.000000000000 +>ms1peaks +52.005502489904 2919.979248046875 +53.013397888489 15055.970703125000 +53.850457540194 1421.021362304688 +54.009273624235 342160.312500000000 +55.006045325378 5686.630371093750 +55.011243322323 6178.623535156250 +55.054034653321 2126.622070312500 +55.934030348944 6027.599121093750 +56.941834640970 2404.554443359375 +59.049385822084 61875.332031250000 +60.044298798404 10184.558593750000 +61.039418882913 2286.914306640625 +63.997293806135 3642.552978515625 +64.004847642736 4027.128417968750 +68.011428344057 26806.927734375000 +68.993546780927 12917.697265625000 +69.015455086485 928.613647460938 +69.031159819229 1223.010009765625 +69.044371878291 14776.713867187500 +72.044003163397 1080.000000000000 +72.936333801170 2251.000000000000 +73.063962262087 1833.188842773438 +76.486159144284 2960.903808593750 +79.020716144749 14561.841796875000 +80.048658974045 11887.597656250000 +81.936974199969 9126.329101562500 +82.996066627776 8894.431640625000 +87.043092864853 1103.720214843750 +87.054562513061 1484.481933593750 +89.059751298671 1018.702392578125 +89.069168874472 1109.018798828125 +89.506352897069 1411.000000000000 +90.488778662771 2018.000000000000 +91.053584322790 1352.000000000000 +95.952253672280 2399.000000000000 +97.967799209254 7155.141601562500 +98.983564893197 1457.376342773438 +100.074965446511 1505.000000000000 +102.090335909767 2388.000000000000 +109.942156793370 1988.818359375000 +113.962348441769 2048.000000000000 +114.090417568760 10591.000000000000 +118.085038992309 7314.000000000000 +122.095120750199 3758.000000000000 +122.962813564185 10982.000000000000 +123.090951999080 1665.650756835938 +123.960891375264 1216.000000000000 +129.051162637992 954.252746582031 +136.020066411981 1868.696777343750 +136.111160897340 1338.000000000000 +137.962549666720 1021.476867675781 +139.962456455124 967.809143066406 +141.090094083529 1393.371948242188 +141.111725718067 1640.699096679688 +141.957223441115 16241.401367187500 +142.960221893370 960.000000000000 +147.089935229790 2717.344970703125 +149.022400588010 4741.835937500000 +151.095298354055 2892.759521484375 +151.109553538548 3492.303466796875 +155.069181035901 1716.963378906250 +155.105308039946 1558.000000000000 +155.972698502286 4636.000000000000 +158.152577988199 13197.477539062500 +159.137557909241 1254.460815429688 +159.155841713366 1444.691772460938 +161.094647833130 1737.000000000000 +163.129782609703 1085.899169921875 +164.142227800380 1247.418579101562 +170.094800579081 2435.155029296875 +171.145398436366 1418.625854492188 +172.132459139840 984.577636718750 +173.079692491605 7187.565429687500 +174.126294729419 978.000000000000 +174.990893560601 3594.000000000000 +175.113002236447 1076.870605468750 +175.118543465528 1060.572143554688 +176.988769607129 1185.000000000000 +177.052657602333 1201.000000000000 +178.157354224232 1526.206176757812 +179.105540470790 1871.373413085938 +182.960191636989 2137.037353515625 +182.982644677510 1065.602661132812 +186.220030706931 2126.000000000000 +193.156908978486 1205.063354492188 +194.115568727585 3337.445312500000 +195.121528786220 2022.682128906250 +198.184114343883 2226.273681640625 +199.168257690240 1054.873657226562 +200.199138579701 954.000000000000 +217.106149115686 23597.000000000000 +218.109454650007 2579.000000000000 +219.093799923422 1986.124633789062 +221.151957881474 1025.000000000000 +223.113148468309 972.000000000000 +224.126318639839 1198.000366210938 +228.194605138727 1777.935424804688 +235.166345240972 1306.823242187500 +239.087625655101 5033.000000000000 +242.282985022539 1402.000000000000 +246.861393206100 3629.000000000000 +249.183820941524 1474.000000000000 +250.177181466148 1444.000000000000 +250.999070868183 7189.396972656250 +251.184696020425 1159.000000000000 +252.996090529354 4943.000000000000 +267.170580383807 1575.882812500000 +279.092865651629 2285.360595703125 +281.050191631858 1408.404785156250 +284.163355479766 1688.000000000000 +286.178387675162 2125.000000000000 +287.887736000422 984.000000000000 +292.120053575647 9470.024414062500 +293.122726732828 1594.095947265625 +294.118173438154 2908.000000000000 +304.297425827232 1045.024536132812 +313.036947548503 1115.000000000000 +327.007528542749 10457.000000000000 +328.010128341285 1133.000000000000 +329.004066317044 10255.000000000000 +330.007084479398 958.000000000000 +330.204749181397 3234.000000000000 +331.001200672383 3629.000000000000 +348.988996290768 2065.000000000000 +350.984768962296 2137.000000000000 +371.100107833629 1073.000000000000 +371.315156882146 1069.000000000000 +372.064612891210 1790.998168945312 +374.062069424001 1419.000000000000 +430.886400445887 1294.870605468750 +443.203561604514 2349.000000000000 +445.116891824517 2658.000000000000 +446.119595467672 975.000000000000 +462.145315654701 931.000000000000 +500.274305412794 3917.534912109375 +501.277477578144 1018.000000000000 +502.289359881166 1109.000000000000 +505.850608925330 4085.000000000000 +506.851852727775 1183.000000000000 +522.876231755946 1752.915405273438 +523.871845553561 960.000000000000 +529.887801193018 1230.000000000000 +536.163393449586 4412.000000000000 +537.163890396426 2608.000000000000 +538.160325642661 1692.000000000000 +544.336478177375 1628.000000000000 +546.912331841281 2476.000000000000 +547.911264543609 1106.000000000000 +610.181660414095 1869.000000000000 +611.181059938071 1218.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=670 experiment=3 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=670 experiment=3_0 +##scan 84 +##specref ms_run[1]:sample=1 period=1 cycle=670 experiment=3 +97.007535802977 4.000000000000 +142.940399612615 25.000000000000 +363.252297583836 10.000000000000 +395.212301205891 4.000000000000 +443.210094480654 85.000000000000 +>compound 1_0-670004--85--UNKNOWN +>parentmass 501.277477578144 +>charge 1 +>rt 441.393000000000 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +501.277477578144 1018.000000000000 +>ms1peaks +52.005502489904 2919.979248046875 +53.013397888489 15055.970703125000 +53.850457540194 1421.021362304688 +54.009273624235 342160.312500000000 +55.006045325378 5686.630371093750 +55.011243322323 6178.623535156250 +55.054034653321 2126.622070312500 +55.934030348944 6027.599121093750 +56.941834640970 2404.554443359375 +59.049385822084 61875.332031250000 +60.044298798404 10184.558593750000 +61.039418882913 2286.914306640625 +63.997293806135 3642.552978515625 +64.004847642736 4027.128417968750 +68.011428344057 26806.927734375000 +68.993546780927 12917.697265625000 +69.015455086485 928.613647460938 +69.031159819229 1223.010009765625 +69.044371878291 14776.713867187500 +72.044003163397 1080.000000000000 +72.936333801170 2251.000000000000 +73.063962262087 1833.188842773438 +76.486159144284 2960.903808593750 +79.020716144749 14561.841796875000 +80.048658974045 11887.597656250000 +81.936974199969 9126.329101562500 +82.996066627776 8894.431640625000 +87.043092864853 1103.720214843750 +87.054562513061 1484.481933593750 +89.059751298671 1018.702392578125 +89.069168874472 1109.018798828125 +89.506352897069 1411.000000000000 +90.488778662771 2018.000000000000 +91.053584322790 1352.000000000000 +95.952253672280 2399.000000000000 +97.967799209254 7155.141601562500 +98.983564893197 1457.376342773438 +100.074965446511 1505.000000000000 +102.090335909767 2388.000000000000 +109.942156793370 1988.818359375000 +113.962348441769 2048.000000000000 +114.090417568760 10591.000000000000 +118.085038992309 7314.000000000000 +122.095120750199 3758.000000000000 +122.962813564185 10982.000000000000 +123.090951999080 1665.650756835938 +123.960891375264 1216.000000000000 +129.051162637992 954.252746582031 +136.020066411981 1868.696777343750 +136.111160897340 1338.000000000000 +137.962549666720 1021.476867675781 +139.962456455124 967.809143066406 +141.090094083529 1393.371948242188 +141.111725718067 1640.699096679688 +141.957223441115 16241.401367187500 +142.960221893370 960.000000000000 +147.089935229790 2717.344970703125 +149.022400588010 4741.835937500000 +151.095298354055 2892.759521484375 +151.109553538548 3492.303466796875 +155.069181035901 1716.963378906250 +155.105308039946 1558.000000000000 +155.972698502286 4636.000000000000 +158.152577988199 13197.477539062500 +159.137557909241 1254.460815429688 +159.155841713366 1444.691772460938 +161.094647833130 1737.000000000000 +163.129782609703 1085.899169921875 +164.142227800380 1247.418579101562 +170.094800579081 2435.155029296875 +171.145398436366 1418.625854492188 +172.132459139840 984.577636718750 +173.079692491605 7187.565429687500 +174.126294729419 978.000000000000 +174.990893560601 3594.000000000000 +175.113002236447 1076.870605468750 +175.118543465528 1060.572143554688 +176.988769607129 1185.000000000000 +177.052657602333 1201.000000000000 +178.157354224232 1526.206176757812 +179.105540470790 1871.373413085938 +182.960191636989 2137.037353515625 +182.982644677510 1065.602661132812 +186.220030706931 2126.000000000000 +193.156908978486 1205.063354492188 +194.115568727585 3337.445312500000 +195.121528786220 2022.682128906250 +198.184114343883 2226.273681640625 +199.168257690240 1054.873657226562 +200.199138579701 954.000000000000 +217.106149115686 23597.000000000000 +218.109454650007 2579.000000000000 +219.093799923422 1986.124633789062 +221.151957881474 1025.000000000000 +223.113148468309 972.000000000000 +224.126318639839 1198.000366210938 +228.194605138727 1777.935424804688 +235.166345240972 1306.823242187500 +239.087625655101 5033.000000000000 +242.282985022539 1402.000000000000 +246.861393206100 3629.000000000000 +249.183820941524 1474.000000000000 +250.177181466148 1444.000000000000 +250.999070868183 7189.396972656250 +251.184696020425 1159.000000000000 +252.996090529354 4943.000000000000 +267.170580383807 1575.882812500000 +279.092865651629 2285.360595703125 +281.050191631858 1408.404785156250 +284.163355479766 1688.000000000000 +286.178387675162 2125.000000000000 +287.887736000422 984.000000000000 +292.120053575647 9470.024414062500 +293.122726732828 1594.095947265625 +294.118173438154 2908.000000000000 +304.297425827232 1045.024536132812 +313.036947548503 1115.000000000000 +327.007528542749 10457.000000000000 +328.010128341285 1133.000000000000 +329.004066317044 10255.000000000000 +330.007084479398 958.000000000000 +330.204749181397 3234.000000000000 +331.001200672383 3629.000000000000 +348.988996290768 2065.000000000000 +350.984768962296 2137.000000000000 +371.100107833629 1073.000000000000 +371.315156882146 1069.000000000000 +372.064612891210 1790.998168945312 +374.062069424001 1419.000000000000 +430.886400445887 1294.870605468750 +443.203561604514 2349.000000000000 +445.116891824517 2658.000000000000 +446.119595467672 975.000000000000 +462.145315654701 931.000000000000 +500.274305412794 3917.534912109375 +501.277477578144 1018.000000000000 +502.289359881166 1109.000000000000 +505.850608925330 4085.000000000000 +506.851852727775 1183.000000000000 +522.876231755946 1752.915405273438 +523.871845553561 960.000000000000 +529.887801193018 1230.000000000000 +536.163393449586 4412.000000000000 +537.163890396426 2608.000000000000 +538.160325642661 1692.000000000000 +544.336478177375 1628.000000000000 +546.912331841281 2476.000000000000 +547.911264543609 1106.000000000000 +610.181660414095 1869.000000000000 +611.181059938071 1218.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=670 experiment=4 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=670 experiment=4_0 +##scan 85 +##specref ms_run[1]:sample=1 period=1 cycle=670 experiment=4 +118.070544615718 4.000000000000 +326.834737144019 4.000000000000 +360.264059081384 20.000000000000 +455.249652081793 4.000000000000 +484.331245483398 4.000000000000 +>compound 1_0-671002--87--UNKNOWN +>parentmass 147.063458735746 +>charge 1 +>rt 442.470000000000 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1peaks +52.005571972894 2683.985351562500 +53.013416049500 13925.254882812500 +53.850744121229 1466.910888671875 +54.009245666944 340126.156250000000 +55.006055835556 5868.220703125000 +55.011057294162 6196.977050781250 +55.054382567695 1896.713623046875 +55.934129470830 6652.611816406250 +56.941956468408 2594.830078125000 +59.049473767708 78056.242187500000 +60.044420345921 11606.488281250000 +61.039092123595 1736.846313476562 +63.997582714816 4620.062988281250 +64.004936901302 5290.689941406250 +68.011401411523 27592.947265625000 +68.993467323788 11945.651367187500 +69.007258150241 1217.352661132812 +69.017349703722 1089.865722656250 +69.027677621963 972.662231445312 +69.044605392151 14512.264648437500 +72.044192739575 1070.000000000000 +72.936454915554 2106.646240234375 +73.064434376776 1850.000000000000 +76.486123200618 2437.000000000000 +77.998940260305 963.779663085938 +79.020843989395 17026.771484375000 +80.048836871096 13171.478515625000 +81.936899032580 8495.662109375000 +82.996268290221 9027.541015625000 +83.497021291401 1043.000000000000 +87.043474329062 1284.361450195312 +87.053997312509 1437.068847656250 +89.506430373184 1389.000000000000 +90.488897912972 1841.000000000000 +91.053726740022 1580.000000000000 +95.952187558512 2281.000000000000 +97.967847029609 7436.416503906250 +100.074789024525 1333.000000000000 +102.090193429496 1299.000000000000 +109.942723070578 1624.824096679688 +113.962892364912 1820.000000000000 +114.090398751881 11292.000000000000 +118.085157162043 7223.756835937500 +122.095084104445 3649.000000000000 +122.962851267794 10069.962890625000 +123.091304679020 1766.642944335938 +123.961136214045 1139.000000000000 +124.086250665548 1018.000000000000 +130.157806989122 1155.000000000000 +136.020495360711 1816.758178710938 +136.110888198752 1355.000000000000 +137.962782805182 1220.000000000000 +141.089724088711 1416.203613281250 +141.112476168413 1376.556762695312 +141.935799977624 1498.449340820312 +141.957387754025 16191.641601562500 +142.958978111604 1045.308349609375 +147.090176645567 2539.334960937500 +149.022562050931 5334.132812500000 +149.043139057261 2811.769287109375 +151.095703695487 3197.673095703125 +151.109349575406 3595.801269531250 +153.126049657227 1224.604248046875 +155.069442119982 1498.777343750000 +155.105272559587 1740.136718750000 +155.972976462024 4706.000000000000 +158.001539031910 1009.720825195312 +158.096079267460 1016.118896484375 +158.152930124685 12513.000000000000 +159.155804570318 1513.468872070312 +159.968574214503 993.493408203125 +161.096330494014 1499.058227539062 +163.129541202857 1028.000000000000 +164.141792007088 1496.000000000000 +170.095161911626 2602.887695312500 +171.143396860797 1389.000000000000 +172.133621658026 1073.843139648438 +173.080077014517 7355.811523437500 +174.126709923194 1302.796630859375 +174.991054215466 2748.858154296875 +175.112913754074 1249.883911132812 +177.053709191057 1030.000000000000 +178.157700783186 1735.798217773438 +179.105478565066 1947.000000000000 +182.960510362082 1961.077392578125 +182.983746277961 1109.383544921875 +186.220008605215 1111.000000000000 +193.157023184540 1013.000000000000 +194.115883446918 3250.000000000000 +195.102104665175 1830.362670898438 +195.121278100327 2185.169921875000 +198.184131019778 2388.265869140625 +217.106301982234 22966.000000000000 +218.108898572669 2666.000000000000 +219.094954140787 1837.220214843750 +219.173662961811 971.384216308594 +223.063572560759 999.264953613281 +224.127031888420 1703.086791992188 +228.195264527025 1487.000000000000 +235.168091684004 1101.909667968750 +235.204194572580 972.296752929688 +236.165321964095 967.384216308594 +239.088220810853 5073.000000000000 +240.091958898256 1052.250610351562 +242.283341225902 1636.000000000000 +246.861393288722 3702.000000000000 +249.183061270791 1590.357055664062 +250.177858795454 1589.900756835938 +250.998845286391 4686.000000000000 +251.182608079900 1147.000000000000 +252.996130227507 3540.000000000000 +267.170643672899 1572.000000000000 +279.092246508350 1994.000000000000 +281.049973370523 1631.000000000000 +284.163786591244 9428.000000000000 +285.167047392369 2530.818603515625 +286.177331148907 1403.000000000000 +292.120255878572 4482.000000000000 +294.116925984363 1737.256347656250 +304.298343955697 962.000000000000 +319.282861197491 1092.132812500000 +327.007484123143 6721.000000000000 +329.004185652670 6734.000000000000 +330.205695338320 18501.037109375000 +331.000942726481 2250.433349609375 +331.208760315232 4324.000000000000 +348.988759907734 1316.000000000000 +350.986635190182 1218.000000000000 +352.187519167923 2373.898437500000 +372.065507420746 1052.418579101562 +372.096644276128 1072.114624023438 +430.886670562276 1018.000000000000 +443.203401417909 2073.933837890625 +445.117448054785 2262.000000000000 +446.121314039889 1018.000000000000 +500.275143681127 4578.705078125000 +501.277076860143 1457.026733398438 +502.289369396293 1295.000000000000 +505.852029981186 3904.000000000000 +506.853439498725 1183.340454101562 +522.878681252689 1673.000000000000 +529.890613838136 1162.000000000000 +536.162881059260 5059.000000000000 +537.164952415463 2896.000000000000 +538.161864228505 1832.000000000000 +544.336789553162 1485.000000000000 +546.912396950846 2157.000000000000 +610.182328477423 2077.000000000000 +611.184406168547 1165.000000000000 +612.180339221991 1012.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=671 experiment=2 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=671 experiment=2_0 +##scan 87 +##specref ms_run[1]:sample=1 period=1 cycle=671 experiment=2 +51.021916414762 16.000000000000 +51.031953447264 8.000000000000 +55.015794347033 6.000000000000 +64.927070826482 321.000000000000 +65.189129859287 6.000000000000 +69.044393323118 16.000000000000 +77.039660219643 55.000000000000 +78.217578366971 6.000000000000 +104.050250112536 23.000000000000 +105.953142270002 23.000000000000 +115.052168993658 6.000000000000 +131.059381539449 16.000000000000 +132.065218748622 16.000000000000 +145.072894101031 23.000000000000 +145.106478830558 8.000000000000 +146.094237903706 15.000000000000 +147.089685936793 89.000000000000 +148.097448899203 16.000000000000 +148.104413350666 16.000000000000 +>compound 1_0-671003--88--UNKNOWN +>parentmass 292.120255878572 +>charge 1 +>rt 442.470000000000 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +292.120255878572 4482.000000000000 +>ms1peaks +52.005571972894 2683.985351562500 +53.013416049500 13925.254882812500 +53.850744121229 1466.910888671875 +54.009245666944 340126.156250000000 +55.006055835556 5868.220703125000 +55.011057294162 6196.977050781250 +55.054382567695 1896.713623046875 +55.934129470830 6652.611816406250 +56.941956468408 2594.830078125000 +59.049473767708 78056.242187500000 +60.044420345921 11606.488281250000 +61.039092123595 1736.846313476562 +63.997582714816 4620.062988281250 +64.004936901302 5290.689941406250 +68.011401411523 27592.947265625000 +68.993467323788 11945.651367187500 +69.007258150241 1217.352661132812 +69.017349703722 1089.865722656250 +69.027677621963 972.662231445312 +69.044605392151 14512.264648437500 +72.044192739575 1070.000000000000 +72.936454915554 2106.646240234375 +73.064434376776 1850.000000000000 +76.486123200618 2437.000000000000 +77.998940260305 963.779663085938 +79.020843989395 17026.771484375000 +80.048836871096 13171.478515625000 +81.936899032580 8495.662109375000 +82.996268290221 9027.541015625000 +83.497021291401 1043.000000000000 +87.043474329062 1284.361450195312 +87.053997312509 1437.068847656250 +89.506430373184 1389.000000000000 +90.488897912972 1841.000000000000 +91.053726740022 1580.000000000000 +95.952187558512 2281.000000000000 +97.967847029609 7436.416503906250 +100.074789024525 1333.000000000000 +102.090193429496 1299.000000000000 +109.942723070578 1624.824096679688 +113.962892364912 1820.000000000000 +114.090398751881 11292.000000000000 +118.085157162043 7223.756835937500 +122.095084104445 3649.000000000000 +122.962851267794 10069.962890625000 +123.091304679020 1766.642944335938 +123.961136214045 1139.000000000000 +124.086250665548 1018.000000000000 +130.157806989122 1155.000000000000 +136.020495360711 1816.758178710938 +136.110888198752 1355.000000000000 +137.962782805182 1220.000000000000 +141.089724088711 1416.203613281250 +141.112476168413 1376.556762695312 +141.935799977624 1498.449340820312 +141.957387754025 16191.641601562500 +142.958978111604 1045.308349609375 +147.090176645567 2539.334960937500 +149.022562050931 5334.132812500000 +149.043139057261 2811.769287109375 +151.095703695487 3197.673095703125 +151.109349575406 3595.801269531250 +153.126049657227 1224.604248046875 +155.069442119982 1498.777343750000 +155.105272559587 1740.136718750000 +155.972976462024 4706.000000000000 +158.001539031910 1009.720825195312 +158.096079267460 1016.118896484375 +158.152930124685 12513.000000000000 +159.155804570318 1513.468872070312 +159.968574214503 993.493408203125 +161.096330494014 1499.058227539062 +163.129541202857 1028.000000000000 +164.141792007088 1496.000000000000 +170.095161911626 2602.887695312500 +171.143396860797 1389.000000000000 +172.133621658026 1073.843139648438 +173.080077014517 7355.811523437500 +174.126709923194 1302.796630859375 +174.991054215466 2748.858154296875 +175.112913754074 1249.883911132812 +177.053709191057 1030.000000000000 +178.157700783186 1735.798217773438 +179.105478565066 1947.000000000000 +182.960510362082 1961.077392578125 +182.983746277961 1109.383544921875 +186.220008605215 1111.000000000000 +193.157023184540 1013.000000000000 +194.115883446918 3250.000000000000 +195.102104665175 1830.362670898438 +195.121278100327 2185.169921875000 +198.184131019778 2388.265869140625 +217.106301982234 22966.000000000000 +218.108898572669 2666.000000000000 +219.094954140787 1837.220214843750 +219.173662961811 971.384216308594 +223.063572560759 999.264953613281 +224.127031888420 1703.086791992188 +228.195264527025 1487.000000000000 +235.168091684004 1101.909667968750 +235.204194572580 972.296752929688 +236.165321964095 967.384216308594 +239.088220810853 5073.000000000000 +240.091958898256 1052.250610351562 +242.283341225902 1636.000000000000 +246.861393288722 3702.000000000000 +249.183061270791 1590.357055664062 +250.177858795454 1589.900756835938 +250.998845286391 4686.000000000000 +251.182608079900 1147.000000000000 +252.996130227507 3540.000000000000 +267.170643672899 1572.000000000000 +279.092246508350 1994.000000000000 +281.049973370523 1631.000000000000 +284.163786591244 9428.000000000000 +285.167047392369 2530.818603515625 +286.177331148907 1403.000000000000 +292.120255878572 4482.000000000000 +294.116925984363 1737.256347656250 +304.298343955697 962.000000000000 +319.282861197491 1092.132812500000 +327.007484123143 6721.000000000000 +329.004185652670 6734.000000000000 +330.205695338320 18501.037109375000 +331.000942726481 2250.433349609375 +331.208760315232 4324.000000000000 +348.988759907734 1316.000000000000 +350.986635190182 1218.000000000000 +352.187519167923 2373.898437500000 +372.065507420746 1052.418579101562 +372.096644276128 1072.114624023438 +430.886670562276 1018.000000000000 +443.203401417909 2073.933837890625 +445.117448054785 2262.000000000000 +446.121314039889 1018.000000000000 +500.275143681127 4578.705078125000 +501.277076860143 1457.026733398438 +502.289369396293 1295.000000000000 +505.852029981186 3904.000000000000 +506.853439498725 1183.340454101562 +522.878681252689 1673.000000000000 +529.890613838136 1162.000000000000 +536.162881059260 5059.000000000000 +537.164952415463 2896.000000000000 +538.161864228505 1832.000000000000 +544.336789553162 1485.000000000000 +546.912396950846 2157.000000000000 +610.182328477423 2077.000000000000 +611.184406168547 1165.000000000000 +612.180339221991 1012.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=671 experiment=3 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=671 experiment=3_0 +##scan 88 +##specref ms_run[1]:sample=1 period=1 cycle=671 experiment=3 +57.069755713333 10.000000000000 +70.040360970156 214.000000000000 +124.963857200298 4.000000000000 +125.015592086189 103.000000000000 +140.102685801612 4.000000000000 +159.113203687794 4.000000000000 +160.912129438002 10.000000000000 +170.108907096921 4.000000000000 +>compound 1_0-671004--89--UNKNOWN +>parentmass 500.275143681127 +>charge 1 +>rt 442.470000000000 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +500.275143681127 4578.705078125000 +>ms1peaks +52.005571972894 2683.985351562500 +53.013416049500 13925.254882812500 +53.850744121229 1466.910888671875 +54.009245666944 340126.156250000000 +55.006055835556 5868.220703125000 +55.011057294162 6196.977050781250 +55.054382567695 1896.713623046875 +55.934129470830 6652.611816406250 +56.941956468408 2594.830078125000 +59.049473767708 78056.242187500000 +60.044420345921 11606.488281250000 +61.039092123595 1736.846313476562 +63.997582714816 4620.062988281250 +64.004936901302 5290.689941406250 +68.011401411523 27592.947265625000 +68.993467323788 11945.651367187500 +69.007258150241 1217.352661132812 +69.017349703722 1089.865722656250 +69.027677621963 972.662231445312 +69.044605392151 14512.264648437500 +72.044192739575 1070.000000000000 +72.936454915554 2106.646240234375 +73.064434376776 1850.000000000000 +76.486123200618 2437.000000000000 +77.998940260305 963.779663085938 +79.020843989395 17026.771484375000 +80.048836871096 13171.478515625000 +81.936899032580 8495.662109375000 +82.996268290221 9027.541015625000 +83.497021291401 1043.000000000000 +87.043474329062 1284.361450195312 +87.053997312509 1437.068847656250 +89.506430373184 1389.000000000000 +90.488897912972 1841.000000000000 +91.053726740022 1580.000000000000 +95.952187558512 2281.000000000000 +97.967847029609 7436.416503906250 +100.074789024525 1333.000000000000 +102.090193429496 1299.000000000000 +109.942723070578 1624.824096679688 +113.962892364912 1820.000000000000 +114.090398751881 11292.000000000000 +118.085157162043 7223.756835937500 +122.095084104445 3649.000000000000 +122.962851267794 10069.962890625000 +123.091304679020 1766.642944335938 +123.961136214045 1139.000000000000 +124.086250665548 1018.000000000000 +130.157806989122 1155.000000000000 +136.020495360711 1816.758178710938 +136.110888198752 1355.000000000000 +137.962782805182 1220.000000000000 +141.089724088711 1416.203613281250 +141.112476168413 1376.556762695312 +141.935799977624 1498.449340820312 +141.957387754025 16191.641601562500 +142.958978111604 1045.308349609375 +147.090176645567 2539.334960937500 +149.022562050931 5334.132812500000 +149.043139057261 2811.769287109375 +151.095703695487 3197.673095703125 +151.109349575406 3595.801269531250 +153.126049657227 1224.604248046875 +155.069442119982 1498.777343750000 +155.105272559587 1740.136718750000 +155.972976462024 4706.000000000000 +158.001539031910 1009.720825195312 +158.096079267460 1016.118896484375 +158.152930124685 12513.000000000000 +159.155804570318 1513.468872070312 +159.968574214503 993.493408203125 +161.096330494014 1499.058227539062 +163.129541202857 1028.000000000000 +164.141792007088 1496.000000000000 +170.095161911626 2602.887695312500 +171.143396860797 1389.000000000000 +172.133621658026 1073.843139648438 +173.080077014517 7355.811523437500 +174.126709923194 1302.796630859375 +174.991054215466 2748.858154296875 +175.112913754074 1249.883911132812 +177.053709191057 1030.000000000000 +178.157700783186 1735.798217773438 +179.105478565066 1947.000000000000 +182.960510362082 1961.077392578125 +182.983746277961 1109.383544921875 +186.220008605215 1111.000000000000 +193.157023184540 1013.000000000000 +194.115883446918 3250.000000000000 +195.102104665175 1830.362670898438 +195.121278100327 2185.169921875000 +198.184131019778 2388.265869140625 +217.106301982234 22966.000000000000 +218.108898572669 2666.000000000000 +219.094954140787 1837.220214843750 +219.173662961811 971.384216308594 +223.063572560759 999.264953613281 +224.127031888420 1703.086791992188 +228.195264527025 1487.000000000000 +235.168091684004 1101.909667968750 +235.204194572580 972.296752929688 +236.165321964095 967.384216308594 +239.088220810853 5073.000000000000 +240.091958898256 1052.250610351562 +242.283341225902 1636.000000000000 +246.861393288722 3702.000000000000 +249.183061270791 1590.357055664062 +250.177858795454 1589.900756835938 +250.998845286391 4686.000000000000 +251.182608079900 1147.000000000000 +252.996130227507 3540.000000000000 +267.170643672899 1572.000000000000 +279.092246508350 1994.000000000000 +281.049973370523 1631.000000000000 +284.163786591244 9428.000000000000 +285.167047392369 2530.818603515625 +286.177331148907 1403.000000000000 +292.120255878572 4482.000000000000 +294.116925984363 1737.256347656250 +304.298343955697 962.000000000000 +319.282861197491 1092.132812500000 +327.007484123143 6721.000000000000 +329.004185652670 6734.000000000000 +330.205695338320 18501.037109375000 +331.000942726481 2250.433349609375 +331.208760315232 4324.000000000000 +348.988759907734 1316.000000000000 +350.986635190182 1218.000000000000 +352.187519167923 2373.898437500000 +372.065507420746 1052.418579101562 +372.096644276128 1072.114624023438 +430.886670562276 1018.000000000000 +443.203401417909 2073.933837890625 +445.117448054785 2262.000000000000 +446.121314039889 1018.000000000000 +500.275143681127 4578.705078125000 +501.277076860143 1457.026733398438 +502.289369396293 1295.000000000000 +505.852029981186 3904.000000000000 +506.853439498725 1183.340454101562 +522.878681252689 1673.000000000000 +529.890613838136 1162.000000000000 +536.162881059260 5059.000000000000 +537.164952415463 2896.000000000000 +538.161864228505 1832.000000000000 +544.336789553162 1485.000000000000 +546.912396950846 2157.000000000000 +610.182328477423 2077.000000000000 +611.184406168547 1165.000000000000 +612.180339221991 1012.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=671 experiment=4 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=671 experiment=4_0 +##scan 89 +##specref ms_run[1]:sample=1 period=1 cycle=671 experiment=4 +62.059155828822 4.000000000000 +79.053930177011 15.000000000000 +79.060576741519 15.000000000000 +90.801389708484 5.000000000000 +93.068615397971 20.000000000000 +95.085327115665 15.000000000000 +128.060874799757 4.000000000000 +129.053180599493 4.000000000000 +131.086675747059 10.000000000000 +143.082883739412 15.000000000000 +145.099187643486 20.000000000000 +145.113822695048 20.000000000000 +159.115218707037 20.000000000000 +185.132825897877 10.000000000000 +201.165067733191 10.000000000000 +335.726345613846 4.000000000000 +359.257631216934 110.000000000000 +363.792342312640 4.000000000000 +412.757341478024 4.000000000000 +500.396031833968 15.000000000000 +>compound 1_0-672002--91--UNKNOWN +>parentmass 221.088310606481 +>charge 1 +>rt 443.395000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1peaks +52.005544915054 2669.474365234375 +53.013551340862 13553.616210937500 +53.850319873685 1562.416137695312 +54.009295460141 350346.968750000000 +55.006232450041 6054.532226562500 +55.011400293523 5668.021972656250 +55.054088819555 2120.189697265625 +55.934244731716 6271.203125000000 +56.049143889161 1358.881469726562 +56.941953500477 2534.552001953125 +59.049514349790 70956.859375000000 +60.044524075355 9990.065429687500 +61.039510392391 1670.430175781250 +63.997568260643 4994.024414062500 +64.005249459891 4367.861328125000 +68.011580640977 27065.914062500000 +68.993639496335 12252.266601562500 +69.005877628210 1509.686279296875 +69.017951429187 1048.142456054688 +69.028795366421 1212.364013671875 +69.033416880469 2425.456298828125 +69.044475127901 14200.274414062500 +72.043911262079 1047.768676757812 +72.936745182577 2304.000000000000 +73.064006904959 2008.000000000000 +76.486423281518 2454.000000000000 +79.020906594717 17032.697265625000 +80.049070164503 12649.314453125000 +81.937012714698 8319.495117187500 +82.996431445572 8764.137695312500 +87.043393235112 1232.281005859375 +87.054792686957 1518.675170898438 +89.069847152859 1050.033203125000 +89.506363758374 1415.000000000000 +90.488720057772 1559.000000000000 +91.053497074514 1595.000000000000 +95.952093916466 2386.127685546875 +97.968041952191 7744.000000000000 +98.983249125195 1139.375122070312 +100.074777919595 1467.000000000000 +102.090735307891 1751.000000000000 +109.942992765391 1488.000000000000 +113.962952776103 1955.000000000000 +114.090639111654 12047.000000000000 +115.094045291856 1182.658081054688 +118.085381007607 6860.000000000000 +122.095829280493 3822.356689453125 +122.962971242620 11040.000000000000 +123.091678498053 1679.856201171875 +123.961762994075 1098.258056640625 +130.157840168158 1119.000000000000 +136.020149746073 1669.866455078125 +136.111310877244 1341.000000000000 +140.067628807799 1162.000000000000 +141.090078870202 1643.171630859375 +141.111437940929 1729.282836914062 +141.957685970109 16086.459960937500 +142.959246965238 1148.000000000000 +147.090589854954 3068.466064453125 +149.022334764391 5334.539062500000 +149.043235756254 1886.732055664062 +151.095665867172 2545.785156250000 +151.109889323553 2845.160888671875 +153.126202938286 1251.000000000000 +155.068698559926 1831.228393554688 +155.105136157922 1766.739746093750 +155.972900798788 5044.702636718750 +158.001722902179 1019.458251953125 +158.152913165967 13222.000000000000 +159.136999906374 1078.437744140625 +159.155949077606 1518.550659179688 +159.968039748098 1109.521972656250 +161.095208784413 1748.000000000000 +163.127847814262 1093.649536132812 +164.142644410696 1336.929931640625 +170.095359013462 2420.095214843750 +170.116522346417 1229.720581054688 +171.144173752482 1743.616210937500 +172.132921291764 1230.203735351562 +173.079731517168 7818.569824218750 +174.126736302445 1051.000000000000 +174.990939505926 1873.182495117188 +175.115501629616 1461.343139648438 +177.053709884557 1232.000000000000 +178.157358166358 1594.672851562500 +179.105733699336 2104.277099609375 +182.960410089777 1964.621215820312 +182.981552067909 1607.178710937500 +186.220555642350 1910.688720703125 +194.115328787792 3346.358154296875 +195.102092530429 1449.948242187500 +195.121799498262 2175.121093750000 +198.184334414475 2180.954101562500 +199.167776678702 1068.513305664062 +200.199409274689 1216.000000000000 +217.106206625083 25450.615234375000 +218.109896913645 3163.469238281250 +219.094813781298 1892.000000000000 +221.151434865998 1047.000000000000 +224.127583389619 1388.000000000000 +228.195283855782 1552.127075195312 +235.168202790032 1154.130615234375 +239.088136182276 5438.000000000000 +242.282849523447 1469.000000000000 +246.861483901160 3602.000000000000 +249.183847428647 1271.828369140625 +250.178570286073 1284.051147460938 +250.999278179609 4386.000000000000 +251.184308483615 1366.000000000000 +252.996209396160 3208.000000000000 +267.169924712582 1473.000000000000 +279.092450302349 2124.976074218750 +281.050036431003 1596.000000000000 +284.164019142692 16584.849609375000 +285.167688193069 4244.000000000000 +286.177652387269 1902.630249023438 +292.119396763735 2953.000000000000 +304.297724225733 1133.000000000000 +307.246725118529 1544.000000000000 +327.006882390785 5937.000000000000 +329.004668217108 5577.000000000000 +330.205694675668 33748.000000000000 +331.001581002942 1874.000000000000 +331.209367752674 7509.000000000000 +332.212747827332 1230.000000000000 +348.989870594472 1317.000000000000 +350.985664795103 1039.000000000000 +352.187263229768 3730.119140625000 +352.240201176670 1104.066284179688 +372.065696265231 1078.000000000000 +372.095820360838 1127.587158203125 +432.883118778360 1029.005737304688 +443.202786454542 1836.679443359375 +443.256567602296 1121.066772460938 +445.118014301267 2288.000000000000 +446.118701214097 1152.000000000000 +500.274823295404 5759.000000000000 +501.278532265372 1543.000000000000 +502.289374768504 1241.000000000000 +505.851712020697 3593.000000000000 +522.877612194810 1539.000000000000 +524.369695159526 1035.000000000000 +529.888030883274 1359.000000000000 +536.163344952678 4738.000000000000 +537.164020603528 2668.000000000000 +538.161288817548 1821.000000000000 +544.338553165118 1444.854980468750 +546.912838554417 2087.000000000000 +610.182090595376 2128.951416015625 +611.182397885889 1270.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=672 experiment=2 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=672 experiment=2_0 +##scan 91 +##specref ms_run[1]:sample=1 period=1 cycle=672 experiment=2 +57.068611721880 16.000000000000 +57.071864679321 16.000000000000 +171.091465277123 6.000000000000 +>compound 1_0-672003--92--UNKNOWN +>parentmass 352.187263229768 +>charge 1 +>rt 443.395000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +352.187263229768 3730.119140625000 +>ms1peaks +52.005544915054 2669.474365234375 +53.013551340862 13553.616210937500 +53.850319873685 1562.416137695312 +54.009295460141 350346.968750000000 +55.006232450041 6054.532226562500 +55.011400293523 5668.021972656250 +55.054088819555 2120.189697265625 +55.934244731716 6271.203125000000 +56.049143889161 1358.881469726562 +56.941953500477 2534.552001953125 +59.049514349790 70956.859375000000 +60.044524075355 9990.065429687500 +61.039510392391 1670.430175781250 +63.997568260643 4994.024414062500 +64.005249459891 4367.861328125000 +68.011580640977 27065.914062500000 +68.993639496335 12252.266601562500 +69.005877628210 1509.686279296875 +69.017951429187 1048.142456054688 +69.028795366421 1212.364013671875 +69.033416880469 2425.456298828125 +69.044475127901 14200.274414062500 +72.043911262079 1047.768676757812 +72.936745182577 2304.000000000000 +73.064006904959 2008.000000000000 +76.486423281518 2454.000000000000 +79.020906594717 17032.697265625000 +80.049070164503 12649.314453125000 +81.937012714698 8319.495117187500 +82.996431445572 8764.137695312500 +87.043393235112 1232.281005859375 +87.054792686957 1518.675170898438 +89.069847152859 1050.033203125000 +89.506363758374 1415.000000000000 +90.488720057772 1559.000000000000 +91.053497074514 1595.000000000000 +95.952093916466 2386.127685546875 +97.968041952191 7744.000000000000 +98.983249125195 1139.375122070312 +100.074777919595 1467.000000000000 +102.090735307891 1751.000000000000 +109.942992765391 1488.000000000000 +113.962952776103 1955.000000000000 +114.090639111654 12047.000000000000 +115.094045291856 1182.658081054688 +118.085381007607 6860.000000000000 +122.095829280493 3822.356689453125 +122.962971242620 11040.000000000000 +123.091678498053 1679.856201171875 +123.961762994075 1098.258056640625 +130.157840168158 1119.000000000000 +136.020149746073 1669.866455078125 +136.111310877244 1341.000000000000 +140.067628807799 1162.000000000000 +141.090078870202 1643.171630859375 +141.111437940929 1729.282836914062 +141.957685970109 16086.459960937500 +142.959246965238 1148.000000000000 +147.090589854954 3068.466064453125 +149.022334764391 5334.539062500000 +149.043235756254 1886.732055664062 +151.095665867172 2545.785156250000 +151.109889323553 2845.160888671875 +153.126202938286 1251.000000000000 +155.068698559926 1831.228393554688 +155.105136157922 1766.739746093750 +155.972900798788 5044.702636718750 +158.001722902179 1019.458251953125 +158.152913165967 13222.000000000000 +159.136999906374 1078.437744140625 +159.155949077606 1518.550659179688 +159.968039748098 1109.521972656250 +161.095208784413 1748.000000000000 +163.127847814262 1093.649536132812 +164.142644410696 1336.929931640625 +170.095359013462 2420.095214843750 +170.116522346417 1229.720581054688 +171.144173752482 1743.616210937500 +172.132921291764 1230.203735351562 +173.079731517168 7818.569824218750 +174.126736302445 1051.000000000000 +174.990939505926 1873.182495117188 +175.115501629616 1461.343139648438 +177.053709884557 1232.000000000000 +178.157358166358 1594.672851562500 +179.105733699336 2104.277099609375 +182.960410089777 1964.621215820312 +182.981552067909 1607.178710937500 +186.220555642350 1910.688720703125 +194.115328787792 3346.358154296875 +195.102092530429 1449.948242187500 +195.121799498262 2175.121093750000 +198.184334414475 2180.954101562500 +199.167776678702 1068.513305664062 +200.199409274689 1216.000000000000 +217.106206625083 25450.615234375000 +218.109896913645 3163.469238281250 +219.094813781298 1892.000000000000 +221.151434865998 1047.000000000000 +224.127583389619 1388.000000000000 +228.195283855782 1552.127075195312 +235.168202790032 1154.130615234375 +239.088136182276 5438.000000000000 +242.282849523447 1469.000000000000 +246.861483901160 3602.000000000000 +249.183847428647 1271.828369140625 +250.178570286073 1284.051147460938 +250.999278179609 4386.000000000000 +251.184308483615 1366.000000000000 +252.996209396160 3208.000000000000 +267.169924712582 1473.000000000000 +279.092450302349 2124.976074218750 +281.050036431003 1596.000000000000 +284.164019142692 16584.849609375000 +285.167688193069 4244.000000000000 +286.177652387269 1902.630249023438 +292.119396763735 2953.000000000000 +304.297724225733 1133.000000000000 +307.246725118529 1544.000000000000 +327.006882390785 5937.000000000000 +329.004668217108 5577.000000000000 +330.205694675668 33748.000000000000 +331.001581002942 1874.000000000000 +331.209367752674 7509.000000000000 +332.212747827332 1230.000000000000 +348.989870594472 1317.000000000000 +350.985664795103 1039.000000000000 +352.187263229768 3730.119140625000 +352.240201176670 1104.066284179688 +372.065696265231 1078.000000000000 +372.095820360838 1127.587158203125 +432.883118778360 1029.005737304688 +443.202786454542 1836.679443359375 +443.256567602296 1121.066772460938 +445.118014301267 2288.000000000000 +446.118701214097 1152.000000000000 +500.274823295404 5759.000000000000 +501.278532265372 1543.000000000000 +502.289374768504 1241.000000000000 +505.851712020697 3593.000000000000 +522.877612194810 1539.000000000000 +524.369695159526 1035.000000000000 +529.888030883274 1359.000000000000 +536.163344952678 4738.000000000000 +537.164020603528 2668.000000000000 +538.161288817548 1821.000000000000 +544.338553165118 1444.854980468750 +546.912838554417 2087.000000000000 +610.182090595376 2128.951416015625 +611.182397885889 1270.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=672 experiment=3 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=672 experiment=3_0 +##scan 92 +##specref ms_run[1]:sample=1 period=1 cycle=672 experiment=3 +58.710967694780 6.000000000000 +155.104305371420 6.000000000000 +278.116696075956 39.000000000000 +>compound 1_0-672004--93--UNKNOWN +>parentmass 359.254950524106 +>charge 1 +>rt 443.395000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1peaks +52.005544915054 2669.474365234375 +53.013551340862 13553.616210937500 +53.850319873685 1562.416137695312 +54.009295460141 350346.968750000000 +55.006232450041 6054.532226562500 +55.011400293523 5668.021972656250 +55.054088819555 2120.189697265625 +55.934244731716 6271.203125000000 +56.049143889161 1358.881469726562 +56.941953500477 2534.552001953125 +59.049514349790 70956.859375000000 +60.044524075355 9990.065429687500 +61.039510392391 1670.430175781250 +63.997568260643 4994.024414062500 +64.005249459891 4367.861328125000 +68.011580640977 27065.914062500000 +68.993639496335 12252.266601562500 +69.005877628210 1509.686279296875 +69.017951429187 1048.142456054688 +69.028795366421 1212.364013671875 +69.033416880469 2425.456298828125 +69.044475127901 14200.274414062500 +72.043911262079 1047.768676757812 +72.936745182577 2304.000000000000 +73.064006904959 2008.000000000000 +76.486423281518 2454.000000000000 +79.020906594717 17032.697265625000 +80.049070164503 12649.314453125000 +81.937012714698 8319.495117187500 +82.996431445572 8764.137695312500 +87.043393235112 1232.281005859375 +87.054792686957 1518.675170898438 +89.069847152859 1050.033203125000 +89.506363758374 1415.000000000000 +90.488720057772 1559.000000000000 +91.053497074514 1595.000000000000 +95.952093916466 2386.127685546875 +97.968041952191 7744.000000000000 +98.983249125195 1139.375122070312 +100.074777919595 1467.000000000000 +102.090735307891 1751.000000000000 +109.942992765391 1488.000000000000 +113.962952776103 1955.000000000000 +114.090639111654 12047.000000000000 +115.094045291856 1182.658081054688 +118.085381007607 6860.000000000000 +122.095829280493 3822.356689453125 +122.962971242620 11040.000000000000 +123.091678498053 1679.856201171875 +123.961762994075 1098.258056640625 +130.157840168158 1119.000000000000 +136.020149746073 1669.866455078125 +136.111310877244 1341.000000000000 +140.067628807799 1162.000000000000 +141.090078870202 1643.171630859375 +141.111437940929 1729.282836914062 +141.957685970109 16086.459960937500 +142.959246965238 1148.000000000000 +147.090589854954 3068.466064453125 +149.022334764391 5334.539062500000 +149.043235756254 1886.732055664062 +151.095665867172 2545.785156250000 +151.109889323553 2845.160888671875 +153.126202938286 1251.000000000000 +155.068698559926 1831.228393554688 +155.105136157922 1766.739746093750 +155.972900798788 5044.702636718750 +158.001722902179 1019.458251953125 +158.152913165967 13222.000000000000 +159.136999906374 1078.437744140625 +159.155949077606 1518.550659179688 +159.968039748098 1109.521972656250 +161.095208784413 1748.000000000000 +163.127847814262 1093.649536132812 +164.142644410696 1336.929931640625 +170.095359013462 2420.095214843750 +170.116522346417 1229.720581054688 +171.144173752482 1743.616210937500 +172.132921291764 1230.203735351562 +173.079731517168 7818.569824218750 +174.126736302445 1051.000000000000 +174.990939505926 1873.182495117188 +175.115501629616 1461.343139648438 +177.053709884557 1232.000000000000 +178.157358166358 1594.672851562500 +179.105733699336 2104.277099609375 +182.960410089777 1964.621215820312 +182.981552067909 1607.178710937500 +186.220555642350 1910.688720703125 +194.115328787792 3346.358154296875 +195.102092530429 1449.948242187500 +195.121799498262 2175.121093750000 +198.184334414475 2180.954101562500 +199.167776678702 1068.513305664062 +200.199409274689 1216.000000000000 +217.106206625083 25450.615234375000 +218.109896913645 3163.469238281250 +219.094813781298 1892.000000000000 +221.151434865998 1047.000000000000 +224.127583389619 1388.000000000000 +228.195283855782 1552.127075195312 +235.168202790032 1154.130615234375 +239.088136182276 5438.000000000000 +242.282849523447 1469.000000000000 +246.861483901160 3602.000000000000 +249.183847428647 1271.828369140625 +250.178570286073 1284.051147460938 +250.999278179609 4386.000000000000 +251.184308483615 1366.000000000000 +252.996209396160 3208.000000000000 +267.169924712582 1473.000000000000 +279.092450302349 2124.976074218750 +281.050036431003 1596.000000000000 +284.164019142692 16584.849609375000 +285.167688193069 4244.000000000000 +286.177652387269 1902.630249023438 +292.119396763735 2953.000000000000 +304.297724225733 1133.000000000000 +307.246725118529 1544.000000000000 +327.006882390785 5937.000000000000 +329.004668217108 5577.000000000000 +330.205694675668 33748.000000000000 +331.001581002942 1874.000000000000 +331.209367752674 7509.000000000000 +332.212747827332 1230.000000000000 +348.989870594472 1317.000000000000 +350.985664795103 1039.000000000000 +352.187263229768 3730.119140625000 +352.240201176670 1104.066284179688 +372.065696265231 1078.000000000000 +372.095820360838 1127.587158203125 +432.883118778360 1029.005737304688 +443.202786454542 1836.679443359375 +443.256567602296 1121.066772460938 +445.118014301267 2288.000000000000 +446.118701214097 1152.000000000000 +500.274823295404 5759.000000000000 +501.278532265372 1543.000000000000 +502.289374768504 1241.000000000000 +505.851712020697 3593.000000000000 +522.877612194810 1539.000000000000 +524.369695159526 1035.000000000000 +529.888030883274 1359.000000000000 +536.163344952678 4738.000000000000 +537.164020603528 2668.000000000000 +538.161288817548 1821.000000000000 +544.338553165118 1444.854980468750 +546.912838554417 2087.000000000000 +610.182090595376 2128.951416015625 +611.182397885889 1270.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=672 experiment=4 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=672 experiment=4_0 +##scan 93 +##specref ms_run[1]:sample=1 period=1 cycle=672 experiment=4 +139.997926475326 6.000000000000 +268.993947616187 6.000000000000 +>compound 1_0-672005--94--UNKNOWN +>parentmass 459.172562941997 +>charge 1 +>rt 443.395000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1peaks +52.005544915054 2669.474365234375 +53.013551340862 13553.616210937500 +53.850319873685 1562.416137695312 +54.009295460141 350346.968750000000 +55.006232450041 6054.532226562500 +55.011400293523 5668.021972656250 +55.054088819555 2120.189697265625 +55.934244731716 6271.203125000000 +56.049143889161 1358.881469726562 +56.941953500477 2534.552001953125 +59.049514349790 70956.859375000000 +60.044524075355 9990.065429687500 +61.039510392391 1670.430175781250 +63.997568260643 4994.024414062500 +64.005249459891 4367.861328125000 +68.011580640977 27065.914062500000 +68.993639496335 12252.266601562500 +69.005877628210 1509.686279296875 +69.017951429187 1048.142456054688 +69.028795366421 1212.364013671875 +69.033416880469 2425.456298828125 +69.044475127901 14200.274414062500 +72.043911262079 1047.768676757812 +72.936745182577 2304.000000000000 +73.064006904959 2008.000000000000 +76.486423281518 2454.000000000000 +79.020906594717 17032.697265625000 +80.049070164503 12649.314453125000 +81.937012714698 8319.495117187500 +82.996431445572 8764.137695312500 +87.043393235112 1232.281005859375 +87.054792686957 1518.675170898438 +89.069847152859 1050.033203125000 +89.506363758374 1415.000000000000 +90.488720057772 1559.000000000000 +91.053497074514 1595.000000000000 +95.952093916466 2386.127685546875 +97.968041952191 7744.000000000000 +98.983249125195 1139.375122070312 +100.074777919595 1467.000000000000 +102.090735307891 1751.000000000000 +109.942992765391 1488.000000000000 +113.962952776103 1955.000000000000 +114.090639111654 12047.000000000000 +115.094045291856 1182.658081054688 +118.085381007607 6860.000000000000 +122.095829280493 3822.356689453125 +122.962971242620 11040.000000000000 +123.091678498053 1679.856201171875 +123.961762994075 1098.258056640625 +130.157840168158 1119.000000000000 +136.020149746073 1669.866455078125 +136.111310877244 1341.000000000000 +140.067628807799 1162.000000000000 +141.090078870202 1643.171630859375 +141.111437940929 1729.282836914062 +141.957685970109 16086.459960937500 +142.959246965238 1148.000000000000 +147.090589854954 3068.466064453125 +149.022334764391 5334.539062500000 +149.043235756254 1886.732055664062 +151.095665867172 2545.785156250000 +151.109889323553 2845.160888671875 +153.126202938286 1251.000000000000 +155.068698559926 1831.228393554688 +155.105136157922 1766.739746093750 +155.972900798788 5044.702636718750 +158.001722902179 1019.458251953125 +158.152913165967 13222.000000000000 +159.136999906374 1078.437744140625 +159.155949077606 1518.550659179688 +159.968039748098 1109.521972656250 +161.095208784413 1748.000000000000 +163.127847814262 1093.649536132812 +164.142644410696 1336.929931640625 +170.095359013462 2420.095214843750 +170.116522346417 1229.720581054688 +171.144173752482 1743.616210937500 +172.132921291764 1230.203735351562 +173.079731517168 7818.569824218750 +174.126736302445 1051.000000000000 +174.990939505926 1873.182495117188 +175.115501629616 1461.343139648438 +177.053709884557 1232.000000000000 +178.157358166358 1594.672851562500 +179.105733699336 2104.277099609375 +182.960410089777 1964.621215820312 +182.981552067909 1607.178710937500 +186.220555642350 1910.688720703125 +194.115328787792 3346.358154296875 +195.102092530429 1449.948242187500 +195.121799498262 2175.121093750000 +198.184334414475 2180.954101562500 +199.167776678702 1068.513305664062 +200.199409274689 1216.000000000000 +217.106206625083 25450.615234375000 +218.109896913645 3163.469238281250 +219.094813781298 1892.000000000000 +221.151434865998 1047.000000000000 +224.127583389619 1388.000000000000 +228.195283855782 1552.127075195312 +235.168202790032 1154.130615234375 +239.088136182276 5438.000000000000 +242.282849523447 1469.000000000000 +246.861483901160 3602.000000000000 +249.183847428647 1271.828369140625 +250.178570286073 1284.051147460938 +250.999278179609 4386.000000000000 +251.184308483615 1366.000000000000 +252.996209396160 3208.000000000000 +267.169924712582 1473.000000000000 +279.092450302349 2124.976074218750 +281.050036431003 1596.000000000000 +284.164019142692 16584.849609375000 +285.167688193069 4244.000000000000 +286.177652387269 1902.630249023438 +292.119396763735 2953.000000000000 +304.297724225733 1133.000000000000 +307.246725118529 1544.000000000000 +327.006882390785 5937.000000000000 +329.004668217108 5577.000000000000 +330.205694675668 33748.000000000000 +331.001581002942 1874.000000000000 +331.209367752674 7509.000000000000 +332.212747827332 1230.000000000000 +348.989870594472 1317.000000000000 +350.985664795103 1039.000000000000 +352.187263229768 3730.119140625000 +352.240201176670 1104.066284179688 +372.065696265231 1078.000000000000 +372.095820360838 1127.587158203125 +432.883118778360 1029.005737304688 +443.202786454542 1836.679443359375 +443.256567602296 1121.066772460938 +445.118014301267 2288.000000000000 +446.118701214097 1152.000000000000 +500.274823295404 5759.000000000000 +501.278532265372 1543.000000000000 +502.289374768504 1241.000000000000 +505.851712020697 3593.000000000000 +522.877612194810 1539.000000000000 +524.369695159526 1035.000000000000 +529.888030883274 1359.000000000000 +536.163344952678 4738.000000000000 +537.164020603528 2668.000000000000 +538.161288817548 1821.000000000000 +544.338553165118 1444.854980468750 +546.912838554417 2087.000000000000 +610.182090595376 2128.951416015625 +611.182397885889 1270.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=672 experiment=5 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=672 experiment=5_0 +##scan 94 +##specref ms_run[1]:sample=1 period=1 cycle=672 experiment=5 +336.241874374153 6.000000000000 +459.182890075066 24.000000000000 +>compound 1_0-673002--96--UNKNOWN +>parentmass 304.112997380048 +>charge 1 +>rt 444.319999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +304.112997380048 9137.997070312500 +>ms1peaks +52.005488938755 2350.593017578125 +53.013588324644 12767.545898437500 +53.850602011789 1419.023559570312 +54.009277930243 350949.937500000000 +55.005882174690 5980.665039062500 +55.011271852588 6902.226562500000 +55.054019745465 2022.733642578125 +55.934144416603 6394.418945312500 +56.941974848582 2552.567871093750 +59.049584626180 82968.343750000000 +60.044436434339 11798.745117187500 +61.039857260495 1418.066894531250 +63.997690777449 5300.331542968750 +64.005055494638 5642.615234375000 +68.011549248196 27451.353515625000 +68.993663170779 12879.408203125000 +69.007923886319 1096.306518554688 +69.017093204571 1048.585327148438 +69.044464898692 14985.748046875000 +72.044068035438 1200.000000000000 +72.936472003402 1977.664062500000 +73.063928396874 1959.918212890625 +76.485788636002 2314.000000000000 +79.020808695957 16540.974609375000 +80.049003015352 11621.023437500000 +81.936961802817 7790.062011718750 +82.996425878887 8926.235351562500 +87.043401766705 1052.722534179688 +87.054720096584 1598.703735351562 +89.070537362555 1099.501586914062 +89.506543980543 1537.000000000000 +90.488976670281 2074.153564453125 +91.053544478477 1272.000000000000 +95.952308083894 2711.735351562500 +97.968032389654 7078.057128906250 +98.969879824280 1075.024169921875 +98.983750195184 1134.641967773438 +100.075252125469 1148.000000000000 +102.090288668641 1518.295654296875 +109.942519188947 1560.000000000000 +113.962786515294 1911.000000000000 +114.090570911428 11594.000000000000 +118.085197571393 7471.451660156250 +122.095288657014 3643.487548828125 +122.962930478054 10984.000000000000 +123.091081082016 1904.215087890625 +123.961949403194 1154.785766601562 +129.051725827646 1031.424194335938 +130.158373479059 1197.000000000000 +136.020639271025 1294.000000000000 +136.111219298674 1581.000000000000 +137.962917189768 1048.878295898438 +139.962538042462 1239.972167968750 +140.067396874754 1114.000000000000 +141.090487874245 1651.273437500000 +141.111958567360 1564.450073242188 +141.957616223576 16224.258789062500 +142.958418907981 1026.000000000000 +147.090234495507 2769.000000000000 +149.022464584767 4638.307617187500 +149.043536926502 1434.492431640625 +151.096151051404 3035.018798828125 +151.110008367767 3171.904052734375 +153.126548969804 1291.579223632812 +155.069550988391 1706.934082031250 +155.105646674154 1824.416381835938 +155.973161751975 4932.172363281250 +158.095721714505 1143.806762695312 +158.153274772537 12598.800781250000 +159.156537181630 1573.631347656250 +159.968437979142 1158.000000000000 +161.095365719682 1817.901855468750 +164.142387925205 1397.743774414062 +170.095704526297 2555.608398437500 +170.117713008976 1158.512451171875 +171.138285405592 1725.352783203125 +172.133028437063 1123.054931640625 +173.079655002329 7144.640625000000 +174.126934809121 1194.000000000000 +174.991203274998 1777.000000000000 +175.116368241068 1162.949340820312 +177.054231756114 1309.000000000000 +178.157784100193 1534.868164062500 +179.105332304060 1828.708496093750 +182.960722615568 2034.734130859375 +182.981753399558 1523.646118164062 +186.221092974907 1568.000000000000 +194.116236721308 3748.894531250000 +195.102613175400 1515.739379882812 +195.121055840997 2116.849121093750 +198.184888429616 2347.000000000000 +199.170414627366 1034.234008789062 +200.199867365295 1236.000000000000 +217.106502785658 22547.000000000000 +218.109446876777 2869.896484375000 +219.095557281166 1944.130981445312 +221.153223023305 1185.000000000000 +223.114461507324 1034.770629882812 +224.127172706797 1468.017333984375 +228.195860287814 1829.701904296875 +235.169297457059 1217.789672851562 +236.167342122754 1229.978393554688 +239.088865341699 5611.864257812500 +242.284112493819 1435.000000000000 +246.861636005840 3600.000000000000 +249.183926909638 1239.267578125000 +250.177631076915 1608.653930664062 +250.999867219289 3669.000000000000 +251.184460532696 1289.000000000000 +252.996834501545 2396.000000000000 +267.170737913759 1302.000000000000 +279.092781100496 1990.422485351562 +281.050453539953 1716.000000000000 +284.164828830393 19901.000000000000 +285.168247441249 5105.009277343750 +286.178522167562 2505.947265625000 +292.120756058941 2244.000000000000 +304.112997380048 9137.997070312500 +305.114809259957 1248.000000000000 +307.247581674679 2870.591064453125 +327.007903760602 4769.333496093750 +329.004988731169 5072.000000000000 +330.206333669111 39276.347656250000 +331.003150747857 1505.000000000000 +331.209945872255 8353.000000000000 +332.212619484251 1460.000000000000 +352.187543018171 4473.501953125000 +352.235657491200 1101.906127929688 +353.190848911854 1145.845703125000 +366.265454834464 1067.000000000000 +430.886234956732 1214.000000000000 +443.203497376616 1489.000000000000 +445.118920676436 2127.000000000000 +446.119938440518 1094.000000000000 +487.230020046174 1464.000000000000 +500.275371679450 7521.000000000000 +501.279707476795 1916.000000000000 +502.289033823976 1242.000000000000 +505.852717880243 3588.607177734375 +506.852669964207 1066.941284179688 +519.137961279277 1105.000000000000 +522.879198420696 1610.000000000000 +536.164494946040 5297.781250000000 +537.164688815051 2574.000000000000 +538.161433945477 1865.000000000000 +544.337981381467 1652.000000000000 +546.912025086522 2226.000000000000 +610.182434473715 1927.000000000000 +611.184949978043 1031.000000000000 +612.180638751427 1117.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=673 experiment=2 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=673 experiment=2_0 +##scan 96 +##specref ms_run[1]:sample=1 period=1 cycle=673 experiment=2 +51.939110567121 15.000000000000 +60.079144442172 23.000000000000 +79.053633339779 23.000000000000 +91.053216815957 46.000000000000 +103.054667695279 16.000000000000 +107.048871412428 46.000000000000 +109.064042744875 32.000000000000 +122.016528253995 38.000000000000 +137.039375194979 46.000000000000 +138.011482882197 32.000000000000 +139.021412291091 39.000000000000 +153.039251131801 91.000000000000 +155.053082457601 76.000000000000 +162.971794677260 16.000000000000 +168.986127862149 163.000000000000 +184.979172662186 79.000000000000 +198.997070924039 108.000000000000 +200.979416015869 32.000000000000 +201.984396643222 1220.000000000000 +202.991093736176 16.000000000000 +214.993421308263 39.000000000000 +216.021156263666 31.000000000000 +217.008717447259 2087.192382812500 +234.033475337603 249.000000000000 +245.040318522023 16.000000000000 +258.072287147546 16.000000000000 +276.081767046078 16.000000000000 +304.115515484967 31.000000000000 +>compound 1_0-673003--97--UNKNOWN +>parentmass 352.187543018171 +>charge 1 +>rt 444.319999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +352.187543018171 4473.501953125000 +353.190848911854 1145.845703125000 +>ms1peaks +52.005488938755 2350.593017578125 +53.013588324644 12767.545898437500 +53.850602011789 1419.023559570312 +54.009277930243 350949.937500000000 +55.005882174690 5980.665039062500 +55.011271852588 6902.226562500000 +55.054019745465 2022.733642578125 +55.934144416603 6394.418945312500 +56.941974848582 2552.567871093750 +59.049584626180 82968.343750000000 +60.044436434339 11798.745117187500 +61.039857260495 1418.066894531250 +63.997690777449 5300.331542968750 +64.005055494638 5642.615234375000 +68.011549248196 27451.353515625000 +68.993663170779 12879.408203125000 +69.007923886319 1096.306518554688 +69.017093204571 1048.585327148438 +69.044464898692 14985.748046875000 +72.044068035438 1200.000000000000 +72.936472003402 1977.664062500000 +73.063928396874 1959.918212890625 +76.485788636002 2314.000000000000 +79.020808695957 16540.974609375000 +80.049003015352 11621.023437500000 +81.936961802817 7790.062011718750 +82.996425878887 8926.235351562500 +87.043401766705 1052.722534179688 +87.054720096584 1598.703735351562 +89.070537362555 1099.501586914062 +89.506543980543 1537.000000000000 +90.488976670281 2074.153564453125 +91.053544478477 1272.000000000000 +95.952308083894 2711.735351562500 +97.968032389654 7078.057128906250 +98.969879824280 1075.024169921875 +98.983750195184 1134.641967773438 +100.075252125469 1148.000000000000 +102.090288668641 1518.295654296875 +109.942519188947 1560.000000000000 +113.962786515294 1911.000000000000 +114.090570911428 11594.000000000000 +118.085197571393 7471.451660156250 +122.095288657014 3643.487548828125 +122.962930478054 10984.000000000000 +123.091081082016 1904.215087890625 +123.961949403194 1154.785766601562 +129.051725827646 1031.424194335938 +130.158373479059 1197.000000000000 +136.020639271025 1294.000000000000 +136.111219298674 1581.000000000000 +137.962917189768 1048.878295898438 +139.962538042462 1239.972167968750 +140.067396874754 1114.000000000000 +141.090487874245 1651.273437500000 +141.111958567360 1564.450073242188 +141.957616223576 16224.258789062500 +142.958418907981 1026.000000000000 +147.090234495507 2769.000000000000 +149.022464584767 4638.307617187500 +149.043536926502 1434.492431640625 +151.096151051404 3035.018798828125 +151.110008367767 3171.904052734375 +153.126548969804 1291.579223632812 +155.069550988391 1706.934082031250 +155.105646674154 1824.416381835938 +155.973161751975 4932.172363281250 +158.095721714505 1143.806762695312 +158.153274772537 12598.800781250000 +159.156537181630 1573.631347656250 +159.968437979142 1158.000000000000 +161.095365719682 1817.901855468750 +164.142387925205 1397.743774414062 +170.095704526297 2555.608398437500 +170.117713008976 1158.512451171875 +171.138285405592 1725.352783203125 +172.133028437063 1123.054931640625 +173.079655002329 7144.640625000000 +174.126934809121 1194.000000000000 +174.991203274998 1777.000000000000 +175.116368241068 1162.949340820312 +177.054231756114 1309.000000000000 +178.157784100193 1534.868164062500 +179.105332304060 1828.708496093750 +182.960722615568 2034.734130859375 +182.981753399558 1523.646118164062 +186.221092974907 1568.000000000000 +194.116236721308 3748.894531250000 +195.102613175400 1515.739379882812 +195.121055840997 2116.849121093750 +198.184888429616 2347.000000000000 +199.170414627366 1034.234008789062 +200.199867365295 1236.000000000000 +217.106502785658 22547.000000000000 +218.109446876777 2869.896484375000 +219.095557281166 1944.130981445312 +221.153223023305 1185.000000000000 +223.114461507324 1034.770629882812 +224.127172706797 1468.017333984375 +228.195860287814 1829.701904296875 +235.169297457059 1217.789672851562 +236.167342122754 1229.978393554688 +239.088865341699 5611.864257812500 +242.284112493819 1435.000000000000 +246.861636005840 3600.000000000000 +249.183926909638 1239.267578125000 +250.177631076915 1608.653930664062 +250.999867219289 3669.000000000000 +251.184460532696 1289.000000000000 +252.996834501545 2396.000000000000 +267.170737913759 1302.000000000000 +279.092781100496 1990.422485351562 +281.050453539953 1716.000000000000 +284.164828830393 19901.000000000000 +285.168247441249 5105.009277343750 +286.178522167562 2505.947265625000 +292.120756058941 2244.000000000000 +304.112997380048 9137.997070312500 +305.114809259957 1248.000000000000 +307.247581674679 2870.591064453125 +327.007903760602 4769.333496093750 +329.004988731169 5072.000000000000 +330.206333669111 39276.347656250000 +331.003150747857 1505.000000000000 +331.209945872255 8353.000000000000 +332.212619484251 1460.000000000000 +352.187543018171 4473.501953125000 +352.235657491200 1101.906127929688 +353.190848911854 1145.845703125000 +366.265454834464 1067.000000000000 +430.886234956732 1214.000000000000 +443.203497376616 1489.000000000000 +445.118920676436 2127.000000000000 +446.119938440518 1094.000000000000 +487.230020046174 1464.000000000000 +500.275371679450 7521.000000000000 +501.279707476795 1916.000000000000 +502.289033823976 1242.000000000000 +505.852717880243 3588.607177734375 +506.852669964207 1066.941284179688 +519.137961279277 1105.000000000000 +522.879198420696 1610.000000000000 +536.164494946040 5297.781250000000 +537.164688815051 2574.000000000000 +538.161433945477 1865.000000000000 +544.337981381467 1652.000000000000 +546.912025086522 2226.000000000000 +610.182434473715 1927.000000000000 +611.184949978043 1031.000000000000 +612.180638751427 1117.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=673 experiment=3 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=673 experiment=3_0 +##scan 97 +##specref ms_run[1]:sample=1 period=1 cycle=673 experiment=3 +188.849522544526 16.000000000000 +278.119365992158 39.000000000000 +282.158263431413 23.000000000000 +>compound 1_0-673004--98--UNKNOWN +>parentmass 366.265454834464 +>charge 1 +>rt 444.319999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +366.265454834464 1067.000000000000 +>ms1peaks +52.005488938755 2350.593017578125 +53.013588324644 12767.545898437500 +53.850602011789 1419.023559570312 +54.009277930243 350949.937500000000 +55.005882174690 5980.665039062500 +55.011271852588 6902.226562500000 +55.054019745465 2022.733642578125 +55.934144416603 6394.418945312500 +56.941974848582 2552.567871093750 +59.049584626180 82968.343750000000 +60.044436434339 11798.745117187500 +61.039857260495 1418.066894531250 +63.997690777449 5300.331542968750 +64.005055494638 5642.615234375000 +68.011549248196 27451.353515625000 +68.993663170779 12879.408203125000 +69.007923886319 1096.306518554688 +69.017093204571 1048.585327148438 +69.044464898692 14985.748046875000 +72.044068035438 1200.000000000000 +72.936472003402 1977.664062500000 +73.063928396874 1959.918212890625 +76.485788636002 2314.000000000000 +79.020808695957 16540.974609375000 +80.049003015352 11621.023437500000 +81.936961802817 7790.062011718750 +82.996425878887 8926.235351562500 +87.043401766705 1052.722534179688 +87.054720096584 1598.703735351562 +89.070537362555 1099.501586914062 +89.506543980543 1537.000000000000 +90.488976670281 2074.153564453125 +91.053544478477 1272.000000000000 +95.952308083894 2711.735351562500 +97.968032389654 7078.057128906250 +98.969879824280 1075.024169921875 +98.983750195184 1134.641967773438 +100.075252125469 1148.000000000000 +102.090288668641 1518.295654296875 +109.942519188947 1560.000000000000 +113.962786515294 1911.000000000000 +114.090570911428 11594.000000000000 +118.085197571393 7471.451660156250 +122.095288657014 3643.487548828125 +122.962930478054 10984.000000000000 +123.091081082016 1904.215087890625 +123.961949403194 1154.785766601562 +129.051725827646 1031.424194335938 +130.158373479059 1197.000000000000 +136.020639271025 1294.000000000000 +136.111219298674 1581.000000000000 +137.962917189768 1048.878295898438 +139.962538042462 1239.972167968750 +140.067396874754 1114.000000000000 +141.090487874245 1651.273437500000 +141.111958567360 1564.450073242188 +141.957616223576 16224.258789062500 +142.958418907981 1026.000000000000 +147.090234495507 2769.000000000000 +149.022464584767 4638.307617187500 +149.043536926502 1434.492431640625 +151.096151051404 3035.018798828125 +151.110008367767 3171.904052734375 +153.126548969804 1291.579223632812 +155.069550988391 1706.934082031250 +155.105646674154 1824.416381835938 +155.973161751975 4932.172363281250 +158.095721714505 1143.806762695312 +158.153274772537 12598.800781250000 +159.156537181630 1573.631347656250 +159.968437979142 1158.000000000000 +161.095365719682 1817.901855468750 +164.142387925205 1397.743774414062 +170.095704526297 2555.608398437500 +170.117713008976 1158.512451171875 +171.138285405592 1725.352783203125 +172.133028437063 1123.054931640625 +173.079655002329 7144.640625000000 +174.126934809121 1194.000000000000 +174.991203274998 1777.000000000000 +175.116368241068 1162.949340820312 +177.054231756114 1309.000000000000 +178.157784100193 1534.868164062500 +179.105332304060 1828.708496093750 +182.960722615568 2034.734130859375 +182.981753399558 1523.646118164062 +186.221092974907 1568.000000000000 +194.116236721308 3748.894531250000 +195.102613175400 1515.739379882812 +195.121055840997 2116.849121093750 +198.184888429616 2347.000000000000 +199.170414627366 1034.234008789062 +200.199867365295 1236.000000000000 +217.106502785658 22547.000000000000 +218.109446876777 2869.896484375000 +219.095557281166 1944.130981445312 +221.153223023305 1185.000000000000 +223.114461507324 1034.770629882812 +224.127172706797 1468.017333984375 +228.195860287814 1829.701904296875 +235.169297457059 1217.789672851562 +236.167342122754 1229.978393554688 +239.088865341699 5611.864257812500 +242.284112493819 1435.000000000000 +246.861636005840 3600.000000000000 +249.183926909638 1239.267578125000 +250.177631076915 1608.653930664062 +250.999867219289 3669.000000000000 +251.184460532696 1289.000000000000 +252.996834501545 2396.000000000000 +267.170737913759 1302.000000000000 +279.092781100496 1990.422485351562 +281.050453539953 1716.000000000000 +284.164828830393 19901.000000000000 +285.168247441249 5105.009277343750 +286.178522167562 2505.947265625000 +292.120756058941 2244.000000000000 +304.112997380048 9137.997070312500 +305.114809259957 1248.000000000000 +307.247581674679 2870.591064453125 +327.007903760602 4769.333496093750 +329.004988731169 5072.000000000000 +330.206333669111 39276.347656250000 +331.003150747857 1505.000000000000 +331.209945872255 8353.000000000000 +332.212619484251 1460.000000000000 +352.187543018171 4473.501953125000 +352.235657491200 1101.906127929688 +353.190848911854 1145.845703125000 +366.265454834464 1067.000000000000 +430.886234956732 1214.000000000000 +443.203497376616 1489.000000000000 +445.118920676436 2127.000000000000 +446.119938440518 1094.000000000000 +487.230020046174 1464.000000000000 +500.275371679450 7521.000000000000 +501.279707476795 1916.000000000000 +502.289033823976 1242.000000000000 +505.852717880243 3588.607177734375 +506.852669964207 1066.941284179688 +519.137961279277 1105.000000000000 +522.879198420696 1610.000000000000 +536.164494946040 5297.781250000000 +537.164688815051 2574.000000000000 +538.161433945477 1865.000000000000 +544.337981381467 1652.000000000000 +546.912025086522 2226.000000000000 +610.182434473715 1927.000000000000 +611.184949978043 1031.000000000000 +612.180638751427 1117.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=673 experiment=4 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=673 experiment=4_0 +##scan 98 +##specref ms_run[1]:sample=1 period=1 cycle=673 experiment=4 +67.055955628196 6.000000000000 +85.029108145002 16.000000000000 +>compound 1_0-673005--99--UNKNOWN +>parentmass 380.333799463923 +>charge 1 +>rt 444.319999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1peaks +52.005488938755 2350.593017578125 +53.013588324644 12767.545898437500 +53.850602011789 1419.023559570312 +54.009277930243 350949.937500000000 +55.005882174690 5980.665039062500 +55.011271852588 6902.226562500000 +55.054019745465 2022.733642578125 +55.934144416603 6394.418945312500 +56.941974848582 2552.567871093750 +59.049584626180 82968.343750000000 +60.044436434339 11798.745117187500 +61.039857260495 1418.066894531250 +63.997690777449 5300.331542968750 +64.005055494638 5642.615234375000 +68.011549248196 27451.353515625000 +68.993663170779 12879.408203125000 +69.007923886319 1096.306518554688 +69.017093204571 1048.585327148438 +69.044464898692 14985.748046875000 +72.044068035438 1200.000000000000 +72.936472003402 1977.664062500000 +73.063928396874 1959.918212890625 +76.485788636002 2314.000000000000 +79.020808695957 16540.974609375000 +80.049003015352 11621.023437500000 +81.936961802817 7790.062011718750 +82.996425878887 8926.235351562500 +87.043401766705 1052.722534179688 +87.054720096584 1598.703735351562 +89.070537362555 1099.501586914062 +89.506543980543 1537.000000000000 +90.488976670281 2074.153564453125 +91.053544478477 1272.000000000000 +95.952308083894 2711.735351562500 +97.968032389654 7078.057128906250 +98.969879824280 1075.024169921875 +98.983750195184 1134.641967773438 +100.075252125469 1148.000000000000 +102.090288668641 1518.295654296875 +109.942519188947 1560.000000000000 +113.962786515294 1911.000000000000 +114.090570911428 11594.000000000000 +118.085197571393 7471.451660156250 +122.095288657014 3643.487548828125 +122.962930478054 10984.000000000000 +123.091081082016 1904.215087890625 +123.961949403194 1154.785766601562 +129.051725827646 1031.424194335938 +130.158373479059 1197.000000000000 +136.020639271025 1294.000000000000 +136.111219298674 1581.000000000000 +137.962917189768 1048.878295898438 +139.962538042462 1239.972167968750 +140.067396874754 1114.000000000000 +141.090487874245 1651.273437500000 +141.111958567360 1564.450073242188 +141.957616223576 16224.258789062500 +142.958418907981 1026.000000000000 +147.090234495507 2769.000000000000 +149.022464584767 4638.307617187500 +149.043536926502 1434.492431640625 +151.096151051404 3035.018798828125 +151.110008367767 3171.904052734375 +153.126548969804 1291.579223632812 +155.069550988391 1706.934082031250 +155.105646674154 1824.416381835938 +155.973161751975 4932.172363281250 +158.095721714505 1143.806762695312 +158.153274772537 12598.800781250000 +159.156537181630 1573.631347656250 +159.968437979142 1158.000000000000 +161.095365719682 1817.901855468750 +164.142387925205 1397.743774414062 +170.095704526297 2555.608398437500 +170.117713008976 1158.512451171875 +171.138285405592 1725.352783203125 +172.133028437063 1123.054931640625 +173.079655002329 7144.640625000000 +174.126934809121 1194.000000000000 +174.991203274998 1777.000000000000 +175.116368241068 1162.949340820312 +177.054231756114 1309.000000000000 +178.157784100193 1534.868164062500 +179.105332304060 1828.708496093750 +182.960722615568 2034.734130859375 +182.981753399558 1523.646118164062 +186.221092974907 1568.000000000000 +194.116236721308 3748.894531250000 +195.102613175400 1515.739379882812 +195.121055840997 2116.849121093750 +198.184888429616 2347.000000000000 +199.170414627366 1034.234008789062 +200.199867365295 1236.000000000000 +217.106502785658 22547.000000000000 +218.109446876777 2869.896484375000 +219.095557281166 1944.130981445312 +221.153223023305 1185.000000000000 +223.114461507324 1034.770629882812 +224.127172706797 1468.017333984375 +228.195860287814 1829.701904296875 +235.169297457059 1217.789672851562 +236.167342122754 1229.978393554688 +239.088865341699 5611.864257812500 +242.284112493819 1435.000000000000 +246.861636005840 3600.000000000000 +249.183926909638 1239.267578125000 +250.177631076915 1608.653930664062 +250.999867219289 3669.000000000000 +251.184460532696 1289.000000000000 +252.996834501545 2396.000000000000 +267.170737913759 1302.000000000000 +279.092781100496 1990.422485351562 +281.050453539953 1716.000000000000 +284.164828830393 19901.000000000000 +285.168247441249 5105.009277343750 +286.178522167562 2505.947265625000 +292.120756058941 2244.000000000000 +304.112997380048 9137.997070312500 +305.114809259957 1248.000000000000 +307.247581674679 2870.591064453125 +327.007903760602 4769.333496093750 +329.004988731169 5072.000000000000 +330.206333669111 39276.347656250000 +331.003150747857 1505.000000000000 +331.209945872255 8353.000000000000 +332.212619484251 1460.000000000000 +352.187543018171 4473.501953125000 +352.235657491200 1101.906127929688 +353.190848911854 1145.845703125000 +366.265454834464 1067.000000000000 +430.886234956732 1214.000000000000 +443.203497376616 1489.000000000000 +445.118920676436 2127.000000000000 +446.119938440518 1094.000000000000 +487.230020046174 1464.000000000000 +500.275371679450 7521.000000000000 +501.279707476795 1916.000000000000 +502.289033823976 1242.000000000000 +505.852717880243 3588.607177734375 +506.852669964207 1066.941284179688 +519.137961279277 1105.000000000000 +522.879198420696 1610.000000000000 +536.164494946040 5297.781250000000 +537.164688815051 2574.000000000000 +538.161433945477 1865.000000000000 +544.337981381467 1652.000000000000 +546.912025086522 2226.000000000000 +610.182434473715 1927.000000000000 +611.184949978043 1031.000000000000 +612.180638751427 1117.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=673 experiment=5 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=673 experiment=5_0 +##scan 99 +##specref ms_run[1]:sample=1 period=1 cycle=673 experiment=5 +85.100667904749 6.000000000000 +173.130774268356 6.000000000000 +193.064275901515 6.000000000000 +209.117777456688 6.000000000000 +262.052624631527 6.000000000000 +264.265299408456 16.000000000000 +>compound 1_0-674002--101--UNKNOWN +>parentmass 217.006778563847 +>charge 1 +>rt 445.246000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +217.006778563847 3269.000000000000 +>ms1peaks +52.005592753043 3006.313964843750 +53.013386604926 14895.982421875000 +53.850307885580 1282.519653320312 +54.009266588925 342199.718750000000 +55.006082581110 6060.072753906250 +55.011283454187 6240.310058593750 +55.054294821572 2210.000000000000 +55.934096145228 5628.309570312500 +56.941759312303 2162.160156250000 +59.049359471853 46694.679687500000 +60.044421789280 9540.689453125000 +61.039479760124 2294.308837890625 +63.997714272448 3712.306396484375 +64.004717741595 3776.877441406250 +68.011627587572 27064.916015625000 +68.993566533187 11389.638671875000 +69.008625246067 1040.924560546875 +69.044535203632 13668.087890625000 +72.936481622578 2454.600341796875 +73.064065589451 1403.865722656250 +76.486273965426 2375.015136718750 +79.020790259171 14203.234375000000 +80.049005926370 10670.580078125000 +81.936823889862 7769.677734375000 +82.996318430269 8831.000000000000 +87.043659684882 1291.933349609375 +87.054507882909 1447.717041015625 +89.506487543125 1968.296386718750 +90.489051431145 1567.000000000000 +91.053400164401 1256.000000000000 +95.952306311885 1977.000000000000 +97.968075016323 6813.626953125000 +100.074949120053 1188.000000000000 +102.090464066418 1830.000000000000 +109.942585550788 1505.090454101562 +113.962587921756 2250.229736328125 +114.090562200242 10307.702148437500 +118.085082878297 6730.000000000000 +122.095605127592 3465.000000000000 +122.963039812214 10185.000000000000 +123.091494988172 1608.787231445312 +129.051393255556 1096.195678710938 +130.157964856700 1224.000000000000 +136.020696393521 1628.173095703125 +136.111265586312 1351.884765625000 +137.963028699523 1044.000000000000 +141.090735684411 1400.241577148438 +141.111884779659 1559.751831054688 +141.936149934788 2056.103759765625 +141.957562608877 15536.687500000000 +147.090844143576 2684.000000000000 +149.022219076913 4357.918945312500 +149.040987249104 1837.193115234375 +151.095349881837 2305.082275390625 +151.109939199155 2576.997802734375 +155.068952001479 1217.608398437500 +155.105783696987 1630.887817382812 +155.972951860043 4015.000000000000 +158.153089325142 12131.025390625000 +159.156361011225 1282.655029296875 +161.095571014168 1849.739868164062 +164.142332600548 1475.398193359375 +170.095084317194 2525.529541015625 +171.146419276332 1492.000000000000 +172.132296924472 1198.192871093750 +173.080359168822 7163.493164062500 +174.127015852864 1059.000000000000 +174.990991861896 1587.000000000000 +178.157781317469 1624.536987304688 +179.105994436857 1966.000000000000 +182.960688878508 2338.556152343750 +182.982210678536 2178.232421875000 +186.220605721634 1746.000000000000 +194.115986578552 3414.184814453125 +195.121368448944 2440.554443359375 +198.184661469947 1850.538574218750 +200.200431422851 1250.850830078125 +201.983565637695 1125.000000000000 +217.006778563847 3269.000000000000 +217.106257896227 20478.425781250000 +218.109387671986 2700.000000000000 +219.094811619683 1568.384521484375 +224.126330250006 1136.363037109375 +228.195256821021 1364.000000000000 +234.034555602122 3162.000000000000 +235.168379942276 1059.765869140625 +239.088123273064 4617.123535156250 +242.283687547927 1626.000000000000 +246.861503474727 3165.000000000000 +249.183966936445 1338.000000000000 +250.178157580094 1268.000000000000 +250.999499019254 3169.000000000000 +251.184919733032 1121.084228515625 +252.996470645480 2204.000000000000 +262.065339439714 5824.345214843750 +267.170259991556 1568.463745117188 +276.081091674263 8173.000000000000 +277.057665923216 1209.618164062500 +277.085219951598 1293.623413085938 +279.093583842250 1859.000000000000 +281.050436828814 1462.000000000000 +284.164194797510 15720.000000000000 +285.167199045233 4022.000000000000 +286.177305853522 1891.670776367188 +292.120375414143 1944.000000000000 +303.190300317299 1143.297241210938 +304.113551407962 233981.000000000000 +305.115237199332 34039.113281250000 +306.110943955948 13933.000000000000 +307.113098422247 1919.696899414062 +307.246808467596 3300.572753906250 +310.120295757069 1681.000000000000 +320.107169971093 1195.785766601562 +326.095118441765 16572.000000000000 +327.007733661441 3760.000000000000 +327.095761410498 3082.000000000000 +328.091343004556 1205.000000000000 +329.005017718870 3936.000000000000 +330.206156493086 31473.623046875000 +331.001131359041 1283.000000000000 +331.208781030804 7087.107910156250 +332.212762979446 1049.000000000000 +342.069329790769 1871.000000000000 +349.169872251691 6112.673339843750 +350.172892076873 1285.000000000000 +352.188381138816 3463.990966796875 +352.237855065072 1571.586547851562 +380.335730124158 1272.000000000000 +404.036775645443 2150.000000000000 +445.119594711322 2089.000000000000 +487.229352410180 1300.347412109375 +500.276727311162 8288.133789062500 +501.279823879484 2533.000000000000 +502.288704966210 1392.000000000000 +505.852309070026 2882.000000000000 +522.878554007503 1334.599853515625 +536.164536908876 5057.000000000000 +537.165016352661 2456.000000000000 +538.163523094599 1972.255615234375 +544.338584253074 1675.149536132812 +546.914933234641 1855.000000000000 +607.218843523736 2732.000000000000 +610.184293153428 2142.000000000000 +611.183428881164 1140.000000000000 +612.185574985429 1243.000000000000 +613.226429565287 4419.000000000000 +614.228332015276 1213.785766601562 +629.199480533100 8990.000000000000 +630.203842344410 2729.000000000000 +631.198645508739 1426.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=674 experiment=2 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=674 experiment=2_0 +##scan 101 +##specref ms_run[1]:sample=1 period=1 cycle=674 experiment=2 +55.053353739963 165.000000000000 +59.050940909798 30.000000000000 +69.032863640248 30.000000000000 +69.038265944203 30.000000000000 +83.048170396039 75.000000000000 +101.060026537845 30.000000000000 +111.044227005358 105.000000000000 +155.069593100545 75.000000000000 +173.082117358540 45.000000000000 +201.982817686334 60.000000000000 +>compound 1_0-674003--102--UNKNOWN +>parentmass 262.065339439714 +>charge 1 +>rt 445.246000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +262.065339439714 5824.345214843750 +>ms1peaks +52.005592753043 3006.313964843750 +53.013386604926 14895.982421875000 +53.850307885580 1282.519653320312 +54.009266588925 342199.718750000000 +55.006082581110 6060.072753906250 +55.011283454187 6240.310058593750 +55.054294821572 2210.000000000000 +55.934096145228 5628.309570312500 +56.941759312303 2162.160156250000 +59.049359471853 46694.679687500000 +60.044421789280 9540.689453125000 +61.039479760124 2294.308837890625 +63.997714272448 3712.306396484375 +64.004717741595 3776.877441406250 +68.011627587572 27064.916015625000 +68.993566533187 11389.638671875000 +69.008625246067 1040.924560546875 +69.044535203632 13668.087890625000 +72.936481622578 2454.600341796875 +73.064065589451 1403.865722656250 +76.486273965426 2375.015136718750 +79.020790259171 14203.234375000000 +80.049005926370 10670.580078125000 +81.936823889862 7769.677734375000 +82.996318430269 8831.000000000000 +87.043659684882 1291.933349609375 +87.054507882909 1447.717041015625 +89.506487543125 1968.296386718750 +90.489051431145 1567.000000000000 +91.053400164401 1256.000000000000 +95.952306311885 1977.000000000000 +97.968075016323 6813.626953125000 +100.074949120053 1188.000000000000 +102.090464066418 1830.000000000000 +109.942585550788 1505.090454101562 +113.962587921756 2250.229736328125 +114.090562200242 10307.702148437500 +118.085082878297 6730.000000000000 +122.095605127592 3465.000000000000 +122.963039812214 10185.000000000000 +123.091494988172 1608.787231445312 +129.051393255556 1096.195678710938 +130.157964856700 1224.000000000000 +136.020696393521 1628.173095703125 +136.111265586312 1351.884765625000 +137.963028699523 1044.000000000000 +141.090735684411 1400.241577148438 +141.111884779659 1559.751831054688 +141.936149934788 2056.103759765625 +141.957562608877 15536.687500000000 +147.090844143576 2684.000000000000 +149.022219076913 4357.918945312500 +149.040987249104 1837.193115234375 +151.095349881837 2305.082275390625 +151.109939199155 2576.997802734375 +155.068952001479 1217.608398437500 +155.105783696987 1630.887817382812 +155.972951860043 4015.000000000000 +158.153089325142 12131.025390625000 +159.156361011225 1282.655029296875 +161.095571014168 1849.739868164062 +164.142332600548 1475.398193359375 +170.095084317194 2525.529541015625 +171.146419276332 1492.000000000000 +172.132296924472 1198.192871093750 +173.080359168822 7163.493164062500 +174.127015852864 1059.000000000000 +174.990991861896 1587.000000000000 +178.157781317469 1624.536987304688 +179.105994436857 1966.000000000000 +182.960688878508 2338.556152343750 +182.982210678536 2178.232421875000 +186.220605721634 1746.000000000000 +194.115986578552 3414.184814453125 +195.121368448944 2440.554443359375 +198.184661469947 1850.538574218750 +200.200431422851 1250.850830078125 +201.983565637695 1125.000000000000 +217.006778563847 3269.000000000000 +217.106257896227 20478.425781250000 +218.109387671986 2700.000000000000 +219.094811619683 1568.384521484375 +224.126330250006 1136.363037109375 +228.195256821021 1364.000000000000 +234.034555602122 3162.000000000000 +235.168379942276 1059.765869140625 +239.088123273064 4617.123535156250 +242.283687547927 1626.000000000000 +246.861503474727 3165.000000000000 +249.183966936445 1338.000000000000 +250.178157580094 1268.000000000000 +250.999499019254 3169.000000000000 +251.184919733032 1121.084228515625 +252.996470645480 2204.000000000000 +262.065339439714 5824.345214843750 +267.170259991556 1568.463745117188 +276.081091674263 8173.000000000000 +277.057665923216 1209.618164062500 +277.085219951598 1293.623413085938 +279.093583842250 1859.000000000000 +281.050436828814 1462.000000000000 +284.164194797510 15720.000000000000 +285.167199045233 4022.000000000000 +286.177305853522 1891.670776367188 +292.120375414143 1944.000000000000 +303.190300317299 1143.297241210938 +304.113551407962 233981.000000000000 +305.115237199332 34039.113281250000 +306.110943955948 13933.000000000000 +307.113098422247 1919.696899414062 +307.246808467596 3300.572753906250 +310.120295757069 1681.000000000000 +320.107169971093 1195.785766601562 +326.095118441765 16572.000000000000 +327.007733661441 3760.000000000000 +327.095761410498 3082.000000000000 +328.091343004556 1205.000000000000 +329.005017718870 3936.000000000000 +330.206156493086 31473.623046875000 +331.001131359041 1283.000000000000 +331.208781030804 7087.107910156250 +332.212762979446 1049.000000000000 +342.069329790769 1871.000000000000 +349.169872251691 6112.673339843750 +350.172892076873 1285.000000000000 +352.188381138816 3463.990966796875 +352.237855065072 1571.586547851562 +380.335730124158 1272.000000000000 +404.036775645443 2150.000000000000 +445.119594711322 2089.000000000000 +487.229352410180 1300.347412109375 +500.276727311162 8288.133789062500 +501.279823879484 2533.000000000000 +502.288704966210 1392.000000000000 +505.852309070026 2882.000000000000 +522.878554007503 1334.599853515625 +536.164536908876 5057.000000000000 +537.165016352661 2456.000000000000 +538.163523094599 1972.255615234375 +544.338584253074 1675.149536132812 +546.914933234641 1855.000000000000 +607.218843523736 2732.000000000000 +610.184293153428 2142.000000000000 +611.183428881164 1140.000000000000 +612.185574985429 1243.000000000000 +613.226429565287 4419.000000000000 +614.228332015276 1213.785766601562 +629.199480533100 8990.000000000000 +630.203842344410 2729.000000000000 +631.198645508739 1426.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=674 experiment=3 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=674 experiment=3_0 +##scan 102 +##specref ms_run[1]:sample=1 period=1 cycle=674 experiment=3 +158.928231035657 13.000000000000 +217.019193478663 13.000000000000 +>compound 1_0-674004--103--UNKNOWN +>parentmass 276.081091674263 +>charge 1 +>rt 445.246000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +276.081091674263 8173.000000000000 +>ms1peaks +52.005592753043 3006.313964843750 +53.013386604926 14895.982421875000 +53.850307885580 1282.519653320312 +54.009266588925 342199.718750000000 +55.006082581110 6060.072753906250 +55.011283454187 6240.310058593750 +55.054294821572 2210.000000000000 +55.934096145228 5628.309570312500 +56.941759312303 2162.160156250000 +59.049359471853 46694.679687500000 +60.044421789280 9540.689453125000 +61.039479760124 2294.308837890625 +63.997714272448 3712.306396484375 +64.004717741595 3776.877441406250 +68.011627587572 27064.916015625000 +68.993566533187 11389.638671875000 +69.008625246067 1040.924560546875 +69.044535203632 13668.087890625000 +72.936481622578 2454.600341796875 +73.064065589451 1403.865722656250 +76.486273965426 2375.015136718750 +79.020790259171 14203.234375000000 +80.049005926370 10670.580078125000 +81.936823889862 7769.677734375000 +82.996318430269 8831.000000000000 +87.043659684882 1291.933349609375 +87.054507882909 1447.717041015625 +89.506487543125 1968.296386718750 +90.489051431145 1567.000000000000 +91.053400164401 1256.000000000000 +95.952306311885 1977.000000000000 +97.968075016323 6813.626953125000 +100.074949120053 1188.000000000000 +102.090464066418 1830.000000000000 +109.942585550788 1505.090454101562 +113.962587921756 2250.229736328125 +114.090562200242 10307.702148437500 +118.085082878297 6730.000000000000 +122.095605127592 3465.000000000000 +122.963039812214 10185.000000000000 +123.091494988172 1608.787231445312 +129.051393255556 1096.195678710938 +130.157964856700 1224.000000000000 +136.020696393521 1628.173095703125 +136.111265586312 1351.884765625000 +137.963028699523 1044.000000000000 +141.090735684411 1400.241577148438 +141.111884779659 1559.751831054688 +141.936149934788 2056.103759765625 +141.957562608877 15536.687500000000 +147.090844143576 2684.000000000000 +149.022219076913 4357.918945312500 +149.040987249104 1837.193115234375 +151.095349881837 2305.082275390625 +151.109939199155 2576.997802734375 +155.068952001479 1217.608398437500 +155.105783696987 1630.887817382812 +155.972951860043 4015.000000000000 +158.153089325142 12131.025390625000 +159.156361011225 1282.655029296875 +161.095571014168 1849.739868164062 +164.142332600548 1475.398193359375 +170.095084317194 2525.529541015625 +171.146419276332 1492.000000000000 +172.132296924472 1198.192871093750 +173.080359168822 7163.493164062500 +174.127015852864 1059.000000000000 +174.990991861896 1587.000000000000 +178.157781317469 1624.536987304688 +179.105994436857 1966.000000000000 +182.960688878508 2338.556152343750 +182.982210678536 2178.232421875000 +186.220605721634 1746.000000000000 +194.115986578552 3414.184814453125 +195.121368448944 2440.554443359375 +198.184661469947 1850.538574218750 +200.200431422851 1250.850830078125 +201.983565637695 1125.000000000000 +217.006778563847 3269.000000000000 +217.106257896227 20478.425781250000 +218.109387671986 2700.000000000000 +219.094811619683 1568.384521484375 +224.126330250006 1136.363037109375 +228.195256821021 1364.000000000000 +234.034555602122 3162.000000000000 +235.168379942276 1059.765869140625 +239.088123273064 4617.123535156250 +242.283687547927 1626.000000000000 +246.861503474727 3165.000000000000 +249.183966936445 1338.000000000000 +250.178157580094 1268.000000000000 +250.999499019254 3169.000000000000 +251.184919733032 1121.084228515625 +252.996470645480 2204.000000000000 +262.065339439714 5824.345214843750 +267.170259991556 1568.463745117188 +276.081091674263 8173.000000000000 +277.057665923216 1209.618164062500 +277.085219951598 1293.623413085938 +279.093583842250 1859.000000000000 +281.050436828814 1462.000000000000 +284.164194797510 15720.000000000000 +285.167199045233 4022.000000000000 +286.177305853522 1891.670776367188 +292.120375414143 1944.000000000000 +303.190300317299 1143.297241210938 +304.113551407962 233981.000000000000 +305.115237199332 34039.113281250000 +306.110943955948 13933.000000000000 +307.113098422247 1919.696899414062 +307.246808467596 3300.572753906250 +310.120295757069 1681.000000000000 +320.107169971093 1195.785766601562 +326.095118441765 16572.000000000000 +327.007733661441 3760.000000000000 +327.095761410498 3082.000000000000 +328.091343004556 1205.000000000000 +329.005017718870 3936.000000000000 +330.206156493086 31473.623046875000 +331.001131359041 1283.000000000000 +331.208781030804 7087.107910156250 +332.212762979446 1049.000000000000 +342.069329790769 1871.000000000000 +349.169872251691 6112.673339843750 +350.172892076873 1285.000000000000 +352.188381138816 3463.990966796875 +352.237855065072 1571.586547851562 +380.335730124158 1272.000000000000 +404.036775645443 2150.000000000000 +445.119594711322 2089.000000000000 +487.229352410180 1300.347412109375 +500.276727311162 8288.133789062500 +501.279823879484 2533.000000000000 +502.288704966210 1392.000000000000 +505.852309070026 2882.000000000000 +522.878554007503 1334.599853515625 +536.164536908876 5057.000000000000 +537.165016352661 2456.000000000000 +538.163523094599 1972.255615234375 +544.338584253074 1675.149536132812 +546.914933234641 1855.000000000000 +607.218843523736 2732.000000000000 +610.184293153428 2142.000000000000 +611.183428881164 1140.000000000000 +612.185574985429 1243.000000000000 +613.226429565287 4419.000000000000 +614.228332015276 1213.785766601562 +629.199480533100 8990.000000000000 +630.203842344410 2729.000000000000 +631.198645508739 1426.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=674 experiment=4 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=674 experiment=4_0 +##scan 103 +##specref ms_run[1]:sample=1 period=1 cycle=674 experiment=4 +77.037002009634 30.000000000000 +148.907799128466 30.000000000000 +201.986801494168 90.000000000000 +217.004845407025 45.000000000000 +>compound 1_0-674005--104--UNKNOWN +>parentmass 304.113551407962 +>charge 1 +>rt 445.246000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +304.113551407962 233981.000000000000 +>ms1peaks +52.005592753043 3006.313964843750 +53.013386604926 14895.982421875000 +53.850307885580 1282.519653320312 +54.009266588925 342199.718750000000 +55.006082581110 6060.072753906250 +55.011283454187 6240.310058593750 +55.054294821572 2210.000000000000 +55.934096145228 5628.309570312500 +56.941759312303 2162.160156250000 +59.049359471853 46694.679687500000 +60.044421789280 9540.689453125000 +61.039479760124 2294.308837890625 +63.997714272448 3712.306396484375 +64.004717741595 3776.877441406250 +68.011627587572 27064.916015625000 +68.993566533187 11389.638671875000 +69.008625246067 1040.924560546875 +69.044535203632 13668.087890625000 +72.936481622578 2454.600341796875 +73.064065589451 1403.865722656250 +76.486273965426 2375.015136718750 +79.020790259171 14203.234375000000 +80.049005926370 10670.580078125000 +81.936823889862 7769.677734375000 +82.996318430269 8831.000000000000 +87.043659684882 1291.933349609375 +87.054507882909 1447.717041015625 +89.506487543125 1968.296386718750 +90.489051431145 1567.000000000000 +91.053400164401 1256.000000000000 +95.952306311885 1977.000000000000 +97.968075016323 6813.626953125000 +100.074949120053 1188.000000000000 +102.090464066418 1830.000000000000 +109.942585550788 1505.090454101562 +113.962587921756 2250.229736328125 +114.090562200242 10307.702148437500 +118.085082878297 6730.000000000000 +122.095605127592 3465.000000000000 +122.963039812214 10185.000000000000 +123.091494988172 1608.787231445312 +129.051393255556 1096.195678710938 +130.157964856700 1224.000000000000 +136.020696393521 1628.173095703125 +136.111265586312 1351.884765625000 +137.963028699523 1044.000000000000 +141.090735684411 1400.241577148438 +141.111884779659 1559.751831054688 +141.936149934788 2056.103759765625 +141.957562608877 15536.687500000000 +147.090844143576 2684.000000000000 +149.022219076913 4357.918945312500 +149.040987249104 1837.193115234375 +151.095349881837 2305.082275390625 +151.109939199155 2576.997802734375 +155.068952001479 1217.608398437500 +155.105783696987 1630.887817382812 +155.972951860043 4015.000000000000 +158.153089325142 12131.025390625000 +159.156361011225 1282.655029296875 +161.095571014168 1849.739868164062 +164.142332600548 1475.398193359375 +170.095084317194 2525.529541015625 +171.146419276332 1492.000000000000 +172.132296924472 1198.192871093750 +173.080359168822 7163.493164062500 +174.127015852864 1059.000000000000 +174.990991861896 1587.000000000000 +178.157781317469 1624.536987304688 +179.105994436857 1966.000000000000 +182.960688878508 2338.556152343750 +182.982210678536 2178.232421875000 +186.220605721634 1746.000000000000 +194.115986578552 3414.184814453125 +195.121368448944 2440.554443359375 +198.184661469947 1850.538574218750 +200.200431422851 1250.850830078125 +201.983565637695 1125.000000000000 +217.006778563847 3269.000000000000 +217.106257896227 20478.425781250000 +218.109387671986 2700.000000000000 +219.094811619683 1568.384521484375 +224.126330250006 1136.363037109375 +228.195256821021 1364.000000000000 +234.034555602122 3162.000000000000 +235.168379942276 1059.765869140625 +239.088123273064 4617.123535156250 +242.283687547927 1626.000000000000 +246.861503474727 3165.000000000000 +249.183966936445 1338.000000000000 +250.178157580094 1268.000000000000 +250.999499019254 3169.000000000000 +251.184919733032 1121.084228515625 +252.996470645480 2204.000000000000 +262.065339439714 5824.345214843750 +267.170259991556 1568.463745117188 +276.081091674263 8173.000000000000 +277.057665923216 1209.618164062500 +277.085219951598 1293.623413085938 +279.093583842250 1859.000000000000 +281.050436828814 1462.000000000000 +284.164194797510 15720.000000000000 +285.167199045233 4022.000000000000 +286.177305853522 1891.670776367188 +292.120375414143 1944.000000000000 +303.190300317299 1143.297241210938 +304.113551407962 233981.000000000000 +305.115237199332 34039.113281250000 +306.110943955948 13933.000000000000 +307.113098422247 1919.696899414062 +307.246808467596 3300.572753906250 +310.120295757069 1681.000000000000 +320.107169971093 1195.785766601562 +326.095118441765 16572.000000000000 +327.007733661441 3760.000000000000 +327.095761410498 3082.000000000000 +328.091343004556 1205.000000000000 +329.005017718870 3936.000000000000 +330.206156493086 31473.623046875000 +331.001131359041 1283.000000000000 +331.208781030804 7087.107910156250 +332.212762979446 1049.000000000000 +342.069329790769 1871.000000000000 +349.169872251691 6112.673339843750 +350.172892076873 1285.000000000000 +352.188381138816 3463.990966796875 +352.237855065072 1571.586547851562 +380.335730124158 1272.000000000000 +404.036775645443 2150.000000000000 +445.119594711322 2089.000000000000 +487.229352410180 1300.347412109375 +500.276727311162 8288.133789062500 +501.279823879484 2533.000000000000 +502.288704966210 1392.000000000000 +505.852309070026 2882.000000000000 +522.878554007503 1334.599853515625 +536.164536908876 5057.000000000000 +537.165016352661 2456.000000000000 +538.163523094599 1972.255615234375 +544.338584253074 1675.149536132812 +546.914933234641 1855.000000000000 +607.218843523736 2732.000000000000 +610.184293153428 2142.000000000000 +611.183428881164 1140.000000000000 +612.185574985429 1243.000000000000 +613.226429565287 4419.000000000000 +614.228332015276 1213.785766601562 +629.199480533100 8990.000000000000 +630.203842344410 2729.000000000000 +631.198645508739 1426.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=674 experiment=5 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=674 experiment=5_0 +##scan 104 +##specref ms_run[1]:sample=1 period=1 cycle=674 experiment=5 +58.995215971250 180.000000000000 +60.080753471313 721.000000000000 +66.046718858959 30.000000000000 +77.039192209465 180.000000000000 +78.046640699982 19.199796676636 +78.056645284176 23.859180450439 +79.054775615141 240.000000000000 +79.989470157797 177.410171508789 +81.070369729317 30.000000000000 +81.077715179950 34.642181396484 +81.087884641584 25.687335968018 +91.054011602969 180.000000000000 +93.070472451129 105.000000000000 +94.041718615578 30.000000000000 +94.044634181938 30.000000000000 +97.010569971058 357.000000000000 +103.052897497950 178.000000000000 +104.061155913280 190.923583984375 +104.072561481087 115.796875000000 +105.040269303798 30.000000000000 +105.046944067735 30.000000000000 +107.048358838534 903.000000000000 +108.057031942279 459.000000000000 +109.010062426673 60.000000000000 +109.063250222712 105.000000000000 +109.070291141086 105.000000000000 +109.468431116784 30.000000000000 +109.479510337967 30.000000000000 +110.017488729864 150.000000000000 +121.008905730228 210.000000000000 +121.064231668998 30.000000000000 +121.070315494313 30.000000000000 +122.016802480677 460.000000000000 +122.033065525586 192.851333618164 +125.043992535447 90.000000000000 +135.024864685327 150.000000000000 +135.080963191190 45.000000000000 +136.033361328525 60.000000000000 +137.004717449824 150.000000000000 +137.041027304602 997.000000000000 +138.013147878326 794.000000000000 +139.022077262115 341.094055175781 +139.044999410913 55.339820861816 +140.030084504643 105.000000000000 +140.051393349560 30.000000000000 +141.009869005782 45.000000000000 +148.033961657404 30.000000000000 +149.042458385029 45.000000000000 +150.049800984613 90.000000000000 +151.017610556704 30.000000000000 +152.587790451126 30.000000000000 +153.008051459536 91.431686401367 +153.036132575562 2658.000000000000 +154.042680220731 105.000000000000 +154.970005135302 135.000000000000 +155.019072407607 30.000000000000 +155.052559212424 1340.000000000000 +166.017592194367 30.000000000000 +168.473431664892 30.000000000000 +168.986837706269 3398.385986328125 +169.003372763135 3388.015625000000 +170.010201737246 30.000000000000 +173.024590605404 45.000000000000 +173.040797670024 45.000000000000 +180.988125318775 45.000000000000 +181.067169151953 45.000000000000 +183.019946060280 60.000000000000 +183.973296472215 60.000000000000 +183.991581432052 60.000000000000 +184.982373240455 2358.000000000000 +186.013257917220 45.000000000000 +186.031131504801 45.000000000000 +186.997031364952 180.000000000000 +197.042736349952 45.000000000000 +198.013249664468 45.000000000000 +198.997808792697 1817.000000000000 +200.977155267651 921.321899414062 +200.996629791750 910.034851074219 +201.376938995039 105.000000000000 +201.941944851582 43.000000000000 +201.984612339669 26091.000000000000 +202.818356565561 30.000000000000 +202.991184510347 75.000000000000 +203.580320043269 30.000000000000 +203.608500705455 30.000000000000 +204.136925660656 60.000000000000 +209.022131387095 30.000000000000 +214.063970383069 30.000000000000 +214.993077545941 402.000000000000 +216.023948737594 339.000000000000 +216.352401382280 225.000000000000 +217.008671425771 51260.445312500000 +217.064228978505 62.555332183838 +217.608709167342 30.000000000000 +217.626877840902 30.000000000000 +217.691156474334 45.000000000000 +218.009446615642 105.000000000000 +218.153506302093 30.000000000000 +218.170218338352 30.000000000000 +218.267617104859 30.000000000000 +218.615653590790 30.000000000000 +218.718403129834 30.000000000000 +218.876802939725 30.000000000000 +219.478454933882 30.000000000000 +219.500322979293 30.000000000000 +219.616328786130 30.000000000000 +219.633391204545 30.000000000000 +222.033999550403 30.000000000000 +222.053161103641 30.000000000000 +230.016744406753 330.000000000000 +233.324545697612 30.000000000000 +234.034577927142 5219.000000000000 +234.244589915540 15.000000000000 +241.039526225685 30.000000000000 +241.052976719499 30.000000000000 +245.040652764521 344.000000000000 +258.069129933027 45.000000000000 +259.054295105195 30.000000000000 +262.064121926055 345.000000000000 +276.081209704146 1088.000000000000 +304.111696411402 240.000000000000 +>compound 1_0-674007--106--UNKNOWN +>parentmass 500.276727311162 +>charge 1 +>rt 445.246000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +500.276727311162 8288.133789062500 +501.279823879484 2533.000000000000 +>ms1peaks +52.005592753043 3006.313964843750 +53.013386604926 14895.982421875000 +53.850307885580 1282.519653320312 +54.009266588925 342199.718750000000 +55.006082581110 6060.072753906250 +55.011283454187 6240.310058593750 +55.054294821572 2210.000000000000 +55.934096145228 5628.309570312500 +56.941759312303 2162.160156250000 +59.049359471853 46694.679687500000 +60.044421789280 9540.689453125000 +61.039479760124 2294.308837890625 +63.997714272448 3712.306396484375 +64.004717741595 3776.877441406250 +68.011627587572 27064.916015625000 +68.993566533187 11389.638671875000 +69.008625246067 1040.924560546875 +69.044535203632 13668.087890625000 +72.936481622578 2454.600341796875 +73.064065589451 1403.865722656250 +76.486273965426 2375.015136718750 +79.020790259171 14203.234375000000 +80.049005926370 10670.580078125000 +81.936823889862 7769.677734375000 +82.996318430269 8831.000000000000 +87.043659684882 1291.933349609375 +87.054507882909 1447.717041015625 +89.506487543125 1968.296386718750 +90.489051431145 1567.000000000000 +91.053400164401 1256.000000000000 +95.952306311885 1977.000000000000 +97.968075016323 6813.626953125000 +100.074949120053 1188.000000000000 +102.090464066418 1830.000000000000 +109.942585550788 1505.090454101562 +113.962587921756 2250.229736328125 +114.090562200242 10307.702148437500 +118.085082878297 6730.000000000000 +122.095605127592 3465.000000000000 +122.963039812214 10185.000000000000 +123.091494988172 1608.787231445312 +129.051393255556 1096.195678710938 +130.157964856700 1224.000000000000 +136.020696393521 1628.173095703125 +136.111265586312 1351.884765625000 +137.963028699523 1044.000000000000 +141.090735684411 1400.241577148438 +141.111884779659 1559.751831054688 +141.936149934788 2056.103759765625 +141.957562608877 15536.687500000000 +147.090844143576 2684.000000000000 +149.022219076913 4357.918945312500 +149.040987249104 1837.193115234375 +151.095349881837 2305.082275390625 +151.109939199155 2576.997802734375 +155.068952001479 1217.608398437500 +155.105783696987 1630.887817382812 +155.972951860043 4015.000000000000 +158.153089325142 12131.025390625000 +159.156361011225 1282.655029296875 +161.095571014168 1849.739868164062 +164.142332600548 1475.398193359375 +170.095084317194 2525.529541015625 +171.146419276332 1492.000000000000 +172.132296924472 1198.192871093750 +173.080359168822 7163.493164062500 +174.127015852864 1059.000000000000 +174.990991861896 1587.000000000000 +178.157781317469 1624.536987304688 +179.105994436857 1966.000000000000 +182.960688878508 2338.556152343750 +182.982210678536 2178.232421875000 +186.220605721634 1746.000000000000 +194.115986578552 3414.184814453125 +195.121368448944 2440.554443359375 +198.184661469947 1850.538574218750 +200.200431422851 1250.850830078125 +201.983565637695 1125.000000000000 +217.006778563847 3269.000000000000 +217.106257896227 20478.425781250000 +218.109387671986 2700.000000000000 +219.094811619683 1568.384521484375 +224.126330250006 1136.363037109375 +228.195256821021 1364.000000000000 +234.034555602122 3162.000000000000 +235.168379942276 1059.765869140625 +239.088123273064 4617.123535156250 +242.283687547927 1626.000000000000 +246.861503474727 3165.000000000000 +249.183966936445 1338.000000000000 +250.178157580094 1268.000000000000 +250.999499019254 3169.000000000000 +251.184919733032 1121.084228515625 +252.996470645480 2204.000000000000 +262.065339439714 5824.345214843750 +267.170259991556 1568.463745117188 +276.081091674263 8173.000000000000 +277.057665923216 1209.618164062500 +277.085219951598 1293.623413085938 +279.093583842250 1859.000000000000 +281.050436828814 1462.000000000000 +284.164194797510 15720.000000000000 +285.167199045233 4022.000000000000 +286.177305853522 1891.670776367188 +292.120375414143 1944.000000000000 +303.190300317299 1143.297241210938 +304.113551407962 233981.000000000000 +305.115237199332 34039.113281250000 +306.110943955948 13933.000000000000 +307.113098422247 1919.696899414062 +307.246808467596 3300.572753906250 +310.120295757069 1681.000000000000 +320.107169971093 1195.785766601562 +326.095118441765 16572.000000000000 +327.007733661441 3760.000000000000 +327.095761410498 3082.000000000000 +328.091343004556 1205.000000000000 +329.005017718870 3936.000000000000 +330.206156493086 31473.623046875000 +331.001131359041 1283.000000000000 +331.208781030804 7087.107910156250 +332.212762979446 1049.000000000000 +342.069329790769 1871.000000000000 +349.169872251691 6112.673339843750 +350.172892076873 1285.000000000000 +352.188381138816 3463.990966796875 +352.237855065072 1571.586547851562 +380.335730124158 1272.000000000000 +404.036775645443 2150.000000000000 +445.119594711322 2089.000000000000 +487.229352410180 1300.347412109375 +500.276727311162 8288.133789062500 +501.279823879484 2533.000000000000 +502.288704966210 1392.000000000000 +505.852309070026 2882.000000000000 +522.878554007503 1334.599853515625 +536.164536908876 5057.000000000000 +537.165016352661 2456.000000000000 +538.163523094599 1972.255615234375 +544.338584253074 1675.149536132812 +546.914933234641 1855.000000000000 +607.218843523736 2732.000000000000 +610.184293153428 2142.000000000000 +611.183428881164 1140.000000000000 +612.185574985429 1243.000000000000 +613.226429565287 4419.000000000000 +614.228332015276 1213.785766601562 +629.199480533100 8990.000000000000 +630.203842344410 2729.000000000000 +631.198645508739 1426.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=674 experiment=7 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=674 experiment=7_0 +##scan 106 +##specref ms_run[1]:sample=1 period=1 cycle=674 experiment=7 +79.054718380605 30.000000000000 +93.067626841157 45.000000000000 +109.100207433030 30.000000000000 +129.072455830986 45.000000000000 +131.083993209966 30.000000000000 +133.103447904778 45.000000000000 +145.101145906660 45.000000000000 +217.008040624707 60.000000000000 +359.258308471788 225.000000000000 +>compound 1_0-674008--107--UNKNOWN +>parentmass 613.226429565287 +>charge 1 +>rt 445.246000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +613.226429565287 4419.000000000000 +>ms1peaks +52.005592753043 3006.313964843750 +53.013386604926 14895.982421875000 +53.850307885580 1282.519653320312 +54.009266588925 342199.718750000000 +55.006082581110 6060.072753906250 +55.011283454187 6240.310058593750 +55.054294821572 2210.000000000000 +55.934096145228 5628.309570312500 +56.941759312303 2162.160156250000 +59.049359471853 46694.679687500000 +60.044421789280 9540.689453125000 +61.039479760124 2294.308837890625 +63.997714272448 3712.306396484375 +64.004717741595 3776.877441406250 +68.011627587572 27064.916015625000 +68.993566533187 11389.638671875000 +69.008625246067 1040.924560546875 +69.044535203632 13668.087890625000 +72.936481622578 2454.600341796875 +73.064065589451 1403.865722656250 +76.486273965426 2375.015136718750 +79.020790259171 14203.234375000000 +80.049005926370 10670.580078125000 +81.936823889862 7769.677734375000 +82.996318430269 8831.000000000000 +87.043659684882 1291.933349609375 +87.054507882909 1447.717041015625 +89.506487543125 1968.296386718750 +90.489051431145 1567.000000000000 +91.053400164401 1256.000000000000 +95.952306311885 1977.000000000000 +97.968075016323 6813.626953125000 +100.074949120053 1188.000000000000 +102.090464066418 1830.000000000000 +109.942585550788 1505.090454101562 +113.962587921756 2250.229736328125 +114.090562200242 10307.702148437500 +118.085082878297 6730.000000000000 +122.095605127592 3465.000000000000 +122.963039812214 10185.000000000000 +123.091494988172 1608.787231445312 +129.051393255556 1096.195678710938 +130.157964856700 1224.000000000000 +136.020696393521 1628.173095703125 +136.111265586312 1351.884765625000 +137.963028699523 1044.000000000000 +141.090735684411 1400.241577148438 +141.111884779659 1559.751831054688 +141.936149934788 2056.103759765625 +141.957562608877 15536.687500000000 +147.090844143576 2684.000000000000 +149.022219076913 4357.918945312500 +149.040987249104 1837.193115234375 +151.095349881837 2305.082275390625 +151.109939199155 2576.997802734375 +155.068952001479 1217.608398437500 +155.105783696987 1630.887817382812 +155.972951860043 4015.000000000000 +158.153089325142 12131.025390625000 +159.156361011225 1282.655029296875 +161.095571014168 1849.739868164062 +164.142332600548 1475.398193359375 +170.095084317194 2525.529541015625 +171.146419276332 1492.000000000000 +172.132296924472 1198.192871093750 +173.080359168822 7163.493164062500 +174.127015852864 1059.000000000000 +174.990991861896 1587.000000000000 +178.157781317469 1624.536987304688 +179.105994436857 1966.000000000000 +182.960688878508 2338.556152343750 +182.982210678536 2178.232421875000 +186.220605721634 1746.000000000000 +194.115986578552 3414.184814453125 +195.121368448944 2440.554443359375 +198.184661469947 1850.538574218750 +200.200431422851 1250.850830078125 +201.983565637695 1125.000000000000 +217.006778563847 3269.000000000000 +217.106257896227 20478.425781250000 +218.109387671986 2700.000000000000 +219.094811619683 1568.384521484375 +224.126330250006 1136.363037109375 +228.195256821021 1364.000000000000 +234.034555602122 3162.000000000000 +235.168379942276 1059.765869140625 +239.088123273064 4617.123535156250 +242.283687547927 1626.000000000000 +246.861503474727 3165.000000000000 +249.183966936445 1338.000000000000 +250.178157580094 1268.000000000000 +250.999499019254 3169.000000000000 +251.184919733032 1121.084228515625 +252.996470645480 2204.000000000000 +262.065339439714 5824.345214843750 +267.170259991556 1568.463745117188 +276.081091674263 8173.000000000000 +277.057665923216 1209.618164062500 +277.085219951598 1293.623413085938 +279.093583842250 1859.000000000000 +281.050436828814 1462.000000000000 +284.164194797510 15720.000000000000 +285.167199045233 4022.000000000000 +286.177305853522 1891.670776367188 +292.120375414143 1944.000000000000 +303.190300317299 1143.297241210938 +304.113551407962 233981.000000000000 +305.115237199332 34039.113281250000 +306.110943955948 13933.000000000000 +307.113098422247 1919.696899414062 +307.246808467596 3300.572753906250 +310.120295757069 1681.000000000000 +320.107169971093 1195.785766601562 +326.095118441765 16572.000000000000 +327.007733661441 3760.000000000000 +327.095761410498 3082.000000000000 +328.091343004556 1205.000000000000 +329.005017718870 3936.000000000000 +330.206156493086 31473.623046875000 +331.001131359041 1283.000000000000 +331.208781030804 7087.107910156250 +332.212762979446 1049.000000000000 +342.069329790769 1871.000000000000 +349.169872251691 6112.673339843750 +350.172892076873 1285.000000000000 +352.188381138816 3463.990966796875 +352.237855065072 1571.586547851562 +380.335730124158 1272.000000000000 +404.036775645443 2150.000000000000 +445.119594711322 2089.000000000000 +487.229352410180 1300.347412109375 +500.276727311162 8288.133789062500 +501.279823879484 2533.000000000000 +502.288704966210 1392.000000000000 +505.852309070026 2882.000000000000 +522.878554007503 1334.599853515625 +536.164536908876 5057.000000000000 +537.165016352661 2456.000000000000 +538.163523094599 1972.255615234375 +544.338584253074 1675.149536132812 +546.914933234641 1855.000000000000 +607.218843523736 2732.000000000000 +610.184293153428 2142.000000000000 +611.183428881164 1140.000000000000 +612.185574985429 1243.000000000000 +613.226429565287 4419.000000000000 +614.228332015276 1213.785766601562 +629.199480533100 8990.000000000000 +630.203842344410 2729.000000000000 +631.198645508739 1426.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=674 experiment=8 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=674 experiment=8_0 +##scan 107 +##specref ms_run[1]:sample=1 period=1 cycle=674 experiment=8 +161.056871583890 45.000000000000 +240.043575443940 180.000000000000 +282.091368031588 75.000000000000 +310.121658372047 3112.916015625000 +328.131055904391 105.000000000000 +358.069103406103 30.000000000000 +613.226532160229 195.000000000000 +614.229875739032 30.000000000000 +>compound 1_0-674009--108--UNKNOWN +>parentmass 629.199480533100 +>charge 1 +>rt 445.246000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +629.199480533100 8990.000000000000 +>ms1peaks +52.005592753043 3006.313964843750 +53.013386604926 14895.982421875000 +53.850307885580 1282.519653320312 +54.009266588925 342199.718750000000 +55.006082581110 6060.072753906250 +55.011283454187 6240.310058593750 +55.054294821572 2210.000000000000 +55.934096145228 5628.309570312500 +56.941759312303 2162.160156250000 +59.049359471853 46694.679687500000 +60.044421789280 9540.689453125000 +61.039479760124 2294.308837890625 +63.997714272448 3712.306396484375 +64.004717741595 3776.877441406250 +68.011627587572 27064.916015625000 +68.993566533187 11389.638671875000 +69.008625246067 1040.924560546875 +69.044535203632 13668.087890625000 +72.936481622578 2454.600341796875 +73.064065589451 1403.865722656250 +76.486273965426 2375.015136718750 +79.020790259171 14203.234375000000 +80.049005926370 10670.580078125000 +81.936823889862 7769.677734375000 +82.996318430269 8831.000000000000 +87.043659684882 1291.933349609375 +87.054507882909 1447.717041015625 +89.506487543125 1968.296386718750 +90.489051431145 1567.000000000000 +91.053400164401 1256.000000000000 +95.952306311885 1977.000000000000 +97.968075016323 6813.626953125000 +100.074949120053 1188.000000000000 +102.090464066418 1830.000000000000 +109.942585550788 1505.090454101562 +113.962587921756 2250.229736328125 +114.090562200242 10307.702148437500 +118.085082878297 6730.000000000000 +122.095605127592 3465.000000000000 +122.963039812214 10185.000000000000 +123.091494988172 1608.787231445312 +129.051393255556 1096.195678710938 +130.157964856700 1224.000000000000 +136.020696393521 1628.173095703125 +136.111265586312 1351.884765625000 +137.963028699523 1044.000000000000 +141.090735684411 1400.241577148438 +141.111884779659 1559.751831054688 +141.936149934788 2056.103759765625 +141.957562608877 15536.687500000000 +147.090844143576 2684.000000000000 +149.022219076913 4357.918945312500 +149.040987249104 1837.193115234375 +151.095349881837 2305.082275390625 +151.109939199155 2576.997802734375 +155.068952001479 1217.608398437500 +155.105783696987 1630.887817382812 +155.972951860043 4015.000000000000 +158.153089325142 12131.025390625000 +159.156361011225 1282.655029296875 +161.095571014168 1849.739868164062 +164.142332600548 1475.398193359375 +170.095084317194 2525.529541015625 +171.146419276332 1492.000000000000 +172.132296924472 1198.192871093750 +173.080359168822 7163.493164062500 +174.127015852864 1059.000000000000 +174.990991861896 1587.000000000000 +178.157781317469 1624.536987304688 +179.105994436857 1966.000000000000 +182.960688878508 2338.556152343750 +182.982210678536 2178.232421875000 +186.220605721634 1746.000000000000 +194.115986578552 3414.184814453125 +195.121368448944 2440.554443359375 +198.184661469947 1850.538574218750 +200.200431422851 1250.850830078125 +201.983565637695 1125.000000000000 +217.006778563847 3269.000000000000 +217.106257896227 20478.425781250000 +218.109387671986 2700.000000000000 +219.094811619683 1568.384521484375 +224.126330250006 1136.363037109375 +228.195256821021 1364.000000000000 +234.034555602122 3162.000000000000 +235.168379942276 1059.765869140625 +239.088123273064 4617.123535156250 +242.283687547927 1626.000000000000 +246.861503474727 3165.000000000000 +249.183966936445 1338.000000000000 +250.178157580094 1268.000000000000 +250.999499019254 3169.000000000000 +251.184919733032 1121.084228515625 +252.996470645480 2204.000000000000 +262.065339439714 5824.345214843750 +267.170259991556 1568.463745117188 +276.081091674263 8173.000000000000 +277.057665923216 1209.618164062500 +277.085219951598 1293.623413085938 +279.093583842250 1859.000000000000 +281.050436828814 1462.000000000000 +284.164194797510 15720.000000000000 +285.167199045233 4022.000000000000 +286.177305853522 1891.670776367188 +292.120375414143 1944.000000000000 +303.190300317299 1143.297241210938 +304.113551407962 233981.000000000000 +305.115237199332 34039.113281250000 +306.110943955948 13933.000000000000 +307.113098422247 1919.696899414062 +307.246808467596 3300.572753906250 +310.120295757069 1681.000000000000 +320.107169971093 1195.785766601562 +326.095118441765 16572.000000000000 +327.007733661441 3760.000000000000 +327.095761410498 3082.000000000000 +328.091343004556 1205.000000000000 +329.005017718870 3936.000000000000 +330.206156493086 31473.623046875000 +331.001131359041 1283.000000000000 +331.208781030804 7087.107910156250 +332.212762979446 1049.000000000000 +342.069329790769 1871.000000000000 +349.169872251691 6112.673339843750 +350.172892076873 1285.000000000000 +352.188381138816 3463.990966796875 +352.237855065072 1571.586547851562 +380.335730124158 1272.000000000000 +404.036775645443 2150.000000000000 +445.119594711322 2089.000000000000 +487.229352410180 1300.347412109375 +500.276727311162 8288.133789062500 +501.279823879484 2533.000000000000 +502.288704966210 1392.000000000000 +505.852309070026 2882.000000000000 +522.878554007503 1334.599853515625 +536.164536908876 5057.000000000000 +537.165016352661 2456.000000000000 +538.163523094599 1972.255615234375 +544.338584253074 1675.149536132812 +546.914933234641 1855.000000000000 +607.218843523736 2732.000000000000 +610.184293153428 2142.000000000000 +611.183428881164 1140.000000000000 +612.185574985429 1243.000000000000 +613.226429565287 4419.000000000000 +614.228332015276 1213.785766601562 +629.199480533100 8990.000000000000 +630.203842344410 2729.000000000000 +631.198645508739 1426.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=674 experiment=9 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=674 experiment=9_0 +##scan 108 +##specref ms_run[1]:sample=1 period=1 cycle=674 experiment=9 +325.185412206910 13.000000000000 +326.095203181606 5494.411132812500 +326.685716517291 13.000000000000 +520.910773916069 13.000000000000 +>compound 1_0-675002--110--UNKNOWN +>parentmass 234.033582693957 +>charge 1 +>rt 446.172000000000 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +234.033582693957 12770.000000000000 +>ms1peaks +52.005429962927 2874.067626953125 +53.013488092548 14817.291015625000 +54.009250374962 334494.937500000000 +55.006084606761 5488.883300781250 +55.011047738293 6443.265136718750 +55.054381628314 2385.724365234375 +55.934070669618 5486.966796875000 +56.942036090778 2313.250244140625 +59.049556209203 57988.484375000000 +60.044347260401 9323.001953125000 +61.039167560780 1828.241455078125 +63.997923021227 4927.193359375000 +64.004932691950 5181.531250000000 +68.011552270537 27280.974609375000 +68.993634139472 11798.143554687500 +69.044334270747 12566.409179687500 +72.936570834957 2193.115966796875 +73.063872777826 1681.879882812500 +76.486053959604 2158.190429687500 +79.020753207512 16147.697265625000 +80.048886066869 12139.645507812500 +81.936907500524 8343.286132812500 +82.996250408243 8009.000000000000 +87.042980895665 1166.738403320312 +87.053972860944 1485.116088867188 +89.506705194324 1444.000000000000 +90.488891330057 1645.000000000000 +91.053476545401 1583.000000000000 +95.952210208006 2039.742797851562 +97.968150682366 6945.562500000000 +100.074718244150 1363.000000000000 +102.090306392772 1417.000000000000 +109.942448236827 1253.000000000000 +113.962708637249 2032.000000000000 +114.090792284548 10306.000000000000 +118.084892277491 5540.821289062500 +122.095166173318 3378.000000000000 +122.962913232208 9579.000000000000 +123.091195975991 1531.662963867188 +130.157764407919 1286.000000000000 +136.020428292954 1633.000000000000 +141.090127789620 1346.968627929688 +141.112042976374 1656.172241210938 +141.957142368171 13820.262695312500 +147.089971164701 2287.525390625000 +149.022027180229 4587.050292968750 +149.040978245649 2678.199707031250 +151.095856455214 2104.623291015625 +151.110429192129 2233.988037109375 +155.068837159282 1322.053710937500 +155.973356955881 4212.000000000000 +158.153011960091 10898.886718750000 +161.095284178342 1762.593994140625 +164.141720682546 1224.125244140625 +170.095143568643 2743.236816406250 +173.079445020465 6455.588378906250 +174.990181271009 1164.000000000000 +175.126264328958 1229.927246093750 +178.157011972493 1362.000000000000 +179.105369890054 1931.000000000000 +182.960638968270 1810.076538085938 +182.983125598895 1274.763061523438 +186.016954934375 1958.000000000000 +186.220415397417 1282.000000000000 +193.158240520354 1195.032958984375 +194.115937912419 2861.000000000000 +195.121022485646 2380.102539062500 +198.183707422577 1745.000000000000 +200.199383225092 1357.000000000000 +201.983259096536 4157.000000000000 +217.007242135614 11741.327148437500 +217.105963587093 15482.668945312500 +218.009949414252 1208.000000000000 +218.108958783015 2547.000000000000 +219.093633048806 1319.448730468750 +234.033582693957 12770.000000000000 +235.037603512480 1379.336669921875 +239.087766278998 3286.875732421875 +242.283333142943 1269.000000000000 +245.038366204801 2525.000000000000 +246.860868473188 2768.000000000000 +249.183726045021 1277.861328125000 +250.999502407170 2552.000000000000 +252.995631834554 1836.000000000000 +262.065239894604 21394.767578125000 +263.067572169870 2404.000000000000 +264.061891103771 1243.000000000000 +276.080813947841 32185.000000000000 +277.083963767141 4114.000000000000 +278.078054160446 2217.000000000000 +279.092495265569 1940.000000000000 +281.050419778851 1367.000000000000 +284.163590469925 9332.000000000000 +285.167331910184 2517.000000000000 +289.119964437534 1441.302978515625 +292.119508242518 1546.000000000000 +303.104642799152 3336.000000000000 +303.191168270618 2846.093505859375 +304.118917204532 886697.062500000000 +304.856339026942 1419.656616210938 +304.975022441588 5892.455566406250 +305.107897820025 60098.996093750000 +306.110158464267 52147.246093750000 +307.111260806590 6616.670410156250 +307.247283236566 2744.782226562500 +310.120139525907 4017.412597656250 +320.106832165572 5127.000000000000 +321.110457254103 1231.635253906250 +321.131042046566 1226.668579101562 +326.094185610162 39581.000000000000 +327.007439325330 3479.883544921875 +327.096485748553 6323.979980468750 +328.091424657873 2476.325927734375 +329.002736488496 3916.000000000000 +330.204957173578 17861.789062500000 +331.208137127779 4322.000000000000 +342.068068201427 2858.656982421875 +349.169386508932 18308.152343750000 +350.172289812388 3575.000000000000 +351.169114792649 1326.000000000000 +352.185338388432 1383.838623046875 +372.148023932598 2199.032714843750 +380.334421867930 1500.000000000000 +404.036203084131 8110.000000000000 +405.038280600419 1614.000000000000 +445.117639958471 2103.000000000000 +500.274765830931 9506.000000000000 +501.278189264574 2845.197509765625 +502.287108152553 1738.000000000000 +505.850965822120 2506.000000000000 +536.163265279090 5123.811523437500 +537.164206705990 2452.000000000000 +538.160787955733 1794.000000000000 +544.336478775213 1764.000000000000 +546.913227478942 1570.434814453125 +549.964589119831 1398.000000000000 +607.215848916045 42716.000000000000 +608.219229396365 13004.000000000000 +609.215354074706 6569.000000000000 +610.191475231986 3658.000000000000 +611.187180591379 1650.000000000000 +612.219311132493 2717.000000000000 +613.224098373297 22062.000000000000 +614.227279534381 7018.149414062500 +615.222828016202 3443.000000000000 +623.211028873207 1301.000000000000 +629.198230629944 46218.000000000000 +630.201437914669 14408.000000000000 +631.197842259138 6467.000000000000 +632.198694915122 1400.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=675 experiment=2 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=675 experiment=2_0 +##scan 110 +##specref ms_run[1]:sample=1 period=1 cycle=675 experiment=2 +55.054548654217 97.075424194336 +55.059293592151 92.948188781738 +83.049372770631 150.000000000000 +111.042392382575 120.000000000000 +155.070598075033 180.000000000000 +173.079681129602 90.000000000000 +201.982415720889 45.000000000000 +>compound 1_0-675003--111--UNKNOWN +>parentmass 262.065239894604 +>charge 1 +>rt 446.172000000000 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +262.065239894604 21394.767578125000 +>ms1peaks +52.005429962927 2874.067626953125 +53.013488092548 14817.291015625000 +54.009250374962 334494.937500000000 +55.006084606761 5488.883300781250 +55.011047738293 6443.265136718750 +55.054381628314 2385.724365234375 +55.934070669618 5486.966796875000 +56.942036090778 2313.250244140625 +59.049556209203 57988.484375000000 +60.044347260401 9323.001953125000 +61.039167560780 1828.241455078125 +63.997923021227 4927.193359375000 +64.004932691950 5181.531250000000 +68.011552270537 27280.974609375000 +68.993634139472 11798.143554687500 +69.044334270747 12566.409179687500 +72.936570834957 2193.115966796875 +73.063872777826 1681.879882812500 +76.486053959604 2158.190429687500 +79.020753207512 16147.697265625000 +80.048886066869 12139.645507812500 +81.936907500524 8343.286132812500 +82.996250408243 8009.000000000000 +87.042980895665 1166.738403320312 +87.053972860944 1485.116088867188 +89.506705194324 1444.000000000000 +90.488891330057 1645.000000000000 +91.053476545401 1583.000000000000 +95.952210208006 2039.742797851562 +97.968150682366 6945.562500000000 +100.074718244150 1363.000000000000 +102.090306392772 1417.000000000000 +109.942448236827 1253.000000000000 +113.962708637249 2032.000000000000 +114.090792284548 10306.000000000000 +118.084892277491 5540.821289062500 +122.095166173318 3378.000000000000 +122.962913232208 9579.000000000000 +123.091195975991 1531.662963867188 +130.157764407919 1286.000000000000 +136.020428292954 1633.000000000000 +141.090127789620 1346.968627929688 +141.112042976374 1656.172241210938 +141.957142368171 13820.262695312500 +147.089971164701 2287.525390625000 +149.022027180229 4587.050292968750 +149.040978245649 2678.199707031250 +151.095856455214 2104.623291015625 +151.110429192129 2233.988037109375 +155.068837159282 1322.053710937500 +155.973356955881 4212.000000000000 +158.153011960091 10898.886718750000 +161.095284178342 1762.593994140625 +164.141720682546 1224.125244140625 +170.095143568643 2743.236816406250 +173.079445020465 6455.588378906250 +174.990181271009 1164.000000000000 +175.126264328958 1229.927246093750 +178.157011972493 1362.000000000000 +179.105369890054 1931.000000000000 +182.960638968270 1810.076538085938 +182.983125598895 1274.763061523438 +186.016954934375 1958.000000000000 +186.220415397417 1282.000000000000 +193.158240520354 1195.032958984375 +194.115937912419 2861.000000000000 +195.121022485646 2380.102539062500 +198.183707422577 1745.000000000000 +200.199383225092 1357.000000000000 +201.983259096536 4157.000000000000 +217.007242135614 11741.327148437500 +217.105963587093 15482.668945312500 +218.009949414252 1208.000000000000 +218.108958783015 2547.000000000000 +219.093633048806 1319.448730468750 +234.033582693957 12770.000000000000 +235.037603512480 1379.336669921875 +239.087766278998 3286.875732421875 +242.283333142943 1269.000000000000 +245.038366204801 2525.000000000000 +246.860868473188 2768.000000000000 +249.183726045021 1277.861328125000 +250.999502407170 2552.000000000000 +252.995631834554 1836.000000000000 +262.065239894604 21394.767578125000 +263.067572169870 2404.000000000000 +264.061891103771 1243.000000000000 +276.080813947841 32185.000000000000 +277.083963767141 4114.000000000000 +278.078054160446 2217.000000000000 +279.092495265569 1940.000000000000 +281.050419778851 1367.000000000000 +284.163590469925 9332.000000000000 +285.167331910184 2517.000000000000 +289.119964437534 1441.302978515625 +292.119508242518 1546.000000000000 +303.104642799152 3336.000000000000 +303.191168270618 2846.093505859375 +304.118917204532 886697.062500000000 +304.856339026942 1419.656616210938 +304.975022441588 5892.455566406250 +305.107897820025 60098.996093750000 +306.110158464267 52147.246093750000 +307.111260806590 6616.670410156250 +307.247283236566 2744.782226562500 +310.120139525907 4017.412597656250 +320.106832165572 5127.000000000000 +321.110457254103 1231.635253906250 +321.131042046566 1226.668579101562 +326.094185610162 39581.000000000000 +327.007439325330 3479.883544921875 +327.096485748553 6323.979980468750 +328.091424657873 2476.325927734375 +329.002736488496 3916.000000000000 +330.204957173578 17861.789062500000 +331.208137127779 4322.000000000000 +342.068068201427 2858.656982421875 +349.169386508932 18308.152343750000 +350.172289812388 3575.000000000000 +351.169114792649 1326.000000000000 +352.185338388432 1383.838623046875 +372.148023932598 2199.032714843750 +380.334421867930 1500.000000000000 +404.036203084131 8110.000000000000 +405.038280600419 1614.000000000000 +445.117639958471 2103.000000000000 +500.274765830931 9506.000000000000 +501.278189264574 2845.197509765625 +502.287108152553 1738.000000000000 +505.850965822120 2506.000000000000 +536.163265279090 5123.811523437500 +537.164206705990 2452.000000000000 +538.160787955733 1794.000000000000 +544.336478775213 1764.000000000000 +546.913227478942 1570.434814453125 +549.964589119831 1398.000000000000 +607.215848916045 42716.000000000000 +608.219229396365 13004.000000000000 +609.215354074706 6569.000000000000 +610.191475231986 3658.000000000000 +611.187180591379 1650.000000000000 +612.219311132493 2717.000000000000 +613.224098373297 22062.000000000000 +614.227279534381 7018.149414062500 +615.222828016202 3443.000000000000 +623.211028873207 1301.000000000000 +629.198230629944 46218.000000000000 +630.201437914669 14408.000000000000 +631.197842259138 6467.000000000000 +632.198694915122 1400.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=675 experiment=3 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=675 experiment=3_0 +##scan 111 +##specref ms_run[1]:sample=1 period=1 cycle=675 experiment=3 +158.926774207819 13.000000000000 +168.999744361462 13.000000000000 +201.988880376921 30.000000000000 +>compound 1_0-675004--112--UNKNOWN +>parentmass 276.080813947841 +>charge 1 +>rt 446.172000000000 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +276.080813947841 32185.000000000000 +277.083963767141 4114.000000000000 +>ms1peaks +52.005429962927 2874.067626953125 +53.013488092548 14817.291015625000 +54.009250374962 334494.937500000000 +55.006084606761 5488.883300781250 +55.011047738293 6443.265136718750 +55.054381628314 2385.724365234375 +55.934070669618 5486.966796875000 +56.942036090778 2313.250244140625 +59.049556209203 57988.484375000000 +60.044347260401 9323.001953125000 +61.039167560780 1828.241455078125 +63.997923021227 4927.193359375000 +64.004932691950 5181.531250000000 +68.011552270537 27280.974609375000 +68.993634139472 11798.143554687500 +69.044334270747 12566.409179687500 +72.936570834957 2193.115966796875 +73.063872777826 1681.879882812500 +76.486053959604 2158.190429687500 +79.020753207512 16147.697265625000 +80.048886066869 12139.645507812500 +81.936907500524 8343.286132812500 +82.996250408243 8009.000000000000 +87.042980895665 1166.738403320312 +87.053972860944 1485.116088867188 +89.506705194324 1444.000000000000 +90.488891330057 1645.000000000000 +91.053476545401 1583.000000000000 +95.952210208006 2039.742797851562 +97.968150682366 6945.562500000000 +100.074718244150 1363.000000000000 +102.090306392772 1417.000000000000 +109.942448236827 1253.000000000000 +113.962708637249 2032.000000000000 +114.090792284548 10306.000000000000 +118.084892277491 5540.821289062500 +122.095166173318 3378.000000000000 +122.962913232208 9579.000000000000 +123.091195975991 1531.662963867188 +130.157764407919 1286.000000000000 +136.020428292954 1633.000000000000 +141.090127789620 1346.968627929688 +141.112042976374 1656.172241210938 +141.957142368171 13820.262695312500 +147.089971164701 2287.525390625000 +149.022027180229 4587.050292968750 +149.040978245649 2678.199707031250 +151.095856455214 2104.623291015625 +151.110429192129 2233.988037109375 +155.068837159282 1322.053710937500 +155.973356955881 4212.000000000000 +158.153011960091 10898.886718750000 +161.095284178342 1762.593994140625 +164.141720682546 1224.125244140625 +170.095143568643 2743.236816406250 +173.079445020465 6455.588378906250 +174.990181271009 1164.000000000000 +175.126264328958 1229.927246093750 +178.157011972493 1362.000000000000 +179.105369890054 1931.000000000000 +182.960638968270 1810.076538085938 +182.983125598895 1274.763061523438 +186.016954934375 1958.000000000000 +186.220415397417 1282.000000000000 +193.158240520354 1195.032958984375 +194.115937912419 2861.000000000000 +195.121022485646 2380.102539062500 +198.183707422577 1745.000000000000 +200.199383225092 1357.000000000000 +201.983259096536 4157.000000000000 +217.007242135614 11741.327148437500 +217.105963587093 15482.668945312500 +218.009949414252 1208.000000000000 +218.108958783015 2547.000000000000 +219.093633048806 1319.448730468750 +234.033582693957 12770.000000000000 +235.037603512480 1379.336669921875 +239.087766278998 3286.875732421875 +242.283333142943 1269.000000000000 +245.038366204801 2525.000000000000 +246.860868473188 2768.000000000000 +249.183726045021 1277.861328125000 +250.999502407170 2552.000000000000 +252.995631834554 1836.000000000000 +262.065239894604 21394.767578125000 +263.067572169870 2404.000000000000 +264.061891103771 1243.000000000000 +276.080813947841 32185.000000000000 +277.083963767141 4114.000000000000 +278.078054160446 2217.000000000000 +279.092495265569 1940.000000000000 +281.050419778851 1367.000000000000 +284.163590469925 9332.000000000000 +285.167331910184 2517.000000000000 +289.119964437534 1441.302978515625 +292.119508242518 1546.000000000000 +303.104642799152 3336.000000000000 +303.191168270618 2846.093505859375 +304.118917204532 886697.062500000000 +304.856339026942 1419.656616210938 +304.975022441588 5892.455566406250 +305.107897820025 60098.996093750000 +306.110158464267 52147.246093750000 +307.111260806590 6616.670410156250 +307.247283236566 2744.782226562500 +310.120139525907 4017.412597656250 +320.106832165572 5127.000000000000 +321.110457254103 1231.635253906250 +321.131042046566 1226.668579101562 +326.094185610162 39581.000000000000 +327.007439325330 3479.883544921875 +327.096485748553 6323.979980468750 +328.091424657873 2476.325927734375 +329.002736488496 3916.000000000000 +330.204957173578 17861.789062500000 +331.208137127779 4322.000000000000 +342.068068201427 2858.656982421875 +349.169386508932 18308.152343750000 +350.172289812388 3575.000000000000 +351.169114792649 1326.000000000000 +352.185338388432 1383.838623046875 +372.148023932598 2199.032714843750 +380.334421867930 1500.000000000000 +404.036203084131 8110.000000000000 +405.038280600419 1614.000000000000 +445.117639958471 2103.000000000000 +500.274765830931 9506.000000000000 +501.278189264574 2845.197509765625 +502.287108152553 1738.000000000000 +505.850965822120 2506.000000000000 +536.163265279090 5123.811523437500 +537.164206705990 2452.000000000000 +538.160787955733 1794.000000000000 +544.336478775213 1764.000000000000 +546.913227478942 1570.434814453125 +549.964589119831 1398.000000000000 +607.215848916045 42716.000000000000 +608.219229396365 13004.000000000000 +609.215354074706 6569.000000000000 +610.191475231986 3658.000000000000 +611.187180591379 1650.000000000000 +612.219311132493 2717.000000000000 +613.224098373297 22062.000000000000 +614.227279534381 7018.149414062500 +615.222828016202 3443.000000000000 +623.211028873207 1301.000000000000 +629.198230629944 46218.000000000000 +630.201437914669 14408.000000000000 +631.197842259138 6467.000000000000 +632.198694915122 1400.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=675 experiment=4 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=675 experiment=4_0 +##scan 112 +##specref ms_run[1]:sample=1 period=1 cycle=675 experiment=4 +148.908324638323 30.000000000000 +168.983683393227 45.000000000000 +201.984214431257 135.000000000000 +217.011007842634 120.000000000000 +>compound 1_0-675007--115--UNKNOWN +>parentmass 607.215848916045 +>charge 1 +>rt 446.172000000000 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +607.215848916045 42716.000000000000 +608.219229396365 13004.000000000000 +>ms1peaks +52.005429962927 2874.067626953125 +53.013488092548 14817.291015625000 +54.009250374962 334494.937500000000 +55.006084606761 5488.883300781250 +55.011047738293 6443.265136718750 +55.054381628314 2385.724365234375 +55.934070669618 5486.966796875000 +56.942036090778 2313.250244140625 +59.049556209203 57988.484375000000 +60.044347260401 9323.001953125000 +61.039167560780 1828.241455078125 +63.997923021227 4927.193359375000 +64.004932691950 5181.531250000000 +68.011552270537 27280.974609375000 +68.993634139472 11798.143554687500 +69.044334270747 12566.409179687500 +72.936570834957 2193.115966796875 +73.063872777826 1681.879882812500 +76.486053959604 2158.190429687500 +79.020753207512 16147.697265625000 +80.048886066869 12139.645507812500 +81.936907500524 8343.286132812500 +82.996250408243 8009.000000000000 +87.042980895665 1166.738403320312 +87.053972860944 1485.116088867188 +89.506705194324 1444.000000000000 +90.488891330057 1645.000000000000 +91.053476545401 1583.000000000000 +95.952210208006 2039.742797851562 +97.968150682366 6945.562500000000 +100.074718244150 1363.000000000000 +102.090306392772 1417.000000000000 +109.942448236827 1253.000000000000 +113.962708637249 2032.000000000000 +114.090792284548 10306.000000000000 +118.084892277491 5540.821289062500 +122.095166173318 3378.000000000000 +122.962913232208 9579.000000000000 +123.091195975991 1531.662963867188 +130.157764407919 1286.000000000000 +136.020428292954 1633.000000000000 +141.090127789620 1346.968627929688 +141.112042976374 1656.172241210938 +141.957142368171 13820.262695312500 +147.089971164701 2287.525390625000 +149.022027180229 4587.050292968750 +149.040978245649 2678.199707031250 +151.095856455214 2104.623291015625 +151.110429192129 2233.988037109375 +155.068837159282 1322.053710937500 +155.973356955881 4212.000000000000 +158.153011960091 10898.886718750000 +161.095284178342 1762.593994140625 +164.141720682546 1224.125244140625 +170.095143568643 2743.236816406250 +173.079445020465 6455.588378906250 +174.990181271009 1164.000000000000 +175.126264328958 1229.927246093750 +178.157011972493 1362.000000000000 +179.105369890054 1931.000000000000 +182.960638968270 1810.076538085938 +182.983125598895 1274.763061523438 +186.016954934375 1958.000000000000 +186.220415397417 1282.000000000000 +193.158240520354 1195.032958984375 +194.115937912419 2861.000000000000 +195.121022485646 2380.102539062500 +198.183707422577 1745.000000000000 +200.199383225092 1357.000000000000 +201.983259096536 4157.000000000000 +217.007242135614 11741.327148437500 +217.105963587093 15482.668945312500 +218.009949414252 1208.000000000000 +218.108958783015 2547.000000000000 +219.093633048806 1319.448730468750 +234.033582693957 12770.000000000000 +235.037603512480 1379.336669921875 +239.087766278998 3286.875732421875 +242.283333142943 1269.000000000000 +245.038366204801 2525.000000000000 +246.860868473188 2768.000000000000 +249.183726045021 1277.861328125000 +250.999502407170 2552.000000000000 +252.995631834554 1836.000000000000 +262.065239894604 21394.767578125000 +263.067572169870 2404.000000000000 +264.061891103771 1243.000000000000 +276.080813947841 32185.000000000000 +277.083963767141 4114.000000000000 +278.078054160446 2217.000000000000 +279.092495265569 1940.000000000000 +281.050419778851 1367.000000000000 +284.163590469925 9332.000000000000 +285.167331910184 2517.000000000000 +289.119964437534 1441.302978515625 +292.119508242518 1546.000000000000 +303.104642799152 3336.000000000000 +303.191168270618 2846.093505859375 +304.118917204532 886697.062500000000 +304.856339026942 1419.656616210938 +304.975022441588 5892.455566406250 +305.107897820025 60098.996093750000 +306.110158464267 52147.246093750000 +307.111260806590 6616.670410156250 +307.247283236566 2744.782226562500 +310.120139525907 4017.412597656250 +320.106832165572 5127.000000000000 +321.110457254103 1231.635253906250 +321.131042046566 1226.668579101562 +326.094185610162 39581.000000000000 +327.007439325330 3479.883544921875 +327.096485748553 6323.979980468750 +328.091424657873 2476.325927734375 +329.002736488496 3916.000000000000 +330.204957173578 17861.789062500000 +331.208137127779 4322.000000000000 +342.068068201427 2858.656982421875 +349.169386508932 18308.152343750000 +350.172289812388 3575.000000000000 +351.169114792649 1326.000000000000 +352.185338388432 1383.838623046875 +372.148023932598 2199.032714843750 +380.334421867930 1500.000000000000 +404.036203084131 8110.000000000000 +405.038280600419 1614.000000000000 +445.117639958471 2103.000000000000 +500.274765830931 9506.000000000000 +501.278189264574 2845.197509765625 +502.287108152553 1738.000000000000 +505.850965822120 2506.000000000000 +536.163265279090 5123.811523437500 +537.164206705990 2452.000000000000 +538.160787955733 1794.000000000000 +544.336478775213 1764.000000000000 +546.913227478942 1570.434814453125 +549.964589119831 1398.000000000000 +607.215848916045 42716.000000000000 +608.219229396365 13004.000000000000 +609.215354074706 6569.000000000000 +610.191475231986 3658.000000000000 +611.187180591379 1650.000000000000 +612.219311132493 2717.000000000000 +613.224098373297 22062.000000000000 +614.227279534381 7018.149414062500 +615.222828016202 3443.000000000000 +623.211028873207 1301.000000000000 +629.198230629944 46218.000000000000 +630.201437914669 14408.000000000000 +631.197842259138 6467.000000000000 +632.198694915122 1400.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=675 experiment=7 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=675 experiment=7_0 +##scan 115 +##specref ms_run[1]:sample=1 period=1 cycle=675 experiment=7 +60.080590285745 180.000000000000 +153.038255034352 45.000000000000 +155.052667624153 90.000000000000 +168.986670637296 45.000000000000 +169.003484759843 45.000000000000 +184.986694430606 30.000000000000 +198.998744792499 30.000000000000 +201.985061088074 527.000000000000 +204.092409032563 13.000000000000 +217.008396014126 5618.000000000000 +220.286875966887 30.000000000000 +220.298132557575 30.000000000000 +230.014628481158 30.000000000000 +233.329890197432 45.000000000000 +233.358994563585 45.000000000000 +234.034960135264 3468.000000000000 +234.438577892774 30.000000000000 +235.202066422834 30.000000000000 +235.230430646226 30.000000000000 +235.405835565600 30.000000000000 +245.041637693048 360.000000000000 +247.037500272312 13.000000000000 +258.072218002037 30.000000000000 +261.283636870651 45.000000000000 +261.310989327613 45.000000000000 +262.065495990086 1555.000000000000 +263.206551495802 30.000000000000 +276.082310301885 4134.000000000000 +303.161230522603 15.000000000000 +304.033884800023 13.000000000000 +304.112572516328 8585.000000000000 +304.273640934544 41.992252349854 +304.310810728543 45.000000000000 +309.883664368944 13.000000000000 +>compound 1_0-675008--116--UNKNOWN +>parentmass 613.224098373297 +>charge 1 +>rt 446.172000000000 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +613.224098373297 22062.000000000000 +614.227279534381 7018.149414062500 +>ms1peaks +52.005429962927 2874.067626953125 +53.013488092548 14817.291015625000 +54.009250374962 334494.937500000000 +55.006084606761 5488.883300781250 +55.011047738293 6443.265136718750 +55.054381628314 2385.724365234375 +55.934070669618 5486.966796875000 +56.942036090778 2313.250244140625 +59.049556209203 57988.484375000000 +60.044347260401 9323.001953125000 +61.039167560780 1828.241455078125 +63.997923021227 4927.193359375000 +64.004932691950 5181.531250000000 +68.011552270537 27280.974609375000 +68.993634139472 11798.143554687500 +69.044334270747 12566.409179687500 +72.936570834957 2193.115966796875 +73.063872777826 1681.879882812500 +76.486053959604 2158.190429687500 +79.020753207512 16147.697265625000 +80.048886066869 12139.645507812500 +81.936907500524 8343.286132812500 +82.996250408243 8009.000000000000 +87.042980895665 1166.738403320312 +87.053972860944 1485.116088867188 +89.506705194324 1444.000000000000 +90.488891330057 1645.000000000000 +91.053476545401 1583.000000000000 +95.952210208006 2039.742797851562 +97.968150682366 6945.562500000000 +100.074718244150 1363.000000000000 +102.090306392772 1417.000000000000 +109.942448236827 1253.000000000000 +113.962708637249 2032.000000000000 +114.090792284548 10306.000000000000 +118.084892277491 5540.821289062500 +122.095166173318 3378.000000000000 +122.962913232208 9579.000000000000 +123.091195975991 1531.662963867188 +130.157764407919 1286.000000000000 +136.020428292954 1633.000000000000 +141.090127789620 1346.968627929688 +141.112042976374 1656.172241210938 +141.957142368171 13820.262695312500 +147.089971164701 2287.525390625000 +149.022027180229 4587.050292968750 +149.040978245649 2678.199707031250 +151.095856455214 2104.623291015625 +151.110429192129 2233.988037109375 +155.068837159282 1322.053710937500 +155.973356955881 4212.000000000000 +158.153011960091 10898.886718750000 +161.095284178342 1762.593994140625 +164.141720682546 1224.125244140625 +170.095143568643 2743.236816406250 +173.079445020465 6455.588378906250 +174.990181271009 1164.000000000000 +175.126264328958 1229.927246093750 +178.157011972493 1362.000000000000 +179.105369890054 1931.000000000000 +182.960638968270 1810.076538085938 +182.983125598895 1274.763061523438 +186.016954934375 1958.000000000000 +186.220415397417 1282.000000000000 +193.158240520354 1195.032958984375 +194.115937912419 2861.000000000000 +195.121022485646 2380.102539062500 +198.183707422577 1745.000000000000 +200.199383225092 1357.000000000000 +201.983259096536 4157.000000000000 +217.007242135614 11741.327148437500 +217.105963587093 15482.668945312500 +218.009949414252 1208.000000000000 +218.108958783015 2547.000000000000 +219.093633048806 1319.448730468750 +234.033582693957 12770.000000000000 +235.037603512480 1379.336669921875 +239.087766278998 3286.875732421875 +242.283333142943 1269.000000000000 +245.038366204801 2525.000000000000 +246.860868473188 2768.000000000000 +249.183726045021 1277.861328125000 +250.999502407170 2552.000000000000 +252.995631834554 1836.000000000000 +262.065239894604 21394.767578125000 +263.067572169870 2404.000000000000 +264.061891103771 1243.000000000000 +276.080813947841 32185.000000000000 +277.083963767141 4114.000000000000 +278.078054160446 2217.000000000000 +279.092495265569 1940.000000000000 +281.050419778851 1367.000000000000 +284.163590469925 9332.000000000000 +285.167331910184 2517.000000000000 +289.119964437534 1441.302978515625 +292.119508242518 1546.000000000000 +303.104642799152 3336.000000000000 +303.191168270618 2846.093505859375 +304.118917204532 886697.062500000000 +304.856339026942 1419.656616210938 +304.975022441588 5892.455566406250 +305.107897820025 60098.996093750000 +306.110158464267 52147.246093750000 +307.111260806590 6616.670410156250 +307.247283236566 2744.782226562500 +310.120139525907 4017.412597656250 +320.106832165572 5127.000000000000 +321.110457254103 1231.635253906250 +321.131042046566 1226.668579101562 +326.094185610162 39581.000000000000 +327.007439325330 3479.883544921875 +327.096485748553 6323.979980468750 +328.091424657873 2476.325927734375 +329.002736488496 3916.000000000000 +330.204957173578 17861.789062500000 +331.208137127779 4322.000000000000 +342.068068201427 2858.656982421875 +349.169386508932 18308.152343750000 +350.172289812388 3575.000000000000 +351.169114792649 1326.000000000000 +352.185338388432 1383.838623046875 +372.148023932598 2199.032714843750 +380.334421867930 1500.000000000000 +404.036203084131 8110.000000000000 +405.038280600419 1614.000000000000 +445.117639958471 2103.000000000000 +500.274765830931 9506.000000000000 +501.278189264574 2845.197509765625 +502.287108152553 1738.000000000000 +505.850965822120 2506.000000000000 +536.163265279090 5123.811523437500 +537.164206705990 2452.000000000000 +538.160787955733 1794.000000000000 +544.336478775213 1764.000000000000 +546.913227478942 1570.434814453125 +549.964589119831 1398.000000000000 +607.215848916045 42716.000000000000 +608.219229396365 13004.000000000000 +609.215354074706 6569.000000000000 +610.191475231986 3658.000000000000 +611.187180591379 1650.000000000000 +612.219311132493 2717.000000000000 +613.224098373297 22062.000000000000 +614.227279534381 7018.149414062500 +615.222828016202 3443.000000000000 +623.211028873207 1301.000000000000 +629.198230629944 46218.000000000000 +630.201437914669 14408.000000000000 +631.197842259138 6467.000000000000 +632.198694915122 1400.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=675 experiment=8 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=675 experiment=8_0 +##scan 116 +##specref ms_run[1]:sample=1 period=1 cycle=675 experiment=8 +114.060845518399 30.000000000000 +114.072199964164 30.000000000000 +128.046199794443 30.000000000000 +161.060673390675 150.000000000000 +217.003012310393 30.000000000000 +223.016528050483 105.000000000000 +240.042412030599 352.000000000000 +282.089439919422 488.000000000000 +309.126285457586 75.000000000000 +309.185364964501 60.000000000000 +310.120822442924 7872.000000000000 +311.125429726579 30.000000000000 +328.131258512356 195.000000000000 +613.231474535978 348.000000000000 +>compound 1_0-675009--117--UNKNOWN +>parentmass 629.198230629944 +>charge 1 +>rt 446.172000000000 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +629.198230629944 46218.000000000000 +630.201437914669 14408.000000000000 +>ms1peaks +52.005429962927 2874.067626953125 +53.013488092548 14817.291015625000 +54.009250374962 334494.937500000000 +55.006084606761 5488.883300781250 +55.011047738293 6443.265136718750 +55.054381628314 2385.724365234375 +55.934070669618 5486.966796875000 +56.942036090778 2313.250244140625 +59.049556209203 57988.484375000000 +60.044347260401 9323.001953125000 +61.039167560780 1828.241455078125 +63.997923021227 4927.193359375000 +64.004932691950 5181.531250000000 +68.011552270537 27280.974609375000 +68.993634139472 11798.143554687500 +69.044334270747 12566.409179687500 +72.936570834957 2193.115966796875 +73.063872777826 1681.879882812500 +76.486053959604 2158.190429687500 +79.020753207512 16147.697265625000 +80.048886066869 12139.645507812500 +81.936907500524 8343.286132812500 +82.996250408243 8009.000000000000 +87.042980895665 1166.738403320312 +87.053972860944 1485.116088867188 +89.506705194324 1444.000000000000 +90.488891330057 1645.000000000000 +91.053476545401 1583.000000000000 +95.952210208006 2039.742797851562 +97.968150682366 6945.562500000000 +100.074718244150 1363.000000000000 +102.090306392772 1417.000000000000 +109.942448236827 1253.000000000000 +113.962708637249 2032.000000000000 +114.090792284548 10306.000000000000 +118.084892277491 5540.821289062500 +122.095166173318 3378.000000000000 +122.962913232208 9579.000000000000 +123.091195975991 1531.662963867188 +130.157764407919 1286.000000000000 +136.020428292954 1633.000000000000 +141.090127789620 1346.968627929688 +141.112042976374 1656.172241210938 +141.957142368171 13820.262695312500 +147.089971164701 2287.525390625000 +149.022027180229 4587.050292968750 +149.040978245649 2678.199707031250 +151.095856455214 2104.623291015625 +151.110429192129 2233.988037109375 +155.068837159282 1322.053710937500 +155.973356955881 4212.000000000000 +158.153011960091 10898.886718750000 +161.095284178342 1762.593994140625 +164.141720682546 1224.125244140625 +170.095143568643 2743.236816406250 +173.079445020465 6455.588378906250 +174.990181271009 1164.000000000000 +175.126264328958 1229.927246093750 +178.157011972493 1362.000000000000 +179.105369890054 1931.000000000000 +182.960638968270 1810.076538085938 +182.983125598895 1274.763061523438 +186.016954934375 1958.000000000000 +186.220415397417 1282.000000000000 +193.158240520354 1195.032958984375 +194.115937912419 2861.000000000000 +195.121022485646 2380.102539062500 +198.183707422577 1745.000000000000 +200.199383225092 1357.000000000000 +201.983259096536 4157.000000000000 +217.007242135614 11741.327148437500 +217.105963587093 15482.668945312500 +218.009949414252 1208.000000000000 +218.108958783015 2547.000000000000 +219.093633048806 1319.448730468750 +234.033582693957 12770.000000000000 +235.037603512480 1379.336669921875 +239.087766278998 3286.875732421875 +242.283333142943 1269.000000000000 +245.038366204801 2525.000000000000 +246.860868473188 2768.000000000000 +249.183726045021 1277.861328125000 +250.999502407170 2552.000000000000 +252.995631834554 1836.000000000000 +262.065239894604 21394.767578125000 +263.067572169870 2404.000000000000 +264.061891103771 1243.000000000000 +276.080813947841 32185.000000000000 +277.083963767141 4114.000000000000 +278.078054160446 2217.000000000000 +279.092495265569 1940.000000000000 +281.050419778851 1367.000000000000 +284.163590469925 9332.000000000000 +285.167331910184 2517.000000000000 +289.119964437534 1441.302978515625 +292.119508242518 1546.000000000000 +303.104642799152 3336.000000000000 +303.191168270618 2846.093505859375 +304.118917204532 886697.062500000000 +304.856339026942 1419.656616210938 +304.975022441588 5892.455566406250 +305.107897820025 60098.996093750000 +306.110158464267 52147.246093750000 +307.111260806590 6616.670410156250 +307.247283236566 2744.782226562500 +310.120139525907 4017.412597656250 +320.106832165572 5127.000000000000 +321.110457254103 1231.635253906250 +321.131042046566 1226.668579101562 +326.094185610162 39581.000000000000 +327.007439325330 3479.883544921875 +327.096485748553 6323.979980468750 +328.091424657873 2476.325927734375 +329.002736488496 3916.000000000000 +330.204957173578 17861.789062500000 +331.208137127779 4322.000000000000 +342.068068201427 2858.656982421875 +349.169386508932 18308.152343750000 +350.172289812388 3575.000000000000 +351.169114792649 1326.000000000000 +352.185338388432 1383.838623046875 +372.148023932598 2199.032714843750 +380.334421867930 1500.000000000000 +404.036203084131 8110.000000000000 +405.038280600419 1614.000000000000 +445.117639958471 2103.000000000000 +500.274765830931 9506.000000000000 +501.278189264574 2845.197509765625 +502.287108152553 1738.000000000000 +505.850965822120 2506.000000000000 +536.163265279090 5123.811523437500 +537.164206705990 2452.000000000000 +538.160787955733 1794.000000000000 +544.336478775213 1764.000000000000 +546.913227478942 1570.434814453125 +549.964589119831 1398.000000000000 +607.215848916045 42716.000000000000 +608.219229396365 13004.000000000000 +609.215354074706 6569.000000000000 +610.191475231986 3658.000000000000 +611.187180591379 1650.000000000000 +612.219311132493 2717.000000000000 +613.224098373297 22062.000000000000 +614.227279534381 7018.149414062500 +615.222828016202 3443.000000000000 +623.211028873207 1301.000000000000 +629.198230629944 46218.000000000000 +630.201437914669 14408.000000000000 +631.197842259138 6467.000000000000 +632.198694915122 1400.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=675 experiment=9 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=675 experiment=9_0 +##scan 117 +##specref ms_run[1]:sample=1 period=1 cycle=675 experiment=9 +240.037982163919 30.000000000000 +298.061306708308 30.000000000000 +310.114591761283 45.000000000000 +325.104486407436 60.000000000000 +326.037039844058 68.762626647949 +326.095533969912 11206.000000000000 +327.100958149205 45.000000000000 +>compound 1_0-676002--119--UNKNOWN +>parentmass 262.065226573716 +>charge 1 +>rt 447.100000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +262.065226573716 31878.271484375000 +>ms1peaks +52.005351813457 2501.610107421875 +53.013412581284 13134.520507812500 +53.850226225992 1302.909057617188 +54.009140063564 338983.656250000000 +55.006042248338 6435.412597656250 +55.011148435189 6609.394042968750 +55.054172395822 1772.104248046875 +55.934029229957 5757.919921875000 +56.941868288709 2705.908203125000 +59.049392394217 65787.757812500000 +60.044197396550 9389.001953125000 +61.039698624921 1629.770751953125 +63.997582420249 4596.096191406250 +64.004915539546 4860.728515625000 +68.011405901665 27484.292968750000 +68.993238795734 11816.172851562500 +69.044514210085 12151.762695312500 +72.936346245282 1770.000000000000 +73.063844648998 1632.810180664062 +76.485866327556 2207.000000000000 +79.020638014668 15456.159179687500 +80.048700307132 11716.706054687500 +81.936658440041 8339.158203125000 +82.995849176432 8191.000000000000 +87.054215388379 1432.329345703125 +89.505806636870 1376.000000000000 +90.488666027165 1798.000000000000 +95.952211902793 2472.000000000000 +97.967974119285 6640.000000000000 +100.074558827800 1418.000000000000 +102.090063528932 1768.000000000000 +109.942148206295 1646.000000000000 +113.962810920920 1728.000976562500 +114.090265101894 9843.087890625000 +118.085166173822 5466.146972656250 +122.095082275611 3591.515380859375 +122.962671452755 9919.435546875000 +123.090603383338 1818.105346679688 +130.157985838236 1433.000000000000 +136.020144210415 1305.642211914062 +141.111768954054 1381.647338867188 +141.957291332652 13999.958984375000 +147.090365251433 2315.564941406250 +149.021998403294 4169.404296875000 +151.095653127576 2632.192382812500 +151.109600618565 2638.503906250000 +155.069049191990 1400.588378906250 +155.105221715370 1306.244873046875 +155.972774632456 3955.750244140625 +158.152847157321 10190.631835937500 +161.094883274868 1469.000000000000 +164.993233307885 1413.000000000000 +170.094756804200 2692.873779296875 +173.079096183490 5464.607421875000 +174.990754641374 1338.000000000000 +175.120920396226 1335.489135742188 +178.157288006504 1567.557739257812 +179.104881581157 1856.000000000000 +182.960071822982 1596.667236328125 +186.016812097735 3128.000000000000 +194.115183195725 3037.019042968750 +195.105676043577 1846.959228515625 +195.121034909827 2138.534667968750 +198.183715433637 1614.000000000000 +201.983396783946 6476.000000000000 +217.007534943089 16000.083984375000 +217.105603079000 12722.193359375000 +218.010461830348 1723.000000000000 +218.108916975941 1918.000000000000 +219.094207015885 1394.000000000000 +234.033666185649 17919.000000000000 +235.036061869219 1699.000000000000 +239.087710708037 2715.000000000000 +245.038087259231 3705.000000000000 +246.860587751512 3017.000000000000 +250.998652800198 2461.000000000000 +252.996040050118 1751.000000000000 +262.065226573716 31878.271484375000 +263.067812997194 3540.000000000000 +264.062744585962 1732.000000000000 +276.080875651007 47441.000000000000 +277.083729023421 6202.904296875000 +278.078049070253 2909.805664062500 +279.092264164105 2269.000000000000 +281.049607531965 1759.000000000000 +284.163709253010 5971.317382812500 +285.167422523505 1450.937500000000 +289.120547785899 45105.261718750000 +290.122834000335 8899.000000000000 +291.118148964330 16223.000000000000 +292.119468760172 3916.748291015625 +303.104211105075 4272.900878906250 +303.190626643079 3701.817626953125 +304.121038021889 1154982.000000000000 +304.680120827865 1361.469604492188 +304.720450396369 1578.193115234375 +304.756696628278 1464.135742187500 +304.826755934771 1415.802856445312 +304.888295222133 4211.749023437500 +304.975939340234 6444.747070312500 +305.112954471951 109660.976562500000 +306.110248734555 72833.000000000000 +307.111946842557 10169.579101562500 +307.247397220322 1757.839477539062 +310.120212483100 5088.000000000000 +320.107070842572 7286.000000000000 +321.109817317563 1634.396606445312 +321.134008500327 1645.504272460938 +326.094135509242 51581.214843750000 +327.006663634739 3305.288085937500 +327.096918826684 8025.063964843750 +328.090879363560 3401.237060546875 +329.002848029289 3721.000000000000 +330.204815446188 11820.952148437500 +331.208232327135 2889.000000000000 +342.067980362905 3189.395019531250 +349.169296376205 25098.000000000000 +350.172883605486 4323.000000000000 +351.167291455015 1724.000000000000 +372.149200119315 2817.477050781250 +404.036004100360 11013.000000000000 +405.038241871311 2224.679687500000 +424.359699824875 1469.000000000000 +445.117347283461 1962.204711914062 +500.274802921042 11554.163085937500 +501.277725760601 3400.000000000000 +502.286539956580 1910.000000000000 +505.850895564320 2188.000000000000 +536.162361057972 4668.000000000000 +537.163239801382 2428.000000000000 +538.161608472883 1869.000000000000 +544.336387601713 1598.000000000000 +546.911505452596 1493.000000000000 +549.965979448424 1640.000000000000 +592.225456903764 1675.000000000000 +607.216655018496 74091.000000000000 +608.219193446659 23449.000000000000 +609.215852555200 11438.528320312500 +610.208425679746 4454.000000000000 +611.188234775837 1805.798706054688 +612.220726308427 4082.000000000000 +613.224505418990 34075.000000000000 +614.227906702716 11171.000000000000 +615.225014693998 5343.000000000000 +623.210784148654 2510.000000000000 +629.198405169302 68640.000000000000 +630.201595235063 21340.328125000000 +631.198284234777 10581.000000000000 +632.198298853566 2483.000000000000 +707.140261218123 1384.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=676 experiment=2 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=676 experiment=2_0 +##scan 119 +##specref ms_run[1]:sample=1 period=1 cycle=676 experiment=2 +201.984258482233 30.000000000000 +217.013264594815 30.000000000000 +>compound 1_0-676003--120--UNKNOWN +>parentmass 276.080875651007 +>charge 1 +>rt 447.100000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +276.080875651007 47441.000000000000 +>ms1peaks +52.005351813457 2501.610107421875 +53.013412581284 13134.520507812500 +53.850226225992 1302.909057617188 +54.009140063564 338983.656250000000 +55.006042248338 6435.412597656250 +55.011148435189 6609.394042968750 +55.054172395822 1772.104248046875 +55.934029229957 5757.919921875000 +56.941868288709 2705.908203125000 +59.049392394217 65787.757812500000 +60.044197396550 9389.001953125000 +61.039698624921 1629.770751953125 +63.997582420249 4596.096191406250 +64.004915539546 4860.728515625000 +68.011405901665 27484.292968750000 +68.993238795734 11816.172851562500 +69.044514210085 12151.762695312500 +72.936346245282 1770.000000000000 +73.063844648998 1632.810180664062 +76.485866327556 2207.000000000000 +79.020638014668 15456.159179687500 +80.048700307132 11716.706054687500 +81.936658440041 8339.158203125000 +82.995849176432 8191.000000000000 +87.054215388379 1432.329345703125 +89.505806636870 1376.000000000000 +90.488666027165 1798.000000000000 +95.952211902793 2472.000000000000 +97.967974119285 6640.000000000000 +100.074558827800 1418.000000000000 +102.090063528932 1768.000000000000 +109.942148206295 1646.000000000000 +113.962810920920 1728.000976562500 +114.090265101894 9843.087890625000 +118.085166173822 5466.146972656250 +122.095082275611 3591.515380859375 +122.962671452755 9919.435546875000 +123.090603383338 1818.105346679688 +130.157985838236 1433.000000000000 +136.020144210415 1305.642211914062 +141.111768954054 1381.647338867188 +141.957291332652 13999.958984375000 +147.090365251433 2315.564941406250 +149.021998403294 4169.404296875000 +151.095653127576 2632.192382812500 +151.109600618565 2638.503906250000 +155.069049191990 1400.588378906250 +155.105221715370 1306.244873046875 +155.972774632456 3955.750244140625 +158.152847157321 10190.631835937500 +161.094883274868 1469.000000000000 +164.993233307885 1413.000000000000 +170.094756804200 2692.873779296875 +173.079096183490 5464.607421875000 +174.990754641374 1338.000000000000 +175.120920396226 1335.489135742188 +178.157288006504 1567.557739257812 +179.104881581157 1856.000000000000 +182.960071822982 1596.667236328125 +186.016812097735 3128.000000000000 +194.115183195725 3037.019042968750 +195.105676043577 1846.959228515625 +195.121034909827 2138.534667968750 +198.183715433637 1614.000000000000 +201.983396783946 6476.000000000000 +217.007534943089 16000.083984375000 +217.105603079000 12722.193359375000 +218.010461830348 1723.000000000000 +218.108916975941 1918.000000000000 +219.094207015885 1394.000000000000 +234.033666185649 17919.000000000000 +235.036061869219 1699.000000000000 +239.087710708037 2715.000000000000 +245.038087259231 3705.000000000000 +246.860587751512 3017.000000000000 +250.998652800198 2461.000000000000 +252.996040050118 1751.000000000000 +262.065226573716 31878.271484375000 +263.067812997194 3540.000000000000 +264.062744585962 1732.000000000000 +276.080875651007 47441.000000000000 +277.083729023421 6202.904296875000 +278.078049070253 2909.805664062500 +279.092264164105 2269.000000000000 +281.049607531965 1759.000000000000 +284.163709253010 5971.317382812500 +285.167422523505 1450.937500000000 +289.120547785899 45105.261718750000 +290.122834000335 8899.000000000000 +291.118148964330 16223.000000000000 +292.119468760172 3916.748291015625 +303.104211105075 4272.900878906250 +303.190626643079 3701.817626953125 +304.121038021889 1154982.000000000000 +304.680120827865 1361.469604492188 +304.720450396369 1578.193115234375 +304.756696628278 1464.135742187500 +304.826755934771 1415.802856445312 +304.888295222133 4211.749023437500 +304.975939340234 6444.747070312500 +305.112954471951 109660.976562500000 +306.110248734555 72833.000000000000 +307.111946842557 10169.579101562500 +307.247397220322 1757.839477539062 +310.120212483100 5088.000000000000 +320.107070842572 7286.000000000000 +321.109817317563 1634.396606445312 +321.134008500327 1645.504272460938 +326.094135509242 51581.214843750000 +327.006663634739 3305.288085937500 +327.096918826684 8025.063964843750 +328.090879363560 3401.237060546875 +329.002848029289 3721.000000000000 +330.204815446188 11820.952148437500 +331.208232327135 2889.000000000000 +342.067980362905 3189.395019531250 +349.169296376205 25098.000000000000 +350.172883605486 4323.000000000000 +351.167291455015 1724.000000000000 +372.149200119315 2817.477050781250 +404.036004100360 11013.000000000000 +405.038241871311 2224.679687500000 +424.359699824875 1469.000000000000 +445.117347283461 1962.204711914062 +500.274802921042 11554.163085937500 +501.277725760601 3400.000000000000 +502.286539956580 1910.000000000000 +505.850895564320 2188.000000000000 +536.162361057972 4668.000000000000 +537.163239801382 2428.000000000000 +538.161608472883 1869.000000000000 +544.336387601713 1598.000000000000 +546.911505452596 1493.000000000000 +549.965979448424 1640.000000000000 +592.225456903764 1675.000000000000 +607.216655018496 74091.000000000000 +608.219193446659 23449.000000000000 +609.215852555200 11438.528320312500 +610.208425679746 4454.000000000000 +611.188234775837 1805.798706054688 +612.220726308427 4082.000000000000 +613.224505418990 34075.000000000000 +614.227906702716 11171.000000000000 +615.225014693998 5343.000000000000 +623.210784148654 2510.000000000000 +629.198405169302 68640.000000000000 +630.201595235063 21340.328125000000 +631.198284234777 10581.000000000000 +632.198298853566 2483.000000000000 +707.140261218123 1384.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=676 experiment=3 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=676 experiment=3_0 +##scan 120 +##specref ms_run[1]:sample=1 period=1 cycle=676 experiment=3 +74.068893285680 13.000000000000 +97.018350674030 13.000000000000 +111.030772547862 30.000000000000 +111.043207099198 30.000000000000 +129.059200833833 13.000000000000 +142.912410469676 13.000000000000 +185.166635645300 13.000000000000 +193.906289790847 30.000000000000 +201.981862061748 105.000000000000 +217.006551553220 135.000000000000 +>compound 1_0-676007--124--UNKNOWN +>parentmass 607.216655018496 +>charge 1 +>rt 447.100000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +607.216655018496 74091.000000000000 +>ms1peaks +52.005351813457 2501.610107421875 +53.013412581284 13134.520507812500 +53.850226225992 1302.909057617188 +54.009140063564 338983.656250000000 +55.006042248338 6435.412597656250 +55.011148435189 6609.394042968750 +55.054172395822 1772.104248046875 +55.934029229957 5757.919921875000 +56.941868288709 2705.908203125000 +59.049392394217 65787.757812500000 +60.044197396550 9389.001953125000 +61.039698624921 1629.770751953125 +63.997582420249 4596.096191406250 +64.004915539546 4860.728515625000 +68.011405901665 27484.292968750000 +68.993238795734 11816.172851562500 +69.044514210085 12151.762695312500 +72.936346245282 1770.000000000000 +73.063844648998 1632.810180664062 +76.485866327556 2207.000000000000 +79.020638014668 15456.159179687500 +80.048700307132 11716.706054687500 +81.936658440041 8339.158203125000 +82.995849176432 8191.000000000000 +87.054215388379 1432.329345703125 +89.505806636870 1376.000000000000 +90.488666027165 1798.000000000000 +95.952211902793 2472.000000000000 +97.967974119285 6640.000000000000 +100.074558827800 1418.000000000000 +102.090063528932 1768.000000000000 +109.942148206295 1646.000000000000 +113.962810920920 1728.000976562500 +114.090265101894 9843.087890625000 +118.085166173822 5466.146972656250 +122.095082275611 3591.515380859375 +122.962671452755 9919.435546875000 +123.090603383338 1818.105346679688 +130.157985838236 1433.000000000000 +136.020144210415 1305.642211914062 +141.111768954054 1381.647338867188 +141.957291332652 13999.958984375000 +147.090365251433 2315.564941406250 +149.021998403294 4169.404296875000 +151.095653127576 2632.192382812500 +151.109600618565 2638.503906250000 +155.069049191990 1400.588378906250 +155.105221715370 1306.244873046875 +155.972774632456 3955.750244140625 +158.152847157321 10190.631835937500 +161.094883274868 1469.000000000000 +164.993233307885 1413.000000000000 +170.094756804200 2692.873779296875 +173.079096183490 5464.607421875000 +174.990754641374 1338.000000000000 +175.120920396226 1335.489135742188 +178.157288006504 1567.557739257812 +179.104881581157 1856.000000000000 +182.960071822982 1596.667236328125 +186.016812097735 3128.000000000000 +194.115183195725 3037.019042968750 +195.105676043577 1846.959228515625 +195.121034909827 2138.534667968750 +198.183715433637 1614.000000000000 +201.983396783946 6476.000000000000 +217.007534943089 16000.083984375000 +217.105603079000 12722.193359375000 +218.010461830348 1723.000000000000 +218.108916975941 1918.000000000000 +219.094207015885 1394.000000000000 +234.033666185649 17919.000000000000 +235.036061869219 1699.000000000000 +239.087710708037 2715.000000000000 +245.038087259231 3705.000000000000 +246.860587751512 3017.000000000000 +250.998652800198 2461.000000000000 +252.996040050118 1751.000000000000 +262.065226573716 31878.271484375000 +263.067812997194 3540.000000000000 +264.062744585962 1732.000000000000 +276.080875651007 47441.000000000000 +277.083729023421 6202.904296875000 +278.078049070253 2909.805664062500 +279.092264164105 2269.000000000000 +281.049607531965 1759.000000000000 +284.163709253010 5971.317382812500 +285.167422523505 1450.937500000000 +289.120547785899 45105.261718750000 +290.122834000335 8899.000000000000 +291.118148964330 16223.000000000000 +292.119468760172 3916.748291015625 +303.104211105075 4272.900878906250 +303.190626643079 3701.817626953125 +304.121038021889 1154982.000000000000 +304.680120827865 1361.469604492188 +304.720450396369 1578.193115234375 +304.756696628278 1464.135742187500 +304.826755934771 1415.802856445312 +304.888295222133 4211.749023437500 +304.975939340234 6444.747070312500 +305.112954471951 109660.976562500000 +306.110248734555 72833.000000000000 +307.111946842557 10169.579101562500 +307.247397220322 1757.839477539062 +310.120212483100 5088.000000000000 +320.107070842572 7286.000000000000 +321.109817317563 1634.396606445312 +321.134008500327 1645.504272460938 +326.094135509242 51581.214843750000 +327.006663634739 3305.288085937500 +327.096918826684 8025.063964843750 +328.090879363560 3401.237060546875 +329.002848029289 3721.000000000000 +330.204815446188 11820.952148437500 +331.208232327135 2889.000000000000 +342.067980362905 3189.395019531250 +349.169296376205 25098.000000000000 +350.172883605486 4323.000000000000 +351.167291455015 1724.000000000000 +372.149200119315 2817.477050781250 +404.036004100360 11013.000000000000 +405.038241871311 2224.679687500000 +424.359699824875 1469.000000000000 +445.117347283461 1962.204711914062 +500.274802921042 11554.163085937500 +501.277725760601 3400.000000000000 +502.286539956580 1910.000000000000 +505.850895564320 2188.000000000000 +536.162361057972 4668.000000000000 +537.163239801382 2428.000000000000 +538.161608472883 1869.000000000000 +544.336387601713 1598.000000000000 +546.911505452596 1493.000000000000 +549.965979448424 1640.000000000000 +592.225456903764 1675.000000000000 +607.216655018496 74091.000000000000 +608.219193446659 23449.000000000000 +609.215852555200 11438.528320312500 +610.208425679746 4454.000000000000 +611.188234775837 1805.798706054688 +612.220726308427 4082.000000000000 +613.224505418990 34075.000000000000 +614.227906702716 11171.000000000000 +615.225014693998 5343.000000000000 +623.210784148654 2510.000000000000 +629.198405169302 68640.000000000000 +630.201595235063 21340.328125000000 +631.198284234777 10581.000000000000 +632.198298853566 2483.000000000000 +707.140261218123 1384.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=676 experiment=7 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=676 experiment=7_0 +##scan 124 +##specref ms_run[1]:sample=1 period=1 cycle=676 experiment=7 +60.081242427892 90.000000000000 +138.012518606473 45.000000000000 +155.048182217756 45.000000000000 +168.982129139904 45.000000000000 +169.002647637480 60.000000000000 +201.984059797615 477.000000000000 +216.358917166692 60.000000000000 +217.008190452945 4897.000000000000 +234.035051330315 3441.000000000000 +245.037502188030 379.000000000000 +262.066203436669 2058.000000000000 +275.068452874321 30.000000000000 +276.081614014633 2862.000000000000 +304.112606256338 9001.000000000000 +305.115974960782 30.000000000000 +326.097733536545 30.000000000000 +>compound 1_0-676008--125--UNKNOWN +>parentmass 613.224505418990 +>charge 1 +>rt 447.100000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +613.224505418990 34075.000000000000 +614.227906702716 11171.000000000000 +>ms1peaks +52.005351813457 2501.610107421875 +53.013412581284 13134.520507812500 +53.850226225992 1302.909057617188 +54.009140063564 338983.656250000000 +55.006042248338 6435.412597656250 +55.011148435189 6609.394042968750 +55.054172395822 1772.104248046875 +55.934029229957 5757.919921875000 +56.941868288709 2705.908203125000 +59.049392394217 65787.757812500000 +60.044197396550 9389.001953125000 +61.039698624921 1629.770751953125 +63.997582420249 4596.096191406250 +64.004915539546 4860.728515625000 +68.011405901665 27484.292968750000 +68.993238795734 11816.172851562500 +69.044514210085 12151.762695312500 +72.936346245282 1770.000000000000 +73.063844648998 1632.810180664062 +76.485866327556 2207.000000000000 +79.020638014668 15456.159179687500 +80.048700307132 11716.706054687500 +81.936658440041 8339.158203125000 +82.995849176432 8191.000000000000 +87.054215388379 1432.329345703125 +89.505806636870 1376.000000000000 +90.488666027165 1798.000000000000 +95.952211902793 2472.000000000000 +97.967974119285 6640.000000000000 +100.074558827800 1418.000000000000 +102.090063528932 1768.000000000000 +109.942148206295 1646.000000000000 +113.962810920920 1728.000976562500 +114.090265101894 9843.087890625000 +118.085166173822 5466.146972656250 +122.095082275611 3591.515380859375 +122.962671452755 9919.435546875000 +123.090603383338 1818.105346679688 +130.157985838236 1433.000000000000 +136.020144210415 1305.642211914062 +141.111768954054 1381.647338867188 +141.957291332652 13999.958984375000 +147.090365251433 2315.564941406250 +149.021998403294 4169.404296875000 +151.095653127576 2632.192382812500 +151.109600618565 2638.503906250000 +155.069049191990 1400.588378906250 +155.105221715370 1306.244873046875 +155.972774632456 3955.750244140625 +158.152847157321 10190.631835937500 +161.094883274868 1469.000000000000 +164.993233307885 1413.000000000000 +170.094756804200 2692.873779296875 +173.079096183490 5464.607421875000 +174.990754641374 1338.000000000000 +175.120920396226 1335.489135742188 +178.157288006504 1567.557739257812 +179.104881581157 1856.000000000000 +182.960071822982 1596.667236328125 +186.016812097735 3128.000000000000 +194.115183195725 3037.019042968750 +195.105676043577 1846.959228515625 +195.121034909827 2138.534667968750 +198.183715433637 1614.000000000000 +201.983396783946 6476.000000000000 +217.007534943089 16000.083984375000 +217.105603079000 12722.193359375000 +218.010461830348 1723.000000000000 +218.108916975941 1918.000000000000 +219.094207015885 1394.000000000000 +234.033666185649 17919.000000000000 +235.036061869219 1699.000000000000 +239.087710708037 2715.000000000000 +245.038087259231 3705.000000000000 +246.860587751512 3017.000000000000 +250.998652800198 2461.000000000000 +252.996040050118 1751.000000000000 +262.065226573716 31878.271484375000 +263.067812997194 3540.000000000000 +264.062744585962 1732.000000000000 +276.080875651007 47441.000000000000 +277.083729023421 6202.904296875000 +278.078049070253 2909.805664062500 +279.092264164105 2269.000000000000 +281.049607531965 1759.000000000000 +284.163709253010 5971.317382812500 +285.167422523505 1450.937500000000 +289.120547785899 45105.261718750000 +290.122834000335 8899.000000000000 +291.118148964330 16223.000000000000 +292.119468760172 3916.748291015625 +303.104211105075 4272.900878906250 +303.190626643079 3701.817626953125 +304.121038021889 1154982.000000000000 +304.680120827865 1361.469604492188 +304.720450396369 1578.193115234375 +304.756696628278 1464.135742187500 +304.826755934771 1415.802856445312 +304.888295222133 4211.749023437500 +304.975939340234 6444.747070312500 +305.112954471951 109660.976562500000 +306.110248734555 72833.000000000000 +307.111946842557 10169.579101562500 +307.247397220322 1757.839477539062 +310.120212483100 5088.000000000000 +320.107070842572 7286.000000000000 +321.109817317563 1634.396606445312 +321.134008500327 1645.504272460938 +326.094135509242 51581.214843750000 +327.006663634739 3305.288085937500 +327.096918826684 8025.063964843750 +328.090879363560 3401.237060546875 +329.002848029289 3721.000000000000 +330.204815446188 11820.952148437500 +331.208232327135 2889.000000000000 +342.067980362905 3189.395019531250 +349.169296376205 25098.000000000000 +350.172883605486 4323.000000000000 +351.167291455015 1724.000000000000 +372.149200119315 2817.477050781250 +404.036004100360 11013.000000000000 +405.038241871311 2224.679687500000 +424.359699824875 1469.000000000000 +445.117347283461 1962.204711914062 +500.274802921042 11554.163085937500 +501.277725760601 3400.000000000000 +502.286539956580 1910.000000000000 +505.850895564320 2188.000000000000 +536.162361057972 4668.000000000000 +537.163239801382 2428.000000000000 +538.161608472883 1869.000000000000 +544.336387601713 1598.000000000000 +546.911505452596 1493.000000000000 +549.965979448424 1640.000000000000 +592.225456903764 1675.000000000000 +607.216655018496 74091.000000000000 +608.219193446659 23449.000000000000 +609.215852555200 11438.528320312500 +610.208425679746 4454.000000000000 +611.188234775837 1805.798706054688 +612.220726308427 4082.000000000000 +613.224505418990 34075.000000000000 +614.227906702716 11171.000000000000 +615.225014693998 5343.000000000000 +623.210784148654 2510.000000000000 +629.198405169302 68640.000000000000 +630.201595235063 21340.328125000000 +631.198284234777 10581.000000000000 +632.198298853566 2483.000000000000 +707.140261218123 1384.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=676 experiment=8 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=676 experiment=8_0 +##scan 125 +##specref ms_run[1]:sample=1 period=1 cycle=676 experiment=8 +114.065088654807 30.000000000000 +121.007103468380 30.000000000000 +161.060105660503 90.000000000000 +217.009511951226 90.000000000000 +223.015476981140 105.000000000000 +240.040349790868 255.000000000000 +258.049207638769 30.000000000000 +262.067002482596 30.000000000000 +282.091446994657 276.000000000000 +309.124468371963 60.000000000000 +309.177414089504 30.000000000000 +310.120482678691 6335.000000000000 +310.190956712203 30.000000000000 +328.130905009628 90.000000000000 +613.225160356221 195.000000000000 +>compound 1_0-676009--126--UNKNOWN +>parentmass 629.198405169302 +>charge 1 +>rt 447.100000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +629.198405169302 68640.000000000000 +630.201595235063 21340.328125000000 +>ms1peaks +52.005351813457 2501.610107421875 +53.013412581284 13134.520507812500 +53.850226225992 1302.909057617188 +54.009140063564 338983.656250000000 +55.006042248338 6435.412597656250 +55.011148435189 6609.394042968750 +55.054172395822 1772.104248046875 +55.934029229957 5757.919921875000 +56.941868288709 2705.908203125000 +59.049392394217 65787.757812500000 +60.044197396550 9389.001953125000 +61.039698624921 1629.770751953125 +63.997582420249 4596.096191406250 +64.004915539546 4860.728515625000 +68.011405901665 27484.292968750000 +68.993238795734 11816.172851562500 +69.044514210085 12151.762695312500 +72.936346245282 1770.000000000000 +73.063844648998 1632.810180664062 +76.485866327556 2207.000000000000 +79.020638014668 15456.159179687500 +80.048700307132 11716.706054687500 +81.936658440041 8339.158203125000 +82.995849176432 8191.000000000000 +87.054215388379 1432.329345703125 +89.505806636870 1376.000000000000 +90.488666027165 1798.000000000000 +95.952211902793 2472.000000000000 +97.967974119285 6640.000000000000 +100.074558827800 1418.000000000000 +102.090063528932 1768.000000000000 +109.942148206295 1646.000000000000 +113.962810920920 1728.000976562500 +114.090265101894 9843.087890625000 +118.085166173822 5466.146972656250 +122.095082275611 3591.515380859375 +122.962671452755 9919.435546875000 +123.090603383338 1818.105346679688 +130.157985838236 1433.000000000000 +136.020144210415 1305.642211914062 +141.111768954054 1381.647338867188 +141.957291332652 13999.958984375000 +147.090365251433 2315.564941406250 +149.021998403294 4169.404296875000 +151.095653127576 2632.192382812500 +151.109600618565 2638.503906250000 +155.069049191990 1400.588378906250 +155.105221715370 1306.244873046875 +155.972774632456 3955.750244140625 +158.152847157321 10190.631835937500 +161.094883274868 1469.000000000000 +164.993233307885 1413.000000000000 +170.094756804200 2692.873779296875 +173.079096183490 5464.607421875000 +174.990754641374 1338.000000000000 +175.120920396226 1335.489135742188 +178.157288006504 1567.557739257812 +179.104881581157 1856.000000000000 +182.960071822982 1596.667236328125 +186.016812097735 3128.000000000000 +194.115183195725 3037.019042968750 +195.105676043577 1846.959228515625 +195.121034909827 2138.534667968750 +198.183715433637 1614.000000000000 +201.983396783946 6476.000000000000 +217.007534943089 16000.083984375000 +217.105603079000 12722.193359375000 +218.010461830348 1723.000000000000 +218.108916975941 1918.000000000000 +219.094207015885 1394.000000000000 +234.033666185649 17919.000000000000 +235.036061869219 1699.000000000000 +239.087710708037 2715.000000000000 +245.038087259231 3705.000000000000 +246.860587751512 3017.000000000000 +250.998652800198 2461.000000000000 +252.996040050118 1751.000000000000 +262.065226573716 31878.271484375000 +263.067812997194 3540.000000000000 +264.062744585962 1732.000000000000 +276.080875651007 47441.000000000000 +277.083729023421 6202.904296875000 +278.078049070253 2909.805664062500 +279.092264164105 2269.000000000000 +281.049607531965 1759.000000000000 +284.163709253010 5971.317382812500 +285.167422523505 1450.937500000000 +289.120547785899 45105.261718750000 +290.122834000335 8899.000000000000 +291.118148964330 16223.000000000000 +292.119468760172 3916.748291015625 +303.104211105075 4272.900878906250 +303.190626643079 3701.817626953125 +304.121038021889 1154982.000000000000 +304.680120827865 1361.469604492188 +304.720450396369 1578.193115234375 +304.756696628278 1464.135742187500 +304.826755934771 1415.802856445312 +304.888295222133 4211.749023437500 +304.975939340234 6444.747070312500 +305.112954471951 109660.976562500000 +306.110248734555 72833.000000000000 +307.111946842557 10169.579101562500 +307.247397220322 1757.839477539062 +310.120212483100 5088.000000000000 +320.107070842572 7286.000000000000 +321.109817317563 1634.396606445312 +321.134008500327 1645.504272460938 +326.094135509242 51581.214843750000 +327.006663634739 3305.288085937500 +327.096918826684 8025.063964843750 +328.090879363560 3401.237060546875 +329.002848029289 3721.000000000000 +330.204815446188 11820.952148437500 +331.208232327135 2889.000000000000 +342.067980362905 3189.395019531250 +349.169296376205 25098.000000000000 +350.172883605486 4323.000000000000 +351.167291455015 1724.000000000000 +372.149200119315 2817.477050781250 +404.036004100360 11013.000000000000 +405.038241871311 2224.679687500000 +424.359699824875 1469.000000000000 +445.117347283461 1962.204711914062 +500.274802921042 11554.163085937500 +501.277725760601 3400.000000000000 +502.286539956580 1910.000000000000 +505.850895564320 2188.000000000000 +536.162361057972 4668.000000000000 +537.163239801382 2428.000000000000 +538.161608472883 1869.000000000000 +544.336387601713 1598.000000000000 +546.911505452596 1493.000000000000 +549.965979448424 1640.000000000000 +592.225456903764 1675.000000000000 +607.216655018496 74091.000000000000 +608.219193446659 23449.000000000000 +609.215852555200 11438.528320312500 +610.208425679746 4454.000000000000 +611.188234775837 1805.798706054688 +612.220726308427 4082.000000000000 +613.224505418990 34075.000000000000 +614.227906702716 11171.000000000000 +615.225014693998 5343.000000000000 +623.210784148654 2510.000000000000 +629.198405169302 68640.000000000000 +630.201595235063 21340.328125000000 +631.198284234777 10581.000000000000 +632.198298853566 2483.000000000000 +707.140261218123 1384.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=676 experiment=9 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=676 experiment=9_0 +##scan 126 +##specref ms_run[1]:sample=1 period=1 cycle=676 experiment=9 +310.119782403307 30.000000000000 +325.107158472775 60.000000000000 +326.093861850912 8172.000000000000 +326.152999611846 287.643066406250 +326.369836342230 30.000000000000 +326.517341689112 45.000000000000 +326.587313524792 30.000000000000 +327.141846994117 30.000000000000 +327.174442233446 30.000000000000 +328.313787435125 45.000000000000 +328.339187663555 45.000000000000 +340.810957912319 13.000000000000 +>compound 1_0-677002--128--UNKNOWN +>parentmass 201.982853397927 +>charge 1 +>rt 448.027999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +201.982853397927 4906.000000000000 +>ms1peaks +52.005397076818 2734.410888671875 +52.018107045505 1336.588989257812 +53.013261826329 14264.303710937500 +54.009079203842 328540.562500000000 +55.005732946798 6038.434082031250 +55.011210209049 5773.483398437500 +55.054089450492 1883.920532226562 +55.933933351350 5941.799316406250 +56.049311183158 2529.910644531250 +56.941559341288 2177.731445312500 +59.049288422008 55833.332031250000 +60.044400478994 9188.863281250000 +61.039483771618 1336.615844726562 +63.997769089290 4226.595214843750 +64.004652574785 4312.662109375000 +67.028420902367 1685.132324218750 +68.011303574981 26639.857421875000 +68.993400384347 11132.456054687500 +69.044245603619 12842.139648437500 +72.936451870693 2092.438964843750 +73.064343001052 2004.000000000000 +76.485626827097 1932.002563476562 +79.020705537221 15479.782226562500 +80.048746552992 12934.649414062500 +81.936560826315 7849.174804687500 +82.996236710322 7697.570312500000 +87.043649221397 1392.278564453125 +87.054161695388 1495.958618164062 +89.506032483299 1554.000000000000 +90.488774891048 1551.744018554688 +91.052857733317 1701.434936523438 +95.951953010697 2094.000000000000 +97.967766546756 6595.530273437500 +109.942695624537 1327.000000000000 +113.961956344849 1877.000000000000 +114.090202311915 11113.386718750000 +118.085079269697 5461.000000000000 +122.095332793077 3096.000000000000 +122.962788239519 9551.916015625000 +123.089923877343 1592.000000000000 +130.158267685481 1374.000000000000 +136.020500147191 1906.429687500000 +141.089705751127 1398.031372070312 +141.111419699029 1374.918823242188 +141.935031405798 2215.528808593750 +141.957114961469 13636.359375000000 +147.090410388658 2596.000000000000 +149.021734118264 3900.000000000000 +149.042225044400 1717.679077148438 +151.095530836015 2392.175048828125 +151.109345923165 2675.036376953125 +155.069217138005 1392.010375976562 +155.972851416164 3798.715576171875 +158.152680730278 10054.000000000000 +161.095473046681 1550.000000000000 +164.142407569715 1467.709594726562 +170.094842381476 2189.805175781250 +173.079740417554 5427.904296875000 +178.157986956425 1455.000000000000 +179.105560744514 1912.301391601562 +182.960698176280 2000.407470703125 +186.016618789428 1896.000000000000 +186.220115257894 1974.000000000000 +194.116069304698 2583.000000000000 +195.121207806540 1998.303710937500 +198.184395565259 1695.000000000000 +201.982853397927 4906.000000000000 +217.007045852030 12703.000000000000 +217.105649597883 13317.726562500000 +218.109378650956 2113.981933593750 +219.093923189224 1382.400756835938 +234.033511361987 14162.000000000000 +235.036774500644 1342.000000000000 +239.087266669620 2910.000000000000 +242.282551973761 1561.000000000000 +245.038675382516 2489.000000000000 +246.861414583855 2664.000000000000 +250.998716978816 2090.000000000000 +262.065290180852 23768.000000000000 +263.068197519244 2928.000000000000 +276.081065166232 35016.000000000000 +277.084200131760 4404.000000000000 +278.078513434024 2183.000000000000 +279.092009717775 2217.000000000000 +281.049184165914 1367.000000000000 +284.163360412320 3532.000000000000 +289.121282596047 297520.000000000000 +290.123339528492 48851.796875000000 +291.118124278084 95531.000000000000 +292.120251426315 17101.046875000000 +293.123187582260 1858.065429687500 +303.104014775580 2693.449951171875 +303.190353825641 2785.502441406250 +304.119856155362 954170.000000000000 +304.858461688543 1629.946044921875 +304.974182520147 7187.607910156250 +305.110635941863 61549.015625000000 +306.110453215668 55678.074218750000 +307.111643085162 7091.700683593750 +310.120007901196 5493.854003906250 +320.106626078784 4025.000000000000 +326.094632546811 51218.675781250000 +327.006414911949 2851.898193359375 +327.096265128312 8263.424804687500 +328.091406924071 3217.697509765625 +329.003058211528 3429.933349609375 +330.205471949815 7747.000000000000 +331.207754653901 1796.000000000000 +342.067426751640 3267.000000000000 +349.169395269431 21267.000000000000 +350.172679880257 4154.271972656250 +351.168393055602 1571.000000000000 +372.098739562700 1670.002075195312 +372.148644610713 2317.465087890625 +389.045115150928 4473.000000000000 +391.043177396698 1663.000000000000 +404.036316278299 7850.000000000000 +405.039997913270 1931.000000000000 +424.359886173771 1591.000000000000 +445.117801993639 2038.000000000000 +500.275651903375 13340.000000000000 +501.278433801524 4082.000000000000 +502.285907017338 2013.566040039062 +505.851095535466 2281.000000000000 +536.163686089478 4281.000000000000 +537.165279310098 2275.000000000000 +538.161599212928 1446.000000000000 +542.322146689605 2319.235839843750 +544.336681001720 2203.000000000000 +546.913546060949 1480.000000000000 +549.965890540792 1571.727539062500 +592.225728725342 6278.000000000000 +593.229191819800 2109.000000000000 +594.222911870749 2943.707031250000 +607.216789747777 46858.000000000000 +608.219527953593 15482.000000000000 +609.215333724431 7397.000000000000 +610.196851071075 3575.000000000000 +611.184731787601 1662.000000000000 +612.221188935026 2560.000000000000 +613.225065362361 23067.000000000000 +614.226835965539 7388.000000000000 +615.223918934987 3328.000000000000 +623.150116137773 1311.609985351562 +623.211673074874 1404.509399414062 +629.198822367023 49161.000000000000 +630.201975789631 15060.724609375000 +631.197108322666 7602.103027343750 +632.199182275970 1787.000000000000 +707.142781768806 1359.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=677 experiment=2 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=677 experiment=2_0 +##scan 128 +##specref ms_run[1]:sample=1 period=1 cycle=677 experiment=2 +72.937881745609 13.000000000000 +201.985085900578 13.000000000000 +>compound 1_0-677003--129--UNKNOWN +>parentmass 217.007045852030 +>charge 1 +>rt 448.027999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +217.007045852030 12703.000000000000 +>ms1peaks +52.005397076818 2734.410888671875 +52.018107045505 1336.588989257812 +53.013261826329 14264.303710937500 +54.009079203842 328540.562500000000 +55.005732946798 6038.434082031250 +55.011210209049 5773.483398437500 +55.054089450492 1883.920532226562 +55.933933351350 5941.799316406250 +56.049311183158 2529.910644531250 +56.941559341288 2177.731445312500 +59.049288422008 55833.332031250000 +60.044400478994 9188.863281250000 +61.039483771618 1336.615844726562 +63.997769089290 4226.595214843750 +64.004652574785 4312.662109375000 +67.028420902367 1685.132324218750 +68.011303574981 26639.857421875000 +68.993400384347 11132.456054687500 +69.044245603619 12842.139648437500 +72.936451870693 2092.438964843750 +73.064343001052 2004.000000000000 +76.485626827097 1932.002563476562 +79.020705537221 15479.782226562500 +80.048746552992 12934.649414062500 +81.936560826315 7849.174804687500 +82.996236710322 7697.570312500000 +87.043649221397 1392.278564453125 +87.054161695388 1495.958618164062 +89.506032483299 1554.000000000000 +90.488774891048 1551.744018554688 +91.052857733317 1701.434936523438 +95.951953010697 2094.000000000000 +97.967766546756 6595.530273437500 +109.942695624537 1327.000000000000 +113.961956344849 1877.000000000000 +114.090202311915 11113.386718750000 +118.085079269697 5461.000000000000 +122.095332793077 3096.000000000000 +122.962788239519 9551.916015625000 +123.089923877343 1592.000000000000 +130.158267685481 1374.000000000000 +136.020500147191 1906.429687500000 +141.089705751127 1398.031372070312 +141.111419699029 1374.918823242188 +141.935031405798 2215.528808593750 +141.957114961469 13636.359375000000 +147.090410388658 2596.000000000000 +149.021734118264 3900.000000000000 +149.042225044400 1717.679077148438 +151.095530836015 2392.175048828125 +151.109345923165 2675.036376953125 +155.069217138005 1392.010375976562 +155.972851416164 3798.715576171875 +158.152680730278 10054.000000000000 +161.095473046681 1550.000000000000 +164.142407569715 1467.709594726562 +170.094842381476 2189.805175781250 +173.079740417554 5427.904296875000 +178.157986956425 1455.000000000000 +179.105560744514 1912.301391601562 +182.960698176280 2000.407470703125 +186.016618789428 1896.000000000000 +186.220115257894 1974.000000000000 +194.116069304698 2583.000000000000 +195.121207806540 1998.303710937500 +198.184395565259 1695.000000000000 +201.982853397927 4906.000000000000 +217.007045852030 12703.000000000000 +217.105649597883 13317.726562500000 +218.109378650956 2113.981933593750 +219.093923189224 1382.400756835938 +234.033511361987 14162.000000000000 +235.036774500644 1342.000000000000 +239.087266669620 2910.000000000000 +242.282551973761 1561.000000000000 +245.038675382516 2489.000000000000 +246.861414583855 2664.000000000000 +250.998716978816 2090.000000000000 +262.065290180852 23768.000000000000 +263.068197519244 2928.000000000000 +276.081065166232 35016.000000000000 +277.084200131760 4404.000000000000 +278.078513434024 2183.000000000000 +279.092009717775 2217.000000000000 +281.049184165914 1367.000000000000 +284.163360412320 3532.000000000000 +289.121282596047 297520.000000000000 +290.123339528492 48851.796875000000 +291.118124278084 95531.000000000000 +292.120251426315 17101.046875000000 +293.123187582260 1858.065429687500 +303.104014775580 2693.449951171875 +303.190353825641 2785.502441406250 +304.119856155362 954170.000000000000 +304.858461688543 1629.946044921875 +304.974182520147 7187.607910156250 +305.110635941863 61549.015625000000 +306.110453215668 55678.074218750000 +307.111643085162 7091.700683593750 +310.120007901196 5493.854003906250 +320.106626078784 4025.000000000000 +326.094632546811 51218.675781250000 +327.006414911949 2851.898193359375 +327.096265128312 8263.424804687500 +328.091406924071 3217.697509765625 +329.003058211528 3429.933349609375 +330.205471949815 7747.000000000000 +331.207754653901 1796.000000000000 +342.067426751640 3267.000000000000 +349.169395269431 21267.000000000000 +350.172679880257 4154.271972656250 +351.168393055602 1571.000000000000 +372.098739562700 1670.002075195312 +372.148644610713 2317.465087890625 +389.045115150928 4473.000000000000 +391.043177396698 1663.000000000000 +404.036316278299 7850.000000000000 +405.039997913270 1931.000000000000 +424.359886173771 1591.000000000000 +445.117801993639 2038.000000000000 +500.275651903375 13340.000000000000 +501.278433801524 4082.000000000000 +502.285907017338 2013.566040039062 +505.851095535466 2281.000000000000 +536.163686089478 4281.000000000000 +537.165279310098 2275.000000000000 +538.161599212928 1446.000000000000 +542.322146689605 2319.235839843750 +544.336681001720 2203.000000000000 +546.913546060949 1480.000000000000 +549.965890540792 1571.727539062500 +592.225728725342 6278.000000000000 +593.229191819800 2109.000000000000 +594.222911870749 2943.707031250000 +607.216789747777 46858.000000000000 +608.219527953593 15482.000000000000 +609.215333724431 7397.000000000000 +610.196851071075 3575.000000000000 +611.184731787601 1662.000000000000 +612.221188935026 2560.000000000000 +613.225065362361 23067.000000000000 +614.226835965539 7388.000000000000 +615.223918934987 3328.000000000000 +623.150116137773 1311.609985351562 +623.211673074874 1404.509399414062 +629.198822367023 49161.000000000000 +630.201975789631 15060.724609375000 +631.197108322666 7602.103027343750 +632.199182275970 1787.000000000000 +707.142781768806 1359.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=677 experiment=3 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=677 experiment=3_0 +##scan 129 +##specref ms_run[1]:sample=1 period=1 cycle=677 experiment=3 +55.055088322432 195.000000000000 +83.048780027731 195.000000000000 +89.022225618500 30.000000000000 +101.059906421368 90.000000000000 +110.018455961681 45.000000000000 +111.044918103165 135.000000000000 +137.011346913011 45.000000000000 +155.070652736542 150.000000000000 +173.079227511028 75.000000000000 +201.982018233780 90.000000000000 +>compound 1_0-677004--130--UNKNOWN +>parentmass 234.033511361987 +>charge 1 +>rt 448.027999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +234.033511361987 14162.000000000000 +235.036774500644 1342.000000000000 +>ms1peaks +52.005397076818 2734.410888671875 +52.018107045505 1336.588989257812 +53.013261826329 14264.303710937500 +54.009079203842 328540.562500000000 +55.005732946798 6038.434082031250 +55.011210209049 5773.483398437500 +55.054089450492 1883.920532226562 +55.933933351350 5941.799316406250 +56.049311183158 2529.910644531250 +56.941559341288 2177.731445312500 +59.049288422008 55833.332031250000 +60.044400478994 9188.863281250000 +61.039483771618 1336.615844726562 +63.997769089290 4226.595214843750 +64.004652574785 4312.662109375000 +67.028420902367 1685.132324218750 +68.011303574981 26639.857421875000 +68.993400384347 11132.456054687500 +69.044245603619 12842.139648437500 +72.936451870693 2092.438964843750 +73.064343001052 2004.000000000000 +76.485626827097 1932.002563476562 +79.020705537221 15479.782226562500 +80.048746552992 12934.649414062500 +81.936560826315 7849.174804687500 +82.996236710322 7697.570312500000 +87.043649221397 1392.278564453125 +87.054161695388 1495.958618164062 +89.506032483299 1554.000000000000 +90.488774891048 1551.744018554688 +91.052857733317 1701.434936523438 +95.951953010697 2094.000000000000 +97.967766546756 6595.530273437500 +109.942695624537 1327.000000000000 +113.961956344849 1877.000000000000 +114.090202311915 11113.386718750000 +118.085079269697 5461.000000000000 +122.095332793077 3096.000000000000 +122.962788239519 9551.916015625000 +123.089923877343 1592.000000000000 +130.158267685481 1374.000000000000 +136.020500147191 1906.429687500000 +141.089705751127 1398.031372070312 +141.111419699029 1374.918823242188 +141.935031405798 2215.528808593750 +141.957114961469 13636.359375000000 +147.090410388658 2596.000000000000 +149.021734118264 3900.000000000000 +149.042225044400 1717.679077148438 +151.095530836015 2392.175048828125 +151.109345923165 2675.036376953125 +155.069217138005 1392.010375976562 +155.972851416164 3798.715576171875 +158.152680730278 10054.000000000000 +161.095473046681 1550.000000000000 +164.142407569715 1467.709594726562 +170.094842381476 2189.805175781250 +173.079740417554 5427.904296875000 +178.157986956425 1455.000000000000 +179.105560744514 1912.301391601562 +182.960698176280 2000.407470703125 +186.016618789428 1896.000000000000 +186.220115257894 1974.000000000000 +194.116069304698 2583.000000000000 +195.121207806540 1998.303710937500 +198.184395565259 1695.000000000000 +201.982853397927 4906.000000000000 +217.007045852030 12703.000000000000 +217.105649597883 13317.726562500000 +218.109378650956 2113.981933593750 +219.093923189224 1382.400756835938 +234.033511361987 14162.000000000000 +235.036774500644 1342.000000000000 +239.087266669620 2910.000000000000 +242.282551973761 1561.000000000000 +245.038675382516 2489.000000000000 +246.861414583855 2664.000000000000 +250.998716978816 2090.000000000000 +262.065290180852 23768.000000000000 +263.068197519244 2928.000000000000 +276.081065166232 35016.000000000000 +277.084200131760 4404.000000000000 +278.078513434024 2183.000000000000 +279.092009717775 2217.000000000000 +281.049184165914 1367.000000000000 +284.163360412320 3532.000000000000 +289.121282596047 297520.000000000000 +290.123339528492 48851.796875000000 +291.118124278084 95531.000000000000 +292.120251426315 17101.046875000000 +293.123187582260 1858.065429687500 +303.104014775580 2693.449951171875 +303.190353825641 2785.502441406250 +304.119856155362 954170.000000000000 +304.858461688543 1629.946044921875 +304.974182520147 7187.607910156250 +305.110635941863 61549.015625000000 +306.110453215668 55678.074218750000 +307.111643085162 7091.700683593750 +310.120007901196 5493.854003906250 +320.106626078784 4025.000000000000 +326.094632546811 51218.675781250000 +327.006414911949 2851.898193359375 +327.096265128312 8263.424804687500 +328.091406924071 3217.697509765625 +329.003058211528 3429.933349609375 +330.205471949815 7747.000000000000 +331.207754653901 1796.000000000000 +342.067426751640 3267.000000000000 +349.169395269431 21267.000000000000 +350.172679880257 4154.271972656250 +351.168393055602 1571.000000000000 +372.098739562700 1670.002075195312 +372.148644610713 2317.465087890625 +389.045115150928 4473.000000000000 +391.043177396698 1663.000000000000 +404.036316278299 7850.000000000000 +405.039997913270 1931.000000000000 +424.359886173771 1591.000000000000 +445.117801993639 2038.000000000000 +500.275651903375 13340.000000000000 +501.278433801524 4082.000000000000 +502.285907017338 2013.566040039062 +505.851095535466 2281.000000000000 +536.163686089478 4281.000000000000 +537.165279310098 2275.000000000000 +538.161599212928 1446.000000000000 +542.322146689605 2319.235839843750 +544.336681001720 2203.000000000000 +546.913546060949 1480.000000000000 +549.965890540792 1571.727539062500 +592.225728725342 6278.000000000000 +593.229191819800 2109.000000000000 +594.222911870749 2943.707031250000 +607.216789747777 46858.000000000000 +608.219527953593 15482.000000000000 +609.215333724431 7397.000000000000 +610.196851071075 3575.000000000000 +611.184731787601 1662.000000000000 +612.221188935026 2560.000000000000 +613.225065362361 23067.000000000000 +614.226835965539 7388.000000000000 +615.223918934987 3328.000000000000 +623.150116137773 1311.609985351562 +623.211673074874 1404.509399414062 +629.198822367023 49161.000000000000 +630.201975789631 15060.724609375000 +631.197108322666 7602.103027343750 +632.199182275970 1787.000000000000 +707.142781768806 1359.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=677 experiment=4 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=677 experiment=4_0 +##scan 130 +##specref ms_run[1]:sample=1 period=1 cycle=677 experiment=4 +55.053742787625 150.000000000000 +55.273103846510 13.000000000000 +83.049241678057 120.000000000000 +83.083731493614 13.000000000000 +99.044567118538 13.000000000000 +111.042644986684 135.000000000000 +113.058302202484 45.000000000000 +133.902677606415 13.000000000000 +155.069038012117 165.000000000000 +173.080756198237 135.000000000000 +201.987082365372 30.000000000000 +217.107945628030 105.000000000000 +218.741444739270 13.000000000000 +>compound 1_0-677006--132--UNKNOWN +>parentmass 310.120007901196 +>charge 1 +>rt 448.027999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +310.120007901196 5493.854003906250 +>ms1peaks +52.005397076818 2734.410888671875 +52.018107045505 1336.588989257812 +53.013261826329 14264.303710937500 +54.009079203842 328540.562500000000 +55.005732946798 6038.434082031250 +55.011210209049 5773.483398437500 +55.054089450492 1883.920532226562 +55.933933351350 5941.799316406250 +56.049311183158 2529.910644531250 +56.941559341288 2177.731445312500 +59.049288422008 55833.332031250000 +60.044400478994 9188.863281250000 +61.039483771618 1336.615844726562 +63.997769089290 4226.595214843750 +64.004652574785 4312.662109375000 +67.028420902367 1685.132324218750 +68.011303574981 26639.857421875000 +68.993400384347 11132.456054687500 +69.044245603619 12842.139648437500 +72.936451870693 2092.438964843750 +73.064343001052 2004.000000000000 +76.485626827097 1932.002563476562 +79.020705537221 15479.782226562500 +80.048746552992 12934.649414062500 +81.936560826315 7849.174804687500 +82.996236710322 7697.570312500000 +87.043649221397 1392.278564453125 +87.054161695388 1495.958618164062 +89.506032483299 1554.000000000000 +90.488774891048 1551.744018554688 +91.052857733317 1701.434936523438 +95.951953010697 2094.000000000000 +97.967766546756 6595.530273437500 +109.942695624537 1327.000000000000 +113.961956344849 1877.000000000000 +114.090202311915 11113.386718750000 +118.085079269697 5461.000000000000 +122.095332793077 3096.000000000000 +122.962788239519 9551.916015625000 +123.089923877343 1592.000000000000 +130.158267685481 1374.000000000000 +136.020500147191 1906.429687500000 +141.089705751127 1398.031372070312 +141.111419699029 1374.918823242188 +141.935031405798 2215.528808593750 +141.957114961469 13636.359375000000 +147.090410388658 2596.000000000000 +149.021734118264 3900.000000000000 +149.042225044400 1717.679077148438 +151.095530836015 2392.175048828125 +151.109345923165 2675.036376953125 +155.069217138005 1392.010375976562 +155.972851416164 3798.715576171875 +158.152680730278 10054.000000000000 +161.095473046681 1550.000000000000 +164.142407569715 1467.709594726562 +170.094842381476 2189.805175781250 +173.079740417554 5427.904296875000 +178.157986956425 1455.000000000000 +179.105560744514 1912.301391601562 +182.960698176280 2000.407470703125 +186.016618789428 1896.000000000000 +186.220115257894 1974.000000000000 +194.116069304698 2583.000000000000 +195.121207806540 1998.303710937500 +198.184395565259 1695.000000000000 +201.982853397927 4906.000000000000 +217.007045852030 12703.000000000000 +217.105649597883 13317.726562500000 +218.109378650956 2113.981933593750 +219.093923189224 1382.400756835938 +234.033511361987 14162.000000000000 +235.036774500644 1342.000000000000 +239.087266669620 2910.000000000000 +242.282551973761 1561.000000000000 +245.038675382516 2489.000000000000 +246.861414583855 2664.000000000000 +250.998716978816 2090.000000000000 +262.065290180852 23768.000000000000 +263.068197519244 2928.000000000000 +276.081065166232 35016.000000000000 +277.084200131760 4404.000000000000 +278.078513434024 2183.000000000000 +279.092009717775 2217.000000000000 +281.049184165914 1367.000000000000 +284.163360412320 3532.000000000000 +289.121282596047 297520.000000000000 +290.123339528492 48851.796875000000 +291.118124278084 95531.000000000000 +292.120251426315 17101.046875000000 +293.123187582260 1858.065429687500 +303.104014775580 2693.449951171875 +303.190353825641 2785.502441406250 +304.119856155362 954170.000000000000 +304.858461688543 1629.946044921875 +304.974182520147 7187.607910156250 +305.110635941863 61549.015625000000 +306.110453215668 55678.074218750000 +307.111643085162 7091.700683593750 +310.120007901196 5493.854003906250 +320.106626078784 4025.000000000000 +326.094632546811 51218.675781250000 +327.006414911949 2851.898193359375 +327.096265128312 8263.424804687500 +328.091406924071 3217.697509765625 +329.003058211528 3429.933349609375 +330.205471949815 7747.000000000000 +331.207754653901 1796.000000000000 +342.067426751640 3267.000000000000 +349.169395269431 21267.000000000000 +350.172679880257 4154.271972656250 +351.168393055602 1571.000000000000 +372.098739562700 1670.002075195312 +372.148644610713 2317.465087890625 +389.045115150928 4473.000000000000 +391.043177396698 1663.000000000000 +404.036316278299 7850.000000000000 +405.039997913270 1931.000000000000 +424.359886173771 1591.000000000000 +445.117801993639 2038.000000000000 +500.275651903375 13340.000000000000 +501.278433801524 4082.000000000000 +502.285907017338 2013.566040039062 +505.851095535466 2281.000000000000 +536.163686089478 4281.000000000000 +537.165279310098 2275.000000000000 +538.161599212928 1446.000000000000 +542.322146689605 2319.235839843750 +544.336681001720 2203.000000000000 +546.913546060949 1480.000000000000 +549.965890540792 1571.727539062500 +592.225728725342 6278.000000000000 +593.229191819800 2109.000000000000 +594.222911870749 2943.707031250000 +607.216789747777 46858.000000000000 +608.219527953593 15482.000000000000 +609.215333724431 7397.000000000000 +610.196851071075 3575.000000000000 +611.184731787601 1662.000000000000 +612.221188935026 2560.000000000000 +613.225065362361 23067.000000000000 +614.226835965539 7388.000000000000 +615.223918934987 3328.000000000000 +623.150116137773 1311.609985351562 +623.211673074874 1404.509399414062 +629.198822367023 49161.000000000000 +630.201975789631 15060.724609375000 +631.197108322666 7602.103027343750 +632.199182275970 1787.000000000000 +707.142781768806 1359.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=677 experiment=6 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=677 experiment=6_0 +##scan 132 +##specref ms_run[1]:sample=1 period=1 cycle=677 experiment=6 +114.063052115407 30.000000000000 +114.070967055865 30.000000000000 +282.085925209855 30.000000000000 +292.228783441839 13.000000000000 +293.192972183462 30.000000000000 +293.214982460534 30.000000000000 +>compound 1_0-677007--133--UNKNOWN +>parentmass 404.036316278299 +>charge 1 +>rt 448.027999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +404.036316278299 7850.000000000000 +405.039997913270 1931.000000000000 +>ms1peaks +52.005397076818 2734.410888671875 +52.018107045505 1336.588989257812 +53.013261826329 14264.303710937500 +54.009079203842 328540.562500000000 +55.005732946798 6038.434082031250 +55.011210209049 5773.483398437500 +55.054089450492 1883.920532226562 +55.933933351350 5941.799316406250 +56.049311183158 2529.910644531250 +56.941559341288 2177.731445312500 +59.049288422008 55833.332031250000 +60.044400478994 9188.863281250000 +61.039483771618 1336.615844726562 +63.997769089290 4226.595214843750 +64.004652574785 4312.662109375000 +67.028420902367 1685.132324218750 +68.011303574981 26639.857421875000 +68.993400384347 11132.456054687500 +69.044245603619 12842.139648437500 +72.936451870693 2092.438964843750 +73.064343001052 2004.000000000000 +76.485626827097 1932.002563476562 +79.020705537221 15479.782226562500 +80.048746552992 12934.649414062500 +81.936560826315 7849.174804687500 +82.996236710322 7697.570312500000 +87.043649221397 1392.278564453125 +87.054161695388 1495.958618164062 +89.506032483299 1554.000000000000 +90.488774891048 1551.744018554688 +91.052857733317 1701.434936523438 +95.951953010697 2094.000000000000 +97.967766546756 6595.530273437500 +109.942695624537 1327.000000000000 +113.961956344849 1877.000000000000 +114.090202311915 11113.386718750000 +118.085079269697 5461.000000000000 +122.095332793077 3096.000000000000 +122.962788239519 9551.916015625000 +123.089923877343 1592.000000000000 +130.158267685481 1374.000000000000 +136.020500147191 1906.429687500000 +141.089705751127 1398.031372070312 +141.111419699029 1374.918823242188 +141.935031405798 2215.528808593750 +141.957114961469 13636.359375000000 +147.090410388658 2596.000000000000 +149.021734118264 3900.000000000000 +149.042225044400 1717.679077148438 +151.095530836015 2392.175048828125 +151.109345923165 2675.036376953125 +155.069217138005 1392.010375976562 +155.972851416164 3798.715576171875 +158.152680730278 10054.000000000000 +161.095473046681 1550.000000000000 +164.142407569715 1467.709594726562 +170.094842381476 2189.805175781250 +173.079740417554 5427.904296875000 +178.157986956425 1455.000000000000 +179.105560744514 1912.301391601562 +182.960698176280 2000.407470703125 +186.016618789428 1896.000000000000 +186.220115257894 1974.000000000000 +194.116069304698 2583.000000000000 +195.121207806540 1998.303710937500 +198.184395565259 1695.000000000000 +201.982853397927 4906.000000000000 +217.007045852030 12703.000000000000 +217.105649597883 13317.726562500000 +218.109378650956 2113.981933593750 +219.093923189224 1382.400756835938 +234.033511361987 14162.000000000000 +235.036774500644 1342.000000000000 +239.087266669620 2910.000000000000 +242.282551973761 1561.000000000000 +245.038675382516 2489.000000000000 +246.861414583855 2664.000000000000 +250.998716978816 2090.000000000000 +262.065290180852 23768.000000000000 +263.068197519244 2928.000000000000 +276.081065166232 35016.000000000000 +277.084200131760 4404.000000000000 +278.078513434024 2183.000000000000 +279.092009717775 2217.000000000000 +281.049184165914 1367.000000000000 +284.163360412320 3532.000000000000 +289.121282596047 297520.000000000000 +290.123339528492 48851.796875000000 +291.118124278084 95531.000000000000 +292.120251426315 17101.046875000000 +293.123187582260 1858.065429687500 +303.104014775580 2693.449951171875 +303.190353825641 2785.502441406250 +304.119856155362 954170.000000000000 +304.858461688543 1629.946044921875 +304.974182520147 7187.607910156250 +305.110635941863 61549.015625000000 +306.110453215668 55678.074218750000 +307.111643085162 7091.700683593750 +310.120007901196 5493.854003906250 +320.106626078784 4025.000000000000 +326.094632546811 51218.675781250000 +327.006414911949 2851.898193359375 +327.096265128312 8263.424804687500 +328.091406924071 3217.697509765625 +329.003058211528 3429.933349609375 +330.205471949815 7747.000000000000 +331.207754653901 1796.000000000000 +342.067426751640 3267.000000000000 +349.169395269431 21267.000000000000 +350.172679880257 4154.271972656250 +351.168393055602 1571.000000000000 +372.098739562700 1670.002075195312 +372.148644610713 2317.465087890625 +389.045115150928 4473.000000000000 +391.043177396698 1663.000000000000 +404.036316278299 7850.000000000000 +405.039997913270 1931.000000000000 +424.359886173771 1591.000000000000 +445.117801993639 2038.000000000000 +500.275651903375 13340.000000000000 +501.278433801524 4082.000000000000 +502.285907017338 2013.566040039062 +505.851095535466 2281.000000000000 +536.163686089478 4281.000000000000 +537.165279310098 2275.000000000000 +538.161599212928 1446.000000000000 +542.322146689605 2319.235839843750 +544.336681001720 2203.000000000000 +546.913546060949 1480.000000000000 +549.965890540792 1571.727539062500 +592.225728725342 6278.000000000000 +593.229191819800 2109.000000000000 +594.222911870749 2943.707031250000 +607.216789747777 46858.000000000000 +608.219527953593 15482.000000000000 +609.215333724431 7397.000000000000 +610.196851071075 3575.000000000000 +611.184731787601 1662.000000000000 +612.221188935026 2560.000000000000 +613.225065362361 23067.000000000000 +614.226835965539 7388.000000000000 +615.223918934987 3328.000000000000 +623.150116137773 1311.609985351562 +623.211673074874 1404.509399414062 +629.198822367023 49161.000000000000 +630.201975789631 15060.724609375000 +631.197108322666 7602.103027343750 +632.199182275970 1787.000000000000 +707.142781768806 1359.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=677 experiment=7 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=677 experiment=7_0 +##scan 133 +##specref ms_run[1]:sample=1 period=1 cycle=677 experiment=7 +252.989585533368 13.000000000000 +270.855755244733 13.000000000000 +327.986310539115 45.000000000000 +>compound 1_0-677008--134--UNKNOWN +>parentmass 592.225728725342 +>charge 1 +>rt 448.027999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +592.225728725342 6278.000000000000 +593.229191819800 2109.000000000000 +>ms1peaks +52.005397076818 2734.410888671875 +52.018107045505 1336.588989257812 +53.013261826329 14264.303710937500 +54.009079203842 328540.562500000000 +55.005732946798 6038.434082031250 +55.011210209049 5773.483398437500 +55.054089450492 1883.920532226562 +55.933933351350 5941.799316406250 +56.049311183158 2529.910644531250 +56.941559341288 2177.731445312500 +59.049288422008 55833.332031250000 +60.044400478994 9188.863281250000 +61.039483771618 1336.615844726562 +63.997769089290 4226.595214843750 +64.004652574785 4312.662109375000 +67.028420902367 1685.132324218750 +68.011303574981 26639.857421875000 +68.993400384347 11132.456054687500 +69.044245603619 12842.139648437500 +72.936451870693 2092.438964843750 +73.064343001052 2004.000000000000 +76.485626827097 1932.002563476562 +79.020705537221 15479.782226562500 +80.048746552992 12934.649414062500 +81.936560826315 7849.174804687500 +82.996236710322 7697.570312500000 +87.043649221397 1392.278564453125 +87.054161695388 1495.958618164062 +89.506032483299 1554.000000000000 +90.488774891048 1551.744018554688 +91.052857733317 1701.434936523438 +95.951953010697 2094.000000000000 +97.967766546756 6595.530273437500 +109.942695624537 1327.000000000000 +113.961956344849 1877.000000000000 +114.090202311915 11113.386718750000 +118.085079269697 5461.000000000000 +122.095332793077 3096.000000000000 +122.962788239519 9551.916015625000 +123.089923877343 1592.000000000000 +130.158267685481 1374.000000000000 +136.020500147191 1906.429687500000 +141.089705751127 1398.031372070312 +141.111419699029 1374.918823242188 +141.935031405798 2215.528808593750 +141.957114961469 13636.359375000000 +147.090410388658 2596.000000000000 +149.021734118264 3900.000000000000 +149.042225044400 1717.679077148438 +151.095530836015 2392.175048828125 +151.109345923165 2675.036376953125 +155.069217138005 1392.010375976562 +155.972851416164 3798.715576171875 +158.152680730278 10054.000000000000 +161.095473046681 1550.000000000000 +164.142407569715 1467.709594726562 +170.094842381476 2189.805175781250 +173.079740417554 5427.904296875000 +178.157986956425 1455.000000000000 +179.105560744514 1912.301391601562 +182.960698176280 2000.407470703125 +186.016618789428 1896.000000000000 +186.220115257894 1974.000000000000 +194.116069304698 2583.000000000000 +195.121207806540 1998.303710937500 +198.184395565259 1695.000000000000 +201.982853397927 4906.000000000000 +217.007045852030 12703.000000000000 +217.105649597883 13317.726562500000 +218.109378650956 2113.981933593750 +219.093923189224 1382.400756835938 +234.033511361987 14162.000000000000 +235.036774500644 1342.000000000000 +239.087266669620 2910.000000000000 +242.282551973761 1561.000000000000 +245.038675382516 2489.000000000000 +246.861414583855 2664.000000000000 +250.998716978816 2090.000000000000 +262.065290180852 23768.000000000000 +263.068197519244 2928.000000000000 +276.081065166232 35016.000000000000 +277.084200131760 4404.000000000000 +278.078513434024 2183.000000000000 +279.092009717775 2217.000000000000 +281.049184165914 1367.000000000000 +284.163360412320 3532.000000000000 +289.121282596047 297520.000000000000 +290.123339528492 48851.796875000000 +291.118124278084 95531.000000000000 +292.120251426315 17101.046875000000 +293.123187582260 1858.065429687500 +303.104014775580 2693.449951171875 +303.190353825641 2785.502441406250 +304.119856155362 954170.000000000000 +304.858461688543 1629.946044921875 +304.974182520147 7187.607910156250 +305.110635941863 61549.015625000000 +306.110453215668 55678.074218750000 +307.111643085162 7091.700683593750 +310.120007901196 5493.854003906250 +320.106626078784 4025.000000000000 +326.094632546811 51218.675781250000 +327.006414911949 2851.898193359375 +327.096265128312 8263.424804687500 +328.091406924071 3217.697509765625 +329.003058211528 3429.933349609375 +330.205471949815 7747.000000000000 +331.207754653901 1796.000000000000 +342.067426751640 3267.000000000000 +349.169395269431 21267.000000000000 +350.172679880257 4154.271972656250 +351.168393055602 1571.000000000000 +372.098739562700 1670.002075195312 +372.148644610713 2317.465087890625 +389.045115150928 4473.000000000000 +391.043177396698 1663.000000000000 +404.036316278299 7850.000000000000 +405.039997913270 1931.000000000000 +424.359886173771 1591.000000000000 +445.117801993639 2038.000000000000 +500.275651903375 13340.000000000000 +501.278433801524 4082.000000000000 +502.285907017338 2013.566040039062 +505.851095535466 2281.000000000000 +536.163686089478 4281.000000000000 +537.165279310098 2275.000000000000 +538.161599212928 1446.000000000000 +542.322146689605 2319.235839843750 +544.336681001720 2203.000000000000 +546.913546060949 1480.000000000000 +549.965890540792 1571.727539062500 +592.225728725342 6278.000000000000 +593.229191819800 2109.000000000000 +594.222911870749 2943.707031250000 +607.216789747777 46858.000000000000 +608.219527953593 15482.000000000000 +609.215333724431 7397.000000000000 +610.196851071075 3575.000000000000 +611.184731787601 1662.000000000000 +612.221188935026 2560.000000000000 +613.225065362361 23067.000000000000 +614.226835965539 7388.000000000000 +615.223918934987 3328.000000000000 +623.150116137773 1311.609985351562 +623.211673074874 1404.509399414062 +629.198822367023 49161.000000000000 +630.201975789631 15060.724609375000 +631.197108322666 7602.103027343750 +632.199182275970 1787.000000000000 +707.142781768806 1359.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=677 experiment=8 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=677 experiment=8_0 +##scan 134 +##specref ms_run[1]:sample=1 period=1 cycle=677 experiment=8 +70.040387367687 44.684253692627 +70.047865502642 37.155311584473 +201.983899576426 45.000000000000 +217.007209698297 608.000000000000 +234.035524882836 333.000000000000 +245.036754458544 60.000000000000 +262.065396372998 194.000000000000 +276.081233166513 363.000000000000 +289.122284112085 225.000000000000 +304.113665408763 1050.000000000000 +>compound 1_0-677009--135--UNKNOWN +>parentmass 607.216789747777 +>charge 1 +>rt 448.027999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +607.216789747777 46858.000000000000 +>ms1peaks +52.005397076818 2734.410888671875 +52.018107045505 1336.588989257812 +53.013261826329 14264.303710937500 +54.009079203842 328540.562500000000 +55.005732946798 6038.434082031250 +55.011210209049 5773.483398437500 +55.054089450492 1883.920532226562 +55.933933351350 5941.799316406250 +56.049311183158 2529.910644531250 +56.941559341288 2177.731445312500 +59.049288422008 55833.332031250000 +60.044400478994 9188.863281250000 +61.039483771618 1336.615844726562 +63.997769089290 4226.595214843750 +64.004652574785 4312.662109375000 +67.028420902367 1685.132324218750 +68.011303574981 26639.857421875000 +68.993400384347 11132.456054687500 +69.044245603619 12842.139648437500 +72.936451870693 2092.438964843750 +73.064343001052 2004.000000000000 +76.485626827097 1932.002563476562 +79.020705537221 15479.782226562500 +80.048746552992 12934.649414062500 +81.936560826315 7849.174804687500 +82.996236710322 7697.570312500000 +87.043649221397 1392.278564453125 +87.054161695388 1495.958618164062 +89.506032483299 1554.000000000000 +90.488774891048 1551.744018554688 +91.052857733317 1701.434936523438 +95.951953010697 2094.000000000000 +97.967766546756 6595.530273437500 +109.942695624537 1327.000000000000 +113.961956344849 1877.000000000000 +114.090202311915 11113.386718750000 +118.085079269697 5461.000000000000 +122.095332793077 3096.000000000000 +122.962788239519 9551.916015625000 +123.089923877343 1592.000000000000 +130.158267685481 1374.000000000000 +136.020500147191 1906.429687500000 +141.089705751127 1398.031372070312 +141.111419699029 1374.918823242188 +141.935031405798 2215.528808593750 +141.957114961469 13636.359375000000 +147.090410388658 2596.000000000000 +149.021734118264 3900.000000000000 +149.042225044400 1717.679077148438 +151.095530836015 2392.175048828125 +151.109345923165 2675.036376953125 +155.069217138005 1392.010375976562 +155.972851416164 3798.715576171875 +158.152680730278 10054.000000000000 +161.095473046681 1550.000000000000 +164.142407569715 1467.709594726562 +170.094842381476 2189.805175781250 +173.079740417554 5427.904296875000 +178.157986956425 1455.000000000000 +179.105560744514 1912.301391601562 +182.960698176280 2000.407470703125 +186.016618789428 1896.000000000000 +186.220115257894 1974.000000000000 +194.116069304698 2583.000000000000 +195.121207806540 1998.303710937500 +198.184395565259 1695.000000000000 +201.982853397927 4906.000000000000 +217.007045852030 12703.000000000000 +217.105649597883 13317.726562500000 +218.109378650956 2113.981933593750 +219.093923189224 1382.400756835938 +234.033511361987 14162.000000000000 +235.036774500644 1342.000000000000 +239.087266669620 2910.000000000000 +242.282551973761 1561.000000000000 +245.038675382516 2489.000000000000 +246.861414583855 2664.000000000000 +250.998716978816 2090.000000000000 +262.065290180852 23768.000000000000 +263.068197519244 2928.000000000000 +276.081065166232 35016.000000000000 +277.084200131760 4404.000000000000 +278.078513434024 2183.000000000000 +279.092009717775 2217.000000000000 +281.049184165914 1367.000000000000 +284.163360412320 3532.000000000000 +289.121282596047 297520.000000000000 +290.123339528492 48851.796875000000 +291.118124278084 95531.000000000000 +292.120251426315 17101.046875000000 +293.123187582260 1858.065429687500 +303.104014775580 2693.449951171875 +303.190353825641 2785.502441406250 +304.119856155362 954170.000000000000 +304.858461688543 1629.946044921875 +304.974182520147 7187.607910156250 +305.110635941863 61549.015625000000 +306.110453215668 55678.074218750000 +307.111643085162 7091.700683593750 +310.120007901196 5493.854003906250 +320.106626078784 4025.000000000000 +326.094632546811 51218.675781250000 +327.006414911949 2851.898193359375 +327.096265128312 8263.424804687500 +328.091406924071 3217.697509765625 +329.003058211528 3429.933349609375 +330.205471949815 7747.000000000000 +331.207754653901 1796.000000000000 +342.067426751640 3267.000000000000 +349.169395269431 21267.000000000000 +350.172679880257 4154.271972656250 +351.168393055602 1571.000000000000 +372.098739562700 1670.002075195312 +372.148644610713 2317.465087890625 +389.045115150928 4473.000000000000 +391.043177396698 1663.000000000000 +404.036316278299 7850.000000000000 +405.039997913270 1931.000000000000 +424.359886173771 1591.000000000000 +445.117801993639 2038.000000000000 +500.275651903375 13340.000000000000 +501.278433801524 4082.000000000000 +502.285907017338 2013.566040039062 +505.851095535466 2281.000000000000 +536.163686089478 4281.000000000000 +537.165279310098 2275.000000000000 +538.161599212928 1446.000000000000 +542.322146689605 2319.235839843750 +544.336681001720 2203.000000000000 +546.913546060949 1480.000000000000 +549.965890540792 1571.727539062500 +592.225728725342 6278.000000000000 +593.229191819800 2109.000000000000 +594.222911870749 2943.707031250000 +607.216789747777 46858.000000000000 +608.219527953593 15482.000000000000 +609.215333724431 7397.000000000000 +610.196851071075 3575.000000000000 +611.184731787601 1662.000000000000 +612.221188935026 2560.000000000000 +613.225065362361 23067.000000000000 +614.226835965539 7388.000000000000 +615.223918934987 3328.000000000000 +623.150116137773 1311.609985351562 +623.211673074874 1404.509399414062 +629.198822367023 49161.000000000000 +630.201975789631 15060.724609375000 +631.197108322666 7602.103027343750 +632.199182275970 1787.000000000000 +707.142781768806 1359.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=677 experiment=9 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=677 experiment=9_0 +##scan 135 +##specref ms_run[1]:sample=1 period=1 cycle=677 experiment=9 +153.040452875418 45.000000000000 +168.987769199841 30.000000000000 +200.978500260693 45.000000000000 +201.986408200829 90.000000000000 +216.021280883061 45.000000000000 +217.007935267676 1656.000000000000 +217.048248955154 84.792404174805 +233.325135038396 30.000000000000 +234.035241177002 935.000000000000 +245.042500815810 120.000000000000 +262.067633856409 955.000000000000 +276.082454987034 1036.000000000000 +304.113438613875 3789.000000000000 +305.110750767950 75.000000000000 +>compound 1_0-678002--137--UNKNOWN +>parentmass 217.007207589124 +>charge 1 +>rt 448.957000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +217.007207589124 6332.419433593750 +>ms1peaks +52.005617027968 2841.486083984375 +53.013411271366 13567.883789062500 +54.009125331887 341665.812500000000 +55.005857415052 5900.790039062500 +55.011242701615 6013.953125000000 +55.054093292119 2035.055908203125 +55.933978586076 5672.338378906250 +56.049467099919 1695.441040039062 +56.941782308930 2173.337402343750 +59.049339198083 62878.703125000000 +60.044404001763 9862.614257812500 +61.039435521241 1719.998779296875 +63.997664239141 3450.597167968750 +64.005081384586 3958.136474609375 +68.011443914678 27040.419921875000 +68.993714467215 12520.464843750000 +69.007373071731 1388.107910156250 +69.044312866744 13073.230468750000 +72.936423004110 2084.000000000000 +73.063871079142 1705.000000000000 +76.485830845774 2577.000000000000 +79.020684296263 13782.132812500000 +80.048779775419 11186.997070312500 +81.936674853257 8327.656250000000 +82.996269546702 8040.201660156250 +89.506005127285 1468.281982421875 +90.489095167913 1675.000000000000 +95.951948147015 2520.515136718750 +97.967758472339 6678.626953125000 +102.090788355145 2027.477661132812 +113.962336972098 2071.000000000000 +114.090407289761 9387.833984375000 +118.085129231385 6116.000000000000 +122.095638138110 3776.030761718750 +122.962814871209 10117.168945312500 +123.090715093470 1657.501464843750 +136.020905158615 1394.424438476562 +140.067586645329 1617.045654296875 +141.112054526426 1383.640991210938 +141.935709702620 1911.949829101562 +141.957347460629 13581.779296875000 +147.090339739564 2374.998291015625 +149.022576244489 3994.022705078125 +151.095387083973 2392.279052734375 +151.109293023596 2750.114746093750 +155.069699172730 1332.009765625000 +155.972973853574 3810.662841796875 +158.152617650358 10434.000000000000 +159.154821868580 1369.000000000000 +161.095811541558 1615.000000000000 +170.094786893830 2397.479492187500 +170.116223095026 1563.129394531250 +173.079809386205 6290.747070312500 +178.157999558146 1344.694458007812 +179.105474980732 1898.194946289062 +182.961052201833 2004.073364257812 +186.220351226598 1623.000000000000 +193.157127136625 1493.409179687500 +194.115785614334 2955.000000000000 +195.120763129781 1823.166137695312 +198.184413101409 2214.000000000000 +201.984090601891 2436.000000000000 +217.007207589124 6332.419433593750 +217.105727151964 16770.736328125000 +218.108791440056 2512.000000000000 +234.033555067529 7474.000000000000 +239.087847702990 2936.000000000000 +242.283076836300 1598.000000000000 +245.039110357630 1466.000000000000 +246.860750264023 2469.000000000000 +249.183092518468 1366.967651367188 +250.999128212314 2641.000000000000 +252.995944883436 1376.000000000000 +262.065576474895 11528.000000000000 +263.068397905954 1693.000000000000 +276.080823895982 18533.000000000000 +277.084470217057 2604.243652343750 +279.093578782719 2100.000000000000 +281.049703566301 1340.000000000000 +284.163284328388 2755.000000000000 +288.245192514905 2240.408203125000 +289.124028104405 571675.000000000000 +289.974079344843 2398.387451171875 +290.020293351816 2510.571777343750 +290.123004833560 37005.632812500000 +291.118405903154 172664.062500000000 +292.120440247980 30711.750000000000 +293.123309031099 2511.000000000000 +303.103999271490 1878.000000000000 +303.190085777343 1857.193237304688 +304.115683834546 552400.000000000000 +304.984847835069 1705.556396484375 +305.107785187759 57481.210937500000 +306.110327480189 29213.000000000000 +307.112384326980 4304.000000000000 +310.120384968947 4593.269531250000 +311.105475064582 1824.000000000000 +320.107323506761 2737.000000000000 +326.094810667410 41008.000000000000 +327.006437528123 3347.260986328125 +327.096455636030 6753.961425781250 +328.092188803708 2930.000000000000 +329.003747738298 3355.000000000000 +330.205009985617 6046.367675781250 +331.208059597585 1436.000000000000 +342.068061155461 2814.000000000000 +349.170060952900 13874.000000000000 +350.172621024257 2607.730712890625 +372.148688883306 1405.186401367188 +389.044748240917 7650.000000000000 +390.047497559210 1913.000000000000 +391.042419990568 2801.000000000000 +392.068522384462 2797.000000000000 +394.066194691334 1609.439208984375 +404.036647250000 3756.000000000000 +424.362220661973 1680.073608398438 +445.118239809427 2256.000000000000 +457.032674519482 1580.000000000000 +468.387534165811 1625.361328125000 +487.228056299732 1735.000000000000 +500.275588301319 14065.000000000000 +501.278629401665 3579.000000000000 +502.286881001175 2107.000000000000 +505.851399270242 2207.884277343750 +531.255889309595 1828.000000000000 +536.162574795725 4348.000000000000 +537.164900413678 2412.000000000000 +538.160905924694 1840.207275390625 +542.321702796647 4110.075683593750 +543.325936834084 1425.000000000000 +544.336609702317 2008.000000000000 +546.912855890436 1498.000000000000 +592.225267665071 7023.000000000000 +593.153130472392 2079.229736328125 +593.228621623492 2593.859863281250 +594.223736830213 3021.337890625000 +607.216353924445 19371.000000000000 +608.219876548020 6018.000000000000 +609.216035675932 2735.843994140625 +610.184990477000 2845.000000000000 +612.185596819648 1643.000000000000 +613.224838309655 6730.896972656250 +614.227226894726 2411.000000000000 +629.198664613593 14632.000000000000 +630.201165251457 4128.000000000000 +631.197724705928 2446.000000000000 +639.156464406238 1485.000000000000 +641.154235888014 1515.855590820312 +654.147541437576 1594.000000000000 +692.150340948486 1581.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=678 experiment=2 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=678 experiment=2_0 +##scan 137 +##specref ms_run[1]:sample=1 period=1 cycle=678 experiment=2 +55.053770549188 165.000000000000 +55.062703601283 75.000000000000 +69.032891729293 30.000000000000 +73.063573376182 13.000000000000 +83.050237918201 90.000000000000 +111.040381238832 30.000000000000 +113.058204722879 30.000000000000 +113.066246072660 30.000000000000 +127.077459674406 30.000000000000 +145.081768679807 13.000000000000 +155.070709401933 60.000000000000 +201.980405377328 30.000000000000 +>compound 1_0-678004--139--UNKNOWN +>parentmass 320.107323506761 +>charge 1 +>rt 448.957000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +320.107323506761 2737.000000000000 +>ms1peaks +52.005617027968 2841.486083984375 +53.013411271366 13567.883789062500 +54.009125331887 341665.812500000000 +55.005857415052 5900.790039062500 +55.011242701615 6013.953125000000 +55.054093292119 2035.055908203125 +55.933978586076 5672.338378906250 +56.049467099919 1695.441040039062 +56.941782308930 2173.337402343750 +59.049339198083 62878.703125000000 +60.044404001763 9862.614257812500 +61.039435521241 1719.998779296875 +63.997664239141 3450.597167968750 +64.005081384586 3958.136474609375 +68.011443914678 27040.419921875000 +68.993714467215 12520.464843750000 +69.007373071731 1388.107910156250 +69.044312866744 13073.230468750000 +72.936423004110 2084.000000000000 +73.063871079142 1705.000000000000 +76.485830845774 2577.000000000000 +79.020684296263 13782.132812500000 +80.048779775419 11186.997070312500 +81.936674853257 8327.656250000000 +82.996269546702 8040.201660156250 +89.506005127285 1468.281982421875 +90.489095167913 1675.000000000000 +95.951948147015 2520.515136718750 +97.967758472339 6678.626953125000 +102.090788355145 2027.477661132812 +113.962336972098 2071.000000000000 +114.090407289761 9387.833984375000 +118.085129231385 6116.000000000000 +122.095638138110 3776.030761718750 +122.962814871209 10117.168945312500 +123.090715093470 1657.501464843750 +136.020905158615 1394.424438476562 +140.067586645329 1617.045654296875 +141.112054526426 1383.640991210938 +141.935709702620 1911.949829101562 +141.957347460629 13581.779296875000 +147.090339739564 2374.998291015625 +149.022576244489 3994.022705078125 +151.095387083973 2392.279052734375 +151.109293023596 2750.114746093750 +155.069699172730 1332.009765625000 +155.972973853574 3810.662841796875 +158.152617650358 10434.000000000000 +159.154821868580 1369.000000000000 +161.095811541558 1615.000000000000 +170.094786893830 2397.479492187500 +170.116223095026 1563.129394531250 +173.079809386205 6290.747070312500 +178.157999558146 1344.694458007812 +179.105474980732 1898.194946289062 +182.961052201833 2004.073364257812 +186.220351226598 1623.000000000000 +193.157127136625 1493.409179687500 +194.115785614334 2955.000000000000 +195.120763129781 1823.166137695312 +198.184413101409 2214.000000000000 +201.984090601891 2436.000000000000 +217.007207589124 6332.419433593750 +217.105727151964 16770.736328125000 +218.108791440056 2512.000000000000 +234.033555067529 7474.000000000000 +239.087847702990 2936.000000000000 +242.283076836300 1598.000000000000 +245.039110357630 1466.000000000000 +246.860750264023 2469.000000000000 +249.183092518468 1366.967651367188 +250.999128212314 2641.000000000000 +252.995944883436 1376.000000000000 +262.065576474895 11528.000000000000 +263.068397905954 1693.000000000000 +276.080823895982 18533.000000000000 +277.084470217057 2604.243652343750 +279.093578782719 2100.000000000000 +281.049703566301 1340.000000000000 +284.163284328388 2755.000000000000 +288.245192514905 2240.408203125000 +289.124028104405 571675.000000000000 +289.974079344843 2398.387451171875 +290.020293351816 2510.571777343750 +290.123004833560 37005.632812500000 +291.118405903154 172664.062500000000 +292.120440247980 30711.750000000000 +293.123309031099 2511.000000000000 +303.103999271490 1878.000000000000 +303.190085777343 1857.193237304688 +304.115683834546 552400.000000000000 +304.984847835069 1705.556396484375 +305.107785187759 57481.210937500000 +306.110327480189 29213.000000000000 +307.112384326980 4304.000000000000 +310.120384968947 4593.269531250000 +311.105475064582 1824.000000000000 +320.107323506761 2737.000000000000 +326.094810667410 41008.000000000000 +327.006437528123 3347.260986328125 +327.096455636030 6753.961425781250 +328.092188803708 2930.000000000000 +329.003747738298 3355.000000000000 +330.205009985617 6046.367675781250 +331.208059597585 1436.000000000000 +342.068061155461 2814.000000000000 +349.170060952900 13874.000000000000 +350.172621024257 2607.730712890625 +372.148688883306 1405.186401367188 +389.044748240917 7650.000000000000 +390.047497559210 1913.000000000000 +391.042419990568 2801.000000000000 +392.068522384462 2797.000000000000 +394.066194691334 1609.439208984375 +404.036647250000 3756.000000000000 +424.362220661973 1680.073608398438 +445.118239809427 2256.000000000000 +457.032674519482 1580.000000000000 +468.387534165811 1625.361328125000 +487.228056299732 1735.000000000000 +500.275588301319 14065.000000000000 +501.278629401665 3579.000000000000 +502.286881001175 2107.000000000000 +505.851399270242 2207.884277343750 +531.255889309595 1828.000000000000 +536.162574795725 4348.000000000000 +537.164900413678 2412.000000000000 +538.160905924694 1840.207275390625 +542.321702796647 4110.075683593750 +543.325936834084 1425.000000000000 +544.336609702317 2008.000000000000 +546.912855890436 1498.000000000000 +592.225267665071 7023.000000000000 +593.153130472392 2079.229736328125 +593.228621623492 2593.859863281250 +594.223736830213 3021.337890625000 +607.216353924445 19371.000000000000 +608.219876548020 6018.000000000000 +609.216035675932 2735.843994140625 +610.184990477000 2845.000000000000 +612.185596819648 1643.000000000000 +613.224838309655 6730.896972656250 +614.227226894726 2411.000000000000 +629.198664613593 14632.000000000000 +630.201165251457 4128.000000000000 +631.197724705928 2446.000000000000 +639.156464406238 1485.000000000000 +641.154235888014 1515.855590820312 +654.147541437576 1594.000000000000 +692.150340948486 1581.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=678 experiment=4 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=678 experiment=4_0 +##scan 139 +##specref ms_run[1]:sample=1 period=1 cycle=678 experiment=4 +116.067994325823 13.000000000000 +152.040659467198 30.000000000000 +152.046016143672 30.000000000000 +154.031536870134 33.489322662354 +154.045323699335 45.000000000000 +154.050699331502 30.000000000000 +171.047181497434 30.000000000000 +233.004738842438 90.000000000000 +>compound 1_0-678005--140--UNKNOWN +>parentmass 342.068061155461 +>charge 1 +>rt 448.957000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +342.068061155461 2814.000000000000 +>ms1peaks +52.005617027968 2841.486083984375 +53.013411271366 13567.883789062500 +54.009125331887 341665.812500000000 +55.005857415052 5900.790039062500 +55.011242701615 6013.953125000000 +55.054093292119 2035.055908203125 +55.933978586076 5672.338378906250 +56.049467099919 1695.441040039062 +56.941782308930 2173.337402343750 +59.049339198083 62878.703125000000 +60.044404001763 9862.614257812500 +61.039435521241 1719.998779296875 +63.997664239141 3450.597167968750 +64.005081384586 3958.136474609375 +68.011443914678 27040.419921875000 +68.993714467215 12520.464843750000 +69.007373071731 1388.107910156250 +69.044312866744 13073.230468750000 +72.936423004110 2084.000000000000 +73.063871079142 1705.000000000000 +76.485830845774 2577.000000000000 +79.020684296263 13782.132812500000 +80.048779775419 11186.997070312500 +81.936674853257 8327.656250000000 +82.996269546702 8040.201660156250 +89.506005127285 1468.281982421875 +90.489095167913 1675.000000000000 +95.951948147015 2520.515136718750 +97.967758472339 6678.626953125000 +102.090788355145 2027.477661132812 +113.962336972098 2071.000000000000 +114.090407289761 9387.833984375000 +118.085129231385 6116.000000000000 +122.095638138110 3776.030761718750 +122.962814871209 10117.168945312500 +123.090715093470 1657.501464843750 +136.020905158615 1394.424438476562 +140.067586645329 1617.045654296875 +141.112054526426 1383.640991210938 +141.935709702620 1911.949829101562 +141.957347460629 13581.779296875000 +147.090339739564 2374.998291015625 +149.022576244489 3994.022705078125 +151.095387083973 2392.279052734375 +151.109293023596 2750.114746093750 +155.069699172730 1332.009765625000 +155.972973853574 3810.662841796875 +158.152617650358 10434.000000000000 +159.154821868580 1369.000000000000 +161.095811541558 1615.000000000000 +170.094786893830 2397.479492187500 +170.116223095026 1563.129394531250 +173.079809386205 6290.747070312500 +178.157999558146 1344.694458007812 +179.105474980732 1898.194946289062 +182.961052201833 2004.073364257812 +186.220351226598 1623.000000000000 +193.157127136625 1493.409179687500 +194.115785614334 2955.000000000000 +195.120763129781 1823.166137695312 +198.184413101409 2214.000000000000 +201.984090601891 2436.000000000000 +217.007207589124 6332.419433593750 +217.105727151964 16770.736328125000 +218.108791440056 2512.000000000000 +234.033555067529 7474.000000000000 +239.087847702990 2936.000000000000 +242.283076836300 1598.000000000000 +245.039110357630 1466.000000000000 +246.860750264023 2469.000000000000 +249.183092518468 1366.967651367188 +250.999128212314 2641.000000000000 +252.995944883436 1376.000000000000 +262.065576474895 11528.000000000000 +263.068397905954 1693.000000000000 +276.080823895982 18533.000000000000 +277.084470217057 2604.243652343750 +279.093578782719 2100.000000000000 +281.049703566301 1340.000000000000 +284.163284328388 2755.000000000000 +288.245192514905 2240.408203125000 +289.124028104405 571675.000000000000 +289.974079344843 2398.387451171875 +290.020293351816 2510.571777343750 +290.123004833560 37005.632812500000 +291.118405903154 172664.062500000000 +292.120440247980 30711.750000000000 +293.123309031099 2511.000000000000 +303.103999271490 1878.000000000000 +303.190085777343 1857.193237304688 +304.115683834546 552400.000000000000 +304.984847835069 1705.556396484375 +305.107785187759 57481.210937500000 +306.110327480189 29213.000000000000 +307.112384326980 4304.000000000000 +310.120384968947 4593.269531250000 +311.105475064582 1824.000000000000 +320.107323506761 2737.000000000000 +326.094810667410 41008.000000000000 +327.006437528123 3347.260986328125 +327.096455636030 6753.961425781250 +328.092188803708 2930.000000000000 +329.003747738298 3355.000000000000 +330.205009985617 6046.367675781250 +331.208059597585 1436.000000000000 +342.068061155461 2814.000000000000 +349.170060952900 13874.000000000000 +350.172621024257 2607.730712890625 +372.148688883306 1405.186401367188 +389.044748240917 7650.000000000000 +390.047497559210 1913.000000000000 +391.042419990568 2801.000000000000 +392.068522384462 2797.000000000000 +394.066194691334 1609.439208984375 +404.036647250000 3756.000000000000 +424.362220661973 1680.073608398438 +445.118239809427 2256.000000000000 +457.032674519482 1580.000000000000 +468.387534165811 1625.361328125000 +487.228056299732 1735.000000000000 +500.275588301319 14065.000000000000 +501.278629401665 3579.000000000000 +502.286881001175 2107.000000000000 +505.851399270242 2207.884277343750 +531.255889309595 1828.000000000000 +536.162574795725 4348.000000000000 +537.164900413678 2412.000000000000 +538.160905924694 1840.207275390625 +542.321702796647 4110.075683593750 +543.325936834084 1425.000000000000 +544.336609702317 2008.000000000000 +546.912855890436 1498.000000000000 +592.225267665071 7023.000000000000 +593.153130472392 2079.229736328125 +593.228621623492 2593.859863281250 +594.223736830213 3021.337890625000 +607.216353924445 19371.000000000000 +608.219876548020 6018.000000000000 +609.216035675932 2735.843994140625 +610.184990477000 2845.000000000000 +612.185596819648 1643.000000000000 +613.224838309655 6730.896972656250 +614.227226894726 2411.000000000000 +629.198664613593 14632.000000000000 +630.201165251457 4128.000000000000 +631.197724705928 2446.000000000000 +639.156464406238 1485.000000000000 +641.154235888014 1515.855590820312 +654.147541437576 1594.000000000000 +692.150340948486 1581.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=678 experiment=5 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=678 experiment=5_0 +##scan 140 +##specref ms_run[1]:sample=1 period=1 cycle=678 experiment=5 +117.031244584965 13.000000000000 +204.836070820128 13.000000000000 +281.174358492574 13.000000000000 +>compound 1_0-678006--141--UNKNOWN +>parentmass 389.044748240917 +>charge 1 +>rt 448.957000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +389.044748240917 7650.000000000000 +>ms1peaks +52.005617027968 2841.486083984375 +53.013411271366 13567.883789062500 +54.009125331887 341665.812500000000 +55.005857415052 5900.790039062500 +55.011242701615 6013.953125000000 +55.054093292119 2035.055908203125 +55.933978586076 5672.338378906250 +56.049467099919 1695.441040039062 +56.941782308930 2173.337402343750 +59.049339198083 62878.703125000000 +60.044404001763 9862.614257812500 +61.039435521241 1719.998779296875 +63.997664239141 3450.597167968750 +64.005081384586 3958.136474609375 +68.011443914678 27040.419921875000 +68.993714467215 12520.464843750000 +69.007373071731 1388.107910156250 +69.044312866744 13073.230468750000 +72.936423004110 2084.000000000000 +73.063871079142 1705.000000000000 +76.485830845774 2577.000000000000 +79.020684296263 13782.132812500000 +80.048779775419 11186.997070312500 +81.936674853257 8327.656250000000 +82.996269546702 8040.201660156250 +89.506005127285 1468.281982421875 +90.489095167913 1675.000000000000 +95.951948147015 2520.515136718750 +97.967758472339 6678.626953125000 +102.090788355145 2027.477661132812 +113.962336972098 2071.000000000000 +114.090407289761 9387.833984375000 +118.085129231385 6116.000000000000 +122.095638138110 3776.030761718750 +122.962814871209 10117.168945312500 +123.090715093470 1657.501464843750 +136.020905158615 1394.424438476562 +140.067586645329 1617.045654296875 +141.112054526426 1383.640991210938 +141.935709702620 1911.949829101562 +141.957347460629 13581.779296875000 +147.090339739564 2374.998291015625 +149.022576244489 3994.022705078125 +151.095387083973 2392.279052734375 +151.109293023596 2750.114746093750 +155.069699172730 1332.009765625000 +155.972973853574 3810.662841796875 +158.152617650358 10434.000000000000 +159.154821868580 1369.000000000000 +161.095811541558 1615.000000000000 +170.094786893830 2397.479492187500 +170.116223095026 1563.129394531250 +173.079809386205 6290.747070312500 +178.157999558146 1344.694458007812 +179.105474980732 1898.194946289062 +182.961052201833 2004.073364257812 +186.220351226598 1623.000000000000 +193.157127136625 1493.409179687500 +194.115785614334 2955.000000000000 +195.120763129781 1823.166137695312 +198.184413101409 2214.000000000000 +201.984090601891 2436.000000000000 +217.007207589124 6332.419433593750 +217.105727151964 16770.736328125000 +218.108791440056 2512.000000000000 +234.033555067529 7474.000000000000 +239.087847702990 2936.000000000000 +242.283076836300 1598.000000000000 +245.039110357630 1466.000000000000 +246.860750264023 2469.000000000000 +249.183092518468 1366.967651367188 +250.999128212314 2641.000000000000 +252.995944883436 1376.000000000000 +262.065576474895 11528.000000000000 +263.068397905954 1693.000000000000 +276.080823895982 18533.000000000000 +277.084470217057 2604.243652343750 +279.093578782719 2100.000000000000 +281.049703566301 1340.000000000000 +284.163284328388 2755.000000000000 +288.245192514905 2240.408203125000 +289.124028104405 571675.000000000000 +289.974079344843 2398.387451171875 +290.020293351816 2510.571777343750 +290.123004833560 37005.632812500000 +291.118405903154 172664.062500000000 +292.120440247980 30711.750000000000 +293.123309031099 2511.000000000000 +303.103999271490 1878.000000000000 +303.190085777343 1857.193237304688 +304.115683834546 552400.000000000000 +304.984847835069 1705.556396484375 +305.107785187759 57481.210937500000 +306.110327480189 29213.000000000000 +307.112384326980 4304.000000000000 +310.120384968947 4593.269531250000 +311.105475064582 1824.000000000000 +320.107323506761 2737.000000000000 +326.094810667410 41008.000000000000 +327.006437528123 3347.260986328125 +327.096455636030 6753.961425781250 +328.092188803708 2930.000000000000 +329.003747738298 3355.000000000000 +330.205009985617 6046.367675781250 +331.208059597585 1436.000000000000 +342.068061155461 2814.000000000000 +349.170060952900 13874.000000000000 +350.172621024257 2607.730712890625 +372.148688883306 1405.186401367188 +389.044748240917 7650.000000000000 +390.047497559210 1913.000000000000 +391.042419990568 2801.000000000000 +392.068522384462 2797.000000000000 +394.066194691334 1609.439208984375 +404.036647250000 3756.000000000000 +424.362220661973 1680.073608398438 +445.118239809427 2256.000000000000 +457.032674519482 1580.000000000000 +468.387534165811 1625.361328125000 +487.228056299732 1735.000000000000 +500.275588301319 14065.000000000000 +501.278629401665 3579.000000000000 +502.286881001175 2107.000000000000 +505.851399270242 2207.884277343750 +531.255889309595 1828.000000000000 +536.162574795725 4348.000000000000 +537.164900413678 2412.000000000000 +538.160905924694 1840.207275390625 +542.321702796647 4110.075683593750 +543.325936834084 1425.000000000000 +544.336609702317 2008.000000000000 +546.912855890436 1498.000000000000 +592.225267665071 7023.000000000000 +593.153130472392 2079.229736328125 +593.228621623492 2593.859863281250 +594.223736830213 3021.337890625000 +607.216353924445 19371.000000000000 +608.219876548020 6018.000000000000 +609.216035675932 2735.843994140625 +610.184990477000 2845.000000000000 +612.185596819648 1643.000000000000 +613.224838309655 6730.896972656250 +614.227226894726 2411.000000000000 +629.198664613593 14632.000000000000 +630.201165251457 4128.000000000000 +631.197724705928 2446.000000000000 +639.156464406238 1485.000000000000 +641.154235888014 1515.855590820312 +654.147541437576 1594.000000000000 +692.150340948486 1581.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=678 experiment=6 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=678 experiment=6_0 +##scan 141 +##specref ms_run[1]:sample=1 period=1 cycle=678 experiment=6 +147.065378887369 13.000000000000 +227.036994181213 45.000000000000 +310.083116377010 30.000000000000 +324.764157414996 13.000000000000 +>compound 1_0-678007--142--UNKNOWN +>parentmass 394.066194691334 +>charge 1 +>rt 448.957000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +394.066194691334 1609.439208984375 +>ms1peaks +52.005617027968 2841.486083984375 +53.013411271366 13567.883789062500 +54.009125331887 341665.812500000000 +55.005857415052 5900.790039062500 +55.011242701615 6013.953125000000 +55.054093292119 2035.055908203125 +55.933978586076 5672.338378906250 +56.049467099919 1695.441040039062 +56.941782308930 2173.337402343750 +59.049339198083 62878.703125000000 +60.044404001763 9862.614257812500 +61.039435521241 1719.998779296875 +63.997664239141 3450.597167968750 +64.005081384586 3958.136474609375 +68.011443914678 27040.419921875000 +68.993714467215 12520.464843750000 +69.007373071731 1388.107910156250 +69.044312866744 13073.230468750000 +72.936423004110 2084.000000000000 +73.063871079142 1705.000000000000 +76.485830845774 2577.000000000000 +79.020684296263 13782.132812500000 +80.048779775419 11186.997070312500 +81.936674853257 8327.656250000000 +82.996269546702 8040.201660156250 +89.506005127285 1468.281982421875 +90.489095167913 1675.000000000000 +95.951948147015 2520.515136718750 +97.967758472339 6678.626953125000 +102.090788355145 2027.477661132812 +113.962336972098 2071.000000000000 +114.090407289761 9387.833984375000 +118.085129231385 6116.000000000000 +122.095638138110 3776.030761718750 +122.962814871209 10117.168945312500 +123.090715093470 1657.501464843750 +136.020905158615 1394.424438476562 +140.067586645329 1617.045654296875 +141.112054526426 1383.640991210938 +141.935709702620 1911.949829101562 +141.957347460629 13581.779296875000 +147.090339739564 2374.998291015625 +149.022576244489 3994.022705078125 +151.095387083973 2392.279052734375 +151.109293023596 2750.114746093750 +155.069699172730 1332.009765625000 +155.972973853574 3810.662841796875 +158.152617650358 10434.000000000000 +159.154821868580 1369.000000000000 +161.095811541558 1615.000000000000 +170.094786893830 2397.479492187500 +170.116223095026 1563.129394531250 +173.079809386205 6290.747070312500 +178.157999558146 1344.694458007812 +179.105474980732 1898.194946289062 +182.961052201833 2004.073364257812 +186.220351226598 1623.000000000000 +193.157127136625 1493.409179687500 +194.115785614334 2955.000000000000 +195.120763129781 1823.166137695312 +198.184413101409 2214.000000000000 +201.984090601891 2436.000000000000 +217.007207589124 6332.419433593750 +217.105727151964 16770.736328125000 +218.108791440056 2512.000000000000 +234.033555067529 7474.000000000000 +239.087847702990 2936.000000000000 +242.283076836300 1598.000000000000 +245.039110357630 1466.000000000000 +246.860750264023 2469.000000000000 +249.183092518468 1366.967651367188 +250.999128212314 2641.000000000000 +252.995944883436 1376.000000000000 +262.065576474895 11528.000000000000 +263.068397905954 1693.000000000000 +276.080823895982 18533.000000000000 +277.084470217057 2604.243652343750 +279.093578782719 2100.000000000000 +281.049703566301 1340.000000000000 +284.163284328388 2755.000000000000 +288.245192514905 2240.408203125000 +289.124028104405 571675.000000000000 +289.974079344843 2398.387451171875 +290.020293351816 2510.571777343750 +290.123004833560 37005.632812500000 +291.118405903154 172664.062500000000 +292.120440247980 30711.750000000000 +293.123309031099 2511.000000000000 +303.103999271490 1878.000000000000 +303.190085777343 1857.193237304688 +304.115683834546 552400.000000000000 +304.984847835069 1705.556396484375 +305.107785187759 57481.210937500000 +306.110327480189 29213.000000000000 +307.112384326980 4304.000000000000 +310.120384968947 4593.269531250000 +311.105475064582 1824.000000000000 +320.107323506761 2737.000000000000 +326.094810667410 41008.000000000000 +327.006437528123 3347.260986328125 +327.096455636030 6753.961425781250 +328.092188803708 2930.000000000000 +329.003747738298 3355.000000000000 +330.205009985617 6046.367675781250 +331.208059597585 1436.000000000000 +342.068061155461 2814.000000000000 +349.170060952900 13874.000000000000 +350.172621024257 2607.730712890625 +372.148688883306 1405.186401367188 +389.044748240917 7650.000000000000 +390.047497559210 1913.000000000000 +391.042419990568 2801.000000000000 +392.068522384462 2797.000000000000 +394.066194691334 1609.439208984375 +404.036647250000 3756.000000000000 +424.362220661973 1680.073608398438 +445.118239809427 2256.000000000000 +457.032674519482 1580.000000000000 +468.387534165811 1625.361328125000 +487.228056299732 1735.000000000000 +500.275588301319 14065.000000000000 +501.278629401665 3579.000000000000 +502.286881001175 2107.000000000000 +505.851399270242 2207.884277343750 +531.255889309595 1828.000000000000 +536.162574795725 4348.000000000000 +537.164900413678 2412.000000000000 +538.160905924694 1840.207275390625 +542.321702796647 4110.075683593750 +543.325936834084 1425.000000000000 +544.336609702317 2008.000000000000 +546.912855890436 1498.000000000000 +592.225267665071 7023.000000000000 +593.153130472392 2079.229736328125 +593.228621623492 2593.859863281250 +594.223736830213 3021.337890625000 +607.216353924445 19371.000000000000 +608.219876548020 6018.000000000000 +609.216035675932 2735.843994140625 +610.184990477000 2845.000000000000 +612.185596819648 1643.000000000000 +613.224838309655 6730.896972656250 +614.227226894726 2411.000000000000 +629.198664613593 14632.000000000000 +630.201165251457 4128.000000000000 +631.197724705928 2446.000000000000 +639.156464406238 1485.000000000000 +641.154235888014 1515.855590820312 +654.147541437576 1594.000000000000 +692.150340948486 1581.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=678 experiment=7 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=678 experiment=7_0 +##scan 142 +##specref ms_run[1]:sample=1 period=1 cycle=678 experiment=7 +254.958236956059 105.000000000000 +255.951602007493 75.000000000000 +298.002723174906 90.000000000000 +299.007158363016 45.000000000000 +326.029464078052 180.000000000000 +353.038478610358 180.000000000000 +>compound 1_0-678008--143--UNKNOWN +>parentmass 457.032674519482 +>charge 1 +>rt 448.957000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +457.032674519482 1580.000000000000 +>ms1peaks +52.005617027968 2841.486083984375 +53.013411271366 13567.883789062500 +54.009125331887 341665.812500000000 +55.005857415052 5900.790039062500 +55.011242701615 6013.953125000000 +55.054093292119 2035.055908203125 +55.933978586076 5672.338378906250 +56.049467099919 1695.441040039062 +56.941782308930 2173.337402343750 +59.049339198083 62878.703125000000 +60.044404001763 9862.614257812500 +61.039435521241 1719.998779296875 +63.997664239141 3450.597167968750 +64.005081384586 3958.136474609375 +68.011443914678 27040.419921875000 +68.993714467215 12520.464843750000 +69.007373071731 1388.107910156250 +69.044312866744 13073.230468750000 +72.936423004110 2084.000000000000 +73.063871079142 1705.000000000000 +76.485830845774 2577.000000000000 +79.020684296263 13782.132812500000 +80.048779775419 11186.997070312500 +81.936674853257 8327.656250000000 +82.996269546702 8040.201660156250 +89.506005127285 1468.281982421875 +90.489095167913 1675.000000000000 +95.951948147015 2520.515136718750 +97.967758472339 6678.626953125000 +102.090788355145 2027.477661132812 +113.962336972098 2071.000000000000 +114.090407289761 9387.833984375000 +118.085129231385 6116.000000000000 +122.095638138110 3776.030761718750 +122.962814871209 10117.168945312500 +123.090715093470 1657.501464843750 +136.020905158615 1394.424438476562 +140.067586645329 1617.045654296875 +141.112054526426 1383.640991210938 +141.935709702620 1911.949829101562 +141.957347460629 13581.779296875000 +147.090339739564 2374.998291015625 +149.022576244489 3994.022705078125 +151.095387083973 2392.279052734375 +151.109293023596 2750.114746093750 +155.069699172730 1332.009765625000 +155.972973853574 3810.662841796875 +158.152617650358 10434.000000000000 +159.154821868580 1369.000000000000 +161.095811541558 1615.000000000000 +170.094786893830 2397.479492187500 +170.116223095026 1563.129394531250 +173.079809386205 6290.747070312500 +178.157999558146 1344.694458007812 +179.105474980732 1898.194946289062 +182.961052201833 2004.073364257812 +186.220351226598 1623.000000000000 +193.157127136625 1493.409179687500 +194.115785614334 2955.000000000000 +195.120763129781 1823.166137695312 +198.184413101409 2214.000000000000 +201.984090601891 2436.000000000000 +217.007207589124 6332.419433593750 +217.105727151964 16770.736328125000 +218.108791440056 2512.000000000000 +234.033555067529 7474.000000000000 +239.087847702990 2936.000000000000 +242.283076836300 1598.000000000000 +245.039110357630 1466.000000000000 +246.860750264023 2469.000000000000 +249.183092518468 1366.967651367188 +250.999128212314 2641.000000000000 +252.995944883436 1376.000000000000 +262.065576474895 11528.000000000000 +263.068397905954 1693.000000000000 +276.080823895982 18533.000000000000 +277.084470217057 2604.243652343750 +279.093578782719 2100.000000000000 +281.049703566301 1340.000000000000 +284.163284328388 2755.000000000000 +288.245192514905 2240.408203125000 +289.124028104405 571675.000000000000 +289.974079344843 2398.387451171875 +290.020293351816 2510.571777343750 +290.123004833560 37005.632812500000 +291.118405903154 172664.062500000000 +292.120440247980 30711.750000000000 +293.123309031099 2511.000000000000 +303.103999271490 1878.000000000000 +303.190085777343 1857.193237304688 +304.115683834546 552400.000000000000 +304.984847835069 1705.556396484375 +305.107785187759 57481.210937500000 +306.110327480189 29213.000000000000 +307.112384326980 4304.000000000000 +310.120384968947 4593.269531250000 +311.105475064582 1824.000000000000 +320.107323506761 2737.000000000000 +326.094810667410 41008.000000000000 +327.006437528123 3347.260986328125 +327.096455636030 6753.961425781250 +328.092188803708 2930.000000000000 +329.003747738298 3355.000000000000 +330.205009985617 6046.367675781250 +331.208059597585 1436.000000000000 +342.068061155461 2814.000000000000 +349.170060952900 13874.000000000000 +350.172621024257 2607.730712890625 +372.148688883306 1405.186401367188 +389.044748240917 7650.000000000000 +390.047497559210 1913.000000000000 +391.042419990568 2801.000000000000 +392.068522384462 2797.000000000000 +394.066194691334 1609.439208984375 +404.036647250000 3756.000000000000 +424.362220661973 1680.073608398438 +445.118239809427 2256.000000000000 +457.032674519482 1580.000000000000 +468.387534165811 1625.361328125000 +487.228056299732 1735.000000000000 +500.275588301319 14065.000000000000 +501.278629401665 3579.000000000000 +502.286881001175 2107.000000000000 +505.851399270242 2207.884277343750 +531.255889309595 1828.000000000000 +536.162574795725 4348.000000000000 +537.164900413678 2412.000000000000 +538.160905924694 1840.207275390625 +542.321702796647 4110.075683593750 +543.325936834084 1425.000000000000 +544.336609702317 2008.000000000000 +546.912855890436 1498.000000000000 +592.225267665071 7023.000000000000 +593.153130472392 2079.229736328125 +593.228621623492 2593.859863281250 +594.223736830213 3021.337890625000 +607.216353924445 19371.000000000000 +608.219876548020 6018.000000000000 +609.216035675932 2735.843994140625 +610.184990477000 2845.000000000000 +612.185596819648 1643.000000000000 +613.224838309655 6730.896972656250 +614.227226894726 2411.000000000000 +629.198664613593 14632.000000000000 +630.201165251457 4128.000000000000 +631.197724705928 2446.000000000000 +639.156464406238 1485.000000000000 +641.154235888014 1515.855590820312 +654.147541437576 1594.000000000000 +692.150340948486 1581.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=678 experiment=8 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=678 experiment=8_0 +##scan 143 +##specref ms_run[1]:sample=1 period=1 cycle=678 experiment=8 +293.059125762703 13.000000000000 +336.030023024875 13.000000000000 +>compound 1_0-678009--144--UNKNOWN +>parentmass 500.275588301319 +>charge 1 +>rt 448.957000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +500.275588301319 14065.000000000000 +501.278629401665 3579.000000000000 +>ms1peaks +52.005617027968 2841.486083984375 +53.013411271366 13567.883789062500 +54.009125331887 341665.812500000000 +55.005857415052 5900.790039062500 +55.011242701615 6013.953125000000 +55.054093292119 2035.055908203125 +55.933978586076 5672.338378906250 +56.049467099919 1695.441040039062 +56.941782308930 2173.337402343750 +59.049339198083 62878.703125000000 +60.044404001763 9862.614257812500 +61.039435521241 1719.998779296875 +63.997664239141 3450.597167968750 +64.005081384586 3958.136474609375 +68.011443914678 27040.419921875000 +68.993714467215 12520.464843750000 +69.007373071731 1388.107910156250 +69.044312866744 13073.230468750000 +72.936423004110 2084.000000000000 +73.063871079142 1705.000000000000 +76.485830845774 2577.000000000000 +79.020684296263 13782.132812500000 +80.048779775419 11186.997070312500 +81.936674853257 8327.656250000000 +82.996269546702 8040.201660156250 +89.506005127285 1468.281982421875 +90.489095167913 1675.000000000000 +95.951948147015 2520.515136718750 +97.967758472339 6678.626953125000 +102.090788355145 2027.477661132812 +113.962336972098 2071.000000000000 +114.090407289761 9387.833984375000 +118.085129231385 6116.000000000000 +122.095638138110 3776.030761718750 +122.962814871209 10117.168945312500 +123.090715093470 1657.501464843750 +136.020905158615 1394.424438476562 +140.067586645329 1617.045654296875 +141.112054526426 1383.640991210938 +141.935709702620 1911.949829101562 +141.957347460629 13581.779296875000 +147.090339739564 2374.998291015625 +149.022576244489 3994.022705078125 +151.095387083973 2392.279052734375 +151.109293023596 2750.114746093750 +155.069699172730 1332.009765625000 +155.972973853574 3810.662841796875 +158.152617650358 10434.000000000000 +159.154821868580 1369.000000000000 +161.095811541558 1615.000000000000 +170.094786893830 2397.479492187500 +170.116223095026 1563.129394531250 +173.079809386205 6290.747070312500 +178.157999558146 1344.694458007812 +179.105474980732 1898.194946289062 +182.961052201833 2004.073364257812 +186.220351226598 1623.000000000000 +193.157127136625 1493.409179687500 +194.115785614334 2955.000000000000 +195.120763129781 1823.166137695312 +198.184413101409 2214.000000000000 +201.984090601891 2436.000000000000 +217.007207589124 6332.419433593750 +217.105727151964 16770.736328125000 +218.108791440056 2512.000000000000 +234.033555067529 7474.000000000000 +239.087847702990 2936.000000000000 +242.283076836300 1598.000000000000 +245.039110357630 1466.000000000000 +246.860750264023 2469.000000000000 +249.183092518468 1366.967651367188 +250.999128212314 2641.000000000000 +252.995944883436 1376.000000000000 +262.065576474895 11528.000000000000 +263.068397905954 1693.000000000000 +276.080823895982 18533.000000000000 +277.084470217057 2604.243652343750 +279.093578782719 2100.000000000000 +281.049703566301 1340.000000000000 +284.163284328388 2755.000000000000 +288.245192514905 2240.408203125000 +289.124028104405 571675.000000000000 +289.974079344843 2398.387451171875 +290.020293351816 2510.571777343750 +290.123004833560 37005.632812500000 +291.118405903154 172664.062500000000 +292.120440247980 30711.750000000000 +293.123309031099 2511.000000000000 +303.103999271490 1878.000000000000 +303.190085777343 1857.193237304688 +304.115683834546 552400.000000000000 +304.984847835069 1705.556396484375 +305.107785187759 57481.210937500000 +306.110327480189 29213.000000000000 +307.112384326980 4304.000000000000 +310.120384968947 4593.269531250000 +311.105475064582 1824.000000000000 +320.107323506761 2737.000000000000 +326.094810667410 41008.000000000000 +327.006437528123 3347.260986328125 +327.096455636030 6753.961425781250 +328.092188803708 2930.000000000000 +329.003747738298 3355.000000000000 +330.205009985617 6046.367675781250 +331.208059597585 1436.000000000000 +342.068061155461 2814.000000000000 +349.170060952900 13874.000000000000 +350.172621024257 2607.730712890625 +372.148688883306 1405.186401367188 +389.044748240917 7650.000000000000 +390.047497559210 1913.000000000000 +391.042419990568 2801.000000000000 +392.068522384462 2797.000000000000 +394.066194691334 1609.439208984375 +404.036647250000 3756.000000000000 +424.362220661973 1680.073608398438 +445.118239809427 2256.000000000000 +457.032674519482 1580.000000000000 +468.387534165811 1625.361328125000 +487.228056299732 1735.000000000000 +500.275588301319 14065.000000000000 +501.278629401665 3579.000000000000 +502.286881001175 2107.000000000000 +505.851399270242 2207.884277343750 +531.255889309595 1828.000000000000 +536.162574795725 4348.000000000000 +537.164900413678 2412.000000000000 +538.160905924694 1840.207275390625 +542.321702796647 4110.075683593750 +543.325936834084 1425.000000000000 +544.336609702317 2008.000000000000 +546.912855890436 1498.000000000000 +592.225267665071 7023.000000000000 +593.153130472392 2079.229736328125 +593.228621623492 2593.859863281250 +594.223736830213 3021.337890625000 +607.216353924445 19371.000000000000 +608.219876548020 6018.000000000000 +609.216035675932 2735.843994140625 +610.184990477000 2845.000000000000 +612.185596819648 1643.000000000000 +613.224838309655 6730.896972656250 +614.227226894726 2411.000000000000 +629.198664613593 14632.000000000000 +630.201165251457 4128.000000000000 +631.197724705928 2446.000000000000 +639.156464406238 1485.000000000000 +641.154235888014 1515.855590820312 +654.147541437576 1594.000000000000 +692.150340948486 1581.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=678 experiment=9 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=678 experiment=9_0 +##scan 144 +##specref ms_run[1]:sample=1 period=1 cycle=678 experiment=9 +79.056384212954 45.000000000000 +81.069211264472 44.869815826416 +81.076571530558 45.000000000000 +91.057498053349 30.000000000000 +105.072419796595 45.000000000000 +107.085263633216 45.000000000000 +129.054801444946 30.000000000000 +129.066440679839 30.000000000000 +131.081144700445 45.000000000000 +131.093442147470 45.000000000000 +133.100101592679 30.000000000000 +143.082581139460 30.000000000000 +201.161969960646 45.000000000000 +267.209991546144 90.000000000000 +328.255727701500 60.000000000000 +359.257313473260 502.000000000000 +>compound 1_0-679002--146--UNKNOWN +>parentmass 359.254768414607 +>charge 1 +>rt 449.887000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1peaks +52.005301361246 2635.370605468750 +53.013407830788 14972.322265625000 +53.850215108883 1462.445190429688 +54.009291031996 338002.343750000000 +55.005715055501 5339.218261718750 +55.011197452783 5987.995117187500 +55.054283542890 2010.225585937500 +55.934105260881 5390.229003906250 +56.049496813396 1202.560913085938 +56.942045823261 2152.776367187500 +59.049421321471 48890.000000000000 +60.044303057183 9066.708007812500 +61.039172597031 2022.421997070312 +63.997299000407 3551.983154296875 +64.004823026729 4602.770019531250 +68.011419973746 27438.244140625000 +68.993453980072 11868.745117187500 +69.007541092297 1262.775512695312 +69.044528644052 13840.256835937500 +72.936548748232 2394.190429687500 +73.064192635706 2001.631225585938 +76.485968828895 1990.000000000000 +79.020673940612 14110.697265625000 +80.048733107804 11139.164062500000 +81.936957703768 7951.655273437500 +82.996258525347 7931.102050781250 +87.054069438849 1366.423706054688 +89.505817293813 1204.000000000000 +90.488742164793 1641.000000000000 +91.052764858515 1537.000000000000 +95.952050544998 2052.000000000000 +97.967665131144 6196.378906250000 +100.075095471512 1333.000000000000 +102.090316949580 2147.288330078125 +109.942412506017 1241.570068359375 +113.962458674848 2150.000000000000 +114.090679763433 10269.053710937500 +118.085140356246 6320.000000000000 +122.095172988930 3031.000000000000 +122.962786063022 9361.452148437500 +123.091201091683 1786.770996093750 +130.157517147424 1269.000000000000 +136.020464885105 1593.957397460938 +140.067387863518 1371.000000000000 +141.090084092559 1371.163940429688 +141.111625958412 1205.952270507812 +141.957344208167 14243.574218750000 +147.090120537191 3106.168212890625 +149.022266612100 4392.313964843750 +151.095065461641 2578.011718750000 +151.110461811602 2665.633789062500 +155.068829024235 1293.404052734375 +155.105603625514 1337.714843750000 +155.973029482816 4308.484375000000 +158.152826290915 10898.000000000000 +159.153571764499 1795.810424804688 +161.095373821916 1630.000000000000 +164.142318567662 1417.434692382812 +170.095313707982 2597.814941406250 +173.079939446366 6537.484863281250 +174.990091086945 1399.835693359375 +175.122326183025 1245.199340820312 +178.157497857370 1706.920166015625 +179.105070173912 1797.347778320312 +182.960213475136 2296.791748046875 +186.220324957036 1981.000000000000 +193.156503702470 1452.181030273438 +194.115624604541 2921.891113281250 +195.120937456382 1997.992919921875 +198.183848140452 1869.000000000000 +211.168101945574 1342.000000000000 +217.007432709798 2381.000000000000 +217.106110064748 19755.308593750000 +218.109094180053 2712.000000000000 +219.093473137464 1458.834228515625 +224.126621043557 1201.000000000000 +228.194389609794 1438.000000000000 +234.033283111319 2556.000000000000 +239.088619200185 3193.870361328125 +242.282596076115 1679.000000000000 +246.861483292156 3002.000000000000 +249.182593670922 1316.760498046875 +250.177639197715 1330.183593750000 +250.998765899209 2664.000000000000 +252.996823062001 1594.000000000000 +256.226468287941 1385.013427734375 +262.065106289011 4773.000000000000 +267.171205984646 1309.222412109375 +276.080725326928 7179.902832031250 +279.092257440619 2195.064453125000 +281.049894448697 1376.000000000000 +284.163353036362 2219.000000000000 +288.244513695094 1834.647216796875 +289.122939601486 479924.500000000000 +289.975858102028 1628.922973632812 +290.017073213232 1944.275634765625 +290.123276174305 45766.847656250000 +291.117781986290 152525.421875000000 +292.120054877663 26562.263671875000 +293.123552241730 2301.061279296875 +304.112901568851 200715.000000000000 +305.114305321306 29911.351562500000 +306.109716008443 11889.069335937500 +307.112175533629 1498.871093750000 +310.120039460115 2149.000000000000 +311.103750967643 1669.000000000000 +326.094169843769 20434.000000000000 +327.007171816990 2960.000000000000 +327.095583905555 3181.000000000000 +329.003320790834 3605.000000000000 +330.204958958646 4623.000000000000 +342.067821584495 1658.000000000000 +349.169582861039 6213.000000000000 +389.044583272152 6794.000000000000 +390.046858764703 1567.000000000000 +391.041761974480 2290.000000000000 +392.066883133660 3099.000000000000 +394.065312832328 2486.617431640625 +404.037150622340 1529.000000000000 +424.361136942239 1694.768188476562 +445.118020079459 2317.756103515625 +457.032355906111 1522.000000000000 +468.387588372118 1866.000000000000 +487.229205176248 1448.410644531250 +500.274794010574 12308.630859375000 +501.279022038205 3531.000000000000 +502.288756406048 1876.000000000000 +505.850709798444 1954.000000000000 +512.414703910442 1315.000000000000 +524.367767193391 1357.000000000000 +531.254607075587 1803.000000000000 +534.976359054533 1231.000000000000 +536.163271700398 4749.000000000000 +537.164413741742 2667.000000000000 +538.159786574791 1604.404663085938 +542.321491870211 6176.098632812500 +543.325733781487 1949.511596679688 +544.336050342091 2231.000000000000 +546.913662924833 1357.989746093750 +575.281457486142 1360.000000000000 +592.225182049818 2920.000000000000 +594.221446454610 1300.000000000000 +607.216533855689 3750.000000000000 +608.218684069541 1223.000000000000 +610.182588733515 2141.000000000000 +612.180853834742 1221.000000000000 +613.222615907063 1575.000000000000 +629.199036711105 2847.000000000000 +639.156476507882 1773.000000000000 +641.152138883811 2127.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=679 experiment=2 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=679 experiment=2_0 +##scan 146 +##specref ms_run[1]:sample=1 period=1 cycle=679 experiment=2 +145.098520654277 13.000000000000 +179.101415082787 13.000000000000 +213.029276173280 13.000000000000 +>compound 1_0-679003--147--UNKNOWN +>parentmass 394.065312832328 +>charge 1 +>rt 449.887000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +394.065312832328 2486.617431640625 +>ms1peaks +52.005301361246 2635.370605468750 +53.013407830788 14972.322265625000 +53.850215108883 1462.445190429688 +54.009291031996 338002.343750000000 +55.005715055501 5339.218261718750 +55.011197452783 5987.995117187500 +55.054283542890 2010.225585937500 +55.934105260881 5390.229003906250 +56.049496813396 1202.560913085938 +56.942045823261 2152.776367187500 +59.049421321471 48890.000000000000 +60.044303057183 9066.708007812500 +61.039172597031 2022.421997070312 +63.997299000407 3551.983154296875 +64.004823026729 4602.770019531250 +68.011419973746 27438.244140625000 +68.993453980072 11868.745117187500 +69.007541092297 1262.775512695312 +69.044528644052 13840.256835937500 +72.936548748232 2394.190429687500 +73.064192635706 2001.631225585938 +76.485968828895 1990.000000000000 +79.020673940612 14110.697265625000 +80.048733107804 11139.164062500000 +81.936957703768 7951.655273437500 +82.996258525347 7931.102050781250 +87.054069438849 1366.423706054688 +89.505817293813 1204.000000000000 +90.488742164793 1641.000000000000 +91.052764858515 1537.000000000000 +95.952050544998 2052.000000000000 +97.967665131144 6196.378906250000 +100.075095471512 1333.000000000000 +102.090316949580 2147.288330078125 +109.942412506017 1241.570068359375 +113.962458674848 2150.000000000000 +114.090679763433 10269.053710937500 +118.085140356246 6320.000000000000 +122.095172988930 3031.000000000000 +122.962786063022 9361.452148437500 +123.091201091683 1786.770996093750 +130.157517147424 1269.000000000000 +136.020464885105 1593.957397460938 +140.067387863518 1371.000000000000 +141.090084092559 1371.163940429688 +141.111625958412 1205.952270507812 +141.957344208167 14243.574218750000 +147.090120537191 3106.168212890625 +149.022266612100 4392.313964843750 +151.095065461641 2578.011718750000 +151.110461811602 2665.633789062500 +155.068829024235 1293.404052734375 +155.105603625514 1337.714843750000 +155.973029482816 4308.484375000000 +158.152826290915 10898.000000000000 +159.153571764499 1795.810424804688 +161.095373821916 1630.000000000000 +164.142318567662 1417.434692382812 +170.095313707982 2597.814941406250 +173.079939446366 6537.484863281250 +174.990091086945 1399.835693359375 +175.122326183025 1245.199340820312 +178.157497857370 1706.920166015625 +179.105070173912 1797.347778320312 +182.960213475136 2296.791748046875 +186.220324957036 1981.000000000000 +193.156503702470 1452.181030273438 +194.115624604541 2921.891113281250 +195.120937456382 1997.992919921875 +198.183848140452 1869.000000000000 +211.168101945574 1342.000000000000 +217.007432709798 2381.000000000000 +217.106110064748 19755.308593750000 +218.109094180053 2712.000000000000 +219.093473137464 1458.834228515625 +224.126621043557 1201.000000000000 +228.194389609794 1438.000000000000 +234.033283111319 2556.000000000000 +239.088619200185 3193.870361328125 +242.282596076115 1679.000000000000 +246.861483292156 3002.000000000000 +249.182593670922 1316.760498046875 +250.177639197715 1330.183593750000 +250.998765899209 2664.000000000000 +252.996823062001 1594.000000000000 +256.226468287941 1385.013427734375 +262.065106289011 4773.000000000000 +267.171205984646 1309.222412109375 +276.080725326928 7179.902832031250 +279.092257440619 2195.064453125000 +281.049894448697 1376.000000000000 +284.163353036362 2219.000000000000 +288.244513695094 1834.647216796875 +289.122939601486 479924.500000000000 +289.975858102028 1628.922973632812 +290.017073213232 1944.275634765625 +290.123276174305 45766.847656250000 +291.117781986290 152525.421875000000 +292.120054877663 26562.263671875000 +293.123552241730 2301.061279296875 +304.112901568851 200715.000000000000 +305.114305321306 29911.351562500000 +306.109716008443 11889.069335937500 +307.112175533629 1498.871093750000 +310.120039460115 2149.000000000000 +311.103750967643 1669.000000000000 +326.094169843769 20434.000000000000 +327.007171816990 2960.000000000000 +327.095583905555 3181.000000000000 +329.003320790834 3605.000000000000 +330.204958958646 4623.000000000000 +342.067821584495 1658.000000000000 +349.169582861039 6213.000000000000 +389.044583272152 6794.000000000000 +390.046858764703 1567.000000000000 +391.041761974480 2290.000000000000 +392.066883133660 3099.000000000000 +394.065312832328 2486.617431640625 +404.037150622340 1529.000000000000 +424.361136942239 1694.768188476562 +445.118020079459 2317.756103515625 +457.032355906111 1522.000000000000 +468.387588372118 1866.000000000000 +487.229205176248 1448.410644531250 +500.274794010574 12308.630859375000 +501.279022038205 3531.000000000000 +502.288756406048 1876.000000000000 +505.850709798444 1954.000000000000 +512.414703910442 1315.000000000000 +524.367767193391 1357.000000000000 +531.254607075587 1803.000000000000 +534.976359054533 1231.000000000000 +536.163271700398 4749.000000000000 +537.164413741742 2667.000000000000 +538.159786574791 1604.404663085938 +542.321491870211 6176.098632812500 +543.325733781487 1949.511596679688 +544.336050342091 2231.000000000000 +546.913662924833 1357.989746093750 +575.281457486142 1360.000000000000 +592.225182049818 2920.000000000000 +594.221446454610 1300.000000000000 +607.216533855689 3750.000000000000 +608.218684069541 1223.000000000000 +610.182588733515 2141.000000000000 +612.180853834742 1221.000000000000 +613.222615907063 1575.000000000000 +629.199036711105 2847.000000000000 +639.156476507882 1773.000000000000 +641.152138883811 2127.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=679 experiment=3 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=679 experiment=3_0 +##scan 147 +##specref ms_run[1]:sample=1 period=1 cycle=679 experiment=3 +116.060195383881 13.000000000000 +133.956781854337 13.000000000000 +254.956090804211 90.000000000000 +255.947187824541 90.000000000000 +271.001957700237 75.000000000000 +289.013361114643 30.000000000000 +296.996454597909 30.000000000000 +299.001872443292 45.000000000000 +299.024386003896 45.000000000000 +326.033051378114 105.000000000000 +352.041694893001 45.000000000000 +353.037471747100 75.000000000000 +>compound 1_0-679004--148--UNKNOWN +>parentmass 468.387588372118 +>charge 1 +>rt 449.887000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +468.387588372118 1866.000000000000 +>ms1peaks +52.005301361246 2635.370605468750 +53.013407830788 14972.322265625000 +53.850215108883 1462.445190429688 +54.009291031996 338002.343750000000 +55.005715055501 5339.218261718750 +55.011197452783 5987.995117187500 +55.054283542890 2010.225585937500 +55.934105260881 5390.229003906250 +56.049496813396 1202.560913085938 +56.942045823261 2152.776367187500 +59.049421321471 48890.000000000000 +60.044303057183 9066.708007812500 +61.039172597031 2022.421997070312 +63.997299000407 3551.983154296875 +64.004823026729 4602.770019531250 +68.011419973746 27438.244140625000 +68.993453980072 11868.745117187500 +69.007541092297 1262.775512695312 +69.044528644052 13840.256835937500 +72.936548748232 2394.190429687500 +73.064192635706 2001.631225585938 +76.485968828895 1990.000000000000 +79.020673940612 14110.697265625000 +80.048733107804 11139.164062500000 +81.936957703768 7951.655273437500 +82.996258525347 7931.102050781250 +87.054069438849 1366.423706054688 +89.505817293813 1204.000000000000 +90.488742164793 1641.000000000000 +91.052764858515 1537.000000000000 +95.952050544998 2052.000000000000 +97.967665131144 6196.378906250000 +100.075095471512 1333.000000000000 +102.090316949580 2147.288330078125 +109.942412506017 1241.570068359375 +113.962458674848 2150.000000000000 +114.090679763433 10269.053710937500 +118.085140356246 6320.000000000000 +122.095172988930 3031.000000000000 +122.962786063022 9361.452148437500 +123.091201091683 1786.770996093750 +130.157517147424 1269.000000000000 +136.020464885105 1593.957397460938 +140.067387863518 1371.000000000000 +141.090084092559 1371.163940429688 +141.111625958412 1205.952270507812 +141.957344208167 14243.574218750000 +147.090120537191 3106.168212890625 +149.022266612100 4392.313964843750 +151.095065461641 2578.011718750000 +151.110461811602 2665.633789062500 +155.068829024235 1293.404052734375 +155.105603625514 1337.714843750000 +155.973029482816 4308.484375000000 +158.152826290915 10898.000000000000 +159.153571764499 1795.810424804688 +161.095373821916 1630.000000000000 +164.142318567662 1417.434692382812 +170.095313707982 2597.814941406250 +173.079939446366 6537.484863281250 +174.990091086945 1399.835693359375 +175.122326183025 1245.199340820312 +178.157497857370 1706.920166015625 +179.105070173912 1797.347778320312 +182.960213475136 2296.791748046875 +186.220324957036 1981.000000000000 +193.156503702470 1452.181030273438 +194.115624604541 2921.891113281250 +195.120937456382 1997.992919921875 +198.183848140452 1869.000000000000 +211.168101945574 1342.000000000000 +217.007432709798 2381.000000000000 +217.106110064748 19755.308593750000 +218.109094180053 2712.000000000000 +219.093473137464 1458.834228515625 +224.126621043557 1201.000000000000 +228.194389609794 1438.000000000000 +234.033283111319 2556.000000000000 +239.088619200185 3193.870361328125 +242.282596076115 1679.000000000000 +246.861483292156 3002.000000000000 +249.182593670922 1316.760498046875 +250.177639197715 1330.183593750000 +250.998765899209 2664.000000000000 +252.996823062001 1594.000000000000 +256.226468287941 1385.013427734375 +262.065106289011 4773.000000000000 +267.171205984646 1309.222412109375 +276.080725326928 7179.902832031250 +279.092257440619 2195.064453125000 +281.049894448697 1376.000000000000 +284.163353036362 2219.000000000000 +288.244513695094 1834.647216796875 +289.122939601486 479924.500000000000 +289.975858102028 1628.922973632812 +290.017073213232 1944.275634765625 +290.123276174305 45766.847656250000 +291.117781986290 152525.421875000000 +292.120054877663 26562.263671875000 +293.123552241730 2301.061279296875 +304.112901568851 200715.000000000000 +305.114305321306 29911.351562500000 +306.109716008443 11889.069335937500 +307.112175533629 1498.871093750000 +310.120039460115 2149.000000000000 +311.103750967643 1669.000000000000 +326.094169843769 20434.000000000000 +327.007171816990 2960.000000000000 +327.095583905555 3181.000000000000 +329.003320790834 3605.000000000000 +330.204958958646 4623.000000000000 +342.067821584495 1658.000000000000 +349.169582861039 6213.000000000000 +389.044583272152 6794.000000000000 +390.046858764703 1567.000000000000 +391.041761974480 2290.000000000000 +392.066883133660 3099.000000000000 +394.065312832328 2486.617431640625 +404.037150622340 1529.000000000000 +424.361136942239 1694.768188476562 +445.118020079459 2317.756103515625 +457.032355906111 1522.000000000000 +468.387588372118 1866.000000000000 +487.229205176248 1448.410644531250 +500.274794010574 12308.630859375000 +501.279022038205 3531.000000000000 +502.288756406048 1876.000000000000 +505.850709798444 1954.000000000000 +512.414703910442 1315.000000000000 +524.367767193391 1357.000000000000 +531.254607075587 1803.000000000000 +534.976359054533 1231.000000000000 +536.163271700398 4749.000000000000 +537.164413741742 2667.000000000000 +538.159786574791 1604.404663085938 +542.321491870211 6176.098632812500 +543.325733781487 1949.511596679688 +544.336050342091 2231.000000000000 +546.913662924833 1357.989746093750 +575.281457486142 1360.000000000000 +592.225182049818 2920.000000000000 +594.221446454610 1300.000000000000 +607.216533855689 3750.000000000000 +608.218684069541 1223.000000000000 +610.182588733515 2141.000000000000 +612.180853834742 1221.000000000000 +613.222615907063 1575.000000000000 +629.199036711105 2847.000000000000 +639.156476507882 1773.000000000000 +641.152138883811 2127.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=679 experiment=4 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=679 experiment=4_0 +##scan 148 +##specref ms_run[1]:sample=1 period=1 cycle=679 experiment=4 +184.076906914627 45.000000000000 +233.039621516749 13.000000000000 +414.895128709882 13.000000000000 +468.230181004119 30.000000000000 +>compound 1_0-679005--149--UNKNOWN +>parentmass 487.229205176248 +>charge 1 +>rt 449.887000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +487.229205176248 1448.410644531250 +>ms1peaks +52.005301361246 2635.370605468750 +53.013407830788 14972.322265625000 +53.850215108883 1462.445190429688 +54.009291031996 338002.343750000000 +55.005715055501 5339.218261718750 +55.011197452783 5987.995117187500 +55.054283542890 2010.225585937500 +55.934105260881 5390.229003906250 +56.049496813396 1202.560913085938 +56.942045823261 2152.776367187500 +59.049421321471 48890.000000000000 +60.044303057183 9066.708007812500 +61.039172597031 2022.421997070312 +63.997299000407 3551.983154296875 +64.004823026729 4602.770019531250 +68.011419973746 27438.244140625000 +68.993453980072 11868.745117187500 +69.007541092297 1262.775512695312 +69.044528644052 13840.256835937500 +72.936548748232 2394.190429687500 +73.064192635706 2001.631225585938 +76.485968828895 1990.000000000000 +79.020673940612 14110.697265625000 +80.048733107804 11139.164062500000 +81.936957703768 7951.655273437500 +82.996258525347 7931.102050781250 +87.054069438849 1366.423706054688 +89.505817293813 1204.000000000000 +90.488742164793 1641.000000000000 +91.052764858515 1537.000000000000 +95.952050544998 2052.000000000000 +97.967665131144 6196.378906250000 +100.075095471512 1333.000000000000 +102.090316949580 2147.288330078125 +109.942412506017 1241.570068359375 +113.962458674848 2150.000000000000 +114.090679763433 10269.053710937500 +118.085140356246 6320.000000000000 +122.095172988930 3031.000000000000 +122.962786063022 9361.452148437500 +123.091201091683 1786.770996093750 +130.157517147424 1269.000000000000 +136.020464885105 1593.957397460938 +140.067387863518 1371.000000000000 +141.090084092559 1371.163940429688 +141.111625958412 1205.952270507812 +141.957344208167 14243.574218750000 +147.090120537191 3106.168212890625 +149.022266612100 4392.313964843750 +151.095065461641 2578.011718750000 +151.110461811602 2665.633789062500 +155.068829024235 1293.404052734375 +155.105603625514 1337.714843750000 +155.973029482816 4308.484375000000 +158.152826290915 10898.000000000000 +159.153571764499 1795.810424804688 +161.095373821916 1630.000000000000 +164.142318567662 1417.434692382812 +170.095313707982 2597.814941406250 +173.079939446366 6537.484863281250 +174.990091086945 1399.835693359375 +175.122326183025 1245.199340820312 +178.157497857370 1706.920166015625 +179.105070173912 1797.347778320312 +182.960213475136 2296.791748046875 +186.220324957036 1981.000000000000 +193.156503702470 1452.181030273438 +194.115624604541 2921.891113281250 +195.120937456382 1997.992919921875 +198.183848140452 1869.000000000000 +211.168101945574 1342.000000000000 +217.007432709798 2381.000000000000 +217.106110064748 19755.308593750000 +218.109094180053 2712.000000000000 +219.093473137464 1458.834228515625 +224.126621043557 1201.000000000000 +228.194389609794 1438.000000000000 +234.033283111319 2556.000000000000 +239.088619200185 3193.870361328125 +242.282596076115 1679.000000000000 +246.861483292156 3002.000000000000 +249.182593670922 1316.760498046875 +250.177639197715 1330.183593750000 +250.998765899209 2664.000000000000 +252.996823062001 1594.000000000000 +256.226468287941 1385.013427734375 +262.065106289011 4773.000000000000 +267.171205984646 1309.222412109375 +276.080725326928 7179.902832031250 +279.092257440619 2195.064453125000 +281.049894448697 1376.000000000000 +284.163353036362 2219.000000000000 +288.244513695094 1834.647216796875 +289.122939601486 479924.500000000000 +289.975858102028 1628.922973632812 +290.017073213232 1944.275634765625 +290.123276174305 45766.847656250000 +291.117781986290 152525.421875000000 +292.120054877663 26562.263671875000 +293.123552241730 2301.061279296875 +304.112901568851 200715.000000000000 +305.114305321306 29911.351562500000 +306.109716008443 11889.069335937500 +307.112175533629 1498.871093750000 +310.120039460115 2149.000000000000 +311.103750967643 1669.000000000000 +326.094169843769 20434.000000000000 +327.007171816990 2960.000000000000 +327.095583905555 3181.000000000000 +329.003320790834 3605.000000000000 +330.204958958646 4623.000000000000 +342.067821584495 1658.000000000000 +349.169582861039 6213.000000000000 +389.044583272152 6794.000000000000 +390.046858764703 1567.000000000000 +391.041761974480 2290.000000000000 +392.066883133660 3099.000000000000 +394.065312832328 2486.617431640625 +404.037150622340 1529.000000000000 +424.361136942239 1694.768188476562 +445.118020079459 2317.756103515625 +457.032355906111 1522.000000000000 +468.387588372118 1866.000000000000 +487.229205176248 1448.410644531250 +500.274794010574 12308.630859375000 +501.279022038205 3531.000000000000 +502.288756406048 1876.000000000000 +505.850709798444 1954.000000000000 +512.414703910442 1315.000000000000 +524.367767193391 1357.000000000000 +531.254607075587 1803.000000000000 +534.976359054533 1231.000000000000 +536.163271700398 4749.000000000000 +537.164413741742 2667.000000000000 +538.159786574791 1604.404663085938 +542.321491870211 6176.098632812500 +543.325733781487 1949.511596679688 +544.336050342091 2231.000000000000 +546.913662924833 1357.989746093750 +575.281457486142 1360.000000000000 +592.225182049818 2920.000000000000 +594.221446454610 1300.000000000000 +607.216533855689 3750.000000000000 +608.218684069541 1223.000000000000 +610.182588733515 2141.000000000000 +612.180853834742 1221.000000000000 +613.222615907063 1575.000000000000 +629.199036711105 2847.000000000000 +639.156476507882 1773.000000000000 +641.152138883811 2127.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=679 experiment=5 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=679 experiment=5_0 +##scan 149 +##specref ms_run[1]:sample=1 period=1 cycle=679 experiment=5 +487.224417696555 105.000000000000 +>compound 1_0-679006--150--UNKNOWN +>parentmass 534.976359054533 +>charge 1 +>rt 449.887000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +534.976359054533 1231.000000000000 +>ms1peaks +52.005301361246 2635.370605468750 +53.013407830788 14972.322265625000 +53.850215108883 1462.445190429688 +54.009291031996 338002.343750000000 +55.005715055501 5339.218261718750 +55.011197452783 5987.995117187500 +55.054283542890 2010.225585937500 +55.934105260881 5390.229003906250 +56.049496813396 1202.560913085938 +56.942045823261 2152.776367187500 +59.049421321471 48890.000000000000 +60.044303057183 9066.708007812500 +61.039172597031 2022.421997070312 +63.997299000407 3551.983154296875 +64.004823026729 4602.770019531250 +68.011419973746 27438.244140625000 +68.993453980072 11868.745117187500 +69.007541092297 1262.775512695312 +69.044528644052 13840.256835937500 +72.936548748232 2394.190429687500 +73.064192635706 2001.631225585938 +76.485968828895 1990.000000000000 +79.020673940612 14110.697265625000 +80.048733107804 11139.164062500000 +81.936957703768 7951.655273437500 +82.996258525347 7931.102050781250 +87.054069438849 1366.423706054688 +89.505817293813 1204.000000000000 +90.488742164793 1641.000000000000 +91.052764858515 1537.000000000000 +95.952050544998 2052.000000000000 +97.967665131144 6196.378906250000 +100.075095471512 1333.000000000000 +102.090316949580 2147.288330078125 +109.942412506017 1241.570068359375 +113.962458674848 2150.000000000000 +114.090679763433 10269.053710937500 +118.085140356246 6320.000000000000 +122.095172988930 3031.000000000000 +122.962786063022 9361.452148437500 +123.091201091683 1786.770996093750 +130.157517147424 1269.000000000000 +136.020464885105 1593.957397460938 +140.067387863518 1371.000000000000 +141.090084092559 1371.163940429688 +141.111625958412 1205.952270507812 +141.957344208167 14243.574218750000 +147.090120537191 3106.168212890625 +149.022266612100 4392.313964843750 +151.095065461641 2578.011718750000 +151.110461811602 2665.633789062500 +155.068829024235 1293.404052734375 +155.105603625514 1337.714843750000 +155.973029482816 4308.484375000000 +158.152826290915 10898.000000000000 +159.153571764499 1795.810424804688 +161.095373821916 1630.000000000000 +164.142318567662 1417.434692382812 +170.095313707982 2597.814941406250 +173.079939446366 6537.484863281250 +174.990091086945 1399.835693359375 +175.122326183025 1245.199340820312 +178.157497857370 1706.920166015625 +179.105070173912 1797.347778320312 +182.960213475136 2296.791748046875 +186.220324957036 1981.000000000000 +193.156503702470 1452.181030273438 +194.115624604541 2921.891113281250 +195.120937456382 1997.992919921875 +198.183848140452 1869.000000000000 +211.168101945574 1342.000000000000 +217.007432709798 2381.000000000000 +217.106110064748 19755.308593750000 +218.109094180053 2712.000000000000 +219.093473137464 1458.834228515625 +224.126621043557 1201.000000000000 +228.194389609794 1438.000000000000 +234.033283111319 2556.000000000000 +239.088619200185 3193.870361328125 +242.282596076115 1679.000000000000 +246.861483292156 3002.000000000000 +249.182593670922 1316.760498046875 +250.177639197715 1330.183593750000 +250.998765899209 2664.000000000000 +252.996823062001 1594.000000000000 +256.226468287941 1385.013427734375 +262.065106289011 4773.000000000000 +267.171205984646 1309.222412109375 +276.080725326928 7179.902832031250 +279.092257440619 2195.064453125000 +281.049894448697 1376.000000000000 +284.163353036362 2219.000000000000 +288.244513695094 1834.647216796875 +289.122939601486 479924.500000000000 +289.975858102028 1628.922973632812 +290.017073213232 1944.275634765625 +290.123276174305 45766.847656250000 +291.117781986290 152525.421875000000 +292.120054877663 26562.263671875000 +293.123552241730 2301.061279296875 +304.112901568851 200715.000000000000 +305.114305321306 29911.351562500000 +306.109716008443 11889.069335937500 +307.112175533629 1498.871093750000 +310.120039460115 2149.000000000000 +311.103750967643 1669.000000000000 +326.094169843769 20434.000000000000 +327.007171816990 2960.000000000000 +327.095583905555 3181.000000000000 +329.003320790834 3605.000000000000 +330.204958958646 4623.000000000000 +342.067821584495 1658.000000000000 +349.169582861039 6213.000000000000 +389.044583272152 6794.000000000000 +390.046858764703 1567.000000000000 +391.041761974480 2290.000000000000 +392.066883133660 3099.000000000000 +394.065312832328 2486.617431640625 +404.037150622340 1529.000000000000 +424.361136942239 1694.768188476562 +445.118020079459 2317.756103515625 +457.032355906111 1522.000000000000 +468.387588372118 1866.000000000000 +487.229205176248 1448.410644531250 +500.274794010574 12308.630859375000 +501.279022038205 3531.000000000000 +502.288756406048 1876.000000000000 +505.850709798444 1954.000000000000 +512.414703910442 1315.000000000000 +524.367767193391 1357.000000000000 +531.254607075587 1803.000000000000 +534.976359054533 1231.000000000000 +536.163271700398 4749.000000000000 +537.164413741742 2667.000000000000 +538.159786574791 1604.404663085938 +542.321491870211 6176.098632812500 +543.325733781487 1949.511596679688 +544.336050342091 2231.000000000000 +546.913662924833 1357.989746093750 +575.281457486142 1360.000000000000 +592.225182049818 2920.000000000000 +594.221446454610 1300.000000000000 +607.216533855689 3750.000000000000 +608.218684069541 1223.000000000000 +610.182588733515 2141.000000000000 +612.180853834742 1221.000000000000 +613.222615907063 1575.000000000000 +629.199036711105 2847.000000000000 +639.156476507882 1773.000000000000 +641.152138883811 2127.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=679 experiment=6 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=679 experiment=6_0 +##scan 150 +##specref ms_run[1]:sample=1 period=1 cycle=679 experiment=6 +349.144478065452 13.000000000000 +>compound 1_0-679007--151--UNKNOWN +>parentmass 543.325733781487 +>charge 1 +>rt 449.887000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +543.325733781487 1949.511596679688 +>ms1peaks +52.005301361246 2635.370605468750 +53.013407830788 14972.322265625000 +53.850215108883 1462.445190429688 +54.009291031996 338002.343750000000 +55.005715055501 5339.218261718750 +55.011197452783 5987.995117187500 +55.054283542890 2010.225585937500 +55.934105260881 5390.229003906250 +56.049496813396 1202.560913085938 +56.942045823261 2152.776367187500 +59.049421321471 48890.000000000000 +60.044303057183 9066.708007812500 +61.039172597031 2022.421997070312 +63.997299000407 3551.983154296875 +64.004823026729 4602.770019531250 +68.011419973746 27438.244140625000 +68.993453980072 11868.745117187500 +69.007541092297 1262.775512695312 +69.044528644052 13840.256835937500 +72.936548748232 2394.190429687500 +73.064192635706 2001.631225585938 +76.485968828895 1990.000000000000 +79.020673940612 14110.697265625000 +80.048733107804 11139.164062500000 +81.936957703768 7951.655273437500 +82.996258525347 7931.102050781250 +87.054069438849 1366.423706054688 +89.505817293813 1204.000000000000 +90.488742164793 1641.000000000000 +91.052764858515 1537.000000000000 +95.952050544998 2052.000000000000 +97.967665131144 6196.378906250000 +100.075095471512 1333.000000000000 +102.090316949580 2147.288330078125 +109.942412506017 1241.570068359375 +113.962458674848 2150.000000000000 +114.090679763433 10269.053710937500 +118.085140356246 6320.000000000000 +122.095172988930 3031.000000000000 +122.962786063022 9361.452148437500 +123.091201091683 1786.770996093750 +130.157517147424 1269.000000000000 +136.020464885105 1593.957397460938 +140.067387863518 1371.000000000000 +141.090084092559 1371.163940429688 +141.111625958412 1205.952270507812 +141.957344208167 14243.574218750000 +147.090120537191 3106.168212890625 +149.022266612100 4392.313964843750 +151.095065461641 2578.011718750000 +151.110461811602 2665.633789062500 +155.068829024235 1293.404052734375 +155.105603625514 1337.714843750000 +155.973029482816 4308.484375000000 +158.152826290915 10898.000000000000 +159.153571764499 1795.810424804688 +161.095373821916 1630.000000000000 +164.142318567662 1417.434692382812 +170.095313707982 2597.814941406250 +173.079939446366 6537.484863281250 +174.990091086945 1399.835693359375 +175.122326183025 1245.199340820312 +178.157497857370 1706.920166015625 +179.105070173912 1797.347778320312 +182.960213475136 2296.791748046875 +186.220324957036 1981.000000000000 +193.156503702470 1452.181030273438 +194.115624604541 2921.891113281250 +195.120937456382 1997.992919921875 +198.183848140452 1869.000000000000 +211.168101945574 1342.000000000000 +217.007432709798 2381.000000000000 +217.106110064748 19755.308593750000 +218.109094180053 2712.000000000000 +219.093473137464 1458.834228515625 +224.126621043557 1201.000000000000 +228.194389609794 1438.000000000000 +234.033283111319 2556.000000000000 +239.088619200185 3193.870361328125 +242.282596076115 1679.000000000000 +246.861483292156 3002.000000000000 +249.182593670922 1316.760498046875 +250.177639197715 1330.183593750000 +250.998765899209 2664.000000000000 +252.996823062001 1594.000000000000 +256.226468287941 1385.013427734375 +262.065106289011 4773.000000000000 +267.171205984646 1309.222412109375 +276.080725326928 7179.902832031250 +279.092257440619 2195.064453125000 +281.049894448697 1376.000000000000 +284.163353036362 2219.000000000000 +288.244513695094 1834.647216796875 +289.122939601486 479924.500000000000 +289.975858102028 1628.922973632812 +290.017073213232 1944.275634765625 +290.123276174305 45766.847656250000 +291.117781986290 152525.421875000000 +292.120054877663 26562.263671875000 +293.123552241730 2301.061279296875 +304.112901568851 200715.000000000000 +305.114305321306 29911.351562500000 +306.109716008443 11889.069335937500 +307.112175533629 1498.871093750000 +310.120039460115 2149.000000000000 +311.103750967643 1669.000000000000 +326.094169843769 20434.000000000000 +327.007171816990 2960.000000000000 +327.095583905555 3181.000000000000 +329.003320790834 3605.000000000000 +330.204958958646 4623.000000000000 +342.067821584495 1658.000000000000 +349.169582861039 6213.000000000000 +389.044583272152 6794.000000000000 +390.046858764703 1567.000000000000 +391.041761974480 2290.000000000000 +392.066883133660 3099.000000000000 +394.065312832328 2486.617431640625 +404.037150622340 1529.000000000000 +424.361136942239 1694.768188476562 +445.118020079459 2317.756103515625 +457.032355906111 1522.000000000000 +468.387588372118 1866.000000000000 +487.229205176248 1448.410644531250 +500.274794010574 12308.630859375000 +501.279022038205 3531.000000000000 +502.288756406048 1876.000000000000 +505.850709798444 1954.000000000000 +512.414703910442 1315.000000000000 +524.367767193391 1357.000000000000 +531.254607075587 1803.000000000000 +534.976359054533 1231.000000000000 +536.163271700398 4749.000000000000 +537.164413741742 2667.000000000000 +538.159786574791 1604.404663085938 +542.321491870211 6176.098632812500 +543.325733781487 1949.511596679688 +544.336050342091 2231.000000000000 +546.913662924833 1357.989746093750 +575.281457486142 1360.000000000000 +592.225182049818 2920.000000000000 +594.221446454610 1300.000000000000 +607.216533855689 3750.000000000000 +608.218684069541 1223.000000000000 +610.182588733515 2141.000000000000 +612.180853834742 1221.000000000000 +613.222615907063 1575.000000000000 +629.199036711105 2847.000000000000 +639.156476507882 1773.000000000000 +641.152138883811 2127.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=679 experiment=7 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=679 experiment=7_0 +##scan 151 +##specref ms_run[1]:sample=1 period=1 cycle=679 experiment=7 +184.070268175769 195.000000000000 +185.083517560082 45.000000000000 +>compound 1_0-679008--152--UNKNOWN +>parentmass 575.281457486142 +>charge 1 +>rt 449.887000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +575.281457486142 1360.000000000000 +>ms1peaks +52.005301361246 2635.370605468750 +53.013407830788 14972.322265625000 +53.850215108883 1462.445190429688 +54.009291031996 338002.343750000000 +55.005715055501 5339.218261718750 +55.011197452783 5987.995117187500 +55.054283542890 2010.225585937500 +55.934105260881 5390.229003906250 +56.049496813396 1202.560913085938 +56.942045823261 2152.776367187500 +59.049421321471 48890.000000000000 +60.044303057183 9066.708007812500 +61.039172597031 2022.421997070312 +63.997299000407 3551.983154296875 +64.004823026729 4602.770019531250 +68.011419973746 27438.244140625000 +68.993453980072 11868.745117187500 +69.007541092297 1262.775512695312 +69.044528644052 13840.256835937500 +72.936548748232 2394.190429687500 +73.064192635706 2001.631225585938 +76.485968828895 1990.000000000000 +79.020673940612 14110.697265625000 +80.048733107804 11139.164062500000 +81.936957703768 7951.655273437500 +82.996258525347 7931.102050781250 +87.054069438849 1366.423706054688 +89.505817293813 1204.000000000000 +90.488742164793 1641.000000000000 +91.052764858515 1537.000000000000 +95.952050544998 2052.000000000000 +97.967665131144 6196.378906250000 +100.075095471512 1333.000000000000 +102.090316949580 2147.288330078125 +109.942412506017 1241.570068359375 +113.962458674848 2150.000000000000 +114.090679763433 10269.053710937500 +118.085140356246 6320.000000000000 +122.095172988930 3031.000000000000 +122.962786063022 9361.452148437500 +123.091201091683 1786.770996093750 +130.157517147424 1269.000000000000 +136.020464885105 1593.957397460938 +140.067387863518 1371.000000000000 +141.090084092559 1371.163940429688 +141.111625958412 1205.952270507812 +141.957344208167 14243.574218750000 +147.090120537191 3106.168212890625 +149.022266612100 4392.313964843750 +151.095065461641 2578.011718750000 +151.110461811602 2665.633789062500 +155.068829024235 1293.404052734375 +155.105603625514 1337.714843750000 +155.973029482816 4308.484375000000 +158.152826290915 10898.000000000000 +159.153571764499 1795.810424804688 +161.095373821916 1630.000000000000 +164.142318567662 1417.434692382812 +170.095313707982 2597.814941406250 +173.079939446366 6537.484863281250 +174.990091086945 1399.835693359375 +175.122326183025 1245.199340820312 +178.157497857370 1706.920166015625 +179.105070173912 1797.347778320312 +182.960213475136 2296.791748046875 +186.220324957036 1981.000000000000 +193.156503702470 1452.181030273438 +194.115624604541 2921.891113281250 +195.120937456382 1997.992919921875 +198.183848140452 1869.000000000000 +211.168101945574 1342.000000000000 +217.007432709798 2381.000000000000 +217.106110064748 19755.308593750000 +218.109094180053 2712.000000000000 +219.093473137464 1458.834228515625 +224.126621043557 1201.000000000000 +228.194389609794 1438.000000000000 +234.033283111319 2556.000000000000 +239.088619200185 3193.870361328125 +242.282596076115 1679.000000000000 +246.861483292156 3002.000000000000 +249.182593670922 1316.760498046875 +250.177639197715 1330.183593750000 +250.998765899209 2664.000000000000 +252.996823062001 1594.000000000000 +256.226468287941 1385.013427734375 +262.065106289011 4773.000000000000 +267.171205984646 1309.222412109375 +276.080725326928 7179.902832031250 +279.092257440619 2195.064453125000 +281.049894448697 1376.000000000000 +284.163353036362 2219.000000000000 +288.244513695094 1834.647216796875 +289.122939601486 479924.500000000000 +289.975858102028 1628.922973632812 +290.017073213232 1944.275634765625 +290.123276174305 45766.847656250000 +291.117781986290 152525.421875000000 +292.120054877663 26562.263671875000 +293.123552241730 2301.061279296875 +304.112901568851 200715.000000000000 +305.114305321306 29911.351562500000 +306.109716008443 11889.069335937500 +307.112175533629 1498.871093750000 +310.120039460115 2149.000000000000 +311.103750967643 1669.000000000000 +326.094169843769 20434.000000000000 +327.007171816990 2960.000000000000 +327.095583905555 3181.000000000000 +329.003320790834 3605.000000000000 +330.204958958646 4623.000000000000 +342.067821584495 1658.000000000000 +349.169582861039 6213.000000000000 +389.044583272152 6794.000000000000 +390.046858764703 1567.000000000000 +391.041761974480 2290.000000000000 +392.066883133660 3099.000000000000 +394.065312832328 2486.617431640625 +404.037150622340 1529.000000000000 +424.361136942239 1694.768188476562 +445.118020079459 2317.756103515625 +457.032355906111 1522.000000000000 +468.387588372118 1866.000000000000 +487.229205176248 1448.410644531250 +500.274794010574 12308.630859375000 +501.279022038205 3531.000000000000 +502.288756406048 1876.000000000000 +505.850709798444 1954.000000000000 +512.414703910442 1315.000000000000 +524.367767193391 1357.000000000000 +531.254607075587 1803.000000000000 +534.976359054533 1231.000000000000 +536.163271700398 4749.000000000000 +537.164413741742 2667.000000000000 +538.159786574791 1604.404663085938 +542.321491870211 6176.098632812500 +543.325733781487 1949.511596679688 +544.336050342091 2231.000000000000 +546.913662924833 1357.989746093750 +575.281457486142 1360.000000000000 +592.225182049818 2920.000000000000 +594.221446454610 1300.000000000000 +607.216533855689 3750.000000000000 +608.218684069541 1223.000000000000 +610.182588733515 2141.000000000000 +612.180853834742 1221.000000000000 +613.222615907063 1575.000000000000 +629.199036711105 2847.000000000000 +639.156476507882 1773.000000000000 +641.152138883811 2127.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=679 experiment=8 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=679 experiment=8_0 +##scan 152 +##specref ms_run[1]:sample=1 period=1 cycle=679 experiment=8 +239.083070491028 30.000000000000 +455.335140007519 30.000000000000 +575.282586362447 345.000000000000 +>compound 1_0-679009--153--UNKNOWN +>parentmass 641.152138883811 +>charge 1 +>rt 449.887000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +641.152138883811 2127.000000000000 +>ms1peaks +52.005301361246 2635.370605468750 +53.013407830788 14972.322265625000 +53.850215108883 1462.445190429688 +54.009291031996 338002.343750000000 +55.005715055501 5339.218261718750 +55.011197452783 5987.995117187500 +55.054283542890 2010.225585937500 +55.934105260881 5390.229003906250 +56.049496813396 1202.560913085938 +56.942045823261 2152.776367187500 +59.049421321471 48890.000000000000 +60.044303057183 9066.708007812500 +61.039172597031 2022.421997070312 +63.997299000407 3551.983154296875 +64.004823026729 4602.770019531250 +68.011419973746 27438.244140625000 +68.993453980072 11868.745117187500 +69.007541092297 1262.775512695312 +69.044528644052 13840.256835937500 +72.936548748232 2394.190429687500 +73.064192635706 2001.631225585938 +76.485968828895 1990.000000000000 +79.020673940612 14110.697265625000 +80.048733107804 11139.164062500000 +81.936957703768 7951.655273437500 +82.996258525347 7931.102050781250 +87.054069438849 1366.423706054688 +89.505817293813 1204.000000000000 +90.488742164793 1641.000000000000 +91.052764858515 1537.000000000000 +95.952050544998 2052.000000000000 +97.967665131144 6196.378906250000 +100.075095471512 1333.000000000000 +102.090316949580 2147.288330078125 +109.942412506017 1241.570068359375 +113.962458674848 2150.000000000000 +114.090679763433 10269.053710937500 +118.085140356246 6320.000000000000 +122.095172988930 3031.000000000000 +122.962786063022 9361.452148437500 +123.091201091683 1786.770996093750 +130.157517147424 1269.000000000000 +136.020464885105 1593.957397460938 +140.067387863518 1371.000000000000 +141.090084092559 1371.163940429688 +141.111625958412 1205.952270507812 +141.957344208167 14243.574218750000 +147.090120537191 3106.168212890625 +149.022266612100 4392.313964843750 +151.095065461641 2578.011718750000 +151.110461811602 2665.633789062500 +155.068829024235 1293.404052734375 +155.105603625514 1337.714843750000 +155.973029482816 4308.484375000000 +158.152826290915 10898.000000000000 +159.153571764499 1795.810424804688 +161.095373821916 1630.000000000000 +164.142318567662 1417.434692382812 +170.095313707982 2597.814941406250 +173.079939446366 6537.484863281250 +174.990091086945 1399.835693359375 +175.122326183025 1245.199340820312 +178.157497857370 1706.920166015625 +179.105070173912 1797.347778320312 +182.960213475136 2296.791748046875 +186.220324957036 1981.000000000000 +193.156503702470 1452.181030273438 +194.115624604541 2921.891113281250 +195.120937456382 1997.992919921875 +198.183848140452 1869.000000000000 +211.168101945574 1342.000000000000 +217.007432709798 2381.000000000000 +217.106110064748 19755.308593750000 +218.109094180053 2712.000000000000 +219.093473137464 1458.834228515625 +224.126621043557 1201.000000000000 +228.194389609794 1438.000000000000 +234.033283111319 2556.000000000000 +239.088619200185 3193.870361328125 +242.282596076115 1679.000000000000 +246.861483292156 3002.000000000000 +249.182593670922 1316.760498046875 +250.177639197715 1330.183593750000 +250.998765899209 2664.000000000000 +252.996823062001 1594.000000000000 +256.226468287941 1385.013427734375 +262.065106289011 4773.000000000000 +267.171205984646 1309.222412109375 +276.080725326928 7179.902832031250 +279.092257440619 2195.064453125000 +281.049894448697 1376.000000000000 +284.163353036362 2219.000000000000 +288.244513695094 1834.647216796875 +289.122939601486 479924.500000000000 +289.975858102028 1628.922973632812 +290.017073213232 1944.275634765625 +290.123276174305 45766.847656250000 +291.117781986290 152525.421875000000 +292.120054877663 26562.263671875000 +293.123552241730 2301.061279296875 +304.112901568851 200715.000000000000 +305.114305321306 29911.351562500000 +306.109716008443 11889.069335937500 +307.112175533629 1498.871093750000 +310.120039460115 2149.000000000000 +311.103750967643 1669.000000000000 +326.094169843769 20434.000000000000 +327.007171816990 2960.000000000000 +327.095583905555 3181.000000000000 +329.003320790834 3605.000000000000 +330.204958958646 4623.000000000000 +342.067821584495 1658.000000000000 +349.169582861039 6213.000000000000 +389.044583272152 6794.000000000000 +390.046858764703 1567.000000000000 +391.041761974480 2290.000000000000 +392.066883133660 3099.000000000000 +394.065312832328 2486.617431640625 +404.037150622340 1529.000000000000 +424.361136942239 1694.768188476562 +445.118020079459 2317.756103515625 +457.032355906111 1522.000000000000 +468.387588372118 1866.000000000000 +487.229205176248 1448.410644531250 +500.274794010574 12308.630859375000 +501.279022038205 3531.000000000000 +502.288756406048 1876.000000000000 +505.850709798444 1954.000000000000 +512.414703910442 1315.000000000000 +524.367767193391 1357.000000000000 +531.254607075587 1803.000000000000 +534.976359054533 1231.000000000000 +536.163271700398 4749.000000000000 +537.164413741742 2667.000000000000 +538.159786574791 1604.404663085938 +542.321491870211 6176.098632812500 +543.325733781487 1949.511596679688 +544.336050342091 2231.000000000000 +546.913662924833 1357.989746093750 +575.281457486142 1360.000000000000 +592.225182049818 2920.000000000000 +594.221446454610 1300.000000000000 +607.216533855689 3750.000000000000 +608.218684069541 1223.000000000000 +610.182588733515 2141.000000000000 +612.180853834742 1221.000000000000 +613.222615907063 1575.000000000000 +629.199036711105 2847.000000000000 +639.156476507882 1773.000000000000 +641.152138883811 2127.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=679 experiment=9 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=679 experiment=9_0 +##scan 153 +##specref ms_run[1]:sample=1 period=1 cycle=679 experiment=9 +326.025296710547 60.000000000000 +351.048420104573 60.000000000000 +353.042458113329 135.000000000000 +474.145647953588 13.000000000000 +641.154719791115 45.000000000000 +>compound 1_0-680002--155--UNKNOWN +>parentmass 70.039562698972 +>charge 1 +>rt 450.814999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1peaks +52.005343564747 2661.994384765625 +53.013385125175 13271.507812500000 +53.850476967498 1391.920166015625 +54.009100654412 336005.156250000000 +55.005731289196 5775.847167968750 +55.011312107080 6044.358398437500 +55.054328507982 1920.091674804688 +55.933909666392 5898.825683593750 +56.049556631987 1419.000000000000 +56.941489725245 2394.984619140625 +59.049343420921 69920.835937500000 +60.044407763222 10317.866210937500 +61.039459442535 1645.560913085938 +63.997408055194 4258.890625000000 +64.004816592533 4527.390136718750 +67.028483313166 1085.000000000000 +68.011431981380 26702.117187500000 +68.993517556250 11320.847656250000 +69.014168867455 1091.297363281250 +69.044241878275 14334.098632812500 +72.936518534224 1784.664062500000 +73.064542084775 1636.212524414062 +76.486057227486 2235.464111328125 +79.020593310930 17590.511718750000 +80.048675997656 13065.814453125000 +81.936806997743 8098.744140625000 +82.996186531690 8579.843750000000 +87.043070285163 1068.481689453125 +87.054146967597 1262.379760742188 +89.069538788375 1356.442260742188 +89.506368403730 1765.000000000000 +90.489081741746 1672.000000000000 +91.053495454914 1548.000000000000 +95.952207148227 2359.649414062500 +97.967739534626 6871.617187500000 +100.074424792713 1463.000000000000 +102.090417341375 1517.395996093750 +109.942158661513 1256.000000000000 +113.962673574856 1988.294433593750 +114.090381645787 11498.413085937500 +118.084991596504 7311.000000000000 +122.095295366358 3519.000000000000 +122.962568712149 9692.000000000000 +123.090854218821 1817.844970703125 +123.961118556349 1143.000000000000 +136.020459883317 1422.713012695312 +136.111675090745 1306.000000000000 +137.962851424034 1160.000000000000 +139.962343084174 1079.833862304688 +140.066928170002 1363.000000000000 +141.089785101301 1515.815185546875 +141.112263072467 1402.321777343750 +141.935839027835 1884.932861328125 +141.957196037315 15336.314453125000 +147.090223429618 2297.098876953125 +149.022364859644 4947.895996093750 +151.095334226171 2449.284423828125 +151.109551635596 2919.347412109375 +155.069543464769 1524.504882812500 +155.105982980506 1687.000000000000 +155.972621742705 4647.000000000000 +158.152670317843 12537.919921875000 +159.150732443442 2962.000000000000 +161.095071402530 1762.990356445312 +164.142457635074 1561.928955078125 +170.095055896620 2704.063476562500 +171.145877120117 1246.000000000000 +172.132075856329 1289.691040039062 +173.079593490043 6801.288574218750 +174.990675268099 1136.000000000000 +175.123045251899 1394.596679687500 +177.053138216396 1277.000000000000 +178.156990095226 1461.000000000000 +179.105082983511 1886.788574218750 +182.960923653289 2040.026855468750 +186.220332610646 1406.000000000000 +193.157849697356 1169.022949218750 +194.115281193486 3640.000000000000 +195.101911655734 1770.580200195312 +195.122219721336 2625.970703125000 +198.184260313155 2242.000000000000 +200.198679324630 1158.380981445312 +211.167689803064 1093.994750976562 +217.106102779804 21964.261718750000 +218.109717435144 2751.219726562500 +219.094756854711 1506.893554687500 +224.127455651753 1061.469360351562 +228.194062498798 1693.103637695312 +235.167291100570 1199.896728515625 +239.088098653821 4183.000000000000 +242.283582691416 1478.000000000000 +246.860538550555 3263.000000000000 +249.183374931893 1424.000000000000 +250.177058000477 1490.000000000000 +250.999163484783 2803.000000000000 +251.163376540352 1367.417846679688 +251.183187413220 1515.000000000000 +252.996081437357 1498.000000000000 +256.226836691977 2242.078369140625 +256.261301535389 1326.279418945312 +262.064930515707 1750.000000000000 +267.169543919843 1563.000000000000 +276.080773947899 2264.603027343750 +278.208143222897 1557.222290039062 +279.092407319410 2151.000000000000 +281.050459536580 1222.000000000000 +284.164012963651 1922.000000000000 +289.121206195720 227966.000000000000 +290.123438751439 38350.582031250000 +291.117214157794 76482.507812500000 +292.120204740582 12884.308593750000 +293.123331190419 1491.413574218750 +304.112758387991 66333.000000000000 +305.114692894673 9639.000000000000 +306.110277044476 4361.000000000000 +326.094108050306 7034.000000000000 +327.007026021957 3504.377197265625 +327.090922829994 1574.622802734375 +329.003251049878 3305.000000000000 +330.205868219882 3984.000000000000 +331.000956507864 1088.576171875000 +349.170464446063 2371.000000000000 +366.261196142564 1090.655273437500 +389.044175418163 3746.000000000000 +391.042802108017 1165.000000000000 +392.067905559729 2123.000000000000 +394.065753943135 1252.000000000000 +424.361228950152 1194.000000000000 +445.117584642901 2089.000000000000 +468.386167615386 2180.103027343750 +500.275205713566 9309.000000000000 +501.277657457944 2986.000000000000 +502.287290971659 2055.253662109375 +505.851062311906 1548.579345703125 +512.413967864068 1969.366943359375 +524.370069343817 1509.000000000000 +531.255739661149 1484.000000000000 +536.162338344571 5245.000000000000 +537.164087511315 2877.000000000000 +538.161524728415 1849.000000000000 +542.320934745513 7801.200195312500 +543.325018703842 2527.732177734375 +544.335163270887 2212.000000000000 +546.913921381722 1063.000000000000 +559.342025247183 1157.000000000000 +575.281154328019 1369.000000000000 +610.180737563876 1876.000000000000 +611.182145256290 1119.000000000000 +612.179115465054 1060.000000000000 +641.152738698222 1359.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=680 experiment=2 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=680 experiment=2_0 +##scan 155 +##specref ms_run[1]:sample=1 period=1 cycle=680 experiment=2 +70.047616645459 16.000000000000 +237.866221910839 16.000000000000 +237.986731408413 16.000000000000 +238.122321458765 24.000000000000 +238.139468675394 24.000000000000 +238.308147509360 24.000000000000 +238.525735840204 24.000000000000 +238.770977540205 24.000000000000 +238.963683414947 16.000000000000 +239.757739745973 16.000000000000 +240.480739349585 24.000000000000 +240.708601302318 23.000000000000 +240.908196872337 23.000000000000 +241.316060124127 16.000000000000 +241.865642091809 16.000000000000 +242.331889659680 24.000000000000 +242.359098364531 24.000000000000 +242.647068856886 16.000000000000 +242.691132374152 16.000000000000 +242.716849665416 16.000000000000 +>compound 1_0-680003--156--UNKNOWN +>parentmass 256.226836691977 +>charge 1 +>rt 450.814999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +256.226836691977 2242.078369140625 +>ms1peaks +52.005343564747 2661.994384765625 +53.013385125175 13271.507812500000 +53.850476967498 1391.920166015625 +54.009100654412 336005.156250000000 +55.005731289196 5775.847167968750 +55.011312107080 6044.358398437500 +55.054328507982 1920.091674804688 +55.933909666392 5898.825683593750 +56.049556631987 1419.000000000000 +56.941489725245 2394.984619140625 +59.049343420921 69920.835937500000 +60.044407763222 10317.866210937500 +61.039459442535 1645.560913085938 +63.997408055194 4258.890625000000 +64.004816592533 4527.390136718750 +67.028483313166 1085.000000000000 +68.011431981380 26702.117187500000 +68.993517556250 11320.847656250000 +69.014168867455 1091.297363281250 +69.044241878275 14334.098632812500 +72.936518534224 1784.664062500000 +73.064542084775 1636.212524414062 +76.486057227486 2235.464111328125 +79.020593310930 17590.511718750000 +80.048675997656 13065.814453125000 +81.936806997743 8098.744140625000 +82.996186531690 8579.843750000000 +87.043070285163 1068.481689453125 +87.054146967597 1262.379760742188 +89.069538788375 1356.442260742188 +89.506368403730 1765.000000000000 +90.489081741746 1672.000000000000 +91.053495454914 1548.000000000000 +95.952207148227 2359.649414062500 +97.967739534626 6871.617187500000 +100.074424792713 1463.000000000000 +102.090417341375 1517.395996093750 +109.942158661513 1256.000000000000 +113.962673574856 1988.294433593750 +114.090381645787 11498.413085937500 +118.084991596504 7311.000000000000 +122.095295366358 3519.000000000000 +122.962568712149 9692.000000000000 +123.090854218821 1817.844970703125 +123.961118556349 1143.000000000000 +136.020459883317 1422.713012695312 +136.111675090745 1306.000000000000 +137.962851424034 1160.000000000000 +139.962343084174 1079.833862304688 +140.066928170002 1363.000000000000 +141.089785101301 1515.815185546875 +141.112263072467 1402.321777343750 +141.935839027835 1884.932861328125 +141.957196037315 15336.314453125000 +147.090223429618 2297.098876953125 +149.022364859644 4947.895996093750 +151.095334226171 2449.284423828125 +151.109551635596 2919.347412109375 +155.069543464769 1524.504882812500 +155.105982980506 1687.000000000000 +155.972621742705 4647.000000000000 +158.152670317843 12537.919921875000 +159.150732443442 2962.000000000000 +161.095071402530 1762.990356445312 +164.142457635074 1561.928955078125 +170.095055896620 2704.063476562500 +171.145877120117 1246.000000000000 +172.132075856329 1289.691040039062 +173.079593490043 6801.288574218750 +174.990675268099 1136.000000000000 +175.123045251899 1394.596679687500 +177.053138216396 1277.000000000000 +178.156990095226 1461.000000000000 +179.105082983511 1886.788574218750 +182.960923653289 2040.026855468750 +186.220332610646 1406.000000000000 +193.157849697356 1169.022949218750 +194.115281193486 3640.000000000000 +195.101911655734 1770.580200195312 +195.122219721336 2625.970703125000 +198.184260313155 2242.000000000000 +200.198679324630 1158.380981445312 +211.167689803064 1093.994750976562 +217.106102779804 21964.261718750000 +218.109717435144 2751.219726562500 +219.094756854711 1506.893554687500 +224.127455651753 1061.469360351562 +228.194062498798 1693.103637695312 +235.167291100570 1199.896728515625 +239.088098653821 4183.000000000000 +242.283582691416 1478.000000000000 +246.860538550555 3263.000000000000 +249.183374931893 1424.000000000000 +250.177058000477 1490.000000000000 +250.999163484783 2803.000000000000 +251.163376540352 1367.417846679688 +251.183187413220 1515.000000000000 +252.996081437357 1498.000000000000 +256.226836691977 2242.078369140625 +256.261301535389 1326.279418945312 +262.064930515707 1750.000000000000 +267.169543919843 1563.000000000000 +276.080773947899 2264.603027343750 +278.208143222897 1557.222290039062 +279.092407319410 2151.000000000000 +281.050459536580 1222.000000000000 +284.164012963651 1922.000000000000 +289.121206195720 227966.000000000000 +290.123438751439 38350.582031250000 +291.117214157794 76482.507812500000 +292.120204740582 12884.308593750000 +293.123331190419 1491.413574218750 +304.112758387991 66333.000000000000 +305.114692894673 9639.000000000000 +306.110277044476 4361.000000000000 +326.094108050306 7034.000000000000 +327.007026021957 3504.377197265625 +327.090922829994 1574.622802734375 +329.003251049878 3305.000000000000 +330.205868219882 3984.000000000000 +331.000956507864 1088.576171875000 +349.170464446063 2371.000000000000 +366.261196142564 1090.655273437500 +389.044175418163 3746.000000000000 +391.042802108017 1165.000000000000 +392.067905559729 2123.000000000000 +394.065753943135 1252.000000000000 +424.361228950152 1194.000000000000 +445.117584642901 2089.000000000000 +468.386167615386 2180.103027343750 +500.275205713566 9309.000000000000 +501.277657457944 2986.000000000000 +502.287290971659 2055.253662109375 +505.851062311906 1548.579345703125 +512.413967864068 1969.366943359375 +524.370069343817 1509.000000000000 +531.255739661149 1484.000000000000 +536.162338344571 5245.000000000000 +537.164087511315 2877.000000000000 +538.161524728415 1849.000000000000 +542.320934745513 7801.200195312500 +543.325018703842 2527.732177734375 +544.335163270887 2212.000000000000 +546.913921381722 1063.000000000000 +559.342025247183 1157.000000000000 +575.281154328019 1369.000000000000 +610.180737563876 1876.000000000000 +611.182145256290 1119.000000000000 +612.179115465054 1060.000000000000 +641.152738698222 1359.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=680 experiment=3 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=680 experiment=3_0 +##scan 156 +##specref ms_run[1]:sample=1 period=1 cycle=680 experiment=3 +67.055989773944 24.000000000000 +69.069524485774 16.000000000000 +69.072562393336 16.000000000000 +95.084028132183 24.000000000000 +109.099468825002 16.000000000000 +148.110132147443 54.000000000000 +224.053376131318 23.000000000000 +224.085799813996 48.467803955078 +>compound 1_0-680004--157--UNKNOWN +>parentmass 512.413967864068 +>charge 1 +>rt 450.814999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +512.413967864068 1969.366943359375 +>ms1peaks +52.005343564747 2661.994384765625 +53.013385125175 13271.507812500000 +53.850476967498 1391.920166015625 +54.009100654412 336005.156250000000 +55.005731289196 5775.847167968750 +55.011312107080 6044.358398437500 +55.054328507982 1920.091674804688 +55.933909666392 5898.825683593750 +56.049556631987 1419.000000000000 +56.941489725245 2394.984619140625 +59.049343420921 69920.835937500000 +60.044407763222 10317.866210937500 +61.039459442535 1645.560913085938 +63.997408055194 4258.890625000000 +64.004816592533 4527.390136718750 +67.028483313166 1085.000000000000 +68.011431981380 26702.117187500000 +68.993517556250 11320.847656250000 +69.014168867455 1091.297363281250 +69.044241878275 14334.098632812500 +72.936518534224 1784.664062500000 +73.064542084775 1636.212524414062 +76.486057227486 2235.464111328125 +79.020593310930 17590.511718750000 +80.048675997656 13065.814453125000 +81.936806997743 8098.744140625000 +82.996186531690 8579.843750000000 +87.043070285163 1068.481689453125 +87.054146967597 1262.379760742188 +89.069538788375 1356.442260742188 +89.506368403730 1765.000000000000 +90.489081741746 1672.000000000000 +91.053495454914 1548.000000000000 +95.952207148227 2359.649414062500 +97.967739534626 6871.617187500000 +100.074424792713 1463.000000000000 +102.090417341375 1517.395996093750 +109.942158661513 1256.000000000000 +113.962673574856 1988.294433593750 +114.090381645787 11498.413085937500 +118.084991596504 7311.000000000000 +122.095295366358 3519.000000000000 +122.962568712149 9692.000000000000 +123.090854218821 1817.844970703125 +123.961118556349 1143.000000000000 +136.020459883317 1422.713012695312 +136.111675090745 1306.000000000000 +137.962851424034 1160.000000000000 +139.962343084174 1079.833862304688 +140.066928170002 1363.000000000000 +141.089785101301 1515.815185546875 +141.112263072467 1402.321777343750 +141.935839027835 1884.932861328125 +141.957196037315 15336.314453125000 +147.090223429618 2297.098876953125 +149.022364859644 4947.895996093750 +151.095334226171 2449.284423828125 +151.109551635596 2919.347412109375 +155.069543464769 1524.504882812500 +155.105982980506 1687.000000000000 +155.972621742705 4647.000000000000 +158.152670317843 12537.919921875000 +159.150732443442 2962.000000000000 +161.095071402530 1762.990356445312 +164.142457635074 1561.928955078125 +170.095055896620 2704.063476562500 +171.145877120117 1246.000000000000 +172.132075856329 1289.691040039062 +173.079593490043 6801.288574218750 +174.990675268099 1136.000000000000 +175.123045251899 1394.596679687500 +177.053138216396 1277.000000000000 +178.156990095226 1461.000000000000 +179.105082983511 1886.788574218750 +182.960923653289 2040.026855468750 +186.220332610646 1406.000000000000 +193.157849697356 1169.022949218750 +194.115281193486 3640.000000000000 +195.101911655734 1770.580200195312 +195.122219721336 2625.970703125000 +198.184260313155 2242.000000000000 +200.198679324630 1158.380981445312 +211.167689803064 1093.994750976562 +217.106102779804 21964.261718750000 +218.109717435144 2751.219726562500 +219.094756854711 1506.893554687500 +224.127455651753 1061.469360351562 +228.194062498798 1693.103637695312 +235.167291100570 1199.896728515625 +239.088098653821 4183.000000000000 +242.283582691416 1478.000000000000 +246.860538550555 3263.000000000000 +249.183374931893 1424.000000000000 +250.177058000477 1490.000000000000 +250.999163484783 2803.000000000000 +251.163376540352 1367.417846679688 +251.183187413220 1515.000000000000 +252.996081437357 1498.000000000000 +256.226836691977 2242.078369140625 +256.261301535389 1326.279418945312 +262.064930515707 1750.000000000000 +267.169543919843 1563.000000000000 +276.080773947899 2264.603027343750 +278.208143222897 1557.222290039062 +279.092407319410 2151.000000000000 +281.050459536580 1222.000000000000 +284.164012963651 1922.000000000000 +289.121206195720 227966.000000000000 +290.123438751439 38350.582031250000 +291.117214157794 76482.507812500000 +292.120204740582 12884.308593750000 +293.123331190419 1491.413574218750 +304.112758387991 66333.000000000000 +305.114692894673 9639.000000000000 +306.110277044476 4361.000000000000 +326.094108050306 7034.000000000000 +327.007026021957 3504.377197265625 +327.090922829994 1574.622802734375 +329.003251049878 3305.000000000000 +330.205868219882 3984.000000000000 +331.000956507864 1088.576171875000 +349.170464446063 2371.000000000000 +366.261196142564 1090.655273437500 +389.044175418163 3746.000000000000 +391.042802108017 1165.000000000000 +392.067905559729 2123.000000000000 +394.065753943135 1252.000000000000 +424.361228950152 1194.000000000000 +445.117584642901 2089.000000000000 +468.386167615386 2180.103027343750 +500.275205713566 9309.000000000000 +501.277657457944 2986.000000000000 +502.287290971659 2055.253662109375 +505.851062311906 1548.579345703125 +512.413967864068 1969.366943359375 +524.370069343817 1509.000000000000 +531.255739661149 1484.000000000000 +536.162338344571 5245.000000000000 +537.164087511315 2877.000000000000 +538.161524728415 1849.000000000000 +542.320934745513 7801.200195312500 +543.325018703842 2527.732177734375 +544.335163270887 2212.000000000000 +546.913921381722 1063.000000000000 +559.342025247183 1157.000000000000 +575.281154328019 1369.000000000000 +610.180737563876 1876.000000000000 +611.182145256290 1119.000000000000 +612.179115465054 1060.000000000000 +641.152738698222 1359.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=680 experiment=4 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=680 experiment=4_0 +##scan 157 +##specref ms_run[1]:sample=1 period=1 cycle=680 experiment=4 +177.115656514289 6.000000000000 +385.299759729369 6.000000000000 +>compound 1_0-680005--158--UNKNOWN +>parentmass 542.320934745513 +>charge 1 +>rt 450.814999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +542.320934745513 7801.200195312500 +>ms1peaks +52.005343564747 2661.994384765625 +53.013385125175 13271.507812500000 +53.850476967498 1391.920166015625 +54.009100654412 336005.156250000000 +55.005731289196 5775.847167968750 +55.011312107080 6044.358398437500 +55.054328507982 1920.091674804688 +55.933909666392 5898.825683593750 +56.049556631987 1419.000000000000 +56.941489725245 2394.984619140625 +59.049343420921 69920.835937500000 +60.044407763222 10317.866210937500 +61.039459442535 1645.560913085938 +63.997408055194 4258.890625000000 +64.004816592533 4527.390136718750 +67.028483313166 1085.000000000000 +68.011431981380 26702.117187500000 +68.993517556250 11320.847656250000 +69.014168867455 1091.297363281250 +69.044241878275 14334.098632812500 +72.936518534224 1784.664062500000 +73.064542084775 1636.212524414062 +76.486057227486 2235.464111328125 +79.020593310930 17590.511718750000 +80.048675997656 13065.814453125000 +81.936806997743 8098.744140625000 +82.996186531690 8579.843750000000 +87.043070285163 1068.481689453125 +87.054146967597 1262.379760742188 +89.069538788375 1356.442260742188 +89.506368403730 1765.000000000000 +90.489081741746 1672.000000000000 +91.053495454914 1548.000000000000 +95.952207148227 2359.649414062500 +97.967739534626 6871.617187500000 +100.074424792713 1463.000000000000 +102.090417341375 1517.395996093750 +109.942158661513 1256.000000000000 +113.962673574856 1988.294433593750 +114.090381645787 11498.413085937500 +118.084991596504 7311.000000000000 +122.095295366358 3519.000000000000 +122.962568712149 9692.000000000000 +123.090854218821 1817.844970703125 +123.961118556349 1143.000000000000 +136.020459883317 1422.713012695312 +136.111675090745 1306.000000000000 +137.962851424034 1160.000000000000 +139.962343084174 1079.833862304688 +140.066928170002 1363.000000000000 +141.089785101301 1515.815185546875 +141.112263072467 1402.321777343750 +141.935839027835 1884.932861328125 +141.957196037315 15336.314453125000 +147.090223429618 2297.098876953125 +149.022364859644 4947.895996093750 +151.095334226171 2449.284423828125 +151.109551635596 2919.347412109375 +155.069543464769 1524.504882812500 +155.105982980506 1687.000000000000 +155.972621742705 4647.000000000000 +158.152670317843 12537.919921875000 +159.150732443442 2962.000000000000 +161.095071402530 1762.990356445312 +164.142457635074 1561.928955078125 +170.095055896620 2704.063476562500 +171.145877120117 1246.000000000000 +172.132075856329 1289.691040039062 +173.079593490043 6801.288574218750 +174.990675268099 1136.000000000000 +175.123045251899 1394.596679687500 +177.053138216396 1277.000000000000 +178.156990095226 1461.000000000000 +179.105082983511 1886.788574218750 +182.960923653289 2040.026855468750 +186.220332610646 1406.000000000000 +193.157849697356 1169.022949218750 +194.115281193486 3640.000000000000 +195.101911655734 1770.580200195312 +195.122219721336 2625.970703125000 +198.184260313155 2242.000000000000 +200.198679324630 1158.380981445312 +211.167689803064 1093.994750976562 +217.106102779804 21964.261718750000 +218.109717435144 2751.219726562500 +219.094756854711 1506.893554687500 +224.127455651753 1061.469360351562 +228.194062498798 1693.103637695312 +235.167291100570 1199.896728515625 +239.088098653821 4183.000000000000 +242.283582691416 1478.000000000000 +246.860538550555 3263.000000000000 +249.183374931893 1424.000000000000 +250.177058000477 1490.000000000000 +250.999163484783 2803.000000000000 +251.163376540352 1367.417846679688 +251.183187413220 1515.000000000000 +252.996081437357 1498.000000000000 +256.226836691977 2242.078369140625 +256.261301535389 1326.279418945312 +262.064930515707 1750.000000000000 +267.169543919843 1563.000000000000 +276.080773947899 2264.603027343750 +278.208143222897 1557.222290039062 +279.092407319410 2151.000000000000 +281.050459536580 1222.000000000000 +284.164012963651 1922.000000000000 +289.121206195720 227966.000000000000 +290.123438751439 38350.582031250000 +291.117214157794 76482.507812500000 +292.120204740582 12884.308593750000 +293.123331190419 1491.413574218750 +304.112758387991 66333.000000000000 +305.114692894673 9639.000000000000 +306.110277044476 4361.000000000000 +326.094108050306 7034.000000000000 +327.007026021957 3504.377197265625 +327.090922829994 1574.622802734375 +329.003251049878 3305.000000000000 +330.205868219882 3984.000000000000 +331.000956507864 1088.576171875000 +349.170464446063 2371.000000000000 +366.261196142564 1090.655273437500 +389.044175418163 3746.000000000000 +391.042802108017 1165.000000000000 +392.067905559729 2123.000000000000 +394.065753943135 1252.000000000000 +424.361228950152 1194.000000000000 +445.117584642901 2089.000000000000 +468.386167615386 2180.103027343750 +500.275205713566 9309.000000000000 +501.277657457944 2986.000000000000 +502.287290971659 2055.253662109375 +505.851062311906 1548.579345703125 +512.413967864068 1969.366943359375 +524.370069343817 1509.000000000000 +531.255739661149 1484.000000000000 +536.162338344571 5245.000000000000 +537.164087511315 2877.000000000000 +538.161524728415 1849.000000000000 +542.320934745513 7801.200195312500 +543.325018703842 2527.732177734375 +544.335163270887 2212.000000000000 +546.913921381722 1063.000000000000 +559.342025247183 1157.000000000000 +575.281154328019 1369.000000000000 +610.180737563876 1876.000000000000 +611.182145256290 1119.000000000000 +612.179115465054 1060.000000000000 +641.152738698222 1359.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=680 experiment=5 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=680 experiment=5_0 +##scan 158 +##specref ms_run[1]:sample=1 period=1 cycle=680 experiment=5 +124.999298416270 39.000000000000 +184.042838352712 23.539966583252 +184.072322556266 993.000000000000 +524.304028635380 16.000000000000 +542.317715236812 45.000000000000 +>compound 1_0-681002--160--UNKNOWN +>parentmass 518.322055303106 +>charge 1 +>rt 451.743000000000 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +518.322055303106 1082.000000000000 +>ms1peaks +52.005576429206 2853.014648437500 +53.013380062922 14075.734375000000 +53.850710432949 1391.374511718750 +54.009227328967 330212.500000000000 +55.006228537214 6441.640625000000 +55.011048140002 6499.890136718750 +55.054233906962 1856.235717773438 +55.934200644649 5552.520996093750 +56.942144972644 2049.958984375000 +59.049363348783 50683.523437500000 +60.044492678418 9306.683593750000 +61.039447755440 1805.350341796875 +63.997667023426 3825.146728515625 +64.004885487756 3981.375244140625 +68.011577339760 27294.117187500000 +68.993600191882 11188.708984375000 +69.009884783029 1113.458129882812 +69.033185573639 1286.520385742188 +69.044627222076 14280.912109375000 +72.044010219351 1281.779907226562 +72.936508268283 1945.000000000000 +73.064363416810 1904.847900390625 +76.485953156799 2117.004638671875 +79.020807857622 16263.730468750000 +80.048953598444 12888.979492187500 +81.936925216030 7662.147949218750 +82.996467308769 7703.216796875000 +87.043519689065 1530.706542968750 +87.054195502858 1518.154907226562 +89.070005900963 1091.785644531250 +89.506577556160 1323.000000000000 +90.488621903349 1340.406250000000 +91.053630060522 1293.000000000000 +95.952195670723 2102.000000000000 +97.967951235116 6497.000000000000 +100.075145899926 1396.000000000000 +102.090660991848 1629.000000000000 +109.942262730286 1360.000000000000 +113.962519480584 1974.000000000000 +114.090384125102 11848.033203125000 +118.085202977850 6280.114746093750 +122.095256536278 3698.000000000000 +122.963084126313 9551.000000000000 +123.091123208857 1703.146728515625 +129.051718426585 1005.000000000000 +130.158125900813 1511.000000000000 +136.020489893728 1778.000000000000 +136.111413979020 1238.000000000000 +137.962791553719 1192.000000000000 +139.962604505923 1030.000000000000 +140.067557676636 1189.000000000000 +141.089734039039 1316.911499023438 +141.112198852191 1558.557006835938 +141.957607958572 14082.356445312500 +142.958956933720 1117.000000000000 +147.090537422031 3201.958740234375 +149.022529303650 4644.175781250000 +151.096094515979 2949.302246093750 +151.110066550689 3522.460693359375 +153.126160067549 1074.000000000000 +155.069684972449 1690.000000000000 +155.105560651887 1383.562377929688 +155.973291494516 4089.000000000000 +158.095128814815 1165.998901367188 +158.153020247227 11949.726562500000 +159.150732943577 2886.000000000000 +159.968753987977 1042.000000000000 +161.094353577342 1778.060424804688 +163.130914598511 1233.635253906250 +164.142405630653 1251.216918945312 +170.095468709604 2754.746582031250 +171.146684895327 1462.609130859375 +172.132084016118 1041.175659179688 +173.079846806941 7331.000000000000 +174.127000134586 1064.623657226562 +174.990727286074 1392.614746093750 +175.121043158724 1245.644042968750 +177.053696443463 1211.069946289062 +178.158150828172 1730.000000000000 +179.106199967812 1930.000000000000 +182.960747319509 2163.126708984375 +186.220945764754 1700.000000000000 +194.115593326738 3525.000000000000 +195.122142493430 2723.962646484375 +198.184960303099 2278.000000000000 +200.200061505082 961.417602539062 +205.085522819518 964.000000000000 +211.108477577671 961.225463867188 +217.106378222468 24192.632812500000 +218.109446501397 2767.000000000000 +219.095224664154 1261.728027343750 +221.151817906056 1103.830322265625 +224.127752548423 1196.000000000000 +228.195181718002 1412.421875000000 +235.167696274773 1113.381958007812 +239.088087064319 4921.000000000000 +242.283750622928 1677.000000000000 +246.861424015648 3261.000000000000 +249.184851501803 1653.000000000000 +250.177784977897 1386.000000000000 +250.999715728808 2665.000000000000 +251.185166032673 1126.000000000000 +252.996390530032 1817.000000000000 +256.226014510365 2251.905517578125 +256.261286863166 1052.912719726562 +267.169952485687 1475.000000000000 +278.208825094190 1842.000000000000 +279.093855524120 2055.616699218750 +281.051501077891 1147.000000000000 +284.164451199371 1509.000000000000 +289.121703537817 77083.671875000000 +290.123981249754 13638.000000000000 +291.117677348848 28455.958984375000 +292.083797360052 3233.590820312500 +292.121120725437 5039.887695312500 +293.148526133674 1758.114868164062 +304.112886960222 24214.000000000000 +305.115919539365 3146.000000000000 +306.111478005267 1333.000000000000 +309.232383832205 1214.000000000000 +326.094711221209 2295.000000000000 +327.008055562071 3970.000000000000 +329.004811224427 3589.891357421875 +330.205672801721 2976.000000000000 +331.002287020591 1135.000000000000 +366.262965212394 972.072082519531 +367.248177507011 1085.000000000000 +371.315000382908 1229.000000000000 +389.044968829292 1283.000000000000 +430.887120059357 988.000000000000 +445.118959721494 2320.000000000000 +468.388365402503 1838.000000000000 +500.276551235455 6636.000000000000 +501.278450790753 2008.000000000000 +502.290181028980 1627.493652343750 +505.851549877935 1587.479125976562 +512.415591206300 2110.000000000000 +518.322055303106 1082.000000000000 +524.367964546690 1610.665283203125 +536.162837613935 4877.000000000000 +537.165078163092 2542.000000000000 +538.162032171901 1954.000000000000 +542.323132187101 8068.000000000000 +543.326179853984 2456.164550781250 +544.337204857267 2112.000000000000 +546.913446842504 1085.960937500000 +556.440343731206 997.000000000000 +575.283149889577 1038.000000000000 +610.181653764937 1916.000000000000 +611.182208922819 1018.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=681 experiment=2 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=681 experiment=2_0 +##scan 160 +##specref ms_run[1]:sample=1 period=1 cycle=681 experiment=2 +86.097217934661 4.000000000000 +110.098899692702 2.000000000000 +124.996206938038 4.000000000000 +125.006695681210 4.000000000000 +164.206284839889 2.000000000000 +184.072018067343 70.000000000000 +184.850168178446 2.000000000000 +186.875681075611 2.000000000000 +281.047988240446 10.000000000000 +288.907661123765 4.000000000000 +288.920814654975 4.000000000000 +313.822979467817 2.000000000000 +327.806632035600 2.000000000000 +372.882138395918 2.000000000000 +391.108583378890 2.000000000000 +395.132197029142 10.000000000000 +436.161731093603 10.000000000000 +466.787041318145 2.000000000000 +518.355369117857 12.000000000000 +518.404335283035 8.000000000000 +>compound 1_0-682002--162--UNKNOWN +>parentmass 159.151704211465 +>charge 1 +>rt 452.667000000000 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +159.151704211465 2641.084960937500 +>ms1peaks +52.005589764867 2294.063720703125 +53.013445055958 12597.693359375000 +53.850425319649 1340.454467773438 +54.009222871737 339238.562500000000 +55.005731854491 5294.396972656250 +55.011476278488 6250.596679687500 +55.054379017860 1761.070800781250 +55.934267785328 5352.454589843750 +56.941893960122 2242.341308593750 +59.049484585653 52072.828125000000 +60.044294021645 9938.447265625000 +61.039589277099 2273.430419921875 +63.997573159871 4196.579589843750 +64.005237146342 4320.143066406250 +68.011481724460 26730.150390625000 +68.993546142298 10693.709960937500 +69.007869969105 1192.218139648438 +69.013671104337 1098.155395507812 +69.044372395553 14513.338867187500 +72.936598767302 2099.222656250000 +73.064317157751 1612.868530273438 +76.485864352811 2012.000000000000 +79.020756544033 15401.780273437500 +80.048830810306 12086.630859375000 +81.936737807275 7099.281250000000 +82.996379943200 7332.096191406250 +87.043937378063 1284.087280273438 +87.054691364444 1735.449462890625 +89.506704481264 1363.000000000000 +90.488978556361 1527.000000000000 +91.052697348342 1240.000000000000 +95.952180950491 2313.000000000000 +97.954766102337 1345.658203125000 +97.968168531205 6228.090820312500 +100.074623976155 1083.000000000000 +102.090792000469 1723.000000000000 +109.942217651910 1239.000000000000 +113.962972305211 1857.000000000000 +114.090655304988 11653.611328125000 +118.085028075816 6825.976562500000 +122.095330108551 3707.768310546875 +122.962730068033 9873.996093750000 +123.090992739460 1713.000000000000 +123.961301473066 1043.788330078125 +130.157775632365 1202.000000000000 +136.020931202558 1751.000000000000 +136.111249167538 1420.000000000000 +139.963101043342 1112.164794921875 +140.067069787693 1037.000000000000 +141.089892790143 1667.429199218750 +141.111191146003 1364.941406250000 +141.957452440810 15194.245117187500 +142.959210742743 1028.000000000000 +147.090437233968 2799.000000000000 +149.022167561345 4504.397949218750 +149.042732259286 1257.066284179688 +151.095707544593 2676.601318359375 +151.109931871901 2734.434814453125 +153.126931456222 1114.000000000000 +155.069323046609 1758.931274414062 +155.105812248814 1927.436035156250 +155.973694100858 4459.000000000000 +158.153189714534 11874.000000000000 +159.151704211465 2641.084960937500 +159.968387162402 1295.000000000000 +161.095793670235 1895.903320312500 +163.131410791805 1005.978149414062 +164.142255211263 1591.111206054688 +170.095523278980 2774.611572265625 +171.146216027920 1262.000000000000 +172.132900003481 1052.518554687500 +173.080096538435 7436.877929687500 +174.990530030646 1487.000000000000 +175.118390474848 1308.603881835938 +177.054006503523 1284.000000000000 +178.135931142129 1039.362915039062 +178.157412463421 1487.105957031250 +179.105395614597 1888.000000000000 +182.960780820378 2091.357421875000 +182.981256310748 1532.590698242188 +183.098292655109 1039.880004882812 +186.183974954504 1329.000000000000 +186.220644650150 1722.000000000000 +193.156717557870 1169.000000000000 +194.115722573230 3806.000000000000 +195.120778552538 2502.656494140625 +198.184244308753 2348.000000000000 +200.200425972196 1333.000000000000 +217.106406482092 25411.171875000000 +218.109613605337 3087.000000000000 +219.095178232219 1538.764648437500 +224.126545049974 1050.020874023438 +228.196367848999 1616.349121093750 +235.167380487027 1059.150878906250 +239.088546688063 4987.301269531250 +242.283835650883 1454.000000000000 +246.861896170149 3093.000000000000 +249.183716487324 1784.804565429688 +250.177588579370 1574.000000000000 +250.999577375738 2608.599853515625 +251.182995871213 1367.000000000000 +252.997167162173 1649.000000000000 +256.226821306475 2881.139892578125 +256.261446512021 2000.881713867188 +267.170373189617 1392.000000000000 +278.208459274448 1833.000000000000 +279.094351291055 2304.495361328125 +281.050439796354 1439.000000000000 +284.163848757263 1161.000000000000 +289.121050841171 27007.203125000000 +290.124235475954 4648.000000000000 +291.083596057139 7334.543945312500 +291.117907792554 9833.311523437500 +292.120773411831 2090.552246093750 +293.150701487073 1637.447631835938 +304.112931726935 11920.000000000000 +305.115452640037 2211.000000000000 +309.236161920162 1307.848876953125 +326.094660184282 1216.000000000000 +327.007805441544 3647.000000000000 +329.004767001635 4060.000000000000 +330.205647137349 3003.000000000000 +331.001649685159 998.000000000000 +366.263546636202 1082.000000000000 +367.246996337816 1487.260375976562 +430.887335006560 982.000000000000 +445.118172390324 2169.000000000000 +446.119320228071 1009.322937011719 +468.387685434732 1524.000000000000 +500.275268715638 4948.336914062500 +501.278374861979 1438.000000000000 +502.290164633684 1631.000000000000 +505.851046230680 1720.000000000000 +512.344397174232 1069.467651367188 +512.414484404275 2483.054443359375 +519.138249644308 990.000000000000 +520.337150342418 1220.000000000000 +524.370135972210 1635.000000000000 +536.163584977615 5205.000000000000 +537.164871551777 2866.000000000000 +538.162040361972 1820.000000000000 +542.322114113497 7889.408691406250 +543.325813515830 2782.664062500000 +544.337159119688 2752.000000000000 +546.915148271326 1119.000000000000 +556.440204658126 1446.868652343750 +559.347381876279 1174.000000000000 +575.283778976507 1152.000000000000 +610.183851092976 2209.000000000000 +611.184376861119 1181.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=682 experiment=2 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=682 experiment=2_0 +##scan 162 +##specref ms_run[1]:sample=1 period=1 cycle=682 experiment=2 +55.934006390929 70.000000000000 +56.942660933846 76.000000000000 +57.070990272584 16.000000000000 +58.888601031297 6.000000000000 +62.929769170920 6.000000000000 +71.928762838693 16.000000000000 +72.048343020825 6.000000000000 +72.937353588772 77.000000000000 +97.968088480508 24.000000000000 +100.932004127960 16.000000000000 +103.093397869431 6.000000000000 +115.976310468923 16.000000000000 +>compound 1_0-682003--163--UNKNOWN +>parentmass 221.187757714400 +>charge 1 +>rt 452.667000000000 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1peaks +52.005589764867 2294.063720703125 +53.013445055958 12597.693359375000 +53.850425319649 1340.454467773438 +54.009222871737 339238.562500000000 +55.005731854491 5294.396972656250 +55.011476278488 6250.596679687500 +55.054379017860 1761.070800781250 +55.934267785328 5352.454589843750 +56.941893960122 2242.341308593750 +59.049484585653 52072.828125000000 +60.044294021645 9938.447265625000 +61.039589277099 2273.430419921875 +63.997573159871 4196.579589843750 +64.005237146342 4320.143066406250 +68.011481724460 26730.150390625000 +68.993546142298 10693.709960937500 +69.007869969105 1192.218139648438 +69.013671104337 1098.155395507812 +69.044372395553 14513.338867187500 +72.936598767302 2099.222656250000 +73.064317157751 1612.868530273438 +76.485864352811 2012.000000000000 +79.020756544033 15401.780273437500 +80.048830810306 12086.630859375000 +81.936737807275 7099.281250000000 +82.996379943200 7332.096191406250 +87.043937378063 1284.087280273438 +87.054691364444 1735.449462890625 +89.506704481264 1363.000000000000 +90.488978556361 1527.000000000000 +91.052697348342 1240.000000000000 +95.952180950491 2313.000000000000 +97.954766102337 1345.658203125000 +97.968168531205 6228.090820312500 +100.074623976155 1083.000000000000 +102.090792000469 1723.000000000000 +109.942217651910 1239.000000000000 +113.962972305211 1857.000000000000 +114.090655304988 11653.611328125000 +118.085028075816 6825.976562500000 +122.095330108551 3707.768310546875 +122.962730068033 9873.996093750000 +123.090992739460 1713.000000000000 +123.961301473066 1043.788330078125 +130.157775632365 1202.000000000000 +136.020931202558 1751.000000000000 +136.111249167538 1420.000000000000 +139.963101043342 1112.164794921875 +140.067069787693 1037.000000000000 +141.089892790143 1667.429199218750 +141.111191146003 1364.941406250000 +141.957452440810 15194.245117187500 +142.959210742743 1028.000000000000 +147.090437233968 2799.000000000000 +149.022167561345 4504.397949218750 +149.042732259286 1257.066284179688 +151.095707544593 2676.601318359375 +151.109931871901 2734.434814453125 +153.126931456222 1114.000000000000 +155.069323046609 1758.931274414062 +155.105812248814 1927.436035156250 +155.973694100858 4459.000000000000 +158.153189714534 11874.000000000000 +159.151704211465 2641.084960937500 +159.968387162402 1295.000000000000 +161.095793670235 1895.903320312500 +163.131410791805 1005.978149414062 +164.142255211263 1591.111206054688 +170.095523278980 2774.611572265625 +171.146216027920 1262.000000000000 +172.132900003481 1052.518554687500 +173.080096538435 7436.877929687500 +174.990530030646 1487.000000000000 +175.118390474848 1308.603881835938 +177.054006503523 1284.000000000000 +178.135931142129 1039.362915039062 +178.157412463421 1487.105957031250 +179.105395614597 1888.000000000000 +182.960780820378 2091.357421875000 +182.981256310748 1532.590698242188 +183.098292655109 1039.880004882812 +186.183974954504 1329.000000000000 +186.220644650150 1722.000000000000 +193.156717557870 1169.000000000000 +194.115722573230 3806.000000000000 +195.120778552538 2502.656494140625 +198.184244308753 2348.000000000000 +200.200425972196 1333.000000000000 +217.106406482092 25411.171875000000 +218.109613605337 3087.000000000000 +219.095178232219 1538.764648437500 +224.126545049974 1050.020874023438 +228.196367848999 1616.349121093750 +235.167380487027 1059.150878906250 +239.088546688063 4987.301269531250 +242.283835650883 1454.000000000000 +246.861896170149 3093.000000000000 +249.183716487324 1784.804565429688 +250.177588579370 1574.000000000000 +250.999577375738 2608.599853515625 +251.182995871213 1367.000000000000 +252.997167162173 1649.000000000000 +256.226821306475 2881.139892578125 +256.261446512021 2000.881713867188 +267.170373189617 1392.000000000000 +278.208459274448 1833.000000000000 +279.094351291055 2304.495361328125 +281.050439796354 1439.000000000000 +284.163848757263 1161.000000000000 +289.121050841171 27007.203125000000 +290.124235475954 4648.000000000000 +291.083596057139 7334.543945312500 +291.117907792554 9833.311523437500 +292.120773411831 2090.552246093750 +293.150701487073 1637.447631835938 +304.112931726935 11920.000000000000 +305.115452640037 2211.000000000000 +309.236161920162 1307.848876953125 +326.094660184282 1216.000000000000 +327.007805441544 3647.000000000000 +329.004767001635 4060.000000000000 +330.205647137349 3003.000000000000 +331.001649685159 998.000000000000 +366.263546636202 1082.000000000000 +367.246996337816 1487.260375976562 +430.887335006560 982.000000000000 +445.118172390324 2169.000000000000 +446.119320228071 1009.322937011719 +468.387685434732 1524.000000000000 +500.275268715638 4948.336914062500 +501.278374861979 1438.000000000000 +502.290164633684 1631.000000000000 +505.851046230680 1720.000000000000 +512.344397174232 1069.467651367188 +512.414484404275 2483.054443359375 +519.138249644308 990.000000000000 +520.337150342418 1220.000000000000 +524.370135972210 1635.000000000000 +536.163584977615 5205.000000000000 +537.164871551777 2866.000000000000 +538.162040361972 1820.000000000000 +542.322114113497 7889.408691406250 +543.325813515830 2782.664062500000 +544.337159119688 2752.000000000000 +546.915148271326 1119.000000000000 +556.440204658126 1446.868652343750 +559.347381876279 1174.000000000000 +575.283778976507 1152.000000000000 +610.183851092976 2209.000000000000 +611.184376861119 1181.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=682 experiment=3 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=682 experiment=3_0 +##scan 163 +##specref ms_run[1]:sample=1 period=1 cycle=682 experiment=3 +55.053258132167 6.000000000000 +67.052989849680 16.000000000000 +88.979391089599 6.000000000000 +109.063050547042 6.000000000000 +109.101085144669 6.000000000000 +123.075345796204 6.000000000000 +140.063294286150 6.000000000000 +>compound 1_0-682004--164--UNKNOWN +>parentmass 249.107549984610 +>charge 1 +>rt 452.667000000000 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1peaks +52.005589764867 2294.063720703125 +53.013445055958 12597.693359375000 +53.850425319649 1340.454467773438 +54.009222871737 339238.562500000000 +55.005731854491 5294.396972656250 +55.011476278488 6250.596679687500 +55.054379017860 1761.070800781250 +55.934267785328 5352.454589843750 +56.941893960122 2242.341308593750 +59.049484585653 52072.828125000000 +60.044294021645 9938.447265625000 +61.039589277099 2273.430419921875 +63.997573159871 4196.579589843750 +64.005237146342 4320.143066406250 +68.011481724460 26730.150390625000 +68.993546142298 10693.709960937500 +69.007869969105 1192.218139648438 +69.013671104337 1098.155395507812 +69.044372395553 14513.338867187500 +72.936598767302 2099.222656250000 +73.064317157751 1612.868530273438 +76.485864352811 2012.000000000000 +79.020756544033 15401.780273437500 +80.048830810306 12086.630859375000 +81.936737807275 7099.281250000000 +82.996379943200 7332.096191406250 +87.043937378063 1284.087280273438 +87.054691364444 1735.449462890625 +89.506704481264 1363.000000000000 +90.488978556361 1527.000000000000 +91.052697348342 1240.000000000000 +95.952180950491 2313.000000000000 +97.954766102337 1345.658203125000 +97.968168531205 6228.090820312500 +100.074623976155 1083.000000000000 +102.090792000469 1723.000000000000 +109.942217651910 1239.000000000000 +113.962972305211 1857.000000000000 +114.090655304988 11653.611328125000 +118.085028075816 6825.976562500000 +122.095330108551 3707.768310546875 +122.962730068033 9873.996093750000 +123.090992739460 1713.000000000000 +123.961301473066 1043.788330078125 +130.157775632365 1202.000000000000 +136.020931202558 1751.000000000000 +136.111249167538 1420.000000000000 +139.963101043342 1112.164794921875 +140.067069787693 1037.000000000000 +141.089892790143 1667.429199218750 +141.111191146003 1364.941406250000 +141.957452440810 15194.245117187500 +142.959210742743 1028.000000000000 +147.090437233968 2799.000000000000 +149.022167561345 4504.397949218750 +149.042732259286 1257.066284179688 +151.095707544593 2676.601318359375 +151.109931871901 2734.434814453125 +153.126931456222 1114.000000000000 +155.069323046609 1758.931274414062 +155.105812248814 1927.436035156250 +155.973694100858 4459.000000000000 +158.153189714534 11874.000000000000 +159.151704211465 2641.084960937500 +159.968387162402 1295.000000000000 +161.095793670235 1895.903320312500 +163.131410791805 1005.978149414062 +164.142255211263 1591.111206054688 +170.095523278980 2774.611572265625 +171.146216027920 1262.000000000000 +172.132900003481 1052.518554687500 +173.080096538435 7436.877929687500 +174.990530030646 1487.000000000000 +175.118390474848 1308.603881835938 +177.054006503523 1284.000000000000 +178.135931142129 1039.362915039062 +178.157412463421 1487.105957031250 +179.105395614597 1888.000000000000 +182.960780820378 2091.357421875000 +182.981256310748 1532.590698242188 +183.098292655109 1039.880004882812 +186.183974954504 1329.000000000000 +186.220644650150 1722.000000000000 +193.156717557870 1169.000000000000 +194.115722573230 3806.000000000000 +195.120778552538 2502.656494140625 +198.184244308753 2348.000000000000 +200.200425972196 1333.000000000000 +217.106406482092 25411.171875000000 +218.109613605337 3087.000000000000 +219.095178232219 1538.764648437500 +224.126545049974 1050.020874023438 +228.196367848999 1616.349121093750 +235.167380487027 1059.150878906250 +239.088546688063 4987.301269531250 +242.283835650883 1454.000000000000 +246.861896170149 3093.000000000000 +249.183716487324 1784.804565429688 +250.177588579370 1574.000000000000 +250.999577375738 2608.599853515625 +251.182995871213 1367.000000000000 +252.997167162173 1649.000000000000 +256.226821306475 2881.139892578125 +256.261446512021 2000.881713867188 +267.170373189617 1392.000000000000 +278.208459274448 1833.000000000000 +279.094351291055 2304.495361328125 +281.050439796354 1439.000000000000 +284.163848757263 1161.000000000000 +289.121050841171 27007.203125000000 +290.124235475954 4648.000000000000 +291.083596057139 7334.543945312500 +291.117907792554 9833.311523437500 +292.120773411831 2090.552246093750 +293.150701487073 1637.447631835938 +304.112931726935 11920.000000000000 +305.115452640037 2211.000000000000 +309.236161920162 1307.848876953125 +326.094660184282 1216.000000000000 +327.007805441544 3647.000000000000 +329.004767001635 4060.000000000000 +330.205647137349 3003.000000000000 +331.001649685159 998.000000000000 +366.263546636202 1082.000000000000 +367.246996337816 1487.260375976562 +430.887335006560 982.000000000000 +445.118172390324 2169.000000000000 +446.119320228071 1009.322937011719 +468.387685434732 1524.000000000000 +500.275268715638 4948.336914062500 +501.278374861979 1438.000000000000 +502.290164633684 1631.000000000000 +505.851046230680 1720.000000000000 +512.344397174232 1069.467651367188 +512.414484404275 2483.054443359375 +519.138249644308 990.000000000000 +520.337150342418 1220.000000000000 +524.370135972210 1635.000000000000 +536.163584977615 5205.000000000000 +537.164871551777 2866.000000000000 +538.162040361972 1820.000000000000 +542.322114113497 7889.408691406250 +543.325813515830 2782.664062500000 +544.337159119688 2752.000000000000 +546.915148271326 1119.000000000000 +556.440204658126 1446.868652343750 +559.347381876279 1174.000000000000 +575.283778976507 1152.000000000000 +610.183851092976 2209.000000000000 +611.184376861119 1181.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=682 experiment=4 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=682 experiment=4_0 +##scan 164 +##specref ms_run[1]:sample=1 period=1 cycle=682 experiment=4 +57.068323351830 6.000000000000 +122.973265282065 6.000000000000 +132.670426378559 6.000000000000 +133.062741409098 39.000000000000 +150.043632114327 6.000000000000 +161.097119276413 31.000000000000 +>compound 1_0-682005--165--UNKNOWN +>parentmass 293.150701487073 +>charge 1 +>rt 452.667000000000 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +293.150701487073 1637.447631835938 +>ms1peaks +52.005589764867 2294.063720703125 +53.013445055958 12597.693359375000 +53.850425319649 1340.454467773438 +54.009222871737 339238.562500000000 +55.005731854491 5294.396972656250 +55.011476278488 6250.596679687500 +55.054379017860 1761.070800781250 +55.934267785328 5352.454589843750 +56.941893960122 2242.341308593750 +59.049484585653 52072.828125000000 +60.044294021645 9938.447265625000 +61.039589277099 2273.430419921875 +63.997573159871 4196.579589843750 +64.005237146342 4320.143066406250 +68.011481724460 26730.150390625000 +68.993546142298 10693.709960937500 +69.007869969105 1192.218139648438 +69.013671104337 1098.155395507812 +69.044372395553 14513.338867187500 +72.936598767302 2099.222656250000 +73.064317157751 1612.868530273438 +76.485864352811 2012.000000000000 +79.020756544033 15401.780273437500 +80.048830810306 12086.630859375000 +81.936737807275 7099.281250000000 +82.996379943200 7332.096191406250 +87.043937378063 1284.087280273438 +87.054691364444 1735.449462890625 +89.506704481264 1363.000000000000 +90.488978556361 1527.000000000000 +91.052697348342 1240.000000000000 +95.952180950491 2313.000000000000 +97.954766102337 1345.658203125000 +97.968168531205 6228.090820312500 +100.074623976155 1083.000000000000 +102.090792000469 1723.000000000000 +109.942217651910 1239.000000000000 +113.962972305211 1857.000000000000 +114.090655304988 11653.611328125000 +118.085028075816 6825.976562500000 +122.095330108551 3707.768310546875 +122.962730068033 9873.996093750000 +123.090992739460 1713.000000000000 +123.961301473066 1043.788330078125 +130.157775632365 1202.000000000000 +136.020931202558 1751.000000000000 +136.111249167538 1420.000000000000 +139.963101043342 1112.164794921875 +140.067069787693 1037.000000000000 +141.089892790143 1667.429199218750 +141.111191146003 1364.941406250000 +141.957452440810 15194.245117187500 +142.959210742743 1028.000000000000 +147.090437233968 2799.000000000000 +149.022167561345 4504.397949218750 +149.042732259286 1257.066284179688 +151.095707544593 2676.601318359375 +151.109931871901 2734.434814453125 +153.126931456222 1114.000000000000 +155.069323046609 1758.931274414062 +155.105812248814 1927.436035156250 +155.973694100858 4459.000000000000 +158.153189714534 11874.000000000000 +159.151704211465 2641.084960937500 +159.968387162402 1295.000000000000 +161.095793670235 1895.903320312500 +163.131410791805 1005.978149414062 +164.142255211263 1591.111206054688 +170.095523278980 2774.611572265625 +171.146216027920 1262.000000000000 +172.132900003481 1052.518554687500 +173.080096538435 7436.877929687500 +174.990530030646 1487.000000000000 +175.118390474848 1308.603881835938 +177.054006503523 1284.000000000000 +178.135931142129 1039.362915039062 +178.157412463421 1487.105957031250 +179.105395614597 1888.000000000000 +182.960780820378 2091.357421875000 +182.981256310748 1532.590698242188 +183.098292655109 1039.880004882812 +186.183974954504 1329.000000000000 +186.220644650150 1722.000000000000 +193.156717557870 1169.000000000000 +194.115722573230 3806.000000000000 +195.120778552538 2502.656494140625 +198.184244308753 2348.000000000000 +200.200425972196 1333.000000000000 +217.106406482092 25411.171875000000 +218.109613605337 3087.000000000000 +219.095178232219 1538.764648437500 +224.126545049974 1050.020874023438 +228.196367848999 1616.349121093750 +235.167380487027 1059.150878906250 +239.088546688063 4987.301269531250 +242.283835650883 1454.000000000000 +246.861896170149 3093.000000000000 +249.183716487324 1784.804565429688 +250.177588579370 1574.000000000000 +250.999577375738 2608.599853515625 +251.182995871213 1367.000000000000 +252.997167162173 1649.000000000000 +256.226821306475 2881.139892578125 +256.261446512021 2000.881713867188 +267.170373189617 1392.000000000000 +278.208459274448 1833.000000000000 +279.094351291055 2304.495361328125 +281.050439796354 1439.000000000000 +284.163848757263 1161.000000000000 +289.121050841171 27007.203125000000 +290.124235475954 4648.000000000000 +291.083596057139 7334.543945312500 +291.117907792554 9833.311523437500 +292.120773411831 2090.552246093750 +293.150701487073 1637.447631835938 +304.112931726935 11920.000000000000 +305.115452640037 2211.000000000000 +309.236161920162 1307.848876953125 +326.094660184282 1216.000000000000 +327.007805441544 3647.000000000000 +329.004767001635 4060.000000000000 +330.205647137349 3003.000000000000 +331.001649685159 998.000000000000 +366.263546636202 1082.000000000000 +367.246996337816 1487.260375976562 +430.887335006560 982.000000000000 +445.118172390324 2169.000000000000 +446.119320228071 1009.322937011719 +468.387685434732 1524.000000000000 +500.275268715638 4948.336914062500 +501.278374861979 1438.000000000000 +502.290164633684 1631.000000000000 +505.851046230680 1720.000000000000 +512.344397174232 1069.467651367188 +512.414484404275 2483.054443359375 +519.138249644308 990.000000000000 +520.337150342418 1220.000000000000 +524.370135972210 1635.000000000000 +536.163584977615 5205.000000000000 +537.164871551777 2866.000000000000 +538.162040361972 1820.000000000000 +542.322114113497 7889.408691406250 +543.325813515830 2782.664062500000 +544.337159119688 2752.000000000000 +546.915148271326 1119.000000000000 +556.440204658126 1446.868652343750 +559.347381876279 1174.000000000000 +575.283778976507 1152.000000000000 +610.183851092976 2209.000000000000 +611.184376861119 1181.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=682 experiment=5 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=682 experiment=5_0 +##scan 165 +##specref ms_run[1]:sample=1 period=1 cycle=682 experiment=5 +151.027373232455 54.000000000000 +172.865140137620 16.000000000000 +194.031391099679 185.000000000000 +209.055063308217 39.000000000000 +233.097288475205 23.000000000000 +236.077597549157 24.000000000000 +251.102486828481 24.000000000000 +293.291008012348 93.000000000000 +>compound 1_0-683002--167--UNKNOWN +>parentmass 186.184131404061 +>charge 1 +>rt 453.589999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +186.184131404061 1538.000000000000 +>ms1peaks +52.005475792459 2617.124511718750 +53.013378314830 12539.880859375000 +53.850704389124 1315.354858398438 +54.009156764681 350222.906250000000 +55.005962503294 6616.327148437500 +55.011573107302 6340.225585937500 +55.054317064229 1912.099975585938 +55.934170412688 5194.190917968750 +56.049349757078 1206.987182617188 +56.941900792206 1984.687744140625 +59.049374045239 50821.675781250000 +60.044268282070 9960.265625000000 +61.039408948759 2155.941162109375 +63.997757490314 4011.974365234375 +64.005033453116 4309.461425781250 +68.011473491104 27279.937500000000 +68.993410304769 10618.767578125000 +69.044353322504 15616.364257812500 +72.936478151061 1935.000000000000 +73.064160411000 1754.000000000000 +76.486273623176 2300.000000000000 +79.020670531059 15054.637695312500 +80.048916231298 11225.356445312500 +81.936860683755 8093.134277343750 +82.996338954621 8549.000000000000 +87.043803331643 1316.723388671875 +87.054875471977 1271.582275390625 +89.059312744262 1050.566162109375 +89.069709879200 1212.011230468750 +89.505907868273 1402.975952148438 +90.488823648736 1502.000000000000 +91.053208392747 1108.000000000000 +95.951921805964 1979.000000000000 +97.953785478913 982.440002441406 +97.968121015875 6916.000000000000 +100.074934261927 1326.000000000000 +102.090753048495 1640.784423828125 +103.954380806602 1024.000000000000 +109.942491586746 1162.000000000000 +113.962307834797 2020.322265625000 +114.090548402732 10476.377929687500 +118.085346318486 8077.000000000000 +122.095246292939 3798.896972656250 +122.962908829486 10226.000000000000 +123.090454686165 1827.000000000000 +123.960818348367 1044.000000000000 +129.051289316031 995.000000000000 +130.157829615359 1187.000000000000 +136.020472313019 1676.000000000000 +136.110884772152 1266.000000000000 +137.963232394383 1110.000000000000 +141.089289767371 1312.505737304688 +141.111958982864 1253.000000000000 +141.957296859184 14377.864257812500 +142.960171174130 1134.000000000000 +147.090251831089 2691.000000000000 +149.022108330062 4420.826171875000 +149.042054759884 1381.723999023438 +151.096005454731 2146.172119140625 +151.110486882567 2375.535156250000 +155.068578386131 1401.430297851562 +155.105121160501 1915.811279296875 +155.972702802119 3926.000000000000 +158.001435920737 994.574768066406 +158.094922913936 1034.786743164062 +158.115258469613 1057.655639648438 +158.152885305428 12370.983398437500 +159.154241367963 1786.531250000000 +159.967380624338 1012.000000000000 +161.095431806967 1523.706909179688 +163.124346097238 1092.053222656250 +164.141559918882 1356.968750000000 +170.095283585753 2452.661865234375 +171.146114238463 1308.000000000000 +172.132277911255 988.843933105469 +173.079497766031 7396.000000000000 +174.126882446625 1059.000000000000 +174.990836266533 1288.000000000000 +175.120934645394 1380.284179687500 +177.053202644538 1157.000000000000 +178.157015559642 1506.022827148438 +179.104779209374 1997.000000000000 +182.960294879212 2168.488525390625 +182.979844671846 1636.538085937500 +183.097251263676 975.970886230469 +186.184131404061 1538.000000000000 +186.220316530702 1978.395996093750 +194.115887925534 3994.000000000000 +195.120290075932 2135.307373046875 +197.077120306349 1145.289794921875 +198.183476446623 2461.486572265625 +199.167914034556 997.509704589844 +200.199605164190 1208.000000000000 +217.105900026809 23007.000000000000 +218.108987420819 2646.000000000000 +219.094205779128 1198.057739257812 +221.151561647748 1218.945068359375 +224.126226799556 1194.000000000000 +228.195286797571 1616.183349609375 +235.168761941494 1134.605834960938 +239.087777368419 5352.000000000000 +242.282623522391 1852.000000000000 +246.860583400481 3359.000000000000 +249.183196945845 1408.000000000000 +250.179975975092 1339.061889648438 +250.998877572208 2553.740966796875 +251.183298578374 1152.000000000000 +252.996160148286 1628.124267578125 +256.226353669723 2254.442138671875 +267.170527873108 1361.000000000000 +278.209131593116 1533.918457031250 +279.092299969221 2061.947021484375 +281.049622305741 1292.000000000000 +284.163054834456 1115.000000000000 +289.120096934377 10287.241210937500 +290.123088085653 1560.000000000000 +291.081684168627 2371.477539062500 +291.117756445809 3689.470214843750 +292.119039202753 1249.000000000000 +293.148220258563 1097.490722656250 +304.112440693313 7674.000000000000 +305.114296405000 1470.000000000000 +309.230230347687 1272.000000000000 +327.006684140753 3801.950683593750 +329.003887686998 3451.000000000000 +330.204508769869 2445.000000000000 +331.001097065232 1024.000000000000 +367.248567151117 988.174438476562 +371.313964112879 985.000000000000 +430.886392055683 1083.000000000000 +432.883860091270 1010.000000000000 +445.118038418407 1968.693969726562 +468.388790144399 1219.000000000000 +500.274228987555 3302.108398437500 +502.289892027090 1892.000000000000 +505.850511314647 1636.000000000000 +512.413213573025 2137.378417968750 +519.136476435531 989.311035156250 +520.335944368793 1085.000000000000 +524.368461140809 1654.000000000000 +536.163935932083 4706.000000000000 +537.163829357755 2301.000000000000 +538.160747649950 2022.000000000000 +542.321738808865 7222.184570312500 +543.324639525781 2316.000000000000 +544.336501336759 2655.000000000000 +546.912069818784 1021.000000000000 +556.438375470961 1482.722656250000 +610.182385281537 2028.000000000000 +611.181898223835 1122.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=683 experiment=2 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=683 experiment=2_0 +##scan 167 +##specref ms_run[1]:sample=1 period=1 cycle=683 experiment=2 +56.941110364060 13.000000000000 +57.037378575583 30.000000000000 +57.069271016999 30.000000000000 +57.075696210235 30.000000000000 +74.097211035446 30.000000000000 +170.089788354449 30.000000000000 +711.823817949091 13.000000000000 +>compound 1_0-683003--168--UNKNOWN +>parentmass 256.226353669723 +>charge 1 +>rt 453.589999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +256.226353669723 2254.442138671875 +>ms1peaks +52.005475792459 2617.124511718750 +53.013378314830 12539.880859375000 +53.850704389124 1315.354858398438 +54.009156764681 350222.906250000000 +55.005962503294 6616.327148437500 +55.011573107302 6340.225585937500 +55.054317064229 1912.099975585938 +55.934170412688 5194.190917968750 +56.049349757078 1206.987182617188 +56.941900792206 1984.687744140625 +59.049374045239 50821.675781250000 +60.044268282070 9960.265625000000 +61.039408948759 2155.941162109375 +63.997757490314 4011.974365234375 +64.005033453116 4309.461425781250 +68.011473491104 27279.937500000000 +68.993410304769 10618.767578125000 +69.044353322504 15616.364257812500 +72.936478151061 1935.000000000000 +73.064160411000 1754.000000000000 +76.486273623176 2300.000000000000 +79.020670531059 15054.637695312500 +80.048916231298 11225.356445312500 +81.936860683755 8093.134277343750 +82.996338954621 8549.000000000000 +87.043803331643 1316.723388671875 +87.054875471977 1271.582275390625 +89.059312744262 1050.566162109375 +89.069709879200 1212.011230468750 +89.505907868273 1402.975952148438 +90.488823648736 1502.000000000000 +91.053208392747 1108.000000000000 +95.951921805964 1979.000000000000 +97.953785478913 982.440002441406 +97.968121015875 6916.000000000000 +100.074934261927 1326.000000000000 +102.090753048495 1640.784423828125 +103.954380806602 1024.000000000000 +109.942491586746 1162.000000000000 +113.962307834797 2020.322265625000 +114.090548402732 10476.377929687500 +118.085346318486 8077.000000000000 +122.095246292939 3798.896972656250 +122.962908829486 10226.000000000000 +123.090454686165 1827.000000000000 +123.960818348367 1044.000000000000 +129.051289316031 995.000000000000 +130.157829615359 1187.000000000000 +136.020472313019 1676.000000000000 +136.110884772152 1266.000000000000 +137.963232394383 1110.000000000000 +141.089289767371 1312.505737304688 +141.111958982864 1253.000000000000 +141.957296859184 14377.864257812500 +142.960171174130 1134.000000000000 +147.090251831089 2691.000000000000 +149.022108330062 4420.826171875000 +149.042054759884 1381.723999023438 +151.096005454731 2146.172119140625 +151.110486882567 2375.535156250000 +155.068578386131 1401.430297851562 +155.105121160501 1915.811279296875 +155.972702802119 3926.000000000000 +158.001435920737 994.574768066406 +158.094922913936 1034.786743164062 +158.115258469613 1057.655639648438 +158.152885305428 12370.983398437500 +159.154241367963 1786.531250000000 +159.967380624338 1012.000000000000 +161.095431806967 1523.706909179688 +163.124346097238 1092.053222656250 +164.141559918882 1356.968750000000 +170.095283585753 2452.661865234375 +171.146114238463 1308.000000000000 +172.132277911255 988.843933105469 +173.079497766031 7396.000000000000 +174.126882446625 1059.000000000000 +174.990836266533 1288.000000000000 +175.120934645394 1380.284179687500 +177.053202644538 1157.000000000000 +178.157015559642 1506.022827148438 +179.104779209374 1997.000000000000 +182.960294879212 2168.488525390625 +182.979844671846 1636.538085937500 +183.097251263676 975.970886230469 +186.184131404061 1538.000000000000 +186.220316530702 1978.395996093750 +194.115887925534 3994.000000000000 +195.120290075932 2135.307373046875 +197.077120306349 1145.289794921875 +198.183476446623 2461.486572265625 +199.167914034556 997.509704589844 +200.199605164190 1208.000000000000 +217.105900026809 23007.000000000000 +218.108987420819 2646.000000000000 +219.094205779128 1198.057739257812 +221.151561647748 1218.945068359375 +224.126226799556 1194.000000000000 +228.195286797571 1616.183349609375 +235.168761941494 1134.605834960938 +239.087777368419 5352.000000000000 +242.282623522391 1852.000000000000 +246.860583400481 3359.000000000000 +249.183196945845 1408.000000000000 +250.179975975092 1339.061889648438 +250.998877572208 2553.740966796875 +251.183298578374 1152.000000000000 +252.996160148286 1628.124267578125 +256.226353669723 2254.442138671875 +267.170527873108 1361.000000000000 +278.209131593116 1533.918457031250 +279.092299969221 2061.947021484375 +281.049622305741 1292.000000000000 +284.163054834456 1115.000000000000 +289.120096934377 10287.241210937500 +290.123088085653 1560.000000000000 +291.081684168627 2371.477539062500 +291.117756445809 3689.470214843750 +292.119039202753 1249.000000000000 +293.148220258563 1097.490722656250 +304.112440693313 7674.000000000000 +305.114296405000 1470.000000000000 +309.230230347687 1272.000000000000 +327.006684140753 3801.950683593750 +329.003887686998 3451.000000000000 +330.204508769869 2445.000000000000 +331.001097065232 1024.000000000000 +367.248567151117 988.174438476562 +371.313964112879 985.000000000000 +430.886392055683 1083.000000000000 +432.883860091270 1010.000000000000 +445.118038418407 1968.693969726562 +468.388790144399 1219.000000000000 +500.274228987555 3302.108398437500 +502.289892027090 1892.000000000000 +505.850511314647 1636.000000000000 +512.413213573025 2137.378417968750 +519.136476435531 989.311035156250 +520.335944368793 1085.000000000000 +524.368461140809 1654.000000000000 +536.163935932083 4706.000000000000 +537.163829357755 2301.000000000000 +538.160747649950 2022.000000000000 +542.321738808865 7222.184570312500 +543.324639525781 2316.000000000000 +544.336501336759 2655.000000000000 +546.912069818784 1021.000000000000 +556.438375470961 1482.722656250000 +610.182385281537 2028.000000000000 +611.181898223835 1122.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=683 experiment=3 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=683 experiment=3_0 +##scan 168 +##specref ms_run[1]:sample=1 period=1 cycle=683 experiment=3 +55.054340360629 45.000000000000 +119.083765035463 30.000000000000 +123.114810642395 30.000000000000 +181.969567335032 45.000000000000 +256.263449695917 30.000000000000 +>compound 1_0-683004--169--UNKNOWN +>parentmass 512.413213573025 +>charge 1 +>rt 453.589999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +512.413213573025 2137.378417968750 +>ms1peaks +52.005475792459 2617.124511718750 +53.013378314830 12539.880859375000 +53.850704389124 1315.354858398438 +54.009156764681 350222.906250000000 +55.005962503294 6616.327148437500 +55.011573107302 6340.225585937500 +55.054317064229 1912.099975585938 +55.934170412688 5194.190917968750 +56.049349757078 1206.987182617188 +56.941900792206 1984.687744140625 +59.049374045239 50821.675781250000 +60.044268282070 9960.265625000000 +61.039408948759 2155.941162109375 +63.997757490314 4011.974365234375 +64.005033453116 4309.461425781250 +68.011473491104 27279.937500000000 +68.993410304769 10618.767578125000 +69.044353322504 15616.364257812500 +72.936478151061 1935.000000000000 +73.064160411000 1754.000000000000 +76.486273623176 2300.000000000000 +79.020670531059 15054.637695312500 +80.048916231298 11225.356445312500 +81.936860683755 8093.134277343750 +82.996338954621 8549.000000000000 +87.043803331643 1316.723388671875 +87.054875471977 1271.582275390625 +89.059312744262 1050.566162109375 +89.069709879200 1212.011230468750 +89.505907868273 1402.975952148438 +90.488823648736 1502.000000000000 +91.053208392747 1108.000000000000 +95.951921805964 1979.000000000000 +97.953785478913 982.440002441406 +97.968121015875 6916.000000000000 +100.074934261927 1326.000000000000 +102.090753048495 1640.784423828125 +103.954380806602 1024.000000000000 +109.942491586746 1162.000000000000 +113.962307834797 2020.322265625000 +114.090548402732 10476.377929687500 +118.085346318486 8077.000000000000 +122.095246292939 3798.896972656250 +122.962908829486 10226.000000000000 +123.090454686165 1827.000000000000 +123.960818348367 1044.000000000000 +129.051289316031 995.000000000000 +130.157829615359 1187.000000000000 +136.020472313019 1676.000000000000 +136.110884772152 1266.000000000000 +137.963232394383 1110.000000000000 +141.089289767371 1312.505737304688 +141.111958982864 1253.000000000000 +141.957296859184 14377.864257812500 +142.960171174130 1134.000000000000 +147.090251831089 2691.000000000000 +149.022108330062 4420.826171875000 +149.042054759884 1381.723999023438 +151.096005454731 2146.172119140625 +151.110486882567 2375.535156250000 +155.068578386131 1401.430297851562 +155.105121160501 1915.811279296875 +155.972702802119 3926.000000000000 +158.001435920737 994.574768066406 +158.094922913936 1034.786743164062 +158.115258469613 1057.655639648438 +158.152885305428 12370.983398437500 +159.154241367963 1786.531250000000 +159.967380624338 1012.000000000000 +161.095431806967 1523.706909179688 +163.124346097238 1092.053222656250 +164.141559918882 1356.968750000000 +170.095283585753 2452.661865234375 +171.146114238463 1308.000000000000 +172.132277911255 988.843933105469 +173.079497766031 7396.000000000000 +174.126882446625 1059.000000000000 +174.990836266533 1288.000000000000 +175.120934645394 1380.284179687500 +177.053202644538 1157.000000000000 +178.157015559642 1506.022827148438 +179.104779209374 1997.000000000000 +182.960294879212 2168.488525390625 +182.979844671846 1636.538085937500 +183.097251263676 975.970886230469 +186.184131404061 1538.000000000000 +186.220316530702 1978.395996093750 +194.115887925534 3994.000000000000 +195.120290075932 2135.307373046875 +197.077120306349 1145.289794921875 +198.183476446623 2461.486572265625 +199.167914034556 997.509704589844 +200.199605164190 1208.000000000000 +217.105900026809 23007.000000000000 +218.108987420819 2646.000000000000 +219.094205779128 1198.057739257812 +221.151561647748 1218.945068359375 +224.126226799556 1194.000000000000 +228.195286797571 1616.183349609375 +235.168761941494 1134.605834960938 +239.087777368419 5352.000000000000 +242.282623522391 1852.000000000000 +246.860583400481 3359.000000000000 +249.183196945845 1408.000000000000 +250.179975975092 1339.061889648438 +250.998877572208 2553.740966796875 +251.183298578374 1152.000000000000 +252.996160148286 1628.124267578125 +256.226353669723 2254.442138671875 +267.170527873108 1361.000000000000 +278.209131593116 1533.918457031250 +279.092299969221 2061.947021484375 +281.049622305741 1292.000000000000 +284.163054834456 1115.000000000000 +289.120096934377 10287.241210937500 +290.123088085653 1560.000000000000 +291.081684168627 2371.477539062500 +291.117756445809 3689.470214843750 +292.119039202753 1249.000000000000 +293.148220258563 1097.490722656250 +304.112440693313 7674.000000000000 +305.114296405000 1470.000000000000 +309.230230347687 1272.000000000000 +327.006684140753 3801.950683593750 +329.003887686998 3451.000000000000 +330.204508769869 2445.000000000000 +331.001097065232 1024.000000000000 +367.248567151117 988.174438476562 +371.313964112879 985.000000000000 +430.886392055683 1083.000000000000 +432.883860091270 1010.000000000000 +445.118038418407 1968.693969726562 +468.388790144399 1219.000000000000 +500.274228987555 3302.108398437500 +502.289892027090 1892.000000000000 +505.850511314647 1636.000000000000 +512.413213573025 2137.378417968750 +519.136476435531 989.311035156250 +520.335944368793 1085.000000000000 +524.368461140809 1654.000000000000 +536.163935932083 4706.000000000000 +537.163829357755 2301.000000000000 +538.160747649950 2022.000000000000 +542.321738808865 7222.184570312500 +543.324639525781 2316.000000000000 +544.336501336759 2655.000000000000 +546.912069818784 1021.000000000000 +556.438375470961 1482.722656250000 +610.182385281537 2028.000000000000 +611.181898223835 1122.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=683 experiment=4 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=683 experiment=4_0 +##scan 169 +##specref ms_run[1]:sample=1 period=1 cycle=683 experiment=4 +333.167098981034 6.000000000000 +>compound 1_0-683005--170--UNKNOWN +>parentmass 556.438375470961 +>charge 1 +>rt 453.589999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +556.438375470961 1482.722656250000 +>ms1peaks +52.005475792459 2617.124511718750 +53.013378314830 12539.880859375000 +53.850704389124 1315.354858398438 +54.009156764681 350222.906250000000 +55.005962503294 6616.327148437500 +55.011573107302 6340.225585937500 +55.054317064229 1912.099975585938 +55.934170412688 5194.190917968750 +56.049349757078 1206.987182617188 +56.941900792206 1984.687744140625 +59.049374045239 50821.675781250000 +60.044268282070 9960.265625000000 +61.039408948759 2155.941162109375 +63.997757490314 4011.974365234375 +64.005033453116 4309.461425781250 +68.011473491104 27279.937500000000 +68.993410304769 10618.767578125000 +69.044353322504 15616.364257812500 +72.936478151061 1935.000000000000 +73.064160411000 1754.000000000000 +76.486273623176 2300.000000000000 +79.020670531059 15054.637695312500 +80.048916231298 11225.356445312500 +81.936860683755 8093.134277343750 +82.996338954621 8549.000000000000 +87.043803331643 1316.723388671875 +87.054875471977 1271.582275390625 +89.059312744262 1050.566162109375 +89.069709879200 1212.011230468750 +89.505907868273 1402.975952148438 +90.488823648736 1502.000000000000 +91.053208392747 1108.000000000000 +95.951921805964 1979.000000000000 +97.953785478913 982.440002441406 +97.968121015875 6916.000000000000 +100.074934261927 1326.000000000000 +102.090753048495 1640.784423828125 +103.954380806602 1024.000000000000 +109.942491586746 1162.000000000000 +113.962307834797 2020.322265625000 +114.090548402732 10476.377929687500 +118.085346318486 8077.000000000000 +122.095246292939 3798.896972656250 +122.962908829486 10226.000000000000 +123.090454686165 1827.000000000000 +123.960818348367 1044.000000000000 +129.051289316031 995.000000000000 +130.157829615359 1187.000000000000 +136.020472313019 1676.000000000000 +136.110884772152 1266.000000000000 +137.963232394383 1110.000000000000 +141.089289767371 1312.505737304688 +141.111958982864 1253.000000000000 +141.957296859184 14377.864257812500 +142.960171174130 1134.000000000000 +147.090251831089 2691.000000000000 +149.022108330062 4420.826171875000 +149.042054759884 1381.723999023438 +151.096005454731 2146.172119140625 +151.110486882567 2375.535156250000 +155.068578386131 1401.430297851562 +155.105121160501 1915.811279296875 +155.972702802119 3926.000000000000 +158.001435920737 994.574768066406 +158.094922913936 1034.786743164062 +158.115258469613 1057.655639648438 +158.152885305428 12370.983398437500 +159.154241367963 1786.531250000000 +159.967380624338 1012.000000000000 +161.095431806967 1523.706909179688 +163.124346097238 1092.053222656250 +164.141559918882 1356.968750000000 +170.095283585753 2452.661865234375 +171.146114238463 1308.000000000000 +172.132277911255 988.843933105469 +173.079497766031 7396.000000000000 +174.126882446625 1059.000000000000 +174.990836266533 1288.000000000000 +175.120934645394 1380.284179687500 +177.053202644538 1157.000000000000 +178.157015559642 1506.022827148438 +179.104779209374 1997.000000000000 +182.960294879212 2168.488525390625 +182.979844671846 1636.538085937500 +183.097251263676 975.970886230469 +186.184131404061 1538.000000000000 +186.220316530702 1978.395996093750 +194.115887925534 3994.000000000000 +195.120290075932 2135.307373046875 +197.077120306349 1145.289794921875 +198.183476446623 2461.486572265625 +199.167914034556 997.509704589844 +200.199605164190 1208.000000000000 +217.105900026809 23007.000000000000 +218.108987420819 2646.000000000000 +219.094205779128 1198.057739257812 +221.151561647748 1218.945068359375 +224.126226799556 1194.000000000000 +228.195286797571 1616.183349609375 +235.168761941494 1134.605834960938 +239.087777368419 5352.000000000000 +242.282623522391 1852.000000000000 +246.860583400481 3359.000000000000 +249.183196945845 1408.000000000000 +250.179975975092 1339.061889648438 +250.998877572208 2553.740966796875 +251.183298578374 1152.000000000000 +252.996160148286 1628.124267578125 +256.226353669723 2254.442138671875 +267.170527873108 1361.000000000000 +278.209131593116 1533.918457031250 +279.092299969221 2061.947021484375 +281.049622305741 1292.000000000000 +284.163054834456 1115.000000000000 +289.120096934377 10287.241210937500 +290.123088085653 1560.000000000000 +291.081684168627 2371.477539062500 +291.117756445809 3689.470214843750 +292.119039202753 1249.000000000000 +293.148220258563 1097.490722656250 +304.112440693313 7674.000000000000 +305.114296405000 1470.000000000000 +309.230230347687 1272.000000000000 +327.006684140753 3801.950683593750 +329.003887686998 3451.000000000000 +330.204508769869 2445.000000000000 +331.001097065232 1024.000000000000 +367.248567151117 988.174438476562 +371.313964112879 985.000000000000 +430.886392055683 1083.000000000000 +432.883860091270 1010.000000000000 +445.118038418407 1968.693969726562 +468.388790144399 1219.000000000000 +500.274228987555 3302.108398437500 +502.289892027090 1892.000000000000 +505.850511314647 1636.000000000000 +512.413213573025 2137.378417968750 +519.136476435531 989.311035156250 +520.335944368793 1085.000000000000 +524.368461140809 1654.000000000000 +536.163935932083 4706.000000000000 +537.163829357755 2301.000000000000 +538.160747649950 2022.000000000000 +542.321738808865 7222.184570312500 +543.324639525781 2316.000000000000 +544.336501336759 2655.000000000000 +546.912069818784 1021.000000000000 +556.438375470961 1482.722656250000 +610.182385281537 2028.000000000000 +611.181898223835 1122.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=683 experiment=5 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=683 experiment=5_0 +##scan 170 +##specref ms_run[1]:sample=1 period=1 cycle=683 experiment=5 +71.089080009548 6.000000000000 +79.050264286183 6.000000000000 +89.057038828256 40.000000000000 +113.130979280619 16.000000000000 +257.249155051833 16.000000000000 +311.131756011085 6.000000000000 +342.092356628605 6.000000000000 +539.413753739958 24.000000000000 +>compound 1_0-683006--171--UNKNOWN +>parentmass 600.465169220820 +>charge 1 +>rt 453.589999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1peaks +52.005475792459 2617.124511718750 +53.013378314830 12539.880859375000 +53.850704389124 1315.354858398438 +54.009156764681 350222.906250000000 +55.005962503294 6616.327148437500 +55.011573107302 6340.225585937500 +55.054317064229 1912.099975585938 +55.934170412688 5194.190917968750 +56.049349757078 1206.987182617188 +56.941900792206 1984.687744140625 +59.049374045239 50821.675781250000 +60.044268282070 9960.265625000000 +61.039408948759 2155.941162109375 +63.997757490314 4011.974365234375 +64.005033453116 4309.461425781250 +68.011473491104 27279.937500000000 +68.993410304769 10618.767578125000 +69.044353322504 15616.364257812500 +72.936478151061 1935.000000000000 +73.064160411000 1754.000000000000 +76.486273623176 2300.000000000000 +79.020670531059 15054.637695312500 +80.048916231298 11225.356445312500 +81.936860683755 8093.134277343750 +82.996338954621 8549.000000000000 +87.043803331643 1316.723388671875 +87.054875471977 1271.582275390625 +89.059312744262 1050.566162109375 +89.069709879200 1212.011230468750 +89.505907868273 1402.975952148438 +90.488823648736 1502.000000000000 +91.053208392747 1108.000000000000 +95.951921805964 1979.000000000000 +97.953785478913 982.440002441406 +97.968121015875 6916.000000000000 +100.074934261927 1326.000000000000 +102.090753048495 1640.784423828125 +103.954380806602 1024.000000000000 +109.942491586746 1162.000000000000 +113.962307834797 2020.322265625000 +114.090548402732 10476.377929687500 +118.085346318486 8077.000000000000 +122.095246292939 3798.896972656250 +122.962908829486 10226.000000000000 +123.090454686165 1827.000000000000 +123.960818348367 1044.000000000000 +129.051289316031 995.000000000000 +130.157829615359 1187.000000000000 +136.020472313019 1676.000000000000 +136.110884772152 1266.000000000000 +137.963232394383 1110.000000000000 +141.089289767371 1312.505737304688 +141.111958982864 1253.000000000000 +141.957296859184 14377.864257812500 +142.960171174130 1134.000000000000 +147.090251831089 2691.000000000000 +149.022108330062 4420.826171875000 +149.042054759884 1381.723999023438 +151.096005454731 2146.172119140625 +151.110486882567 2375.535156250000 +155.068578386131 1401.430297851562 +155.105121160501 1915.811279296875 +155.972702802119 3926.000000000000 +158.001435920737 994.574768066406 +158.094922913936 1034.786743164062 +158.115258469613 1057.655639648438 +158.152885305428 12370.983398437500 +159.154241367963 1786.531250000000 +159.967380624338 1012.000000000000 +161.095431806967 1523.706909179688 +163.124346097238 1092.053222656250 +164.141559918882 1356.968750000000 +170.095283585753 2452.661865234375 +171.146114238463 1308.000000000000 +172.132277911255 988.843933105469 +173.079497766031 7396.000000000000 +174.126882446625 1059.000000000000 +174.990836266533 1288.000000000000 +175.120934645394 1380.284179687500 +177.053202644538 1157.000000000000 +178.157015559642 1506.022827148438 +179.104779209374 1997.000000000000 +182.960294879212 2168.488525390625 +182.979844671846 1636.538085937500 +183.097251263676 975.970886230469 +186.184131404061 1538.000000000000 +186.220316530702 1978.395996093750 +194.115887925534 3994.000000000000 +195.120290075932 2135.307373046875 +197.077120306349 1145.289794921875 +198.183476446623 2461.486572265625 +199.167914034556 997.509704589844 +200.199605164190 1208.000000000000 +217.105900026809 23007.000000000000 +218.108987420819 2646.000000000000 +219.094205779128 1198.057739257812 +221.151561647748 1218.945068359375 +224.126226799556 1194.000000000000 +228.195286797571 1616.183349609375 +235.168761941494 1134.605834960938 +239.087777368419 5352.000000000000 +242.282623522391 1852.000000000000 +246.860583400481 3359.000000000000 +249.183196945845 1408.000000000000 +250.179975975092 1339.061889648438 +250.998877572208 2553.740966796875 +251.183298578374 1152.000000000000 +252.996160148286 1628.124267578125 +256.226353669723 2254.442138671875 +267.170527873108 1361.000000000000 +278.209131593116 1533.918457031250 +279.092299969221 2061.947021484375 +281.049622305741 1292.000000000000 +284.163054834456 1115.000000000000 +289.120096934377 10287.241210937500 +290.123088085653 1560.000000000000 +291.081684168627 2371.477539062500 +291.117756445809 3689.470214843750 +292.119039202753 1249.000000000000 +293.148220258563 1097.490722656250 +304.112440693313 7674.000000000000 +305.114296405000 1470.000000000000 +309.230230347687 1272.000000000000 +327.006684140753 3801.950683593750 +329.003887686998 3451.000000000000 +330.204508769869 2445.000000000000 +331.001097065232 1024.000000000000 +367.248567151117 988.174438476562 +371.313964112879 985.000000000000 +430.886392055683 1083.000000000000 +432.883860091270 1010.000000000000 +445.118038418407 1968.693969726562 +468.388790144399 1219.000000000000 +500.274228987555 3302.108398437500 +502.289892027090 1892.000000000000 +505.850511314647 1636.000000000000 +512.413213573025 2137.378417968750 +519.136476435531 989.311035156250 +520.335944368793 1085.000000000000 +524.368461140809 1654.000000000000 +536.163935932083 4706.000000000000 +537.163829357755 2301.000000000000 +538.160747649950 2022.000000000000 +542.321738808865 7222.184570312500 +543.324639525781 2316.000000000000 +544.336501336759 2655.000000000000 +546.912069818784 1021.000000000000 +556.438375470961 1482.722656250000 +610.182385281537 2028.000000000000 +611.181898223835 1122.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=683 experiment=6 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=683 experiment=6_0 +##scan 171 +##specref ms_run[1]:sample=1 period=1 cycle=683 experiment=6 +583.430194358394 16.000000000000 +600.471702085433 16.000000000000 +>compound 1_0-684002--173--UNKNOWN +>parentmass 197.076196888252 +>charge 1 +>rt 454.516000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1peaks +52.005055752743 2535.964355468750 +53.013304387882 13524.087890625000 +53.850466238024 1189.000000000000 +54.009168155297 353300.781250000000 +55.005867838546 6321.625488281250 +55.011096389479 6395.116699218750 +55.054048764476 1667.644042968750 +55.933744861774 5517.931640625000 +56.941678501836 2385.528808593750 +59.049246215078 62577.765625000000 +60.044272562846 11294.218750000000 +61.039109845214 1753.034912109375 +63.997184367771 4165.606445312500 +64.004750648025 4249.142089843750 +68.011158941272 26967.845703125000 +68.993356336228 11891.033203125000 +69.009273188190 1077.398315429688 +69.044228412240 14899.603515625000 +72.936468187320 2032.373413085938 +73.063852449522 1719.634399414062 +76.485919231129 2172.000000000000 +79.020524571197 16902.101562500000 +80.048647839426 12657.626953125000 +81.936696543330 8232.779296875000 +82.996080678623 8146.264648437500 +87.043475160411 1395.252319335938 +87.054352310828 1558.482177734375 +89.058909693116 1269.118896484375 +89.069350868807 1247.488525390625 +89.505589887121 1342.000000000000 +90.488691498550 1942.000000000000 +91.053378263618 1475.000000000000 +95.951669732691 1976.000000000000 +97.967560868981 7359.775390625000 +100.074534978752 1189.000000000000 +102.090338226360 1826.376220703125 +109.942414205150 1188.000000000000 +113.962012843210 1736.000000000000 +114.090204103750 11387.237304687500 +115.093936155418 1026.477294921875 +118.084824300069 7671.000000000000 +122.095254248058 3649.000000000000 +122.962559128453 10112.945312500000 +123.090679016705 1699.000000000000 +123.961217643039 1068.000000000000 +130.157297802018 994.000000000000 +136.020183489680 1322.000000000000 +136.111243273071 1445.000000000000 +137.962665914090 1202.000000000000 +139.962346851635 1044.000000000000 +141.089611087824 1626.178955078125 +141.111315482047 1498.598510742188 +141.934405531056 2084.462402343750 +141.957003969247 15281.953125000000 +147.089927402646 2716.236816406250 +149.021952430256 5215.276855468750 +151.095029441084 2611.063720703125 +151.109299282509 3043.490966796875 +155.068716413981 1815.925781250000 +155.104692907060 1465.157470703125 +155.972438501058 4353.000000000000 +158.152200943323 12348.822265625000 +159.154956605569 1635.504028320312 +159.967803132941 1244.507446289062 +161.095175826667 1739.000000000000 +163.129926212915 1158.326904296875 +164.141946259428 1718.425781250000 +170.094715935231 2753.855468750000 +171.145377171095 1550.000000000000 +172.132577603702 1445.519653320312 +173.079147806049 8056.288574218750 +174.126251925613 1018.000000000000 +174.990645538544 1161.000000000000 +175.122110492133 1170.411743164062 +177.052488517392 1051.659423828125 +178.157387143850 1352.390502929688 +179.104449390129 1822.000000000000 +182.960513183082 2466.002441406250 +182.982893863190 1238.924926757812 +183.078198978970 1427.060058593750 +183.097659692423 1378.870727539062 +186.184710056301 1091.000000000000 +186.220156978700 1745.000000000000 +194.114989559698 3824.000000000000 +195.102013459731 2090.739746093750 +195.120720998964 2570.564453125000 +198.183752557279 2298.281738281250 +199.167445330918 1079.616577148438 +200.199182211058 1213.000000000000 +205.084290329945 996.000000000000 +211.107662654521 1040.748901367188 +211.126844372442 1047.980834960938 +217.105638765104 26745.580078125000 +218.109080318901 2892.000000000000 +219.093891661045 1471.017944335938 +221.151414683949 1411.084838867188 +223.062156383341 1011.187377929688 +223.113584496198 1057.747558593750 +224.126501131170 1396.085937500000 +228.193498338851 1717.108154296875 +235.167367598480 1268.345458984375 +235.203348790223 1014.675109863281 +239.087708963045 6146.106933593750 +242.282676845201 1728.000000000000 +246.860945003884 3475.000000000000 +249.183065513133 1588.561889648438 +250.176636932456 1366.377441406250 +250.998640546851 2659.000000000000 +251.181320564304 1150.891967773438 +252.995743699801 1989.000000000000 +256.224312470076 1526.016723632812 +267.170376627160 1639.885620117188 +278.208499725280 1244.000000000000 +279.092328768907 2042.000000000000 +281.049924199324 1627.000000000000 +284.162752099009 1097.000000000000 +289.119930492523 5051.885253906250 +290.121926056623 1045.000000000000 +291.116846102720 1626.000000000000 +304.111834403142 5771.000000000000 +305.115013708988 1041.000000000000 +309.227944713182 992.105407714844 +327.007466942849 3904.000000000000 +329.003581472897 3646.000000000000 +330.205068564965 2091.202148437500 +331.001047005985 1017.994262695312 +367.245746012184 1118.183349609375 +371.099142491710 1139.000000000000 +371.312999785903 1091.000000000000 +430.886671499821 1115.000000000000 +445.117775583424 2600.000000000000 +446.118588613662 999.000000000000 +500.273782823440 2782.000000000000 +502.288804355749 1789.000000000000 +505.850127143100 1506.000000000000 +512.413609192773 1457.411132812500 +519.133662820407 1026.000000000000 +520.335877972225 1195.000000000000 +524.368508006775 1667.000000000000 +536.162270956731 5375.000000000000 +537.162507713913 2702.000000000000 +538.161398187637 1920.000000000000 +542.320515114008 6963.231933593750 +543.325336207388 2300.000000000000 +544.334190717716 2569.000000000000 +546.911594543114 1103.000000000000 +556.437447753826 1659.000000000000 +610.180935335645 2124.000000000000 +611.179779797249 1379.000000000000 +612.179314588833 1053.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=684 experiment=2 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=684 experiment=2_0 +##scan 173 +##specref ms_run[1]:sample=1 period=1 cycle=684 experiment=2 +55.933453323450 16.000000000000 +67.052799400525 16.000000000000 +68.933728980340 16.000000000000 +68.950945180433 8.000000000000 +70.957415259418 164.000000000000 +72.937687471363 236.000000000000 +81.069218822999 16.000000000000 +95.081679690084 16.000000000000 +95.087709641414 16.000000000000 +114.947359874553 116.000000000000 +132.958736190957 16.000000000000 +138.896787794429 24.000000000000 +142.953896729598 69.000000000000 +181.047994019430 16.000000000000 +>compound 1_0-684003--174--UNKNOWN +>parentmass 209.187110889596 +>charge 1 +>rt 454.516000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1peaks +52.005055752743 2535.964355468750 +53.013304387882 13524.087890625000 +53.850466238024 1189.000000000000 +54.009168155297 353300.781250000000 +55.005867838546 6321.625488281250 +55.011096389479 6395.116699218750 +55.054048764476 1667.644042968750 +55.933744861774 5517.931640625000 +56.941678501836 2385.528808593750 +59.049246215078 62577.765625000000 +60.044272562846 11294.218750000000 +61.039109845214 1753.034912109375 +63.997184367771 4165.606445312500 +64.004750648025 4249.142089843750 +68.011158941272 26967.845703125000 +68.993356336228 11891.033203125000 +69.009273188190 1077.398315429688 +69.044228412240 14899.603515625000 +72.936468187320 2032.373413085938 +73.063852449522 1719.634399414062 +76.485919231129 2172.000000000000 +79.020524571197 16902.101562500000 +80.048647839426 12657.626953125000 +81.936696543330 8232.779296875000 +82.996080678623 8146.264648437500 +87.043475160411 1395.252319335938 +87.054352310828 1558.482177734375 +89.058909693116 1269.118896484375 +89.069350868807 1247.488525390625 +89.505589887121 1342.000000000000 +90.488691498550 1942.000000000000 +91.053378263618 1475.000000000000 +95.951669732691 1976.000000000000 +97.967560868981 7359.775390625000 +100.074534978752 1189.000000000000 +102.090338226360 1826.376220703125 +109.942414205150 1188.000000000000 +113.962012843210 1736.000000000000 +114.090204103750 11387.237304687500 +115.093936155418 1026.477294921875 +118.084824300069 7671.000000000000 +122.095254248058 3649.000000000000 +122.962559128453 10112.945312500000 +123.090679016705 1699.000000000000 +123.961217643039 1068.000000000000 +130.157297802018 994.000000000000 +136.020183489680 1322.000000000000 +136.111243273071 1445.000000000000 +137.962665914090 1202.000000000000 +139.962346851635 1044.000000000000 +141.089611087824 1626.178955078125 +141.111315482047 1498.598510742188 +141.934405531056 2084.462402343750 +141.957003969247 15281.953125000000 +147.089927402646 2716.236816406250 +149.021952430256 5215.276855468750 +151.095029441084 2611.063720703125 +151.109299282509 3043.490966796875 +155.068716413981 1815.925781250000 +155.104692907060 1465.157470703125 +155.972438501058 4353.000000000000 +158.152200943323 12348.822265625000 +159.154956605569 1635.504028320312 +159.967803132941 1244.507446289062 +161.095175826667 1739.000000000000 +163.129926212915 1158.326904296875 +164.141946259428 1718.425781250000 +170.094715935231 2753.855468750000 +171.145377171095 1550.000000000000 +172.132577603702 1445.519653320312 +173.079147806049 8056.288574218750 +174.126251925613 1018.000000000000 +174.990645538544 1161.000000000000 +175.122110492133 1170.411743164062 +177.052488517392 1051.659423828125 +178.157387143850 1352.390502929688 +179.104449390129 1822.000000000000 +182.960513183082 2466.002441406250 +182.982893863190 1238.924926757812 +183.078198978970 1427.060058593750 +183.097659692423 1378.870727539062 +186.184710056301 1091.000000000000 +186.220156978700 1745.000000000000 +194.114989559698 3824.000000000000 +195.102013459731 2090.739746093750 +195.120720998964 2570.564453125000 +198.183752557279 2298.281738281250 +199.167445330918 1079.616577148438 +200.199182211058 1213.000000000000 +205.084290329945 996.000000000000 +211.107662654521 1040.748901367188 +211.126844372442 1047.980834960938 +217.105638765104 26745.580078125000 +218.109080318901 2892.000000000000 +219.093891661045 1471.017944335938 +221.151414683949 1411.084838867188 +223.062156383341 1011.187377929688 +223.113584496198 1057.747558593750 +224.126501131170 1396.085937500000 +228.193498338851 1717.108154296875 +235.167367598480 1268.345458984375 +235.203348790223 1014.675109863281 +239.087708963045 6146.106933593750 +242.282676845201 1728.000000000000 +246.860945003884 3475.000000000000 +249.183065513133 1588.561889648438 +250.176636932456 1366.377441406250 +250.998640546851 2659.000000000000 +251.181320564304 1150.891967773438 +252.995743699801 1989.000000000000 +256.224312470076 1526.016723632812 +267.170376627160 1639.885620117188 +278.208499725280 1244.000000000000 +279.092328768907 2042.000000000000 +281.049924199324 1627.000000000000 +284.162752099009 1097.000000000000 +289.119930492523 5051.885253906250 +290.121926056623 1045.000000000000 +291.116846102720 1626.000000000000 +304.111834403142 5771.000000000000 +305.115013708988 1041.000000000000 +309.227944713182 992.105407714844 +327.007466942849 3904.000000000000 +329.003581472897 3646.000000000000 +330.205068564965 2091.202148437500 +331.001047005985 1017.994262695312 +367.245746012184 1118.183349609375 +371.099142491710 1139.000000000000 +371.312999785903 1091.000000000000 +430.886671499821 1115.000000000000 +445.117775583424 2600.000000000000 +446.118588613662 999.000000000000 +500.273782823440 2782.000000000000 +502.288804355749 1789.000000000000 +505.850127143100 1506.000000000000 +512.413609192773 1457.411132812500 +519.133662820407 1026.000000000000 +520.335877972225 1195.000000000000 +524.368508006775 1667.000000000000 +536.162270956731 5375.000000000000 +537.162507713913 2702.000000000000 +538.161398187637 1920.000000000000 +542.320515114008 6963.231933593750 +543.325336207388 2300.000000000000 +544.334190717716 2569.000000000000 +546.911594543114 1103.000000000000 +556.437447753826 1659.000000000000 +610.180935335645 2124.000000000000 +611.179779797249 1379.000000000000 +612.179314588833 1053.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=684 experiment=3 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=684 experiment=3_0 +##scan 174 +##specref ms_run[1]:sample=1 period=1 cycle=684 experiment=3 +55.933399713683 4.000000000000 +132.907473414682 4.000000000000 +148.966093321176 4.000000000000 +149.906893640473 10.000000000000 +149.943081001765 5.000000000000 +193.129040282373 5.000000000000 +207.582964645885 4.000000000000 +209.155253484210 15.000000000000 +>compound 1_0-684004--175--UNKNOWN +>parentmass 304.111834403142 +>charge 1 +>rt 454.516000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +304.111834403142 5771.000000000000 +305.115013708988 1041.000000000000 +>ms1peaks +52.005055752743 2535.964355468750 +53.013304387882 13524.087890625000 +53.850466238024 1189.000000000000 +54.009168155297 353300.781250000000 +55.005867838546 6321.625488281250 +55.011096389479 6395.116699218750 +55.054048764476 1667.644042968750 +55.933744861774 5517.931640625000 +56.941678501836 2385.528808593750 +59.049246215078 62577.765625000000 +60.044272562846 11294.218750000000 +61.039109845214 1753.034912109375 +63.997184367771 4165.606445312500 +64.004750648025 4249.142089843750 +68.011158941272 26967.845703125000 +68.993356336228 11891.033203125000 +69.009273188190 1077.398315429688 +69.044228412240 14899.603515625000 +72.936468187320 2032.373413085938 +73.063852449522 1719.634399414062 +76.485919231129 2172.000000000000 +79.020524571197 16902.101562500000 +80.048647839426 12657.626953125000 +81.936696543330 8232.779296875000 +82.996080678623 8146.264648437500 +87.043475160411 1395.252319335938 +87.054352310828 1558.482177734375 +89.058909693116 1269.118896484375 +89.069350868807 1247.488525390625 +89.505589887121 1342.000000000000 +90.488691498550 1942.000000000000 +91.053378263618 1475.000000000000 +95.951669732691 1976.000000000000 +97.967560868981 7359.775390625000 +100.074534978752 1189.000000000000 +102.090338226360 1826.376220703125 +109.942414205150 1188.000000000000 +113.962012843210 1736.000000000000 +114.090204103750 11387.237304687500 +115.093936155418 1026.477294921875 +118.084824300069 7671.000000000000 +122.095254248058 3649.000000000000 +122.962559128453 10112.945312500000 +123.090679016705 1699.000000000000 +123.961217643039 1068.000000000000 +130.157297802018 994.000000000000 +136.020183489680 1322.000000000000 +136.111243273071 1445.000000000000 +137.962665914090 1202.000000000000 +139.962346851635 1044.000000000000 +141.089611087824 1626.178955078125 +141.111315482047 1498.598510742188 +141.934405531056 2084.462402343750 +141.957003969247 15281.953125000000 +147.089927402646 2716.236816406250 +149.021952430256 5215.276855468750 +151.095029441084 2611.063720703125 +151.109299282509 3043.490966796875 +155.068716413981 1815.925781250000 +155.104692907060 1465.157470703125 +155.972438501058 4353.000000000000 +158.152200943323 12348.822265625000 +159.154956605569 1635.504028320312 +159.967803132941 1244.507446289062 +161.095175826667 1739.000000000000 +163.129926212915 1158.326904296875 +164.141946259428 1718.425781250000 +170.094715935231 2753.855468750000 +171.145377171095 1550.000000000000 +172.132577603702 1445.519653320312 +173.079147806049 8056.288574218750 +174.126251925613 1018.000000000000 +174.990645538544 1161.000000000000 +175.122110492133 1170.411743164062 +177.052488517392 1051.659423828125 +178.157387143850 1352.390502929688 +179.104449390129 1822.000000000000 +182.960513183082 2466.002441406250 +182.982893863190 1238.924926757812 +183.078198978970 1427.060058593750 +183.097659692423 1378.870727539062 +186.184710056301 1091.000000000000 +186.220156978700 1745.000000000000 +194.114989559698 3824.000000000000 +195.102013459731 2090.739746093750 +195.120720998964 2570.564453125000 +198.183752557279 2298.281738281250 +199.167445330918 1079.616577148438 +200.199182211058 1213.000000000000 +205.084290329945 996.000000000000 +211.107662654521 1040.748901367188 +211.126844372442 1047.980834960938 +217.105638765104 26745.580078125000 +218.109080318901 2892.000000000000 +219.093891661045 1471.017944335938 +221.151414683949 1411.084838867188 +223.062156383341 1011.187377929688 +223.113584496198 1057.747558593750 +224.126501131170 1396.085937500000 +228.193498338851 1717.108154296875 +235.167367598480 1268.345458984375 +235.203348790223 1014.675109863281 +239.087708963045 6146.106933593750 +242.282676845201 1728.000000000000 +246.860945003884 3475.000000000000 +249.183065513133 1588.561889648438 +250.176636932456 1366.377441406250 +250.998640546851 2659.000000000000 +251.181320564304 1150.891967773438 +252.995743699801 1989.000000000000 +256.224312470076 1526.016723632812 +267.170376627160 1639.885620117188 +278.208499725280 1244.000000000000 +279.092328768907 2042.000000000000 +281.049924199324 1627.000000000000 +284.162752099009 1097.000000000000 +289.119930492523 5051.885253906250 +290.121926056623 1045.000000000000 +291.116846102720 1626.000000000000 +304.111834403142 5771.000000000000 +305.115013708988 1041.000000000000 +309.227944713182 992.105407714844 +327.007466942849 3904.000000000000 +329.003581472897 3646.000000000000 +330.205068564965 2091.202148437500 +331.001047005985 1017.994262695312 +367.245746012184 1118.183349609375 +371.099142491710 1139.000000000000 +371.312999785903 1091.000000000000 +430.886671499821 1115.000000000000 +445.117775583424 2600.000000000000 +446.118588613662 999.000000000000 +500.273782823440 2782.000000000000 +502.288804355749 1789.000000000000 +505.850127143100 1506.000000000000 +512.413609192773 1457.411132812500 +519.133662820407 1026.000000000000 +520.335877972225 1195.000000000000 +524.368508006775 1667.000000000000 +536.162270956731 5375.000000000000 +537.162507713913 2702.000000000000 +538.161398187637 1920.000000000000 +542.320515114008 6963.231933593750 +543.325336207388 2300.000000000000 +544.334190717716 2569.000000000000 +546.911594543114 1103.000000000000 +556.437447753826 1659.000000000000 +610.180935335645 2124.000000000000 +611.179779797249 1379.000000000000 +612.179314588833 1053.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=684 experiment=4 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=684 experiment=4_0 +##scan 175 +##specref ms_run[1]:sample=1 period=1 cycle=684 experiment=4 +58.065756662563 10.000000000000 +69.034469033042 10.000000000000 +69.070288089627 30.000000000000 +79.052768862105 15.000000000000 +79.061120803744 11.982326507568 +91.055155550254 45.000000000000 +111.117417408241 10.000000000000 +122.015699048448 10.000000000000 +153.035584424956 20.000000000000 +155.050735391808 10.000000000000 +168.984459760219 23.232782363892 +172.857985176874 10.000000000000 +184.981382012323 25.000000000000 +201.984304482606 235.000000000000 +214.990142693153 10.000000000000 +216.024018679503 10.000000000000 +217.007526902892 371.000000000000 +218.014323254882 10.000000000000 +234.037138132386 45.000000000000 +304.297688394723 10.000000000000 +>compound 1_0-687003--179--UNKNOWN +>parentmass 183.079154221527 +>charge 1 +>rt 455.986000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +183.079154221527 7850.959472656250 +>ms1peaks +52.005490913142 2856.815917968750 +53.013343072022 13812.188476562500 +53.850605831311 1291.431884765625 +54.009115880991 328155.000000000000 +55.005744354225 5757.590332031250 +55.011072694396 6215.563964843750 +55.054119575502 2154.577392578125 +55.933944296354 5630.660156250000 +56.941744735643 1912.926635742188 +59.049351001022 66858.421875000000 +60.044151449451 10781.885742187500 +61.039084713489 1591.516601562500 +63.997518372518 4162.436523437500 +64.004696904780 4781.064453125000 +68.011304808230 26746.746093750000 +68.993303810563 11162.061523437500 +69.008378115545 1132.745971679688 +69.044389768907 14594.750976562500 +72.043754055495 1322.000000000000 +72.936537933002 1607.783325195312 +73.064105559664 1895.620971679688 +76.485680791647 1972.000000000000 +79.020611107817 17992.046875000000 +80.048603805394 13594.717773437500 +81.936710304506 7198.053222656250 +82.996193322152 7376.406738281250 +87.043600561504 1255.485473632812 +87.053783220161 1553.396606445312 +89.058907427357 1123.208007812500 +89.069819681631 1055.785766601562 +89.505899677732 1156.000000000000 +90.488769944096 1533.000000000000 +91.053145860518 1431.000000000000 +95.952165865680 2182.000000000000 +97.967631362833 6497.294433593750 +100.074545449931 1716.000000000000 +102.090221028263 1387.000000000000 +109.063049483947 1012.116699218750 +109.942153345069 1452.000000000000 +113.962445333259 1684.000000000000 +114.090276853774 12082.453125000000 +118.084773692065 6530.000000000000 +122.094857747024 3047.322021484375 +122.962432868335 9416.000000000000 +123.090585410840 1822.000000000000 +123.963982814853 988.000000000000 +124.086550553996 1074.477783203125 +130.157886479404 1240.000000000000 +136.020390443747 1587.000000000000 +136.110956552157 1500.000000000000 +137.962846866810 1256.000000000000 +141.089603018162 1519.407104492188 +141.111472948240 1413.114990234375 +141.935054228464 1116.855590820312 +141.957097279681 13660.073242187500 +142.958591669352 1117.000000000000 +147.089829357582 2806.230468750000 +149.021902216367 5177.710449218750 +151.095342394980 2997.552001953125 +151.108557059425 3360.613037109375 +155.068806099042 1598.362915039062 +155.104952752278 1765.000000000000 +155.950110686475 1433.680908203125 +155.972427035923 4323.499511718750 +158.095134507456 1020.880249023438 +158.152388441329 11159.541015625000 +159.154838096350 1503.372192382812 +159.966885303469 1170.000000000000 +161.094444513946 1756.540771484375 +163.130177704431 1001.379089355469 +164.142104330731 1715.624145507812 +170.094165109319 3045.087890625000 +171.145446226058 1368.332031250000 +172.131808411455 1113.198120117188 +173.079261647493 8306.517578125000 +174.125838124071 1115.136596679688 +174.989707397947 1276.000000000000 +175.112448974743 1086.958007812500 +175.124005162229 1289.271484375000 +177.052712430960 1327.259765625000 +178.157052341563 1630.944335937500 +179.104408799888 1827.331665039062 +182.959559693001 2180.209472656250 +182.981790518244 1145.477783203125 +183.079154221527 7850.959472656250 +183.135342912680 1087.518188476562 +184.081746370060 1324.000000000000 +186.219743283093 1302.000000000000 +193.156052471170 1133.000000000000 +194.115226761582 3466.569580078125 +195.119978231816 2249.003417968750 +198.183473402098 2189.993652343750 +199.167841921681 1202.129638671875 +200.199542555887 1122.438842773438 +215.079677034874 2276.823974609375 +217.105550728725 26923.291015625000 +218.108382747653 3014.975097656250 +219.093821633479 1262.008056640625 +221.151012269173 1225.000000000000 +224.126230501999 1303.000000000000 +228.193909496411 1772.000000000000 +235.167295298072 1244.723510742188 +239.087282171578 5422.000000000000 +240.089411155141 999.000000000000 +242.282354136822 1568.000000000000 +246.860420711226 2813.000000000000 +249.183139074826 1754.000000000000 +250.176815657417 1552.000000000000 +250.998509242609 2922.779052734375 +251.184045000521 1305.000000000000 +252.995381034730 1991.000000000000 +267.170407683590 1500.481689453125 +279.092208106162 2221.044433593750 +281.049630405504 1461.000000000000 +289.118879430632 3075.139404296875 +294.134282279592 7102.458007812500 +295.137497230959 1145.000000000000 +296.131528242740 2281.315185546875 +304.111413307086 3993.000000000000 +309.231362806436 1280.000000000000 +327.006412578177 4079.000000000000 +329.003384820870 3862.000000000000 +330.204624838179 1937.828125000000 +331.000081272182 1236.000000000000 +366.261220987441 1000.000000000000 +367.245152709250 2543.728271484375 +371.099389101826 1023.869445800781 +371.312072920541 1306.000000000000 +432.881296968492 1089.351074218750 +445.116584481209 2522.311279296875 +446.116818119442 1126.916748046875 +500.273638483063 1762.000000000000 +502.289932482603 2009.000000000000 +505.850198942561 1165.000000000000 +512.410045377136 1082.000000000000 +519.136324972972 1034.000000000000 +520.335378109865 1339.000000000000 +524.366912669160 1737.044799804688 +536.161580652092 5032.000000000000 +537.162984439978 2928.000000000000 +538.160917314474 2287.627441406250 +542.320056209620 5526.704101562500 +543.324693498787 1598.000000000000 +544.334274329341 2597.676757812500 +546.911003055161 1109.000000000000 +556.437301996231 996.000000000000 +559.345805360171 1012.000000000000 +610.179922446670 1952.000000000000 +611.180926288014 1305.000000000000 +612.178846241889 1229.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=687 experiment=3 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=687 experiment=3_0 +##scan 179 +##specref ms_run[1]:sample=1 period=1 cycle=687 experiment=3 +51.021703201076 75.000000000000 +51.026581301372 70.944709777832 +52.948135080807 13.000000000000 +55.054860824190 30.000000000000 +55.934631962387 443.000000000000 +56.942241444421 3408.759521484375 +57.942780838039 60.000000000000 +67.933424173347 75.000000000000 +67.938546014682 75.000000000000 +72.936325429933 75.000000000000 +77.038493708339 1212.000000000000 +83.943164342165 30.000000000000 +96.935076029163 60.000000000000 +96.959185559529 15.000000000000 +97.935287693416 30.000000000000 +97.968408780280 1010.703002929688 +98.944253428690 15.000000000000 +98.971961663209 45.000000000000 +98.981338481859 45.000000000000 +100.932460595523 135.000000000000 +105.032857183944 591.000000000000 +128.935348255251 60.000000000000 +>compound 1_0-687004--180--UNKNOWN +>parentmass 215.079677034874 +>charge 1 +>rt 455.986000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +215.079677034874 2276.823974609375 +>ms1peaks +52.005490913142 2856.815917968750 +53.013343072022 13812.188476562500 +53.850605831311 1291.431884765625 +54.009115880991 328155.000000000000 +55.005744354225 5757.590332031250 +55.011072694396 6215.563964843750 +55.054119575502 2154.577392578125 +55.933944296354 5630.660156250000 +56.941744735643 1912.926635742188 +59.049351001022 66858.421875000000 +60.044151449451 10781.885742187500 +61.039084713489 1591.516601562500 +63.997518372518 4162.436523437500 +64.004696904780 4781.064453125000 +68.011304808230 26746.746093750000 +68.993303810563 11162.061523437500 +69.008378115545 1132.745971679688 +69.044389768907 14594.750976562500 +72.043754055495 1322.000000000000 +72.936537933002 1607.783325195312 +73.064105559664 1895.620971679688 +76.485680791647 1972.000000000000 +79.020611107817 17992.046875000000 +80.048603805394 13594.717773437500 +81.936710304506 7198.053222656250 +82.996193322152 7376.406738281250 +87.043600561504 1255.485473632812 +87.053783220161 1553.396606445312 +89.058907427357 1123.208007812500 +89.069819681631 1055.785766601562 +89.505899677732 1156.000000000000 +90.488769944096 1533.000000000000 +91.053145860518 1431.000000000000 +95.952165865680 2182.000000000000 +97.967631362833 6497.294433593750 +100.074545449931 1716.000000000000 +102.090221028263 1387.000000000000 +109.063049483947 1012.116699218750 +109.942153345069 1452.000000000000 +113.962445333259 1684.000000000000 +114.090276853774 12082.453125000000 +118.084773692065 6530.000000000000 +122.094857747024 3047.322021484375 +122.962432868335 9416.000000000000 +123.090585410840 1822.000000000000 +123.963982814853 988.000000000000 +124.086550553996 1074.477783203125 +130.157886479404 1240.000000000000 +136.020390443747 1587.000000000000 +136.110956552157 1500.000000000000 +137.962846866810 1256.000000000000 +141.089603018162 1519.407104492188 +141.111472948240 1413.114990234375 +141.935054228464 1116.855590820312 +141.957097279681 13660.073242187500 +142.958591669352 1117.000000000000 +147.089829357582 2806.230468750000 +149.021902216367 5177.710449218750 +151.095342394980 2997.552001953125 +151.108557059425 3360.613037109375 +155.068806099042 1598.362915039062 +155.104952752278 1765.000000000000 +155.950110686475 1433.680908203125 +155.972427035923 4323.499511718750 +158.095134507456 1020.880249023438 +158.152388441329 11159.541015625000 +159.154838096350 1503.372192382812 +159.966885303469 1170.000000000000 +161.094444513946 1756.540771484375 +163.130177704431 1001.379089355469 +164.142104330731 1715.624145507812 +170.094165109319 3045.087890625000 +171.145446226058 1368.332031250000 +172.131808411455 1113.198120117188 +173.079261647493 8306.517578125000 +174.125838124071 1115.136596679688 +174.989707397947 1276.000000000000 +175.112448974743 1086.958007812500 +175.124005162229 1289.271484375000 +177.052712430960 1327.259765625000 +178.157052341563 1630.944335937500 +179.104408799888 1827.331665039062 +182.959559693001 2180.209472656250 +182.981790518244 1145.477783203125 +183.079154221527 7850.959472656250 +183.135342912680 1087.518188476562 +184.081746370060 1324.000000000000 +186.219743283093 1302.000000000000 +193.156052471170 1133.000000000000 +194.115226761582 3466.569580078125 +195.119978231816 2249.003417968750 +198.183473402098 2189.993652343750 +199.167841921681 1202.129638671875 +200.199542555887 1122.438842773438 +215.079677034874 2276.823974609375 +217.105550728725 26923.291015625000 +218.108382747653 3014.975097656250 +219.093821633479 1262.008056640625 +221.151012269173 1225.000000000000 +224.126230501999 1303.000000000000 +228.193909496411 1772.000000000000 +235.167295298072 1244.723510742188 +239.087282171578 5422.000000000000 +240.089411155141 999.000000000000 +242.282354136822 1568.000000000000 +246.860420711226 2813.000000000000 +249.183139074826 1754.000000000000 +250.176815657417 1552.000000000000 +250.998509242609 2922.779052734375 +251.184045000521 1305.000000000000 +252.995381034730 1991.000000000000 +267.170407683590 1500.481689453125 +279.092208106162 2221.044433593750 +281.049630405504 1461.000000000000 +289.118879430632 3075.139404296875 +294.134282279592 7102.458007812500 +295.137497230959 1145.000000000000 +296.131528242740 2281.315185546875 +304.111413307086 3993.000000000000 +309.231362806436 1280.000000000000 +327.006412578177 4079.000000000000 +329.003384820870 3862.000000000000 +330.204624838179 1937.828125000000 +331.000081272182 1236.000000000000 +366.261220987441 1000.000000000000 +367.245152709250 2543.728271484375 +371.099389101826 1023.869445800781 +371.312072920541 1306.000000000000 +432.881296968492 1089.351074218750 +445.116584481209 2522.311279296875 +446.116818119442 1126.916748046875 +500.273638483063 1762.000000000000 +502.289932482603 2009.000000000000 +505.850198942561 1165.000000000000 +512.410045377136 1082.000000000000 +519.136324972972 1034.000000000000 +520.335378109865 1339.000000000000 +524.366912669160 1737.044799804688 +536.161580652092 5032.000000000000 +537.162984439978 2928.000000000000 +538.160917314474 2287.627441406250 +542.320056209620 5526.704101562500 +543.324693498787 1598.000000000000 +544.334274329341 2597.676757812500 +546.911003055161 1109.000000000000 +556.437301996231 996.000000000000 +559.345805360171 1012.000000000000 +610.179922446670 1952.000000000000 +611.180926288014 1305.000000000000 +612.178846241889 1229.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=687 experiment=4 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=687 experiment=4_0 +##scan 180 +##specref ms_run[1]:sample=1 period=1 cycle=687 experiment=4 +123.084346152165 13.000000000000 +167.071345579415 411.000000000000 +167.101821731739 45.000000000000 +168.079828407572 180.000000000000 +169.085714769963 13.000000000000 +179.661687111518 13.000000000000 +198.078945766776 30.000000000000 +>compound 1_0-687005--181--UNKNOWN +>parentmass 294.134282279592 +>charge 1 +>rt 455.986000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +294.134282279592 7102.458007812500 +295.137497230959 1145.000000000000 +>ms1peaks +52.005490913142 2856.815917968750 +53.013343072022 13812.188476562500 +53.850605831311 1291.431884765625 +54.009115880991 328155.000000000000 +55.005744354225 5757.590332031250 +55.011072694396 6215.563964843750 +55.054119575502 2154.577392578125 +55.933944296354 5630.660156250000 +56.941744735643 1912.926635742188 +59.049351001022 66858.421875000000 +60.044151449451 10781.885742187500 +61.039084713489 1591.516601562500 +63.997518372518 4162.436523437500 +64.004696904780 4781.064453125000 +68.011304808230 26746.746093750000 +68.993303810563 11162.061523437500 +69.008378115545 1132.745971679688 +69.044389768907 14594.750976562500 +72.043754055495 1322.000000000000 +72.936537933002 1607.783325195312 +73.064105559664 1895.620971679688 +76.485680791647 1972.000000000000 +79.020611107817 17992.046875000000 +80.048603805394 13594.717773437500 +81.936710304506 7198.053222656250 +82.996193322152 7376.406738281250 +87.043600561504 1255.485473632812 +87.053783220161 1553.396606445312 +89.058907427357 1123.208007812500 +89.069819681631 1055.785766601562 +89.505899677732 1156.000000000000 +90.488769944096 1533.000000000000 +91.053145860518 1431.000000000000 +95.952165865680 2182.000000000000 +97.967631362833 6497.294433593750 +100.074545449931 1716.000000000000 +102.090221028263 1387.000000000000 +109.063049483947 1012.116699218750 +109.942153345069 1452.000000000000 +113.962445333259 1684.000000000000 +114.090276853774 12082.453125000000 +118.084773692065 6530.000000000000 +122.094857747024 3047.322021484375 +122.962432868335 9416.000000000000 +123.090585410840 1822.000000000000 +123.963982814853 988.000000000000 +124.086550553996 1074.477783203125 +130.157886479404 1240.000000000000 +136.020390443747 1587.000000000000 +136.110956552157 1500.000000000000 +137.962846866810 1256.000000000000 +141.089603018162 1519.407104492188 +141.111472948240 1413.114990234375 +141.935054228464 1116.855590820312 +141.957097279681 13660.073242187500 +142.958591669352 1117.000000000000 +147.089829357582 2806.230468750000 +149.021902216367 5177.710449218750 +151.095342394980 2997.552001953125 +151.108557059425 3360.613037109375 +155.068806099042 1598.362915039062 +155.104952752278 1765.000000000000 +155.950110686475 1433.680908203125 +155.972427035923 4323.499511718750 +158.095134507456 1020.880249023438 +158.152388441329 11159.541015625000 +159.154838096350 1503.372192382812 +159.966885303469 1170.000000000000 +161.094444513946 1756.540771484375 +163.130177704431 1001.379089355469 +164.142104330731 1715.624145507812 +170.094165109319 3045.087890625000 +171.145446226058 1368.332031250000 +172.131808411455 1113.198120117188 +173.079261647493 8306.517578125000 +174.125838124071 1115.136596679688 +174.989707397947 1276.000000000000 +175.112448974743 1086.958007812500 +175.124005162229 1289.271484375000 +177.052712430960 1327.259765625000 +178.157052341563 1630.944335937500 +179.104408799888 1827.331665039062 +182.959559693001 2180.209472656250 +182.981790518244 1145.477783203125 +183.079154221527 7850.959472656250 +183.135342912680 1087.518188476562 +184.081746370060 1324.000000000000 +186.219743283093 1302.000000000000 +193.156052471170 1133.000000000000 +194.115226761582 3466.569580078125 +195.119978231816 2249.003417968750 +198.183473402098 2189.993652343750 +199.167841921681 1202.129638671875 +200.199542555887 1122.438842773438 +215.079677034874 2276.823974609375 +217.105550728725 26923.291015625000 +218.108382747653 3014.975097656250 +219.093821633479 1262.008056640625 +221.151012269173 1225.000000000000 +224.126230501999 1303.000000000000 +228.193909496411 1772.000000000000 +235.167295298072 1244.723510742188 +239.087282171578 5422.000000000000 +240.089411155141 999.000000000000 +242.282354136822 1568.000000000000 +246.860420711226 2813.000000000000 +249.183139074826 1754.000000000000 +250.176815657417 1552.000000000000 +250.998509242609 2922.779052734375 +251.184045000521 1305.000000000000 +252.995381034730 1991.000000000000 +267.170407683590 1500.481689453125 +279.092208106162 2221.044433593750 +281.049630405504 1461.000000000000 +289.118879430632 3075.139404296875 +294.134282279592 7102.458007812500 +295.137497230959 1145.000000000000 +296.131528242740 2281.315185546875 +304.111413307086 3993.000000000000 +309.231362806436 1280.000000000000 +327.006412578177 4079.000000000000 +329.003384820870 3862.000000000000 +330.204624838179 1937.828125000000 +331.000081272182 1236.000000000000 +366.261220987441 1000.000000000000 +367.245152709250 2543.728271484375 +371.099389101826 1023.869445800781 +371.312072920541 1306.000000000000 +432.881296968492 1089.351074218750 +445.116584481209 2522.311279296875 +446.116818119442 1126.916748046875 +500.273638483063 1762.000000000000 +502.289932482603 2009.000000000000 +505.850198942561 1165.000000000000 +512.410045377136 1082.000000000000 +519.136324972972 1034.000000000000 +520.335378109865 1339.000000000000 +524.366912669160 1737.044799804688 +536.161580652092 5032.000000000000 +537.162984439978 2928.000000000000 +538.160917314474 2287.627441406250 +542.320056209620 5526.704101562500 +543.324693498787 1598.000000000000 +544.334274329341 2597.676757812500 +546.911003055161 1109.000000000000 +556.437301996231 996.000000000000 +559.345805360171 1012.000000000000 +610.179922446670 1952.000000000000 +611.180926288014 1305.000000000000 +612.178846241889 1229.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=687 experiment=5 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=687 experiment=5_0 +##scan 181 +##specref ms_run[1]:sample=1 period=1 cycle=687 experiment=5 +70.039359100061 379.000000000000 +92.054778728593 13.000000000000 +125.013354375462 165.000000000000 +127.015014494636 30.000000000000 +>compound 1_0-687006--182--UNKNOWN +>parentmass 367.245152709250 +>charge 1 +>rt 455.986000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +367.245152709250 2543.728271484375 +>ms1peaks +52.005490913142 2856.815917968750 +53.013343072022 13812.188476562500 +53.850605831311 1291.431884765625 +54.009115880991 328155.000000000000 +55.005744354225 5757.590332031250 +55.011072694396 6215.563964843750 +55.054119575502 2154.577392578125 +55.933944296354 5630.660156250000 +56.941744735643 1912.926635742188 +59.049351001022 66858.421875000000 +60.044151449451 10781.885742187500 +61.039084713489 1591.516601562500 +63.997518372518 4162.436523437500 +64.004696904780 4781.064453125000 +68.011304808230 26746.746093750000 +68.993303810563 11162.061523437500 +69.008378115545 1132.745971679688 +69.044389768907 14594.750976562500 +72.043754055495 1322.000000000000 +72.936537933002 1607.783325195312 +73.064105559664 1895.620971679688 +76.485680791647 1972.000000000000 +79.020611107817 17992.046875000000 +80.048603805394 13594.717773437500 +81.936710304506 7198.053222656250 +82.996193322152 7376.406738281250 +87.043600561504 1255.485473632812 +87.053783220161 1553.396606445312 +89.058907427357 1123.208007812500 +89.069819681631 1055.785766601562 +89.505899677732 1156.000000000000 +90.488769944096 1533.000000000000 +91.053145860518 1431.000000000000 +95.952165865680 2182.000000000000 +97.967631362833 6497.294433593750 +100.074545449931 1716.000000000000 +102.090221028263 1387.000000000000 +109.063049483947 1012.116699218750 +109.942153345069 1452.000000000000 +113.962445333259 1684.000000000000 +114.090276853774 12082.453125000000 +118.084773692065 6530.000000000000 +122.094857747024 3047.322021484375 +122.962432868335 9416.000000000000 +123.090585410840 1822.000000000000 +123.963982814853 988.000000000000 +124.086550553996 1074.477783203125 +130.157886479404 1240.000000000000 +136.020390443747 1587.000000000000 +136.110956552157 1500.000000000000 +137.962846866810 1256.000000000000 +141.089603018162 1519.407104492188 +141.111472948240 1413.114990234375 +141.935054228464 1116.855590820312 +141.957097279681 13660.073242187500 +142.958591669352 1117.000000000000 +147.089829357582 2806.230468750000 +149.021902216367 5177.710449218750 +151.095342394980 2997.552001953125 +151.108557059425 3360.613037109375 +155.068806099042 1598.362915039062 +155.104952752278 1765.000000000000 +155.950110686475 1433.680908203125 +155.972427035923 4323.499511718750 +158.095134507456 1020.880249023438 +158.152388441329 11159.541015625000 +159.154838096350 1503.372192382812 +159.966885303469 1170.000000000000 +161.094444513946 1756.540771484375 +163.130177704431 1001.379089355469 +164.142104330731 1715.624145507812 +170.094165109319 3045.087890625000 +171.145446226058 1368.332031250000 +172.131808411455 1113.198120117188 +173.079261647493 8306.517578125000 +174.125838124071 1115.136596679688 +174.989707397947 1276.000000000000 +175.112448974743 1086.958007812500 +175.124005162229 1289.271484375000 +177.052712430960 1327.259765625000 +178.157052341563 1630.944335937500 +179.104408799888 1827.331665039062 +182.959559693001 2180.209472656250 +182.981790518244 1145.477783203125 +183.079154221527 7850.959472656250 +183.135342912680 1087.518188476562 +184.081746370060 1324.000000000000 +186.219743283093 1302.000000000000 +193.156052471170 1133.000000000000 +194.115226761582 3466.569580078125 +195.119978231816 2249.003417968750 +198.183473402098 2189.993652343750 +199.167841921681 1202.129638671875 +200.199542555887 1122.438842773438 +215.079677034874 2276.823974609375 +217.105550728725 26923.291015625000 +218.108382747653 3014.975097656250 +219.093821633479 1262.008056640625 +221.151012269173 1225.000000000000 +224.126230501999 1303.000000000000 +228.193909496411 1772.000000000000 +235.167295298072 1244.723510742188 +239.087282171578 5422.000000000000 +240.089411155141 999.000000000000 +242.282354136822 1568.000000000000 +246.860420711226 2813.000000000000 +249.183139074826 1754.000000000000 +250.176815657417 1552.000000000000 +250.998509242609 2922.779052734375 +251.184045000521 1305.000000000000 +252.995381034730 1991.000000000000 +267.170407683590 1500.481689453125 +279.092208106162 2221.044433593750 +281.049630405504 1461.000000000000 +289.118879430632 3075.139404296875 +294.134282279592 7102.458007812500 +295.137497230959 1145.000000000000 +296.131528242740 2281.315185546875 +304.111413307086 3993.000000000000 +309.231362806436 1280.000000000000 +327.006412578177 4079.000000000000 +329.003384820870 3862.000000000000 +330.204624838179 1937.828125000000 +331.000081272182 1236.000000000000 +366.261220987441 1000.000000000000 +367.245152709250 2543.728271484375 +371.099389101826 1023.869445800781 +371.312072920541 1306.000000000000 +432.881296968492 1089.351074218750 +445.116584481209 2522.311279296875 +446.116818119442 1126.916748046875 +500.273638483063 1762.000000000000 +502.289932482603 2009.000000000000 +505.850198942561 1165.000000000000 +512.410045377136 1082.000000000000 +519.136324972972 1034.000000000000 +520.335378109865 1339.000000000000 +524.366912669160 1737.044799804688 +536.161580652092 5032.000000000000 +537.162984439978 2928.000000000000 +538.160917314474 2287.627441406250 +542.320056209620 5526.704101562500 +543.324693498787 1598.000000000000 +544.334274329341 2597.676757812500 +546.911003055161 1109.000000000000 +556.437301996231 996.000000000000 +559.345805360171 1012.000000000000 +610.179922446670 1952.000000000000 +611.180926288014 1305.000000000000 +612.178846241889 1229.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=687 experiment=6 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=687 experiment=6_0 +##scan 182 +##specref ms_run[1]:sample=1 period=1 cycle=687 experiment=6 +59.050126987362 6.000000000000 +367.246890875925 55.000000000000 +>compound 1_0-687007--183--UNKNOWN +>parentmass 526.285347016419 +>charge 1 +>rt 455.986000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1peaks +52.005490913142 2856.815917968750 +53.013343072022 13812.188476562500 +53.850605831311 1291.431884765625 +54.009115880991 328155.000000000000 +55.005744354225 5757.590332031250 +55.011072694396 6215.563964843750 +55.054119575502 2154.577392578125 +55.933944296354 5630.660156250000 +56.941744735643 1912.926635742188 +59.049351001022 66858.421875000000 +60.044151449451 10781.885742187500 +61.039084713489 1591.516601562500 +63.997518372518 4162.436523437500 +64.004696904780 4781.064453125000 +68.011304808230 26746.746093750000 +68.993303810563 11162.061523437500 +69.008378115545 1132.745971679688 +69.044389768907 14594.750976562500 +72.043754055495 1322.000000000000 +72.936537933002 1607.783325195312 +73.064105559664 1895.620971679688 +76.485680791647 1972.000000000000 +79.020611107817 17992.046875000000 +80.048603805394 13594.717773437500 +81.936710304506 7198.053222656250 +82.996193322152 7376.406738281250 +87.043600561504 1255.485473632812 +87.053783220161 1553.396606445312 +89.058907427357 1123.208007812500 +89.069819681631 1055.785766601562 +89.505899677732 1156.000000000000 +90.488769944096 1533.000000000000 +91.053145860518 1431.000000000000 +95.952165865680 2182.000000000000 +97.967631362833 6497.294433593750 +100.074545449931 1716.000000000000 +102.090221028263 1387.000000000000 +109.063049483947 1012.116699218750 +109.942153345069 1452.000000000000 +113.962445333259 1684.000000000000 +114.090276853774 12082.453125000000 +118.084773692065 6530.000000000000 +122.094857747024 3047.322021484375 +122.962432868335 9416.000000000000 +123.090585410840 1822.000000000000 +123.963982814853 988.000000000000 +124.086550553996 1074.477783203125 +130.157886479404 1240.000000000000 +136.020390443747 1587.000000000000 +136.110956552157 1500.000000000000 +137.962846866810 1256.000000000000 +141.089603018162 1519.407104492188 +141.111472948240 1413.114990234375 +141.935054228464 1116.855590820312 +141.957097279681 13660.073242187500 +142.958591669352 1117.000000000000 +147.089829357582 2806.230468750000 +149.021902216367 5177.710449218750 +151.095342394980 2997.552001953125 +151.108557059425 3360.613037109375 +155.068806099042 1598.362915039062 +155.104952752278 1765.000000000000 +155.950110686475 1433.680908203125 +155.972427035923 4323.499511718750 +158.095134507456 1020.880249023438 +158.152388441329 11159.541015625000 +159.154838096350 1503.372192382812 +159.966885303469 1170.000000000000 +161.094444513946 1756.540771484375 +163.130177704431 1001.379089355469 +164.142104330731 1715.624145507812 +170.094165109319 3045.087890625000 +171.145446226058 1368.332031250000 +172.131808411455 1113.198120117188 +173.079261647493 8306.517578125000 +174.125838124071 1115.136596679688 +174.989707397947 1276.000000000000 +175.112448974743 1086.958007812500 +175.124005162229 1289.271484375000 +177.052712430960 1327.259765625000 +178.157052341563 1630.944335937500 +179.104408799888 1827.331665039062 +182.959559693001 2180.209472656250 +182.981790518244 1145.477783203125 +183.079154221527 7850.959472656250 +183.135342912680 1087.518188476562 +184.081746370060 1324.000000000000 +186.219743283093 1302.000000000000 +193.156052471170 1133.000000000000 +194.115226761582 3466.569580078125 +195.119978231816 2249.003417968750 +198.183473402098 2189.993652343750 +199.167841921681 1202.129638671875 +200.199542555887 1122.438842773438 +215.079677034874 2276.823974609375 +217.105550728725 26923.291015625000 +218.108382747653 3014.975097656250 +219.093821633479 1262.008056640625 +221.151012269173 1225.000000000000 +224.126230501999 1303.000000000000 +228.193909496411 1772.000000000000 +235.167295298072 1244.723510742188 +239.087282171578 5422.000000000000 +240.089411155141 999.000000000000 +242.282354136822 1568.000000000000 +246.860420711226 2813.000000000000 +249.183139074826 1754.000000000000 +250.176815657417 1552.000000000000 +250.998509242609 2922.779052734375 +251.184045000521 1305.000000000000 +252.995381034730 1991.000000000000 +267.170407683590 1500.481689453125 +279.092208106162 2221.044433593750 +281.049630405504 1461.000000000000 +289.118879430632 3075.139404296875 +294.134282279592 7102.458007812500 +295.137497230959 1145.000000000000 +296.131528242740 2281.315185546875 +304.111413307086 3993.000000000000 +309.231362806436 1280.000000000000 +327.006412578177 4079.000000000000 +329.003384820870 3862.000000000000 +330.204624838179 1937.828125000000 +331.000081272182 1236.000000000000 +366.261220987441 1000.000000000000 +367.245152709250 2543.728271484375 +371.099389101826 1023.869445800781 +371.312072920541 1306.000000000000 +432.881296968492 1089.351074218750 +445.116584481209 2522.311279296875 +446.116818119442 1126.916748046875 +500.273638483063 1762.000000000000 +502.289932482603 2009.000000000000 +505.850198942561 1165.000000000000 +512.410045377136 1082.000000000000 +519.136324972972 1034.000000000000 +520.335378109865 1339.000000000000 +524.366912669160 1737.044799804688 +536.161580652092 5032.000000000000 +537.162984439978 2928.000000000000 +538.160917314474 2287.627441406250 +542.320056209620 5526.704101562500 +543.324693498787 1598.000000000000 +544.334274329341 2597.676757812500 +546.911003055161 1109.000000000000 +556.437301996231 996.000000000000 +559.345805360171 1012.000000000000 +610.179922446670 1952.000000000000 +611.180926288014 1305.000000000000 +612.178846241889 1229.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=687 experiment=7 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=687 experiment=7_0 +##scan 183 +##specref ms_run[1]:sample=1 period=1 cycle=687 experiment=7 +226.361422828215 6.000000000000 +>compound 1_0-689002--186--UNKNOWN +>parentmass 105.031632449428 +>charge 1 +>rt 457.185000000000 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1peaks +52.005462937563 2404.005859375000 +53.013291366738 14382.492187500000 +53.850539553305 1229.187622070312 +54.009137311492 335318.000000000000 +55.005948620481 6161.950683593750 +55.011128007332 6285.288085937500 +55.054325576409 1904.291870117188 +55.934034663954 5424.790039062500 +56.941630178150 2073.437011718750 +59.049263704528 45991.808593750000 +60.044265496272 10028.100585937500 +61.039219981197 1866.554443359375 +63.997551212800 4047.327392578125 +64.004651365857 4144.961425781250 +68.011321078807 28311.681640625000 +68.993468824753 10369.397460937500 +69.008330083518 1076.394409179688 +69.014780961627 1031.417968750000 +69.034006623211 1372.284179687500 +69.044386265012 14840.317382812500 +72.043967729324 961.000000000000 +72.936188600152 2275.410400390625 +73.063939083279 1847.228393554688 +76.486070495145 1946.000000000000 +79.020643149971 15263.070312500000 +80.048737130547 12141.673828125000 +81.936659734558 7420.991699218750 +82.996161374814 7954.683105468750 +87.044343635950 1145.286743164062 +87.054280514165 1440.349121093750 +89.058652188735 1042.975463867188 +89.069441604273 1391.003295898438 +89.505888388333 1419.000000000000 +90.488676329376 1646.358642578125 +91.053308419714 1221.000000000000 +95.952111940460 1863.000000000000 +97.967641857491 6593.246093750000 +100.074145856940 1294.309326171875 +102.090348283833 1653.000000000000 +109.942333319895 1240.000000000000 +113.962095949677 1891.904907226562 +114.090277449217 11240.656250000000 +118.084964478938 6656.282226562500 +122.095248338368 3579.000000000000 +122.962621350821 9606.000000000000 +123.091751966098 1626.335327148438 +123.961858399993 1077.000000000000 +129.051454066560 957.292175292969 +130.157834981831 1121.000000000000 +136.020382584948 1638.000000000000 +136.110904453860 1209.000000000000 +137.963169325275 1085.686401367188 +138.968688854948 945.000000000000 +141.089809710014 1620.046997070312 +141.111682323879 1569.642211914062 +141.957273542779 14288.949218750000 +142.959737655472 1012.329345703125 +147.090337414184 2504.000000000000 +149.022021871638 4632.739746093750 +149.041582734414 2016.745361328125 +151.095167567069 2825.406005859375 +151.110049739141 3314.160888671875 +155.068980344091 1536.570190429688 +155.104752512375 2317.000000000000 +155.972625015581 3891.629150390625 +158.095129691286 1219.298461914062 +158.152598167441 11767.000000000000 +159.155086324762 1635.707519531250 +159.968174619078 1195.000000000000 +161.095291598324 1520.091796875000 +163.130701462733 1176.503540039062 +164.141925774250 1498.388916015625 +170.094531250990 2684.532226562500 +171.099200185526 1002.465209960938 +171.145851696422 1668.000000000000 +172.131464583877 1427.059082031250 +173.079412347408 7576.692871093750 +174.125997274925 1246.000000000000 +174.990512217255 1408.000000000000 +175.112243989843 1216.865112304688 +177.052924868716 943.000000000000 +178.157812588331 1543.762939453125 +179.105184029538 1979.000000000000 +182.960779543919 2177.131103515625 +183.079291017897 9365.041992187500 +183.135962143350 950.983337402344 +184.081574508754 1558.816284179688 +186.219805518930 1652.000000000000 +193.157067173133 1038.000000000000 +194.116062385202 4196.000000000000 +195.121553672965 2164.767089843750 +198.184510207575 2324.000000000000 +200.198764613695 1109.907592773438 +215.080394723136 2952.000000000000 +217.105714936069 25356.156250000000 +218.109166987098 2841.000000000000 +219.094215469340 1412.398559570312 +221.151646030092 943.833679199219 +223.114905631113 998.539367675781 +224.126818598156 1201.000000000000 +227.126338620981 3072.884277343750 +227.158228343459 939.111328125000 +228.194343102588 1649.035522460938 +235.167565514045 1124.013427734375 +239.087483577433 5670.000000000000 +242.282534898909 2001.000000000000 +246.860905861795 3298.000000000000 +249.108530541089 1570.259887695312 +249.183555112515 1594.000000000000 +250.177920056779 1214.311523437500 +250.998285620431 2621.433593750000 +251.182611644515 1186.000000000000 +252.995541403401 1651.000000000000 +267.170989220468 1681.956176757812 +279.092351342498 1873.000000000000 +281.049332169974 1243.000000000000 +289.120224828919 1876.277954101562 +294.135548677238 8432.645507812500 +295.138434098782 1394.059326171875 +295.188945664971 1586.712036132812 +295.224952419882 1034.511840820312 +296.132198968461 2976.000000000000 +304.111105892876 3524.000000000000 +309.231658422928 1464.458862304688 +327.006917332691 3517.268310546875 +329.004024426409 3549.000000000000 +330.204970084658 1869.000000000000 +331.000500497877 1235.000000000000 +367.244334927149 2268.000000000000 +371.100005273709 1020.000000000000 +430.886196232651 1149.000000000000 +432.882414950513 969.000000000000 +445.117374886945 2196.000000000000 +446.118763222018 990.000000000000 +500.274994020911 1622.000000000000 +502.289500833904 2127.746093750000 +505.849174205835 1470.000000000000 +519.136713363770 1134.000000000000 +520.337556483937 1116.000000000000 +524.368037745285 1992.000000000000 +536.162614219819 5338.000000000000 +537.163957528246 2803.000000000000 +538.161870396621 1979.000000000000 +542.321562116618 4335.332031250000 +543.325313211853 1399.000000000000 +544.338326321649 2276.697509765625 +546.911868347399 987.000000000000 +610.182073897910 2326.000000000000 +611.184087071901 1402.000000000000 +612.179777935645 1132.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=689 experiment=2 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=689 experiment=2_0 +##scan 186 +##specref ms_run[1]:sample=1 period=1 cycle=689 experiment=2 +51.022005604104 43.000000000000 +55.932537622123 3.000000000000 +67.934354346966 11.000000000000 +77.037722203118 8.000000000000 +117.925101555053 3.000000000000 +>compound 1_0-689003--187--UNKNOWN +>parentmass 450.208044108914 +>charge 1 +>rt 457.185000000000 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1peaks +52.005462937563 2404.005859375000 +53.013291366738 14382.492187500000 +53.850539553305 1229.187622070312 +54.009137311492 335318.000000000000 +55.005948620481 6161.950683593750 +55.011128007332 6285.288085937500 +55.054325576409 1904.291870117188 +55.934034663954 5424.790039062500 +56.941630178150 2073.437011718750 +59.049263704528 45991.808593750000 +60.044265496272 10028.100585937500 +61.039219981197 1866.554443359375 +63.997551212800 4047.327392578125 +64.004651365857 4144.961425781250 +68.011321078807 28311.681640625000 +68.993468824753 10369.397460937500 +69.008330083518 1076.394409179688 +69.014780961627 1031.417968750000 +69.034006623211 1372.284179687500 +69.044386265012 14840.317382812500 +72.043967729324 961.000000000000 +72.936188600152 2275.410400390625 +73.063939083279 1847.228393554688 +76.486070495145 1946.000000000000 +79.020643149971 15263.070312500000 +80.048737130547 12141.673828125000 +81.936659734558 7420.991699218750 +82.996161374814 7954.683105468750 +87.044343635950 1145.286743164062 +87.054280514165 1440.349121093750 +89.058652188735 1042.975463867188 +89.069441604273 1391.003295898438 +89.505888388333 1419.000000000000 +90.488676329376 1646.358642578125 +91.053308419714 1221.000000000000 +95.952111940460 1863.000000000000 +97.967641857491 6593.246093750000 +100.074145856940 1294.309326171875 +102.090348283833 1653.000000000000 +109.942333319895 1240.000000000000 +113.962095949677 1891.904907226562 +114.090277449217 11240.656250000000 +118.084964478938 6656.282226562500 +122.095248338368 3579.000000000000 +122.962621350821 9606.000000000000 +123.091751966098 1626.335327148438 +123.961858399993 1077.000000000000 +129.051454066560 957.292175292969 +130.157834981831 1121.000000000000 +136.020382584948 1638.000000000000 +136.110904453860 1209.000000000000 +137.963169325275 1085.686401367188 +138.968688854948 945.000000000000 +141.089809710014 1620.046997070312 +141.111682323879 1569.642211914062 +141.957273542779 14288.949218750000 +142.959737655472 1012.329345703125 +147.090337414184 2504.000000000000 +149.022021871638 4632.739746093750 +149.041582734414 2016.745361328125 +151.095167567069 2825.406005859375 +151.110049739141 3314.160888671875 +155.068980344091 1536.570190429688 +155.104752512375 2317.000000000000 +155.972625015581 3891.629150390625 +158.095129691286 1219.298461914062 +158.152598167441 11767.000000000000 +159.155086324762 1635.707519531250 +159.968174619078 1195.000000000000 +161.095291598324 1520.091796875000 +163.130701462733 1176.503540039062 +164.141925774250 1498.388916015625 +170.094531250990 2684.532226562500 +171.099200185526 1002.465209960938 +171.145851696422 1668.000000000000 +172.131464583877 1427.059082031250 +173.079412347408 7576.692871093750 +174.125997274925 1246.000000000000 +174.990512217255 1408.000000000000 +175.112243989843 1216.865112304688 +177.052924868716 943.000000000000 +178.157812588331 1543.762939453125 +179.105184029538 1979.000000000000 +182.960779543919 2177.131103515625 +183.079291017897 9365.041992187500 +183.135962143350 950.983337402344 +184.081574508754 1558.816284179688 +186.219805518930 1652.000000000000 +193.157067173133 1038.000000000000 +194.116062385202 4196.000000000000 +195.121553672965 2164.767089843750 +198.184510207575 2324.000000000000 +200.198764613695 1109.907592773438 +215.080394723136 2952.000000000000 +217.105714936069 25356.156250000000 +218.109166987098 2841.000000000000 +219.094215469340 1412.398559570312 +221.151646030092 943.833679199219 +223.114905631113 998.539367675781 +224.126818598156 1201.000000000000 +227.126338620981 3072.884277343750 +227.158228343459 939.111328125000 +228.194343102588 1649.035522460938 +235.167565514045 1124.013427734375 +239.087483577433 5670.000000000000 +242.282534898909 2001.000000000000 +246.860905861795 3298.000000000000 +249.108530541089 1570.259887695312 +249.183555112515 1594.000000000000 +250.177920056779 1214.311523437500 +250.998285620431 2621.433593750000 +251.182611644515 1186.000000000000 +252.995541403401 1651.000000000000 +267.170989220468 1681.956176757812 +279.092351342498 1873.000000000000 +281.049332169974 1243.000000000000 +289.120224828919 1876.277954101562 +294.135548677238 8432.645507812500 +295.138434098782 1394.059326171875 +295.188945664971 1586.712036132812 +295.224952419882 1034.511840820312 +296.132198968461 2976.000000000000 +304.111105892876 3524.000000000000 +309.231658422928 1464.458862304688 +327.006917332691 3517.268310546875 +329.004024426409 3549.000000000000 +330.204970084658 1869.000000000000 +331.000500497877 1235.000000000000 +367.244334927149 2268.000000000000 +371.100005273709 1020.000000000000 +430.886196232651 1149.000000000000 +432.882414950513 969.000000000000 +445.117374886945 2196.000000000000 +446.118763222018 990.000000000000 +500.274994020911 1622.000000000000 +502.289500833904 2127.746093750000 +505.849174205835 1470.000000000000 +519.136713363770 1134.000000000000 +520.337556483937 1116.000000000000 +524.368037745285 1992.000000000000 +536.162614219819 5338.000000000000 +537.163957528246 2803.000000000000 +538.161870396621 1979.000000000000 +542.321562116618 4335.332031250000 +543.325313211853 1399.000000000000 +544.338326321649 2276.697509765625 +546.911868347399 987.000000000000 +610.182073897910 2326.000000000000 +611.184087071901 1402.000000000000 +612.179777935645 1132.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=689 experiment=3 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=689 experiment=3_0 +##scan 187 +##specref ms_run[1]:sample=1 period=1 cycle=689 experiment=3 +98.985348089152 12.000000000000 +165.070893393068 3.000000000000 +246.805164464836 3.000000000000 +253.016878406790 3.000000000000 +306.768989217042 3.000000000000 +>compound 1_0-691002--191--UNKNOWN +>parentmass 83.084846425827 +>charge 1 +>rt 459.034999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +83.084846425827 2619.000000000000 +>ms1peaks +52.005460768039 2632.474609375000 +52.018216605071 1453.331787109375 +53.013504878262 13629.050781250000 +53.849980694050 1426.347900390625 +54.009228946889 336414.500000000000 +55.006192155745 5923.077148437500 +55.011510780469 6201.034179687500 +55.054252354012 2748.183837890625 +55.934342759512 5029.362792968750 +56.049718574756 3820.462890625000 +56.941798954376 2040.369384765625 +59.049450389379 63100.214843750000 +60.044446622738 10277.622070312500 +61.039574586144 1639.209472656250 +63.997833501230 3457.696044921875 +64.005356757182 3922.083740234375 +67.028813659264 2927.124267578125 +68.011568906879 27184.011718750000 +68.993799166752 11291.774414062500 +69.008782671073 1110.820922851562 +69.044422525384 14576.621093750000 +72.044090470135 1069.000000000000 +72.936647746103 1867.645996093750 +73.064241969654 1890.270141601562 +76.486566607142 2154.000000000000 +79.021060621858 16402.000000000000 +80.048912504147 11908.904296875000 +81.936948519663 7659.439453125000 +82.996456601784 7432.041015625000 +83.084846425827 2619.000000000000 +87.044234628717 1642.456787109375 +87.054412582263 1764.396362304688 +89.070136748709 1188.329101562500 +89.506769824945 1309.000000000000 +90.489346677114 1261.775878906250 +91.053422064295 1599.987548828125 +95.952556829344 1954.000000000000 +97.967937653882 6272.680175781250 +100.074820050407 1313.661132812500 +102.090442487468 2018.000000000000 +109.942993258045 1292.210815429688 +113.962358113491 1857.055419921875 +114.090543897348 10782.883789062500 +118.085193271831 6439.585937500000 +122.095576433333 3719.300781250000 +122.963045289522 8831.000000000000 +123.090127906704 2032.145874023438 +123.961671902554 1039.000000000000 +130.158410860949 1108.000000000000 +136.020580299746 1385.000000000000 +136.110973601797 1208.185180664062 +137.963495288748 1038.000000000000 +138.970185164931 1044.000000000000 +141.090483230390 1714.842407226562 +141.112072140860 1217.862182617188 +141.957625571099 14848.524414062500 +142.959933648058 1183.193115234375 +147.090750731097 2692.000000000000 +149.022586318358 4677.753906250000 +151.095818189897 2463.614501953125 +151.109403980113 2852.661376953125 +155.069856888985 1644.906494140625 +155.105634666236 8124.955078125000 +155.973077442175 3878.003173828125 +158.095390272769 1041.850830078125 +158.153110530602 11433.902343750000 +159.156138029756 1255.307250976562 +159.968790133864 1084.000000000000 +161.096047015176 1855.838989257812 +163.131292514217 1081.046264648438 +164.142338808225 1538.000000000000 +170.095249905282 2481.923583984375 +170.114818729424 1586.174682617188 +171.144577817449 1465.000000000000 +172.133060054694 1132.135253906250 +173.080138735239 6781.958007812500 +174.126750381227 1146.000000000000 +174.990894555098 1459.000000000000 +175.124197631539 1158.163574218750 +177.054313185370 1050.000000000000 +178.158439439061 1351.589477539062 +179.106069845588 2217.652832031250 +182.960683036176 2721.000000000000 +183.079572975077 3558.392822265625 +186.220577305634 1472.000000000000 +194.115833443496 3200.611816406250 +195.099867813526 1492.162719726562 +195.121670053083 2089.949218750000 +198.184355819996 2036.034667968750 +199.185771412889 1053.000000000000 +200.199994101328 1045.000000000000 +217.106066147047 23700.000000000000 +218.109880969704 2669.000000000000 +219.095458161270 1180.932006835938 +224.126383591275 1239.964111328125 +227.127075688130 24915.439453125000 +228.130566679052 3475.000000000000 +228.195672567193 1184.000000000000 +233.135519600916 1606.236083984375 +235.167213939552 1131.541503906250 +239.088391913188 5292.000000000000 +242.283165125348 1763.000000000000 +246.861456391400 2687.000000000000 +249.108966407852 11636.693359375000 +250.113738299007 1549.000000000000 +250.178629966588 1340.000000000000 +250.999377894033 2470.000000000000 +252.996369939032 1431.000000000000 +267.169859968301 1516.000000000000 +279.093360326372 2198.000000000000 +281.049935707172 1718.359741210938 +289.120421172109 1505.223999023438 +294.135805745070 1954.000000000000 +295.190643010298 1597.599243164062 +304.112579156761 2114.000000000000 +327.007179750003 3429.369384765625 +327.051990179871 1964.440551757812 +329.004854748166 3098.000000000000 +330.205970450676 2139.970947265625 +331.001810666775 1124.000000000000 +367.245375431034 1096.678710937500 +371.099956255100 1145.000000000000 +371.315850471733 1077.000000000000 +382.972477955693 57862.191406250000 +383.973581113624 9390.000000000000 +384.969379705317 56829.000000000000 +385.971610318225 8858.000000000000 +386.966433781431 18577.000000000000 +387.968684254304 3112.000000000000 +388.968200016670 2893.000000000000 +404.953693248965 4478.000000000000 +406.950549247024 5007.000000000000 +408.948134552343 1602.000000000000 +430.886087934454 1034.000000000000 +445.119126674486 2384.000000000000 +446.119450710310 1082.000000000000 +500.276347970652 1519.000000000000 +502.291527770051 2163.919189453125 +505.851373232660 1515.000000000000 +520.336525060874 1398.000000000000 +524.368789804896 2012.000000000000 +526.290251526751 1047.306762695312 +536.163216797749 5403.000000000000 +537.165736905426 2653.000000000000 +538.162249785514 1911.000000000000 +542.322969125465 2655.288330078125 +544.337954764480 2683.000000000000 +546.913572609430 1216.000000000000 +610.182763261579 2011.580444335938 +611.182765882529 1285.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=691 experiment=2 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=691 experiment=2_0 +##scan 191 +##specref ms_run[1]:sample=1 period=1 cycle=691 experiment=2 +55.934193747419 422.000000000000 +81.936575521886 718.386169433594 +109.942691355464 60.000000000000 +>compound 1_0-691003--192--UNKNOWN +>parentmass 127.073934085462 +>charge 1 +>rt 459.034999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1peaks +52.005460768039 2632.474609375000 +52.018216605071 1453.331787109375 +53.013504878262 13629.050781250000 +53.849980694050 1426.347900390625 +54.009228946889 336414.500000000000 +55.006192155745 5923.077148437500 +55.011510780469 6201.034179687500 +55.054252354012 2748.183837890625 +55.934342759512 5029.362792968750 +56.049718574756 3820.462890625000 +56.941798954376 2040.369384765625 +59.049450389379 63100.214843750000 +60.044446622738 10277.622070312500 +61.039574586144 1639.209472656250 +63.997833501230 3457.696044921875 +64.005356757182 3922.083740234375 +67.028813659264 2927.124267578125 +68.011568906879 27184.011718750000 +68.993799166752 11291.774414062500 +69.008782671073 1110.820922851562 +69.044422525384 14576.621093750000 +72.044090470135 1069.000000000000 +72.936647746103 1867.645996093750 +73.064241969654 1890.270141601562 +76.486566607142 2154.000000000000 +79.021060621858 16402.000000000000 +80.048912504147 11908.904296875000 +81.936948519663 7659.439453125000 +82.996456601784 7432.041015625000 +83.084846425827 2619.000000000000 +87.044234628717 1642.456787109375 +87.054412582263 1764.396362304688 +89.070136748709 1188.329101562500 +89.506769824945 1309.000000000000 +90.489346677114 1261.775878906250 +91.053422064295 1599.987548828125 +95.952556829344 1954.000000000000 +97.967937653882 6272.680175781250 +100.074820050407 1313.661132812500 +102.090442487468 2018.000000000000 +109.942993258045 1292.210815429688 +113.962358113491 1857.055419921875 +114.090543897348 10782.883789062500 +118.085193271831 6439.585937500000 +122.095576433333 3719.300781250000 +122.963045289522 8831.000000000000 +123.090127906704 2032.145874023438 +123.961671902554 1039.000000000000 +130.158410860949 1108.000000000000 +136.020580299746 1385.000000000000 +136.110973601797 1208.185180664062 +137.963495288748 1038.000000000000 +138.970185164931 1044.000000000000 +141.090483230390 1714.842407226562 +141.112072140860 1217.862182617188 +141.957625571099 14848.524414062500 +142.959933648058 1183.193115234375 +147.090750731097 2692.000000000000 +149.022586318358 4677.753906250000 +151.095818189897 2463.614501953125 +151.109403980113 2852.661376953125 +155.069856888985 1644.906494140625 +155.105634666236 8124.955078125000 +155.973077442175 3878.003173828125 +158.095390272769 1041.850830078125 +158.153110530602 11433.902343750000 +159.156138029756 1255.307250976562 +159.968790133864 1084.000000000000 +161.096047015176 1855.838989257812 +163.131292514217 1081.046264648438 +164.142338808225 1538.000000000000 +170.095249905282 2481.923583984375 +170.114818729424 1586.174682617188 +171.144577817449 1465.000000000000 +172.133060054694 1132.135253906250 +173.080138735239 6781.958007812500 +174.126750381227 1146.000000000000 +174.990894555098 1459.000000000000 +175.124197631539 1158.163574218750 +177.054313185370 1050.000000000000 +178.158439439061 1351.589477539062 +179.106069845588 2217.652832031250 +182.960683036176 2721.000000000000 +183.079572975077 3558.392822265625 +186.220577305634 1472.000000000000 +194.115833443496 3200.611816406250 +195.099867813526 1492.162719726562 +195.121670053083 2089.949218750000 +198.184355819996 2036.034667968750 +199.185771412889 1053.000000000000 +200.199994101328 1045.000000000000 +217.106066147047 23700.000000000000 +218.109880969704 2669.000000000000 +219.095458161270 1180.932006835938 +224.126383591275 1239.964111328125 +227.127075688130 24915.439453125000 +228.130566679052 3475.000000000000 +228.195672567193 1184.000000000000 +233.135519600916 1606.236083984375 +235.167213939552 1131.541503906250 +239.088391913188 5292.000000000000 +242.283165125348 1763.000000000000 +246.861456391400 2687.000000000000 +249.108966407852 11636.693359375000 +250.113738299007 1549.000000000000 +250.178629966588 1340.000000000000 +250.999377894033 2470.000000000000 +252.996369939032 1431.000000000000 +267.169859968301 1516.000000000000 +279.093360326372 2198.000000000000 +281.049935707172 1718.359741210938 +289.120421172109 1505.223999023438 +294.135805745070 1954.000000000000 +295.190643010298 1597.599243164062 +304.112579156761 2114.000000000000 +327.007179750003 3429.369384765625 +327.051990179871 1964.440551757812 +329.004854748166 3098.000000000000 +330.205970450676 2139.970947265625 +331.001810666775 1124.000000000000 +367.245375431034 1096.678710937500 +371.099956255100 1145.000000000000 +371.315850471733 1077.000000000000 +382.972477955693 57862.191406250000 +383.973581113624 9390.000000000000 +384.969379705317 56829.000000000000 +385.971610318225 8858.000000000000 +386.966433781431 18577.000000000000 +387.968684254304 3112.000000000000 +388.968200016670 2893.000000000000 +404.953693248965 4478.000000000000 +406.950549247024 5007.000000000000 +408.948134552343 1602.000000000000 +430.886087934454 1034.000000000000 +445.119126674486 2384.000000000000 +446.119450710310 1082.000000000000 +500.276347970652 1519.000000000000 +502.291527770051 2163.919189453125 +505.851373232660 1515.000000000000 +520.336525060874 1398.000000000000 +524.368789804896 2012.000000000000 +526.290251526751 1047.306762695312 +536.163216797749 5403.000000000000 +537.165736905426 2653.000000000000 +538.162249785514 1911.000000000000 +542.322969125465 2655.288330078125 +544.337954764480 2683.000000000000 +546.913572609430 1216.000000000000 +610.182763261579 2011.580444335938 +611.182765882529 1285.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=691 experiment=3 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=691 experiment=3_0 +##scan 192 +##specref ms_run[1]:sample=1 period=1 cycle=691 experiment=3 +53.037920112149 13.000000000000 +>compound 1_0-691004--193--UNKNOWN +>parentmass 233.135519600916 +>charge 1 +>rt 459.034999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +233.135519600916 1606.236083984375 +>ms1peaks +52.005460768039 2632.474609375000 +52.018216605071 1453.331787109375 +53.013504878262 13629.050781250000 +53.849980694050 1426.347900390625 +54.009228946889 336414.500000000000 +55.006192155745 5923.077148437500 +55.011510780469 6201.034179687500 +55.054252354012 2748.183837890625 +55.934342759512 5029.362792968750 +56.049718574756 3820.462890625000 +56.941798954376 2040.369384765625 +59.049450389379 63100.214843750000 +60.044446622738 10277.622070312500 +61.039574586144 1639.209472656250 +63.997833501230 3457.696044921875 +64.005356757182 3922.083740234375 +67.028813659264 2927.124267578125 +68.011568906879 27184.011718750000 +68.993799166752 11291.774414062500 +69.008782671073 1110.820922851562 +69.044422525384 14576.621093750000 +72.044090470135 1069.000000000000 +72.936647746103 1867.645996093750 +73.064241969654 1890.270141601562 +76.486566607142 2154.000000000000 +79.021060621858 16402.000000000000 +80.048912504147 11908.904296875000 +81.936948519663 7659.439453125000 +82.996456601784 7432.041015625000 +83.084846425827 2619.000000000000 +87.044234628717 1642.456787109375 +87.054412582263 1764.396362304688 +89.070136748709 1188.329101562500 +89.506769824945 1309.000000000000 +90.489346677114 1261.775878906250 +91.053422064295 1599.987548828125 +95.952556829344 1954.000000000000 +97.967937653882 6272.680175781250 +100.074820050407 1313.661132812500 +102.090442487468 2018.000000000000 +109.942993258045 1292.210815429688 +113.962358113491 1857.055419921875 +114.090543897348 10782.883789062500 +118.085193271831 6439.585937500000 +122.095576433333 3719.300781250000 +122.963045289522 8831.000000000000 +123.090127906704 2032.145874023438 +123.961671902554 1039.000000000000 +130.158410860949 1108.000000000000 +136.020580299746 1385.000000000000 +136.110973601797 1208.185180664062 +137.963495288748 1038.000000000000 +138.970185164931 1044.000000000000 +141.090483230390 1714.842407226562 +141.112072140860 1217.862182617188 +141.957625571099 14848.524414062500 +142.959933648058 1183.193115234375 +147.090750731097 2692.000000000000 +149.022586318358 4677.753906250000 +151.095818189897 2463.614501953125 +151.109403980113 2852.661376953125 +155.069856888985 1644.906494140625 +155.105634666236 8124.955078125000 +155.973077442175 3878.003173828125 +158.095390272769 1041.850830078125 +158.153110530602 11433.902343750000 +159.156138029756 1255.307250976562 +159.968790133864 1084.000000000000 +161.096047015176 1855.838989257812 +163.131292514217 1081.046264648438 +164.142338808225 1538.000000000000 +170.095249905282 2481.923583984375 +170.114818729424 1586.174682617188 +171.144577817449 1465.000000000000 +172.133060054694 1132.135253906250 +173.080138735239 6781.958007812500 +174.126750381227 1146.000000000000 +174.990894555098 1459.000000000000 +175.124197631539 1158.163574218750 +177.054313185370 1050.000000000000 +178.158439439061 1351.589477539062 +179.106069845588 2217.652832031250 +182.960683036176 2721.000000000000 +183.079572975077 3558.392822265625 +186.220577305634 1472.000000000000 +194.115833443496 3200.611816406250 +195.099867813526 1492.162719726562 +195.121670053083 2089.949218750000 +198.184355819996 2036.034667968750 +199.185771412889 1053.000000000000 +200.199994101328 1045.000000000000 +217.106066147047 23700.000000000000 +218.109880969704 2669.000000000000 +219.095458161270 1180.932006835938 +224.126383591275 1239.964111328125 +227.127075688130 24915.439453125000 +228.130566679052 3475.000000000000 +228.195672567193 1184.000000000000 +233.135519600916 1606.236083984375 +235.167213939552 1131.541503906250 +239.088391913188 5292.000000000000 +242.283165125348 1763.000000000000 +246.861456391400 2687.000000000000 +249.108966407852 11636.693359375000 +250.113738299007 1549.000000000000 +250.178629966588 1340.000000000000 +250.999377894033 2470.000000000000 +252.996369939032 1431.000000000000 +267.169859968301 1516.000000000000 +279.093360326372 2198.000000000000 +281.049935707172 1718.359741210938 +289.120421172109 1505.223999023438 +294.135805745070 1954.000000000000 +295.190643010298 1597.599243164062 +304.112579156761 2114.000000000000 +327.007179750003 3429.369384765625 +327.051990179871 1964.440551757812 +329.004854748166 3098.000000000000 +330.205970450676 2139.970947265625 +331.001810666775 1124.000000000000 +367.245375431034 1096.678710937500 +371.099956255100 1145.000000000000 +371.315850471733 1077.000000000000 +382.972477955693 57862.191406250000 +383.973581113624 9390.000000000000 +384.969379705317 56829.000000000000 +385.971610318225 8858.000000000000 +386.966433781431 18577.000000000000 +387.968684254304 3112.000000000000 +388.968200016670 2893.000000000000 +404.953693248965 4478.000000000000 +406.950549247024 5007.000000000000 +408.948134552343 1602.000000000000 +430.886087934454 1034.000000000000 +445.119126674486 2384.000000000000 +446.119450710310 1082.000000000000 +500.276347970652 1519.000000000000 +502.291527770051 2163.919189453125 +505.851373232660 1515.000000000000 +520.336525060874 1398.000000000000 +524.368789804896 2012.000000000000 +526.290251526751 1047.306762695312 +536.163216797749 5403.000000000000 +537.165736905426 2653.000000000000 +538.162249785514 1911.000000000000 +542.322969125465 2655.288330078125 +544.337954764480 2683.000000000000 +546.913572609430 1216.000000000000 +610.182763261579 2011.580444335938 +611.182765882529 1285.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=691 experiment=4 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=691 experiment=4_0 +##scan 193 +##specref ms_run[1]:sample=1 period=1 cycle=691 experiment=4 +166.007683274588 13.000000000000 +173.079013683895 13.000000000000 +>compound 1_0-691006--195--UNKNOWN +>parentmass 387.968684254304 +>charge 1 +>rt 459.034999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +387.968684254304 3112.000000000000 +>ms1peaks +52.005460768039 2632.474609375000 +52.018216605071 1453.331787109375 +53.013504878262 13629.050781250000 +53.849980694050 1426.347900390625 +54.009228946889 336414.500000000000 +55.006192155745 5923.077148437500 +55.011510780469 6201.034179687500 +55.054252354012 2748.183837890625 +55.934342759512 5029.362792968750 +56.049718574756 3820.462890625000 +56.941798954376 2040.369384765625 +59.049450389379 63100.214843750000 +60.044446622738 10277.622070312500 +61.039574586144 1639.209472656250 +63.997833501230 3457.696044921875 +64.005356757182 3922.083740234375 +67.028813659264 2927.124267578125 +68.011568906879 27184.011718750000 +68.993799166752 11291.774414062500 +69.008782671073 1110.820922851562 +69.044422525384 14576.621093750000 +72.044090470135 1069.000000000000 +72.936647746103 1867.645996093750 +73.064241969654 1890.270141601562 +76.486566607142 2154.000000000000 +79.021060621858 16402.000000000000 +80.048912504147 11908.904296875000 +81.936948519663 7659.439453125000 +82.996456601784 7432.041015625000 +83.084846425827 2619.000000000000 +87.044234628717 1642.456787109375 +87.054412582263 1764.396362304688 +89.070136748709 1188.329101562500 +89.506769824945 1309.000000000000 +90.489346677114 1261.775878906250 +91.053422064295 1599.987548828125 +95.952556829344 1954.000000000000 +97.967937653882 6272.680175781250 +100.074820050407 1313.661132812500 +102.090442487468 2018.000000000000 +109.942993258045 1292.210815429688 +113.962358113491 1857.055419921875 +114.090543897348 10782.883789062500 +118.085193271831 6439.585937500000 +122.095576433333 3719.300781250000 +122.963045289522 8831.000000000000 +123.090127906704 2032.145874023438 +123.961671902554 1039.000000000000 +130.158410860949 1108.000000000000 +136.020580299746 1385.000000000000 +136.110973601797 1208.185180664062 +137.963495288748 1038.000000000000 +138.970185164931 1044.000000000000 +141.090483230390 1714.842407226562 +141.112072140860 1217.862182617188 +141.957625571099 14848.524414062500 +142.959933648058 1183.193115234375 +147.090750731097 2692.000000000000 +149.022586318358 4677.753906250000 +151.095818189897 2463.614501953125 +151.109403980113 2852.661376953125 +155.069856888985 1644.906494140625 +155.105634666236 8124.955078125000 +155.973077442175 3878.003173828125 +158.095390272769 1041.850830078125 +158.153110530602 11433.902343750000 +159.156138029756 1255.307250976562 +159.968790133864 1084.000000000000 +161.096047015176 1855.838989257812 +163.131292514217 1081.046264648438 +164.142338808225 1538.000000000000 +170.095249905282 2481.923583984375 +170.114818729424 1586.174682617188 +171.144577817449 1465.000000000000 +172.133060054694 1132.135253906250 +173.080138735239 6781.958007812500 +174.126750381227 1146.000000000000 +174.990894555098 1459.000000000000 +175.124197631539 1158.163574218750 +177.054313185370 1050.000000000000 +178.158439439061 1351.589477539062 +179.106069845588 2217.652832031250 +182.960683036176 2721.000000000000 +183.079572975077 3558.392822265625 +186.220577305634 1472.000000000000 +194.115833443496 3200.611816406250 +195.099867813526 1492.162719726562 +195.121670053083 2089.949218750000 +198.184355819996 2036.034667968750 +199.185771412889 1053.000000000000 +200.199994101328 1045.000000000000 +217.106066147047 23700.000000000000 +218.109880969704 2669.000000000000 +219.095458161270 1180.932006835938 +224.126383591275 1239.964111328125 +227.127075688130 24915.439453125000 +228.130566679052 3475.000000000000 +228.195672567193 1184.000000000000 +233.135519600916 1606.236083984375 +235.167213939552 1131.541503906250 +239.088391913188 5292.000000000000 +242.283165125348 1763.000000000000 +246.861456391400 2687.000000000000 +249.108966407852 11636.693359375000 +250.113738299007 1549.000000000000 +250.178629966588 1340.000000000000 +250.999377894033 2470.000000000000 +252.996369939032 1431.000000000000 +267.169859968301 1516.000000000000 +279.093360326372 2198.000000000000 +281.049935707172 1718.359741210938 +289.120421172109 1505.223999023438 +294.135805745070 1954.000000000000 +295.190643010298 1597.599243164062 +304.112579156761 2114.000000000000 +327.007179750003 3429.369384765625 +327.051990179871 1964.440551757812 +329.004854748166 3098.000000000000 +330.205970450676 2139.970947265625 +331.001810666775 1124.000000000000 +367.245375431034 1096.678710937500 +371.099956255100 1145.000000000000 +371.315850471733 1077.000000000000 +382.972477955693 57862.191406250000 +383.973581113624 9390.000000000000 +384.969379705317 56829.000000000000 +385.971610318225 8858.000000000000 +386.966433781431 18577.000000000000 +387.968684254304 3112.000000000000 +388.968200016670 2893.000000000000 +404.953693248965 4478.000000000000 +406.950549247024 5007.000000000000 +408.948134552343 1602.000000000000 +430.886087934454 1034.000000000000 +445.119126674486 2384.000000000000 +446.119450710310 1082.000000000000 +500.276347970652 1519.000000000000 +502.291527770051 2163.919189453125 +505.851373232660 1515.000000000000 +520.336525060874 1398.000000000000 +524.368789804896 2012.000000000000 +526.290251526751 1047.306762695312 +536.163216797749 5403.000000000000 +537.165736905426 2653.000000000000 +538.162249785514 1911.000000000000 +542.322969125465 2655.288330078125 +544.337954764480 2683.000000000000 +546.913572609430 1216.000000000000 +610.182763261579 2011.580444335938 +611.182765882529 1285.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=691 experiment=6 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=691 experiment=6_0 +##scan 195 +##specref ms_run[1]:sample=1 period=1 cycle=691 experiment=6 +98.508054722686 16.000000000000 +146.955638001610 84.000000000000 +147.961090896970 47.000000000000 +148.955796295990 32.000000000000 +172.960431251169 40.000000000000 +174.952304150173 678.000000000000 +175.956122188497 618.000000000000 +175.993362971801 16.176900863647 +176.949642178787 385.000000000000 +177.952217559683 302.000000000000 +193.999472514428 16.000000000000 +195.001611227709 16.000000000000 +195.992975011081 24.000000000000 +196.998367077382 23.000000000000 +369.956017158403 63.000000000000 +370.012660843796 16.000000000000 +387.964449221884 32.000000000000 +>compound 1_0-691007--196--UNKNOWN +>parentmass 406.950549247024 +>charge 1 +>rt 459.034999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +406.950549247024 5007.000000000000 +>ms1peaks +52.005460768039 2632.474609375000 +52.018216605071 1453.331787109375 +53.013504878262 13629.050781250000 +53.849980694050 1426.347900390625 +54.009228946889 336414.500000000000 +55.006192155745 5923.077148437500 +55.011510780469 6201.034179687500 +55.054252354012 2748.183837890625 +55.934342759512 5029.362792968750 +56.049718574756 3820.462890625000 +56.941798954376 2040.369384765625 +59.049450389379 63100.214843750000 +60.044446622738 10277.622070312500 +61.039574586144 1639.209472656250 +63.997833501230 3457.696044921875 +64.005356757182 3922.083740234375 +67.028813659264 2927.124267578125 +68.011568906879 27184.011718750000 +68.993799166752 11291.774414062500 +69.008782671073 1110.820922851562 +69.044422525384 14576.621093750000 +72.044090470135 1069.000000000000 +72.936647746103 1867.645996093750 +73.064241969654 1890.270141601562 +76.486566607142 2154.000000000000 +79.021060621858 16402.000000000000 +80.048912504147 11908.904296875000 +81.936948519663 7659.439453125000 +82.996456601784 7432.041015625000 +83.084846425827 2619.000000000000 +87.044234628717 1642.456787109375 +87.054412582263 1764.396362304688 +89.070136748709 1188.329101562500 +89.506769824945 1309.000000000000 +90.489346677114 1261.775878906250 +91.053422064295 1599.987548828125 +95.952556829344 1954.000000000000 +97.967937653882 6272.680175781250 +100.074820050407 1313.661132812500 +102.090442487468 2018.000000000000 +109.942993258045 1292.210815429688 +113.962358113491 1857.055419921875 +114.090543897348 10782.883789062500 +118.085193271831 6439.585937500000 +122.095576433333 3719.300781250000 +122.963045289522 8831.000000000000 +123.090127906704 2032.145874023438 +123.961671902554 1039.000000000000 +130.158410860949 1108.000000000000 +136.020580299746 1385.000000000000 +136.110973601797 1208.185180664062 +137.963495288748 1038.000000000000 +138.970185164931 1044.000000000000 +141.090483230390 1714.842407226562 +141.112072140860 1217.862182617188 +141.957625571099 14848.524414062500 +142.959933648058 1183.193115234375 +147.090750731097 2692.000000000000 +149.022586318358 4677.753906250000 +151.095818189897 2463.614501953125 +151.109403980113 2852.661376953125 +155.069856888985 1644.906494140625 +155.105634666236 8124.955078125000 +155.973077442175 3878.003173828125 +158.095390272769 1041.850830078125 +158.153110530602 11433.902343750000 +159.156138029756 1255.307250976562 +159.968790133864 1084.000000000000 +161.096047015176 1855.838989257812 +163.131292514217 1081.046264648438 +164.142338808225 1538.000000000000 +170.095249905282 2481.923583984375 +170.114818729424 1586.174682617188 +171.144577817449 1465.000000000000 +172.133060054694 1132.135253906250 +173.080138735239 6781.958007812500 +174.126750381227 1146.000000000000 +174.990894555098 1459.000000000000 +175.124197631539 1158.163574218750 +177.054313185370 1050.000000000000 +178.158439439061 1351.589477539062 +179.106069845588 2217.652832031250 +182.960683036176 2721.000000000000 +183.079572975077 3558.392822265625 +186.220577305634 1472.000000000000 +194.115833443496 3200.611816406250 +195.099867813526 1492.162719726562 +195.121670053083 2089.949218750000 +198.184355819996 2036.034667968750 +199.185771412889 1053.000000000000 +200.199994101328 1045.000000000000 +217.106066147047 23700.000000000000 +218.109880969704 2669.000000000000 +219.095458161270 1180.932006835938 +224.126383591275 1239.964111328125 +227.127075688130 24915.439453125000 +228.130566679052 3475.000000000000 +228.195672567193 1184.000000000000 +233.135519600916 1606.236083984375 +235.167213939552 1131.541503906250 +239.088391913188 5292.000000000000 +242.283165125348 1763.000000000000 +246.861456391400 2687.000000000000 +249.108966407852 11636.693359375000 +250.113738299007 1549.000000000000 +250.178629966588 1340.000000000000 +250.999377894033 2470.000000000000 +252.996369939032 1431.000000000000 +267.169859968301 1516.000000000000 +279.093360326372 2198.000000000000 +281.049935707172 1718.359741210938 +289.120421172109 1505.223999023438 +294.135805745070 1954.000000000000 +295.190643010298 1597.599243164062 +304.112579156761 2114.000000000000 +327.007179750003 3429.369384765625 +327.051990179871 1964.440551757812 +329.004854748166 3098.000000000000 +330.205970450676 2139.970947265625 +331.001810666775 1124.000000000000 +367.245375431034 1096.678710937500 +371.099956255100 1145.000000000000 +371.315850471733 1077.000000000000 +382.972477955693 57862.191406250000 +383.973581113624 9390.000000000000 +384.969379705317 56829.000000000000 +385.971610318225 8858.000000000000 +386.966433781431 18577.000000000000 +387.968684254304 3112.000000000000 +388.968200016670 2893.000000000000 +404.953693248965 4478.000000000000 +406.950549247024 5007.000000000000 +408.948134552343 1602.000000000000 +430.886087934454 1034.000000000000 +445.119126674486 2384.000000000000 +446.119450710310 1082.000000000000 +500.276347970652 1519.000000000000 +502.291527770051 2163.919189453125 +505.851373232660 1515.000000000000 +520.336525060874 1398.000000000000 +524.368789804896 2012.000000000000 +526.290251526751 1047.306762695312 +536.163216797749 5403.000000000000 +537.165736905426 2653.000000000000 +538.162249785514 1911.000000000000 +542.322969125465 2655.288330078125 +544.337954764480 2683.000000000000 +546.913572609430 1216.000000000000 +610.182763261579 2011.580444335938 +611.182765882529 1285.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=691 experiment=7 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=691 experiment=7_0 +##scan 196 +##specref ms_run[1]:sample=1 period=1 cycle=691 experiment=7 +212.136422067413 6.000000000000 +314.924871233192 6.000000000000 +406.959534456791 16.000000000000 +>compound 1_0-692002--198--UNKNOWN +>parentmass 155.105682901057 +>charge 1 +>rt 459.961000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +155.105682901057 6263.000000000000 +>ms1peaks +52.005836971133 3275.866210937500 +53.013585641217 16462.654296875000 +53.850547505716 1247.490844726562 +54.009388977537 348598.687500000000 +55.005798963074 5869.680175781250 +55.011774372187 6856.918945312500 +55.054475601255 2473.953125000000 +55.934129107275 5180.807128906250 +56.942113043098 2081.341552734375 +59.049544533559 54336.714843750000 +60.044465740627 9898.330078125000 +61.039478346007 2105.842529296875 +63.997412764298 3413.259765625000 +64.005106461592 4299.035644531250 +68.011655111553 26417.048828125000 +68.993451225116 10495.742187500000 +69.007351634483 1155.211425781250 +69.044667736537 14631.378906250000 +72.043977843220 1186.000000000000 +72.936644856416 1760.000000000000 +73.064218143049 1938.000000000000 +76.486218455988 2096.923095703125 +79.020975495578 13874.204101562500 +80.049052003255 11024.270507812500 +81.937175489519 7138.000000000000 +82.996514044878 7636.792968750000 +83.084688813927 2161.000000000000 +87.055001018332 1330.756225585938 +89.506504228804 1366.624267578125 +90.488814793493 1655.000000000000 +91.053863900189 1343.637695312500 +95.952451549397 2123.438964843750 +97.968285613023 6437.601562500000 +100.075459222547 1156.000000000000 +102.090554022445 2543.457763671875 +109.942873698046 1245.000000000000 +113.962843649207 1932.000000000000 +114.090883078011 10019.290039062500 +118.085186987492 5823.000000000000 +122.095548751359 3537.398681640625 +122.963008452569 9425.616210937500 +123.090974567516 1817.215332031250 +130.158162499144 1132.000000000000 +136.020346034918 1611.000000000000 +136.111299179502 1360.000000000000 +137.963423713638 1128.155029296875 +141.090309448831 1352.879638671875 +141.112097614347 1262.819458007812 +141.957702024079 13826.095703125000 +147.090234918404 2477.000000000000 +149.022728714815 4238.566406250000 +149.040599298318 2635.204589843750 +151.095643482255 2393.002197265625 +151.110516034735 2442.884033203125 +155.069236883933 1544.777343750000 +155.105682901057 6263.000000000000 +155.972920410543 3385.000000000000 +158.094774385335 1080.967773437500 +158.153283576062 10534.000000000000 +159.155715172952 1385.000000000000 +161.095525142910 1630.366088867188 +164.142719377118 1265.000000000000 +167.106064869970 1152.309692382812 +170.095316404580 2395.057128906250 +171.144151746612 1479.045532226562 +172.954917719732 3206.000000000000 +173.079795077697 6212.281250000000 +174.952323772485 2424.000000000000 +178.158429128963 1377.000000000000 +179.105591924166 1772.772583007812 +182.961056624651 2308.843750000000 +183.078937804238 2289.022460937500 +183.097572106613 2258.250732421875 +186.221163786911 2129.000000000000 +194.115692438393 3322.000000000000 +195.103289455477 1601.895141601562 +195.120972579400 2060.433593750000 +198.184905525686 1955.000000000000 +200.199697056482 1183.000000000000 +217.106496007309 21462.582031250000 +218.109589696743 2767.000000000000 +219.096136534848 1306.856933593750 +227.127499347418 20629.291015625000 +228.130602306645 2679.707519531250 +228.195447315902 1383.987548828125 +233.134864609403 1301.000000000000 +235.168088751500 1208.444580078125 +239.087982722321 4171.939453125000 +239.159768930624 1207.720947265625 +242.283982386371 1928.000000000000 +246.861553572729 3012.000000000000 +249.109091723811 8774.000000000000 +249.183639586712 1240.879272460938 +250.113239684645 1437.000000000000 +250.178995652493 1182.339599609375 +250.999391894301 2202.000000000000 +251.183548791076 1320.392822265625 +252.996248929911 1545.000000000000 +267.171855191852 1381.224731445312 +279.093783189418 1990.000000000000 +281.051297150952 1339.000000000000 +289.120539945877 1142.618652343750 +304.112680718611 1976.000000000000 +327.007958530185 3305.037597656250 +329.004432449253 2885.000000000000 +330.205630510121 1599.646240234375 +364.962497539327 2062.000000000000 +366.958495480631 1832.000000000000 +382.972703481593 260479.000000000000 +383.796497384394 1154.792724609375 +383.974478286219 40275.000000000000 +384.970213041589 255218.000000000000 +385.971633062117 39022.000000000000 +386.966672062113 82162.000000000000 +387.969272726093 12025.615234375000 +388.966510755465 11969.900390625000 +389.969399976371 1962.000000000000 +390.976493102306 2563.000000000000 +404.954387561958 18217.000000000000 +405.956423697963 3149.000000000000 +406.951091509102 17869.000000000000 +407.954017373214 2785.000000000000 +408.948152813757 6017.000000000000 +428.030637612530 2273.000000000000 +430.027236075757 2378.539794921875 +445.118317831487 2268.000000000000 +482.896699661800 1928.000000000000 +484.894570839957 2183.009277343750 +500.275380576856 1496.000000000000 +502.290948639293 2197.000000000000 +505.852798723386 2232.000000000000 +520.337594021166 1251.000000000000 +524.369861286564 1845.000000000000 +536.163207287856 4803.000000000000 +537.164642261465 2595.000000000000 +538.162041431171 1826.000000000000 +542.323226994846 1949.156982421875 +544.339119685474 3064.000000000000 +546.913615628767 1652.000000000000 +610.181827147267 2083.000000000000 +611.182099563802 1208.000000000000 +770.947018975967 1126.442626953125 +772.941639246509 2253.000000000000 +774.943054052942 1912.000000000000 +786.919336659213 2904.000000000000 +788.915401365752 6123.000000000000 +789.918370920915 1906.000000000000 +790.914122108700 4577.000000000000 +791.916902705136 1354.000000000000 +792.910231210434 2284.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=692 experiment=2 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=692 experiment=2_0 +##scan 198 +##specref ms_run[1]:sample=1 period=1 cycle=692 experiment=2 +55.056256159531 45.000000000000 +55.933539597440 30.000000000000 +67.936328895608 44.823822021484 +67.942957082388 42.351158142090 +70.958269830993 30.000000000000 +72.936595902493 135.000000000000 +>compound 1_0-692003--199--UNKNOWN +>parentmass 227.127499347418 +>charge 1 +>rt 459.961000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +227.127499347418 20629.291015625000 +>ms1peaks +52.005836971133 3275.866210937500 +53.013585641217 16462.654296875000 +53.850547505716 1247.490844726562 +54.009388977537 348598.687500000000 +55.005798963074 5869.680175781250 +55.011774372187 6856.918945312500 +55.054475601255 2473.953125000000 +55.934129107275 5180.807128906250 +56.942113043098 2081.341552734375 +59.049544533559 54336.714843750000 +60.044465740627 9898.330078125000 +61.039478346007 2105.842529296875 +63.997412764298 3413.259765625000 +64.005106461592 4299.035644531250 +68.011655111553 26417.048828125000 +68.993451225116 10495.742187500000 +69.007351634483 1155.211425781250 +69.044667736537 14631.378906250000 +72.043977843220 1186.000000000000 +72.936644856416 1760.000000000000 +73.064218143049 1938.000000000000 +76.486218455988 2096.923095703125 +79.020975495578 13874.204101562500 +80.049052003255 11024.270507812500 +81.937175489519 7138.000000000000 +82.996514044878 7636.792968750000 +83.084688813927 2161.000000000000 +87.055001018332 1330.756225585938 +89.506504228804 1366.624267578125 +90.488814793493 1655.000000000000 +91.053863900189 1343.637695312500 +95.952451549397 2123.438964843750 +97.968285613023 6437.601562500000 +100.075459222547 1156.000000000000 +102.090554022445 2543.457763671875 +109.942873698046 1245.000000000000 +113.962843649207 1932.000000000000 +114.090883078011 10019.290039062500 +118.085186987492 5823.000000000000 +122.095548751359 3537.398681640625 +122.963008452569 9425.616210937500 +123.090974567516 1817.215332031250 +130.158162499144 1132.000000000000 +136.020346034918 1611.000000000000 +136.111299179502 1360.000000000000 +137.963423713638 1128.155029296875 +141.090309448831 1352.879638671875 +141.112097614347 1262.819458007812 +141.957702024079 13826.095703125000 +147.090234918404 2477.000000000000 +149.022728714815 4238.566406250000 +149.040599298318 2635.204589843750 +151.095643482255 2393.002197265625 +151.110516034735 2442.884033203125 +155.069236883933 1544.777343750000 +155.105682901057 6263.000000000000 +155.972920410543 3385.000000000000 +158.094774385335 1080.967773437500 +158.153283576062 10534.000000000000 +159.155715172952 1385.000000000000 +161.095525142910 1630.366088867188 +164.142719377118 1265.000000000000 +167.106064869970 1152.309692382812 +170.095316404580 2395.057128906250 +171.144151746612 1479.045532226562 +172.954917719732 3206.000000000000 +173.079795077697 6212.281250000000 +174.952323772485 2424.000000000000 +178.158429128963 1377.000000000000 +179.105591924166 1772.772583007812 +182.961056624651 2308.843750000000 +183.078937804238 2289.022460937500 +183.097572106613 2258.250732421875 +186.221163786911 2129.000000000000 +194.115692438393 3322.000000000000 +195.103289455477 1601.895141601562 +195.120972579400 2060.433593750000 +198.184905525686 1955.000000000000 +200.199697056482 1183.000000000000 +217.106496007309 21462.582031250000 +218.109589696743 2767.000000000000 +219.096136534848 1306.856933593750 +227.127499347418 20629.291015625000 +228.130602306645 2679.707519531250 +228.195447315902 1383.987548828125 +233.134864609403 1301.000000000000 +235.168088751500 1208.444580078125 +239.087982722321 4171.939453125000 +239.159768930624 1207.720947265625 +242.283982386371 1928.000000000000 +246.861553572729 3012.000000000000 +249.109091723811 8774.000000000000 +249.183639586712 1240.879272460938 +250.113239684645 1437.000000000000 +250.178995652493 1182.339599609375 +250.999391894301 2202.000000000000 +251.183548791076 1320.392822265625 +252.996248929911 1545.000000000000 +267.171855191852 1381.224731445312 +279.093783189418 1990.000000000000 +281.051297150952 1339.000000000000 +289.120539945877 1142.618652343750 +304.112680718611 1976.000000000000 +327.007958530185 3305.037597656250 +329.004432449253 2885.000000000000 +330.205630510121 1599.646240234375 +364.962497539327 2062.000000000000 +366.958495480631 1832.000000000000 +382.972703481593 260479.000000000000 +383.796497384394 1154.792724609375 +383.974478286219 40275.000000000000 +384.970213041589 255218.000000000000 +385.971633062117 39022.000000000000 +386.966672062113 82162.000000000000 +387.969272726093 12025.615234375000 +388.966510755465 11969.900390625000 +389.969399976371 1962.000000000000 +390.976493102306 2563.000000000000 +404.954387561958 18217.000000000000 +405.956423697963 3149.000000000000 +406.951091509102 17869.000000000000 +407.954017373214 2785.000000000000 +408.948152813757 6017.000000000000 +428.030637612530 2273.000000000000 +430.027236075757 2378.539794921875 +445.118317831487 2268.000000000000 +482.896699661800 1928.000000000000 +484.894570839957 2183.009277343750 +500.275380576856 1496.000000000000 +502.290948639293 2197.000000000000 +505.852798723386 2232.000000000000 +520.337594021166 1251.000000000000 +524.369861286564 1845.000000000000 +536.163207287856 4803.000000000000 +537.164642261465 2595.000000000000 +538.162041431171 1826.000000000000 +542.323226994846 1949.156982421875 +544.339119685474 3064.000000000000 +546.913615628767 1652.000000000000 +610.181827147267 2083.000000000000 +611.182099563802 1208.000000000000 +770.947018975967 1126.442626953125 +772.941639246509 2253.000000000000 +774.943054052942 1912.000000000000 +786.919336659213 2904.000000000000 +788.915401365752 6123.000000000000 +789.918370920915 1906.000000000000 +790.914122108700 4577.000000000000 +791.916902705136 1354.000000000000 +792.910231210434 2284.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=692 experiment=3 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=692 experiment=3_0 +##scan 199 +##specref ms_run[1]:sample=1 period=1 cycle=692 experiment=3 +54.894190083511 30.000000000000 +55.016994306394 90.000000000000 +55.054917066703 1516.000000000000 +73.027851892659 150.000000000000 +83.084481692623 105.000000000000 +>compound 1_0-692004--200--UNKNOWN +>parentmass 249.109091723811 +>charge 1 +>rt 459.961000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +249.109091723811 8774.000000000000 +>ms1peaks +52.005836971133 3275.866210937500 +53.013585641217 16462.654296875000 +53.850547505716 1247.490844726562 +54.009388977537 348598.687500000000 +55.005798963074 5869.680175781250 +55.011774372187 6856.918945312500 +55.054475601255 2473.953125000000 +55.934129107275 5180.807128906250 +56.942113043098 2081.341552734375 +59.049544533559 54336.714843750000 +60.044465740627 9898.330078125000 +61.039478346007 2105.842529296875 +63.997412764298 3413.259765625000 +64.005106461592 4299.035644531250 +68.011655111553 26417.048828125000 +68.993451225116 10495.742187500000 +69.007351634483 1155.211425781250 +69.044667736537 14631.378906250000 +72.043977843220 1186.000000000000 +72.936644856416 1760.000000000000 +73.064218143049 1938.000000000000 +76.486218455988 2096.923095703125 +79.020975495578 13874.204101562500 +80.049052003255 11024.270507812500 +81.937175489519 7138.000000000000 +82.996514044878 7636.792968750000 +83.084688813927 2161.000000000000 +87.055001018332 1330.756225585938 +89.506504228804 1366.624267578125 +90.488814793493 1655.000000000000 +91.053863900189 1343.637695312500 +95.952451549397 2123.438964843750 +97.968285613023 6437.601562500000 +100.075459222547 1156.000000000000 +102.090554022445 2543.457763671875 +109.942873698046 1245.000000000000 +113.962843649207 1932.000000000000 +114.090883078011 10019.290039062500 +118.085186987492 5823.000000000000 +122.095548751359 3537.398681640625 +122.963008452569 9425.616210937500 +123.090974567516 1817.215332031250 +130.158162499144 1132.000000000000 +136.020346034918 1611.000000000000 +136.111299179502 1360.000000000000 +137.963423713638 1128.155029296875 +141.090309448831 1352.879638671875 +141.112097614347 1262.819458007812 +141.957702024079 13826.095703125000 +147.090234918404 2477.000000000000 +149.022728714815 4238.566406250000 +149.040599298318 2635.204589843750 +151.095643482255 2393.002197265625 +151.110516034735 2442.884033203125 +155.069236883933 1544.777343750000 +155.105682901057 6263.000000000000 +155.972920410543 3385.000000000000 +158.094774385335 1080.967773437500 +158.153283576062 10534.000000000000 +159.155715172952 1385.000000000000 +161.095525142910 1630.366088867188 +164.142719377118 1265.000000000000 +167.106064869970 1152.309692382812 +170.095316404580 2395.057128906250 +171.144151746612 1479.045532226562 +172.954917719732 3206.000000000000 +173.079795077697 6212.281250000000 +174.952323772485 2424.000000000000 +178.158429128963 1377.000000000000 +179.105591924166 1772.772583007812 +182.961056624651 2308.843750000000 +183.078937804238 2289.022460937500 +183.097572106613 2258.250732421875 +186.221163786911 2129.000000000000 +194.115692438393 3322.000000000000 +195.103289455477 1601.895141601562 +195.120972579400 2060.433593750000 +198.184905525686 1955.000000000000 +200.199697056482 1183.000000000000 +217.106496007309 21462.582031250000 +218.109589696743 2767.000000000000 +219.096136534848 1306.856933593750 +227.127499347418 20629.291015625000 +228.130602306645 2679.707519531250 +228.195447315902 1383.987548828125 +233.134864609403 1301.000000000000 +235.168088751500 1208.444580078125 +239.087982722321 4171.939453125000 +239.159768930624 1207.720947265625 +242.283982386371 1928.000000000000 +246.861553572729 3012.000000000000 +249.109091723811 8774.000000000000 +249.183639586712 1240.879272460938 +250.113239684645 1437.000000000000 +250.178995652493 1182.339599609375 +250.999391894301 2202.000000000000 +251.183548791076 1320.392822265625 +252.996248929911 1545.000000000000 +267.171855191852 1381.224731445312 +279.093783189418 1990.000000000000 +281.051297150952 1339.000000000000 +289.120539945877 1142.618652343750 +304.112680718611 1976.000000000000 +327.007958530185 3305.037597656250 +329.004432449253 2885.000000000000 +330.205630510121 1599.646240234375 +364.962497539327 2062.000000000000 +366.958495480631 1832.000000000000 +382.972703481593 260479.000000000000 +383.796497384394 1154.792724609375 +383.974478286219 40275.000000000000 +384.970213041589 255218.000000000000 +385.971633062117 39022.000000000000 +386.966672062113 82162.000000000000 +387.969272726093 12025.615234375000 +388.966510755465 11969.900390625000 +389.969399976371 1962.000000000000 +390.976493102306 2563.000000000000 +404.954387561958 18217.000000000000 +405.956423697963 3149.000000000000 +406.951091509102 17869.000000000000 +407.954017373214 2785.000000000000 +408.948152813757 6017.000000000000 +428.030637612530 2273.000000000000 +430.027236075757 2378.539794921875 +445.118317831487 2268.000000000000 +482.896699661800 1928.000000000000 +484.894570839957 2183.009277343750 +500.275380576856 1496.000000000000 +502.290948639293 2197.000000000000 +505.852798723386 2232.000000000000 +520.337594021166 1251.000000000000 +524.369861286564 1845.000000000000 +536.163207287856 4803.000000000000 +537.164642261465 2595.000000000000 +538.162041431171 1826.000000000000 +542.323226994846 1949.156982421875 +544.339119685474 3064.000000000000 +546.913615628767 1652.000000000000 +610.181827147267 2083.000000000000 +611.182099563802 1208.000000000000 +770.947018975967 1126.442626953125 +772.941639246509 2253.000000000000 +774.943054052942 1912.000000000000 +786.919336659213 2904.000000000000 +788.915401365752 6123.000000000000 +789.918370920915 1906.000000000000 +790.914122108700 4577.000000000000 +791.916902705136 1354.000000000000 +792.910231210434 2284.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=692 experiment=4 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=692 experiment=4_0 +##scan 200 +##specref ms_run[1]:sample=1 period=1 cycle=692 experiment=4 +79.056467038766 13.000000000000 +91.054202103907 30.000000000000 +116.995332013225 30.000000000000 +133.063107476668 75.000000000000 +145.100631158174 30.000000000000 +161.095525080936 60.000000000000 +>compound 1_0-692005--201--UNKNOWN +>parentmass 384.970213041589 +>charge 1 +>rt 459.961000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +384.970213041589 255218.000000000000 +>ms1peaks +52.005836971133 3275.866210937500 +53.013585641217 16462.654296875000 +53.850547505716 1247.490844726562 +54.009388977537 348598.687500000000 +55.005798963074 5869.680175781250 +55.011774372187 6856.918945312500 +55.054475601255 2473.953125000000 +55.934129107275 5180.807128906250 +56.942113043098 2081.341552734375 +59.049544533559 54336.714843750000 +60.044465740627 9898.330078125000 +61.039478346007 2105.842529296875 +63.997412764298 3413.259765625000 +64.005106461592 4299.035644531250 +68.011655111553 26417.048828125000 +68.993451225116 10495.742187500000 +69.007351634483 1155.211425781250 +69.044667736537 14631.378906250000 +72.043977843220 1186.000000000000 +72.936644856416 1760.000000000000 +73.064218143049 1938.000000000000 +76.486218455988 2096.923095703125 +79.020975495578 13874.204101562500 +80.049052003255 11024.270507812500 +81.937175489519 7138.000000000000 +82.996514044878 7636.792968750000 +83.084688813927 2161.000000000000 +87.055001018332 1330.756225585938 +89.506504228804 1366.624267578125 +90.488814793493 1655.000000000000 +91.053863900189 1343.637695312500 +95.952451549397 2123.438964843750 +97.968285613023 6437.601562500000 +100.075459222547 1156.000000000000 +102.090554022445 2543.457763671875 +109.942873698046 1245.000000000000 +113.962843649207 1932.000000000000 +114.090883078011 10019.290039062500 +118.085186987492 5823.000000000000 +122.095548751359 3537.398681640625 +122.963008452569 9425.616210937500 +123.090974567516 1817.215332031250 +130.158162499144 1132.000000000000 +136.020346034918 1611.000000000000 +136.111299179502 1360.000000000000 +137.963423713638 1128.155029296875 +141.090309448831 1352.879638671875 +141.112097614347 1262.819458007812 +141.957702024079 13826.095703125000 +147.090234918404 2477.000000000000 +149.022728714815 4238.566406250000 +149.040599298318 2635.204589843750 +151.095643482255 2393.002197265625 +151.110516034735 2442.884033203125 +155.069236883933 1544.777343750000 +155.105682901057 6263.000000000000 +155.972920410543 3385.000000000000 +158.094774385335 1080.967773437500 +158.153283576062 10534.000000000000 +159.155715172952 1385.000000000000 +161.095525142910 1630.366088867188 +164.142719377118 1265.000000000000 +167.106064869970 1152.309692382812 +170.095316404580 2395.057128906250 +171.144151746612 1479.045532226562 +172.954917719732 3206.000000000000 +173.079795077697 6212.281250000000 +174.952323772485 2424.000000000000 +178.158429128963 1377.000000000000 +179.105591924166 1772.772583007812 +182.961056624651 2308.843750000000 +183.078937804238 2289.022460937500 +183.097572106613 2258.250732421875 +186.221163786911 2129.000000000000 +194.115692438393 3322.000000000000 +195.103289455477 1601.895141601562 +195.120972579400 2060.433593750000 +198.184905525686 1955.000000000000 +200.199697056482 1183.000000000000 +217.106496007309 21462.582031250000 +218.109589696743 2767.000000000000 +219.096136534848 1306.856933593750 +227.127499347418 20629.291015625000 +228.130602306645 2679.707519531250 +228.195447315902 1383.987548828125 +233.134864609403 1301.000000000000 +235.168088751500 1208.444580078125 +239.087982722321 4171.939453125000 +239.159768930624 1207.720947265625 +242.283982386371 1928.000000000000 +246.861553572729 3012.000000000000 +249.109091723811 8774.000000000000 +249.183639586712 1240.879272460938 +250.113239684645 1437.000000000000 +250.178995652493 1182.339599609375 +250.999391894301 2202.000000000000 +251.183548791076 1320.392822265625 +252.996248929911 1545.000000000000 +267.171855191852 1381.224731445312 +279.093783189418 1990.000000000000 +281.051297150952 1339.000000000000 +289.120539945877 1142.618652343750 +304.112680718611 1976.000000000000 +327.007958530185 3305.037597656250 +329.004432449253 2885.000000000000 +330.205630510121 1599.646240234375 +364.962497539327 2062.000000000000 +366.958495480631 1832.000000000000 +382.972703481593 260479.000000000000 +383.796497384394 1154.792724609375 +383.974478286219 40275.000000000000 +384.970213041589 255218.000000000000 +385.971633062117 39022.000000000000 +386.966672062113 82162.000000000000 +387.969272726093 12025.615234375000 +388.966510755465 11969.900390625000 +389.969399976371 1962.000000000000 +390.976493102306 2563.000000000000 +404.954387561958 18217.000000000000 +405.956423697963 3149.000000000000 +406.951091509102 17869.000000000000 +407.954017373214 2785.000000000000 +408.948152813757 6017.000000000000 +428.030637612530 2273.000000000000 +430.027236075757 2378.539794921875 +445.118317831487 2268.000000000000 +482.896699661800 1928.000000000000 +484.894570839957 2183.009277343750 +500.275380576856 1496.000000000000 +502.290948639293 2197.000000000000 +505.852798723386 2232.000000000000 +520.337594021166 1251.000000000000 +524.369861286564 1845.000000000000 +536.163207287856 4803.000000000000 +537.164642261465 2595.000000000000 +538.162041431171 1826.000000000000 +542.323226994846 1949.156982421875 +544.339119685474 3064.000000000000 +546.913615628767 1652.000000000000 +610.181827147267 2083.000000000000 +611.182099563802 1208.000000000000 +770.947018975967 1126.442626953125 +772.941639246509 2253.000000000000 +774.943054052942 1912.000000000000 +786.919336659213 2904.000000000000 +788.915401365752 6123.000000000000 +789.918370920915 1906.000000000000 +790.914122108700 4577.000000000000 +791.916902705136 1354.000000000000 +792.910231210434 2284.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=692 experiment=5 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=692 experiment=5_0 +##scan 201 +##specref ms_run[1]:sample=1 period=1 cycle=692 experiment=5 +73.006994936174 30.000000000000 +74.016659552445 45.000000000000 +108.983233839123 225.000000000000 +110.977748376368 111.045951843262 +110.990396639386 98.268615722656 +144.959863566314 2473.000000000000 +146.534046089739 15.000000000000 +146.957272415751 5417.000000000000 +158.021847176398 165.000000000000 +159.025987564447 135.000000000000 +166.988765101308 45.000000000000 +168.985224209269 45.000000000000 +172.436019066210 165.000000000000 +172.955511093070 29911.593750000000 +173.364056617396 30.000000000000 +173.597669680189 30.000000000000 +173.958094401950 692.000000000000 +173.990146859076 177.494705200195 +174.104133683624 30.000000000000 +174.424506605924 357.788055419922 +174.570668736998 60.000000000000 +174.583871722187 60.000000000000 +174.913614902699 44.392593383789 +174.952837597745 60801.078125000000 +175.044449885784 30.000000000000 +175.052371359168 30.000000000000 +175.211544827836 30.000000000000 +175.250684148797 45.000000000000 +175.270117953287 59.999328613281 +175.286520718277 30.000000000000 +175.451835355373 45.000000000000 +175.472918794636 69.033996582031 +175.494649894174 45.000000000000 +175.521594825570 15.000000000000 +175.659549172693 30.000000000000 +175.686833306406 26.865440368652 +175.812225772767 45.000000000000 +175.831838930508 60.000000000000 +175.849466249748 33.478050231934 +175.870447195761 30.000000000000 +175.946158610361 60.000000000000 +175.955167110913 60.000000000000 +175.990276185564 150.000000000000 +176.772368002787 30.000000000000 +177.124598772214 30.000000000000 +177.145214260284 30.000000000000 +177.364831389632 45.000000000000 +177.582321533417 30.000000000000 +177.593500652701 30.000000000000 +177.888129961599 30.000000000000 +178.994008852119 29.424285888672 +179.016801643184 33.984897613525 +179.042204031983 30.000000000000 +193.997551626700 2602.000000000000 +195.001910690646 30.000000000000 +195.407182201364 30.000000000000 +195.993974579510 1431.000000000000 +212.006781579235 60.000000000000 +213.978639695592 30.000000000000 +214.012052468176 45.000000000000 +366.959814059250 3155.000000000000 +384.971435837587 1680.000000000000 +385.967044081790 30.000000000000 +>compound 1_0-692006--202--UNKNOWN +>parentmass 404.954387561958 +>charge 1 +>rt 459.961000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +404.954387561958 18217.000000000000 +>ms1peaks +52.005836971133 3275.866210937500 +53.013585641217 16462.654296875000 +53.850547505716 1247.490844726562 +54.009388977537 348598.687500000000 +55.005798963074 5869.680175781250 +55.011774372187 6856.918945312500 +55.054475601255 2473.953125000000 +55.934129107275 5180.807128906250 +56.942113043098 2081.341552734375 +59.049544533559 54336.714843750000 +60.044465740627 9898.330078125000 +61.039478346007 2105.842529296875 +63.997412764298 3413.259765625000 +64.005106461592 4299.035644531250 +68.011655111553 26417.048828125000 +68.993451225116 10495.742187500000 +69.007351634483 1155.211425781250 +69.044667736537 14631.378906250000 +72.043977843220 1186.000000000000 +72.936644856416 1760.000000000000 +73.064218143049 1938.000000000000 +76.486218455988 2096.923095703125 +79.020975495578 13874.204101562500 +80.049052003255 11024.270507812500 +81.937175489519 7138.000000000000 +82.996514044878 7636.792968750000 +83.084688813927 2161.000000000000 +87.055001018332 1330.756225585938 +89.506504228804 1366.624267578125 +90.488814793493 1655.000000000000 +91.053863900189 1343.637695312500 +95.952451549397 2123.438964843750 +97.968285613023 6437.601562500000 +100.075459222547 1156.000000000000 +102.090554022445 2543.457763671875 +109.942873698046 1245.000000000000 +113.962843649207 1932.000000000000 +114.090883078011 10019.290039062500 +118.085186987492 5823.000000000000 +122.095548751359 3537.398681640625 +122.963008452569 9425.616210937500 +123.090974567516 1817.215332031250 +130.158162499144 1132.000000000000 +136.020346034918 1611.000000000000 +136.111299179502 1360.000000000000 +137.963423713638 1128.155029296875 +141.090309448831 1352.879638671875 +141.112097614347 1262.819458007812 +141.957702024079 13826.095703125000 +147.090234918404 2477.000000000000 +149.022728714815 4238.566406250000 +149.040599298318 2635.204589843750 +151.095643482255 2393.002197265625 +151.110516034735 2442.884033203125 +155.069236883933 1544.777343750000 +155.105682901057 6263.000000000000 +155.972920410543 3385.000000000000 +158.094774385335 1080.967773437500 +158.153283576062 10534.000000000000 +159.155715172952 1385.000000000000 +161.095525142910 1630.366088867188 +164.142719377118 1265.000000000000 +167.106064869970 1152.309692382812 +170.095316404580 2395.057128906250 +171.144151746612 1479.045532226562 +172.954917719732 3206.000000000000 +173.079795077697 6212.281250000000 +174.952323772485 2424.000000000000 +178.158429128963 1377.000000000000 +179.105591924166 1772.772583007812 +182.961056624651 2308.843750000000 +183.078937804238 2289.022460937500 +183.097572106613 2258.250732421875 +186.221163786911 2129.000000000000 +194.115692438393 3322.000000000000 +195.103289455477 1601.895141601562 +195.120972579400 2060.433593750000 +198.184905525686 1955.000000000000 +200.199697056482 1183.000000000000 +217.106496007309 21462.582031250000 +218.109589696743 2767.000000000000 +219.096136534848 1306.856933593750 +227.127499347418 20629.291015625000 +228.130602306645 2679.707519531250 +228.195447315902 1383.987548828125 +233.134864609403 1301.000000000000 +235.168088751500 1208.444580078125 +239.087982722321 4171.939453125000 +239.159768930624 1207.720947265625 +242.283982386371 1928.000000000000 +246.861553572729 3012.000000000000 +249.109091723811 8774.000000000000 +249.183639586712 1240.879272460938 +250.113239684645 1437.000000000000 +250.178995652493 1182.339599609375 +250.999391894301 2202.000000000000 +251.183548791076 1320.392822265625 +252.996248929911 1545.000000000000 +267.171855191852 1381.224731445312 +279.093783189418 1990.000000000000 +281.051297150952 1339.000000000000 +289.120539945877 1142.618652343750 +304.112680718611 1976.000000000000 +327.007958530185 3305.037597656250 +329.004432449253 2885.000000000000 +330.205630510121 1599.646240234375 +364.962497539327 2062.000000000000 +366.958495480631 1832.000000000000 +382.972703481593 260479.000000000000 +383.796497384394 1154.792724609375 +383.974478286219 40275.000000000000 +384.970213041589 255218.000000000000 +385.971633062117 39022.000000000000 +386.966672062113 82162.000000000000 +387.969272726093 12025.615234375000 +388.966510755465 11969.900390625000 +389.969399976371 1962.000000000000 +390.976493102306 2563.000000000000 +404.954387561958 18217.000000000000 +405.956423697963 3149.000000000000 +406.951091509102 17869.000000000000 +407.954017373214 2785.000000000000 +408.948152813757 6017.000000000000 +428.030637612530 2273.000000000000 +430.027236075757 2378.539794921875 +445.118317831487 2268.000000000000 +482.896699661800 1928.000000000000 +484.894570839957 2183.009277343750 +500.275380576856 1496.000000000000 +502.290948639293 2197.000000000000 +505.852798723386 2232.000000000000 +520.337594021166 1251.000000000000 +524.369861286564 1845.000000000000 +536.163207287856 4803.000000000000 +537.164642261465 2595.000000000000 +538.162041431171 1826.000000000000 +542.323226994846 1949.156982421875 +544.339119685474 3064.000000000000 +546.913615628767 1652.000000000000 +610.181827147267 2083.000000000000 +611.182099563802 1208.000000000000 +770.947018975967 1126.442626953125 +772.941639246509 2253.000000000000 +774.943054052942 1912.000000000000 +786.919336659213 2904.000000000000 +788.915401365752 6123.000000000000 +789.918370920915 1906.000000000000 +790.914122108700 4577.000000000000 +791.916902705136 1354.000000000000 +792.910231210434 2284.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=692 experiment=6 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=692 experiment=6_0 +##scan 202 +##specref ms_run[1]:sample=1 period=1 cycle=692 experiment=6 +172.958647070493 105.000000000000 +174.953082858282 75.000000000000 +218.865008703367 13.000000000000 +404.948189573306 45.000000000000 +>compound 1_0-692007--203--UNKNOWN +>parentmass 430.027236075757 +>charge 1 +>rt 459.961000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +430.027236075757 2378.539794921875 +>ms1peaks +52.005836971133 3275.866210937500 +53.013585641217 16462.654296875000 +53.850547505716 1247.490844726562 +54.009388977537 348598.687500000000 +55.005798963074 5869.680175781250 +55.011774372187 6856.918945312500 +55.054475601255 2473.953125000000 +55.934129107275 5180.807128906250 +56.942113043098 2081.341552734375 +59.049544533559 54336.714843750000 +60.044465740627 9898.330078125000 +61.039478346007 2105.842529296875 +63.997412764298 3413.259765625000 +64.005106461592 4299.035644531250 +68.011655111553 26417.048828125000 +68.993451225116 10495.742187500000 +69.007351634483 1155.211425781250 +69.044667736537 14631.378906250000 +72.043977843220 1186.000000000000 +72.936644856416 1760.000000000000 +73.064218143049 1938.000000000000 +76.486218455988 2096.923095703125 +79.020975495578 13874.204101562500 +80.049052003255 11024.270507812500 +81.937175489519 7138.000000000000 +82.996514044878 7636.792968750000 +83.084688813927 2161.000000000000 +87.055001018332 1330.756225585938 +89.506504228804 1366.624267578125 +90.488814793493 1655.000000000000 +91.053863900189 1343.637695312500 +95.952451549397 2123.438964843750 +97.968285613023 6437.601562500000 +100.075459222547 1156.000000000000 +102.090554022445 2543.457763671875 +109.942873698046 1245.000000000000 +113.962843649207 1932.000000000000 +114.090883078011 10019.290039062500 +118.085186987492 5823.000000000000 +122.095548751359 3537.398681640625 +122.963008452569 9425.616210937500 +123.090974567516 1817.215332031250 +130.158162499144 1132.000000000000 +136.020346034918 1611.000000000000 +136.111299179502 1360.000000000000 +137.963423713638 1128.155029296875 +141.090309448831 1352.879638671875 +141.112097614347 1262.819458007812 +141.957702024079 13826.095703125000 +147.090234918404 2477.000000000000 +149.022728714815 4238.566406250000 +149.040599298318 2635.204589843750 +151.095643482255 2393.002197265625 +151.110516034735 2442.884033203125 +155.069236883933 1544.777343750000 +155.105682901057 6263.000000000000 +155.972920410543 3385.000000000000 +158.094774385335 1080.967773437500 +158.153283576062 10534.000000000000 +159.155715172952 1385.000000000000 +161.095525142910 1630.366088867188 +164.142719377118 1265.000000000000 +167.106064869970 1152.309692382812 +170.095316404580 2395.057128906250 +171.144151746612 1479.045532226562 +172.954917719732 3206.000000000000 +173.079795077697 6212.281250000000 +174.952323772485 2424.000000000000 +178.158429128963 1377.000000000000 +179.105591924166 1772.772583007812 +182.961056624651 2308.843750000000 +183.078937804238 2289.022460937500 +183.097572106613 2258.250732421875 +186.221163786911 2129.000000000000 +194.115692438393 3322.000000000000 +195.103289455477 1601.895141601562 +195.120972579400 2060.433593750000 +198.184905525686 1955.000000000000 +200.199697056482 1183.000000000000 +217.106496007309 21462.582031250000 +218.109589696743 2767.000000000000 +219.096136534848 1306.856933593750 +227.127499347418 20629.291015625000 +228.130602306645 2679.707519531250 +228.195447315902 1383.987548828125 +233.134864609403 1301.000000000000 +235.168088751500 1208.444580078125 +239.087982722321 4171.939453125000 +239.159768930624 1207.720947265625 +242.283982386371 1928.000000000000 +246.861553572729 3012.000000000000 +249.109091723811 8774.000000000000 +249.183639586712 1240.879272460938 +250.113239684645 1437.000000000000 +250.178995652493 1182.339599609375 +250.999391894301 2202.000000000000 +251.183548791076 1320.392822265625 +252.996248929911 1545.000000000000 +267.171855191852 1381.224731445312 +279.093783189418 1990.000000000000 +281.051297150952 1339.000000000000 +289.120539945877 1142.618652343750 +304.112680718611 1976.000000000000 +327.007958530185 3305.037597656250 +329.004432449253 2885.000000000000 +330.205630510121 1599.646240234375 +364.962497539327 2062.000000000000 +366.958495480631 1832.000000000000 +382.972703481593 260479.000000000000 +383.796497384394 1154.792724609375 +383.974478286219 40275.000000000000 +384.970213041589 255218.000000000000 +385.971633062117 39022.000000000000 +386.966672062113 82162.000000000000 +387.969272726093 12025.615234375000 +388.966510755465 11969.900390625000 +389.969399976371 1962.000000000000 +390.976493102306 2563.000000000000 +404.954387561958 18217.000000000000 +405.956423697963 3149.000000000000 +406.951091509102 17869.000000000000 +407.954017373214 2785.000000000000 +408.948152813757 6017.000000000000 +428.030637612530 2273.000000000000 +430.027236075757 2378.539794921875 +445.118317831487 2268.000000000000 +482.896699661800 1928.000000000000 +484.894570839957 2183.009277343750 +500.275380576856 1496.000000000000 +502.290948639293 2197.000000000000 +505.852798723386 2232.000000000000 +520.337594021166 1251.000000000000 +524.369861286564 1845.000000000000 +536.163207287856 4803.000000000000 +537.164642261465 2595.000000000000 +538.162041431171 1826.000000000000 +542.323226994846 1949.156982421875 +544.339119685474 3064.000000000000 +546.913615628767 1652.000000000000 +610.181827147267 2083.000000000000 +611.182099563802 1208.000000000000 +770.947018975967 1126.442626953125 +772.941639246509 2253.000000000000 +774.943054052942 1912.000000000000 +786.919336659213 2904.000000000000 +788.915401365752 6123.000000000000 +789.918370920915 1906.000000000000 +790.914122108700 4577.000000000000 +791.916902705136 1354.000000000000 +792.910231210434 2284.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=692 experiment=7 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=692 experiment=7_0 +##scan 203 +##specref ms_run[1]:sample=1 period=1 cycle=692 experiment=7 +144.961295765380 75.000000000000 +146.956365682666 45.000000000000 +172.955425905940 1274.000000000000 +174.952333671209 2640.000000000000 +193.997000328140 90.000000000000 +366.961771433037 375.000000000000 +384.971458004953 619.000000000000 +388.977616886454 300.000000000000 +>compound 1_0-692008--204--UNKNOWN +>parentmass 772.941639246509 +>charge 1 +>rt 459.961000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +772.941639246509 2253.000000000000 +>ms1peaks +52.005836971133 3275.866210937500 +53.013585641217 16462.654296875000 +53.850547505716 1247.490844726562 +54.009388977537 348598.687500000000 +55.005798963074 5869.680175781250 +55.011774372187 6856.918945312500 +55.054475601255 2473.953125000000 +55.934129107275 5180.807128906250 +56.942113043098 2081.341552734375 +59.049544533559 54336.714843750000 +60.044465740627 9898.330078125000 +61.039478346007 2105.842529296875 +63.997412764298 3413.259765625000 +64.005106461592 4299.035644531250 +68.011655111553 26417.048828125000 +68.993451225116 10495.742187500000 +69.007351634483 1155.211425781250 +69.044667736537 14631.378906250000 +72.043977843220 1186.000000000000 +72.936644856416 1760.000000000000 +73.064218143049 1938.000000000000 +76.486218455988 2096.923095703125 +79.020975495578 13874.204101562500 +80.049052003255 11024.270507812500 +81.937175489519 7138.000000000000 +82.996514044878 7636.792968750000 +83.084688813927 2161.000000000000 +87.055001018332 1330.756225585938 +89.506504228804 1366.624267578125 +90.488814793493 1655.000000000000 +91.053863900189 1343.637695312500 +95.952451549397 2123.438964843750 +97.968285613023 6437.601562500000 +100.075459222547 1156.000000000000 +102.090554022445 2543.457763671875 +109.942873698046 1245.000000000000 +113.962843649207 1932.000000000000 +114.090883078011 10019.290039062500 +118.085186987492 5823.000000000000 +122.095548751359 3537.398681640625 +122.963008452569 9425.616210937500 +123.090974567516 1817.215332031250 +130.158162499144 1132.000000000000 +136.020346034918 1611.000000000000 +136.111299179502 1360.000000000000 +137.963423713638 1128.155029296875 +141.090309448831 1352.879638671875 +141.112097614347 1262.819458007812 +141.957702024079 13826.095703125000 +147.090234918404 2477.000000000000 +149.022728714815 4238.566406250000 +149.040599298318 2635.204589843750 +151.095643482255 2393.002197265625 +151.110516034735 2442.884033203125 +155.069236883933 1544.777343750000 +155.105682901057 6263.000000000000 +155.972920410543 3385.000000000000 +158.094774385335 1080.967773437500 +158.153283576062 10534.000000000000 +159.155715172952 1385.000000000000 +161.095525142910 1630.366088867188 +164.142719377118 1265.000000000000 +167.106064869970 1152.309692382812 +170.095316404580 2395.057128906250 +171.144151746612 1479.045532226562 +172.954917719732 3206.000000000000 +173.079795077697 6212.281250000000 +174.952323772485 2424.000000000000 +178.158429128963 1377.000000000000 +179.105591924166 1772.772583007812 +182.961056624651 2308.843750000000 +183.078937804238 2289.022460937500 +183.097572106613 2258.250732421875 +186.221163786911 2129.000000000000 +194.115692438393 3322.000000000000 +195.103289455477 1601.895141601562 +195.120972579400 2060.433593750000 +198.184905525686 1955.000000000000 +200.199697056482 1183.000000000000 +217.106496007309 21462.582031250000 +218.109589696743 2767.000000000000 +219.096136534848 1306.856933593750 +227.127499347418 20629.291015625000 +228.130602306645 2679.707519531250 +228.195447315902 1383.987548828125 +233.134864609403 1301.000000000000 +235.168088751500 1208.444580078125 +239.087982722321 4171.939453125000 +239.159768930624 1207.720947265625 +242.283982386371 1928.000000000000 +246.861553572729 3012.000000000000 +249.109091723811 8774.000000000000 +249.183639586712 1240.879272460938 +250.113239684645 1437.000000000000 +250.178995652493 1182.339599609375 +250.999391894301 2202.000000000000 +251.183548791076 1320.392822265625 +252.996248929911 1545.000000000000 +267.171855191852 1381.224731445312 +279.093783189418 1990.000000000000 +281.051297150952 1339.000000000000 +289.120539945877 1142.618652343750 +304.112680718611 1976.000000000000 +327.007958530185 3305.037597656250 +329.004432449253 2885.000000000000 +330.205630510121 1599.646240234375 +364.962497539327 2062.000000000000 +366.958495480631 1832.000000000000 +382.972703481593 260479.000000000000 +383.796497384394 1154.792724609375 +383.974478286219 40275.000000000000 +384.970213041589 255218.000000000000 +385.971633062117 39022.000000000000 +386.966672062113 82162.000000000000 +387.969272726093 12025.615234375000 +388.966510755465 11969.900390625000 +389.969399976371 1962.000000000000 +390.976493102306 2563.000000000000 +404.954387561958 18217.000000000000 +405.956423697963 3149.000000000000 +406.951091509102 17869.000000000000 +407.954017373214 2785.000000000000 +408.948152813757 6017.000000000000 +428.030637612530 2273.000000000000 +430.027236075757 2378.539794921875 +445.118317831487 2268.000000000000 +482.896699661800 1928.000000000000 +484.894570839957 2183.009277343750 +500.275380576856 1496.000000000000 +502.290948639293 2197.000000000000 +505.852798723386 2232.000000000000 +520.337594021166 1251.000000000000 +524.369861286564 1845.000000000000 +536.163207287856 4803.000000000000 +537.164642261465 2595.000000000000 +538.162041431171 1826.000000000000 +542.323226994846 1949.156982421875 +544.339119685474 3064.000000000000 +546.913615628767 1652.000000000000 +610.181827147267 2083.000000000000 +611.182099563802 1208.000000000000 +770.947018975967 1126.442626953125 +772.941639246509 2253.000000000000 +774.943054052942 1912.000000000000 +786.919336659213 2904.000000000000 +788.915401365752 6123.000000000000 +789.918370920915 1906.000000000000 +790.914122108700 4577.000000000000 +791.916902705136 1354.000000000000 +792.910231210434 2284.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=692 experiment=8 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=692 experiment=8_0 +##scan 204 +##specref ms_run[1]:sample=1 period=1 cycle=692 experiment=8 +281.049199638916 13.000000000000 +387.984779085330 30.000000000000 +388.980664513613 953.000000000000 +389.992410499529 13.000000000000 +390.976314031973 1013.000000000000 +408.992149941861 13.000000000000 +>compound 1_0-692009--205--UNKNOWN +>parentmass 788.915401365752 +>charge 1 +>rt 459.961000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +788.915401365752 6123.000000000000 +789.918370920915 1906.000000000000 +>ms1peaks +52.005836971133 3275.866210937500 +53.013585641217 16462.654296875000 +53.850547505716 1247.490844726562 +54.009388977537 348598.687500000000 +55.005798963074 5869.680175781250 +55.011774372187 6856.918945312500 +55.054475601255 2473.953125000000 +55.934129107275 5180.807128906250 +56.942113043098 2081.341552734375 +59.049544533559 54336.714843750000 +60.044465740627 9898.330078125000 +61.039478346007 2105.842529296875 +63.997412764298 3413.259765625000 +64.005106461592 4299.035644531250 +68.011655111553 26417.048828125000 +68.993451225116 10495.742187500000 +69.007351634483 1155.211425781250 +69.044667736537 14631.378906250000 +72.043977843220 1186.000000000000 +72.936644856416 1760.000000000000 +73.064218143049 1938.000000000000 +76.486218455988 2096.923095703125 +79.020975495578 13874.204101562500 +80.049052003255 11024.270507812500 +81.937175489519 7138.000000000000 +82.996514044878 7636.792968750000 +83.084688813927 2161.000000000000 +87.055001018332 1330.756225585938 +89.506504228804 1366.624267578125 +90.488814793493 1655.000000000000 +91.053863900189 1343.637695312500 +95.952451549397 2123.438964843750 +97.968285613023 6437.601562500000 +100.075459222547 1156.000000000000 +102.090554022445 2543.457763671875 +109.942873698046 1245.000000000000 +113.962843649207 1932.000000000000 +114.090883078011 10019.290039062500 +118.085186987492 5823.000000000000 +122.095548751359 3537.398681640625 +122.963008452569 9425.616210937500 +123.090974567516 1817.215332031250 +130.158162499144 1132.000000000000 +136.020346034918 1611.000000000000 +136.111299179502 1360.000000000000 +137.963423713638 1128.155029296875 +141.090309448831 1352.879638671875 +141.112097614347 1262.819458007812 +141.957702024079 13826.095703125000 +147.090234918404 2477.000000000000 +149.022728714815 4238.566406250000 +149.040599298318 2635.204589843750 +151.095643482255 2393.002197265625 +151.110516034735 2442.884033203125 +155.069236883933 1544.777343750000 +155.105682901057 6263.000000000000 +155.972920410543 3385.000000000000 +158.094774385335 1080.967773437500 +158.153283576062 10534.000000000000 +159.155715172952 1385.000000000000 +161.095525142910 1630.366088867188 +164.142719377118 1265.000000000000 +167.106064869970 1152.309692382812 +170.095316404580 2395.057128906250 +171.144151746612 1479.045532226562 +172.954917719732 3206.000000000000 +173.079795077697 6212.281250000000 +174.952323772485 2424.000000000000 +178.158429128963 1377.000000000000 +179.105591924166 1772.772583007812 +182.961056624651 2308.843750000000 +183.078937804238 2289.022460937500 +183.097572106613 2258.250732421875 +186.221163786911 2129.000000000000 +194.115692438393 3322.000000000000 +195.103289455477 1601.895141601562 +195.120972579400 2060.433593750000 +198.184905525686 1955.000000000000 +200.199697056482 1183.000000000000 +217.106496007309 21462.582031250000 +218.109589696743 2767.000000000000 +219.096136534848 1306.856933593750 +227.127499347418 20629.291015625000 +228.130602306645 2679.707519531250 +228.195447315902 1383.987548828125 +233.134864609403 1301.000000000000 +235.168088751500 1208.444580078125 +239.087982722321 4171.939453125000 +239.159768930624 1207.720947265625 +242.283982386371 1928.000000000000 +246.861553572729 3012.000000000000 +249.109091723811 8774.000000000000 +249.183639586712 1240.879272460938 +250.113239684645 1437.000000000000 +250.178995652493 1182.339599609375 +250.999391894301 2202.000000000000 +251.183548791076 1320.392822265625 +252.996248929911 1545.000000000000 +267.171855191852 1381.224731445312 +279.093783189418 1990.000000000000 +281.051297150952 1339.000000000000 +289.120539945877 1142.618652343750 +304.112680718611 1976.000000000000 +327.007958530185 3305.037597656250 +329.004432449253 2885.000000000000 +330.205630510121 1599.646240234375 +364.962497539327 2062.000000000000 +366.958495480631 1832.000000000000 +382.972703481593 260479.000000000000 +383.796497384394 1154.792724609375 +383.974478286219 40275.000000000000 +384.970213041589 255218.000000000000 +385.971633062117 39022.000000000000 +386.966672062113 82162.000000000000 +387.969272726093 12025.615234375000 +388.966510755465 11969.900390625000 +389.969399976371 1962.000000000000 +390.976493102306 2563.000000000000 +404.954387561958 18217.000000000000 +405.956423697963 3149.000000000000 +406.951091509102 17869.000000000000 +407.954017373214 2785.000000000000 +408.948152813757 6017.000000000000 +428.030637612530 2273.000000000000 +430.027236075757 2378.539794921875 +445.118317831487 2268.000000000000 +482.896699661800 1928.000000000000 +484.894570839957 2183.009277343750 +500.275380576856 1496.000000000000 +502.290948639293 2197.000000000000 +505.852798723386 2232.000000000000 +520.337594021166 1251.000000000000 +524.369861286564 1845.000000000000 +536.163207287856 4803.000000000000 +537.164642261465 2595.000000000000 +538.162041431171 1826.000000000000 +542.323226994846 1949.156982421875 +544.339119685474 3064.000000000000 +546.913615628767 1652.000000000000 +610.181827147267 2083.000000000000 +611.182099563802 1208.000000000000 +770.947018975967 1126.442626953125 +772.941639246509 2253.000000000000 +774.943054052942 1912.000000000000 +786.919336659213 2904.000000000000 +788.915401365752 6123.000000000000 +789.918370920915 1906.000000000000 +790.914122108700 4577.000000000000 +791.916902705136 1354.000000000000 +792.910231210434 2284.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=692 experiment=9 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=692 experiment=9_0 +##scan 205 +##specref ms_run[1]:sample=1 period=1 cycle=692 experiment=9 +404.954947111314 1302.000000000000 +405.026135823838 79.605567932129 +405.707501530053 30.000000000000 +405.733230950239 30.000000000000 +405.955627369166 30.000000000000 +406.950214690636 1282.000000000000 +788.721792359159 13.000000000000 +>compound 1_0-693002--207--UNKNOWN +>parentmass 364.961489231765 +>charge 1 +>rt 460.888000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +364.961489231765 3826.000000000000 +>ms1peaks +52.005376076017 2883.880126953125 +53.013413907114 13058.982421875000 +54.009310504902 336971.593750000000 +55.006164410265 6084.639160156250 +55.011253279137 6804.312011718750 +55.053973268647 2094.136962890625 +55.933959042129 4944.510253906250 +56.941986222623 2084.266357421875 +59.049551500331 79191.015625000000 +60.044493631405 10838.423828125000 +61.039424138051 1510.310058593750 +63.997587302487 3447.318359375000 +64.005172264091 4602.720214843750 +68.011537684837 26478.115234375000 +68.993632019046 10816.396484375000 +69.044529545307 13642.217773437500 +72.936457767817 1786.218261718750 +73.064222660914 1621.299560546875 +76.486209729505 2229.000000000000 +79.020780389523 15598.791015625000 +80.048897845504 11696.743164062500 +81.936905624127 7513.618652343750 +82.996288344821 6976.000000000000 +83.085026087494 1412.000000000000 +87.054730595182 1436.109375000000 +90.489074787757 1427.000000000000 +91.053464991945 1569.000000000000 +95.952550974511 1837.000000000000 +97.967889624898 5804.188476562500 +102.090389946825 2039.000000000000 +109.942394290071 1355.000000000000 +113.962677921364 1715.000000000000 +114.090495581394 10508.503906250000 +118.085030169406 5793.618164062500 +122.095373734435 3261.000000000000 +122.962956356250 8717.000000000000 +123.091283307129 1822.000000000000 +130.157670347755 1372.000000000000 +136.020442497348 1484.000000000000 +141.089545548276 1505.945922851562 +141.111778196613 1273.170654296875 +141.957370263974 13080.325195312500 +147.090827326784 2735.116699218750 +149.022417633201 4598.868652343750 +151.094984589248 2634.482177734375 +151.111228898694 2781.670654296875 +153.126508682277 1347.000000000000 +155.069230805975 1501.910400390625 +155.105168844558 3718.000000000000 +155.973236471256 3793.457519531250 +158.153233560066 9991.886718750000 +159.137906167157 1576.519409179688 +159.155197345679 1728.316040039062 +161.095712954709 1618.000000000000 +164.142678923314 1584.981079101562 +167.105510572415 2103.879638671875 +170.095065256490 3113.855224609375 +171.146178907250 1450.000000000000 +172.954475044148 6486.615722656250 +173.080086580295 6165.000000000000 +174.951826947852 4038.934082031250 +178.157729569686 1308.461181640625 +179.105523367591 1776.000000000000 +182.960746875297 2551.042724609375 +183.079117402757 1340.139282226562 +183.098838604879 1426.173706054688 +186.220920447180 1344.000000000000 +194.115874579098 2606.000000000000 +195.120457994010 1963.229248046875 +198.184587323981 1835.946166992188 +201.194786366141 1244.618774414062 +217.106362896158 23584.000000000000 +218.109168688688 2603.000000000000 +227.127432730232 10516.948242187500 +228.129909544275 1526.000000000000 +239.088104333017 4048.000000000000 +242.283621376797 1694.000000000000 +246.861551486243 2459.000000000000 +249.109044797754 4284.000000000000 +249.183712414887 1332.089477539062 +250.999288828692 2323.000000000000 +251.182658791365 1347.000000000000 +252.996889183114 1537.976440429688 +254.083522016681 1687.000000000000 +267.170945735844 1374.012573242188 +279.092405514593 2060.151123046875 +281.051044087152 1406.000000000000 +304.111107217598 1705.000000000000 +327.007198326562 3294.460205078125 +329.004058351650 2860.000000000000 +330.205390821964 1624.000000000000 +364.961489231765 3826.000000000000 +366.957898526556 3996.233642578125 +381.808013272895 1578.000000000000 +382.974668199450 512123.812500000000 +383.797795773412 1974.817016601562 +383.973804988344 67649.023437500000 +384.972138308465 495302.968750000000 +385.971246198787 70765.046875000000 +386.966528657686 146591.000000000000 +387.969530993471 23030.000000000000 +388.965530388284 21448.000000000000 +389.968451613555 3733.000000000000 +390.976895115200 4097.000000000000 +392.974710796671 1289.681884765625 +404.954362223910 29937.207031250000 +405.956940932654 4597.000000000000 +406.951031367430 29269.568359375000 +407.954600492350 4851.000000000000 +408.948223942359 9862.279296875000 +409.950274004296 1622.000000000000 +410.945900982911 1240.446289062500 +422.924309561339 1321.314331054688 +428.029862424963 3127.000000000000 +430.025829985642 3375.565917968750 +432.023389778043 1241.000000000000 +445.118540650774 2403.000000000000 +482.896343711522 3766.000000000000 +484.893208509576 3436.493652343750 +486.890337640381 1470.000000000000 +500.275964022219 1326.000000000000 +502.290774394394 2533.000000000000 +505.852131030981 2176.208984375000 +520.337158711044 1461.000000000000 +522.879856177194 1440.671630859375 +524.369108967211 1804.000000000000 +536.163737753906 5207.000000000000 +537.164639268191 2756.000000000000 +538.162878717604 1773.000000000000 +542.322704071625 1648.782958984375 +544.339131186130 2994.000000000000 +546.913981193515 1696.000000000000 +610.182116523211 2119.000000000000 +611.183653272311 1499.000000000000 +770.945625211386 2752.000000000000 +771.945498320437 1251.000000000000 +772.941790932239 5463.000000000000 +773.942311008502 1795.000000000000 +774.938554076670 4221.000000000000 +775.941076669102 1561.000000000000 +776.936676421416 1997.000000000000 +786.918540331440 6080.000000000000 +787.923055465852 2216.000000000000 +788.915183876064 12922.929687500000 +789.918908612778 3577.000000000000 +790.913402804955 10338.000000000000 +791.914597259040 3343.090820312500 +792.910156420632 5118.000000000000 +793.914375013341 1534.000000000000 +794.907901025846 1263.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=693 experiment=2 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=693 experiment=2_0 +##scan 207 +##specref ms_run[1]:sample=1 period=1 cycle=693 experiment=2 +364.963163927810 45.000000000000 +>compound 1_0-693003--208--UNKNOWN +>parentmass 384.972138308465 +>charge 1 +>rt 460.888000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +384.972138308465 495302.968750000000 +>ms1peaks +52.005376076017 2883.880126953125 +53.013413907114 13058.982421875000 +54.009310504902 336971.593750000000 +55.006164410265 6084.639160156250 +55.011253279137 6804.312011718750 +55.053973268647 2094.136962890625 +55.933959042129 4944.510253906250 +56.941986222623 2084.266357421875 +59.049551500331 79191.015625000000 +60.044493631405 10838.423828125000 +61.039424138051 1510.310058593750 +63.997587302487 3447.318359375000 +64.005172264091 4602.720214843750 +68.011537684837 26478.115234375000 +68.993632019046 10816.396484375000 +69.044529545307 13642.217773437500 +72.936457767817 1786.218261718750 +73.064222660914 1621.299560546875 +76.486209729505 2229.000000000000 +79.020780389523 15598.791015625000 +80.048897845504 11696.743164062500 +81.936905624127 7513.618652343750 +82.996288344821 6976.000000000000 +83.085026087494 1412.000000000000 +87.054730595182 1436.109375000000 +90.489074787757 1427.000000000000 +91.053464991945 1569.000000000000 +95.952550974511 1837.000000000000 +97.967889624898 5804.188476562500 +102.090389946825 2039.000000000000 +109.942394290071 1355.000000000000 +113.962677921364 1715.000000000000 +114.090495581394 10508.503906250000 +118.085030169406 5793.618164062500 +122.095373734435 3261.000000000000 +122.962956356250 8717.000000000000 +123.091283307129 1822.000000000000 +130.157670347755 1372.000000000000 +136.020442497348 1484.000000000000 +141.089545548276 1505.945922851562 +141.111778196613 1273.170654296875 +141.957370263974 13080.325195312500 +147.090827326784 2735.116699218750 +149.022417633201 4598.868652343750 +151.094984589248 2634.482177734375 +151.111228898694 2781.670654296875 +153.126508682277 1347.000000000000 +155.069230805975 1501.910400390625 +155.105168844558 3718.000000000000 +155.973236471256 3793.457519531250 +158.153233560066 9991.886718750000 +159.137906167157 1576.519409179688 +159.155197345679 1728.316040039062 +161.095712954709 1618.000000000000 +164.142678923314 1584.981079101562 +167.105510572415 2103.879638671875 +170.095065256490 3113.855224609375 +171.146178907250 1450.000000000000 +172.954475044148 6486.615722656250 +173.080086580295 6165.000000000000 +174.951826947852 4038.934082031250 +178.157729569686 1308.461181640625 +179.105523367591 1776.000000000000 +182.960746875297 2551.042724609375 +183.079117402757 1340.139282226562 +183.098838604879 1426.173706054688 +186.220920447180 1344.000000000000 +194.115874579098 2606.000000000000 +195.120457994010 1963.229248046875 +198.184587323981 1835.946166992188 +201.194786366141 1244.618774414062 +217.106362896158 23584.000000000000 +218.109168688688 2603.000000000000 +227.127432730232 10516.948242187500 +228.129909544275 1526.000000000000 +239.088104333017 4048.000000000000 +242.283621376797 1694.000000000000 +246.861551486243 2459.000000000000 +249.109044797754 4284.000000000000 +249.183712414887 1332.089477539062 +250.999288828692 2323.000000000000 +251.182658791365 1347.000000000000 +252.996889183114 1537.976440429688 +254.083522016681 1687.000000000000 +267.170945735844 1374.012573242188 +279.092405514593 2060.151123046875 +281.051044087152 1406.000000000000 +304.111107217598 1705.000000000000 +327.007198326562 3294.460205078125 +329.004058351650 2860.000000000000 +330.205390821964 1624.000000000000 +364.961489231765 3826.000000000000 +366.957898526556 3996.233642578125 +381.808013272895 1578.000000000000 +382.974668199450 512123.812500000000 +383.797795773412 1974.817016601562 +383.973804988344 67649.023437500000 +384.972138308465 495302.968750000000 +385.971246198787 70765.046875000000 +386.966528657686 146591.000000000000 +387.969530993471 23030.000000000000 +388.965530388284 21448.000000000000 +389.968451613555 3733.000000000000 +390.976895115200 4097.000000000000 +392.974710796671 1289.681884765625 +404.954362223910 29937.207031250000 +405.956940932654 4597.000000000000 +406.951031367430 29269.568359375000 +407.954600492350 4851.000000000000 +408.948223942359 9862.279296875000 +409.950274004296 1622.000000000000 +410.945900982911 1240.446289062500 +422.924309561339 1321.314331054688 +428.029862424963 3127.000000000000 +430.025829985642 3375.565917968750 +432.023389778043 1241.000000000000 +445.118540650774 2403.000000000000 +482.896343711522 3766.000000000000 +484.893208509576 3436.493652343750 +486.890337640381 1470.000000000000 +500.275964022219 1326.000000000000 +502.290774394394 2533.000000000000 +505.852131030981 2176.208984375000 +520.337158711044 1461.000000000000 +522.879856177194 1440.671630859375 +524.369108967211 1804.000000000000 +536.163737753906 5207.000000000000 +537.164639268191 2756.000000000000 +538.162878717604 1773.000000000000 +542.322704071625 1648.782958984375 +544.339131186130 2994.000000000000 +546.913981193515 1696.000000000000 +610.182116523211 2119.000000000000 +611.183653272311 1499.000000000000 +770.945625211386 2752.000000000000 +771.945498320437 1251.000000000000 +772.941790932239 5463.000000000000 +773.942311008502 1795.000000000000 +774.938554076670 4221.000000000000 +775.941076669102 1561.000000000000 +776.936676421416 1997.000000000000 +786.918540331440 6080.000000000000 +787.923055465852 2216.000000000000 +788.915183876064 12922.929687500000 +789.918908612778 3577.000000000000 +790.913402804955 10338.000000000000 +791.914597259040 3343.090820312500 +792.910156420632 5118.000000000000 +793.914375013341 1534.000000000000 +794.907901025846 1263.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=693 experiment=3 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=693 experiment=3_0 +##scan 208 +##specref ms_run[1]:sample=1 period=1 cycle=693 experiment=3 +74.015593730219 90.000000000000 +108.982725487353 335.000000000000 +110.980768197449 195.000000000000 +132.015411292184 75.000000000000 +138.012495802589 45.000000000000 +144.520438740081 30.000000000000 +144.532721880812 30.000000000000 +144.960106948252 3504.000000000000 +145.957607336012 30.000000000000 +145.969427497898 30.000000000000 +146.514296625917 120.000000000000 +146.957391558555 6979.000000000000 +158.019923338228 105.000000000000 +159.028444651052 169.000000000000 +164.971316184505 60.000000000000 +166.985844205731 75.000000000000 +172.435350097285 255.000000000000 +172.459699927151 58.119884490967 +172.928273347062 572.491333007812 +172.955729041754 42829.562500000000 +173.026800988173 15.000000000000 +173.108276706294 30.000000000000 +173.119254998714 30.000000000000 +173.422116833841 30.000000000000 +173.469100178471 30.000000000000 +173.478998018262 30.000000000000 +173.741516370764 15.000000000000 +173.801502478554 30.000000000000 +173.957994826025 962.000000000000 +173.992342522631 318.729431152344 +174.017377893141 105.699356079102 +174.427178741903 421.865417480469 +174.463907253913 60.000000000000 +174.508844707030 45.000000000000 +174.521312165992 45.000000000000 +174.556989458470 15.000000000000 +174.670068585907 30.000000000000 +174.837750187503 28.553567886353 +174.858142593857 43.146827697754 +174.953363083605 86387.000000000000 +174.992175798626 124.503494262695 +175.018579778074 30.000000000000 +175.029679219328 30.000000000000 +175.136724101142 45.000000000000 +175.151327442613 45.000000000000 +175.327662444915 45.000000000000 +175.376291062904 30.000000000000 +175.485257380445 60.000000000000 +175.507255194518 56.273757934570 +175.812323420458 30.000000000000 +175.823543948794 53.027351379395 +175.844841567932 60.000000000000 +175.875047614561 30.000000000000 +175.955324056536 135.000000000000 +175.984777630208 162.850494384766 +175.997602535924 150.000000000000 +176.016791758033 88.245552062988 +176.033642224152 30.000000000000 +176.066476169565 45.000000000000 +176.084532670339 45.000000000000 +176.117863823048 15.000000000000 +176.225963046224 30.000000000000 +176.237139058089 30.000000000000 +176.427738552784 45.000000000000 +176.448139246840 45.000000000000 +176.511001160107 30.000000000000 +176.591315511026 30.000000000000 +176.780852678878 30.000000000000 +176.965579585738 30.000000000000 +177.220372655802 30.000000000000 +178.229465667584 15.000000000000 +178.272114634569 48.814983367920 +178.296052419568 45.000000000000 +178.376160517198 45.000000000000 +181.991613788006 30.000000000000 +193.410537683552 45.000000000000 +193.997841265756 4326.000000000000 +194.615111680861 30.000000000000 +194.631478436694 30.000000000000 +194.997221661598 30.000000000000 +195.995134049376 2362.000000000000 +211.010735094111 30.000000000000 +212.008766892979 45.000000000000 +366.961187299296 6298.000000000000 +367.391154523436 30.000000000000 +367.441479337402 30.000000000000 +367.456748558207 30.000000000000 +384.970238550546 2481.000000000000 +385.977029951077 30.000000000000 +>compound 1_0-693004--209--UNKNOWN +>parentmass 390.976895115200 +>charge 1 +>rt 460.888000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +390.976895115200 4097.000000000000 +>ms1peaks +52.005376076017 2883.880126953125 +53.013413907114 13058.982421875000 +54.009310504902 336971.593750000000 +55.006164410265 6084.639160156250 +55.011253279137 6804.312011718750 +55.053973268647 2094.136962890625 +55.933959042129 4944.510253906250 +56.941986222623 2084.266357421875 +59.049551500331 79191.015625000000 +60.044493631405 10838.423828125000 +61.039424138051 1510.310058593750 +63.997587302487 3447.318359375000 +64.005172264091 4602.720214843750 +68.011537684837 26478.115234375000 +68.993632019046 10816.396484375000 +69.044529545307 13642.217773437500 +72.936457767817 1786.218261718750 +73.064222660914 1621.299560546875 +76.486209729505 2229.000000000000 +79.020780389523 15598.791015625000 +80.048897845504 11696.743164062500 +81.936905624127 7513.618652343750 +82.996288344821 6976.000000000000 +83.085026087494 1412.000000000000 +87.054730595182 1436.109375000000 +90.489074787757 1427.000000000000 +91.053464991945 1569.000000000000 +95.952550974511 1837.000000000000 +97.967889624898 5804.188476562500 +102.090389946825 2039.000000000000 +109.942394290071 1355.000000000000 +113.962677921364 1715.000000000000 +114.090495581394 10508.503906250000 +118.085030169406 5793.618164062500 +122.095373734435 3261.000000000000 +122.962956356250 8717.000000000000 +123.091283307129 1822.000000000000 +130.157670347755 1372.000000000000 +136.020442497348 1484.000000000000 +141.089545548276 1505.945922851562 +141.111778196613 1273.170654296875 +141.957370263974 13080.325195312500 +147.090827326784 2735.116699218750 +149.022417633201 4598.868652343750 +151.094984589248 2634.482177734375 +151.111228898694 2781.670654296875 +153.126508682277 1347.000000000000 +155.069230805975 1501.910400390625 +155.105168844558 3718.000000000000 +155.973236471256 3793.457519531250 +158.153233560066 9991.886718750000 +159.137906167157 1576.519409179688 +159.155197345679 1728.316040039062 +161.095712954709 1618.000000000000 +164.142678923314 1584.981079101562 +167.105510572415 2103.879638671875 +170.095065256490 3113.855224609375 +171.146178907250 1450.000000000000 +172.954475044148 6486.615722656250 +173.080086580295 6165.000000000000 +174.951826947852 4038.934082031250 +178.157729569686 1308.461181640625 +179.105523367591 1776.000000000000 +182.960746875297 2551.042724609375 +183.079117402757 1340.139282226562 +183.098838604879 1426.173706054688 +186.220920447180 1344.000000000000 +194.115874579098 2606.000000000000 +195.120457994010 1963.229248046875 +198.184587323981 1835.946166992188 +201.194786366141 1244.618774414062 +217.106362896158 23584.000000000000 +218.109168688688 2603.000000000000 +227.127432730232 10516.948242187500 +228.129909544275 1526.000000000000 +239.088104333017 4048.000000000000 +242.283621376797 1694.000000000000 +246.861551486243 2459.000000000000 +249.109044797754 4284.000000000000 +249.183712414887 1332.089477539062 +250.999288828692 2323.000000000000 +251.182658791365 1347.000000000000 +252.996889183114 1537.976440429688 +254.083522016681 1687.000000000000 +267.170945735844 1374.012573242188 +279.092405514593 2060.151123046875 +281.051044087152 1406.000000000000 +304.111107217598 1705.000000000000 +327.007198326562 3294.460205078125 +329.004058351650 2860.000000000000 +330.205390821964 1624.000000000000 +364.961489231765 3826.000000000000 +366.957898526556 3996.233642578125 +381.808013272895 1578.000000000000 +382.974668199450 512123.812500000000 +383.797795773412 1974.817016601562 +383.973804988344 67649.023437500000 +384.972138308465 495302.968750000000 +385.971246198787 70765.046875000000 +386.966528657686 146591.000000000000 +387.969530993471 23030.000000000000 +388.965530388284 21448.000000000000 +389.968451613555 3733.000000000000 +390.976895115200 4097.000000000000 +392.974710796671 1289.681884765625 +404.954362223910 29937.207031250000 +405.956940932654 4597.000000000000 +406.951031367430 29269.568359375000 +407.954600492350 4851.000000000000 +408.948223942359 9862.279296875000 +409.950274004296 1622.000000000000 +410.945900982911 1240.446289062500 +422.924309561339 1321.314331054688 +428.029862424963 3127.000000000000 +430.025829985642 3375.565917968750 +432.023389778043 1241.000000000000 +445.118540650774 2403.000000000000 +482.896343711522 3766.000000000000 +484.893208509576 3436.493652343750 +486.890337640381 1470.000000000000 +500.275964022219 1326.000000000000 +502.290774394394 2533.000000000000 +505.852131030981 2176.208984375000 +520.337158711044 1461.000000000000 +522.879856177194 1440.671630859375 +524.369108967211 1804.000000000000 +536.163737753906 5207.000000000000 +537.164639268191 2756.000000000000 +538.162878717604 1773.000000000000 +542.322704071625 1648.782958984375 +544.339131186130 2994.000000000000 +546.913981193515 1696.000000000000 +610.182116523211 2119.000000000000 +611.183653272311 1499.000000000000 +770.945625211386 2752.000000000000 +771.945498320437 1251.000000000000 +772.941790932239 5463.000000000000 +773.942311008502 1795.000000000000 +774.938554076670 4221.000000000000 +775.941076669102 1561.000000000000 +776.936676421416 1997.000000000000 +786.918540331440 6080.000000000000 +787.923055465852 2216.000000000000 +788.915183876064 12922.929687500000 +789.918908612778 3577.000000000000 +790.913402804955 10338.000000000000 +791.914597259040 3343.090820312500 +792.910156420632 5118.000000000000 +793.914375013341 1534.000000000000 +794.907901025846 1263.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=693 experiment=4 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=693 experiment=4_0 +##scan 209 +##specref ms_run[1]:sample=1 period=1 cycle=693 experiment=4 +172.966126067652 90.000000000000 +174.951259857183 172.639129638672 +177.954965759204 30.000000000000 +390.976559812069 120.000000000000 +>compound 1_0-693005--210--UNKNOWN +>parentmass 404.954362223910 +>charge 1 +>rt 460.888000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +404.954362223910 29937.207031250000 +>ms1peaks +52.005376076017 2883.880126953125 +53.013413907114 13058.982421875000 +54.009310504902 336971.593750000000 +55.006164410265 6084.639160156250 +55.011253279137 6804.312011718750 +55.053973268647 2094.136962890625 +55.933959042129 4944.510253906250 +56.941986222623 2084.266357421875 +59.049551500331 79191.015625000000 +60.044493631405 10838.423828125000 +61.039424138051 1510.310058593750 +63.997587302487 3447.318359375000 +64.005172264091 4602.720214843750 +68.011537684837 26478.115234375000 +68.993632019046 10816.396484375000 +69.044529545307 13642.217773437500 +72.936457767817 1786.218261718750 +73.064222660914 1621.299560546875 +76.486209729505 2229.000000000000 +79.020780389523 15598.791015625000 +80.048897845504 11696.743164062500 +81.936905624127 7513.618652343750 +82.996288344821 6976.000000000000 +83.085026087494 1412.000000000000 +87.054730595182 1436.109375000000 +90.489074787757 1427.000000000000 +91.053464991945 1569.000000000000 +95.952550974511 1837.000000000000 +97.967889624898 5804.188476562500 +102.090389946825 2039.000000000000 +109.942394290071 1355.000000000000 +113.962677921364 1715.000000000000 +114.090495581394 10508.503906250000 +118.085030169406 5793.618164062500 +122.095373734435 3261.000000000000 +122.962956356250 8717.000000000000 +123.091283307129 1822.000000000000 +130.157670347755 1372.000000000000 +136.020442497348 1484.000000000000 +141.089545548276 1505.945922851562 +141.111778196613 1273.170654296875 +141.957370263974 13080.325195312500 +147.090827326784 2735.116699218750 +149.022417633201 4598.868652343750 +151.094984589248 2634.482177734375 +151.111228898694 2781.670654296875 +153.126508682277 1347.000000000000 +155.069230805975 1501.910400390625 +155.105168844558 3718.000000000000 +155.973236471256 3793.457519531250 +158.153233560066 9991.886718750000 +159.137906167157 1576.519409179688 +159.155197345679 1728.316040039062 +161.095712954709 1618.000000000000 +164.142678923314 1584.981079101562 +167.105510572415 2103.879638671875 +170.095065256490 3113.855224609375 +171.146178907250 1450.000000000000 +172.954475044148 6486.615722656250 +173.080086580295 6165.000000000000 +174.951826947852 4038.934082031250 +178.157729569686 1308.461181640625 +179.105523367591 1776.000000000000 +182.960746875297 2551.042724609375 +183.079117402757 1340.139282226562 +183.098838604879 1426.173706054688 +186.220920447180 1344.000000000000 +194.115874579098 2606.000000000000 +195.120457994010 1963.229248046875 +198.184587323981 1835.946166992188 +201.194786366141 1244.618774414062 +217.106362896158 23584.000000000000 +218.109168688688 2603.000000000000 +227.127432730232 10516.948242187500 +228.129909544275 1526.000000000000 +239.088104333017 4048.000000000000 +242.283621376797 1694.000000000000 +246.861551486243 2459.000000000000 +249.109044797754 4284.000000000000 +249.183712414887 1332.089477539062 +250.999288828692 2323.000000000000 +251.182658791365 1347.000000000000 +252.996889183114 1537.976440429688 +254.083522016681 1687.000000000000 +267.170945735844 1374.012573242188 +279.092405514593 2060.151123046875 +281.051044087152 1406.000000000000 +304.111107217598 1705.000000000000 +327.007198326562 3294.460205078125 +329.004058351650 2860.000000000000 +330.205390821964 1624.000000000000 +364.961489231765 3826.000000000000 +366.957898526556 3996.233642578125 +381.808013272895 1578.000000000000 +382.974668199450 512123.812500000000 +383.797795773412 1974.817016601562 +383.973804988344 67649.023437500000 +384.972138308465 495302.968750000000 +385.971246198787 70765.046875000000 +386.966528657686 146591.000000000000 +387.969530993471 23030.000000000000 +388.965530388284 21448.000000000000 +389.968451613555 3733.000000000000 +390.976895115200 4097.000000000000 +392.974710796671 1289.681884765625 +404.954362223910 29937.207031250000 +405.956940932654 4597.000000000000 +406.951031367430 29269.568359375000 +407.954600492350 4851.000000000000 +408.948223942359 9862.279296875000 +409.950274004296 1622.000000000000 +410.945900982911 1240.446289062500 +422.924309561339 1321.314331054688 +428.029862424963 3127.000000000000 +430.025829985642 3375.565917968750 +432.023389778043 1241.000000000000 +445.118540650774 2403.000000000000 +482.896343711522 3766.000000000000 +484.893208509576 3436.493652343750 +486.890337640381 1470.000000000000 +500.275964022219 1326.000000000000 +502.290774394394 2533.000000000000 +505.852131030981 2176.208984375000 +520.337158711044 1461.000000000000 +522.879856177194 1440.671630859375 +524.369108967211 1804.000000000000 +536.163737753906 5207.000000000000 +537.164639268191 2756.000000000000 +538.162878717604 1773.000000000000 +542.322704071625 1648.782958984375 +544.339131186130 2994.000000000000 +546.913981193515 1696.000000000000 +610.182116523211 2119.000000000000 +611.183653272311 1499.000000000000 +770.945625211386 2752.000000000000 +771.945498320437 1251.000000000000 +772.941790932239 5463.000000000000 +773.942311008502 1795.000000000000 +774.938554076670 4221.000000000000 +775.941076669102 1561.000000000000 +776.936676421416 1997.000000000000 +786.918540331440 6080.000000000000 +787.923055465852 2216.000000000000 +788.915183876064 12922.929687500000 +789.918908612778 3577.000000000000 +790.913402804955 10338.000000000000 +791.914597259040 3343.090820312500 +792.910156420632 5118.000000000000 +793.914375013341 1534.000000000000 +794.907901025846 1263.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=693 experiment=5 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=693 experiment=5_0 +##scan 210 +##specref ms_run[1]:sample=1 period=1 cycle=693 experiment=5 +157.872645263788 13.000000000000 +>compound 1_0-693006--211--UNKNOWN +>parentmass 428.029862424963 +>charge 1 +>rt 460.888000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +428.029862424963 3127.000000000000 +>ms1peaks +52.005376076017 2883.880126953125 +53.013413907114 13058.982421875000 +54.009310504902 336971.593750000000 +55.006164410265 6084.639160156250 +55.011253279137 6804.312011718750 +55.053973268647 2094.136962890625 +55.933959042129 4944.510253906250 +56.941986222623 2084.266357421875 +59.049551500331 79191.015625000000 +60.044493631405 10838.423828125000 +61.039424138051 1510.310058593750 +63.997587302487 3447.318359375000 +64.005172264091 4602.720214843750 +68.011537684837 26478.115234375000 +68.993632019046 10816.396484375000 +69.044529545307 13642.217773437500 +72.936457767817 1786.218261718750 +73.064222660914 1621.299560546875 +76.486209729505 2229.000000000000 +79.020780389523 15598.791015625000 +80.048897845504 11696.743164062500 +81.936905624127 7513.618652343750 +82.996288344821 6976.000000000000 +83.085026087494 1412.000000000000 +87.054730595182 1436.109375000000 +90.489074787757 1427.000000000000 +91.053464991945 1569.000000000000 +95.952550974511 1837.000000000000 +97.967889624898 5804.188476562500 +102.090389946825 2039.000000000000 +109.942394290071 1355.000000000000 +113.962677921364 1715.000000000000 +114.090495581394 10508.503906250000 +118.085030169406 5793.618164062500 +122.095373734435 3261.000000000000 +122.962956356250 8717.000000000000 +123.091283307129 1822.000000000000 +130.157670347755 1372.000000000000 +136.020442497348 1484.000000000000 +141.089545548276 1505.945922851562 +141.111778196613 1273.170654296875 +141.957370263974 13080.325195312500 +147.090827326784 2735.116699218750 +149.022417633201 4598.868652343750 +151.094984589248 2634.482177734375 +151.111228898694 2781.670654296875 +153.126508682277 1347.000000000000 +155.069230805975 1501.910400390625 +155.105168844558 3718.000000000000 +155.973236471256 3793.457519531250 +158.153233560066 9991.886718750000 +159.137906167157 1576.519409179688 +159.155197345679 1728.316040039062 +161.095712954709 1618.000000000000 +164.142678923314 1584.981079101562 +167.105510572415 2103.879638671875 +170.095065256490 3113.855224609375 +171.146178907250 1450.000000000000 +172.954475044148 6486.615722656250 +173.080086580295 6165.000000000000 +174.951826947852 4038.934082031250 +178.157729569686 1308.461181640625 +179.105523367591 1776.000000000000 +182.960746875297 2551.042724609375 +183.079117402757 1340.139282226562 +183.098838604879 1426.173706054688 +186.220920447180 1344.000000000000 +194.115874579098 2606.000000000000 +195.120457994010 1963.229248046875 +198.184587323981 1835.946166992188 +201.194786366141 1244.618774414062 +217.106362896158 23584.000000000000 +218.109168688688 2603.000000000000 +227.127432730232 10516.948242187500 +228.129909544275 1526.000000000000 +239.088104333017 4048.000000000000 +242.283621376797 1694.000000000000 +246.861551486243 2459.000000000000 +249.109044797754 4284.000000000000 +249.183712414887 1332.089477539062 +250.999288828692 2323.000000000000 +251.182658791365 1347.000000000000 +252.996889183114 1537.976440429688 +254.083522016681 1687.000000000000 +267.170945735844 1374.012573242188 +279.092405514593 2060.151123046875 +281.051044087152 1406.000000000000 +304.111107217598 1705.000000000000 +327.007198326562 3294.460205078125 +329.004058351650 2860.000000000000 +330.205390821964 1624.000000000000 +364.961489231765 3826.000000000000 +366.957898526556 3996.233642578125 +381.808013272895 1578.000000000000 +382.974668199450 512123.812500000000 +383.797795773412 1974.817016601562 +383.973804988344 67649.023437500000 +384.972138308465 495302.968750000000 +385.971246198787 70765.046875000000 +386.966528657686 146591.000000000000 +387.969530993471 23030.000000000000 +388.965530388284 21448.000000000000 +389.968451613555 3733.000000000000 +390.976895115200 4097.000000000000 +392.974710796671 1289.681884765625 +404.954362223910 29937.207031250000 +405.956940932654 4597.000000000000 +406.951031367430 29269.568359375000 +407.954600492350 4851.000000000000 +408.948223942359 9862.279296875000 +409.950274004296 1622.000000000000 +410.945900982911 1240.446289062500 +422.924309561339 1321.314331054688 +428.029862424963 3127.000000000000 +430.025829985642 3375.565917968750 +432.023389778043 1241.000000000000 +445.118540650774 2403.000000000000 +482.896343711522 3766.000000000000 +484.893208509576 3436.493652343750 +486.890337640381 1470.000000000000 +500.275964022219 1326.000000000000 +502.290774394394 2533.000000000000 +505.852131030981 2176.208984375000 +520.337158711044 1461.000000000000 +522.879856177194 1440.671630859375 +524.369108967211 1804.000000000000 +536.163737753906 5207.000000000000 +537.164639268191 2756.000000000000 +538.162878717604 1773.000000000000 +542.322704071625 1648.782958984375 +544.339131186130 2994.000000000000 +546.913981193515 1696.000000000000 +610.182116523211 2119.000000000000 +611.183653272311 1499.000000000000 +770.945625211386 2752.000000000000 +771.945498320437 1251.000000000000 +772.941790932239 5463.000000000000 +773.942311008502 1795.000000000000 +774.938554076670 4221.000000000000 +775.941076669102 1561.000000000000 +776.936676421416 1997.000000000000 +786.918540331440 6080.000000000000 +787.923055465852 2216.000000000000 +788.915183876064 12922.929687500000 +789.918908612778 3577.000000000000 +790.913402804955 10338.000000000000 +791.914597259040 3343.090820312500 +792.910156420632 5118.000000000000 +793.914375013341 1534.000000000000 +794.907901025846 1263.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=693 experiment=6 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=693 experiment=6_0 +##scan 211 +##specref ms_run[1]:sample=1 period=1 cycle=693 experiment=6 +123.766263425830 13.000000000000 +144.960938498779 210.000000000000 +172.955129218481 5364.000000000000 +173.784879147319 13.000000000000 +174.952613354693 30.000000000000 +193.996978247269 120.000000000000 +306.827873465163 13.000000000000 +338.863140559372 45.000000000000 +364.961485612129 478.000000000000 +382.974312198239 633.000000000000 +384.967450046293 13.000000000000 +>compound 1_0-693007--212--UNKNOWN +>parentmass 482.896343711522 +>charge 1 +>rt 460.888000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +482.896343711522 3766.000000000000 +>ms1peaks +52.005376076017 2883.880126953125 +53.013413907114 13058.982421875000 +54.009310504902 336971.593750000000 +55.006164410265 6084.639160156250 +55.011253279137 6804.312011718750 +55.053973268647 2094.136962890625 +55.933959042129 4944.510253906250 +56.941986222623 2084.266357421875 +59.049551500331 79191.015625000000 +60.044493631405 10838.423828125000 +61.039424138051 1510.310058593750 +63.997587302487 3447.318359375000 +64.005172264091 4602.720214843750 +68.011537684837 26478.115234375000 +68.993632019046 10816.396484375000 +69.044529545307 13642.217773437500 +72.936457767817 1786.218261718750 +73.064222660914 1621.299560546875 +76.486209729505 2229.000000000000 +79.020780389523 15598.791015625000 +80.048897845504 11696.743164062500 +81.936905624127 7513.618652343750 +82.996288344821 6976.000000000000 +83.085026087494 1412.000000000000 +87.054730595182 1436.109375000000 +90.489074787757 1427.000000000000 +91.053464991945 1569.000000000000 +95.952550974511 1837.000000000000 +97.967889624898 5804.188476562500 +102.090389946825 2039.000000000000 +109.942394290071 1355.000000000000 +113.962677921364 1715.000000000000 +114.090495581394 10508.503906250000 +118.085030169406 5793.618164062500 +122.095373734435 3261.000000000000 +122.962956356250 8717.000000000000 +123.091283307129 1822.000000000000 +130.157670347755 1372.000000000000 +136.020442497348 1484.000000000000 +141.089545548276 1505.945922851562 +141.111778196613 1273.170654296875 +141.957370263974 13080.325195312500 +147.090827326784 2735.116699218750 +149.022417633201 4598.868652343750 +151.094984589248 2634.482177734375 +151.111228898694 2781.670654296875 +153.126508682277 1347.000000000000 +155.069230805975 1501.910400390625 +155.105168844558 3718.000000000000 +155.973236471256 3793.457519531250 +158.153233560066 9991.886718750000 +159.137906167157 1576.519409179688 +159.155197345679 1728.316040039062 +161.095712954709 1618.000000000000 +164.142678923314 1584.981079101562 +167.105510572415 2103.879638671875 +170.095065256490 3113.855224609375 +171.146178907250 1450.000000000000 +172.954475044148 6486.615722656250 +173.080086580295 6165.000000000000 +174.951826947852 4038.934082031250 +178.157729569686 1308.461181640625 +179.105523367591 1776.000000000000 +182.960746875297 2551.042724609375 +183.079117402757 1340.139282226562 +183.098838604879 1426.173706054688 +186.220920447180 1344.000000000000 +194.115874579098 2606.000000000000 +195.120457994010 1963.229248046875 +198.184587323981 1835.946166992188 +201.194786366141 1244.618774414062 +217.106362896158 23584.000000000000 +218.109168688688 2603.000000000000 +227.127432730232 10516.948242187500 +228.129909544275 1526.000000000000 +239.088104333017 4048.000000000000 +242.283621376797 1694.000000000000 +246.861551486243 2459.000000000000 +249.109044797754 4284.000000000000 +249.183712414887 1332.089477539062 +250.999288828692 2323.000000000000 +251.182658791365 1347.000000000000 +252.996889183114 1537.976440429688 +254.083522016681 1687.000000000000 +267.170945735844 1374.012573242188 +279.092405514593 2060.151123046875 +281.051044087152 1406.000000000000 +304.111107217598 1705.000000000000 +327.007198326562 3294.460205078125 +329.004058351650 2860.000000000000 +330.205390821964 1624.000000000000 +364.961489231765 3826.000000000000 +366.957898526556 3996.233642578125 +381.808013272895 1578.000000000000 +382.974668199450 512123.812500000000 +383.797795773412 1974.817016601562 +383.973804988344 67649.023437500000 +384.972138308465 495302.968750000000 +385.971246198787 70765.046875000000 +386.966528657686 146591.000000000000 +387.969530993471 23030.000000000000 +388.965530388284 21448.000000000000 +389.968451613555 3733.000000000000 +390.976895115200 4097.000000000000 +392.974710796671 1289.681884765625 +404.954362223910 29937.207031250000 +405.956940932654 4597.000000000000 +406.951031367430 29269.568359375000 +407.954600492350 4851.000000000000 +408.948223942359 9862.279296875000 +409.950274004296 1622.000000000000 +410.945900982911 1240.446289062500 +422.924309561339 1321.314331054688 +428.029862424963 3127.000000000000 +430.025829985642 3375.565917968750 +432.023389778043 1241.000000000000 +445.118540650774 2403.000000000000 +482.896343711522 3766.000000000000 +484.893208509576 3436.493652343750 +486.890337640381 1470.000000000000 +500.275964022219 1326.000000000000 +502.290774394394 2533.000000000000 +505.852131030981 2176.208984375000 +520.337158711044 1461.000000000000 +522.879856177194 1440.671630859375 +524.369108967211 1804.000000000000 +536.163737753906 5207.000000000000 +537.164639268191 2756.000000000000 +538.162878717604 1773.000000000000 +542.322704071625 1648.782958984375 +544.339131186130 2994.000000000000 +546.913981193515 1696.000000000000 +610.182116523211 2119.000000000000 +611.183653272311 1499.000000000000 +770.945625211386 2752.000000000000 +771.945498320437 1251.000000000000 +772.941790932239 5463.000000000000 +773.942311008502 1795.000000000000 +774.938554076670 4221.000000000000 +775.941076669102 1561.000000000000 +776.936676421416 1997.000000000000 +786.918540331440 6080.000000000000 +787.923055465852 2216.000000000000 +788.915183876064 12922.929687500000 +789.918908612778 3577.000000000000 +790.913402804955 10338.000000000000 +791.914597259040 3343.090820312500 +792.910156420632 5118.000000000000 +793.914375013341 1534.000000000000 +794.907901025846 1263.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=693 experiment=7 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=693 experiment=7_0 +##scan 212 +##specref ms_run[1]:sample=1 period=1 cycle=693 experiment=7 +193.999772457325 60.000000000000 +286.081676946140 30.000000000000 +354.069081281972 45.000000000000 +364.965079570188 30.000000000000 +436.886134996512 75.000000000000 +482.894487135925 30.000000000000 +>compound 1_0-693008--213--UNKNOWN +>parentmass 772.941790932239 +>charge 1 +>rt 460.888000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +772.941790932239 5463.000000000000 +>ms1peaks +52.005376076017 2883.880126953125 +53.013413907114 13058.982421875000 +54.009310504902 336971.593750000000 +55.006164410265 6084.639160156250 +55.011253279137 6804.312011718750 +55.053973268647 2094.136962890625 +55.933959042129 4944.510253906250 +56.941986222623 2084.266357421875 +59.049551500331 79191.015625000000 +60.044493631405 10838.423828125000 +61.039424138051 1510.310058593750 +63.997587302487 3447.318359375000 +64.005172264091 4602.720214843750 +68.011537684837 26478.115234375000 +68.993632019046 10816.396484375000 +69.044529545307 13642.217773437500 +72.936457767817 1786.218261718750 +73.064222660914 1621.299560546875 +76.486209729505 2229.000000000000 +79.020780389523 15598.791015625000 +80.048897845504 11696.743164062500 +81.936905624127 7513.618652343750 +82.996288344821 6976.000000000000 +83.085026087494 1412.000000000000 +87.054730595182 1436.109375000000 +90.489074787757 1427.000000000000 +91.053464991945 1569.000000000000 +95.952550974511 1837.000000000000 +97.967889624898 5804.188476562500 +102.090389946825 2039.000000000000 +109.942394290071 1355.000000000000 +113.962677921364 1715.000000000000 +114.090495581394 10508.503906250000 +118.085030169406 5793.618164062500 +122.095373734435 3261.000000000000 +122.962956356250 8717.000000000000 +123.091283307129 1822.000000000000 +130.157670347755 1372.000000000000 +136.020442497348 1484.000000000000 +141.089545548276 1505.945922851562 +141.111778196613 1273.170654296875 +141.957370263974 13080.325195312500 +147.090827326784 2735.116699218750 +149.022417633201 4598.868652343750 +151.094984589248 2634.482177734375 +151.111228898694 2781.670654296875 +153.126508682277 1347.000000000000 +155.069230805975 1501.910400390625 +155.105168844558 3718.000000000000 +155.973236471256 3793.457519531250 +158.153233560066 9991.886718750000 +159.137906167157 1576.519409179688 +159.155197345679 1728.316040039062 +161.095712954709 1618.000000000000 +164.142678923314 1584.981079101562 +167.105510572415 2103.879638671875 +170.095065256490 3113.855224609375 +171.146178907250 1450.000000000000 +172.954475044148 6486.615722656250 +173.080086580295 6165.000000000000 +174.951826947852 4038.934082031250 +178.157729569686 1308.461181640625 +179.105523367591 1776.000000000000 +182.960746875297 2551.042724609375 +183.079117402757 1340.139282226562 +183.098838604879 1426.173706054688 +186.220920447180 1344.000000000000 +194.115874579098 2606.000000000000 +195.120457994010 1963.229248046875 +198.184587323981 1835.946166992188 +201.194786366141 1244.618774414062 +217.106362896158 23584.000000000000 +218.109168688688 2603.000000000000 +227.127432730232 10516.948242187500 +228.129909544275 1526.000000000000 +239.088104333017 4048.000000000000 +242.283621376797 1694.000000000000 +246.861551486243 2459.000000000000 +249.109044797754 4284.000000000000 +249.183712414887 1332.089477539062 +250.999288828692 2323.000000000000 +251.182658791365 1347.000000000000 +252.996889183114 1537.976440429688 +254.083522016681 1687.000000000000 +267.170945735844 1374.012573242188 +279.092405514593 2060.151123046875 +281.051044087152 1406.000000000000 +304.111107217598 1705.000000000000 +327.007198326562 3294.460205078125 +329.004058351650 2860.000000000000 +330.205390821964 1624.000000000000 +364.961489231765 3826.000000000000 +366.957898526556 3996.233642578125 +381.808013272895 1578.000000000000 +382.974668199450 512123.812500000000 +383.797795773412 1974.817016601562 +383.973804988344 67649.023437500000 +384.972138308465 495302.968750000000 +385.971246198787 70765.046875000000 +386.966528657686 146591.000000000000 +387.969530993471 23030.000000000000 +388.965530388284 21448.000000000000 +389.968451613555 3733.000000000000 +390.976895115200 4097.000000000000 +392.974710796671 1289.681884765625 +404.954362223910 29937.207031250000 +405.956940932654 4597.000000000000 +406.951031367430 29269.568359375000 +407.954600492350 4851.000000000000 +408.948223942359 9862.279296875000 +409.950274004296 1622.000000000000 +410.945900982911 1240.446289062500 +422.924309561339 1321.314331054688 +428.029862424963 3127.000000000000 +430.025829985642 3375.565917968750 +432.023389778043 1241.000000000000 +445.118540650774 2403.000000000000 +482.896343711522 3766.000000000000 +484.893208509576 3436.493652343750 +486.890337640381 1470.000000000000 +500.275964022219 1326.000000000000 +502.290774394394 2533.000000000000 +505.852131030981 2176.208984375000 +520.337158711044 1461.000000000000 +522.879856177194 1440.671630859375 +524.369108967211 1804.000000000000 +536.163737753906 5207.000000000000 +537.164639268191 2756.000000000000 +538.162878717604 1773.000000000000 +542.322704071625 1648.782958984375 +544.339131186130 2994.000000000000 +546.913981193515 1696.000000000000 +610.182116523211 2119.000000000000 +611.183653272311 1499.000000000000 +770.945625211386 2752.000000000000 +771.945498320437 1251.000000000000 +772.941790932239 5463.000000000000 +773.942311008502 1795.000000000000 +774.938554076670 4221.000000000000 +775.941076669102 1561.000000000000 +776.936676421416 1997.000000000000 +786.918540331440 6080.000000000000 +787.923055465852 2216.000000000000 +788.915183876064 12922.929687500000 +789.918908612778 3577.000000000000 +790.913402804955 10338.000000000000 +791.914597259040 3343.090820312500 +792.910156420632 5118.000000000000 +793.914375013341 1534.000000000000 +794.907901025846 1263.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=693 experiment=8 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=693 experiment=8_0 +##scan 213 +##specref ms_run[1]:sample=1 period=1 cycle=693 experiment=8 +73.166007230582 13.000000000000 +386.968081364068 45.000000000000 +388.981548197082 854.000000000000 +389.985652339274 135.000000000000 +390.977687234328 860.000000000000 +772.941944774933 90.000000000000 +>compound 1_0-693009--214--UNKNOWN +>parentmass 788.915183876064 +>charge 1 +>rt 460.888000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +788.915183876064 12922.929687500000 +789.918908612778 3577.000000000000 +>ms1peaks +52.005376076017 2883.880126953125 +53.013413907114 13058.982421875000 +54.009310504902 336971.593750000000 +55.006164410265 6084.639160156250 +55.011253279137 6804.312011718750 +55.053973268647 2094.136962890625 +55.933959042129 4944.510253906250 +56.941986222623 2084.266357421875 +59.049551500331 79191.015625000000 +60.044493631405 10838.423828125000 +61.039424138051 1510.310058593750 +63.997587302487 3447.318359375000 +64.005172264091 4602.720214843750 +68.011537684837 26478.115234375000 +68.993632019046 10816.396484375000 +69.044529545307 13642.217773437500 +72.936457767817 1786.218261718750 +73.064222660914 1621.299560546875 +76.486209729505 2229.000000000000 +79.020780389523 15598.791015625000 +80.048897845504 11696.743164062500 +81.936905624127 7513.618652343750 +82.996288344821 6976.000000000000 +83.085026087494 1412.000000000000 +87.054730595182 1436.109375000000 +90.489074787757 1427.000000000000 +91.053464991945 1569.000000000000 +95.952550974511 1837.000000000000 +97.967889624898 5804.188476562500 +102.090389946825 2039.000000000000 +109.942394290071 1355.000000000000 +113.962677921364 1715.000000000000 +114.090495581394 10508.503906250000 +118.085030169406 5793.618164062500 +122.095373734435 3261.000000000000 +122.962956356250 8717.000000000000 +123.091283307129 1822.000000000000 +130.157670347755 1372.000000000000 +136.020442497348 1484.000000000000 +141.089545548276 1505.945922851562 +141.111778196613 1273.170654296875 +141.957370263974 13080.325195312500 +147.090827326784 2735.116699218750 +149.022417633201 4598.868652343750 +151.094984589248 2634.482177734375 +151.111228898694 2781.670654296875 +153.126508682277 1347.000000000000 +155.069230805975 1501.910400390625 +155.105168844558 3718.000000000000 +155.973236471256 3793.457519531250 +158.153233560066 9991.886718750000 +159.137906167157 1576.519409179688 +159.155197345679 1728.316040039062 +161.095712954709 1618.000000000000 +164.142678923314 1584.981079101562 +167.105510572415 2103.879638671875 +170.095065256490 3113.855224609375 +171.146178907250 1450.000000000000 +172.954475044148 6486.615722656250 +173.080086580295 6165.000000000000 +174.951826947852 4038.934082031250 +178.157729569686 1308.461181640625 +179.105523367591 1776.000000000000 +182.960746875297 2551.042724609375 +183.079117402757 1340.139282226562 +183.098838604879 1426.173706054688 +186.220920447180 1344.000000000000 +194.115874579098 2606.000000000000 +195.120457994010 1963.229248046875 +198.184587323981 1835.946166992188 +201.194786366141 1244.618774414062 +217.106362896158 23584.000000000000 +218.109168688688 2603.000000000000 +227.127432730232 10516.948242187500 +228.129909544275 1526.000000000000 +239.088104333017 4048.000000000000 +242.283621376797 1694.000000000000 +246.861551486243 2459.000000000000 +249.109044797754 4284.000000000000 +249.183712414887 1332.089477539062 +250.999288828692 2323.000000000000 +251.182658791365 1347.000000000000 +252.996889183114 1537.976440429688 +254.083522016681 1687.000000000000 +267.170945735844 1374.012573242188 +279.092405514593 2060.151123046875 +281.051044087152 1406.000000000000 +304.111107217598 1705.000000000000 +327.007198326562 3294.460205078125 +329.004058351650 2860.000000000000 +330.205390821964 1624.000000000000 +364.961489231765 3826.000000000000 +366.957898526556 3996.233642578125 +381.808013272895 1578.000000000000 +382.974668199450 512123.812500000000 +383.797795773412 1974.817016601562 +383.973804988344 67649.023437500000 +384.972138308465 495302.968750000000 +385.971246198787 70765.046875000000 +386.966528657686 146591.000000000000 +387.969530993471 23030.000000000000 +388.965530388284 21448.000000000000 +389.968451613555 3733.000000000000 +390.976895115200 4097.000000000000 +392.974710796671 1289.681884765625 +404.954362223910 29937.207031250000 +405.956940932654 4597.000000000000 +406.951031367430 29269.568359375000 +407.954600492350 4851.000000000000 +408.948223942359 9862.279296875000 +409.950274004296 1622.000000000000 +410.945900982911 1240.446289062500 +422.924309561339 1321.314331054688 +428.029862424963 3127.000000000000 +430.025829985642 3375.565917968750 +432.023389778043 1241.000000000000 +445.118540650774 2403.000000000000 +482.896343711522 3766.000000000000 +484.893208509576 3436.493652343750 +486.890337640381 1470.000000000000 +500.275964022219 1326.000000000000 +502.290774394394 2533.000000000000 +505.852131030981 2176.208984375000 +520.337158711044 1461.000000000000 +522.879856177194 1440.671630859375 +524.369108967211 1804.000000000000 +536.163737753906 5207.000000000000 +537.164639268191 2756.000000000000 +538.162878717604 1773.000000000000 +542.322704071625 1648.782958984375 +544.339131186130 2994.000000000000 +546.913981193515 1696.000000000000 +610.182116523211 2119.000000000000 +611.183653272311 1499.000000000000 +770.945625211386 2752.000000000000 +771.945498320437 1251.000000000000 +772.941790932239 5463.000000000000 +773.942311008502 1795.000000000000 +774.938554076670 4221.000000000000 +775.941076669102 1561.000000000000 +776.936676421416 1997.000000000000 +786.918540331440 6080.000000000000 +787.923055465852 2216.000000000000 +788.915183876064 12922.929687500000 +789.918908612778 3577.000000000000 +790.913402804955 10338.000000000000 +791.914597259040 3343.090820312500 +792.910156420632 5118.000000000000 +793.914375013341 1534.000000000000 +794.907901025846 1263.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=693 experiment=9 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=693 experiment=9_0 +##scan 214 +##specref ms_run[1]:sample=1 period=1 cycle=693 experiment=9 +404.955168730957 1861.000000000000 +405.959973325311 105.000000000000 +406.952877057856 1527.000000000000 +>compound 1_0-694002--216--UNKNOWN +>parentmass 167.105463158741 +>charge 1 +>rt 461.815000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +167.105463158741 2212.506103515625 +>ms1peaks +52.005496386189 2738.622558593750 +53.013522862396 13891.174804687500 +53.850363537980 1464.000000000000 +54.009260084007 336400.468750000000 +55.005903794519 5511.014648437500 +55.010643924211 6241.218261718750 +55.054192408251 1967.229614257812 +55.934141177867 4482.000000000000 +56.049452188079 2198.212646484375 +56.941833904715 1792.011962890625 +59.049520182802 50016.500000000000 +60.044372488695 9947.728515625000 +61.039230172717 1531.269287109375 +63.997723154775 4503.361328125000 +64.004640290386 4503.543945312500 +67.029231386141 1343.709472656250 +68.011491758230 27131.720703125000 +68.993563170451 10725.029296875000 +69.044343896055 13633.430664062500 +72.936417222659 1981.698974609375 +73.064445763175 1738.000000000000 +76.486394770203 1838.000000000000 +79.020585693496 15476.331054687500 +80.049006763762 13098.345703125000 +81.936977066056 6700.097167968750 +82.996241956981 7046.000000000000 +87.054126951141 1509.432250976562 +90.489226124406 1310.000000000000 +95.952458919171 1959.000000000000 +97.967820753592 5628.000000000000 +100.075023872587 1364.000000000000 +102.090717931479 1512.646362304688 +113.962912260353 1701.000000000000 +114.090473225831 9595.784179687500 +118.084972131069 5075.000000000000 +122.095259772197 3214.795898437500 +122.962712406475 8085.558593750000 +123.091005423741 1581.128295898438 +130.158069734033 1299.000000000000 +136.020125332517 1746.000000000000 +136.111770067837 1350.000000000000 +141.112230336779 1334.011352539062 +141.957521382107 12383.362304687500 +147.090293807929 2791.311035156250 +149.022412837668 4677.629882812500 +151.096077644405 2393.391845703125 +151.110831801713 2600.533691406250 +155.069364216762 1716.784790039062 +155.105050133083 2456.074218750000 +155.973083245733 3283.000000000000 +158.153038315973 9929.551757812500 +159.116421722834 1485.743652343750 +159.137129674197 2772.861083984375 +159.155141577333 2776.414794921875 +161.095320875659 1573.519287109375 +164.142473682751 1421.000000000000 +167.105463158741 2212.506103515625 +170.094814045000 2688.513916015625 +171.139657517471 1933.299194335938 +172.954638688149 6057.178710937500 +173.079774514200 5662.676757812500 +174.951964559785 3863.824218750000 +178.158707978837 1362.208984375000 +179.104674624533 1800.117431640625 +182.961013319998 2148.433837890625 +182.981707985947 1468.088867187500 +183.098317402296 1261.667114257812 +186.220433974755 1479.000000000000 +194.116224184204 2789.894531250000 +195.102887218782 1287.299560546875 +195.121447766424 1610.618530273438 +198.184723560877 1941.571533203125 +201.194876036569 2167.000000000000 +217.106462800418 22947.000000000000 +218.108801330897 2636.000000000000 +219.097893861214 1342.000000000000 +227.126933149165 5004.911621093750 +228.195484069757 1305.000000000000 +239.088370009945 3960.000000000000 +240.460237390798 1427.000000000000 +242.283564093719 1830.000000000000 +246.861247027643 1938.000000000000 +249.108853260228 1800.000000000000 +249.183558440427 1294.426879882812 +250.999684342695 2698.000000000000 +251.183554091458 1477.002685546875 +254.083019303799 6058.000000000000 +279.093247230272 1966.815429687500 +281.049869935059 1670.000000000000 +294.135274654822 1900.000000000000 +304.112614798856 1293.000000000000 +327.006716420204 2586.074218750000 +329.003944250381 3053.000000000000 +330.205270226645 1449.000000000000 +364.961495290551 3901.000000000000 +366.958492691864 3703.921142578125 +381.808124091571 1803.154785156250 +382.974810010956 492494.000000000000 +383.797344688783 1758.993530273438 +383.973947678520 67017.000000000000 +384.971945599632 472104.000000000000 +385.971269588019 67474.414062500000 +386.966647061682 144016.781250000000 +387.969459859037 22293.000000000000 +388.966113727801 20172.000000000000 +389.970234999273 3733.000000000000 +390.977642286943 3807.000000000000 +395.362814968665 3505.000000000000 +404.954373005418 29709.000000000000 +405.957605814404 4596.000000000000 +406.951351507527 29748.000000000000 +407.954360642682 5225.000000000000 +408.947993467304 9999.000000000000 +409.950364620524 1525.000000000000 +410.945267428678 1352.000000000000 +420.926691374900 1390.664306640625 +422.923874232736 1486.000000000000 +428.029208662762 3986.000000000000 +430.025947746618 3948.657226562500 +445.119162074542 2228.000000000000 +482.896752691829 3090.000000000000 +484.893432613963 3026.647216796875 +502.291152978353 2267.953857421875 +505.851682314566 3196.000000000000 +520.337904050717 1518.000000000000 +522.878625367766 1435.000000000000 +524.369325390993 2192.000000000000 +525.894221085136 1272.042236328125 +536.163484623680 5334.000000000000 +537.164113274746 2751.000000000000 +538.162435462394 1972.000000000000 +542.322553871971 1723.000000000000 +544.338869478628 2967.000000000000 +546.915820439704 2265.156250000000 +610.181290021850 2226.000000000000 +770.944784003773 2430.996093750000 +771.944730947705 1288.000000000000 +772.941688134604 4659.000000000000 +773.942987828510 2027.000000000000 +774.938540423107 4303.000000000000 +776.937402889811 1926.000000000000 +786.918769211300 6319.000000000000 +787.922182773427 2038.134521484375 +788.915957873075 13314.000000000000 +789.918553365845 4066.000000000000 +790.913325395940 10740.000000000000 +791.915649574834 3424.000000000000 +792.909829405629 4948.000000000000 +793.913410948963 1431.000000000000 +794.907848876695 1317.702636718750 +>ms2peaks +##n_id sample=1 period=1 cycle=694 experiment=2 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=694 experiment=2_0 +##scan 216 +##specref ms_run[1]:sample=1 period=1 cycle=694 experiment=2 +53.038958721754 13.000000000000 +67.933191444128 60.000000000000 +67.941024551546 55.952743530273 +81.068805544502 13.000000000000 +84.930610900164 30.000000000000 +85.938023177066 13.000000000000 +97.029865263967 13.000000000000 +149.938124144096 13.000000000000 +>compound 1_0-694003--217--UNKNOWN +>parentmass 172.954638688149 +>charge 1 +>rt 461.815000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +172.954638688149 6057.178710937500 +>ms1peaks +52.005496386189 2738.622558593750 +53.013522862396 13891.174804687500 +53.850363537980 1464.000000000000 +54.009260084007 336400.468750000000 +55.005903794519 5511.014648437500 +55.010643924211 6241.218261718750 +55.054192408251 1967.229614257812 +55.934141177867 4482.000000000000 +56.049452188079 2198.212646484375 +56.941833904715 1792.011962890625 +59.049520182802 50016.500000000000 +60.044372488695 9947.728515625000 +61.039230172717 1531.269287109375 +63.997723154775 4503.361328125000 +64.004640290386 4503.543945312500 +67.029231386141 1343.709472656250 +68.011491758230 27131.720703125000 +68.993563170451 10725.029296875000 +69.044343896055 13633.430664062500 +72.936417222659 1981.698974609375 +73.064445763175 1738.000000000000 +76.486394770203 1838.000000000000 +79.020585693496 15476.331054687500 +80.049006763762 13098.345703125000 +81.936977066056 6700.097167968750 +82.996241956981 7046.000000000000 +87.054126951141 1509.432250976562 +90.489226124406 1310.000000000000 +95.952458919171 1959.000000000000 +97.967820753592 5628.000000000000 +100.075023872587 1364.000000000000 +102.090717931479 1512.646362304688 +113.962912260353 1701.000000000000 +114.090473225831 9595.784179687500 +118.084972131069 5075.000000000000 +122.095259772197 3214.795898437500 +122.962712406475 8085.558593750000 +123.091005423741 1581.128295898438 +130.158069734033 1299.000000000000 +136.020125332517 1746.000000000000 +136.111770067837 1350.000000000000 +141.112230336779 1334.011352539062 +141.957521382107 12383.362304687500 +147.090293807929 2791.311035156250 +149.022412837668 4677.629882812500 +151.096077644405 2393.391845703125 +151.110831801713 2600.533691406250 +155.069364216762 1716.784790039062 +155.105050133083 2456.074218750000 +155.973083245733 3283.000000000000 +158.153038315973 9929.551757812500 +159.116421722834 1485.743652343750 +159.137129674197 2772.861083984375 +159.155141577333 2776.414794921875 +161.095320875659 1573.519287109375 +164.142473682751 1421.000000000000 +167.105463158741 2212.506103515625 +170.094814045000 2688.513916015625 +171.139657517471 1933.299194335938 +172.954638688149 6057.178710937500 +173.079774514200 5662.676757812500 +174.951964559785 3863.824218750000 +178.158707978837 1362.208984375000 +179.104674624533 1800.117431640625 +182.961013319998 2148.433837890625 +182.981707985947 1468.088867187500 +183.098317402296 1261.667114257812 +186.220433974755 1479.000000000000 +194.116224184204 2789.894531250000 +195.102887218782 1287.299560546875 +195.121447766424 1610.618530273438 +198.184723560877 1941.571533203125 +201.194876036569 2167.000000000000 +217.106462800418 22947.000000000000 +218.108801330897 2636.000000000000 +219.097893861214 1342.000000000000 +227.126933149165 5004.911621093750 +228.195484069757 1305.000000000000 +239.088370009945 3960.000000000000 +240.460237390798 1427.000000000000 +242.283564093719 1830.000000000000 +246.861247027643 1938.000000000000 +249.108853260228 1800.000000000000 +249.183558440427 1294.426879882812 +250.999684342695 2698.000000000000 +251.183554091458 1477.002685546875 +254.083019303799 6058.000000000000 +279.093247230272 1966.815429687500 +281.049869935059 1670.000000000000 +294.135274654822 1900.000000000000 +304.112614798856 1293.000000000000 +327.006716420204 2586.074218750000 +329.003944250381 3053.000000000000 +330.205270226645 1449.000000000000 +364.961495290551 3901.000000000000 +366.958492691864 3703.921142578125 +381.808124091571 1803.154785156250 +382.974810010956 492494.000000000000 +383.797344688783 1758.993530273438 +383.973947678520 67017.000000000000 +384.971945599632 472104.000000000000 +385.971269588019 67474.414062500000 +386.966647061682 144016.781250000000 +387.969459859037 22293.000000000000 +388.966113727801 20172.000000000000 +389.970234999273 3733.000000000000 +390.977642286943 3807.000000000000 +395.362814968665 3505.000000000000 +404.954373005418 29709.000000000000 +405.957605814404 4596.000000000000 +406.951351507527 29748.000000000000 +407.954360642682 5225.000000000000 +408.947993467304 9999.000000000000 +409.950364620524 1525.000000000000 +410.945267428678 1352.000000000000 +420.926691374900 1390.664306640625 +422.923874232736 1486.000000000000 +428.029208662762 3986.000000000000 +430.025947746618 3948.657226562500 +445.119162074542 2228.000000000000 +482.896752691829 3090.000000000000 +484.893432613963 3026.647216796875 +502.291152978353 2267.953857421875 +505.851682314566 3196.000000000000 +520.337904050717 1518.000000000000 +522.878625367766 1435.000000000000 +524.369325390993 2192.000000000000 +525.894221085136 1272.042236328125 +536.163484623680 5334.000000000000 +537.164113274746 2751.000000000000 +538.162435462394 1972.000000000000 +542.322553871971 1723.000000000000 +544.338869478628 2967.000000000000 +546.915820439704 2265.156250000000 +610.181290021850 2226.000000000000 +770.944784003773 2430.996093750000 +771.944730947705 1288.000000000000 +772.941688134604 4659.000000000000 +773.942987828510 2027.000000000000 +774.938540423107 4303.000000000000 +776.937402889811 1926.000000000000 +786.918769211300 6319.000000000000 +787.922182773427 2038.134521484375 +788.915957873075 13314.000000000000 +789.918553365845 4066.000000000000 +790.913325395940 10740.000000000000 +791.915649574834 3424.000000000000 +792.909829405629 4948.000000000000 +793.913410948963 1431.000000000000 +794.907848876695 1317.702636718750 +>ms2peaks +##n_id sample=1 period=1 cycle=694 experiment=3 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=694 experiment=3_0 +##scan 217 +##specref ms_run[1]:sample=1 period=1 cycle=694 experiment=3 +55.054519883551 30.000000000000 +71.060196309801 30.000000000000 +76.021405533635 30.000000000000 +88.007485937921 30.000000000000 +90.902448227607 165.000000000000 +>compound 1_0-694004--218--UNKNOWN +>parentmass 366.958492691864 +>charge 1 +>rt 461.815000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +366.958492691864 3703.921142578125 +>ms1peaks +52.005496386189 2738.622558593750 +53.013522862396 13891.174804687500 +53.850363537980 1464.000000000000 +54.009260084007 336400.468750000000 +55.005903794519 5511.014648437500 +55.010643924211 6241.218261718750 +55.054192408251 1967.229614257812 +55.934141177867 4482.000000000000 +56.049452188079 2198.212646484375 +56.941833904715 1792.011962890625 +59.049520182802 50016.500000000000 +60.044372488695 9947.728515625000 +61.039230172717 1531.269287109375 +63.997723154775 4503.361328125000 +64.004640290386 4503.543945312500 +67.029231386141 1343.709472656250 +68.011491758230 27131.720703125000 +68.993563170451 10725.029296875000 +69.044343896055 13633.430664062500 +72.936417222659 1981.698974609375 +73.064445763175 1738.000000000000 +76.486394770203 1838.000000000000 +79.020585693496 15476.331054687500 +80.049006763762 13098.345703125000 +81.936977066056 6700.097167968750 +82.996241956981 7046.000000000000 +87.054126951141 1509.432250976562 +90.489226124406 1310.000000000000 +95.952458919171 1959.000000000000 +97.967820753592 5628.000000000000 +100.075023872587 1364.000000000000 +102.090717931479 1512.646362304688 +113.962912260353 1701.000000000000 +114.090473225831 9595.784179687500 +118.084972131069 5075.000000000000 +122.095259772197 3214.795898437500 +122.962712406475 8085.558593750000 +123.091005423741 1581.128295898438 +130.158069734033 1299.000000000000 +136.020125332517 1746.000000000000 +136.111770067837 1350.000000000000 +141.112230336779 1334.011352539062 +141.957521382107 12383.362304687500 +147.090293807929 2791.311035156250 +149.022412837668 4677.629882812500 +151.096077644405 2393.391845703125 +151.110831801713 2600.533691406250 +155.069364216762 1716.784790039062 +155.105050133083 2456.074218750000 +155.973083245733 3283.000000000000 +158.153038315973 9929.551757812500 +159.116421722834 1485.743652343750 +159.137129674197 2772.861083984375 +159.155141577333 2776.414794921875 +161.095320875659 1573.519287109375 +164.142473682751 1421.000000000000 +167.105463158741 2212.506103515625 +170.094814045000 2688.513916015625 +171.139657517471 1933.299194335938 +172.954638688149 6057.178710937500 +173.079774514200 5662.676757812500 +174.951964559785 3863.824218750000 +178.158707978837 1362.208984375000 +179.104674624533 1800.117431640625 +182.961013319998 2148.433837890625 +182.981707985947 1468.088867187500 +183.098317402296 1261.667114257812 +186.220433974755 1479.000000000000 +194.116224184204 2789.894531250000 +195.102887218782 1287.299560546875 +195.121447766424 1610.618530273438 +198.184723560877 1941.571533203125 +201.194876036569 2167.000000000000 +217.106462800418 22947.000000000000 +218.108801330897 2636.000000000000 +219.097893861214 1342.000000000000 +227.126933149165 5004.911621093750 +228.195484069757 1305.000000000000 +239.088370009945 3960.000000000000 +240.460237390798 1427.000000000000 +242.283564093719 1830.000000000000 +246.861247027643 1938.000000000000 +249.108853260228 1800.000000000000 +249.183558440427 1294.426879882812 +250.999684342695 2698.000000000000 +251.183554091458 1477.002685546875 +254.083019303799 6058.000000000000 +279.093247230272 1966.815429687500 +281.049869935059 1670.000000000000 +294.135274654822 1900.000000000000 +304.112614798856 1293.000000000000 +327.006716420204 2586.074218750000 +329.003944250381 3053.000000000000 +330.205270226645 1449.000000000000 +364.961495290551 3901.000000000000 +366.958492691864 3703.921142578125 +381.808124091571 1803.154785156250 +382.974810010956 492494.000000000000 +383.797344688783 1758.993530273438 +383.973947678520 67017.000000000000 +384.971945599632 472104.000000000000 +385.971269588019 67474.414062500000 +386.966647061682 144016.781250000000 +387.969459859037 22293.000000000000 +388.966113727801 20172.000000000000 +389.970234999273 3733.000000000000 +390.977642286943 3807.000000000000 +395.362814968665 3505.000000000000 +404.954373005418 29709.000000000000 +405.957605814404 4596.000000000000 +406.951351507527 29748.000000000000 +407.954360642682 5225.000000000000 +408.947993467304 9999.000000000000 +409.950364620524 1525.000000000000 +410.945267428678 1352.000000000000 +420.926691374900 1390.664306640625 +422.923874232736 1486.000000000000 +428.029208662762 3986.000000000000 +430.025947746618 3948.657226562500 +445.119162074542 2228.000000000000 +482.896752691829 3090.000000000000 +484.893432613963 3026.647216796875 +502.291152978353 2267.953857421875 +505.851682314566 3196.000000000000 +520.337904050717 1518.000000000000 +522.878625367766 1435.000000000000 +524.369325390993 2192.000000000000 +525.894221085136 1272.042236328125 +536.163484623680 5334.000000000000 +537.164113274746 2751.000000000000 +538.162435462394 1972.000000000000 +542.322553871971 1723.000000000000 +544.338869478628 2967.000000000000 +546.915820439704 2265.156250000000 +610.181290021850 2226.000000000000 +770.944784003773 2430.996093750000 +771.944730947705 1288.000000000000 +772.941688134604 4659.000000000000 +773.942987828510 2027.000000000000 +774.938540423107 4303.000000000000 +776.937402889811 1926.000000000000 +786.918769211300 6319.000000000000 +787.922182773427 2038.134521484375 +788.915957873075 13314.000000000000 +789.918553365845 4066.000000000000 +790.913325395940 10740.000000000000 +791.915649574834 3424.000000000000 +792.909829405629 4948.000000000000 +793.913410948963 1431.000000000000 +794.907848876695 1317.702636718750 +>ms2peaks +##n_id sample=1 period=1 cycle=694 experiment=4 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=694 experiment=4_0 +##scan 218 +##specref ms_run[1]:sample=1 period=1 cycle=694 experiment=4 +270.858538988484 13.000000000000 +337.128286506106 13.000000000000 +366.966168219533 30.000000000000 +>compound 1_0-694005--219--UNKNOWN +>parentmass 384.971945599632 +>charge 1 +>rt 461.815000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +384.971945599632 472104.000000000000 +>ms1peaks +52.005496386189 2738.622558593750 +53.013522862396 13891.174804687500 +53.850363537980 1464.000000000000 +54.009260084007 336400.468750000000 +55.005903794519 5511.014648437500 +55.010643924211 6241.218261718750 +55.054192408251 1967.229614257812 +55.934141177867 4482.000000000000 +56.049452188079 2198.212646484375 +56.941833904715 1792.011962890625 +59.049520182802 50016.500000000000 +60.044372488695 9947.728515625000 +61.039230172717 1531.269287109375 +63.997723154775 4503.361328125000 +64.004640290386 4503.543945312500 +67.029231386141 1343.709472656250 +68.011491758230 27131.720703125000 +68.993563170451 10725.029296875000 +69.044343896055 13633.430664062500 +72.936417222659 1981.698974609375 +73.064445763175 1738.000000000000 +76.486394770203 1838.000000000000 +79.020585693496 15476.331054687500 +80.049006763762 13098.345703125000 +81.936977066056 6700.097167968750 +82.996241956981 7046.000000000000 +87.054126951141 1509.432250976562 +90.489226124406 1310.000000000000 +95.952458919171 1959.000000000000 +97.967820753592 5628.000000000000 +100.075023872587 1364.000000000000 +102.090717931479 1512.646362304688 +113.962912260353 1701.000000000000 +114.090473225831 9595.784179687500 +118.084972131069 5075.000000000000 +122.095259772197 3214.795898437500 +122.962712406475 8085.558593750000 +123.091005423741 1581.128295898438 +130.158069734033 1299.000000000000 +136.020125332517 1746.000000000000 +136.111770067837 1350.000000000000 +141.112230336779 1334.011352539062 +141.957521382107 12383.362304687500 +147.090293807929 2791.311035156250 +149.022412837668 4677.629882812500 +151.096077644405 2393.391845703125 +151.110831801713 2600.533691406250 +155.069364216762 1716.784790039062 +155.105050133083 2456.074218750000 +155.973083245733 3283.000000000000 +158.153038315973 9929.551757812500 +159.116421722834 1485.743652343750 +159.137129674197 2772.861083984375 +159.155141577333 2776.414794921875 +161.095320875659 1573.519287109375 +164.142473682751 1421.000000000000 +167.105463158741 2212.506103515625 +170.094814045000 2688.513916015625 +171.139657517471 1933.299194335938 +172.954638688149 6057.178710937500 +173.079774514200 5662.676757812500 +174.951964559785 3863.824218750000 +178.158707978837 1362.208984375000 +179.104674624533 1800.117431640625 +182.961013319998 2148.433837890625 +182.981707985947 1468.088867187500 +183.098317402296 1261.667114257812 +186.220433974755 1479.000000000000 +194.116224184204 2789.894531250000 +195.102887218782 1287.299560546875 +195.121447766424 1610.618530273438 +198.184723560877 1941.571533203125 +201.194876036569 2167.000000000000 +217.106462800418 22947.000000000000 +218.108801330897 2636.000000000000 +219.097893861214 1342.000000000000 +227.126933149165 5004.911621093750 +228.195484069757 1305.000000000000 +239.088370009945 3960.000000000000 +240.460237390798 1427.000000000000 +242.283564093719 1830.000000000000 +246.861247027643 1938.000000000000 +249.108853260228 1800.000000000000 +249.183558440427 1294.426879882812 +250.999684342695 2698.000000000000 +251.183554091458 1477.002685546875 +254.083019303799 6058.000000000000 +279.093247230272 1966.815429687500 +281.049869935059 1670.000000000000 +294.135274654822 1900.000000000000 +304.112614798856 1293.000000000000 +327.006716420204 2586.074218750000 +329.003944250381 3053.000000000000 +330.205270226645 1449.000000000000 +364.961495290551 3901.000000000000 +366.958492691864 3703.921142578125 +381.808124091571 1803.154785156250 +382.974810010956 492494.000000000000 +383.797344688783 1758.993530273438 +383.973947678520 67017.000000000000 +384.971945599632 472104.000000000000 +385.971269588019 67474.414062500000 +386.966647061682 144016.781250000000 +387.969459859037 22293.000000000000 +388.966113727801 20172.000000000000 +389.970234999273 3733.000000000000 +390.977642286943 3807.000000000000 +395.362814968665 3505.000000000000 +404.954373005418 29709.000000000000 +405.957605814404 4596.000000000000 +406.951351507527 29748.000000000000 +407.954360642682 5225.000000000000 +408.947993467304 9999.000000000000 +409.950364620524 1525.000000000000 +410.945267428678 1352.000000000000 +420.926691374900 1390.664306640625 +422.923874232736 1486.000000000000 +428.029208662762 3986.000000000000 +430.025947746618 3948.657226562500 +445.119162074542 2228.000000000000 +482.896752691829 3090.000000000000 +484.893432613963 3026.647216796875 +502.291152978353 2267.953857421875 +505.851682314566 3196.000000000000 +520.337904050717 1518.000000000000 +522.878625367766 1435.000000000000 +524.369325390993 2192.000000000000 +525.894221085136 1272.042236328125 +536.163484623680 5334.000000000000 +537.164113274746 2751.000000000000 +538.162435462394 1972.000000000000 +542.322553871971 1723.000000000000 +544.338869478628 2967.000000000000 +546.915820439704 2265.156250000000 +610.181290021850 2226.000000000000 +770.944784003773 2430.996093750000 +771.944730947705 1288.000000000000 +772.941688134604 4659.000000000000 +773.942987828510 2027.000000000000 +774.938540423107 4303.000000000000 +776.937402889811 1926.000000000000 +786.918769211300 6319.000000000000 +787.922182773427 2038.134521484375 +788.915957873075 13314.000000000000 +789.918553365845 4066.000000000000 +790.913325395940 10740.000000000000 +791.915649574834 3424.000000000000 +792.909829405629 4948.000000000000 +793.913410948963 1431.000000000000 +794.907848876695 1317.702636718750 +>ms2peaks +##n_id sample=1 period=1 cycle=694 experiment=5 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=694 experiment=5_0 +##scan 219 +##specref ms_run[1]:sample=1 period=1 cycle=694 experiment=5 +74.013908031535 105.000000000000 +74.024974444989 45.000000000000 +108.984365980255 362.000000000000 +110.980715838853 195.000000000000 +126.994003224023 45.000000000000 +138.022339318090 60.000000000000 +139.022909403716 45.000000000000 +144.960121741039 2871.000000000000 +144.988569209541 47.973838806152 +146.957474816141 5787.634277343750 +158.021219074746 75.000000000000 +159.028393125431 135.000000000000 +166.020805259383 45.000000000000 +172.433988104383 165.000000000000 +172.955247483705 31868.570312500000 +173.706320324889 45.000000000000 +173.959042440242 375.000000000000 +173.991173186960 195.000000000000 +174.397310118098 55.971485137939 +174.427401309007 285.000000000000 +174.953081519004 64993.000000000000 +175.556666120507 75.000000000000 +175.578393674887 61.759723663330 +175.684746459907 45.000000000000 +175.700777042167 60.000000000000 +175.955488657803 90.000000000000 +175.987708932959 90.000000000000 +193.997571805663 2756.000000000000 +195.969414811496 347.602355957031 +195.994543334412 1883.000000000000 +212.008003973928 105.000000000000 +214.008401040785 45.000000000000 +366.959087219136 3789.000000000000 +384.969476984780 2002.000000000000 +385.971986600589 60.000000000000 +>compound 1_0-694006--220--UNKNOWN +>parentmass 404.954373005418 +>charge 1 +>rt 461.815000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +404.954373005418 29709.000000000000 +405.957605814404 4596.000000000000 +>ms1peaks +52.005496386189 2738.622558593750 +53.013522862396 13891.174804687500 +53.850363537980 1464.000000000000 +54.009260084007 336400.468750000000 +55.005903794519 5511.014648437500 +55.010643924211 6241.218261718750 +55.054192408251 1967.229614257812 +55.934141177867 4482.000000000000 +56.049452188079 2198.212646484375 +56.941833904715 1792.011962890625 +59.049520182802 50016.500000000000 +60.044372488695 9947.728515625000 +61.039230172717 1531.269287109375 +63.997723154775 4503.361328125000 +64.004640290386 4503.543945312500 +67.029231386141 1343.709472656250 +68.011491758230 27131.720703125000 +68.993563170451 10725.029296875000 +69.044343896055 13633.430664062500 +72.936417222659 1981.698974609375 +73.064445763175 1738.000000000000 +76.486394770203 1838.000000000000 +79.020585693496 15476.331054687500 +80.049006763762 13098.345703125000 +81.936977066056 6700.097167968750 +82.996241956981 7046.000000000000 +87.054126951141 1509.432250976562 +90.489226124406 1310.000000000000 +95.952458919171 1959.000000000000 +97.967820753592 5628.000000000000 +100.075023872587 1364.000000000000 +102.090717931479 1512.646362304688 +113.962912260353 1701.000000000000 +114.090473225831 9595.784179687500 +118.084972131069 5075.000000000000 +122.095259772197 3214.795898437500 +122.962712406475 8085.558593750000 +123.091005423741 1581.128295898438 +130.158069734033 1299.000000000000 +136.020125332517 1746.000000000000 +136.111770067837 1350.000000000000 +141.112230336779 1334.011352539062 +141.957521382107 12383.362304687500 +147.090293807929 2791.311035156250 +149.022412837668 4677.629882812500 +151.096077644405 2393.391845703125 +151.110831801713 2600.533691406250 +155.069364216762 1716.784790039062 +155.105050133083 2456.074218750000 +155.973083245733 3283.000000000000 +158.153038315973 9929.551757812500 +159.116421722834 1485.743652343750 +159.137129674197 2772.861083984375 +159.155141577333 2776.414794921875 +161.095320875659 1573.519287109375 +164.142473682751 1421.000000000000 +167.105463158741 2212.506103515625 +170.094814045000 2688.513916015625 +171.139657517471 1933.299194335938 +172.954638688149 6057.178710937500 +173.079774514200 5662.676757812500 +174.951964559785 3863.824218750000 +178.158707978837 1362.208984375000 +179.104674624533 1800.117431640625 +182.961013319998 2148.433837890625 +182.981707985947 1468.088867187500 +183.098317402296 1261.667114257812 +186.220433974755 1479.000000000000 +194.116224184204 2789.894531250000 +195.102887218782 1287.299560546875 +195.121447766424 1610.618530273438 +198.184723560877 1941.571533203125 +201.194876036569 2167.000000000000 +217.106462800418 22947.000000000000 +218.108801330897 2636.000000000000 +219.097893861214 1342.000000000000 +227.126933149165 5004.911621093750 +228.195484069757 1305.000000000000 +239.088370009945 3960.000000000000 +240.460237390798 1427.000000000000 +242.283564093719 1830.000000000000 +246.861247027643 1938.000000000000 +249.108853260228 1800.000000000000 +249.183558440427 1294.426879882812 +250.999684342695 2698.000000000000 +251.183554091458 1477.002685546875 +254.083019303799 6058.000000000000 +279.093247230272 1966.815429687500 +281.049869935059 1670.000000000000 +294.135274654822 1900.000000000000 +304.112614798856 1293.000000000000 +327.006716420204 2586.074218750000 +329.003944250381 3053.000000000000 +330.205270226645 1449.000000000000 +364.961495290551 3901.000000000000 +366.958492691864 3703.921142578125 +381.808124091571 1803.154785156250 +382.974810010956 492494.000000000000 +383.797344688783 1758.993530273438 +383.973947678520 67017.000000000000 +384.971945599632 472104.000000000000 +385.971269588019 67474.414062500000 +386.966647061682 144016.781250000000 +387.969459859037 22293.000000000000 +388.966113727801 20172.000000000000 +389.970234999273 3733.000000000000 +390.977642286943 3807.000000000000 +395.362814968665 3505.000000000000 +404.954373005418 29709.000000000000 +405.957605814404 4596.000000000000 +406.951351507527 29748.000000000000 +407.954360642682 5225.000000000000 +408.947993467304 9999.000000000000 +409.950364620524 1525.000000000000 +410.945267428678 1352.000000000000 +420.926691374900 1390.664306640625 +422.923874232736 1486.000000000000 +428.029208662762 3986.000000000000 +430.025947746618 3948.657226562500 +445.119162074542 2228.000000000000 +482.896752691829 3090.000000000000 +484.893432613963 3026.647216796875 +502.291152978353 2267.953857421875 +505.851682314566 3196.000000000000 +520.337904050717 1518.000000000000 +522.878625367766 1435.000000000000 +524.369325390993 2192.000000000000 +525.894221085136 1272.042236328125 +536.163484623680 5334.000000000000 +537.164113274746 2751.000000000000 +538.162435462394 1972.000000000000 +542.322553871971 1723.000000000000 +544.338869478628 2967.000000000000 +546.915820439704 2265.156250000000 +610.181290021850 2226.000000000000 +770.944784003773 2430.996093750000 +771.944730947705 1288.000000000000 +772.941688134604 4659.000000000000 +773.942987828510 2027.000000000000 +774.938540423107 4303.000000000000 +776.937402889811 1926.000000000000 +786.918769211300 6319.000000000000 +787.922182773427 2038.134521484375 +788.915957873075 13314.000000000000 +789.918553365845 4066.000000000000 +790.913325395940 10740.000000000000 +791.915649574834 3424.000000000000 +792.909829405629 4948.000000000000 +793.913410948963 1431.000000000000 +794.907848876695 1317.702636718750 +>ms2peaks +##n_id sample=1 period=1 cycle=694 experiment=6 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=694 experiment=6_0 +##scan 220 +##specref ms_run[1]:sample=1 period=1 cycle=694 experiment=6 +172.953591689433 135.000000000000 +174.962763081026 120.000000000000 +404.956226562260 45.000000000000 +>compound 1_0-694007--221--UNKNOWN +>parentmass 428.029208662762 +>charge 1 +>rt 461.815000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +428.029208662762 3986.000000000000 +>ms1peaks +52.005496386189 2738.622558593750 +53.013522862396 13891.174804687500 +53.850363537980 1464.000000000000 +54.009260084007 336400.468750000000 +55.005903794519 5511.014648437500 +55.010643924211 6241.218261718750 +55.054192408251 1967.229614257812 +55.934141177867 4482.000000000000 +56.049452188079 2198.212646484375 +56.941833904715 1792.011962890625 +59.049520182802 50016.500000000000 +60.044372488695 9947.728515625000 +61.039230172717 1531.269287109375 +63.997723154775 4503.361328125000 +64.004640290386 4503.543945312500 +67.029231386141 1343.709472656250 +68.011491758230 27131.720703125000 +68.993563170451 10725.029296875000 +69.044343896055 13633.430664062500 +72.936417222659 1981.698974609375 +73.064445763175 1738.000000000000 +76.486394770203 1838.000000000000 +79.020585693496 15476.331054687500 +80.049006763762 13098.345703125000 +81.936977066056 6700.097167968750 +82.996241956981 7046.000000000000 +87.054126951141 1509.432250976562 +90.489226124406 1310.000000000000 +95.952458919171 1959.000000000000 +97.967820753592 5628.000000000000 +100.075023872587 1364.000000000000 +102.090717931479 1512.646362304688 +113.962912260353 1701.000000000000 +114.090473225831 9595.784179687500 +118.084972131069 5075.000000000000 +122.095259772197 3214.795898437500 +122.962712406475 8085.558593750000 +123.091005423741 1581.128295898438 +130.158069734033 1299.000000000000 +136.020125332517 1746.000000000000 +136.111770067837 1350.000000000000 +141.112230336779 1334.011352539062 +141.957521382107 12383.362304687500 +147.090293807929 2791.311035156250 +149.022412837668 4677.629882812500 +151.096077644405 2393.391845703125 +151.110831801713 2600.533691406250 +155.069364216762 1716.784790039062 +155.105050133083 2456.074218750000 +155.973083245733 3283.000000000000 +158.153038315973 9929.551757812500 +159.116421722834 1485.743652343750 +159.137129674197 2772.861083984375 +159.155141577333 2776.414794921875 +161.095320875659 1573.519287109375 +164.142473682751 1421.000000000000 +167.105463158741 2212.506103515625 +170.094814045000 2688.513916015625 +171.139657517471 1933.299194335938 +172.954638688149 6057.178710937500 +173.079774514200 5662.676757812500 +174.951964559785 3863.824218750000 +178.158707978837 1362.208984375000 +179.104674624533 1800.117431640625 +182.961013319998 2148.433837890625 +182.981707985947 1468.088867187500 +183.098317402296 1261.667114257812 +186.220433974755 1479.000000000000 +194.116224184204 2789.894531250000 +195.102887218782 1287.299560546875 +195.121447766424 1610.618530273438 +198.184723560877 1941.571533203125 +201.194876036569 2167.000000000000 +217.106462800418 22947.000000000000 +218.108801330897 2636.000000000000 +219.097893861214 1342.000000000000 +227.126933149165 5004.911621093750 +228.195484069757 1305.000000000000 +239.088370009945 3960.000000000000 +240.460237390798 1427.000000000000 +242.283564093719 1830.000000000000 +246.861247027643 1938.000000000000 +249.108853260228 1800.000000000000 +249.183558440427 1294.426879882812 +250.999684342695 2698.000000000000 +251.183554091458 1477.002685546875 +254.083019303799 6058.000000000000 +279.093247230272 1966.815429687500 +281.049869935059 1670.000000000000 +294.135274654822 1900.000000000000 +304.112614798856 1293.000000000000 +327.006716420204 2586.074218750000 +329.003944250381 3053.000000000000 +330.205270226645 1449.000000000000 +364.961495290551 3901.000000000000 +366.958492691864 3703.921142578125 +381.808124091571 1803.154785156250 +382.974810010956 492494.000000000000 +383.797344688783 1758.993530273438 +383.973947678520 67017.000000000000 +384.971945599632 472104.000000000000 +385.971269588019 67474.414062500000 +386.966647061682 144016.781250000000 +387.969459859037 22293.000000000000 +388.966113727801 20172.000000000000 +389.970234999273 3733.000000000000 +390.977642286943 3807.000000000000 +395.362814968665 3505.000000000000 +404.954373005418 29709.000000000000 +405.957605814404 4596.000000000000 +406.951351507527 29748.000000000000 +407.954360642682 5225.000000000000 +408.947993467304 9999.000000000000 +409.950364620524 1525.000000000000 +410.945267428678 1352.000000000000 +420.926691374900 1390.664306640625 +422.923874232736 1486.000000000000 +428.029208662762 3986.000000000000 +430.025947746618 3948.657226562500 +445.119162074542 2228.000000000000 +482.896752691829 3090.000000000000 +484.893432613963 3026.647216796875 +502.291152978353 2267.953857421875 +505.851682314566 3196.000000000000 +520.337904050717 1518.000000000000 +522.878625367766 1435.000000000000 +524.369325390993 2192.000000000000 +525.894221085136 1272.042236328125 +536.163484623680 5334.000000000000 +537.164113274746 2751.000000000000 +538.162435462394 1972.000000000000 +542.322553871971 1723.000000000000 +544.338869478628 2967.000000000000 +546.915820439704 2265.156250000000 +610.181290021850 2226.000000000000 +770.944784003773 2430.996093750000 +771.944730947705 1288.000000000000 +772.941688134604 4659.000000000000 +773.942987828510 2027.000000000000 +774.938540423107 4303.000000000000 +776.937402889811 1926.000000000000 +786.918769211300 6319.000000000000 +787.922182773427 2038.134521484375 +788.915957873075 13314.000000000000 +789.918553365845 4066.000000000000 +790.913325395940 10740.000000000000 +791.915649574834 3424.000000000000 +792.909829405629 4948.000000000000 +793.913410948963 1431.000000000000 +794.907848876695 1317.702636718750 +>ms2peaks +##n_id sample=1 period=1 cycle=694 experiment=7 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=694 experiment=7_0 +##scan 221 +##specref ms_run[1]:sample=1 period=1 cycle=694 experiment=7 +144.962295711945 105.000000000000 +172.955161606059 3413.000000000000 +174.953011735033 30.000000000000 +193.997280879771 90.000000000000 +364.963878737869 240.000000000000 +382.972606675887 651.000000000000 +>compound 1_0-694008--222--UNKNOWN +>parentmass 774.938540423107 +>charge 1 +>rt 461.815000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +774.938540423107 4303.000000000000 +>ms1peaks +52.005496386189 2738.622558593750 +53.013522862396 13891.174804687500 +53.850363537980 1464.000000000000 +54.009260084007 336400.468750000000 +55.005903794519 5511.014648437500 +55.010643924211 6241.218261718750 +55.054192408251 1967.229614257812 +55.934141177867 4482.000000000000 +56.049452188079 2198.212646484375 +56.941833904715 1792.011962890625 +59.049520182802 50016.500000000000 +60.044372488695 9947.728515625000 +61.039230172717 1531.269287109375 +63.997723154775 4503.361328125000 +64.004640290386 4503.543945312500 +67.029231386141 1343.709472656250 +68.011491758230 27131.720703125000 +68.993563170451 10725.029296875000 +69.044343896055 13633.430664062500 +72.936417222659 1981.698974609375 +73.064445763175 1738.000000000000 +76.486394770203 1838.000000000000 +79.020585693496 15476.331054687500 +80.049006763762 13098.345703125000 +81.936977066056 6700.097167968750 +82.996241956981 7046.000000000000 +87.054126951141 1509.432250976562 +90.489226124406 1310.000000000000 +95.952458919171 1959.000000000000 +97.967820753592 5628.000000000000 +100.075023872587 1364.000000000000 +102.090717931479 1512.646362304688 +113.962912260353 1701.000000000000 +114.090473225831 9595.784179687500 +118.084972131069 5075.000000000000 +122.095259772197 3214.795898437500 +122.962712406475 8085.558593750000 +123.091005423741 1581.128295898438 +130.158069734033 1299.000000000000 +136.020125332517 1746.000000000000 +136.111770067837 1350.000000000000 +141.112230336779 1334.011352539062 +141.957521382107 12383.362304687500 +147.090293807929 2791.311035156250 +149.022412837668 4677.629882812500 +151.096077644405 2393.391845703125 +151.110831801713 2600.533691406250 +155.069364216762 1716.784790039062 +155.105050133083 2456.074218750000 +155.973083245733 3283.000000000000 +158.153038315973 9929.551757812500 +159.116421722834 1485.743652343750 +159.137129674197 2772.861083984375 +159.155141577333 2776.414794921875 +161.095320875659 1573.519287109375 +164.142473682751 1421.000000000000 +167.105463158741 2212.506103515625 +170.094814045000 2688.513916015625 +171.139657517471 1933.299194335938 +172.954638688149 6057.178710937500 +173.079774514200 5662.676757812500 +174.951964559785 3863.824218750000 +178.158707978837 1362.208984375000 +179.104674624533 1800.117431640625 +182.961013319998 2148.433837890625 +182.981707985947 1468.088867187500 +183.098317402296 1261.667114257812 +186.220433974755 1479.000000000000 +194.116224184204 2789.894531250000 +195.102887218782 1287.299560546875 +195.121447766424 1610.618530273438 +198.184723560877 1941.571533203125 +201.194876036569 2167.000000000000 +217.106462800418 22947.000000000000 +218.108801330897 2636.000000000000 +219.097893861214 1342.000000000000 +227.126933149165 5004.911621093750 +228.195484069757 1305.000000000000 +239.088370009945 3960.000000000000 +240.460237390798 1427.000000000000 +242.283564093719 1830.000000000000 +246.861247027643 1938.000000000000 +249.108853260228 1800.000000000000 +249.183558440427 1294.426879882812 +250.999684342695 2698.000000000000 +251.183554091458 1477.002685546875 +254.083019303799 6058.000000000000 +279.093247230272 1966.815429687500 +281.049869935059 1670.000000000000 +294.135274654822 1900.000000000000 +304.112614798856 1293.000000000000 +327.006716420204 2586.074218750000 +329.003944250381 3053.000000000000 +330.205270226645 1449.000000000000 +364.961495290551 3901.000000000000 +366.958492691864 3703.921142578125 +381.808124091571 1803.154785156250 +382.974810010956 492494.000000000000 +383.797344688783 1758.993530273438 +383.973947678520 67017.000000000000 +384.971945599632 472104.000000000000 +385.971269588019 67474.414062500000 +386.966647061682 144016.781250000000 +387.969459859037 22293.000000000000 +388.966113727801 20172.000000000000 +389.970234999273 3733.000000000000 +390.977642286943 3807.000000000000 +395.362814968665 3505.000000000000 +404.954373005418 29709.000000000000 +405.957605814404 4596.000000000000 +406.951351507527 29748.000000000000 +407.954360642682 5225.000000000000 +408.947993467304 9999.000000000000 +409.950364620524 1525.000000000000 +410.945267428678 1352.000000000000 +420.926691374900 1390.664306640625 +422.923874232736 1486.000000000000 +428.029208662762 3986.000000000000 +430.025947746618 3948.657226562500 +445.119162074542 2228.000000000000 +482.896752691829 3090.000000000000 +484.893432613963 3026.647216796875 +502.291152978353 2267.953857421875 +505.851682314566 3196.000000000000 +520.337904050717 1518.000000000000 +522.878625367766 1435.000000000000 +524.369325390993 2192.000000000000 +525.894221085136 1272.042236328125 +536.163484623680 5334.000000000000 +537.164113274746 2751.000000000000 +538.162435462394 1972.000000000000 +542.322553871971 1723.000000000000 +544.338869478628 2967.000000000000 +546.915820439704 2265.156250000000 +610.181290021850 2226.000000000000 +770.944784003773 2430.996093750000 +771.944730947705 1288.000000000000 +772.941688134604 4659.000000000000 +773.942987828510 2027.000000000000 +774.938540423107 4303.000000000000 +776.937402889811 1926.000000000000 +786.918769211300 6319.000000000000 +787.922182773427 2038.134521484375 +788.915957873075 13314.000000000000 +789.918553365845 4066.000000000000 +790.913325395940 10740.000000000000 +791.915649574834 3424.000000000000 +792.909829405629 4948.000000000000 +793.913410948963 1431.000000000000 +794.907848876695 1317.702636718750 +>ms2peaks +##n_id sample=1 period=1 cycle=694 experiment=8 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=694 experiment=8_0 +##scan 222 +##specref ms_run[1]:sample=1 period=1 cycle=694 experiment=8 +172.955539734377 30.000000000000 +326.988875976164 13.000000000000 +388.982886081521 315.000000000000 +389.977518981018 45.000000000000 +390.978059863685 601.000000000000 +392.870619900711 13.000000000000 +392.973080047546 150.000000000000 +396.453277208819 13.000000000000 +682.418944551985 13.000000000000 +>compound 1_0-694009--223--UNKNOWN +>parentmass 788.915957873075 +>charge 1 +>rt 461.815000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +788.915957873075 13314.000000000000 +789.918553365845 4066.000000000000 +>ms1peaks +52.005496386189 2738.622558593750 +53.013522862396 13891.174804687500 +53.850363537980 1464.000000000000 +54.009260084007 336400.468750000000 +55.005903794519 5511.014648437500 +55.010643924211 6241.218261718750 +55.054192408251 1967.229614257812 +55.934141177867 4482.000000000000 +56.049452188079 2198.212646484375 +56.941833904715 1792.011962890625 +59.049520182802 50016.500000000000 +60.044372488695 9947.728515625000 +61.039230172717 1531.269287109375 +63.997723154775 4503.361328125000 +64.004640290386 4503.543945312500 +67.029231386141 1343.709472656250 +68.011491758230 27131.720703125000 +68.993563170451 10725.029296875000 +69.044343896055 13633.430664062500 +72.936417222659 1981.698974609375 +73.064445763175 1738.000000000000 +76.486394770203 1838.000000000000 +79.020585693496 15476.331054687500 +80.049006763762 13098.345703125000 +81.936977066056 6700.097167968750 +82.996241956981 7046.000000000000 +87.054126951141 1509.432250976562 +90.489226124406 1310.000000000000 +95.952458919171 1959.000000000000 +97.967820753592 5628.000000000000 +100.075023872587 1364.000000000000 +102.090717931479 1512.646362304688 +113.962912260353 1701.000000000000 +114.090473225831 9595.784179687500 +118.084972131069 5075.000000000000 +122.095259772197 3214.795898437500 +122.962712406475 8085.558593750000 +123.091005423741 1581.128295898438 +130.158069734033 1299.000000000000 +136.020125332517 1746.000000000000 +136.111770067837 1350.000000000000 +141.112230336779 1334.011352539062 +141.957521382107 12383.362304687500 +147.090293807929 2791.311035156250 +149.022412837668 4677.629882812500 +151.096077644405 2393.391845703125 +151.110831801713 2600.533691406250 +155.069364216762 1716.784790039062 +155.105050133083 2456.074218750000 +155.973083245733 3283.000000000000 +158.153038315973 9929.551757812500 +159.116421722834 1485.743652343750 +159.137129674197 2772.861083984375 +159.155141577333 2776.414794921875 +161.095320875659 1573.519287109375 +164.142473682751 1421.000000000000 +167.105463158741 2212.506103515625 +170.094814045000 2688.513916015625 +171.139657517471 1933.299194335938 +172.954638688149 6057.178710937500 +173.079774514200 5662.676757812500 +174.951964559785 3863.824218750000 +178.158707978837 1362.208984375000 +179.104674624533 1800.117431640625 +182.961013319998 2148.433837890625 +182.981707985947 1468.088867187500 +183.098317402296 1261.667114257812 +186.220433974755 1479.000000000000 +194.116224184204 2789.894531250000 +195.102887218782 1287.299560546875 +195.121447766424 1610.618530273438 +198.184723560877 1941.571533203125 +201.194876036569 2167.000000000000 +217.106462800418 22947.000000000000 +218.108801330897 2636.000000000000 +219.097893861214 1342.000000000000 +227.126933149165 5004.911621093750 +228.195484069757 1305.000000000000 +239.088370009945 3960.000000000000 +240.460237390798 1427.000000000000 +242.283564093719 1830.000000000000 +246.861247027643 1938.000000000000 +249.108853260228 1800.000000000000 +249.183558440427 1294.426879882812 +250.999684342695 2698.000000000000 +251.183554091458 1477.002685546875 +254.083019303799 6058.000000000000 +279.093247230272 1966.815429687500 +281.049869935059 1670.000000000000 +294.135274654822 1900.000000000000 +304.112614798856 1293.000000000000 +327.006716420204 2586.074218750000 +329.003944250381 3053.000000000000 +330.205270226645 1449.000000000000 +364.961495290551 3901.000000000000 +366.958492691864 3703.921142578125 +381.808124091571 1803.154785156250 +382.974810010956 492494.000000000000 +383.797344688783 1758.993530273438 +383.973947678520 67017.000000000000 +384.971945599632 472104.000000000000 +385.971269588019 67474.414062500000 +386.966647061682 144016.781250000000 +387.969459859037 22293.000000000000 +388.966113727801 20172.000000000000 +389.970234999273 3733.000000000000 +390.977642286943 3807.000000000000 +395.362814968665 3505.000000000000 +404.954373005418 29709.000000000000 +405.957605814404 4596.000000000000 +406.951351507527 29748.000000000000 +407.954360642682 5225.000000000000 +408.947993467304 9999.000000000000 +409.950364620524 1525.000000000000 +410.945267428678 1352.000000000000 +420.926691374900 1390.664306640625 +422.923874232736 1486.000000000000 +428.029208662762 3986.000000000000 +430.025947746618 3948.657226562500 +445.119162074542 2228.000000000000 +482.896752691829 3090.000000000000 +484.893432613963 3026.647216796875 +502.291152978353 2267.953857421875 +505.851682314566 3196.000000000000 +520.337904050717 1518.000000000000 +522.878625367766 1435.000000000000 +524.369325390993 2192.000000000000 +525.894221085136 1272.042236328125 +536.163484623680 5334.000000000000 +537.164113274746 2751.000000000000 +538.162435462394 1972.000000000000 +542.322553871971 1723.000000000000 +544.338869478628 2967.000000000000 +546.915820439704 2265.156250000000 +610.181290021850 2226.000000000000 +770.944784003773 2430.996093750000 +771.944730947705 1288.000000000000 +772.941688134604 4659.000000000000 +773.942987828510 2027.000000000000 +774.938540423107 4303.000000000000 +776.937402889811 1926.000000000000 +786.918769211300 6319.000000000000 +787.922182773427 2038.134521484375 +788.915957873075 13314.000000000000 +789.918553365845 4066.000000000000 +790.913325395940 10740.000000000000 +791.915649574834 3424.000000000000 +792.909829405629 4948.000000000000 +793.913410948963 1431.000000000000 +794.907848876695 1317.702636718750 +>ms2peaks +##n_id sample=1 period=1 cycle=694 experiment=9 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=694 experiment=9_0 +##scan 223 +##specref ms_run[1]:sample=1 period=1 cycle=694 experiment=9 +404.954519975829 1117.000000000000 +406.950867538201 1041.000000000000 +>compound 1_0-695002--225--UNKNOWN +>parentmass 201.195027022045 +>charge 1 +>rt 462.742999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +201.195027022045 1910.948486328125 +>ms1peaks +52.005618708163 2539.747558593750 +53.013486822272 13870.398437500000 +53.849944651813 1321.311035156250 +54.009272542510 334364.000000000000 +55.006127578305 5684.579589843750 +55.011035183427 6294.277343750000 +55.054254765161 2061.134521484375 +55.933991415018 4820.544433593750 +56.941982259074 2008.753662109375 +59.049476031136 51717.343750000000 +60.044321443571 9808.684570312500 +61.039396177051 1522.640869140625 +63.997565592724 3448.600830078125 +64.005341669020 4543.776367187500 +68.011420900213 27038.449218750000 +68.993536452237 10856.610351562500 +69.044604668417 14629.907226562500 +72.936743492854 2022.000000000000 +73.064665682287 1682.000000000000 +76.485998117314 2566.925537109375 +79.020810153532 14499.247070312500 +80.048959505883 11243.084960937500 +81.937003271508 7052.000000000000 +82.996378584159 7415.000000000000 +87.054410274312 1276.982299804688 +89.059441384010 1290.163085937500 +89.069900666859 1198.356201171875 +89.506331602098 1457.000000000000 +90.489270349598 1320.000000000000 +91.053039144063 1241.000000000000 +95.952000045968 1806.000000000000 +97.967902527377 5447.752441406250 +102.090774354133 1766.000000000000 +113.962757196604 1650.000000000000 +114.090773310880 10151.000000000000 +118.085066210903 5345.923828125000 +122.095268802673 3377.287353515625 +122.962949998137 8914.721679687500 +123.090601278155 1865.907714843750 +136.020056745687 1324.000000000000 +136.111180768789 1288.000000000000 +141.090426683848 1398.526123046875 +141.112288162622 1510.265380859375 +141.957469631101 11917.693359375000 +147.090463314067 2860.191894531250 +149.022264703314 4634.188964843750 +149.042470498621 2606.216308593750 +151.096122028864 2944.847167968750 +151.109971768966 3170.533447265625 +153.126958731814 1398.000000000000 +155.069195494974 1574.157714843750 +155.105813585424 2084.507812500000 +155.973150721688 3335.564697265625 +158.153053636015 9405.870117187500 +159.136711694066 4417.646972656250 +159.154174408709 3926.795898437500 +161.094961933921 1811.161621093750 +164.141679671164 1521.000000000000 +167.105480994164 1805.390991210938 +170.094958849897 2666.187255859375 +171.140223157200 1508.630004882812 +171.145093012937 1470.691528320312 +172.954512501044 4039.610107421875 +173.079845098747 6225.943847656250 +174.952094962470 2464.368408203125 +178.158215609086 1219.881103515625 +179.105154195399 2200.808349609375 +182.960806462890 2404.385253906250 +186.220809140277 1734.000000000000 +194.115098301689 2881.000000000000 +195.101256156374 1617.443847656250 +195.120951058554 2047.553222656250 +198.184414106878 2305.000000000000 +201.195027022045 1910.948486328125 +217.106230153979 23078.796875000000 +218.109437360227 2564.000000000000 +227.127499881482 2837.185058593750 +228.194792431648 1277.992065429688 +239.088418710570 4302.000000000000 +241.173994352825 1414.042846679688 +242.284258423543 1867.205322265625 +246.861863276034 1955.000000000000 +249.109420159783 1233.772827148438 +249.184418840075 1420.173461914062 +250.999381059341 2838.000000000000 +251.184140008138 1355.000000000000 +252.997300828765 1406.000000000000 +254.083492116056 10290.000000000000 +255.085997599377 1547.149658203125 +267.170893163247 1592.013427734375 +279.092005618883 2032.000000000000 +281.050092553984 1706.000000000000 +294.136138366080 4881.512207031250 +295.107895790988 1620.651123046875 +295.138015559195 1578.061157226562 +296.133166224229 1908.000000000000 +304.111051104519 1351.000000000000 +327.006886551663 2984.882812500000 +329.003473926885 3156.000000000000 +330.205676685503 1841.885498046875 +364.961111347940 2324.000000000000 +366.958514632517 2456.000000000000 +382.972867455598 293054.562500000000 +383.974219609669 42764.382812500000 +384.970213408863 286227.000000000000 +385.971399341694 43010.519531250000 +386.966578716896 89321.406250000000 +387.969876681798 14031.000000000000 +388.966592927417 13596.000000000000 +389.971378934425 2357.000000000000 +390.975968244903 3498.000000000000 +395.363328076942 13631.000000000000 +396.365159355422 3743.854492187500 +404.954536714556 21725.000000000000 +405.956113141092 3276.000000000000 +406.951284005894 20871.000000000000 +407.954147589098 2949.000000000000 +408.948148070172 6628.412109375000 +417.344524456584 1350.000000000000 +422.925037344315 1234.000000000000 +428.028844106844 3004.000000000000 +430.024809248533 3165.000000000000 +445.118500074341 2256.000000000000 +482.895568175952 1929.765625000000 +484.892948210892 1641.000000000000 +502.291275651964 2548.000000000000 +503.296040019046 1207.000000000000 +505.851455058887 3627.203857421875 +506.855739800274 1203.000000000000 +520.337332473137 1339.000000000000 +522.878375464311 1844.000000000000 +523.875819347577 1259.000000000000 +524.368582213829 1764.000000000000 +526.292379236449 1346.000000000000 +536.163521405380 5045.000000000000 +537.165490183188 2639.000000000000 +538.161932737167 2125.000000000000 +542.324328555797 1713.000000000000 +544.337468198754 3056.603271484375 +546.913369606817 2292.000000000000 +610.181714915557 2143.000000000000 +770.941842794456 1288.000000000000 +772.941472668172 2798.000000000000 +774.938101153758 1918.000000000000 +786.918764971090 3273.000000000000 +788.915339889948 6349.000000000000 +789.916298046128 2026.000000000000 +790.912911377750 5269.000000000000 +791.914849195293 1739.000000000000 +792.911051784088 2347.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=695 experiment=2 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=695 experiment=2_0 +##scan 225 +##specref ms_run[1]:sample=1 period=1 cycle=695 experiment=2 +56.942426701495 15.000000000000 +72.043995721286 90.000000000000 +113.940649832807 15.000000000000 +113.962171297268 45.000000000000 +113.971491837612 45.000000000000 +128.966874753967 13.000000000000 +132.962463230497 13.000000000000 +141.966349141306 30.000000000000 +141.978758501062 30.000000000000 +>compound 1_0-695003--226--UNKNOWN +>parentmass 240.461009918040 +>charge 1 +>rt 462.742999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1peaks +52.005618708163 2539.747558593750 +53.013486822272 13870.398437500000 +53.849944651813 1321.311035156250 +54.009272542510 334364.000000000000 +55.006127578305 5684.579589843750 +55.011035183427 6294.277343750000 +55.054254765161 2061.134521484375 +55.933991415018 4820.544433593750 +56.941982259074 2008.753662109375 +59.049476031136 51717.343750000000 +60.044321443571 9808.684570312500 +61.039396177051 1522.640869140625 +63.997565592724 3448.600830078125 +64.005341669020 4543.776367187500 +68.011420900213 27038.449218750000 +68.993536452237 10856.610351562500 +69.044604668417 14629.907226562500 +72.936743492854 2022.000000000000 +73.064665682287 1682.000000000000 +76.485998117314 2566.925537109375 +79.020810153532 14499.247070312500 +80.048959505883 11243.084960937500 +81.937003271508 7052.000000000000 +82.996378584159 7415.000000000000 +87.054410274312 1276.982299804688 +89.059441384010 1290.163085937500 +89.069900666859 1198.356201171875 +89.506331602098 1457.000000000000 +90.489270349598 1320.000000000000 +91.053039144063 1241.000000000000 +95.952000045968 1806.000000000000 +97.967902527377 5447.752441406250 +102.090774354133 1766.000000000000 +113.962757196604 1650.000000000000 +114.090773310880 10151.000000000000 +118.085066210903 5345.923828125000 +122.095268802673 3377.287353515625 +122.962949998137 8914.721679687500 +123.090601278155 1865.907714843750 +136.020056745687 1324.000000000000 +136.111180768789 1288.000000000000 +141.090426683848 1398.526123046875 +141.112288162622 1510.265380859375 +141.957469631101 11917.693359375000 +147.090463314067 2860.191894531250 +149.022264703314 4634.188964843750 +149.042470498621 2606.216308593750 +151.096122028864 2944.847167968750 +151.109971768966 3170.533447265625 +153.126958731814 1398.000000000000 +155.069195494974 1574.157714843750 +155.105813585424 2084.507812500000 +155.973150721688 3335.564697265625 +158.153053636015 9405.870117187500 +159.136711694066 4417.646972656250 +159.154174408709 3926.795898437500 +161.094961933921 1811.161621093750 +164.141679671164 1521.000000000000 +167.105480994164 1805.390991210938 +170.094958849897 2666.187255859375 +171.140223157200 1508.630004882812 +171.145093012937 1470.691528320312 +172.954512501044 4039.610107421875 +173.079845098747 6225.943847656250 +174.952094962470 2464.368408203125 +178.158215609086 1219.881103515625 +179.105154195399 2200.808349609375 +182.960806462890 2404.385253906250 +186.220809140277 1734.000000000000 +194.115098301689 2881.000000000000 +195.101256156374 1617.443847656250 +195.120951058554 2047.553222656250 +198.184414106878 2305.000000000000 +201.195027022045 1910.948486328125 +217.106230153979 23078.796875000000 +218.109437360227 2564.000000000000 +227.127499881482 2837.185058593750 +228.194792431648 1277.992065429688 +239.088418710570 4302.000000000000 +241.173994352825 1414.042846679688 +242.284258423543 1867.205322265625 +246.861863276034 1955.000000000000 +249.109420159783 1233.772827148438 +249.184418840075 1420.173461914062 +250.999381059341 2838.000000000000 +251.184140008138 1355.000000000000 +252.997300828765 1406.000000000000 +254.083492116056 10290.000000000000 +255.085997599377 1547.149658203125 +267.170893163247 1592.013427734375 +279.092005618883 2032.000000000000 +281.050092553984 1706.000000000000 +294.136138366080 4881.512207031250 +295.107895790988 1620.651123046875 +295.138015559195 1578.061157226562 +296.133166224229 1908.000000000000 +304.111051104519 1351.000000000000 +327.006886551663 2984.882812500000 +329.003473926885 3156.000000000000 +330.205676685503 1841.885498046875 +364.961111347940 2324.000000000000 +366.958514632517 2456.000000000000 +382.972867455598 293054.562500000000 +383.974219609669 42764.382812500000 +384.970213408863 286227.000000000000 +385.971399341694 43010.519531250000 +386.966578716896 89321.406250000000 +387.969876681798 14031.000000000000 +388.966592927417 13596.000000000000 +389.971378934425 2357.000000000000 +390.975968244903 3498.000000000000 +395.363328076942 13631.000000000000 +396.365159355422 3743.854492187500 +404.954536714556 21725.000000000000 +405.956113141092 3276.000000000000 +406.951284005894 20871.000000000000 +407.954147589098 2949.000000000000 +408.948148070172 6628.412109375000 +417.344524456584 1350.000000000000 +422.925037344315 1234.000000000000 +428.028844106844 3004.000000000000 +430.024809248533 3165.000000000000 +445.118500074341 2256.000000000000 +482.895568175952 1929.765625000000 +484.892948210892 1641.000000000000 +502.291275651964 2548.000000000000 +503.296040019046 1207.000000000000 +505.851455058887 3627.203857421875 +506.855739800274 1203.000000000000 +520.337332473137 1339.000000000000 +522.878375464311 1844.000000000000 +523.875819347577 1259.000000000000 +524.368582213829 1764.000000000000 +526.292379236449 1346.000000000000 +536.163521405380 5045.000000000000 +537.165490183188 2639.000000000000 +538.161932737167 2125.000000000000 +542.324328555797 1713.000000000000 +544.337468198754 3056.603271484375 +546.913369606817 2292.000000000000 +610.181714915557 2143.000000000000 +770.941842794456 1288.000000000000 +772.941472668172 2798.000000000000 +774.938101153758 1918.000000000000 +786.918764971090 3273.000000000000 +788.915339889948 6349.000000000000 +789.916298046128 2026.000000000000 +790.912911377750 5269.000000000000 +791.914849195293 1739.000000000000 +792.911051784088 2347.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=695 experiment=3 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=695 experiment=3_0 +##scan 226 +##specref ms_run[1]:sample=1 period=1 cycle=695 experiment=3 +93.070415898217 13.000000000000 +107.073224309136 13.000000000000 +>compound 1_0-695004--227--UNKNOWN +>parentmass 255.085997599377 +>charge 1 +>rt 462.742999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +255.085997599377 1547.149658203125 +>ms1peaks +52.005618708163 2539.747558593750 +53.013486822272 13870.398437500000 +53.849944651813 1321.311035156250 +54.009272542510 334364.000000000000 +55.006127578305 5684.579589843750 +55.011035183427 6294.277343750000 +55.054254765161 2061.134521484375 +55.933991415018 4820.544433593750 +56.941982259074 2008.753662109375 +59.049476031136 51717.343750000000 +60.044321443571 9808.684570312500 +61.039396177051 1522.640869140625 +63.997565592724 3448.600830078125 +64.005341669020 4543.776367187500 +68.011420900213 27038.449218750000 +68.993536452237 10856.610351562500 +69.044604668417 14629.907226562500 +72.936743492854 2022.000000000000 +73.064665682287 1682.000000000000 +76.485998117314 2566.925537109375 +79.020810153532 14499.247070312500 +80.048959505883 11243.084960937500 +81.937003271508 7052.000000000000 +82.996378584159 7415.000000000000 +87.054410274312 1276.982299804688 +89.059441384010 1290.163085937500 +89.069900666859 1198.356201171875 +89.506331602098 1457.000000000000 +90.489270349598 1320.000000000000 +91.053039144063 1241.000000000000 +95.952000045968 1806.000000000000 +97.967902527377 5447.752441406250 +102.090774354133 1766.000000000000 +113.962757196604 1650.000000000000 +114.090773310880 10151.000000000000 +118.085066210903 5345.923828125000 +122.095268802673 3377.287353515625 +122.962949998137 8914.721679687500 +123.090601278155 1865.907714843750 +136.020056745687 1324.000000000000 +136.111180768789 1288.000000000000 +141.090426683848 1398.526123046875 +141.112288162622 1510.265380859375 +141.957469631101 11917.693359375000 +147.090463314067 2860.191894531250 +149.022264703314 4634.188964843750 +149.042470498621 2606.216308593750 +151.096122028864 2944.847167968750 +151.109971768966 3170.533447265625 +153.126958731814 1398.000000000000 +155.069195494974 1574.157714843750 +155.105813585424 2084.507812500000 +155.973150721688 3335.564697265625 +158.153053636015 9405.870117187500 +159.136711694066 4417.646972656250 +159.154174408709 3926.795898437500 +161.094961933921 1811.161621093750 +164.141679671164 1521.000000000000 +167.105480994164 1805.390991210938 +170.094958849897 2666.187255859375 +171.140223157200 1508.630004882812 +171.145093012937 1470.691528320312 +172.954512501044 4039.610107421875 +173.079845098747 6225.943847656250 +174.952094962470 2464.368408203125 +178.158215609086 1219.881103515625 +179.105154195399 2200.808349609375 +182.960806462890 2404.385253906250 +186.220809140277 1734.000000000000 +194.115098301689 2881.000000000000 +195.101256156374 1617.443847656250 +195.120951058554 2047.553222656250 +198.184414106878 2305.000000000000 +201.195027022045 1910.948486328125 +217.106230153979 23078.796875000000 +218.109437360227 2564.000000000000 +227.127499881482 2837.185058593750 +228.194792431648 1277.992065429688 +239.088418710570 4302.000000000000 +241.173994352825 1414.042846679688 +242.284258423543 1867.205322265625 +246.861863276034 1955.000000000000 +249.109420159783 1233.772827148438 +249.184418840075 1420.173461914062 +250.999381059341 2838.000000000000 +251.184140008138 1355.000000000000 +252.997300828765 1406.000000000000 +254.083492116056 10290.000000000000 +255.085997599377 1547.149658203125 +267.170893163247 1592.013427734375 +279.092005618883 2032.000000000000 +281.050092553984 1706.000000000000 +294.136138366080 4881.512207031250 +295.107895790988 1620.651123046875 +295.138015559195 1578.061157226562 +296.133166224229 1908.000000000000 +304.111051104519 1351.000000000000 +327.006886551663 2984.882812500000 +329.003473926885 3156.000000000000 +330.205676685503 1841.885498046875 +364.961111347940 2324.000000000000 +366.958514632517 2456.000000000000 +382.972867455598 293054.562500000000 +383.974219609669 42764.382812500000 +384.970213408863 286227.000000000000 +385.971399341694 43010.519531250000 +386.966578716896 89321.406250000000 +387.969876681798 14031.000000000000 +388.966592927417 13596.000000000000 +389.971378934425 2357.000000000000 +390.975968244903 3498.000000000000 +395.363328076942 13631.000000000000 +396.365159355422 3743.854492187500 +404.954536714556 21725.000000000000 +405.956113141092 3276.000000000000 +406.951284005894 20871.000000000000 +407.954147589098 2949.000000000000 +408.948148070172 6628.412109375000 +417.344524456584 1350.000000000000 +422.925037344315 1234.000000000000 +428.028844106844 3004.000000000000 +430.024809248533 3165.000000000000 +445.118500074341 2256.000000000000 +482.895568175952 1929.765625000000 +484.892948210892 1641.000000000000 +502.291275651964 2548.000000000000 +503.296040019046 1207.000000000000 +505.851455058887 3627.203857421875 +506.855739800274 1203.000000000000 +520.337332473137 1339.000000000000 +522.878375464311 1844.000000000000 +523.875819347577 1259.000000000000 +524.368582213829 1764.000000000000 +526.292379236449 1346.000000000000 +536.163521405380 5045.000000000000 +537.165490183188 2639.000000000000 +538.161932737167 2125.000000000000 +542.324328555797 1713.000000000000 +544.337468198754 3056.603271484375 +546.913369606817 2292.000000000000 +610.181714915557 2143.000000000000 +770.941842794456 1288.000000000000 +772.941472668172 2798.000000000000 +774.938101153758 1918.000000000000 +786.918764971090 3273.000000000000 +788.915339889948 6349.000000000000 +789.916298046128 2026.000000000000 +790.912911377750 5269.000000000000 +791.914849195293 1739.000000000000 +792.911051784088 2347.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=695 experiment=4 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=695 experiment=4_0 +##scan 227 +##specref ms_run[1]:sample=1 period=1 cycle=695 experiment=4 +147.287916666884 13.000000000000 +>compound 1_0-695005--228--UNKNOWN +>parentmass 396.365159355422 +>charge 1 +>rt 462.742999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +396.365159355422 3743.854492187500 +>ms1peaks +52.005618708163 2539.747558593750 +53.013486822272 13870.398437500000 +53.849944651813 1321.311035156250 +54.009272542510 334364.000000000000 +55.006127578305 5684.579589843750 +55.011035183427 6294.277343750000 +55.054254765161 2061.134521484375 +55.933991415018 4820.544433593750 +56.941982259074 2008.753662109375 +59.049476031136 51717.343750000000 +60.044321443571 9808.684570312500 +61.039396177051 1522.640869140625 +63.997565592724 3448.600830078125 +64.005341669020 4543.776367187500 +68.011420900213 27038.449218750000 +68.993536452237 10856.610351562500 +69.044604668417 14629.907226562500 +72.936743492854 2022.000000000000 +73.064665682287 1682.000000000000 +76.485998117314 2566.925537109375 +79.020810153532 14499.247070312500 +80.048959505883 11243.084960937500 +81.937003271508 7052.000000000000 +82.996378584159 7415.000000000000 +87.054410274312 1276.982299804688 +89.059441384010 1290.163085937500 +89.069900666859 1198.356201171875 +89.506331602098 1457.000000000000 +90.489270349598 1320.000000000000 +91.053039144063 1241.000000000000 +95.952000045968 1806.000000000000 +97.967902527377 5447.752441406250 +102.090774354133 1766.000000000000 +113.962757196604 1650.000000000000 +114.090773310880 10151.000000000000 +118.085066210903 5345.923828125000 +122.095268802673 3377.287353515625 +122.962949998137 8914.721679687500 +123.090601278155 1865.907714843750 +136.020056745687 1324.000000000000 +136.111180768789 1288.000000000000 +141.090426683848 1398.526123046875 +141.112288162622 1510.265380859375 +141.957469631101 11917.693359375000 +147.090463314067 2860.191894531250 +149.022264703314 4634.188964843750 +149.042470498621 2606.216308593750 +151.096122028864 2944.847167968750 +151.109971768966 3170.533447265625 +153.126958731814 1398.000000000000 +155.069195494974 1574.157714843750 +155.105813585424 2084.507812500000 +155.973150721688 3335.564697265625 +158.153053636015 9405.870117187500 +159.136711694066 4417.646972656250 +159.154174408709 3926.795898437500 +161.094961933921 1811.161621093750 +164.141679671164 1521.000000000000 +167.105480994164 1805.390991210938 +170.094958849897 2666.187255859375 +171.140223157200 1508.630004882812 +171.145093012937 1470.691528320312 +172.954512501044 4039.610107421875 +173.079845098747 6225.943847656250 +174.952094962470 2464.368408203125 +178.158215609086 1219.881103515625 +179.105154195399 2200.808349609375 +182.960806462890 2404.385253906250 +186.220809140277 1734.000000000000 +194.115098301689 2881.000000000000 +195.101256156374 1617.443847656250 +195.120951058554 2047.553222656250 +198.184414106878 2305.000000000000 +201.195027022045 1910.948486328125 +217.106230153979 23078.796875000000 +218.109437360227 2564.000000000000 +227.127499881482 2837.185058593750 +228.194792431648 1277.992065429688 +239.088418710570 4302.000000000000 +241.173994352825 1414.042846679688 +242.284258423543 1867.205322265625 +246.861863276034 1955.000000000000 +249.109420159783 1233.772827148438 +249.184418840075 1420.173461914062 +250.999381059341 2838.000000000000 +251.184140008138 1355.000000000000 +252.997300828765 1406.000000000000 +254.083492116056 10290.000000000000 +255.085997599377 1547.149658203125 +267.170893163247 1592.013427734375 +279.092005618883 2032.000000000000 +281.050092553984 1706.000000000000 +294.136138366080 4881.512207031250 +295.107895790988 1620.651123046875 +295.138015559195 1578.061157226562 +296.133166224229 1908.000000000000 +304.111051104519 1351.000000000000 +327.006886551663 2984.882812500000 +329.003473926885 3156.000000000000 +330.205676685503 1841.885498046875 +364.961111347940 2324.000000000000 +366.958514632517 2456.000000000000 +382.972867455598 293054.562500000000 +383.974219609669 42764.382812500000 +384.970213408863 286227.000000000000 +385.971399341694 43010.519531250000 +386.966578716896 89321.406250000000 +387.969876681798 14031.000000000000 +388.966592927417 13596.000000000000 +389.971378934425 2357.000000000000 +390.975968244903 3498.000000000000 +395.363328076942 13631.000000000000 +396.365159355422 3743.854492187500 +404.954536714556 21725.000000000000 +405.956113141092 3276.000000000000 +406.951284005894 20871.000000000000 +407.954147589098 2949.000000000000 +408.948148070172 6628.412109375000 +417.344524456584 1350.000000000000 +422.925037344315 1234.000000000000 +428.028844106844 3004.000000000000 +430.024809248533 3165.000000000000 +445.118500074341 2256.000000000000 +482.895568175952 1929.765625000000 +484.892948210892 1641.000000000000 +502.291275651964 2548.000000000000 +503.296040019046 1207.000000000000 +505.851455058887 3627.203857421875 +506.855739800274 1203.000000000000 +520.337332473137 1339.000000000000 +522.878375464311 1844.000000000000 +523.875819347577 1259.000000000000 +524.368582213829 1764.000000000000 +526.292379236449 1346.000000000000 +536.163521405380 5045.000000000000 +537.165490183188 2639.000000000000 +538.161932737167 2125.000000000000 +542.324328555797 1713.000000000000 +544.337468198754 3056.603271484375 +546.913369606817 2292.000000000000 +610.181714915557 2143.000000000000 +770.941842794456 1288.000000000000 +772.941472668172 2798.000000000000 +774.938101153758 1918.000000000000 +786.918764971090 3273.000000000000 +788.915339889948 6349.000000000000 +789.916298046128 2026.000000000000 +790.912911377750 5269.000000000000 +791.914849195293 1739.000000000000 +792.911051784088 2347.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=695 experiment=5 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=695 experiment=5_0 +##scan 228 +##specref ms_run[1]:sample=1 period=1 cycle=695 experiment=5 +181.175005299631 30.000000000000 +197.203311127799 105.000000000000 +198.181336761569 81.849647521973 +198.205857649460 109.703544616699 +378.357049985624 165.000000000000 +396.369482288046 195.000000000000 +>compound 1_0-695006--229--UNKNOWN +>parentmass 417.344524456584 +>charge 1 +>rt 462.742999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +417.344524456584 1350.000000000000 +>ms1peaks +52.005618708163 2539.747558593750 +53.013486822272 13870.398437500000 +53.849944651813 1321.311035156250 +54.009272542510 334364.000000000000 +55.006127578305 5684.579589843750 +55.011035183427 6294.277343750000 +55.054254765161 2061.134521484375 +55.933991415018 4820.544433593750 +56.941982259074 2008.753662109375 +59.049476031136 51717.343750000000 +60.044321443571 9808.684570312500 +61.039396177051 1522.640869140625 +63.997565592724 3448.600830078125 +64.005341669020 4543.776367187500 +68.011420900213 27038.449218750000 +68.993536452237 10856.610351562500 +69.044604668417 14629.907226562500 +72.936743492854 2022.000000000000 +73.064665682287 1682.000000000000 +76.485998117314 2566.925537109375 +79.020810153532 14499.247070312500 +80.048959505883 11243.084960937500 +81.937003271508 7052.000000000000 +82.996378584159 7415.000000000000 +87.054410274312 1276.982299804688 +89.059441384010 1290.163085937500 +89.069900666859 1198.356201171875 +89.506331602098 1457.000000000000 +90.489270349598 1320.000000000000 +91.053039144063 1241.000000000000 +95.952000045968 1806.000000000000 +97.967902527377 5447.752441406250 +102.090774354133 1766.000000000000 +113.962757196604 1650.000000000000 +114.090773310880 10151.000000000000 +118.085066210903 5345.923828125000 +122.095268802673 3377.287353515625 +122.962949998137 8914.721679687500 +123.090601278155 1865.907714843750 +136.020056745687 1324.000000000000 +136.111180768789 1288.000000000000 +141.090426683848 1398.526123046875 +141.112288162622 1510.265380859375 +141.957469631101 11917.693359375000 +147.090463314067 2860.191894531250 +149.022264703314 4634.188964843750 +149.042470498621 2606.216308593750 +151.096122028864 2944.847167968750 +151.109971768966 3170.533447265625 +153.126958731814 1398.000000000000 +155.069195494974 1574.157714843750 +155.105813585424 2084.507812500000 +155.973150721688 3335.564697265625 +158.153053636015 9405.870117187500 +159.136711694066 4417.646972656250 +159.154174408709 3926.795898437500 +161.094961933921 1811.161621093750 +164.141679671164 1521.000000000000 +167.105480994164 1805.390991210938 +170.094958849897 2666.187255859375 +171.140223157200 1508.630004882812 +171.145093012937 1470.691528320312 +172.954512501044 4039.610107421875 +173.079845098747 6225.943847656250 +174.952094962470 2464.368408203125 +178.158215609086 1219.881103515625 +179.105154195399 2200.808349609375 +182.960806462890 2404.385253906250 +186.220809140277 1734.000000000000 +194.115098301689 2881.000000000000 +195.101256156374 1617.443847656250 +195.120951058554 2047.553222656250 +198.184414106878 2305.000000000000 +201.195027022045 1910.948486328125 +217.106230153979 23078.796875000000 +218.109437360227 2564.000000000000 +227.127499881482 2837.185058593750 +228.194792431648 1277.992065429688 +239.088418710570 4302.000000000000 +241.173994352825 1414.042846679688 +242.284258423543 1867.205322265625 +246.861863276034 1955.000000000000 +249.109420159783 1233.772827148438 +249.184418840075 1420.173461914062 +250.999381059341 2838.000000000000 +251.184140008138 1355.000000000000 +252.997300828765 1406.000000000000 +254.083492116056 10290.000000000000 +255.085997599377 1547.149658203125 +267.170893163247 1592.013427734375 +279.092005618883 2032.000000000000 +281.050092553984 1706.000000000000 +294.136138366080 4881.512207031250 +295.107895790988 1620.651123046875 +295.138015559195 1578.061157226562 +296.133166224229 1908.000000000000 +304.111051104519 1351.000000000000 +327.006886551663 2984.882812500000 +329.003473926885 3156.000000000000 +330.205676685503 1841.885498046875 +364.961111347940 2324.000000000000 +366.958514632517 2456.000000000000 +382.972867455598 293054.562500000000 +383.974219609669 42764.382812500000 +384.970213408863 286227.000000000000 +385.971399341694 43010.519531250000 +386.966578716896 89321.406250000000 +387.969876681798 14031.000000000000 +388.966592927417 13596.000000000000 +389.971378934425 2357.000000000000 +390.975968244903 3498.000000000000 +395.363328076942 13631.000000000000 +396.365159355422 3743.854492187500 +404.954536714556 21725.000000000000 +405.956113141092 3276.000000000000 +406.951284005894 20871.000000000000 +407.954147589098 2949.000000000000 +408.948148070172 6628.412109375000 +417.344524456584 1350.000000000000 +422.925037344315 1234.000000000000 +428.028844106844 3004.000000000000 +430.024809248533 3165.000000000000 +445.118500074341 2256.000000000000 +482.895568175952 1929.765625000000 +484.892948210892 1641.000000000000 +502.291275651964 2548.000000000000 +503.296040019046 1207.000000000000 +505.851455058887 3627.203857421875 +506.855739800274 1203.000000000000 +520.337332473137 1339.000000000000 +522.878375464311 1844.000000000000 +523.875819347577 1259.000000000000 +524.368582213829 1764.000000000000 +526.292379236449 1346.000000000000 +536.163521405380 5045.000000000000 +537.165490183188 2639.000000000000 +538.161932737167 2125.000000000000 +542.324328555797 1713.000000000000 +544.337468198754 3056.603271484375 +546.913369606817 2292.000000000000 +610.181714915557 2143.000000000000 +770.941842794456 1288.000000000000 +772.941472668172 2798.000000000000 +774.938101153758 1918.000000000000 +786.918764971090 3273.000000000000 +788.915339889948 6349.000000000000 +789.916298046128 2026.000000000000 +790.912911377750 5269.000000000000 +791.914849195293 1739.000000000000 +792.911051784088 2347.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=695 experiment=6 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=695 experiment=6_0 +##scan 229 +##specref ms_run[1]:sample=1 period=1 cycle=695 experiment=6 +417.341466976682 282.000000000000 +>compound 1_0-695007--230--UNKNOWN +>parentmass 422.925037344315 +>charge 1 +>rt 462.742999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +422.925037344315 1234.000000000000 +>ms1peaks +52.005618708163 2539.747558593750 +53.013486822272 13870.398437500000 +53.849944651813 1321.311035156250 +54.009272542510 334364.000000000000 +55.006127578305 5684.579589843750 +55.011035183427 6294.277343750000 +55.054254765161 2061.134521484375 +55.933991415018 4820.544433593750 +56.941982259074 2008.753662109375 +59.049476031136 51717.343750000000 +60.044321443571 9808.684570312500 +61.039396177051 1522.640869140625 +63.997565592724 3448.600830078125 +64.005341669020 4543.776367187500 +68.011420900213 27038.449218750000 +68.993536452237 10856.610351562500 +69.044604668417 14629.907226562500 +72.936743492854 2022.000000000000 +73.064665682287 1682.000000000000 +76.485998117314 2566.925537109375 +79.020810153532 14499.247070312500 +80.048959505883 11243.084960937500 +81.937003271508 7052.000000000000 +82.996378584159 7415.000000000000 +87.054410274312 1276.982299804688 +89.059441384010 1290.163085937500 +89.069900666859 1198.356201171875 +89.506331602098 1457.000000000000 +90.489270349598 1320.000000000000 +91.053039144063 1241.000000000000 +95.952000045968 1806.000000000000 +97.967902527377 5447.752441406250 +102.090774354133 1766.000000000000 +113.962757196604 1650.000000000000 +114.090773310880 10151.000000000000 +118.085066210903 5345.923828125000 +122.095268802673 3377.287353515625 +122.962949998137 8914.721679687500 +123.090601278155 1865.907714843750 +136.020056745687 1324.000000000000 +136.111180768789 1288.000000000000 +141.090426683848 1398.526123046875 +141.112288162622 1510.265380859375 +141.957469631101 11917.693359375000 +147.090463314067 2860.191894531250 +149.022264703314 4634.188964843750 +149.042470498621 2606.216308593750 +151.096122028864 2944.847167968750 +151.109971768966 3170.533447265625 +153.126958731814 1398.000000000000 +155.069195494974 1574.157714843750 +155.105813585424 2084.507812500000 +155.973150721688 3335.564697265625 +158.153053636015 9405.870117187500 +159.136711694066 4417.646972656250 +159.154174408709 3926.795898437500 +161.094961933921 1811.161621093750 +164.141679671164 1521.000000000000 +167.105480994164 1805.390991210938 +170.094958849897 2666.187255859375 +171.140223157200 1508.630004882812 +171.145093012937 1470.691528320312 +172.954512501044 4039.610107421875 +173.079845098747 6225.943847656250 +174.952094962470 2464.368408203125 +178.158215609086 1219.881103515625 +179.105154195399 2200.808349609375 +182.960806462890 2404.385253906250 +186.220809140277 1734.000000000000 +194.115098301689 2881.000000000000 +195.101256156374 1617.443847656250 +195.120951058554 2047.553222656250 +198.184414106878 2305.000000000000 +201.195027022045 1910.948486328125 +217.106230153979 23078.796875000000 +218.109437360227 2564.000000000000 +227.127499881482 2837.185058593750 +228.194792431648 1277.992065429688 +239.088418710570 4302.000000000000 +241.173994352825 1414.042846679688 +242.284258423543 1867.205322265625 +246.861863276034 1955.000000000000 +249.109420159783 1233.772827148438 +249.184418840075 1420.173461914062 +250.999381059341 2838.000000000000 +251.184140008138 1355.000000000000 +252.997300828765 1406.000000000000 +254.083492116056 10290.000000000000 +255.085997599377 1547.149658203125 +267.170893163247 1592.013427734375 +279.092005618883 2032.000000000000 +281.050092553984 1706.000000000000 +294.136138366080 4881.512207031250 +295.107895790988 1620.651123046875 +295.138015559195 1578.061157226562 +296.133166224229 1908.000000000000 +304.111051104519 1351.000000000000 +327.006886551663 2984.882812500000 +329.003473926885 3156.000000000000 +330.205676685503 1841.885498046875 +364.961111347940 2324.000000000000 +366.958514632517 2456.000000000000 +382.972867455598 293054.562500000000 +383.974219609669 42764.382812500000 +384.970213408863 286227.000000000000 +385.971399341694 43010.519531250000 +386.966578716896 89321.406250000000 +387.969876681798 14031.000000000000 +388.966592927417 13596.000000000000 +389.971378934425 2357.000000000000 +390.975968244903 3498.000000000000 +395.363328076942 13631.000000000000 +396.365159355422 3743.854492187500 +404.954536714556 21725.000000000000 +405.956113141092 3276.000000000000 +406.951284005894 20871.000000000000 +407.954147589098 2949.000000000000 +408.948148070172 6628.412109375000 +417.344524456584 1350.000000000000 +422.925037344315 1234.000000000000 +428.028844106844 3004.000000000000 +430.024809248533 3165.000000000000 +445.118500074341 2256.000000000000 +482.895568175952 1929.765625000000 +484.892948210892 1641.000000000000 +502.291275651964 2548.000000000000 +503.296040019046 1207.000000000000 +505.851455058887 3627.203857421875 +506.855739800274 1203.000000000000 +520.337332473137 1339.000000000000 +522.878375464311 1844.000000000000 +523.875819347577 1259.000000000000 +524.368582213829 1764.000000000000 +526.292379236449 1346.000000000000 +536.163521405380 5045.000000000000 +537.165490183188 2639.000000000000 +538.161932737167 2125.000000000000 +542.324328555797 1713.000000000000 +544.337468198754 3056.603271484375 +546.913369606817 2292.000000000000 +610.181714915557 2143.000000000000 +770.941842794456 1288.000000000000 +772.941472668172 2798.000000000000 +774.938101153758 1918.000000000000 +786.918764971090 3273.000000000000 +788.915339889948 6349.000000000000 +789.916298046128 2026.000000000000 +790.912911377750 5269.000000000000 +791.914849195293 1739.000000000000 +792.911051784088 2347.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=695 experiment=7 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=695 experiment=7_0 +##scan 230 +##specref ms_run[1]:sample=1 period=1 cycle=695 experiment=7 +254.080581718913 30.000000000000 +>compound 1_0-695009--231--UNKNOWN +>parentmass 664.340804393769 +>charge 1 +>rt 462.742999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1peaks +52.005618708163 2539.747558593750 +53.013486822272 13870.398437500000 +53.849944651813 1321.311035156250 +54.009272542510 334364.000000000000 +55.006127578305 5684.579589843750 +55.011035183427 6294.277343750000 +55.054254765161 2061.134521484375 +55.933991415018 4820.544433593750 +56.941982259074 2008.753662109375 +59.049476031136 51717.343750000000 +60.044321443571 9808.684570312500 +61.039396177051 1522.640869140625 +63.997565592724 3448.600830078125 +64.005341669020 4543.776367187500 +68.011420900213 27038.449218750000 +68.993536452237 10856.610351562500 +69.044604668417 14629.907226562500 +72.936743492854 2022.000000000000 +73.064665682287 1682.000000000000 +76.485998117314 2566.925537109375 +79.020810153532 14499.247070312500 +80.048959505883 11243.084960937500 +81.937003271508 7052.000000000000 +82.996378584159 7415.000000000000 +87.054410274312 1276.982299804688 +89.059441384010 1290.163085937500 +89.069900666859 1198.356201171875 +89.506331602098 1457.000000000000 +90.489270349598 1320.000000000000 +91.053039144063 1241.000000000000 +95.952000045968 1806.000000000000 +97.967902527377 5447.752441406250 +102.090774354133 1766.000000000000 +113.962757196604 1650.000000000000 +114.090773310880 10151.000000000000 +118.085066210903 5345.923828125000 +122.095268802673 3377.287353515625 +122.962949998137 8914.721679687500 +123.090601278155 1865.907714843750 +136.020056745687 1324.000000000000 +136.111180768789 1288.000000000000 +141.090426683848 1398.526123046875 +141.112288162622 1510.265380859375 +141.957469631101 11917.693359375000 +147.090463314067 2860.191894531250 +149.022264703314 4634.188964843750 +149.042470498621 2606.216308593750 +151.096122028864 2944.847167968750 +151.109971768966 3170.533447265625 +153.126958731814 1398.000000000000 +155.069195494974 1574.157714843750 +155.105813585424 2084.507812500000 +155.973150721688 3335.564697265625 +158.153053636015 9405.870117187500 +159.136711694066 4417.646972656250 +159.154174408709 3926.795898437500 +161.094961933921 1811.161621093750 +164.141679671164 1521.000000000000 +167.105480994164 1805.390991210938 +170.094958849897 2666.187255859375 +171.140223157200 1508.630004882812 +171.145093012937 1470.691528320312 +172.954512501044 4039.610107421875 +173.079845098747 6225.943847656250 +174.952094962470 2464.368408203125 +178.158215609086 1219.881103515625 +179.105154195399 2200.808349609375 +182.960806462890 2404.385253906250 +186.220809140277 1734.000000000000 +194.115098301689 2881.000000000000 +195.101256156374 1617.443847656250 +195.120951058554 2047.553222656250 +198.184414106878 2305.000000000000 +201.195027022045 1910.948486328125 +217.106230153979 23078.796875000000 +218.109437360227 2564.000000000000 +227.127499881482 2837.185058593750 +228.194792431648 1277.992065429688 +239.088418710570 4302.000000000000 +241.173994352825 1414.042846679688 +242.284258423543 1867.205322265625 +246.861863276034 1955.000000000000 +249.109420159783 1233.772827148438 +249.184418840075 1420.173461914062 +250.999381059341 2838.000000000000 +251.184140008138 1355.000000000000 +252.997300828765 1406.000000000000 +254.083492116056 10290.000000000000 +255.085997599377 1547.149658203125 +267.170893163247 1592.013427734375 +279.092005618883 2032.000000000000 +281.050092553984 1706.000000000000 +294.136138366080 4881.512207031250 +295.107895790988 1620.651123046875 +295.138015559195 1578.061157226562 +296.133166224229 1908.000000000000 +304.111051104519 1351.000000000000 +327.006886551663 2984.882812500000 +329.003473926885 3156.000000000000 +330.205676685503 1841.885498046875 +364.961111347940 2324.000000000000 +366.958514632517 2456.000000000000 +382.972867455598 293054.562500000000 +383.974219609669 42764.382812500000 +384.970213408863 286227.000000000000 +385.971399341694 43010.519531250000 +386.966578716896 89321.406250000000 +387.969876681798 14031.000000000000 +388.966592927417 13596.000000000000 +389.971378934425 2357.000000000000 +390.975968244903 3498.000000000000 +395.363328076942 13631.000000000000 +396.365159355422 3743.854492187500 +404.954536714556 21725.000000000000 +405.956113141092 3276.000000000000 +406.951284005894 20871.000000000000 +407.954147589098 2949.000000000000 +408.948148070172 6628.412109375000 +417.344524456584 1350.000000000000 +422.925037344315 1234.000000000000 +428.028844106844 3004.000000000000 +430.024809248533 3165.000000000000 +445.118500074341 2256.000000000000 +482.895568175952 1929.765625000000 +484.892948210892 1641.000000000000 +502.291275651964 2548.000000000000 +503.296040019046 1207.000000000000 +505.851455058887 3627.203857421875 +506.855739800274 1203.000000000000 +520.337332473137 1339.000000000000 +522.878375464311 1844.000000000000 +523.875819347577 1259.000000000000 +524.368582213829 1764.000000000000 +526.292379236449 1346.000000000000 +536.163521405380 5045.000000000000 +537.165490183188 2639.000000000000 +538.161932737167 2125.000000000000 +542.324328555797 1713.000000000000 +544.337468198754 3056.603271484375 +546.913369606817 2292.000000000000 +610.181714915557 2143.000000000000 +770.941842794456 1288.000000000000 +772.941472668172 2798.000000000000 +774.938101153758 1918.000000000000 +786.918764971090 3273.000000000000 +788.915339889948 6349.000000000000 +789.916298046128 2026.000000000000 +790.912911377750 5269.000000000000 +791.914849195293 1739.000000000000 +792.911051784088 2347.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=695 experiment=9 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=695 experiment=9_0 +##scan 231 +##specref ms_run[1]:sample=1 period=1 cycle=695 experiment=9 +133.097560412381 13.000000000000 +184.070630028873 30.000000000000 +203.173636544843 13.000000000000 +361.272163535476 75.000000000000 +>compound 1_0-696002--233--UNKNOWN +>parentmass 159.137242187594 +>charge 1 +>rt 463.669000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +159.137242187594 4711.416015625000 +>ms1peaks +52.005628538960 2637.349121093750 +53.013487996772 14122.560546875000 +53.850893437957 1404.000000000000 +54.009201169358 332584.406250000000 +55.005765203691 5360.090332031250 +55.011472250266 5664.562500000000 +55.054235622033 2036.836303710938 +55.934292100307 4783.646972656250 +56.941967217108 1857.287231445312 +59.049442439883 57155.132812500000 +60.044580075053 10939.541015625000 +61.039470157590 1746.721313476562 +63.997915213248 4358.298828125000 +64.005059988989 4331.703613281250 +68.011471561598 26757.945312500000 +68.993510312729 10253.229492187500 +69.044561148862 14498.159179687500 +72.936636066754 1711.000000000000 +73.064393116430 1846.000000000000 +76.485942857588 1535.809936523438 +79.021014992201 15447.012695312500 +80.048981842878 12566.061523437500 +81.936913449159 7026.258300781250 +82.996321795117 7912.295410156250 +87.054269977722 1658.446289062500 +89.059229564481 1305.166992187500 +89.069994247057 1368.095825195312 +90.489026785535 1632.000000000000 +91.053315051479 1490.000000000000 +95.951951289492 1992.074584960938 +97.968056848485 5634.964843750000 +100.075631821427 1235.000000000000 +102.090920831540 1955.000000000000 +109.942898660505 1175.000000000000 +113.962626857788 1511.000000000000 +114.090705093443 10989.134765625000 +118.085350245267 5836.000000000000 +122.095731790096 3731.000000000000 +122.963011722526 8769.000000000000 +123.091094838500 1826.787963867188 +130.158205761320 1476.000000000000 +136.020214806507 1571.920776367188 +136.110547334425 1248.000000000000 +141.089530385591 1353.939331054688 +141.112680554458 1293.184082031250 +141.957764442033 12450.728515625000 +147.090299874100 2814.000000000000 +149.022557674814 4422.133300781250 +149.042192687749 1579.712768554688 +151.095403327982 3233.004638671875 +151.110085002989 3392.165771484375 +155.068973577671 1457.415527343750 +155.105602437599 2247.000000000000 +155.973386809277 3837.000000000000 +158.153197625133 11457.209960937500 +159.118609607204 1941.001098632812 +159.137242187594 4711.416015625000 +159.155394938209 3520.378173828125 +161.095263502669 1751.508300781250 +163.130731406915 1204.847900390625 +164.142602457948 1494.615112304688 +170.095495238726 2577.412597656250 +170.116220014920 1480.380615234375 +171.142706905603 1540.455200195312 +172.954970274582 1727.086181640625 +173.080325741387 7273.602539062500 +174.126896117245 1186.000000000000 +174.991679798353 1362.000000000000 +175.125648932918 1339.088867187500 +178.158578492469 1338.348388671875 +179.106137801891 1708.101318359375 +182.960685641984 2378.937500000000 +186.220747056556 1225.523803710938 +194.116088391200 3137.609375000000 +195.100841360950 1458.788330078125 +195.120782205363 2061.721923828125 +198.184862087240 2586.607666015625 +200.199373558529 1259.000000000000 +201.196149511331 1520.000000000000 +217.106534230976 24247.785156250000 +218.109919838623 2548.000000000000 +219.109494694251 1218.915893554688 +224.127685104511 1314.000000000000 +227.127203327275 1821.415039062500 +228.195929407925 1405.236083984375 +239.088731843267 4534.000000000000 +239.126743928250 1537.126831054688 +241.173852549054 1289.963867187500 +242.283370967783 1886.868164062500 +246.861885429812 2425.000000000000 +249.184334637681 1499.296386718750 +250.179429295706 1514.000000000000 +250.999729474504 2773.000000000000 +251.183971646461 1489.000000000000 +252.995981830428 1551.000000000000 +254.083074751473 9429.120117187500 +255.086820384220 1377.000000000000 +263.222311732307 2471.000000000000 +267.171870845764 2258.980468750000 +279.093901316594 2048.000000000000 +281.049438213658 1751.000000000000 +294.135818344908 5481.558593750000 +295.109372469252 1897.115356445312 +295.138871323712 1781.417114257812 +295.189645544086 2819.352539062500 +296.133069738097 2033.000000000000 +327.007288064241 3025.000000000000 +329.004769816867 3185.000000000000 +330.205517897635 2254.151367187500 +382.973343340575 128910.000000000000 +383.974420009478 19401.000000000000 +384.970517685034 123104.000000000000 +385.972091464734 19887.753906250000 +386.967095187750 40063.000000000000 +387.969295280357 6423.000000000000 +388.967906459311 6161.070800781250 +389.971679644558 1409.000000000000 +390.977098155446 1517.000000000000 +395.362969520157 18140.000000000000 +396.365852571670 4542.050781250000 +404.954053810599 10802.145507812500 +405.957174296560 1793.000000000000 +406.951585967555 9725.000000000000 +407.954045316121 1912.000000000000 +408.948897136319 3528.000000000000 +417.344632939875 1893.000000000000 +428.029700918640 1211.000000000000 +430.026672148293 1482.044921875000 +445.120053978151 2346.000000000000 +494.323461441053 1521.000000000000 +502.291764818600 2916.000000000000 +505.851961472306 3786.000000000000 +506.852170245549 1182.000000000000 +519.137955312660 1219.000000000000 +520.337411206304 1698.399902343750 +522.877298691702 1797.000000000000 +524.369915946327 2231.000000000000 +526.290801987448 1556.211059570312 +529.889255527270 1419.000000000000 +536.163579057835 5311.000000000000 +537.165965016465 2630.000000000000 +538.162485296433 1988.000000000000 +542.321404252303 1551.000000000000 +544.338164794243 3319.000000000000 +546.913545702099 2487.013183593750 +547.909624574493 1196.000000000000 +610.183491076142 2248.000000000000 +611.183468001329 1243.000000000000 +788.916160573117 1967.000000000000 +790.915223694521 1465.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=696 experiment=2 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=696 experiment=2_0 +##scan 233 +##specref ms_run[1]:sample=1 period=1 cycle=696 experiment=2 +55.053897973754 30.000000000000 +55.934768254820 75.000000000000 +56.943235358435 13.000000000000 +71.929730877775 45.000000000000 +72.937318749324 90.000000000000 +96.961314870102 13.000000000000 +97.970828900938 30.000000000000 +>compound 1_0-696003--234--UNKNOWN +>parentmass 254.083074751473 +>charge 1 +>rt 463.669000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +254.083074751473 9429.120117187500 +>ms1peaks +52.005628538960 2637.349121093750 +53.013487996772 14122.560546875000 +53.850893437957 1404.000000000000 +54.009201169358 332584.406250000000 +55.005765203691 5360.090332031250 +55.011472250266 5664.562500000000 +55.054235622033 2036.836303710938 +55.934292100307 4783.646972656250 +56.941967217108 1857.287231445312 +59.049442439883 57155.132812500000 +60.044580075053 10939.541015625000 +61.039470157590 1746.721313476562 +63.997915213248 4358.298828125000 +64.005059988989 4331.703613281250 +68.011471561598 26757.945312500000 +68.993510312729 10253.229492187500 +69.044561148862 14498.159179687500 +72.936636066754 1711.000000000000 +73.064393116430 1846.000000000000 +76.485942857588 1535.809936523438 +79.021014992201 15447.012695312500 +80.048981842878 12566.061523437500 +81.936913449159 7026.258300781250 +82.996321795117 7912.295410156250 +87.054269977722 1658.446289062500 +89.059229564481 1305.166992187500 +89.069994247057 1368.095825195312 +90.489026785535 1632.000000000000 +91.053315051479 1490.000000000000 +95.951951289492 1992.074584960938 +97.968056848485 5634.964843750000 +100.075631821427 1235.000000000000 +102.090920831540 1955.000000000000 +109.942898660505 1175.000000000000 +113.962626857788 1511.000000000000 +114.090705093443 10989.134765625000 +118.085350245267 5836.000000000000 +122.095731790096 3731.000000000000 +122.963011722526 8769.000000000000 +123.091094838500 1826.787963867188 +130.158205761320 1476.000000000000 +136.020214806507 1571.920776367188 +136.110547334425 1248.000000000000 +141.089530385591 1353.939331054688 +141.112680554458 1293.184082031250 +141.957764442033 12450.728515625000 +147.090299874100 2814.000000000000 +149.022557674814 4422.133300781250 +149.042192687749 1579.712768554688 +151.095403327982 3233.004638671875 +151.110085002989 3392.165771484375 +155.068973577671 1457.415527343750 +155.105602437599 2247.000000000000 +155.973386809277 3837.000000000000 +158.153197625133 11457.209960937500 +159.118609607204 1941.001098632812 +159.137242187594 4711.416015625000 +159.155394938209 3520.378173828125 +161.095263502669 1751.508300781250 +163.130731406915 1204.847900390625 +164.142602457948 1494.615112304688 +170.095495238726 2577.412597656250 +170.116220014920 1480.380615234375 +171.142706905603 1540.455200195312 +172.954970274582 1727.086181640625 +173.080325741387 7273.602539062500 +174.126896117245 1186.000000000000 +174.991679798353 1362.000000000000 +175.125648932918 1339.088867187500 +178.158578492469 1338.348388671875 +179.106137801891 1708.101318359375 +182.960685641984 2378.937500000000 +186.220747056556 1225.523803710938 +194.116088391200 3137.609375000000 +195.100841360950 1458.788330078125 +195.120782205363 2061.721923828125 +198.184862087240 2586.607666015625 +200.199373558529 1259.000000000000 +201.196149511331 1520.000000000000 +217.106534230976 24247.785156250000 +218.109919838623 2548.000000000000 +219.109494694251 1218.915893554688 +224.127685104511 1314.000000000000 +227.127203327275 1821.415039062500 +228.195929407925 1405.236083984375 +239.088731843267 4534.000000000000 +239.126743928250 1537.126831054688 +241.173852549054 1289.963867187500 +242.283370967783 1886.868164062500 +246.861885429812 2425.000000000000 +249.184334637681 1499.296386718750 +250.179429295706 1514.000000000000 +250.999729474504 2773.000000000000 +251.183971646461 1489.000000000000 +252.995981830428 1551.000000000000 +254.083074751473 9429.120117187500 +255.086820384220 1377.000000000000 +263.222311732307 2471.000000000000 +267.171870845764 2258.980468750000 +279.093901316594 2048.000000000000 +281.049438213658 1751.000000000000 +294.135818344908 5481.558593750000 +295.109372469252 1897.115356445312 +295.138871323712 1781.417114257812 +295.189645544086 2819.352539062500 +296.133069738097 2033.000000000000 +327.007288064241 3025.000000000000 +329.004769816867 3185.000000000000 +330.205517897635 2254.151367187500 +382.973343340575 128910.000000000000 +383.974420009478 19401.000000000000 +384.970517685034 123104.000000000000 +385.972091464734 19887.753906250000 +386.967095187750 40063.000000000000 +387.969295280357 6423.000000000000 +388.967906459311 6161.070800781250 +389.971679644558 1409.000000000000 +390.977098155446 1517.000000000000 +395.362969520157 18140.000000000000 +396.365852571670 4542.050781250000 +404.954053810599 10802.145507812500 +405.957174296560 1793.000000000000 +406.951585967555 9725.000000000000 +407.954045316121 1912.000000000000 +408.948897136319 3528.000000000000 +417.344632939875 1893.000000000000 +428.029700918640 1211.000000000000 +430.026672148293 1482.044921875000 +445.120053978151 2346.000000000000 +494.323461441053 1521.000000000000 +502.291764818600 2916.000000000000 +505.851961472306 3786.000000000000 +506.852170245549 1182.000000000000 +519.137955312660 1219.000000000000 +520.337411206304 1698.399902343750 +522.877298691702 1797.000000000000 +524.369915946327 2231.000000000000 +526.290801987448 1556.211059570312 +529.889255527270 1419.000000000000 +536.163579057835 5311.000000000000 +537.165965016465 2630.000000000000 +538.162485296433 1988.000000000000 +542.321404252303 1551.000000000000 +544.338164794243 3319.000000000000 +546.913545702099 2487.013183593750 +547.909624574493 1196.000000000000 +610.183491076142 2248.000000000000 +611.183468001329 1243.000000000000 +788.916160573117 1967.000000000000 +790.915223694521 1465.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=696 experiment=3 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=696 experiment=3_0 +##scan 234 +##specref ms_run[1]:sample=1 period=1 cycle=696 experiment=3 +87.044072089672 13.000000000000 +>compound 1_0-696004--235--UNKNOWN +>parentmass 329.193870373513 +>charge 1 +>rt 463.669000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1peaks +52.005628538960 2637.349121093750 +53.013487996772 14122.560546875000 +53.850893437957 1404.000000000000 +54.009201169358 332584.406250000000 +55.005765203691 5360.090332031250 +55.011472250266 5664.562500000000 +55.054235622033 2036.836303710938 +55.934292100307 4783.646972656250 +56.941967217108 1857.287231445312 +59.049442439883 57155.132812500000 +60.044580075053 10939.541015625000 +61.039470157590 1746.721313476562 +63.997915213248 4358.298828125000 +64.005059988989 4331.703613281250 +68.011471561598 26757.945312500000 +68.993510312729 10253.229492187500 +69.044561148862 14498.159179687500 +72.936636066754 1711.000000000000 +73.064393116430 1846.000000000000 +76.485942857588 1535.809936523438 +79.021014992201 15447.012695312500 +80.048981842878 12566.061523437500 +81.936913449159 7026.258300781250 +82.996321795117 7912.295410156250 +87.054269977722 1658.446289062500 +89.059229564481 1305.166992187500 +89.069994247057 1368.095825195312 +90.489026785535 1632.000000000000 +91.053315051479 1490.000000000000 +95.951951289492 1992.074584960938 +97.968056848485 5634.964843750000 +100.075631821427 1235.000000000000 +102.090920831540 1955.000000000000 +109.942898660505 1175.000000000000 +113.962626857788 1511.000000000000 +114.090705093443 10989.134765625000 +118.085350245267 5836.000000000000 +122.095731790096 3731.000000000000 +122.963011722526 8769.000000000000 +123.091094838500 1826.787963867188 +130.158205761320 1476.000000000000 +136.020214806507 1571.920776367188 +136.110547334425 1248.000000000000 +141.089530385591 1353.939331054688 +141.112680554458 1293.184082031250 +141.957764442033 12450.728515625000 +147.090299874100 2814.000000000000 +149.022557674814 4422.133300781250 +149.042192687749 1579.712768554688 +151.095403327982 3233.004638671875 +151.110085002989 3392.165771484375 +155.068973577671 1457.415527343750 +155.105602437599 2247.000000000000 +155.973386809277 3837.000000000000 +158.153197625133 11457.209960937500 +159.118609607204 1941.001098632812 +159.137242187594 4711.416015625000 +159.155394938209 3520.378173828125 +161.095263502669 1751.508300781250 +163.130731406915 1204.847900390625 +164.142602457948 1494.615112304688 +170.095495238726 2577.412597656250 +170.116220014920 1480.380615234375 +171.142706905603 1540.455200195312 +172.954970274582 1727.086181640625 +173.080325741387 7273.602539062500 +174.126896117245 1186.000000000000 +174.991679798353 1362.000000000000 +175.125648932918 1339.088867187500 +178.158578492469 1338.348388671875 +179.106137801891 1708.101318359375 +182.960685641984 2378.937500000000 +186.220747056556 1225.523803710938 +194.116088391200 3137.609375000000 +195.100841360950 1458.788330078125 +195.120782205363 2061.721923828125 +198.184862087240 2586.607666015625 +200.199373558529 1259.000000000000 +201.196149511331 1520.000000000000 +217.106534230976 24247.785156250000 +218.109919838623 2548.000000000000 +219.109494694251 1218.915893554688 +224.127685104511 1314.000000000000 +227.127203327275 1821.415039062500 +228.195929407925 1405.236083984375 +239.088731843267 4534.000000000000 +239.126743928250 1537.126831054688 +241.173852549054 1289.963867187500 +242.283370967783 1886.868164062500 +246.861885429812 2425.000000000000 +249.184334637681 1499.296386718750 +250.179429295706 1514.000000000000 +250.999729474504 2773.000000000000 +251.183971646461 1489.000000000000 +252.995981830428 1551.000000000000 +254.083074751473 9429.120117187500 +255.086820384220 1377.000000000000 +263.222311732307 2471.000000000000 +267.171870845764 2258.980468750000 +279.093901316594 2048.000000000000 +281.049438213658 1751.000000000000 +294.135818344908 5481.558593750000 +295.109372469252 1897.115356445312 +295.138871323712 1781.417114257812 +295.189645544086 2819.352539062500 +296.133069738097 2033.000000000000 +327.007288064241 3025.000000000000 +329.004769816867 3185.000000000000 +330.205517897635 2254.151367187500 +382.973343340575 128910.000000000000 +383.974420009478 19401.000000000000 +384.970517685034 123104.000000000000 +385.972091464734 19887.753906250000 +386.967095187750 40063.000000000000 +387.969295280357 6423.000000000000 +388.967906459311 6161.070800781250 +389.971679644558 1409.000000000000 +390.977098155446 1517.000000000000 +395.362969520157 18140.000000000000 +396.365852571670 4542.050781250000 +404.954053810599 10802.145507812500 +405.957174296560 1793.000000000000 +406.951585967555 9725.000000000000 +407.954045316121 1912.000000000000 +408.948897136319 3528.000000000000 +417.344632939875 1893.000000000000 +428.029700918640 1211.000000000000 +430.026672148293 1482.044921875000 +445.120053978151 2346.000000000000 +494.323461441053 1521.000000000000 +502.291764818600 2916.000000000000 +505.851961472306 3786.000000000000 +506.852170245549 1182.000000000000 +519.137955312660 1219.000000000000 +520.337411206304 1698.399902343750 +522.877298691702 1797.000000000000 +524.369915946327 2231.000000000000 +526.290801987448 1556.211059570312 +529.889255527270 1419.000000000000 +536.163579057835 5311.000000000000 +537.165965016465 2630.000000000000 +538.162485296433 1988.000000000000 +542.321404252303 1551.000000000000 +544.338164794243 3319.000000000000 +546.913545702099 2487.013183593750 +547.909624574493 1196.000000000000 +610.183491076142 2248.000000000000 +611.183468001329 1243.000000000000 +788.916160573117 1967.000000000000 +790.915223694521 1465.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=696 experiment=4 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=696 experiment=4_0 +##scan 235 +##specref ms_run[1]:sample=1 period=1 cycle=696 experiment=4 +80.974310871563 13.000000000000 +98.983382481671 516.000000000000 +100.987982685447 13.000000000000 +128.872124001169 30.000000000000 +172.861472139585 181.000000000000 +174.992547618878 30.000000000000 +179.019159792885 13.000000000000 +200.868530087261 30.000000000000 +202.873204741537 60.000000000000 +246.860569116387 75.000000000000 +>compound 1_0-696005--236--UNKNOWN +>parentmass 395.362969520157 +>charge 1 +>rt 463.669000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +395.362969520157 18140.000000000000 +>ms1peaks +52.005628538960 2637.349121093750 +53.013487996772 14122.560546875000 +53.850893437957 1404.000000000000 +54.009201169358 332584.406250000000 +55.005765203691 5360.090332031250 +55.011472250266 5664.562500000000 +55.054235622033 2036.836303710938 +55.934292100307 4783.646972656250 +56.941967217108 1857.287231445312 +59.049442439883 57155.132812500000 +60.044580075053 10939.541015625000 +61.039470157590 1746.721313476562 +63.997915213248 4358.298828125000 +64.005059988989 4331.703613281250 +68.011471561598 26757.945312500000 +68.993510312729 10253.229492187500 +69.044561148862 14498.159179687500 +72.936636066754 1711.000000000000 +73.064393116430 1846.000000000000 +76.485942857588 1535.809936523438 +79.021014992201 15447.012695312500 +80.048981842878 12566.061523437500 +81.936913449159 7026.258300781250 +82.996321795117 7912.295410156250 +87.054269977722 1658.446289062500 +89.059229564481 1305.166992187500 +89.069994247057 1368.095825195312 +90.489026785535 1632.000000000000 +91.053315051479 1490.000000000000 +95.951951289492 1992.074584960938 +97.968056848485 5634.964843750000 +100.075631821427 1235.000000000000 +102.090920831540 1955.000000000000 +109.942898660505 1175.000000000000 +113.962626857788 1511.000000000000 +114.090705093443 10989.134765625000 +118.085350245267 5836.000000000000 +122.095731790096 3731.000000000000 +122.963011722526 8769.000000000000 +123.091094838500 1826.787963867188 +130.158205761320 1476.000000000000 +136.020214806507 1571.920776367188 +136.110547334425 1248.000000000000 +141.089530385591 1353.939331054688 +141.112680554458 1293.184082031250 +141.957764442033 12450.728515625000 +147.090299874100 2814.000000000000 +149.022557674814 4422.133300781250 +149.042192687749 1579.712768554688 +151.095403327982 3233.004638671875 +151.110085002989 3392.165771484375 +155.068973577671 1457.415527343750 +155.105602437599 2247.000000000000 +155.973386809277 3837.000000000000 +158.153197625133 11457.209960937500 +159.118609607204 1941.001098632812 +159.137242187594 4711.416015625000 +159.155394938209 3520.378173828125 +161.095263502669 1751.508300781250 +163.130731406915 1204.847900390625 +164.142602457948 1494.615112304688 +170.095495238726 2577.412597656250 +170.116220014920 1480.380615234375 +171.142706905603 1540.455200195312 +172.954970274582 1727.086181640625 +173.080325741387 7273.602539062500 +174.126896117245 1186.000000000000 +174.991679798353 1362.000000000000 +175.125648932918 1339.088867187500 +178.158578492469 1338.348388671875 +179.106137801891 1708.101318359375 +182.960685641984 2378.937500000000 +186.220747056556 1225.523803710938 +194.116088391200 3137.609375000000 +195.100841360950 1458.788330078125 +195.120782205363 2061.721923828125 +198.184862087240 2586.607666015625 +200.199373558529 1259.000000000000 +201.196149511331 1520.000000000000 +217.106534230976 24247.785156250000 +218.109919838623 2548.000000000000 +219.109494694251 1218.915893554688 +224.127685104511 1314.000000000000 +227.127203327275 1821.415039062500 +228.195929407925 1405.236083984375 +239.088731843267 4534.000000000000 +239.126743928250 1537.126831054688 +241.173852549054 1289.963867187500 +242.283370967783 1886.868164062500 +246.861885429812 2425.000000000000 +249.184334637681 1499.296386718750 +250.179429295706 1514.000000000000 +250.999729474504 2773.000000000000 +251.183971646461 1489.000000000000 +252.995981830428 1551.000000000000 +254.083074751473 9429.120117187500 +255.086820384220 1377.000000000000 +263.222311732307 2471.000000000000 +267.171870845764 2258.980468750000 +279.093901316594 2048.000000000000 +281.049438213658 1751.000000000000 +294.135818344908 5481.558593750000 +295.109372469252 1897.115356445312 +295.138871323712 1781.417114257812 +295.189645544086 2819.352539062500 +296.133069738097 2033.000000000000 +327.007288064241 3025.000000000000 +329.004769816867 3185.000000000000 +330.205517897635 2254.151367187500 +382.973343340575 128910.000000000000 +383.974420009478 19401.000000000000 +384.970517685034 123104.000000000000 +385.972091464734 19887.753906250000 +386.967095187750 40063.000000000000 +387.969295280357 6423.000000000000 +388.967906459311 6161.070800781250 +389.971679644558 1409.000000000000 +390.977098155446 1517.000000000000 +395.362969520157 18140.000000000000 +396.365852571670 4542.050781250000 +404.954053810599 10802.145507812500 +405.957174296560 1793.000000000000 +406.951585967555 9725.000000000000 +407.954045316121 1912.000000000000 +408.948897136319 3528.000000000000 +417.344632939875 1893.000000000000 +428.029700918640 1211.000000000000 +430.026672148293 1482.044921875000 +445.120053978151 2346.000000000000 +494.323461441053 1521.000000000000 +502.291764818600 2916.000000000000 +505.851961472306 3786.000000000000 +506.852170245549 1182.000000000000 +519.137955312660 1219.000000000000 +520.337411206304 1698.399902343750 +522.877298691702 1797.000000000000 +524.369915946327 2231.000000000000 +526.290801987448 1556.211059570312 +529.889255527270 1419.000000000000 +536.163579057835 5311.000000000000 +537.165965016465 2630.000000000000 +538.162485296433 1988.000000000000 +542.321404252303 1551.000000000000 +544.338164794243 3319.000000000000 +546.913545702099 2487.013183593750 +547.909624574493 1196.000000000000 +610.183491076142 2248.000000000000 +611.183468001329 1243.000000000000 +788.916160573117 1967.000000000000 +790.915223694521 1465.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=696 experiment=5 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=696 experiment=5_0 +##scan 236 +##specref ms_run[1]:sample=1 period=1 cycle=696 experiment=5 +107.084081492984 60.000000000000 +138.126990890205 45.000000000000 +180.173254632574 120.000000000000 +197.200860667371 741.000000000000 +198.184641850927 120.000000000000 +377.353477869521 580.000000000000 +395.364593284462 662.000000000000 +>compound 1_0-696006--237--UNKNOWN +>parentmass 417.344632939875 +>charge 1 +>rt 463.669000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +417.344632939875 1893.000000000000 +>ms1peaks +52.005628538960 2637.349121093750 +53.013487996772 14122.560546875000 +53.850893437957 1404.000000000000 +54.009201169358 332584.406250000000 +55.005765203691 5360.090332031250 +55.011472250266 5664.562500000000 +55.054235622033 2036.836303710938 +55.934292100307 4783.646972656250 +56.941967217108 1857.287231445312 +59.049442439883 57155.132812500000 +60.044580075053 10939.541015625000 +61.039470157590 1746.721313476562 +63.997915213248 4358.298828125000 +64.005059988989 4331.703613281250 +68.011471561598 26757.945312500000 +68.993510312729 10253.229492187500 +69.044561148862 14498.159179687500 +72.936636066754 1711.000000000000 +73.064393116430 1846.000000000000 +76.485942857588 1535.809936523438 +79.021014992201 15447.012695312500 +80.048981842878 12566.061523437500 +81.936913449159 7026.258300781250 +82.996321795117 7912.295410156250 +87.054269977722 1658.446289062500 +89.059229564481 1305.166992187500 +89.069994247057 1368.095825195312 +90.489026785535 1632.000000000000 +91.053315051479 1490.000000000000 +95.951951289492 1992.074584960938 +97.968056848485 5634.964843750000 +100.075631821427 1235.000000000000 +102.090920831540 1955.000000000000 +109.942898660505 1175.000000000000 +113.962626857788 1511.000000000000 +114.090705093443 10989.134765625000 +118.085350245267 5836.000000000000 +122.095731790096 3731.000000000000 +122.963011722526 8769.000000000000 +123.091094838500 1826.787963867188 +130.158205761320 1476.000000000000 +136.020214806507 1571.920776367188 +136.110547334425 1248.000000000000 +141.089530385591 1353.939331054688 +141.112680554458 1293.184082031250 +141.957764442033 12450.728515625000 +147.090299874100 2814.000000000000 +149.022557674814 4422.133300781250 +149.042192687749 1579.712768554688 +151.095403327982 3233.004638671875 +151.110085002989 3392.165771484375 +155.068973577671 1457.415527343750 +155.105602437599 2247.000000000000 +155.973386809277 3837.000000000000 +158.153197625133 11457.209960937500 +159.118609607204 1941.001098632812 +159.137242187594 4711.416015625000 +159.155394938209 3520.378173828125 +161.095263502669 1751.508300781250 +163.130731406915 1204.847900390625 +164.142602457948 1494.615112304688 +170.095495238726 2577.412597656250 +170.116220014920 1480.380615234375 +171.142706905603 1540.455200195312 +172.954970274582 1727.086181640625 +173.080325741387 7273.602539062500 +174.126896117245 1186.000000000000 +174.991679798353 1362.000000000000 +175.125648932918 1339.088867187500 +178.158578492469 1338.348388671875 +179.106137801891 1708.101318359375 +182.960685641984 2378.937500000000 +186.220747056556 1225.523803710938 +194.116088391200 3137.609375000000 +195.100841360950 1458.788330078125 +195.120782205363 2061.721923828125 +198.184862087240 2586.607666015625 +200.199373558529 1259.000000000000 +201.196149511331 1520.000000000000 +217.106534230976 24247.785156250000 +218.109919838623 2548.000000000000 +219.109494694251 1218.915893554688 +224.127685104511 1314.000000000000 +227.127203327275 1821.415039062500 +228.195929407925 1405.236083984375 +239.088731843267 4534.000000000000 +239.126743928250 1537.126831054688 +241.173852549054 1289.963867187500 +242.283370967783 1886.868164062500 +246.861885429812 2425.000000000000 +249.184334637681 1499.296386718750 +250.179429295706 1514.000000000000 +250.999729474504 2773.000000000000 +251.183971646461 1489.000000000000 +252.995981830428 1551.000000000000 +254.083074751473 9429.120117187500 +255.086820384220 1377.000000000000 +263.222311732307 2471.000000000000 +267.171870845764 2258.980468750000 +279.093901316594 2048.000000000000 +281.049438213658 1751.000000000000 +294.135818344908 5481.558593750000 +295.109372469252 1897.115356445312 +295.138871323712 1781.417114257812 +295.189645544086 2819.352539062500 +296.133069738097 2033.000000000000 +327.007288064241 3025.000000000000 +329.004769816867 3185.000000000000 +330.205517897635 2254.151367187500 +382.973343340575 128910.000000000000 +383.974420009478 19401.000000000000 +384.970517685034 123104.000000000000 +385.972091464734 19887.753906250000 +386.967095187750 40063.000000000000 +387.969295280357 6423.000000000000 +388.967906459311 6161.070800781250 +389.971679644558 1409.000000000000 +390.977098155446 1517.000000000000 +395.362969520157 18140.000000000000 +396.365852571670 4542.050781250000 +404.954053810599 10802.145507812500 +405.957174296560 1793.000000000000 +406.951585967555 9725.000000000000 +407.954045316121 1912.000000000000 +408.948897136319 3528.000000000000 +417.344632939875 1893.000000000000 +428.029700918640 1211.000000000000 +430.026672148293 1482.044921875000 +445.120053978151 2346.000000000000 +494.323461441053 1521.000000000000 +502.291764818600 2916.000000000000 +505.851961472306 3786.000000000000 +506.852170245549 1182.000000000000 +519.137955312660 1219.000000000000 +520.337411206304 1698.399902343750 +522.877298691702 1797.000000000000 +524.369915946327 2231.000000000000 +526.290801987448 1556.211059570312 +529.889255527270 1419.000000000000 +536.163579057835 5311.000000000000 +537.165965016465 2630.000000000000 +538.162485296433 1988.000000000000 +542.321404252303 1551.000000000000 +544.338164794243 3319.000000000000 +546.913545702099 2487.013183593750 +547.909624574493 1196.000000000000 +610.183491076142 2248.000000000000 +611.183468001329 1243.000000000000 +788.916160573117 1967.000000000000 +790.915223694521 1465.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=696 experiment=6 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=696 experiment=6_0 +##scan 237 +##specref ms_run[1]:sample=1 period=1 cycle=696 experiment=6 +417.347390201777 273.000000000000 +>compound 1_0-696007--238--UNKNOWN +>parentmass 522.877298691702 +>charge 1 +>rt 463.669000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +522.877298691702 1797.000000000000 +>ms1peaks +52.005628538960 2637.349121093750 +53.013487996772 14122.560546875000 +53.850893437957 1404.000000000000 +54.009201169358 332584.406250000000 +55.005765203691 5360.090332031250 +55.011472250266 5664.562500000000 +55.054235622033 2036.836303710938 +55.934292100307 4783.646972656250 +56.941967217108 1857.287231445312 +59.049442439883 57155.132812500000 +60.044580075053 10939.541015625000 +61.039470157590 1746.721313476562 +63.997915213248 4358.298828125000 +64.005059988989 4331.703613281250 +68.011471561598 26757.945312500000 +68.993510312729 10253.229492187500 +69.044561148862 14498.159179687500 +72.936636066754 1711.000000000000 +73.064393116430 1846.000000000000 +76.485942857588 1535.809936523438 +79.021014992201 15447.012695312500 +80.048981842878 12566.061523437500 +81.936913449159 7026.258300781250 +82.996321795117 7912.295410156250 +87.054269977722 1658.446289062500 +89.059229564481 1305.166992187500 +89.069994247057 1368.095825195312 +90.489026785535 1632.000000000000 +91.053315051479 1490.000000000000 +95.951951289492 1992.074584960938 +97.968056848485 5634.964843750000 +100.075631821427 1235.000000000000 +102.090920831540 1955.000000000000 +109.942898660505 1175.000000000000 +113.962626857788 1511.000000000000 +114.090705093443 10989.134765625000 +118.085350245267 5836.000000000000 +122.095731790096 3731.000000000000 +122.963011722526 8769.000000000000 +123.091094838500 1826.787963867188 +130.158205761320 1476.000000000000 +136.020214806507 1571.920776367188 +136.110547334425 1248.000000000000 +141.089530385591 1353.939331054688 +141.112680554458 1293.184082031250 +141.957764442033 12450.728515625000 +147.090299874100 2814.000000000000 +149.022557674814 4422.133300781250 +149.042192687749 1579.712768554688 +151.095403327982 3233.004638671875 +151.110085002989 3392.165771484375 +155.068973577671 1457.415527343750 +155.105602437599 2247.000000000000 +155.973386809277 3837.000000000000 +158.153197625133 11457.209960937500 +159.118609607204 1941.001098632812 +159.137242187594 4711.416015625000 +159.155394938209 3520.378173828125 +161.095263502669 1751.508300781250 +163.130731406915 1204.847900390625 +164.142602457948 1494.615112304688 +170.095495238726 2577.412597656250 +170.116220014920 1480.380615234375 +171.142706905603 1540.455200195312 +172.954970274582 1727.086181640625 +173.080325741387 7273.602539062500 +174.126896117245 1186.000000000000 +174.991679798353 1362.000000000000 +175.125648932918 1339.088867187500 +178.158578492469 1338.348388671875 +179.106137801891 1708.101318359375 +182.960685641984 2378.937500000000 +186.220747056556 1225.523803710938 +194.116088391200 3137.609375000000 +195.100841360950 1458.788330078125 +195.120782205363 2061.721923828125 +198.184862087240 2586.607666015625 +200.199373558529 1259.000000000000 +201.196149511331 1520.000000000000 +217.106534230976 24247.785156250000 +218.109919838623 2548.000000000000 +219.109494694251 1218.915893554688 +224.127685104511 1314.000000000000 +227.127203327275 1821.415039062500 +228.195929407925 1405.236083984375 +239.088731843267 4534.000000000000 +239.126743928250 1537.126831054688 +241.173852549054 1289.963867187500 +242.283370967783 1886.868164062500 +246.861885429812 2425.000000000000 +249.184334637681 1499.296386718750 +250.179429295706 1514.000000000000 +250.999729474504 2773.000000000000 +251.183971646461 1489.000000000000 +252.995981830428 1551.000000000000 +254.083074751473 9429.120117187500 +255.086820384220 1377.000000000000 +263.222311732307 2471.000000000000 +267.171870845764 2258.980468750000 +279.093901316594 2048.000000000000 +281.049438213658 1751.000000000000 +294.135818344908 5481.558593750000 +295.109372469252 1897.115356445312 +295.138871323712 1781.417114257812 +295.189645544086 2819.352539062500 +296.133069738097 2033.000000000000 +327.007288064241 3025.000000000000 +329.004769816867 3185.000000000000 +330.205517897635 2254.151367187500 +382.973343340575 128910.000000000000 +383.974420009478 19401.000000000000 +384.970517685034 123104.000000000000 +385.972091464734 19887.753906250000 +386.967095187750 40063.000000000000 +387.969295280357 6423.000000000000 +388.967906459311 6161.070800781250 +389.971679644558 1409.000000000000 +390.977098155446 1517.000000000000 +395.362969520157 18140.000000000000 +396.365852571670 4542.050781250000 +404.954053810599 10802.145507812500 +405.957174296560 1793.000000000000 +406.951585967555 9725.000000000000 +407.954045316121 1912.000000000000 +408.948897136319 3528.000000000000 +417.344632939875 1893.000000000000 +428.029700918640 1211.000000000000 +430.026672148293 1482.044921875000 +445.120053978151 2346.000000000000 +494.323461441053 1521.000000000000 +502.291764818600 2916.000000000000 +505.851961472306 3786.000000000000 +506.852170245549 1182.000000000000 +519.137955312660 1219.000000000000 +520.337411206304 1698.399902343750 +522.877298691702 1797.000000000000 +524.369915946327 2231.000000000000 +526.290801987448 1556.211059570312 +529.889255527270 1419.000000000000 +536.163579057835 5311.000000000000 +537.165965016465 2630.000000000000 +538.162485296433 1988.000000000000 +542.321404252303 1551.000000000000 +544.338164794243 3319.000000000000 +546.913545702099 2487.013183593750 +547.909624574493 1196.000000000000 +610.183491076142 2248.000000000000 +611.183468001329 1243.000000000000 +788.916160573117 1967.000000000000 +790.915223694521 1465.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=696 experiment=7 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=696 experiment=7_0 +##scan 238 +##specref ms_run[1]:sample=1 period=1 cycle=696 experiment=7 +184.073193059852 16.000000000000 +186.878943414828 24.000000000000 +274.892196117004 16.000000000000 +356.844064437951 148.000000000000 +357.849826696001 16.000000000000 +372.837783813609 16.000000000000 +401.841268557644 93.000000000000 +415.858238601023 78.000000000000 +446.841398216836 55.000000000000 +460.856143814515 54.000000000000 +505.857178011940 46.000000000000 +523.278831824753 16.000000000000 +523.312017459448 16.000000000000 +>compound 1_0-697002--240--UNKNOWN +>parentmass 267.191626525512 +>charge 1 +>rt 464.596999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +267.191626525512 2448.278076171875 +>ms1peaks +52.005427240284 2923.313720703125 +53.013616481231 14989.768554687500 +53.850472964397 1308.466552734375 +54.009310518894 333383.375000000000 +55.005954268156 5677.140625000000 +55.011350090709 6590.077148437500 +55.054055730323 2432.223876953125 +55.934192273330 5153.507324218750 +56.941997962024 2194.530029296875 +59.049620936632 68821.031250000000 +60.044471615888 10770.879882812500 +61.039336267621 1456.228393554688 +63.997801587333 4661.993164062500 +64.005166963107 4722.689941406250 +68.011643141684 27093.162109375000 +68.993456857479 10451.278320312500 +69.044656507552 15424.197265625000 +72.936547962144 1517.215332031250 +73.064190570387 1758.111816406250 +76.486210720813 2024.000000000000 +79.020813920038 17557.603515625000 +80.048811456017 12906.275390625000 +81.937043151106 7275.615722656250 +82.996433945296 7505.000000000000 +87.054223137822 1349.886352539062 +89.059191859030 1141.920776367188 +89.070142088088 1147.254150390625 +90.489205006552 1611.000000000000 +91.053827827406 1364.000000000000 +95.951785770532 2156.000000000000 +97.954137769975 1385.939941406250 +97.968348918090 6032.628417968750 +100.075069267539 1304.873046875000 +102.090653593364 2396.000000000000 +109.942361299198 1163.000000000000 +113.962823136479 1406.000000000000 +114.090717415521 11183.788085937500 +118.085199200251 6733.347167968750 +122.095741165234 3486.000000000000 +122.963079032375 8903.822265625000 +123.091347599456 2003.361694335938 +129.052095335934 1106.817871093750 +130.158365124098 1204.000000000000 +136.020522218220 2035.000000000000 +136.111245412379 1440.019042968750 +137.963071577039 1390.923217773438 +141.090010612505 1589.306518554688 +141.112047500506 1641.892456054688 +141.957498005159 13897.860351562500 +147.090562129050 2521.383789062500 +149.022331865109 4554.995605468750 +149.042499632055 2561.067626953125 +151.095629970654 3075.615722656250 +151.110071667005 3440.213378906250 +155.069443089983 1693.193481445312 +155.105464754412 1925.412475585938 +155.973050803638 3528.460205078125 +158.095365461629 1182.418457031250 +158.153395391582 11269.974609375000 +159.136897039458 2827.216552734375 +159.156058748204 1760.928710937500 +161.095507984757 2002.371093750000 +163.129998429243 1243.407836914062 +164.142388369546 1610.000000000000 +167.106287358921 1246.267578125000 +170.095226994886 3007.033691406250 +171.146614518976 1299.713623046875 +172.132709557758 1110.848144531250 +173.079715894846 7226.916503906250 +174.127178255488 1120.000000000000 +174.990849972350 1188.000000000000 +178.157984123961 1728.000000000000 +179.105778882816 2150.000000000000 +182.961420100006 2518.791992187500 +182.981750761571 1754.833007812500 +183.080577239146 1108.775390625000 +183.098465199981 1168.311401367188 +186.220975094919 2195.000000000000 +193.157052354530 1385.468139648438 +194.115965777249 3385.242919921875 +195.102755906708 1531.518676757812 +195.121395267372 2006.934082031250 +198.184747881335 2583.000000000000 +199.168770376665 1244.081542968750 +200.200485918845 1338.000000000000 +211.168386085952 1428.000000000000 +217.106407145977 24952.000000000000 +218.108774148422 2947.256591796875 +219.097576932087 1266.846923828125 +219.173964064296 1093.175781250000 +227.127938276529 1838.743530273438 +228.194922149263 1956.991577148438 +235.168042173395 1193.751708984375 +239.088653587696 5535.238769531250 +239.126545303394 1424.462036132812 +242.283846695579 1631.000000000000 +246.862279064465 2170.000000000000 +249.183296341533 1598.000000000000 +250.178336511394 1309.286376953125 +250.999431459865 2618.000000000000 +251.184298873617 1422.000000000000 +252.996590126069 1689.000000000000 +254.083046501779 4697.000000000000 +263.221299476934 4185.000000000000 +267.170822146401 2460.057617187500 +267.191626525512 2448.278076171875 +279.093480203217 2101.000000000000 +281.049611432109 1689.000000000000 +294.135844133695 3645.000000000000 +295.138754755779 1144.000000000000 +295.189808850807 3732.970214843750 +296.132583628406 1460.000000000000 +327.007806739012 3347.000000000000 +329.004430802626 3581.000000000000 +330.205699537092 2574.328125000000 +331.001124982932 1337.000000000000 +371.100332921841 1223.000000000000 +371.315743669974 1118.000000000000 +382.972344820498 45057.000000000000 +383.974894538183 6892.720214843750 +384.969630012898 45215.000000000000 +385.972302022157 7057.000000000000 +386.966436829396 14281.893554687500 +387.970121087256 2474.000000000000 +388.968036369514 2204.000000000000 +395.363007240073 13101.000000000000 +396.365399815672 3685.000000000000 +404.953924210193 3907.000000000000 +406.950985883891 4069.000000000000 +408.947975755388 1268.274536132812 +417.344225103353 1285.000000000000 +445.118145821068 2311.715087890625 +494.322767200081 1728.000000000000 +502.291923274965 2891.000000000000 +505.851540130884 3616.305664062500 +506.855578204607 1154.000000000000 +519.137731798453 1103.000000000000 +520.338561646825 1699.000000000000 +522.877671728326 1793.000000000000 +524.369045228357 2314.407714843750 +526.292280755429 1584.000000000000 +529.889084454853 1296.000000000000 +536.163903290276 5401.000000000000 +537.164637090465 2677.000000000000 +538.162386983866 2172.000000000000 +542.324220505297 1514.000000000000 +544.338194999500 3083.000000000000 +546.915335792881 2789.000000000000 +610.182280791237 2231.000000000000 +611.184018740044 1223.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=697 experiment=2 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=697 experiment=2_0 +##scan 240 +##specref ms_run[1]:sample=1 period=1 cycle=697 experiment=2 +69.070517917496 16.000000000000 +98.983022241532 133.000000000000 +133.102241352409 16.000000000000 +>compound 1_0-697003--241--UNKNOWN +>parentmass 478.287672122080 +>charge 1 +>rt 464.596999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1peaks +52.005427240284 2923.313720703125 +53.013616481231 14989.768554687500 +53.850472964397 1308.466552734375 +54.009310518894 333383.375000000000 +55.005954268156 5677.140625000000 +55.011350090709 6590.077148437500 +55.054055730323 2432.223876953125 +55.934192273330 5153.507324218750 +56.941997962024 2194.530029296875 +59.049620936632 68821.031250000000 +60.044471615888 10770.879882812500 +61.039336267621 1456.228393554688 +63.997801587333 4661.993164062500 +64.005166963107 4722.689941406250 +68.011643141684 27093.162109375000 +68.993456857479 10451.278320312500 +69.044656507552 15424.197265625000 +72.936547962144 1517.215332031250 +73.064190570387 1758.111816406250 +76.486210720813 2024.000000000000 +79.020813920038 17557.603515625000 +80.048811456017 12906.275390625000 +81.937043151106 7275.615722656250 +82.996433945296 7505.000000000000 +87.054223137822 1349.886352539062 +89.059191859030 1141.920776367188 +89.070142088088 1147.254150390625 +90.489205006552 1611.000000000000 +91.053827827406 1364.000000000000 +95.951785770532 2156.000000000000 +97.954137769975 1385.939941406250 +97.968348918090 6032.628417968750 +100.075069267539 1304.873046875000 +102.090653593364 2396.000000000000 +109.942361299198 1163.000000000000 +113.962823136479 1406.000000000000 +114.090717415521 11183.788085937500 +118.085199200251 6733.347167968750 +122.095741165234 3486.000000000000 +122.963079032375 8903.822265625000 +123.091347599456 2003.361694335938 +129.052095335934 1106.817871093750 +130.158365124098 1204.000000000000 +136.020522218220 2035.000000000000 +136.111245412379 1440.019042968750 +137.963071577039 1390.923217773438 +141.090010612505 1589.306518554688 +141.112047500506 1641.892456054688 +141.957498005159 13897.860351562500 +147.090562129050 2521.383789062500 +149.022331865109 4554.995605468750 +149.042499632055 2561.067626953125 +151.095629970654 3075.615722656250 +151.110071667005 3440.213378906250 +155.069443089983 1693.193481445312 +155.105464754412 1925.412475585938 +155.973050803638 3528.460205078125 +158.095365461629 1182.418457031250 +158.153395391582 11269.974609375000 +159.136897039458 2827.216552734375 +159.156058748204 1760.928710937500 +161.095507984757 2002.371093750000 +163.129998429243 1243.407836914062 +164.142388369546 1610.000000000000 +167.106287358921 1246.267578125000 +170.095226994886 3007.033691406250 +171.146614518976 1299.713623046875 +172.132709557758 1110.848144531250 +173.079715894846 7226.916503906250 +174.127178255488 1120.000000000000 +174.990849972350 1188.000000000000 +178.157984123961 1728.000000000000 +179.105778882816 2150.000000000000 +182.961420100006 2518.791992187500 +182.981750761571 1754.833007812500 +183.080577239146 1108.775390625000 +183.098465199981 1168.311401367188 +186.220975094919 2195.000000000000 +193.157052354530 1385.468139648438 +194.115965777249 3385.242919921875 +195.102755906708 1531.518676757812 +195.121395267372 2006.934082031250 +198.184747881335 2583.000000000000 +199.168770376665 1244.081542968750 +200.200485918845 1338.000000000000 +211.168386085952 1428.000000000000 +217.106407145977 24952.000000000000 +218.108774148422 2947.256591796875 +219.097576932087 1266.846923828125 +219.173964064296 1093.175781250000 +227.127938276529 1838.743530273438 +228.194922149263 1956.991577148438 +235.168042173395 1193.751708984375 +239.088653587696 5535.238769531250 +239.126545303394 1424.462036132812 +242.283846695579 1631.000000000000 +246.862279064465 2170.000000000000 +249.183296341533 1598.000000000000 +250.178336511394 1309.286376953125 +250.999431459865 2618.000000000000 +251.184298873617 1422.000000000000 +252.996590126069 1689.000000000000 +254.083046501779 4697.000000000000 +263.221299476934 4185.000000000000 +267.170822146401 2460.057617187500 +267.191626525512 2448.278076171875 +279.093480203217 2101.000000000000 +281.049611432109 1689.000000000000 +294.135844133695 3645.000000000000 +295.138754755779 1144.000000000000 +295.189808850807 3732.970214843750 +296.132583628406 1460.000000000000 +327.007806739012 3347.000000000000 +329.004430802626 3581.000000000000 +330.205699537092 2574.328125000000 +331.001124982932 1337.000000000000 +371.100332921841 1223.000000000000 +371.315743669974 1118.000000000000 +382.972344820498 45057.000000000000 +383.974894538183 6892.720214843750 +384.969630012898 45215.000000000000 +385.972302022157 7057.000000000000 +386.966436829396 14281.893554687500 +387.970121087256 2474.000000000000 +388.968036369514 2204.000000000000 +395.363007240073 13101.000000000000 +396.365399815672 3685.000000000000 +404.953924210193 3907.000000000000 +406.950985883891 4069.000000000000 +408.947975755388 1268.274536132812 +417.344225103353 1285.000000000000 +445.118145821068 2311.715087890625 +494.322767200081 1728.000000000000 +502.291923274965 2891.000000000000 +505.851540130884 3616.305664062500 +506.855578204607 1154.000000000000 +519.137731798453 1103.000000000000 +520.338561646825 1699.000000000000 +522.877671728326 1793.000000000000 +524.369045228357 2314.407714843750 +526.292280755429 1584.000000000000 +529.889084454853 1296.000000000000 +536.163903290276 5401.000000000000 +537.164637090465 2677.000000000000 +538.162386983866 2172.000000000000 +542.324220505297 1514.000000000000 +544.338194999500 3083.000000000000 +546.915335792881 2789.000000000000 +610.182280791237 2231.000000000000 +611.184018740044 1223.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=697 experiment=3 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=697 experiment=3_0 +##scan 241 +##specref ms_run[1]:sample=1 period=1 cycle=697 experiment=3 +97.025634587463 6.000000000000 +306.281011649799 16.000000000000 +337.234761896560 16.000000000000 +337.274602002093 16.000000000000 +428.362784878476 6.000000000000 +>compound 1_0-697004--242--UNKNOWN +>parentmass 494.322767200081 +>charge 1 +>rt 464.596999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +494.322767200081 1728.000000000000 +>ms1peaks +52.005427240284 2923.313720703125 +53.013616481231 14989.768554687500 +53.850472964397 1308.466552734375 +54.009310518894 333383.375000000000 +55.005954268156 5677.140625000000 +55.011350090709 6590.077148437500 +55.054055730323 2432.223876953125 +55.934192273330 5153.507324218750 +56.941997962024 2194.530029296875 +59.049620936632 68821.031250000000 +60.044471615888 10770.879882812500 +61.039336267621 1456.228393554688 +63.997801587333 4661.993164062500 +64.005166963107 4722.689941406250 +68.011643141684 27093.162109375000 +68.993456857479 10451.278320312500 +69.044656507552 15424.197265625000 +72.936547962144 1517.215332031250 +73.064190570387 1758.111816406250 +76.486210720813 2024.000000000000 +79.020813920038 17557.603515625000 +80.048811456017 12906.275390625000 +81.937043151106 7275.615722656250 +82.996433945296 7505.000000000000 +87.054223137822 1349.886352539062 +89.059191859030 1141.920776367188 +89.070142088088 1147.254150390625 +90.489205006552 1611.000000000000 +91.053827827406 1364.000000000000 +95.951785770532 2156.000000000000 +97.954137769975 1385.939941406250 +97.968348918090 6032.628417968750 +100.075069267539 1304.873046875000 +102.090653593364 2396.000000000000 +109.942361299198 1163.000000000000 +113.962823136479 1406.000000000000 +114.090717415521 11183.788085937500 +118.085199200251 6733.347167968750 +122.095741165234 3486.000000000000 +122.963079032375 8903.822265625000 +123.091347599456 2003.361694335938 +129.052095335934 1106.817871093750 +130.158365124098 1204.000000000000 +136.020522218220 2035.000000000000 +136.111245412379 1440.019042968750 +137.963071577039 1390.923217773438 +141.090010612505 1589.306518554688 +141.112047500506 1641.892456054688 +141.957498005159 13897.860351562500 +147.090562129050 2521.383789062500 +149.022331865109 4554.995605468750 +149.042499632055 2561.067626953125 +151.095629970654 3075.615722656250 +151.110071667005 3440.213378906250 +155.069443089983 1693.193481445312 +155.105464754412 1925.412475585938 +155.973050803638 3528.460205078125 +158.095365461629 1182.418457031250 +158.153395391582 11269.974609375000 +159.136897039458 2827.216552734375 +159.156058748204 1760.928710937500 +161.095507984757 2002.371093750000 +163.129998429243 1243.407836914062 +164.142388369546 1610.000000000000 +167.106287358921 1246.267578125000 +170.095226994886 3007.033691406250 +171.146614518976 1299.713623046875 +172.132709557758 1110.848144531250 +173.079715894846 7226.916503906250 +174.127178255488 1120.000000000000 +174.990849972350 1188.000000000000 +178.157984123961 1728.000000000000 +179.105778882816 2150.000000000000 +182.961420100006 2518.791992187500 +182.981750761571 1754.833007812500 +183.080577239146 1108.775390625000 +183.098465199981 1168.311401367188 +186.220975094919 2195.000000000000 +193.157052354530 1385.468139648438 +194.115965777249 3385.242919921875 +195.102755906708 1531.518676757812 +195.121395267372 2006.934082031250 +198.184747881335 2583.000000000000 +199.168770376665 1244.081542968750 +200.200485918845 1338.000000000000 +211.168386085952 1428.000000000000 +217.106407145977 24952.000000000000 +218.108774148422 2947.256591796875 +219.097576932087 1266.846923828125 +219.173964064296 1093.175781250000 +227.127938276529 1838.743530273438 +228.194922149263 1956.991577148438 +235.168042173395 1193.751708984375 +239.088653587696 5535.238769531250 +239.126545303394 1424.462036132812 +242.283846695579 1631.000000000000 +246.862279064465 2170.000000000000 +249.183296341533 1598.000000000000 +250.178336511394 1309.286376953125 +250.999431459865 2618.000000000000 +251.184298873617 1422.000000000000 +252.996590126069 1689.000000000000 +254.083046501779 4697.000000000000 +263.221299476934 4185.000000000000 +267.170822146401 2460.057617187500 +267.191626525512 2448.278076171875 +279.093480203217 2101.000000000000 +281.049611432109 1689.000000000000 +294.135844133695 3645.000000000000 +295.138754755779 1144.000000000000 +295.189808850807 3732.970214843750 +296.132583628406 1460.000000000000 +327.007806739012 3347.000000000000 +329.004430802626 3581.000000000000 +330.205699537092 2574.328125000000 +331.001124982932 1337.000000000000 +371.100332921841 1223.000000000000 +371.315743669974 1118.000000000000 +382.972344820498 45057.000000000000 +383.974894538183 6892.720214843750 +384.969630012898 45215.000000000000 +385.972302022157 7057.000000000000 +386.966436829396 14281.893554687500 +387.970121087256 2474.000000000000 +388.968036369514 2204.000000000000 +395.363007240073 13101.000000000000 +396.365399815672 3685.000000000000 +404.953924210193 3907.000000000000 +406.950985883891 4069.000000000000 +408.947975755388 1268.274536132812 +417.344225103353 1285.000000000000 +445.118145821068 2311.715087890625 +494.322767200081 1728.000000000000 +502.291923274965 2891.000000000000 +505.851540130884 3616.305664062500 +506.855578204607 1154.000000000000 +519.137731798453 1103.000000000000 +520.338561646825 1699.000000000000 +522.877671728326 1793.000000000000 +524.369045228357 2314.407714843750 +526.292280755429 1584.000000000000 +529.889084454853 1296.000000000000 +536.163903290276 5401.000000000000 +537.164637090465 2677.000000000000 +538.162386983866 2172.000000000000 +542.324220505297 1514.000000000000 +544.338194999500 3083.000000000000 +546.915335792881 2789.000000000000 +610.182280791237 2231.000000000000 +611.184018740044 1223.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=697 experiment=4 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=697 experiment=4_0 +##scan 242 +##specref ms_run[1]:sample=1 period=1 cycle=697 experiment=4 +152.102703927557 6.000000000000 +184.071867370283 175.000000000000 +279.131086538316 6.000000000000 +394.949360432659 6.000000000000 +>compound 1_0-697005--243--UNKNOWN +>parentmass 544.917445148180 +>charge 1 +>rt 464.596999999980 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1peaks +52.005427240284 2923.313720703125 +53.013616481231 14989.768554687500 +53.850472964397 1308.466552734375 +54.009310518894 333383.375000000000 +55.005954268156 5677.140625000000 +55.011350090709 6590.077148437500 +55.054055730323 2432.223876953125 +55.934192273330 5153.507324218750 +56.941997962024 2194.530029296875 +59.049620936632 68821.031250000000 +60.044471615888 10770.879882812500 +61.039336267621 1456.228393554688 +63.997801587333 4661.993164062500 +64.005166963107 4722.689941406250 +68.011643141684 27093.162109375000 +68.993456857479 10451.278320312500 +69.044656507552 15424.197265625000 +72.936547962144 1517.215332031250 +73.064190570387 1758.111816406250 +76.486210720813 2024.000000000000 +79.020813920038 17557.603515625000 +80.048811456017 12906.275390625000 +81.937043151106 7275.615722656250 +82.996433945296 7505.000000000000 +87.054223137822 1349.886352539062 +89.059191859030 1141.920776367188 +89.070142088088 1147.254150390625 +90.489205006552 1611.000000000000 +91.053827827406 1364.000000000000 +95.951785770532 2156.000000000000 +97.954137769975 1385.939941406250 +97.968348918090 6032.628417968750 +100.075069267539 1304.873046875000 +102.090653593364 2396.000000000000 +109.942361299198 1163.000000000000 +113.962823136479 1406.000000000000 +114.090717415521 11183.788085937500 +118.085199200251 6733.347167968750 +122.095741165234 3486.000000000000 +122.963079032375 8903.822265625000 +123.091347599456 2003.361694335938 +129.052095335934 1106.817871093750 +130.158365124098 1204.000000000000 +136.020522218220 2035.000000000000 +136.111245412379 1440.019042968750 +137.963071577039 1390.923217773438 +141.090010612505 1589.306518554688 +141.112047500506 1641.892456054688 +141.957498005159 13897.860351562500 +147.090562129050 2521.383789062500 +149.022331865109 4554.995605468750 +149.042499632055 2561.067626953125 +151.095629970654 3075.615722656250 +151.110071667005 3440.213378906250 +155.069443089983 1693.193481445312 +155.105464754412 1925.412475585938 +155.973050803638 3528.460205078125 +158.095365461629 1182.418457031250 +158.153395391582 11269.974609375000 +159.136897039458 2827.216552734375 +159.156058748204 1760.928710937500 +161.095507984757 2002.371093750000 +163.129998429243 1243.407836914062 +164.142388369546 1610.000000000000 +167.106287358921 1246.267578125000 +170.095226994886 3007.033691406250 +171.146614518976 1299.713623046875 +172.132709557758 1110.848144531250 +173.079715894846 7226.916503906250 +174.127178255488 1120.000000000000 +174.990849972350 1188.000000000000 +178.157984123961 1728.000000000000 +179.105778882816 2150.000000000000 +182.961420100006 2518.791992187500 +182.981750761571 1754.833007812500 +183.080577239146 1108.775390625000 +183.098465199981 1168.311401367188 +186.220975094919 2195.000000000000 +193.157052354530 1385.468139648438 +194.115965777249 3385.242919921875 +195.102755906708 1531.518676757812 +195.121395267372 2006.934082031250 +198.184747881335 2583.000000000000 +199.168770376665 1244.081542968750 +200.200485918845 1338.000000000000 +211.168386085952 1428.000000000000 +217.106407145977 24952.000000000000 +218.108774148422 2947.256591796875 +219.097576932087 1266.846923828125 +219.173964064296 1093.175781250000 +227.127938276529 1838.743530273438 +228.194922149263 1956.991577148438 +235.168042173395 1193.751708984375 +239.088653587696 5535.238769531250 +239.126545303394 1424.462036132812 +242.283846695579 1631.000000000000 +246.862279064465 2170.000000000000 +249.183296341533 1598.000000000000 +250.178336511394 1309.286376953125 +250.999431459865 2618.000000000000 +251.184298873617 1422.000000000000 +252.996590126069 1689.000000000000 +254.083046501779 4697.000000000000 +263.221299476934 4185.000000000000 +267.170822146401 2460.057617187500 +267.191626525512 2448.278076171875 +279.093480203217 2101.000000000000 +281.049611432109 1689.000000000000 +294.135844133695 3645.000000000000 +295.138754755779 1144.000000000000 +295.189808850807 3732.970214843750 +296.132583628406 1460.000000000000 +327.007806739012 3347.000000000000 +329.004430802626 3581.000000000000 +330.205699537092 2574.328125000000 +331.001124982932 1337.000000000000 +371.100332921841 1223.000000000000 +371.315743669974 1118.000000000000 +382.972344820498 45057.000000000000 +383.974894538183 6892.720214843750 +384.969630012898 45215.000000000000 +385.972302022157 7057.000000000000 +386.966436829396 14281.893554687500 +387.970121087256 2474.000000000000 +388.968036369514 2204.000000000000 +395.363007240073 13101.000000000000 +396.365399815672 3685.000000000000 +404.953924210193 3907.000000000000 +406.950985883891 4069.000000000000 +408.947975755388 1268.274536132812 +417.344225103353 1285.000000000000 +445.118145821068 2311.715087890625 +494.322767200081 1728.000000000000 +502.291923274965 2891.000000000000 +505.851540130884 3616.305664062500 +506.855578204607 1154.000000000000 +519.137731798453 1103.000000000000 +520.338561646825 1699.000000000000 +522.877671728326 1793.000000000000 +524.369045228357 2314.407714843750 +526.292280755429 1584.000000000000 +529.889084454853 1296.000000000000 +536.163903290276 5401.000000000000 +537.164637090465 2677.000000000000 +538.162386983866 2172.000000000000 +542.324220505297 1514.000000000000 +544.338194999500 3083.000000000000 +546.915335792881 2789.000000000000 +610.182280791237 2231.000000000000 +611.184018740044 1223.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=697 experiment=5 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=697 experiment=5_0 +##scan 243 +##specref ms_run[1]:sample=1 period=1 cycle=697 experiment=5 +184.075017943946 85.000000000000 +354.849036938252 32.000000000000 +413.862700690143 16.000000000000 +458.868136729480 16.000000000000 +526.911477478016 16.000000000000 +545.338023820396 16.000000000000 +>compound 1_0-698002--245--UNKNOWN +>parentmass 263.220918785934 +>charge 1 +>rt 465.526000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +263.220918785934 2823.588134765625 +>ms1peaks +52.005589131375 3130.349365234375 +53.013517739076 14697.051757812500 +53.850218968452 1202.935424804688 +54.009315378211 338490.156250000000 +55.005860832699 5894.120605468750 +55.011472744710 6465.230957031250 +55.054318107921 2020.605346679688 +55.934228385603 5009.301269531250 +56.941754336839 2130.831542968750 +59.049456228043 59177.148437500000 +60.044234257537 10917.369140625000 +61.039652331078 1777.367553710938 +63.997365450761 4192.257324218750 +64.005115881318 4444.796386718750 +68.011603027288 26823.138671875000 +68.993470221767 9964.955078125000 +69.007486586194 1095.631469726562 +69.044619311427 15983.488281250000 +72.044216409752 1139.000000000000 +72.936294899990 1648.416259765625 +73.064246201958 1716.000000000000 +76.485918443583 1984.476196289062 +79.020747652729 15663.000000000000 +80.048882140116 11802.633789062500 +81.936873787809 6842.756835937500 +82.996426393696 7681.036132812500 +87.043283393116 1213.816894531250 +87.054344444656 1330.118408203125 +89.505923988939 1278.000000000000 +90.488731006175 1482.000000000000 +91.053461651955 1241.000000000000 +95.951863618515 1860.000000000000 +97.968166428010 6253.000000000000 +100.074474984082 1099.000000000000 +102.090652367720 1813.000000000000 +109.942457249207 1008.771179199219 +113.962148757228 1693.000000000000 +114.090809402438 11290.813476562500 +118.085244445320 6882.000000000000 +122.095397054352 3393.603271484375 +122.962888065001 8194.000000000000 +123.090260852479 1992.821777343750 +130.158465705593 1181.000000000000 +136.020653739305 1724.000000000000 +136.111698267290 1289.000000000000 +137.963288114366 1242.444213867188 +141.090108488084 1520.015136718750 +141.111967815796 1417.245483398438 +141.957476510097 12472.000000000000 +147.090456475555 2851.000000000000 +149.022463530754 4820.632812500000 +149.042235264033 2356.604736328125 +151.095673986155 2529.883300781250 +151.107430224637 2920.417968750000 +155.069194551202 1446.022338867188 +155.105407267345 1942.000000000000 +155.973253498540 3634.000000000000 +158.095714764665 1320.577636718750 +158.152923535212 11099.000000000000 +159.137494733132 1660.052856445312 +159.155745123011 1658.278930664062 +161.094764207886 1681.376342773438 +164.142001743791 1341.120483398438 +170.095222794370 2839.603759765625 +171.146989546605 1531.000000000000 +172.132266313086 1244.552001953125 +173.079934079088 7202.686523437500 +174.991086633921 1255.000000000000 +175.124110498799 1291.355468750000 +177.053389902229 1149.000000000000 +178.157910318215 1375.563720703125 +179.105770006733 1768.004394531250 +182.961153502245 2714.091308593750 +183.078381234332 1206.638793945312 +183.098504612661 1216.456176757812 +186.221147915941 1294.000000000000 +193.157197259550 1404.155517578125 +194.115556745856 3793.000000000000 +195.103459935118 1813.044067382812 +195.121128317791 2123.445068359375 +198.184778281293 2222.000000000000 +200.200245934905 1123.000000000000 +211.108434487222 1168.700317382812 +211.167984060349 1195.000000000000 +217.106288114813 23775.798828125000 +218.109345247878 2906.000000000000 +219.173912266656 1809.000000000000 +224.127760861374 1358.000000000000 +225.109187446267 1008.795715332031 +227.127112071774 1496.648437500000 +228.195572718351 1321.546875000000 +235.168386372317 1254.757568359375 +239.088119692734 5305.000000000000 +239.126148617742 1153.781494140625 +242.283030268449 2040.000000000000 +246.861848402344 2412.000000000000 +249.184372758037 1654.000000000000 +250.177824288551 1192.000000000000 +250.999695645577 2632.000000000000 +251.183244725941 1155.872680664062 +252.996466822149 1585.000000000000 +254.083079276448 2597.000000000000 +263.220918785934 2823.588134765625 +267.170427695644 2109.290039062500 +267.192582365578 2074.657226562500 +279.092392934574 2006.759277343750 +281.050093512773 1341.000000000000 +294.136210904325 1884.000000000000 +295.189565558026 2458.217285156250 +307.247918419507 2395.110839843750 +309.224348364187 1104.981567382812 +327.007524262411 3370.000000000000 +329.004685783249 3558.000000000000 +330.206460240109 2362.000000000000 +331.001516987454 1058.000000000000 +371.314112464098 1048.000000000000 +382.972184316419 15623.000000000000 +383.973826791245 2707.776367187500 +384.969267531796 15234.000000000000 +385.971597867041 2479.000000000000 +386.965949968426 4942.000000000000 +395.362239031968 7598.000000000000 +396.366124248924 1716.000000000000 +404.953722486304 1515.000000000000 +406.951529112078 1328.000000000000 +430.885910175897 1110.000000000000 +432.883402826014 1099.000000000000 +445.119289543855 2367.000000000000 +494.323061872171 2321.661132812500 +502.292241962878 3033.000000000000 +503.293623375792 1158.000000000000 +505.851656317080 3530.000000000000 +506.852917706083 1112.000000000000 +519.138155588502 1196.000000000000 +520.338518138058 1825.000000000000 +522.876970148967 1547.000000000000 +524.369209499018 2144.000000000000 +526.292881243077 2044.000000000000 +529.888143664648 1222.000000000000 +536.163427530419 5367.000000000000 +537.165157901330 2856.000000000000 +538.162946926408 2152.000000000000 +542.322124516090 1481.232299804688 +544.339127176641 3047.708251953125 +545.342535198760 1103.000000000000 +546.912412180754 2302.000000000000 +547.911197303586 1144.000000000000 +610.182428535466 2237.000000000000 +611.184725308291 1285.000000000000 +612.182098985386 1057.848388671875 +>ms2peaks +##n_id sample=1 period=1 cycle=698 experiment=2 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=698 experiment=2_0 +##scan 245 +##specref ms_run[1]:sample=1 period=1 cycle=698 experiment=2 +51.939673314341 4.000000000000 +57.070753852921 12.000000000000 +83.646311166498 2.000000000000 +101.063002936009 2.000000000000 +128.062627694121 4.000000000000 +136.978392194616 2.000000000000 +161.117720276982 2.000000000000 +165.074991765264 2.000000000000 +191.813906306682 2.000000000000 +230.042407701820 2.000000000000 +1333.852230993652 2.000000000000 +>compound 1_0-699002--247--UNKNOWN +>parentmass 219.173254694737 +>charge 1 +>rt 466.453000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +219.173254694737 2201.000000000000 +>ms1peaks +52.005560260371 2789.028076171875 +52.017927711242 1136.972045898438 +53.013418383569 14123.403320312500 +53.850493419239 1411.939086914062 +54.009249957596 335870.000000000000 +55.005845223011 5397.640136718750 +55.011420191852 5650.468261718750 +55.054222928931 2225.691162109375 +55.934180398274 4785.148437500000 +56.049321995857 3472.600830078125 +56.941794457155 1955.514892578125 +59.049414458071 61085.878906250000 +60.044500187972 10957.461914062500 +61.039422636506 1853.249755859375 +63.997538365617 4088.351562500000 +64.004989390616 4565.185058593750 +67.028672867960 1916.769287109375 +68.011545384332 26549.513671875000 +68.993429576997 10225.795898437500 +69.007397090736 1350.108032226562 +69.013808493376 1140.018432617188 +69.033704350392 1409.946411132812 +69.044418810862 15163.557617187500 +72.936460095966 1712.280395507812 +73.063966867639 2040.000000000000 +76.486088498070 1751.000000000000 +79.020831309156 15603.345703125000 +80.048807615565 12623.536132812500 +81.936815277681 6972.759765625000 +82.996143905896 6970.887695312500 +87.043469468808 1444.273437500000 +87.054062034975 1546.210449218750 +89.059116268447 1220.354248046875 +89.070128900951 1085.624389648438 +89.505980515299 1269.470947265625 +90.489077436854 1623.000000000000 +91.053267626518 1389.000000000000 +95.951994498460 1726.000000000000 +97.967675925632 6203.887207031250 +100.074874519339 1141.321289062500 +102.090533565727 2294.000000000000 +109.942507888729 1195.000000000000 +113.962477173050 1682.511352539062 +114.090561181679 10963.030273437500 +118.085256707350 6123.310058593750 +122.095373261082 3897.798095703125 +122.962751648404 8175.708007812500 +123.091029235694 1867.800537109375 +130.157813965073 1259.000000000000 +135.115736707249 1153.641723632812 +136.020459111647 1696.000000000000 +136.110816301213 1052.279174804688 +137.962838703111 1171.000000000000 +138.970110408619 1047.000000000000 +139.962198814866 1216.864379882812 +141.089888756214 1805.885498046875 +141.111946961724 1433.385009765625 +141.934707195506 1500.319335937500 +141.957684513772 13692.408203125000 +147.090573869497 2962.000000000000 +149.022580861300 4880.522949218750 +149.040757804477 2488.785156250000 +151.094792965613 2894.415039062500 +151.110196147342 3347.784423828125 +154.965370500018 1186.000000000000 +155.069591951299 1551.036376953125 +155.105709038292 2065.334472656250 +155.972657151937 3882.386474609375 +158.152947821996 11148.000000000000 +159.137161206657 1637.422363281250 +159.155050140665 1640.355957031250 +159.968419621650 1176.000000000000 +161.095644175203 1895.000000000000 +164.141997918867 1434.000000000000 +170.094862611817 2528.811767578125 +171.146379961692 1460.000000000000 +172.132172295642 1322.774169921875 +173.079752448617 7920.437011718750 +174.127400198532 1301.290527343750 +174.991365577482 1157.000000000000 +175.121445174387 1216.249145507812 +178.158680332063 1537.747070312500 +179.105637868805 1831.811645507812 +182.961040899300 2544.829833984375 +186.221054618600 1546.000000000000 +193.158361427691 1043.000000000000 +194.115785956861 3478.489746093750 +195.121474846715 2341.739257812500 +198.184548673078 2661.000000000000 +199.169720809133 1148.616577148438 +199.185751628764 1087.372924804688 +200.200030921562 1179.000000000000 +209.152340091592 1378.000000000000 +217.106590112498 25025.003906250000 +218.109684671403 2771.257812500000 +219.095587597304 1094.099487304688 +219.173254694737 2201.000000000000 +221.152385611073 1064.278930664062 +223.062230429226 1228.484375000000 +224.126918591471 1193.000000000000 +227.126400766998 1565.330932617188 +228.195331222649 1352.637329101562 +235.168090360640 1305.823242187500 +239.088050443980 4960.000000000000 +242.283514625759 1833.000000000000 +246.861582419635 2495.000000000000 +249.183747745215 1681.633300781250 +250.178103308809 1399.044677734375 +250.999838048483 2781.292480468750 +251.184965259949 1252.000000000000 +252.995489487396 1719.000000000000 +254.082754928709 1554.530883789062 +263.221379225927 1646.295166015625 +267.171345052094 2042.807739257812 +279.093285456803 2174.885009765625 +281.049935629493 1806.000000000000 +295.189515349991 1468.222900390625 +307.246599950250 3678.000000000000 +327.007806324364 3884.565185546875 +329.004348900531 3616.000000000000 +330.206134297088 1922.000000000000 +331.000961984701 1294.607421875000 +371.100365483274 1147.000000000000 +382.972138302639 7140.100097656250 +383.974752988897 1101.000000000000 +384.969777669923 6623.000000000000 +385.971758186115 1179.149658203125 +386.966672520522 2179.000000000000 +395.361754334403 3979.000000000000 +430.886289312479 1060.000000000000 +445.118234333690 2053.000000000000 +494.323675353942 2385.000000000000 +502.292091005546 3295.728271484375 +503.295979898493 1294.000000000000 +505.851244732251 3515.000000000000 +519.137427220746 1294.000000000000 +520.338398901304 1674.296630859375 +522.877978653269 1259.000000000000 +524.370155350393 2137.000000000000 +526.292824200080 2209.000000000000 +536.164061960219 5671.268554687500 +537.165918091215 2415.000000000000 +538.161864384108 1812.000000000000 +542.322464209539 1354.360107421875 +544.337995564891 3645.781982421875 +544.397257124329 2812.174316406250 +545.341138349801 1204.000000000000 +546.913340862322 2248.224365234375 +610.184047214342 2118.000000000000 +611.182617785600 1204.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=699 experiment=2 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=699 experiment=2_0 +##scan 247 +##specref ms_run[1]:sample=1 period=1 cycle=699 experiment=2 +57.062891893230 16.000000000000 +57.069461635806 16.000000000000 +93.072810755075 6.000000000000 +120.079567061657 16.000000000000 +128.869775908514 16.000000000000 +150.720574262421 6.000000000000 +156.072598412511 16.000000000000 +171.093899043924 6.000000000000 +203.145170516845 31.000000000000 +204.050658734097 24.000000000000 +204.066752659351 24.000000000000 +219.090429620809 16.000000000000 +219.170037348541 24.000000000000 +219.187323767885 24.000000000000 +>compound 1_0-699003--248--UNKNOWN +>parentmass 324.274639242959 +>charge 1 +>rt 466.453000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1peaks +52.005560260371 2789.028076171875 +52.017927711242 1136.972045898438 +53.013418383569 14123.403320312500 +53.850493419239 1411.939086914062 +54.009249957596 335870.000000000000 +55.005845223011 5397.640136718750 +55.011420191852 5650.468261718750 +55.054222928931 2225.691162109375 +55.934180398274 4785.148437500000 +56.049321995857 3472.600830078125 +56.941794457155 1955.514892578125 +59.049414458071 61085.878906250000 +60.044500187972 10957.461914062500 +61.039422636506 1853.249755859375 +63.997538365617 4088.351562500000 +64.004989390616 4565.185058593750 +67.028672867960 1916.769287109375 +68.011545384332 26549.513671875000 +68.993429576997 10225.795898437500 +69.007397090736 1350.108032226562 +69.013808493376 1140.018432617188 +69.033704350392 1409.946411132812 +69.044418810862 15163.557617187500 +72.936460095966 1712.280395507812 +73.063966867639 2040.000000000000 +76.486088498070 1751.000000000000 +79.020831309156 15603.345703125000 +80.048807615565 12623.536132812500 +81.936815277681 6972.759765625000 +82.996143905896 6970.887695312500 +87.043469468808 1444.273437500000 +87.054062034975 1546.210449218750 +89.059116268447 1220.354248046875 +89.070128900951 1085.624389648438 +89.505980515299 1269.470947265625 +90.489077436854 1623.000000000000 +91.053267626518 1389.000000000000 +95.951994498460 1726.000000000000 +97.967675925632 6203.887207031250 +100.074874519339 1141.321289062500 +102.090533565727 2294.000000000000 +109.942507888729 1195.000000000000 +113.962477173050 1682.511352539062 +114.090561181679 10963.030273437500 +118.085256707350 6123.310058593750 +122.095373261082 3897.798095703125 +122.962751648404 8175.708007812500 +123.091029235694 1867.800537109375 +130.157813965073 1259.000000000000 +135.115736707249 1153.641723632812 +136.020459111647 1696.000000000000 +136.110816301213 1052.279174804688 +137.962838703111 1171.000000000000 +138.970110408619 1047.000000000000 +139.962198814866 1216.864379882812 +141.089888756214 1805.885498046875 +141.111946961724 1433.385009765625 +141.934707195506 1500.319335937500 +141.957684513772 13692.408203125000 +147.090573869497 2962.000000000000 +149.022580861300 4880.522949218750 +149.040757804477 2488.785156250000 +151.094792965613 2894.415039062500 +151.110196147342 3347.784423828125 +154.965370500018 1186.000000000000 +155.069591951299 1551.036376953125 +155.105709038292 2065.334472656250 +155.972657151937 3882.386474609375 +158.152947821996 11148.000000000000 +159.137161206657 1637.422363281250 +159.155050140665 1640.355957031250 +159.968419621650 1176.000000000000 +161.095644175203 1895.000000000000 +164.141997918867 1434.000000000000 +170.094862611817 2528.811767578125 +171.146379961692 1460.000000000000 +172.132172295642 1322.774169921875 +173.079752448617 7920.437011718750 +174.127400198532 1301.290527343750 +174.991365577482 1157.000000000000 +175.121445174387 1216.249145507812 +178.158680332063 1537.747070312500 +179.105637868805 1831.811645507812 +182.961040899300 2544.829833984375 +186.221054618600 1546.000000000000 +193.158361427691 1043.000000000000 +194.115785956861 3478.489746093750 +195.121474846715 2341.739257812500 +198.184548673078 2661.000000000000 +199.169720809133 1148.616577148438 +199.185751628764 1087.372924804688 +200.200030921562 1179.000000000000 +209.152340091592 1378.000000000000 +217.106590112498 25025.003906250000 +218.109684671403 2771.257812500000 +219.095587597304 1094.099487304688 +219.173254694737 2201.000000000000 +221.152385611073 1064.278930664062 +223.062230429226 1228.484375000000 +224.126918591471 1193.000000000000 +227.126400766998 1565.330932617188 +228.195331222649 1352.637329101562 +235.168090360640 1305.823242187500 +239.088050443980 4960.000000000000 +242.283514625759 1833.000000000000 +246.861582419635 2495.000000000000 +249.183747745215 1681.633300781250 +250.178103308809 1399.044677734375 +250.999838048483 2781.292480468750 +251.184965259949 1252.000000000000 +252.995489487396 1719.000000000000 +254.082754928709 1554.530883789062 +263.221379225927 1646.295166015625 +267.171345052094 2042.807739257812 +279.093285456803 2174.885009765625 +281.049935629493 1806.000000000000 +295.189515349991 1468.222900390625 +307.246599950250 3678.000000000000 +327.007806324364 3884.565185546875 +329.004348900531 3616.000000000000 +330.206134297088 1922.000000000000 +331.000961984701 1294.607421875000 +371.100365483274 1147.000000000000 +382.972138302639 7140.100097656250 +383.974752988897 1101.000000000000 +384.969777669923 6623.000000000000 +385.971758186115 1179.149658203125 +386.966672520522 2179.000000000000 +395.361754334403 3979.000000000000 +430.886289312479 1060.000000000000 +445.118234333690 2053.000000000000 +494.323675353942 2385.000000000000 +502.292091005546 3295.728271484375 +503.295979898493 1294.000000000000 +505.851244732251 3515.000000000000 +519.137427220746 1294.000000000000 +520.338398901304 1674.296630859375 +522.877978653269 1259.000000000000 +524.370155350393 2137.000000000000 +526.292824200080 2209.000000000000 +536.164061960219 5671.268554687500 +537.165918091215 2415.000000000000 +538.161864384108 1812.000000000000 +542.322464209539 1354.360107421875 +544.337995564891 3645.781982421875 +544.397257124329 2812.174316406250 +545.341138349801 1204.000000000000 +546.913340862322 2248.224365234375 +610.184047214342 2118.000000000000 +611.182617785600 1204.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=699 experiment=3 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=699 experiment=3_0 +##scan 248 +##specref ms_run[1]:sample=1 period=1 cycle=699 experiment=3 +57.070471372980 25.000000000000 +69.069806674906 4.000000000000 +71.084784595433 25.000000000000 +89.058842978826 20.000000000000 +133.082448271185 10.000000000000 +133.094711639505 10.000000000000 +214.830019962888 4.000000000000 +237.045224123118 10.000000000000 +279.096262345654 4.000000000000 +>compound 1_0-699004--249--UNKNOWN +>parentmass 494.323675353942 +>charge 1 +>rt 466.453000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +494.323675353942 2385.000000000000 +>ms1peaks +52.005560260371 2789.028076171875 +52.017927711242 1136.972045898438 +53.013418383569 14123.403320312500 +53.850493419239 1411.939086914062 +54.009249957596 335870.000000000000 +55.005845223011 5397.640136718750 +55.011420191852 5650.468261718750 +55.054222928931 2225.691162109375 +55.934180398274 4785.148437500000 +56.049321995857 3472.600830078125 +56.941794457155 1955.514892578125 +59.049414458071 61085.878906250000 +60.044500187972 10957.461914062500 +61.039422636506 1853.249755859375 +63.997538365617 4088.351562500000 +64.004989390616 4565.185058593750 +67.028672867960 1916.769287109375 +68.011545384332 26549.513671875000 +68.993429576997 10225.795898437500 +69.007397090736 1350.108032226562 +69.013808493376 1140.018432617188 +69.033704350392 1409.946411132812 +69.044418810862 15163.557617187500 +72.936460095966 1712.280395507812 +73.063966867639 2040.000000000000 +76.486088498070 1751.000000000000 +79.020831309156 15603.345703125000 +80.048807615565 12623.536132812500 +81.936815277681 6972.759765625000 +82.996143905896 6970.887695312500 +87.043469468808 1444.273437500000 +87.054062034975 1546.210449218750 +89.059116268447 1220.354248046875 +89.070128900951 1085.624389648438 +89.505980515299 1269.470947265625 +90.489077436854 1623.000000000000 +91.053267626518 1389.000000000000 +95.951994498460 1726.000000000000 +97.967675925632 6203.887207031250 +100.074874519339 1141.321289062500 +102.090533565727 2294.000000000000 +109.942507888729 1195.000000000000 +113.962477173050 1682.511352539062 +114.090561181679 10963.030273437500 +118.085256707350 6123.310058593750 +122.095373261082 3897.798095703125 +122.962751648404 8175.708007812500 +123.091029235694 1867.800537109375 +130.157813965073 1259.000000000000 +135.115736707249 1153.641723632812 +136.020459111647 1696.000000000000 +136.110816301213 1052.279174804688 +137.962838703111 1171.000000000000 +138.970110408619 1047.000000000000 +139.962198814866 1216.864379882812 +141.089888756214 1805.885498046875 +141.111946961724 1433.385009765625 +141.934707195506 1500.319335937500 +141.957684513772 13692.408203125000 +147.090573869497 2962.000000000000 +149.022580861300 4880.522949218750 +149.040757804477 2488.785156250000 +151.094792965613 2894.415039062500 +151.110196147342 3347.784423828125 +154.965370500018 1186.000000000000 +155.069591951299 1551.036376953125 +155.105709038292 2065.334472656250 +155.972657151937 3882.386474609375 +158.152947821996 11148.000000000000 +159.137161206657 1637.422363281250 +159.155050140665 1640.355957031250 +159.968419621650 1176.000000000000 +161.095644175203 1895.000000000000 +164.141997918867 1434.000000000000 +170.094862611817 2528.811767578125 +171.146379961692 1460.000000000000 +172.132172295642 1322.774169921875 +173.079752448617 7920.437011718750 +174.127400198532 1301.290527343750 +174.991365577482 1157.000000000000 +175.121445174387 1216.249145507812 +178.158680332063 1537.747070312500 +179.105637868805 1831.811645507812 +182.961040899300 2544.829833984375 +186.221054618600 1546.000000000000 +193.158361427691 1043.000000000000 +194.115785956861 3478.489746093750 +195.121474846715 2341.739257812500 +198.184548673078 2661.000000000000 +199.169720809133 1148.616577148438 +199.185751628764 1087.372924804688 +200.200030921562 1179.000000000000 +209.152340091592 1378.000000000000 +217.106590112498 25025.003906250000 +218.109684671403 2771.257812500000 +219.095587597304 1094.099487304688 +219.173254694737 2201.000000000000 +221.152385611073 1064.278930664062 +223.062230429226 1228.484375000000 +224.126918591471 1193.000000000000 +227.126400766998 1565.330932617188 +228.195331222649 1352.637329101562 +235.168090360640 1305.823242187500 +239.088050443980 4960.000000000000 +242.283514625759 1833.000000000000 +246.861582419635 2495.000000000000 +249.183747745215 1681.633300781250 +250.178103308809 1399.044677734375 +250.999838048483 2781.292480468750 +251.184965259949 1252.000000000000 +252.995489487396 1719.000000000000 +254.082754928709 1554.530883789062 +263.221379225927 1646.295166015625 +267.171345052094 2042.807739257812 +279.093285456803 2174.885009765625 +281.049935629493 1806.000000000000 +295.189515349991 1468.222900390625 +307.246599950250 3678.000000000000 +327.007806324364 3884.565185546875 +329.004348900531 3616.000000000000 +330.206134297088 1922.000000000000 +331.000961984701 1294.607421875000 +371.100365483274 1147.000000000000 +382.972138302639 7140.100097656250 +383.974752988897 1101.000000000000 +384.969777669923 6623.000000000000 +385.971758186115 1179.149658203125 +386.966672520522 2179.000000000000 +395.361754334403 3979.000000000000 +430.886289312479 1060.000000000000 +445.118234333690 2053.000000000000 +494.323675353942 2385.000000000000 +502.292091005546 3295.728271484375 +503.295979898493 1294.000000000000 +505.851244732251 3515.000000000000 +519.137427220746 1294.000000000000 +520.338398901304 1674.296630859375 +522.877978653269 1259.000000000000 +524.370155350393 2137.000000000000 +526.292824200080 2209.000000000000 +536.164061960219 5671.268554687500 +537.165918091215 2415.000000000000 +538.161864384108 1812.000000000000 +542.322464209539 1354.360107421875 +544.337995564891 3645.781982421875 +544.397257124329 2812.174316406250 +545.341138349801 1204.000000000000 +546.913340862322 2248.224365234375 +610.184047214342 2118.000000000000 +611.182617785600 1204.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=699 experiment=4 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=699 experiment=4_0 +##scan 249 +##specref ms_run[1]:sample=1 period=1 cycle=699 experiment=4 +86.097112098221 15.000000000000 +124.969947579094 5.000000000000 +124.999755109147 15.000000000000 +184.072870371397 151.000000000000 +185.800465040813 4.000000000000 +257.049705956219 10.000000000000 +363.790322533870 10.000000000000 +412.474507265998 4.000000000000 +494.324364659375 15.000000000000 +>compound 1_0-700002--251--UNKNOWN +>parentmass 209.151448654146 +>charge 1 +>rt 467.377000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +209.151448654146 1393.000000000000 +>ms1peaks +52.005290748798 2648.187744140625 +53.013329751405 13518.450195312500 +53.850316954864 1180.307495117188 +54.009095282714 330958.000000000000 +55.005841514557 5667.002441406250 +55.011406645930 6470.609375000000 +55.054021565810 1861.585693359375 +55.933837882484 4394.390625000000 +56.941740380983 1964.891845703125 +59.049388249779 65843.906250000000 +60.044367628715 11519.734375000000 +61.039026975549 1879.412109375000 +63.997447687070 4320.080078125000 +64.004523641529 4932.294921875000 +68.011300844547 27473.904296875000 +68.993370076667 10758.254882812500 +69.007079041908 1236.004394531250 +69.044367260829 15377.386718750000 +72.043743554699 1191.000000000000 +72.936219245023 1745.702636718750 +73.064038318176 1815.971191406250 +76.485868560059 1973.815185546875 +79.020531191334 17836.367187500000 +80.048740226087 13224.238281250000 +81.936776032050 7048.100585937500 +82.996171956640 7190.000000000000 +87.043321009222 1227.537109375000 +87.054139598036 1576.933593750000 +89.070053550879 957.586914062500 +89.505676578079 1183.771240234375 +90.488678911312 1650.773437500000 +91.053323154674 1287.000000000000 +95.952047697743 1810.000000000000 +97.967737118669 6759.153808593750 +100.075040242340 1503.000000000000 +102.090312873514 1325.000000000000 +109.942101195745 1178.000000000000 +113.962318737158 1777.000000000000 +114.090323497457 12205.000000000000 +118.084806435992 7059.019531250000 +122.094843741487 3498.764648437500 +122.962403038846 8346.027343750000 +123.091194089358 1948.709106445312 +124.085748592892 945.327941894531 +129.050509251673 1024.732788085938 +130.157992884738 1164.000000000000 +136.019949230627 1853.000000000000 +136.111141352215 1404.000000000000 +137.962709479001 1001.000000000000 +139.962564333951 1014.230773925781 +141.089592785265 1583.923706054688 +141.111504861511 1650.115966796875 +141.934439037025 1131.574707031250 +141.956897728203 12676.678710937500 +147.090202623342 3085.812988281250 +149.022063929725 4225.639648437500 +151.094738829318 2602.103515625000 +151.110426265956 2908.480957031250 +153.125618544753 996.000000000000 +155.068818882234 1503.770874023438 +155.105040168448 1896.000000000000 +155.972638590701 3854.909667968750 +158.152547752078 11047.000000000000 +159.136189281277 1350.677490234375 +159.156049882595 1419.360961914062 +159.967850746369 1025.000000000000 +161.094775918272 1722.000000000000 +164.142270266712 1387.705078125000 +167.105285316693 1098.341064453125 +170.094594559777 2516.526611328125 +170.113525799942 2108.204833984375 +171.144827764448 1399.456054687500 +172.131818549321 1160.994140625000 +173.079140510056 7378.680175781250 +174.125735527954 967.356689453125 +174.990316816677 1331.000000000000 +175.123220892275 1240.192626953125 +177.054312729838 1134.000000000000 +178.157233470564 1366.410400390625 +179.104780444605 1894.000000000000 +182.960468984417 2694.983154296875 +183.098346000494 1032.875366210938 +186.220442600731 2223.000000000000 +193.155545316620 1053.796508789062 +194.115151923203 3796.000000000000 +195.101333289566 1729.859863281250 +195.121180415253 2410.422607421875 +198.183673229495 2607.000000000000 +199.169398299568 947.170166015625 +200.200419877548 1453.753662109375 +209.151448654146 1393.000000000000 +217.105904545721 25063.148437500000 +218.108555920873 3372.000000000000 +219.093886555341 1225.078735351562 +219.173372682917 1491.000000000000 +224.126175074396 1258.958251953125 +227.126969776429 1066.578857421875 +227.162933797459 984.519592285156 +227.198894564715 1244.031860351562 +228.194508188623 1576.432128906250 +235.166864578696 1208.880981445312 +239.087691498017 5955.957031250000 +242.282936398506 2143.000000000000 +246.861068916143 2584.000000000000 +249.182899358480 1593.000000000000 +250.176632034878 1203.582397460938 +250.998395390429 2349.000000000000 +251.182831713388 1416.993530273438 +252.996086272705 1684.000000000000 +254.082934336714 1126.000000000000 +263.221246248554 956.068420410156 +267.171742038068 1747.221801757812 +279.091801709029 2140.000000000000 +281.048072509420 1395.000000000000 +307.246653933575 3614.114013671875 +327.006849435404 3277.387939453125 +329.003015132105 3708.000000000000 +330.204260496049 2133.000000000000 +331.000930460471 1167.000000000000 +371.314773333777 1055.000000000000 +382.970870202657 4401.000000000000 +384.967831939532 3761.000000000000 +386.965870547062 1267.000000000000 +393.293261959258 978.677978515625 +395.361786909565 2167.000000000000 +430.885578405806 1163.000000000000 +432.882491491078 1041.000000000000 +445.117910608052 2269.000000000000 +446.119284821468 992.000000000000 +494.321366010298 2164.000000000000 +502.290175218847 3463.960449218750 +503.293237682247 1493.668823242188 +505.851410425796 3041.000000000000 +519.136178891838 1304.000000000000 +520.337351957959 2000.000000000000 +522.878281087400 1202.000000000000 +524.368200150276 2414.000000000000 +526.289734134842 2669.000000000000 +529.886645455728 1135.000000000000 +536.162678187608 5018.000000000000 +537.163847537209 2717.000000000000 +538.160425151235 2447.000000000000 +544.337799677250 3815.094482421875 +544.395275011718 3287.660156250000 +545.339523620272 1102.008178710938 +546.912145214594 1830.000000000000 +559.348096622267 969.000000000000 +610.180396587996 2429.000000000000 +611.182988975777 1322.524291992188 +612.180732393767 1006.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=700 experiment=2 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=700 experiment=2_0 +##scan 251 +##specref ms_run[1]:sample=1 period=1 cycle=700 experiment=2 +51.021127172477 6.000000000000 +77.036534919832 30.000000000000 +81.078948608905 6.000000000000 +124.276526301790 6.000000000000 +194.088834194600 8.000000000000 +>compound 1_0-700003--252--UNKNOWN +>parentmass 307.246653933575 +>charge 1 +>rt 467.377000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +307.246653933575 3614.114013671875 +>ms1peaks +52.005290748798 2648.187744140625 +53.013329751405 13518.450195312500 +53.850316954864 1180.307495117188 +54.009095282714 330958.000000000000 +55.005841514557 5667.002441406250 +55.011406645930 6470.609375000000 +55.054021565810 1861.585693359375 +55.933837882484 4394.390625000000 +56.941740380983 1964.891845703125 +59.049388249779 65843.906250000000 +60.044367628715 11519.734375000000 +61.039026975549 1879.412109375000 +63.997447687070 4320.080078125000 +64.004523641529 4932.294921875000 +68.011300844547 27473.904296875000 +68.993370076667 10758.254882812500 +69.007079041908 1236.004394531250 +69.044367260829 15377.386718750000 +72.043743554699 1191.000000000000 +72.936219245023 1745.702636718750 +73.064038318176 1815.971191406250 +76.485868560059 1973.815185546875 +79.020531191334 17836.367187500000 +80.048740226087 13224.238281250000 +81.936776032050 7048.100585937500 +82.996171956640 7190.000000000000 +87.043321009222 1227.537109375000 +87.054139598036 1576.933593750000 +89.070053550879 957.586914062500 +89.505676578079 1183.771240234375 +90.488678911312 1650.773437500000 +91.053323154674 1287.000000000000 +95.952047697743 1810.000000000000 +97.967737118669 6759.153808593750 +100.075040242340 1503.000000000000 +102.090312873514 1325.000000000000 +109.942101195745 1178.000000000000 +113.962318737158 1777.000000000000 +114.090323497457 12205.000000000000 +118.084806435992 7059.019531250000 +122.094843741487 3498.764648437500 +122.962403038846 8346.027343750000 +123.091194089358 1948.709106445312 +124.085748592892 945.327941894531 +129.050509251673 1024.732788085938 +130.157992884738 1164.000000000000 +136.019949230627 1853.000000000000 +136.111141352215 1404.000000000000 +137.962709479001 1001.000000000000 +139.962564333951 1014.230773925781 +141.089592785265 1583.923706054688 +141.111504861511 1650.115966796875 +141.934439037025 1131.574707031250 +141.956897728203 12676.678710937500 +147.090202623342 3085.812988281250 +149.022063929725 4225.639648437500 +151.094738829318 2602.103515625000 +151.110426265956 2908.480957031250 +153.125618544753 996.000000000000 +155.068818882234 1503.770874023438 +155.105040168448 1896.000000000000 +155.972638590701 3854.909667968750 +158.152547752078 11047.000000000000 +159.136189281277 1350.677490234375 +159.156049882595 1419.360961914062 +159.967850746369 1025.000000000000 +161.094775918272 1722.000000000000 +164.142270266712 1387.705078125000 +167.105285316693 1098.341064453125 +170.094594559777 2516.526611328125 +170.113525799942 2108.204833984375 +171.144827764448 1399.456054687500 +172.131818549321 1160.994140625000 +173.079140510056 7378.680175781250 +174.125735527954 967.356689453125 +174.990316816677 1331.000000000000 +175.123220892275 1240.192626953125 +177.054312729838 1134.000000000000 +178.157233470564 1366.410400390625 +179.104780444605 1894.000000000000 +182.960468984417 2694.983154296875 +183.098346000494 1032.875366210938 +186.220442600731 2223.000000000000 +193.155545316620 1053.796508789062 +194.115151923203 3796.000000000000 +195.101333289566 1729.859863281250 +195.121180415253 2410.422607421875 +198.183673229495 2607.000000000000 +199.169398299568 947.170166015625 +200.200419877548 1453.753662109375 +209.151448654146 1393.000000000000 +217.105904545721 25063.148437500000 +218.108555920873 3372.000000000000 +219.093886555341 1225.078735351562 +219.173372682917 1491.000000000000 +224.126175074396 1258.958251953125 +227.126969776429 1066.578857421875 +227.162933797459 984.519592285156 +227.198894564715 1244.031860351562 +228.194508188623 1576.432128906250 +235.166864578696 1208.880981445312 +239.087691498017 5955.957031250000 +242.282936398506 2143.000000000000 +246.861068916143 2584.000000000000 +249.182899358480 1593.000000000000 +250.176632034878 1203.582397460938 +250.998395390429 2349.000000000000 +251.182831713388 1416.993530273438 +252.996086272705 1684.000000000000 +254.082934336714 1126.000000000000 +263.221246248554 956.068420410156 +267.171742038068 1747.221801757812 +279.091801709029 2140.000000000000 +281.048072509420 1395.000000000000 +307.246653933575 3614.114013671875 +327.006849435404 3277.387939453125 +329.003015132105 3708.000000000000 +330.204260496049 2133.000000000000 +331.000930460471 1167.000000000000 +371.314773333777 1055.000000000000 +382.970870202657 4401.000000000000 +384.967831939532 3761.000000000000 +386.965870547062 1267.000000000000 +393.293261959258 978.677978515625 +395.361786909565 2167.000000000000 +430.885578405806 1163.000000000000 +432.882491491078 1041.000000000000 +445.117910608052 2269.000000000000 +446.119284821468 992.000000000000 +494.321366010298 2164.000000000000 +502.290175218847 3463.960449218750 +503.293237682247 1493.668823242188 +505.851410425796 3041.000000000000 +519.136178891838 1304.000000000000 +520.337351957959 2000.000000000000 +522.878281087400 1202.000000000000 +524.368200150276 2414.000000000000 +526.289734134842 2669.000000000000 +529.886645455728 1135.000000000000 +536.162678187608 5018.000000000000 +537.163847537209 2717.000000000000 +538.160425151235 2447.000000000000 +544.337799677250 3815.094482421875 +544.395275011718 3287.660156250000 +545.339523620272 1102.008178710938 +546.912145214594 1830.000000000000 +559.348096622267 969.000000000000 +610.180396587996 2429.000000000000 +611.182988975777 1322.524291992188 +612.180732393767 1006.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=700 experiment=3 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=700 experiment=3_0 +##scan 252 +##specref ms_run[1]:sample=1 period=1 cycle=700 experiment=3 +98.984298326842 4.000000000000 +121.098669418345 4.000000000000 +163.041942740378 10.000000000000 +>compound 1_0-700004--253--UNKNOWN +>parentmass 527.290253720974 +>charge 1 +>rt 467.377000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1peaks +52.005290748798 2648.187744140625 +53.013329751405 13518.450195312500 +53.850316954864 1180.307495117188 +54.009095282714 330958.000000000000 +55.005841514557 5667.002441406250 +55.011406645930 6470.609375000000 +55.054021565810 1861.585693359375 +55.933837882484 4394.390625000000 +56.941740380983 1964.891845703125 +59.049388249779 65843.906250000000 +60.044367628715 11519.734375000000 +61.039026975549 1879.412109375000 +63.997447687070 4320.080078125000 +64.004523641529 4932.294921875000 +68.011300844547 27473.904296875000 +68.993370076667 10758.254882812500 +69.007079041908 1236.004394531250 +69.044367260829 15377.386718750000 +72.043743554699 1191.000000000000 +72.936219245023 1745.702636718750 +73.064038318176 1815.971191406250 +76.485868560059 1973.815185546875 +79.020531191334 17836.367187500000 +80.048740226087 13224.238281250000 +81.936776032050 7048.100585937500 +82.996171956640 7190.000000000000 +87.043321009222 1227.537109375000 +87.054139598036 1576.933593750000 +89.070053550879 957.586914062500 +89.505676578079 1183.771240234375 +90.488678911312 1650.773437500000 +91.053323154674 1287.000000000000 +95.952047697743 1810.000000000000 +97.967737118669 6759.153808593750 +100.075040242340 1503.000000000000 +102.090312873514 1325.000000000000 +109.942101195745 1178.000000000000 +113.962318737158 1777.000000000000 +114.090323497457 12205.000000000000 +118.084806435992 7059.019531250000 +122.094843741487 3498.764648437500 +122.962403038846 8346.027343750000 +123.091194089358 1948.709106445312 +124.085748592892 945.327941894531 +129.050509251673 1024.732788085938 +130.157992884738 1164.000000000000 +136.019949230627 1853.000000000000 +136.111141352215 1404.000000000000 +137.962709479001 1001.000000000000 +139.962564333951 1014.230773925781 +141.089592785265 1583.923706054688 +141.111504861511 1650.115966796875 +141.934439037025 1131.574707031250 +141.956897728203 12676.678710937500 +147.090202623342 3085.812988281250 +149.022063929725 4225.639648437500 +151.094738829318 2602.103515625000 +151.110426265956 2908.480957031250 +153.125618544753 996.000000000000 +155.068818882234 1503.770874023438 +155.105040168448 1896.000000000000 +155.972638590701 3854.909667968750 +158.152547752078 11047.000000000000 +159.136189281277 1350.677490234375 +159.156049882595 1419.360961914062 +159.967850746369 1025.000000000000 +161.094775918272 1722.000000000000 +164.142270266712 1387.705078125000 +167.105285316693 1098.341064453125 +170.094594559777 2516.526611328125 +170.113525799942 2108.204833984375 +171.144827764448 1399.456054687500 +172.131818549321 1160.994140625000 +173.079140510056 7378.680175781250 +174.125735527954 967.356689453125 +174.990316816677 1331.000000000000 +175.123220892275 1240.192626953125 +177.054312729838 1134.000000000000 +178.157233470564 1366.410400390625 +179.104780444605 1894.000000000000 +182.960468984417 2694.983154296875 +183.098346000494 1032.875366210938 +186.220442600731 2223.000000000000 +193.155545316620 1053.796508789062 +194.115151923203 3796.000000000000 +195.101333289566 1729.859863281250 +195.121180415253 2410.422607421875 +198.183673229495 2607.000000000000 +199.169398299568 947.170166015625 +200.200419877548 1453.753662109375 +209.151448654146 1393.000000000000 +217.105904545721 25063.148437500000 +218.108555920873 3372.000000000000 +219.093886555341 1225.078735351562 +219.173372682917 1491.000000000000 +224.126175074396 1258.958251953125 +227.126969776429 1066.578857421875 +227.162933797459 984.519592285156 +227.198894564715 1244.031860351562 +228.194508188623 1576.432128906250 +235.166864578696 1208.880981445312 +239.087691498017 5955.957031250000 +242.282936398506 2143.000000000000 +246.861068916143 2584.000000000000 +249.182899358480 1593.000000000000 +250.176632034878 1203.582397460938 +250.998395390429 2349.000000000000 +251.182831713388 1416.993530273438 +252.996086272705 1684.000000000000 +254.082934336714 1126.000000000000 +263.221246248554 956.068420410156 +267.171742038068 1747.221801757812 +279.091801709029 2140.000000000000 +281.048072509420 1395.000000000000 +307.246653933575 3614.114013671875 +327.006849435404 3277.387939453125 +329.003015132105 3708.000000000000 +330.204260496049 2133.000000000000 +331.000930460471 1167.000000000000 +371.314773333777 1055.000000000000 +382.970870202657 4401.000000000000 +384.967831939532 3761.000000000000 +386.965870547062 1267.000000000000 +393.293261959258 978.677978515625 +395.361786909565 2167.000000000000 +430.885578405806 1163.000000000000 +432.882491491078 1041.000000000000 +445.117910608052 2269.000000000000 +446.119284821468 992.000000000000 +494.321366010298 2164.000000000000 +502.290175218847 3463.960449218750 +503.293237682247 1493.668823242188 +505.851410425796 3041.000000000000 +519.136178891838 1304.000000000000 +520.337351957959 2000.000000000000 +522.878281087400 1202.000000000000 +524.368200150276 2414.000000000000 +526.289734134842 2669.000000000000 +529.886645455728 1135.000000000000 +536.162678187608 5018.000000000000 +537.163847537209 2717.000000000000 +538.160425151235 2447.000000000000 +544.337799677250 3815.094482421875 +544.395275011718 3287.660156250000 +545.339523620272 1102.008178710938 +546.912145214594 1830.000000000000 +559.348096622267 969.000000000000 +610.180396587996 2429.000000000000 +611.182988975777 1322.524291992188 +612.180732393767 1006.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=700 experiment=4 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=700 experiment=4_0 +##scan 253 +##specref ms_run[1]:sample=1 period=1 cycle=700 experiment=4 +120.089328758615 4.000000000000 +359.706635312763 4.000000000000 +386.275131087948 35.000000000000 +>compound 1_0-701002--255--UNKNOWN +>parentmass 526.291242485646 +>charge 1 +>rt 468.303000000000 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1merged +526.291242485646 2895.867187500000 +>ms1peaks +52.005454675181 2541.495361328125 +53.013412604867 14073.462890625000 +53.850268494989 1146.386718750000 +54.009229614250 337136.843750000000 +55.005820204827 5829.775390625000 +55.011425219330 6581.895996093750 +55.054258882230 1863.687011718750 +55.934006146980 4999.689453125000 +56.941886060571 2233.427246093750 +59.049495316798 72817.148437500000 +60.044379223764 12911.910156250000 +61.039166233624 1309.944824218750 +63.997690137537 5439.540039062500 +64.004566709310 5097.321289062500 +68.011503699294 27060.150390625000 +68.993484227206 10058.841796875000 +69.005042867224 1531.081420898438 +69.044537136714 15243.309570312500 +72.936618543841 1573.806884765625 +73.064307357636 1770.644531250000 +76.486145873916 1961.000000000000 +79.020693883345 16884.443359375000 +80.048868336563 12541.361328125000 +81.936914529600 7048.649902343750 +82.996162404795 6942.000000000000 +87.043592080722 1306.654418945312 +87.054412884033 1832.309814453125 +89.059041476210 1138.741821289062 +89.069160912618 1216.215942382812 +89.506070368213 1026.281005859375 +90.489120159430 1662.000000000000 +91.054088165093 1351.000000000000 +95.952176574369 1919.000000000000 +97.967920679199 6256.249023437500 +100.075069569037 1458.869262695312 +102.090664804554 2532.000000000000 +109.942272398850 1020.000000000000 +113.962687949800 1347.250488281250 +114.090615755921 12272.000000000000 +115.093896785330 1005.226989746094 +118.084999759048 7409.338867187500 +122.095478488858 4081.962158203125 +122.962761311937 8420.712890625000 +123.090884698837 1814.000000000000 +123.962279662725 1006.000000000000 +124.086599161262 1041.508544921875 +129.051071402835 1025.000000000000 +130.157696489785 1241.000000000000 +136.020142048589 1679.000000000000 +136.110512246397 1213.000000000000 +137.962278783247 1228.000000000000 +139.962160574976 1006.000000000000 +141.089422970053 1441.238525390625 +141.111450464439 1367.861572265625 +141.934574513817 1071.600708007812 +141.957403929271 13114.725585937500 +147.090241434241 2909.000000000000 +149.022393530907 4612.050781250000 +151.095944462352 2812.343505859375 +151.110036515077 3266.552490234375 +154.965379170915 1219.049438476562 +155.069588414262 1609.251708984375 +155.105347533440 2025.457275390625 +155.972899577480 4098.000000000000 +158.095668131309 1132.190551757812 +158.152948485323 11739.509765625000 +159.137924246233 1076.134887695312 +159.155770859299 1222.771240234375 +159.968173314310 1043.000000000000 +161.094857883074 1851.151611328125 +163.130245686311 1138.875976562500 +164.142081532663 1476.177490234375 +170.095414722155 2593.703857421875 +171.146179957690 1337.696655273438 +172.132347651762 1207.429199218750 +173.078986112625 6811.311035156250 +174.126137811475 1185.000000000000 +174.991166690170 1167.000000000000 +175.123727771865 1305.990722656250 +177.053466518688 1166.000000000000 +178.157938919802 1587.185424804688 +179.105507243442 2023.142822265625 +182.960635522085 2649.103515625000 +182.983220533380 1544.641845703125 +183.080080562924 1087.189697265625 +183.098334733208 1193.207641601562 +186.220773413991 1338.000000000000 +193.157917897936 1074.874023437500 +194.115312245650 3629.823242187500 +195.100668696071 1930.231933593750 +195.121476161710 2475.832031250000 +198.184224983471 2264.000000000000 +200.199366217825 1276.000000000000 +217.106083099601 23303.316406250000 +218.109093632092 2613.000000000000 +219.095119822834 1138.544189453125 +219.172923422054 1293.805297851562 +227.126743427292 1152.454345703125 +227.199415848353 1077.525024414062 +228.195054412126 1771.985717773438 +228.230090609828 1149.062011718750 +234.135817979785 1348.888671875000 +234.160883875659 1586.546630859375 +235.166804026112 1300.316040039062 +236.163696769371 1220.000000000000 +239.088095304330 5276.000000000000 +242.282921920463 2019.000000000000 +246.860835335041 3003.000000000000 +249.182970919298 1800.104125976562 +250.177497784345 1153.938720703125 +250.999097590669 2328.000000000000 +251.183749214071 1287.956909179688 +252.996239484015 1437.000000000000 +254.082411523101 1019.000000000000 +267.170102873484 1337.481689453125 +279.092106315210 1797.000000000000 +281.049823345933 1516.638427734375 +307.247225569701 1856.000000000000 +327.007062482092 3243.855712890625 +329.004022547859 3408.000000000000 +330.204852430818 2200.000000000000 +342.263823730168 1122.545898437500 +382.971103732496 3095.000000000000 +384.967998983489 2972.000000000000 +386.964780620617 1037.000000000000 +393.294419810400 1039.000000000000 +395.362466893130 1491.000000000000 +430.883777913928 1129.247436523438 +445.117830975791 1965.000000000000 +446.118321646121 1148.000000000000 +494.320947041711 2529.000000000000 +502.290242564504 3846.347656250000 +503.293670085064 1174.000000000000 +505.850631056296 2714.000000000000 +520.337454367634 1884.000000000000 +522.877289712799 1155.000000000000 +524.367970386219 2290.000000000000 +526.291242485646 2895.867187500000 +527.293242237787 1138.000000000000 +536.162850951188 5260.000000000000 +537.163512486114 2809.000000000000 +538.161445408995 2028.000000000000 +544.336016539684 4196.744140625000 +544.394903627926 3420.438964843750 +545.342489515297 1557.239868164062 +545.400407725149 1154.993652343750 +546.912516087826 1958.000000000000 +610.181762763984 2289.867187500000 +611.182527571922 1175.000000000000 +612.180682419164 1018.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=701 experiment=2 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=701 experiment=2_0 +##scan 255 +##specref ms_run[1]:sample=1 period=1 cycle=701 experiment=2 +67.056010453268 6.000000000000 +77.035502676981 4.000000000000 +79.053603738813 6.000000000000 +83.086544127822 2.000000000000 +87.047380068035 2.000000000000 +91.052114689124 6.000000000000 +93.070762270620 4.000000000000 +95.083486339262 4.000000000000 +105.108003097578 2.000000000000 +107.084948098327 12.000000000000 +117.067246210185 6.000000000000 +129.069697415439 4.000000000000 +131.084735899712 4.000000000000 +133.098489544271 8.000000000000 +141.067623366793 4.000000000000 +143.082746314426 2.000000000000 +145.101324357683 12.000000000000 +149.134514787887 4.000000000000 +161.130094081108 6.000000000000 +181.098745184841 4.000000000000 +184.073149788855 4.000000000000 +185.073662727457 4.000000000000 +185.133885184866 4.000000000000 +185.145626125087 4.000000000000 +261.140989396666 4.000000000000 +269.229514655787 2.000000000000 +271.795393079356 2.000000000000 +293.231387697179 2.000000000000 +314.914922434160 4.000000000000 +354.278003901367 4.000000000000 +385.272065888833 173.000000000000 +508.360906237471 4.000000000000 +508.393145797531 4.000000000000 +526.327138858012 6.000000000000 +526.392889739479 6.000000000000 +526.898368756868 4.000000000000 +706.413097888531 2.000000000000 +>compound 1_0-702002--257--UNKNOWN +>parentmass 191.177959316817 +>charge 1 +>rt 469.231000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1peaks +52.005575687224 2731.083984375000 +52.018101234075 1613.086181640625 +53.013537497374 14159.973632812500 +53.850609011380 1251.743896484375 +54.009280693093 330311.000000000000 +55.005879615132 5368.484863281250 +55.011824979967 5277.393066406250 +55.054345571779 1923.749877929688 +55.933966448668 4565.520996093750 +56.049537243733 3226.235839843750 +56.942105547759 1874.783203125000 +59.049541597279 47455.617187500000 +60.044399662191 10219.314453125000 +61.039565376762 1819.129272460938 +63.997863938150 4512.043945312500 +64.004816486797 4533.090332031250 +67.028601317207 1895.114257812500 +68.011582799011 26863.263671875000 +68.993491036449 9675.469726562500 +69.034809861479 3266.407226562500 +69.044537391343 14480.291992187500 +72.043984624963 1128.246337890625 +72.936381958271 1977.135375976562 +73.064366672596 1676.957275390625 +74.095670451834 1019.000000000000 +76.486276287314 1762.000000000000 +79.020768035630 15489.172851562500 +80.048937707538 13151.238281250000 +81.937084166101 6668.101074218750 +82.996267754500 6686.000000000000 +87.043821063776 1215.595825195312 +87.054260947123 1722.553222656250 +89.059165984247 1116.188842773438 +89.070216238591 1086.933715820312 +89.505676355892 1230.000000000000 +90.489073910343 1413.182617187500 +91.053662328997 1270.653442382812 +95.952300867709 1782.000000000000 +97.968191583272 5062.088378906250 +100.074553990420 1252.000000000000 +102.090712506502 1682.000000000000 +113.962782336784 1700.000000000000 +114.090686657276 11124.708007812500 +118.084978051172 6338.484863281250 +122.095377206810 3839.453857421875 +122.962784802677 7947.027832031250 +123.090817806682 1992.624877929688 +124.086351358755 999.328308105469 +130.158268847067 1251.000000000000 +136.020385762119 1710.000000000000 +136.110972965587 1462.000000000000 +137.963504217612 1325.604980468750 +141.090090522055 1550.569213867188 +141.112204504245 1044.332153320312 +141.957371499786 13066.338867187500 +147.090759413732 3135.000000000000 +149.022311340674 4365.041503906250 +149.045490578806 1445.140991210938 +151.077414747979 1259.109985351562 +151.095916008826 2820.125000000000 +151.110368592811 3001.333496093750 +154.965846702164 1037.929931640625 +155.069677393386 1767.885864257812 +155.105091293538 1674.894409179688 +155.973315231103 3839.000000000000 +158.153367684690 10839.000000000000 +159.137765211957 1195.148559570312 +159.156328992829 1403.569458007812 +159.968359151007 1203.000000000000 +161.095215951061 1901.637451171875 +163.130010724732 1172.700195312500 +164.142829491383 1914.000000000000 +167.069561684323 3149.000000000000 +170.095452536099 2976.344482421875 +170.116568059072 1197.965209960938 +171.146289666269 1307.256835937500 +172.132749000471 1349.521972656250 +173.080076869418 8248.000000000000 +174.991689878545 1424.630615234375 +175.127598225961 1214.896240234375 +177.054203930765 1044.000000000000 +178.158443387695 1415.204711914062 +179.105040156988 2089.142578125000 +182.960377492825 2437.753417968750 +183.078274153633 1016.069091796875 +183.099473662253 1159.904174804688 +186.220711733986 1356.000000000000 +194.115573461930 3816.788085937500 +195.101147834998 4470.516601562500 +198.184410442749 2455.709716796875 +199.168715394529 1140.856323242188 +199.184834931191 1156.170288085938 +200.199653858640 1297.921630859375 +211.107973691291 1015.030883789062 +217.106263025625 25988.000000000000 +218.109297708915 2980.000000000000 +219.095471827741 1253.000000000000 +223.063547364660 997.179931640625 +224.127042269792 1517.971679687500 +227.126865146820 1143.832519531250 +227.198462741326 1000.373840332031 +228.195783008751 1719.245971679688 +234.161088896005 3854.582275390625 +235.166546426904 1739.161499023438 +236.161326819427 2070.574462890625 +239.088434540310 5252.000000000000 +242.283520008699 1936.000000000000 +246.861351855062 2553.000000000000 +249.183206108434 1490.825195312500 +250.178171567174 1288.183227539062 +250.999791282259 2699.000000000000 +252.996538665523 1420.000000000000 +267.171582471283 1293.803466796875 +279.093298542727 2578.000000000000 +281.051167640064 1798.000000000000 +288.252238671295 3434.000000000000 +307.248555060416 997.000000000000 +310.234308535405 1484.000000000000 +327.007153037994 3335.388427734375 +329.003757868109 3111.000000000000 +330.205255135714 2113.000000000000 +342.263710797689 1303.409667968750 +371.099468655012 1045.000000000000 +382.971180762499 2503.109130859375 +384.969689586577 2687.000000000000 +393.295118045505 1072.515991210938 +395.361832154479 1201.000000000000 +430.886651084741 1284.000000000000 +445.118143518607 2380.000000000000 +446.119145110671 1073.000000000000 +494.323135771323 2487.000000000000 +502.291976753008 4162.000000000000 +503.295507392134 1465.000000000000 +505.852689528189 2646.000000000000 +519.137350622802 1125.000000000000 +520.337697457948 1970.000000000000 +522.877664497054 1040.000000000000 +524.369454256124 2673.000000000000 +526.291034635588 3481.000000000000 +527.294145929493 1009.000000000000 +536.164248869211 5661.000000000000 +537.164247720729 2950.000000000000 +538.161786761786 2246.000000000000 +544.339339390808 4333.096191406250 +545.341838082003 1175.006225585938 +546.915110101956 1867.000000000000 +610.182667124825 2208.000000000000 +611.183415729844 1468.000000000000 +612.181494154441 1094.000000000000 +684.201322434538 983.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=702 experiment=2 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=702 experiment=2_0 +##scan 257 +##specref ms_run[1]:sample=1 period=1 cycle=702 experiment=2 +55.054742827139 8.000000000000 +57.070269488282 12.000000000000 +59.050004291210 38.000000000000 +80.945744099915 8.000000000000 +90.902088683458 12.000000000000 +105.069081745023 8.000000000000 +123.099984238062 8.000000000000 +134.095289348696 8.000000000000 +160.902008594230 8.000000000000 +>compound 1_0-702003--258--UNKNOWN +>parentmass 500.374033518391 +>charge 1 +>rt 469.231000000020 +##des UNKNOWN +##specref_format [MS, MS:1000770, WIFF nativeID format] +##source file file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff +##source format [MS, MS:1000562, ABI WIFF format,] +>ms1peaks +52.005575687224 2731.083984375000 +52.018101234075 1613.086181640625 +53.013537497374 14159.973632812500 +53.850609011380 1251.743896484375 +54.009280693093 330311.000000000000 +55.005879615132 5368.484863281250 +55.011824979967 5277.393066406250 +55.054345571779 1923.749877929688 +55.933966448668 4565.520996093750 +56.049537243733 3226.235839843750 +56.942105547759 1874.783203125000 +59.049541597279 47455.617187500000 +60.044399662191 10219.314453125000 +61.039565376762 1819.129272460938 +63.997863938150 4512.043945312500 +64.004816486797 4533.090332031250 +67.028601317207 1895.114257812500 +68.011582799011 26863.263671875000 +68.993491036449 9675.469726562500 +69.034809861479 3266.407226562500 +69.044537391343 14480.291992187500 +72.043984624963 1128.246337890625 +72.936381958271 1977.135375976562 +73.064366672596 1676.957275390625 +74.095670451834 1019.000000000000 +76.486276287314 1762.000000000000 +79.020768035630 15489.172851562500 +80.048937707538 13151.238281250000 +81.937084166101 6668.101074218750 +82.996267754500 6686.000000000000 +87.043821063776 1215.595825195312 +87.054260947123 1722.553222656250 +89.059165984247 1116.188842773438 +89.070216238591 1086.933715820312 +89.505676355892 1230.000000000000 +90.489073910343 1413.182617187500 +91.053662328997 1270.653442382812 +95.952300867709 1782.000000000000 +97.968191583272 5062.088378906250 +100.074553990420 1252.000000000000 +102.090712506502 1682.000000000000 +113.962782336784 1700.000000000000 +114.090686657276 11124.708007812500 +118.084978051172 6338.484863281250 +122.095377206810 3839.453857421875 +122.962784802677 7947.027832031250 +123.090817806682 1992.624877929688 +124.086351358755 999.328308105469 +130.158268847067 1251.000000000000 +136.020385762119 1710.000000000000 +136.110972965587 1462.000000000000 +137.963504217612 1325.604980468750 +141.090090522055 1550.569213867188 +141.112204504245 1044.332153320312 +141.957371499786 13066.338867187500 +147.090759413732 3135.000000000000 +149.022311340674 4365.041503906250 +149.045490578806 1445.140991210938 +151.077414747979 1259.109985351562 +151.095916008826 2820.125000000000 +151.110368592811 3001.333496093750 +154.965846702164 1037.929931640625 +155.069677393386 1767.885864257812 +155.105091293538 1674.894409179688 +155.973315231103 3839.000000000000 +158.153367684690 10839.000000000000 +159.137765211957 1195.148559570312 +159.156328992829 1403.569458007812 +159.968359151007 1203.000000000000 +161.095215951061 1901.637451171875 +163.130010724732 1172.700195312500 +164.142829491383 1914.000000000000 +167.069561684323 3149.000000000000 +170.095452536099 2976.344482421875 +170.116568059072 1197.965209960938 +171.146289666269 1307.256835937500 +172.132749000471 1349.521972656250 +173.080076869418 8248.000000000000 +174.991689878545 1424.630615234375 +175.127598225961 1214.896240234375 +177.054203930765 1044.000000000000 +178.158443387695 1415.204711914062 +179.105040156988 2089.142578125000 +182.960377492825 2437.753417968750 +183.078274153633 1016.069091796875 +183.099473662253 1159.904174804688 +186.220711733986 1356.000000000000 +194.115573461930 3816.788085937500 +195.101147834998 4470.516601562500 +198.184410442749 2455.709716796875 +199.168715394529 1140.856323242188 +199.184834931191 1156.170288085938 +200.199653858640 1297.921630859375 +211.107973691291 1015.030883789062 +217.106263025625 25988.000000000000 +218.109297708915 2980.000000000000 +219.095471827741 1253.000000000000 +223.063547364660 997.179931640625 +224.127042269792 1517.971679687500 +227.126865146820 1143.832519531250 +227.198462741326 1000.373840332031 +228.195783008751 1719.245971679688 +234.161088896005 3854.582275390625 +235.166546426904 1739.161499023438 +236.161326819427 2070.574462890625 +239.088434540310 5252.000000000000 +242.283520008699 1936.000000000000 +246.861351855062 2553.000000000000 +249.183206108434 1490.825195312500 +250.178171567174 1288.183227539062 +250.999791282259 2699.000000000000 +252.996538665523 1420.000000000000 +267.171582471283 1293.803466796875 +279.093298542727 2578.000000000000 +281.051167640064 1798.000000000000 +288.252238671295 3434.000000000000 +307.248555060416 997.000000000000 +310.234308535405 1484.000000000000 +327.007153037994 3335.388427734375 +329.003757868109 3111.000000000000 +330.205255135714 2113.000000000000 +342.263710797689 1303.409667968750 +371.099468655012 1045.000000000000 +382.971180762499 2503.109130859375 +384.969689586577 2687.000000000000 +393.295118045505 1072.515991210938 +395.361832154479 1201.000000000000 +430.886651084741 1284.000000000000 +445.118143518607 2380.000000000000 +446.119145110671 1073.000000000000 +494.323135771323 2487.000000000000 +502.291976753008 4162.000000000000 +503.295507392134 1465.000000000000 +505.852689528189 2646.000000000000 +519.137350622802 1125.000000000000 +520.337697457948 1970.000000000000 +522.877664497054 1040.000000000000 +524.369454256124 2673.000000000000 +526.291034635588 3481.000000000000 +527.294145929493 1009.000000000000 +536.164248869211 5661.000000000000 +537.164247720729 2950.000000000000 +538.161786761786 2246.000000000000 +544.339339390808 4333.096191406250 +545.341838082003 1175.006225585938 +546.915110101956 1867.000000000000 +610.182667124825 2208.000000000000 +611.183415729844 1468.000000000000 +612.181494154441 1094.000000000000 +684.201322434538 983.000000000000 +>ms2peaks +##n_id sample=1 period=1 cycle=702 experiment=3 +##m_id UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=702 experiment=3_0 +##scan 258 +##specref ms_run[1]:sample=1 period=1 cycle=702 experiment=3 +210.196455253972 3.000000000000 +408.778240392633 8.000000000000 +483.351847971879 3.000000000000 diff --git a/src/tests/topp/SiriusExport_3_output_compoundinfo.tsv b/src/tests/topp/SiriusExport_3_output_compoundinfo.tsv new file mode 100644 index 00000000000..1d5aa49b581 --- /dev/null +++ b/src/tests/topp/SiriusExport_3_output_compoundinfo.tsv @@ -0,0 +1,14 @@ +cmp file_index pmass pint_mono rt fmz fid formula charge ionization des specref_format source_file source_format native_ids_id m_ids_id +0_13442776035824190606-2167005--6--UNKNOWN 0 292.122 5.44664e+06 410.145 292.122 13442776035824190606 1 UNKNOWN [MS, MS:1000770, WIFF nativeID format] file://.PestMix1pos.wiff [MS, MS:1000562, ABI WIFF format,] sample=1 period=1 cycle=2167 experiment=5|sample=1 period=1 cycle=2175 experiment=4|sample=1 period=1 cycle=2176 experiment=6 UNKNOWN_PestMix1pos.wiff_sample=1 period=1 cycle=2167 experiment=5_0|UNKNOWN_PestMix1pos.wiff_sample=1 period=1 cycle=2175 experiment=4_0|UNKNOWN_PestMix1pos.wiff_sample=1 period=1 cycle=2176 experiment=6_0 +1_10333458062711546021-664003--57--UNKNOWN 1 286.179 67049.2 438.351 286.179 10333458062711546021 1 UNKNOWN [MS, MS:1000770, WIFF nativeID format] file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff [MS, MS:1000562, ABI WIFF format,] sample=1 period=1 cycle=664 experiment=3|sample=1 period=1 cycle=665 experiment=5|sample=1 period=1 cycle=666 experiment=3 UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=664 experiment=3_0|UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=665 experiment=5_0|UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=666 experiment=3_0 +1_5053681185761206615-676004--121--Myclobutanil 1 289.123 1.35681e+06 448.028 289.123 5053681185761206615 C15H17ClN4 1 [M+H]1+ Myclobutanil [MS, MS:1000770, WIFF nativeID format] file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff [MS, MS:1000562, ABI WIFF format,] sample=1 period=1 cycle=676 experiment=4|sample=1 period=1 cycle=677 experiment=5|sample=1 period=1 cycle=678 experiment=3 Myclobutanil_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=676 experiment=4_0|Myclobutanil_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=677 experiment=5_0|Myclobutanil_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=678 experiment=3_0 +1_5868141785564858207-659006--23--Cyproconazole 1 292.121 1.77258e+06 436.497 292.121 5868141785564858207 C15H18ClN3O 1 [M+H]1+ Cyproconazole [MS, MS:1000770, WIFF nativeID format] file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff [MS, MS:1000562, ABI WIFF format,] sample=1 period=1 cycle=659 experiment=6|sample=1 period=1 cycle=660 experiment=5|sample=1 period=1 cycle=661 experiment=4 Cyproconazole_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=659 experiment=6_0|Cyproconazole_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=660 experiment=5_0|Cyproconazole_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=661 experiment=4_0 +1_18386993698014176665-675005--113--UNKNOWN 1 304.119 3.56918e+06 446.172 304.119 18386993698014176665 1 [M+H]1+ UNKNOWN [MS, MS:1000770, WIFF nativeID format] file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff [MS, MS:1000562, ABI WIFF format,] sample=1 period=1 cycle=675 experiment=5 UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=675 experiment=5_0 +1_11941333258820146302-663003--50--UNKNOWN 1 313.039 90349.7 436.497 313.039 11941333258820146302 1 [M+H]1+ UNKNOWN [MS, MS:1000770, WIFF nativeID format] file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff [MS, MS:1000562, ABI WIFF format,] sample=1 period=1 cycle=663 experiment=3|sample=1 period=1 cycle=664 experiment=4|sample=1 period=1 cycle=665 experiment=6 UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=663 experiment=3_0|UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=664 experiment=4_0|UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=665 experiment=6_0 +1_5585685219772452827-657005--4--Guthion 1 318.013 47593.1 431.866 318.013 5585685219772452827 C10H12N3O3PS2 1 [M+H]1+ Guthion [MS, MS:1000770, WIFF nativeID format] file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff [MS, MS:1000562, ABI WIFF format,] sample=1 period=1 cycle=657 experiment=5|sample=1 period=1 cycle=658 experiment=6|sample=1 period=1 cycle=659 experiment=7 Guthion_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=657 experiment=5_0|Guthion_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=658 experiment=6_0|Guthion_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=659 experiment=7_0 +1_7960809195137357048-676005--122--Fenamiphos 1 326.094 187407 447.1 326.094 7960809195137357048 C13H22NO3PS 1 [M+Na]1+ Fenamiphos [MS, MS:1000770, WIFF nativeID format] file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff [MS, MS:1000562, ABI WIFF format,] sample=1 period=1 cycle=676 experiment=5 Fenamiphos_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=676 experiment=5_0 +1_1072340199693961134-657006--5--Guthion 1 339.995 202334 431.866 339.995 1072340199693961134 C10H12N3O3PS2 1 [M+Na]1+ Guthion [MS, MS:1000770, WIFF nativeID format] file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff [MS, MS:1000562, ABI WIFF format,] sample=1 period=1 cycle=657 experiment=6|sample=1 period=1 cycle=658 experiment=7|sample=1 period=1 cycle=659 experiment=8 Guthion_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=657 experiment=6_0|Guthion_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=658 experiment=7_0|Guthion_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=659 experiment=8_0 +1_15110953643123771443-674006--105--UNKNOWN 1 349.17 78624.1 447.1 349.17 15110953643123771443 1 [M+Na]1+ UNKNOWN [MS, MS:1000770, WIFF nativeID format] file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff [MS, MS:1000562, ABI WIFF format,] sample=1 period=1 cycle=674 experiment=6|sample=1 period=1 cycle=675 experiment=6|sample=1 period=1 cycle=676 experiment=6 UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=674 experiment=6_0|UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=675 experiment=6_0|UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=676 experiment=6_0 +1_3034601138604610277-657008--7--UNKNOWN 1 363.071 38114.6 431.866 363.071 3034601138604610277 1 [M+Na]1+ UNKNOWN [MS, MS:1000770, WIFF nativeID format] file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff [MS, MS:1000562, ABI WIFF format,] sample=1 period=1 cycle=657 experiment=8|sample=1 period=1 cycle=658 experiment=9|sample=1 period=1 cycle=659 experiment=9 UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=657 experiment=8_0|UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=658 experiment=9_0|UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=659 experiment=9_0 +1_16459302675638519057-664006--60--UNKNOWN 1 372.065 23380.9 437.423 372.065 16459302675638519057 1 [M+Na]1+ UNKNOWN [MS, MS:1000770, WIFF nativeID format] file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff [MS, MS:1000562, ABI WIFF format,] sample=1 period=1 cycle=664 experiment=6 UNKNOWN_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=664 experiment=6_0 +1_12237362536485158566-690002--189--Fluopicolide 1 382.974 1.56656e+06 461.815 382.974 12237362536485158566 C14H8Cl3F3N2O 1 [M+H]1+ Fluopicolide [MS, MS:1000770, WIFF nativeID format] file://I:\OpenSWATH_Metabolomics_data\20181121_full_data\04_PestMixes_individually_Solvent_DDA_20-50PestMix1_1ngSolventDDA20-50.wiff [MS, MS:1000562, ABI WIFF format,] sample=1 period=1 cycle=690 experiment=2|sample=1 period=1 cycle=691 experiment=5 Fluopicolide_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=690 experiment=2_0|Fluopicolide_PestMix1_1ngSolventDDA20-50.wiff_sample=1 period=1 cycle=691 experiment=5_0 diff --git a/src/tests/topp/THIRDPARTY/SiriusAdapter_10_output.mzTab b/src/tests/topp/THIRDPARTY/SiriusAdapter_10_output.mzTab deleted file mode 100644 index 68e3a777ec3..00000000000 --- a/src/tests/topp/THIRDPARTY/SiriusAdapter_10_output.mzTab +++ /dev/null @@ -1,175 +0,0 @@ -MTD mzTab-version 1.0.0 -MTD mzTab-mode null -MTD mzTab-type null -MTD description Sirius-5.6.3 -MTD smallmolecule_search_engine_score[1] [, , SiriusScore, ] -MTD smallmolecule_search_engine_score[2] [, , TreeScore, ] -MTD smallmolecule_search_engine_score[3] [, , IsotopeScore, ] -MTD ms_run[1]-location /Users/builder/jenkins/ws/openms/PR/bldtst/87227eb0/source/src/tests/topp/AssayGeneratorMetabo_decoy_generation_input.mzML - -SMH identifier chemical_formula smiles inchi_key description exp_mass_to_charge calc_mass_to_charge charge retention_time taxid species database database_version spectra_ref search_engine best_search_engine_score[1] best_search_engine_score[2] best_search_engine_score[3] modifications opt_global_adduct opt_gobal_precursorFormula opt_global_rank opt_global_explainedPeaks opt_global_explainedIntensity opt_global_median_mass_error_fragment_peaks_ppm opt_global_median_absolute_mass_error_fragment_peaks_ppm opt_global_mass_error_precursor_ppm opt_global_compoundId opt_global_compoundScanNumber opt_global_featureId opt_global_native_id -SML null C9H15N6O6P null null null 373.041706160139995 null null 604.553999999999974 null null null null null null 28.670265576134039 28.670265576134039 0.0 null [M + K]+ C9H15N6O6P 1 9 0.994643154576381 -1.396009995468828 1.396009995468828 -1.396009995468828 1 847004 null sample=1 period=1 cycle=847 experiment=4 -SML null C11H18N4O4S2 null null null 373.041706160139995 null null 604.553999999999974 null null null null null null 27.358222345090461 27.358222345090461 0.0 null [M + K]+ C11H18N4O4S2 2 9 0.994643154576381 6.134305348864308 6.134305348864308 4.29175618442722 1 847004 null sample=1 period=1 cycle=847 experiment=4 -SML null C11H15N2O9P null null null 373.041706160139995 null null 604.553999999999974 null null null null null null 25.935753723709432 25.935753723709432 0.0 null [M + Na]+ C11H15N2O9P 3 10 1.0 3.198873525662133 3.198873525662133 2.59694836662739 1 847004 null sample=1 period=1 cycle=847 experiment=4 -SML null C12H19N2O4PS2 null null null 373.041706160139995 null null 604.553999999999974 null null null null null null 25.189135193999505 25.189135193999505 0.0 null [M + Na]+ C12H19N2O4PS2 4 10 1.0 0.546181139647929 1.67841775886304 0.267375062461964 1 847004 null sample=1 period=1 cycle=847 experiment=4 -SML null C11H18N4O3S3 null null null 373.041706160139995 null null 604.553999999999974 null null null null null null 23.547971975564181 23.547971975564181 0.0 null [M + Na]+ C11H18N4O3S3 5 8 0.953310126910901 -3.796513121528493 3.796513121528493 -4.337252172626831 1 847004 null sample=1 period=1 cycle=847 experiment=4 -SML null C25H49N5O3 null null null 468.391411753410011 null null 604.553999999999974 null null null null null null 9.6770601169857 9.6770601169857 0.0 null [M + H]+ C25H49N5O3 1 2 1.0 -1.445023221639928 1.445023221639928 1.27003464312998 2 847006 null sample=1 period=1 cycle=847 experiment=6 -SML null C28H51N3O null null null 468.391411753410011 null null 604.553999999999974 null null null null null null 9.445562595590651 9.445562595590651 0.0 null [M + Na]+ C28H51N3O 2 2 1.0 -5.871833302980732 5.871833302980732 -2.182359998211256 2 847006 null sample=1 period=1 cycle=847 experiment=6 -SML null C25H55N3O2 null null null 468.391411753410011 null null 604.553999999999974 null null null null null null 9.420133971376501 9.420133971376501 0.0 null [M + K]+ C25H55N3O2 3 2 1.0 -6.288345554871206 6.288345554871206 -2.507190890116459 2 847006 null sample=1 period=1 cycle=847 experiment=6 -SML null C21H45N11O null null null 468.391411753410011 null null 604.553999999999974 null null null null null null 8.957024585301269 8.957024585301269 0.0 null [M + H]+ C21H45N11O 4 2 1.0 5.906297025336516 5.906297025336516 7.003205518238989 2 847006 null sample=1 period=1 cycle=847 experiment=6 -SML null C28H53NO2S null null null 468.391411753410011 null null 604.553999999999974 null null null null null null 7.21874715384708 7.21874715384708 0.0 null [M + H]+ C28H53NO2S 5 2 1.0 9.065765347574173 9.065765347574173 9.467221661498789 2 847006 null sample=1 period=1 cycle=847 experiment=6 -SML null C12H13Br2NO7S2 null null null 505.854301068556026 null null 604.553999999999974 null null null null null null 16.95195935872173 16.95195935872173 0.0 null [M + H]+ C12H13Br2NO7S2 1 3 0.58252427184466 -6.911033729037047 6.911033729037047 -5.917394649359016 3 847007 null sample=1 period=1 cycle=847 experiment=7 -SML null C13H11Cl6N3O3 null null null 505.854301068556026 null null 604.553999999999974 null null null null null null 14.681206029050356 14.681206029050356 0.0 null [M + K]+ C13H11Cl6N3O3 2 3 0.58252427184466 1.3990591696897 3.070503376721699 -3.982023144238581 3 847007 null sample=1 period=1 cycle=847 experiment=7 -SML null C19H9Br2NO2S2 null null null 505.854301068556026 null null 604.553999999999974 null null null null null null 13.406735460386219 13.406735460386219 0.0 null [M + H]+ C19H9Br2NO2S2 3 3 0.58252427184466 3.538960371372842 3.538960371372842 5.693118471865774 3 847007 null sample=1 period=1 cycle=847 experiment=7 -SML null C12H6F5NO3S5 null null null 505.854301068556026 null null 604.553999999999974 null null null null null null 13.115238697657338 13.115238697657338 0.0 null [M + K]+ C12H6F5NO3S5 4 3 0.58252427184466 4.618679641491994 4.618679641491994 7.914959815501288 3 847007 null sample=1 period=1 cycle=847 experiment=7 -SML null C16H11Br2N3O2S null null null 505.854301068556026 null null 604.553999999999974 null null null null null null 12.282572840144438 12.282572840144438 0.0 null [M + K]+ C16H11Br2N3O2S 5 3 0.58252427184466 -0.446853090463965 2.914152425760874 -5.394485188162603 3 847007 null sample=1 period=1 cycle=847 experiment=7 -SML null C12H8N2O7 null null null 330.995763624045992 null null 605.517000000000053 null null null null null null 0.859816428765365 0.859816428765365 0.0 null [M + K]+ C12H8N2O7 1 1 0.0 -1.646764413426551 1.646764413426551 -1.646764413426551 5 848006 null sample=1 period=1 cycle=848 experiment=6 -SML null C8H4N8O5 null null null 330.995763624045992 null null 605.517000000000053 null null null null null null 0.341980031475321 0.341980031475321 0.0 null [M + K]+ C8H4N8O5 2 1 0.0 6.46623368242206 6.46623368242206 6.46623368242206 5 848006 null sample=1 period=1 cycle=848 experiment=6 -SML null C11H17IO null null null 330.995763624045992 null null 605.517000000000053 null null null null null null -0.656889541808398 -0.656889541808398 0.0 null [M + K]+ C11H17IO 3 1 0.0 0.581155339744618 0.581155339744618 0.581155339744618 5 848006 null sample=1 period=1 cycle=848 experiment=6 -SML null C12H13BrN4 null null null 330.995763624045992 null null 605.517000000000053 null null null null null null -0.67076823760943 -0.67076823760943 0.0 null [M + K]+ C12H13BrN4 4 1 0.0 0.746257150729168 0.746257150729168 0.746257150729168 5 848006 null sample=1 period=1 cycle=848 experiment=6 -SML null C7H8N4O8S null null null 330.995763624045992 null null 605.517000000000053 null null null null null null -0.673762718274275 -0.673762718274275 0.0 null [M + Na]+ C7H8N4O8S 5 1 0.0 0.781605035037382 0.781605035037382 0.781605035037382 5 848006 null sample=1 period=1 cycle=848 experiment=6 -SML null C11H19N4O4PS null null null 373.050282947750986 null null 605.517000000000053 null null null null null null 25.803396637056217 25.803396637056217 0.0 null [M + K]+ C11H19N4O4PS 1 8 0.83071499653889 0.98606604349625 1.834824189436524 1.774907273112848 6 848007 null sample=1 period=1 cycle=848 experiment=7 -SML null C12H18N2O6S2 null null null 373.050282947750986 null null 605.517000000000053 null null null null null null 21.473200748251696 21.473200748251696 0.0 null [M + Na]+ C12H18N2O6S2 2 6 0.792872349311512 0.995083324692341 0.995083324692341 1.16325246313294 6 848007 null sample=1 period=1 cycle=848 experiment=7 -SML null C10H17F3N2O4S2 null null null 373.050282947750986 null null 605.517000000000053 null null null null null null 20.138567077557664 20.138567077557664 0.0 null [M + Na]+ C10H17F3N2O4S2 3 9 0.836119938167308 2.970866954492015 2.970866954492015 7.716288640079029 6 848007 null sample=1 period=1 cycle=848 experiment=7 -SML null C10H18N6O3S2 null null null 373.050282947750986 null null 605.517000000000053 null null null null null null 19.979614856344419 19.979614856344419 0.0 null [M + K]+ C10H18N6O3S2 4 7 0.794693058831233 -2.512428411238932 2.512428411238932 -2.829614096980069 6 848007 null sample=1 period=1 cycle=848 experiment=7 -SML null C8H20N2O9P2 null null null 373.050282947750986 null null 605.517000000000053 null null null null null null 19.087649848024117 19.087649848024117 0.0 null [M + Na]+ C8H20N2O9P2 5 10 1.0 2.32835220153535 2.674064949522841 -8.956520051799396 6 848007 null sample=1 period=1 cycle=848 experiment=7 -SML null C12H8N2O7 null null null 330.996440934966017 null null 606.481000000020003 null null null null null null 0.967612741508108 0.967612741508108 0.0 null [M + K]+ C12H8N2O7 1 1 0.0 0.399517514813028 0.399517514813028 0.399517514813028 8 849004 null sample=1 period=1 cycle=849 experiment=4 -SML null C8H4N8O5 null null null 330.996440934966017 null null 606.481000000020003 null null null null null null 0.070194727487704 0.070194727487704 0.0 null [M + K]+ C8H4N8O5 2 1 0.0 8.512499009207589 8.512499009207589 8.512499009207589 8 849004 null sample=1 period=1 cycle=849 experiment=4 -SML null C13H3F7O null null null 330.996440934966017 null null 606.481000000020003 null null null null null null -0.611363113039788 -0.611363113039788 0.0 null [M + Na]+ C13H3F7O 3 1 0.0 0.024105623205151 0.024105623205151 0.024105623205151 8 849004 null sample=1 period=1 cycle=849 experiment=4 -SML null C16H11BrO3 null null null 330.996440934966017 null null 606.481000000020003 null null null null null null -0.611409485793222 -0.611409485793222 0.0 null [M + H]+ C16H11BrO3 4 1 0.0 0.024685689913252 0.024685689913252 0.024685689913252 8 849004 null sample=1 period=1 cycle=849 experiment=4 -SML null C8H12N4O3S3 null null null 330.996440934966017 null null 606.481000000020003 null null null null null null -0.625717107586851 -0.625717107586851 0.0 null [M + Na]+ C8H12N4O3S3 5 1 0.0 0.202391528330003 0.202391528330003 0.202391528330003 8 849004 null sample=1 period=1 cycle=849 experiment=4 -SML null C9H15O16P3 null null null 472.965800306751021 null null 606.481000000020003 null null null null null null 9.802237862248113 9.802237862248113 0.0 null [M + H]+ C9H15O16P3 1 2 0.697674418604651 -0.74849424888238 0.74849424888238 2.599690420943164 9 849005 null sample=1 period=1 cycle=849 experiment=5 -SML null C17H14N4O2S4 null null null 472.965800306751021 null null 606.481000000020003 null null null null null null 9.673686396034764 9.673686396034764 0.0 null [M + K]+ C17H14N4O2S4 2 2 0.697674418604651 3.489191948022111 3.489191948022111 5.671696893840119 9 849005 null sample=1 period=1 cycle=849 experiment=5 -SML null C13H14N4O7S3 null null null 472.965800306751021 null null 606.481000000020003 null null null null null null 9.657025629720902 9.657025629720902 0.0 null [M + K]+ C13H14N4O7S3 3 2 0.697674418604651 -3.80843387724835 3.80843387724835 0.381462381339687 9 849005 null sample=1 period=1 cycle=849 experiment=5 -SML null C16H18O6S4 null null null 472.965800306751021 null null 606.481000000020003 null null null null null null 9.444643391175774 9.444643391175774 0.0 null [M + K]+ C16H18O6S4 4 2 0.697674418604651 7.389829971091086 7.389829971091086 8.499368575629337 9 849005 null sample=1 period=1 cycle=849 experiment=5 -SML null C19H14O5S4 null null null 472.965800306751021 null null 606.481000000020003 null null null null null null 9.414969746574188 9.414969746574188 0.0 null [M + Na]+ C19H14O5S4 5 2 0.697674418604651 7.833584886703086 7.833584886703086 8.821057797010498 9 849005 null sample=1 period=1 cycle=849 experiment=5 -SML null C31H49N3O2 null null null 496.393559709474005 null null 608.394000000000005 null null null null null null 12.08360004509305 12.08360004509305 0.0 null [M + H]+ C31H49N3O2 1 2 0.5 7.659955549563526 7.659955549563526 7.666194109493317 12 851004 null sample=1 period=1 cycle=851 experiment=4 -SML null C23H51N7O3 null null null 496.393559709474005 null null 608.394000000000005 null null null null null null 11.40879578074424 11.40879578074424 0.0 null [M + Na]+ C23H51N7O3 2 2 0.5 -4.193693126868299 4.193693126868299 -2.013488283583159 12 851004 null sample=1 period=1 cycle=851 experiment=4 -SML null C28H53N3O2S null null null 496.393559709474005 null null 608.394000000000005 null null null null null null 9.878813012741157 9.878813012741157 0.0 null [M + H]+ C28H53N3O2S 3 2 0.5 -0.656534039873993 0.656534039873993 0.874953703509131 12 851004 null sample=1 period=1 cycle=851 experiment=4 -SML null C26H55N3O2S null null null 496.393559709474005 null null 608.394000000000005 null null null null null null 9.532842124092705 9.532842124092705 0.0 null [M + Na]+ C26H55N3O2S 4 2 0.5 5.278238893054652 5.278238893054652 5.721285717488984 12 851004 null sample=1 period=1 cycle=851 experiment=4 -SML null C25H49N7O3 null null null 496.393559709474005 null null 608.394000000000005 null null null null null null 9.303836881800034 9.303836881800034 0.0 null [M + H]+ C25H49N7O3 5 2 0.5 -6.816097764115619 6.816097764115619 -6.859820297677524 12 851004 null sample=1 period=1 cycle=851 experiment=4 -SML null C22H46O6 null null null 407.337607109571991 null null 610.321000000020035 null null null null null null 3.5 3.5 0.0 null [M + H]+ C22H46O6 1 1 0.0 nan nan 2.188517499733601 15 853003 null sample=1 period=1 cycle=853 experiment=3 -SML null C23H42N4O2 null null null 407.337607109571991 null null 610.321000000020035 null null null null null null 1.0 1.0 0.0 null [M + H]+ C23H42N4O2 2 1 0.0 nan nan -1.094734467773591 15 853003 null sample=1 period=1 cycle=853 experiment=3 -SML null C19H38N10 null null null 407.337607109571991 null null 610.321000000020035 null null null null null null 0.636657639383096 0.636657639383096 0.0 null [M + H]+ C19H38N10 3 1 0.0 nan nan 5.497752828135451 15 853003 null sample=1 period=1 cycle=853 experiment=3 -SML null C18H42N6O4 null null null 407.337607109571991 null null 610.321000000020035 null null null null null null 0.602603903755284 0.602603903755284 0.0 null [M + H]+ C18H42N6O4 4 1 0.0 nan nan 8.781004795642643 15 853003 null sample=1 period=1 cycle=853 experiment=3 -SML null C21H47N2O3P null null null 407.337607109571991 null null 610.321000000020035 null null null null null null -0.6094379124341 -0.6094379124341 0.0 null [M + H]+ C21H47N2O3P 5 1 0.0 nan nan -5.15379989939335 15 853003 null sample=1 period=1 cycle=853 experiment=3 -SML null C23H45N5O2 null null null 424.36421074658 null null 610.321000000020035 null null null null null null 16.360336009476693 13.323939090246116 3.036396919230577 null [M + H]+ C23H45N5O2 1 3 1.0 -2.02082243405874 2.02082243405874 -0.922286801423198 16 853004 null sample=1 period=1 cycle=853 experiment=4 -SML null C21H47N5O2 null null null 424.36421074658 null null 610.321000000020035 null null null null null null 15.557883110117828 12.891398392500449 2.666484717617379 null [M + Na]+ C21H47N5O2 2 3 1.0 4.676218099959367 4.676218099959367 4.746636116883184 16 853004 null sample=1 period=1 cycle=853 experiment=4 -SML null C18H45N7O4 null null null 424.36421074658 null null 610.321000000020035 null null null null null null 13.30527333003349 11.888924919330686 1.416348410702804 null [M + H]+ C18H45N7O4 3 3 1.0 9.177881129536456 9.177881129536456 8.557211936042933 16 853004 null sample=1 period=1 cycle=853 experiment=4 -SML null C23H51N3O null null null 424.36421074658 null null 610.321000000020035 null null null null null null 12.771514754587351 12.771514754587351 0.0 null [M + K]+ C23H51N3O 4 3 1.0 -6.946040522841118 6.946040522841118 -5.091394268942456 16 853004 null sample=1 period=1 cycle=853 experiment=4 -SML null C26H49NOS null null null 424.36421074658 null null 610.321000000020035 null null null null null null 10.132608405464048 10.132608405464048 0.0 null [M + H]+ C26H49NOS 5 3 1.0 8.667693098170556 8.667693098170556 8.125347053567902 16 853004 null sample=1 period=1 cycle=853 experiment=4 -SML null C29H48O5 null null null 477.359824108717987 null null 610.321000000020035 null null null null null null 3.5 3.5 0.0 null [M + H]+ C29H48O5 1 1 0.0 nan nan 4.971136043797487 17 853006 null sample=1 period=1 cycle=853 experiment=6 -SML null C30H44N4O null null null 477.359824108717987 null null 610.321000000020035 null null null null null null 1.0 1.0 0.0 null [M + H]+ C30H44N4O 2 1 0.0 nan nan 2.169492645174178 17 853006 null sample=1 period=1 cycle=853 experiment=6 -SML null C22H46N8O2 null null null 477.359824108717987 null null 610.321000000020035 null null null null null null 1.0 1.0 0.0 null [M + Na]+ C22H46N8O2 3 1 0.0 nan nan -7.896147061695832 17 853006 null sample=1 period=1 cycle=853 experiment=6 -SML null C30H50N2 null null null 477.359824108717987 null null 610.321000000020035 null null null null null null 1.0 1.0 0.0 null [M + K]+ C30H50N2 4 1 0.0 nan nan -1.536768147366649 17 853006 null sample=1 period=1 cycle=853 experiment=6 -SML null C28H46N4O null null null 477.359824108717987 null null 610.321000000020035 null null null null null null 1.0 1.0 0.0 null [M + Na]+ C28H46N4O 5 1 0.0 nan nan 7.209062124030016 17 853006 null sample=1 period=1 cycle=853 experiment=6 -SML null C28H55N5O4 null null null 526.433168385886006 null null 610.321000000020035 null null null null null null 4.664451024197501 4.664451024197501 0.0 null [M + H]+ C28H55N5O4 1 2 1.0 -0.185106640567048 0.185106640567048 0.924512026720884 18 853007 null sample=1 period=1 cycle=853 experiment=7 -SML null C31H57N3O2 null null null 526.433168385886006 null null 610.321000000020035 null null null null null null 4.465054326527998 4.465054326527998 0.0 null [M + Na]+ C31H57N3O2 2 2 1.0 -4.382324994082867 4.382324994082867 -2.147239711496391 18 853007 null sample=1 period=1 cycle=853 experiment=7 -SML null C28H61N3O3 null null null 526.433168385886006 null null 610.321000000020035 null null null null null null 4.443127059637575 4.443127059637575 0.0 null [M + K]+ C28H61N3O3 3 2 1.0 -4.777235287494281 4.777235287494281 -2.436256454970705 18 853007 null sample=1 period=1 cycle=853 experiment=7 -SML null C24H51N11O2 null null null 526.433168385886006 null null 610.321000000020035 null null null null null null 4.031430063553028 4.031430063553028 0.0 null [M + H]+ C24H51N11O2 4 2 1.0 6.784945314878405 6.784945314878405 6.025573588342346 18 853007 null sample=1 period=1 cycle=853 experiment=7 -SML null C33H55N3O2 null null null 526.433168385886006 null null 610.321000000020035 null null null null null null 3.410773190818925 3.410773190818925 0.0 null [M + H]+ C33H55N3O2 5 2 1.0 -0.185106640567048 0.185106640567048 -6.717027757583233 18 853007 null sample=1 period=1 cycle=853 experiment=7 -SML null C39H58N2O null null null 571.461957504937004 null null 610.321000000020035 null null null null null null 5.6964974310191 5.6964974310191 0.0 null [M + H]+ C39H58N2O 1 2 1.0 3.656826308124427 3.656826308124427 -0.408466653955956 19 853008 null sample=1 period=1 cycle=853 experiment=8 -SML null C28H58N8O4 null null null 571.461957504937004 null null 610.321000000020035 null null null null null null 5.62840242494866 5.62840242494866 0.0 null [M + H]+ C28H58N8O4 2 2 1.0 -4.907313010428966 4.907313010428966 -5.986895730548056 19 853008 null sample=1 period=1 cycle=853 experiment=8 -SML null C30H64N2O6 null null null 571.461957504937004 null null 610.321000000020035 null null null null null null 5.584753082732667 5.584753082732667 0.0 null [M + Na]+ C30H64N2O6 3 2 1.0 -5.658669244440071 5.658669244440071 -6.476307136286811 19 853008 null sample=1 period=1 cycle=853 experiment=8 -SML null C31H60N6O2 null null null 571.461957504937004 null null 610.321000000020035 null null null null null null 5.346531681460649 5.346531681460649 0.0 null [M + Na]+ C31H60N6O2 4 2 1.0 -9.251553314556515 9.251553314556515 -8.816606402788064 19 853008 null sample=1 period=1 cycle=853 experiment=8 -SML null C34H64N2O2 null null null 571.461957504937004 null null 610.321000000020035 null null null null null null 5.312451603507744 5.312451603507744 0.0 null [M + K]+ C34H64N2O2 5 2 1.0 9.710928596028868 9.710928596028868 3.534997946771918 19 853008 null sample=1 period=1 cycle=853 experiment=8 -SML null C14H20N10O7 null null null 463.137250632743985 null null 611.281000000019958 null null null null null null 4.433299582513639 4.433299582513639 0.0 null [M + Na]+ C14H20N10O7 1 2 1.0 -0.095698217001917 0.095698217001917 -7.801245401067781 21 854008 null sample=1 period=1 cycle=854 experiment=8 -SML null C23H20N8O null null null 463.137250632743985 null null 611.281000000019958 null null null null null null 4.203144319892965 4.203144319892965 0.0 null [M + K]+ C23H20N8O 2 2 1.0 4.869849748235222 4.869849748235222 -4.134254681277326 21 854008 null sample=1 period=1 cycle=854 experiment=8 -SML null C17H21FN6O7 null null null 463.137250632743985 null null 611.281000000019958 null null null null null null 4.10008145003479 4.10008145003479 0.0 null [M + Na]+ C17H21FN6O7 3 2 1.0 -0.095698217001917 0.095698217001917 5.300158106706689 21 854008 null sample=1 period=1 cycle=854 experiment=8 -SML null C26H18F2N4O null null null 463.137250632743985 null null 611.281000000019958 null null null null null null 4.018863224707272 4.018863224707272 0.0 null [M + Na]+ C26H18F2N4O 4 2 1.0 1.973170946666671 1.973170946666671 6.827990297000041 21 854008 null sample=1 period=1 cycle=854 experiment=8 -SML null C27H18N4O4 null null null 463.137250632743985 null null 611.281000000019958 null null null null null null 3.978205630617731 3.978205630617731 0.0 null [M + H]+ C27H18N4O4 5 2 1.0 -1.719050436694018 1.719050436694018 -6.112389669971726 21 854008 null sample=1 period=1 cycle=854 experiment=8 -SML null C21H41N3O12 null null null 566.228477510303037 null null 612.240000000000009 null null null null null null 4.757722501877893 4.757722501877893 0.0 null [M + K]+ C21H41N3O12 1 2 0.436619718309859 -2.2396451687519 2.2396451687519 -6.542132610342606 23 855004 null sample=1 period=1 cycle=855 experiment=4 -SML null C25H41N3O7S null null null 566.228477510303037 null null 612.240000000000009 null null null null null null 2.818482604517081 2.818482604517081 0.0 null [M + K]+ C25H41N3O7S 2 2 0.436619718309859 -2.806574118444672 2.806574118444672 -2.12324500664853 23 855004 null sample=1 period=1 cycle=855 experiment=4 -SML null C23H39N5O6P2 null null null 566.228477510303037 null null 612.240000000000009 null null null null null null 2.714244195568615 2.714244195568615 0.0 null [M + Na]+ C23H39N5O6P2 3 2 0.436619718309859 2.159947224077912 2.159947224077912 3.001583777574164 23 855004 null sample=1 period=1 cycle=855 experiment=4 -SML null C26H39N5O3S3 null null null 566.228477510303037 null null 612.240000000000009 null null null null null null 2.610241809429429 2.610241809429429 0.0 null [M + H]+ C26H39N5O3S3 4 2 0.436619718309859 -4.216098575435073 4.216098575435073 -0.533441533719245 23 855004 null sample=1 period=1 cycle=855 experiment=4 -SML null C26H37N7O3S null null null 566.228477510303037 null null 612.240000000000009 null null null null null null 2.536127191759609 2.536127191759609 0.0 null [M + K]+ C26H37N7O3S 5 2 0.436619718309859 -2.806574118444672 2.806574118444672 -4.485174957569314 23 855004 null sample=1 period=1 cycle=855 experiment=4 -SML null C33H53F null null null 507.377802577316004 null null 613.204999999980032 null null null null null null 7.417801407987388 7.417801407987388 0.0 null [M + K]+ C33H53F 1 2 1.0 1.785705379151822 1.785705379151822 2.985075850321597 26 856004 null sample=1 period=1 cycle=856 experiment=4 -SML null C30H54F2O null null null 507.377802577316004 null null 613.204999999980032 null null null null null null 6.89251885074948 6.89251885074948 0.0 null [M + K]+ C30H54F2O 2 2 1.0 -0.786499536769732 0.786499536769732 0.732568952817685 26 856004 null sample=1 period=1 cycle=856 experiment=4 -SML null C30H51F3O null null null 507.377802577316004 null null 613.204999999980032 null null null null null null 6.789598477570672 6.789598477570672 0.0 null [M + Na]+ C30H51F3O 3 2 1.0 -3.016272550100096 3.016272550100096 -1.220066726130651 26 856004 null sample=1 period=1 cycle=856 experiment=4 -SML null C33H47FN2O null null null 507.377802577316004 null null 613.204999999980032 null null null null null null 6.638628410173594 6.638628410173594 0.0 null [M + H]+ C33H47FN2O 4 2 1.0 5.767600448446966 5.767600448446966 6.472063241258406 26 856004 null sample=1 period=1 cycle=856 experiment=4 -SML null C32H52O3 null null null 507.377802577316004 null null 613.204999999980032 null null null null null null 3.5 3.5 0.0 null [M + Na]+ C32H52O3 5 1 0.0 nan nan -6.038196308384239 26 856004 null sample=1 period=1 cycle=856 experiment=4 -SML null C10H12O5 null null null 213.074829537142989 null null 614.173999999979969 null null null null null null 3.5 3.5 0.0 null [M + H]+ C10H12O5 1 1 0.0 nan nan -4.319604288913501 28 857003 null sample=1 period=1 cycle=857 experiment=3 -SML null C8H14O5 null null null 213.074829537142989 null null 614.173999999979969 null null null null null null 3.5 3.5 0.0 null [M + Na]+ C8H14O5 2 1 0.0 nan nan 6.970739132860442 28 857003 null sample=1 period=1 cycle=857 experiment=3 -SML null C6H8N6O3 null null null 213.074829537142989 null null 614.173999999979969 null null null null null null 1.0 1.0 0.0 null [M + H]+ C6H8N6O3 3 1 0.0 nan nan 8.28332964678035 28 857003 null sample=1 period=1 cycle=857 experiment=3 -SML null C9H10N4O null null null 213.074829537142989 null null 614.173999999979969 null null null null null null 1.0 1.0 0.0 null [M + Na]+ C9H10N4O 4 1 0.0 nan nan 0.694108509974577 28 857003 null sample=1 period=1 cycle=857 experiment=3 -SML null C6H14N4O2 null null null 213.074829537142989 null null 614.173999999979969 null null null null null null 1.0 1.0 0.0 null [M + K]+ C6H14N4O2 5 1 0.0 nan nan -0.019950491336188 28 857003 null sample=1 period=1 cycle=857 experiment=3 -SML null C11H15N2O9P null null null 373.040157682534982 null null 614.173999999979969 null null null null null null 23.830222282750416 23.830222282750416 0.0 null [M + Na]+ C11H15N2O9P 1 6 0.889909025895723 1.305298961381369 3.823427075478538 -1.554008445412062 29 857004 null sample=1 period=1 cycle=857 experiment=4 -SML null C12H19N2O4PS2 null null null 373.040157682534982 null null 614.173999999979969 null null null null null null 23.720375409778153 23.720375409778153 0.0 null [M + Na]+ C12H19N2O4PS2 2 9 0.940559246410657 5.456786647266265 6.842002799677939 -3.883591419560776 29 857004 null sample=1 period=1 cycle=857 experiment=4 -SML null C10H16N4O6P2 null null null 373.040157682534982 null null 614.173999999979969 null null null null null null 22.520973985256017 22.520973985256017 0.0 null [M + Na]+ C10H16N4O6P2 3 9 0.926745549906584 -4.234678553446738 4.234678553446738 -9.571381209189909 29 857004 null sample=1 period=1 cycle=857 experiment=4 -SML null C15H14N2O7 null null null 373.040157682534982 null null 614.173999999979969 null null null null null null 21.347779179714465 21.347779179714465 0.0 null [M + K]+ C15H14N2O7 4 5 0.5973656310428 0.101135136223425 1.746036431220398 -8.313328985286178 29 857004 null sample=1 period=1 cycle=857 experiment=4 -SML null C9H15N6O6P null null null 373.040157682534982 null null 614.173999999979969 null null null null null null 20.840561892315421 20.840561892315421 0.0 null [M + K]+ C9H15N6O6P 5 6 0.871490763890292 2.930105624214754 4.192444264217398 -5.546983382149036 29 857004 null sample=1 period=1 cycle=857 experiment=4 -SML null C20H37NO6 null null null 388.269335994209996 null null 614.173999999979969 null null null null null null 1.0 1.0 0.0 null [M + H]+ C20H37NO6 1 1 0.0 nan nan -0.073046923786965 30 857005 null sample=1 period=1 cycle=857 experiment=5 -SML null C19H35N5O2 null null null 388.269335994209996 null null 614.173999999979969 null null null null null null 1.0 1.0 0.0 null [M + Na]+ C19H35N5O2 2 1 0.0 nan nan 2.67838333606761 30 857005 null sample=1 period=1 cycle=857 experiment=5 -SML null C24H35N3 null null null 388.269335994209996 null null 614.173999999979969 null null null null null null 1.0 1.0 0.0 null [M + Na]+ C24H35N3 3 1 0.0 nan nan -7.682362741644806 30 857005 null sample=1 period=1 cycle=857 experiment=5 -SML null C21H33N5O2 null null null 388.269335994209996 null null 614.173999999979969 null null null null null null 1.0 1.0 0.0 null [M + H]+ C21H33N5O2 4 1 0.0 nan nan -3.517542473654744 30 857005 null sample=1 period=1 cycle=857 experiment=5 -SML null C16H33N7O4 null null null 388.269335994209996 null null 614.173999999979969 null null null null null null 1.0 1.0 0.0 null [M + H]+ C16H33N7O4 5 1 0.0 nan nan 6.843203604057673 30 857005 null sample=1 period=1 cycle=857 experiment=5 -SML null C26H51N5O3 null null null 482.403087306262989 null null 614.173999999979969 null null null null null null 6.5874834862548 6.5874834862548 0.0 null [M + H]+ C26H51N5O3 1 2 1.0 -6.616351530168046 6.616351530168046 -7.005837890510965 31 857007 null sample=1 period=1 cycle=857 experiment=7 -SML null C27H47BN6O null null null 482.403087306262989 null null 614.173999999979969 null null null null null null 4.765887509073973 4.765887509073973 0.0 null [M + H]+ C27H47BN6O 2 2 1.0 2.29709022075677 2.29709022075677 3.604309794474105 31 857007 null sample=1 period=1 cycle=857 experiment=7 -SML null C29H52FNO3 null null null 482.403087306262989 null null 614.173999999979969 null null null null null null 3.068738849958652 3.068738849958652 0.0 null [M + H]+ C29H52FNO3 3 2 1.0 -6.616351530168046 6.616351530168046 5.572332025239653 31 857007 null sample=1 period=1 cycle=857 experiment=7 -SML null C26H51BN2O5 null null null 482.403087306262989 null null 614.173999999979969 null null null null null null 2.747610168438948 2.747610168438948 0.0 null [M + H]+ C26H51BN2O5 4 2 1.0 -6.616351530168046 6.616351530168046 6.376663527635651 31 857007 null sample=1 period=1 cycle=857 experiment=7 -SML null C32H51NO2 null null null 482.403087306262989 null null 614.173999999979969 null null null null null null 1.0 1.0 0.0 null [M + H]+ C32H51NO2 5 1 0.0 nan nan 7.941454508115075 31 857007 null sample=1 period=1 cycle=857 experiment=7 -SML null C34H55NO3 null null null 526.429648899930044 null null 614.173999999979969 null null null null null null 9.809958490774431 9.809958490774431 0.0 null [M + H]+ C34H55NO3 1 3 0.8 6.462990336347634 6.462990336347634 7.936156043317339 32 857008 null sample=1 period=1 cycle=857 experiment=8 -SML null C30H57N5 null null null 526.429648899930044 null null 614.173999999979969 null null null null null null 9.033932158913366 9.033932158913366 0.0 null [M + K]+ C30H57N5 2 3 0.8 7.019507994789919 7.019507994789919 9.676460758110611 32 857008 null sample=1 period=1 cycle=857 experiment=8 -SML null C24H51N11O2 null null null 526.429648899930044 null null 614.173999999979969 null null null null null null 8.538047571343183 8.538047571343183 0.0 null [M + H]+ C24H51N11O2 3 3 0.8 -6.119422254982977 6.119422254982977 -0.659963133222153 32 857008 null sample=1 period=1 cycle=857 experiment=8 -SML null C27H53N9 null null null 526.429648899930044 null null 614.173999999979969 null null null null null null 8.197651351338704 8.197651351338704 0.0 null [M + Na]+ C27H53N9 4 2 0.6 -9.999476041150038 9.999476041150038 -3.731735407872217 32 857008 null sample=1 period=1 cycle=857 experiment=8 -SML null C31H59NO3S null null null 526.429648899930044 null null 614.173999999979969 null null null null null null 6.85711312302807 6.85711312302807 0.0 null [M + H]+ C31H59NO3S 5 3 0.8 -2.910393376606797 2.910393376606797 1.532398186838836 32 857008 null sample=1 period=1 cycle=857 experiment=8 -SML null C18H20O11 null null null 413.109579675280997 null null 616.093999999980042 null null null null null null 14.292209193029343 14.292209193029343 0.0 null [M + H]+ C18H20O11 1 6 0.775725593667546 3.924054898021201 3.924054898021201 4.216225612186144 35 859003 null sample=1 period=1 cycle=859 experiment=3 -SML null C19H22N2O6 null null null 413.109579675280997 null null 616.093999999980042 null null null null null null 12.819162190706074 12.819162190706074 0.0 null [M + K]+ C19H22N2O6 2 6 0.815303430079156 -0.131482556141338 2.714312399532566 -3.303842071539723 35 859003 null sample=1 period=1 cycle=859 experiment=3 -SML null C15H24O11S null null null 413.109579675280997 null null 616.093999999980042 null null null null null null 12.660029038223566 12.660029038223566 0.0 null [M + H]+ C15H24O11S 3 7 0.973614775725594 1.195942585932246 1.195942585932246 -3.944146758447272 35 859003 null sample=1 period=1 cycle=859 experiment=3 -SML null C13H23N6O5P null null null 413.109579675280997 null null 616.093999999980042 null null null null null null 12.324032812961905 12.324032812961905 0.0 null [M + K]+ C13H23N6O5P 4 7 0.973614775725594 0.274940520665822 5.923487618807297 -0.80581721151837 35 859003 null sample=1 period=1 cycle=859 experiment=3 -SML null C16H28O6S3 null null null 413.109579675280997 null null 616.093999999980042 null null null null null null 12.072418633913491 12.072418633913491 0.0 null [M + H]+ C16H28O6S3 5 7 0.973614775725594 -1.345352660301492 2.798781926730509 -6.047772630740976 35 859003 null sample=1 period=1 cycle=859 experiment=3 -SML null C28H53N5O5 null null null 540.409335498831979 null null 616.093999999980042 null null null null null null 8.562201213966528 8.562201213966528 0.0 null [M + H]+ C28H53N5O5 1 3 1.0 0.193050989235034 2.159177666783332 -4.831058767989835 36 859005 null sample=1 period=1 cycle=859 experiment=5 -SML null C26H55N5O5 null null null 540.409335498831979 null null 616.093999999980042 null null null null null null 7.983537782900839 7.983537782900839 0.0 null [M + Na]+ C26H55N5O5 2 3 1.0 7.137682449104624 7.137682449104624 -0.379455433393772 36 859005 null sample=1 period=1 cycle=859 experiment=5 -SML null C24H55N9O2 null null null 540.409335498831979 null null 616.093999999980042 null null null null null null 7.693823911659977 7.693823911659977 0.0 null [M + K]+ C24H55N9O2 3 3 1.0 2.837745655618497 2.837745655618497 -3.135773472553824 36 859005 null sample=1 period=1 cycle=859 experiment=5 -SML null C31H55N3O3 null null null 540.409335498831979 null null 616.093999999980042 null null null null null null 6.275805859763853 6.275805859763853 0.0 null [M + Na]+ C31H55N3O3 4 3 1.0 1.689763660980973 3.717451743960798 -7.82336828934907 36 859005 null sample=1 period=1 cycle=859 experiment=5 -SML null C27H57NO9 null null null 540.409335498831979 null null 616.093999999980042 null null null null null null 5.860735133057289 5.860735133057289 0.0 null [M + H]+ C27H57NO9 5 3 1.0 6.111411465722526 6.111411465722526 -2.356282867333573 36 859005 null sample=1 period=1 cycle=859 experiment=5 -SML null C21H41N3O12 null null null 566.23013795246402 null null 616.093999999980042 null null null null null null 4.365315043688498 4.365315043688498 0.0 null [M + K]+ C21H41N3O12 1 2 0.451127819548872 -6.763028731463948 6.763028731463948 -3.609662378680514 37 859006 null sample=1 period=1 cycle=859 experiment=6 -SML null C25H41N3O7S null null null 566.23013795246402 null null 616.093999999980042 null null null null null null 2.632316674128045 2.632316674128045 0.0 null [M + K]+ C25H41N3O7S 2 2 0.451127819548872 1.552130240029961 1.552130240029961 0.809212266841981 37 859006 null sample=1 period=1 cycle=859 experiment=6 -SML null C26H39N5O3S3 null null null 566.23013795246402 null null 616.093999999980042 null null null null null null 2.453266835792515 2.453266835792515 0.0 null [M + H]+ C26H39N5O3S3 3 2 0.451127819548872 0.081608948509376 0.081608948509376 2.399011077750407 37 859006 null sample=1 period=1 cycle=859 experiment=6 -SML null C25H41N3O6S2 null null null 566.23013795246402 null null 616.093999999980042 null null null null null null 2.187912946765366 2.187912946765366 0.0 null [M + Na]+ C25H41N3O6S2 4 2 0.451127819548872 -9.14541599163535 9.14541599163535 -4.875720032185424 37 859006 null sample=1 period=1 cycle=859 experiment=6 -SML null C29H41N3O2S2 null null null 566.23013795246402 null null 616.093999999980042 null null null null null null 2.134286094595516 2.134286094595516 0.0 null [M + K]+ C29H41N3O2S2 5 2 0.451127819548872 9.867289211334963 9.867289211334963 5.228086911962921 37 859006 null sample=1 period=1 cycle=859 experiment=6 -SML null C9H12O12 null null null 313.040294397041976 null null 617.057999999999993 null null null null null null 3.463116399707183 3.463116399707183 0.0 null [M + H]+ C9H12O12 1 1 0.0 0.45400210135818 0.45400210135818 0.45400210135818 39 860003 null sample=1 period=1 cycle=860 experiment=3 -SML null C7H14O12 null null null 313.040294397041976 null null 617.057999999999993 null null null null null null 2.538551146245938 2.538551146245938 0.0 null [M + Na]+ C7H14O12 2 1 0.0 8.138916928837395 8.138916928837395 8.138916928837395 39 860003 null sample=1 period=1 cycle=860 experiment=3 -SML null C22H10 null null null 313.040294397041976 null null 617.057999999999993 null null null null null null 2.282501290889216 2.282501290889216 0.0 null [M + K]+ C22H10 3 1 0.0 -3.558720933047197 3.558720933047197 -3.558720933047197 39 860003 null sample=1 period=1 cycle=860 experiment=3 -SML null C9H6N8O4 null null null 313.040294397041976 null null 617.057999999999993 null null null null null null 0.96711018055271 0.96711018055271 0.0 null [M + Na]+ C9H6N8O4 4 1 0.0 -0.405618863825295 0.405618863825295 -0.405618863825295 39 860003 null sample=1 period=1 cycle=860 experiment=3 -SML null C10H8N4O8 null null null 313.040294397041976 null null 617.057999999999993 null null null null null null 0.647018231053797 0.647018231053797 0.0 null [M + H]+ C10H8N4O8 5 1 0.0 -3.818265795063957 3.818265795063957 -3.818265795063957 39 860003 null sample=1 period=1 cycle=860 experiment=3 -SML null C15H22O13 null null null 411.113304946066023 null null 617.057999999999993 null null null null null null 13.861516721729579 11.917311273161568 1.944205448568011 null [M + H]+ C15H22O13 1 2 1.0 -1.569905079035442 1.569905079035442 -0.029845846303812 40 860005 null sample=1 period=1 cycle=860 experiment=5 -SML null C28H20O null null null 411.113304946066023 null null 617.057999999999993 null null null null null null 11.708685380310492 11.708685380310492 0.0 null [M + K]+ C28H20O 2 2 1.0 -5.582636234823469 5.582636234823469 -3.085314946560738 40 860005 null sample=1 period=1 cycle=860 experiment=5 -SML null C13H24O13 null null null 411.113304946066023 null null 617.057999999999993 null null null null null null 11.676641814621039 11.676641814621039 0.0 null [M + Na]+ C13H24O13 3 2 1.0 6.115025302005134 6.115025302005134 5.821796440930682 40 860005 null sample=1 period=1 cycle=860 experiment=5 -SML null C15H16N8O5 null null null 411.113304946066023 null null 617.057999999999993 null null null null null null 11.66973628859957 8.808034253650018 2.861702034949551 null [M + Na]+ C15H16N8O5 4 2 1.0 -2.429527784012751 2.429527784012751 -0.684400191095362 40 860005 null sample=1 period=1 cycle=860 experiment=5 -SML null C16H18N4O9 null null null 411.113304946066023 null null 617.057999999999993 null null null null null null 11.325828324853822 8.623867761703926 2.701960563149896 null [M + H]+ C16H18N4O9 5 2 1.0 -5.842181622135178 5.842181622135178 -3.282944162247701 40 860005 null sample=1 period=1 cycle=860 experiment=5 -SML null C23H25N3O7 null null null 456.172639883827003 null null 617.057999999999993 null null null null null null 6.422696285145079 6.422696285145079 0.0 null [M + H]+ C23H25N3O7 1 2 1.0 -1.295755987703123 1.295755987703123 -8.520257296786948 41 860007 null sample=1 period=1 cycle=860 experiment=7 -SML null C19H27N7O4 null null null 456.172639883827003 null null 617.057999999999993 null null null null null null 6.407730581647435 6.407730581647435 0.0 null [M + K]+ C19H27N7O4 2 2 1.0 1.630812676522861 1.630812676522861 -6.511921153966824 41 860007 null sample=1 period=1 cycle=860 experiment=7 -SML null C22H23N7O3 null null null 456.172639883827003 null null 617.057999999999993 null null null null null null 6.385351595915552 6.385351595915552 0.0 null [M + Na]+ C22H23N7O3 3 2 1.0 2.116838481366128 2.116838481366128 -6.178389533082018 41 860007 null sample=1 period=1 cycle=860 experiment=7 -SML null C18H31N3O8 null null null 456.172639883827003 null null 617.057999999999993 null null null null null null 6.182696599929702 6.182696599929702 0.0 null [M + K]+ C18H31N3O8 4 2 1.0 5.903014895754728 5.903014895754728 -3.580153917065536 41 860007 null sample=1 period=1 cycle=860 experiment=7 -SML null C21H27N3O7 null null null 456.172639883827003 null null 617.057999999999993 null null null null null null 6.15290396912128 6.15290396912128 0.0 null [M + Na]+ C21H27N3O7 5 2 1.0 6.389040700779578 6.389040700779578 -3.24662229618073 41 860007 null sample=1 period=1 cycle=860 experiment=7 -SML null C26H51N5O3 null null null 482.407140340066974 null null 617.057999999999993 null null null null null null 10.722442608007905 10.722442608007905 0.0 null [M + H]+ C26H51N5O3 1 2 1.0 1.546558632641359 1.546558632641359 1.395907979222642 42 860008 null sample=1 period=1 cycle=860 experiment=8 -SML null C29H53N3O null null null 482.407140340066974 null null 617.057999999999993 null null null null null null 10.67492997195748 10.67492997195748 0.0 null [M + Na]+ C29H53N3O 2 2 1.0 -2.56474925847262 2.56474925847262 -1.956181707608681 42 860008 null sample=1 period=1 cycle=860 experiment=8 -SML null C26H57N3O2 null null null 482.407140340066974 null null 617.057999999999993 null null null null null null 10.655948784217028 10.655948784217028 0.0 null [M + K]+ C26H57N3O2 3 2 1.0 -2.951576358907952 2.951576358907952 -2.271575049285469 42 860008 null sample=1 period=1 cycle=860 experiment=8 -SML null C31H51N3O null null null 482.407140340066974 null null 617.057999999999993 null null null null null null 10.311194139199582 10.311194139199582 0.0 null [M + H]+ C31H51N3O 4 2 1.0 -8.68106569835628 8.68106569835628 -6.943023316782265 42 860008 null sample=1 period=1 cycle=860 experiment=8 -SML null C27H58NO2P null null null 482.407140340066974 null null 617.057999999999993 null null null null null null 8.425039657384723 8.425039657384723 0.0 null [M + Na]+ C27H58NO2P 5 2 1.0 -6.768444319897811 6.768444319897811 -5.383597808681453 42 860008 null sample=1 period=1 cycle=860 experiment=8 -SML null C9H12O12 null null null 313.039590353460994 null null 618.022000000019943 null null null null null null 3.346313668843342 3.346313668843342 0.0 null [M + H]+ C9H12O12 1 1 0.0 -1.795052916088935 1.795052916088935 -1.795052916088935 44 861002 null sample=1 period=1 cycle=861 experiment=2 -SML null C7H14O12 null null null 313.039590353460994 null null 618.022000000019943 null null null null null null 2.829103795040653 2.829103795040653 0.0 null [M + Na]+ C7H14O12 2 1 0.0 5.889879195194379 5.889879195194379 5.889879195194379 44 861002 null sample=1 period=1 cycle=861 experiment=2 -SML null C22H10 null null null 313.039590353460994 null null 618.022000000019943 null null null null null null 2.030979709561981 2.030979709561981 0.0 null [M + K]+ C22H10 3 1 0.0 -5.807784975333283 5.807784975333283 -5.807784975333283 44 861002 null sample=1 period=1 cycle=861 experiment=2 -SML null C8H10N4O8 null null null 313.039590353460994 null null 618.022000000019943 null null null null null null 0.862454527863333 0.862454527863333 0.0 null [M + Na]+ C8H10N4O8 4 1 0.0 1.617601690383916 1.617601690383916 1.617601690383916 44 861002 null sample=1 period=1 cycle=861 experiment=2 -SML null C9H6N8O4 null null null 313.039590353460994 null null 618.022000000019943 null null null null null null 0.765099202893499 0.765099202893499 0.0 null [M + Na]+ C9H6N8O4 5 1 0.0 -2.654675814608132 2.654675814608132 -2.654675814608132 44 861002 null sample=1 period=1 cycle=861 experiment=2 -SML null C17H29NO13 null null null 456.171915734524987 null null 618.022000000019943 null null null null null null 8.35428234420319 8.35428234420319 0.0 null [M + H]+ C17H29NO13 1 2 1.0 -2.737109915480619 2.737109915480619 1.642570286795827 45 861003 null sample=1 period=1 cycle=861 experiment=3 -SML null C30H27NO null null null 456.171915734524987 null null 618.022000000019943 null null null null null null 8.128871768552493 8.128871768552493 0.0 null [M + K]+ C30H27NO 2 2 1.0 -6.749845754940504 6.749845754940504 -1.111093313913604 45 861003 null sample=1 period=1 cycle=861 experiment=3 -SML null C16H27N5O9 null null null 456.171915734524987 null null 618.022000000019943 null null null null null null 7.878749637401727 7.878749637401727 0.0 null [M + Na]+ C16H27N5O9 3 2 1.0 0.675547905901619 0.675547905901619 3.984441768094603 45 861003 null sample=1 period=1 cycle=861 experiment=3 -SML null C30H21N3O2 null null null 456.171915734524987 null null 618.022000000019943 null null null null null null 7.860681497085573 7.860681497085573 0.0 null [M + H]+ C30H21N3O2 4 2 1.0 -1.098095237589822 1.098095237589822 2.767312916164582 45 861003 null sample=1 period=1 cycle=861 experiment=3 -SML null C17H23N9O5 null null null 456.171915734524987 null null 618.022000000019943 null null null null null null 7.741548584132127 7.741548584132127 0.0 null [M + Na]+ C17H23N9O5 5 2 1.0 -3.596733623812131 3.596733623812131 1.052669877164592 45 861003 null sample=1 period=1 cycle=861 experiment=3 -SML null C36H52O6 null null null 603.36131248038896 null null 618.022000000019943 null null null null null null 3.852665756920889 3.852665756920889 0.0 null [M + Na]+ C36H52O6 1 2 0.714285714285714 0.014735963563312 0.014735963563312 -7.122769744442348 46 861005 null sample=1 period=1 cycle=861 experiment=5 -SML null C33H56O7 null null null 603.36131248038896 null null 618.022000000019943 null null null null null null 3.833773864756204 3.833773864756204 0.0 null [M + K]+ C33H56O7 2 2 0.714285714285714 -0.479087656043326 0.479087656043326 -7.37493705586356 46 861005 null sample=1 period=1 cycle=861 experiment=5 -SML null C40H52O2 null null null 603.36131248038896 null null 618.022000000019943 null null null null null null 3.5 3.5 0.0 null [M + K]+ C40H52O2 3 1 0.0 nan nan 2.35924357262763 46 861005 null sample=1 period=1 cycle=861 experiment=5 -SML null C45H46O null null null 603.36131248038896 null null 618.022000000019943 null null null null null null 3.5 3.5 0.0 null [M + H]+ C45H46O 4 1 0.0 nan nan -1.37573239197173 46 861005 null sample=1 period=1 cycle=861 experiment=5 -SML null C43H48O null null null 603.36131248038896 null null 618.022000000019943 null null null null null null 3.5 3.5 0.0 null [M + Na]+ C43H48O 5 1 0.0 nan nan 2.611410884048842 46 861005 null sample=1 period=1 cycle=861 experiment=5 -SML null C29H51N3O5 null null null 522.38651805643201 null null 618.982999999980052 null null null null null null 1.0 1.0 0.0 null [M + H]+ C29H51N3O5 1 1 0.0 nan nan -6.949122025670161 48 862004 null sample=1 period=1 cycle=862 experiment=4 -SML null C36H47N3 null null null 522.38651805643201 null null 618.982999999980052 null null null null null null 1.0 1.0 0.0 null [M + H]+ C36H47N3 2 1 0.0 nan nan 4.293947611526791 48 862004 null sample=1 period=1 cycle=862 experiment=4 -SML null C30H47N7O null null null 522.38651805643201 null null 618.982999999980052 null null null null null null 1.0 1.0 0.0 null [M + H]+ C30H47N7O 3 1 0.0 nan nan -9.509279981043925 48 862004 null sample=1 period=1 cycle=862 experiment=4 -SML null C31H53N3O null null null 522.38651805643201 null null 618.982999999980052 null null null null null null 1.0 1.0 0.0 null [M + K]+ C31H53N3O 4 1 0.0 nan nan 8.607879771097275 48 862004 null sample=1 period=1 cycle=862 experiment=4 -SML null C25H47N9O3 null null null 522.38651805643201 null null 618.982999999980052 null null null null null null 1.0 1.0 0.0 null [M + H]+ C25H47N9O3 5 1 0.0 nan nan -1.808545255031244 48 862004 null sample=1 period=1 cycle=862 experiment=4 -SML null C32H43N9O3 null null null 602.355320245104963 null null 618.982999999980052 null null null null null null 6.955514843428635 6.955514843428635 0.0 null [M + H]+ C32H43N9O3 1 2 0.552501381197249 -1.918108645384416 1.918108645384416 -1.398581463893163 49 862006 null sample=1 period=1 cycle=862 experiment=6 -SML null C27H49N9O4 null null null 602.355320245104963 null null 618.982999999980052 null null null null null null 6.773744877209534 6.773744877209534 0.0 null [M + K]+ C27H49N9O4 2 2 0.552501381197249 5.396148465222392 5.396148465222392 2.34263227547646 49 862006 null sample=1 period=1 cycle=862 experiment=6 -SML null C30H45N9O3 null null null 602.355320245104963 null null 618.982999999980052 null null null null null null 6.744400283004429 6.744400283004429 0.0 null [M + Na]+ C30H45N9O3 3 2 0.552501381197249 5.88997133554043 5.88997133554043 2.595220730944644 49 862006 null sample=1 period=1 cycle=862 experiment=6 -SML null C35H45N7O null null null 602.355320245104963 null null 618.982999999980052 null null null null null null 6.664303873031611 6.664303873031611 0.0 null [M + Na]+ C35H45N7O 4 2 0.552501381197249 -7.166597855441706 7.166597855441706 -4.083163048374841 49 862006 null sample=1 period=1 cycle=862 experiment=6 -SML null C32H49N7O2 null null null 602.355320245104963 null null 618.982999999980052 null null null null null null 6.631658587354478 6.631658587354478 0.0 null [M + K]+ C32H49N7O2 5 2 0.552501381197249 -7.660420725759744 7.660420725759744 -4.335751503654287 49 862006 null sample=1 period=1 cycle=862 experiment=6 diff --git a/src/tests/topp/THIRDPARTY/SiriusAdapter_1_ann_out.mzML b/src/tests/topp/THIRDPARTY/SiriusAdapter_1_ann_out.mzML deleted file mode 100644 index 28874e4b7cc..00000000000 --- a/src/tests/topp/THIRDPARTY/SiriusAdapter_1_ann_out.mzML +++ /dev/null @@ -1,2555 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - wD46deVBckA= - - - - - - AACTQw== - - - - - - GQ+SQw== - - - - - - QzE1SDE3Tk81AA== - - - - - - W00gKyBIXSsA - - - - - - - - - - - - - - - - - - - - - - - - wD46deVBckA= - - - - - - AACTQw== - - - - - - RQ+SQw== - - - - - - QzE2SDEzTjVPAA== - - - - - - W00gKyBIXSsA - - - - - - - - - - - - - - - - - - - - - - - - wD46deVBckA= - - - - - - AACTQw== - - - - - - +w6SQw== - - - - - - QzExSDE5TjVPMgA= - - - - - - W00gKyBLXSsA - - - - - - - - - - - - - - - - - - - - - - - - wD46deVBckA= - - - - - - AACTQw== - - - - - - 9g6SQw== - - - - - - QzE0SDE1TjVPAA== - - - - - - W00gKyBOYV0rAA== - - - - - - - - - - - - - - - - - - - - - - - - wD46deVBckA= - - - - - - AACTQw== - - - - - - fw+SQw== - - - - - - QzE2SDE5TjMA - - - - - - W00gKyBLXSsA - - - - - - - - - - - - - - - - - - - - - - - - pWd6ifFBckA= - - - - - - AIBHRA== - - - - - - fw+SQw== - - - - - - QzE2SDE5TjMA - - - - - - W00gKyBLXSsA - - - - - - - - - - - - - - - - - - - - - - - - pWd6ifFBckA= - - - - - - AIBHRA== - - - - - - RQ+SQw== - - - - - - QzE2SDEzTjVPAA== - - - - - - W00gKyBIXSsA - - - - - - - - - - - - - - - - - - - - - - - - pWd6ifFBckA= - - - - - - AIBHRA== - - - - - - 4g+SQw== - - - - - - QzhIMTVOOU8yAA== - - - - - - W00gKyBOYV0rAA== - - - - - - - - - - - - - - - - - - - - - - - - pWd6ifFBckA= - - - - - - AIBHRA== - - - - - - kA+SQw== - - - - - - QzEwSDE1RjJONU8zAA== - - - - - - W00gKyBIXSsA - - - - - - - - - - - - - - - - - - - - - - - - pWd6ifFBckA= - - - - - - AIBHRA== - - - - - - hw+SQw== - - - - - - QzEySDIxTk81UwA= - - - - - - W00gKyBIXSsA - - - - - - - - - - - - - - - - - - - - - - - - CK9d2vBBckA= - - - - - - ANAGRQ== - - - - - - fw+SQw== - - - - - - QzE2SDE5TjMA - - - - - - W00gKyBLXSsA - - - - - - - - - - - - - - - - - - - - - - - - CK9d2vBBckA= - - - - - - ANAGRQ== - - - - - - RQ+SQw== - - - - - - QzE2SDEzTjVPAA== - - - - - - W00gKyBIXSsA - - - - - - - - - - - - - - - - - - - - - - - - CK9d2vBBckA= - - - - - - ANAGRQ== - - - - - - hw+SQw== - - - - - - QzEySDIxTk81UwA= - - - - - - W00gKyBIXSsA - - - - - - - - - - - - - - - - - - - - - - - - CK9d2vBBckA= - - - - - - ANAGRQ== - - - - - - 4g+SQw== - - - - - - QzhIMTVOOU8yAA== - - - - - - W00gKyBOYV0rAA== - - - - - - - - - - - - - - - - - - - - - - - - CK9d2vBBckA= - - - - - - ANAGRQ== - - - - - - gQ+SQw== - - - - - - QzE1SDE4Q2xOM08A - - - - - - W00gKyBIXSsA - - - - - - - - - - - - - - - - - - - - - - - - ujKoNviBckA= - - - - - - AACoQg== - - - - - - wA+UQw== - - - - - - QzEySDE1TjdPAA== - - - - - - W00gKyBOYV0rAA== - - - - - - - - - - - - - - - - - - - - - - - - ujKoNviBckA= - - - - - - AACoQg== - - - - - - xA+UQw== - - - - - - QzlIMTlON08yAA== - - - - - - W00gKyBLXSsA - - - - - - - - - - - - - - - - - - - - - - - - ujKoNviBckA= - - - - - - AACoQg== - - - - - - 4g+UQw== - - - - - - QzEzSDE3TjNPNQA= - - - - - - W00gKyBIXSsA - - - - - - - - - - - - - - - - - - - - - - - - ujKoNviBckA= - - - - - - AACoQg== - - - - - - lA+UQw== - - - - - - QzExSDE5TjNPNQA= - - - - - - W00gKyBOYV0rAA== - - - - - - - - - - - - - - - - - - - - - - - - ujKoNviBckA= - - - - - - AACoQg== - - - - - - ig+UQw== - - - - - - QzlIMTNOOU8zAA== - - - - - - W00gKyBIXSsA - - - - - - - - - - - - - - - - - - - - - - - - aAjHLPuBckA= - - - - - - AAB8Qw== - - - - - - 4g+UQw== - - - - - - QzEzSDE3TjNPNQA= - - - - - - W00gKyBIXSsA - - - - - - - - - - - - - - - - - - - - - - - - aAjHLPuBckA= - - - - - - AAB8Qw== - - - - - - xA+UQw== - - - - - - QzlIMTlON08yAA== - - - - - - W00gKyBLXSsA - - - - - - - - - - - - - - - - - - - - - - - - aAjHLPuBckA= - - - - - - AAB8Qw== - - - - - - wA+UQw== - - - - - - QzEySDE1TjdPAA== - - - - - - W00gKyBOYV0rAA== - - - - - - - - - - - - - - - - - - - - - - - - aAjHLPuBckA= - - - - - - AAB8Qw== - - - - - - DhCUQw== - - - - - - QzE0SDEzTjdPAA== - - - - - - W00gKyBIXSsA - - - - - - - - - - - - - - - - - - - - - - - - aAjHLPuBckA= - - - - - - AAB8Qw== - - - - - - GBCUQw== - - - - - - QzE2SDE5Tk8zAA== - - - - - - W00gKyBOYV0rAA== - - - - - - - - - - - - - - - - - - - - - - - - 0HtjCACCckA= - - - - - - zbwWRA== - - - - - - DhCUQw== - - - - - - QzE0SDEzTjdPAA== - - - - - - W00gKyBIXSsA - - - - - - - - - - - - - - - - - - - - - - - - 0HtjCACCckA= - - - - - - zbwWRA== - - - - - - GBCUQw== - - - - - - QzE2SDE5Tk8zAA== - - - - - - W00gKyBOYV0rAA== - - - - - - - - - - - - - - - - - - - - - - - - 0HtjCACCckA= - - - - - - zbwWRA== - - - - - - HBCUQw== - - - - - - QzEzSDIzTk80AA== - - - - - - W00gKyBLXSsA - - - - - - - - - - - - - - - - - - - - - - - - 0HtjCACCckA= - - - - - - zbwWRA== - - - - - - 4g+UQw== - - - - - - QzEzSDE3TjNPNQA= - - - - - - W00gKyBIXSsA - - - - - - - - - - - - - - - - - - - - - - - - 0HtjCACCckA= - - - - - - zbwWRA== - - - - - - xA+UQw== - - - - - - QzlIMTlON08yAA== - - - - - - W00gKyBLXSsA - - - - - - - - - - - - - - - - - - - - - - - - 9wDdl/NBckA= - - - - - - gEvaRw== - - - - - - fw+SQw== - - - - - - QzE2SDE5TjMA - - - - - - W00gKyBLXSsA - - - - - - - - - - - - - - - - - - - - - - - - 9wDdl/NBckA= - - - - - - gEvaRw== - - - - - - RQ+SQw== - - - - - - QzE2SDEzTjVPAA== - - - - - - W00gKyBIXSsA - - - - - - - - - - - - - - - - - - - - - - - - 9wDdl/NBckA= - - - - - - gEvaRw== - - - - - - 4g+SQw== - - - - - - QzhIMTVOOU8yAA== - - - - - - W00gKyBOYV0rAA== - - - - - - - - - - - - - - - - - - - - - - - - 9wDdl/NBckA= - - - - - - gEvaRw== - - - - - - nw+SQw== - - - - - - QzE2SDE2Rk4zAA== - - - - - - W00gKyBOYV0rAA== - - - - - - - - - - - - - - - - - - - - - - - - 9wDdl/NBckA= - - - - - - gEvaRw== - - - - - - mA+SQw== - - - - - - QzEwSDE5Qk40TzMA - - - - - - W00gKyBLXSsA - - - - - - - - - - - - - - - - - - - - - - - - QPuRIvJBckA= - - - - - - gFQJSA== - - - - - - fw+SQw== - - - - - - QzE2SDE5TjMA - - - - - - W00gKyBLXSsA - - - - - - - - - - - - - - - - - - - - - - - - QPuRIvJBckA= - - - - - - gFQJSA== - - - - - - RQ+SQw== - - - - - - QzE2SDEzTjVPAA== - - - - - - W00gKyBIXSsA - - - - - - - - - - - - - - - - - - - - - - - - QPuRIvJBckA= - - - - - - gFQJSA== - - - - - - 4g+SQw== - - - - - - QzhIMTVOOU8yAA== - - - - - - W00gKyBOYV0rAA== - - - - - - - - - - - - - - - - - - - - - - - - QPuRIvJBckA= - - - - - - gFQJSA== - - - - - - kA+SQw== - - - - - - QzEwSDE1RjJONU8zAA== - - - - - - W00gKyBIXSsA - - - - - - - - - - - - - - - - - - - - - - - - QPuRIvJBckA= - - - - - - gFQJSA== - - - - - - kw+SQw== - - - - - - QzEzSDE1Qk40TzIA - - - - - - W00gKyBOYV0rAA== - - - - - - - - - - - - - - - - - - - - - - - - 9Z81P/5yckA= - - - - - - AAAAAA== - - - - - - D5iTQw== - - - - - - QzE1SDI4TzQA - - - - - - W00gKyBOYV0rAA== - - - - - - - - - - - - - - - - - - - - - - - - 9Z81P/5yckA= - - - - - - AAAAAA== - - - - - - QZiTQw== - - - - - - QzEzSDI4TjRPAA== - - - - - - W00gKyBLXSsA - - - - - - - - - - - - - - - - - - - - - - - - 9Z81P/5yckA= - - - - - - AAAAAA== - - - - - - 25eTQw== - - - - - - QzEySDI2TjJPNgA= - - - - - - W00gKyBIXSsA - - - - - - - - - - - - - - - - - - - - - - - - 9Z81P/5yckA= - - - - - - AAAAAA== - - - - - - O5iTQw== - - - - - - QzE2SDI0TjQA - - - - - - W00gKyBOYV0rAA== - - - - - - - - - - - - - - - - - - - - - - - - 9Z81P/5yckA= - - - - - - AAAAAA== - - - - - - t5eTQw== - - - - - - QzExSDI0TjZPMgA= - - - - - - W00gKyBOYV0rAA== - - - - - - - - - - - - - - - - - - - - - - - - 9Z81P/5yckA= - - - - - - AAAAAA== - - - - - - B5iTQw== - - - - - - QzEzSDIyTjZPMgA= - - - - - - W00gKyBIXSsA - - - - - - - - - - - - - - - - - - - - - - - - stmR6vshckA= - - - - - - AACoQg== - - - - - - zA+RQw== - - - - - - QzEySDE5Tk83AA== - - - - - - W00gKyBIXSsA - - - - - - - - - - - - - - - - - - - - - - - - stmR6vshckA= - - - - - - AACoQg== - - - - - - +A+RQw== - - - - - - QzEzSDE1TjVPMwA= - - - - - - W00gKyBIXSsA - - - - - - - - - - - - - - - - - - - - - - - - stmR6vshckA= - - - - - - AACoQg== - - - - - - qg+RQw== - - - - - - QzExSDE3TjVPMwA= - - - - - - W00gKyBOYV0rAA== - - - - - - - - - - - - - - - - - - - - - - - - stmR6vshckA= - - - - - - AACoQg== - - - - - - 2g+RQw== - - - - - - QzlIMTdOOQA= - - - - - - W00gKyBLXSsA - - - - - - - - - - - - - - - - - - - - - - - - stmR6vshckA= - - - - - - AACoQg== - - - - - - LRCRQw== - - - - - - QzE2SDE3TjNPAA== - - - - - - W00gKyBOYV0rAA== - - - - - - - - - 3030 - 5983 - 8910 - 11838 - 14770 - 17692 - 20612 - 23539 - 26471 - 29405 - 32333 - 35254 - 38182 - 41111 - 44044 - 46974 - 49905 - 52833 - 55762 - 58696 - 61624 - 64551 - 67479 - 70412 - 73340 - 76273 - 79199 - 82132 - 85060 - 87989 - 90917 - 93838 - 96766 - 99699 - 102632 - 105562 - 108483 - 111411 - 114344 - 117279 - 120214 - 123140 - 126068 - 128997 - 131925 - 134859 - 137788 - 140714 - 143643 - 146577 - 149499 - - -152462 -0 - \ No newline at end of file diff --git a/src/tests/topp/THIRDPARTY/SiriusAdapter_1_input.mzML b/src/tests/topp/THIRDPARTY/SiriusAdapter_1_input.mzML deleted file mode 100644 index df3b66a009a..00000000000 --- a/src/tests/topp/THIRDPARTY/SiriusAdapter_1_input.mzML +++ /dev/null @@ -1,2241 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sSFyd+xBckA= - - - - - - AKCARA== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - yJ1gdeVBckBhfVIe4WFyQA== - - - - - - AGDvRAAAQ0Q= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - uldW5/BBckA= - - - - - - AACTQw== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - lBJlifFBckBRvpkb+FFyQD/ATxjfYXJA - - - - - - ACi2RQCAikQA4LNE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sdNZ+/BBckA= - - - - - - AIBHRA== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DM7E2vBBckCa1rHJAVJyQGblgjvmYXJA3o1KAu9xckA= - - - - - - AIAPRgBguUQAEF1FAEARRA== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Yivx8exBckDQ7jihsENyQA== - - - - - - ANAGRQAAKEI= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - d15CWu1BckCqePJpAVJyQOYNhgDmYXJANcgg7upxckA= - - - - - - AHTfRgDIjUUAcAhGAICyRA== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 3dBD2/FBckDfWgRJ/VFyQI/Emz/mYXJAlYG07u5xckA= - - - - - - C5xoRwDgGEYAzItGAJA/RQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - XvBWupQzckCxQ+tT8kFyQGHeDEH8UXJAxmt0wOVhckC4+XMh7XFyQMKCVlr4gXJA - - - - - - AGCTRIBIDUhPkahGudQrRwCwAUYAwG5E - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - k5Em75YzckA7oBbc80FyQMlFsB0AUnJAhMaSyuZhckAK0FAb7nFyQN7kuTb4gXJA - - - - - - AKCCRICvL0hL2+RGAANSRwCoA0YAQJVE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 5dqGTPuBckD1Gsp2uYJyQA== - - - - - - AACoQgAA4EE= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CbFmI6czckCzSxYx8kFyQEUdRqr4TXJAl6+8sy1PckDkimVL/1FyQIDLhy7oYXJA/r/jQfNxckAyI04s+4FyQA== - - - - - - AJAORVKBrEhvhz5E0JLURADRVUd2c9tHALCGRgCA5EQ= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Ea2P2P6BckBWvaMh54JyQKP+fBE0g3JA - - - - - - AAB8QwAAKEIAAChC - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - tnB84JozckB2nncN8kFyQHqkZAyDTXJAHlMTPcxOckDusmrKIU9yQPoyKBT7UHJALDnmdTNRckCaiznlAFJyQNbWFOnoYXJAJsbumhFvckBYN9QQ9XFyQNXLfwgAgnJA64Ob7tSCckA= - - - - - - k7ZcRSBWE0nb/V9ECvxTRQZRUEXziDVET/PBRACxmEdA4zJIAMAXRP637EYAsENFO8wdRA== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FNwfoQOCckAr7qWaWoJyQA== - - - - - - hLwWRACAMkQ= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Dq0RD6QzckD58UZu80FyQG2WR1fqSXJAOjbUI15OckDHSWOaVU9yQGpx/buhUHJAUaqFqu9QckCvqNBwAVJyQFSnhCMiWnJAI2Ko3JdcckAiOqGMEF1yQGf3U36YXnJArsejU0RfckBVCI166WFyQIZsNSOganJAJqbTVPNqckD186n/CWxyQGQeIu10bnJARfYZlhZvckCUikuK8XFyQB1F1aqEdXJACNUIEy12ckDIEz5IzHZyQBfbAfi6e3JApBApFsp8ckBBaphvx35yQH0Y5kpGf3JAWpRDD7d/ckBPuqaM+oFyQJLeYuoWg3JA4HlUuWCDckA0oWV1t4lyQA== - - - - - - hdmvRXC7T0kAwKpEyxFjRVRCh0WNxAZFc8/NRI1ukkd9X/BDx9IBRAAW7EPpCgxEAEAfRMALf0gAgBNE9QUxRA5V9EMyjaNEn73yRPnqJEcAQAFEAAABRKXS+EOSlAhEAAD6Q/w55kNBA/xD2OwGRB7cYEUAgPhDB1D2QwAA60M= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TsE1TKQzckCFMtGX80FyQGZjxc+cSXJAm/ijmgFKckD0tegJ7k1yQECNoZqiTnJANAQqwEtPckCi/NphwE9yQDolnQoAUXJAsu+jaf9RckABJh3WWFxyQIAiZPW1XHJAexx5FPtdckC0BW75tF5yQDxYObIYX3JAuDpqZ+dhckDyyF57CmtyQFq8fX2ya3JAUNQYY0FsckBRJpe4P21yQL0e19M+bnJA2a0fpitvckBKVUvc8W9yQFX4UcvHcHJASwlEcPJxckDXSiF8aXZyQD88O/qednJAU85suDN4ckD071z+yXtyQO4lVMa1fXJAOmcrUj9+ckChtbSwqH5yQAhhXitIgXJAqIvs1f6BckB00KnGG4NyQD9NBDLGh3JAm8t7TGqIckDgd1nVB41yQA== - - - - - - 22m5RbBxaEn2q+JELt/yRFVoSEV0Un5FgVCrRSlSnUWvxepE7RCWRwAA40MNefBDhk8WRADARUTJTF5EyDuKSCyi5EMAgPtDF9/0Q/GHCURIiYtEX4ytRDTnGkQAgB1EO9k3R/XdBUTyueJDAAABRHBmAUQAAD5Eqhc6RJsU90PAt4lEDDqWRaDJAURSH+hDW8XrQwAA8kM= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - B+A6ZXkzckBQynx190FyQB9dFcYNSHJAuPDzjmpIckB7x48Ock1yQA== - - - - - - AIAyRIBL2kcAAFJDAABSQwAAk0M= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - iF+qaJYzckDDsVIi8kFyQAoXRW6jSXJAYEcTgJpOckDKBwF+ME9yQKMdLCYfUXJAzEXiev5RckAMTBFYsFdyQAITkbo3XHJA6cCsfmleckAXKtyudV9yQJLzyB7mYXJA8FxAgBBmckBhk4jilWZyQGr2J6C3aHJAjBgavDBpckBnpwvYu2pyQDasltc/a3JA1ppLFXNsckB5q3nYr21yQCjnn2L1bXJAr+ZLRlhuckCjW4u3Xm9yQDyLeB0zcHJAt12QlNBwckCMLkdE8nFyQMjqbWFsc3JAT5AFqdh1ckCVIs7SYXZyQGoESIfgdnJAddA0wa96ckBYi88f83pyQP2C3pKDfHJA1IXoRu18ckCBejApWH1yQCgcJ5TLfXJAhMN5DPiBckD7DKOr5oJyQAO9CD7hhHJAW8iwwpGHckDkJdRYzIpyQM4jzo8Qi3JA - - - - - - AADHRVDcbUkAgNpDtNByRe/GYUXT1PhDHaoMSACAyENGb+hDMAIQRADACER2+I5I5WS3QwCAyEMAwBFEAAAkRACAtkP0A9tDAADtQwAA7UMF1h1EAADtQwAAmkQQIy1Eca4lRDgkN0cAgNpDAIDaQ9J9FkSLefRDAAD/QwAA/0MAAO1DAAAkRABANkQAAO1DVnqfRQCA2UMAgNpDAIC2QwAA/0MAwBFE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - uFamwo4zckDTelU49kFyQIVn/PckSnJAp7IQ3tNMckAKEy8jJE1yQA1KyywWTnJAoa3mzo1OckB8Qw9SQE9yQPMJCXKlT3JA834piyRTckA= - - - - - - AMBmRIBUCUgAAFJDAABSQwAAfEMAAJNDAACoQwCACEQAANJDAABSQw== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - KlTs5ZYzckB6T6Ae80FyQJ5XNm7SSHJAIqQA/pRJckAK2UbLLEpyQNr7nzhKTHJAgn9jxclMckA/R9VytE1yQNi3h+O6TnJANBHeEStPckAaPGXE/1FyQP+gZ0x6VnJAMOPQAO1WckCEleETMlpyQNojJGOJXXJAmojAcBJeckAdupIFgl5yQMAAlCgXX3JAmERiq+dhckAqGCBwKmlyQKildErAaXJA/wYs3ANqckAd7H7tgWpyQJMODaIna3JACrasIa1rckAOEEPdoW1yQJ5/KJwFbnJATkN2K5tuckBLPi2lMW9yQBTOkBy0b3JA/EFVRCpwckCwn34f3HByQK2sKZrxcXJAjZf1BB9zckBi+2+24HVyQHgXu17idnJAGpkEylh3ckC9wFfMDHhyQLbmO+s/e3JAj0fpSAJ8ckB3rRsUW3xyQGl8fkvpgHJAFwF9df2BckAokjUvzoJyQLS3SiE1g3JA8vyFbS6FckDKFeLBvIVyQM5xJ6Y7hnJAGAj4DCWJckBOWBDOsolyQFvK+Clej3JA - - - - - - ACDlRaAqlklnir1DAIAyRLNYAURXHfhDAIBHREhLFEVbAKRFaRSYRcBXN0gAAL1DAAC9QwAA0kOkm+9DPKLzQwAAvUMAgAhEVrW8SACAHUQ+sC5E5rNTRBs8SURWXVNEB3Y5RADAjUQAgJ1EJUGRRAAAk0QAQINEAAAoRAAAKETNcmVHfxnfQwAA/EMAgB1EgRsjRACACES6U75DLZRjRCPWW0QAQB1Eq3i8Rcu+2kMAANJDoXkFRI8PHUQAAPxDAADnQwCAHUTBSfJD - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - OAWobJ8zckBIW8WI8UFyQMDHoxuXSXJA2nq0Jd5KckBYUZ46WktyQISUWDEhTHJAzp5iYZpMckDaaUdiok1yQAH8o8WuTnJA9KhcxTlPckADhAvIG1ByQKaphHyUUHJADMwltP5RckC91kecRlhyQIGy1HCoWHJAkBz8zmtZckAaLHqcA1pyQP7R9andWnJAxdw0pvlcckDjnBMPIl1yQBKklmlPXnJAD7Pa0tteckAGaGcrPl9yQNkR/TEYYXJAA8Fl0OhhckDyxNG0rmpyQGaNs6BEa3JAlgDM2uprckAkZGywtGxyQP/fEmWDbXJAbhGa+GluckAQg20YGG9yQPFFS/e2b3JAMJq+4TVwckCwEmeS+3ByQF2ujGXwcXJAzqb5ahl1ckCgcnsHzHhyQCiHQnKXeXJAOiP+Akh8ckCcVzmg4HxyQPZlkRw5fnJAsj6p999+ckDKsiWRSX9yQAic6iDogHJAYy5RaPSBckAv4w3GXYNyQOy8ufpOhnJAjLvZirOGckC6tcb0LYhyQKJjUHCViHJAdKuKkR6JckC4wcyW+olyQATlfq+ninJAqx5Tb9iKckChlDMj54tyQHi1om/PjXJAla2S5UCOckA= - - - - - - AEQARt8Oo0kAwBhEAEABROXo3UPLFv1DAIDTQ+aZzETmVMBFcfDGRTcMykQAwEZEwI9BSABAAUS3K+xDAMAYRGvXJkQAgCREAEABRABAAUQAAGtESfiZRACAU0RtMMFEIFLLSAAA60MAgNNDAIAkRExZGUQAQF9EAEDNRBJ75EQAALBEEP1oRJPkZUSU5XVHAADrQ9i830MAAA1EAAANRACAJEQzwkBEAAA8RMODFUQAQAFEAJixRQCAJEQAAA1EAAANRB/uB0QAQDBEAIDTQwAADUQAgFNEAIBTRAAA60MAAA1EAAANRA== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - XtuoPgMgckBMU+G8nDNyQJmC7GvyQXJA1GcbgI1JckAaYwb++U1yQEAID2SoTnJAP+NX0CBPckADKwxDfFByQHEbfYohUXJAGZfGx/9RckAcbcoE+FZyQMlTiFV+V3JA2h+0mQVYckA04zTDf1hyQISukGf0WXJAQpbx4nJackBLlOGLIFtyQJxiF7NhXHJAtxcIVDhdckBABo0k8l5yQOCDnORpX3JAr6FrB/RfckAQc4tK52FyQGH6nqG4ZnJAkV1o0i9pckD1u26op2lyQJT4QGSpanJAoAvPABtrckAASYiHtGxyQPSwQSFSbXJAgtlEwT9uckAaDj4XJW9yQMbrPfoAcHJAAsPJNfNxckDo7Ly5unVyQGhCgY8Fd3JAoqpdtVN3ckDOwVJD2ndyQPwba8cAeXJAtdiGXzd6ckBYWoeXF3xyQHcpRf27fHJA36N5aSaAckB9S+tdOYFyQJNkvS77gXJAsImqpeiFckC+yvYfUopyQA== - - - - - - AICyQwBo30WLIJtJAMAlRKbBIEXZJ6lFLH+4RQAAzEMqXMZE7qg1SAAAzEMAAP9DprrnQwAA/0MAQAxEe4o6RACA5UMAABlEAEAMRABAP0QBTEpEzKcuRGgyvEgAAMxDAEAMRADAJUQAAMxDAADMQwAAGUQAQD9EGY3BRADghUSoRidE9ABtRwBAckQAABlEAMBYRPjhP0QAQD9EAEAMRACA5UN4pftDAADMQ2I22UMA0JpFAADMQwCA5UM= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 7RPPsxcgckDUuz0InTNyQGG1o//xQXJArvQap5RJckA94FUMHU1yQAgHZEQKTnJAsEcsnxlPckA6GIk5g1ByQAEP0LonUXJAkGu2ef5RckBshRk6UVNyQCmfyiowWXJASSYOJV5bckAIOkZM3V1yQJG9jqHWXnJA+3zLOE5fckA2J9Kl5F9yQBEPtM3nYXJAtbZKMHtnckA2qxaZ9GdyQBAd9+V1aHJAhI1y5uxqckBX20YCDGxyQMGhyNZRbnJAKKad3zdvckA8/nDxmHByQFjzOB7xcXJACJAbKzh7ckC/3kB7yXtyQCbOqDeEfXJA02TXmeN+ckD+Ubf3Mn9yQDQHwy6ff3JABxIsGBuAckBmmLvff4ByQOZGi2EpgXJA5r4vUveBckAIfQ5gx4JyQFM/Z9LuiHJAgPtLCnWJckAcc2aAjItyQPS+LKDoi3JAhvbPOFiMckA= - - - - - - AIBORN6zEEYPk55JAIByRACA8kMAMCZFIPLWRQBAHUSo2olEAMg1SACA8kMAgBFEAIDyQ88NbEQAwClEZQpbRAVZF0QgvsFIUGIaRAAANkQAwB1Ev1UdRKBUUkQ66yREAAC5RACA2kMAh19HAIAFRCmrD0QAgPJDB0sURADAHUTJXTtEM3w/RM5+IkQs7VBEAHAWRsRLaEQAgAVEAIAFRAAA80MAQEJEqDYFRA== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - N4EMWQ4gckB7kuuSmjNyQFxKVf7yQXJAWsAu8xZNckDsCSInmE5yQK6zH6I8T3JArdPj5nJQckDWS2XBLlFyQA44xOYAUnJA5t6/xEBTckDYnmrInlNyQJIArkN4W3JAEVZL1xReckBe7SgHH19yQPPjikqMX3JAGLdLHulhckBXQEkiumlyQHo1is2fanJAVPiJNhhrckDquL3wlWtyQKK0hP8BbHJAx7YETnNsckA1cqbMwW1yQEGPlEljbnJA1dRQRUhvckAg4T1alXByQF559xK9cHJARhshv/JxckBsNB/+e3ZyQMpBkQeSenJAtDrmm1d8ckC31tu7bn1yQOGxEwlmgHJAS1HGDO6AckB2zf5D+4FyQOr8x9amg3JArs5szdCMckClu1ZODI5yQA== - - - - - - AEBrRABw4EVI6pZJAEAIRHbYkUWQi51FAID3Q09gp0SABCxIAADfQwAA30MAgC1EAAAhRADAFEQ1CztE3PezSBRHBkSl6SdEAABGRABARkROhVJEAEAhRLHFB0Tdpn5EAGDMRAAAIUQAgFBEACNURwAAIUQAQAhEAMAURACA90MAwF5EjY5GRACIlkUjmghEZV0eRDXF40M= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +S9EsxwgckB9NZkKozNyQOVZoL31QXJAiMd4HvhNckCHpqYArE5yQCG7aUstT3JADneXHwFSckCpJBN7e1NyQDK7LG74VXJAKyKY4m1fckBkXPuIul9yQNGhJdrpYXJATdLb3YpockCf1e1kC2lyQIZvWOQLbnJAmMLM/KJuckAyz59OR29yQKXwB4bzcXJAUCz4s/p9ckC+yEA7b35yQLLU9u3cfnJAskytP/mBckBhpynXuoNyQJ9yZZ1KhXJAgAl+2a2FckA= - - - - - - AACfRADQxUXgsV5Jup6pROG9S0VicWdFJ78GSAAA7EMAgAFEb1LnQwAA60P4o4pIAADUQwCAAUQAgLxDqnYsRABAa0QA3TJHUn3PQwCAJEQAAOtDAKBaRQAAJUQAgLxDAIC8Qw== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0lYkESUgckA5HvfhqzNyQL+sxBTxQXJAGDHo06VJckDnFUhAD0pyQJyW0SapTXJA8i/FvNNNckDhqlOrq05yQLnZmRxaT3JAcWSHMppPckB6GQdgb1ByQCCDVazMUHJAPtZoYv1RckBiK9O8xV1yQAjSMlRuXnJA8qzCZThfckCK9TlH5WFyQKACfUWtaXJANDtk+ZxsckC4SQHhP21yQG+Ft3LHbXJArJJ1d1puckA6EdtUKG9yQNze97LOb3JAjG0Ur+ZwckCi2G9h8nFyQK+drTu9cnJAwokAeQp4ckDMUbrHF3lyQCxhCd+heXJAeux0oCp+ckDObOzTq35yQLbfHoT0gXJA - - - - - - AOD2RABg2EVwMmFJ4IGXRNYhkUSIegtFkjIdRQXWWkXzWpZF+waURdvaI0VzqA9Fk8+ORwBANkTQ4j1EAEBFRGCIiEjlWRxEAIAPRPf+TkQAAIdEOu2hRPtpsETT21NEQ6YXRABjJkcmjrhEAMAiRMF3PkRVHDNEAMAmRADAG0S3bIlF - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +jHKewMDckAoU7hUGiByQCuDpkekM3JAQ78b8w1BckDYhowP8kFyQJiCbWOoSXJARm5Fm49NckAOeUD6QU5yQMoHztybTnJAEiAW3lBPckC4e2oJ2FByQGfArrT9UXJAFmfCg9ZdckAePGw+6WFyQFPGkWKGbXJAL2orKIBuckBQyBTYG29yQN8qADqqb3JApiEvtfNxckDVrKErxnJyQL1r1LdhfXJA1rHIlPmBckA= - - - - - - AMAVRACgAkUAYI5FafBBRMAYLUkAQE5EDzWaRHiBMEUZkDlFPotQRW6bj0QZpaNHbIj+QzqyU0h8LCREYSVlRL4TqkRi6YtEkg8CR78JYEQ+KfZDuXlgRQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - pm8Z6fYCckBPViPwFyByQAYKhT+lM3JA7eMxsPVBckAsTNfhk0lyQMhx+KvmSXJAEtW1ocdNckBGBbVNqk5yQABUGpc3T3JA872VmNhQckAiDkCAAVJyQBaghSMkX3JAli1faOphckCa1Lg4uG1yQHY22nkgb3JAPvlw+vRxckBabvtR+4FyQA== - - - - - - AABGRABAjUSc4JBFhu8QSXb6/0MAgAREwGnRREXiI0W4/ypFAEARRACVjUdARvRDtEouSCoNI0QPbU9EYzvNRgDgMkU= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 4Mn1zvcCckD32jfXGCByQBjqRkOWM3JAGR0BE/NBckDCUaN9fk5yQBgMVuJDT3JAZer/4f9RckAMdbAm6WFyQBnrvLnycXJAeeBr//mBckA= - - - - - - AEBfRADghUQAgC5FwCmySBzvk0QB3rpEo1xRR2ui3UdV3YJGAIDbRA== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - xVnXxfYCckB8rQeMegNyQMjzPRgTIHJAtn75Z5MzckCOWe3j8UFyQHxY4hYFTnJAxA02uiZPckDZnG3g/FFyQJOYc/HmYXJAR9csve5xckD2Ewv694FyQA== - - - - - - AICPRF0ESUQAgFhE87EBRQAIgkjO7u9DTSSfRKmeHUcAqJtHvh9HRgCAnEQ= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CI2Jm/sCckCCP7fOFSByQA3tQYOpM3JAakeJQPRBckCW2eRjVE5yQMCiQJ7YTnJAd/SVlDhPckBcVEK5/lFyQN9FSH7oYXJAdr96e/NxckCdqRi+A4JyQA== - - - - - - AMCCRACAHUQAYJJEXrckSHuptENotw9EAIDVQwCOyEYAR01HAEDoRQBAdEQ= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - y4eNKPYCckBxirNuHiByQAhyz6GXM3JAjuuv8vFBckCAcvw2+1FyQKBUQa/kYXJALZ4cxe9xckACiUsJ9YFyQA== - - - - - - AACeRABAGEQAwBdE3BPWR8gqe0b1HABHAMCNRQCA1UM= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 9zCbSvQCckCH3KaGFyByQCFQ+ByNM3JAaD4+MPJBckBM+brMAFJyQEX4ek7kYXJAvujqS/FxckAD6tco+IFyQA== - - - - - - AMA9RACAzUMAQD5Elj2cRwCYREYAVLFGAIBtRQCA3UM= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - cDauSvsCckCeCBz/sjNyQLumXtLyQXJAGGvBbv9RckDPAvZw6GFyQBkUxQotcXJA6I7dQPJxckA= - - - - - - AEBoRACA4UMA0mpHAJgQRgCuiEbzmcBDAFAiRQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - zvzm1O8CckDIir485hFyQMl1gkrwQXJALD4J+vlRckCUAIkQ5GFyQORLDefrcXJA - - - - - - AIBzRAAA/EMAyTRHACDZRQCgZUaPdMxE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 7NPTdPICckBUFZyI8UFyQOrzFQYBUnJAsXDo1udhckCYHq+y8XFyQJdu3XD5cnJA - - - - - - AEAjRAC2BEcAqKhFyr0pRnzgB0UAgMVD - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ezBPx/YCckALQQgI3hFyQCPzORHvQXJAthSKWvJRckDKbyMu5WFyQMZt+/3mcXJATq10XQhzckA= - - - - - - AADUQwCAT0QAXrlGAKBgRQDAAEYAIK5EAIDnQw== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - UhP/I+5BckCkd1D8+VFyQMaNcczlYXJAtHbQUOZxckAQRQNv8nJyQA== - - - - - - 062NRgAAJkUAKKtFAOCORACAqkM= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - LP4VxetBckAw1M0i/FFyQBL9dibgYXJA9slFf+9xckCTSjmN/HJyQA== - - - - - - AOSHRgCAH0UAWKJFAIA7RADAXEQ= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - yhjaN+kRckBkfTWJ8kFyQPiB1CQAUnJA1kX2/ulhckDA8VPN9HFyQKDLMOcJc3JA - - - - - - AIDDQwC4YkYAkCZFACCNRQAAVUQAgDdE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Em5uMugRckDgtZdQgRJyQA9AmVbyQXJAJ3nSyPlRckDuchBL52FyQDT7uTzrcXJATQS4P/5yckA= - - - - - - AIC/Q/pgnUMAtElGAAD2RADwZUUAwBdEAMAXRA== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - cmcLtldxckAP4c9k6nFyQA== - - - - - - AAAoQgAAKEI= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - hWQGmeoRckDPBnD18EFyQNb94i72UXJA9vuDrpRSckBitucn52FyQHRPM3rjcXJAHWCPCwNzckA= - - - - - - AEBIRAD4GkYAINlEoOj4QwBwS0UAwBhEAMAVRA== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - grpgbPARckDwD8fs6DFyQKsC/KnzQXJAdP0ltPZRckD5coeN6GFyQLonvI7xcXJAGkeQmhpzckA= - - - - - - AMCCRNEvu0Onj/ZFAGCbRAAwGkUAgJxDAIDqQw== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 4v7N7ugRckCmWvXP6jFyQGPltknsQXJA4PCcBPRRckDBzHcL4GFyQOZ0OrpccHJA1qB+QutxckBU9m/rBnNyQA== - - - - - - vZPbRABABkQAsL1FAEBvRAAgAkUAALhDAICuQ8vV20M= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - qvg+rfIRckDSp+QA/iFyQCf9fVPpMXJAT6oRr/BBckACJMckAVJyQGnkfqnoYXJAt3B9VnNwckA8Thq18HFyQO1hGJsIc3JA - - - - - - AMBlRQAAP0QAIJpEAGivRQCgyUQAgPtEAIAYRACA60MAgMJD - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0B0GTTsRckC4D6vU7hFyQD0DMer7IXJAKhWm2OIxckB8crFw8UFyQP5t3UP2UXJAvqVUUqBSckDGLGKT42FyQOUh0hedYnJAm9VZo2twckDp0dqv+XJyQA== - - - - - - m8WCRABA7kUAAJREABAkRQDItUUAQKFENbGyQwCA1kQCRa9Db3OeRMqaqEM= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 6sWZD7YhckAIN4BrASJyQA== - - - - - - AACoQgAAqEI= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - n6D3COsRckAsjGSS+CFyQE2KK+PmMXJAzCowBfBBckBQJ42y8lFyQPROFU7dYXJAJjmrs3NwckA= - - - - - - AKxwRgDQIEUAsIlFADCkRQAASEQAYKREKDWcRA== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/tests/topp/THIRDPARTY/SiriusAdapter_1_output.mzTab b/src/tests/topp/THIRDPARTY/SiriusAdapter_1_output.mzTab deleted file mode 100644 index a345eb7b252..00000000000 --- a/src/tests/topp/THIRDPARTY/SiriusAdapter_1_output.mzTab +++ /dev/null @@ -1,60 +0,0 @@ -MTD mzTab-version 1.0.0 -MTD mzTab-mode null -MTD mzTab-type null -MTD description Sirius-5.6.3 -MTD smallmolecule_search_engine_score[1] [, , SiriusScore, ] -MTD smallmolecule_search_engine_score[2] [, , TreeScore, ] -MTD smallmolecule_search_engine_score[3] [, , IsotopeScore, ] -MTD ms_run[1]-location /Users/builder/jenkins/ws/openms/PR/bldtst/87227eb0/source/src/tests/topp/THIRDPARTY/SiriusAdapter_1_input.mzML - -SMH identifier chemical_formula smiles inchi_key description exp_mass_to_charge calc_mass_to_charge charge retention_time taxid species database database_version spectra_ref search_engine best_search_engine_score[1] best_search_engine_score[2] best_search_engine_score[3] modifications opt_global_adduct opt_gobal_precursorFormula opt_global_rank opt_global_explainedPeaks opt_global_explainedIntensity opt_global_median_mass_error_fragment_peaks_ppm opt_global_median_absolute_mass_error_fragment_peaks_ppm opt_global_mass_error_precursor_ppm opt_global_compoundId opt_global_compoundScanNumber opt_global_featureId opt_global_native_id -SML null C15H17NO5 null null null 292.118520142944021 null null 404.455000000019993 null null null null null null 0.831597391947591 0.831597391947591 0.0 null [M + H]+ C15H17NO5 1 1 0.0 1.954846454887804 1.954846454887804 1.954846454887804 2 2165004 null sample=1 period=1 cycle=2165 experiment=4 -SML null C16H13N5O null null null 292.118520142944021 null null 404.455000000019993 null null null null null null 0.768142279254161 0.768142279254161 0.0 null [M + H]+ C16H13N5O 2 1 0.0 -2.623404863541922 2.623404863541922 -2.623404863541922 2 2165004 null sample=1 period=1 cycle=2165 experiment=4 -SML null C11H19N5O2 null null null 292.118520142944021 null null 404.455000000019993 null null null null null null 0.506813653466669 0.506813653466669 0.0 null [M + K]+ C11H19N5O2 3 1 0.0 5.091066642293969 5.091066642293969 5.091066642293969 2 2165004 null sample=1 period=1 cycle=2165 experiment=4 -SML null C14H15N5O null null null 292.118520142944021 null null 404.455000000019993 null null null null null null 0.446036047493384 0.446036047493384 0.0 null [M + Na]+ C14H15N5O 4 1 0.0 5.611910031361344 5.611910031361344 5.611910031361344 2 2165004 null sample=1 period=1 cycle=2165 experiment=4 -SML null C16H19N3 null null null 292.118520142944021 null null 404.455000000019993 null null null null null null 0.046523251610599 0.046523251610599 0.0 null [M + K]+ C16H19N3 5 1 0.0 -8.679919182327954 8.679919182327954 -8.679919182327954 2 2165004 null sample=1 period=1 cycle=2165 experiment=4 -SML null C16H19N3 null null null 292.121468920531015 null null 404.875000000020009 null null null null null null 0.880667513965956 0.880667513965956 0.0 null [M + K]+ C16H19N3 1 1 0.0 1.414522671061441 1.414522671061441 1.414522671061441 4 2166006 null sample=1 period=1 cycle=2166 experiment=6 -SML null C16H13N5O null null null 292.121468920531015 null null 404.875000000020009 null null null null null null 0.212552376554384 0.212552376554384 0.0 null [M + H]+ C16H13N5O 2 1 0.0 7.470975853246509 7.470975853246509 7.470975853246509 4 2166006 null sample=1 period=1 cycle=2166 experiment=6 -SML null C8H15N9O2 null null null 292.121468920531015 null null 404.875000000020009 null null null null null null -0.557337795983029 -0.557337795983029 0.0 null [M + Na]+ C8H15N9O2 3 1 0.0 -8.977428359455617 8.977428359455617 -8.977428359455617 4 2166006 null sample=1 period=1 cycle=2166 experiment=6 -SML null C10H15F2N5O3 null null null 292.121468920531015 null null 404.875000000020009 null null null null null null -0.638055591467511 -0.638055591467511 0.0 null [M + H]+ C10H15F2N5O3 4 1 0.0 -0.353659591904795 0.353659591904795 -0.353659591904795 4 2166006 null sample=1 period=1 cycle=2166 experiment=6 -SML null C12H21NO5S null null null 292.121468920531015 null null 404.875000000020009 null null null null null null -0.650881556751561 -0.650881556751561 0.0 null [M + H]+ C12H21NO5S 5 1 0.0 0.50902263733827 0.50902263733827 0.50902263733827 4 2166006 null sample=1 period=1 cycle=2166 experiment=6 -SML null C16H19N3 null null null 292.121302384156024 null null 405.295000000020025 null null null null null null 0.930332829923682 0.930332829923682 0.0 null [M + K]+ C16H19N3 1 1 0.0 0.844430253760518 0.844430253760518 0.844430253760518 6 2167005 null sample=1 period=1 cycle=2167 experiment=5 -SML null C16H13N5O null null null 292.121302384156024 null null 405.295000000020025 null null null null null null 0.286932553618304 0.286932553618304 0.0 null [M + H]+ C16H13N5O 2 1 0.0 6.900886888688504 6.900886888688504 6.900886888688504 6 2167005 null sample=1 period=1 cycle=2167 experiment=5 -SML null C12H21NO5S null null null 292.121302384156024 null null 405.295000000020025 null null null null null null -0.614322496973498 -0.614322496973498 0.0 null [M + H]+ C12H21NO5S 3 1 0.0 -0.061070296182087 0.061070296182087 -0.061070296182087 6 2167005 null sample=1 period=1 cycle=2167 experiment=5 -SML null C8H15N9O2 null null null 292.121302384156024 null null 405.295000000020025 null null null null null null -0.640937412736325 -0.640937412736325 0.0 null [M + Na]+ C8H15N9O2 4 1 0.0 -9.547526701137404 9.547526701137404 -9.547526701137404 6 2167005 null sample=1 period=1 cycle=2167 experiment=5 -SML null C15H18ClN3O null null null 292.121302384156024 null null 405.295000000020025 null null null null null null -0.661556837122595 -0.661556837122595 0.0 null [M + H]+ C15H18ClN3O 5 1 0.0 0.636913720373401 0.636913720373401 0.636913720373401 6 2167005 null sample=1 period=1 cycle=2167 experiment=5 -SML null C12H15N7O null null null 296.12309906592202 null null 406.816999999979998 null null null null null null 0.980887618593451 0.980887618593451 0.0 null [M + Na]+ C12H15N7O 1 1 0.0 0.237285884690055 0.237285884690055 0.237285884690055 11 2171003 null sample=1 period=1 cycle=2171 experiment=3 -SML null C9H19N7O2 null null null 296.12309906592202 null null 406.816999999979998 null null null null null null 0.977693233607875 0.977693233607875 0.0 null [M + K]+ C9H19N7O2 2 1 0.0 -0.276513952338959 0.276513952338959 -0.276513952338959 11 2171003 null sample=1 period=1 cycle=2171 experiment=3 -SML null C13H17N3O5 null null null 296.12309906592202 null null 406.816999999979998 null null null null null null 0.69360069253042 0.69360069253042 0.0 null [M + H]+ C13H17N3O5 3 1 0.0 -3.370321908818455 3.370321908818455 -3.370321908818455 11 2171003 null sample=1 period=1 cycle=2171 experiment=3 -SML null C11H19N3O5 null null null 296.12309906592202 null null 406.816999999979998 null null null null null null 0.545127238032372 0.545127238032372 0.0 null [M + Na]+ C11H19N3O5 4 1 0.0 4.753623867781498 4.753623867781498 4.753623867781498 11 2171003 null sample=1 period=1 cycle=2171 experiment=3 -SML null C9H13N9O3 null null null 296.12309906592202 null null 406.816999999979998 null null null null null null 0.271384417425164 0.271384417425164 0.0 null [M + H]+ C9H13N9O3 5 1 0.0 5.698095950127542 5.698095950127542 5.698095950127542 11 2171003 null sample=1 period=1 cycle=2171 experiment=3 -SML null C13H17N3O5 null null null 296.123821549630009 null null 407.245000000020013 null null null null null null 0.922970962849822 0.922970962849822 0.0 null [M + H]+ C13H17N3O5 1 1 0.0 -0.930510956728375 0.930510956728375 -0.930510956728375 13 2172004 null sample=1 period=1 cycle=2172 experiment=4 -SML null C9H19N7O2 null null null 296.123821549630009 null null 407.245000000020013 null null null null null null 0.812140756363484 0.812140756363484 0.0 null [M + K]+ C9H19N7O2 2 1 0.0 2.163289451470025 2.163289451470025 2.163289451470025 13 2172004 null sample=1 period=1 cycle=2172 experiment=4 -SML null C12H15N7O null null null 296.123821549630009 null null 407.245000000020013 null null null null null null 0.762914044613723 0.762914044613723 0.0 null [M + Na]+ C12H15N7O 3 1 0.0 2.677088034928794 2.677088034928794 2.677088034928794 13 2172004 null sample=1 period=1 cycle=2172 experiment=4 -SML null C14H13N7O null null null 296.123821549630009 null null 407.245000000020013 null null null null null null 0.465515045211605 0.465515045211605 0.0 null [M + H]+ C14H13N7O 4 1 0.0 -5.446837920846081 5.446837920846081 -5.446837920846081 13 2172004 null sample=1 period=1 cycle=2172 experiment=4 -SML null C16H19NO3 null null null 296.123821549630009 null null 407.245000000020013 null null null null null null 0.351324844036157 0.351324844036157 0.0 null [M + Na]+ C16H19NO3 5 1 0.0 -6.391307698866561 6.391307698866561 -6.391307698866561 13 2172004 null sample=1 period=1 cycle=2172 experiment=4 -SML null C14H13N7O null null null 296.125008105473 null null 407.654999999999973 null null null null null null 0.878408969563052 0.878408969563052 0.0 null [M + H]+ C14H13N7O 1 1 0.0 -1.43987372163701 1.43987372163701 -1.43987372163701 15 2173002 null sample=1 period=1 cycle=2173 experiment=2 -SML null C16H19NO3 null null null 296.125008105473 null null 407.654999999999973 null null null null null null 0.791183969804865 0.791183969804865 0.0 null [M + Na]+ C16H19NO3 2 1 0.0 -2.384339715221516 2.384339715221516 -2.384339715221516 15 2173002 null sample=1 period=1 cycle=2173 experiment=2 -SML null C13H23NO4 null null null 296.125008105473 null null 407.654999999999973 null null null null null null 0.741175933521995 0.741175933521995 0.0 null [M + K]+ C13H23NO4 3 1 0.0 -2.89813623991897 2.89813623991897 -2.89813623991897 15 2173002 null sample=1 period=1 cycle=2173 experiment=2 -SML null C13H17N3O5 null null null 296.125008105473 null null 407.654999999999973 null null null null null null 0.723394495394527 0.723394495394527 0.0 null [M + H]+ C13H17N3O5 4 1 0.0 3.076435145818808 3.076435145818808 3.076435145818808 15 2173002 null sample=1 period=1 cycle=2173 experiment=2 -SML null C9H19N7O2 null null null 296.125008105473 null null 407.654999999999973 null null null null null null 0.37865242729204 0.37865242729204 0.0 null [M + K]+ C9H19N7O2 5 1 0.0 6.170223157337256 6.170223157337256 6.170223157337256 15 2173002 null sample=1 period=1 cycle=2173 experiment=2 -SML null C16H19N3 null null null 292.121970956018004 null null 408.495000000000005 null null null null null null 0.717696772302601 0.717696772302601 0.0 null [M + K]+ C16H19N3 1 1 0.0 3.133101986423756 3.133101986423756 3.133101986423756 18 2175004 null sample=1 period=1 cycle=2175 experiment=4 -SML null C16H13N5O null null null 292.121970956018004 null null 408.495000000000005 null null null null null null -0.026888872825931 -0.026888872825931 0.0 null [M + H]+ C16H13N5O 2 1 0.0 9.189544760098936 9.189544760098936 9.189544760098936 18 2175004 null sample=1 period=1 cycle=2175 experiment=4 -SML null C8H15N9O2 null null null 292.121970956018004 null null 408.495000000000005 null null null null null null -0.320731612548226 -0.320731612548226 0.0 null [M + Na]+ C8H15N9O2 3 1 0.0 -7.258831184675953 7.258831184675953 -7.258831184675953 18 2175004 null sample=1 period=1 cycle=2175 experiment=4 -SML null C16H16FN3 null null null 292.121970956018004 null null 408.495000000000005 null null null null null null -0.630266113008879 -0.630266113008879 0.0 null [M + Na]+ C16H16FN3 4 1 0.0 -0.258371776321861 0.258371776321861 -0.258371776321861 18 2175004 null sample=1 period=1 cycle=2175 experiment=4 -SML null C10H19BN4O3 null null null 292.121970956018004 null null 408.495000000000005 null null null null null null -0.654210830848952 -0.654210830848952 0.0 null [M + K]+ C10H19BN4O3 5 1 0.0 0.549044383697529 0.549044383697529 0.549044383697529 18 2175004 null sample=1 period=1 cycle=2175 experiment=4 -SML null C16H19N3 null null null 292.121614764236995 null null 408.915000000000021 null null null null null null 0.835396016896746 0.835396016896746 0.0 null [M + K]+ C16H19N3 1 1 0.0 1.913778776427231 1.913778776427231 1.913778776427231 20 2176006 null sample=1 period=1 cycle=2176 experiment=6 -SML null C16H13N5O null null null 292.121614764236995 null null 408.915000000000021 null null null null null null 0.145363325841255 0.145363325841255 0.0 null [M + H]+ C16H13N5O 2 1 0.0 7.970228934886793 7.970228934886793 7.970228934886793 20 2176006 null sample=1 period=1 cycle=2176 experiment=6 -SML null C8H15N9O2 null null null 292.121614764236995 null null 408.915000000000021 null null null null null null -0.486231429862359 -0.486231429862359 0.0 null [M + Na]+ C8H15N9O2 3 1 0.0 -8.478167065837491 8.478167065837491 -8.478167065837491 20 2176006 null sample=1 period=1 cycle=2176 experiment=6 -SML null C10H15F2N5O3 null null null 292.121614764236995 null null 408.915000000000021 null null null null null null -0.621122493067984 -0.621122493067984 0.0 null [M + H]+ C10H15F2N5O3 4 1 0.0 0.145597396238033 0.145597396238033 0.145597396238033 20 2176006 null sample=1 period=1 cycle=2176 experiment=6 -SML null C13H15BN4O2 null null null 292.121614764236995 null null 408.915000000000021 null null null null null null -0.621433037813895 -0.621433037813895 0.0 null [M + Na]+ C13H15BN4O2 5 1 0.0 -0.149444105847147 0.149444105847147 -0.149444105847147 20 2176006 null sample=1 period=1 cycle=2176 experiment=6 -SML null C15H28O4 null null null 295.18707248574799 null null 418.393999999979997 null null null null null null 3.5 3.5 0.0 null [M + Na]+ C15H28O4 1 1 0.0 nan nan -3.074627675571169 43 2199003 null sample=1 period=1 cycle=2199 experiment=3 -SML null C13H28N4O null null null 295.18707248574799 null null 418.393999999979997 null null null null null null 1.0 1.0 0.0 null [M + K]+ C13H28N4O 2 1 0.0 nan nan -8.12071586440215 43 2199003 null sample=1 period=1 cycle=2199 experiment=3 -SML null C12H26N2O6 null null null 295.18707248574799 null null 418.393999999979997 null null null null null null 1.0 1.0 0.0 null [M + H]+ C12H26N2O6 3 1 0.0 nan nan 2.403498403688778 43 2199003 null sample=1 period=1 cycle=2199 experiment=3 -SML null C16H24N4 null null null 295.18707248574799 null null 418.393999999979997 null null null null null null 1.0 1.0 0.0 null [M + Na]+ C16H24N4 4 1 0.0 nan nan -7.605286788519772 43 2199003 null sample=1 period=1 cycle=2199 experiment=3 -SML null C11H24N6O2 null null null 295.18707248574799 null null 418.393999999979997 null null null null null null 1.0 1.0 0.0 null [M + Na]+ C11H24N6O2 5 1 0.0 nan nan 6.022545779223315 43 2199003 null sample=1 period=1 cycle=2199 experiment=3 -SML null C12H19NO7 null null null 290.124002639250989 null null 420.444000000000017 null null null null null null 0.829331145050649 0.829331145050649 0.0 null [M + H]+ C12H19NO7 1 1 0.0 1.979288701546372 1.979288701546372 1.979288701546372 49 2204006 null sample=1 period=1 cycle=2204 experiment=6 -SML null C13H15N5O3 null null null 290.124002639250989 null null 420.444000000000017 null null null null null null 0.767458571705934 0.767458571705934 0.0 null [M + H]+ C13H15N5O3 2 1 0.0 -2.6304367531418 2.6304367531418 -2.6304367531418 49 2204006 null sample=1 period=1 cycle=2204 experiment=6 -SML null C11H17N5O3 null null null 290.124002639250989 null null 420.444000000000017 null null null null null null 0.440145632853194 0.440145632853194 0.0 null [M + Na]+ C11H17N5O3 3 1 0.0 5.661493518486198 5.661493518486198 5.661493518486198 49 2204006 null sample=1 period=1 cycle=2204 experiment=6 -SML null C9H17N9 null null null 290.124002639250989 null null 420.444000000000017 null null null null null null 0.29900758475931 0.29900758475931 0.0 null [M + K]+ C9H17N9 4 1 0.0 0.527344029052501 0.527344029052501 0.527344029052501 49 2204006 null sample=1 period=1 cycle=2204 experiment=6 -SML null C16H17N3O null null null 290.124002639250989 null null 420.444000000000017 null null null null null null 0.11321656639466 0.11321656639466 0.0 null [M + Na]+ C16H17N3O 5 1 0.0 -8.204163798395776 8.204163798395776 -8.204163798395776 49 2204006 null sample=1 period=1 cycle=2204 experiment=6 diff --git a/src/tests/topp/THIRDPARTY/SiriusAdapter_2_feat_ann_out.mzML b/src/tests/topp/THIRDPARTY/SiriusAdapter_2_feat_ann_out.mzML deleted file mode 100644 index 6ea54fcc035..00000000000 --- a/src/tests/topp/THIRDPARTY/SiriusAdapter_2_feat_ann_out.mzML +++ /dev/null @@ -1,1156 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ChNGs/JBckA= - - - - - - IyMZSA== - - - - - - tw+SQw== - - - - - - QzEzSDIzQ2xOTzJQAA== - - - - - - W00gKyBIXSsA - - - - - - - - - - - - - - - - - - - - - - - - - ChNGs/JBckA= - - - - - - IyMZSA== - - - - - - gQ+SQw== - - - - - - QzE1SDE4Q2xOM08A - - - - - - W00gKyBIXSsA - - - - - - - - - - - - - - - - - - - - - - - - - ChNGs/JBckA= - - - - - - IyMZSA== - - - - - - 4g+SQw== - - - - - - QzhIMTVOOU8yAA== - - - - - - W00gKyBOYV0rAA== - - - - - - - - - - - - - - - - - - - - - - - - - ChNGs/JBckA= - - - - - - IyMZSA== - - - - - - fw+SQw== - - - - - - QzE2SDE5TjMA - - - - - - W00gKyBLXSsA - - - - - - - - - - - - - - - - - - - - - - - - - ChNGs/JBckA= - - - - - - IyMZSA== - - - - - - ew+SQw== - - - - - - QzE0SDE4TjNPMlAA - - - - - - W00gKyBIXSsA - - - - - - - - - - - - - - - - - - - - - - - - - 4EvhQfMRckA= - - - - - - QIwySA== - - - - - - i4+QQw== - - - - - - QzE1SDE3Q2xONAA= - - - - - - W00gKyBIXSsA - - - - - - - - - - - - - - - - - - - - - - - - - 4EvhQfMRckA= - - - - - - QIwySA== - - - - - - YI+QQw== - - - - - - QzE0SDIxQ2xPNAA= - - - - - - W00gKyBIXSsA - - - - - - - - - - - - - - - - - - - - - - - - - 4EvhQfMRckA= - - - - - - QIwySA== - - - - - - qI+QQw== - - - - - - QzIwSDE2TzIA - - - - - - W00gKyBIXSsA - - - - - - - - - - - - - - - - - - - - - - - - - 4EvhQfMRckA= - - - - - - QIwySA== - - - - - - wo+QQw== - - - - - - QzEzSDIyQ2xOMk9QAA== - - - - - - W00gKyBIXSsA - - - - - - - - - - - - - - - - - - - - - - - - - 4EvhQfMRckA= - - - - - - QIwySA== - - - - - - Xo+QQw== - - - - - - QzE1SDIyTzMA - - - - - - W00gKyBLXSsA - - - - - - - - - - - - - - - - - - - - - - - - - 4EvhQfMRckA= - - - - - - QIwySA== - - - - - - WY+QQw== - - - - - - QzE4SDE4TzIA - - - - - - W00gKyBOYV0rAA== - - - - - - - - - - - - - - - - - - - - - - - - - kQvO4C9ickA= - - - - - - AOAuRQ== - - - - - - exGTQw== - - - - - - QzE0SDIwTjNPMlAA - - - - - - W00gKyBIXSsA - - - - - - - - - - - - - - - - - - - - - - - - - kQvO4C9ickA= - - - - - - AOAuRQ== - - - - - - ghGTQw== - - - - - - QzE1SDIwQ2xOM08A - - - - - - W00gKyBIXSsA - - - - - - - - - - - - - - - - - - - - - - - - - kQvO4C9ickA= - - - - - - AOAuRQ== - - - - - - RhGTQw== - - - - - - QzE2SDE1TjVPAA== - - - - - - W00gKyBIXSsA - - - - - - - - - - - - - - - - - - - - - - - - - kQvO4C9ickA= - - - - - - AOAuRQ== - - - - - - gBGTQw== - - - - - - QzE2SDIxTjMA - - - - - - W00gKyBLXSsA - - - - - - - - - - - - - - - - - - - - - - - - - kQvO4C9ickA= - - - - - - AOAuRQ== - - - - - - MxGTQw== - - - - - - QzEzSDIyQ2xOM08A - - - - - - W00gKyBOYV0rAA== - - - - - - - - - - - - - - - - - - - - - - - - - 5SZqaS5ickA= - - - - - - pIjfRA== - - - - - - ghGTQw== - - - - - - QzE1SDIwQ2xOM08A - - - - - - W00gKyBIXSsA - - - - - - - - - - - - - - - - - - - - - - - - - 5SZqaS5ickA= - - - - - - pIjfRA== - - - - - - RhGTQw== - - - - - - QzE2SDE1TjVPAA== - - - - - - W00gKyBIXSsA - - - - - - - - - - - - - - - - - - - - - - - - - 5SZqaS5ickA= - - - - - - pIjfRA== - - - - - - exGTQw== - - - - - - QzE0SDIwTjNPMlAA - - - - - - W00gKyBIXSsA - - - - - - - - - - - - - - - - - - - - - - - - - 5SZqaS5ickA= - - - - - - pIjfRA== - - - - - - GhGTQw== - - - - - - QzE1SDE5Tk81AA== - - - - - - W00gKyBIXSsA - - - - - - - - - - - - - - - - - - - - - - - - - 5SZqaS5ickA= - - - - - - pIjfRA== - - - - - - MxGTQw== - - - - - - QzEzSDIyQ2xOM08A - - - - - - W00gKyBOYV0rAA== - - - - - - - - - - - - - - - - - - - - - - - - - 5SZqaS5ickA= - - - - - - pIjfRA== - - - - - - gBGTQw== - - - - - - QzE2SDIxTjMA - - - - - - W00gKyBLXSsA - - - - - - - - - 3030 - 6195 - 9329 - 12466 - 15593 - 18727 - 21815 - 24905 - 27989 - 31085 - 34169 - 37259 - 40349 - 43441 - 46531 - 49616 - 52713 - 55762 - 58811 - 61862 - 64911 - 67967 - - -71041 -0 - \ No newline at end of file diff --git a/src/tests/topp/THIRDPARTY/SiriusAdapter_2_input.featureXML b/src/tests/topp/THIRDPARTY/SiriusAdapter_2_input.featureXML deleted file mode 100644 index ba9b2292646..00000000000 --- a/src/tests/topp/THIRDPARTY/SiriusAdapter_2_input.featureXML +++ /dev/null @@ -1,1798 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 414.69499999998 - 288.185393170519 - 3710.71 - 0 - 0 - 0.000266955 - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 425.02399999998 - 288.235941440369 - 25991 - 0 - 0 - 0.00186984 - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 425.02399999998 - 289.121888629217 - 3.56041e+06 - 0 - 0 - 0.310668 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 425.02399999998 - 289.946965266596 - 16195.8 - 0 - 0 - 0.00116516 - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 410.145 - 291.226394349173 - 38506.6 - 0 - 0 - 0.00277023 - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 424.614 - 291.944663308388 - 4681.53 - 0 - 0 - 0.000336797 - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - 410.145 - 292.121752827683 - 5.44664e+06 - 0 - 0 - 0.458864 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 410.55499999998 - 292.866216068584 - 11546.5 - 0 - 0 - 0.00101473 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 410.145 - 292.91676229323 - 23148 - 0 - 0 - 0.00166531 - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 410.145 - 292.950969868088 - 28297.9 - 0 - 0 - 0.0020358 - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 410.55499999998 - 293.061501031199 - 6656.73 - 0 - 0 - 0.000478897 - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 435.543 - 294.136331255356 - 60548.5 - 0 - 0 - 0.00530553 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 428.724 - 294.136688932569 - 89740.6 - 0 - 0 - 0.00772195 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 411.375 - 294.785330236958 - 2104.37 - 0 - 0 - 0.000151392 - 0 - - - - - - - - - - - - - - - - - - - - - - - - - 410.55499999998 - 294.947884044299 - 7095.5 - 0 - 0 - 0.000528411 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 422.094 - 295.027220567533 - 5880.55 - 0 - 0 - 0.000423057 - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 410.145 - 295.053118558984 - 2814.07 - 0 - 0 - 0.000202449 - 0 - - - - - - - - - - - - - - - - - - - - - - - 432.81100000002 - 295.188523029083 - 6676.01 - 0 - 0 - 0.000480283 - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 410.55499999998 - 295.500679835427 - 2354.55 - 0 - 0 - 0.00016939 - 0 - - - - - - - - - - - - - - - - - - - - - 409.73500000002 - 295.753736042058 - 1962.87 - 0 - 0 - 0.000141212 - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/tests/topp/THIRDPARTY/SiriusAdapter_2_input.mzML b/src/tests/topp/THIRDPARTY/SiriusAdapter_2_input.mzML deleted file mode 100644 index d4073835dc1..00000000000 --- a/src/tests/topp/THIRDPARTY/SiriusAdapter_2_input.mzML +++ /dev/null @@ -1,7465 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1vEv9HkickCxWuP821xyQA== - - - - - - AAAQQQAAEEE= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - iFICMA0tckB5skFkqFhyQA== - - - - - - AACQQQAAkEE= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sSFyd+xBckA= - - - - - - AKCARA== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - yJ1gdeVBckBhfVIe4WFyQA== - - - - - - AGDvRAAAQ0Q= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - uldW5/BBckA= - - - - - - AACTQw== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - lBJlifFBckBRvpkb+FFyQD/ATxjfYXJA - - - - - - ACi2RQCAikQA4LNE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sdNZ+/BBckA= - - - - - - AIBHRA== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DM7E2vBBckCa1rHJAVJyQGblgjvmYXJA3o1KAu9xckA= - - - - - - AIAPRgBguUQAEF1FAEARRA== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Yivx8exBckDQ7jihsENyQA== - - - - - - ANAGRQAAKEI= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - d15CWu1BckCqePJpAVJyQOYNhgDmYXJANcgg7upxckA= - - - - - - AHTfRgDIjUUAcAhGAICyRA== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 3dBD2/FBckDfWgRJ/VFyQI/Emz/mYXJAlYG07u5xckA= - - - - - - C5xoRwDgGEYAzItGAJA/RQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - XvBWupQzckCxQ+tT8kFyQGHeDEH8UXJAxmt0wOVhckC4+XMh7XFyQMKCVlr4gXJA - - - - - - AGCTRIBIDUhPkahGudQrRwCwAUYAwG5E - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - k5Em75YzckA7oBbc80FyQMlFsB0AUnJAhMaSyuZhckAK0FAb7nFyQN7kuTb4gXJA - - - - - - AKCCRICvL0hL2+RGAANSRwCoA0YAQJVE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 5dqGTPuBckD1Gsp2uYJyQA== - - - - - - AACoQgAA4EE= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CbFmI6czckCzSxYx8kFyQEUdRqr4TXJAl6+8sy1PckDkimVL/1FyQIDLhy7oYXJA/r/jQfNxckAyI04s+4FyQA== - - - - - - AJAORVKBrEhvhz5E0JLURADRVUd2c9tHALCGRgCA5EQ= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Ea2P2P6BckBWvaMh54JyQKP+fBE0g3JA - - - - - - AAB8QwAAKEIAAChC - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - tnB84JozckB2nncN8kFyQHqkZAyDTXJAHlMTPcxOckDusmrKIU9yQPoyKBT7UHJALDnmdTNRckCaiznlAFJyQNbWFOnoYXJAJsbumhFvckBYN9QQ9XFyQNXLfwgAgnJA64Ob7tSCckA= - - - - - - k7ZcRSBWE0nb/V9ECvxTRQZRUEXziDVET/PBRACxmEdA4zJIAMAXRP637EYAsENFO8wdRA== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FNwfoQOCckAr7qWaWoJyQA== - - - - - - hLwWRACAMkQ= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Dq0RD6QzckD58UZu80FyQG2WR1fqSXJAOjbUI15OckDHSWOaVU9yQGpx/buhUHJAUaqFqu9QckCvqNBwAVJyQFSnhCMiWnJAI2Ko3JdcckAiOqGMEF1yQGf3U36YXnJArsejU0RfckBVCI166WFyQIZsNSOganJAJqbTVPNqckD186n/CWxyQGQeIu10bnJARfYZlhZvckCUikuK8XFyQB1F1aqEdXJACNUIEy12ckDIEz5IzHZyQBfbAfi6e3JApBApFsp8ckBBaphvx35yQH0Y5kpGf3JAWpRDD7d/ckBPuqaM+oFyQJLeYuoWg3JA4HlUuWCDckA0oWV1t4lyQA== - - - - - - hdmvRXC7T0kAwKpEyxFjRVRCh0WNxAZFc8/NRI1ukkd9X/BDx9IBRAAW7EPpCgxEAEAfRMALf0gAgBNE9QUxRA5V9EMyjaNEn73yRPnqJEcAQAFEAAABRKXS+EOSlAhEAAD6Q/w55kNBA/xD2OwGRB7cYEUAgPhDB1D2QwAA60M= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - OJFcr/BBckBe0cO9+1FyQLKoG4/hYXJA - - - - - - AMA8RAAALEIAAIxD - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TsE1TKQzckCFMtGX80FyQGZjxc+cSXJAm/ijmgFKckD0tegJ7k1yQECNoZqiTnJANAQqwEtPckCi/NphwE9yQDolnQoAUXJAsu+jaf9RckABJh3WWFxyQIAiZPW1XHJAexx5FPtdckC0BW75tF5yQDxYObIYX3JAuDpqZ+dhckDyyF57CmtyQFq8fX2ya3JAUNQYY0FsckBRJpe4P21yQL0e19M+bnJA2a0fpitvckBKVUvc8W9yQFX4UcvHcHJASwlEcPJxckDXSiF8aXZyQD88O/qednJAU85suDN4ckD071z+yXtyQO4lVMa1fXJAOmcrUj9+ckChtbSwqH5yQAhhXitIgXJAqIvs1f6BckB00KnGG4NyQD9NBDLGh3JAm8t7TGqIckDgd1nVB41yQA== - - - - - - 22m5RbBxaEn2q+JELt/yRFVoSEV0Un5FgVCrRSlSnUWvxepE7RCWRwAA40MNefBDhk8WRADARUTJTF5EyDuKSCyi5EMAgPtDF9/0Q/GHCURIiYtEX4ytRDTnGkQAgB1EO9k3R/XdBUTyueJDAAABRHBmAUQAAD5Eqhc6RJsU90PAt4lEDDqWRaDJAURSH+hDW8XrQwAA8kM= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - B+A6ZXkzckBQynx190FyQB9dFcYNSHJAuPDzjmpIckB7x48Ock1yQA== - - - - - - AIAyRIBL2kcAAFJDAABSQwAAk0M= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - nqdZj64fckCOrLZd6UFyQA== - - - - - - AAAQQgAAKEQ= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TAg3WfJBckAqXsBG/FFyQJAT4gDuYXJA - - - - - - AEB6RAAAKEIAAHxC - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - vW6gRPlBckA= - - - - - - AAAoQg== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - iF+qaJYzckDDsVIi8kFyQAoXRW6jSXJAYEcTgJpOckDKBwF+ME9yQKMdLCYfUXJAzEXiev5RckAMTBFYsFdyQAITkbo3XHJA6cCsfmleckAXKtyudV9yQJLzyB7mYXJA8FxAgBBmckBhk4jilWZyQGr2J6C3aHJAjBgavDBpckBnpwvYu2pyQDasltc/a3JA1ppLFXNsckB5q3nYr21yQCjnn2L1bXJAr+ZLRlhuckCjW4u3Xm9yQDyLeB0zcHJAt12QlNBwckCMLkdE8nFyQMjqbWFsc3JAT5AFqdh1ckCVIs7SYXZyQGoESIfgdnJAddA0wa96ckBYi88f83pyQP2C3pKDfHJA1IXoRu18ckCBejApWH1yQCgcJ5TLfXJAhMN5DPiBckD7DKOr5oJyQAO9CD7hhHJAW8iwwpGHckDkJdRYzIpyQM4jzo8Qi3JA - - - - - - AADHRVDcbUkAgNpDtNByRe/GYUXT1PhDHaoMSACAyENGb+hDMAIQRADACER2+I5I5WS3QwCAyEMAwBFEAAAkRACAtkP0A9tDAADtQwAA7UMF1h1EAADtQwAAmkQQIy1Eca4lRDgkN0cAgNpDAIDaQ9J9FkSLefRDAAD/QwAA/0MAAO1DAAAkRABANkQAAO1DVnqfRQCA2UMAgNpDAIC2QwAA/0MAwBFE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - uFamwo4zckDTelU49kFyQIVn/PckSnJAp7IQ3tNMckAKEy8jJE1yQA1KyywWTnJAoa3mzo1OckB8Qw9SQE9yQPMJCXKlT3JA834piyRTckA= - - - - - - AMBmRIBUCUgAAFJDAABSQwAAfEMAAJNDAACoQwCACEQAANJDAABSQw== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - jnz9gPpBckA= - - - - - - AACARA== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Dk36gftBckCOJ7mW12FyQA== - - - - - - ACD3RAAAvUM= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - K0i1jaQzckDNoLE+8kFyQLpkfGOOSXJA3pNfouBJckD9QHdvtU5yQMiglA3mUHJA9/XnMgBSckBTucCilltyQIwc9KwsXHJA6FPUyXdeckCv2fTmNF9yQA33Kb3oYXJAUlarbWlmckAAiRgMR2tyQNHiwGPfa3JAZLz6Xb1sckBeKGBNSG1yQIaFNt1xbnJA19MF9TpvckDj3GASPnByQIqp/5rxcXJAzRxSq3B2ckCLL0Z22HZyQHehxwCbd3JAy3XNA/p3ckA3LQvYvHhyQAFybsHteHJAsdEpbth8ckAUzxWIx31yQJfLze0dfnJAyj5LrLx/ckDxv6nT+4FyQLMFtjKVg3JA8q6LzEiFckD8enIh3YlyQPtGaWPIinJAOnb/TjWLckCdGxteY45yQA== - - - - - - rbTxRYi3hkkAwBREAMAURPirmkXhW+1DQDkcSAAAAkQ9QcZDAAALRAAAukPgd6NIAAACRABAHUQC1T1E1EzpQwAAC0QAgF5EAECURACAy0MAR1FHAIALRAAA8kMAAN9D2L8DRACAHUQAgB1EAIABRAAA3kMVzgVEAADeQwAArEVeIspDAIAwRAAA8UMAAMxDAADMQ8k0v0M= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - UKow5YUzckCZNkGP90FyQPVGia5pT3JA - - - - - - AAAoRCMjGUgAAPxD - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sMoire1BckA= - - - - - - AGCWRA== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - pI1wg+MfckAR91nXNDNyQDLx566rM3JACokpSOxBckBhrQxN0mFyQAcKCEhYb3JA - - - - - - AAB8QgAAKEIAAChCAKDqRAAAKEIAAPxC - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - KlTs5ZYzckB6T6Ae80FyQJ5XNm7SSHJAIqQA/pRJckAK2UbLLEpyQNr7nzhKTHJAgn9jxclMckA/R9VytE1yQNi3h+O6TnJANBHeEStPckAaPGXE/1FyQP+gZ0x6VnJAMOPQAO1WckCEleETMlpyQNojJGOJXXJAmojAcBJeckAdupIFgl5yQMAAlCgXX3JAmERiq+dhckAqGCBwKmlyQKildErAaXJA/wYs3ANqckAd7H7tgWpyQJMODaIna3JACrasIa1rckAOEEPdoW1yQJ5/KJwFbnJATkN2K5tuckBLPi2lMW9yQBTOkBy0b3JA/EFVRCpwckCwn34f3HByQK2sKZrxcXJAjZf1BB9zckBi+2+24HVyQHgXu17idnJAGpkEylh3ckC9wFfMDHhyQLbmO+s/e3JAj0fpSAJ8ckB3rRsUW3xyQGl8fkvpgHJAFwF9df2BckAokjUvzoJyQLS3SiE1g3JA8vyFbS6FckDKFeLBvIVyQM5xJ6Y7hnJAGAj4DCWJckBOWBDOsolyQFvK+Clej3JA - - - - - - ACDlRaAqlklnir1DAIAyRLNYAURXHfhDAIBHREhLFEVbAKRFaRSYRcBXN0gAAL1DAAC9QwAA0kOkm+9DPKLzQwAAvUMAgAhEVrW8SACAHUQ+sC5E5rNTRBs8SURWXVNEB3Y5RADAjUQAgJ1EJUGRRAAAk0QAQINEAAAoRAAAKETNcmVHfxnfQwAA/EMAgB1EgRsjRACACES6U75DLZRjRCPWW0QAQB1Eq3i8Rcu+2kMAANJDoXkFRI8PHUQAAPxDAADnQwCAHUTBSfJD - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - B3TRXqNfckBRmO7u/39yQNAsSa1xgHJA - - - - - - AAD8QgAA/EIAAPxC - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0r2VcBcgckCSmzGm50FyQJeCGc73YXJA - - - - - - AAAQQgCgrEQAABNE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - JLheT7lBckDNQVTEM0JyQA== - - - - - - AAB8QgAAfEI= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - OAWobJ8zckBIW8WI8UFyQMDHoxuXSXJA2nq0Jd5KckBYUZ46WktyQISUWDEhTHJAzp5iYZpMckDaaUdiok1yQAH8o8WuTnJA9KhcxTlPckADhAvIG1ByQKaphHyUUHJADMwltP5RckC91kecRlhyQIGy1HCoWHJAkBz8zmtZckAaLHqcA1pyQP7R9andWnJAxdw0pvlcckDjnBMPIl1yQBKklmlPXnJAD7Pa0tteckAGaGcrPl9yQNkR/TEYYXJAA8Fl0OhhckDyxNG0rmpyQGaNs6BEa3JAlgDM2uprckAkZGywtGxyQP/fEmWDbXJAbhGa+GluckAQg20YGG9yQPFFS/e2b3JAMJq+4TVwckCwEmeS+3ByQF2ujGXwcXJAzqb5ahl1ckCgcnsHzHhyQCiHQnKXeXJAOiP+Akh8ckCcVzmg4HxyQPZlkRw5fnJAsj6p999+ckDKsiWRSX9yQAic6iDogHJAYy5RaPSBckAv4w3GXYNyQOy8ufpOhnJAjLvZirOGckC6tcb0LYhyQKJjUHCViHJAdKuKkR6JckC4wcyW+olyQATlfq+ninJAqx5Tb9iKckChlDMj54tyQHi1om/PjXJAla2S5UCOckA= - - - - - - AEQARt8Oo0kAwBhEAEABROXo3UPLFv1DAIDTQ+aZzETmVMBFcfDGRTcMykQAwEZEwI9BSABAAUS3K+xDAMAYRGvXJkQAgCREAEABRABAAUQAAGtESfiZRACAU0RtMMFEIFLLSAAA60MAgNNDAIAkRExZGUQAQF9EAEDNRBJ75EQAALBEEP1oRJPkZUSU5XVHAADrQ9i830MAAA1EAAANRACAJEQzwkBEAAA8RMODFUQAQAFEAJixRQCAJEQAAA1EAAANRB/uB0QAQDBEAIDTQwAADUQAgFNEAIBTRAAA60MAAA1EAAANRA== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - XtuoPgMgckBMU+G8nDNyQJmC7GvyQXJA1GcbgI1JckAaYwb++U1yQEAID2SoTnJAP+NX0CBPckADKwxDfFByQHEbfYohUXJAGZfGx/9RckAcbcoE+FZyQMlTiFV+V3JA2h+0mQVYckA04zTDf1hyQISukGf0WXJAQpbx4nJackBLlOGLIFtyQJxiF7NhXHJAtxcIVDhdckBABo0k8l5yQOCDnORpX3JAr6FrB/RfckAQc4tK52FyQGH6nqG4ZnJAkV1o0i9pckD1u26op2lyQJT4QGSpanJAoAvPABtrckAASYiHtGxyQPSwQSFSbXJAgtlEwT9uckAaDj4XJW9yQMbrPfoAcHJAAsPJNfNxckDo7Ly5unVyQGhCgY8Fd3JAoqpdtVN3ckDOwVJD2ndyQPwba8cAeXJAtdiGXzd6ckBYWoeXF3xyQHcpRf27fHJA36N5aSaAckB9S+tdOYFyQJNkvS77gXJAsImqpeiFckC+yvYfUopyQA== - - - - - - AICyQwBo30WLIJtJAMAlRKbBIEXZJ6lFLH+4RQAAzEMqXMZE7qg1SAAAzEMAAP9DprrnQwAA/0MAQAxEe4o6RACA5UMAABlEAEAMRABAP0QBTEpEzKcuRGgyvEgAAMxDAEAMRADAJUQAAMxDAADMQwAAGUQAQD9EGY3BRADghUSoRidE9ABtRwBAckQAABlEAMBYRPjhP0QAQD9EAEAMRACA5UN4pftDAADMQ2I22UMA0JpFAADMQwCA5UM= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TApEUuI2ckA= - - - - - - AAAQQg== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 7RPPsxcgckDUuz0InTNyQGG1o//xQXJArvQap5RJckA94FUMHU1yQAgHZEQKTnJAsEcsnxlPckA6GIk5g1ByQAEP0LonUXJAkGu2ef5RckBshRk6UVNyQCmfyiowWXJASSYOJV5bckAIOkZM3V1yQJG9jqHWXnJA+3zLOE5fckA2J9Kl5F9yQBEPtM3nYXJAtbZKMHtnckA2qxaZ9GdyQBAd9+V1aHJAhI1y5uxqckBX20YCDGxyQMGhyNZRbnJAKKad3zdvckA8/nDxmHByQFjzOB7xcXJACJAbKzh7ckC/3kB7yXtyQCbOqDeEfXJA02TXmeN+ckD+Ubf3Mn9yQDQHwy6ff3JABxIsGBuAckBmmLvff4ByQOZGi2EpgXJA5r4vUveBckAIfQ5gx4JyQFM/Z9LuiHJAgPtLCnWJckAcc2aAjItyQPS+LKDoi3JAhvbPOFiMckA= - - - - - - AIBORN6zEEYPk55JAIByRACA8kMAMCZFIPLWRQBAHUSo2olEAMg1SACA8kMAgBFEAIDyQ88NbEQAwClEZQpbRAVZF0QgvsFIUGIaRAAANkQAwB1Ev1UdRKBUUkQ66yREAAC5RACA2kMAh19HAIAFRCmrD0QAgPJDB0sURADAHUTJXTtEM3w/RM5+IkQs7VBEAHAWRsRLaEQAgAVEAIAFRAAA80MAQEJEqDYFRA== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - N4EMWQ4gckB7kuuSmjNyQFxKVf7yQXJAWsAu8xZNckDsCSInmE5yQK6zH6I8T3JArdPj5nJQckDWS2XBLlFyQA44xOYAUnJA5t6/xEBTckDYnmrInlNyQJIArkN4W3JAEVZL1xReckBe7SgHH19yQPPjikqMX3JAGLdLHulhckBXQEkiumlyQHo1is2fanJAVPiJNhhrckDquL3wlWtyQKK0hP8BbHJAx7YETnNsckA1cqbMwW1yQEGPlEljbnJA1dRQRUhvckAg4T1alXByQF559xK9cHJARhshv/JxckBsNB/+e3ZyQMpBkQeSenJAtDrmm1d8ckC31tu7bn1yQOGxEwlmgHJAS1HGDO6AckB2zf5D+4FyQOr8x9amg3JArs5szdCMckClu1ZODI5yQA== - - - - - - AEBrRABw4EVI6pZJAEAIRHbYkUWQi51FAID3Q09gp0SABCxIAADfQwAA30MAgC1EAAAhRADAFEQ1CztE3PezSBRHBkSl6SdEAABGRABARkROhVJEAEAhRLHFB0Tdpn5EAGDMRAAAIUQAgFBEACNURwAAIUQAQAhEAMAURACA90MAwF5EjY5GRACIlkUjmghEZV0eRDXF40M= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +S9EsxwgckB9NZkKozNyQOVZoL31QXJAiMd4HvhNckCHpqYArE5yQCG7aUstT3JADneXHwFSckCpJBN7e1NyQDK7LG74VXJAKyKY4m1fckBkXPuIul9yQNGhJdrpYXJATdLb3YpockCf1e1kC2lyQIZvWOQLbnJAmMLM/KJuckAyz59OR29yQKXwB4bzcXJAUCz4s/p9ckC+yEA7b35yQLLU9u3cfnJAskytP/mBckBhpynXuoNyQJ9yZZ1KhXJAgAl+2a2FckA= - - - - - - AACfRADQxUXgsV5Jup6pROG9S0VicWdFJ78GSAAA7EMAgAFEb1LnQwAA60P4o4pIAADUQwCAAUQAgLxDqnYsRABAa0QA3TJHUn3PQwCAJEQAAOtDAKBaRQAAJUQAgLxDAIC8Qw== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0lYkESUgckA5HvfhqzNyQL+sxBTxQXJAGDHo06VJckDnFUhAD0pyQJyW0SapTXJA8i/FvNNNckDhqlOrq05yQLnZmRxaT3JAcWSHMppPckB6GQdgb1ByQCCDVazMUHJAPtZoYv1RckBiK9O8xV1yQAjSMlRuXnJA8qzCZThfckCK9TlH5WFyQKACfUWtaXJANDtk+ZxsckC4SQHhP21yQG+Ft3LHbXJArJJ1d1puckA6EdtUKG9yQNze97LOb3JAjG0Ur+ZwckCi2G9h8nFyQK+drTu9cnJAwokAeQp4ckDMUbrHF3lyQCxhCd+heXJAeux0oCp+ckDObOzTq35yQLbfHoT0gXJA - - - - - - AOD2RABg2EVwMmFJ4IGXRNYhkUSIegtFkjIdRQXWWkXzWpZF+waURdvaI0VzqA9Fk8+ORwBANkTQ4j1EAEBFRGCIiEjlWRxEAIAPRPf+TkQAAIdEOu2hRPtpsETT21NEQ6YXRABjJkcmjrhEAMAiRMF3PkRVHDNEAMAmRADAG0S3bIlF - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Ht3kEe5BckA= - - - - - - AAB8Qw== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +jHKewMDckAoU7hUGiByQCuDpkekM3JAQ78b8w1BckDYhowP8kFyQJiCbWOoSXJARm5Fm49NckAOeUD6QU5yQMoHztybTnJAEiAW3lBPckC4e2oJ2FByQGfArrT9UXJAFmfCg9ZdckAePGw+6WFyQFPGkWKGbXJAL2orKIBuckBQyBTYG29yQN8qADqqb3JApiEvtfNxckDVrKErxnJyQL1r1LdhfXJA1rHIlPmBckA= - - - - - - AMAVRACgAkUAYI5FafBBRMAYLUkAQE5EDzWaRHiBMEUZkDlFPotQRW6bj0QZpaNHbIj+QzqyU0h8LCREYSVlRL4TqkRi6YtEkg8CR78JYEQ+KfZDuXlgRQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 7GuUNelxckA= - - - - - - AEDJRA== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - pm8Z6fYCckBPViPwFyByQAYKhT+lM3JA7eMxsPVBckAsTNfhk0lyQMhx+KvmSXJAEtW1ocdNckBGBbVNqk5yQABUGpc3T3JA872VmNhQckAiDkCAAVJyQBaghSMkX3JAli1faOphckCa1Lg4uG1yQHY22nkgb3JAPvlw+vRxckBabvtR+4FyQA== - - - - - - AABGRABAjUSc4JBFhu8QSXb6/0MAgAREwGnRREXiI0W4/ypFAEARRACVjUdARvRDtEouSCoNI0QPbU9EYzvNRgDgMkU= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 4Mn1zvcCckD32jfXGCByQBjqRkOWM3JAGR0BE/NBckDCUaN9fk5yQBgMVuJDT3JAZer/4f9RckAMdbAm6WFyQBnrvLnycXJAeeBr//mBckA= - - - - - - AEBfRADghUQAgC5FwCmySBzvk0QB3rpEo1xRR2ui3UdV3YJGAIDbRA== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - xVnXxfYCckB8rQeMegNyQMjzPRgTIHJAtn75Z5MzckCOWe3j8UFyQHxY4hYFTnJAxA02uiZPckDZnG3g/FFyQJOYc/HmYXJAR9csve5xckD2Ewv694FyQA== - - - - - - AICPRF0ESUQAgFhE87EBRQAIgkjO7u9DTSSfRKmeHUcAqJtHvh9HRgCAnEQ= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CI2Jm/sCckCCP7fOFSByQA3tQYOpM3JAakeJQPRBckCW2eRjVE5yQMCiQJ7YTnJAd/SVlDhPckBcVEK5/lFyQN9FSH7oYXJAdr96e/NxckCdqRi+A4JyQA== - - - - - - AMCCRACAHUQAYJJEXrckSHuptENotw9EAIDVQwCOyEYAR01HAEDoRQBAdEQ= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - xEzYWtt5ckA= - - - - - - AACQQQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - y4eNKPYCckBxirNuHiByQAhyz6GXM3JAjuuv8vFBckCAcvw2+1FyQKBUQa/kYXJALZ4cxe9xckACiUsJ9YFyQA== - - - - - - AACeRABAGEQAwBdE3BPWR8gqe0b1HABHAMCNRQCA1UM= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - fOABD0BOckA= - - - - - - AADgQQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 9zCbSvQCckCH3KaGFyByQCFQ+ByNM3JAaD4+MPJBckBM+brMAFJyQEX4ek7kYXJAvujqS/FxckAD6tco+IFyQA== - - - - - - AMA9RACAzUMAQD5Elj2cRwCYREYAVLFGAIBtRQCA3UM= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - cDauSvsCckCeCBz/sjNyQLumXtLyQXJAGGvBbv9RckDPAvZw6GFyQBkUxQotcXJA6I7dQPJxckA= - - - - - - AEBoRACA4UMA0mpHAJgQRgCuiEbzmcBDAFAiRQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - zvzm1O8CckDIir485hFyQMl1gkrwQXJALD4J+vlRckCUAIkQ5GFyQORLDefrcXJA - - - - - - AIBzRAAA/EMAyTRHACDZRQCgZUaPdMxE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 7NPTdPICckBUFZyI8UFyQOrzFQYBUnJAsXDo1udhckCYHq+y8XFyQJdu3XD5cnJA - - - - - - AEAjRAC2BEcAqKhFyr0pRnzgB0UAgMVD - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ezBPx/YCckALQQgI3hFyQCPzORHvQXJAthSKWvJRckDKbyMu5WFyQMZt+/3mcXJATq10XQhzckA= - - - - - - AADUQwCAT0QAXrlGAKBgRQDAAEYAIK5EAIDnQw== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - UhP/I+5BckCkd1D8+VFyQMaNcczlYXJAtHbQUOZxckAQRQNv8nJyQA== - - - - - - 062NRgAAJkUAKKtFAOCORACAqkM= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - LP4VxetBckAw1M0i/FFyQBL9dibgYXJA9slFf+9xckCTSjmN/HJyQA== - - - - - - AOSHRgCAH0UAWKJFAIA7RADAXEQ= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - yhjaN+kRckBkfTWJ8kFyQPiB1CQAUnJA1kX2/ulhckDA8VPN9HFyQKDLMOcJc3JA - - - - - - AIDDQwC4YkYAkCZFACCNRQAAVUQAgDdE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - gVqbFnFwckA= - - - - - - AAATQw== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Em5uMugRckDgtZdQgRJyQA9AmVbyQXJAJ3nSyPlRckDuchBL52FyQDT7uTzrcXJATQS4P/5yckA= - - - - - - AIC/Q/pgnUMAtElGAAD2RADwZUUAwBdEAMAXRA== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - cmcLtldxckAP4c9k6nFyQA== - - - - - - AAAoQgAAKEI= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - hWQGmeoRckDPBnD18EFyQNb94i72UXJA9vuDrpRSckBitucn52FyQHRPM3rjcXJAHWCPCwNzckA= - - - - - - AEBIRAD4GkYAINlEoOj4QwBwS0UAwBhEAMAVRA== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - MgZL43ZwckA= - - - - - - AIAIRA== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - rpKdM3VwckA= - - - - - - AAAoQg== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - grpgbPARckDwD8fs6DFyQKsC/KnzQXJAdP0ltPZRckD5coeN6GFyQLonvI7xcXJAGkeQmhpzckA= - - - - - - AMCCRNEvu0Onj/ZFAGCbRAAwGkUAgJxDAIDqQw== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 4v7N7ugRckCmWvXP6jFyQGPltknsQXJA4PCcBPRRckDBzHcL4GFyQOZ0OrpccHJA1qB+QutxckBU9m/rBnNyQA== - - - - - - vZPbRABABkQAsL1FAEBvRAAgAkUAALhDAICuQ8vV20M= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - NNsOaHtwckA= - - - - - - APAgRQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - qvg+rfIRckDSp+QA/iFyQCf9fVPpMXJAT6oRr/BBckACJMckAVJyQGnkfqnoYXJAt3B9VnNwckA8Thq18HFyQO1hGJsIc3JA - - - - - - AMBlRQAAP0QAIJpEAGivRQCgyUQAgPtEAIAYRACA60MAgMJD - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0B0GTTsRckC4D6vU7hFyQD0DMer7IXJAKhWm2OIxckB8crFw8UFyQP5t3UP2UXJAvqVUUqBSckDGLGKT42FyQOUh0hedYnJAm9VZo2twckDp0dqv+XJyQA== - - - - - - m8WCRABA7kUAAJREABAkRQDItUUAQKFENbGyQwCA1kQCRa9Db3OeRMqaqEM= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 6sWZD7YhckAIN4BrASJyQA== - - - - - - AACoQgAAqEI= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - n6D3COsRckAsjGSS+CFyQE2KK+PmMXJAzCowBfBBckBQJ42y8lFyQPROFU7dYXJAJjmrs3NwckA= - - - - - - AKxwRgDQIEUAsIlFADCkRQAASEQAYKREKDWcRA== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TzjI0/ARckAz0mJW/SFyQPnXD5viMXJA9qE6JetBckD9PFiD71FyQKfnaffeYXJAVtOP3HNwckA= - - - - - - AFcNRwBIoEUAVDlGADiYRQDAXEQAwIZEAGDTRA== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ymssiUBBckAOV6iEs0pyQMTj9/v4SnJA - - - - - - AAAoQwAAqEIAAKhC - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - fJIpJMkDckCJr7Iq8hFyQBCLjFoBInJApgtnXugxckBrY3AQ7EFyQIDRPk/1UXJAVuMMb+ZhckAEPFRpbXByQA== - - - - - - AEAORICtjEfpKjtGAAa6RtWqz0UAQCxEAIBkRAAwAUU= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - nxngOVBwckA= - - - - - - AACoQg== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - YYH4cUoBckCmgXdvMUFyQA== - - - - - - AACoQgAA0kM= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2KtFvEJBckA= - - - - - - AAAQQg== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Nwz7WtADckBGz15x8xFyQDb2Bqj+IXJAV+sdD+0xckCw+VCA9EFyQJDX6HH/UXJAgGycwJhSckA0jU966WFyQDoLEj50cHJA - - - - - - AABkRECBAUgAwJFGADYdR/63DkYAoIxEEkBARABAeET4rgFF - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SyShDe4xckA= - - - - - - AKirRQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - D1nOXQMyckDhgcACxWFyQPQWsxSDYnJAPSbWW6RsckCkwkBCf3ByQMaQWRiqfnJA - - - - - - AACoQgAAUkMTLrdCAAAQQgBwfEYAAChC - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0rR7S0NBckALbErPVHByQA== - - - - - - AOCmRAAAfEM= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - R8Rl58ADckAzEchU8hFyQFqi0g2LHnJAYGHliSMfckA6G4yg/iFyQIAo5l3pMXJAiGrDw/BBckBcCzNQ9lFyQH7at2bbYXJAdAkDPW9wckA= - - - - - - AOAXRYvzhUh5+2lEU3CVRABXMkcAW6hHrKNwRgBgtEQAQEtEADABRQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - I4k9B/oRckA= - - - - - - AACTQw== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - yTxdZvIRckA= - - - - - - AABeRA== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8k7COTdBckA= - - - - - - AACTQw== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - NdchfD4BckAo1EbwwANyQBaTBh/yEXJAVxfXSP4hckDlFJvy5zFyQH4q3K7vQXJAd0XRrvdRckCgrrXYZXByQA== - - - - - - AEAmRABQLUXgxqVIGtNcRwCp1UcAWpdGAOARRQAArUQ= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - RMA8IPERckA= - - - - - - AKBSRQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - J5ItQkRBckA= - - - - - - AADSQw== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ArTa0vgOckA= - - - - - - AACoQg== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Tdw0F8YDckAxo+6v8xFyQB8e/XOMHXJAXFzoTpYeckCuK39Tjh9yQKOcIdR0IHJAENVMYwAickD0pt+G6jFyQGlhQA00P3JAplpcJPNBckA6A8rh+1FyQK5padrqYXJA5O02qHJwckA= - - - - - - AMC9RYDFWEnUTOdEh7tlRYI0qkXlTwJFAG2QR2Acgkj0W5xEWXE1RwiQgkXO3MREPIuhRA== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - WFOBAyZBckA= - - - - - - AACoQg== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - OglatfcRckAs7nwu7CFyQA== - - - - - - AIjLRQAAKEM= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - O61dTA4SckCLd+HXMEFyQA== - - - - - - AABSQwAA50M= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DoN2Qb8DckAsA+1y8hFyQPpvZvbGHXJAWVKM/pseckC6O7HRKx9yQIjhoUz/IXJANwx3oegxckDxHSBy5kByQPctkvHvQXJAUgM0a9RCckDcTxTp9FFyQC5gr0NwcHJA - - - - - - ALC8ReAoX0nfdhNFn8NURaNXWEWAdQZIB86HSFrLbkQpazlHS96ARABog0XO961E - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - E3azfJsDckDZ729j9RFyQH00z+evGHJAyUnKmDIZckAulu6+whlyQJxFtg8aH3JAzJQgucUfckBGeW7x6DFyQA== - - - - - - AIAdRFTHG0gAAHxDnby5QwAAk0MAgAhEAACoQwAAfEM= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - WGe7i+IRckBdoecG+1FyQA== - - - - - - AAAoRAAAqEM= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 53NZmcYDckBCD2688hFyQGntvZkdHXJAp8Gi3LkdckDoRu49jx5yQDyP6wIjH3JAE5Ktm/4hckAYn7H06DFyQJa8AcBfPnJAgZ34DAw/ckDl6Ndk7kFyQJZe9mz9UXJA65PsZghickA= - - - - - - AOC9RSh1hElPUmNEGeAARbcDi0XGUItFz7ISSOAXnkgAgHlE8KKhRABATEciJ41FAMBIRA== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - /O8paKgDckBHbLsTFhJyQC/R/W9aGHJAr5qMoIwZckCGlYPC1hlyQNm1e63gHnJAzueoFCYfckDyBaeowB9yQA== - - - - - - rhmHRFVWGEhlaaVDAACoQwAAvUMAgB1EAAAoRAFYBEQ= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 5kj8wGcRckCbNOa7/RFyQA== - - - - - - 8R8mRACAHUQ= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - j2GjNMURckCBge6yjmByQLDZF93oYHJAJIg37TBhckA= - - - - - - AAAQQlUErUIAAPxCAACoQg== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FoC4I04PckA= - - - - - - AACoQg== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - gRSRyGIRckA= - - - - - - AAAQQg== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - n2Yh2EEBckCdNFRPygNyQKU+6eLwEXJAQiPAi5cZckCwp+bhvh1yQMG5DwWZHnJA3hKPyikfckAIJbQlbiByQKNzh17VIHJAZEkGffwhckB/oAcgri5yQGjYzOUdL3JAnpZILOUxckDiXRh2NDxyQHNQQZ4TP3JAzJ3WEZE/ckDTY0Xx8EFyQNEVnnH0UXJAwT5SX5JSckBDYgki42FyQPZqajlQYnJA - - - - - - AIBZRAA8F0YQEZhJAABPRPWiOkWhaahFNhTARdlsiUSLzFlEM3MoSADAeEQAwHhE4DG9SACAeEQAQN5E5J6wRCtiakcBiq5Fpy0yRQAAeEQAQGNE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - gK6U/6YDckDUkAxM9hFyQNY1r8MkH3JA9hBVJnofckDbgepGEiByQMVw7NPjIXJA - - - - - - AMCSRECMMkgAAFJEAABnRKan70MAAJND - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 7NZx6O8RckBiicSRdBJyQA== - - - - - - AIBxRCQGQ0Q= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FlB3bcIDckBcMeiW8RFyQLDfoAKYHXJA4ppz3RwfckAMr2EaHCByQHAk/yf8IXJAenuPBc4uckD+R8pnTi9yQCj8vPXmMXJAr6Nm1/M7ckBthFEFxD1yQNSX7PkLP3JAqV+5Z/FBckDG1/qFBEtyQA6x2ZGGS3JAxz1VLvJRckA4KRr5WGByQLQemDgaYnJA - - - - - - YU25RVAOg0kAQG1EDASNRQDAYUTAiCRIAIAyRAtpHkSLQqJIAEBKRCyaJUTvMM9EAPc9RwCAGkSz2EZELUWYRQBAMkQAQLJE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - GNBIhMUDckC7Tl+p8xFyQBqlOVsKHnJAa+yuUsweckAEF+WRMh9yQERA8h//IXJAFVqVm+kxckBlwoj2aDpyQIR2V1QzPnJAkjmlZrA+ckC9tN6GJD9yQG+fFDOgP3JADw7PFfJAckC2svSg8EFyQP5InC39UXJARROeuBJickCBZE9ign5yQA== - - - - - - AJjeRbCie0kaZThF57uTRcrXnkUAJw9IXZSdSAAAJES9johEAKCURAAApEQAgGFEAABdRMXSPkcAoIlFAPAPRQDAGUQ= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Z6HJOV9RckA= - - - - - - AADnQw== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - vzm/vE0BckB6o676xgNyQB/4JBv2EXJAbr1TiIUeckBjGozfGR9yQEkk0c2tH3JA1rz/NWsgckB/VSccKiFyQATfxdoAInJAhAQZGIkjckCwAa05Uy5yQGC1+J2+LnJAYlfQCUcvckAQiPvU6jFyQMOdNkn2QXJA6VR7Bx1LckDvEs7h1UtyQNye46YCUnJAIOpvMihickA= - - - - - - AEAlRADQsUVc+kNJrcwmRXvCP0VTkwVFl/ExRKD6PUQAne5HAMATRABAO0QAAEVEAABFRKr8eEgAixpHAAAURC5kB0QAIElFAOAIRQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - f1Njb0BBckDqn2OfdEVyQOIcw3fVRXJA - - - - - - EqTzRAAAKEIAAChC - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - M9BZA0IBckCAT17YjAFyQGw/Thl2cHJA - - - - - - AADgQQAA4EEAAOBB - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - bovWLzoBckA= - - - - - - AADgQQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - hsedBtMDckAFoHo/+BFyQAdo5zfSHXJAIGNtOBkfckCXjUSXAiJyQMjA+ZfsMXJAYmCgv/w9ckDlqc/Baz5yQKIOJpU4P3JAAirFG/dBckAWdvVwLFFyQEtnTjADUnJA0AUPjBFTckCwOM8SLmJyQI7HVxI9cnJAJPS0kZ6BckDaaDY3J4JyQA== - - - - - - ABCsRc1FQkloBgVFUkdtRYCS6UeR6XFIyK1FRA70RkTmrXlEHKILRy1VMERZxIRFYGMeRNCseUUAwD5EE6+ARF/zwkQ= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - bDtWzccDckBM61ov8xFyQCdC7t3vHXJAh+GmJ40eckCjSPisQR9yQHcsRfD+IXJAL/rmz7wuckBsWRWlUC9yQCtdzCzoMXJAFpWvJzE/ckAtOcTA7T9yQA4rhkSAQHJAf5kDXO9AckCB978s9EFyQMLutTTmQnJAVJVYjfNRckAo4fZLtVJyQH4/84wwYnJA3AzC5vVickAy+E1/KHJyQGClRq4fgnJA - - - - - - ALBiRTa4EUlbF4dEuaT/RIGPDkWAEqlHVTkSRMj3A0SANj5IdVlyRDcg+UMAAAlEgsZ2RFWU6UZMUAVEAFBlRWi+EUQAQMJFRuLaQwAAWESacfRE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - K889C+kRckA= - - - - - - AABQRA== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 78Sf2DpBckA= - - - - - - AAD8Qg== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8GjSXkRBckA= - - - - - - AACoQg== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - pFPQH8QDckDdBjRxFQRyQEGQsinzEXJAiNFUYdceckCGublQLB9yQCfuLs0PIXJAo6GrLf8hckBuAm9d5TFyQMi7ecN0PXJAawPiDtI9ckCCYhYlaD5yQO4bv5j+PnJADk3gSPFBckAN5egtP1FyQAbMjDb9UXJA2qvI081SckCbQo/tS2FyQCj/EqsvYnJAwRamDjhyckClsmUmGoJyQA== - - - - - - XBCORVXojUWgC/1Ic2AaRSPtDUUJseFDgEqZR6YNJEgAAO5DAIDWQ0He5UPCqwBE3PXBRkyHJEQAYChFkRUFRAXs9UMA5FVGAIAXReK+WkU= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1Z9xREcBckA= - - - - - - AACwQQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - RVfxF8kDckC7YF6Y9BFyQA2fFM3cHXJAxxMz6pYeckA6JuVMNh9yQMy4JFYBInJAXZZ2LukxckC2GLB48EFyQHhrh8z6UXJA105Ezy9ickCKr/hhO3JyQDQiHhvlcnJACmHtmSWCckA= - - - - - - AIARRS3vp0gRT7tDYw9xRFMlm0QVUltHegHORwACi0bPH+NEq8CIRgBALEW4l0NEADikRQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - zZFVnzRickA= - - - - - - AOD1RA== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - KKV4+A1ickA= - - - - - - AAAoQg== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sEhDzMYDckCKpVLh8xFyQG5G1xY2HnJAWDllTAQfckAtBLA0ASJyQJ2UxKzlMXJARd6qJ/FBckBb+8g8Z1FyQIIXfZL9UXJAEbuIN7tSckCLFJBLMWJyQD4xv74GY3JAh3fLdnZxckDWyyLSPnJyQG/OT7ckgnJA - - - - - - AADMREBob0h8NdJDAEBfRACTD0dbXp5HRtxSRqRLVkQAQK1E4XLhQwByz0YLBv5DQwgWRAAIhkUAGOlF - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - npLQ77FTckBc907uLmJyQA== - - - - - - AAAoQgDgLkU= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Y0Sy1L4DckCeeLJv8hFyQHTsVt8iH3JA0KEaH/8hckCAYJH04jFyQFx/mVfvQXJAA/wv2GNRckAm7j7++1FyQMwflYwwYnJAMs285EByckBh3xgqBXNyQNlslYkkgnJA - - - - - - 85eZRDOrJEgNCAtE20nTRlFYVEcA4BxGiRUYRFIDhkR9IQBHACi3RSF2B0QAcBdG - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2CL1GTFickC/6ZuWcm9yQA== - - - - - - AMDTRAAAEEI= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 3Kir+cUDckAqhdc09BFyQNbr3vn+IXJA6bAHpOUxckDj7UFN8UFyQE5Kds36UXJAGOKjpjBickBG3Pa1NHJyQAp16xkmgnJA - - - - - - AIAORAAz3EfetodG4qMTR+9hy0UA4JVEAAbiRgDoqkWCAP9F - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - uK4VqjRickA= - - - - - - AAC9Qw== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 6+Y057YDckBKTNYh8xFyQADVfLz7IXJA/gaT6uQxckA+w3OY8kFyQMj4dSMHUnJAMAbhNzBickDaUJNsPXJyQCAUFx0kgnJA - - - - - - AIAkRAA7l0cAiEVGQmrQRlIwokWIRhdEAF7URp7pg0UAlApG - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - MNwJwsYDckAK8Zwv8hFyQKN5Y//8IXJATOFVxeExckA4Sy24ZUFyQEzESkTuQXJAsQtpI/BRckByRPF8MmJyQITd/Hs2cnJAKqfD+BVzckBU2VrjIIJyQA== - - - - - - AICwQwBNTEcAFABG94aGRkvfNEU1gXFFAEABRAByv0baHWBFToC4QwCA9UU= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - KTvIpfARckD0csMk+iFyQK0io0/hMXJAiUZKHVVBckCMk8zc6kFyQL/O4Nn9UXJAJqeV5i9ickC9P4rfPHJyQJAm+C38cnJA1CBaDCiCckA= - - - - - - APASRwBQmkXGYi5GsFP+RNbFK0UAAN1DADiURjFxSUUzDsFDkxuiRQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ahyCTPQRckBAEI2H+SFyQOzxSTjnMXJAHzud2W1BckDgyLjW80FyQNZ3gqwDUnJA4xSmazJickCDSFZtP3JyQLeUsq0Bc3JAY/NNxSOCckA= - - - - - - AGAERwCglEVs0StG1coWRYvFR0XIjdJDAHiJRgBAH0V8yhdEAEiXRQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - GmUH/fERckAnyrs3+SFyQIwmjmycInJAtRSIGucxckA6lfGI5UFyQD3Yxb9RYXJAZxM9XjBickCvpig1OnJyQAxR74sIc3JAL5Zu1yWCckA= - - - - - - AJalRgDATUUwOUJEIHvmRQAg80SywZJDABQpRq/67kQUVA5ElwNhRQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - fijzg/ARckAezRKe/CFyQGEVR6PlMXJAJF9HFuxBckDIK4nF9lFyQBESWzssYnJAif75ODxyckCSjJ0LA3NyQJHQDsAjgnJA - - - - - - AKxuRgDg/ER5p5FF5LMCRQCArkMA0ARGAGCHRACAG0QAUBBF - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 5CaFp/ERckCUzoP68iFyQLgLdcY6MXJAtMLAP98xckCutcLfYkFyQDF5EN/sQXJA+LrMbC1ickDoGEILOHJyQP2LRVMFc3JA91E6VCGCckA= - - - - - - AKAvRgAA6kTQAL5EAMCGRS9NTEQAIKFEAAirRQBAQUTvk0lEAGDORA== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EzGeEO8RckCyaHzURCFyQNSROEf7IXJAOnl3GuQxckDIvf06oDJyQHTGakJTQXJAnYOHiepBckBvTnM3LWJyQM15+Xo5cnJAyZxiVgFzckA4DmYhJIJyQA== - - - - - - Vxo7Rqm8okMAAOtEADB/RSAezUP5Ri9EAADCRADgp0UK3J9EHF6RRACADkU= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DesBl/IRckD0bjE0+CFyQAb436bpMXJAuO0XOlJBckB8s9yS+UFyQNaSQLQEUnJA6TgMCCpickARStTINnJyQFg7MnQPc3JAMI5uQC+CckA= - - - - - - AJhHRgAg50S7NXhFWO/3Q27pukQAgJlD8nCjRbjSTkQAoNhEAGDRRA== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TUco0OwRckCDScCd+SFyQDdzkXPhMXJAQhopGetBckAjlErAKGJyQJ49g4E0cnJAgpvelwRzckAa/tDVIYJyQA== - - - - - - AEAbRgAgqUQAsD9FAGDARABgjUWw9kVEAKDGRACAgEQ= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DCW4u2pwckDaaLopVXFyQMNXsIExcnJACulkaQtzckA= - - - - - - AACwQQAAsEEAAOpCAACAQg== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1hW3lvARckCYdVPn8iFyQDYICvrdMXJAJeUvQO1BckBQYNGMLmJyQMLqnvZCcnJA01bxPgdzckBiUc5jH4JyQMGRyYoRg3JA - - - - - - AAjiRQBAnUQAECxFAMCnRABwcEV5IT5EyuPqRADAhEQAgPJD - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - b0g1o+8RckC17sXp+CFyQAF6JDKkInJAonrzu+gxckAIqnov60FyQCgvIpYoYnJAdR0S/y9yckDi5KSNAHNyQJwKH8YignJAa/nr7hyDckA= - - - - - - lrzDRQBglER9mN5DABATRaialkQAIFBFAEAfRBjJ9kQAwIZEAADIQw== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IEkyPE9xckA+WwexJXJyQCkqJ0L/cnJA - - - - - - AAAoQgAAjEIAAKhC - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - nNIWPe8RckAvHjt8+CFyQJSPXYZSMXJAXvcmp+IxckAIvUd66kFyQJaMfrcrYnJAc9EW+i5yckAKu0cjCnNyQMLtgMMfgnJAWk8MeBGDckA= - - - - - - AKCrRQCAUkRLcy9E/1QBRQAAb0RA4HlFAEBTRAAg5EQAAJlEAADGQw== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - yYOgB/QRckAOh20d+yFyQJyjQqPfMXJAHEJwXfRBckCD8zooL2JyQPo9/pg1cnJAhglMGAZzckDdSyjOIYJyQJ/d7h0Tg3JA - - - - - - ANC8RQBAT0QAYL1EACCLRAAQj0UAADdEzZv3RACAs0QAgJhD - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - gfFMF/IRckAMJKiM8iFyQBrUYHzjMXJAxKW2RepBckCdLWzFKmJyQOLlTUOHcXJAPpjb7jxyckCL6rInBHNyQLMu+TAognJAqXaSswuDckA= - - - - - - APCYRQDAUkQA4KREAEBVRAAQoEWmSp9DbsuFRBix0UQAwNtEAADcQw== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - n6+xbj4NckA= - - - - - - AAAwQQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - QnvfJPIRckCT52sa/yFyQPJq2yPgMXJA7oyCa+1BckAV6tQSL2JyQN3PSiY6cnJAM2wsYAVzckB8H9HcJYJyQA== - - - - - - AJCXRQCAI0QAoPlEAEBIRAA4+UVurbVEqIK+RABwF0U= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - LMIBMOsRckC01qzl+CFyQNHYrUjhMXJAsA0SKelBckBuRZ8/K2JyQH/yrQ44cnJAer3nFfxyckBTxp5FI4JyQA== - - - - - - eRGbRQCAVUQAYKxEAEBmRJWHSUYAEDZFTZKJRABQe0U= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - XsH/evARckBb6bAZ+iFyQMCyAcHdMXJAf807le5BckAmfRdoL2JyQIVoNoA6cnJAEeLQrwVzckCeA9NiIIJyQHTAKsQcg3JA - - - - - - AJBgRQAAN0QA4KJEAABJRABWj0bUdB5Fwk+sRACgkkUAgJhD - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - qdyI4jFickA= - - - - - - tojfRA== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - /dzbKipickA= - - - - - - AAAEQg== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - E4wvCu4RckCggwD79iFyQAxlWlvcMXJAsEEPwepBckBIAgqDLmJyQMn3sQM7cnJANLNXsfRyckCm6VOPJIJyQA== - - - - - - ALBQRQCAHkQAgIVEAMAURAcpp0b3I35F0z+xRGJu1UU= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - NUKrW/IRckAxotJl+SFyQAwLTvLeMXJAUOHz2+RBckASzrxpMWJyQLOKMJo9cnJANmTbyAdzckDm6WdjJYJyQA== - - - - - - AEAyRQCAAEQAAHtEAEAyRABao0YAIF5FqelJRDv0v0U= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - HXxIxzpickA= - - - - - - AICkRA== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - fLPdo/ERckAkkwLI9SFyQO1R/CdIMXJAGgeGEegxckCtgNZ+50FyQA4l7pcuYnJAEAVsJj9yckC4I2qpA3NyQO2NVU2dc3JAKkAVQyOCckA= - - - - - - APAwRQCAAUTWtApEAIBrRADACEQApptGAGA+RQBbSkQe/LRDAIi9RQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0yTgRO4RckDOP1U3/iFyQOpD0lXdMXJAvfLsr+xBckBsvnfXLmJyQON49fE3cnJArBHNM/9yckC/gZXCinNyQKLir4wkgnJA - - - - - - AFAQRQAA0kObY2tEAEA5RABIiUZJ3kJFbrlhRCkRvkMAiKdF - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TTsvd/IRckDoWIxC4DFyQHolC4HiQXJAWp5HiS5ickAmnYwhO3JyQG8BXdkKc3JAuO236SeCckA= - - - - - - AKDpRABAJUQAQANEAIRQRgBA+ETuPd1DAFB8RQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - BYC+ynJOckA= - - - - - - AACQQQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ckC3x+8RckALJ/Z/8SFyQFR+cAnjMXJAfIVdA+dBckDJ+OxrL2JyQEQ9eVU6cnJAWVsYyfdyckAE7xbuJYJyQA== - - - - - - ACDBRAAAt0MAgAREAIDSQwDUCUYAAN9ErxYWRAAwFUU= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - G7wEo+4RckC9CILK4jFyQAxlYmroQXJAmVP61ixickBI5KbsNXJyQLLIXMgAc3JAeq4eNSKCckA= - - - - - - AMC1RADAHUQAAN1DAFjeRQBgnkT+W+ZDAGAjRQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - uaz3JfERckAPlQMh4TFyQIEKuATmQXJAa385Qi9ickBbrrrVMnJyQInGrBUmgnJA - - - - - - AICoRACAB0QAAAZEAICgRQDAcEQAgMNE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - u0QiMCEgckA= - - - - - - AAAQQg== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - rZiyosF+ckA= - - - - - - AACoQg== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - OADfqe0RckDisq0KKGJyQMcelH06cnJAzUVZvymCckA= - - - - - - AEC3RABgKUUAAAVEAMBsRA== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - nQE7LMdeckDW/dj92X5yQA== - - - - - - AAB8QgAAfEI= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +vQT0+sRckCsM0EMKWJyQGnCaL0ignJA - - - - - - AAB1RAAg9kQAQChE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - uOGgugwEckD5rdEm7RFyQBFgETgqYnJA - - - - - - AAAYRABAakQAwINE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 7ucQ/blOckA= - - - - - - AACoQg== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - j7cehAcEckB1P3gv7hFyQNIZS9AqYnJA - - - - - - AMAhRACAZkQAYI5E - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1KmHmtxeckAqp0QZ2X5yQA== - - - - - - AAD8QgAAfEI= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/tests/topp/THIRDPARTY/SiriusAdapter_2_output.mzTab b/src/tests/topp/THIRDPARTY/SiriusAdapter_2_output.mzTab deleted file mode 100644 index 6dcaa0623dd..00000000000 --- a/src/tests/topp/THIRDPARTY/SiriusAdapter_2_output.mzTab +++ /dev/null @@ -1,30 +0,0 @@ -MTD mzTab-version 1.0.0 -MTD mzTab-mode null -MTD mzTab-type null -MTD description Sirius-5.6.3 -MTD smallmolecule_search_engine_score[1] [, , SiriusScore, ] -MTD smallmolecule_search_engine_score[2] [, , TreeScore, ] -MTD smallmolecule_search_engine_score[3] [, , IsotopeScore, ] -MTD ms_run[1]-location /home/axel/dev/OpenMS/src/tests/topp/THIRDPARTY/SiriusAdapter_2_input.mzML - -SMH identifier chemical_formula smiles inchi_key description exp_mass_to_charge calc_mass_to_charge charge retention_time taxid species database database_version spectra_ref search_engine best_search_engine_score[1] best_search_engine_score[2] best_search_engine_score[3] modifications opt_global_adduct opt_gobal_precursorFormula opt_global_rank opt_global_explainedPeaks opt_global_explainedIntensity opt_global_median_mass_error_fragment_peaks_ppm opt_global_median_absolute_mass_error_fragment_peaks_ppm opt_global_mass_error_precursor_ppm opt_global_compoundId opt_global_compoundScanNumber opt_global_featureId opt_global_native_id -SML null C13H23ClNO2P null null null 292.121752827682997 null null 410.144999999999982 null null null null null null 5.467021788559013 -2.536665011350316 8.003686799909328 null [M + H]+ C13H23ClNO2P 1 1 0.0 -3.481118395667346 3.481118395667346 -3.481118395667346 8 2167005 id_12648171926825749403 sample=1 period=1 cycle=2167 experiment=5|sample=1 period=1 cycle=2175 experiment=4|sample=1 period=1 cycle=2176 experiment=6|sample=1 period=1 cycle=2177 experiment=5 -SML null C15H18ClN3O null null null 292.121752827682997 null null 410.144999999999982 null null null null null null 5.355405053845244 -0.798764727632604 6.154169781477848 null [M + H]+ C15H18ClN3O 2 1 0.0 2.178884613394733 2.178884613394733 2.178884613394733 8 2167005 id_12648171926825749403 sample=1 period=1 cycle=2167 experiment=5|sample=1 period=1 cycle=2175 experiment=4|sample=1 period=1 cycle=2176 experiment=6|sample=1 period=1 cycle=2177 experiment=5 -SML null C8H15N9O2 null null null 292.121752827682997 null null 410.144999999999982 null null null null null null 1.611812076455744 -0.42071502723714 2.032527103692884 null [M + Na]+ C8H15N9O2 3 1 0.0 -8.005540103995379 8.005540103995379 -8.005540103995379 8 2167005 id_12648171926825749403 sample=1 period=1 cycle=2167 experiment=5|sample=1 period=1 cycle=2175 experiment=4|sample=1 period=1 cycle=2176 experiment=6|sample=1 period=1 cycle=2177 experiment=5 -SML null C16H19N3 null null null 292.121752827682997 null null 410.144999999999982 null null null null null null 0.790986992438735 0.790986992438735 0.0 null [M + K]+ C16H19N3 4 1 0.0 2.386400826797191 2.386400826797191 2.386400826797191 8 2167005 id_12648171926825749403 sample=1 period=1 cycle=2167 experiment=5|sample=1 period=1 cycle=2175 experiment=4|sample=1 period=1 cycle=2176 experiment=6|sample=1 period=1 cycle=2177 experiment=5 -SML null C14H18N3O2P null null null 292.121752827682997 null null 410.144999999999982 null null null null null null 0.432395400029174 -0.856881885792921 1.289277285822095 null [M + H]+ C14H18N3O2P 5 1 0.0 2.782845113777305 2.782845113777305 2.782845113777305 8 2167005 id_12648171926825749403 sample=1 period=1 cycle=2167 experiment=5|sample=1 period=1 cycle=2175 experiment=4|sample=1 period=1 cycle=2176 experiment=6|sample=1 period=1 cycle=2177 experiment=5 -SML null C15H17ClN4 null null null 289.121888629216983 null null 425.023999999979992 null null null null null null 7.898218281484493 -0.737726543422143 8.635944824906636 null [M + H]+ C15H17ClN4 1 1 0.0 1.514769872905526 1.514769872905526 1.514769872905526 98 2212004 id_2821980206323995609 sample=1 period=1 cycle=2212 experiment=4|sample=1 period=1 cycle=2213 experiment=2|sample=1 period=1 cycle=2214 experiment=4 -SML null C14H21ClO4 null null null 289.121888629216983 null null 425.023999999979992 null null null null null null 6.892946409971803 -1.227136163175483 8.120082573147286 null [M + H]+ C14H21ClO4 2 1 0.0 6.140472915739844 6.140472915739844 6.140472915739844 98 2212004 id_2821980206323995609 sample=1 period=1 cycle=2212 experiment=4|sample=1 period=1 cycle=2213 experiment=2|sample=1 period=1 cycle=2214 experiment=4 -SML null C20H16O2 null null null 289.121888629216983 null null 425.023999999979992 null null null null null null 3.378015383798279 3.378015383798279 0.0 null [M + H]+ C20H16O2 3 1 0.0 -1.444286613966823 1.444286613966823 -1.444286613966823 98 2212004 id_2821980206323995609 sample=1 period=1 cycle=2212 experiment=4|sample=1 period=1 cycle=2213 experiment=2|sample=1 period=1 cycle=2214 experiment=4 -SML null C13H22ClN2OP null null null 289.121888629216983 null null 425.023999999979992 null null null null null null 3.128608557915764 -5.608842233143506 8.737450791059271 null [M + H]+ C13H22ClN2OP 4 1 0.0 -4.203960064341054 4.203960064341054 -4.203960064341054 98 2212004 id_2821980206323995609 sample=1 period=1 cycle=2212 experiment=4|sample=1 period=1 cycle=2213 experiment=2|sample=1 period=1 cycle=2214 experiment=4 -SML null C15H22O3 null null null 289.121888629216983 null null 425.023999999979992 null null null null null null 2.85644101960783 2.85644101960783 0.0 null [M + K]+ C15H22O3 5 1 0.0 6.350142271065035 6.350142271065035 6.350142271065035 98 2212004 id_2821980206323995609 sample=1 period=1 cycle=2212 experiment=4|sample=1 period=1 cycle=2213 experiment=2|sample=1 period=1 cycle=2214 experiment=4 -SML null C14H20N3O2P null null null 294.136688932568973 null null 428.72399999999999 null null null null null null 2.915145897300415 -0.636646720043438 3.551792617343853 null [M + H]+ C14H20N3O2P 1 1 0.0 0.336477842395966 0.336477842395966 0.336477842395966 124 2221005 id_7252753945467102808 sample=1 period=1 cycle=2221 experiment=5|sample=1 period=1 cycle=2222 experiment=4|sample=1 period=1 cycle=2223 experiment=9 -SML null C15H20ClN3O null null null 294.136688932568973 null null 428.72399999999999 null null null null null null 2.670209620168296 -0.630671240852914 3.30088086102121 null [M + H]+ C15H20ClN3O 2 1 0.0 -0.263345323665742 0.263345323665742 -0.263345323665742 124 2221005 id_7252753945467102808 sample=1 period=1 cycle=2221 experiment=5|sample=1 period=1 cycle=2222 experiment=4|sample=1 period=1 cycle=2223 experiment=9 -SML null C16H15N5O null null null 294.136688932568973 null null 428.72399999999999 null null null null null null 2.002618558166048 0.404575285733768 1.59804327243228 null [M + H]+ C16H15N5O 3 1 0.0 5.957707910693294 5.957707910693294 5.957707910693294 124 2221005 id_7252753945467102808 sample=1 period=1 cycle=2221 experiment=5|sample=1 period=1 cycle=2222 experiment=4|sample=1 period=1 cycle=2223 experiment=9 -SML null C16H21N3 null null null 294.136688932568973 null null 428.72399999999999 null null null null null null 0.995421617830866 0.995421617830866 0.0 null [M + K]+ C16H21N3 4 1 0.0 -0.057250666724844 0.057250666724844 -0.057250666724844 124 2221005 id_7252753945467102808 sample=1 period=1 cycle=2221 experiment=5|sample=1 period=1 cycle=2222 experiment=4|sample=1 period=1 cycle=2223 experiment=9 -SML null C13H22ClN3O null null null 294.136688932568973 null null 428.72399999999999 null null null null null null 0.910386792309813 -1.456610337892332 2.366997130202145 null [M + Na]+ C13H22ClN3O 5 1 0.0 7.915464360840471 7.915464360840471 7.915464360840471 124 2221005 id_7252753945467102808 sample=1 period=1 cycle=2221 experiment=5|sample=1 period=1 cycle=2222 experiment=4|sample=1 period=1 cycle=2223 experiment=9 -SML null C15H20ClN3O null null null 294.136331255356026 null null 435.543000000000006 null null null null null null 3.656073922214721 -0.734556319155398 4.390630241370118 null [M + H]+ C15H20ClN3O 1 1 0.0 -1.47937091837009 1.47937091837009 -1.47937091837009 153 2242002 id_10085776333486374908 sample=1 period=1 cycle=2242 experiment=2|sample=1 period=1 cycle=2244 experiment=2 -SML null C16H15N5O null null null 294.136331255356026 null null 435.543000000000006 null null null null null null 3.44994338479623 0.546467031449547 2.903476353346684 null [M + H]+ C16H15N5O 2 1 0.0 4.741689880946914 4.741689880946914 4.741689880946914 153 2242002 id_10085776333486374908 sample=1 period=1 cycle=2242 experiment=2|sample=1 period=1 cycle=2244 experiment=2 -SML null C14H20N3O2P null null null 294.136331255356026 null null 435.543000000000006 null null null null null null 2.784737861133953 -0.682102503348654 3.466840364482608 null [M + H]+ C14H20N3O2P 3 1 0.0 -0.879547022908252 0.879547022908252 -0.879547022908252 153 2242002 id_10085776333486374908 sample=1 period=1 cycle=2242 experiment=2|sample=1 period=1 cycle=2244 experiment=2 -SML null C15H19NO5 null null null 294.136331255356026 null null 435.543000000000006 null null null null null null 1.81613956795775 -0.041386166540798 1.857525734498548 null [M + H]+ C15H19NO5 4 1 0.0 9.288533836857647 9.288533836857647 9.288533836857647 153 2242002 id_10085776333486374908 sample=1 period=1 cycle=2242 experiment=2|sample=1 period=1 cycle=2244 experiment=2 -SML null C13H22ClN3O null null null 294.136331255356026 null null 435.543000000000006 null null null null null null 1.287811846251765 -1.296815898752862 2.584627745004626 null [M + Na]+ C13H22ClN3O 5 1 0.0 6.699448711775414 6.699448711775414 6.699448711775414 153 2242002 id_10085776333486374908 sample=1 period=1 cycle=2242 experiment=2|sample=1 period=1 cycle=2244 experiment=2 diff --git a/src/tests/topp/THIRDPARTY/SiriusAdapter_3_feat_only_ann_out.mzML b/src/tests/topp/THIRDPARTY/SiriusAdapter_3_feat_only_ann_out.mzML deleted file mode 100644 index 46794484f1c..00000000000 --- a/src/tests/topp/THIRDPARTY/SiriusAdapter_3_feat_only_ann_out.mzML +++ /dev/null @@ -1,2070 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - wD46deVBckA= - - - - - - AACTQw== - - - - - - GQ+SQw== - - - - - - QzE1SDE3Tk81AA== - - - - - - W00gKyBIXSsA - - - - - - - - - - - - - - - - - - - - - - - - wD46deVBckA= - - - - - - AACTQw== - - - - - - RQ+SQw== - - - - - - QzE2SDEzTjVPAA== - - - - - - W00gKyBIXSsA - - - - - - - - - - - - - - - - - - - - - - - - wD46deVBckA= - - - - - - AACTQw== - - - - - - +w6SQw== - - - - - - QzExSDE5TjVPMgA= - - - - - - W00gKyBLXSsA - - - - - - - - - - - - - - - - - - - - - - - - wD46deVBckA= - - - - - - AACTQw== - - - - - - 9g6SQw== - - - - - - QzE0SDE1TjVPAA== - - - - - - W00gKyBOYV0rAA== - - - - - - - - - - - - - - - - - - - - - - - - wD46deVBckA= - - - - - - AACTQw== - - - - - - fw+SQw== - - - - - - QzE2SDE5TjMA - - - - - - W00gKyBLXSsA - - - - - - - - - - - - - - - - - - - - - - - - pWd6ifFBckA= - - - - - - AIBHRA== - - - - - - fw+SQw== - - - - - - QzE2SDE5TjMA - - - - - - W00gKyBLXSsA - - - - - - - - - - - - - - - - - - - - - - - - pWd6ifFBckA= - - - - - - AIBHRA== - - - - - - RQ+SQw== - - - - - - QzE2SDEzTjVPAA== - - - - - - W00gKyBIXSsA - - - - - - - - - - - - - - - - - - - - - - - - pWd6ifFBckA= - - - - - - AIBHRA== - - - - - - 4g+SQw== - - - - - - QzhIMTVOOU8yAA== - - - - - - W00gKyBOYV0rAA== - - - - - - - - - - - - - - - - - - - - - - - - pWd6ifFBckA= - - - - - - AIBHRA== - - - - - - kA+SQw== - - - - - - QzEwSDE1RjJONU8zAA== - - - - - - W00gKyBIXSsA - - - - - - - - - - - - - - - - - - - - - - - - pWd6ifFBckA= - - - - - - AIBHRA== - - - - - - hw+SQw== - - - - - - QzEySDIxTk81UwA= - - - - - - W00gKyBIXSsA - - - - - - - - - - - - - - - - - - - - - - - - - ChNGs/JBckA= - - - - - - gFQJSA== - - - - - - tw+SQw== - - - - - - QzEzSDIzQ2xOTzJQAA== - - - - - - W00gKyBIXSsA - - - - - - - - - - - - - - - - - - - - - - - - - ChNGs/JBckA= - - - - - - gFQJSA== - - - - - - gQ+SQw== - - - - - - QzE1SDE4Q2xOM08A - - - - - - W00gKyBIXSsA - - - - - - - - - - - - - - - - - - - - - - - - - ChNGs/JBckA= - - - - - - gFQJSA== - - - - - - 4g+SQw== - - - - - - QzhIMTVOOU8yAA== - - - - - - W00gKyBOYV0rAA== - - - - - - - - - - - - - - - - - - - - - - - - - ChNGs/JBckA= - - - - - - gFQJSA== - - - - - - fw+SQw== - - - - - - QzE2SDE5TjMA - - - - - - W00gKyBLXSsA - - - - - - - - - - - - - - - - - - - - - - - - - ChNGs/JBckA= - - - - - - gFQJSA== - - - - - - ew+SQw== - - - - - - QzE0SDE4TjNPMlAA - - - - - - W00gKyBIXSsA - - - - - - - - - - - - - - - - - - - - - - - - ujKoNviBckA= - - - - - - AACoQg== - - - - - - wA+UQw== - - - - - - QzEySDE1TjdPAA== - - - - - - W00gKyBOYV0rAA== - - - - - - - - - - - - - - - - - - - - - - - - ujKoNviBckA= - - - - - - AACoQg== - - - - - - xA+UQw== - - - - - - QzlIMTlON08yAA== - - - - - - W00gKyBLXSsA - - - - - - - - - - - - - - - - - - - - - - - - ujKoNviBckA= - - - - - - AACoQg== - - - - - - 4g+UQw== - - - - - - QzEzSDE3TjNPNQA= - - - - - - W00gKyBIXSsA - - - - - - - - - - - - - - - - - - - - - - - - ujKoNviBckA= - - - - - - AACoQg== - - - - - - lA+UQw== - - - - - - QzExSDE5TjNPNQA= - - - - - - W00gKyBOYV0rAA== - - - - - - - - - - - - - - - - - - - - - - - - ujKoNviBckA= - - - - - - AACoQg== - - - - - - ig+UQw== - - - - - - QzlIMTNOOU8zAA== - - - - - - W00gKyBIXSsA - - - - - - - - - - - - - - - - - - - - - - - - aAjHLPuBckA= - - - - - - AAB8Qw== - - - - - - 4g+UQw== - - - - - - QzEzSDE3TjNPNQA= - - - - - - W00gKyBIXSsA - - - - - - - - - - - - - - - - - - - - - - - - aAjHLPuBckA= - - - - - - AAB8Qw== - - - - - - xA+UQw== - - - - - - QzlIMTlON08yAA== - - - - - - W00gKyBLXSsA - - - - - - - - - - - - - - - - - - - - - - - - aAjHLPuBckA= - - - - - - AAB8Qw== - - - - - - wA+UQw== - - - - - - QzEySDE1TjdPAA== - - - - - - W00gKyBOYV0rAA== - - - - - - - - - - - - - - - - - - - - - - - - aAjHLPuBckA= - - - - - - AAB8Qw== - - - - - - DhCUQw== - - - - - - QzE0SDEzTjdPAA== - - - - - - W00gKyBIXSsA - - - - - - - - - - - - - - - - - - - - - - - - aAjHLPuBckA= - - - - - - AAB8Qw== - - - - - - GBCUQw== - - - - - - QzE2SDE5Tk8zAA== - - - - - - W00gKyBOYV0rAA== - - - - - - - - - - - - - - - - - - - - - - - - 0HtjCACCckA= - - - - - - zbwWRA== - - - - - - DhCUQw== - - - - - - QzE0SDEzTjdPAA== - - - - - - W00gKyBIXSsA - - - - - - - - - - - - - - - - - - - - - - - - 0HtjCACCckA= - - - - - - zbwWRA== - - - - - - GBCUQw== - - - - - - QzE2SDE5Tk8zAA== - - - - - - W00gKyBOYV0rAA== - - - - - - - - - - - - - - - - - - - - - - - - 0HtjCACCckA= - - - - - - zbwWRA== - - - - - - HBCUQw== - - - - - - QzEzSDIzTk80AA== - - - - - - W00gKyBLXSsA - - - - - - - - - - - - - - - - - - - - - - - - 0HtjCACCckA= - - - - - - zbwWRA== - - - - - - 4g+UQw== - - - - - - QzEzSDE3TjNPNQA= - - - - - - W00gKyBIXSsA - - - - - - - - - - - - - - - - - - - - - - - - 0HtjCACCckA= - - - - - - zbwWRA== - - - - - - xA+UQw== - - - - - - QzlIMTlON08yAA== - - - - - - W00gKyBLXSsA - - - - - - - - - - - - - - - - - - - - - - - - 9Z81P/5yckA= - - - - - - AAAAAA== - - - - - - D5iTQw== - - - - - - QzE1SDI4TzQA - - - - - - W00gKyBOYV0rAA== - - - - - - - - - - - - - - - - - - - - - - - - 9Z81P/5yckA= - - - - - - AAAAAA== - - - - - - QZiTQw== - - - - - - QzEzSDI4TjRPAA== - - - - - - W00gKyBLXSsA - - - - - - - - - - - - - - - - - - - - - - - - 9Z81P/5yckA= - - - - - - AAAAAA== - - - - - - 25eTQw== - - - - - - QzEySDI2TjJPNgA= - - - - - - W00gKyBIXSsA - - - - - - - - - - - - - - - - - - - - - - - - 9Z81P/5yckA= - - - - - - AAAAAA== - - - - - - O5iTQw== - - - - - - QzE2SDI0TjQA - - - - - - W00gKyBOYV0rAA== - - - - - - - - - - - - - - - - - - - - - - - - 9Z81P/5yckA= - - - - - - AAAAAA== - - - - - - t5eTQw== - - - - - - QzExSDI0TjZPMgA= - - - - - - W00gKyBOYV0rAA== - - - - - - - - - - - - - - - - - - - - - - - - 9Z81P/5yckA= - - - - - - AAAAAA== - - - - - - B5iTQw== - - - - - - QzEzSDIyTjZPMgA= - - - - - - W00gKyBIXSsA - - - - - - - - - - - - - - - - - - - - - - - - stmR6vshckA= - - - - - - AACoQg== - - - - - - zA+RQw== - - - - - - QzEySDE5Tk83AA== - - - - - - W00gKyBIXSsA - - - - - - - - - - - - - - - - - - - - - - - - stmR6vshckA= - - - - - - AACoQg== - - - - - - +A+RQw== - - - - - - QzEzSDE1TjVPMwA= - - - - - - W00gKyBIXSsA - - - - - - - - - - - - - - - - - - - - - - - - stmR6vshckA= - - - - - - AACoQg== - - - - - - qg+RQw== - - - - - - QzExSDE3TjVPMwA= - - - - - - W00gKyBOYV0rAA== - - - - - - - - - - - - - - - - - - - - - - - - stmR6vshckA= - - - - - - AACoQg== - - - - - - 2g+RQw== - - - - - - QzlIMTdOOQA= - - - - - - W00gKyBLXSsA - - - - - - - - - - - - - - - - - - - - - - - - stmR6vshckA= - - - - - - AACoQg== - - - - - - LRCRQw== - - - - - - QzE2SDE3TjNPAA== - - - - - - W00gKyBOYV0rAA== - - - - - - - - - 3030 - 5983 - 8910 - 11838 - 14770 - 17692 - 20612 - 23539 - 26471 - 29405 - 32333 - 35429 - 38522 - 41618 - 44704 - 47797 - 50728 - 53656 - 56585 - 59519 - 62447 - 65374 - 68302 - 71235 - 74163 - 77096 - 80022 - 82955 - 85883 - 88812 - 91740 - 94666 - 97594 - 100523 - 103451 - 106385 - 109314 - 112240 - 115169 - 118103 - 121025 - - -123988 -0 - \ No newline at end of file diff --git a/src/tests/topp/THIRDPARTY/SiriusAdapter_3_output.mzTab b/src/tests/topp/THIRDPARTY/SiriusAdapter_3_output.mzTab deleted file mode 100644 index 68b24f78ad5..00000000000 --- a/src/tests/topp/THIRDPARTY/SiriusAdapter_3_output.mzTab +++ /dev/null @@ -1,50 +0,0 @@ -MTD mzTab-version 1.0.0 -MTD mzTab-mode null -MTD mzTab-type null -MTD description Sirius-5.6.3 -MTD smallmolecule_search_engine_score[1] [, , SiriusScore, ] -MTD smallmolecule_search_engine_score[2] [, , TreeScore, ] -MTD smallmolecule_search_engine_score[3] [, , IsotopeScore, ] -MTD ms_run[1]-location /Users/builder/jenkins/ws/openms/PR/bldtst/87227eb0/source/src/tests/topp/THIRDPARTY/SiriusAdapter_3_input.mzML - -SMH identifier chemical_formula smiles inchi_key description exp_mass_to_charge calc_mass_to_charge charge retention_time taxid species database database_version spectra_ref search_engine best_search_engine_score[1] best_search_engine_score[2] best_search_engine_score[3] modifications opt_global_adduct opt_gobal_precursorFormula opt_global_rank opt_global_explainedPeaks opt_global_explainedIntensity opt_global_median_mass_error_fragment_peaks_ppm opt_global_median_absolute_mass_error_fragment_peaks_ppm opt_global_mass_error_precursor_ppm opt_global_compoundId opt_global_compoundScanNumber opt_global_featureId opt_global_native_id -SML null C15H17NO5 null null null 292.118520142944021 null null 404.455000000019993 null null null null null null 0.831597391947591 0.831597391947591 0.0 null [M + H]+ C15H17NO5 1 1 0.0 1.954846454887804 1.954846454887804 1.954846454887804 2 2165004 null sample=1 period=1 cycle=2165 experiment=4 -SML null C16H13N5O null null null 292.118520142944021 null null 404.455000000019993 null null null null null null 0.768142279254161 0.768142279254161 0.0 null [M + H]+ C16H13N5O 2 1 0.0 -2.623404863541922 2.623404863541922 -2.623404863541922 2 2165004 null sample=1 period=1 cycle=2165 experiment=4 -SML null C11H19N5O2 null null null 292.118520142944021 null null 404.455000000019993 null null null null null null 0.506813653466669 0.506813653466669 0.0 null [M + K]+ C11H19N5O2 3 1 0.0 5.091066642293969 5.091066642293969 5.091066642293969 2 2165004 null sample=1 period=1 cycle=2165 experiment=4 -SML null C14H15N5O null null null 292.118520142944021 null null 404.455000000019993 null null null null null null 0.446036047493384 0.446036047493384 0.0 null [M + Na]+ C14H15N5O 4 1 0.0 5.611910031361344 5.611910031361344 5.611910031361344 2 2165004 null sample=1 period=1 cycle=2165 experiment=4 -SML null C16H19N3 null null null 292.118520142944021 null null 404.455000000019993 null null null null null null 0.046523251610599 0.046523251610599 0.0 null [M + K]+ C16H19N3 5 1 0.0 -8.679919182327954 8.679919182327954 -8.679919182327954 2 2165004 null sample=1 period=1 cycle=2165 experiment=4 -SML null C16H19N3 null null null 292.121468920531015 null null 404.875000000020009 null null null null null null 0.880667513965956 0.880667513965956 0.0 null [M + K]+ C16H19N3 1 1 0.0 1.414522671061441 1.414522671061441 1.414522671061441 4 2166006 null sample=1 period=1 cycle=2166 experiment=6 -SML null C16H13N5O null null null 292.121468920531015 null null 404.875000000020009 null null null null null null 0.212552376554384 0.212552376554384 0.0 null [M + H]+ C16H13N5O 2 1 0.0 7.470975853246509 7.470975853246509 7.470975853246509 4 2166006 null sample=1 period=1 cycle=2166 experiment=6 -SML null C8H15N9O2 null null null 292.121468920531015 null null 404.875000000020009 null null null null null null -0.557337795983029 -0.557337795983029 0.0 null [M + Na]+ C8H15N9O2 3 1 0.0 -8.977428359455617 8.977428359455617 -8.977428359455617 4 2166006 null sample=1 period=1 cycle=2166 experiment=6 -SML null C10H15F2N5O3 null null null 292.121468920531015 null null 404.875000000020009 null null null null null null -0.638055591467511 -0.638055591467511 0.0 null [M + H]+ C10H15F2N5O3 4 1 0.0 -0.353659591904795 0.353659591904795 -0.353659591904795 4 2166006 null sample=1 period=1 cycle=2166 experiment=6 -SML null C12H21NO5S null null null 292.121468920531015 null null 404.875000000020009 null null null null null null -0.650881556751561 -0.650881556751561 0.0 null [M + H]+ C12H21NO5S 5 1 0.0 0.50902263733827 0.50902263733827 0.50902263733827 4 2166006 null sample=1 period=1 cycle=2166 experiment=6 -SML null C13H23ClNO2P null null null 292.121752827682997 null null 410.144999999999982 null null null null null null 5.467021788559013 -2.536665011350316 8.003686799909328 null [M + H]+ C13H23ClNO2P 1 1 0.0 -3.481118395667346 3.481118395667346 -3.481118395667346 6 2167005 id_13442776035824190606 sample=1 period=1 cycle=2167 experiment=5|sample=1 period=1 cycle=2175 experiment=4|sample=1 period=1 cycle=2176 experiment=6 -SML null C15H18ClN3O null null null 292.121752827682997 null null 410.144999999999982 null null null null null null 5.355405053845244 -0.798764727632604 6.154169781477848 null [M + H]+ C15H18ClN3O 2 1 0.0 2.178884613394733 2.178884613394733 2.178884613394733 6 2167005 id_13442776035824190606 sample=1 period=1 cycle=2167 experiment=5|sample=1 period=1 cycle=2175 experiment=4|sample=1 period=1 cycle=2176 experiment=6 -SML null C8H15N9O2 null null null 292.121752827682997 null null 410.144999999999982 null null null null null null 1.611812076455744 -0.42071502723714 2.032527103692884 null [M + Na]+ C8H15N9O2 3 1 0.0 -8.005540103995379 8.005540103995379 -8.005540103995379 6 2167005 id_13442776035824190606 sample=1 period=1 cycle=2167 experiment=5|sample=1 period=1 cycle=2175 experiment=4|sample=1 period=1 cycle=2176 experiment=6 -SML null C16H19N3 null null null 292.121752827682997 null null 410.144999999999982 null null null null null null 0.790986992438735 0.790986992438735 0.0 null [M + K]+ C16H19N3 4 1 0.0 2.386400826797191 2.386400826797191 2.386400826797191 6 2167005 id_13442776035824190606 sample=1 period=1 cycle=2167 experiment=5|sample=1 period=1 cycle=2175 experiment=4|sample=1 period=1 cycle=2176 experiment=6 -SML null C14H18N3O2P null null null 292.121752827682997 null null 410.144999999999982 null null null null null null 0.432395400029174 -0.856881885792921 1.289277285822095 null [M + H]+ C14H18N3O2P 5 1 0.0 2.782845113777305 2.782845113777305 2.782845113777305 6 2167005 id_13442776035824190606 sample=1 period=1 cycle=2167 experiment=5|sample=1 period=1 cycle=2175 experiment=4|sample=1 period=1 cycle=2176 experiment=6 -SML null C12H15N7O null null null 296.12309906592202 null null 406.816999999979998 null null null null null null 0.980887618593451 0.980887618593451 0.0 null [M + Na]+ C12H15N7O 1 1 0.0 0.237285884690055 0.237285884690055 0.237285884690055 11 2171003 null sample=1 period=1 cycle=2171 experiment=3 -SML null C9H19N7O2 null null null 296.12309906592202 null null 406.816999999979998 null null null null null null 0.977693233607875 0.977693233607875 0.0 null [M + K]+ C9H19N7O2 2 1 0.0 -0.276513952338959 0.276513952338959 -0.276513952338959 11 2171003 null sample=1 period=1 cycle=2171 experiment=3 -SML null C13H17N3O5 null null null 296.12309906592202 null null 406.816999999979998 null null null null null null 0.69360069253042 0.69360069253042 0.0 null [M + H]+ C13H17N3O5 3 1 0.0 -3.370321908818455 3.370321908818455 -3.370321908818455 11 2171003 null sample=1 period=1 cycle=2171 experiment=3 -SML null C11H19N3O5 null null null 296.12309906592202 null null 406.816999999979998 null null null null null null 0.545127238032372 0.545127238032372 0.0 null [M + Na]+ C11H19N3O5 4 1 0.0 4.753623867781498 4.753623867781498 4.753623867781498 11 2171003 null sample=1 period=1 cycle=2171 experiment=3 -SML null C9H13N9O3 null null null 296.12309906592202 null null 406.816999999979998 null null null null null null 0.271384417425164 0.271384417425164 0.0 null [M + H]+ C9H13N9O3 5 1 0.0 5.698095950127542 5.698095950127542 5.698095950127542 11 2171003 null sample=1 period=1 cycle=2171 experiment=3 -SML null C13H17N3O5 null null null 296.123821549630009 null null 407.245000000020013 null null null null null null 0.922970962849822 0.922970962849822 0.0 null [M + H]+ C13H17N3O5 1 1 0.0 -0.930510956728375 0.930510956728375 -0.930510956728375 13 2172004 null sample=1 period=1 cycle=2172 experiment=4 -SML null C9H19N7O2 null null null 296.123821549630009 null null 407.245000000020013 null null null null null null 0.812140756363484 0.812140756363484 0.0 null [M + K]+ C9H19N7O2 2 1 0.0 2.163289451470025 2.163289451470025 2.163289451470025 13 2172004 null sample=1 period=1 cycle=2172 experiment=4 -SML null C12H15N7O null null null 296.123821549630009 null null 407.245000000020013 null null null null null null 0.762914044613723 0.762914044613723 0.0 null [M + Na]+ C12H15N7O 3 1 0.0 2.677088034928794 2.677088034928794 2.677088034928794 13 2172004 null sample=1 period=1 cycle=2172 experiment=4 -SML null C14H13N7O null null null 296.123821549630009 null null 407.245000000020013 null null null null null null 0.465515045211605 0.465515045211605 0.0 null [M + H]+ C14H13N7O 4 1 0.0 -5.446837920846081 5.446837920846081 -5.446837920846081 13 2172004 null sample=1 period=1 cycle=2172 experiment=4 -SML null C16H19NO3 null null null 296.123821549630009 null null 407.245000000020013 null null null null null null 0.351324844036157 0.351324844036157 0.0 null [M + Na]+ C16H19NO3 5 1 0.0 -6.391307698866561 6.391307698866561 -6.391307698866561 13 2172004 null sample=1 period=1 cycle=2172 experiment=4 -SML null C14H13N7O null null null 296.125008105473 null null 407.654999999999973 null null null null null null 0.878408969563052 0.878408969563052 0.0 null [M + H]+ C14H13N7O 1 1 0.0 -1.43987372163701 1.43987372163701 -1.43987372163701 15 2173002 null sample=1 period=1 cycle=2173 experiment=2 -SML null C16H19NO3 null null null 296.125008105473 null null 407.654999999999973 null null null null null null 0.791183969804865 0.791183969804865 0.0 null [M + Na]+ C16H19NO3 2 1 0.0 -2.384339715221516 2.384339715221516 -2.384339715221516 15 2173002 null sample=1 period=1 cycle=2173 experiment=2 -SML null C13H23NO4 null null null 296.125008105473 null null 407.654999999999973 null null null null null null 0.741175933521995 0.741175933521995 0.0 null [M + K]+ C13H23NO4 3 1 0.0 -2.89813623991897 2.89813623991897 -2.89813623991897 15 2173002 null sample=1 period=1 cycle=2173 experiment=2 -SML null C13H17N3O5 null null null 296.125008105473 null null 407.654999999999973 null null null null null null 0.723394495394527 0.723394495394527 0.0 null [M + H]+ C13H17N3O5 4 1 0.0 3.076435145818808 3.076435145818808 3.076435145818808 15 2173002 null sample=1 period=1 cycle=2173 experiment=2 -SML null C9H19N7O2 null null null 296.125008105473 null null 407.654999999999973 null null null null null null 0.37865242729204 0.37865242729204 0.0 null [M + K]+ C9H19N7O2 5 1 0.0 6.170223157337256 6.170223157337256 6.170223157337256 15 2173002 null sample=1 period=1 cycle=2173 experiment=2 -SML null C15H28O4 null null null 295.18707248574799 null null 418.393999999979997 null null null null null null 3.5 3.5 0.0 null [M + Na]+ C15H28O4 1 1 0.0 nan nan -3.074627675571169 43 2199003 null sample=1 period=1 cycle=2199 experiment=3 -SML null C13H28N4O null null null 295.18707248574799 null null 418.393999999979997 null null null null null null 1.0 1.0 0.0 null [M + K]+ C13H28N4O 2 1 0.0 nan nan -8.12071586440215 43 2199003 null sample=1 period=1 cycle=2199 experiment=3 -SML null C12H26N2O6 null null null 295.18707248574799 null null 418.393999999979997 null null null null null null 1.0 1.0 0.0 null [M + H]+ C12H26N2O6 3 1 0.0 nan nan 2.403498403688778 43 2199003 null sample=1 period=1 cycle=2199 experiment=3 -SML null C16H24N4 null null null 295.18707248574799 null null 418.393999999979997 null null null null null null 1.0 1.0 0.0 null [M + Na]+ C16H24N4 4 1 0.0 nan nan -7.605286788519772 43 2199003 null sample=1 period=1 cycle=2199 experiment=3 -SML null C11H24N6O2 null null null 295.18707248574799 null null 418.393999999979997 null null null null null null 1.0 1.0 0.0 null [M + Na]+ C11H24N6O2 5 1 0.0 nan nan 6.022545779223315 43 2199003 null sample=1 period=1 cycle=2199 experiment=3 -SML null C12H19NO7 null null null 290.124002639250989 null null 420.444000000000017 null null null null null null 0.829331145050649 0.829331145050649 0.0 null [M + H]+ C12H19NO7 1 1 0.0 1.979288701546372 1.979288701546372 1.979288701546372 49 2204006 null sample=1 period=1 cycle=2204 experiment=6 -SML null C13H15N5O3 null null null 290.124002639250989 null null 420.444000000000017 null null null null null null 0.767458571705934 0.767458571705934 0.0 null [M + H]+ C13H15N5O3 2 1 0.0 -2.6304367531418 2.6304367531418 -2.6304367531418 49 2204006 null sample=1 period=1 cycle=2204 experiment=6 -SML null C11H17N5O3 null null null 290.124002639250989 null null 420.444000000000017 null null null null null null 0.440145632853194 0.440145632853194 0.0 null [M + Na]+ C11H17N5O3 3 1 0.0 5.661493518486198 5.661493518486198 5.661493518486198 49 2204006 null sample=1 period=1 cycle=2204 experiment=6 -SML null C9H17N9 null null null 290.124002639250989 null null 420.444000000000017 null null null null null null 0.29900758475931 0.29900758475931 0.0 null [M + K]+ C9H17N9 4 1 0.0 0.527344029052501 0.527344029052501 0.527344029052501 49 2204006 null sample=1 period=1 cycle=2204 experiment=6 -SML null C16H17N3O null null null 290.124002639250989 null null 420.444000000000017 null null null null null null 0.11321656639466 0.11321656639466 0.0 null [M + Na]+ C16H17N3O 5 1 0.0 -8.204163798395776 8.204163798395776 -8.204163798395776 49 2204006 null sample=1 period=1 cycle=2204 experiment=6 diff --git a/src/tests/topp/THIRDPARTY/SiriusAdapter_4_foutput.mzTab b/src/tests/topp/THIRDPARTY/SiriusAdapter_4_foutput.mzTab deleted file mode 100644 index 992a12b234c..00000000000 --- a/src/tests/topp/THIRDPARTY/SiriusAdapter_4_foutput.mzTab +++ /dev/null @@ -1,19 +0,0 @@ -MTD mzTab-version 1.0.0 -MTD mzTab-mode null -MTD mzTab-type null -MTD description CSI:FingerID-5.5.5 -MTD smallmolecule_search_engine_score[1] [, , CSI:FingerIDScore, ] -MTD ms_run[1]-location /home/axel/dev/OpenMS/src/tests/topp/THIRDPARTY/SiriusAdapter_2_input.mzML - -SMH identifier chemical_formula smiles inchi_key description exp_mass_to_charge calc_mass_to_charge charge retention_time taxid species database database_version spectra_ref search_engine best_search_engine_score[1] modifications opt_global_rank opt_global_compoundId opt_global_compoundScanNumber opt_global_featureId opt_global_native_id opt_global_adduct opt_global_dblinks opt_global_dbflags -SML "" C11H8F6N2O3 CC(C(=O)NC1=CC=CC=C1[N+](=O)[O-])(C(F)(F)F)C(F)(F)F DWKUXRAXBIEJRS null 313.039841135792983 null null 422.093999999999994 null null null null null null -318.966123922931672 null 1 83 2208006 null sample=1 period=1 cycle=2208 experiment=6 [M - H2O + H]+ COCONUT:(CNP0050271)|SuperNatural:(SN00137926) 3145728 -SML "" C11H8F6N2O3 CC(C(=O)NC1=CC=C(C=C1)[N+](=O)[O-])(C(F)(F)F)C(F)(F)F QGLHLQGHXAZOGK null 313.039841135792983 null null 422.093999999999994 null null null null null null -335.138899743406569 null 2 83 2208006 null sample=1 period=1 cycle=2208 experiment=6 [M - H2O + H]+ COCONUT:(CNP0409895)|SuperNatural:(SN00137924) 3145728 -SML 1905726 C11H8F6N2O3 CC(C(=O)NC1=CC(=CC=C1)[N+](=O)[O-])(C(F)(F)F)C(F)(F)F AFJAOHMCWANYRF 3,3,3-trifluoro-2-methyl-N-(3-nitrophenyl)-2-(trifluoromethyl)propanamide 313.039841135792983 null null 422.093999999999994 null null null null null null -340.50155756112207 null 3 83 2208006 null sample=1 period=1 cycle=2208 experiment=6 [M - H2O + H]+ COCONUT:(CNP0156466)|PubChem:(1905726)|SuperNatural:(SN00120570)|ZINC bio:(ZINC02282151) 3153922 -SML "" C11H8F6N2O3 COC1=C(C=C(C=C1)C(F)(F)F)NC(=O)NC(=O)C(F)(F)F TYCWNBGQUQVVAQ null 313.039841135792983 null null 422.093999999999994 null null null null null null -403.10967734002287 null 4 83 2208006 null sample=1 period=1 cycle=2208 experiment=6 [M - H2O + H]+ COCONUT:(CNP0048249)|SuperNatural:(SN00137854) 3145728 -SML 41029 C15H16Cl2O4 CC(C)C1(CC2=CC(=C(C(=C2C1=O)Cl)Cl)OCC(=O)O)C ICVHCELCKWOSFJ 6,7-Dichloro-2-isopropyl-2-methyl-1-oxo-5-indanyloxyacetic acid 313.039841135792983 null null 422.093999999999994 null null null null null null -292.539272270680556 null 1 83 2208006 null sample=1 period=1 cycle=2208 experiment=6 [M - H2O + H]+ PubChem class - safety and toxic|PubChem:(41029)|PubMed 67108930 -SML 137348182 C15H15BN2O5 B1(C2=CC(=C(C(=C2C(O1)CC(=O)O)C)C)OC3=NC=CN=C3)O MTHDAYXINWUJNY null 336.099729771336001 null null 424.194000000000017 null null null null null null -545.416096069490436 null 1 103 2213005 null sample=1 period=1 cycle=2213 experiment=5 [M + Na]+ PubChem:(137348182)|PubChem class - bio and metabolites 16777218 -SML 86414 C12H13ClN6O7S CN1C(=C(C(=N1)Cl)C(=O)O)S(=O)(=O)NC(=O)NC2=NC(=CC(=N2)OC)OC LXKOADMMGWXPJQ ACMC-20mvqz 421.031173711469023 null null 425.843999999999994 null null null null null null -209.047400041579692 null 1 114 2217003 null sample=1 period=1 cycle=2217 experiment=3 [M + H]+ PubChem class - safety and toxic|PubChem:(86414)|KEGG Mine 8657043458 -SML 337221 C10H18Cl2N6O4S2 C(CCl)NC(=O)N(CCSSCCN(C(=O)NCCCl)N=O)N=O MCJTWBSHHKUHDE 1,1''-Dithiodiethylenebis(3-(2-chloroethyl)-1-nitrosourea) 421.031173711469023 null null 425.843999999999994 null null null null null null -186.540839130530316 null 1 114 2217003 null sample=1 period=1 cycle=2217 experiment=3 [M + H]+ PubChem:(337221)|PubChem class - safety and toxic 67108866 -SML 127547 C10H18Cl2N6O4S2 C(CSSCCNC(=O)N(CCCl)N=O)NC(=O)N(CCCl)N=O XWPCYYOZOJKYKQ Ditiomustine 421.031173711469023 null null 425.843999999999994 null null null null null null -186.540839130530316 null 2 114 2217003 null sample=1 period=1 cycle=2217 experiment=3 [M + H]+ MeSH:(127547)|PubChem class - safety and toxic|PubChem:(127547)|PubMed|PubChem class - drug 100663366 -SML 13273158 C10H18Cl2N6O4S2 C(CSSCCN(C(=O)NCCCl)N=O)NC(=O)N(CCCl)N=O AUZCVFKDFVJWRO 5,6-Dithia-2,9,11-triazatridecanamide, 13-chloro-N-(2-chloroethyl)-N,9-dinitroso-10-oxo- 421.031173711469023 null null 425.843999999999994 null null null null null null -186.540839130530316 null 3 114 2217003 null sample=1 period=1 cycle=2217 experiment=3 [M + H]+ PubChem:(13273158)|PubChem class - safety and toxic 67108866 -SML 3025603 C15H19BrN4O2S CCN(CC)CCNC(=O)C(=O)NC1=NC2=C(S1)C=C(C=C2)Br IEBKTXLHFAXMMB N''-(6-bromo-1,3-benzothiazol-2-yl)-N-(2-diethylaminoethyl)oxamide 421.031173711469023 null null 425.843999999999994 null null null null null null -491.959939048929584 null 1 114 2217003 null sample=1 period=1 cycle=2217 experiment=3 [M + Na]+ PubChem:(3025603)|PubChem class - safety and toxic 67108866 diff --git a/src/tests/topp/THIRDPARTY/SiriusAdapter_4_input.featureXML b/src/tests/topp/THIRDPARTY/SiriusAdapter_4_input.featureXML deleted file mode 100644 index 7ce6df266e6..00000000000 --- a/src/tests/topp/THIRDPARTY/SiriusAdapter_4_input.featureXML +++ /dev/null @@ -1,1455 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 634.46076 - 344.002118729327 - 239547 - 0 - 0 - 3.19691e-06 - 0 - - - - - - - - - - - 604.0839 - 348.071343673474 - 177280 - 0 - 0 - 2.36593e-06 - 0 - - - - - - - - - - - 624.33216 - 348.071393528876 - 331003 - 0 - 0 - 4.41746e-06 - 0 - - - - - - - - - - - 693.8838 - 348.895774105045 - 298509 - 0 - 0 - 3.98381e-06 - 0 - - - - - - - - - - - 640.6548 - 348.895783025523 - 83943.8 - 0 - 0 - 1.12029e-06 - 0 - - - - - - - - - - - 657.09588 - 348.895790896649 - 313180 - 0 - 0 - 4.1796e-06 - 0 - - - - - - - - - - - 666.48702 - 348.895880246189 - 983261 - 0 - 0 - 1.31223e-05 - 0 - - - - - - - - - - - 683.75478 - 348.895944214889 - 171900 - 0 - 0 - 2.29412e-06 - 0 - - - - - - - - - - - 688.41828 - 348.895982465771 - 235540 - 0 - 0 - 3.14344e-06 - 0 - - - - - - - - - - - 625.91526 - 348.95417117046 - 1.44643e+07 - 0 - 0 - 0.000193036 - 0 - - - - - - - - - - - 638.3229 - 348.954175485328 - 2.50992e+06 - 0 - 0 - 3.34966e-05 - 0 - - - - - - - - - - - 620.42304 - 349.075080065829 - 157875 - 0 - 0 - 2.10695e-06 - 0 - - - - - - - - - - - 677.45682 - 349.957635385909 - 214163 - 0 - 0 - 2.85815e-06 - 0 - - - - - - - - - - - 690.78366 - 349.957656662928 - 832371 - 0 - 0 - 1.11086e-05 - 0 - - - - - - - - - - - 639.06978 - 349.957966220138 - 90386.9 - 0 - 0 - 1.20627e-06 - 0 - - - - - - - - - - - 628.23816 - 350.070127979755 - 135379 - 0 - 0 - 1.80673e-06 - 0 - - - - - - - - - - - 632.12088 - 351.987086715854 - 560515 - 0 - 0 - 7.48045e-06 - 0 - - - - - - - - - - - 657.8499 - 352.086932515712 - 4.19375e+07 - 0 - 0 - 0.000606919 - 1 - - - - - - - - - - - 618.89364 - 352.087048302429 - 445119 - 0 - 0 - 5.94042e-06 - 0 - - - - - - - - - - - 602.50938 - 352.087055724631 - 416217 - 0 - 0 - 5.55469e-06 - 0 - - - - - - - - - - - 633.6708 - 352.987804216691 - 3.33168e+06 - 0 - 0 - 4.44635e-05 - 0 - - - - - - - - - - - 602.50938 - 354.065501038579 - 639343 - 0 - 0 - 8.53247e-06 - 0 - - - - - - - - - - - 628.99464 - 354.065839670089 - 614952 - 0 - 0 - 8.20695e-06 - 0 - - - - - - - - - - - 660.2484 - 354.082971075827 - 1.08686e+06 - 0 - 0 - 1.45049e-05 - 0 - - - - - - - - - - - 604.0839 - 354.089443188232 - 504322 - 0 - 0 - 6.73052e-06 - 0 - - - - - - - - - - - 628.99464 - 354.089570900871 - 245225 - 0 - 0 - 3.2727e-06 - 0 - - - - - - - - - - - 690.78366 - 356.144117434001 - 325874 - 0 - 0 - 4.34901e-06 - 0 - - - - - - - - - - - 627.48726 - 356.144273865204 - 220821 - 0 - 0 - 2.94701e-06 - 0 - - - - - - - - - - - 605.67948 - 356.144409845365 - 310621 - 0 - 0 - 4.14544e-06 - 0 - - - - - - - - - - - 609.57138 - 356.187056525475 - 335383 - 0 - 0 - 4.47591e-06 - 0 - - - - - - - - - - - 638.3229 - 356.187095368601 - 118206 - 0 - 0 - 1.57753e-06 - 0 - - - - - - - - - - - 600.15828 - 358.099793734311 - 2.04797e+06 - 0 - 0 - 2.73316e-05 - 0 - - - - - - - - - - - 618.10224 - 358.099835329879 - 3.3335e+06 - 0 - 0 - 4.44878e-05 - 0 - - - - - - - - - - - 694.6518 - 358.099842771326 - 3.64085e+06 - 0 - 0 - 4.85896e-05 - 0 - - - - - - - - - - - 638.3229 - 359.975858137015 - 247318 - 0 - 0 - 3.30062e-06 - 0 - - - - - - - - - - - 669.5958 - 360.995881694972 - 2.57933e+06 - 0 - 0 - 3.58402e-05 - 1 - - - - - - - - - - - 619.68474 - 362.077126488713 - 1.36645e+06 - 0 - 0 - 1.82362e-05 - 0 - - - - - - - - - - - 670.37556 - 362.993559381714 - 1.81145e+06 - 0 - 0 - 2.4175e-05 - 0 - - - - - - - - - - - 670.37556 - 363.997266741143 - 229536 - 0 - 0 - 3.06332e-06 - 0 - - - - - - - - - - - 634.46076 - 364.009791279786 - 185352 - 0 - 0 - 2.47365e-06 - 0 - - - - - - - - - - - 627.48726 - 364.928000861901 - 1.08914e+07 - 0 - 0 - 0.000145353 - 0 - - - - - - - - - - - 671.17044 - 364.990623951706 - 428956 - 0 - 0 - 5.7247e-06 - 0 - - - - - - - - - - - 610.33776 - 367.08576868006 - 896410 - 0 - 0 - 1.19632e-05 - 0 - - - - - - - - - - - 668.8437 - 367.263993371217 - 44249.4 - 0 - 0 - 5.90538e-07 - 0 - - - - - - - - - - - 690.78366 - 367.264117819165 - 197794 - 0 - 0 - 2.6397e-06 - 0 - - - - - - - - - - - 679.0473 - 368.060430087803 - 99504.4 - 0 - 0 - 1.32795e-06 - 0 - - - - - - - - - - - 623.53842 - 368.060687862807 - 451187 - 0 - 0 - 6.0214e-06 - 0 - - - - - - - - - - - 687.64818 - 368.060691236178 - 342219 - 0 - 0 - 4.56715e-06 - 0 - - - - - - - - - - - 683.75478 - 368.060894063385 - 82148.1 - 0 - 0 - 1.09632e-06 - 0 - - - - - - - - - - - 633.6708 - 372.089793471492 - 161406 - 0 - 0 - 2.15407e-06 - 0 - - - - - - - - - - - 650.05716 - 374.906424070808 - 5.37929e+06 - 0 - 0 - 7.17903e-05 - 0 - - - - - - - - - - - 636.77088 - 375.950365457361 - 206998 - 0 - 0 - 2.76253e-06 - 0 - - - - - - - - - - - 605.67948 - 376.067926295726 - 303350 - 0 - 0 - 4.04842e-06 - 0 - - - - - - - - - - - 620.42304 - 376.068267748219 - 103974 - 0 - 0 - 1.3876e-06 - 0 - - - - - - - - - - - 654.01554 - 376.903750436728 - 1.42413e+06 - 0 - 0 - 1.9006e-05 - 0 - - - - - - - - - - - 679.8102 - 380.081750193561 - 324220 - 0 - 0 - 4.32694e-06 - 0 - - - - - - - - - - - 641.42766 - 380.081796892197 - 398800 - 0 - 0 - 5.32226e-06 - 0 - - - - - - - - - - - 662.59344 - 380.081923350804 - 1.07784e+06 - 0 - 0 - 1.43845e-05 - 0 - - - - - - - - - - - 633.6708 - 382.118734559548 - 1.2144e+06 - 0 - 0 - 1.6207e-05 - 0 - - - - - - - - - - - 653.2128 - 384.9354114254 - 1.26317e+08 - 0 - 0 - 0.0017724 - 1 - - - - - - - - - - - 600.9495 - 387.031854468656 - 68437.8 - 0 - 0 - 9.13349e-07 - 0 - - - - - - - - - - - 639.85104 - 388.063449924563 - 1.20099e+06 - 0 - 0 - 1.60281e-05 - 0 - - - - - - - - - - - 668.8437 - 388.063503257371 - 8.86945e+06 - 0 - 0 - 0.000118369 - 0 - - - - - - - - - - - 628.23816 - 388.063563709748 - 509407 - 0 - 0 - 6.79838e-06 - 0 - - - - - - - - - - - 633.6708 - 388.126861436641 - 679244 - 0 - 0 - 9.06497e-06 - 0 - - - - - - - - - - - 654.01554 - 388.515923136251 - 634632 - 0 - 0 - 8.4696e-06 - 0 - - - - - - - - - - - 679.0473 - 389.065835674718 - 849911 - 0 - 0 - 1.13426e-05 - 0 - - - - - - - - - - - 671.97168 - 390.06075645569 - 2.24881e+06 - 0 - 0 - 3.00119e-05 - 0 - - - - - - - - - - - 695.41518 - 390.06082584139 - 841999 - 0 - 0 - 1.1237e-05 - 0 - - - - - - - - - - - 640.6548 - 390.060866163539 - 593918 - 0 - 0 - 7.92625e-06 - 0 - - - - - - - - - - - 615.78192 - 390.084324624584 - 271271 - 0 - 0 - 3.6203e-06 - 0 - - - - - - - - - - - 621.96804 - 390.08448325239 - 88004.8 - 0 - 0 - 1.17448e-06 - 0 - - - - - - - - - - - 664.91814 - 390.881060849754 - 306906 - 0 - 0 - 4.09587e-06 - 0 - - - - - - - - - - - 623.53842 - 394.098069361941 - 2.29535e+06 - 0 - 0 - 3.16832e-05 - 1 - - - - - - - - - - - 650.85702 - 395.957238239339 - 523179 - 0 - 0 - 6.98218e-06 - 0 - - - - - - - - - - - 621.21426 - 396.005771065527 - 708659 - 0 - 0 - 9.45754e-06 - 0 - - - - - - - - - - - 657.8499 - 398.092212485532 - 1.96533e+08 - 0 - 0 - 0.00289126 - 1 - - - - - - - - - - - 625.91526 - 399.095061200346 - 2.19786e+06 - 0 - 0 - 2.93319e-05 - 0 - - - - - - - - - - - diff --git a/src/tests/topp/THIRDPARTY/SiriusAdapter_4_input.mzML b/src/tests/topp/THIRDPARTY/SiriusAdapter_4_input.mzML deleted file mode 100644 index e289d4bccf5..00000000000 --- a/src/tests/topp/THIRDPARTY/SiriusAdapter_4_input.mzML +++ /dev/null @@ -1,5094 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AAAAoDJIeEA= - - - - - - AdkqRQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - vIdktObhd0Ak9VTT8PF3QLQL5yUHQnhAWX3YQBlIeEA= - - - - - - 4ooLSJhuH0dNy+tG6RFoRw== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - /ow0jOThd0BybPL/C0J4QNMnY1cHSHhA - - - - - - zkKlR8jqokbYpxVH - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - LLaubufhd0B2El5QWyJ4QK2nfjhHSHhA - - - - - - vX4RR12akEa3qw5H - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AAAAAHpIeEA= - - - - - - ogUDRQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eNRv+Fvmd0DUpDJRBEF4QMZ9tZYrSHhA - - - - - - s8NzRs8aJUe1UbtG - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ixMY+uXhd0AOiGgHBEF4QN89MrAxSHhA - - - - - - lRLKRp6owUdKrI1H - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - yia0yU/Bd0B2rWAT9w54QPUYDfYDQXhABmzrYSpIeEBPLcoLWEh4QA== - - - - - - 7gGFRqn+E0dqW2NINP6gRnsR+EY= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - LoctJk/Bd0AQ+cMR9w54QGAIKdADQXhAvaVSxhNIeEC2r8zkP0h4QOQmmKQHUXhA - - - - - - t0myR/FGm0hV5ItIiCm3RuT2AkfxdJ1G - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AAAA4DxIeEA= - - - - - - DWGvRQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AAAAYD5IeEA= - - - - - - LMIvRQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AAAAYFJIeEA= - - - - - - RXNGRQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - z+pjPk7Bd0DCMcoL9w54QOrot2oGH3hAJzUU2ANBeECokLc/Jkh4QLZAptZOSHhAYkQfig5ReEA= - - - - - - HHdiR80yVUnpU1VHbthzSHqkrkZkjopG0LdfRw== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AAAAYDZIeEA= - - - - - - Xk8PRQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - gRen1k/Bd0COq91Q9w54QBabLusFH3hATONREQNBeEASZLM83Ud4QGjgIRMoSHhA - - - - - - 9JmfR2/WsEkxNclHiS8eSM87WEZv2zVH - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 6snR2k/Bd0As1IOx9w54QLseijEDH3hAhGQ8UIEyeEBYo+CBBUF4QKMo+agfSHhA - - - - - - 2XCRR9hOCkqInSRIYvOKRu+cBEhNcB5H - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AAAAwF9IeEA= - - - - - - raAtRQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AAAA4ElIeEA= - - - - - - LapIRQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 4Ej5h0/Bd0D35jRh9w54QK5e5UoFH3hAKrHOXQsveEA4JccEhDJ4QDIW9B4DQXhAAoI1YTZIeEA= - - - - - - 9zyMRyfROEpDRiVIeaJzR+abk0abXQxIe0AyRw== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Np3cUk7Bd0BfD+5P9w54QA3DvNUEH3hANDwl8ggveECMI9xLBEF4QLTAHXb6R3hA - - - - - - EXulRyfhdUpUnoVIMjF2RwusCEitlhJH - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AAAAIBJIeEA= - - - - - - Or6JRQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - uH+A8U7Bd0CBC7FX9w54QIaEa2IFH3hAUnNxIgoveED4dr1/A0F4QGIsGkdNSHhA - - - - - - 0s3eRgXchkqt9Y9IbrmnR5fl0Uex+/pG - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AAAAID9IeEA= - - - - - - PjRIRQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AAAAgDNIeEA= - - - - - - E9YVRQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - oFZADErBd0AA+v3B9w54QDzokW4FH3hAFsKHAggveECQHBLtAUF4QGKhSY88SHhAwj+EWmhIeEA= - - - - - - sH0eR7u4nEp0gZ9I/s0CSGkl50fm9qZG/17MRg== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AAAAIBpIeEA= - - - - - - M9W5RQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AAAAgPDNd0AAAABgWkh4QA== - - - - - - tFcXRcyGlEU= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AAAAIEVIeEA= - - - - - - bItvRQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - nPJ/vVDBd0A3Tla09w54QCN/RhMFH3hAzjGeWAoveEDEJOvNBEF4QCU0Ib9FSHhA - - - - - - Z0z9Rpwsr0qqRbRIJUISSGhFjkdRejVH - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AAAAICtIeEA= - - - - - - V/EZRQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AAAAQFdIeEA= - - - - - - dx0JRQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2MEQJk7Bd0CTFS+a9w54QNEDtXkFH3hAZP4OIggveEB2DTbRVkB4QLTLkYsDQXhA0Evz6FxIeEA= - - - - - - Ekq1RkPcyUr0jAVJysoRSEUlqkZwWJFH9SkYRw== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AAAAwIZIeEA= - - - - - - GIESRg== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1M0iIlDBd0BFYSeM9w54QFUiQ/gFH3hAppnC4QgveEDWycMYBEF4QJZ6ooxBSHhA - - - - - - pTx5Rxmg3Ur27QtJEsENSPyu2UckUgpH - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AAAAQBJIeEA= - - - - - - V5ZIRQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - HiFRPk/Bd0CYB0mz9g54QDOCTi4FH3hAYpR1aAkveEBk2GR5Gj94QK45LrUFQXhA7r1l7C9IeEA= - - - - - - +NXARmOL+kp5lABJzwhWSIRhy0ZvSqNHXLv0Rg== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AAAAoPVHeEA= - - - - - - hQ4rRQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - /XDuSPcOeEB4d4v1BR94QMzgpUwKL3hA+6hocQRBeEA1e2/dXEh4QA== - - - - - - eC/9SicO9EjFYVRIeg2kR6Rjf0c= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AAAAYEVIeEA= - - - - - - 3mhsRQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AAAAAEFIeEA= - - - - - - FI20RQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Gkys0E7Bd0C469li9w54QAutGrgFH3hAZuW8QAkveEDY4hqmA0F4QJbdaChYSHhA - - - - - - giXHRuw6/konlA1Jttx+SIeaD0fnZApH - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AAAA4DFIeEA= - - - - - - k1d2RQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - gXlaeFHBd0Cb94eL9w54QKYWFbAFH3hAToQN7AgveEAX8YQsAkF4QLVzb+xcSHhA - - - - - - eM7XRg19/0oKZRFJ9Ul2SEb7DUew0UNH - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AAAAgHxIeEA= - - - - - - pnCqRQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AAAAwKD1d0AAAADgA0h4QA== - - - - - - 04YQRaaOGEU= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TFvxGU7Bd0CWIaZM9w54QJ9bimkFH3hAjg53ywkveEAU6RCeBUF4QFVm5YJaSHhA - - - - - - yEn2RvoDB0tvCh9JiuV7SAPwhkfwuv5G - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - E+jvPfcOeECa651oBR94QK40VJAKL3hAMNNH1QJBeEC2MoxbUkh4QA== - - - - - - hXsESxD5JEnLjmFIkDx9Ry6nKkc= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AAAAoFhIeEAAAACAilh4QA== - - - - - - +okqRaIABkU= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - gz/fzE3Bd0A4H5599w54QIJbBTAFH3hAFozt8AkveEAC2keKA0F4QMiqC9FLSHhA - - - - - - p+fvRk9jCUtCJhRJ1u1nSMveEUdwpIlH - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AAAAIAJIeEA= - - - - - - GfMFRQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AAAAIBdIeEA= - - - - - - SR1gRQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AAAAQIBIeEA= - - - - - - cpgLRQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - VfOTwPcOeEDSmGaCBh94QBxd0YAJL3hAiNE+oARBeEBx5ECoWEh4QA== - - - - - - cYwFS3/4E0lk3FFIATfkRolGeUc= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AAAAoNRHeEAAAADgk0h4QA== - - - - - - 6aPPRexotUU= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AAAAAPQOeEAAAAAg60d4QA== - - - - - - JK9rRYBngkU= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 7iGkrE/Bd0DKIOuI9w54QLsTFHMFH3hA7uNZGgoveEBeWGbeA0F4QAPj6XsdSHhA - - - - - - vUccR1ZxBUsnFBFJlMAvSC9OwkcM54JH - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - RfXvVlDBd0Ck/yRN9w54QF5ZjiEFH3hAyr6y4wkveECqIg7RAUF4QH3v+V4GSHhA - - - - - - YzwfR3HRAEuMSQFJRwRHSGjv9UcBkCBH - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 7of0x07Bd0Dj9hRV9w54QAiE0mcFH3hATr6PnAkveECezmYeBEF4QMD4GRQSSHhA - - - - - - PKfPRsdM90q3z/ZI84M/SFjn7Ue5iQZH - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AAAAAL5HeEA= - - - - - - nn7QRQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - yJHsTlDBd0ArjuGH9w54QLjhEnkFH3hARqr4JgoveEBIcDLDAkF4QDJ7WoIbSHhA - - - - - - ep7VRzYy+UroqSdJdMw+SNi38UfvLiBH - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - m2NE903Bd0CALh509w54QNjQz50FH3hAG3zTKAoveEA5pV+XA0F4QDziMrsmSHhA - - - - - - tx6cR+Bx50rVSgNJ3043SITN8UfqjYFH - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AwP3K1LBd0Cjsvmt9w54QApV9UIGH3hADuEzOwoveEAI90e1BUF4QENUH+QvSHhA - - - - - - 546DR/hh10oJVfxI+WceSIF5wUd7H79G - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AAAAgGVIeEA= - - - - - - 28snRQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AAAAAE5IeEA= - - - - - - W4hERQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AAAAYE1IeEA= - - - - - - xJAdRQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - /3/o9FDBd0AXEe579w54QLr6E7QFH3hAUlu/FgoveEARmJNDBEF4QOhEZ+kcSHhA - - - - - - g7N9R2UZwErrk85I1RchSJ3IB0hKzPpG - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AAAAIPJHeEA= - - - - - - FFM1RQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - NZgbiE/Bd0Cqq2qv9w54QPDEUFMFH3hAtFjL4wgveEDUdyWGAkF4QDLtkJ3yR3hA - - - - - - jg2ER4r7pEppJ6pI7dYQSB8230cJ1K1G - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AAAAIA5IeEA= - - - - - - ThggRQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Fg47yE/Bd0BwLH9b9w54QKTUScMFH3hAi9JorgoveEBkdfDABEF4QAydSGARSHhALvN0BkFIeEA= - - - - - - G4GjR2B4gEpk26hIV/O5R4OND0iP4fVGSXi+Rg== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AAAAwC5IeEA= - - - - - - uw1KRQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CMut7U7Bd0CZTFZ39w54QIC/6HQGH3hAPKZwUAsveEDuyT1sA0F4QFTfSpAWSHhAVk1YuxFReEA= - - - - - - bzNSRzdkMko0gmZI/DPwRtL5EUhRFgNH30HbRg== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AAAAQAtIeEA= - - - - - - rrwWRg== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AAAA4CtIeEA= - - - - - - 0ksYRQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AAAAYBRIeEA= - - - - - - RMopRQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AAAAoAJIeEA= - - - - - - IlQeRQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 48Y7Pk7Bd0DjGdrL9w54QNZddRMFH3hATgNqPwsveECSm75rA0F4QCg4IAQUSHhA - - - - - - OlbcRyN9CkrCgytI7NnFRsRZKUjV5fNG - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AAAAwBdIeEA= - - - - - - 30lARQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - aoiMLk7Bd0CMJuPm9w54QFpWZbIDH3hAIQjJrwwveEDZf2RpBEF4QObP6Mk8SHhAtdoZOw5ReEA= - - - - - - 3HmkR+mQ2Uke3LZHjdzaRhXaAkhqlj5HzMJ7Rg== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FPDb4k/Bd0DWaNKe9w54QKulp9IFH3hA3vr9UwsveEBcWh95BEF4QCCXldclSHhA - - - - - - l06gR3jLr0nRj2hH047SRvf+SEhezVlH - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ZpZ+6kzBd0A1YMmp9w54QIRZMl0GH3hA5PC+XAoveECkvgirA0F4QAT7P4hWSHhA/Jze+BBReEA= - - - - - - zRiaRsaek0kAyo1HIPD8RsmoZ0jgZlRHxr2/Rg== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AAAAwG9IeEA= - - - - - - juAeRQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - UYZldFHBd0BHOSWt9w54QFhDQIUFH3hA3s7HCANBeEA= - - - - - - b1ZXR8ztaUndZGhHHPxESA== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AAAAIFxIeEA= - - - - - - C8RFRQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - /ks/e07Bd0BjU/079w54QLd6REAGH3hA7o3XcARBeEDMep2UUUh4QA== - - - - - - he1qR56nXUnm0JdHzD0mSCVRYkc= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AAAAANdHeEAAAAAAlUh4QA== - - - - - - 6dgnRULmREU= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - iMspKE/Bd0AWEJeP9w54QP9f4BoFH3hA0oiogARBeEDq41WLRkh4QA== - - - - - - AzmURxrzK0neBfNGhTZsSDD530Y= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AAAAoFVIeEA= - - - - - - PI+BRQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - yBeFs1DBd0DToY3M9w54QOqmagsGH3hA0IkEoQRBeEAwP+mlC1F4QA== - - - - - - iOxjR+GXHknnz4hHJVxnSJym1UY= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AAAAQHNIeEA= - - - - - - bMMYRQ== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - VE/1m07Bd0Ajx7Lx9g54QBlDRIsFH3hApDyD9ANBeECGOcjQUEh4QECH+NR/SHhA - - - - - - wMKPR7UaDEm5OGFHwMJqSBAks0Y8e9JG - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - cdKbdE7Bd0A+o8UB9w54QBBe3F8EQXhA87NUl2dIeEBoloOfEVF4QA== - - - - - - LP3xRppl8khULX9IOCdrR5pqekY= - - - - - - - - - - - - - - - - - - - - - - - 1SHX9w3zg0A= - - - - - - ymTTTQ== - - - - - - - - - 16464 - 21237 - 24446 - 27634 - 30823 - 35567 - 38753 - 41941 - 45166 - 48402 - 53142 - 57885 - 62630 - 65886 - 70635 - 73872 - 77111 - 81824 - 86572 - 89829 - 93068 - 97815 - 101054 - 105769 - 110513 - 113772 - 118513 - 123276 - 127991 - 131229 - 135974 - 140685 - 143944 - 148687 - 151925 - 156568 - 159825 - 164540 - 167767 - 172509 - 177220 - 180458 - 185172 - 188411 - 193155 - 197883 - 201122 - 204348 - 209108 - 212346 - 217089 - 221837 - 226586 - 229812 - 234539 - 239267 - 242506 - 245744 - 248983 - 253725 - 256964 - 260202 - 263439 - 268183 - 272928 - 277643 - 280881 - 285624 - 288862 - 293610 - 296866 - 301579 - 304838 - 309582 - 314326 - 319037 - 323779 - 327017 - 331764 - 335022 - 338260 - 341519 - 346258 - 349468 - 354216 - 357441 - 362206 - 365432 - 370181 - 373408 - 378121 - 381358 - - - 384667 - - -386094 -0 - \ No newline at end of file diff --git a/src/tests/topp/THIRDPARTY/SiriusAdapter_6_output.ms b/src/tests/topp/THIRDPARTY/SiriusAdapter_6_output.ms deleted file mode 100644 index f57366d5476..00000000000 --- a/src/tests/topp/THIRDPARTY/SiriusAdapter_6_output.ms +++ /dev/null @@ -1,1118 +0,0 @@ ->compound _7231120865591443173-5228--58--UNKNOWN ->parentmass 398.092212485532 ->charge -1 ->rt 657.849900000000 -##fmz 398.092212485532002 -##fid 7231120865591443173 -##des UNKNOWN -##specref_format [MS, MS:1000768, Thermo nativeID format] -##source file file:///Y:\AG backups\licha\20160714 Ketone bodies Barbara Kofler\Neuroblastom Sepideh Aminzadeh\Plasmaproben\201801 2nd study C vs MCT Realproben\HILIC\neg016_DaLi_H9M9_Pool_05_neg_20.raw -##source format [MS, MS:1000563, Thermo RAW format,] ->ms1merged -398.092212485532 196533184.351695001125 -399.095098696873 26599570.664368100464 -400.087176047083 12251713.203938400373 ->ms1peaks -380.081733660888 26579.617187500000 -384.935383874790 8103523.500000000000 -385.938819715812 505469.718750000000 -386.939846574304 196111.796875000000 -388.063505555716 121806.687500000000 -388.504413701488 34441.722656250000 ->ms2peaks -##n_id controllerType=0 controllerNumber=1 scan=5228 -##m_id UNKNOWN_016_DaLi_H9M9_Pool_05_neg_20.raw_controllerType=0 controllerNumber=1 scan=5228_0 -##scan 58 -##specref ms_run[1]:controllerType=0 controllerNumber=1 scan=5228 -388.483886718750 6671.827148437500 ->ms1peaks -380.081769636993 53811.433593750000 -384.935416543108 2922765.750000000000 -385.939076337025 236040.812500000000 -386.940262260472 30745.992187500000 -388.063335648882 149479.281250000000 -388.505508701773 33558.316406250000 -389.066829056673 28064.935546875000 ->ms2peaks -##n_id controllerType=0 controllerNumber=1 scan=5270 -##m_id UNKNOWN_016_DaLi_H9M9_Pool_05_neg_20.raw_controllerType=0 controllerNumber=1 scan=5270_0 -##scan 72 -##specref ms_run[1]:controllerType=0 controllerNumber=1 scan=5270 -388.502746582031 9647.169921875000 ->compound _0-5064--0--UNKNOWN ->parentmass 409.114078518168 ->charge -1 ->rt 635.158860000000 -##des UNKNOWN -##specref_format [MS, MS:1000768, Thermo nativeID format] -##source file file:///Y:\AG backups\licha\20160714 Ketone bodies Barbara Kofler\Neuroblastom Sepideh Aminzadeh\Plasmaproben\201801 2nd study C vs MCT Realproben\HILIC\neg016_DaLi_H9M9_Pool_05_neg_20.raw -##source format [MS, MS:1000563, Thermo RAW format,] ->ms1merged -409.114078518168 657895.812500000000 - ->ms2peaks -##n_id controllerType=0 controllerNumber=1 scan=5064 -##m_id UNKNOWN_016_DaLi_H9M9_Pool_05_neg_20.raw_controllerType=0 controllerNumber=1 scan=5064_0 -##scan 0 -##specref ms_run[1]:controllerType=0 controllerNumber=1 scan=5064 -388.512359619141 2733.562744140625 ->compound _0-5078--4--UNKNOWN ->parentmass 414.066417938389 ->charge -1 ->rt 636.770880000000 -##des UNKNOWN -##specref_format [MS, MS:1000768, Thermo nativeID format] -##source file file:///Y:\AG backups\licha\20160714 Ketone bodies Barbara Kofler\Neuroblastom Sepideh Aminzadeh\Plasmaproben\201801 2nd study C vs MCT Realproben\HILIC\neg016_DaLi_H9M9_Pool_05_neg_20.raw -##source format [MS, MS:1000563, Thermo RAW format,] ->ms1merged -414.066417938389 892802.562500000000 - ->ms1peaks -382.119002039401 37246.738281250000 -386.147293441266 18509.181640625000 -388.517387861963 36523.714843750000 ->ms2peaks -##n_id controllerType=0 controllerNumber=1 scan=5078 -##m_id UNKNOWN_016_DaLi_H9M9_Pool_05_neg_20.raw_controllerType=0 controllerNumber=1 scan=5078_0 -##scan 4 -##specref ms_run[1]:controllerType=0 controllerNumber=1 scan=5078 -388.529785156250 2096.352050781250 ->compound _0-5102--9--UNKNOWN ->parentmass 398.092218003740 ->charge -1 ->rt 639.851040000000 -##des UNKNOWN -##specref_format [MS, MS:1000768, Thermo nativeID format] -##source file file:///Y:\AG backups\licha\20160714 Ketone bodies Barbara Kofler\Neuroblastom Sepideh Aminzadeh\Plasmaproben\201801 2nd study C vs MCT Realproben\HILIC\neg016_DaLi_H9M9_Pool_05_neg_20.raw -##source format [MS, MS:1000563, Thermo RAW format,] ->ms1merged -398.092218003740 5505568.500000000000 - ->ms1peaks -380.081823518604 91283.429687500000 -384.935319676894 318007.531250000000 -388.063430938992 286498.656250000000 -388.504827807275 23444.765625000000 -388.515599059635 33526.890625000000 -389.064365953773 20154.470703125000 ->ms2peaks -##n_id controllerType=0 controllerNumber=1 scan=5102 -##m_id UNKNOWN_016_DaLi_H9M9_Pool_05_neg_20.raw_controllerType=0 controllerNumber=1 scan=5102_0 -##scan 9 -##specref ms_run[1]:controllerType=0 controllerNumber=1 scan=5102 -388.514862060547 5612.131347656250 ->compound _0-5104--10--UNKNOWN ->parentmass 466.079766775402 ->charge -1 ->rt 639.851040000000 -##des UNKNOWN -##specref_format [MS, MS:1000768, Thermo nativeID format] -##source file file:///Y:\AG backups\licha\20160714 Ketone bodies Barbara Kofler\Neuroblastom Sepideh Aminzadeh\Plasmaproben\201801 2nd study C vs MCT Realproben\HILIC\neg016_DaLi_H9M9_Pool_05_neg_20.raw -##source format [MS, MS:1000563, Thermo RAW format,] ->ms1merged -466.079766775402 737734.500000000000 - ->ms1peaks -380.081823518604 91283.429687500000 -384.935319676894 318007.531250000000 -388.063430938992 286498.656250000000 -388.504827807275 23444.765625000000 -388.515599059635 33526.890625000000 -389.064365953773 20154.470703125000 ->ms2peaks -##n_id controllerType=0 controllerNumber=1 scan=5104 -##m_id UNKNOWN_016_DaLi_H9M9_Pool_05_neg_20.raw_controllerType=0 controllerNumber=1 scan=5104_0 -##scan 10 -##specref ms_run[1]:controllerType=0 controllerNumber=1 scan=5104 -388.515228271484 2812.135742187500 ->compound _0-5106--11--UNKNOWN ->parentmass 420.074165192656 ->charge -1 ->rt 639.851040000000 -##des UNKNOWN -##specref_format [MS, MS:1000768, Thermo nativeID format] -##source file file:///Y:\AG backups\licha\20160714 Ketone bodies Barbara Kofler\Neuroblastom Sepideh Aminzadeh\Plasmaproben\201801 2nd study C vs MCT Realproben\HILIC\neg016_DaLi_H9M9_Pool_05_neg_20.raw -##source format [MS, MS:1000563, Thermo RAW format,] ->ms1merged -420.074165192656 731321.062500000000 - ->ms1peaks -380.081823518604 91283.429687500000 -384.935319676894 318007.531250000000 -388.063430938992 286498.656250000000 -388.504827807275 23444.765625000000 -388.515599059635 33526.890625000000 -389.064365953773 20154.470703125000 ->ms2peaks -##n_id controllerType=0 controllerNumber=1 scan=5106 -##m_id UNKNOWN_016_DaLi_H9M9_Pool_05_neg_20.raw_controllerType=0 controllerNumber=1 scan=5106_0 -##scan 11 -##specref ms_run[1]:controllerType=0 controllerNumber=1 scan=5106 -388.520111083984 3175.204345703125 ->compound _0-5112--13--UNKNOWN ->parentmass 408.082377334138 ->charge -1 ->rt 640.654800000000 -##des UNKNOWN -##specref_format [MS, MS:1000768, Thermo nativeID format] -##source file file:///Y:\AG backups\licha\20160714 Ketone bodies Barbara Kofler\Neuroblastom Sepideh Aminzadeh\Plasmaproben\201801 2nd study C vs MCT Realproben\HILIC\neg016_DaLi_H9M9_Pool_05_neg_20.raw -##source format [MS, MS:1000563, Thermo RAW format,] ->ms1merged -408.082377334138 100355.289062500000 - ->ms1peaks -380.081602468778 57975.109375000000 -384.935313978025 873260.812500000000 -385.939066618345 54611.910156250000 -388.063438490807 249697.718750000000 -388.509338109065 22354.238281250000 -388.519247674394 17735.195312500000 -389.066049692285 57271.812500000000 ->ms2peaks -##n_id controllerType=0 controllerNumber=1 scan=5112 -##m_id UNKNOWN_016_DaLi_H9M9_Pool_05_neg_20.raw_controllerType=0 controllerNumber=1 scan=5112_0 -##scan 13 -##specref ms_run[1]:controllerType=0 controllerNumber=1 scan=5112 -388.513275146484 2292.960449218750 ->compound _0-5120--16--UNKNOWN ->parentmass 452.922900000000 ->charge -1 ->rt 642.224160000000 -##des UNKNOWN -##specref_format [MS, MS:1000768, Thermo nativeID format] -##source file file:///Y:\AG backups\licha\20160714 Ketone bodies Barbara Kofler\Neuroblastom Sepideh Aminzadeh\Plasmaproben\201801 2nd study C vs MCT Realproben\HILIC\neg016_DaLi_H9M9_Pool_05_neg_20.raw -##source format [MS, MS:1000563, Thermo RAW format,] ->ms1merged -452.922900000000 1431123.250000000000 - ->ms1peaks -380.081995791900 74465.695312500000 -384.935472025830 2266038.000000000000 -385.938279666454 168566.125000000000 -387.156570659550 17785.691406250000 -388.063844563954 135795.734375000000 -388.507729504849 40560.300781250000 ->ms2peaks -##n_id controllerType=0 controllerNumber=1 scan=5120 -##m_id UNKNOWN_016_DaLi_H9M9_Pool_05_neg_20.raw_controllerType=0 controllerNumber=1 scan=5120_0 -##scan 16 -##specref ms_run[1]:controllerType=0 controllerNumber=1 scan=5120 -388.523376464844 2778.042236328125 ->compound _0-5123--17--UNKNOWN ->parentmass 482.054139526986 ->charge -1 ->rt 642.224160000000 -##des UNKNOWN -##specref_format [MS, MS:1000768, Thermo nativeID format] -##source file file:///Y:\AG backups\licha\20160714 Ketone bodies Barbara Kofler\Neuroblastom Sepideh Aminzadeh\Plasmaproben\201801 2nd study C vs MCT Realproben\HILIC\neg016_DaLi_H9M9_Pool_05_neg_20.raw -##source format [MS, MS:1000563, Thermo RAW format,] ->ms1merged -482.054139526986 130792.101562500000 - ->ms1peaks -380.081995791900 74465.695312500000 -384.935472025830 2266038.000000000000 -385.938279666454 168566.125000000000 -387.156570659550 17785.691406250000 -388.063844563954 135795.734375000000 -388.507729504849 40560.300781250000 ->ms2peaks -##n_id controllerType=0 controllerNumber=1 scan=5123 -##m_id UNKNOWN_016_DaLi_H9M9_Pool_05_neg_20.raw_controllerType=0 controllerNumber=1 scan=5123_0 -##scan 17 -##specref ms_run[1]:controllerType=0 controllerNumber=1 scan=5123 -388.518035888672 3210.635986328125 ->compound _0-5134--20--UNKNOWN ->parentmass 602.055005965531 ->charge -1 ->rt 643.816680000000 -##des UNKNOWN -##specref_format [MS, MS:1000768, Thermo nativeID format] -##source file file:///Y:\AG backups\licha\20160714 Ketone bodies Barbara Kofler\Neuroblastom Sepideh Aminzadeh\Plasmaproben\201801 2nd study C vs MCT Realproben\HILIC\neg016_DaLi_H9M9_Pool_05_neg_20.raw -##source format [MS, MS:1000563, Thermo RAW format,] ->ms1merged -602.055005965531 192931.609375000000 - ->ms1peaks -380.081621991896 84726.132812500000 -384.935378961489 4028489.750000000000 -385.938680398322 273650.625000000000 -386.939684052896 63025.195312500000 -388.063548908155 139952.171875000000 -388.498647800657 37526.675781250000 ->ms2peaks -##n_id controllerType=0 controllerNumber=1 scan=5134 -##m_id UNKNOWN_016_DaLi_H9M9_Pool_05_neg_20.raw_controllerType=0 controllerNumber=1 scan=5134_0 -##scan 20 -##specref ms_run[1]:controllerType=0 controllerNumber=1 scan=5134 -388.504425048828 4407.778320312500 ->compound _0-5140--22--UNKNOWN ->parentmass 588.897900000000 ->charge -1 ->rt 644.614260000000 -##des UNKNOWN -##specref_format [MS, MS:1000768, Thermo nativeID format] -##source file file:///Y:\AG backups\licha\20160714 Ketone bodies Barbara Kofler\Neuroblastom Sepideh Aminzadeh\Plasmaproben\201801 2nd study C vs MCT Realproben\HILIC\neg016_DaLi_H9M9_Pool_05_neg_20.raw -##source format [MS, MS:1000563, Thermo RAW format,] ->ms1merged -588.897900000000 1233694.375000000000 - ->ms1peaks -380.081773282956 28518.910156250000 -384.935386363584 4419074.500000000000 -385.938814563743 294829.406250000000 -386.939974253813 85874.859375000000 -388.063354244324 107467.179687500000 -388.518866636505 32125.845703125000 ->ms2peaks -##n_id controllerType=0 controllerNumber=1 scan=5140 -##m_id UNKNOWN_016_DaLi_H9M9_Pool_05_neg_20.raw_controllerType=0 controllerNumber=1 scan=5140_0 -##scan 22 -##specref ms_run[1]:controllerType=0 controllerNumber=1 scan=5140 -388.515411376953 3203.265136718750 ->compound _0-5142--23--UNKNOWN ->parentmass 400.909359872837 ->charge -1 ->rt 644.614260000000 -##des UNKNOWN -##specref_format [MS, MS:1000768, Thermo nativeID format] -##source file file:///Y:\AG backups\licha\20160714 Ketone bodies Barbara Kofler\Neuroblastom Sepideh Aminzadeh\Plasmaproben\201801 2nd study C vs MCT Realproben\HILIC\neg016_DaLi_H9M9_Pool_05_neg_20.raw -##source format [MS, MS:1000563, Thermo RAW format,] ->ms1merged -400.909359872837 569672.750000000000 - ->ms1peaks -380.081773282956 28518.910156250000 -384.935386363584 4419074.500000000000 -385.938814563743 294829.406250000000 -386.939974253813 85874.859375000000 -388.063354244324 107467.179687500000 -388.518866636505 32125.845703125000 ->ms2peaks -##n_id controllerType=0 controllerNumber=1 scan=5142 -##m_id UNKNOWN_016_DaLi_H9M9_Pool_05_neg_20.raw_controllerType=0 controllerNumber=1 scan=5142_0 -##scan 23 -##specref ms_run[1]:controllerType=0 controllerNumber=1 scan=5142 -388.512573242188 2397.379638671875 ->compound _0-5144--25--UNKNOWN ->parentmass 398.092177220084 ->charge -1 ->rt 645.366780000000 -##des UNKNOWN -##specref_format [MS, MS:1000768, Thermo nativeID format] -##source file file:///Y:\AG backups\licha\20160714 Ketone bodies Barbara Kofler\Neuroblastom Sepideh Aminzadeh\Plasmaproben\201801 2nd study C vs MCT Realproben\HILIC\neg016_DaLi_H9M9_Pool_05_neg_20.raw -##source format [MS, MS:1000563, Thermo RAW format,] ->ms1merged -398.092177220084 4337261.000000000000 - ->ms1peaks -380.080578090021 40573.687500000000 -384.935487739654 5135453.500000000000 -385.938826150846 326667.625000000000 -386.939455538087 133943.968750000000 -388.062970228909 118346.820312500000 -388.514785087222 21371.449218750000 -388.525476948355 26159.498046875000 ->ms2peaks -##n_id controllerType=0 controllerNumber=1 scan=5144 -##m_id UNKNOWN_016_DaLi_H9M9_Pool_05_neg_20.raw_controllerType=0 controllerNumber=1 scan=5144_0 -##scan 25 -##specref ms_run[1]:controllerType=0 controllerNumber=1 scan=5144 -388.506378173828 5946.649902343750 ->compound _0-5146--26--UNKNOWN ->parentmass 670.042786026349 ->charge -1 ->rt 645.366780000000 -##des UNKNOWN -##specref_format [MS, MS:1000768, Thermo nativeID format] -##source file file:///Y:\AG backups\licha\20160714 Ketone bodies Barbara Kofler\Neuroblastom Sepideh Aminzadeh\Plasmaproben\201801 2nd study C vs MCT Realproben\HILIC\neg016_DaLi_H9M9_Pool_05_neg_20.raw -##source format [MS, MS:1000563, Thermo RAW format,] ->ms1merged -670.042786026349 109127.148437500000 - ->ms1peaks -380.080578090021 40573.687500000000 -384.935487739654 5135453.500000000000 -385.938826150846 326667.625000000000 -386.939455538087 133943.968750000000 -388.062970228909 118346.820312500000 -388.514785087222 21371.449218750000 -388.525476948355 26159.498046875000 ->ms2peaks -##n_id controllerType=0 controllerNumber=1 scan=5146 -##m_id UNKNOWN_016_DaLi_H9M9_Pool_05_neg_20.raw_controllerType=0 controllerNumber=1 scan=5146_0 -##scan 26 -##specref ms_run[1]:controllerType=0 controllerNumber=1 scan=5146 -380.871215820312 2421.481445312500 -388.522064208984 4752.849609375000 ->compound _0-5147--27--UNKNOWN ->parentmass 656.885600000000 ->charge -1 ->rt 645.366780000000 -##des UNKNOWN -##specref_format [MS, MS:1000768, Thermo nativeID format] -##source file file:///Y:\AG backups\licha\20160714 Ketone bodies Barbara Kofler\Neuroblastom Sepideh Aminzadeh\Plasmaproben\201801 2nd study C vs MCT Realproben\HILIC\neg016_DaLi_H9M9_Pool_05_neg_20.raw -##source format [MS, MS:1000563, Thermo RAW format,] ->ms1merged -656.885600000000 627614.187500000000 - ->ms1peaks -380.080578090021 40573.687500000000 -384.935487739654 5135453.500000000000 -385.938826150846 326667.625000000000 -386.939455538087 133943.968750000000 -388.062970228909 118346.820312500000 -388.514785087222 21371.449218750000 -388.525476948355 26159.498046875000 ->ms2peaks -##n_id controllerType=0 controllerNumber=1 scan=5147 -##m_id UNKNOWN_016_DaLi_H9M9_Pool_05_neg_20.raw_controllerType=0 controllerNumber=1 scan=5147_0 -##scan 27 -##specref ms_run[1]:controllerType=0 controllerNumber=1 scan=5147 -388.516876220703 3832.713867187500 ->compound _0-5152--29--UNKNOWN ->parentmass 420.074362248786 ->charge -1 ->rt 646.171020000000 -##des UNKNOWN -##specref_format [MS, MS:1000768, Thermo nativeID format] -##source file file:///Y:\AG backups\licha\20160714 Ketone bodies Barbara Kofler\Neuroblastom Sepideh Aminzadeh\Plasmaproben\201801 2nd study C vs MCT Realproben\HILIC\neg016_DaLi_H9M9_Pool_05_neg_20.raw -##source format [MS, MS:1000563, Thermo RAW format,] ->ms1merged -420.074362248786 1106828.250000000000 - ->ms1peaks -380.082211971088 32422.201171875000 -384.935474717265 5740110.000000000000 -385.938739085557 369197.312500000000 -386.940025918910 149768.578125000000 -388.063672941713 72842.812500000000 -388.517027978613 46458.316406250000 ->ms2peaks -##n_id controllerType=0 controllerNumber=1 scan=5152 -##m_id UNKNOWN_016_DaLi_H9M9_Pool_05_neg_20.raw_controllerType=0 controllerNumber=1 scan=5152_0 -##scan 29 -##specref ms_run[1]:controllerType=0 controllerNumber=1 scan=5152 -388.510528564453 2463.083740234375 ->compound _0-5154--30--UNKNOWN ->parentmass 468.896600000000 ->charge -1 ->rt 646.171020000000 -##des UNKNOWN -##specref_format [MS, MS:1000768, Thermo nativeID format] -##source file file:///Y:\AG backups\licha\20160714 Ketone bodies Barbara Kofler\Neuroblastom Sepideh Aminzadeh\Plasmaproben\201801 2nd study C vs MCT Realproben\HILIC\neg016_DaLi_H9M9_Pool_05_neg_20.raw -##source format [MS, MS:1000563, Thermo RAW format,] ->ms1merged -468.896600000000 649306.625000000000 - ->ms1peaks -380.082211971088 32422.201171875000 -384.935474717265 5740110.000000000000 -385.938739085557 369197.312500000000 -386.940025918910 149768.578125000000 -388.063672941713 72842.812500000000 -388.517027978613 46458.316406250000 ->ms2peaks -##n_id controllerType=0 controllerNumber=1 scan=5154 -##m_id UNKNOWN_016_DaLi_H9M9_Pool_05_neg_20.raw_controllerType=0 controllerNumber=1 scan=5154_0 -##scan 30 -##specref ms_run[1]:controllerType=0 controllerNumber=1 scan=5154 -388.521301269531 2193.841552734375 ->compound _0-5156--32--UNKNOWN ->parentmass 384.935449775622 ->charge -1 ->rt 646.970280000000 -##des UNKNOWN -##specref_format [MS, MS:1000768, Thermo nativeID format] -##source file file:///Y:\AG backups\licha\20160714 Ketone bodies Barbara Kofler\Neuroblastom Sepideh Aminzadeh\Plasmaproben\201801 2nd study C vs MCT Realproben\HILIC\neg016_DaLi_H9M9_Pool_05_neg_20.raw -##source format [MS, MS:1000563, Thermo RAW format,] ->ms1merged -384.935449775622 6614561.500000000000 -385.938836772050 547023.250000000000 ->ms1peaks -380.081579270799 23205.035156250000 -384.935449775622 6614561.500000000000 -385.938836772050 547023.250000000000 -386.939485605783 149291.156250000000 -388.021195613044 21778.634765625000 -388.063365525736 74416.875000000000 -388.522683096290 38953.957031250000 ->ms2peaks -##n_id controllerType=0 controllerNumber=1 scan=5156 -##m_id UNKNOWN_016_DaLi_H9M9_Pool_05_neg_20.raw_controllerType=0 controllerNumber=1 scan=5156_0 -##scan 32 -##specref ms_run[1]:controllerType=0 controllerNumber=1 scan=5156 -388.532897949219 9376.273437500000 ->compound _0-5166--34--UNKNOWN ->parentmass 724.873200000000 ->charge -1 ->rt 647.725560000000 -##des UNKNOWN -##specref_format [MS, MS:1000768, Thermo nativeID format] -##source file file:///Y:\AG backups\licha\20160714 Ketone bodies Barbara Kofler\Neuroblastom Sepideh Aminzadeh\Plasmaproben\201801 2nd study C vs MCT Realproben\HILIC\neg016_DaLi_H9M9_Pool_05_neg_20.raw -##source format [MS, MS:1000563, Thermo RAW format,] ->ms1merged -724.873200000000 574929.437500000000 - ->ms1peaks -380.082063804582 63804.644531250000 -384.935436395481 7262220.500000000000 -385.938957464450 573151.375000000000 -386.939668426663 145156.281250000000 -388.063500180052 111453.968750000000 -388.516003260310 35410.140625000000 ->ms2peaks -##n_id controllerType=0 controllerNumber=1 scan=5166 -##m_id UNKNOWN_016_DaLi_H9M9_Pool_05_neg_20.raw_controllerType=0 controllerNumber=1 scan=5166_0 -##scan 34 -##specref ms_run[1]:controllerType=0 controllerNumber=1 scan=5166 -388.504455566406 3209.396240234375 ->compound _0-5170--36--UNKNOWN ->parentmass 536.884400000000 ->charge -1 ->rt 648.491760000000 -##des UNKNOWN -##specref_format [MS, MS:1000768, Thermo nativeID format] -##source file file:///Y:\AG backups\licha\20160714 Ketone bodies Barbara Kofler\Neuroblastom Sepideh Aminzadeh\Plasmaproben\201801 2nd study C vs MCT Realproben\HILIC\neg016_DaLi_H9M9_Pool_05_neg_20.raw -##source format [MS, MS:1000563, Thermo RAW format,] ->ms1merged -536.884400000000 483935.093750000000 - ->ms1peaks -380.081846539413 24682.984375000000 -384.935229573509 8209841.500000000000 -385.938764864611 526663.562500000000 -386.939796885772 219171.234375000000 -387.943963426520 26032.757812500000 -388.063893490379 83604.867187500000 -388.511700055532 31325.679687500000 ->ms2peaks -##n_id controllerType=0 controllerNumber=1 scan=5170 -##m_id UNKNOWN_016_DaLi_H9M9_Pool_05_neg_20.raw_controllerType=0 controllerNumber=1 scan=5170_0 -##scan 36 -##specref ms_run[1]:controllerType=0 controllerNumber=1 scan=5170 -388.497467041016 2736.907470703125 ->compound _0-5175--38--UNKNOWN ->parentmass 624.036046217308 ->charge -1 ->rt 649.284420000000 -##des UNKNOWN -##specref_format [MS, MS:1000768, Thermo nativeID format] -##source file file:///Y:\AG backups\licha\20160714 Ketone bodies Barbara Kofler\Neuroblastom Sepideh Aminzadeh\Plasmaproben\201801 2nd study C vs MCT Realproben\HILIC\neg016_DaLi_H9M9_Pool_05_neg_20.raw -##source format [MS, MS:1000563, Thermo RAW format,] ->ms1merged -624.036046217308 266142.500000000000 - ->ms1peaks -384.935372287189 8296380.000000000000 -385.938954872886 499825.218750000000 -386.940014503442 217479.078125000000 -388.063584717587 83994.953125000000 -388.522672114824 65379.640625000000 ->ms2peaks -##n_id controllerType=0 controllerNumber=1 scan=5175 -##m_id UNKNOWN_016_DaLi_H9M9_Pool_05_neg_20.raw_controllerType=0 controllerNumber=1 scan=5175_0 -##scan 38 -##specref ms_run[1]:controllerType=0 controllerNumber=1 scan=5175 -388.516937255859 3782.554199218750 ->compound _0-5176--39--UNKNOWN ->parentmass 520.910100000000 ->charge -1 ->rt 649.284420000000 -##des UNKNOWN -##specref_format [MS, MS:1000768, Thermo nativeID format] -##source file file:///Y:\AG backups\licha\20160714 Ketone bodies Barbara Kofler\Neuroblastom Sepideh Aminzadeh\Plasmaproben\201801 2nd study C vs MCT Realproben\HILIC\neg016_DaLi_H9M9_Pool_05_neg_20.raw -##source format [MS, MS:1000563, Thermo RAW format,] ->ms1merged -520.910100000000 3411542.000000000000 - ->ms1peaks -384.935372287189 8296380.000000000000 -385.938954872886 499825.218750000000 -386.940014503442 217479.078125000000 -388.063584717587 83994.953125000000 -388.522672114824 65379.640625000000 ->ms2peaks -##n_id controllerType=0 controllerNumber=1 scan=5176 -##m_id UNKNOWN_016_DaLi_H9M9_Pool_05_neg_20.raw_controllerType=0 controllerNumber=1 scan=5176_0 -##scan 39 -##specref ms_run[1]:controllerType=0 controllerNumber=1 scan=5176 -388.515869140625 5777.634765625000 ->compound _0-5182--41--UNKNOWN ->parentmass 792.860800000000 ->charge -1 ->rt 650.057160000000 -##des UNKNOWN -##specref_format [MS, MS:1000768, Thermo nativeID format] -##source file file:///Y:\AG backups\licha\20160714 Ketone bodies Barbara Kofler\Neuroblastom Sepideh Aminzadeh\Plasmaproben\201801 2nd study C vs MCT Realproben\HILIC\neg016_DaLi_H9M9_Pool_05_neg_20.raw -##source format [MS, MS:1000563, Thermo RAW format,] ->ms1merged -792.860800000000 523014.406250000000 - ->ms1peaks -380.081741974865 25490.753906250000 -384.935397006276 8330614.000000000000 -385.938896278575 579906.437500000000 -386.939759004474 260978.843750000000 -388.063390831970 36762.527343750000 -388.521522912627 35428.902343750000 ->ms2peaks -##n_id controllerType=0 controllerNumber=1 scan=5182 -##m_id UNKNOWN_016_DaLi_H9M9_Pool_05_neg_20.raw_controllerType=0 controllerNumber=1 scan=5182_0 -##scan 41 -##specref ms_run[1]:controllerType=0 controllerNumber=1 scan=5182 -388.512176513672 3941.473388671875 ->compound _0-5186--43--UNKNOWN ->parentmass 398.092122358423 ->charge -1 ->rt 650.857020000000 -##des UNKNOWN -##specref_format [MS, MS:1000768, Thermo nativeID format] -##source file file:///Y:\AG backups\licha\20160714 Ketone bodies Barbara Kofler\Neuroblastom Sepideh Aminzadeh\Plasmaproben\201801 2nd study C vs MCT Realproben\HILIC\neg016_DaLi_H9M9_Pool_05_neg_20.raw -##source format [MS, MS:1000563, Thermo RAW format,] ->ms1merged -398.092122358423 4008986.500000000000 - ->ms1peaks -380.082390168587 27623.234375000000 -384.935435801622 8371846.500000000000 -385.938888628365 595536.625000000000 -386.939678242493 252199.828125000000 -388.063030738167 36347.273437500000 -388.522686419830 50129.687500000000 ->ms2peaks -##n_id controllerType=0 controllerNumber=1 scan=5186 -##m_id UNKNOWN_016_DaLi_H9M9_Pool_05_neg_20.raw_controllerType=0 controllerNumber=1 scan=5186_0 -##scan 43 -##specref ms_run[1]:controllerType=0 controllerNumber=1 scan=5186 -388.530395507812 5454.081054687500 ->compound _0-5190--44--UNKNOWN ->parentmass 588.897900000000 ->charge -1 ->rt 650.857020000000 -##des UNKNOWN -##specref_format [MS, MS:1000768, Thermo nativeID format] -##source file file:///Y:\AG backups\licha\20160714 Ketone bodies Barbara Kofler\Neuroblastom Sepideh Aminzadeh\Plasmaproben\201801 2nd study C vs MCT Realproben\HILIC\neg016_DaLi_H9M9_Pool_05_neg_20.raw -##source format [MS, MS:1000563, Thermo RAW format,] ->ms1merged -588.897900000000 2328566.500000000000 - ->ms1peaks -380.082390168587 27623.234375000000 -384.935435801622 8371846.500000000000 -385.938888628365 595536.625000000000 -386.939678242493 252199.828125000000 -388.063030738167 36347.273437500000 -388.522686419830 50129.687500000000 ->ms2peaks -##n_id controllerType=0 controllerNumber=1 scan=5190 -##m_id UNKNOWN_016_DaLi_H9M9_Pool_05_neg_20.raw_controllerType=0 controllerNumber=1 scan=5190_0 -##scan 44 -##specref ms_run[1]:controllerType=0 controllerNumber=1 scan=5190 -383.351745605469 2312.426513671875 -388.500946044922 2440.915527343750 ->compound _0-5200--47--UNKNOWN ->parentmass 420.074449702016 ->charge -1 ->rt 652.412040000000 -##des UNKNOWN -##specref_format [MS, MS:1000768, Thermo nativeID format] -##source file file:///Y:\AG backups\licha\20160714 Ketone bodies Barbara Kofler\Neuroblastom Sepideh Aminzadeh\Plasmaproben\201801 2nd study C vs MCT Realproben\HILIC\neg016_DaLi_H9M9_Pool_05_neg_20.raw -##source format [MS, MS:1000563, Thermo RAW format,] ->ms1merged -420.074449702016 1177527.750000000000 - ->ms1peaks -384.935361802230 8682373.000000000000 -385.938820473553 675729.000000000000 -386.940079049043 230971.171875000000 -388.063191681448 64828.562500000000 -388.520106837891 43687.179687500000 ->ms2peaks -##n_id controllerType=0 controllerNumber=1 scan=5200 -##m_id UNKNOWN_016_DaLi_H9M9_Pool_05_neg_20.raw_controllerType=0 controllerNumber=1 scan=5200_0 -##scan 47 -##specref ms_run[1]:controllerType=0 controllerNumber=1 scan=5200 -388.521636962891 2728.623535156250 -389.533813476562 2144.039550781250 ->compound _0-5204--49--UNKNOWN ->parentmass 488.061833722764 ->charge -1 ->rt 653.212800000000 -##des UNKNOWN -##specref_format [MS, MS:1000768, Thermo nativeID format] -##source file file:///Y:\AG backups\licha\20160714 Ketone bodies Barbara Kofler\Neuroblastom Sepideh Aminzadeh\Plasmaproben\201801 2nd study C vs MCT Realproben\HILIC\neg016_DaLi_H9M9_Pool_05_neg_20.raw -##source format [MS, MS:1000563, Thermo RAW format,] ->ms1merged -488.061833722764 944744.250000000000 - ->ms1peaks -380.081494209350 30707.826171875000 -384.935422532715 9003855.000000000000 -385.938766499450 606820.125000000000 -386.939927032393 237495.343750000000 -388.063364296599 37342.792968750000 -388.518509908271 70472.875000000000 ->ms2peaks -##n_id controllerType=0 controllerNumber=1 scan=5204 -##m_id UNKNOWN_016_DaLi_H9M9_Pool_05_neg_20.raw_controllerType=0 controllerNumber=1 scan=5204_0 -##scan 49 -##specref ms_run[1]:controllerType=0 controllerNumber=1 scan=5204 -388.500518798828 2143.193603515625 ->compound _0-5205--50--UNKNOWN ->parentmass 602.055113103032 ->charge -1 ->rt 653.212800000000 -##des UNKNOWN -##specref_format [MS, MS:1000768, Thermo nativeID format] -##source file file:///Y:\AG backups\licha\20160714 Ketone bodies Barbara Kofler\Neuroblastom Sepideh Aminzadeh\Plasmaproben\201801 2nd study C vs MCT Realproben\HILIC\neg016_DaLi_H9M9_Pool_05_neg_20.raw -##source format [MS, MS:1000563, Thermo RAW format,] ->ms1merged -602.055113103032 226390.109375000000 - ->ms1peaks -380.081494209350 30707.826171875000 -384.935422532715 9003855.000000000000 -385.938766499450 606820.125000000000 -386.939927032393 237495.343750000000 -388.063364296599 37342.792968750000 -388.518509908271 70472.875000000000 ->ms2peaks -##n_id controllerType=0 controllerNumber=1 scan=5205 -##m_id UNKNOWN_016_DaLi_H9M9_Pool_05_neg_20.raw_controllerType=0 controllerNumber=1 scan=5205_0 -##scan 50 -##specref ms_run[1]:controllerType=0 controllerNumber=1 scan=5205 -388.505645751953 3585.830322265625 ->compound _0-5208--51--UNKNOWN ->parentmass 414.066411324583 ->charge -1 ->rt 653.212800000000 -##des UNKNOWN -##specref_format [MS, MS:1000768, Thermo nativeID format] -##source file file:///Y:\AG backups\licha\20160714 Ketone bodies Barbara Kofler\Neuroblastom Sepideh Aminzadeh\Plasmaproben\201801 2nd study C vs MCT Realproben\HILIC\neg016_DaLi_H9M9_Pool_05_neg_20.raw -##source format [MS, MS:1000563, Thermo RAW format,] ->ms1merged -414.066411324583 130545.601562500000 - ->ms1peaks -380.081494209350 30707.826171875000 -384.935422532715 9003855.000000000000 -385.938766499450 606820.125000000000 -386.939927032393 237495.343750000000 -388.063364296599 37342.792968750000 -388.518509908271 70472.875000000000 ->ms2peaks -##n_id controllerType=0 controllerNumber=1 scan=5208 -##m_id UNKNOWN_016_DaLi_H9M9_Pool_05_neg_20.raw_controllerType=0 controllerNumber=1 scan=5208_0 -##scan 51 -##specref ms_run[1]:controllerType=0 controllerNumber=1 scan=5208 -388.531311035156 2233.527832031250 ->compound _0-5211--53--UNKNOWN ->parentmass 452.922900000000 ->charge -1 ->rt 654.015540000000 -##des UNKNOWN -##specref_format [MS, MS:1000768, Thermo nativeID format] -##source file file:///Y:\AG backups\licha\20160714 Ketone bodies Barbara Kofler\Neuroblastom Sepideh Aminzadeh\Plasmaproben\201801 2nd study C vs MCT Realproben\HILIC\neg016_DaLi_H9M9_Pool_05_neg_20.raw -##source format [MS, MS:1000563, Thermo RAW format,] ->ms1merged -452.922900000000 5641118.000000000000 - ->ms1peaks -384.935486391002 8752241.000000000000 -385.939089203615 606087.937500000000 -386.939820115878 214897.562500000000 -388.063629384408 29211.501953125000 -388.521644834028 63814.535156250000 ->ms2peaks -##n_id controllerType=0 controllerNumber=1 scan=5211 -##m_id UNKNOWN_016_DaLi_H9M9_Pool_05_neg_20.raw_controllerType=0 controllerNumber=1 scan=5211_0 -##scan 53 -##specref ms_run[1]:controllerType=0 controllerNumber=1 scan=5211 -388.489410400391 6644.488769531250 -388.536102294922 5805.115234375000 ->compound _0-5213--54--UNKNOWN ->parentmass 656.885500000000 ->charge -1 ->rt 654.015540000000 -##des UNKNOWN -##specref_format [MS, MS:1000768, Thermo nativeID format] -##source file file:///Y:\AG backups\licha\20160714 Ketone bodies Barbara Kofler\Neuroblastom Sepideh Aminzadeh\Plasmaproben\201801 2nd study C vs MCT Realproben\HILIC\neg016_DaLi_H9M9_Pool_05_neg_20.raw -##source format [MS, MS:1000563, Thermo RAW format,] ->ms1merged -656.885500000000 1206969.000000000000 - ->ms1peaks -384.935486391002 8752241.000000000000 -385.939089203615 606087.937500000000 -386.939820115878 214897.562500000000 -388.063629384408 29211.501953125000 -388.521644834028 63814.535156250000 ->ms2peaks -##n_id controllerType=0 controllerNumber=1 scan=5213 -##m_id UNKNOWN_016_DaLi_H9M9_Pool_05_neg_20.raw_controllerType=0 controllerNumber=1 scan=5213_0 -##scan 54 -##specref ms_run[1]:controllerType=0 controllerNumber=1 scan=5213 -384.934570312500 3770.946289062500 -388.494903564453 4172.937500000000 ->compound _0-5246--62--UNKNOWN ->parentmass 420.074370494077 ->charge -1 ->rt 658.645140000000 -##des UNKNOWN -##specref_format [MS, MS:1000768, Thermo nativeID format] -##source file file:///Y:\AG backups\licha\20160714 Ketone bodies Barbara Kofler\Neuroblastom Sepideh Aminzadeh\Plasmaproben\201801 2nd study C vs MCT Realproben\HILIC\neg016_DaLi_H9M9_Pool_05_neg_20.raw -##source format [MS, MS:1000563, Thermo RAW format,] ->ms1merged -420.074370494077 1717486.875000000000 - ->ms1peaks -380.082561459436 67357.804687500000 -384.935468650229 7057660.000000000000 -385.939028700188 516776.281250000000 -386.939997866299 162207.890625000000 -388.063893586267 99059.007812500000 -388.511692163829 24463.740234375000 ->ms2peaks -##n_id controllerType=0 controllerNumber=1 scan=5246 -##m_id UNKNOWN_016_DaLi_H9M9_Pool_05_neg_20.raw_controllerType=0 controllerNumber=1 scan=5246_0 -##scan 62 -##specref ms_run[1]:controllerType=0 controllerNumber=1 scan=5246 -388.524780273438 2684.740966796875 ->compound _0-5247--63--UNKNOWN ->parentmass 488.061780273438 ->charge -1 ->rt 658.645140000000 -##des UNKNOWN -##specref_format [MS, MS:1000768, Thermo nativeID format] -##source file file:///Y:\AG backups\licha\20160714 Ketone bodies Barbara Kofler\Neuroblastom Sepideh Aminzadeh\Plasmaproben\201801 2nd study C vs MCT Realproben\HILIC\neg016_DaLi_H9M9_Pool_05_neg_20.raw -##source format [MS, MS:1000563, Thermo RAW format,] ->ms1merged -488.061780273438 1188660.750000000000 - ->ms1peaks -380.082561459436 67357.804687500000 -384.935468650229 7057660.000000000000 -385.939028700188 516776.281250000000 -386.939997866299 162207.890625000000 -388.063893586267 99059.007812500000 -388.511692163829 24463.740234375000 ->ms2peaks -##n_id controllerType=0 controllerNumber=1 scan=5247 -##m_id UNKNOWN_016_DaLi_H9M9_Pool_05_neg_20.raw_controllerType=0 controllerNumber=1 scan=5247_0 -##scan 63 -##specref ms_run[1]:controllerType=0 controllerNumber=1 scan=5247 -388.519042968750 3144.522216796875 ->compound _0-5249--64--UNKNOWN ->parentmass 468.896800000000 ->charge -1 ->rt 658.645140000000 -##des UNKNOWN -##specref_format [MS, MS:1000768, Thermo nativeID format] -##source file file:///Y:\AG backups\licha\20160714 Ketone bodies Barbara Kofler\Neuroblastom Sepideh Aminzadeh\Plasmaproben\201801 2nd study C vs MCT Realproben\HILIC\neg016_DaLi_H9M9_Pool_05_neg_20.raw -##source format [MS, MS:1000563, Thermo RAW format,] ->ms1merged -468.896800000000 1005724.875000000000 - ->ms1peaks -380.082561459436 67357.804687500000 -384.935468650229 7057660.000000000000 -385.939028700188 516776.281250000000 -386.939997866299 162207.890625000000 -388.063893586267 99059.007812500000 -388.511692163829 24463.740234375000 ->ms2peaks -##n_id controllerType=0 controllerNumber=1 scan=5249 -##m_id UNKNOWN_016_DaLi_H9M9_Pool_05_neg_20.raw_controllerType=0 controllerNumber=1 scan=5249_0 -##scan 64 -##specref ms_run[1]:controllerType=0 controllerNumber=1 scan=5249 -388.518890380859 2521.047851562500 ->compound _0-5256--66--UNKNOWN ->parentmass 414.066073286381 ->charge -1 ->rt 659.445660000000 -##des UNKNOWN -##specref_format [MS, MS:1000768, Thermo nativeID format] -##source file file:///Y:\AG backups\licha\20160714 Ketone bodies Barbara Kofler\Neuroblastom Sepideh Aminzadeh\Plasmaproben\201801 2nd study C vs MCT Realproben\HILIC\neg016_DaLi_H9M9_Pool_05_neg_20.raw -##source format [MS, MS:1000563, Thermo RAW format,] ->ms1merged -414.066073286381 235501.500000000000 - ->ms1peaks -380.082264812663 64947.511718750000 -384.935420923184 6294706.500000000000 -385.938892438931 423071.343750000000 -386.939963099944 164959.328125000000 -388.063541008510 139042.453125000000 -388.507058528323 32102.144531250000 ->ms2peaks -##n_id controllerType=0 controllerNumber=1 scan=5256 -##m_id UNKNOWN_016_DaLi_H9M9_Pool_05_neg_20.raw_controllerType=0 controllerNumber=1 scan=5256_0 -##scan 66 -##specref ms_run[1]:controllerType=0 controllerNumber=1 scan=5256 -388.496612548828 2901.192382812500 ->compound _0-5262--68--UNKNOWN ->parentmass 482.053282362254 ->charge -1 ->rt 660.248400000000 -##des UNKNOWN -##specref_format [MS, MS:1000768, Thermo nativeID format] -##source file file:///Y:\AG backups\licha\20160714 Ketone bodies Barbara Kofler\Neuroblastom Sepideh Aminzadeh\Plasmaproben\201801 2nd study C vs MCT Realproben\HILIC\neg016_DaLi_H9M9_Pool_05_neg_20.raw -##source format [MS, MS:1000563, Thermo RAW format,] ->ms1merged -482.053282362254 160178.765625000000 - ->ms1peaks -380.081916911880 67611.109375000000 -384.935470024759 5406149.000000000000 -385.938800158982 348475.281250000000 -386.939670366595 148315.703125000000 -388.063116213188 114284.242187500000 -388.496732298011 22250.017578125000 ->ms2peaks -##n_id controllerType=0 controllerNumber=1 scan=5262 -##m_id UNKNOWN_016_DaLi_H9M9_Pool_05_neg_20.raw_controllerType=0 controllerNumber=1 scan=5262_0 -##scan 68 -##specref ms_run[1]:controllerType=0 controllerNumber=1 scan=5262 -388.503448486328 2561.519042968750 ->compound _0-5266--70--UNKNOWN ->parentmass 452.922900000000 ->charge -1 ->rt 661.045800000000 -##des UNKNOWN -##specref_format [MS, MS:1000768, Thermo nativeID format] -##source file file:///Y:\AG backups\licha\20160714 Ketone bodies Barbara Kofler\Neuroblastom Sepideh Aminzadeh\Plasmaproben\201801 2nd study C vs MCT Realproben\HILIC\neg016_DaLi_H9M9_Pool_05_neg_20.raw -##source format [MS, MS:1000563, Thermo RAW format,] ->ms1merged -452.922900000000 2462594.500000000000 - ->ms1peaks -380.081978064235 83714.210937500000 -384.935389992496 4209712.000000000000 -385.938906944657 345819.125000000000 -386.940107736075 95206.679687500000 -388.063660563747 146998.046875000000 -388.504242213866 31472.779296875000 -388.515875298343 24380.142578125000 ->ms2peaks -##n_id controllerType=0 controllerNumber=1 scan=5266 -##m_id UNKNOWN_016_DaLi_H9M9_Pool_05_neg_20.raw_controllerType=0 controllerNumber=1 scan=5266_0 -##scan 70 -##specref ms_run[1]:controllerType=0 controllerNumber=1 scan=5266 -388.511413574219 3232.858154296875 ->compound _0-5271--73--UNKNOWN ->parentmass 534.067167545687 ->charge -1 ->rt 661.787040000000 -##des UNKNOWN -##specref_format [MS, MS:1000768, Thermo nativeID format] -##source file file:///Y:\AG backups\licha\20160714 Ketone bodies Barbara Kofler\Neuroblastom Sepideh Aminzadeh\Plasmaproben\201801 2nd study C vs MCT Realproben\HILIC\neg016_DaLi_H9M9_Pool_05_neg_20.raw -##source format [MS, MS:1000563, Thermo RAW format,] ->ms1merged -534.067167545687 423175.687500000000 - ->ms1peaks -380.081769636993 53811.433593750000 -384.935416543108 2922765.750000000000 -385.939076337025 236040.812500000000 -386.940262260472 30745.992187500000 -388.063335648882 149479.281250000000 -388.505508701773 33558.316406250000 -389.066829056673 28064.935546875000 ->ms2peaks -##n_id controllerType=0 controllerNumber=1 scan=5271 -##m_id UNKNOWN_016_DaLi_H9M9_Pool_05_neg_20.raw_controllerType=0 controllerNumber=1 scan=5271_0 -##scan 73 -##specref ms_run[1]:controllerType=0 controllerNumber=1 scan=5271 -388.510711669922 2436.738769531250 ->compound _0-5272--74--UNKNOWN ->parentmass 520.910300000000 ->charge -1 ->rt 661.787040000000 -##des UNKNOWN -##specref_format [MS, MS:1000768, Thermo nativeID format] -##source file file:///Y:\AG backups\licha\20160714 Ketone bodies Barbara Kofler\Neuroblastom Sepideh Aminzadeh\Plasmaproben\201801 2nd study C vs MCT Realproben\HILIC\neg016_DaLi_H9M9_Pool_05_neg_20.raw -##source format [MS, MS:1000563, Thermo RAW format,] ->ms1merged -520.910300000000 1065204.250000000000 - ->ms1peaks -380.081769636993 53811.433593750000 -384.935416543108 2922765.750000000000 -385.939076337025 236040.812500000000 -386.940262260472 30745.992187500000 -388.063335648882 149479.281250000000 -388.505508701773 33558.316406250000 -389.066829056673 28064.935546875000 ->ms2peaks -##n_id controllerType=0 controllerNumber=1 scan=5272 -##m_id UNKNOWN_016_DaLi_H9M9_Pool_05_neg_20.raw_controllerType=0 controllerNumber=1 scan=5272_0 -##scan 74 -##specref ms_run[1]:controllerType=0 controllerNumber=1 scan=5272 -388.504974365234 2716.641601562500 ->compound _0-5274--75--UNKNOWN ->parentmass 504.036135944250 ->charge -1 ->rt 661.787040000000 -##des UNKNOWN -##specref_format [MS, MS:1000768, Thermo nativeID format] -##source file file:///Y:\AG backups\licha\20160714 Ketone bodies Barbara Kofler\Neuroblastom Sepideh Aminzadeh\Plasmaproben\201801 2nd study C vs MCT Realproben\HILIC\neg016_DaLi_H9M9_Pool_05_neg_20.raw -##source format [MS, MS:1000563, Thermo RAW format,] ->ms1merged -504.036135944250 118912.375000000000 - ->ms1peaks -380.081769636993 53811.433593750000 -384.935416543108 2922765.750000000000 -385.939076337025 236040.812500000000 -386.940262260472 30745.992187500000 -388.063335648882 149479.281250000000 -388.505508701773 33558.316406250000 -389.066829056673 28064.935546875000 ->ms2peaks -##n_id controllerType=0 controllerNumber=1 scan=5274 -##m_id UNKNOWN_016_DaLi_H9M9_Pool_05_neg_20.raw_controllerType=0 controllerNumber=1 scan=5274_0 -##scan 75 -##specref ms_run[1]:controllerType=0 controllerNumber=1 scan=5274 -388.500640869141 2533.258300781250 ->compound _0-5277--77--UNKNOWN ->parentmass 615.212274781312 ->charge -1 ->rt 662.593440000000 -##des UNKNOWN -##specref_format [MS, MS:1000768, Thermo nativeID format] -##source file file:///Y:\AG backups\licha\20160714 Ketone bodies Barbara Kofler\Neuroblastom Sepideh Aminzadeh\Plasmaproben\201801 2nd study C vs MCT Realproben\HILIC\neg016_DaLi_H9M9_Pool_05_neg_20.raw -##source format [MS, MS:1000563, Thermo RAW format,] ->ms1merged -615.212274781312 84719.304687500000 - ->ms1peaks -380.081602319244 112812.453125000000 -384.935497142751 2269000.750000000000 -385.938739260161 175631.031250000000 -386.940246023286 25324.960937500000 -388.063335175096 173415.062500000000 -388.504886747224 31218.916015625000 ->ms2peaks -##n_id controllerType=0 controllerNumber=1 scan=5277 -##m_id UNKNOWN_016_DaLi_H9M9_Pool_05_neg_20.raw_controllerType=0 controllerNumber=1 scan=5277_0 -##scan 77 -##specref ms_run[1]:controllerType=0 controllerNumber=1 scan=5277 -388.505798339844 3076.616943359375 ->compound _0-5295--81--UNKNOWN ->parentmass 466.079703118647 ->charge -1 ->rt 664.918140000000 -##des UNKNOWN -##specref_format [MS, MS:1000768, Thermo nativeID format] -##source file file:///Y:\AG backups\licha\20160714 Ketone bodies Barbara Kofler\Neuroblastom Sepideh Aminzadeh\Plasmaproben\201801 2nd study C vs MCT Realproben\HILIC\neg016_DaLi_H9M9_Pool_05_neg_20.raw -##source format [MS, MS:1000563, Thermo RAW format,] ->ms1merged -466.079703118647 1140998.625000000000 - ->ms1peaks -380.081278318865 19724.400390625000 -384.935464655518 1209304.750000000000 -385.939053723029 72596.000000000000 -386.940029855598 32376.062500000000 -388.063395532760 237219.140625000000 -388.521126031803 54374.875000000000 -389.066643590529 24542.886718750000 ->ms2peaks -##n_id controllerType=0 controllerNumber=1 scan=5295 -##m_id UNKNOWN_016_DaLi_H9M9_Pool_05_neg_20.raw_controllerType=0 controllerNumber=1 scan=5295_0 -##scan 81 -##specref ms_run[1]:controllerType=0 controllerNumber=1 scan=5295 -388.527282714844 2542.034667968750 ->compound _0-5303--83--UNKNOWN ->parentmass 602.054595799514 ->charge -1 ->rt 665.714280000000 -##des UNKNOWN -##specref_format [MS, MS:1000768, Thermo nativeID format] -##source file file:///Y:\AG backups\licha\20160714 Ketone bodies Barbara Kofler\Neuroblastom Sepideh Aminzadeh\Plasmaproben\201801 2nd study C vs MCT Realproben\HILIC\neg016_DaLi_H9M9_Pool_05_neg_20.raw -##source format [MS, MS:1000563, Thermo RAW format,] ->ms1merged -602.054595799514 122526.851562500000 - ->ms1peaks -380.082386395055 55126.433593750000 -384.935467858701 958172.750000000000 -385.938847781208 59492.863281250000 -388.063240795613 201712.437500000000 ->ms2peaks -##n_id controllerType=0 controllerNumber=1 scan=5303 -##m_id UNKNOWN_016_DaLi_H9M9_Pool_05_neg_20.raw_controllerType=0 controllerNumber=1 scan=5303_0 -##scan 83 -##specref ms_run[1]:controllerType=0 controllerNumber=1 scan=5303 -388.522491455078 3164.252685546875 ->compound _0-5309--85--UNKNOWN ->parentmass 556.049835868136 ->charge -1 ->rt 666.487020000000 -##des UNKNOWN -##specref_format [MS, MS:1000768, Thermo nativeID format] -##source file file:///Y:\AG backups\licha\20160714 Ketone bodies Barbara Kofler\Neuroblastom Sepideh Aminzadeh\Plasmaproben\201801 2nd study C vs MCT Realproben\HILIC\neg016_DaLi_H9M9_Pool_05_neg_20.raw -##source format [MS, MS:1000563, Thermo RAW format,] ->ms1merged -556.049835868136 145157.984375000000 - ->ms1peaks -380.081660506490 60141.519531250000 -384.935359944872 907897.875000000000 -385.939026134012 77729.796875000000 -388.063584177026 170231.187500000000 -388.519917121081 57937.144531250000 ->ms2peaks -##n_id controllerType=0 controllerNumber=1 scan=5309 -##m_id UNKNOWN_016_DaLi_H9M9_Pool_05_neg_20.raw_controllerType=0 controllerNumber=1 scan=5309_0 -##scan 85 -##specref ms_run[1]:controllerType=0 controllerNumber=1 scan=5309 -388.489990234375 2685.556884765625 -388.536376953125 3150.391113281250 ->compound _0-5316--87--UNKNOWN ->parentmass 550.041153388311 ->charge -1 ->rt 667.285020000000 -##des UNKNOWN -##specref_format [MS, MS:1000768, Thermo nativeID format] -##source file file:///Y:\AG backups\licha\20160714 Ketone bodies Barbara Kofler\Neuroblastom Sepideh Aminzadeh\Plasmaproben\201801 2nd study C vs MCT Realproben\HILIC\neg016_DaLi_H9M9_Pool_05_neg_20.raw -##source format [MS, MS:1000563, Thermo RAW format,] ->ms1merged -550.041153388311 102207.851562500000 - ->ms1peaks -380.081825412046 75890.023437500000 -384.935439672555 704305.625000000000 -385.938746334519 31106.933593750000 -388.063599260652 241882.078125000000 -388.517222724446 28668.593750000000 ->ms2peaks -##n_id controllerType=0 controllerNumber=1 scan=5316 -##m_id UNKNOWN_016_DaLi_H9M9_Pool_05_neg_20.raw_controllerType=0 controllerNumber=1 scan=5316_0 -##scan 87 -##specref ms_run[1]:controllerType=0 controllerNumber=1 scan=5316 -388.520904541016 4145.904296875000 ->compound _0-5320--89--UNKNOWN ->parentmass 452.923000000000 ->charge -1 ->rt 668.053260000000 -##des UNKNOWN -##specref_format [MS, MS:1000768, Thermo nativeID format] -##source file file:///Y:\AG backups\licha\20160714 Ketone bodies Barbara Kofler\Neuroblastom Sepideh Aminzadeh\Plasmaproben\201801 2nd study C vs MCT Realproben\HILIC\neg016_DaLi_H9M9_Pool_05_neg_20.raw -##source format [MS, MS:1000563, Thermo RAW format,] ->ms1merged -452.923000000000 391322.406250000000 - ->ms1peaks -380.082202453512 58348.531250000000 -384.935497811556 649598.062500000000 -385.938975731477 70047.804687500000 -388.063630120972 236912.578125000000 -389.065343772049 27347.304687500000 ->ms2peaks -##n_id controllerType=0 controllerNumber=1 scan=5320 -##m_id UNKNOWN_016_DaLi_H9M9_Pool_05_neg_20.raw_controllerType=0 controllerNumber=1 scan=5320_0 -##scan 89 -##specref ms_run[1]:controllerType=0 controllerNumber=1 scan=5320 -388.528137207031 2444.213867187500 diff --git a/src/tests/topp/THIRDPARTY/SiriusAdapter_7_output.mzTab b/src/tests/topp/THIRDPARTY/SiriusAdapter_7_output.mzTab deleted file mode 100644 index 75e967c3ca0..00000000000 --- a/src/tests/topp/THIRDPARTY/SiriusAdapter_7_output.mzTab +++ /dev/null @@ -1,15 +0,0 @@ -MTD mzTab-version 1.0.0 -MTD mzTab-mode null -MTD mzTab-type null -MTD description Sirius-4.9.0 -MTD smallmolecule_search_engine_score[1] [, , SiriusScore, ] -MTD smallmolecule_search_engine_score[2] [, , TreeScore, ] -MTD smallmolecule_search_engine_score[3] [, , IsotopeScore, ] -MTD ms_run[1]-location /home/axel/dev/OpenMS/src/tests/topp/THIRDPARTY/SiriusAdapter_4_input.mzML - -SMH identifier chemical_formula smiles inchi_key description exp_mass_to_charge calc_mass_to_charge charge retention_time taxid species database database_version spectra_ref search_engine best_search_engine_score[1] best_search_engine_score[2] best_search_engine_score[3] modifications opt_global_adduct opt_gobal_precursorFormula opt_global_rank opt_global_explainedPeaks opt_global_explainedIntensity opt_global_median_mass_error_fragment_peaks_ppm opt_global_median_absolute_mass_error_fragment_peaks_ppm opt_global_mass_error_precursor_ppm opt_global_compoundId opt_global_compoundScanNumber opt_global_featureId opt_global_native_id -SML null C13H21NO13 null null null 398.092212485532002 null null 657.849900000000048 null null null null null null 3.586267852501222 1.0 2.586267852501222 null [M - H]- C13H21NO13 1 1 0.0 nan nan -4.523560926145404 58 5228 id_7231120865591443173 controllerType=0 controllerNumber=1 scan=5228|controllerType=0 controllerNumber=1 scan=5270 -SML null C14H17N5O9 null null null 398.092212485532002 null null 657.849900000000048 null null null null null null 1.822034569006425 1.0 0.822034569006425 null [M - H]- C14H17N5O9 2 1 0.0 nan nan -7.883063971153154 58 5228 id_7231120865591443173 controllerType=0 controllerNumber=1 scan=5228|controllerType=0 controllerNumber=1 scan=5270 -SML null C12H23N3O8P2 null null null 398.092212485532002 null null 657.849900000000048 null null null null null null 1.475756600181588 -0.6094379124341 2.085194512615688 null [M - H]- C12H23N3O8P2 3 1 0.0 nan nan 8.668799625494327 58 5228 id_7231120865591443173 controllerType=0 controllerNumber=1 scan=5228|controllerType=0 controllerNumber=1 scan=5270 -SML null C13H17N7O6S null null null 398.092212485532002 null null 657.849900000000048 null null null null null null 1.395181537711145 -0.6094379124341 2.004619450145245 null [M - H]- C13H17N7O6S 4 1 0.0 nan nan 8.507259163322804 58 5228 id_7231120865591443173 controllerType=0 controllerNumber=1 scan=5228|controllerType=0 controllerNumber=1 scan=5270 -SML null C21H13N5O4 null null null 398.092212485532002 null null 657.849900000000048 null null null null null null 1.0 1.0 0.0 null [M - H]- C21H13N5O4 5 1 0.0 nan nan 6.870372081407342 58 5228 id_7231120865591443173 controllerType=0 controllerNumber=1 scan=5228|controllerType=0 controllerNumber=1 scan=5270 diff --git a/src/tests/topp/THIRDPARTY/SiriusAdapter_8_output.mzTab b/src/tests/topp/THIRDPARTY/SiriusAdapter_8_output.mzTab deleted file mode 100644 index 27e0c58e6cf..00000000000 --- a/src/tests/topp/THIRDPARTY/SiriusAdapter_8_output.mzTab +++ /dev/null @@ -1,32 +0,0 @@ -MTD mzTab-version 1.0.0 -MTD mzTab-mode null -MTD mzTab-type null -MTD description Sirius-5.6.3 -MTD smallmolecule_search_engine_score[1] [, , SiriusScore, ] -MTD smallmolecule_search_engine_score[2] [, , TreeScore, ] -MTD smallmolecule_search_engine_score[3] [, , IsotopeScore, ] -MTD ms_run[1]-location /Users/builder/jenkins/ws/openms/PR/bldtst/87227eb0/source/src/tests/topp/AssayGeneratorMetabo_decoy_generation_input.mzML - -SMH identifier chemical_formula smiles inchi_key description exp_mass_to_charge calc_mass_to_charge charge retention_time taxid species database database_version spectra_ref search_engine best_search_engine_score[1] best_search_engine_score[2] best_search_engine_score[3] modifications opt_global_adduct opt_gobal_precursorFormula opt_global_rank opt_global_explainedPeaks opt_global_explainedIntensity opt_global_median_mass_error_fragment_peaks_ppm opt_global_median_absolute_mass_error_fragment_peaks_ppm opt_global_mass_error_precursor_ppm opt_global_compoundId opt_global_compoundScanNumber opt_global_featureId opt_global_native_id -SML null C14H17IN2O2 null null null 373.041532365868022 null null 608.394000000000005 null null null null null null 23.200648370640732 23.200648370640732 0.0 null [M + H]+ C14H17IN2O2 1 10 1.0 2.918635803820394 2.918635803820394 2.091267887993178 1 847004 id_13564286333504458830 sample=1 period=1 cycle=847 experiment=4 -SML null C10H7N2O9P null null null 330.995669248795025 null null 606.481000000020003 null null null null null null 1.526870259864886 -0.74377112047702 2.270641380341906 null [M + H]+ C10H7N2O9P 1 1 0.0 -1.582006485689947 1.582006485689947 -1.582006485689947 5 848006 id_10363315384511872265 sample=1 period=1 cycle=848 experiment=6|sample=1 period=1 cycle=849 experiment=4 -SML null C12H8N2O7 null null null 330.995669248795025 null null 606.481000000020003 null null null null null null 0.833722174873901 0.833722174873901 0.0 null [M + K]+ C12H8N2O7 2 1 0.0 -1.93189021762513 1.93189021762513 -1.93189021762513 5 848006 id_10363315384511872265 sample=1 period=1 cycle=848 experiment=6|sample=1 period=1 cycle=849 experiment=4 -SML null C8H4N8O5 null null null 330.995669248795025 null null 606.481000000020003 null null null null null null 0.377315307572828 0.377315307572828 0.0 null [M + K]+ C8H4N8O5 3 1 0.0 6.181110191444778 6.181110191444778 6.181110191444778 5 848006 id_10363315384511872265 sample=1 period=1 cycle=848 experiment=6|sample=1 period=1 cycle=849 experiment=4 -SML null C7H10N4O6P2 null null null 330.995669248795025 null null 606.481000000020003 null null null null null null 0.049395480163874 -0.913731495401201 0.963126975565074 null [M + Na]+ C7H10N4O6P2 4 1 0.0 -3.349745626558456 3.349745626558456 -3.349745626558456 5 848006 id_10363315384511872265 sample=1 period=1 cycle=848 experiment=6|sample=1 period=1 cycle=849 experiment=4 -SML null C13H9O7P null null null 330.995669248795025 null null 606.481000000020003 null null null null null null -0.025829015163908 -1.267614218323655 1.241785203159747 null [M + Na]+ C13H9O7P 5 1 0.0 -6.467484303918107 6.467484303918107 -6.467484303918107 5 848006 id_10363315384511872265 sample=1 period=1 cycle=848 experiment=6|sample=1 period=1 cycle=849 experiment=4 -SML null C11H19N4O4PS null null null 373.050229958369982 null null 606.481000000020003 null null null null null null 25.784045137235857 25.784045137235857 0.0 null [M + K]+ C11H19N4O4PS 1 8 0.83071499653889 0.98606604349625 1.834824189436524 1.632863969832672 6 848007 id_10810367786410780691 sample=1 period=1 cycle=848 experiment=7 -SML null C12H18N2O6S2 null null null 373.050229958369982 null null 606.481000000020003 null null null null null null 21.440048232932529 21.440048232932529 0.0 null [M + Na]+ C12H18N2O6S2 2 6 0.792872349311512 0.995083324692341 0.995083324692341 1.02120907297114 6 848007 id_10810367786410780691 sample=1 period=1 cycle=848 experiment=7 -SML null C10H17F3N2O4S2 null null null 373.050229958369982 null null 606.481000000020003 null null null null null null 20.212827607281849 20.212827607281849 0.0 null [M + Na]+ C10H17F3N2O4S2 3 9 0.836119938167308 2.970866954492015 2.970866954492015 7.574246180733786 6 848007 id_10810367786410780691 sample=1 period=1 cycle=848 experiment=7 -SML null C10H18N6O3S2 null null null 373.050229958369982 null null 606.481000000020003 null null null null null null 19.933295178332092 19.933295178332092 0.0 null [M + K]+ C10H18N6O3S2 4 7 0.794693058831233 -2.512428411238932 2.512428411238932 -2.971658054302831 6 848007 id_10810367786410780691 sample=1 period=1 cycle=848 experiment=7 -SML null C8H20N2O9P2 null null null 373.050229958369982 null null 606.481000000020003 null null null null null null 18.952903131552411 18.952903131552411 0.0 null [M + Na]+ C8H20N2O9P2 5 10 1.0 2.32835220153535 2.674064949522841 -9.098564879409665 6 848007 id_10810367786410780691 sample=1 period=1 cycle=848 experiment=7 -SML null C22H46O6 null null null 407.336909566928 null null 610.321000000020035 null null null null null null 3.5 3.5 0.0 null [M + H]+ C22H46O6 1 1 0.0 nan nan 0.476074799296441 15 853003 id_11314361845815354347 sample=1 period=1 cycle=853 experiment=3 -SML null C23H42N4O2 null null null 407.336909566928 null null 610.321000000020035 null null null null null null 1.0 1.0 0.0 null [M + H]+ C23H42N4O2 2 1 0.0 nan nan -2.807182790603921 15 853003 id_11314361845815354347 sample=1 period=1 cycle=853 experiment=3 -SML null C19H38N10 null null null 407.336909566928 null null 610.321000000020035 null null null null null null 0.636657639383096 0.636657639383096 0.0 null [M + H]+ C19H38N10 3 1 0.0 nan nan 3.785315794586575 15 853003 id_11314361845815354347 sample=1 period=1 cycle=853 experiment=3 -SML null C18H42N6O4 null null null 407.336909566928 null null 610.321000000020035 null null null null null null 0.602603903755284 0.602603903755284 0.0 null [M + H]+ C18H42N6O4 4 1 0.0 nan nan 7.068573384486937 15 853003 id_11314361845815354347 sample=1 period=1 cycle=853 experiment=3 -SML null C21H47N2O3P null null null 407.336909566928 null null 610.321000000020035 null null null null null null -0.6094379124341 -0.6094379124341 0.0 null [M + H]+ C21H47N2O3P 5 1 0.0 nan nan -6.866255173155861 15 853003 id_11314361845815354347 sample=1 period=1 cycle=853 experiment=3 -SML null C9H12O12 null null null 313.039838679245008 null null 617.057999999999993 null null null null null null 3.416839087745155 3.416839087745155 0.0 null [M + H]+ C9H12O12 1 1 0.0 -1.001779348035562 1.001779348035562 -1.001779348035562 39 860003 id_13016335405471045766 sample=1 period=1 cycle=860 experiment=3|sample=1 period=1 cycle=861 experiment=2 -SML null C10H8N4O8 null null null 313.039838679245008 null null 617.057999999999993 null null null null null null 0.485688527015936 0.485688527015936 0.0 null [M + H]+ C10H8N4O8 2 1 0.0 -5.274053463948874 5.274053463948874 -5.274053463948874 39 860003 id_13016335405471045766 sample=1 period=1 cycle=860 experiment=3|sample=1 period=1 cycle=861 experiment=2 -SML null C6H4N10O6 null null null 313.039838679245008 null null 617.057999999999993 null null null null null null -0.550207731913414 -0.550207731913414 0.0 null [M + H]+ C6H4N10O6 3 1 0.0 3.304305160773628 3.304305160773628 3.304305160773628 39 860003 id_13016335405471045766 sample=1 period=1 cycle=860 experiment=3|sample=1 period=1 cycle=861 experiment=2 -SML null C14H5F5N2O null null null 313.039838679245008 null null 617.057999999999993 null null null null null null -0.704999285604162 -0.704999285604162 0.0 null [M + H]+ C14H5F5N2O 4 1 0.0 1.144733385968608 1.144733385968608 1.144733385968608 39 860003 id_13016335405471045766 sample=1 period=1 cycle=860 experiment=3|sample=1 period=1 cycle=861 experiment=2 -SML null C9H17BrN2O5 null null null 313.039838679245008 null null 617.057999999999993 null null null null null null -0.738958931047442 -0.738958931047442 0.0 null [M + H]+ C9H17BrN2O5 5 1 0.0 1.528505625537048 1.528505625537048 1.528505625537048 39 860003 id_13016335405471045766 sample=1 period=1 cycle=860 experiment=3|sample=1 period=1 cycle=861 experiment=2 -SML null C21H24Cl2O4 null null null 411.113111072311028 null null 618.022000000019943 null null null null null null 7.356107435210711 7.356107435210711 0.0 null [M + H]+ C21H24Cl2O4 1 2 1.0 1.228960718579289 1.228960718579289 1.629751526893702 40 860005 id_2653120127184275567 sample=1 period=1 cycle=860 experiment=5 diff --git a/src/tests/topp/THIRDPARTY/SiriusAdapter_9_output.mzTab b/src/tests/topp/THIRDPARTY/SiriusAdapter_9_output.mzTab deleted file mode 100644 index e6f0e3e88ca..00000000000 --- a/src/tests/topp/THIRDPARTY/SiriusAdapter_9_output.mzTab +++ /dev/null @@ -1,157 +0,0 @@ -MTD mzTab-version 1.0.0 -MTD mzTab-mode null -MTD mzTab-type null -MTD description Sirius-5.6.3 -MTD smallmolecule_search_engine_score[1] [, , SiriusScore, ] -MTD smallmolecule_search_engine_score[2] [, , TreeScore, ] -MTD smallmolecule_search_engine_score[3] [, , IsotopeScore, ] -MTD ms_run[1]-location /Users/builder/jenkins/ws/openms/PR/bldtst/87227eb0/source/src/tests/topp/AssayGeneratorMetabo_decoy_generation_input.mzML - -SMH identifier chemical_formula smiles inchi_key description exp_mass_to_charge calc_mass_to_charge charge retention_time taxid species database database_version spectra_ref search_engine best_search_engine_score[1] best_search_engine_score[2] best_search_engine_score[3] modifications opt_global_adduct opt_gobal_precursorFormula opt_global_rank opt_global_explainedPeaks opt_global_explainedIntensity opt_global_median_mass_error_fragment_peaks_ppm opt_global_median_absolute_mass_error_fragment_peaks_ppm opt_global_mass_error_precursor_ppm opt_global_compoundId opt_global_compoundScanNumber opt_global_featureId opt_global_native_id -SML null C14H17IN2O2 null null null 373.041532365868022 null null 608.394000000000005 null null null null null null 23.200648370640732 23.200648370640732 0.0 null [M + H]+ C14H17IN2O2 1 10 1.0 2.918635803820394 2.918635803820394 2.091267887993178 1 847004 id_13564286333504458830 sample=1 period=1 cycle=847 experiment=4 -SML null C25H49N5O3 null null null 468.391411753410011 null null 604.553999999999974 null null null null null null 9.6770601169857 9.6770601169857 0.0 null [M + H]+ C25H49N5O3 1 2 1.0 -1.445023221639928 1.445023221639928 1.27003464312998 2 847006 null sample=1 period=1 cycle=847 experiment=6 -SML null C28H51N3O null null null 468.391411753410011 null null 604.553999999999974 null null null null null null 9.445562595590651 9.445562595590651 0.0 null [M + Na]+ C28H51N3O 2 2 1.0 -5.871833302980732 5.871833302980732 -2.182359998211256 2 847006 null sample=1 period=1 cycle=847 experiment=6 -SML null C25H55N3O2 null null null 468.391411753410011 null null 604.553999999999974 null null null null null null 9.420133971376501 9.420133971376501 0.0 null [M + K]+ C25H55N3O2 3 2 1.0 -6.288345554871206 6.288345554871206 -2.507190890116459 2 847006 null sample=1 period=1 cycle=847 experiment=6 -SML null C21H45N11O null null null 468.391411753410011 null null 604.553999999999974 null null null null null null 8.957024585301269 8.957024585301269 0.0 null [M + H]+ C21H45N11O 4 2 1.0 5.906297025336516 5.906297025336516 7.003205518238989 2 847006 null sample=1 period=1 cycle=847 experiment=6 -SML null C28H53NO2S null null null 468.391411753410011 null null 604.553999999999974 null null null null null null 7.21874715384708 7.21874715384708 0.0 null [M + H]+ C28H53NO2S 5 2 1.0 9.065765347574173 9.065765347574173 9.467221661498789 2 847006 null sample=1 period=1 cycle=847 experiment=6 -SML null C12H13Br2NO7S2 null null null 505.854301068556026 null null 604.553999999999974 null null null null null null 16.95195935872173 16.95195935872173 0.0 null [M + H]+ C12H13Br2NO7S2 1 3 0.58252427184466 -6.911033729037047 6.911033729037047 -5.917394649359016 3 847007 null sample=1 period=1 cycle=847 experiment=7 -SML null C13H11Cl6N3O3 null null null 505.854301068556026 null null 604.553999999999974 null null null null null null 14.681206029050356 14.681206029050356 0.0 null [M + K]+ C13H11Cl6N3O3 2 3 0.58252427184466 1.3990591696897 3.070503376721699 -3.982023144238581 3 847007 null sample=1 period=1 cycle=847 experiment=7 -SML null C19H9Br2NO2S2 null null null 505.854301068556026 null null 604.553999999999974 null null null null null null 13.406735460386219 13.406735460386219 0.0 null [M + H]+ C19H9Br2NO2S2 3 3 0.58252427184466 3.538960371372842 3.538960371372842 5.693118471865774 3 847007 null sample=1 period=1 cycle=847 experiment=7 -SML null C12H6F5NO3S5 null null null 505.854301068556026 null null 604.553999999999974 null null null null null null 13.115238697657338 13.115238697657338 0.0 null [M + K]+ C12H6F5NO3S5 4 3 0.58252427184466 4.618679641491994 4.618679641491994 7.914959815501288 3 847007 null sample=1 period=1 cycle=847 experiment=7 -SML null C16H11Br2N3O2S null null null 505.854301068556026 null null 604.553999999999974 null null null null null null 12.282572840144438 12.282572840144438 0.0 null [M + K]+ C16H11Br2N3O2S 5 3 0.58252427184466 -0.446853090463965 2.914152425760874 -5.394485188162603 3 847007 null sample=1 period=1 cycle=847 experiment=7 -SML null C10H7N2O9P null null null 330.995669248795025 null null 606.481000000020003 null null null null null null 1.526870259864886 -0.74377112047702 2.270641380341906 null [M + H]+ C10H7N2O9P 1 1 0.0 -1.582006485689947 1.582006485689947 -1.582006485689947 5 848006 id_10363315384511872265 sample=1 period=1 cycle=848 experiment=6|sample=1 period=1 cycle=849 experiment=4 -SML null C12H8N2O7 null null null 330.995669248795025 null null 606.481000000020003 null null null null null null 0.833722174873901 0.833722174873901 0.0 null [M + K]+ C12H8N2O7 2 1 0.0 -1.93189021762513 1.93189021762513 -1.93189021762513 5 848006 id_10363315384511872265 sample=1 period=1 cycle=848 experiment=6|sample=1 period=1 cycle=849 experiment=4 -SML null C8H4N8O5 null null null 330.995669248795025 null null 606.481000000020003 null null null null null null 0.377315307572828 0.377315307572828 0.0 null [M + K]+ C8H4N8O5 3 1 0.0 6.181110191444778 6.181110191444778 6.181110191444778 5 848006 id_10363315384511872265 sample=1 period=1 cycle=848 experiment=6|sample=1 period=1 cycle=849 experiment=4 -SML null C7H10N4O6P2 null null null 330.995669248795025 null null 606.481000000020003 null null null null null null 0.049395480163874 -0.913731495401201 0.963126975565074 null [M + Na]+ C7H10N4O6P2 4 1 0.0 -3.349745626558456 3.349745626558456 -3.349745626558456 5 848006 id_10363315384511872265 sample=1 period=1 cycle=848 experiment=6|sample=1 period=1 cycle=849 experiment=4 -SML null C13H9O7P null null null 330.995669248795025 null null 606.481000000020003 null null null null null null -0.025829015163908 -1.267614218323655 1.241785203159747 null [M + Na]+ C13H9O7P 5 1 0.0 -6.467484303918107 6.467484303918107 -6.467484303918107 5 848006 id_10363315384511872265 sample=1 period=1 cycle=848 experiment=6|sample=1 period=1 cycle=849 experiment=4 -SML null C11H19N4O4PS null null null 373.050229958369982 null null 606.481000000020003 null null null null null null 25.784045137235857 25.784045137235857 0.0 null [M + K]+ C11H19N4O4PS 1 8 0.83071499653889 0.98606604349625 1.834824189436524 1.632863969832672 6 848007 id_10810367786410780691 sample=1 period=1 cycle=848 experiment=7 -SML null C12H18N2O6S2 null null null 373.050229958369982 null null 606.481000000020003 null null null null null null 21.440048232932529 21.440048232932529 0.0 null [M + Na]+ C12H18N2O6S2 2 6 0.792872349311512 0.995083324692341 0.995083324692341 1.02120907297114 6 848007 id_10810367786410780691 sample=1 period=1 cycle=848 experiment=7 -SML null C10H17F3N2O4S2 null null null 373.050229958369982 null null 606.481000000020003 null null null null null null 20.212827607281849 20.212827607281849 0.0 null [M + Na]+ C10H17F3N2O4S2 3 9 0.836119938167308 2.970866954492015 2.970866954492015 7.574246180733786 6 848007 id_10810367786410780691 sample=1 period=1 cycle=848 experiment=7 -SML null C10H18N6O3S2 null null null 373.050229958369982 null null 606.481000000020003 null null null null null null 19.933295178332092 19.933295178332092 0.0 null [M + K]+ C10H18N6O3S2 4 7 0.794693058831233 -2.512428411238932 2.512428411238932 -2.971658054302831 6 848007 id_10810367786410780691 sample=1 period=1 cycle=848 experiment=7 -SML null C8H20N2O9P2 null null null 373.050229958369982 null null 606.481000000020003 null null null null null null 18.952903131552411 18.952903131552411 0.0 null [M + Na]+ C8H20N2O9P2 5 10 1.0 2.32835220153535 2.674064949522841 -9.098564879409665 6 848007 id_10810367786410780691 sample=1 period=1 cycle=848 experiment=7 -SML null C9H15O16P3 null null null 472.965800306751021 null null 606.481000000020003 null null null null null null 9.802237862248113 9.802237862248113 0.0 null [M + H]+ C9H15O16P3 1 2 0.697674418604651 -0.74849424888238 0.74849424888238 2.599690420943164 9 849005 null sample=1 period=1 cycle=849 experiment=5 -SML null C17H14N4O2S4 null null null 472.965800306751021 null null 606.481000000020003 null null null null null null 9.673686396034764 9.673686396034764 0.0 null [M + K]+ C17H14N4O2S4 2 2 0.697674418604651 3.489191948022111 3.489191948022111 5.671696893840119 9 849005 null sample=1 period=1 cycle=849 experiment=5 -SML null C13H14N4O7S3 null null null 472.965800306751021 null null 606.481000000020003 null null null null null null 9.657025629720902 9.657025629720902 0.0 null [M + K]+ C13H14N4O7S3 3 2 0.697674418604651 -3.80843387724835 3.80843387724835 0.381462381339687 9 849005 null sample=1 period=1 cycle=849 experiment=5 -SML null C16H18O6S4 null null null 472.965800306751021 null null 606.481000000020003 null null null null null null 9.444643391175774 9.444643391175774 0.0 null [M + K]+ C16H18O6S4 4 2 0.697674418604651 7.389829971091086 7.389829971091086 8.499368575629337 9 849005 null sample=1 period=1 cycle=849 experiment=5 -SML null C19H14O5S4 null null null 472.965800306751021 null null 606.481000000020003 null null null null null null 9.414969746574188 9.414969746574188 0.0 null [M + Na]+ C19H14O5S4 5 2 0.697674418604651 7.833584886703086 7.833584886703086 8.821057797010498 9 849005 null sample=1 period=1 cycle=849 experiment=5 -SML null C31H49N3O2 null null null 496.393559709474005 null null 608.394000000000005 null null null null null null 12.08360004509305 12.08360004509305 0.0 null [M + H]+ C31H49N3O2 1 2 0.5 7.659955549563526 7.659955549563526 7.666194109493317 12 851004 null sample=1 period=1 cycle=851 experiment=4 -SML null C23H51N7O3 null null null 496.393559709474005 null null 608.394000000000005 null null null null null null 11.40879578074424 11.40879578074424 0.0 null [M + Na]+ C23H51N7O3 2 2 0.5 -4.193693126868299 4.193693126868299 -2.013488283583159 12 851004 null sample=1 period=1 cycle=851 experiment=4 -SML null C28H53N3O2S null null null 496.393559709474005 null null 608.394000000000005 null null null null null null 9.878813012741157 9.878813012741157 0.0 null [M + H]+ C28H53N3O2S 3 2 0.5 -0.656534039873993 0.656534039873993 0.874953703509131 12 851004 null sample=1 period=1 cycle=851 experiment=4 -SML null C26H55N3O2S null null null 496.393559709474005 null null 608.394000000000005 null null null null null null 9.532842124092705 9.532842124092705 0.0 null [M + Na]+ C26H55N3O2S 4 2 0.5 5.278238893054652 5.278238893054652 5.721285717488984 12 851004 null sample=1 period=1 cycle=851 experiment=4 -SML null C25H49N7O3 null null null 496.393559709474005 null null 608.394000000000005 null null null null null null 9.303836881800034 9.303836881800034 0.0 null [M + H]+ C25H49N7O3 5 2 0.5 -6.816097764115619 6.816097764115619 -6.859820297677524 12 851004 null sample=1 period=1 cycle=851 experiment=4 -SML null C22H46O6 null null null 407.336909566928 null null 610.321000000020035 null null null null null null 3.5 3.5 0.0 null [M + H]+ C22H46O6 1 1 0.0 nan nan 0.476074799296441 15 853003 id_11314361845815354347 sample=1 period=1 cycle=853 experiment=3 -SML null C23H42N4O2 null null null 407.336909566928 null null 610.321000000020035 null null null null null null 1.0 1.0 0.0 null [M + H]+ C23H42N4O2 2 1 0.0 nan nan -2.807182790603921 15 853003 id_11314361845815354347 sample=1 period=1 cycle=853 experiment=3 -SML null C19H38N10 null null null 407.336909566928 null null 610.321000000020035 null null null null null null 0.636657639383096 0.636657639383096 0.0 null [M + H]+ C19H38N10 3 1 0.0 nan nan 3.785315794586575 15 853003 id_11314361845815354347 sample=1 period=1 cycle=853 experiment=3 -SML null C18H42N6O4 null null null 407.336909566928 null null 610.321000000020035 null null null null null null 0.602603903755284 0.602603903755284 0.0 null [M + H]+ C18H42N6O4 4 1 0.0 nan nan 7.068573384486937 15 853003 id_11314361845815354347 sample=1 period=1 cycle=853 experiment=3 -SML null C21H47N2O3P null null null 407.336909566928 null null 610.321000000020035 null null null null null null -0.6094379124341 -0.6094379124341 0.0 null [M + H]+ C21H47N2O3P 5 1 0.0 nan nan -6.866255173155861 15 853003 id_11314361845815354347 sample=1 period=1 cycle=853 experiment=3 -SML null C23H45N5O2 null null null 424.36421074658 null null 610.321000000020035 null null null null null null 16.360336009476693 13.323939090246116 3.036396919230577 null [M + H]+ C23H45N5O2 1 3 1.0 -2.02082243405874 2.02082243405874 -0.922286801423198 16 853004 null sample=1 period=1 cycle=853 experiment=4 -SML null C21H47N5O2 null null null 424.36421074658 null null 610.321000000020035 null null null null null null 15.557883110117828 12.891398392500449 2.666484717617379 null [M + Na]+ C21H47N5O2 2 3 1.0 4.676218099959367 4.676218099959367 4.746636116883184 16 853004 null sample=1 period=1 cycle=853 experiment=4 -SML null C18H45N7O4 null null null 424.36421074658 null null 610.321000000020035 null null null null null null 13.30527333003349 11.888924919330686 1.416348410702804 null [M + H]+ C18H45N7O4 3 3 1.0 9.177881129536456 9.177881129536456 8.557211936042933 16 853004 null sample=1 period=1 cycle=853 experiment=4 -SML null C23H51N3O null null null 424.36421074658 null null 610.321000000020035 null null null null null null 12.771514754587351 12.771514754587351 0.0 null [M + K]+ C23H51N3O 4 3 1.0 -6.946040522841118 6.946040522841118 -5.091394268942456 16 853004 null sample=1 period=1 cycle=853 experiment=4 -SML null C26H49NOS null null null 424.36421074658 null null 610.321000000020035 null null null null null null 10.132608405464048 10.132608405464048 0.0 null [M + H]+ C26H49NOS 5 3 1.0 8.667693098170556 8.667693098170556 8.125347053567902 16 853004 null sample=1 period=1 cycle=853 experiment=4 -SML null C29H48O5 null null null 477.359824108717987 null null 610.321000000020035 null null null null null null 3.5 3.5 0.0 null [M + H]+ C29H48O5 1 1 0.0 nan nan 4.971136043797487 17 853006 null sample=1 period=1 cycle=853 experiment=6 -SML null C30H44N4O null null null 477.359824108717987 null null 610.321000000020035 null null null null null null 1.0 1.0 0.0 null [M + H]+ C30H44N4O 2 1 0.0 nan nan 2.169492645174178 17 853006 null sample=1 period=1 cycle=853 experiment=6 -SML null C22H46N8O2 null null null 477.359824108717987 null null 610.321000000020035 null null null null null null 1.0 1.0 0.0 null [M + Na]+ C22H46N8O2 3 1 0.0 nan nan -7.896147061695832 17 853006 null sample=1 period=1 cycle=853 experiment=6 -SML null C30H50N2 null null null 477.359824108717987 null null 610.321000000020035 null null null null null null 1.0 1.0 0.0 null [M + K]+ C30H50N2 4 1 0.0 nan nan -1.536768147366649 17 853006 null sample=1 period=1 cycle=853 experiment=6 -SML null C28H46N4O null null null 477.359824108717987 null null 610.321000000020035 null null null null null null 1.0 1.0 0.0 null [M + Na]+ C28H46N4O 5 1 0.0 nan nan 7.209062124030016 17 853006 null sample=1 period=1 cycle=853 experiment=6 -SML null C28H55N5O4 null null null 526.433168385886006 null null 610.321000000020035 null null null null null null 4.664451024197501 4.664451024197501 0.0 null [M + H]+ C28H55N5O4 1 2 1.0 -0.185106640567048 0.185106640567048 0.924512026720884 18 853007 null sample=1 period=1 cycle=853 experiment=7 -SML null C31H57N3O2 null null null 526.433168385886006 null null 610.321000000020035 null null null null null null 4.465054326527998 4.465054326527998 0.0 null [M + Na]+ C31H57N3O2 2 2 1.0 -4.382324994082867 4.382324994082867 -2.147239711496391 18 853007 null sample=1 period=1 cycle=853 experiment=7 -SML null C28H61N3O3 null null null 526.433168385886006 null null 610.321000000020035 null null null null null null 4.443127059637575 4.443127059637575 0.0 null [M + K]+ C28H61N3O3 3 2 1.0 -4.777235287494281 4.777235287494281 -2.436256454970705 18 853007 null sample=1 period=1 cycle=853 experiment=7 -SML null C24H51N11O2 null null null 526.433168385886006 null null 610.321000000020035 null null null null null null 4.031430063553028 4.031430063553028 0.0 null [M + H]+ C24H51N11O2 4 2 1.0 6.784945314878405 6.784945314878405 6.025573588342346 18 853007 null sample=1 period=1 cycle=853 experiment=7 -SML null C33H55N3O2 null null null 526.433168385886006 null null 610.321000000020035 null null null null null null 3.410773190818925 3.410773190818925 0.0 null [M + H]+ C33H55N3O2 5 2 1.0 -0.185106640567048 0.185106640567048 -6.717027757583233 18 853007 null sample=1 period=1 cycle=853 experiment=7 -SML null C39H58N2O null null null 571.461957504937004 null null 610.321000000020035 null null null null null null 5.6964974310191 5.6964974310191 0.0 null [M + H]+ C39H58N2O 1 2 1.0 3.656826308124427 3.656826308124427 -0.408466653955956 19 853008 null sample=1 period=1 cycle=853 experiment=8 -SML null C28H58N8O4 null null null 571.461957504937004 null null 610.321000000020035 null null null null null null 5.62840242494866 5.62840242494866 0.0 null [M + H]+ C28H58N8O4 2 2 1.0 -4.907313010428966 4.907313010428966 -5.986895730548056 19 853008 null sample=1 period=1 cycle=853 experiment=8 -SML null C30H64N2O6 null null null 571.461957504937004 null null 610.321000000020035 null null null null null null 5.584753082732667 5.584753082732667 0.0 null [M + Na]+ C30H64N2O6 3 2 1.0 -5.658669244440071 5.658669244440071 -6.476307136286811 19 853008 null sample=1 period=1 cycle=853 experiment=8 -SML null C31H60N6O2 null null null 571.461957504937004 null null 610.321000000020035 null null null null null null 5.346531681460649 5.346531681460649 0.0 null [M + Na]+ C31H60N6O2 4 2 1.0 -9.251553314556515 9.251553314556515 -8.816606402788064 19 853008 null sample=1 period=1 cycle=853 experiment=8 -SML null C34H64N2O2 null null null 571.461957504937004 null null 610.321000000020035 null null null null null null 5.312451603507744 5.312451603507744 0.0 null [M + K]+ C34H64N2O2 5 2 1.0 9.710928596028868 9.710928596028868 3.534997946771918 19 853008 null sample=1 period=1 cycle=853 experiment=8 -SML null C14H20N10O7 null null null 463.137250632743985 null null 611.281000000019958 null null null null null null 4.433299582513639 4.433299582513639 0.0 null [M + Na]+ C14H20N10O7 1 2 1.0 -0.095698217001917 0.095698217001917 -7.801245401067781 21 854008 null sample=1 period=1 cycle=854 experiment=8 -SML null C23H20N8O null null null 463.137250632743985 null null 611.281000000019958 null null null null null null 4.203144319892965 4.203144319892965 0.0 null [M + K]+ C23H20N8O 2 2 1.0 4.869849748235222 4.869849748235222 -4.134254681277326 21 854008 null sample=1 period=1 cycle=854 experiment=8 -SML null C17H21FN6O7 null null null 463.137250632743985 null null 611.281000000019958 null null null null null null 4.10008145003479 4.10008145003479 0.0 null [M + Na]+ C17H21FN6O7 3 2 1.0 -0.095698217001917 0.095698217001917 5.300158106706689 21 854008 null sample=1 period=1 cycle=854 experiment=8 -SML null C26H18F2N4O null null null 463.137250632743985 null null 611.281000000019958 null null null null null null 4.018863224707272 4.018863224707272 0.0 null [M + Na]+ C26H18F2N4O 4 2 1.0 1.973170946666671 1.973170946666671 6.827990297000041 21 854008 null sample=1 period=1 cycle=854 experiment=8 -SML null C27H18N4O4 null null null 463.137250632743985 null null 611.281000000019958 null null null null null null 3.978205630617731 3.978205630617731 0.0 null [M + H]+ C27H18N4O4 5 2 1.0 -1.719050436694018 1.719050436694018 -6.112389669971726 21 854008 null sample=1 period=1 cycle=854 experiment=8 -SML null C21H41N3O12 null null null 566.228477510303037 null null 612.240000000000009 null null null null null null 4.757722501877893 4.757722501877893 0.0 null [M + K]+ C21H41N3O12 1 2 0.436619718309859 -2.2396451687519 2.2396451687519 -6.542132610342606 23 855004 null sample=1 period=1 cycle=855 experiment=4 -SML null C25H41N3O7S null null null 566.228477510303037 null null 612.240000000000009 null null null null null null 2.818482604517081 2.818482604517081 0.0 null [M + K]+ C25H41N3O7S 2 2 0.436619718309859 -2.806574118444672 2.806574118444672 -2.12324500664853 23 855004 null sample=1 period=1 cycle=855 experiment=4 -SML null C23H39N5O6P2 null null null 566.228477510303037 null null 612.240000000000009 null null null null null null 2.714244195568615 2.714244195568615 0.0 null [M + Na]+ C23H39N5O6P2 3 2 0.436619718309859 2.159947224077912 2.159947224077912 3.001583777574164 23 855004 null sample=1 period=1 cycle=855 experiment=4 -SML null C26H39N5O3S3 null null null 566.228477510303037 null null 612.240000000000009 null null null null null null 2.610241809429429 2.610241809429429 0.0 null [M + H]+ C26H39N5O3S3 4 2 0.436619718309859 -4.216098575435073 4.216098575435073 -0.533441533719245 23 855004 null sample=1 period=1 cycle=855 experiment=4 -SML null C26H37N7O3S null null null 566.228477510303037 null null 612.240000000000009 null null null null null null 2.536127191759609 2.536127191759609 0.0 null [M + K]+ C26H37N7O3S 5 2 0.436619718309859 -2.806574118444672 2.806574118444672 -4.485174957569314 23 855004 null sample=1 period=1 cycle=855 experiment=4 -SML null C33H53F null null null 507.377802577316004 null null 613.204999999980032 null null null null null null 7.417801407987388 7.417801407987388 0.0 null [M + K]+ C33H53F 1 2 1.0 1.785705379151822 1.785705379151822 2.985075850321597 26 856004 null sample=1 period=1 cycle=856 experiment=4 -SML null C30H54F2O null null null 507.377802577316004 null null 613.204999999980032 null null null null null null 6.89251885074948 6.89251885074948 0.0 null [M + K]+ C30H54F2O 2 2 1.0 -0.786499536769732 0.786499536769732 0.732568952817685 26 856004 null sample=1 period=1 cycle=856 experiment=4 -SML null C30H51F3O null null null 507.377802577316004 null null 613.204999999980032 null null null null null null 6.789598477570672 6.789598477570672 0.0 null [M + Na]+ C30H51F3O 3 2 1.0 -3.016272550100096 3.016272550100096 -1.220066726130651 26 856004 null sample=1 period=1 cycle=856 experiment=4 -SML null C33H47FN2O null null null 507.377802577316004 null null 613.204999999980032 null null null null null null 6.638628410173594 6.638628410173594 0.0 null [M + H]+ C33H47FN2O 4 2 1.0 5.767600448446966 5.767600448446966 6.472063241258406 26 856004 null sample=1 period=1 cycle=856 experiment=4 -SML null C32H52O3 null null null 507.377802577316004 null null 613.204999999980032 null null null null null null 3.5 3.5 0.0 null [M + Na]+ C32H52O3 5 1 0.0 nan nan -6.038196308384239 26 856004 null sample=1 period=1 cycle=856 experiment=4 -SML null C10H12O5 null null null 213.074829537142989 null null 614.173999999979969 null null null null null null 3.5 3.5 0.0 null [M + H]+ C10H12O5 1 1 0.0 nan nan -4.319604288913501 28 857003 null sample=1 period=1 cycle=857 experiment=3 -SML null C8H14O5 null null null 213.074829537142989 null null 614.173999999979969 null null null null null null 3.5 3.5 0.0 null [M + Na]+ C8H14O5 2 1 0.0 nan nan 6.970739132860442 28 857003 null sample=1 period=1 cycle=857 experiment=3 -SML null C6H8N6O3 null null null 213.074829537142989 null null 614.173999999979969 null null null null null null 1.0 1.0 0.0 null [M + H]+ C6H8N6O3 3 1 0.0 nan nan 8.28332964678035 28 857003 null sample=1 period=1 cycle=857 experiment=3 -SML null C9H10N4O null null null 213.074829537142989 null null 614.173999999979969 null null null null null null 1.0 1.0 0.0 null [M + Na]+ C9H10N4O 4 1 0.0 nan nan 0.694108509974577 28 857003 null sample=1 period=1 cycle=857 experiment=3 -SML null C6H14N4O2 null null null 213.074829537142989 null null 614.173999999979969 null null null null null null 1.0 1.0 0.0 null [M + K]+ C6H14N4O2 5 1 0.0 nan nan -0.019950491336188 28 857003 null sample=1 period=1 cycle=857 experiment=3 -SML null C11H15N2O9P null null null 373.040157682534982 null null 614.173999999979969 null null null null null null 23.830222282750416 23.830222282750416 0.0 null [M + Na]+ C11H15N2O9P 1 6 0.889909025895723 1.305298961381369 3.823427075478538 -1.554008445412062 29 857004 null sample=1 period=1 cycle=857 experiment=4 -SML null C12H19N2O4PS2 null null null 373.040157682534982 null null 614.173999999979969 null null null null null null 23.720375409778153 23.720375409778153 0.0 null [M + Na]+ C12H19N2O4PS2 2 9 0.940559246410657 5.456786647266265 6.842002799677939 -3.883591419560776 29 857004 null sample=1 period=1 cycle=857 experiment=4 -SML null C10H16N4O6P2 null null null 373.040157682534982 null null 614.173999999979969 null null null null null null 22.520973985256017 22.520973985256017 0.0 null [M + Na]+ C10H16N4O6P2 3 9 0.926745549906584 -4.234678553446738 4.234678553446738 -9.571381209189909 29 857004 null sample=1 period=1 cycle=857 experiment=4 -SML null C15H14N2O7 null null null 373.040157682534982 null null 614.173999999979969 null null null null null null 21.347779179714465 21.347779179714465 0.0 null [M + K]+ C15H14N2O7 4 5 0.5973656310428 0.101135136223425 1.746036431220398 -8.313328985286178 29 857004 null sample=1 period=1 cycle=857 experiment=4 -SML null C9H15N6O6P null null null 373.040157682534982 null null 614.173999999979969 null null null null null null 20.840561892315421 20.840561892315421 0.0 null [M + K]+ C9H15N6O6P 5 6 0.871490763890292 2.930105624214754 4.192444264217398 -5.546983382149036 29 857004 null sample=1 period=1 cycle=857 experiment=4 -SML null C20H37NO6 null null null 388.269335994209996 null null 614.173999999979969 null null null null null null 1.0 1.0 0.0 null [M + H]+ C20H37NO6 1 1 0.0 nan nan -0.073046923786965 30 857005 null sample=1 period=1 cycle=857 experiment=5 -SML null C19H35N5O2 null null null 388.269335994209996 null null 614.173999999979969 null null null null null null 1.0 1.0 0.0 null [M + Na]+ C19H35N5O2 2 1 0.0 nan nan 2.67838333606761 30 857005 null sample=1 period=1 cycle=857 experiment=5 -SML null C24H35N3 null null null 388.269335994209996 null null 614.173999999979969 null null null null null null 1.0 1.0 0.0 null [M + Na]+ C24H35N3 3 1 0.0 nan nan -7.682362741644806 30 857005 null sample=1 period=1 cycle=857 experiment=5 -SML null C21H33N5O2 null null null 388.269335994209996 null null 614.173999999979969 null null null null null null 1.0 1.0 0.0 null [M + H]+ C21H33N5O2 4 1 0.0 nan nan -3.517542473654744 30 857005 null sample=1 period=1 cycle=857 experiment=5 -SML null C16H33N7O4 null null null 388.269335994209996 null null 614.173999999979969 null null null null null null 1.0 1.0 0.0 null [M + H]+ C16H33N7O4 5 1 0.0 nan nan 6.843203604057673 30 857005 null sample=1 period=1 cycle=857 experiment=5 -SML null C26H51N5O3 null null null 482.403087306262989 null null 614.173999999979969 null null null null null null 6.5874834862548 6.5874834862548 0.0 null [M + H]+ C26H51N5O3 1 2 1.0 -6.616351530168046 6.616351530168046 -7.005837890510965 31 857007 null sample=1 period=1 cycle=857 experiment=7 -SML null C27H47BN6O null null null 482.403087306262989 null null 614.173999999979969 null null null null null null 4.765887509073973 4.765887509073973 0.0 null [M + H]+ C27H47BN6O 2 2 1.0 2.29709022075677 2.29709022075677 3.604309794474105 31 857007 null sample=1 period=1 cycle=857 experiment=7 -SML null C29H52FNO3 null null null 482.403087306262989 null null 614.173999999979969 null null null null null null 3.068738849958652 3.068738849958652 0.0 null [M + H]+ C29H52FNO3 3 2 1.0 -6.616351530168046 6.616351530168046 5.572332025239653 31 857007 null sample=1 period=1 cycle=857 experiment=7 -SML null C26H51BN2O5 null null null 482.403087306262989 null null 614.173999999979969 null null null null null null 2.747610168438948 2.747610168438948 0.0 null [M + H]+ C26H51BN2O5 4 2 1.0 -6.616351530168046 6.616351530168046 6.376663527635651 31 857007 null sample=1 period=1 cycle=857 experiment=7 -SML null C32H51NO2 null null null 482.403087306262989 null null 614.173999999979969 null null null null null null 1.0 1.0 0.0 null [M + H]+ C32H51NO2 5 1 0.0 nan nan 7.941454508115075 31 857007 null sample=1 period=1 cycle=857 experiment=7 -SML null C34H55NO3 null null null 526.429648899930044 null null 614.173999999979969 null null null null null null 9.809958490774431 9.809958490774431 0.0 null [M + H]+ C34H55NO3 1 3 0.8 6.462990336347634 6.462990336347634 7.936156043317339 32 857008 null sample=1 period=1 cycle=857 experiment=8 -SML null C30H57N5 null null null 526.429648899930044 null null 614.173999999979969 null null null null null null 9.033932158913366 9.033932158913366 0.0 null [M + K]+ C30H57N5 2 3 0.8 7.019507994789919 7.019507994789919 9.676460758110611 32 857008 null sample=1 period=1 cycle=857 experiment=8 -SML null C24H51N11O2 null null null 526.429648899930044 null null 614.173999999979969 null null null null null null 8.538047571343183 8.538047571343183 0.0 null [M + H]+ C24H51N11O2 3 3 0.8 -6.119422254982977 6.119422254982977 -0.659963133222153 32 857008 null sample=1 period=1 cycle=857 experiment=8 -SML null C27H53N9 null null null 526.429648899930044 null null 614.173999999979969 null null null null null null 8.197651351338704 8.197651351338704 0.0 null [M + Na]+ C27H53N9 4 2 0.6 -9.999476041150038 9.999476041150038 -3.731735407872217 32 857008 null sample=1 period=1 cycle=857 experiment=8 -SML null C31H59NO3S null null null 526.429648899930044 null null 614.173999999979969 null null null null null null 6.85711312302807 6.85711312302807 0.0 null [M + H]+ C31H59NO3S 5 3 0.8 -2.910393376606797 2.910393376606797 1.532398186838836 32 857008 null sample=1 period=1 cycle=857 experiment=8 -SML null C18H20O11 null null null 413.109579675280997 null null 616.093999999980042 null null null null null null 14.292209193029343 14.292209193029343 0.0 null [M + H]+ C18H20O11 1 6 0.775725593667546 3.924054898021201 3.924054898021201 4.216225612186144 35 859003 null sample=1 period=1 cycle=859 experiment=3 -SML null C19H22N2O6 null null null 413.109579675280997 null null 616.093999999980042 null null null null null null 12.819162190706074 12.819162190706074 0.0 null [M + K]+ C19H22N2O6 2 6 0.815303430079156 -0.131482556141338 2.714312399532566 -3.303842071539723 35 859003 null sample=1 period=1 cycle=859 experiment=3 -SML null C15H24O11S null null null 413.109579675280997 null null 616.093999999980042 null null null null null null 12.660029038223566 12.660029038223566 0.0 null [M + H]+ C15H24O11S 3 7 0.973614775725594 1.195942585932246 1.195942585932246 -3.944146758447272 35 859003 null sample=1 period=1 cycle=859 experiment=3 -SML null C13H23N6O5P null null null 413.109579675280997 null null 616.093999999980042 null null null null null null 12.324032812961905 12.324032812961905 0.0 null [M + K]+ C13H23N6O5P 4 7 0.973614775725594 0.274940520665822 5.923487618807297 -0.80581721151837 35 859003 null sample=1 period=1 cycle=859 experiment=3 -SML null C16H28O6S3 null null null 413.109579675280997 null null 616.093999999980042 null null null null null null 12.072418633913491 12.072418633913491 0.0 null [M + H]+ C16H28O6S3 5 7 0.973614775725594 -1.345352660301492 2.798781926730509 -6.047772630740976 35 859003 null sample=1 period=1 cycle=859 experiment=3 -SML null C28H53N5O5 null null null 540.409335498831979 null null 616.093999999980042 null null null null null null 8.562201213966528 8.562201213966528 0.0 null [M + H]+ C28H53N5O5 1 3 1.0 0.193050989235034 2.159177666783332 -4.831058767989835 36 859005 null sample=1 period=1 cycle=859 experiment=5 -SML null C26H55N5O5 null null null 540.409335498831979 null null 616.093999999980042 null null null null null null 7.983537782900839 7.983537782900839 0.0 null [M + Na]+ C26H55N5O5 2 3 1.0 7.137682449104624 7.137682449104624 -0.379455433393772 36 859005 null sample=1 period=1 cycle=859 experiment=5 -SML null C24H55N9O2 null null null 540.409335498831979 null null 616.093999999980042 null null null null null null 7.693823911659977 7.693823911659977 0.0 null [M + K]+ C24H55N9O2 3 3 1.0 2.837745655618497 2.837745655618497 -3.135773472553824 36 859005 null sample=1 period=1 cycle=859 experiment=5 -SML null C31H55N3O3 null null null 540.409335498831979 null null 616.093999999980042 null null null null null null 6.275805859763853 6.275805859763853 0.0 null [M + Na]+ C31H55N3O3 4 3 1.0 1.689763660980973 3.717451743960798 -7.82336828934907 36 859005 null sample=1 period=1 cycle=859 experiment=5 -SML null C27H57NO9 null null null 540.409335498831979 null null 616.093999999980042 null null null null null null 5.860735133057289 5.860735133057289 0.0 null [M + H]+ C27H57NO9 5 3 1.0 6.111411465722526 6.111411465722526 -2.356282867333573 36 859005 null sample=1 period=1 cycle=859 experiment=5 -SML null C21H41N3O12 null null null 566.23013795246402 null null 616.093999999980042 null null null null null null 4.365315043688498 4.365315043688498 0.0 null [M + K]+ C21H41N3O12 1 2 0.451127819548872 -6.763028731463948 6.763028731463948 -3.609662378680514 37 859006 null sample=1 period=1 cycle=859 experiment=6 -SML null C25H41N3O7S null null null 566.23013795246402 null null 616.093999999980042 null null null null null null 2.632316674128045 2.632316674128045 0.0 null [M + K]+ C25H41N3O7S 2 2 0.451127819548872 1.552130240029961 1.552130240029961 0.809212266841981 37 859006 null sample=1 period=1 cycle=859 experiment=6 -SML null C26H39N5O3S3 null null null 566.23013795246402 null null 616.093999999980042 null null null null null null 2.453266835792515 2.453266835792515 0.0 null [M + H]+ C26H39N5O3S3 3 2 0.451127819548872 0.081608948509376 0.081608948509376 2.399011077750407 37 859006 null sample=1 period=1 cycle=859 experiment=6 -SML null C25H41N3O6S2 null null null 566.23013795246402 null null 616.093999999980042 null null null null null null 2.187912946765366 2.187912946765366 0.0 null [M + Na]+ C25H41N3O6S2 4 2 0.451127819548872 -9.14541599163535 9.14541599163535 -4.875720032185424 37 859006 null sample=1 period=1 cycle=859 experiment=6 -SML null C29H41N3O2S2 null null null 566.23013795246402 null null 616.093999999980042 null null null null null null 2.134286094595516 2.134286094595516 0.0 null [M + K]+ C29H41N3O2S2 5 2 0.451127819548872 9.867289211334963 9.867289211334963 5.228086911962921 37 859006 null sample=1 period=1 cycle=859 experiment=6 -SML null C9H12O12 null null null 313.039838679245008 null null 617.057999999999993 null null null null null null 3.416839087745155 3.416839087745155 0.0 null [M + H]+ C9H12O12 1 1 0.0 -1.001779348035562 1.001779348035562 -1.001779348035562 39 860003 id_13016335405471045766 sample=1 period=1 cycle=860 experiment=3|sample=1 period=1 cycle=861 experiment=2 -SML null C10H8N4O8 null null null 313.039838679245008 null null 617.057999999999993 null null null null null null 0.485688527015936 0.485688527015936 0.0 null [M + H]+ C10H8N4O8 2 1 0.0 -5.274053463948874 5.274053463948874 -5.274053463948874 39 860003 id_13016335405471045766 sample=1 period=1 cycle=860 experiment=3|sample=1 period=1 cycle=861 experiment=2 -SML null C6H4N10O6 null null null 313.039838679245008 null null 617.057999999999993 null null null null null null -0.550207731913414 -0.550207731913414 0.0 null [M + H]+ C6H4N10O6 3 1 0.0 3.304305160773628 3.304305160773628 3.304305160773628 39 860003 id_13016335405471045766 sample=1 period=1 cycle=860 experiment=3|sample=1 period=1 cycle=861 experiment=2 -SML null C14H5F5N2O null null null 313.039838679245008 null null 617.057999999999993 null null null null null null -0.704999285604162 -0.704999285604162 0.0 null [M + H]+ C14H5F5N2O 4 1 0.0 1.144733385968608 1.144733385968608 1.144733385968608 39 860003 id_13016335405471045766 sample=1 period=1 cycle=860 experiment=3|sample=1 period=1 cycle=861 experiment=2 -SML null C9H17BrN2O5 null null null 313.039838679245008 null null 617.057999999999993 null null null null null null -0.738958931047442 -0.738958931047442 0.0 null [M + H]+ C9H17BrN2O5 5 1 0.0 1.528505625537048 1.528505625537048 1.528505625537048 39 860003 id_13016335405471045766 sample=1 period=1 cycle=860 experiment=3|sample=1 period=1 cycle=861 experiment=2 -SML null C21H24Cl2O4 null null null 411.113111072311028 null null 618.022000000019943 null null null null null null 7.356107435210711 7.356107435210711 0.0 null [M + H]+ C21H24Cl2O4 1 2 1.0 1.228960718579289 1.228960718579289 1.629751526893702 40 860005 id_2653120127184275567 sample=1 period=1 cycle=860 experiment=5 -SML null C23H25N3O7 null null null 456.172639883827003 null null 617.057999999999993 null null null null null null 6.422696285145079 6.422696285145079 0.0 null [M + H]+ C23H25N3O7 1 2 1.0 -1.295755987703123 1.295755987703123 -8.520257296786948 41 860007 null sample=1 period=1 cycle=860 experiment=7 -SML null C19H27N7O4 null null null 456.172639883827003 null null 617.057999999999993 null null null null null null 6.407730581647435 6.407730581647435 0.0 null [M + K]+ C19H27N7O4 2 2 1.0 1.630812676522861 1.630812676522861 -6.511921153966824 41 860007 null sample=1 period=1 cycle=860 experiment=7 -SML null C22H23N7O3 null null null 456.172639883827003 null null 617.057999999999993 null null null null null null 6.385351595915552 6.385351595915552 0.0 null [M + Na]+ C22H23N7O3 3 2 1.0 2.116838481366128 2.116838481366128 -6.178389533082018 41 860007 null sample=1 period=1 cycle=860 experiment=7 -SML null C18H31N3O8 null null null 456.172639883827003 null null 617.057999999999993 null null null null null null 6.182696599929702 6.182696599929702 0.0 null [M + K]+ C18H31N3O8 4 2 1.0 5.903014895754728 5.903014895754728 -3.580153917065536 41 860007 null sample=1 period=1 cycle=860 experiment=7 -SML null C21H27N3O7 null null null 456.172639883827003 null null 617.057999999999993 null null null null null null 6.15290396912128 6.15290396912128 0.0 null [M + Na]+ C21H27N3O7 5 2 1.0 6.389040700779578 6.389040700779578 -3.24662229618073 41 860007 null sample=1 period=1 cycle=860 experiment=7 -SML null C26H51N5O3 null null null 482.407140340066974 null null 617.057999999999993 null null null null null null 10.722442608007905 10.722442608007905 0.0 null [M + H]+ C26H51N5O3 1 2 1.0 1.546558632641359 1.546558632641359 1.395907979222642 42 860008 null sample=1 period=1 cycle=860 experiment=8 -SML null C29H53N3O null null null 482.407140340066974 null null 617.057999999999993 null null null null null null 10.67492997195748 10.67492997195748 0.0 null [M + Na]+ C29H53N3O 2 2 1.0 -2.56474925847262 2.56474925847262 -1.956181707608681 42 860008 null sample=1 period=1 cycle=860 experiment=8 -SML null C26H57N3O2 null null null 482.407140340066974 null null 617.057999999999993 null null null null null null 10.655948784217028 10.655948784217028 0.0 null [M + K]+ C26H57N3O2 3 2 1.0 -2.951576358907952 2.951576358907952 -2.271575049285469 42 860008 null sample=1 period=1 cycle=860 experiment=8 -SML null C31H51N3O null null null 482.407140340066974 null null 617.057999999999993 null null null null null null 10.311194139199582 10.311194139199582 0.0 null [M + H]+ C31H51N3O 4 2 1.0 -8.68106569835628 8.68106569835628 -6.943023316782265 42 860008 null sample=1 period=1 cycle=860 experiment=8 -SML null C27H58NO2P null null null 482.407140340066974 null null 617.057999999999993 null null null null null null 8.425039657384723 8.425039657384723 0.0 null [M + Na]+ C27H58NO2P 5 2 1.0 -6.768444319897811 6.768444319897811 -5.383597808681453 42 860008 null sample=1 period=1 cycle=860 experiment=8 -SML null C17H29NO13 null null null 456.171915734524987 null null 618.022000000019943 null null null null null null 8.35428234420319 8.35428234420319 0.0 null [M + H]+ C17H29NO13 1 2 1.0 -2.737109915480619 2.737109915480619 1.642570286795827 45 861003 null sample=1 period=1 cycle=861 experiment=3 -SML null C30H27NO null null null 456.171915734524987 null null 618.022000000019943 null null null null null null 8.128871768552493 8.128871768552493 0.0 null [M + K]+ C30H27NO 2 2 1.0 -6.749845754940504 6.749845754940504 -1.111093313913604 45 861003 null sample=1 period=1 cycle=861 experiment=3 -SML null C16H27N5O9 null null null 456.171915734524987 null null 618.022000000019943 null null null null null null 7.878749637401727 7.878749637401727 0.0 null [M + Na]+ C16H27N5O9 3 2 1.0 0.675547905901619 0.675547905901619 3.984441768094603 45 861003 null sample=1 period=1 cycle=861 experiment=3 -SML null C30H21N3O2 null null null 456.171915734524987 null null 618.022000000019943 null null null null null null 7.860681497085573 7.860681497085573 0.0 null [M + H]+ C30H21N3O2 4 2 1.0 -1.098095237589822 1.098095237589822 2.767312916164582 45 861003 null sample=1 period=1 cycle=861 experiment=3 -SML null C17H23N9O5 null null null 456.171915734524987 null null 618.022000000019943 null null null null null null 7.741548584132127 7.741548584132127 0.0 null [M + Na]+ C17H23N9O5 5 2 1.0 -3.596733623812131 3.596733623812131 1.052669877164592 45 861003 null sample=1 period=1 cycle=861 experiment=3 -SML null C36H52O6 null null null 603.36131248038896 null null 618.022000000019943 null null null null null null 3.852665756920889 3.852665756920889 0.0 null [M + Na]+ C36H52O6 1 2 0.714285714285714 0.014735963563312 0.014735963563312 -7.122769744442348 46 861005 null sample=1 period=1 cycle=861 experiment=5 -SML null C33H56O7 null null null 603.36131248038896 null null 618.022000000019943 null null null null null null 3.833773864756204 3.833773864756204 0.0 null [M + K]+ C33H56O7 2 2 0.714285714285714 -0.479087656043326 0.479087656043326 -7.37493705586356 46 861005 null sample=1 period=1 cycle=861 experiment=5 -SML null C40H52O2 null null null 603.36131248038896 null null 618.022000000019943 null null null null null null 3.5 3.5 0.0 null [M + K]+ C40H52O2 3 1 0.0 nan nan 2.35924357262763 46 861005 null sample=1 period=1 cycle=861 experiment=5 -SML null C45H46O null null null 603.36131248038896 null null 618.022000000019943 null null null null null null 3.5 3.5 0.0 null [M + H]+ C45H46O 4 1 0.0 nan nan -1.37573239197173 46 861005 null sample=1 period=1 cycle=861 experiment=5 -SML null C43H48O null null null 603.36131248038896 null null 618.022000000019943 null null null null null null 3.5 3.5 0.0 null [M + Na]+ C43H48O 5 1 0.0 nan nan 2.611410884048842 46 861005 null sample=1 period=1 cycle=861 experiment=5 -SML null C29H51N3O5 null null null 522.38651805643201 null null 618.982999999980052 null null null null null null 1.0 1.0 0.0 null [M + H]+ C29H51N3O5 1 1 0.0 nan nan -6.949122025670161 48 862004 null sample=1 period=1 cycle=862 experiment=4 -SML null C36H47N3 null null null 522.38651805643201 null null 618.982999999980052 null null null null null null 1.0 1.0 0.0 null [M + H]+ C36H47N3 2 1 0.0 nan nan 4.293947611526791 48 862004 null sample=1 period=1 cycle=862 experiment=4 -SML null C30H47N7O null null null 522.38651805643201 null null 618.982999999980052 null null null null null null 1.0 1.0 0.0 null [M + H]+ C30H47N7O 3 1 0.0 nan nan -9.509279981043925 48 862004 null sample=1 period=1 cycle=862 experiment=4 -SML null C31H53N3O null null null 522.38651805643201 null null 618.982999999980052 null null null null null null 1.0 1.0 0.0 null [M + K]+ C31H53N3O 4 1 0.0 nan nan 8.607879771097275 48 862004 null sample=1 period=1 cycle=862 experiment=4 -SML null C25H47N9O3 null null null 522.38651805643201 null null 618.982999999980052 null null null null null null 1.0 1.0 0.0 null [M + H]+ C25H47N9O3 5 1 0.0 nan nan -1.808545255031244 48 862004 null sample=1 period=1 cycle=862 experiment=4 -SML null C32H43N9O3 null null null 602.355320245104963 null null 618.982999999980052 null null null null null null 6.955514843428635 6.955514843428635 0.0 null [M + H]+ C32H43N9O3 1 2 0.552501381197249 -1.918108645384416 1.918108645384416 -1.398581463893163 49 862006 null sample=1 period=1 cycle=862 experiment=6 -SML null C27H49N9O4 null null null 602.355320245104963 null null 618.982999999980052 null null null null null null 6.773744877209534 6.773744877209534 0.0 null [M + K]+ C27H49N9O4 2 2 0.552501381197249 5.396148465222392 5.396148465222392 2.34263227547646 49 862006 null sample=1 period=1 cycle=862 experiment=6 -SML null C30H45N9O3 null null null 602.355320245104963 null null 618.982999999980052 null null null null null null 6.744400283004429 6.744400283004429 0.0 null [M + Na]+ C30H45N9O3 3 2 0.552501381197249 5.88997133554043 5.88997133554043 2.595220730944644 49 862006 null sample=1 period=1 cycle=862 experiment=6 -SML null C35H45N7O null null null 602.355320245104963 null null 618.982999999980052 null null null null null null 6.664303873031611 6.664303873031611 0.0 null [M + Na]+ C35H45N7O 4 2 0.552501381197249 -7.166597855441706 7.166597855441706 -4.083163048374841 49 862006 null sample=1 period=1 cycle=862 experiment=6 -SML null C32H49N7O2 null null null 602.355320245104963 null null 618.982999999980052 null null null null null null 6.631658587354478 6.631658587354478 0.0 null [M + K]+ C32H49N7O2 5 2 0.552501381197249 -7.660420725759744 7.660420725759744 -4.335751503654287 49 862006 null sample=1 period=1 cycle=862 experiment=6 diff --git a/src/tests/topp/THIRDPARTY/proteins.cnlcp b/src/tests/topp/THIRDPARTY/proteins.cnlcp index 851fcb3ce4c..44ffe0b021a 100644 Binary files a/src/tests/topp/THIRDPARTY/proteins.cnlcp and b/src/tests/topp/THIRDPARTY/proteins.cnlcp differ diff --git a/src/tests/topp/THIRDPARTY/proteins.csarr b/src/tests/topp/THIRDPARTY/proteins.csarr index 8b6af9f4732..a4ae7fea76f 100644 Binary files a/src/tests/topp/THIRDPARTY/proteins.csarr and b/src/tests/topp/THIRDPARTY/proteins.csarr differ diff --git a/src/tests/topp/THIRDPARTY/proteins.cseq b/src/tests/topp/THIRDPARTY/proteins.cseq index 2abc63cff37..bc1e3147083 100644 Binary files a/src/tests/topp/THIRDPARTY/proteins.cseq and b/src/tests/topp/THIRDPARTY/proteins.cseq differ diff --git a/src/tests/topp/THIRDPARTY/third_party_tests.cmake b/src/tests/topp/THIRDPARTY/third_party_tests.cmake index 2ba39b0cdf0..85cd1ea65c9 100644 --- a/src/tests/topp/THIRDPARTY/third_party_tests.cmake +++ b/src/tests/topp/THIRDPARTY/third_party_tests.cmake @@ -68,11 +68,6 @@ OPENMS_FINDBINARY(MSFRAGGER_BINARY "MSFragger.jar" "MSFragger") # percolator OPENMS_FINDBINARY(PERCOLATOR_BINARY "percolator" "Percolator") -#------------------------------------------------------------------------------ -# Sirius - -OPENMS_FINDBINARY(SIRIUS_BINARY "sirius;sirius.app;sirius.bat;sirius.exe" "Sirius") - #------------------------------------------------------------------------------ # Novor OPENMS_FINDBINARY(NOVOR_BINARY "novor.jar" "Novor") @@ -253,107 +248,6 @@ if (WITH_THERMORAWFILEPARSER_TEST) endif() endif() -#------------------------------------------------------------------------------ -if (NOT (${SIRIUS_BINARY} STREQUAL "SIRIUS_BINARY-NOTFOUND")) - # Note: Following test are performed without adduct/id information, since these are obtained by the MetaboliteAdductDecharger/AccurateMassSearch - if (ENABLE_SIRIUS_TEST) - # add dependencies for one test at a time to reduce memory and cpu consumption - - # test mzMl as input - # test internal .ms output (converter mode) - add_test("TOPP_SiriusAdapter_5" ${TOPP_BIN_PATH}/SiriusAdapter -test -sirius_executable "${SIRIUS_BINARY}" -in ${DATA_DIR_TOPP}/THIRDPARTY/SiriusAdapter_3_input.mzML -in_featureinfo ${DATA_DIR_TOPP}/THIRDPARTY/SiriusAdapter_3_input.featureXML -out_ms SiriusAdapter_5_output.tmp.ms -converter_mode -read_sirius_stdout) - add_test("TOPP_SiriusAdapter_5_out" ${DIFF} -in1 SiriusAdapter_5_output.tmp.ms -in2 ${DATA_DIR_TOPP}/THIRDPARTY/SiriusAdapter_5_output.ms) - set_tests_properties("TOPP_SiriusAdapter_5" PROPERTIES DEPENDS "TOPP_SiriusAdapter_3") - set_tests_properties("TOPP_SiriusAdapter_5_out" PROPERTIES DEPENDS "TOPP_SiriusAdapter_5") - # test internal .ms output negative - add_test("TOPP_SiriusAdapter_6" ${TOPP_BIN_PATH}/SiriusAdapter -test -sirius_executable "${SIRIUS_BINARY}" -in ${DATA_DIR_TOPP}/THIRDPARTY/SiriusAdapter_4_input.mzML -in_featureinfo ${DATA_DIR_TOPP}/THIRDPARTY/SiriusAdapter_4_input.featureXML -out_ms SiriusAdapter_6_output.tmp.ms -converter_mode -read_sirius_stdout) - add_test("TOPP_SiriusAdapter_6_out" ${DIFF} -in1 SiriusAdapter_6_output.tmp.ms -in2 ${DATA_DIR_TOPP}/THIRDPARTY/SiriusAdapter_6_output.ms) - set_tests_properties("TOPP_SiriusAdapter_6" PROPERTIES DEPENDS "TOPP_SiriusAdapter_5") - set_tests_properties("TOPP_SiriusAdapter_6_out" PROPERTIES DEPENDS "TOPP_SiriusAdapter_6") - # test internal .ms using assigned ms2 - - # use AccurateMassSearch data - #add_test("TOPP_AssayGeneratorMetabo_7" ${TOPP_BIN_PATH}/AssayGeneratorMetabo -test -sirius_executable "${SIRIUS_BINARY}" -in ${DATA_DIR_TOPP}/AssayGeneratorMetabo_input.mzML -in_id ${DATA_DIR_TOPP}/AssayGeneratorMetabo_ams_input.featureXML -out AssayGeneratorMetabo_ams_sirius_output.tmp.tsv -fragment_annotation sirius -use_exact_mass -transition_threshold 3.0 -min_transitions 2 -max_transitions 3 -preprocessing:filter_by_num_masstraces 1 -preprocessing:precursor_mz_tolerance 10 -preprocessing:precursor_mz_tolerance_unit ppm -preprocessing:feature_only -sirius:profile qtof -sirius:compound_timeout 100) - #add_test("TOPP_AssayGeneratorMetabo_7_out1" ${DIFF} -in1 AssayGeneratorMetabo_ams_sirius_output.tmp.tsv -in2 ${DATA_DIR_TOPP}/AssayGeneratorMetabo_ams_sirius_output.tsv) - #set_tests_properties("TOPP_AssayGeneratorMetabo_7_out1" PROPERTIES DEPENDS "TOPP_AssayGeneratorMetabo_7") - - # use AccurateMassSearch data - #add_test("TOPP_AssayGeneratorMetabo_8" ${TOPP_BIN_PATH}/AssayGeneratorMetabo -test -sirius_executable "${SIRIUS_BINARY}" -in ${DATA_DIR_TOPP}/AssayGeneratorMetabo_input.mzML -in_id ${DATA_DIR_TOPP}/AssayGeneratorMetabo_ams_input.featureXML -out AssayGeneratorMetabo_ams_sirius_ukn_output.tmp.tsv -fragment_annotation sirius -use_exact_mass -transition_threshold 3.0 -min_transitions 2 -max_transitions 3 -preprocessing:filter_by_num_masstraces 1 -preprocessing:precursor_mz_tolerance 10 -preprocessing:precursor_mz_tolerance_unit ppm -preprocessing:feature_only -sirius:candidates 5 -sirius:db ALL -sirius:profile qtof -sirius:compound_timeout 100 -use_known_unknowns) - #add_test("TOPP_AssayGeneratorMetabo_8_out1" ${DIFF} -in1 AssayGeneratorMetabo_ams_sirius_ukn_output.tmp.tsv -in2 ${DATA_DIR_TOPP}/AssayGeneratorMetabo_ams_sirius_ukn_output.tsv) - #set_tests_properties("TOPP_AssayGeneratorMetabo_8" PROPERTIES DEPENDS "TOPP_AssayGeneratorMetabo_7") - #set_tests_properties("TOPP_AssayGeneratorMetabo_8_out1" PROPERTIES DEPENDS "TOPP_AssayGeneratorMetabo_8") - - # use AccurateMassSearch data - #add_test("TOPP_AssayGeneratorMetabo_9" ${TOPP_BIN_PATH}/AssayGeneratorMetabo -test -sirius_executable "${SIRIUS_BINARY}" -in ${DATA_DIR_TOPP}/AssayGeneratorMetabo_intsort_input.mzML -in_id ${DATA_DIR_TOPP}/AssayGeneratorMetabo_intsort_input.featureXML -out AssayGeneratorMetabo_ams_sirius_intsort_output.tmp.tsv -fragment_annotation sirius -use_exact_mass -transition_threshold 3.0 -min_transitions 2 -max_transitions 3 -preprocessing:filter_by_num_masstraces 1 -preprocessing:precursor_mz_tolerance 10 -preprocessing:precursor_mz_tolerance_unit ppm -preprocessing:feature_only -sirius:candidates 5 -sirius:profile qtof -sirius:compound_timeout 100) - #add_test("TOPP_AssayGeneratorMetabo_9_out1" ${DIFF} -in1 AssayGeneratorMetabo_ams_sirius_intsort_output.tmp.tsv -in2 ${DATA_DIR_TOPP}/AssayGeneratorMetabo_ams_sirius_intsort_output.tsv) - #set_tests_properties("TOPP_AssayGeneratorMetabo_9" PROPERTIES DEPENDS "TOPP_AssayGeneratorMetabo_8") - #set_tests_properties("TOPP_AssayGeneratorMetabo_9_out1" PROPERTIES DEPENDS "TOPP_AssayGeneratorMetabo_9") - - # use AccurateMassSearch data + fragment mass restriction - #add_test("TOPP_AssayGeneratorMetabo_10" ${TOPP_BIN_PATH}/AssayGeneratorMetabo -test -sirius_executable "${SIRIUS_BINARY}" -in ${DATA_DIR_TOPP}/AssayGeneratorMetabo_input.mzML -in_id ${DATA_DIR_TOPP}/AssayGeneratorMetabo_ams_input.featureXML -out AssayGeneratorMetabo_ams_sirius_restrict_output.tmp.tsv -fragment_annotation sirius -use_exact_mass -transition_threshold 3.0 -min_transitions 2 -max_transitions 3 -min_fragment_mz 100 -max_fragment_mz 900 -preprocessing:filter_by_num_masstraces 1 -preprocessing:precursor_mz_tolerance 10 -preprocessing:precursor_mz_tolerance_unit ppm -preprocessing:feature_only -sirius:profile qtof -sirius:compound_timeout 100) - #add_test("TOPP_AssayGeneratorMetabo_10_out1" ${DIFF} -in1 AssayGeneratorMetabo_ams_sirius_restrict_output.tmp.tsv -in2 ${DATA_DIR_TOPP}/AssayGeneratorMetabo_ams_sirius_restrict_output.tsv) - #set_tests_properties("TOPP_AssayGeneratorMetabo_10" PROPERTIES DEPENDS "TOPP_AssayGeneratorMetabo_9") - #set_tests_properties("TOPP_AssayGeneratorMetabo_10_out1" PROPERTIES DEPENDS "TOPP_AssayGeneratorMetabo_10") - - # use AccurateMassSearch data + fragment mass restriction + decoy generation (original). - # whitelist Guthion_decoy, since fragmentation tree re-rooting has multiple possible solutions. - #add_test("TOPP_AssayGeneratorMetabo_11" ${TOPP_BIN_PATH}/AssayGeneratorMetabo -test -sirius_executable "${SIRIUS_BINARY}" -in ${DATA_DIR_TOPP}/AssayGeneratorMetabo_input.mzML -in_id ${DATA_DIR_TOPP}/AssayGeneratorMetabo_ams_input.featureXML -out AssayGeneratorMetabo_ams_sirius_restrict_decoy_output.tmp.tsv -fragment_annotation sirius -decoy_generation -decoy_generation_method original -use_exact_mass -transition_threshold 3.0 -min_transitions 3 -max_transitions 3 -min_fragment_mz 100 -max_fragment_mz 900 -preprocessing:filter_by_num_masstraces 1 -preprocessing:precursor_mz_tolerance 10 -preprocessing:precursor_mz_tolerance_unit ppm -preprocessing:feature_only -sirius:profile qtof -sirius:compound_timeout 100) - #add_test("TOPP_AssayGeneratorMetabo_11_out1" ${DIFF} -in1 AssayGeneratorMetabo_ams_sirius_restrict_decoy_output.tmp.tsv -in2 ${DATA_DIR_TOPP}/AssayGeneratorMetabo_ams_sirius_restrict_decoy_output.tsv -whitelist "Guthion_decoy") - #set_tests_properties("TOPP_AssayGeneratorMetabo_11" PROPERTIES DEPENDS "TOPP_AssayGeneratorMetabo_10") - #set_tests_properties("TOPP_AssayGeneratorMetabo_11_out1" PROPERTIES DEPENDS "TOPP_AssayGeneratorMetabo_11") - - # use AccurateMassSearch data + fragment mass restriction + decoy generation (original). - #add_test("TOPP_AssayGeneratorMetabo_12" ${TOPP_BIN_PATH}/AssayGeneratorMetabo -test -sirius_executable "${SIRIUS_BINARY}" -in ${DATA_DIR_TOPP}/AssayGeneratorMetabo_decoy_generation_input.mzML -in_id ${DATA_DIR_TOPP}/AssayGeneratorMetabo_decoy_generation_input.featureXML -out AssayGeneratorMetabo_decoy_generation_output_original.tmp.tsv -fragment_annotation sirius -decoy_generation -decoy_generation_method original -use_exact_mass -transition_threshold 3.0 -min_transitions 1 -max_transitions 3 -min_fragment_mz 100 -max_fragment_mz 900 -preprocessing:filter_by_num_masstraces 1 -preprocessing:precursor_mz_tolerance 10 -preprocessing:precursor_mz_tolerance_unit ppm -preprocessing:feature_only -sirius:profile qtof -sirius:compound_timeout 100) - #add_test("TOPP_AssayGeneratorMetabo_12_out1" ${DIFF} -in1 AssayGeneratorMetabo_decoy_generation_output_original.tmp.tsv -in2 ${DATA_DIR_TOPP}/AssayGeneratorMetabo_decoy_generation_output_original.tsv -whitelist "0_2_Proquinazid_decoy_[M+H]+_608_0") - #set_tests_properties("TOPP_AssayGeneratorMetabo_12" PROPERTIES DEPENDS "TOPP_AssayGeneratorMetabo_11") - #set_tests_properties("TOPP_AssayGeneratorMetabo_12_out1" PROPERTIES DEPENDS "TOPP_AssayGeneratorMetabo_12") - - # use AccurateMassSearch data + fragment mass restriction + decoy generation (resolve overlap). - #add_test("TOPP_AssayGeneratorMetabo_13" ${TOPP_BIN_PATH}/AssayGeneratorMetabo -test -sirius_executable "${SIRIUS_BINARY}" -in ${DATA_DIR_TOPP}/AssayGeneratorMetabo_decoy_generation_input.mzML -in_id ${DATA_DIR_TOPP}/AssayGeneratorMetabo_decoy_generation_input.featureXML -out AssayGeneratorMetabo_decoy_generation_output_resolve_overlap.tmp.tsv -fragment_annotation sirius -decoy_generation -decoy_generation_method resolve_overlap -use_exact_mass -transition_threshold 3.0 -min_transitions 1 -max_transitions 3 -min_fragment_mz 100 -max_fragment_mz 900 -preprocessing:filter_by_num_masstraces 1 -preprocessing:precursor_mz_tolerance 10 -preprocessing:precursor_mz_tolerance_unit ppm -preprocessing:feature_only -sirius:profile qtof -sirius:compound_timeout 100) - #add_test("TOPP_AssayGeneratorMetabo_13_out1" ${DIFF} -in1 AssayGeneratorMetabo_decoy_generation_output_resolve_overlap.tmp.tsv -in2 ${DATA_DIR_TOPP}/AssayGeneratorMetabo_decoy_generation_output_resolve_overlap.tsv -whitelist "0_2_Proquinazid_decoy_[M+H]+_608_0") - #set_tests_properties("TOPP_AssayGeneratorMetabo_13" PROPERTIES DEPENDS "TOPP_AssayGeneratorMetabo_12") - #set_tests_properties("TOPP_AssayGeneratorMetabo_13_out1" PROPERTIES DEPENDS "TOPP_AssayGeneratorMetabo_13") - - # use AccurateMassSearch data + fragment mass restriction + decoy generation (add_shift). - #add_test("TOPP_AssayGeneratorMetabo_14" ${TOPP_BIN_PATH}/AssayGeneratorMetabo -test -sirius_executable "${SIRIUS_BINARY}" -in ${DATA_DIR_TOPP}/AssayGeneratorMetabo_decoy_generation_input.mzML -in_id ${DATA_DIR_TOPP}/AssayGeneratorMetabo_decoy_generation_input.featureXML -out AssayGeneratorMetabo_decoy_generation_output_add_shift.tmp.tsv -fragment_annotation sirius -decoy_generation -decoy_generation_method add_shift -use_exact_mass -transition_threshold 3.0 -min_transitions 1 -max_transitions 3 -min_fragment_mz 100 -max_fragment_mz 900 -preprocessing:filter_by_num_masstraces 1 -preprocessing:precursor_mz_tolerance 10 -preprocessing:precursor_mz_tolerance_unit ppm -preprocessing:feature_only -sirius:profile qtof -sirius:compound_timeout 100) - #add_test("TOPP_AssayGeneratorMetabo_14_out1" ${DIFF} -in1 AssayGeneratorMetabo_decoy_generation_output_add_shift.tmp.tsv -in2 ${DATA_DIR_TOPP}/AssayGeneratorMetabo_decoy_generation_output_add_shift.tsv -whitelist "0_2_Proquinazid_decoy_[M+H]+_608_0") - #set_tests_properties("TOPP_AssayGeneratorMetabo_14" PROPERTIES DEPENDS "TOPP_AssayGeneratorMetabo_13") - #set_tests_properties("TOPP_AssayGeneratorMetabo_14_out1" PROPERTIES DEPENDS "TOPP_AssayGeneratorMetabo_14") - - # use AccurateMassSearch data + fragment mass restriction + decoy generation (both). - #add_test("TOPP_AssayGeneratorMetabo_15" ${TOPP_BIN_PATH}/AssayGeneratorMetabo -test -sirius_executable "${SIRIUS_BINARY}" -in ${DATA_DIR_TOPP}/AssayGeneratorMetabo_decoy_generation_input.mzML -in_id ${DATA_DIR_TOPP}/AssayGeneratorMetabo_decoy_generation_input.featureXML -out AssayGeneratorMetabo_decoy_generation_output_both.tmp.tsv -fragment_annotation sirius -decoy_generation -decoy_generation_method both -use_exact_mass -transition_threshold 3.0 -min_transitions 1 -max_transitions 3 -min_fragment_mz 100 -max_fragment_mz 900 -preprocessing:filter_by_num_masstraces 1 -preprocessing:precursor_mz_tolerance 10 -preprocessing:precursor_mz_tolerance_unit ppm -preprocessing:feature_only -sirius:profile qtof -sirius:compound_timeout 100) - #add_test("TOPP_AssayGeneratorMetabo_15_out1" ${DIFF} -in1 AssayGeneratorMetabo_decoy_generation_output_both.tmp.tsv -in2 ${DATA_DIR_TOPP}/AssayGeneratorMetabo_decoy_generation_output_both.tsv -whitelist "0_2_Proquinazid_decoy_[M+H]+_608_0") - #set_tests_properties("TOPP_AssayGeneratorMetabo_15" PROPERTIES DEPENDS "TOPP_AssayGeneratorMetabo_14") - #set_tests_properties("TOPP_AssayGeneratorMetabo_15_out1" PROPERTIES DEPENDS "TOPP_AssayGeneratorMetabo_15") - - # use AccurateMassSearch data + fragment mass restriction + decoy generation (both). - #add_test("TOPP_AssayGeneratorMetabo_16" ${TOPP_BIN_PATH}/AssayGeneratorMetabo -test -sirius_executable "${SIRIUS_BINARY}" -in ${DATA_DIR_TOPP}/AssayGeneratorMetabo_decoy_generation_input.mzML -in_id ${DATA_DIR_TOPP}/AssayGeneratorMetabo_decoy_generation_input_multids.featureXML -out AssayGeneratorMetabo_decoy_generation_output_both_multids.tmp.tsv -fragment_annotation sirius -decoy_generation -decoy_generation_method both -use_exact_mass -transition_threshold 3.0 -min_transitions 1 -max_transitions 3 -min_fragment_mz 100 -max_fragment_mz 900 -preprocessing:filter_by_num_masstraces 1 -preprocessing:precursor_mz_tolerance 10 -preprocessing:precursor_mz_tolerance_unit ppm -preprocessing:feature_only -sirius:profile qtof -sirius:compound_timeout 100) - #add_test("TOPP_AssayGeneratorMetabo_16_out1" ${DIFF} -in1 AssayGeneratorMetabo_decoy_generation_output_both_multids.tmp.tsv -in2 ${DATA_DIR_TOPP}/AssayGeneratorMetabo_decoy_generation_output_both_multids.tsv -whitelist "0_2_Second,Calonectrin,Millefin,3,17beta-dihydroxy-5,9-dioxo-4,5-9,10-diseco-androsta-1(10),2-dien-4-oicacid,(1E,4Z)-14,15-dihydroxy-8alpha-(2-methylpropanoyloxy)germacra-1(10),4,11(13)-trieno-12,6alpha-lactone,?_decoy_[M+H]+_608_0") - #set_tests_properties("TOPP_AssayGeneratorMetabo_16" PROPERTIES DEPENDS "TOPP_AssayGeneratorMetabo_15") - #set_tests_properties("TOPP_AssayGeneratorMetabo_16_out1" PROPERTIES DEPENDS "TOPP_AssayGeneratorMetabo_16") - - # use AccurateMassSearch data + internal linking + decoy generation (both) - test filter based on total occurrence - #add_test("TOPP_AssayGeneratorMetabo_17" ${TOPP_BIN_PATH}/AssayGeneratorMetabo -test -sirius_executable "${SIRIUS_BINARY}" -in ${DATA_DIR_TOPP}/AssayGeneratorMetabo_decoy_generation_input.mzML ${DATA_DIR_TOPP}/AssayGeneratorMetabo_decoy_generation_input.mzML ${DATA_DIR_TOPP}/AssayGeneratorMetabo_decoy_generation_input.mzML -in_id ${DATA_DIR_TOPP}/AssayGeneratorMetabo_decoy_generation_input.featureXML ${DATA_DIR_TOPP}/AssayGeneratorMetabo_decoy_generation_input_1.featureXML ${DATA_DIR_TOPP}/AssayGeneratorMetabo_decoy_generation_input_2.featureXML -out AssayGeneratorMetabo_decoy_generation_linking_output_both.tmp.tsv -fragment_annotation sirius -ambiguity_resolution_mz_tolerance 10.0 -ambiguity_resolution_mz_tolerance_unit Da -ambiguity_resolution_rt_tolerance 10.0 -total_occurrence_filter 0.8 -decoy_generation -decoy_generation_method both -use_exact_mass -transition_threshold 3.0 -min_transitions 1 -max_transitions 6 -preprocessing:filter_by_num_masstraces 1 -preprocessing:precursor_mz_tolerance 10 -preprocessing:precursor_mz_tolerance_unit ppm -preprocessing:feature_only -sirius:profile qtof -sirius:compound_timeout 100) - #add_test("TOPP_AssayGeneratorMetabo_17_out1" ${DIFF} -in1 AssayGeneratorMetabo_decoy_generation_linking_output_both.tmp.tsv -in2 ${DATA_DIR_TOPP}/AssayGeneratorMetabo_decoy_generation_linking_output_both.tsv -whitelist "0_2_Proquinazid_decoy_[M+H]+_614_1") - #set_tests_properties("TOPP_AssayGeneratorMetabo_17" PROPERTIES DEPENDS "TOPP_AssayGeneratorMetabo_16") - #set_tests_properties("TOPP_AssayGeneratorMetabo_17_out1" PROPERTIES DEPENDS "TOPP_AssayGeneratorMetabo_17") - - # use AccurateMassSearch data + internal linking + decoy generation (both) - test filter based on molecular formula and adduct - #add_test("TOPP_AssayGeneratorMetabo_18" ${TOPP_BIN_PATH}/AssayGeneratorMetabo -test -sirius_executable "${SIRIUS_BINARY}" -in ${DATA_DIR_TOPP}/AssayGeneratorMetabo_decoy_generation_input.mzML ${DATA_DIR_TOPP}/AssayGeneratorMetabo_decoy_generation_input.mzML ${DATA_DIR_TOPP}/AssayGeneratorMetabo_decoy_generation_input.mzML -in_id ${DATA_DIR_TOPP}/AssayGeneratorMetabo_decoy_generation_input.featureXML ${DATA_DIR_TOPP}/AssayGeneratorMetabo_decoy_generation_input_1.featureXML ${DATA_DIR_TOPP}/AssayGeneratorMetabo_decoy_generation_input_2.featureXML -out AssayGeneratorMetabo_decoy_generation_linking_moladd_output_both.tmp.tsv -fragment_annotation sirius -ambiguity_resolution_mz_tolerance 10.0 -ambiguity_resolution_mz_tolerance_unit Da -ambiguity_resolution_rt_tolerance 10.0 -decoy_generation -decoy_generation_method both -use_exact_mass -transition_threshold 3.0 -min_transitions 1 -max_transitions 6 -preprocessing:filter_by_num_masstraces 1 -preprocessing:precursor_mz_tolerance 10 -preprocessing:precursor_mz_tolerance_unit ppm -preprocessing:feature_only -sirius:profile qtof -sirius:compound_timeout 100) - #add_test("TOPP_AssayGeneratorMetabo_18_out1" ${DIFF} -in1 AssayGeneratorMetabo_decoy_generation_linking_moladd_output_both.tmp.tsv -in2 ${DATA_DIR_TOPP}/AssayGeneratorMetabo_decoy_generation_linking_moladd_output_both.tsv -whitelist "0_2_Proquinazid_decoy_[M+H]+_614_1") - #set_tests_properties("TOPP_AssayGeneratorMetabo_18" PROPERTIES DEPENDS "TOPP_AssayGeneratorMetabo_17") - #set_tests_properties("TOPP_AssayGeneratorMetabo_18_out1" PROPERTIES DEPENDS "TOPP_AssayGeneratorMetabo_18") - endif() - - # Note that with FingerID, output for compound 79 without feature only - if (ENABLE_FINGERID_TEST) - add_test("TOPP_SiriusAdapter_4" ${TOPP_BIN_PATH}/SiriusAdapter -test -sirius_executable "${SIRIUS_BINARY}" -in ${DATA_DIR_TOPP}/THIRDPARTY/SiriusAdapter_2_input.mzML -in_featureinfo ${DATA_DIR_TOPP}/THIRDPARTY/SiriusAdapter_2_input.featureXML -out_sirius SiriusAdapter_4_output.tmp.mzTab -out_fingerid SiriusAdapter_4_foutput.tmp.mzTab -sirius:profile qtof -sirius:db ALL -fingerid:db BIO -read_sirius_stdout) - add_test("TOPP_SiriusAdapter_4_out" ${DIFF} -in1 SiriusAdapter_4_foutput.tmp.mzTab -in2 ${DATA_DIR_TOPP}/THIRDPARTY/SiriusAdapter_4_foutput.mzTab -whitelist "MTD" "C10H18Cl2N6O4S2") - set_tests_properties("TOPP_SiriusAdapter_4_out" PROPERTIES DEPENDS "TOPP_SiriusAdapter_4") - endif() - -endif() - #------------------------------------------------------------------------------ if (NOT (${NOVOR_BINARY} STREQUAL "NOVOR_BINARY-NOTFOUND")) add_test("TOPP_NovorAdapter_1" ${TOPP_BIN_PATH}/NovorAdapter -test -java_memory 512 -executable "${NOVOR_BINARY}" -in ${DATA_DIR_TOPP}/THIRDPARTY/NovorAdapter_in.mzML -out NovorAdapter_1_out.tmp.idXML -variable_modifications "Acetyl (K)" -fixed_modifications "Carbamidomethyl (C)" -forbiddenResidues "I") diff --git a/src/topp/AssayGeneratorMetabo.cpp b/src/topp/AssayGeneratorMetabo.cpp index 302e8196304..bded4cd119d 100644 --- a/src/topp/AssayGeneratorMetabo.cpp +++ b/src/topp/AssayGeneratorMetabo.cpp @@ -2,30 +2,20 @@ // SPDX-License-Identifier: BSD-3-Clause // // -------------------------------------------------------------------------- -// $Maintainer: Oliver Alka $ +// $Maintainer: Oliver Alka, Axel Walter $ // $Authors: Oliver Alka $ // -------------------------------------------------------------------------- -#include +#include #include #include #include -#include #include -#include #include -#include #include #include -#include -#include #include #include -#include -#include -#include -#include -#include using namespace OpenMS; @@ -33,54 +23,51 @@ using namespace OpenMS; //Doxygen docu //---------------------------------------------------------- /** -@page TOPP_AssayGeneratorMetabo AssayGeneratorMetabo - -@brief Generates an assay library using DDA data (Metabolomics) - -
    -
    - - - - - - - - - - -
    potential predecessor tools - → AssayGeneratorMetabo → potential successor tools -
    @ref TOPP_FeatureFinderMetabo OpenSWATH pipeline
    @ref TOPP_AccurateMassSearch
    - - -Build an assay library from DDA data (MS and MS/MS) (mzML). -Please provide a list of features found in the data (featureXML). - -Features can be detected using the FeatureFinderMetabo (FFM) and identifcation information -can be added using the AccurateMassSearch feautreXML output. - -If the FFM featureXML is provided the "use_known_unknowns" flag is used automatically. - -Internal procedure AssayGeneratorMetabo: \n -1. Input mzML and featureXML \n -2. Reannotate precursor mz and intensity \n -3. Filter feature by number of masstraces \n -4. Assign precursors to specific feature (FeatureMapping) \n -5. Extract feature meta information (if possible) \n -6. Find MS2 spectrum with highest intensity precursor for one feature \n -7. Dependent on the method fragment annotation via SIRIUS is used for transition -extraction. \n -If not fragment annotation is performed either the MS2 with the highest intensity precursor or a consensus spectrum - can be used for the transition extractuib. \n -8. Calculate thresholds (maximum and minimum intensity for transition peak) \n -9. Extract and write transitions (tsv, traml) \n - -The command line parameters of this tool are: -@verbinclude TOPP_SiriusAdapter.cli -INI file documentation of this tool: -@htmlinclude TOPP_SiriusAdapter.html - */ + @page TOPP_AssayGeneratorMetabo AssayGeneratorMetabo + + @brief Generates an assay library using DDA data (Metabolomics) + +
    + + + + + + + + + + + +
    potential predecessor tools + → AssayGeneratorMetabo → potential successor tools +
    @ref TOPP_FeatureFinderMetabo OpenSWATH pipeline
    @ref TOPP_AccurateMassSearch
    +
    + + Build an assay library from DDA data (MS and MS/MS) (mzML). + Please provide a list of features found in the data (featureXML). + + Features can be detected using the FeatureFinderMetabo (FFM) and identifcation information + can be added using the AccurateMassSearch featureXML output. + + If the FeatureFinderMetabo featureXML does not contain any identifications the "use_known_unknowns" flag is used automatically. + + Internal procedure AssayGeneratorMetabo: \n + 1. Input mzML and featureXML \n + 2. Reannotate precursor mz and intensity \n + 3. Filter feature by number of masstraces \n + 4. Assign precursors to specific feature (FeatureMapping) \n + 5. Extract feature meta information (if possible) \n + 6. Find MS2 spectrum with highest intensity precursor for one feature \n + 7. Annotation is performed either the MS2 with the highest intensity precursor or a consensus spectrum can be used for the transition extraction. \n + 8. Calculate thresholds (maximum and minimum intensity for transition peak) \n + 9. Extract and write transitions (tsv, traml) + + The command line parameters of this tool are: + @verbinclude TOPP_AssayGeneratorMetabo.cli + INI file documentation of this tool: + @htmlinclude TOPP_AssayGeneratorMetabo.html +*/ /// @cond TOPPCLASSES @@ -94,26 +81,21 @@ class TOPPAssayGeneratorMetabo : {} private: - SiriusAdapterAlgorithm algorithm; + SiriusExportAlgorithm sirius_export_algorithm; protected: void registerOptionsAndFlags_() override { - registerInputFile_("sirius_executable", "", "", "The Sirius executable. Provide a full or relative path, or make sure it can be found in your PATH environment.", false, false); - registerInputFileList_("in", "", StringList(), "MzML input file(s) used for assay library generation"); setValidFormats_("in", ListUtils::create("mzML")); - registerInputFileList_("in_id", "", StringList(), "FeatureXML input file(s) containing identification information (e.g. AccurateMassSearch)"); - setValidFormats_("in_id", ListUtils::create("featureXML")); + registerInputFileList_("in_featureinfo", "", StringList(), "FeatureXML input file(s) containing identification information (e.g. AccurateMassSearch)"); + setValidFormats_("in_featureinfo", ListUtils::create("featureXML")); registerOutputFile_("out", "", "", "Assay library output file"); setValidFormats_("out", ListUtils::create("tsv,traML,pqp")); - registerStringOption_("fragment_annotation", "", "sirius", "Fragment annotation method", false); - setValidStrings_("fragment_annotation", ListUtils::create("none,sirius")); - registerDoubleOption_("ambiguity_resolution_mz_tolerance", "", 10.0, "Mz tolerance for the resolution of identification ambiguity over multiple files", false); registerStringOption_("ambiguity_resolution_mz_tolerance_unit", "", "ppm", "Unit of the ambiguity_resolution_mz_tolerance", false, true); setValidStrings_("ambiguity_resolution_mz_tolerance_unit", ListUtils::create("ppm,Da")); @@ -122,27 +104,10 @@ class TOPPAssayGeneratorMetabo : setMinFloat_("total_occurrence_filter", 0.0); setMaxFloat_("total_occurrence_filter", 1.0); - registerDoubleOption_("fragment_annotation_score_threshold", "", 0.80, "Filters annotations based on the explained intensity of the peaks in a spectrum", false); - setMinFloat_("fragment_annotation_score_threshold", 0.0); - setMaxFloat_("fragment_annotation_score_threshold", 1.0); - - registerFlag_("decoy_generation", "Decoys will be generated using the fragmentation tree re-rooting approach. This option does only work in combination with the fragment annotation via Sirius.", false); - - registerStringOption_("decoy_generation_method", "", "original", "Uses different methods for decoy generation. Basis for the method is the fragmentation-tree re-rooting approach ('original'). This approach can be extended by using 'resolve_overlap', which will resolve overlapping fragments of the highest intensity fragments chosen, by adding -CH2 mass to the overlapping fragments. 'Add_shift' will add a -CH2 mass shift to the target fragments and use them as additional decoys if fragmentation-tree re-rooting failed. 'Both' combines the extended methods (resolve_overlap, add_shift).",false); - setValidStrings_("decoy_generation_method", ListUtils::create("original,resolve_overlap,add_shift,both")); - registerStringOption_("method", "", "highest_intensity", "Spectrum with the highest precursor intensity or a consensus spectrum is used for assay library construction (if no fragment annotation is used).",false); setValidStrings_("method", ListUtils::create("highest_intensity,consensus_spectrum")); - registerFlag_("use_exact_mass", "Use exact mass for precursor and fragment annotations", false); registerFlag_("exclude_ms2_precursor", "Excludes precursor in ms2 from transition list", false); - - // preprocessing - registerDoubleOption_("precursor_mz_distance", "", 0.0001, "Max m/z distance of the precursor entries of two spectra to be merged in [Da].", false); - registerDoubleOption_("precursor_recalibration_window", "", 0.01, "Tolerance window for precursor selection (Annotation of precursor mz and intensity)", false, true); - registerStringOption_("precursor_recalibration_window_unit", "", "Da", "Unit of the precursor_mz_tolerance_annotation", false, true); - setValidStrings_("precursor_recalibration_window_unit", ListUtils::create("Da,ppm")); - registerDoubleOption_("consensus_spectrum_precursor_rt_tolerance", "", 5, "Tolerance window (left and right) for precursor selection [seconds], for consensus spectrum generation (only available without fragment annotation)", false); registerFlag_("use_known_unknowns", "Use features without identification information", false); // transition extraction @@ -152,26 +117,38 @@ class TOPPAssayGeneratorMetabo : registerDoubleOption_("transition_threshold", "", 5, "Further transitions need at least x% of the maximum intensity (default 5%)", false); registerDoubleOption_("min_fragment_mz", "", 0.0, "Minimal m/z of a fragment ion choosen as a transition", false, true); registerDoubleOption_("max_fragment_mz", "", 2000.0, "Maximal m/z of a fragment ion choosen as a transition" , false, true); + - registerTOPPSubsection_("deisotoping", "deisotoping"); - registerFlag_("deisotoping:use_deisotoper", "Use Deisotoper (if no fragment annotation is used)", false); - registerDoubleOption_("deisotoping:fragment_tolerance", "", 1, "Tolerance used to match isotopic peaks", false); - registerStringOption_("deisotoping:fragment_unit", "", "ppm", "Unit of the fragment tolerance", false); - setValidStrings_("deisotoping:fragment_unit", ListUtils::create("ppm,Da")); - registerIntOption_("deisotoping:min_charge", "", 1, "The minimum charge considered", false); - setMinInt_("deisotoping:min_charge", 1); - registerIntOption_("deisotoping:max_charge", "", 1, "The maximum charge considered", false); - setMinInt_("deisotoping:max_charge", 1); - registerIntOption_("deisotoping:min_isopeaks", "", 2, "The minimum number of isotopic peaks (at least 2) required for an isotopic cluster", false); - setMinInt_("deisotoping:min_isopeaks", 2); - registerIntOption_("deisotoping:max_isopeaks", "", 3, "The maximum number of isotopic peaks (at least 2) considered for an isotopic cluster", false); - setMinInt_("deisotoping:max_isopeaks", 3); - registerFlag_("deisotoping:keep_only_deisotoped", "Only monoisotopic peaks of fragments with isotopic pattern are retained", false); - registerFlag_("deisotoping:annotate_charge", "Annotate the charge to the peaks", false); - - // sirius - registerFullParam_(algorithm.getDefaults()); - registerStringOption_("out_workspace_directory", "", "", "Output directory for SIRIUS workspace", false); + // precursor + addEmptyLine_(); + registerDoubleOption_("precursor_mz_distance", "", 0.0001, "Max m/z distance of the precursor entries of two spectra to be merged in [Da].", false); + registerDoubleOption_("precursor_recalibration_window", "", 0.01, "Tolerance window for precursor selection (Annotation of precursor mz and intensity)", false, true); + registerStringOption_("precursor_recalibration_window_unit", "", "Da", "Unit of the precursor_mz_tolerance_annotation", false, true); + setValidStrings_("precursor_recalibration_window_unit", ListUtils::create("Da,ppm")); + registerDoubleOption_("precursor_consensus_spectrum_rt_tolerance", "", 5, "Tolerance window (left and right) for precursor selection [seconds], for consensus spectrum generation (only available without fragment annotation)", false); + + addEmptyLine_(); + registerFlag_("deisotoping_use_deisotoper", "Use Deisotoper (if no fragment annotation is used)", false); + registerDoubleOption_("deisotoping_fragment_tolerance", "", 1, "Tolerance used to match isotopic peaks", false); + registerStringOption_("deisotoping_fragment_unit", "", "ppm", "Unit of the fragment tolerance", false); + setValidStrings_("deisotoping_fragment_unit", ListUtils::create("ppm,Da")); + registerIntOption_("deisotoping_min_charge", "", 1, "The minimum charge considered", false); + setMinInt_("deisotoping_min_charge", 1); + registerIntOption_("deisotoping_max_charge", "", 1, "The maximum charge considered", false); + setMinInt_("deisotoping_max_charge", 1); + registerIntOption_("deisotoping_min_isopeaks", "", 2, "The minimum number of isotopic peaks (at least 2) required for an isotopic cluster", false); + setMinInt_("deisotoping_min_isopeaks", 2); + registerIntOption_("deisotoping_max_isopeaks", "", 3, "The maximum number of isotopic peaks (at least 2) considered for an isotopic cluster", false); + setMinInt_("deisotoping_max_isopeaks", 3); + registerFlag_("deisotoping_keep_only_deisotoped", "Only monoisotopic peaks of fragments with isotopic pattern are retained", false); + registerFlag_("deisotoping_annotate_charge", "Annotate the charge to the peaks", false); + + addEmptyLine_(); + auto defaults = sirius_export_algorithm.getDefaults(); + defaults.remove("isotope_pattern_iterations"); + defaults.remove("no_masstrace_info_isotope_pattern"); + + registerFullParam_(defaults); } ExitCodes main_(int, const char **) override @@ -182,133 +159,41 @@ class TOPPAssayGeneratorMetabo : // param AssayGeneratorMetabo StringList in = getStringList_("in"); - StringList id = getStringList_("in_id"); + StringList id = getStringList_("in_featureinfo"); String out = getStringOption_("out"); - String fragment_annotation = getStringOption_("fragment_annotation"); String method = getStringOption_("method"); - bool use_fragment_annotation = fragment_annotation == "sirius" ? true : false; double ar_mz_tol = getDoubleOption_("ambiguity_resolution_mz_tolerance"); String ar_mz_tol_unit_res = getStringOption_("ambiguity_resolution_mz_tolerance_unit"); double ar_rt_tol = getDoubleOption_("ambiguity_resolution_rt_tolerance"); double total_occurrence_filter = getDoubleOption_("total_occurrence_filter"); - double score_threshold = getDoubleOption_("fragment_annotation_score_threshold"); - bool decoy_generation = getFlag_("decoy_generation"); - if (decoy_generation && !use_fragment_annotation) - { - decoy_generation = false; - OPENMS_LOG_WARN << "Warning: Decoy generation was switched off, due to the use of no or an unsupported fragment annotation method." << std::endl; - } bool method_consensus_spectrum = method == "consensus_spectrum" ? true : false; - bool use_exact_mass = getFlag_("use_exact_mass"); bool exclude_ms2_precursor = getFlag_("exclude_ms2_precursor"); - - String decoy_generation_method = getStringOption_("decoy_generation_method"); - bool original = false; - bool resolve_overlap = false; - bool add_shift = false; - if (decoy_generation_method == "original" && decoy_generation) - { - OPENMS_LOG_INFO << "Decoy method: fragmentation tree re-rooting." << std::endl; - original = true; - } - else if (decoy_generation_method == "resolve_overlap" && decoy_generation) - { - OPENMS_LOG_INFO << "Decoy method: fragmentation tree re-rooting and overlap resolution." << std::endl; - resolve_overlap = true; - } - else if (decoy_generation_method == "add_shift" && decoy_generation) - { - OPENMS_LOG_INFO << "Decoy method: fragmentation tree re-rooting and addition of -CH2 mass shift where re-rooting was not possible." << std::endl; - add_shift = true; - } - else if (decoy_generation_method == "both" && decoy_generation) - { - OPENMS_LOG_INFO << "Decoy method: fragmentation tree re-rooting with overlap resolution and addition of -CH2 mass shift where re-rooting was not possible." << std::endl; - resolve_overlap = true; - add_shift = true; - } int min_transitions = getIntOption_("min_transitions"); int max_transitions = getIntOption_("max_transitions"); double min_fragment_mz = getDoubleOption_("min_fragment_mz"); double max_fragment_mz = getDoubleOption_("max_fragment_mz"); - - double consensus_spectrum_precursor_rt_tolerance = getDoubleOption_("consensus_spectrum_precursor_rt_tolerance"); + double consensus_spectrum_precursor_rt_tolerance = getDoubleOption_("precursor_consensus_spectrum_rt_tolerance"); double pre_recal_win = getDoubleOption_("precursor_recalibration_window"); String pre_recal_win_unit = getStringOption_("precursor_recalibration_window_unit"); bool ppm_recal = pre_recal_win_unit == "ppm" ? true : false; - double precursor_mz_distance = getDoubleOption_("precursor_mz_distance"); - double cosine_sim_threshold = getDoubleOption_("cosine_similarity_threshold"); double transition_threshold = getDoubleOption_("transition_threshold"); bool use_known_unknowns = getFlag_("use_known_unknowns"); // param deisotoper - bool use_deisotoper = getFlag_("deisotoping:use_deisotoper"); - double fragment_tolerance = getDoubleOption_("deisotoping:fragment_tolerance"); - String fragment_unit = getStringOption_("deisotoping:fragment_unit"); + bool use_deisotoper = getFlag_("deisotoping_use_deisotoper"); + double fragment_tolerance = getDoubleOption_("deisotoping_fragment_tolerance"); + String fragment_unit = getStringOption_("deisotoping_fragment_unit"); bool fragment_unit_ppm = fragment_unit == "ppm" ? true : false; - int min_charge = getIntOption_("deisotoping:min_charge"); - int max_charge = getIntOption_("deisotoping:max_charge"); - unsigned int min_isopeaks = getIntOption_("deisotoping:min_isopeaks"); - unsigned int max_isopeaks = getIntOption_("deisotoping:max_isopeaks"); - bool keep_only_deisotoped = getFlag_("deisotoping:keep_only_deisotoped"); - bool annotate_charge = getFlag_("deisotoping:annotate_charge"); - - // param SiriusAdapterAlgorithm - String sirius_executable = getStringOption_("sirius_executable"); + int min_charge = getIntOption_("deisotoping_min_charge"); + int max_charge = getIntOption_("deisotoping_max_charge"); + unsigned int min_isopeaks = getIntOption_("deisotoping_min_isopeaks"); + unsigned int max_isopeaks = getIntOption_("deisotoping_max_isopeaks"); + bool keep_only_deisotoped = getFlag_("deisotoping_keep_only_deisotoped"); + bool annotate_charge = getFlag_("deisotoping_annotate_charge"); - algorithm.updateExistingParameter(getParam_()); - - writeDebug_("Parameters passed to SiriusAdapterAlgorithm", algorithm.getParameters(), 3); - - // SIRIUS workspace (currently needed for fragmentation trees) - String sirius_workspace_directory = getStringOption_("out_workspace_directory"); - - // assess the SIRIUS executable from SIRIUS_PATH or the PATH - if (use_fragment_annotation && sirius_executable.empty()) - { - OPENMS_LOG_INFO << "Fragment annotation with SIRIUS should be performed, but no executable was provided via '-sirius_execuable'. \n" - << "Try to automatically assess the SIRIUS executable location." << std::endl; - - if (sirius_executable.empty()) - { - const char* sirius_env_var = std::getenv("SIRIUS_PATH"); // returns nullptr of not found - if (sirius_env_var == nullptr) - { - OPENMS_LOG_INFO << "SIRIUS executable could not be recovered from SIRIUS_PATH." << std::endl; - } - else - { - const String sirius_path(sirius_env_var); - sirius_executable = QFileInfo(sirius_path.toQString()).canonicalFilePath().toStdString(); - OPENMS_LOG_INFO << "Success: sirius_executable resolved to '" + sirius_executable + "'" << std::endl; - } - } - - // was not found in the SIRIUS_PATH - // assess the SIRIUS executable from the PATH - if (sirius_executable.empty()) - { - #ifdef OPENMS_WINDOWSPLATFORM - sirius_executable = "sirius.bat"; - #else - sirius_executable = "sirius"; - #endif - if (File::findExecutable(sirius_executable)) - { - OPENMS_LOG_INFO << "Success: sirius_executable resolved to '" + sirius_executable + "'" << std::endl; - } - else - { - throw Exception::InvalidValue(__FILE__, - __LINE__, - OPENMS_PRETTY_FUNCTION, - "FATAL: Executable of SIRIUS could not be found. Please either use SIRIUS_PATH env variable, add the Sirius directory to our PATH or provide the executable with -sirius_executable", - ""); - } - } - } + writeDebug_("Parameters passed to SiriusExportAlgorithm", sirius_export_algorithm.getParameters(), 3); //------------------------------------------------------------- // input and check @@ -403,10 +288,10 @@ class TOPPAssayGeneratorMetabo : // run masstrace filter and feature mapping FeatureMapping::FeatureMappingInfo fm_info; FeatureMapping::FeatureToMs2Indices feature_mapping; // reference to *basefeature in vector - algorithm.preprocessingSirius(id[file_counter], - spectra, - fm_info, - feature_mapping); + sirius_export_algorithm.preprocessing(id[file_counter], + spectra, + fm_info, + feature_mapping); // filter known_unkowns based on description (UNKNOWN) (AMS) std::map> feature_ms2_spectra_map = feature_mapping.assignedMS2; @@ -432,157 +317,73 @@ class TOPPAssayGeneratorMetabo : feature_mapping.assignedMS2 = known_features; } - vector< MetaboTargetedAssay::CompoundTargetDecoyPair > v_cmp_spec; - - if (use_fragment_annotation && !sirius_executable.empty()) + if (use_deisotoper) { - // make temporary files - SiriusAdapterAlgorithm::SiriusTemporaryFileSystemObjects sirius_tmp(debug_level_); - - // write msfile and store the compound information in CompoundInfo Object - vector v_cmpinfo; - SiriusMSFile::store(spectra, - sirius_tmp.getTmpMsFile(), - feature_mapping, - algorithm.isFeatureOnly(), - algorithm.getIsotopePatternIterations(), - algorithm.isNoMasstraceInfoIsotopePattern(), - v_cmpinfo); - - algorithm.logFeatureSpectraNumber(id[file_counter], - feature_mapping, - spectra); - - // calls SIRIUS and returns vector of paths to sirius folder structure - std::vector subdirs; - String out_csifingerid; - subdirs = algorithm.callSiriusQProcess(sirius_tmp.getTmpMsFile(), - sirius_tmp.getTmpOutDir(), - sirius_executable, - out_csifingerid, - decoy_generation); - - OPENMS_LOG_DEBUG << subdirs.size() << " spectra were annotated using SIRIUS." << std::endl; - - if (subdirs.empty()) - { - throw OpenMS::Exception::Postcondition(__FILE__,__LINE__, OPENMS_PRETTY_FUNCTION, "Sirius was executed, but an empty output was generated"); - } - - // sort vector path list - SiriusAdapterAlgorithm::sortSiriusWorkspacePathsByScanIndex(subdirs); - - // extract Sirius/Passatutto FragmentAnnotation and DecoyAnnotation from subdirs - // and resolve ambiguous identifications in one file based on the native_id_ids and the SIRIUS IsotopeTree_Score - vector annotated_spectra = - SiriusFragmentAnnotation::extractAndResolveSiriusAnnotations(subdirs, score_threshold, use_exact_mass); - - // combine compound information (SiriusMSFile) with annotated spectra (SiriusFragmentAnnotation) - v_cmp_spec = MetaboTargetedAssay::pairCompoundWithAnnotatedTDSpectraPairs(v_cmpinfo, annotated_spectra); - - // should the sirius workspace be retained - if (!sirius_workspace_directory.empty()) + bool make_single_charged = false; + for (auto& peakmap_it : spectra) { - // convert path to absolute path - QDir sw_dir(sirius_workspace_directory.toQString()); - sirius_workspace_directory = String(sw_dir.absolutePath()); - - // move tmp folder to new location - bool copy_status = File::copyDirRecursively(sirius_tmp.getTmpDir().toQString(), sirius_workspace_directory.toQString()); - if (copy_status) + MSSpectrum& spectrum = peakmap_it; + if (spectrum.getMSLevel() == 1) { - OPENMS_LOG_INFO << "Sirius Workspace was successfully copied to " << sirius_workspace_directory << std::endl; + continue; } - else + else { - OPENMS_LOG_INFO << "Sirius Workspace could not be copied to " << sirius_workspace_directory << ". Please run AssayGeneratorMetabo with debug >= 2." << std::endl; + Deisotoper::deisotopeAndSingleCharge(spectrum, + fragment_tolerance, + fragment_unit_ppm, + min_charge, + max_charge, + keep_only_deisotoped, + min_isopeaks, + max_isopeaks, + make_single_charged, + annotate_charge); } } } - else // use heuristic + + // remove peaks form MS2 which are at a higher mz than the precursor + 10 ppm + for (auto& peakmap_it : spectra) { - if (use_deisotoper) + MSSpectrum& spectrum = peakmap_it; + if (spectrum.getMSLevel() == 1) { - bool make_single_charged = false; - for (auto& peakmap_it : spectra) - { - MSSpectrum& spectrum = peakmap_it; - if (spectrum.getMSLevel() == 1) - { - continue; - } - else - { - Deisotoper::deisotopeAndSingleCharge(spectrum, - fragment_tolerance, - fragment_unit_ppm, - min_charge, - max_charge, - keep_only_deisotoped, - min_isopeaks, - max_isopeaks, - make_single_charged, - annotate_charge); - } - } + continue; } - - // remove peaks form MS2 which are at a higher mz than the precursor + 10 ppm - for (auto& peakmap_it : spectra) + else { - MSSpectrum& spectrum = peakmap_it; - if (spectrum.getMSLevel() == 1) - { - continue; - } - else + // if peak mz higher than precursor mz set intensity to zero + double prec_mz = spectrum.getPrecursors()[0].getMZ(); + double mass_diff = Math::ppmToMass(10.0, prec_mz); + for (auto& spec : spectrum) { - // if peak mz higher than precursor mz set intensity to zero - double prec_mz = spectrum.getPrecursors()[0].getMZ(); - double mass_diff = Math::ppmToMass(10.0, prec_mz); - for (auto& spec : spectrum) + if (spec.getMZ() > prec_mz + mass_diff) { - if (spec.getMZ() > prec_mz + mass_diff) - { - spec.setIntensity(0); - } + spec.setIntensity(0); } - spectrum.erase(remove_if(spectrum.begin(), - spectrum.end(), - InIntensityRange(1, - numeric_limits::max(), - true)), spectrum.end()); } + spectrum.erase(remove_if(spectrum.begin(), + spectrum.end(), + InIntensityRange(1, + numeric_limits::max(), + true)), spectrum.end()); } } // potential transitions of one file vector tmp_mta; - if (use_fragment_annotation) - { - tmp_mta = MetaboTargetedAssay::extractMetaboTargetedAssayFragmentAnnotation(v_cmp_spec, - transition_threshold, - min_fragment_mz, - max_fragment_mz, - use_exact_mass, - exclude_ms2_precursor, - file_counter); - - } - else // use heuristics - { - tmp_mta = MetaboTargetedAssay::extractMetaboTargetedAssay(spectra, - feature_mapping, - consensus_spectrum_precursor_rt_tolerance, - precursor_mz_distance, - cosine_sim_threshold, - transition_threshold, - min_fragment_mz, - max_fragment_mz, - method_consensus_spectrum, - exclude_ms2_precursor, - file_counter); - } + tmp_mta = MetaboTargetedAssay::extractMetaboTargetedAssay(spectra, + feature_mapping, + consensus_spectrum_precursor_rt_tolerance, + precursor_mz_distance, + cosine_sim_threshold, + transition_threshold, + min_fragment_mz, + max_fragment_mz, + method_consensus_spectrum, + exclude_ms2_precursor, + file_counter); // append potential transitions of one file to vector of all files v_mta.insert(v_mta.end(), tmp_mta.begin(), tmp_mta.end()); } // end iteration over all files @@ -614,35 +415,9 @@ class TOPPAssayGeneratorMetabo : // use MRMAssay methods for filtering MRMAssay assay; - // sort by highest intensity - filter: min/max transitions (targets), filter: max transitions (decoys) - // e.g. if only one decoy fragment is available it will not be filtered out! + // sort by highest intensity - filter assay.filterMinMaxTransitionsCompound(t_exp, min_transitions, max_transitions); - // remove decoys which do not have a respective target after min/max transition filtering - // based on the TransitionGroupID (similar for targets "0_Acephate_[M+H]+_0" and decoys "0_Acephate_decoy_[M+H]+_0") - if (use_fragment_annotation && decoy_generation) - { - assay.filterUnreferencedDecoysCompound(t_exp); - } - - // resolve overlapping target and decoy masses - // after selection of decoy masses based on highest intensity (arbitrary, since passatutto uses - // the intensities based on the previous fragmentation tree), overlapping masses between targets - // and decoys of one respective metabolite_adduct combination can be resolved by adding a CH2 mass - if (use_fragment_annotation && decoy_generation && !original) - { - const double chtwo_mass = EmpiricalFormula("CH2").getMonoWeight(); - vector mappings = MetaboTargetedTargetDecoy::constructTargetDecoyMassMapping(t_exp); - if (resolve_overlap) - { - MetaboTargetedTargetDecoy::resolveOverlappingTargetDecoyMassesByIndividualMassShift(t_exp, mappings, chtwo_mass); - } - if (add_shift) - { - MetaboTargetedTargetDecoy::generateMissingDecoysByMassShift(t_exp, mappings, chtwo_mass); - } - } - // sort TargetedExperiment by name (TransitionID) t_exp.sortTransitionsByName(); diff --git a/src/topp/AssayGeneratorMetaboSirius.cpp b/src/topp/AssayGeneratorMetaboSirius.cpp new file mode 100644 index 00000000000..5e1fb3af2d1 --- /dev/null +++ b/src/topp/AssayGeneratorMetaboSirius.cpp @@ -0,0 +1,358 @@ +// Copyright (c) 2002-2023, The OpenMS Team -- EKU Tuebingen, ETH Zurich, and FU Berlin +// SPDX-License-Identifier: BSD-3-Clause +// +// -------------------------------------------------------------------------- +// $Maintainer: Oliver Alka, Axel Walter $ +// $Authors: Oliver Alka, Axel Walter $ +// -------------------------------------------------------------------------- + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +using namespace OpenMS; + +//------------------------------------------------------------- +//Doxygen docu +//---------------------------------------------------------- +/** + @page TOPP_AssayGeneratorMetaboSirius AssayGeneratorMetaboSirius + + @brief Generates an assay library from SIRIUS fragmentation trees (Metabolomics) + +
    + + + + + + + + + + + + + + +
    potential predecessor tools + → AssayGeneratorMetaboSirius → potential successor tools +
    @ref TOPP_FeatureFinderMetabo OpenSWATH pipeline
    @ref TOPP_AccurateMassSearch
    @ref TOPP_SiriusExport
    +
    + + Build an assay library from a SIRIUS project directory using fragmentation trees. + + - Use the SiriusExport TOPP tool with each samples mzML and featureXML files to generate a SIRIUS input ms file. + @code + SiriusExport -in sample.mzML -in_featureinfo sample.featureXML -out_ms sample.ms + @endcode + - Run SIRIUS externally with "--no-compression" flag and the formula, passatutto (optional, for decoy generation) and write-summaries tools. + - This tool was tested with the SIRIUS project directory generated with SIRIUS versions >= 5.5.1 and <= 5.8.6. + @code + sirius --input sample.ms --project sirius-project --maxmz 300 --no-compression formula passatutto write-summaries + @endcode + - Provide the path to SIRIUS project as input parameter for this tool. + + The command line parameters of this tool are: + @verbinclude TOPP_AssayGeneratorMetaboSirius.cli + INI file documentation of this tool: + @htmlinclude TOPP_AssayGeneratorMetaboSirius.html +*/ + +/// @cond TOPPCLASSES + +class TOPPAssayGeneratorMetaboSirius : + public TOPPBase, + private TransitionTSVFile +{ +public: + TOPPAssayGeneratorMetaboSirius() : + TOPPBase("AssayGeneratorMetaboSirius", "Assay library generation from a SIRIUS project directory (Metabolomics)") + {} + +protected: + + void registerOptionsAndFlags_() override + { + registerInputFile_("in", "", "", "SIRIUS project directory"); + + registerInputFile_("in_compoundinfo", "", "", "Compound info table (.tsv file)"); + setValidFormats_("in_compoundinfo", ListUtils::create("tsv")); + + registerOutputFile_("out", "", "", "Assay library output file"); + setValidFormats_("out", ListUtils::create("tsv,traML,pqp")); + + registerDoubleOption_("ambiguity_resolution_mz_tolerance", "", 10.0, "Mz tolerance for the resolution of identification ambiguity over multiple files", false); + registerStringOption_("ambiguity_resolution_mz_tolerance_unit", "", "ppm", "Unit of the ambiguity_resolution_mz_tolerance", false, true); + setValidStrings_("ambiguity_resolution_mz_tolerance_unit", ListUtils::create("ppm,Da")); + registerDoubleOption_("ambiguity_resolution_rt_tolerance", "", 10.0, "RT tolerance in seconds for the resolution of identification ambiguity over multiple files", false); + registerDoubleOption_("total_occurrence_filter", "", 0.1, "Filter compound based on total occurrence in analysed samples", false); + setMinFloat_("total_occurrence_filter", 0.0); + setMaxFloat_("total_occurrence_filter", 1.0); + + registerDoubleOption_("fragment_annotation_score_threshold", "", 0.80, "Filters annotations based on the explained intensity of the peaks in a spectrum", false); + setMinFloat_("fragment_annotation_score_threshold", 0.0); + setMaxFloat_("fragment_annotation_score_threshold", 1.0); + + + registerStringOption_("method", "", "highest_intensity", "Spectrum with the highest precursor intensity or a consensus spectrum is used for assay library construction (if no fragment annotation is used).",false); + setValidStrings_("method", ListUtils::create("highest_intensity,consensus_spectrum")); + + registerFlag_("use_exact_mass", "Use exact mass for precursor and fragment annotations", false); + registerFlag_("exclude_ms2_precursor", "Excludes precursor in ms2 from transition list", false); + registerFlag_("use_known_unknowns", "Use features without identification information", false); + + // transition extraction + registerIntOption_("min_transitions", "", 3, "Minimal number of transitions", false); + registerIntOption_("max_transitions", "", 6, "Maximal number of transitions", false); + registerDoubleOption_("transition_threshold", "", 5, "Further transitions need at least x% of the maximum intensity (default 5%)", false); + registerDoubleOption_("min_fragment_mz", "", 0.0, "Minimal m/z of a fragment ion choosen as a transition", false, true); + registerDoubleOption_("max_fragment_mz", "", 2000.0, "Maximal m/z of a fragment ion choosen as a transition" , false, true); + + // decoys + registerFlag_("decoy_generation", "Decoys will be generated using the fragmentation tree re-rooting approach. This option does only work in combination with the fragment annotation via Sirius.", false); + registerStringOption_("decoy_generation_method", "", "original", "Uses different methods for decoy generation. Basis for the method is the fragmentation-tree re-rooting approach ('original'). This approach can be extended by using 'resolve_overlap', which will resolve overlapping target/decoy fragments by adding -CH2 mass to the overlapping decoy fragments. 'generate_missing_decoys' will add a -CH2 mass shift to the target fragments and use them as decoys if fragmentation-tree re-rooting failed. 'Both' combines the extended methods (resolve_overlap, generate_missing_decoys).",false); + setValidStrings_("decoy_generation_method", ListUtils::create("original,resolve_overlap,generate_missing_decoys,both")); + registerDoubleOption_("decoy_resolution_mz_tolerance", "", 10.0, "Mz tolerance for the resolution of overlapping m/z values for targets and decoys of one compound.", false); + registerStringOption_("decoy_resolution_mz_tolerance_unit", "", "ppm", "Unit of the decoy_resolution_mz_tolerance", false, true); + setValidStrings_("decoy_resolution_mz_tolerance_unit", ListUtils::create("ppm,Da")); + } + + ExitCodes main_(int, const char **) override + { + //------------------------------------------------------------- + // Parsing parameters + //------------------------------------------------------------- + String sirius_project_directory = getStringOption_("in"); + String compoundinfo_file = getStringOption_("in_compoundinfo"); + String out = getStringOption_("out"); + String method = getStringOption_("method"); + double ar_mz_tol = getDoubleOption_("ambiguity_resolution_mz_tolerance"); + String ar_mz_tol_unit_res = getStringOption_("ambiguity_resolution_mz_tolerance_unit"); + double ar_rt_tol = getDoubleOption_("ambiguity_resolution_rt_tolerance"); + double total_occurrence_filter = getDoubleOption_("total_occurrence_filter"); + double score_threshold = getDoubleOption_("fragment_annotation_score_threshold"); + bool decoy_generation = getFlag_("decoy_generation"); + bool use_exact_mass = getFlag_("use_exact_mass"); + bool exclude_ms2_precursor = getFlag_("exclude_ms2_precursor"); + String decoy_generation_method = getStringOption_("decoy_generation_method"); + bool original = false; + bool resolve_overlap = false; + bool generate_missing_decoys = false; + if (decoy_generation_method == "original" && decoy_generation) + { + OPENMS_LOG_INFO << "Decoy method: fragmentation tree re-rooting." << std::endl; + original = true; + } + else if (decoy_generation_method == "resolve_overlap" && decoy_generation) + { + OPENMS_LOG_INFO << "Decoy method: fragmentation tree re-rooting and overlap resolution." << std::endl; + resolve_overlap = true; + } + else if (decoy_generation_method == "generate_missing_decoys" && decoy_generation) + { + OPENMS_LOG_INFO << "Decoy method: fragmentation tree re-rooting and filling missing decoys by addition of -CH2 mass shift where re-rooting was not possible." << std::endl; + generate_missing_decoys = true; + } + else if (decoy_generation_method == "both" && decoy_generation) + { + OPENMS_LOG_INFO << "Decoy method: fragmentation tree re-rooting with overlap resolution and addition of -CH2 mass shift to generate missing decoys where re-rooting was not possible." << std::endl; + resolve_overlap = true; + generate_missing_decoys = true; + } + double decoy_mz_tol = getDoubleOption_("decoy_resolution_mz_tolerance"); + String decoy_mz_tol_unit_res = getStringOption_("decoy_resolution_mz_tolerance_unit"); + int min_transitions = getIntOption_("min_transitions"); + int max_transitions = getIntOption_("max_transitions"); + double min_fragment_mz = getDoubleOption_("min_fragment_mz"); + double max_fragment_mz = getDoubleOption_("max_fragment_mz"); + double transition_threshold = getDoubleOption_("transition_threshold"); + bool use_known_unknowns = getFlag_("use_known_unknowns"); + + //------------------------------------------------------------- + // Get all subdirectories within the SIRIUS project directory + //------------------------------------------------------------- + std::vector subdirs; + QDirIterator it(sirius_project_directory.toQString(), QDir::Dirs | QDir::NoDotAndDotDot, QDirIterator::NoIteratorFlags); + while (it.hasNext()) + { + subdirs.emplace_back(it.next()); + } + OPENMS_LOG_DEBUG << subdirs.size() << " spectra were annotated using SIRIUS." << std::endl; + if (subdirs.empty()) + { + decoy_generation = false; + throw OpenMS::Exception::Postcondition(__FILE__,__LINE__, OPENMS_PRETTY_FUNCTION, "SIRIUS project directory is empty."); + } + + //------------------------------------------------------------- + // Get CompoundInfo objects from tsv file + //------------------------------------------------------------- + vector v_cmpinfo; + // get number of files from maximum file_index value + size_t n_files = 0; + CsvFile csv(compoundinfo_file, '\t'); + size_t row_count = csv.rowCount(); + for (size_t i = 1; i < row_count; ++i) { + StringList row_data; + csv.getRow(i, row_data); + SiriusMSFile::CompoundInfo cmp_info; + // Convert and assign each field from row_data to cmp_info's attributes + cmp_info.cmp = row_data[0]; + cmp_info.file_index = stoi(row_data[1]); + cmp_info.pmass = stod(row_data[2]); + cmp_info.rt = stod(row_data[4]); + cmp_info.fmz = stod(row_data[5]); + cmp_info.fid = row_data[6]; + cmp_info.formula = row_data[7]; + cmp_info.charge = stoi(row_data[8]); + cmp_info.ionization = row_data[9]; + cmp_info.des = row_data[10]; + cmp_info.source_file = row_data[12]; + cmp_info.m_ids_id = row_data[15]; + // add if "use_known_unknown" flag is set or compound name is not "UNKNOWN" + if (use_known_unknowns || cmp_info.des != "UNKNOWN") { + v_cmpinfo.push_back(cmp_info); + } + // update n_files with most recent (highest) file_index + n_files = cmp_info.file_index + 1; + } + + //-------------------------------------------------------------------------- + // Get list of MetaboTargetedAssay (compound with all possible transitions) + //-------------------------------------------------------------------------- + //get annotated spectra from SIRIUS project subdirs + vector annotated_spectra = + SiriusFragmentAnnotation::extractAndResolveSiriusAnnotations(subdirs, score_threshold, use_exact_mass, decoy_generation); + + // combine compound info with annotated spectra + vector v_cmp_spec; + v_cmp_spec = MetaboTargetedAssay::pairCompoundWithAnnotatedTDSpectraPairs(v_cmpinfo, annotated_spectra); + + // pair compound info with potential transitions (filtered by min/max, exclude precursor) + vector v_mta; + v_mta = MetaboTargetedAssay::extractMetaboTargetedAssayFragmentAnnotation(v_cmp_spec, + transition_threshold, + min_fragment_mz, + max_fragment_mz, + use_exact_mass, + exclude_ms2_precursor); + + //-------------------------------------------------------------------------------------------- + // Combine ambigous identifications (derived from consensus features with similar m/z and RT) + //-------------------------------------------------------------------------------------------- + // build feature maps (matching original raw data files by file_index) and perfom feature linking + std::unordered_map< UInt64, vector > ambiguity_groups = MetaboTargetedAssay::buildAmbiguityGroup(v_mta, ar_mz_tol, ar_rt_tol, ar_mz_tol_unit_res, n_files); + + // resolve identification ambiguity based on highest occurrence and highest intensity + MetaboTargetedAssay::resolveAmbiguityGroup(ambiguity_groups, total_occurrence_filter, n_files); + + //-------------------------------------------------------------------------------------------- + // Merge all transitions in a TargetedExperiment and filter number of transitions + //-------------------------------------------------------------------------------------------- + vector v_cmp; + vector v_rmt_all; + for (const auto &it : ambiguity_groups) + { + for (const auto &comp_it : it.second) + { + v_cmp.push_back(comp_it.potential_cmp); + v_rmt_all.insert(v_rmt_all.end(), comp_it.potential_rmts.begin(), comp_it.potential_rmts.end()); + } + } + + TargetedExperiment t_exp; + t_exp.setCompounds(v_cmp); + t_exp.setTransitions(v_rmt_all); + + // use MRMAssay methods for filtering + MRMAssay assay; + // sort by highest intensity - filter: min/max transitions (targets), filter: max transitions (decoys) + // e.g. if only one decoy fragment is available it will not be filtered out! + assay.filterMinMaxTransitionsCompound(t_exp, min_transitions, max_transitions); + + //------------------------------------------------------ + // Decoys + //------------------------------------------------------ + if (decoy_generation) + { + // remove decoys which do not have a respective target after min/max transition filtering + // based on the TransitionGroupID (similar for targets "0_Acephate_[M+H]+_0" and decoys "0_Acephate_decoy_[M+H]+_0") + assay.filterUnreferencedDecoysCompound(t_exp); + // resolve overlapping target and decoy masses + // after selection of decoy masses based on highest intensity (arbitrary, since passatutto uses + // the intensities based on the previous fragmentation tree), overlapping masses between targets + // and decoys of one respective metabolite_adduct combination can be resolved by adding a CH2 mass + if (!original) + { + const double chtwo_mass = EmpiricalFormula("CH2").getMonoWeight(); + vector mappings = MetaboTargetedTargetDecoy::constructTargetDecoyMassMapping(t_exp); + + if (resolve_overlap) + { + MetaboTargetedTargetDecoy::resolveOverlappingTargetDecoyMassesByDecoyMassShift(t_exp, mappings, chtwo_mass, decoy_mz_tol, decoy_mz_tol_unit_res); + } + if (generate_missing_decoys) + { + MetaboTargetedTargetDecoy::generateMissingDecoysByMassShift(t_exp, mappings, chtwo_mass); + } + } + } + + // sort TargetedExperiment by name (TransitionID) + t_exp.sortTransitionsByName(); + + //------------------------------------------------------------- + // writing output + //------------------------------------------------------------- + + String extension = out.substr(out.find_last_of(".")+1); + + if (extension == "tsv") + { + // validate and write + OpenMS::TransitionTSVFile::convertTargetedExperimentToTSV(out.c_str(), t_exp); + } + else if (extension == "traML") + { + // validate + OpenMS::TransitionTSVFile::validateTargetedExperiment(t_exp); + // write traML + FileHandler().storeTransitions(out, t_exp, {FileTypes::TRAML}); + } + else if (extension == "pqp") + { + //validate + OpenMS::TransitionTSVFile::validateTargetedExperiment(t_exp); + // write pqp + TransitionPQPFile pqp_out; + pqp_out.convertTargetedExperimentToPQP(out.c_str(), t_exp); + } + return EXECUTION_OK; + } +}; + +int main(int argc, const char ** argv) +{ + TOPPAssayGeneratorMetaboSirius tool; + return tool.main(argc, argv); +} +/// @endcond diff --git a/src/topp/DatabaseFilter.cpp b/src/topp/DatabaseFilter.cpp index 5d63483e83f..726875195de 100644 --- a/src/topp/DatabaseFilter.cpp +++ b/src/topp/DatabaseFilter.cpp @@ -53,45 +53,47 @@ class TOPPDatabaseFilter : protected: void registerOptionsAndFlags_() override { - registerInputFile_("in", "", "","Input FASTA file, containing a database."); - setValidFormats_("in", ListUtils::create("fasta")); + registerInputFile_("in", "", "", "Input FASTA file, containing a protein database."); + setValidFormats_("in", {"fasta"}); registerInputFile_("id", "", "", "Input file containing identified peptides and proteins."); - setValidFormats_("id", ListUtils::create("idXML,mzid")); - registerStringOption_("method", "", "whitelist", "Switch between white-/blacklisting", false); - setValidStrings_("method", ListUtils::create("whitelist,blacklist")); + setValidFormats_("id", {"idXML", "mzid"}); + registerStringOption_("method", "", "whitelist", "Switch between white-/blacklisting of protein IDs", false); + setValidStrings_("method", {"whitelist", "blacklist"}); registerOutputFile_("out", "", "", "Output FASTA file where the reduced database will be written to."); - setValidFormats_("out", ListUtils::create("fasta")); + setValidFormats_("out", {"fasta"}); } - void filterByProteinAccessions_(const vector& db, const vector& peptide_identifications, bool whitelist, vector& db_new) + void filterByProteinAccessions_(const vector& db, + const vector& peptide_identifications, + bool whitelist, + vector& db_new) { set id_accessions; - for (Size i = 0; i != peptide_identifications.size(); ++i) + for (const auto& pep_id : peptide_identifications) { - const PeptideIdentification& id = peptide_identifications[i]; - const vector& hits = id.getHits(); - for (Size k = 0; k != hits.size(); ++k) + for (const auto& hit : pep_id.getHits()) { - const vector& evidences = hits[k].getPeptideEvidences(); - for (Size m = 0; m != evidences.size(); ++m) + for (const auto& ev : hit.getPeptideEvidences()) { - const String& id_accession = evidences[m].getProteinAccession(); + const String& id_accession = ev.getProteinAccession(); id_accessions.insert(id_accession); } } } - OPENMS_LOG_INFO << "Protein accessions: " << id_accessions.size() << endl; + OPENMS_LOG_INFO << "Number of Protein IDs: " << id_accessions.size() << endl; - for (Size i = 0; i != db.size() ; ++i) + for (const auto entry : db) { - const String& fasta_accession = db[i].identifier; + const String& fasta_accession = entry.identifier; const bool found = id_accessions.find(fasta_accession) != id_accessions.end(); - if ((found && whitelist) || (!found && !whitelist)) //either found in the whitelist or not found in the blacklist + if ((found && whitelist) || (! found && ! whitelist)) // either found in the whitelist or not found in the blacklist { - db_new.push_back(db[i]); + db_new.push_back(entry); } } + + //! [doxygen_snippet_Functionality_2] } ExitCodes main_(int, const char **) override diff --git a/src/topp/FeatureFinderCentroided.cpp b/src/topp/FeatureFinderCentroided.cpp index 82feb1659fe..7fc061cd8ff 100644 --- a/src/topp/FeatureFinderCentroided.cpp +++ b/src/topp/FeatureFinderCentroided.cpp @@ -145,11 +145,13 @@ class TOPPFeatureFinderCentroided : registerSubsection_("algorithm", "Algorithm section"); } - Param getSubsectionDefaults_(const String& /*section*/) const override + + Param getSubsectionDefaults_(const String& ) const override { - return FeatureFinder().getParameters(FeatureFinderAlgorithmPicked::getProductName()); + return FeatureFinderAlgorithmPicked().getDefaultParameters(); } + ExitCodes main_(int, const char**) override { //input file names @@ -197,8 +199,8 @@ class TOPPFeatureFinderCentroided : } //setup of FeatureFinder - FeatureFinder ff; - ff.setLogType(log_type_); + FeatureFinderAlgorithmPicked ff; + //ff.setLogType(log_type_); TODO // A map for the resulting features FeatureMap features; @@ -218,7 +220,7 @@ class TOPPFeatureFinderCentroided : writeDebug_("Parameters passed to FeatureFinder", feafi_param, 3); // Apply the feature finder - ff.run(FeatureFinderAlgorithmPicked::getProductName(), exp, features, feafi_param, seeds); + ff.run(exp, features, feafi_param, seeds); features.applyMemberFunction(&UniqueIdInterface::setUniqueId); // DEBUG diff --git a/src/topp/FeatureFinderMRM.cpp b/src/topp/FeatureFinderMRM.cpp index 046b72540e6..fabae442270 100644 --- a/src/topp/FeatureFinderMRM.cpp +++ b/src/topp/FeatureFinderMRM.cpp @@ -90,7 +90,7 @@ class TOPPFeatureFinderMRM : Param getSubsectionDefaults_(const String& /*section*/) const override { - return FeatureFinder().getParameters(FeatureFinderAlgorithmMRM::getProductName()); + return FeatureFinderAlgorithmMRM().getDefaultParameters(); } ExitCodes main_(int, const char**) override @@ -104,8 +104,8 @@ class TOPPFeatureFinderMRM : writeDebug_("Parameters passed to FeatureFinder", feafi_param, 3); //setup of FeatureFinder - FeatureFinder ff; - ff.setLogType(log_type_); + FeatureFinderAlgorithmMRM ff; + //ff.setLogType(log_type_); // TODO: add back //reading input data PeakMap exp; @@ -133,7 +133,7 @@ class TOPPFeatureFinderMRM : } // Apply the feature finder - ff.run(FeatureFinderAlgorithmMRM::getProductName(), exp, features, feafi_param, seeds); + ff.run(exp, features, feafi_param, seeds); features.applyMemberFunction(&UniqueIdInterface::setUniqueId); // DEBUG diff --git a/src/topp/FileFilter.cpp b/src/topp/FileFilter.cpp index 29bab313b4f..e8578080663 100644 --- a/src/topp/FileFilter.cpp +++ b/src/topp/FileFilter.cpp @@ -22,7 +22,6 @@ #include #include -#include #include @@ -1381,7 +1380,7 @@ class TOPPFileFilter : const bool enable_rt_check = (rt_tol >= 0); const bool enable_sim_check = (sim_tol > -1); - std::unique_ptr comp_function(Factory::create("ZhangSimilarityScore")); + auto comp_function= std::unique_ptr(new (ZhangSimilarityScore)); set list_idx; diff --git a/src/topp/GenericWrapper.cpp b/src/topp/GenericWrapper.cpp index 13d2a4caf09..8e92e88179c 100644 --- a/src/topp/GenericWrapper.cpp +++ b/src/topp/GenericWrapper.cpp @@ -11,7 +11,6 @@ #include #include -#include #include #include #include diff --git a/src/topp/ImageCreator.cpp b/src/topp/ImageCreator.cpp index ff4a0ebc799..1b18750eb8e 100644 --- a/src/topp/ImageCreator.cpp +++ b/src/topp/ImageCreator.cpp @@ -278,7 +278,8 @@ class TOPPImageCreator : //---------------------------------------------------------------- //Do the actual resampling BilinearInterpolation bilip; - bilip.getData().resize(rows, cols); + bilip.getData().getEigenMatrix().resize(rows, cols); + bilip.getData().getEigenMatrix().setZero(); if (!getFlag_("transpose")) { @@ -323,8 +324,8 @@ class TOPPImageCreator : //---------------------------------------------------------------- //create and store image - int scans = (int) bilip.getData().sizePair().first; - int peaks = (int) bilip.getData().sizePair().second; + int scans = (int) bilip.getData().rows(); + int peaks = (int) bilip.getData().cols(); bool use_log = getFlag_("log_intensity"); @@ -358,7 +359,7 @@ class TOPPImageCreator : double factor = getDoubleOption_("max_intensity"); if (factor == 0) { - factor = (*std::max_element(bilip.getData().begin(), bilip.getData().end())); + factor = bilip.getData().getEigenMatrix().maxCoeff(); } // with a user-supplied gradient, we need to logarithmize explicitly; // by default, the gradient itself is adjusted to the log-scale: @@ -370,7 +371,7 @@ class TOPPImageCreator : { for (int j = 0; j < peaks; ++j) { - double value = bilip.getData().getValue(i, j); + double value = bilip.getData()(i, j); if (use_log) value = std::log(value); if (value > 1e-4) { diff --git a/src/topp/MapAlignerIdentification.cpp b/src/topp/MapAlignerIdentification.cpp index ab44a541447..7e2b7e6b572 100644 --- a/src/topp/MapAlignerIdentification.cpp +++ b/src/topp/MapAlignerIdentification.cpp @@ -57,7 +57,7 @@ All map alignment tools (MapAligner...) collect retention time data from the inp The map alignment tools differ in how they obtain retention time data for the modeling of transformations, and consequently what types of data they can be applied to. The alignment algorithm implemented here is based on peptide identifications, and thus applicable to files containing peptide IDs (idXML, annotated featureXML/consensusXML). It finds peptide sequences that different input files have in common and uses them as points of correspondence between the inputs. For more details and algorithm-specific parameters (set in the INI file) see "Detailed Description" in the @ref OpenMS::MapAlignmentAlgorithmIdentification "algorithm documentation". -@see @ref TOPP_MapAlignerPoseClustering @ref TOPP_MapAlignerSpectrum @ref TOPP_MapRTTransformer +@see @ref TOPP_MapAlignerPoseClustering @ref TOPP_MapRTTransformer Note that alignment is based on the sequence including modifications, thus an exact match is required. I.e., a peptide with oxidised methionine will not be matched to its unmodified version. This behavior is generally desired since (some) modifications can cause retention time shifts. diff --git a/src/topp/MapAlignerPoseClustering.cpp b/src/topp/MapAlignerPoseClustering.cpp index eff0089ebbf..f7fa9a4344a 100644 --- a/src/topp/MapAlignerPoseClustering.cpp +++ b/src/topp/MapAlignerPoseClustering.cpp @@ -66,7 +66,7 @@ step. This algorithm can be applied to features (featureXML) and peaks details and algorithm-specific parameters (set in the INI file) see "Detailed Description" in the @ref OpenMS::MapAlignmentAlgorithmPoseClustering "algorithm documentation". -@see @ref TOPP_MapAlignerPoseClustering @ref TOPP_MapAlignerSpectrum @ref TOPP_MapRTTransformer +@see @ref TOPP_MapAlignerPoseClustering @ref TOPP_MapRTTransformer This algorithm uses an affine transformation model. diff --git a/src/topp/MapAlignerSpectrum.cpp b/src/topp/MapAlignerSpectrum.cpp deleted file mode 100644 index 259a7ee234c..00000000000 --- a/src/topp/MapAlignerSpectrum.cpp +++ /dev/null @@ -1,181 +0,0 @@ -// Copyright (c) 2002-present, The OpenMS Team -- EKU Tuebingen, ETH Zurich, and FU Berlin -// SPDX-License-Identifier: BSD-3-Clause -// -// -------------------------------------------------------------------------- -// $Maintainer: Timo Sachsenberg $ -// $Authors: Marc Sturm, Clemens Groepl $ -// -------------------------------------------------------------------------- - -#include -#include -#include -#include - -using namespace OpenMS; -using namespace std; - -//------------------------------------------------------------- -// Doxygen docu -//------------------------------------------------------------- - -/** -@page TOPP_MapAlignerSpectrum MapAlignerSpectrum - -@brief Corrects retention time distortions between maps by aligning spectra. - -
    - - - - - - - - -
    potential predecessor tools - → MapAlignerSpectrum → potential successor tools -
    @ref TOPP_FileConverter @ref TOPP_FeatureFinderCentroided @n (or another feature finding algorithm)
    -
    - -This tool provides an algorithm to align the retention time scales of multiple input files, correcting shifts and distortions between them. Retention time adjustment may be necessary to correct for chromatography differences e.g. before data from multiple LC-MS runs can be combined (feature grouping), or when one run should be annotated with peptide identifications obtained in a different run. - - All map alignment tools (MapAligner...) collect retention time data from the input files and - by fitting a model to this data - compute transformations that map all runs to a common retention time scale. They can apply the transformations right away and return output files with aligned time scales (parameter @p out), and/or return descriptions of the transformations in trafoXML format (parameter @p trafo_out). Transformations stored as trafoXML can be applied to arbitrary files with the @ref TOPP_MapRTTransformer tool. - -The map alignment tools differ in how they obtain retention time data for the modeling of transformations, and consequently what types of data they can be applied to. Here, an experimental algorithm based on spectrum alignment is implemented. It is only applicable to peak maps (mzML format). -For more details and algorithm-specific parameters (set in the INI file) see "Detailed Description" in the @ref OpenMS::MapAlignmentAlgorithmSpectrumAlignment "algorithm documentation". - -@see @ref TOPP_MapAlignerIdentification @ref TOPP_MapAlignerPoseClustering @ref TOPP_MapRTTransformer - -Since %OpenMS 1.8, the extraction of data for the alignment has been separate from the modeling of RT transformations based on that data. It is now possible to use different models independently of the chosen algorithm. This algorithm has been tested mostly with the "interpolated" model. The different available models are: -- @ref OpenMS::TransformationModelLinear "linear": Linear model. -- @ref OpenMS::TransformationModelInterpolated "interpolated": Smoothing spline (non-linear). - -The following parameters control the modeling of RT transformations (they can be set in the "model" section of the INI file): -@htmlinclude OpenMS_MapAlignerSpectrumModel.parameters @n - -The command line parameters of this tool are: @n -@verbinclude TOPP_MapAlignerSpectrum.cli -INI file documentation of this tool: -@htmlinclude TOPP_MapAlignerSpectrum.html - -*/ - -// We do not want this class to show up in the docu: -/// @cond TOPPCLASSES - -class TOPPMapAlignerSpectrum : - public TOPPMapAlignerBase -{ - -public: - TOPPMapAlignerSpectrum() : - TOPPMapAlignerBase("MapAlignerSpectrum", "Corrects retention time distortions between maps by spectrum alignment.") - { - } - -protected: - void registerOptionsAndFlags_() override - { - String formats = "mzML"; - // no support for a reference file yet: - TOPPMapAlignerBase::registerOptionsAndFlagsMapAligners_(formats, REF_NONE); - registerSubsection_("algorithm", "Algorithm parameters section"); - registerSubsection_("model", "Options to control the modeling of retention time transformations from data"); - } - - Param getSubsectionDefaults_(const String& section) const override - { - if (section == "algorithm") - { - MapAlignmentAlgorithmSpectrumAlignment algo; - return algo.getParameters(); - } - if (section == "model") - { - return getModelDefaults("interpolated"); - } - return Param(); // shouldn't happen - } - - ExitCodes main_(int, const char**) override - { - ExitCodes ret = checkParameters_(); - if (ret != EXECUTION_OK) return ret; - - MapAlignmentAlgorithmSpectrumAlignment algorithm; - Param algo_params = getParam_().copy("algorithm:", true); - algorithm.setParameters(algo_params); - algorithm.setLogType(log_type_); - - StringList ins = getStringList_("in"); - StringList outs = getStringList_("out"); - StringList trafos = getStringList_("trafo_out"); - Param model_params = getParam_().copy("model:", true); - String model_type = model_params.getValue("type").toString(); - model_params = model_params.copy(model_type + ":", true); - std::vector transformations; - - //------------------------------------------------------------- - // perform peak alignment - //------------------------------------------------------------- - ProgressLogger progresslogger; - progresslogger.setLogType(log_type_); - - // load input - std::vector peak_maps(ins.size()); - FileHandler f; - progresslogger.startProgress(0, ins.size(), "loading input files"); - for (Size i = 0; i < ins.size(); ++i) - { - progresslogger.setProgress(i); - f.loadExperiment(ins[i], peak_maps[i], {FileTypes::MZML}, log_type_); - } - progresslogger.endProgress(); - - // try to align - algorithm.align(peak_maps, transformations); - if (model_type != "none") - { - for (TransformationDescription& tra : transformations) - { - tra.fitModel(model_type, model_params); - } - } - - // write output - progresslogger.startProgress(0, outs.size(), "applying RT transformations and writing output files"); - for (Size i = 0; i < outs.size(); ++i) - { - progresslogger.setProgress(i); - - MapAlignmentTransformer::transformRetentionTimes(peak_maps[i], - transformations[i]); - // annotate output with data processing info - addDataProcessing_(peak_maps[i], - getProcessingInfo_(DataProcessing::ALIGNMENT)); - - f.storeExperiment(outs[i], peak_maps[i],{FileTypes::MZML}, log_type_); - } - progresslogger.endProgress(); - - if (!trafos.empty()) - { - for (Size i = 0; i < transformations.size(); ++i) - { - FileHandler().storeTransformations(trafos[i], transformations[i], {FileTypes::TRANSFORMATIONXML}); - } - } - - return EXECUTION_OK; - } - -}; - - -int main(int argc, const char** argv) -{ - TOPPMapAlignerSpectrum tool; - return tool.main(argc, argv); -} - -/// @endcond diff --git a/src/topp/MapAlignerTreeGuided.cpp b/src/topp/MapAlignerTreeGuided.cpp index 76e2b6d3e4c..56b8a6bd31b 100644 --- a/src/topp/MapAlignerTreeGuided.cpp +++ b/src/topp/MapAlignerTreeGuided.cpp @@ -60,7 +60,7 @@ maps for hierarchical clustering. Tree based, the alignment of each cluster pair @ref OpenMS::MapAlignmentAlgorithmIdentification. For more details and algorithm-specific parameters (set in the INI file) see "Detailed Description" in the @ref OpenMS::MapAlignmentAlgorithmTreeGuided "algorithm documentation". -@see @ref TOPP_MapAlignerIdentification @ref TOPP_MapAlignerPoseClustering @ref TOPP_MapAlignerSpectrum @ref TOPP_MapRTTransformer +@see @ref TOPP_MapAlignerIdentification @ref TOPP_MapAlignerPoseClustering @ref TOPP_MapRTTransformer Note that alignment is based on the sequence including modifications, thus an exact match is required. I.e., a peptide with oxidised methionine will not be matched to its unmodified version. This behavior is generally desired since (some) modifications can cause retention time shifts. diff --git a/src/topp/MapRTTransformer.cpp b/src/topp/MapRTTransformer.cpp index 20b071c3831..d5141c6eb3f 100644 --- a/src/topp/MapRTTransformer.cpp +++ b/src/topp/MapRTTransformer.cpp @@ -41,7 +41,7 @@ The transformations might have been generated by a previous invocation of one of However, the trafoXML file format is not very complicated, so it is relatively easy to write (or generate) your own files. Each input file will give rise to one output file. -@see @ref TOPP_MapAlignerIdentification @ref TOPP_MapAlignerPoseClustering @ref TOPP_MapAlignerSpectrum +@see @ref TOPP_MapAlignerIdentification @ref TOPP_MapAlignerPoseClustering With this tool it is also possible to invert transformations, or to fit a different model than originally specified to the retention time data in the transformation files. To fit a new model, choose a value other than "none" for the model type (see below). diff --git a/src/topp/OpenMSInfo.cpp b/src/topp/OpenMSInfo.cpp index 2abdbed8750..e5b0f3acf5c 100644 --- a/src/topp/OpenMSInfo.cpp +++ b/src/topp/OpenMSInfo.cpp @@ -6,13 +6,15 @@ // $Authors: Marc Sturm, Chris Bielow $ // -------------------------------------------------------------------------- -#include +#include +#include #include #include +#include #include #include +#include #include -#include #ifdef _OPENMP #include "omp.h" @@ -26,46 +28,49 @@ using namespace std; /** @page TOPP_OpenMSInfo OpenMSInfo -@brief Prints configurations details of %OpenMS (Version, Git hash, SIMD extensions, Multithreading), along with directories where auxilliary data like - modifications (UniMOD), Enzymes etc are taken from. +@brief Prints configurations details of %OpenMS (Version, Git hash, SIMD extensions, Multithreading), along with directories where auxilliary data +like modifications (UniMOD), Enzymes etc are taken from. Some path's can be manipulated by the user by setting environment variables. If not set, the values are taken from the system defaults.
      -
    • Data path: controlled by the environment variable 'OPENMS_DATA_PATH'; the value should point to a %OpenMS share directory, e.g. 'c:/program files/OpenMS3.1/share/OpenMS' -
    • Temp path: controlled by the environment variable 'OPENMS_TMPDIR'; the value should point to where you want %OpenMS to store temporary data. -
    • Userdata path: controlled by the environment variable 'OPENMS_HOME_PATH'; the value should point to where you want %OpenMS to store user-realted data, e.g. the .OpenMS.ini. +
    • Data path: controlled by the environment variable 'OPENMS_DATA_PATH'; the value should point to a %OpenMS share directory, e.g. +'c:/program files/OpenMS3.1/share/OpenMS'
    • Temp path: controlled by the environment variable 'OPENMS_TMPDIR'; the value should point to +where you want %OpenMS to store temporary data.
    • Userdata path: controlled by the environment variable 'OPENMS_HOME_PATH'; the value should +point to where you want %OpenMS to store user-realted data, e.g. the .OpenMS.ini.
    This tool does not need/use any command line parameters. Example output: @code -OpenMS Version: -================== -Version : 3.1.0-pre-disabled-20230914 -Build time : Sep 14 2023, 12:02:03 + +Full documentation: http://www.openms.de/doxygen/nightly/html/TOPP_OpenMSInfo.html +To cite OpenMS: + + Pfeuffer, J., Bielow, C., Wein, S. et al.. OpenMS 3 enables reproducible analysis of large-scale mass spectrometry + data. Nat Methods (2024). doi:10.1038/s41592-024-02197-7. + +<< OpenMS Version >> +Version : 3.1.0 +Build time : Mar 4 2024, 10:42:53 Git sha1 : disabled Git branch : disabled -Installation information: -================== -Data path : C:/dev/openms/share/OpenMS +<< Installation information >> +Data path : C:/dev/openms2/share/OpenMS Temp path : C:/Users/bielow/AppData/Local/Temp Userdata path: C:/Users/bielow/ -Build information: -================== +<< Build information >> Source path : C:/dev/openms/src/openms Binary path : C:/dev/openms_build/src/openms Binary arch : 64 bit -Build type : Release +Build type : Debug LP-Solver : COIN-OR OpenMP : enabled (maxThreads = 32) -SIMD extensions : SSE, SSE2, SSE3, SSE4.1, AVX +SIMD extensions : SSE, SSE2, SSE3, SSE4.1, SSE4.2, AVX -OS Information: -================== +<< OS Information >> Name: Windows Version: 10 Architecture: 64 bit @@ -82,7 +87,7 @@ const auto max_threads = Internal::OpenMSBuildInfo::getOpenMPMaxNumThreads(); class TOPPOpenMSInfo : public TOPPBase { public: - TOPPOpenMSInfo() : TOPPBase("OpenMSInfo", "Prints configurations details of OpenMS.") + TOPPOpenMSInfo(): TOPPBase("OpenMSInfo", "Prints configurations details of OpenMS.") { } @@ -93,54 +98,62 @@ class TOPPOpenMSInfo : public TOPPBase registerInputFile_("dummy", "", "", "A fake input file, which is needed for some workflow systems to call this tool", false, true); } - //Param getSubsectionDefaults_(const String& /*section*/) const override + // Param getSubsectionDefaults_(const String& /*section*/) const override //{ - // return SpectraMerger().getParameters(); - //} + // return SpectraMerger().getParameters(); + // } ExitCodes main_(int, const char**) override { - cout << "OpenMS Version:" << "\n"; - cout << "==================" << "\n"; - cout << "Version : " << VersionInfo::getVersion() << "\n"; - cout << "Build time : " << VersionInfo::getTime() << "\n"; - cout << "Git sha1 : " << VersionInfo::getRevision() << "\n"; - cout << "Git branch : " << VersionInfo::getBranch() << "\n"; - cout << "\n"; - cout << "Installation information:" << "\n"; - cout << "==================" << "\n"; - cout << "Data path : " << File::getOpenMSDataPath() << "\n"; - cout << "Temp path : " << File::getTempDirectory() << "\n"; - cout << "Userdata path: " << File::getUserDirectory() << "\n"; - - cout << "\n"; - cout << "Build information:" << "\n"; - cout << "==================" << "\n"; - cout << "Source path : " << OPENMS_SOURCE_PATH << "\n"; - cout << "Binary path : " << OPENMS_BINARY_PATH << "\n"; - cout << "Binary arch : " << Internal::OpenMSOSInfo::getBinaryArchitecture() << "\n"; - cout << "Build type : " << Internal::OpenMSBuildInfo::getBuildType() << "\n"; + IndentedStream is(cout, 0, 10); + is << '\n' + << bright("Full documentation: ") // the space is needed, otherwise the remaining line will be underlined on Windows.. + << underline(TOPPBase::getDocumentationURL()) << " " // the space is needed ... + << '\n' + << bright("To cite OpenMS:\n") << " + " + << is.indent(3) << cite_openms_.toString() << is.indent(0); + + is << "\n\n" + << green("<< OpenMS Version >>\n") + << "Version : " << VersionInfo::getVersion() << "\n" + << "Build time : " << VersionInfo::getTime() << "\n" + << "Git sha1 : " << VersionInfo::getRevision() << "\n" + << "Git branch : " << VersionInfo::getBranch() << "\n" + << "\n" + << green("<< Installation information >>\n") + << "Data path : " << File::getOpenMSDataPath() << "\n" + << "Temp path : " << File::getTempDirectory() << "\n" + << "Userdata path: " << File::getUserDirectory() << "\n" + << "\n" + << green("<< Build information >>\n") + << "Source path : " << OPENMS_SOURCE_PATH << "\n" + << "Binary path : " << OPENMS_BINARY_PATH << "\n" + << "Binary arch : " << Internal::OpenMSOSInfo::getBinaryArchitecture() << "\n" + << "Build type : " << Internal::OpenMSBuildInfo::getBuildType() << "\n"; #if COINOR_SOLVER == 1 - cout << "LP-Solver : COIN-OR\n"; + is << "LP-Solver : COIN-OR\n"; #else cout << "LP-Solver : GLPK\n"; #endif - #ifdef _OPENMP - cout << "OpenMP : " << "enabled (maxThreads = " << max_threads << ")" << "\n"; - #else - cout << "OpenMP : " << "disabled" << "\n"; - #endif - cout << "SIMD extensions : " << Internal::OpenMSOSInfo::getActiveSIMDExtensions() << "\n"; - cout << "\n"; +#ifdef _OPENMP + is << "OpenMP : " + << "enabled (maxThreads = " << max_threads << ")" + << "\n"; +#else + is << "OpenMP : " + << "disabled" + << "\n"; +#endif + is << "SIMD extensions : " << Internal::OpenMSOSInfo::getActiveSIMDExtensions() << "\n" + << "\n"; Internal::OpenMSOSInfo info = Internal::OpenMSOSInfo::getOSInfo(); - cout << "OS Information:" << "\n"; - cout << "==================" << "\n"; - cout << "Name: " << info.getOSAsString() << "\n"; - cout << "Version: " << info.getOSVersionAsString() << "\n"; - cout << "Architecture: " << info.getArchAsString() << "\n"; - cout << "\n"; + is << green("<< OS Information >>\n") + << "Name: " << info.getOSAsString() << "\n" + << "Version: " << info.getOSVersionAsString() << "\n" + << "Architecture: " << info.getArchAsString() << "\n" + << "\n"; return EXECUTION_OK; } diff --git a/src/topp/SiriusAdapter.cpp b/src/topp/SiriusAdapter.cpp deleted file mode 100644 index c6578d0a4b4..00000000000 --- a/src/topp/SiriusAdapter.cpp +++ /dev/null @@ -1,302 +0,0 @@ -// Copyright (c) 2002-present, The OpenMS Team -- EKU Tuebingen, ETH Zurich, and FU Berlin -// SPDX-License-Identifier: BSD-3-Clause -// -// -------------------------------------------------------------------------- -// $Maintainer: Oliver Alka $ -// $Authors: Oliver Alka, Timo Sachsenberg $ -// -------------------------------------------------------------------------- - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -using namespace OpenMS; -using namespace std; - -//---------------------------------------------------------- -// Doxygen docu -//---------------------------------------------------------- -/** -@page TOPP_SiriusAdapter SiriusAdapter - -@brief De novo metabolite identification. - -CSI:FingerID (Compound Structure Identification: FingerID) is a method for searching a tandem mass spectrum of a small molecule (metabolite) in a database of molecular structures. - -To use this feature, the Sirius command line tool as well as a java installation is needed. - -Sirius can be found on https://bio.informatik.uni-jena.de/software/sirius/ - -Please use Sirius Version 4.0.1 - -If you want to use the software with the Gurobi solver or CPLEX instead of GLPK, please follow the instructions in the sirius manual. - -Internal procedure in SiriusAdapter \n -1. Input mzML (and optional featureXML) \n -2. Preprocessing (see below)\n -3. Parsed by SiriusMSConverter into (sirius internal) .ms format \n -4. Submission of .ms and additional parameters to wrapped SIRIUS CLI \n -5. Sirius output saved in internal temporary folder structure \n -6. Sirius output is parsed (SiriusMzTabWriter/CsiFingerIDMzTabWriter) \n -7. Merge corresponding output in one mzTab (out_sirius/out_fingerid) \n - -Preprocessing (featureXML): -By providing a featureXML, the feature information can be used for feature mapping. -Sirius will then process the internally merged MS2 spectra allocated to one feature (instead of all available MS2). -To reduce the feature space even further a masstrace filter can be set. -Additional adduct information can be provided using a featureXML from the MetaboliteAdductDecharger or AccurateMassSearch. - -The command line parameters of this tool are: -@verbinclude TOPP_SiriusAdapter.cli -INI file documentation of this tool: -@htmlinclude TOPP_SiriusAdapter.html - */ - -/// @cond TOPPCLASSES - -class TOPPSiriusAdapter : - public TOPPBase -{ - public: - TOPPSiriusAdapter() : - TOPPBase("SiriusAdapter", "Metabolite identification using single and tandem mass spectrometry", false, - { - {"Kai Duehrkop and Sebastian Boecker", - "Fragmentation trees reloaded", - "J Cheminform; 2016", - "10.1186/s13321-016-0116-8"}, - {"Kai Duehrkop, Huibin Shen, Marvin Meusel, Juho Rousu, and Sebastian Boecker", - "Searching molecular structure databases with tandem mass spectra using CSI:FingerID", - "Proceedings of the National Academy of Sciences; 2015", - "10.1073/pnas.1509788112"} - }) - {} - -private: - SiriusAdapterAlgorithm algorithm; - -protected: - - void registerOptionsAndFlags_() override - { - registerInputFile_("sirius_executable", "", - // choose the default value according to the platform where it will be executed -#ifdef OPENMS_WINDOWSPLATFORM - "sirius.bat", -#else - "sirius", -#endif - "The Sirius executable. Provide a full or relative path, or make sure it can be found in your PATH environment.", false, false, {"is_executable"}); - - registerInputFile_("in", "", "", "MzML Input file"); - setValidFormats_("in", ListUtils::create("mzML")); - - registerInputFile_("in_featureinfo", "", "", "FeatureXML input with feature and adduct information", false); - setValidFormats_("in_featureinfo", ListUtils::create("featureXML")); - - registerOutputFile_("out_sirius", "", "", "MzTab output file for SIRIUS results", false); - setValidFormats_("out_sirius", ListUtils::create("mzTab")); - - registerOutputFile_("out_fingerid","", "", "MzTab output file for CSI:FingerID, if this parameter is given, SIRIUS will search for a molecular structure using CSI:FingerID after determining the sum formula", false); - setValidFormats_("out_fingerid", ListUtils::create("mzTab")); - - registerOutputFile_("out_ms","", "", "Internal SIRIUS .ms format after OpenMS preprocessing", false); - setValidFormats_("out_ms", ListUtils::create("ms")); - - registerOutputFile_("out_annotated_spectra","", "", "Export spectra with fragment annotations from SIRIUS", false); - setValidFormats_("out_annotated_spectra", ListUtils::create("mzML")); - - registerStringOption_("out_project_space", "", "", "Output directory for SIRIUS project space", false); - - registerStringOption_("sirius_user_email", "", "", "E-mail for your SIRIUS account.", false); - - registerStringOption_("sirius_user_password", "", "", "Password for your SIRIUS account.", false); - - registerFlag_("converter_mode", "Use this flag in combination with the out_ms file to convert the input mzML and featureXML to a .ms file. Without further SIRIUS processing.", true); - - addEmptyLine_(); - - auto defaults = algorithm.getDefaults(); - defaults.remove("project:processors"); - - registerFullParam_(defaults); - } - - ExitCodes main_(int, const char **) override - { - //------------------------------------------------------------- - // Parsing parameters - //------------------------------------------------------------- - String sirius_executable = getStringOption_("sirius_executable"); - String in = getStringOption_("in"); - String out_sirius = getStringOption_("out_sirius"); - String out_csifingerid = getStringOption_("out_fingerid"); - String featureinfo = getStringOption_("in_featureinfo"); - String out_ms = getStringOption_("out_ms"); - String out_ann_spectra = getStringOption_("out_annotated_spectra"); - String sirius_workspace_directory = getStringOption_("out_project_space"); - String sirius_user_email = getStringOption_("sirius_user_email"); - String sirius_user_password = getStringOption_("sirius_user_password"); - bool converter_mode = getFlag_("converter_mode"); - - auto params = getParam_(); - if (debug_level_ > 3) - { - params.setValue("read_sirius_stdout", "true"); - } - params.setValue("project:processors", params.getValue("threads")); - algorithm.updateExistingParameter(params); - - writeDebug_("Parameters passed to SiriusAdapterAlgorithm", algorithm.getParameters(), 3); - - //------------------------------------------------------------- - // Calculations - //------------------------------------------------------------- - MSExperiment spectra; - FileHandler().loadExperiment(in, spectra, {FileTypes::MZML}, log_type_); - - // make temporary files - SiriusAdapterAlgorithm::SiriusTemporaryFileSystemObjects sirius_tmp(debug_level_); - - // run masstrace filter and feature mapping - FeatureMapping::FeatureMappingInfo fm_info; - FeatureMapping::FeatureToMs2Indices feature_mapping; // reference to *basefeature in Feature Maps stored in fm_info using a KDTree - algorithm.preprocessingSirius(featureinfo, - spectra, - fm_info, - feature_mapping); - - // returns Log of feature and/or spectra number - algorithm.logFeatureSpectraNumber(featureinfo, feature_mapping, spectra); - - // write msfile and store the compound information in CompoundInfo Object - vector v_cmpinfo; - SiriusMSFile::store(spectra, - sirius_tmp.getTmpMsFile(), - feature_mapping, - algorithm.isFeatureOnly(), - algorithm.getIsotopePatternIterations(), - algorithm.isNoMasstraceInfoIsotopePattern(), - v_cmpinfo); - - // converter_mode enabled (only needed for SiriusAdapter) - if (!out_ms.empty() && converter_mode) - { - QFile::copy(sirius_tmp.getTmpMsFile().toQString(), out_ms.toQString()); - - OPENMS_LOG_WARN << "SiriusAdapter was used in converter mode and is terminated after OpenMS preprocessing. \n" - "If you would like to run SIRIUS internally please disable the converter mode." << std::endl; - - return EXECUTION_OK; - } - - // log in to Sirius account if email and password are specified - if (!sirius_user_email.empty() && !sirius_user_password.empty()) - { - algorithm.logInSiriusAccount(sirius_executable, sirius_user_email, sirius_user_password); - } - else OPENMS_LOG_WARN << "No Sirius user account login information specified!" << std::endl; - - // calls Sirius and returns vector of paths to sirius folder structure - std::vector subdirs = algorithm.callSiriusQProcess(sirius_tmp.getTmpMsFile(), - sirius_tmp.getTmpOutDir(), - sirius_executable, - out_csifingerid, - false); - - //------------------------------------------------------------- - // writing output - //------------------------------------------------------------- - - if (subdirs.empty()) - { - throw OpenMS::Exception::Postcondition(__FILE__,__LINE__, OPENMS_PRETTY_FUNCTION, "Sirius was executed, but an empty output was generated"); - } - - // sort vector path list - SiriusAdapterAlgorithm::sortSiriusWorkspacePathsByScanIndex(subdirs); - // TODO make parameter(s)? - double score_threshold = 0.0; - bool use_exact_mass = false; - if (!out_ann_spectra.empty()) - { - MSExperiment annotations{}; - // extract Sirius FragmentAnnotations from subdirs - // do not resolve for concat native IDs (i.e., per feature) since we want to write the annotated spectrum for every candidate - // use 0.0 to not have a score_threshold - annotations.setSpectra(SiriusFragmentAnnotation::extractSiriusAnnotationsTgtOnly(subdirs, score_threshold, use_exact_mass, false)); - // TODO check if we have duplicate native IDs without resolution and if this is a problem - FileHandler().storeExperiment(out_ann_spectra, annotations, {FileTypes::MZML}, log_type_); - - // TODO remove the following or use it to add more info to the spectra - // combine compound information (SiriusMSFile) with annotated spectra (SiriusFragmentAnnotation) - //vector v_cmp_spec = MetaboTargetedAssay::pairCompoundWithAnnotatedSpectra(v_cmpinfo, annotated_spectra); - } - - // convert sirius_output to mztab and store file - const int candidates = algorithm.getNumberOfSiriusCandidates(); - MzTab sirius_result; - MzTabFile siriusfile; - SiriusMzTabWriter::read(subdirs, in, candidates, sirius_result); - siriusfile.store(out_sirius, sirius_result); - - // convert sirius_output to mztab and store file - if (!out_csifingerid.empty()) - { - MzTab csi_result; - MzTabFile csifile; - CsiFingerIdMzTabWriter::read(subdirs, in, candidates, csi_result); - csifile.store(out_csifingerid, csi_result); - } - - // should the sirius workspace be retained - if (!sirius_workspace_directory.empty()) - { - // convert path to absolute path - QDir sw_dir(sirius_workspace_directory.toQString()); - sirius_workspace_directory = String(sw_dir.absolutePath()); - - // move tmp folder to new location - bool copy_status = File::copyDirRecursively(sirius_tmp.getTmpDir().toQString(), sirius_workspace_directory.toQString()); - if (copy_status) - { - OPENMS_LOG_INFO << "Sirius workspace was successfully copied to " << sirius_workspace_directory << std::endl; - } - else - { - OPENMS_LOG_INFO << "Sirius workspace could not be copied to " << sirius_workspace_directory << ". Please run SiriusAdapter with debug >= 2." << std::endl; - } - } - - // should the ms file be retained (non-converter mode) - if (!out_ms.empty()) - { - QFile::copy(sirius_tmp.getTmpMsFile().toQString(), out_ms.toQString()); - OPENMS_LOG_INFO << "Preprocessed .ms files were moved to " << out_ms << std::endl; - } - return EXECUTION_OK; - } -}; - -int main(int argc, const char ** argv) -{ - TOPPSiriusAdapter tool; - return tool.main(argc, argv); -} - -/// @endcond diff --git a/src/topp/SiriusExport.cpp b/src/topp/SiriusExport.cpp new file mode 100644 index 00000000000..218c71f7bc2 --- /dev/null +++ b/src/topp/SiriusExport.cpp @@ -0,0 +1,137 @@ +// Copyright (c) 2002-2023, The OpenMS Team -- EKU Tuebingen, ETH Zurich, and FU Berlin +// SPDX-License-Identifier: BSD-3-Clause +// +// -------------------------------------------------------------------------- +// $Maintainer: Axel Walter, Oliver Alka $ +// $Authors: Axel Walter, Oliver Alka, Timo Sachsenberg $ +// -------------------------------------------------------------------------- + +#include +#include +#include + +using namespace OpenMS; + +//---------------------------------------------------------- +// Doxygen docu +//---------------------------------------------------------- +/** + @page TOPP_SiriusExport SiriusExport + + @brief De novo metabolite identification. + + Exports an input file for SIRIUS, a tool for metabolomics data analysis with several subtools, each serving specific purposes: + + - SIRIUS: Identify molecular formula for each compound individually using fragmentation trees and isotope patterns. Output from this tool can be used to generate an OpenSwathAssay library with the AssayGeneratorMetabo TOPP tool. + - CSI:FingerID: This subtool is dedicated to predicting molecular structures based on tandem mass spectrometry (MS/MS) data. It utilizes a fragmentation tree approach for the annotation of fragment spectra. + - CANOPUS: Predict compound categories for each compound individually based on its predicted molecular fingerprint (CSI:FingerID) using CANOPUS. + - Passatutto: Compute decoy spectra based on the fragmentation trees of the given input spectra. If no molecular formula is provided in the input, the top scoring computed formula is used. Required to include decoys in an OpenSwathWorkflow assay library generated by the AssayGeneratorMetabo TOPP tool. + + Sirius can be found at https://bio.informatik.uni-jena.de/software/sirius/ + + Internal procedure in SiriusExport + 1. Input mzML (and optional featureXML) \n + Make sure to input the matching mzML and featureXML files in the correct order.\n + 2. Preprocessing \n + By providing a featureXML, the feature information can be used for feature mapping. \n + Sirius will then process the internally merged MS2 spectra allocated to one feature (instead of all available MS2). \n + To reduce the feature space even further a masstrace filter can be set. \n + Additional adduct information can be provided using a featureXML from the MetaboliteAdductDecharger or AccurateMassSearch. \n + 3. Parsed by SiriusMSConverter into (sirius internal) .ms format + + The command line parameters of this tool are: + @verbinclude TOPP_SiriusExport.cli + INI file documentation of this tool: + @htmlinclude TOPP_SiriusExport.html +*/ + +/// @cond TOPPCLASSES + +class TOPPSiriusExport : + public TOPPBase +{ + public: + TOPPSiriusExport() : + TOPPBase("SiriusExport", "Metabolite identification using single and tandem mass spectrometry", false, + { + {"Kai Duehrkop and Sebastian Boecker", + "Fragmentation trees reloaded", + "J Cheminform; 2016", + "10.1186/s13321-016-0116-8"}, + {"Kai Duehrkop, Huibin Shen, Marvin Meusel, Juho Rousu, and Sebastian Boecker", + "Searching molecular structure databases with tandem mass spectra using CSI:FingerID", + "Proceedings of the National Academy of Sciences; 2015", + "10.1073/pnas.1509788112"} + }) + {} + +protected: + + void registerOptionsAndFlags_() override + { + registerInputFileList_("in", "", StringList(), "MzML Input file(s)"); + setValidFormats_("in", ListUtils::create("mzML")); + + registerInputFileList_("in_featureinfo", "", StringList(), "FeatureXML input with feature and adduct information", false); + setValidFormats_("in_featureinfo", ListUtils::create("featureXML")); + + registerOutputFile_("out","", "", "Internal SIRIUS .ms format after OpenMS preprocessing"); + setValidFormats_("out", ListUtils::create("ms")); + + registerOutputFile_("out_compoundinfo","", "", "File (.tsv) with information on processed compounds which are associated with a feature. Required for AssayGeneratorMetaboSirius tool.", false); + setValidFormats_("out_compoundinfo", ListUtils::create("tsv")); + + addEmptyLine_(); + + registerFullParam_(SiriusExportAlgorithm().getDefaults()); + } + + ExitCodes main_(int, const char **) override + { + //------------------------------------------------------------- + // Parsing parameters + //------------------------------------------------------------- + StringList mzML_files = getStringList_("in"); + StringList featureXML_files = getStringList_("in_featureinfo"); + String out_ms = getStringOption_("out"); + String out_compoundinfo = getStringOption_("out_compoundinfo"); + + SiriusExportAlgorithm algorithm; + algorithm.setParameters(getParam_().copySubset(SiriusExportAlgorithm().getDefaults())); + + //------------------------------------------------------------- + // Check input + //------------------------------------------------------------- + if (featureXML_files.size() > 0 && mzML_files.size() != featureXML_files.size()) + { + throw Exception::MissingInformation(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION, + "Number of .mzML do not match to the number of .featureXML files. \n Please check and provide the corresponding files."); + } + + if (!out_compoundinfo.empty() && featureXML_files.size() == 0) + { + OPENMS_LOG_WARN << "A compound info output file was specified but no feature maps provided. The resulting table will be empty." << std::endl; + } + + if (algorithm.isFeatureOnly() && featureXML_files.size() == 0) + { + throw Exception::IllegalArgument(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION, + "No feature maps provided but preprocessing:feature_only flag set. Please provide featureXML files."); + } + + algorithm.run(mzML_files, + featureXML_files, + out_ms, + out_compoundinfo); + + return EXECUTION_OK; + } +}; + +int main(int argc, const char ** argv) +{ + TOPPSiriusExport tool; + return tool.main(argc, argv); +} + +/// @endcond diff --git a/src/topp/SpecLibSearcher.cpp b/src/topp/SpecLibSearcher.cpp index 14fd93356d1..44a83f5a34a 100644 --- a/src/topp/SpecLibSearcher.cpp +++ b/src/topp/SpecLibSearcher.cpp @@ -10,7 +10,6 @@ #include #include -#include #include #include #include @@ -111,8 +110,7 @@ class TOPPSpecLibSearcher : // setValidStrings_("fragment:mass_tolerance_unit", fragment_mass_tolerance_unit_valid_strings); registerStringOption_("compare_function", "", "ZhangSimilarityScore", "function for similarity comparison", false); - PeakSpectrumCompareFunctor::registerChildren(); - setValidStrings_("compare_function", Factory::registeredProducts()); + setValidStrings_("compare_function", {"ZhangSimilarityScore", "SpectraSTSimilarityScore"}); registerTOPPSubsection_("report", "Reporting Options"); registerIntOption_("report:top_hits", "", 10, "Maximum number of top scoring hits per spectrum that are reported.", false, true); @@ -329,7 +327,20 @@ class TOPPSpecLibSearcher : OPENMS_LOG_INFO << "Time needed for preprocessing data: " << (end_build_time - start_build_time) << "\n"; //compare function - std::unique_ptr comparator(Factory::create(compare_function)); + std::unique_ptr comparator; + if (compare_function == "SpectraSTSimilarityScore") + { + comparator.reset(new SpectraSTSimilarityScore()); + } + else if (compare_function == "ZhangSimilarityScore") + { + comparator.reset(new ZhangSimilarityScore()); + } + else + { + writeLogError_("Unknown compare function"); + return ILLEGAL_PARAMETERS; + } //------------------------------------------------------------- // calculations diff --git a/src/topp/executables.cmake b/src/topp/executables.cmake index 3219b96063f..c059a9ad6f3 100644 --- a/src/topp/executables.cmake +++ b/src/topp/executables.cmake @@ -5,6 +5,7 @@ set(directory source/APPLICATIONS/TOPP) set(TOPP_executables AccurateMassSearch AssayGeneratorMetabo +AssayGeneratorMetaboSirius BaselineFilter ClusterMassTraces ClusterMassTracesByPrecursor @@ -62,7 +63,6 @@ JSONExporter LuciphorAdapter MapAlignerIdentification MapAlignerPoseClustering -MapAlignerSpectrum MapAlignerTreeGuided MapNormalizer MapRTTransformer @@ -124,7 +124,7 @@ SeedListGenerator SemanticValidator SequenceCoverageCalculator SimpleSearchEngine -SiriusAdapter +SiriusExport SpecLibCreator SpecLibSearcher SpectraFilterBernNorm diff --git a/tools/pychecker_ignore.yaml b/tools/pychecker_ignore.yaml index 20503fbc12a..28f0b478d7e 100644 --- a/tools/pychecker_ignore.yaml +++ b/tools/pychecker_ignore.yaml @@ -799,9 +799,6 @@ PyOpenMSChecker: OpenMS::FeatureFinderAlgorithmPickedHelperStructs::MassTrace: - max_peak - peaks - OpenMS::HiddenMarkovModel: - - write # stream - - calculateEmissionProbabilities # ptr inside Map OpenMS::MarkerMower: - insertmarker OpenMS::ProteinResolver::ProteinEntry: @@ -1116,11 +1113,9 @@ PyOpenMSChecker: - OpenMS::StringListUtils # CONCEPT - - OpenMS::SingletonRegistry - OpenMS::StreamHandler - OpenMS::Factory - OpenMS::UniqueIdIndexer - - OpenMS::FactoryBase # METADATA - OpenMS::MetaInfoDescription @@ -1148,7 +1143,6 @@ PyOpenMSChecker: - OpenMS::LmaGaussModel - OpenMS::FeatureFinderAlgorithm - OpenMS::FeatureFinderDefs::NoSuccessor - - OpenMS::ProductModel< 2 > - OpenMS::LmaGaussFitter1D - OpenMS::MaxLikeliFitter1D - OpenMS::LmaIsotopeFitter1D diff --git a/tools/spellcheck/correct_words.txt b/tools/spellcheck/correct_words.txt index 26c1f1ef40b..dde4dc2c5d6 100644 --- a/tools/spellcheck/correct_words.txt +++ b/tools/spellcheck/correct_words.txt @@ -1737,7 +1737,6 @@ Phenylalanin PlotWidgets Precomputing Proc -ProductModels ProteinAccession ProteinIDRun ProteinIdentifications @@ -3208,7 +3207,7 @@ Selenocysteine Ser Serine SimTandem -SiriusAdapter +SiriusExport SparseVectors Specqual Spectronaut