Research – University of Minnesota

Deep learning for drug discovery, in Java

A drug researcher uses Deep Netts networks to make sense of thousands of lab measurements and find the compounds that change a protein the way a medicine should. Separately, with Zoran Ševarac of Deep Netts, he published a study of how the coronavirus spike protein wobbles – analysed in Java, without a neural network.

Pure JVM

no native libraries to install

No QSAR input

models learn from properties already in the compound library

How it works – the animation

0
Frames
0
Top frequency
0
Screened
0
Hits
Step 1 / 5
Protein dynamics
Simulation

The study simulated the SARS-CoV-2 spike protein (PDB 6VSB) in water for 200 ns, one frame per nanosecond. From every frame the backbone angles φ and ψ of each residue are read – here φ of one residue.

200 ns
simulated, one frame per ns (PDB 6VSB)
23–63 MHz
favoured φ/ψ oscillations, top 42.97 MHz
Pure JVM
deep learning with no native libraries

Sources: O. H. Bastidas & Z. Sevarac, Time dependent dihedral angle oscillations of the spike protein of SARS-CoV-2, Scientific Reports (2024); O. Bastidas, Ph.D., Deep Learning in Drug Discovery (2021). The protein fragment, compounds and values drawn are illustrative.

1.In short

  • Who: Oscar Bastidas, Ph.D., a researcher in Minnesota – and, for the second project, Zoran Ševarac of Deep Netts Technologies.
  • Project 1 – screening (uses Deep Netts): robots test thousands of compounds against a protein; Deep Netts feed-forward networks learn from the results which compounds are promising.
  • Why Deep Netts: it learns from properties already in the compound library (no structural data needed), runs on any machine with Java (no native libraries) and in the researcher's own language.
  • Project 2 – spike protein (no neural network): 200 ns of simulated motion of the SARS-CoV-2 spike protein, analysed in Java with a Fourier transform; published in Scientific Reports in 2024.

2.Who, and two projects

Oscar Bastidas, Ph.D., is a researcher and Java developer working on drug discovery. He wrote about his use of Deep Netts in 2021 as a researcher at the University of Minnesota; his 2024 paper lists Oscar Bastidas Research LLC, Minneapolis. Zoran Ševarac, his co-author on the paper, is with Deep Netts Technologies in Belgrade.

The animation at the top of this page shows both of his projects in one scene. They are different pieces of work:

3.Proteins, shapes, medicines

Proteins do almost all the work in a living cell – and in a virus. A protein is a long chain of building blocks (amino acids) folded into a 3D shape, and the shape decides what it does. The shape is never completely still: the chain bends and wobbles all the time, and some proteins switch between shapes to turn a function on or off.

Many medicines are small molecules that bind to a protein and change its shape – a conformational change – so the protein works differently. Drug discovery is the search for such molecules.

It is slow and expensive. Bringing a candidate molecule to patients can take up to a decade, and up to 95% of candidates fail along the way. Experimental work is one of the main bottlenecks – but it also produces huge amounts of data, which is where machine learning can help.

4.High-throughput screening

In high-throughput screening (HTS), robots test a whole compound library – a lab's collection of thousands of small molecules – against one protein. Compounds sit in plates with hundreds of tiny wells; each well gets the protein, one compound and a readout that produces a signal.

negative control positive control darker = stronger signal signal in the target range = hit (26 here)
A 384-well plate: one compound per well, control wells at the edges. Layout and values illustrative – the real screening data are not published.

In this screen, a signal inside a certain range means the compound caused the desired conformational change in the protein: it is a hit. One experimental session produces tens of thousands of data points.

HTS data have two qualities that make them attractive for machine learning: they are already curated (controls and experimental conditions are part of the design) and they come in a consistent format – which is often a problem when comparing data from different experiments. The open question is what to do with so much data: labs with a purely experimental focus can feel overwhelmed by it.

5.Where Deep Netts comes in

The goal of the analysis is to identify the features of the compounds that drive a favourable signal – and so point the lab to the molecules most likely to be productive. Deep Netts is the engine of that analysis:

  1. Compound library

    Each compound comes with physical and chemical properties.

  2. Screening

    The lab measures a signal for every compound.

  3. Deep Netts

    Train

    A Deep Netts feed-forward network learns: properties → signal.

  4. Deep Netts

    Tune

    Hyperparameters fitted to the nature of the data, for the best prediction accuracy.

  5. Hits and features

    Which compounds land in the target range, and which properties drive it.

The data, as the network sees it

CompoundMol. weightlogPH-bond donorsPolar surfaceSignalHit?
C-0412312.42.8164.10.71✓
C-0413198.20.9388.50.12–
C-0414451.64.3041.70.33–
C-0415287.32.1272.90.66✓
…………………
Illustrative rows. The article speaks of physical and chemical properties provided with the compound library; the exact columns and values of the real screen are not published.

Each row is one training example: the properties are the inputs, the measured signal is the answer the network learns to predict. A trained network can then estimate the signal of compounds it has not seen, and show which properties matter.

Sketch – a property-to-signal network in the Deep Netts API

TabularDataSet<MLDataItem> data =
        DataSets.readCsv("screen.csv", 4, 1, true, ",");   // 4 properties → 1 signal
TrainTestSplit split = data.trainTestSplit(0.8);

FeedForwardNetwork model = FeedForwardNetwork.builder()
        .addInputLayer(4)
        .addFullyConnectedLayer(16, ActivationType.TANH)
        .addFullyConnectedLayer(8, ActivationType.TANH)
        .addOutputLayer(1, ActivationType.LINEAR)          // predicted signal
        .lossFunction(LossType.MEAN_SQUARED_ERROR)
        .build();

model.getTrainer()                                          // hyperparameters, tuned to the data
        .setLearningRate(0.001f)
        .setStopEpochs(1000);
model.train(split.getTrainingSet());

float signal = model.predict(properties)[0];
boolean hit = signal >= LOW && signal <= HIGH;
Written like the regression examples in the Deep Netts cookbook – not the researcher's code, which is not published.

The researcher also points to a research idea of his own: writing down which hyperparameter values work best for a given experimental method could itself say something about that method – for instance whether the best values change when the measurement physics changes but the protein and the compounds stay the same.

6.Without structural data

The standard computational approach in drug discovery is QSAR – quantitative structure–activity relationship: predict a molecule's activity from its chemical structure. For that you need the structure, usually written as a SMILES code – a line of text that spells out atoms and bonds. Aspirin, for example:

CC(=O)OC1=CC=CC=C1C(=O)O

For thousands of compounds in a real library, getting that structure can be extremely hard: many are not registered in public databases such as ChEMBL, or the lab lists them under in-house names those databases don't use.

With Deep Netts the analysis learns from the physical and chemical properties already provided with the compound library – no structural input required. In the researcher's words this can be an invaluable supplement, or even an alternative, to QSAR, and it already mattered in his work.

7.Why pure Java

  • No native libraries. Many deep learning tools depend on native code built for specific hardware and operating systems; on unusual architectures getting them to run can be next to impossible. Deep Netts runs purely on the Java virtual machine, so the question disappears.
  • His own language. As a Java developer he could use it out of the box, instead of spending weeks or months becoming proficient in another language just to use a different deep learning suite.
  • Control over the model. Hyperparameters can be fine-tuned to the nature of the data to maximise prediction accuracy.
  • Tools and help. Models can be built and analysed in the Deep Netts visual development environment, and he points to prompt, knowledgeable support from the Deep Netts team – especially with the enterprise edition; a free community edition also exists.

8.The spike protein study

No neural network here. This second project is a physics-style analysis of a protein simulation. It is on this page because it is the researcher's published work with Zoran Ševarac of Deep Netts, done in Java – and it is what the first two steps of the animation show.

The spike protein (S protein) sits on the surface of the SARS-CoV-2 virus and grabs human cells. That makes it one of the most important drug targets. It is made of three chains (A, B and C), each over 1,000 residues long; its measured 3D structure is entry 6VSB in the Protein Data Bank.

Much is known about the spike's structure – but, the authors note, a dedicated characterisation of how its backbone angles move over time was still missing. That is the question of the paper: how do these angles oscillate, and does the protein prefer certain frequencies?

9.Wobbling angles

The backbone of a protein repeats the same three atoms – N, Cα, C – for every residue, with the side chain (the part that makes each amino acid different) hanging off Cα. The chain can twist around two bonds per residue: the twist around N–Cα is the angle φ (phi), the twist around Cα–C is ψ (psi). Together they decide the local shape of the chain.

Rside chainφψCNCαCNCαone residue
The protein backbone and its two twist angles per residue. Schematic.

The simulation

The motion came from the authors' earlier study (Peters, Bastidas, Kokron and Henze, PLoS ONE 2020): a molecular dynamics simulation of the full spike protein in water, starting from structure 6VSB, run with the NAMD2 software and the CHARMM36m force field. After equilibration it ran for 200 nanoseconds, writing a snapshot every nanosecond. From every snapshot, φ and ψ of every residue were read – about 200 values per angle.

10.From wobble to frequencies

Each angle's 200 values form a wobbling line. A Fourier transform splits such a line into the simple rhythms (frequencies) it is made of. The authors ran the fast Fourier transform of the JDSP library, in Java, on every φ and ψ series. With one value per nanosecond, frequencies up to about 500 MHz can be seen.

One angle (φ) over 200 ns – one value per ns

Fourier
transform →

Which rhythms it is made of (MHz)

favoured 23–63 MHz27.343.062.50 … 100 MHz
A wobble that looks messy is really a few simple rhythms added together; the Fourier transform finds them. 43 MHz means one full back-and-forth roughly every 23 nanoseconds. Curve and bar heights illustrative, frequencies from the paper.

For every angle they took the peaks of its spectrum (leaving out the 0 MHz part, which only describes the average) and counted how often each frequency appeared – per type of amino acid, per chain and for the whole protein. SQL table joins combined the results for the analysis.

11.What they found

  • Favoured frequencies: the oscillations cluster in 23–63 MHz. The most common is 42.969 MHz, then 62.500 MHz and 27.344 MHz – for both φ and ψ. One full back-and-forth at 42.97 MHz takes about 23 nanoseconds.
  • A pattern like music: the counts alternate between high and low along the spectrum. The authors compare it to a harmonic series – the protein is more “in tune” with some frequencies than others.
  • Gaps: for rarer amino acids (histidine, methionine, tryptophan – 9 to 15 per chain) some frequencies never appear in a chain, and the gaps differ between chains, pointing to the influence of local environment.
  • Known sites look different in time, not in frequency: residues reported elsewhere as allosteric sites or as lining a druggable pocket showed distinctive patterns over time – brief excursions or sudden shifts – but no special frequency profile.
ResidueKnown forSource in the paper
Lys369, Phe377Allosteric site (luteolin binding)Alvarado et al.
Glu406, Asn439, Lys417, Asn501Allosteric communication centresVerkhivker et al.
Phe329, Phe515Motion of the receptor-binding domain when binding ACE2Xue et al.
Literature residues whose angle time courses the paper shows as distinctive.

Based on similar time profiles, the authors propose further residues for study – for example Asn211, Tyr421 and Thr124 (φ) or Leu858, Lys444 and Gln493 (ψ) – as possible starting points for vaccine or drug design, stressing that they need confirmation.

12.Limits and next steps

  • One wild-type trajectory of 200 ns, with one chain of 6VSB in the 'up' position.
  • What the MHz-range frequencies mean physically is not yet established.
  • Whether the 0 MHz component is real physics or an artifact needs tests with different ions, water and temperature.
  • The proposed residues need dedicated work to confirm a link to allostery or pockets.
  • Proteins of other sizes must be studied to see whether the pattern is general.

The authors present the work as a reference for future studies and a possible extra signal when looking for binding pockets – not a replacement for existing methods. The data are public on the Open Science Framework.

13.Glossary

Protein, residue
A protein is a chain of amino acids; one amino acid in the chain is a residue.
Conformational change
A change in a protein's 3D shape – what a medicine often aims to cause.
Compound library
A lab's collection of small molecules to test, each with listed properties.
High-throughput screening (HTS)
Robots testing thousands of compounds against a protein in one session.
Signal, hit
The measured readout per compound; a hit is a compound whose signal falls in the target range.
Controls
Wells with known outcomes (nothing / full effect) that calibrate a plate.
QSAR
Quantitative structure–activity relationship: predicting activity from chemical structure.
SMILES
A text code for a molecule's structure, e.g. aspirin = CC(=O)OC1=CC=CC=C1C(=O)O.
ChEMBL
A large public database of bioactive molecules.
Hyperparameters
Settings chosen before training: layer sizes, learning rate, number of epochs…
Native libraries
Machine code built for one operating system and processor – what pure Java avoids.
Spike (S) protein, 6VSB
The SARS-CoV-2 surface protein that binds human cells; 6VSB is its structure in the Protein Data Bank.
Backbone, φ and ψ
The repeating N–Cα–C chain; φ and ψ are its two twist angles per residue.
Molecular dynamics (MD)
A simulation that moves every atom step by step under physical forces.
ns, MHz
A nanosecond is a billionth of a second; 1 MHz is a million oscillations per second.
Fourier transform (FFT)
Maths that splits a signal into the frequencies it is made of; FFT is the fast algorithm.
Allosteric site
A place on a protein, away from its active site, where binding still changes how it works.
Druggable pocket
A cavity on a protein's surface where a small molecule can bind.

14.Sources