def archiv_txt (v, I, J, r):

    td = Multiplet(v , I, [(J, r)]) 
    grafica = mplplot(td.peaklist(), points=1000)

    intensidades = (grafica[1])
    no_datos = len(grafica[1])
    intensidades1 = []
    for i in range (len(intensidades)):
        intensidades1.append(round(intensidades[i], 6))

    #Datos en x 
    Hz = (grafica[0])
    min_Hz = (Hz[0])
    max_Hz = (Hz[no_datos - 1])

    oracion1 = f"Number of data points      : {no_datos} \n"
    oracion2 = f"Chemical shift range (ppm) : 1 1\n"
    oracion3 = f"Chemical shift range (Hz)  : {min_Hz} {max_Hz}\n"

    #escritura del archivo para guardar los datos
    f = open('multiplete7.slc','w')
    f.write(oracion1)
    f.write(oracion2)
    f.write(oracion3)
    
    for i in range (len(intensidades1)):
        f.write(str(intensidades1[i])+"\n")
    
    f.close()
Example #2
0
def multiplet(v, I, J, r):
    #La simulacion tan famosa que ya conoces
    min_x = v - 20
    max_x = v + 20
    td = Multiplet(v, I, [(J, r)])
    grafica = mplplot(td.peaklist(), points=1000, w=0.5, limits=(min_x, max_x))
    return grafica
Example #3
0
def test_mplplot():
    doublet = [(399, 1), (401, 1)]
    limits = (410, 390)  # deliberately opposite order
    x, y = mplplot(doublet, points=200, limits=limits)
    # test was written before normalization of height vs width was built into
    #  lorentz(). Fudge-factor added to scale old accepted data.
    y = y * 2
    print(np.array([x, y]).T)
    print(np.array(ADD_SIGNALS_DATASET))
    assert np.allclose(np.array([x, y]).T, np.array(ADD_SIGNALS_DATASET))
def escritura_json (x):
    nombre = f"W_{x}Hz.json"
    with open(nombre, 'w') as archivo: 
        json.dump(Jota_0_5Hz, archivo)
        #print("Archivo exportado con éxito")
    return 


for i in range (len(jotas)): 
    # v = 1200 Hz, I = intensidad, J = cte. acoplamiento, r = vecinos 
    J = jotas[i]
    v = 1200.0
    min_x = v - 20 
    max_x = v + 20
    td = Multiplet(v , 1, [(J, 1)]) #aqui entra en juego jotas 
    grafica = mplplot(td.peaklist(), points=1000, w =1.5, limits= (min_x, max_x))

    #para crear el archivo de texto
    intensidades = (grafica[1]) * 10000 #aqui lo multiplico x10000 por que si no me da valores bien pequeños, pero si lo ves innecesario piedes quitarlo
    no_datos = len(grafica[1])
    intensidades1 = [] #creo esta lista por que como ves en el buclesito de abajo, guardo los valores hasta 6 cifras para no hacer el archivo de texto bien pesado 

    for i in range (len(intensidades)):
        intensidades1.append(round(intensidades[i], 6))

    Hz = (grafica[0])# Son los valores en x (Hz)de la simulacion que nos daba grafica, y grafica[1] son los valores en y de esa simulacion (intensidades)
    min_Hz = (Hz[0])
    max_Hz = (Hz[no_datos - 1])

    oracion1 = f"Number of data points      : {no_datos} \n"
    oracion2 = f"Chemical shift range (ppm) : 1 1\n"
Example #5
0
def nmr_sim (v, I, J, r):
    td = Multiplet(v , I, [(J, r)]) 
    grafica = mplplot(td.peaklist(), points=1000)
    return grafica
    # delta = xs[n]
    tam = len(ys) + n
    y_new = np.zeros(tam)
    
    for i in range( 0, tam ):
        if i < len(ys):
            y_new[i] += ys[i]
        if i >= n:
            y_new[i] += -ys[i-n]
    return y_new    


for i in range (len(ref)): 
    # 1200 Hz, 2H, td, J= 7.1, 1.1 Hz
    td = Multiplet(1200 , 1, [(ref[i], 1)]) #aqui entra en juego ref 
    grafica = mplplot(td.peaklist(), points=1000)

    #para crear el archivo de texto
    intensidades = (grafica[1]) * 10000
    no_datos = len(grafica[1])
    intensidades1 = []

    for i in range (len(intensidades)):
        intensidades1.append(round(intensidades[i], 6))

    Hz = (grafica[0])
    min_Hz = (Hz[0])
    max_Hz = (Hz[no_datos - 1])

    oracion1 = f"Number of data points      : {no_datos} \n"
    oracion2 = f"Chemical shift range (ppm) : 1 1\n"
import numpy as np
from nmrsim import Multiplet
from nmrsim.plt import mplplot
import matplotlib.pyplot as plt
import numpy as np
import csv
from scipy.signal import argrelextrema

# 1200 Hz, 2H, td, J= 7.1, 1.1 Hz
td = Multiplet(1200.0, 1, [(7.1, 1)])
print(td.v)
print(td.I)
print(td.J)

grafica = mplplot(td.peaklist())

#para cuando quiero recuperar la imagen del multiplete
plt.plot(grafica[0], grafica[1])
plt.xlabel("Frecuencia (Hz)")
plt.ylim(0,1)
plt.show()

#para crear el archivo de texto
intensidades = (grafica[1]) * 10000
no_datos = len(grafica[1])
intensidades1 = []

for i in range (len(intensidades)):
    intensidades1.append(round(intensidades[i], 8))
Example #8
0
def test_mplplot_limit_error(limits):
    doublet = [(399, 1), (401, 1)]
    with pytest.raises((AttributeError, TypeError, ValueError)):
        mplplot(doublet, limits=limits)  # noqa
Example #9
0
def test_mplplot_defaults():
    doublet = [(399, 1), (401, 1)]
    x, y = mplplot(doublet)
    assert len(x) == 800
    assert x[0] == 399 - 50
    assert x[-1] == 401 + 50
def multiplet (v, I, J, r):
    #La simulacion tan famosa que ya conoces
    td = Multiplet(v , I, [(J, r)]) 
    grafica = mplplot(td.peaklist(), points=1000, w=0.5, limits=[])
    return grafica