gelnesr commited on
Commit
3748805
·
1 Parent(s): 552172b
Files changed (1) hide show
  1. app.py +15 -2
app.py CHANGED
@@ -58,6 +58,18 @@ from esm.utils.structure.protein_chain import ProteinChain
58
  from transformers import AutoTokenizer
59
  import utils
60
 
 
 
 
 
 
 
 
 
 
 
 
 
61
  def validate_sequence(sequence):
62
  if not sequence:
63
  return None
@@ -354,7 +366,8 @@ with dyna1_app:
354
  outputs=[esm3_inputs, esm2_inputs, results_esm3, results_esm2, examples_esm3]
355
  )
356
 
357
- def predict_esm3(name, sequence, pdb_id, pdb_file, chain_id, use_pdb_seq):
 
358
  csv_output, pdb_output = predict_dynamics(
359
  sequence=sequence,
360
  pdb_input=pdb_id if pdb_id else pdb_file,
@@ -378,7 +391,7 @@ with dyna1_app:
378
 
379
  submit_btn_esm3.click(
380
  fn=predict_esm3,
381
- inputs=[name_input, sequence_input_esm3, pdb_id, pdb_file, chain_id, use_pdb_seq],
382
  outputs=[csv_output_esm3, pdb_output_esm3]
383
  )
384
 
 
58
  from transformers import AutoTokenizer
59
  import utils
60
 
61
+ from huggingface_hub import get_hf_file_metadata
62
+ from huggingface_hub.utils import GatedRepoError
63
+
64
+ def check_permissions(token: Optional[str] = None) -> None:
65
+ if token is None:
66
+ raise gr.Error("Please log in to use this Space")
67
+ try:
68
+ get_hf_file_metadata(repo_id="EvolutionaryScale/esm3-sm-open-v1", filename="config.json")
69
+ return
70
+ except GatedRepoError:
71
+ raise gr.Error("You must have access to ... to run this Space. Please go through the gating process and come back.")
72
+
73
  def validate_sequence(sequence):
74
  if not sequence:
75
  return None
 
366
  outputs=[esm3_inputs, esm2_inputs, results_esm3, results_esm2, examples_esm3]
367
  )
368
 
369
+ def predict_esm3(oauth_token: gr.OAuthToken | None, name, sequence, pdb_id, pdb_file, chain_id, use_pdb_seq):
370
+ check_permissions(oauth_token.token)
371
  csv_output, pdb_output = predict_dynamics(
372
  sequence=sequence,
373
  pdb_input=pdb_id if pdb_id else pdb_file,
 
391
 
392
  submit_btn_esm3.click(
393
  fn=predict_esm3,
394
+ inputs=[gr.OAuthToken(), name_input, sequence_input_esm3, pdb_id, pdb_file, chain_id, use_pdb_seq],
395
  outputs=[csv_output_esm3, pdb_output_esm3]
396
  )
397