EN
Logo Leibniz IPHT
EN
Logo Leibniz IPHT

Open-Source-Implementierung der zweidimensionalen Korrelationsanalyse – das corr2D-Paket in R

Die zweidimensionale Korrelationsanalyse ist eine hochentwickelte Datenanalysemethode zur Untersuchung von spektralen Veränderungen, die in Bezug auf eine externe Störung auftreten. Wir haben das Open-Source-Softwarepaket „corr2D“ entwickelt, um Spektroskopiker in die Lage zu versetzen, diese anspruchsvolle Datenanalysetechnik zu nutzen und die zweidimensionale Korrelationsanalyse zugänglicher und transparenter zu gestalten.

Abbildung 1: 2D-Korrelationsspektren: asymmetrisches 2D-Korrelationsspektrum (rechts) und symmetrisches 2D-Korrelationsspektrum (links)

Abbildung 2: Asymmetrisches 2D-Korrelationsspektrum in 3D

Von Thomas Bocklitz

Einführung in die 2D-Korrelationsanalyse

Infrarot (IR)-, Raman- oder Kernspinresonanz (NMR)-Spektroskopie werden zur Untersuchung von Molekülen eingesetzt, und zwar durch Zuordnung von Spektralsignalen zu molekularen Strukturen oder molekularen Eigenschaften. Dieses Verfahren ist problematisch, wenn eine Reihe von Spektren analysiert wird und sich die Spektralsignale stark überlappen. Um dieses Problem zu lösen, wurde die zweidimensionale (2D) Korrelationsanalyse entwickelt. Diese Methode wurde in den 1990er Jahren aus den allgemeinen Auto- und Kreuzkorrelationsintegralen abgeleitet. Durch Anwendung der Korrelationsanalyse kann ein Forscher analysieren, wie ähnlich (oder unähnlich) sich zwei Spektralsignale in Bezug auf eine externe Variable verändern. Wie beschrieben, wird die 2D-Korrelationsanalyse in der Spektroskopie und Spektrometrie eingesetzt, wenn spektrale Merkmale untersucht werden müssen, die in klassischen eindimensionalen (1D) Plots der Spektren verdeckt oder überlagert sein können. Die 2D-Korrelationsanalyse hat in der Spektroskopie viele Anwendungen gefunden, insbesondere zur Untersuchung dynamischer Systeme unter einer Störung. Sie wird häufig zur Analyse von IR-, Raman-, NMR- und UV/Vis- sowie Massenspektren von Polymeren, Reaktionslösungen und Pharmazeutika eingesetzt.

Die 2D-Korrelationsanalyse liefert eine quantitative Beschreibung des Verhaltens der beiden Spektren in Bezug auf eine externe Störungsvariable. Das Ergebnis einer 2D-Korrelationsanalyse sind synchrone (Abbildung 1, links) und asynchrone Korrelationsspektren (Abbildung 1, rechts), die nach den Noda-Regeln interpretiert werden können. Mit Hilfe dieser Regeln ist es möglich zu verstehen, in welcher Reihenfolge die spektralen Signale auftreten. Mittels Kombinatorik lassen sich die Signale den beteiligten Spezies zuordnen.

Entwicklung einer Open-Source-Implementierung in R

Um die 2D-Korrelationsanalyse für Spektroskopiker zugänglich zu machen, haben wir ein Open-Source-R-Paket entwickelt. Um die Methode transparent zu machen, haben wir gezeigt, wie die mathematischen Gleichungen in R-Code übersetzt werden. Zusätzlich enthält die Arbeit [1] ein einfaches Tutorial mit ausführbarem Code für Anfänger und es wurde charakterisiert, wie schnell die Implementierung ist, insbesondere im Hinblick auf die Parallelisierung der auf der schnellen Fourier-Transformation basierenden Korrelationsanalyse. Das R-Paket „corr2D“ bietet die Möglichkeit, die 2D-Korrelationsanalyse in der Open-Source-Sprache R zu nutzen, sodass die gesamte Datenanalysekette von der Vorverarbeitung über die Korrelation bis zur Nachverarbeitung der spektroskopischen Daten in einer einzigen Software durchgeführt werden kann.

Geschwindigkeitstests

Das R-Paket „corr2D“ nutzt Parallelisierung, um den Berechnungsprozess der verwendeten schnellen Fourier-Transformation zu beschleunigen. In der Arbeit [1] wurden der Einfluss der Parallelisierung und der Einfluss der Dimensionen der Eingabematrix getestet und ein Benchmark mit simulierten Daten durchgeführt. Die simulierten Spektraldaten enthielten eine aufeinanderfolgende Reaktion erster Ordnung, welche bereits in Noda et al. [2] verwendet wurde. Die Berechnungen wurden mit einigen wenigen Kernen durchgeführt, und wir verglichen die Rechenzeit für unsere Software mit einer kommerziell erhältlichen namens „2DShige“.

Der Geschwindigkeitstest zeigte, dass die Parallelisierung die Berechnung von großen Eingabematrizen beschleunigt, während sie die Berechnung für kleinere Eingabematrizen verlangsamt. Dies ist klar, da kleinere Berechnungen zuerst auf die Rechenkerne übertragen werden müssen und später die Ergebnisse all dieser kleineren Berechnungen zum Endergebnis der parallelisierten Berechnung zusammengefügt werden müssen. Daher ist eine Parallelberechnung immer ein Kompromiss zwischen der Beschleunigung des Berechnungsprozesses und der Erhöhung des für die Organisation der Parallelberechnung erforderlichen Datenverkehrs. Bei kleinen Eingabematrizen sind die Unterschiede in der Korrelationsgeschwindigkeit kaum wahrnehmbar, während die Geschwindigkeitsunterschiede viel größer sind, wenn die Eingabematrizen größer werden.

Abbildungsfunktionen und Plotten

Ein weiterer Vorteil der R-Sprache ist ihre ausgezeichnete Plotfähigkeit. Wir haben eine Funktion generiert, die eine einfache Erzeugung konventioneller 2D-Korrelationsspektren (wie in Abbildung 1 gezeigt), sowie eine erweiterte 3D-Visualisierung (wie in Abbildung 2 dargestellt), ermöglicht.

Zugehörige Publikationen:

[1] R. Geitner; R. Fritzsch; J. Popp & T. W. Bocklitz, corr2D – Implementation of Two-Dimensional Correlation Analysis in R, J. Stat. Softw., 2019, 90, 1-10
[2] I. Noda, Frontiers of two-dimensional correlation spectroscopy. Part 1. New concepts and noteworthy developments, J. Mol. Struct., Elsevier, 2014, 1069, 3-22

Logo Leibniz-Gemeinschaft