/e3fp-paper

3D molecular fingerprints (E3FP) paper repo

Primary LanguagePythonGNU Lesser General Public License v3.0LGPL-3.0

Extended 3-Dimensional FingerPrint (E3FP) Paper Materials

E3FP is a computational method for generating 3D molecular fingerprints. This repository serves as an application of E3FP and contains a Python 2.7.x-compatible library and all scripts necessary to reproduce the analyses and figures in the E3FP paper1.

Table of Contents

Overview

This repository is divided into two sections:

  • e3fp_paper is a Python library containing various classes and methods used in the paper analysis. Specifically, it contains code for interfacing with SeaWare, an implementation of the Similarity Ensemble Approach (SEA), loading and saving SEA-compatible filetypes, running k-fold cross-validation, and plotting the results.
  • project contains all scripts necessary to run the analyses in the paper. While instructions are provided, please see the E3FP paper1 (preprint available) for detailed explanations.

Dependencies

e3fp_paper is compatible with Python 2.7.x. It additionally has the following dependencies:

Required

Required for Library

The following packages and their dependencies must be installed:

Required for Project

In addition to the above packages, these must be installed to run the project scripts.

Optional

Some computationally expensive analyses have built-in acceleration with python_utilities that activates when one of the following packages is installed:

Setup and Installation

Before installing, you must manually install RDKit, SeaWare, Spearmint, and PyMOL. Additionally you will need pip and setuptools.

Clone the Repository

  1. Install any of the optional dependencies above.
  2. Download this repository to your machine.
    • Clone this repository to your machine with git clone https://github.com/keiserlab/e3fp-paper.git.
    • OR download an archive by navigating to https://github.com/keiserlab/e3fp-paper and clicking "Download ZIP". Extract the archive.
  3. Install with
    cd e3fp-paper
    pip install .

Usage and Overview

To use the Python library in a python script, enter:

import e3fp_paper

See pipeline.py for methods for interfacing E3FP's pipeline with the specific filetypes used in the paper library.

See the provided scripts for applications of E3FP and of the e3fp_paper library.

References

  1. Axen SD, Huang XP, Caceres EL, Gendelev L, Roth BL, Keiser MJ. A Simple Representation Of Three-Dimensional Molecular Structure. J. Med. Chem. (2017). doi: 10.1021/acs.jmedchem.7b00696.
    Access the recommendation on F1000Prime