Пример #1
0
writeSDF(nist_smiles, 'Temp/mol.sdf')
cwd = 'E:\\project\\deep-molecular-massspec'
cmd = 'python make_spectra_prediction.py --input_file=E:/project/DeepEI/Temp/mol.sdf --output_file=E:/project/DeepEI/Temp/mol_anno.sdf --weights_dir=model/massspec_weights'
subprocess.call(cmd, cwd=cwd)
spectra = parser_NEIMS('Temp/mol_anno.sdf')

spec_vecs = []
for spec in tqdm(spectra):
    spec_vecs.append(ms2vec(spec['mz'], spec['intensity']))
spec_vecs = np.array(spec_vecs)
spec_vecs1 = csr_matrix(spec_vecs)
save_npz('DeepEI/data/neims_spec_nist.npz', spec_vecs1)

# NEIMS spectra of MassBank
exist_smiles = nist_smiles[keep]
data = msp.read('E:/data/GCMS DB_AllPublic-KovatsRI-VS2.msp')
msbk_smiles = []
msbk_spec = []
msbk_masses = []
for i, (param, ms) in enumerate(tqdm(data)):
    smi = param['smiles']
    try:
        smi = Chem.MolToSmiles(Chem.MolFromSmiles(smi))
    except:
        smi = smi
    try:
        mass = CalcExactMolWt(Chem.MolFromSmiles(smi))
    except:
        continue
    msbk_masses.append(mass)
    msbk_smiles.append(smi)
from libmetgem import msp
from PyCFMID.PyCFMID import cfm_predict
from DeepFrag.utils import load_model, ms_correlation
from DeepFrag.utils import read_ms, morgan_fp, ms2vec, model_predict, plot_compare_ms
from DeepFrag.loss import pearson, loss

pretrain_model = 'simulated_Pos_10V'
model = load_model(pretrain_model)
msp_file = 'RIKEN_PlaSMA/RIKEN_PlaSMA_Pos.msp'

# parser dataset
ms = []
smiles = []
energies = []
modes = []
parser = msp.read(msp_file)
for i, (params, data) in enumerate(parser):
    if 'collisionenergy' in params:
        energy = params['collisionenergy']
    else:
        energy = ''
    if 'precursortype' in params:
        ion_mode = params['precursortype']
    else:
        ion_mode = ''
    if 'smiles' in params:
        smi = params['smiles']
    else:
        smi = ''

    if energy != '10':
Пример #3
0
# -*- coding: utf-8 -*-
"""
Created on Mon May 20 15:16:44 2019

@author: hcji
"""

import h5py
import numpy as np
from libmetgem import msp
from DeepFrag.utils import read_ms, ms2vec, morgan_fp
from DeepFrag.loss import pearson, loss

# transform msp to dataset
mine_1 = msp.read(
    'D:/Data/MINE_KEGG_Positive_CFM_Spectra.msp/Positive_CFM_Spectra.msp')
mine_2 = msp.read(
    'D:/Data/MINE_Ec_Positive_CFM_Spectra.msp/Positive_CFM_Spectra.msp')
mine_3 = msp.read(
    'D:/Data/MINE_YMDB_Positive_CFM_Spectra.msp/Positive_CFM_Spectra.msp')


def parser_msp(ms, output, energy):
    input_data = []
    output_forward = []
    output_reverse = []
    for i, (params, data) in enumerate(ms):
        if params['energy'] != energy:
            continue
        smi = params['smiles']
        try: