def __import_dptfile(conn, filepath, mid):
    """
    Inheritently Private Function, determines peaks of .sp File and imports to database
    :param conn: Database connection
    :param filepath: Path to import file
    :param mid: Molecule ID
    :return:
    """
    from analysis import peak_finder

    # Get data from file
    frequencies = []
    intensities = []
    with open(filepath) as f:
        for line in f:
            point = line.split(",")
            frequencies.append(float(point[0]))   # get frequency
            intensities.append(float(point[1]))   # get actual intensity (logx ^ x)

    print "[Data Points collected: " + str(len(frequencies)) + "]"
    # Determine Peaks
    frequencies, intensities = peak_finder.peak_finder(frequencies, intensities, 0.2)

    print "[Peaks found: " + str(len(frequencies)) + "]"
    # Store peaks into file
    for i in range(0, len(frequencies)):
        conn.execute('INSERT INTO peaks(mid, frequency, intensity) VALUES (?,?,?)',(mid, frequencies[i], intensities[i]))   # insert into peak table

    # Commit Changes
    conn.commit()

    print "[ Added entry peaks ] "
Exemple #2
0
def __import_dptfile(conn, filepath, mid):
    """
    Inheritently Private Function, determines peaks of .sp File and imports to database
    :param conn: Database connection
    :param filepath: Path to import file
    :param mid: Molecule ID
    :return:
    """
    from analysis import peak_finder

    # Get data from file as numpy arrays
    data = np.loadtxt(filepath)
    frequencies = data[:, 0]
    intensities = data[:, 1]

    print("[Data Points collected: " + str(len(frequencies)) + "]")
    # Determine Peaks
    frequencies, intensities = peak_finder.peak_finder(frequencies,
                                                       intensities)

    print "[Peaks found: " + str(len(frequencies)) + "]"
    # Store peaks into file
    for i in range(0, len(frequencies)):
        conn.execute(
            'INSERT INTO peaks(mid, frequency, intensity) VALUES (?,?,?)',
            (mid, frequencies[i], intensities[i]))  # insert into peak table

    # Commit Changes
    conn.commit()

    print "[ Added entry peaks ] "
Exemple #3
0
def __import_ftbfile(conn, filepath, mid, peaks=False):
    """
    Inheritently Private Function, determines peaks of .sp File and imports to database
    :param conn: Database connection
    :param filepath: Path to import file
    :param mid: Molecule ID
    :return:
    """
    from analysis import peak_finder
    import re

    delimiters = ["ftmfreq:", "shots:", "dipole:", " ", "#intensity "]
    regex = '|'.join((map(re.escape, delimiters)))

    # Get data from file
    frequencies = []
    intensities = []
    line_num = 0
    with open(filepath) as f:
        for line in f:
            line += 1
            if line is not None or line is not "" or line[0] is '#':
                point = re.split(regex, line.strip())

                try:
                    frequencies.append(float(point[1]))  # get frequency
                    intensities.append(float(
                        point[7]))  # get actual intensity (logx ^ x)
                except IndexError:
                    print "IndexError in line: " + str(line_num)
                except ValueError:
                    print "ValueError in line: " + str(line_num)

    print "PEAKS!!" + str(len(frequencies))
    if peaks is False:
        # Determine Peaks
        frequencies, intensities = peak_finder.peak_finder(
            frequencies, intensities, 0.2)

    # Store peaks into file
    for i in range(0, len(frequencies)):
        conn.execute(
            'INSERT INTO peaks(mid, frequency, intensity) VALUES (?,?,?)',
            (mid, frequencies[i], intensities[i]))  # insert into peak table

    # Commit Changes
    conn.commit()

    print "[ Added entry peaks ] "
def __import_ftbfile(conn, filepath, mid, peaks=False):
    """
    Inheritently Private Function, determines peaks of .sp File and imports to database
    :param conn: Database connection
    :param filepath: Path to import file
    :param mid: Molecule ID
    :return:
    """
    from analysis import peak_finder
    import re

    delimiters = ["ftmfreq:", "shots:", "dipole:", " ", "#intensity "]
    regex = '|'.join((map(re.escape, delimiters)))

    # Get data from file
    frequencies = []
    intensities = []
    line_num = 0
    with open(filepath) as f:
        for line in f:
            line += 1
            if line is not None or line is not "" or line[0] is '#':
                point = re.split(regex, line.strip())

                try:
                    frequencies.append(float(point[1]))  # get frequency
                    intensities.append(float(point[7]))  # get actual intensity (logx ^ x)
                except IndexError:
                    print "IndexError in line: " + str(line_num)
                except ValueError:
                    print "ValueError in line: " + str(line_num)

    print "PEAKS!!" + str(len(frequencies))
    if peaks is False:
        # Determine Peaks
        frequencies, intensities = peak_finder.peak_finder(frequencies, intensities, 0.2)

    # Store peaks into file
    for i in range(0, len(frequencies)):
        conn.execute('INSERT INTO peaks(mid, frequency, intensity) VALUES (?,?,?)',
                     (mid, frequencies[i], intensities[i]))  # insert into peak table

    # Commit Changes
    conn.commit()

    print "[ Added entry peaks ] "
Exemple #5
0
def __import_txtfile(conn, filepath, mid, peaks=False):
    """
    Inheritently Private Function, determines peaks of .sp File and imports to database
    :param conn: Database connection
    :param filepath: Path to import file
    :param mid: Molecule ID
    :return:
    """
    from analysis import peak_finder
    import re

    delimiters = [" ", "\t", ",", ", "]
    with open(filepath) as f:
        data_string = f.read()
        for delimiter in delimiters:
            # Replace all types of delimiters into comma
            # separated
            data_string = data_string.replace(delimiter, ",")
    with open(filepath + ".csv", "w+") as f:
        f.write(data_string)
    # Load in data as numpy array and skip the first line
    data = np.loadtxt(filepath + ".csv",
                      dtype=float,
                      skiprows=1,
                      delimiter=",")

    frequencies = data[:, 0]
    intensities = data[:, 1]

    if peaks is False:
        # Determine Peaks
        frequencies, intensities = peak_finder.peak_finder(
            frequencies, intensities)

    # Store peaks into file
    for frequency, intensity in zip(frequencies, intensities):
        conn.execute(
            'INSERT INTO peaks(mid, frequency, intensity) VALUES (?,?,?)',
            (mid, frequency, intensity))  # insert into peak table

    # Commit Changes
    conn.commit()

    print "[ Added entry peaks ] "