Available models

Currently Swan Implements the following models:

Fully Connected Neural Network

A standard fully connected neural network that takes fingerprints as input features. To use the model you need to specify in the model section of the input YAML file the following:

model:
  name: FingerprintFullyConnected
  parameters:
    input_features: 2048
    hidden_cells: 100
    output_features: 1

The model takes 3 additional optional parameters: * input_features: fingerprint size. Default 2048. * hidden_cells: Hiden number of cell(or nodes). Default 100. * num_labels: the amount of labels to predict. Default 1.

Also, the model requires as a featurizer a fingerprint calculator that can be provided like:

featurizer:
  fingerprint: atompair

Available fingerprints algorithms are: atompair (default), morgan or torsion. These algorithms are provided by RDKIT descriptor package.

Message Passing Neural Network

Implementation of the message passing neural network (MPNN) reported at https://arxiv.org/abs/1704.01212. If you don’t have an idea what a MPNN is have a look at this introduction to Graph Neural Networks.

To train your model using the MPNN you need to provide the following section in the YAML input file:

model:
  name: MPNN
  parameters:
    output_channels: 10
    num_labels: 1
    batch_size: 128
    num_iterations: 3

The optional parameters for the model are: :: * output_channels Channels in the Convolution. default 10. * num_labels: the amount of labels to predict. Default 1. * batch_size: the size of the batch used to train the model. Default 128. * num_iterations: number of steps to interchange messages for each epoch. Default 3.

Additionally the model requires the use of the following featurizer:

featurizer:
 graph: molecular
 file_geometries: geometries.json

Where file_geometries is a JSON file containing an array of molecules on PDB format. Check the example file If the file_geometries is not set in the input the model will try to use the RDKit geometries.