From 22e6e0b25af31079fb041c7a769ec7896ce5a6d5 Mon Sep 17 00:00:00 2001 From: kilian Date: Wed, 16 Sep 2026 10:37:11 +0200 Subject: [PATCH] Dateien nach "ILP/butadien" hochladen --- ILP/butadien/nmrSimilarityButadien.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/ILP/butadien/nmrSimilarityButadien.py b/ILP/butadien/nmrSimilarityButadien.py index 00d57c4..87a3591 100644 --- a/ILP/butadien/nmrSimilarityButadien.py +++ b/ILP/butadien/nmrSimilarityButadien.py @@ -252,6 +252,14 @@ def similarity_nmr(spectraref, spectranew, bin_width): simidx = crosscorr / math.sqrt(refselfcorr * newselfcorr) return(simidx) +def correction(spectra, corretionppm): + newspectra = {} + for id, (shift, height) in spectra.items(): + shiftvalue = shift[0] + adjustedshift = shiftvalue + corretionppm + newspectra[id] = ([adjustedshift], height) + return newspectra + def addspectra(spectrum1, spectrum2): spectrum = spectrum1.copy() for _, ([ppm2], [height2]) in spectrum2.items(): @@ -264,6 +272,7 @@ def addspectra(spectrum1, spectrum2): def main(): + normalize = False spectrumrefs = [addspectra(CP0, CP1), addspectra(CP0, CP4), addspectra(CP0, CP11)] spectra = [CBUTADIEN, CP0, CP1, CP2, CP3, CP4, CP5, CP6, CP7, CP8, CP9, CP10, CP11, CP12, CP13, CP14, CP15, CP16, CP17, CP18] spectranames = ['C=CC=C or Butadien', 'C=C or Ethyen or CP0', 'C=CC=CC=C or Hexatrien or CP1', 'C1CCC(C=C)CC=1 or CP2', 'C(CCC(C=C)CC=C)=C or CP3', 'C=CC=CC=CC=C or Octatetraen or CP4', 'C1CCC(C=CC=C)CC=1 or CP5', 'C=CC1C=CCCC1 or CP6', 'C1CCCCC=1 or Cyclohexen or CP7', 'C=CC1CC=CCC1C=C or CP8', 'C1CCC(C=C)C(C=C)C=1 or CP9', 'C(C1CC(C=C)C=CC1)=C or CP10', 'C1C=CC=CC=1 or CP11', 'C(CCC1C=CC=CC1)=C or CP12', 'C1C(C=CC=C)CCCC=1 or CP13', 'C=CC(C=C)CCCC=C or CP14', 'C=CCCCCC=C or CP15', 'C=CC1C=CC(C=C)CC1 or CP16', 'C1CC2CCCCC2CC=1 or CP17', 'C1CC2C=CC=CC2CC=1 or CP18'] @@ -276,7 +285,11 @@ def main(): similaritylist.append(similarity_nmr(spectrumtrue, spectrumref, i)) similaritymean = sum(similaritylist) / len(similaritylist) likelihoods.append(similaritymean) + 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() \ No newline at end of file