fickludd / dinosaur

Feature finding algorithm for detection of isotope patterns in HPLC mass spectrometry data.
42 stars 19 forks source link

TIMS-TOF spectra #15

Open glormph opened 4 years ago

glormph commented 4 years ago

Hej, we have a new MS instrument and it is a TIMS-TOF. So the mzML files look a bit different from our normal QE data (in DDA mode at least), since multiple MS2 scans need combining and summing and whatnot. To create mzML files, we take msconvert and pass some extra flags: --combineIonMobilitySpectra --filter "scanSumming precursorTol=0.02 scanTimeTol=10 ionMobilityTol=0.1"

Now the output of this doesnt work with dinosaur (v.1.2.0 from bioconda), it crashes:

Dinosaur 1.2.0    built:${maven.build.timestamp}
  mzML file: 20200716_HeLa_iRT_QC_100min_1ul_r1_Slot2-2_20-07-18_2102.mzML
    out dir: null
   out name: dinosaur

.                              .
[Error parsing spectrum '0'
Exception in thread "main" se.lth.immun.mzml.ghost.GhostException: Unknown or unsupported datatype in spectrum: Unknown()
        at se.lth.immun.mzml.ghost.GhostSpectrum.readBinaryArray(GhostSpectrum.scala:169)
        at se.lth.immun.mzml.ghost.GhostSpectrum$$anonfun$fromSpectrum$1.apply(GhostSpectrum.scala:34)
        at se.lth.immun.mzml.ghost.GhostSpectrum$$anonfun$fromSpectrum$1.apply(GhostSpectrum.scala:33)
        at scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:59)
        at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:47)
        at se.lth.immun.mzml.ghost.GhostSpectrum$.fromSpectrum(GhostSpectrum.scala:33)
        at se.lth.immun.MzMLReader.handleSpectrum(MzMLReader.scala:95)
        at se.lth.immun.MzMLReader$$anonfun$4.apply(MzMLReader.scala:40)
        at se.lth.immun.MzMLReader$$anonfun$4.apply(MzMLReader.scala:40)
        at se.lth.immun.mzml.SpectrumList$.fromFile(SpectrumList.scala:26)
        at se.lth.immun.mzml.Run$.fromFile(Run.scala:34)
        at se.lth.immun.mzml.MzML$.fromFile(MzML.scala:181)
        at se.lth.immun.MzMLReader.read(MzMLReader.scala:67)
        at se.lth.immun.FeatureFinder.analyzeMzML(FeatureFinder.scala:81)
        at se.lth.immun.Dinosaur$.main(Dinosaur.scala:61)
        at se.lth.immun.Dinosaur.main(Dinosaur.scala)

I wondered if it could be a future functionality. I'd be happy to supply mzML if needed. :)

flevander commented 4 years ago

Hi, as you may have guessed from the late reply, there is currently no one actively maintaining the code. There was a fix for some mzML issues in a later Dinosaur release, so you may want to test your mzML file with the latest released version and report back if the problem persists.