Repository for NYCU JHHLab NPS detection project.
The repository for the paper "PS2MS": A Deep Learning-Based Prediction System for Detecting Novel New Psychoactive Substances Using Mass Spectrometry.
PS2MS is designed specifically to address the limitations of identifying the emergence of unidentified novel illicit drugs. PS2MS builds a synthetic NPS database by enumerating possible derivatives based on the core structure of a preselected illicit drug. The system leverages two deep learning tools, NEIMS and DeepEI, to generate mass spectra and chemical fingerprints, respectively. Finally, PS2MS calculates the integrated similarity scores(SMSF) between the unknown analyte and the derivatives from synthetic database and yields a list of potential NPS identities for the analyte.
- GNU g++-10 or higher
- CMake 3.16.0 or higher to build the enumeration step and the detection step
- python 3.6.9 or higher to the run deep learing tools
- rdkit
- build the c++ code from the source and install python package from conda
- PS2MS will generate a synthetic database by substituting hydrogen atoms in the core structure of a given drug with functional groups.
- The synthetic database will conduct matching calculations with suspicious analytes using mass spectrometry and chemical fingerprints.
- See how to build and run the enumeration here
- PS2MS employs NEIMS to predict the mass spectrum of the compounds in synthetic database
- The system uses NEIMS to predict the spectrum of compounds of synthetic database.
- See how to train the NEIMS here
- PS2MS employs DeepEI to predict the fingerprint of the unknown analyte.
- The system also use the function of DeepEI to calculate the fingerprint of compounds of synthetic database.
- The system merges the fingerprint into the msp file.
- See how to predict fingerprint here
- The final step of PS2MS is to compare the analyte and the synthetic database.
- The system will compare the spectrum and chemical fingerprint between compounds and generate a list of the hundred most similar compounds which are ranked by similarity score.
- See how to build and run drug detection here