Spaces:
Running
Running
Eachan Johnson
commited on
Commit
·
43cbc74
1
Parent(s):
740236e
Slim down repo
Browse filesThis view is limited to 50 files because it contains too many changes.
See raw diff
- app.py +42 -19
- cache/cache_csv_default-00953711766d478a_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock +0 -0
- cache/cache_csv_default-03c2d6a24096cadb_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock +0 -0
- cache/cache_csv_default-06ebd4abec88f824_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock +0 -0
- cache/cache_csv_default-07681b79f1b14d09_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock +0 -0
- cache/cache_csv_default-08596bdace45a9e0_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock +0 -0
- cache/cache_csv_default-0ccf5404d587e265_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock +0 -0
- cache/cache_csv_default-0e1961df19e7f428_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock +0 -0
- cache/cache_csv_default-1152648bff9b0619_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock +0 -0
- cache/cache_csv_default-11d1d03ac37ee54d_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock +0 -0
- cache/cache_csv_default-13e8ff2cbdbb1601_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock +0 -0
- cache/cache_csv_default-1b04ae4fda4a32e3_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock +0 -0
- cache/cache_csv_default-1bf129cb42f88409_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock +0 -0
- cache/cache_csv_default-1d3aaac1973def40_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock +0 -0
- cache/cache_csv_default-1d8109d793352a35_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock +0 -0
- cache/cache_csv_default-1ecc7a7549fcfdea_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock +0 -0
- cache/cache_csv_default-1eeddf0790526c7b_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock +0 -0
- cache/cache_csv_default-215074de73e76f09_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock +0 -0
- cache/cache_csv_default-242181ae292241ee_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock +0 -0
- cache/cache_csv_default-263b017a70fce543_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock +0 -0
- cache/cache_csv_default-2a8ca29769ad0476_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock +0 -0
- cache/cache_csv_default-2c97b90189817bf7_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock +0 -0
- cache/cache_csv_default-3030c166054fac30_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock +0 -0
- cache/cache_csv_default-365a0c686393a911_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock +0 -0
- cache/cache_csv_default-3671ae337359ab4f_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock +0 -0
- cache/cache_csv_default-371d32405b5d7577_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock +0 -0
- cache/cache_csv_default-3b5f5887e0c60283_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock +0 -0
- cache/cache_csv_default-422903a15970f1e3_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock +0 -0
- cache/cache_csv_default-449dcf17eba1dc10_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock +0 -0
- cache/cache_csv_default-4caa284a4ac72c2a_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock +0 -0
- cache/cache_csv_default-4d6078d90c039063_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock +0 -0
- cache/cache_csv_default-4e957d94d04326a9_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock +0 -0
- cache/cache_csv_default-4f6c27099bb53527_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock +0 -0
- cache/cache_csv_default-502853d933683bdb_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock +0 -0
- cache/cache_csv_default-5092df56bc4a09a8_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock +0 -0
- cache/cache_csv_default-53b2b16e1030c75e_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock +0 -0
- cache/cache_csv_default-53eec1958d34ed11_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock +0 -0
- cache/cache_csv_default-5a935366194dc6e5_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock +0 -0
- cache/cache_csv_default-5caa340a2a1289a9_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock +0 -0
- cache/cache_csv_default-5f1d1406a3bfcf0b_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock +0 -0
- cache/cache_csv_default-615c9079844d4d62_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock +0 -0
- cache/cache_csv_default-6439ec426976ccb8_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock +0 -0
- cache/cache_csv_default-6555fb0c7e6de5c2_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock +0 -0
- cache/cache_csv_default-67de10cf26a832b6_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock +0 -0
- cache/cache_csv_default-6a6b713d0d64d590_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock +0 -0
- cache/cache_csv_default-6cbfc46a17993cd2_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock +0 -0
- cache/cache_csv_default-713ad308bf84b8e6_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock +0 -0
- cache/cache_csv_default-73e50ee513b905fa_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock +0 -0
- cache/cache_csv_default-747fafe34f78e023_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock +0 -0
- cache/cache_csv_default-7615c4b4c8d4b6ea_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock +0 -0
app.py
CHANGED
@@ -22,25 +22,29 @@ from schemist.converting import (
|
|
22 |
from schemist.tables import converter
|
23 |
import torch
|
24 |
|
|
|
25 |
HEADER_FILE = os.path.join("sources", "header.md")
|
26 |
MODEL_REPOS = {
|
27 |
"Klebsiella pneumoniae": "hf://scbirlab/spark-dv-fp-2503-kpn",
|
28 |
}
|
29 |
|
30 |
MODELBOXES = {
|
31 |
-
key: AutoModelBox.from_pretrained(val, cache_dir=
|
32 |
for key, val in MODEL_REPOS.items()
|
33 |
}
|
34 |
|
35 |
EXTRA_METRICS = {
|
36 |
-
"log10(variance)": lambda modelbox, candidates: modelbox.prediction_variance(candidates=candidates).map(lambda x: {modelbox._variance_key: torch.log10(x[modelbox._variance_key])}),
|
37 |
"Tanimoto nearest neighbor to training data": lambda modelbox, candidates: modelbox.tanimoto_nn(candidates=candidates),
|
38 |
-
"Doubtscore": lambda modelbox, candidates: modelbox.doubtscore(candidates=candidates).map(lambda x: {"doubtscore": torch.log10(x["doubtscore"])}),
|
39 |
-
"Information sensitivity (approx.)": lambda modelbox, candidates: modelbox.information_sensitivity(candidates=candidates, optimality_approximation=True, approximator="squared_jacobian").map(lambda x: {"information sensitivity": torch.log10(x["information sensitivity"])}),
|
40 |
}
|
41 |
|
42 |
-
def load_input_data(file: TextIOWrapper) -> pd.DataFrame:
|
43 |
-
|
|
|
|
|
|
|
44 |
string_cols = list(df.select_dtypes(exclude=[np.number]))
|
45 |
df = gr.Dataframe(value=df, visible=True)
|
46 |
return df, gr.Dropdown(choices=string_cols, interactive=True, value=string_cols[0])
|
@@ -119,7 +123,7 @@ def predict_one(
|
|
119 |
features=this_features,
|
120 |
labels=this_labels,
|
121 |
aggregator="mean",
|
122 |
-
cache=
|
123 |
).with_format("numpy")["__prediction__"].flatten()
|
124 |
print(prediction)
|
125 |
this_col = f"{species}: predicted MIC (µM)"
|
@@ -160,7 +164,11 @@ def convert_file(
|
|
160 |
input_representation: str = 'smiles',
|
161 |
output_representation: Union[str, Iterable[str]] = 'smiles'
|
162 |
):
|
163 |
-
|
|
|
|
|
|
|
|
|
164 |
print_err(message)
|
165 |
gr.Info(message, duration=3)
|
166 |
errors, df = converter(
|
@@ -204,7 +212,7 @@ def predict_file(
|
|
204 |
if prediction_df.shape[0] > 1000:
|
205 |
message = f"Truncating input to 1000 rows"
|
206 |
print_err(message)
|
207 |
-
gr.Info(message, duration=
|
208 |
prediction_df = prediction_df.iloc[:1000]
|
209 |
species_to_predict = cast(predict, to=list)
|
210 |
prediction_cols = []
|
@@ -228,14 +236,20 @@ def predict_file(
|
|
228 |
features=this_features,
|
229 |
labels=this_labels,
|
230 |
aggregator="mean",
|
231 |
-
cache=
|
232 |
).with_format("numpy")["__prediction__"].flatten()
|
233 |
print(prediction)
|
234 |
this_col = f"{species}: predicted MIC (µM)"
|
235 |
prediction_df[this_col] = np.power(10., -prediction) * 1e6
|
236 |
prediction_cols.append(this_col)
|
|
|
|
|
|
|
237 |
|
238 |
for extra_metric in extra_metrics:
|
|
|
|
|
|
|
239 |
# this_modelbox._input_training_data = this_modelbox._input_training_data.remove_columns([this_modelbox._in_key])
|
240 |
this_col = f"{species}: {extra_metric}"
|
241 |
prediction_cols.append(this_col)
|
@@ -251,7 +265,7 @@ def predict_file(
|
|
251 |
)
|
252 |
prediction_df[this_col] = this_extra[this_extra.column_names[-1]]
|
253 |
|
254 |
-
return prediction_df[['id'] + prediction_cols + ['smiles', 'inchikey', "mwt", "clogp"]]
|
255 |
|
256 |
def draw_one(
|
257 |
strings: Union[Iterable[str], str],
|
@@ -308,7 +322,7 @@ with gr.Blocks() as demo:
|
|
308 |
interactive=True,
|
309 |
)
|
310 |
extra_metric = gr.CheckboxGroup(
|
311 |
-
label="Extra metrics (can increase calculation time!)",
|
312 |
choices=list(EXTRA_METRICS),
|
313 |
value=list(EXTRA_METRICS)[:2],
|
314 |
interactive=True,
|
@@ -392,7 +406,7 @@ with gr.Blocks() as demo:
|
|
392 |
outputs=download_single
|
393 |
)
|
394 |
|
395 |
-
with gr.Tab("Predict on structures from a file (max. 1000 rows)"):
|
396 |
input_file = gr.File(
|
397 |
label="Upload a table of chemical compounds here",
|
398 |
file_types=[".xlsx", ".csv", ".tsv", ".txt"],
|
@@ -409,21 +423,25 @@ with gr.Blocks() as demo:
|
|
409 |
value="smiles",
|
410 |
interactive=True,
|
411 |
)
|
412 |
-
output_species = gr.
|
413 |
label="Species for prediction",
|
414 |
choices=list(MODEL_REPOS),
|
415 |
-
value=list(MODEL_REPOS)[
|
416 |
interactive=True,
|
417 |
)
|
418 |
extra_metric_file = gr.CheckboxGroup(
|
419 |
-
label="Extra metrics (can increase calculation time
|
420 |
choices=list(EXTRA_METRICS),
|
421 |
value=list(EXTRA_METRICS)[:2],
|
422 |
interactive=True,
|
423 |
)
|
424 |
-
|
425 |
examples=[
|
426 |
-
[
|
|
|
|
|
|
|
|
|
427 |
],
|
428 |
example_labels=[
|
429 |
"Stokes J. et al., Cell, 2020"
|
@@ -436,7 +454,7 @@ with gr.Blocks() as demo:
|
|
436 |
)
|
437 |
|
438 |
download = gr.DownloadButton(
|
439 |
-
label="Download
|
440 |
visible=False,
|
441 |
)
|
442 |
input_data = gr.Dataframe(
|
@@ -446,6 +464,11 @@ with gr.Blocks() as demo:
|
|
446 |
interactive=False,
|
447 |
)
|
448 |
|
|
|
|
|
|
|
|
|
|
|
449 |
input_file.upload(
|
450 |
load_input_data,
|
451 |
inputs=[input_file],
|
|
|
22 |
from schemist.tables import converter
|
23 |
import torch
|
24 |
|
25 |
+
CACHE = "./cache"
|
26 |
HEADER_FILE = os.path.join("sources", "header.md")
|
27 |
MODEL_REPOS = {
|
28 |
"Klebsiella pneumoniae": "hf://scbirlab/spark-dv-fp-2503-kpn",
|
29 |
}
|
30 |
|
31 |
MODELBOXES = {
|
32 |
+
key: AutoModelBox.from_pretrained(val, cache_dir=CACHE)
|
33 |
for key, val in MODEL_REPOS.items()
|
34 |
}
|
35 |
|
36 |
EXTRA_METRICS = {
|
37 |
+
"log10(variance)": lambda modelbox, candidates: modelbox.prediction_variance(candidates=candidates, cache=CACHE).map(lambda x: {modelbox._variance_key: torch.log10(x[modelbox._variance_key])}),
|
38 |
"Tanimoto nearest neighbor to training data": lambda modelbox, candidates: modelbox.tanimoto_nn(candidates=candidates),
|
39 |
+
"Doubtscore": lambda modelbox, candidates: modelbox.doubtscore(candidates=candidates, cache=CACHE).map(lambda x: {"doubtscore": torch.log10(x["doubtscore"])}),
|
40 |
+
"Information sensitivity (approx.)": lambda modelbox, candidates: modelbox.information_sensitivity(candidates=candidates, optimality_approximation=True, approximator="squared_jacobian", cache=CACHE).map(lambda x: {"information sensitivity": torch.log10(x["information sensitivity"])}),
|
41 |
}
|
42 |
|
43 |
+
def load_input_data(file: Union[TextIOWrapper, str]) -> pd.DataFrame:
|
44 |
+
file = file if isinstance(file, str) else file.name
|
45 |
+
print_err(f"Loading {file}")
|
46 |
+
df = read_table(file)
|
47 |
+
print_err(df.head())
|
48 |
string_cols = list(df.select_dtypes(exclude=[np.number]))
|
49 |
df = gr.Dataframe(value=df, visible=True)
|
50 |
return df, gr.Dropdown(choices=string_cols, interactive=True, value=string_cols[0])
|
|
|
123 |
features=this_features,
|
124 |
labels=this_labels,
|
125 |
aggregator="mean",
|
126 |
+
cache=CACHE,
|
127 |
).with_format("numpy")["__prediction__"].flatten()
|
128 |
print(prediction)
|
129 |
this_col = f"{species}: predicted MIC (µM)"
|
|
|
164 |
input_representation: str = 'smiles',
|
165 |
output_representation: Union[str, Iterable[str]] = 'smiles'
|
166 |
):
|
167 |
+
output_representation = cast(output_representation, to=list)
|
168 |
+
for rep in output_representation:
|
169 |
+
message = f"Converting from {input_representation} to {rep}..."
|
170 |
+
gr.Info(message, duration=10)
|
171 |
+
print_err(df.head())
|
172 |
print_err(message)
|
173 |
gr.Info(message, duration=3)
|
174 |
errors, df = converter(
|
|
|
212 |
if prediction_df.shape[0] > 1000:
|
213 |
message = f"Truncating input to 1000 rows"
|
214 |
print_err(message)
|
215 |
+
gr.Info(message, duration=15)
|
216 |
prediction_df = prediction_df.iloc[:1000]
|
217 |
species_to_predict = cast(predict, to=list)
|
218 |
prediction_cols = []
|
|
|
236 |
features=this_features,
|
237 |
labels=this_labels,
|
238 |
aggregator="mean",
|
239 |
+
cache=CACHE,
|
240 |
).with_format("numpy")["__prediction__"].flatten()
|
241 |
print(prediction)
|
242 |
this_col = f"{species}: predicted MIC (µM)"
|
243 |
prediction_df[this_col] = np.power(10., -prediction) * 1e6
|
244 |
prediction_cols.append(this_col)
|
245 |
+
this_col = f"{species}: predicted MIC (µg / mL)"
|
246 |
+
prediction_df[this_col] = np.power(10., -prediction) * 1e3 * prediction_df["mwt"]
|
247 |
+
prediction_cols.append(this_col)
|
248 |
|
249 |
for extra_metric in extra_metrics:
|
250 |
+
message = f"Calculating {extra_metric} for species: {species}"
|
251 |
+
print_err(message)
|
252 |
+
gr.Info(message, duration=10)
|
253 |
# this_modelbox._input_training_data = this_modelbox._input_training_data.remove_columns([this_modelbox._in_key])
|
254 |
this_col = f"{species}: {extra_metric}"
|
255 |
prediction_cols.append(this_col)
|
|
|
265 |
)
|
266 |
prediction_df[this_col] = this_extra[this_extra.column_names[-1]]
|
267 |
|
268 |
+
return prediction_df[['id'] + [column] + prediction_cols + ['smiles', 'inchikey', "mwt", "clogp"]]
|
269 |
|
270 |
def draw_one(
|
271 |
strings: Union[Iterable[str], str],
|
|
|
322 |
interactive=True,
|
323 |
)
|
324 |
extra_metric = gr.CheckboxGroup(
|
325 |
+
label="Extra metrics (Information Sensitivity can increase calculation time!)",
|
326 |
choices=list(EXTRA_METRICS),
|
327 |
value=list(EXTRA_METRICS)[:2],
|
328 |
interactive=True,
|
|
|
406 |
outputs=download_single
|
407 |
)
|
408 |
|
409 |
+
with gr.Tab("Predict on structures from a file (max. 1000 rows, single species)"):
|
410 |
input_file = gr.File(
|
411 |
label="Upload a table of chemical compounds here",
|
412 |
file_types=[".xlsx", ".csv", ".tsv", ".txt"],
|
|
|
423 |
value="smiles",
|
424 |
interactive=True,
|
425 |
)
|
426 |
+
output_species = gr.Radio(
|
427 |
label="Species for prediction",
|
428 |
choices=list(MODEL_REPOS),
|
429 |
+
value=list(MODEL_REPOS)[0],
|
430 |
interactive=True,
|
431 |
)
|
432 |
extra_metric_file = gr.CheckboxGroup(
|
433 |
+
label="Extra metrics (Information Sensitivity can increase calculation time)",
|
434 |
choices=list(EXTRA_METRICS),
|
435 |
value=list(EXTRA_METRICS)[:2],
|
436 |
interactive=True,
|
437 |
)
|
438 |
+
file_examples = gr.Examples(
|
439 |
examples=[
|
440 |
+
[
|
441 |
+
"example-data/stokes2020-eco-1000.csv",
|
442 |
+
"SMILES",
|
443 |
+
"Klebsiella pneumoniae",
|
444 |
+
list(EXTRA_METRICS)[:2]],
|
445 |
],
|
446 |
example_labels=[
|
447 |
"Stokes J. et al., Cell, 2020"
|
|
|
454 |
)
|
455 |
|
456 |
download = gr.DownloadButton(
|
457 |
+
label="Download predictions",
|
458 |
visible=False,
|
459 |
)
|
460 |
input_data = gr.Dataframe(
|
|
|
464 |
interactive=False,
|
465 |
)
|
466 |
|
467 |
+
file_examples.load_input_event.then(
|
468 |
+
load_input_data,
|
469 |
+
inputs=[input_file],
|
470 |
+
outputs=[input_data, input_column],
|
471 |
+
)
|
472 |
input_file.upload(
|
473 |
load_input_data,
|
474 |
inputs=[input_file],
|
cache/cache_csv_default-00953711766d478a_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock
DELETED
File without changes
|
cache/cache_csv_default-03c2d6a24096cadb_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock
DELETED
File without changes
|
cache/cache_csv_default-06ebd4abec88f824_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock
DELETED
File without changes
|
cache/cache_csv_default-07681b79f1b14d09_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock
DELETED
File without changes
|
cache/cache_csv_default-08596bdace45a9e0_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock
DELETED
File without changes
|
cache/cache_csv_default-0ccf5404d587e265_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock
DELETED
File without changes
|
cache/cache_csv_default-0e1961df19e7f428_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock
DELETED
File without changes
|
cache/cache_csv_default-1152648bff9b0619_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock
DELETED
File without changes
|
cache/cache_csv_default-11d1d03ac37ee54d_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock
DELETED
File without changes
|
cache/cache_csv_default-13e8ff2cbdbb1601_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock
DELETED
File without changes
|
cache/cache_csv_default-1b04ae4fda4a32e3_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock
DELETED
File without changes
|
cache/cache_csv_default-1bf129cb42f88409_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock
DELETED
File without changes
|
cache/cache_csv_default-1d3aaac1973def40_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock
DELETED
File without changes
|
cache/cache_csv_default-1d8109d793352a35_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock
DELETED
File without changes
|
cache/cache_csv_default-1ecc7a7549fcfdea_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock
DELETED
File without changes
|
cache/cache_csv_default-1eeddf0790526c7b_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock
DELETED
File without changes
|
cache/cache_csv_default-215074de73e76f09_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock
DELETED
File without changes
|
cache/cache_csv_default-242181ae292241ee_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock
DELETED
File without changes
|
cache/cache_csv_default-263b017a70fce543_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock
DELETED
File without changes
|
cache/cache_csv_default-2a8ca29769ad0476_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock
DELETED
File without changes
|
cache/cache_csv_default-2c97b90189817bf7_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock
DELETED
File without changes
|
cache/cache_csv_default-3030c166054fac30_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock
DELETED
File without changes
|
cache/cache_csv_default-365a0c686393a911_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock
DELETED
File without changes
|
cache/cache_csv_default-3671ae337359ab4f_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock
DELETED
File without changes
|
cache/cache_csv_default-371d32405b5d7577_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock
DELETED
File without changes
|
cache/cache_csv_default-3b5f5887e0c60283_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock
DELETED
File without changes
|
cache/cache_csv_default-422903a15970f1e3_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock
DELETED
File without changes
|
cache/cache_csv_default-449dcf17eba1dc10_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock
DELETED
File without changes
|
cache/cache_csv_default-4caa284a4ac72c2a_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock
DELETED
File without changes
|
cache/cache_csv_default-4d6078d90c039063_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock
DELETED
File without changes
|
cache/cache_csv_default-4e957d94d04326a9_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock
DELETED
File without changes
|
cache/cache_csv_default-4f6c27099bb53527_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock
DELETED
File without changes
|
cache/cache_csv_default-502853d933683bdb_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock
DELETED
File without changes
|
cache/cache_csv_default-5092df56bc4a09a8_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock
DELETED
File without changes
|
cache/cache_csv_default-53b2b16e1030c75e_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock
DELETED
File without changes
|
cache/cache_csv_default-53eec1958d34ed11_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock
DELETED
File without changes
|
cache/cache_csv_default-5a935366194dc6e5_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock
DELETED
File without changes
|
cache/cache_csv_default-5caa340a2a1289a9_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock
DELETED
File without changes
|
cache/cache_csv_default-5f1d1406a3bfcf0b_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock
DELETED
File without changes
|
cache/cache_csv_default-615c9079844d4d62_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock
DELETED
File without changes
|
cache/cache_csv_default-6439ec426976ccb8_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock
DELETED
File without changes
|
cache/cache_csv_default-6555fb0c7e6de5c2_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock
DELETED
File without changes
|
cache/cache_csv_default-67de10cf26a832b6_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock
DELETED
File without changes
|
cache/cache_csv_default-6a6b713d0d64d590_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock
DELETED
File without changes
|
cache/cache_csv_default-6cbfc46a17993cd2_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock
DELETED
File without changes
|
cache/cache_csv_default-713ad308bf84b8e6_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock
DELETED
File without changes
|
cache/cache_csv_default-73e50ee513b905fa_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock
DELETED
File without changes
|
cache/cache_csv_default-747fafe34f78e023_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock
DELETED
File without changes
|
cache/cache_csv_default-7615c4b4c8d4b6ea_0.0.0_a43390c7ecea6519ff2ce9d10005c8750601c9e456069be5efbd2747df45f420.lock
DELETED
File without changes
|