zulissimeta commited on
Commit
acb2b77
·
1 Parent(s): 77c5b54

more tweaks

Browse files
Files changed (3) hide show
  1. app.py +16 -29
  2. hf_calculator.py +0 -1
  3. simulation_scripts.py +0 -1
app.py CHANGED
@@ -44,7 +44,6 @@ DEFAULT_MOLECULAR_SETTINGS = {
44
 
45
 
46
  def main():
47
-
48
  input_structure = gr.File(
49
  label="ASE-compatible structure",
50
  file_types=[".cif", ".pdb", ".xyz", ".traj", "INCAR", "POSCAR"],
@@ -126,19 +125,20 @@ def main():
126
  with gr.Blocks(theme=gr.themes.Ocean()) as demo:
127
  with gr.Row():
128
  with gr.Column(scale=2):
129
-
130
  with gr.Column(variant="panel"):
131
- gr.Markdown(
132
- "# Meta's Universal Model for Atoms (UMA) Demo"
133
- )
134
-
135
-
136
 
137
  with gr.Tab("1. UMA Intro"):
 
 
 
 
 
 
138
 
139
- gr.Image('figures/uma_overview_figure.svg', label="UMA Overview", show_share_button=False, show_download_button=False)
140
-
141
- gr.Markdown("This is UMA! It is a large mixture-of-linear-experts graph network model trained on billions of atoms across five open-science simulation datasets released by the FAIR Chemistry team over the past 5 years. If you give it an input structure and which task you're interested in modeling in, it will output the energy, forces, and stress which you can use for a molecular simulation! Try one of these examples to see what it can do.")
142
  with gr.Row():
143
  gr.Examples(
144
  examples=[
@@ -203,10 +203,6 @@ def main():
203
 
204
  gr.Markdown(
205
  """
206
- In this demo:
207
- * Every example is a specific molecular structure or material that can be simulated using the UMA model.
208
- * Each simulation you see would take days or weeks using a traditional quantum chemistry simulation, but UMA can do it in seconds or minutes!
209
- * Examples in the demo are cached ahead of time so they should load right away, but if you run a custom simulation you'll see a progress bar while the simulation runs.
210
 
211
  When you've run your first UMA simulation, click on the next tab above to explore the UMA model in more detail and see how it works across many different domains/examples!
212
  """
@@ -577,12 +573,8 @@ def main():
577
  )
578
 
579
  with gr.Sidebar(open=True):
580
- gr.Markdown(
581
- "## Learn more about UMA"
582
- )
583
- with gr.Accordion(
584
- "What is UMA?", open=False
585
- ):
586
  gr.Markdown(
587
  """
588
  * UMA models predict motion and behavior at the atomic scale, ultimately reducing the development cycle in molecular and materials discovery and unlocking new possibilities for innovation and impact.
@@ -592,9 +584,7 @@ def main():
592
  Read the UMA paper for details or download the UMA model and FAIR Chemistry repository to use this yourself!
593
  """
594
  )
595
- with gr.Accordion(
596
- "Should I trust UMA?", open=False
597
- ):
598
  gr.Markdown(
599
  """
600
  * The UMA model paper contains rigorous accuracy benchmarks on a number of validation sets across chemistry and materials science. As of model release the UMA model was at or near the state-of-the-art for generalization machine learning potentials. Read the UMA paper for details.
@@ -609,9 +599,7 @@ def main():
609
  * Meta's Fundamental AI Research Lab (FAIR) is drastically accelerating this process by developing accurate and generalizable machine learning models, building on work by academic, industrial, and national lab collaborators.
610
  """
611
  )
612
- with gr.Accordion(
613
- "Open source packages in this demo", open=False
614
- ):
615
  gr.Markdown(
616
  """
617
  * The model code is available on github at [FAIR chemistry repo](https://github.com/facebookresearch/fairchem)
@@ -623,7 +611,8 @@ def main():
623
  """
624
  * Each simulation you see would take days or weeks using a traditional quantum chemistry simulation, but UMA can do it in seconds or minutes!
625
  * Examples in the demo are cached ahead of time so they should load right away, but if you run a custom simulation you'll see a progress bar while the simulation runs.'
626
- """)
 
627
 
628
  gr.Markdown("## Simulation inputs")
629
 
@@ -631,7 +620,6 @@ def main():
631
  gr.Markdown("### 1. Example structure (or upload your own!)")
632
  with gr.Row():
633
  with gr.Column():
634
-
635
  input_structure.render()
636
 
637
  gr.LoginButton(size="large")
@@ -853,7 +841,6 @@ def main():
853
 
854
 
855
  if __name__ == "__main__":
856
-
857
  # On load, build and install the gradio_molecul3d fork
858
  subprocess.call(
859
  ["gradio", "cc", "install"], cwd=Path(__file__).parent / "gradio_molecule3d/"
 
44
 
45
 
46
  def main():
 
47
  input_structure = gr.File(
48
  label="ASE-compatible structure",
49
  file_types=[".cif", ".pdb", ".xyz", ".traj", "INCAR", "POSCAR"],
 
125
  with gr.Blocks(theme=gr.themes.Ocean()) as demo:
126
  with gr.Row():
127
  with gr.Column(scale=2):
 
128
  with gr.Column(variant="panel"):
129
+ gr.Markdown("# Meta's Universal Model for Atoms (UMA) Demo")
 
 
 
 
130
 
131
  with gr.Tab("1. UMA Intro"):
132
+ gr.Image(
133
+ "figures/uma_overview_figure.svg",
134
+ label="UMA Overview",
135
+ show_share_button=False,
136
+ show_download_button=False,
137
+ )
138
 
139
+ gr.Markdown(
140
+ "This is UMA! It is a large mixture-of-linear-experts graph network model trained on billions of atoms across five open-science simulation datasets released by the FAIR Chemistry team over the past 5 years. If you give it an input structure and which task you're interested in modeling in, it will output the energy, forces, and stress which you can use for a molecular simulation! Try one of these examples to see what it can do."
141
+ )
142
  with gr.Row():
143
  gr.Examples(
144
  examples=[
 
203
 
204
  gr.Markdown(
205
  """
 
 
 
 
206
 
207
  When you've run your first UMA simulation, click on the next tab above to explore the UMA model in more detail and see how it works across many different domains/examples!
208
  """
 
573
  )
574
 
575
  with gr.Sidebar(open=True):
576
+ gr.Markdown("## Learn more about UMA")
577
+ with gr.Accordion("What is UMA?", open=False):
 
 
 
 
578
  gr.Markdown(
579
  """
580
  * UMA models predict motion and behavior at the atomic scale, ultimately reducing the development cycle in molecular and materials discovery and unlocking new possibilities for innovation and impact.
 
584
  Read the UMA paper for details or download the UMA model and FAIR Chemistry repository to use this yourself!
585
  """
586
  )
587
+ with gr.Accordion("Should I trust UMA?", open=False):
 
 
588
  gr.Markdown(
589
  """
590
  * The UMA model paper contains rigorous accuracy benchmarks on a number of validation sets across chemistry and materials science. As of model release the UMA model was at or near the state-of-the-art for generalization machine learning potentials. Read the UMA paper for details.
 
599
  * Meta's Fundamental AI Research Lab (FAIR) is drastically accelerating this process by developing accurate and generalizable machine learning models, building on work by academic, industrial, and national lab collaborators.
600
  """
601
  )
602
+ with gr.Accordion("Open source packages in this demo", open=False):
 
 
603
  gr.Markdown(
604
  """
605
  * The model code is available on github at [FAIR chemistry repo](https://github.com/facebookresearch/fairchem)
 
611
  """
612
  * Each simulation you see would take days or weeks using a traditional quantum chemistry simulation, but UMA can do it in seconds or minutes!
613
  * Examples in the demo are cached ahead of time so they should load right away, but if you run a custom simulation you'll see a progress bar while the simulation runs.'
614
+ """
615
+ )
616
 
617
  gr.Markdown("## Simulation inputs")
618
 
 
620
  gr.Markdown("### 1. Example structure (or upload your own!)")
621
  with gr.Row():
622
  with gr.Column():
 
623
  input_structure.render()
624
 
625
  gr.LoginButton(size="large")
 
841
 
842
 
843
  if __name__ == "__main__":
 
844
  # On load, build and install the gradio_molecul3d fork
845
  subprocess.call(
846
  ["gradio", "cc", "install"], cwd=Path(__file__).parent / "gradio_molecule3d/"
hf_calculator.py CHANGED
@@ -30,7 +30,6 @@ def hash_save_file(atoms: ase.Atoms, task_name, path: Path | str):
30
 
31
 
32
  class HFEndpointCalculator(Calculator):
33
-
34
  # A simple calculator that uses the Hugging Face Inference Endpoints to run
35
 
36
  implemented_properties = ["energy", "free_energy", "stress", "forces"]
 
30
 
31
 
32
  class HFEndpointCalculator(Calculator):
 
33
  # A simple calculator that uses the Hugging Face Inference Endpoints to run
34
 
35
  implemented_properties = ["energy", "free_energy", "stress", "forces"]
simulation_scripts.py CHANGED
@@ -96,7 +96,6 @@ def run_md_simulation(
96
  spin_multiplicity = 0
97
 
98
  try:
99
-
100
  atoms = load_check_ase_atoms(structure_file)
101
 
102
  # Check if the file is an example
 
96
  spin_multiplicity = 0
97
 
98
  try:
 
99
  atoms = load_check_ase_atoms(structure_file)
100
 
101
  # Check if the file is an example