Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [chemclipse-dev] Which data model can store the raw data from TOF mass spectrometer?

Hi Philip,
Thanks for these great useful charting and tabulatiing articles. They are not only useful for the XMU TideMS project, but also helpful for my course project of Things of Internet.  

Best regards,

Trig

2016-07-05 14:52 GMT+08:00 Philip Wenig <philip.wenig@xxxxxxxxxxxxx>:
You're welcome.

The import converter extracts only the most important ions (~ 1000 m/z values) out of each scan (~ 200000 m/z values). This is a workaround so that the chromatogram is displayed fluently. Anyhow, it would be great if we could improve the existing mass spectrum views and tables to also display mass spectra containing a huge amount of ions. You could try to get familiar with the following technologies for tables:

http://www.vogella.com/tutorials/EclipseJFaceTable/article.html
https://eclipse.org/nattable
http://www.java2s.com/Code/Java/SWT-JFace-Eclipse/CreateaSWTtablewith1000000items.htm

and for charts:

http://www.swtchart.org
https://eclipse.org/nebula/widgets/visualization/visualization.php
http://docs.oracle.com/javafx/2/charts/line-chart.htm#CIHGBCFI

When you're ready, let's create some demos which are capable to handle huge amounts of ions.


Best,
Philip



Am 05.07.2016 um 02:02 schrieb Trig Chen:
Thank you, Philip.
I'll try it.

Best regards,

Trig

2016-07-05 0:38 GMT+08:00 Philip Wenig <philip.wenig@xxxxxxxxxxxxx>:
Hi Trig,

please pull the updates.
You can create a demo file using the TestCase

BinaryChromatogramWriter_1100_ITest

Then use OpenChrom to load the *.ttc file. Please study the changes carefully.
We also need to optimize the mass spectrum views and lists. Currently, they are optimized to handle a few hundred m/z values. If we like to display thousand of values, further improvements are needed. Feel free to find a solution to display a mass spectrum with 100000 ions.


Best,
Philip


Am 03.07.2016 um 14:07 schrieb Trig Chen:
Hi Philip,
Thank you for your thorough reply. I've noted the VendorChromatograph, VendorScan and Vendor Ion models. I think I can extend these models, but I am not sure ChromatogramEditorMSD can plot my raw TOF data properly. 

We often record a scan in 20us, which generates 20000 points of signal intensity data.

I once made a mistake add 500K ions in one scan, it was stuck in the addIon() loop. As I traced into, it seemed the checkIon took more time when the count of ions increased. Please test it.



Best regards,

Trig

2016-07-03 1:19 GMT+08:00 Philip Wenig <philip.wenig@xxxxxxxxxxxxx>:
Hi Trig,

you are free to store the raw data e.g. in binary format - just create your own specification.
Most commonly, TOF data file do store the intensities only and the information of the start time of the measurement a the delta time to record the intensities. Furthermore, the calibration is needed too to calculate the correct m/z value from each time-of-flight.

As I assume, one scan contains ~200000 measured ions respectively intensities?
Do you record a chromatogram as known from GC/TOF or do you record independent scans as known from MALDI-MS?
How long does it take to record one scan?

OpenChrom offers several ways to read/write binary data. So it's easy to read the binary format into a valid mass spectrum then. E.g. have a look how the chromatograms are stored in *.ocb format. This is located in the bundle:

org.eclipse.chemclipse.xxd.converter.supplier.chemclipse

You can create your own model for your specific TOF instrument, e.g. like:

org.eclipse.chemclipse.msd.converter.supplier.chemclipse.model.chromatogram.VendorChromatogram
org.eclipse.chemclipse.msd.converter.supplier.chemclipse.model.chromatogram.VendorScan
org.eclipse.chemclipse.msd.converter.supplier.chemclipse.model.chromatogram.VendorIon

If you're unsure how to do it, I could create the necessary classes in your plugin so that you then can start implementing the functionality.


Best,
Philip


Am 01.07.2016 um 16:51 schrieb Trig Chen:
Hi Philip,

I think I can store the calculated Ion in one ScanMSD, but first I must find a place to store my raw data from acquisition card of TOF mass spectrameter. The raw data is a serie of time(in nanoseconds) - intensity. ChromatographMSC can only store ScanMSD, not time-intensity serie.


Best regards,

Trig

2016-07-01 20:45 GMT+08:00 Philip Wenig <philip.wenig@xxxxxxxxxxxxx>:
Trig,

yep, OpenChrom supports various detector types. You are right, the CSD types stores the TIC signal only as e.g. a FID captures the current.

CSD = Current Selective Detectors (FID, ECD, NPD, ...)
MSD = Mass Selective Detectors (Quadrupole, IonTrap, TandenMS, OrbiTrap, TOF, ...)
WSD = Wavelength Selective Detectors (DAD, UV/Vis, ...)

So you can use the MSD scan type, e.g.:

IVendorScan scan = new VendorScan();
scan.setRetentionTime(500); // currently milliseconds
scan.setMassSpectrometer((short)2); // 1 = MS1, 2 = MS2
scan.setMassSpectrumType((short)1); // centroid = 0, profile = ""> //
scan.addIon(new Ion(104.18983d, 2506.0f));
scan.addIon(new Ion(104.283d, 506.0f));
scan.addIon(new Ion(104.3049d, 6.0f));
scan.addIon(new Ion(104.384984d, 29206.0f));
...

OpenChrom offers several way to display the data. It could be either nominal, high resolution, centroid or profile mode, see attached screenshot.


Best,
Philip


Am 01.07.2016 um 08:39 schrieb Trig Chen:
Regardless of the unit of time, the ScanCSD model stores retention time and total signal data, seems not suitable to store  time series data of Time-of-Flight mass spectrometer semantically.

Is there a more suitable model in OpenChrom to save tof raw data? If not, which interface I can implement?
What I have to do is  acquiring raw TOF data from spectrometer, plotting it and calculating m/z and showing m/z - intensity plot. 
Any comments or suggestion are welcome.


Best regards,

Trig

2016-06-30 0:33 GMT+08:00 Trig Chen <trigchen@xxxxxxxxx>:
Hi Philip,

Thank you very much for the consideration. 
From the wiki https://en.wikipedia.org/wiki/Time-of-flight_mass_spectrometry, the typical value of time-of-flight is about dozens of microseconds. 

Best regards,

Trig

2016-06-29 23:04 GMT+08:00 Philip Wenig <philip.wenig@xxxxxxxxxxxxx>:
Hi Trig,

I thinking switching to nanoseconds will be no problem.
But give me some days to think about possible negative side effects this change could cause. I will give you a feedback until next Monday.


Best,
Philip


Am 28.06.2016 um 15:03 schrieb Philip Wenig:
Hi Trig,

the easiest way would be if we change milliseconds to nanoseconds internally. Honestly, I have designed the scan model to be able to cover a wide range of possibilities. I even thought that milliseconds for retention time is a bit exaggerated. I never thought that it could go far beyond that :-).

The max possible retention time range for chromatograms stored in nanoseconds would be:

2^32 / 2 / 60000000 ~ 35.7 hours

That should be sufficient in any case. I don't think that one likes to evaluate a chromatogram of such a long recording ... despite of the fact that it will be hard to import Terabytes of data.

Let me think about a way how to refactor the code.

Any other thoughts?


Best,
Philip



Am 28.06.2016 um 14:14 schrieb Trig Chen:
We are building our own TOF mass spectrometer and acquiring raw data using a ADC acquisition card with 1GHz acquisition frequency. When acquiring 20us, we got 20000 points of data. The value of point is signal intensity and one point in 1 nanosecond. The ScanMSD model in OpenChrom store m/z and intensity, and ScanCSD model store time and intensity. 

The problem is ScanCSD only accepts integer value millisecond. 
So, which model can I store time of nanosecond and intensity?


Best regards,

Trig



_______________________________________________
chemclipse-dev mailing list
chemclipse-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/chemclipse-dev

-- 
~~~~~~~~~~~~~~~~~~~~~~~~
OpenChrom - the open source alternative for chromatography / mass spectrometry
Dr. Philip Wenig » Founder » philip.wenig@xxxxxxxxxxxxx » http://www.openchrom.net
~~~~~~~~~~~~~~~~~~~~~~~~


_______________________________________________
chemclipse-dev mailing list
chemclipse-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/chemclipse-dev

-- 
~~~~~~~~~~~~~~~~~~~~~~~~
OpenChrom - the open source alternative for chromatography / mass spectrometry
Dr. Philip Wenig » Founder » philip.wenig@xxxxxxxxxxxxx » http://www.openchrom.net
~~~~~~~~~~~~~~~~~~~~~~~~

_______________________________________________
chemclipse-dev mailing list
chemclipse-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/chemclipse-dev





_______________________________________________
chemclipse-dev mailing list
chemclipse-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/chemclipse-dev

-- 
~~~~~~~~~~~~~~~~~~~~~~~~
OpenChrom - the open source alternative for chromatography / mass spectrometry
Dr. Philip Wenig » Founder » philip.wenig@xxxxxxxxxxxxx » http://www.openchrom.net
~~~~~~~~~~~~~~~~~~~~~~~~

_______________________________________________
chemclipse-dev mailing list
chemclipse-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/chemclipse-dev




_______________________________________________
chemclipse-dev mailing list
chemclipse-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/chemclipse-dev

-- 
~~~~~~~~~~~~~~~~~~~~~~~~
OpenChrom - the open source alternative for chromatography / mass spectrometry
Dr. Philip Wenig » Founder » philip.wenig@xxxxxxxxxxxxx » http://www.openchrom.net
~~~~~~~~~~~~~~~~~~~~~~~~

_______________________________________________
chemclipse-dev mailing list
chemclipse-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/chemclipse-dev




_______________________________________________
chemclipse-dev mailing list
chemclipse-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/chemclipse-dev

-- 
~~~~~~~~~~~~~~~~~~~~~~~~
OpenChrom - the open source alternative for chromatography / mass spectrometry
Dr. Philip Wenig » Founder » philip.wenig@xxxxxxxxxxxxx » http://www.openchrom.net
~~~~~~~~~~~~~~~~~~~~~~~~

_______________________________________________
chemclipse-dev mailing list
chemclipse-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/chemclipse-dev




_______________________________________________
chemclipse-dev mailing list
chemclipse-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/chemclipse-dev

-- 
~~~~~~~~~~~~~~~~~~~~~~~~
OpenChrom - the open source alternative for chromatography / mass spectrometry
Dr. Philip Wenig » Founder » philip.wenig@xxxxxxxxxxxxx » http://www.openchrom.net
~~~~~~~~~~~~~~~~~~~~~~~~

_______________________________________________
chemclipse-dev mailing list
chemclipse-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/chemclipse-dev



Back to the top