text: user7408: I am a researcher in high-performance computing (with very little bioinformatics background), and I am trying to understand what are the current biggest computational bottlenecks of software used for research on the topic of Covid-19 (testing, vaccine development, drug identification, etc...). 
  I know this is a very broad question, but I am looking for the biggest common denominators. Said differently, if you could pick a few operations / algorithms / data structures to speed up Covid-19 research and they would magically run 1000 times faster, what would they be?
  Note: links to books, papers, and scientific literature are very welcomed.
  
  user3848: Drug screening 
  I understand the idea behind this, particularly with deep learning playing such an important role in computation (see GPU). Moreover, molecular dynamics is famous for sumping computer power, so yeah this is a bottleneck. However, this is not trivial because the wet-lab work is such a long way off. The first crystal/cyro/EM/NMR structure that will be resolved is Spike (S) and this would not be a 'traditional' drug target, its a vaccine candidate (okay influenza has surface antigen drug target, Tamiflu). Expressing S is a priority (vaccines) and solving the structure is a by-product and its not that big, plus the majority of it is water-soluable so it will cystalise nicely (its a surface antigen). Obtaining the structure for a more 'traditional drug target' which would be ORFa and ORFb (RNA dependent RNA polymerase ... and other replication associated proteins), will be difficult, because they are huge (ORFa + ORFb are 20 Kb of RNA, which for an RNA virus is twice as big as the genomes for most RNA viruses) and for crystals ... solubility(?). Ultimately, how do you cystalise a protein that 4kb of amino acids - well you'd have to do it in subdomains, you'd probably need NMR/ really hot EM.
  General
  HPC is a big field and it highlights the importance of one area most struggle with which is GPU (graphic processing unit) for deep learning (DL) applications. HPC's role molecular dynamics/drug discovery) and a mixture of DL and MD. 
  Traditional CPU 'farms' most of use have access to, is less critical because whether it takes 2 days per calculation or 2 hours isn't a huge issue (but its very seriously annoying indeed)..
  The most pressing need for computational power will be epidemiological modelling, particularly if someone is pursing a microsimulation. The firepower would enable them to explore a large number of scenarios and parameter explorations. Apart from a vaccines then epi modelling is the hot-topic of the moment.
  
  user6322: I can only speak of drug design (and even then I am terrible at turning down the jargon).
  In the case of drug design, this is pretty much plan C. Namely, none of compounds that entered clinical trial at the start of the year work (let's call this plan A) and none of the vaccines that are entering now clinical trial work (let's call this plan B although vaccination prevents so is a better solution). Clinical trials take a lot time as they need to be thorough (cf. the infamous thalidomide from the days with more lax testing)
  There are several bottlenecks in drug design. These are technical based on our imperfect understanding of things, which results in less than ideal models. CPU time is not really an issue. Empirical validation is required at many steps along the way. This is greatly increased by automation. The XChem team at Diamond light source have done a fragment-screening against the SARS-CoV-2 main protease at an insane pace: things are changing fast!
  Drug screen
  There are many ways to make a drug. In one way, a test system was set up (a reporter assay) that gives you a measurable read-out, say mm of clearance of bacteria on a Petri dish (viability) around a cellulose dish soaked in different separated natural extracts —and you might find that Penicillium chrysogenum has a compound of interest. What you are doing is drug screen. Screening a large panel of compounds (of varying purity) does not necessarily require knowing the protein target.
  Rational drug design
  Fast forward to this decade and it becomes possible to predict the free energy release upon binding of a small molecule against a protein —mostly.
  This requires a solved 3D structure of the protein by X-ray crystallography. Crystallising a protein is a tricky business, as a pure protein sample has to come out of solution in a folded form to form a neat lattice as opposed to just making unfolded gunk. What salt conditions work? Anyone's guess. Some have done deep learning on it, but the best solution is to have a robot try a very large range of combinations.
  Once you have a protein structure you can predict what fits into the part that you want to target, say an active site or an interface. This is not done by simple cartesian geometric shape fitting like LEGO bricks as there are many molecular forces involved. So a mathematical model of these forces is made, called a force field. Many have been made, a lot of study has gone into these, but they are not perfect. It is all made worse by the fact that we cannot really model water properly —most models use a proxy (implicit solvent) or use non-polarisable water.
  This is all while made worse by the fact that a protein is not static but wobbles (following the same mathematical models). So a ligand does not slot in really like a key in a lock, but has an induced fit. Modelling all this is accurately is problematic, but one can still try: calculating where exactly a ligand binds to a protein is called for which one gets energy difference upon binding. And one can try an inordinate amount of small molecules —Zinc DB contains 230 million purchasable compounds. This is called a virtual screen. One can even start with the natural substrate and "weaponise it" by adding chemical groups that do a chemical reaction that breaks the protein. However, a metabolite is very different from a drug (cf. Lipinski's rule of five) as the latter must cross membranes etc. But generally the accuracy is not great without multiple steps of empirical validation.
  To improve the results from a virtual screen the most common approach is to do a fragment screen to guide it. This is to automatedly soak protein crystals with a large library of small compounds and see which crystal contains a bound hit. The hits can be expanded into bigger fragments in a virtual screens and the short list of compounds tested (these are not cheap) by soaking and crystallising again.
  In the case of Covid19 virus, the cool thing is that this whole process is open in the aforementioned current campaign (Diamond is a government owned synchrotron and not a big pharma). What is really nice about this is that for the second cycle comp-chemists from everywhere have done their own guided virtual screen and have submit compounds (which you can see publicly).
  It should be said that drug screens that are not rational design are still a thing. The recent antibiotic-discovering deep-learning paper in Cell]6 is such an example, although it should be said that it was a feat not only in AI but also in automated empirical testing.
  Future
  Automation via better and open software will definitely improve. With a small drive possibly from the dissemination of easy to use and to code off-the-shelf electronics, such as Rasperry Pis or Arduinos. But mainly with more complex machines such as the Opentron system (a python-controlled robot).
  But indubitably where the greatest improvement can come is better mathematical models. Possibly even with deep learning. After all researches were amused last year-ish (2018 competition) when DeepMind "won" the protein 3D structure (fold) modelling competition (CASP13) and there have definitely been some really nice results in the field of docking with hybrid models. So deep-learning may still surprise us yet...
  Lastly, open science will be a strong driver: using premade packages or tools on GitHub and code snippets from StackOverflow etc. will accelerate these.
  
original_text: 7408: <p>I am a researcher in high-performance computing (with very little bioinformatics background), and I am trying to understand what are the current biggest computational bottlenecks of software used for research on the topic of Covid-19 (testing, vaccine development, drug identification, etc...). </p>
  
  <p>I know this is a very broad question, but I am looking for the biggest common denominators. Said differently, if you could pick a few operations / algorithms / data structures to speed up Covid-19 research and they would magically run 1000 times faster, what would they be?</p>
  
  <p>Note: links to books, papers, and scientific literature are very welcomed.</p>
   3848: <p><strong>Drug screening</strong> </p>
  
  <p>I understand the idea behind this, particularly with deep learning playing such an important role in computation (see GPU). Moreover, molecular dynamics is famous for sumping computer power, so yeah this is a bottleneck. However, this is not trivial because the wet-lab work is such a long way off. The first crystal/cyro/EM/NMR structure that will be resolved is <strong>Spike</strong> (S) and this would not be a 'traditional' drug target, its a vaccine candidate (okay influenza has surface antigen drug target, Tamiflu). Expressing S is a priority (vaccines) and solving the structure is a by-product and its not that big, plus the majority of it is water-soluable so it will cystalise nicely (its a surface antigen). Obtaining the structure for a more 'traditional drug target' which would be ORFa and ORFb (RNA dependent RNA polymerase ... and other replication associated proteins), will be difficult, because they are huge (ORFa + ORFb are 20 Kb of RNA, which for an RNA virus is twice as big as the genomes for most RNA viruses) and for crystals ... solubility(?). Ultimately, how do you cystalise a protein that 4kb of amino acids - well you'd have to do it in subdomains, you'd probably need NMR/ really hot EM.</p>
  
  <p><strong>General</strong></p>
  
  <p>HPC is a big field and it highlights the importance of one area most struggle with which is GPU (graphic processing unit) for deep learning (DL) applications. HPC's role molecular dynamics/drug discovery) and a mixture of DL and MD. </p>
  
  <p>Traditional CPU 'farms' most of use have access to, is less critical because whether it takes 2 days per calculation or 2 hours isn't a huge issue (but its very seriously annoying indeed)..</p>
  
  <p>The most pressing need for computational power will be epidemiological modelling, particularly if someone is pursing a microsimulation. The firepower would enable them to explore a large number of scenarios and parameter explorations. Apart from a vaccines then epi modelling is the hot-topic of the moment.</p>
   6322: <p>I can only speak of drug design (and even then I am terrible at turning down the jargon).</p>
  
  <p>In the case of drug design, this is pretty much plan C. Namely, none of compounds that entered clinical trial at the start of the year work (let's call this plan A) and none of the vaccines that are entering now clinical trial work (let's call this plan B although vaccination prevents so is a better solution). Clinical trials take a lot time as they need to be thorough (cf. the <a href="https://en.wikipedia.org/wiki/Thalidomide" rel="noreferrer">infamous thalidomide</a> from the days with more lax testing)</p>
  
  <p>There are several bottlenecks in drug design. These are technical based on our imperfect understanding of things, which results in less than ideal models. CPU time is not really an issue. Empirical validation is required at many steps along the way. This is greatly increased by automation. The XChem team at Diamond light source have done <a href="https://www.diamond.ac.uk/covid-19/for-scientists/Main-protease-structure-and-XChem.html" rel="noreferrer">a fragment-screening against the SARS-CoV-2 main protease</a> at an insane pace: things are changing fast!</p>
  
  <h2>Drug screen</h2>
  
  <p>There are many ways to make a drug. In one way, a test system was set up (a reporter assay) that gives you a measurable read-out, say mm of clearance of bacteria on a Petri dish (viability) around a cellulose dish soaked in different separated natural extracts —and you might find that <em>Penicillium chrysogenum</em> has a compound of interest. What you are doing is drug screen. Screening a large panel of compounds (of varying purity) does not necessarily require knowing the protein target.</p>
  
  <h2>Rational drug design</h2>
  
  <p>Fast forward to this decade and it becomes possible to predict the free energy release upon binding of a small molecule against a protein —mostly.</p>
  
  <p>This requires a solved 3D structure of the protein by X-ray crystallography. Crystallising a protein is a tricky business, as a pure protein sample has to come out of solution in a folded form to form a neat lattice as opposed to just making unfolded gunk. What salt conditions work? Anyone's guess. Some have done deep learning on it, but the best solution is to have a robot try a very large range of combinations.</p>
  
  <p>Once you have a protein structure you can predict what fits into the part that you want to target, say an active site or an interface. This is not done by simple cartesian geometric shape fitting like LEGO bricks as there are many molecular forces involved. So a mathematical model of these forces is made, called a <a href="https://en.wikipedia.org/wiki/Force_field_(chemistry)" rel="noreferrer">force field</a>. Many have been made, a lot of study has gone into these, but they are not perfect. It is all made worse by the fact that we cannot really model water properly —most models use a proxy (implicit solvent) or use non-polarisable water.
  This is all while made worse by the fact that a protein is not static but wobbles (following the same mathematical models). So a ligand does not slot in really like a key in a lock, but has an induced fit. Modelling all this is accurately is problematic, but one can still try: calculating where exactly a ligand binds to a protein is called for which one gets energy difference upon binding. And one can try an inordinate amount of small molecules —<a href="https://zinc.docking.org/" rel="noreferrer">Zinc DB</a> contains 230 million purchasable compounds. This is called a virtual screen. One can even start with the natural substrate and "weaponise it" by adding chemical groups that do a chemical reaction that breaks the protein. However, a metabolite is very different from a drug (cf. <a href="https://en.wikipedia.org/wiki/Lipinski%27s_rule_of_five" rel="noreferrer">Lipinski's rule of five</a>) as the latter must cross membranes etc. But generally the accuracy is not great without multiple steps of empirical validation.</p>
  
  <p>To improve the results from a virtual screen the most common approach is to do a fragment screen to guide it. This is to automatedly soak protein crystals with a large library of small compounds and see which <a href="https://www.diamond.ac.uk/covid-19/for-scientists/Main-protease-structure-and-XChem/Interactive-views.html" rel="noreferrer">crystal contains a bound hit</a>. The hits can be expanded into bigger fragments in a virtual screens and the short list of compounds tested (these are not cheap) by soaking and crystallising again.
  In the case of Covid19 virus, the cool thing is that this whole process is open in the aforementioned current campaign (Diamond is a government owned synchrotron and not a big pharma). What is really nice about this is that for the second cycle comp-chemists from everywhere have done their own guided virtual screen and have submit compounds (<a href="https://covid.postera.ai/covid/submissions" rel="noreferrer">which you can see publicly</a>).</p>
  
  <p>It should be said that drug screens that are not rational design are still a thing. The recent antibiotic-discovering deep-learning paper in Cell]<a href="https://linkinghub.elsevier.com/retrieve/pii/S0092-8674(20)30102-1" rel="noreferrer">6</a> is such an example, although it should be said that it was a feat not only in AI but also in automated empirical testing.</p>
  
  <h2>Future</h2>
  
  <p><strong>Automation</strong> via better and open software will definitely improve. With a small drive possibly from the dissemination of easy to use and to code off-the-shelf electronics, such as Rasperry Pis or Arduinos. But mainly with more complex machines such as the <a href="https://opentrons.com/" rel="noreferrer">Opentron system</a> (a python-controlled robot).</p>
  
  <p>But indubitably where the greatest improvement can come is <strong>better mathematical models</strong>. Possibly even with deep learning. After all researches were amused last year-ish (2018 competition) when DeepMind "won" the protein 3D structure (fold) modelling competition (CASP13) and there have definitely been some really nice results in the field of docking with hybrid models. So deep-learning may still surprise us yet...</p>
  
  <p>Lastly, <strong>open science</strong> will be a strong driver: using premade packages or tools on GitHub and code snippets from StackOverflow etc. will accelerate these.</p>
  