Mass Spectrometry

Spectrum Model
Arcadiate can read in mass spectrometric data of any resolution. This is achieved by using a Spectrum Model to encapsulate the specificities of a particular data type. A spectrum model describes the typical peak shape and geometric parameters of the spectrum.

The use of Spectrum Models has advantages and disadvantages.
The major disadvantage is that it is so fundamental for the programme that for every mass spectrum access to a spectrum model describing it is required. In general these spectrum models are generated automatically when the data is read in. Centroided data however has lost its specific characteristics. This is why an external spectrum description file has to be assigned to centroided data before it can be read in. In praxis uncentroided data has to be read in first and the generated spectrum model has to be exported to allow reading in centroided data from the same mass spectrometer using the exported spectrum model file as a description for the data. Some spectrum descriptions files can be obtained from here.

There are many advantages in using spectrum models - the most prominent, that Arcadiate can be used for Ion Trap data in the same way as for spectra coming from Fourier Transform mass spectrometers even though their resolutions differ by orders of magnitude.

Informatics

Arcadiate is written in Objective-C and Swift. It follows closely the development of this language and the features implemented by Apple to support application development.
  • The underlying data structure is an SQLite database with links to externally stored mass spectra: CoreData.
  • Data is stored in its own directory structure to comply with the Apple’s security requirements: Sandboxing.
  • External data files are read in by independent processes to protect the main application from faulty data files: XPC-Processes.
  • Memory management is mostly left to the compiler: Automatic Reference Counting (ARC).
  • Every major activity is distributed over several processes to take advantage of multi-core processors: Grand Central Dispatch.
  • In-line defined small and autonomous functions are used throughout the application to facilitate modularity of operations: Blocks.
  • Many Objective-C classes have Swift extensions and the number of pure Swift classes and constructs is increasing.

Like any data intensive application Arcadiate is limited by the need to access data from the hard disk. The use of SSD disks should be very beneficial.

To safeguard against data corruption a special command has been implemented - File -> Recover from Validation Error - which tries to rescue a database by deleting all objects that violate its integrity.