Take random sample of train and validation contact matrices.
Compute RMSD to native state and fraction of native contacts for sampled matrices.
2.1 Use openmm RMSD and fraction of native contacts reporters.
Make a callback which stores a matplotlib plot as a member variable. The plot has the axis/labels and color map formatted at initialization of the callback. The only thing that changes when the callback is called during training is the coordinates of the t-SNE embeddings. Then during training we can observe the points moving. Draw train samples as circles and validation samples as triangles.
Save dictionary of embeddings and indices to disk, save plot png to disk.
Bonus: Make a movie of the embeddings in bokeh