# The Name of the Title is Hope

Ben Trovato<EMAIL_ADDRESS>1234-5678-9012 ,  G.K.M. Tobin
<EMAIL_ADDRESS>Institute for Clarity in DocumentationP.O. Box
1212DublinOhioUSA43017-6221 ,  Lars Thørväld  The Thørväld Group1 Thørväld
CircleHeklaIceland<EMAIL_ADDRESS>,  Valerie Béranger  Inria Paris-
RocquencourtRocquencourtFrance ,  Aparna Patel  Rajiv Gandhi UniversityRono-
HillsDoimukhArunachal PradeshIndia ,  Huifen Chan  Tsinghua University30
Shuangqing RdHaidian QuBeijing ShiChina ,  Charles Palmer  Palmer Research
Laboratories8600 Datapoint DriveSan AntonioTexasUSA78229<EMAIL_ADDRESS>,
John Smith  The Thørväld Group1 Thørväld CircleHeklaIceland
<EMAIL_ADDRESS>and  Julius P. Kumquat  The Kumquat ConsortiumNew
YorkUSA<EMAIL_ADDRESS>
(2018; 20 February 2007; 12 March 2009; 5 June 2009)

###### Abstract.

A clear and well-documented LaTeX document is presented as an article
formatted for publication by ACM in a conference proceedings or journal
publication. Based on the “acmart” document class, this article presents and
explains many of the common variations, as well as many of the formatting
elements an author may use in the preparation of the documentation of their
work.

Do, Not, Us, This, Code, Put, the, Correct, Terms, for, Your, Paper

††copyright: acmlicensed††journalyear: 2018††doi: XXXXXXX.XXXXXXX††conference:
Make sure to enter the correct conference title from your rights confirmation
emai; June 03–05, 2018; Woodstock, NY††isbn: 978-1-4503-XXXX-X/18/06††ccs: Do
Not Use This Code Generate the Correct Terms for Your Paper††ccs: Do Not Use
This Code Generate the Correct Terms for Your Paper††ccs: Do Not Use This Code
Generate the Correct Terms for Your Paper††ccs: Do Not Use This Code Generate
the Correct Terms for Your Paper

Figure 1. Seattle Mariners at Spring Training, 2010.

Enjoying the baseball game from the third-base seats. Ichiro Suzuki preparing
to bat.

##  1\. Introduction

ACM’s consolidated article template, introduced in 2017, provides a consistent
LaTeX style for use across ACM publications, and incorporates accessibility
and metadata-extraction functionality necessary for future Digital Library
endeavors. Numerous ACM and SIG-specific LaTeX templates have been examined,
and their unique features incorporated into this single new template.

If you are new to publishing with ACM, this document is a valuable guide to
the process of preparing your work for publication. If you have published with
ACM before, this document provides insight and instruction into more recent
changes to the article template.

The “`acmart`” document class can be used to prepare articles for any ACM
publication — conference or journal, and for any stage of publication, from
review to final “camera-ready” copy, to the author’s own version, with very
few changes to the source.

##  2\. Template Overview

As noted in the introduction, the “`acmart`” document class can be used to
prepare many different kinds of documentation — a dual-anonymous initial
submission of a full-length technical paper, a two-page SIGGRAPH Emerging
Technologies abstract, a “camera-ready” journal article, a SIGCHI Extended
Abstract, and more — all by selecting the appropriate template style and
template parameters.

This document will explain the major features of the document class. For
further information, the LaTeX User’s Guide is available from
https://www.acm.org/publications/proceedings-template.

###  2.1. Template Styles

The primary parameter given to the “`acmart`” document class is the template
style which corresponds to the kind of publication or SIG publishing the work.
This parameter is enclosed in square brackets and is a part of the
`documentclass` command:

      \documentclass[STYLE]{acmart}

Journals use one of three template styles. All but three ACM journals use the
`acmsmall` template style:

  * •

`acmsmall`: The default journal template style.

  * •

`acmlarge`: Used by JOCCH and TAP.

  * •

`acmtog`: Used by TOG.

The majority of conference proceedings documentation will use the `acmconf`
template style.

  * •

`acmconf`: The default proceedings template style.

  * •

`sigchi`: Used for SIGCHI conference articles.

  * •

`sigchi-a`: Used for SIGCHI “Extended Abstract” articles.

  * •

`sigplan`: Used for SIGPLAN conference articles.

###  2.2. Template Parameters

In addition to specifying the template style to be used in formatting your
work, there are a number of template parameters which modify some part of the
applied template style. A complete list of these parameters can be found in
the LaTeX User’s Guide.

Frequently-used parameters, or combinations of parameters, include:

  * •

`anonymous,review`: Suitable for a “dual-anonymous” conference submission.
Anonymizes the work and includes line numbers. Use with the `\acmSubmissionID`
command to print the submission’s unique ID on each page of the work.

  * •

`authorversion`: Produces a version of the work suitable for posting by the
author.

  * •

`screen`: Produces colored hyperlinks.

This document uses the following string as the first command in the source
file:

    \documentclass[sigconf]{acmart}

##  3\. Modifications

Modifying the template — including but not limited to: adjusting margins,
typeface sizes, line spacing, paragraph and list definitions, and the use of
the `\vspace` command to manually adjust the vertical spacing between elements
of your work — is not allowed.

Your document will be returned to you for revision if modifications are
discovered.

##  4\. Typefaces

The “`acmart`” document class requires the use of the “Libertine” typeface
family. Your TeX installation should include this set of packages. Please do
not substitute other typefaces. The “`lmodern`” and “`ltimes`” packages should
not be used, as they will override the built-in typeface families.

##  5\. Title Information

The title of your work should use capital letters appropriately -
https://capitalizemytitle.com/ has useful rules for capitalization. Use the
`title` command to define the title of your work. If your work has a subtitle,
define it with the `subtitle` command. Do not insert line breaks in your
title.

If your title is lengthy, you must define a short version to be used in the
page headers, to prevent overlapping text. The `title` command has a “short
title” parameter:

      \title[short title]{full title}

##  6\. Authors and Affiliations

Each author must be defined separately for accurate metadata identification.
Multiple authors may share one affiliation. Authors’ names should not be
abbreviated; use full first names wherever possible. Include authors’ e-mail
addresses whenever possible.

Grouping authors’ names or e-mail addresses, or providing an “e-mail alias,”
as shown below, is not acceptable:

      \author{Brooke Aster, David Mehldau}
<EMAIL_ADDRESS><EMAIL_ADDRESS>

The `authornote` and `authornotemark` commands allow a note to apply to
multiple authors — for example, if the first two authors of an article
contributed equally to the work.

If your author list is lengthy, you must define a shortened version of the
list of authors to be used in the page headers, to prevent overlapping text.
The following command should be placed just after the last `\author{}`
definition:

      \renewcommand{\shortauthors}{McCartney, et al.}

Omitting this command will force the use of a concatenated list of all of the
authors’ names, which may result in overlapping text in the page headers.

The article template’s documentation, available at
https://www.acm.org/publications/proceedings-template, has a complete
explanation of these commands and tips for their effective use.

Note that authors’ addresses are mandatory for journal articles.

##  7\. Rights Information

Authors of any work published by ACM will need to complete a rights form.
Depending on the kind of work, and the rights management choice made by the
author, this may be copyright transfer, permission, license, or an OA (open
access) agreement.

Regardless of the rights management choice, the author will receive a copy of
the completed rights form once it has been submitted. This form contains LaTeX
commands that must be copied into the source document. When the document
source is compiled, these commands and their parameters add formatted text to
several areas of the final document:

  * •

the “ACM Reference Format” text on the first page.

  * •

the “rights management” text on the first page.

  * •

the conference information in the page header(s).

Rights information is unique to the work; if you are preparing several works
for an event, make sure to use the correct set of commands with each of the
works.

The ACM Reference Format text is required for all articles over one page in
length, and is optional for one-page articles (abstracts).

##  8\. CCS Concepts and User-Defined Keywords

Two elements of the “acmart” document class provide powerful taxonomic tools
for you to help readers find your work in an online search.

The ACM Computing Classification System —
https://www.acm.org/publications/class-2012 — is a set of classifiers and
concepts that describe the computing discipline. Authors can select entries
from this classification system, via https://dl.acm.org/ccs/ccs.cfm, and
generate the commands to be included in the LaTeX source.

User-defined keywords are a comma-separated list of words and phrases of the
authors’ choosing, providing a more flexible way of describing the research
being presented.

CCS concepts and user-defined keywords are required for for all articles over
two pages in length, and are optional for one- and two-page articles (or
abstracts).

##  9\. Sectioning Commands

Your work should use standard LaTeX sectioning commands: `section`,
`subsection`, `subsubsection`, and `paragraph`. They should be numbered; do
not remove the numbering from the commands.

Simulating a sectioning command by setting the first word or words of a
paragraph in boldface or italicized text is not allowed.

##  10\. Tables

The “`acmart`” document class includes the “`booktabs`” package —
https://ctan.org/pkg/booktabs — for preparing high-quality tables.

Table captions are placed above the table.

Because tables cannot be split across pages, the best placement for them is
typically the top of the page nearest their initial cite. To ensure this
proper “floating” placement of tables, use the environment table to enclose
the table’s contents and the table caption. The contents of the table itself
must go in the tabular environment, to be aligned properly in rows and
columns, with the desired horizontal and vertical rules. Again, detailed
instructions on tabular material are found in the LaTeX User’s Guide.

Immediately following this sentence is the point at which Table 1 is included
in the input file; compare the placement of the table here with the table in
the printed output of this document.

Table 1. Frequency of Special Characters Non-English or Math | Frequency | Comments
---|---|---
Ø | 1 in 1,000 | For Swedish names
$\pi$ | 1 in 5 | Common in math
$ | 4 in 5 | Used in business
$\Psi^{2}_{1}$ | 1 in 40,000 | Unexplained usage

To set a wider table, which takes up the whole width of the page’s live area,
use the environment table* to enclose the table’s contents and the table
caption. As with a single-column table, this wide table will “float” to a
location deemed more desirable. Immediately following this sentence is the
point at which Table 2 is included in the input file; again, it is instructive
to compare the placement of the table here with the table in the printed
output of this document.

Table 2. Some Typical Commands Command | A Number | Comments
---|---|---
\author | 100 | Author
\table | 300 | For tables
\table* | 400 | For wider tables

Always use midrule to separate table header rows from data rows, and use it
only for this purpose. This enables assistive technologies to recognise table
headers and support their users in navigating tables more easily.

##  11\. Math Equations

You may want to display math equations in three distinct styles: inline,
numbered or non-numbered display. Each of the three are discussed in the next
sections.

###  11.1. Inline (In-text) Equations

A formula that appears in the running text is called an inline or in-text
formula. It is produced by the math environment, which can be invoked with the
usual \begin …\end construction or with the short form $ …$. You can use any
of the symbols and structures, from $\alpha$ to $\omega$, available in LaTeX
(Lamport:LaTeX); this section will simply show a few examples of in-text
equations in context. Notice how this equation:
$\lim_{n\rightarrow\infty}x=0$, set here in in-line math style, looks slightly
different when set in display style. (See next section).

###  11.2. Display Equations

A numbered display equation—one set off by vertical space from the text and
centered horizontally—is produced by the equation environment. An unnumbered
display equation is produced by the displaymath environment.

Again, in either environment, you can use any of the symbols and structures
available in LaTeX; this section will just give a couple of examples of
display equations in context. First, consider the equation, shown as an inline
equation above:

(1) $\lim_{n\rightarrow\infty}x=0$

Notice how it is formatted somewhat differently in the displaymath
environment. Now, we’ll enter an unnumbered equation:

$\sum_{i=0}^{\infty}x+1$

and follow it with another numbered equation:

(2) $\sum_{i=0}^{\infty}x_{i}=\int_{0}^{\pi+2}f$

just to demonstrate LaTeX’s able handling of numbering.

##  12\. Figures

The “`figure`” environment should be used for figures. One or more images can
be placed within a figure. If your figure contains third-party material, you
must clearly identify it as such, as shown in the example below.

Figure 2. 1907 Franklin Model D roadster. Photograph by Harris & Ewing, Inc.
[Public domain], via Wikimedia Commons. (https://goo.gl/VLCRBB).

A woman and a girl in white dresses sit in an open car.

Your figures should contain a caption which describes the figure to the
reader.

Figure captions are placed below the figure.

Every figure should also have a figure description unless it is purely
decorative. These descriptions convey what’s in the image to someone who
cannot see it. They are also used by search engine crawlers for indexing
images, and when images cannot be loaded.

A figure description must be unformatted plain text less than 2000 characters
long (including spaces). Figure descriptions should not repeat the figure
caption – their purpose is to capture important information that is not
already provided in the caption or the main text of the paper. For figures
that convey important and complex new information, a short text description
may not be adequate. More complex alternative descriptions can be placed in an
appendix and referenced in a short figure description. For example, provide a
data table capturing the information in a bar chart, or a structured list
representing a graph. For additional information regarding how best to write
figure descriptions and why doing this is so important, please see
https://www.acm.org/publications/taps/describing-figures/.

###  12.1. The “Teaser Figure”

A “teaser figure” is an image, or set of images in one figure, that are placed
after all author and affiliation information, and before the body of the
article, spanning the page. If you wish to have such a figure in your article,
place the command immediately before the `\maketitle` command:

      \begin{teaserfigure}
        \includegraphics[width=\textwidth]{sampleteaser}
        \caption{figure caption}
        \Description{figure description}
      \end{teaserfigure}

##  13\. Citations and Bibliographies

The use of BibTeX for the preparation and formatting of one’s references is
strongly recommended. Authors’ names should be complete — use full first names
(“Donald E. Knuth”) not initials (“D. E. Knuth”) — and the salient identifying
features of a reference should be included: title, year, volume, number,
pages, article DOI, etc.

The bibliography is included in your source document with these two commands,
placed just before the `\end{document}` command:

      \bibliographystyle{ACM-Reference-Format}
      \bibliography{bibfile}

where “`bibfile`” is the name, without the “`.bib`” suffix, of the BibTeX
file.

Citations and references are numbered by default. A small number of ACM
publications have citations and references formatted in the “author year”
style; for these exceptions, please include this command in the preamble
(before the command “`\begin{document}`”) of your LaTeX source:

      \citestyle{acmauthoryear}

Some examples. A paginated journal article (Abril07), an enumerated journal
article (Cohen07), a reference to an entire issue (JCohen96), a monograph
(whole book) (Kosiur01), a monograph/whole book in a series (see 2a in spec.
document) (Harel79), a divisible-book such as an anthology or compilation
(Editor00) followed by the same example, however we only output the series if
the volume number is given (Editor00a) (so Editor00a’s series should NOT be
present since it has no vol. no.), a chapter in a divisible book (Spector90),
a chapter in a divisible book in a series (Douglass98), a multi-volume work as
book (Knuth97), a couple of articles in a proceedings (of a conference,
symposium, workshop for example) (paginated proceedings article) (Andler79;
Hagerup1993), a proceedings article with all possible elements (Smith10), an
example of an enumerated proceedings article (VanGundy07), an informally
published work (Harel78), a couple of preprints (Bornmann2019; AnzarootPBM14),
a doctoral dissertation (Clarkson85), a master’s thesis: (anisi03), an online
document / world wide web resource (Thornburg01; Ablamowicz07; Poker06), a
video game (Case 1) (Obama08) and (Case 2) (Novak03) and (Lee05) and (Case 3)
a patent (JoeScientist001), work accepted for publication (rous08),
’YYYYb’-test for prolific author (SaeediMEJ10) and (SaeediJETC10). Other cites
might contain ’duplicate’ DOI and URLs (some SIAM articles)
(Kirschmer:2010:AEI:1958016.1958018). Boris / Barbara Beeton: multi-volume
works as books (MR781536) and (MR781537). A couple of citations with DOIs:
(2004:ITE:1009386.1010128; Kirschmer:2010:AEI:1958016.1958018). Online
citations: (TUGInstmem; Thornburg01; CTANacmart). Artifacts: (R) and
(UMassCitations).

##  14\. Acknowledgments

Identification of funding sources and other support, and thanks to individuals
and groups that assisted in the research and the preparation of the work
should be included in an acknowledgment section, which is placed just before
the reference section in your document.

This section has a special environment:

      \begin{acks}
      ...
      \end{acks}

so that the information contained therein can be more easily collected during
the article metadata extraction phase, and to ensure consistency in the
spelling of the section heading.

Authors should not prepare this section as a numbered or unnumbered
`\section`; please use the “`acks`” environment.

##  15\. Appendices

If your work needs an appendix, add it before the “`\end{document}`” command
at the conclusion of your source document.

Start the appendix with the “`appendix`” command:

      \appendix

and note that in the appendix, sections are lettered, not numbered. This
document has two appendices, demonstrating the section and subsection
identification method.

##  16\. Multi-language papers

Papers may be written in languages other than English or include titles,
subtitles, keywords and abstracts in different languages (as a rule, a paper
in a language other than English should include an English title and an
English abstract). Use `language=...` for every language used in the paper.
The last language indicated is the main language of the paper. For example, a
French paper with additional titles and abstracts in English and German may
start with the following command

    \documentclass[sigconf, language=english, language=german,
                   language=french]{acmart}

The title, subtitle, keywords and abstract will be typeset in the main
language of the paper. The commands `\translatedXXX`, `XXX` begin title,
subtitle and keywords, can be used to set these elements in the other
languages. The environment `translatedabstract` is used to set the translation
of the abstract. These commands and environment have a mandatory first
argument: the language of the second argument. See `sample-sigconf-i13n.tex`
file for examples of their usage.

##  17\. SIGCHI Extended Abstracts

The “`sigchi-a`” template style (available only in LaTeX and not in Word)
produces a landscape-orientation formatted article, with a wide left margin.
Three environments are available for use with the “`sigchi-a`” template style,
and produce formatted output in the margin:

  * •

`sidebar`: Place formatted text in the margin.

  * •

`marginfigure`: Place a figure in the margin.

  * •

`margintable`: Place a table in the margin.

###### Acknowledgements.

To Robert, for the bagels and explaining CMYK and color spaces.

##  Appendix A Research Methods

###  A.1. Part One

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi malesuada, quam
in pulvinar varius, metus nunc fermentum urna, id sollicitudin purus odio sit
amet enim. Aliquam ullamcorper eu ipsum vel mollis. Curabitur quis dictum
nisl. Phasellus vel semper risus, et lacinia dolor. Integer ultricies commodo
sem nec semper.

###  A.2. Part Two

Etiam commodo feugiat nisl pulvinar pellentesque. Etiam auctor sodales ligula,
non varius nibh pulvinar semper. Suspendisse nec lectus non ipsum convallis
congue hendrerit vitae sapien. Donec at laoreet eros. Vivamus non purus
placerat, scelerisque diam eu, cursus ante. Etiam aliquam tortor auctor
efficitur mattis.

##  Appendix B Online Resources

Nam id fermentum dui. Suspendisse sagittis tortor a nulla mollis, in pulvinar
ex pretium. Sed interdum orci quis metus euismod, et sagittis enim maximus.
Vestibulum gravida massa ut felis suscipit congue. Quisque mattis elit a risus
ultrices commodo venenatis eget dui. Etiam sagittis eleifend elementum.

Nam interdum magna at lectus dignissim, ac dignissim lorem rhoncus. Maecenas
eu arcu ac neque placerat aliquam. Nunc pulvinar massa et mattis lacinia.


# DeepPurpose: A Deep Learning Library for Drug-Target Interaction Prediction

Kexin Huang  Harvard University, Boston, MA  Tianfan Fu  Georgia Institute of
Technology, Atlanta, GA  Lucas M. Glass  IQVIA, Cambridge, MA  Marinka Zitnik
Harvard University, Boston, MA  Cao Xiao  IQVIA, Cambridge, MA  Jimeng Sun
University of Illinois at Urbana-Champaign, Urbana, IL

###### Abstract

Accurate prediction of drug-target interactions (DTI) is crucial for drug
discovery. Recently, deep learning (DL) models for show promising performance
for DTI prediction. However, these models can be difficult to use for both
computer scientists entering the biomedical field and bioinformaticians with
limited DL experience. We present DeepPurpose, a comprehensive and easy-to-use
deep learning library for DTI prediction. DeepPurpose supports training of
customized DTI prediction models by implementing 15 compound and protein
encoders and over 50 neural architectures, along with providing many other
useful features. We demonstrate state-of-the-art performance of DeepPurpose on
several benchmark datasets.
Supplementary: Supplementary data are available at Bioinformatics online.

Acknowledgement: This article has been accepted for publication in
Bioinformatics ©2020. Published by Oxford University Press. All rights
reserved.

##  1 Introduction

Drug-target interactions (DTI) characterize the binding of compounds to
protein targets (Santos et al., 2017). Accurate identification of molecular
drug targets is fundamental for drug discovery and development (Rutkowska et
al., 2016; Zitnik et al., 2019) and is especially important for finding
effective and safe treatments for new pathogens, including SARS-CoV-2 (Velavan
and Meyer, 2020).

Deep learning (DL) has advanced traditional computational modeling of
compounds by offering an increased expressive power in identifying,
processing, and extrapolating complex patterns in molecular data (Öztürk et
al., 2018; Lee et al., 2019). There are many DL models designed for DTI
prediction (Öztürk et al., 2018; Lee et al., 2019; Nguyen et al., 2020).
However, to generate predictions, deploy DL models in practice, test, and
evaluate model performance, one needs considerable programming skills and
extensive biochemical knowledge. Prevailing tools are designed for experienced
interdisciplinary researchers. They are challenging to use by both computer
scientists entering the biomedical field and domain bioinformaticians with
limited experience in training and deploying DL models. Furthermore, each
open-sourced tool has a different programming interface and is coded
differently, which prevents easy integration of outputs from various methods
for model ensembles (Yang et al., 2019).

Here, we introduce DeepPurpose, a deep learning library for encoding and
downstream prediction of proteins and compounds. DeepPurpose allows rapid
prototyping via a programming framework that implements over 50 deep learning
models, seven protein encoders, and eight compound encoders. Empirically, we
find that models implemented in DeepPurpose achieve state-of-the-art
prediction performance on DTI benchmark datasets.

##  2 DeepPurpose Library

Figure 1: Overview of DeepPurpose library. (A) DeepPurpose takes as input the
SMILES of a compound and a protein’s amino acid sequence and then generates
embeddings for them. (B) The learned embeddings are then concatenated and fed
into a decoder to predict DTI binding affinity. (C) DeepPurpose provides a
simple but flexible programming framework that implements over 50 state-of-
the-art deep learning models for DTI prediction. (D) DeepPurpose models
achieve comparable performance with three other DTI prediction algorithms on
two benchmark datasets. (E) Finally, DeepPurpose has many functionalities,
including monitoring the training process, debugging, and generation ranked
lists for repurposing and screening. Further, DeepPurpose supports other
downstream prediction tasks (e.g., drug-drug interaction prediction, compound
property prediction).

Deep learning models for DTI prediction can be formulated as an encoder-
decoder architectures (Cho et al., 2014a). DeepPurpose library implements a
unifying encoder-decoder framework, which makes the library uniquely flexible.
By merely specifying an encoder’s name, the user can automatically connect a
encoder of interest with the relevant decoder. DeepPurpose then trains the
corresponding encoder-decoder model in an end-to-end manner. Finally, the user
accesses the trained model either programmatically or via a visual interface
and uses the model for DTI prediction.

###  2.1 Module for Encoding Proteins and Compounds

DeepPurpose takes the compound’s simplified molecular-input line-entry system
(SMILES) string and protein amino acid sequence pair as input. Then, they are
fed into molecular encoders which specifies a deep transformation function
that maps compounds and proteins to a vector representation. In particular,
for compounds, DeepPurpose provides eight encoders using different modalities
of compounds: Multi-Layer Perceptrons (MLP) on Morgan, PubChem, Daylight and
RDKit 2D Fingerprint; Convolutional Neural Network (CNN) on SMILES strings;
Recurrent Neural Network (RNN) on top of CNN; transformer encoders on
substructure fingerprints; message passing graph neural network on molecular
graph. For proteins, DeepPurpose provides seven encoders for the input amino
acid sequence: MLP on Amino Acid Composition (AAC), Pseudo AAC, Conjoint
Triad, Quasi-Sequence descriptors; CNN on amino acid sequences; RNN on top of
CNN; transformer encoder on substructure fingerprints. Note that alternative
input features may not work for a specific encoder architecture. The detailed
encoder specifications and references are described in Supplementary.

###  2.2 Module for DTI Prediction

DeepPurpose feeds the learned protein and compound embeddings into an MLP
decoder to generate predictions. Output scores include both continuous binding
scores, such as the median inhibitory concentration ($\textrm{IC}_{50}$), as
well as binary outputs indicating whether a protein binds to a compound. The
library detects whether the task is regression or classification and switches
to the correct loss function and evaluation metrics. In the case of
regression, we use the Mean Square Error (MSE) as the loss function and MSE,
Concordance Index, and Pearson Correlation as performance metrics. In the
classification case, we use Binary Cross Entropy as the loss function and Area
Under the Receiver Operating Characteristics (AUROC), Area Under Precision-
Recall (AUPRC), and F-1 score as performance metrics. At inference, given new
proteins and new compounds, DeepPurpose returns prediction scores representing
predicted probabilities of binding between compounds and proteins.

###  2.3 Modules for Other Downstream Prediction Tasks

DeepPurpose includes repurposing and virtual_screening functions. Using only a
few lines of codes that specify a list of compounds library to be screened
upon and an optional set of training dataset, DeepPurpose trains five deep
learning models, aggregates prediction results, and generates a descriptive
ranked list in which compound candidates with the highest predicted binding
scores are placed at the top. If the user does not specify a training dataset,
DeepPurpose uses a pre-trained deep model for prediction. This list can then
be examined to identify promising compound candidates for further experiments.
Second, DeepPurpose also supports user-friendly programming frameworks for
other modeling tasks, including drug and protein property prediction, drug-
drug interaction prediction, and protein-protein interaction prediction (See
Supplementary). Third, DeepPurpose provides an interface to many types of
data, including public large binding affinity dataset (Liu et al., 2007),
bioassay data (Kim et al., 2019), and a drug repurposing library (Corsello et
al., 2017).

###  2.4 Programming Framework and Implementation Details

The functionality of DeepPurpose is modularized into six key steps where a
single line of code can invoke each step: a) Load the dataset from a local
file or load a DeepPurpose benchmark dataset. b) Specify the names of compound
and protein encoders. c) Split the dataset into training, validation and
testing sets using data_process function, which implements a variety of data-
split strategies. d) Create a configuration file and specify model parameters.
If needed, DeepPurpose can automatically search for optimal values of hyper-
parameters. e) Initialize a model using the configuration file. Alternatively,
the user can load a pre-trained model or a previously saved model. f) Finally,
train the model using train function and monitor the progress of training and
performance metrics. DeepPurpose is OS-agnostic and uses the Jupyter Notebook
interface. It can be run in the cloud or locally. All datasets, models,
documentation, installation instructions, and tutorials are provided at
https://github.com/kexinhuang12345/DeepPurpose.

##  3 Using DeepPurpose for DTI Prediction

To demonstrate the use of DeepPurpose, we compare DeepPurpose with KronRLS
(Pahikkala et al., 2015), a popular DTI method, and GraphDTA (Nguyen et al.,
2020) and DeepDTA (Öztürk et al., 2018), state-of-the-art DL methods. We find
that many DeepPurpose models achieve comparable prediction performance on two
benchmark datasets, DAVIS (Davis et al., 2011) and KIBA (He et al., 2017)
(Figure 1D). A complete script to generate the results is provided in
Supplementary Information.

##  4 DeepPurpose with Interactive Web Interface

In addition to rapid model prototyping, DeepPurpose also provides utility
functions to load a pre-trained model and make predictions for a new drug and
target inputs. This functionality allows domain scientists to examine
predictions quickly, modify the inputs based on predictions, and iterate on
the process until finding a drug or target with desired properties. We
leverage Gradio (Abid et al., 2019) to create a web interface
programmatically. We use a user-trained DeepPurpose model in the backend and
create a custom web interface in fewer than ten code lines. This web interface
takes the SMILES and amino acid sequence as the input and returns prediction
scores with less than 1-second latency. We provide examples in the
Supplementary.

## References

  * Santos et al. [2017] Rita Santos, Oleg Ursu, Anna Gaulton, A Patrícia Bento, Ramesh S Donadi, Cristian G Bologa, Anneli Karlsson, Bissan Al-Lazikani, Anne Hersey, Tudor I Oprea, et al.  A comprehensive map of molecular drug targets.  _Nature reviews Drug discovery_ , 16(1):19–34, 2017.
  * Rutkowska et al. [2016] Anna Rutkowska, Douglas W. Thomson, Johanna Vappiani, Thilo Werner, Katrin M. Mueller, Lars Dittus, Jana Krause, Marcel Muelbaier, Giovanna Bergamini, and Marcus Bantscheff.  A Modular Probe Strategy for Drug Localization, Target Identification and Target Occupancy Measurement on Single Cell Level.  _ACS Chemical Biology_ , 11(9):2541–2550, September 2016.  ISSN 1554-8929.  doi: 10.1021/acschembio.6b00346.  URL https://doi.org/10.1021/acschembio.6b00346.
  * Zitnik et al. [2019] Marinka Zitnik, Francis Nguyen, Bo Wang, Jure Leskovec, Anna Goldenberg, and Michael M. Hoffman.  Machine learning for integrating data in biology and medicine: Principles, practice, and opportunities.  _Information Fusion_ , 50:71–91, October 2019.  ISSN 1566-2535.  doi: 10.1016/j.inffus.2018.09.012.  URL http://www.sciencedirect.com/science/article/pii/S1566253518304482.
  * Velavan and Meyer [2020] Thirumalaisamy P. Velavan and Christian G. Meyer.  The COVID19 epidemic.  _Tropical Medicine & International Health_, 25(3):278–280, March 2020.  ISSN 1360-2276.  doi: 10.1111/tmi.13383.  URL https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7169770/.
  * Öztürk et al. [2018] Hakime Öztürk, Arzucan Özgür, and Elif Ozkirimli.  DeepDTA: deep drug–target binding affinity prediction.  _Bioinformatics_ , 34(17):i821–i829, September 2018.  ISSN 1367-4803.  doi: 10.1093/bioinformatics/bty593.  URL https://academic.oup.com/bioinformatics/article/34/17/i821/5093245.
  * Lee et al. [2019] Ingoo Lee, Jongsoo Keum, and Hojung Nam.  DeepConv-DTI: Prediction of drug-target interactions via deep learning with convolution on protein sequences.  _PLOS Computational Biology_ , 15(6), June 2019.  ISSN 1553-7358.  doi: 10.1371/journal.pcbi.1007129.  URL https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1007129.
  * Nguyen et al. [2020] Thin Nguyen, Hang Le, Thomas P. Quinn, Thuc Le, and Svetha Venkatesh.  GraphDTA: Predicting drug–target binding affinity with graph neural networks.  _bioRxiv_ , April 2020.
  * Yang et al. [2019] Kevin Yang, Kyle Swanson, Wengong Jin, Connor Coley, Philipp Eiden, Hua Gao, Angel Guzman-Perez, Timothy Hopper, Brian Kelley, Miriam Mathea, Andrew Palmer, Volker Settels, Tommi Jaakkola, Klavs Jensen, and Regina Barzilay.  Analyzing Learned Molecular Representations for Property Prediction.  _Journal of Chemical Information and Modeling_ , 59(8):3370–3388, August 2019.  ISSN 1549-9596.  doi: 10.1021/acs.jcim.9b00237.  URL https://doi.org/10.1021/acs.jcim.9b00237.
  * Cho et al. [2014a] Kyunghyun Cho, Bart van Merriënboer, Dzmitry Bahdanau, and Yoshua Bengio.  On the Properties of Neural Machine Translation: Encoder–Decoder Approaches.  In _Eighth Workshop on Syntax, Semantics and Structure in Statistical Translation at ACL_ , pages 103–111, Doha, Qatar, October 2014a.  doi: 10.3115/v1/W14-4012.  URL https://www.aclweb.org/anthology/W14-4012.
  * Liu et al. [2007] Tiqing Liu, Yuhmei Lin, Xin Wen, Robert N. Jorissen, and Michael K. Gilson.  BindingDB: a web-accessible database of experimentally determined protein–ligand binding affinities.  _Nucleic Acids Research_ , 35:D198–D201, January 2007.
  * Kim et al. [2019] Sunghwan Kim, Jie Chen, Tiejun Cheng, Asta Gindulyte, Jia He, Siqian He, Qingliang Li, Benjamin A Shoemaker, Paul A Thiessen, Bo Yu, et al.  Pubchem 2019 update: improved access to chemical data.  _Nucleic Acids Research_ , 47(D1):D1102–D1109, 2019.
  * Corsello et al. [2017] Steven M Corsello, Joshua A Bittker, Zihan Liu, Joshua Gould, Patrick McCarren, Jodi E Hirschman, Stephen E Johnston, Anita Vrcic, Bang Wong, Mariya Khan, et al.  The drug repurposing hub: a next-generation drug library and information resource.  _Nature medicine_ , 23(4):405–408, 2017.
  * Pahikkala et al. [2015] Tapio Pahikkala, Antti Airola, Sami Pietilä, Sushil Shakyawar, Agnieszka Szwajda, Jing Tang, and Tero Aittokallio.  Toward more realistic drug–target interaction predictions.  _Briefings in Bioinformatics_ , 16(2):325–337, March 2015.  ISSN 1467-5463.  doi: 10.1093/bib/bbu010.  URL https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4364066/.
  * Davis et al. [2011] Mindy I. Davis, Jeremy P. Hunt, Sanna Herrgard, Pietro Ciceri, Lisa M. Wodicka, Gabriel Pallares, Michael Hocker, Daniel K. Treiber, and Patrick P. Zarrinkar.  Comprehensive analysis of kinase inhibitor selectivity.  _Nature Biotechnology_ , 29(11):1046–1051, October 2011.  ISSN 1546-1696.  doi: 10.1038/nbt.1990.
  * He et al. [2017] Tong He, Marten Heidemeyer, Fuqiang Ban, Artem Cherkasov, and Martin Ester.  SimBoost: a read-across approach for predicting drug–target binding affinities using gradient boosting machines.  _Journal of Cheminformatics_ , 9, April 2017.  ISSN 1758-2946.  doi: 10.1186/s13321-017-0209-z.  URL https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5395521/.
  * Abid et al. [2019] Abubakar Abid, Ali Abdalla, Ali Abid, Dawood Khan, Abdulrahman Alfozan, and James Zou.  Gradio: Hassle-free sharing and testing of ml models in the wild.  _arXiv preprint arXiv:1906.02569_ , 2019.
  * Rogers and Hahn [2010] David Rogers and Mathew Hahn.  Extended-connectivity fingerprints.  _Journal of chemical information and modeling_ , 50(5):742–754, 2010.
  * Krizhevsky et al. [2012] Alex Krizhevsky, Ilya Sutskever, and Geoffrey E Hinton.  Imagenet classification with deep convolutional neural networks.  In _NeurIPS_ , pages 1097–1105, 2012.
  * Cho et al. [2014b] Kyunghyun Cho, Bart van Merriënboer, Caglar Gulcehre, Dzmitry Bahdanau, Fethi Bougares, Holger Schwenk, and Yoshua Bengio.  Learning phrase representations using RNN encoder–decoder for statistical machine translation.  In _EMNLP_ , pages 1724–1734, 2014b.
  * Hochreiter and Schmidhuber [1997] Sepp Hochreiter and Jürgen Schmidhuber.  Long short-term memory.  _Neural Computation_ , 9(8):1735–1780, 1997\.
  * Vaswani et al. [2017] Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, Łukasz Kaiser, and Illia Polosukhin.  Attention is all you need.  In _NeurIPS_ , pages 5998–6008, 2017.
  * Huang et al. [2020] Kexin Huang, Cao Xiao, Trong Nghia Hoang, Lucas M Glass, and Jimeng Sun.  Caster: Predicting drug interactions with chemical substructure representation.  _AAAI_ , 2020.
  * Gilmer et al. [2017] Justin Gilmer, Samuel S Schoenholz, Patrick F Riley, Oriol Vinyals, and George E Dahl.  Neural message passing for quantum chemistry.  In _ICML_ , pages 1263–1272, 2017.
  * Reczko and Bohr [1994] M Reczko and H Bohr.  The def data base of sequence based protein fold class predictions.  _Nucleic acids research_ , 22(17):3616, 1994.
  * Chou [2005] Kuo-Chen Chou.  Using amphiphilic pseudo amino acid composition to predict enzyme subfamily classes.  _Bioinformatics_ , 21(1):10–19, 2005.
  * Shen et al. [2007] Juwen Shen, Jian Zhang, Xiaomin Luo, Weiliang Zhu, Kunqian Yu, Kaixian Chen, Yixue Li, and Hualiang Jiang.  Predicting protein–protein interactions based only on sequences information.  _Proceedings of the National Academy of Sciences_ , 104(11):4337–4341, 2007.
  * Chou [2000] Kuo-Chen Chou.  Prediction of protein subcellular locations by incorporating quasi-sequence-order effect.  _Biochemical and Biophysical Research Communications_ , 278(2):477–483, 2000.

##  Appendix A Further Details on DeepPurpose

#### Overview of DeepPurpose Framework.

SkipGNN uses an encoder-decoder framework for DTI prediction. The input of
SkipGNN is a compound SMILES string and protein amino acid sequence pair. The
output of SkipGNN is a score that measures the binding activity of the input
compound protein pair. The power of deep learning models comes from its
ability to create predictive feature vectors also called embeddings. In
particular, SkipGNN encodes both input compound and protein through various
deep learning encoders to obtain their deep embeddings, then concatenates and
feed them into a decoder, which is another deep neural network that aims to
classify whether the input compound and target protein bind.

Figure 2: Examples of input representation. Compound is represented as SMILES
string and protein is represented as amino acid sequence. The length
distribution of the input are provided.

#### Encoders Implemented in DeepPurpose.

SkipGNN provides 8 compound encoders and 7 protein encoders with numerous
variants, ranging from classic chemical informatics fingerprints to various
deep neural networks. SkipGNN feed two latent vectors generated from compound
and protein encoders into the decoder to produce the final prediction score.
With such a pipeline design, switching encoders is very simple in SkipGNN. By
configuring a different encoder name SkipGNN will automatically switch to the
required encoder model and connect them with the decoder for prediction.

#### Compound Encoders.

The input compound is represented by SMILES strings corresponding to molecule
graphs (Figure. 2).

  1. 1.

Morgan Fingerprint Rogers and Hahn [2010] is a 1024-length bits vector that
encodes circular radius-2 substructures. A multi-layer perceptron is then
applied on the binary fingerprint vector.

  2. 2.

Pubchem Kim et al. [2019] is a 881-length bits vector, where each bit
corrresponds to a hand-crafted important substructures. A multi-layer
perceptron is then applied on top of the vector.

  3. 3.

Daylight 111Daylight chemical information systems: https://www.daylight.com/
is a 2048-length vector that encodes path-based substructures. A multi-layer
perceptron is then applied on top of the vector.

  4. 4.

RDKit-2D 222https: //github.com/bp-kelley/descriptastorus is a 200-length
vector that describes global pharmacophore descriptor. It is normalized to
make the range of the features in the same scale using cumulative density
function fit given a sample of the molecules.

  5. 5.

CNN Krizhevsky et al. [2012] is a multi-layer 1D convolutional neural network.
The SMILES characters are first encoded with an embedding layer and then fed
into the CNN convolutions. A global max pooling layer is then attached and a
latent vector describe the compound is generated.

  6. 6.

CNN+RNN Cho et al. [2014b], Hochreiter and Schmidhuber [1997] attaches a
bidirectional recurrent neural network (GRU or LSTM) on top of the 1D CNN
output to leverage the more global temporal dimension of compound. The input
is also the SMILES character embedding.

  7. 7.

Transformer Vaswani et al. [2017] uses a self-attention based transformer
encoder that operates on the sub-structure partition fingerprint Huang et al.
[2020].

  8. 8.

MPNN Gilmer et al. [2017] is a message-passing graph neural network that
operate on the compound molecular graph. It transmits latent information among
the atoms and edges, where the input features incorporate atom/edge level
chemical descriptors and the connection message. After obtaining embedding
vector for each atom and edge, a readout function (mean/sum) is used to obtain
a (molecular) graph-level embedding vector.

#### Protein Encoders.

The input targets are proteins represented as sequences of 20 different kinds
of amino acids (Figure. 2).

  1. 1.

AAC Reczko and Bohr [1994] is a 8,420-length vector where each position
correpsonds to an amino acid k-mers and k is up to 3.

  2. 2.

PseAAC Chou [2005] includes the protein hydrophobicity and hydrophilicity
patterns information in addition to the composition.

  3. 3.

Conjoint Triad Shen et al. [2007] uses the continuous three amino acids
frequency distribution from a hand-crafted 7-letter alphabet.

  4. 4.

Quasi Sequence Chou [2000] takes account for the sequence order effect using a
set of sequence-order-coupling numbers.

  5. 5.

CNN Krizhevsky et al. [2012] is a multi-layer 1D convolutional neural network.
The target amino acid is decomposed to each individual character and is
encoded with an embedding layer and then fed into the CNN convolutions. It
follows a global max pooling layer.

  6. 6.

CNN+RNN Cho et al. [2014b], Hochreiter and Schmidhuber [1997] attaches a
bidirectional recurrent neural network (GRU or LSTM) on top of the 1D CNN
output to leverage the sequence order information.

  7. 7.

Transformer Vaswani et al. [2017] uses a self-attention based transformer
encoder that operates on the sub-structure partition fingerprint Huang et al.
[2020] of proteins. Since transformer’s computation time and memory is
quadratic on the input size, it is computational infeasible to treat each
amino acid symbol as a token. The partition fingerprint decomposes amino acid
sequence into protein substructures of moderate sized such as motifs and then
each of the partition is considered as a token and fed into the model.

#### Note on Feature-Architecture Combinations

During implementation, we notice that all of the architectures require
specific input features, which means other input features are incompatible
with the architecture. DeepPurpose currently supports five architectures: MLP,
CNN, CNN+RNN, Transformer, and MPNN, and it supports five types of features:
fingerprints, SMILES string, ESPF fingerprint, and molecular graph. Notice
that these architectures are not suitable for alternative features. MLP can
take in fingerprints vectors, but one-hot matrices of SMILES or graphs are
incompatible. CNN/CNN+RNN expect a matrix where each row is a one-hot vector
for an entity in the SMILES/Amino Acids, but cannot take a single fingerprint
vector or graphs. Transformer is quadratic to the input length, which makes
the long fingerprints and SMILES/Amino acids computationally expensive. MPNN
operates on graphs, thus, it is incompatible with fingerprints, SMILES, ESPF.
In addition, the current included features & encoders combinations are not
randomly assembled but are previously included in the literature and have
shown strong performance for molecular modeling with compounds and targets.

#### Programming Framework

The functionality of DeepPurpose is modularized into six key steps where a
single line of code can invoke each step: a) Load the dataset from a local
file or load a DeepPurpose benchmark dataset. b) Specify the names of compound
and protein encoders. c) Split the dataset into training, validation and
testing sets using data_process function, which implements a variety of data-
split strategies. d) Create a configuration file and specify model parameters.
If needed, DeepPurpose can automatically search for optimal values of hyper-
parameters. e) Initialize a model using the configuration file. Alternatively,
the user can load a pre-trained model or a previously saved model. f) Finally,
train the model using train function and monitor the progress of training and
performance metrics.

#### Downstream Prediction, Objective Function, and Inference.

After SkipGNN obtains latent compound and protein embedding, both are fed into
a multi-layer perceptron decoder. There are two classes of tasks/datasets in
drug target interaction prediction. One’s label is binding score such as Kd,
IC50, and they are continuous values while the other one’s label is binary,
whether or not they can bind. SkipGNN is able to automatically detect whether
the task is regression for continuous label or classification for binary label
by counting the number of unique labels in the data. For binding affinity
score prediction, it uses mean squared error (MSE) loss (Eq. 1). For binary
interaction prediction, it uses binary cross entropy (BCE) loss (Eq. 2).

$\mathcal{L}_{MSE}=\frac{1}{n}\sum_{i=1}^{n}\left(\mathrm{y}_{\mathrm{i}}-\hat{\mathrm{y}}_{\mathrm{i}}\right)^{2}$
(1)

$\mathcal{L}_{BCE}=\frac{1}{n}\sum_{i=1}^{n}\mathrm{y}_{\mathrm{i}}\mathrm{log}\left(\hat{\mathrm{y}}_{\mathrm{i}}\right)+\left(1-\mathrm{y}_{\mathrm{i}}\right)\mathrm{log}\left(1-\hat{\mathrm{y}}_{\mathrm{i}}\right),$
(2)

where $\mathrm{y}_{\mathrm{i}}$ is the true label and
$\hat{\mathrm{y}}_{\mathrm{i}}$ is the predicted label for $\mathrm{i}$-th
compound-protein pair. For evaluation metrics, we use MSE, Concordance Index,
and Pearson Correlation for continuous regression and Receiver Operating
Characteristics-Area Under the Curve (ROC-AUC), Precision Recall-Area Under
the Curve (PR-AUC) and F1 score at threshold 0.5 for binary classification.
During inference, given new proteins or new compounds, the model prediction is
used as the predicted binding score/interaction probability.

##  Appendix B DeepPurpose for Other Tasks Related to Compound and Protein

In addition to DTI prediction, DeepPurpose also supports user-friendly
programming frameworks for other molecular modeling tasks, namely,
drug/protein property prediction, drug-drug interaction prediction, protein-
protein interaction prediction tasks. We provide a framework illustration in
Figure. 3.

Figure 3: DeepPurpose supports DTI, DDI, PPI, Drug Property and Protein
Function Prediction tasks.