Code Monkey home page Code Monkey logo

lp-sda's Introduction

LP-SDA

1. Introduction

This repository contains source code for paper "Towards early detection of adverse drugreactions: combining pre-clinical drug structuresand post-market safety reports" (accepted by BMC Medical Informatics andDecision Making).

Please kindly cite the paper if you use the code, datasets or any results in this repo or in the paper:

Liu, R., Zhang, P. Towards early detection of adverse drug reactions: combining pre-clinical 

drug structures and post-market safety reports. BMC Med Inform Decis Mak 19, 279 (2019) doi:10.1186/s12911-019-0999-1

In this paper, we propose a label propagation framework to enhance drug safety signals by combining pre-clinical drug chemical structures with post-marketing safety reports from FDA Adverse Event Reporting System (FAERS).

We apply the label propagation framework to four popular signal detection algorithms (PRR, ROR,MGPS, BCPNN) and find that our proposed framework generates more accurate drug safety signals than the corresponding baselines.

2. Pipeline

alt text

Fig. 1: The overall framework for label propagation based signal detection algorithms. It consists of three main steps: computing original drug safety signals from FAERS reports, constructing a drug-drug similarity network from pre-clinical drug structures, and generating enhanced drug safety signals through a label propagation process.

3. Dataset

Datasets used in the paper:

  • FAERS: a database that contains information on adverse event and medication error reports submitted to FDA. We use a curated and standardized version of FAERS data from 2004 to 2014 (Banda, Juan M. et al., 2017) [paper&data].
  • PubChem: a public repository for information on chemical substances and their biological activities. The PubChem Compound database provides unique chemical structure information of drugs.
  • SIDER: a database that contains information on marketed medicines and their recorded adverse drug reactions.

4. Code

Running example

python run.py --input SignalScoresSource --method PRR05 --year all --eval_metrics all --split True

Parameters

  • --input, input original signal scores files.
  • --method, signal detection algorithm (i.e., PRR, ROR, MGPS, BCPNN).
  • --year, years of data used for model (i.e., all years data from 2004 to 2014 or data arranged by ending years).
  • --eval_metrics, evaluation metrics (i.e., AUC, AUPR, Precision, Recall, etc.)
  • --split, whether to split entire dataset into validation set and testing set.
  • --output, output file.

lp-sda's People

Contributors

ruoqi-liu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

lp-sda's Issues

Original signal score file missing

Hi, I'm not able to find original signal score file in the repo.
When I created a folder named 'SignalScoresSource', I'm getting the following error:

Traceback (most recent call last):
File "run.py", line 115, in
more_main()
File "run.py", line 112, in more_main
main(args)
File "run.py", line 37, in main
data = FAERSdata(args.input, args.method, args.year)
File "/Users/user/Downloads/LP-SDA-master/FAERSdata.py", line 12, in init
Files = [Files[-1]]
IndexError: list index out of range

Please help.
Thanks in advance.

pickle文件

你好,请问你在代码中用到的pickle文件能上传一下吗,不太清楚你的pickle文件是什么内容。非常感谢

pkl file

Hello, may I ask where to get the adlist_freq. pkl file and umlid2adrid_mapping.pkl file used in get_sider_pairs(dump_file) function?

I cannot run your LP-SDA codes following issues

Dear, I recently read your article really impressively.

I want to run your code, but I cannot import split_data, sample_zeros from utils.
I cannot find util module.

How can I download module 'utils'?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.