#Also ILP? Minimize distance becuse two vectors might be shifted to oneanother (high weight on height distance to keep same height) #Zu hohe Komplexität bei Skalierung import gurobipy as gp from gurobipy import GRB, Model, quicksum #Xanthine HXANTHINE= { 1: ([7.96], [1]), 2: ([9.45], [1]), 3: ([7.725], [1]), 4: ([7.625], [1]), } CXANTHINE= { 1: ([159.40], [1]), 2: ([164.01], [1]), 3: ([120.94], [1]), 4: ([161.24], [1]), 5: ([146.98], [1]), } #1-Methylxanthine H1XANTHINE= { 1: ([7.93], [1]), 2: ([9.45], [1]), 3: ([4.05], [3]), 4: ([7.91], [1]), } C1XANTHINE= { 1: ([161.50], [1]), 2: ([166.28], [1]), 3: ([120.65], [1]), 4: ([158.74], [1]), 5: ([146.25], [1]), 6: ([38.55], [1]), } #3-Methylxanthine H3XANTHINE= { 1: ([4.15], [3]), 2: ([7.73], [1]), 3: ([7.99], [1]), 4: ([9.49], [1]), } C3XANTHINE= { 1: ([161.83], [1]), 2: ([163.37], [1]), 3: ([121.24], [1]), 4: ([163.15], [1]), 5: ([146.49], [1]), 6: ([39.71], [1]), } #7-Methylxanthine H3XANTHINE= { 1: ([7.55], [1]), 2: ([4.47], [3]), 3: ([7.72], [1]), 4: ([7.655], [1]), } C3XANTHINE= { 1: ([159.50], [1]), 2: ([165.47], [1]), 3: ([122.15], [1]), 4: ([162.31], [1]), 5: ([151.55], [1]), 6: ([45.06], [1]), } #Theophylline H13XANTHINE= { 1: ([4.03], [3]), 2: ([7.98], [1]), 3: ([4.19], [3]), 4: ([9.49], [1]), } C13XANTHINE= { 1: ([163.77], [1]), 2: ([165.26], [1]), 3: ([120.73], [1]), 4: ([160.99], [1]), 5: ([145.80], [1]), 6: ([40.42], [1]), 7: ([37.60], [1]), } #Paraxanthine H17XANTHINE= { 1: ([4.50], [3]), 2: ([7.70], [1]), 3: ([3.98], [3]), 4: ([7.82], [1]), } C17XANTHINE= { 1: ([161.41], [1]), 2: ([167.17], [1]), 3: ([121.81], [1]), 4: ([160.18], [1]), 5: ([151.09], [1]), 6: ([45.17], [1]), 7: ([36.96], [1]), } #Theobromine H37XANTHINE= { 1: ([4.49], [3]), 2: ([7.75], [1]), 3: ([4.11], [3]), 4: ([7.65], [1]), } C37XANTHINE= { 1: ([161.76], [1]), 2: ([164.86], [1]), 3: ([122.51], [1]), 4: ([164.29], [1]), 5: ([151.10], [1]), 6: ([39.33], [1]), 7: ([45.07], [1]), } #Caffeine H37XANTHINE= { 1: ([7.73], [1]), 2: ([4.15], [3]), 3: ([4.52], [3]), 4: ([4.01], [3]), } C37XANTHINE= { 1: ([163.66], [1]), 2: ([166.66], [1]), 3: ([122.03], [1]), 4: ([162.23], [1]), 5: ([150.50], [1]), 6: ([40.09], [1]), 7: ([45.23], [1]), 8: ([37.17], [1]), } #Neue Quelle für 13CNMR für beide #Experimental 7-Methylxanthine nmr HNMR1= { 1: ([10.85], [1]), 2: ([11.50], [1]), 3: ([3.82], [3]), 4: ([7.88], [1]), } #Experimental Theobromine nmr HNMR1= { 1: ([11.10], [1]), 2: ([3.33], [3]), 3: ([3.84], [3]), 4: ([7.97], [1]), } def build_model(name, nmrnode, nmrmeasured, excluded_support=None): model = Model(name) #Maximize likelihood or minimize Deviation #Values for two spectra and optimize largest for both different? #Spectra in Nodes to allow maximize overlapp with both spectra or one spectra. #Vergleiche PCA, Binning (Größere Schwankungen zwischen den Methoden)