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.