Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Write isolationWindow/selectedIon for PRM data #164

Closed
wants to merge 1 commit into from

Conversation

lazear
Copy link
Contributor

@lazear lazear commented May 17, 2023

Reference #163

This PR adds support for writing isolationWindow/selectionIon information for runs without MS1 info (e.g. PRM, some DIA datasets). This information is needed to search PRM with Sage (and presumably other search engines). This should have the same behavior as MSConvert.

I tested this on ~1,500 raw files and it appears to work well :)

This branch:

<precursorList count="1">
            <precursor>
              <isolationWindow>
                <cvParam cvRef="MS" accession="MS:1000827" value="543.272338867188" name="isolation window target m/z" unitAccession="MS:1000040" unitName="m/z" unitCvRef="MS" />
                <cvParam cvRef="MS" accession="MS:1000828" value="0.6" name="isolation window lower offset" unitAccession="MS:1000040" unitName="m/z" unitCvRef="MS" />
                <cvParam cvRef="MS" accession="MS:1000829" value="0.6" name="isolation window upper offset" unitAccession="MS:1000040" unitName="m/z" unitCvRef="MS" />
              </isolationWindow>
              <selectedIonList count="1">
                <selectedIon>
                  <cvParam cvRef="MS" accession="MS:1000744" value="543.272338867188" name="selected ion m/z" unitAccession="MS:1000040" unitName="m/z" unitCvRef="MS" />
                  <cvParam cvRef="MS" accession="MS:1000041" value="2" name="charge state" />
                </selectedIon>
              </selectedIonList>
              <activation>
                <cvParam cvRef="MS" accession="MS:1000045" value="23" name="collision energy" unitAccession="UO:0000266" unitName="electronvolt" unitCvRef="UO" />
                <cvParam cvRef="MS" accession="MS:1000422" value="" name="beam-type collision-induced dissociation" />
              </activation>
            </precursor>
          </precursorList>

MSConvert:

<precursorList count="1">
          <precursor>
            <isolationWindow>
              <cvParam cvRef="MS" accession="MS:1000827" name="isolation window target m/z" value="543.272338867188" unitCvRef="MS" unitAccession="MS:1000040" unitName="m/z"/>
              <cvParam cvRef="MS" accession="MS:1000828" name="isolation window lower offset" value="0.600000023842" unitCvRef="MS" unitAccession="MS:1000040" unitName="m/z"/>
              <cvParam cvRef="MS" accession="MS:1000829" name="isolation window upper offset" value="0.600000023842" unitCvRef="MS" unitAccession="MS:1000040" unitName="m/z"/>
              <userParam name="ms level" value="1"/>
            </isolationWindow>
            <selectedIonList count="1">
              <selectedIon>
                <cvParam cvRef="MS" accession="MS:1000744" name="selected ion m/z" value="543.272338867188" unitCvRef="MS" unitAccession="MS:1000040" unitName="m/z"/>
                <cvParam cvRef="MS" accession="MS:1000041" name="charge state" value="2"/>
              </selectedIon>
            </selectedIonList>
            <activation>
              <cvParam cvRef="MS" accession="MS:1000422" name="beam-type collision-induced dissociation" value=""/>
              <cvParam cvRef="MS" accession="MS:1000045" name="collision energy" value="23.0" unitCvRef="UO" unitAccession="UO:0000266" unitName="electronvolt"/>
            </activation>
          </precursor>
        </precursorList>

@caetera
Copy link
Collaborator

caetera commented Jun 12, 2023

I have changed to using the virtual precursor at index -1 for PRM scans - in that way, it is possible to reuse the existing code for Precursor List and allow for further dependent scans, i.e. MS3 from PRM-type MS2 (not sure if this happens in any real application, though).
The changes were merged into the branch for version 1.4.3, therefore closing this PR.

@caetera caetera closed this Jun 12, 2023
@lazear
Copy link
Contributor Author

lazear commented Jun 12, 2023

Great, thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants