Git Product home page Git Product logo

msidmatching's Introduction

msidmatching

Sandbox for matching ids between raw and identification data

msidmatching's People

Contributors

lgatto avatar

Watchers

 avatar  avatar  avatar

msidmatching's Issues

Matching and PSI standards

I hope to invest some time in the coming weeks to read more about the mzML and mzIdentML regarding the feature matching. This is build in, although I don't know the details. I think this is something that should be considered before tackling things purely from R in the frame of our discussions.

How does acquisitionNum get determined in mzR

Laurent, do you know what governs the choice of number for the acquisitionNum in the mzR header()?

As some of the native ID formats contains multiple integer values this is important to ensure correct indexing. Examples from the psi-ms.obo:

A complicated case:

id: MS:1000770
name: WIFF nativeID format
def: "sample=xsd:nonNegativeInteger period=xsd:nonNegativeInteger cycle=xsd:nonNegativeInteger experiment=xsd:nonNegativeInteger." [PSI:MS]
is_a: MS:1000767 ! native spectrum identifier format

A simple case

id: MS:1000772
name: Bruker BAF nativeID format
def: "scan=xsd:nonNegativeInteger." [PSI:MS]
is_a: MS:1000767 ! native spectrum identifier format

If we can get the mzR mapping I think a simple lookup table with the name of the IDFormats as keys and a regular expression that extracts the correct number from the spectrumID column in the mzIDpsm class as value would do the trick.

Then we could have:

require(stringr)
getConverter <- function(nativeID) {
 if (nativeID %in% names(lookup)) {
  regexp <- lookup[nativeID]
 } else {
  regexp <- nativeID
 }
 return(
  function(spectrumID) {
   str_extract(spectrumID, regexp)
  }
 )
}

which would easily allows us to add to the known cases, and let a user specify their own regular expressions if they are working with an esoteric ms data format.

Placement of all this code

I have thought about this and I actually think this should have a separate package instead of being incorporated into mzR or mzID. Both of these package are parsers and shouldn't come with so much else additional cruft, and certainly not depend on each other. It should be perfectly legal to only have mzID if the interest is only in evaluating search results...

I'm thinking a new package that defines how the two different objects work together would make sense, as there could also be standard plotting methods for the objects and combinations of the objects there; something that doesn't fit into a parser, but still general enough for a lot of people to want...

Anyway - this is just a start of a possibly long discussion on the subject, and as there is no code yet it is still a moot point : )

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.