libokj commited on
Commit
319b9d9
·
1 Parent(s): 75a7fb6

Update drug_screen_validate

Browse files
Files changed (1) hide show
  1. app.py +13 -1
app.py CHANGED
@@ -1129,10 +1129,22 @@ QALAHAYFAQYHDPDDEPVADPYDQSFESRDLLIDEWKSLTYDEVISFVPPPLDQEEMES
1129
  if library in DRUG_LIBRARY_MAP.keys():
1130
  screen_df = pd.read_csv(Path('data/drug_libraries', DRUG_LIBRARY_MAP[library]))
1131
  else:
1132
- screen_df = pd.read_csv(library_upload)
 
 
 
 
 
 
1133
  validate_columns(screen_df, ['X1'])
1134
 
 
 
 
 
1135
  screen_df['X2'] = fasta
 
 
1136
 
1137
  job_id = uuid4()
1138
  temp_file = Path(f'{job_id}_input.csv').resolve()
 
1129
  if library in DRUG_LIBRARY_MAP.keys():
1130
  screen_df = pd.read_csv(Path('data/drug_libraries', DRUG_LIBRARY_MAP[library]))
1131
  else:
1132
+ if library_upload.endswith('.csv'):
1133
+ screen_df = pd.read_csv(library_upload)
1134
+ elif library_upload.endswith('.sdf'):
1135
+ suppl = Chem.ForwardSDMolSupplier(library_upload)
1136
+ screen_df = pd.DataFrame([Chem.MolToSmiles(mol) for mol in suppl], columns=['X1'])
1137
+ else:
1138
+ raise 'Currently only csv and sdf files are supported.'
1139
  validate_columns(screen_df, ['X1'])
1140
 
1141
+ if not np.isin('ID1', screen_df.columns):
1142
+ screen_df['ID1'] = list(range(screen_df.shape[0]))
1143
+ if not np.isin('ID2', screen_df.columns):
1144
+ screen_df['ID2'] = 'Input'
1145
  screen_df['X2'] = fasta
1146
+ screen_df['Y'] = 0
1147
+ screen_df = screen_df.loc[:, ['ID1', 'X1', 'ID2', 'X2', 'Y']]
1148
 
1149
  job_id = uuid4()
1150
  temp_file = Path(f'{job_id}_input.csv').resolve()