Dateien nach "ILP/Kaffee" hochladen
This commit is contained in:
@@ -283,27 +283,44 @@ def correction(spectra, corretionppm):
|
||||
newspectra[id] = ([adjustedshift], height)
|
||||
return newspectra
|
||||
|
||||
def addspectra(spectrum1, spectrum2):
|
||||
spectrum = spectrum1.copy()
|
||||
for _, ([ppm2], [height2]) in spectrum2.items():
|
||||
for peak, ([ppm1], [height1]) in spectrum1.items():
|
||||
if ppm1 == ppm2:
|
||||
spectrum[peak] == ([ppm1], [height1 + height2])
|
||||
continue
|
||||
spectrum[len(spectrum) + 1] = ([ppm2], [height2])
|
||||
return(spectrum)
|
||||
|
||||
def main():
|
||||
spectrumref = CNMR2
|
||||
#1H-NMR Spectra ignoriert, da meiste H sauer, da an N gebunden
|
||||
#spectra = [HXANTHINE, H1XANTHINE, H3XANTHINE, H7XANTHINE, H1XANTHINE, H17XANTHINE, H37XANTHINE, H137XANTHINE]
|
||||
spectra = [CXANTHINE, C1XANTHINE, C3XANTHINE, C7XANTHINE, C1XANTHINE, C17XANTHINE, C37XANTHINE, C137XANTHINE]
|
||||
spectranames = ["XANTHINE", "1XANTHINE", "3XANTHINE", "7XANTHINE", "1XANTHINE", "17XANTHINE", "37XANTHINE", "137XANTHINE"]
|
||||
likelihood = []
|
||||
for spectrumtrue in spectra:
|
||||
similaritybycorrection = []
|
||||
#Paper Chemical reviews Carbons bound to Heavy atoms (TMS) to high -> this could be reason for too high values.
|
||||
correctionvalues = [2.5] #np.arange(0, 1.51, 0.01) #for C tested np.arange(-0.37, 7.64, 0.1) 0, 2.63, 1 (for CNMR3), 1.5 (true for all ref, 8.37 + 1.5 for the precision), 1 (good for first, ok for second, third because only 7 better/equal but for first much higher) np.arange(-1.5, 1.49, 0.01) (only for first), for H 0 (not good), np.arange(-0.26, 0.34, 0.01), -0.06 for first, second never first either 17 or caf higher np.arange(-0.15, 0.16, 0.01) good measure
|
||||
for correctionvalue in correctionvalues:
|
||||
spectrumrefcorrected = correction(spectrumref, correctionvalue) #CCAFFEINE 11 (klappt hier sehr gut) CCAFFEINE2 12 CPARAXANTHINE 10 CNMR1 9, 10 o 11 (sehr gut) CNMR2 10 o 11
|
||||
similaritylist = []
|
||||
binwidthlist = np.arange(0.1, 3.9, 0.1)
|
||||
for i in binwidthlist:
|
||||
similaritylist.append(similarity_nmr(spectrumtrue, spectrumrefcorrected, i))
|
||||
similaritymean = sum(similaritylist) / len(similaritylist)
|
||||
similaritybycorrection.append(similaritymean)
|
||||
likelihood.append(round(sum(similaritybycorrection)/len(similaritybycorrection), 2))
|
||||
print(likelihood)
|
||||
normalize = False
|
||||
spectrumrefs = [CNMR1, CNMR3]
|
||||
for spectrumref in spectrumrefs:
|
||||
#spectra = [HXANTHINE, H1XANTHINE, H3XANTHINE, H7XANTHINE, H1XANTHINE, H17XANTHINE, H37XANTHINE, H137XANTHINE]
|
||||
spectra = [CXANTHINE, C1XANTHINE, C3XANTHINE, C7XANTHINE, C1XANTHINE, C17XANTHINE, C37XANTHINE, C137XANTHINE]
|
||||
spectranames = ["XANTHINE", "1XANTHINE", "3XANTHINE", "7XANTHINE", "1XANTHINE", "17XANTHINE", "37XANTHINE", "137XANTHINE"]
|
||||
likelihoods = []
|
||||
for spectrumtrue in spectra:
|
||||
similaritybycorrection = []
|
||||
#Paper Chemical reviews Carbons bound to Heavy atoms (TMS) to high -> this could be reason for too high values.
|
||||
correctionvalues = [2.5] #np.arange(0, 1.51, 0.01) #for C tested np.arange(-0.37, 7.64, 0.1) 0, 2.63, 1 (for CNMR3), 1.5 (true for all ref, 8.37 + 1.5 for the precision), 1 (good for first, ok for second, third because only 7 better/equal but for first much higher) np.arange(-1.5, 1.49, 0.01) (only for first), for H 0 (not good), np.arange(-0.26, 0.34, 0.01), -0.06 for first, second never first either 17 or caf higher np.arange(-0.15, 0.16, 0.01) good measure
|
||||
for correctionvalue in correctionvalues:
|
||||
spectrumrefcorrected = correction(spectrumref, correctionvalue) #CCAFFEINE 11 (klappt hier sehr gut) CCAFFEINE2 12 CPARAXANTHINE 10 CNMR1 9, 10 o 11 (sehr gut) CNMR2 10 o 11
|
||||
similaritylist = []
|
||||
binwidthlist = np.arange(0.1, 3.9, 0.1)
|
||||
for i in binwidthlist:
|
||||
similaritylist.append(similarity_nmr(spectrumtrue, spectrumrefcorrected, i))
|
||||
similaritymean = sum(similaritylist) / len(similaritylist)
|
||||
similaritybycorrection.append(similaritymean)
|
||||
likelihoods.append(sum(similaritybycorrection)/len(similaritybycorrection))
|
||||
if normalize:
|
||||
normalizedlikelihood = [round(likelihood/np.sum(likelihoods), 2) for likelihood in likelihoods]
|
||||
print(normalizedlikelihood)
|
||||
if not normalize:
|
||||
notnormalizedlikelihood = [round(likelihood, 2) for likelihood in likelihoods]
|
||||
print(notnormalizedlikelihood)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user