Skip to content

Commit 931d1cb

Browse files
committed
add run_ms2query_from_files
1 parent 711bd02 commit 931d1cb

File tree

1 file changed

+25
-1
lines changed

1 file changed

+25
-1
lines changed

ms2query/run_ms2query.py

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import json
2+
from collections import defaultdict
23
from pathlib import Path
34
from typing import Sequence, Tuple
45
import numpy as np
@@ -14,11 +15,34 @@
1415
from ms2query.benchmarking.TopKTanimotoScores import TopKTanimotoScores
1516

1617

18+
def run_ms2query_from_files(
19+
query_spectrum_file,
20+
ms2deepscore_model_file_name,
21+
reference_embeddings_file,
22+
top_k_tanimoto_scores_file,
23+
reference_metadata_file,
24+
):
25+
reference_embeddings = Embeddings.load(reference_embeddings_file)
26+
top_k_tanimoto_scores = TopKTanimotoScores.load(top_k_tanimoto_scores_file)
27+
reference_metadata = pd.read_parquet(reference_metadata_file)
28+
# Get the spectrum_indices_per_inchikey
29+
spectrum_indices_per_inchikey = defaultdict(list)
30+
for lib_spec_index, inchikey in enumerate(reference_metadata["inchikey"]):
31+
spectrum_indices_per_inchikey[inchikey[:14]].append(lib_spec_index)
32+
33+
query_spectra = list(tqdm(load_spectra(query_spectrum_file), desc="loading_in_query_spectra"))
34+
ms2deepscore_model = load_model(ms2deepscore_model_file_name)
35+
query_embeddings = Embeddings.create_from_spectra(query_spectra, ms2deepscore_model)
36+
run_ms2query(
37+
query_embeddings, reference_embeddings, reference_metadata, spectrum_indices_per_inchikey, top_k_tanimoto_scores
38+
)
39+
40+
1741
def run_ms2query(
1842
query_embeddings: Embeddings,
1943
library_embeddings: Embeddings,
2044
library_metadata: pd.DataFrame,
21-
spectrum_indices_per_inchikey: dict[str, Tuple[int, ...]],
45+
spectrum_indices_per_inchikey: defaultdict[str, list[int]],
2246
top_k_tanimoto_scores: TopKTanimotoScores,
2347
batch_size: int = 1000,
2448
):

0 commit comments

Comments
 (0)