GithubHelp home page GithubHelp logo

faims-mzxml-generator's Introduction

FAIMS MzXML Generator

Getting Started

MaxQuant currently does not process FAIMS data correctly if multiple correction voltages are used through the experiment's duration. The FAIMS MzXML Generator was developed as a workaround to this issue by splitting a FAIMS Raw file into a set of MaxQuant compliant MzXML files, each containing only scans collected using a single correction voltage. These resulting MzXML files can then be processed via MaxQuant as usual.

Written in C#, the FAIMS MzXML Generator accepts Thermo .raw files collected from FAIMS experiments. To begin using the application, download the repository and extract it from the resulting zipped folder.

The executable FAIMS MzXML Generator.exe is used to launch the application.

Prerequisites

  • A Windows-based operating system.
  • A MSFileReader or Xcalibur install.

Known Issues

Unhandled Exception: System.Runtime.InteropServices.COMException

This particular error is thrown when the 32-bit version of XRawFile2.dll from either MsFileReader or Thermo Foundation is not installed, or the dependency is not correctly registered with Windows.

This error can be resolved by installing the 32-bit version of MsFileReader or Xcalibur if it is not already installed or manually registering the required dependencies using Windows Command Prompt/Microsoft Register Server the using the following directions if XRawFile.dll already exists on your system.

  1. Find the paths to the following locations/files on your computer
// Path to the SysWOW64 folder
C:\Windows\SysWOW64

// Path to the 32-bit XRawFile2.dll. This should be in the Program Files (x86) folder
C:\Program Files (x86)\Thermo\MSFileReader\XRawfile2.dll
  1. Open command prompt as an administrator
  2. Navigate to the SysWoW64 directory using the following command
\\ Example
\\ The exact file path may change depending on your computer's configuration

cd C:\Windows\SysWOW64
  1. Run the Microsoft Register Server executable with the XRawFile2.dll as an argument
\\ Example
\\ The exact file path to XRawFile2.dlll may change depending on your computer's configuration

regsvr32.exe "C:\Program Files (x86)\Thermo\MSFileReader\XRawfile2.dll"

The 32-bit version of XRawFile2.dll should now be correct registered and the COMException error should no longer occur.

The program didn't return any MzXMLs from my non-FAIMS .raw file

This tool was specifically developed to split FAIMS .raw files into MzXMLs. If your file doesn't contain correction voltages, the FAIMS MzXML generator will not create any MzXMLs by design. Other data converters such as ReAdW or MsConvert already have this functionality.

If you encounter any other issues with this software tool please contact me at [email protected].

faims-mzxml-generator's People

Contributors

dbrademan avatar

Watchers

James Cloos avatar Derek Bailey avatar Anna Merrill avatar  avatar Nick Kwiecien avatar  avatar  avatar

faims-mzxml-generator's Issues

Original Scan Numbers Aren't Tracked

8/17/2020

This tool does not currently retain the original raw file scan numbers from experiments collecting using FAIMS device.

The reason why this information is not currently tracked isn't tracked to avoid a MaxQuant crash when processing the generated XML files. I believe MaxQuant requires scan numbers to be sequential (e.g. 1, 2, 3, 4, 5...) when searching data. Since the FAIMS CV offsets are usually cycled throughout a run, splitting a FAIMS raw file into several mzXMLs introduces 'gaps' into the scan numbers. These gaps previously caused trouble when I tried to feed the mzXMLs through MaxQuant.

My previous solution was to renumber the scans in sequential order post-split. This came at the cost of losing the original raw file scan number. This makes back-referencing to the raw file difficult. I'm going to try adding a comment tag inside each scan tag.

Current schema

<!-- MS1 tag start -->
<scan num="9" msLevel="1" ...more stuff....>
    <peaks ...more stuff...>Encoded Scan Data</peaks>
         <!-- MS2s -->
</scan>

Proposed new schema

<!-- MS1 tag start -->
<scan num="9" msLevel="1" ...more stuff....>
    <peaks ...more stuff...>Encoded Scan Data</peaks>
    <!-- Reference to original raw file scan number  -->
    <comment>257<comment>
         <!-- MS2s -->
</scan>

TMT SPS MS3 Not Supported

8/17/2020

This tool does not currently support splitting TMT SPS MS3 experiments collecting using FAIMS device.

The first release of this tool only checks for MS1- and MS2-level data and nests the MS2-scan tags into the MS1 scan tag.

Solution could be to also nest the MS3 scan tags into the appropriate MS2 tags. I'm unsure at this point if it'll work, but it won't hurt to try.

Current schema

<!-- MS1 tag start -->
<scan num="9" msLevel="1" ...more stuff....>
    <peaks ...more stuff...>Encoded Scan Data</peaks>
         <!-- MS2 tag start -->
        <scan num="10" msLevel="2"  ...more stuff....>
            <precursorMz ...more stuff...></precursorMz>
            <peaks ...more stuff...>Encoded Scan Data</peaks>
       </scan>
</scan>

Proposed new schema

<!-- MS1 tag start -->
<scan num="9" msLevel="1" ...more stuff....>
    <peaks ...more stuff...>Encoded Scan Data</peaks>
         <!-- MS2 tag start -->
        <scan num="10" msLevel="2"  ...more stuff....>
            <precursorMz ...more stuff...></precursorMz>
            <peaks ...more stuff...>Encoded Scan Data</peaks>
            <!-- MS3 tag start -->
            <scan num="11" msLevel="3"  ...more stuff....>
                 <precursorMz ...more stuff...></precursorMz>
                 <peaks ...more stuff...>Encoded Scan Data</peaks>
            </scan>
       </scan>
</scan>

Unhandled Exception: Windows10, 64-bit

I went through your steps for the unhandled exception and continued to get an error that the dll could not be loaded. Wanted to let you know that for Windows 10, 64-bit, you have to go to the directory of the dll and run regsvr from there.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.