| Title: | Programmatic access to ProteinGym datasets in R/Bioconductor |
|---|---|
| Description: | The ProteinGymR package provides analysis-ready data resources from ProteinGym, generated by Notin et al., 2023, as well as built-in functionality to visualize the data. ProteinGym comprises a collection of benchmarks for evaluating the performance of models predicting the effect of point mutations. This package provides access to 1. deep mutational scanning (DMS) scores from 217 assays measuring the impact of all possible amino acid substitutions across 186 proteins, 2. model performance metrics and prediction scores from 79 variant prediction models in the zero-shot setting and 12 models in the semi-supervised setting. |
| Authors: | Tram Nguyen [aut, cre] (ORCID: <https://orcid.org/0000-0003-4809-6227>), Pascal Notin [aut], Aaron Kollasch [aut], Debora Marks [aut], Ludwig Geistlinger [aut] |
| Maintainer: | Tram Nguyen <[email protected]> |
| License: | Artistic-2.0 |
| Version: | 1.7.0 |
| Built: | 2026-10-10 10:47:51 UTC |
| Source: | https://github.com/bioc/ProteinGymR |
AlphaMissense scores for ProteinGym variants
am_scores(metadata = FALSE)am_scores(metadata = FALSE)
metadata |
Logical, whether only experiment metadata should be returned. Default behavior is to return processed data with metadata included. |
am_scores() loads in the AlphaMissense pathogencity scores for
substitutions matching those in the ProteinGym DMS assays. The table is taken
from the AlphaMissense Supplementary Data by Cheng et al. 2023.
See reference for details.
The columns contain:
DMS_id:Character, ProteinGym assay identifier.
Uniprot_ID:Character, UniProt accession identifier.
variant_id:Character, variant identifier string matching ProteinGym. Protein position in the middle, and the reference and mutant amino acid residues to the left and right of the position, respectively.
AlphaMissense:Numeric, AlphaMissense pathogenicity score.
Returns a data.frame().
Cheng et al. (2023) Accurate proteome-wide missense variant effect prediction with AlphaMissense. Science 391, eadg7492. DOI:10.1126/science.adg7492.
data <- am_scores() data_meta <- am_scores(metadata = TRUE)data <- am_scores() data_meta <- am_scores(metadata = TRUE)
benchmark_models() plots one of the five model performance
metrics ("AUC", "MCC", "NDCG", "Spearman", "Top_recall") for up to
5 user-specified variant effect prediction tools listed in
available_models(). See reference for more details about the metrics
and models.
available_models() supervised_available_models() benchmark_models( metric = c("AUC", "MCC", "NDCG", "Spearman", "Top_recall"), models = available_models() )available_models() supervised_available_models() benchmark_models( metric = c("AUC", "MCC", "NDCG", "Spearman", "Top_recall"), models = available_models() )
metric |
|
models |
|
benchmark_models() returns a ggplot object visualizing a chosen
model performance metric across several variant effect prediction models,
ordered by highest to lowest mean performance score.
Notin, P., Kollasch, A., Ritter, D., van Niekerk, L., Paul, S., Spinner, H., Rollins, N., Shaw, A., Orenbuch, R., Weitzman, R., Frazer, J., Dias, M., Franceschi, D., Gal, Y., & Marks, D. (2023). ProteinGym: Large-Scale Benchmarks for Protein Fitness Prediction and Design. In A. Oh, T. Neumann, A. Globerson, K. Saenko, M. Hardt, & S. Levine (Eds.), Advances in Neural Information Processing Systems (Vol. 36, pp. 64331-64379). Curran Associates, Inc.
# Currently support models available_models() benchmark_models(metric = "Spearman", models = c("Site_Independent", "DeepSequence_single", "ESM2_15B", "GEMME", "CARP_640M")) benchmark_models(models = "GEMME")# Currently support models available_models() benchmark_models(metric = "Spearman", models = c("Site_Independent", "DeepSequence_single", "ESM2_15B", "GEMME", "CARP_640M")) benchmark_models(models = "GEMME")
dms_corr_plot() runs a Spearman correlation
between ProteinGym deep mutational scanning (DMS) assay scores and
predicted model scores.
Returns a ggplot object for visualization.
dms_corr_plot( uniprotId, alphamissense_table = lifecycle::deprecated(), dms_table, model = "AlphaMissense" )dms_corr_plot( uniprotId, alphamissense_table = lifecycle::deprecated(), dms_table, model = "AlphaMissense" )
uniprotId |
|
alphamissense_table |
deprecated as of ProteinGymR 1.2.0. To access
AlphaMissense model predictions, get |
dms_table |
a table containing deep mutational scanning (DMS)
assay scores for mutations. The default table loads substitutions from
ProteinGym.
Alternatively, a user-defined |
model |
|
For dms_corr_plot(),
model_table columns must include:
UniProt_id: UniProt accession identifier.
mutant: Mutant identifier string matching the dms_table format.
Protein position in the middle, and the reference and mutant
amino acid residues to the left and right of the position, respectively.
{{model}}: Predicted model scores. Set this column name as the model
name.
dms_table columns must include:
UniProt_id: UniProt accession identifier.
mutant: Mutant identifier string matching model_table variants.
Specifically, the set of substitutions to apply on the reference sequence
to obtain the mutated sequence (e.g., A1P:D2N implies the amino acid 'A'
at position 1 should be replaced by 'P', and 'D' at position 2 should be
replaced by 'N').
DMS_score: Experimental measurement in the DMS assay.
Higher values indicate higher fitness of the mutated protein.
dms_corr_plot() returns a ggplot object visualizing
the Spearman correlation between experimental DMS scores and predicted
model scores and prints the r and p-value of the analysis to console.
Cheng et al., Accurate proteome-wide missense variant effect prediction with AlphaMissense. Science 381, eadg7492. DOI:10.1126/science.adg7492.
Notin, P., Kollasch, A., Ritter, D., van Niekerk, L., Paul, S., Spinner, H., Rollins, N., Shaw, A., Orenbuch, R., Weitzman, R., Frazer, J., Dias, M., Franceschi, D., Gal, Y., & Marks, D. (2023). ProteinGym: Large-Scale Benchmarks for Protein Fitness Prediction and Design. In A. Oh, T. Neumann, A. Globerson, K. Saenko, M. Hardt, & S. Levine (Eds.), Advances in Neural Information Processing Systems (Vol. 36, pp. 64331-64379). Curran Associates, Inc.
# Use defaults. Only requires uniprotId dms_corr_plot(uniprotId = "Q9NV35") dms_corr_plot( uniprotId = "P04637", model = "Kermut" )# Use defaults. Only requires uniprotId dms_corr_plot(uniprotId = "Q9NV35") dms_corr_plot( uniprotId = "P04637", model = "Kermut" )
ProteinGym Deep Mutational Scanning (DMS) Scores for Substitutions
dms_substitutions(metadata = FALSE)dms_substitutions(metadata = FALSE)
metadata |
Logical, whether only experiment metadata should be returned. Default behavior is to return processed data with metadata included. |
dms_substitutions() loads in ProteinGym deep mutational scanning
assays (DMS) scores for substitutions in 217 studies. The data is
provided by Notin et. al 2023. See reference for details.
Each assay includes 6 columns:
UniProt_id:Character, UniProt accession identifier.
DMS_id:Character, ProteinGym assay identifier.
mutant:Character, set of substitutions to apply on the reference sequence to obtain the mutated sequence (e.g., A1P:D2N implies the amino acid 'A' at position 1 should be replaced by 'P', and 'D' at position 2 should be replaced by 'N').
mutated_sequence:Character, full amino acid sequence for the mutated protein.
DMS_score:Numeric, experimental measurement in the DMS assay. Higher values indicate higher fitness of the mutated protein.
DMS_score_bin:Factor, indicates whether the DMS_score is above the fitness cutoff (1 is fit, 0 is not fit).
Returns a list() object of 217 individual assays.
Notin, P., Kollasch, A., Ritter, D., van Niekerk, L., Paul, S., Spinner, H., Rollins, N., Shaw, A., Orenbuch, R., Weitzman, R., Frazer, J., Dias, M., Franceschi, D., Gal, Y., & Marks, D. (2023). ProteinGym: Large-Scale Benchmarks for Protein Fitness Prediction and Design. In A. Oh, T. Neumann, A. Globerson, K. Saenko, M. Hardt, & S. Levine (Eds.), Advances in Neural Information Processing Systems (Vol. 36, pp. 64331-64379). Curran Associates, Inc.
data <- dms_substitutions() data_meta <- dms_substitutions(metadata = TRUE)data <- dms_substitutions() data_meta <- dms_substitutions(metadata = TRUE)
model_corr_plot() runs a Spearman correlation
between predicted model scores for two models in ProteinGym v1.2.
Returns a ggplot object for visualization.
model_corr_plot(uniprotId, model1 = "AlphaMissense", model2 = "GEMME")model_corr_plot(uniprotId, model1 = "AlphaMissense", model2 = "GEMME")
uniprotId |
|
model1 |
|
model2 |
|
For model_corr_plot():
model1 and model2 must be valid models.
To view the possible zero-shot and semi-supervised models available in
ProteinGym v1.2 run ProteinGymR::available_models() or
ProteinGymR::supervised_available_models(), respectively, or set the
model to 'AlphaMissense' for AlphaMissense predictions.
If no models are specified, the default loads in AlphaMissense and GEMME.
model_corr_plot() returns a ggplot object visualizing
the Spearman correlation between the predicted scores generated by two
models in ProteinGym and prints the p-value of the analysis to the console.
Cheng et al., Accurate proteome-wide missense variant effect prediction with AlphaMissense. Science 381, eadg7492. DOI:10.1126/science.adg7492.
Notin, P., Kollasch, A., Ritter, D., van Niekerk, L., Paul, S., Spinner, H., Rollins, N., Shaw, A., Orenbuch, R., Weitzman, R., Frazer, J., Dias, M., Franceschi, D., Gal, Y., & Marks, D. (2023). ProteinGym: Large-Scale Benchmarks for Protein Fitness Prediction and Design. In A. Oh, T. Neumann, A. Globerson, K. Saenko, M. Hardt, & S. Levine (Eds.), Advances in Neural Information Processing Systems (Vol. 36, pp. 64331-64379). Curran Associates, Inc.
# Use defaults. Only requires uniprotId model_corr_plot(uniprotId = "Q9NV35") model_corr_plot( uniprotId = "P04637", model1 = "Kermut", model2 = "EVE_single" )# Use defaults. Only requires uniprotId model_corr_plot(uniprotId = "Q9NV35") model_corr_plot( uniprotId = "P04637", model1 = "Kermut", model2 = "EVE_single" )
plot_dms_heatmap() plots DMS scores for amino acid
substitutions along a protein in a defined DMS assay.
plot_dms_heatmap( assay_name, dms_data, start_pos = NULL, end_pos = NULL, exact_coord = FALSE, cluster_rows = FALSE, cluster_columns = FALSE, color_scheme, ... )plot_dms_heatmap( assay_name, dms_data, start_pos = NULL, end_pos = NULL, exact_coord = FALSE, cluster_rows = FALSE, cluster_columns = FALSE, color_scheme, ... )
assay_name |
|
dms_data |
|
start_pos |
|
end_pos |
|
exact_coord |
|
cluster_rows |
|
cluster_columns |
|
color_scheme |
|
... |
additional arguments passed to internal plotting functions. |
For plot_dms_heatmap(),
dms_data must be a list() object with set names for each assay
element matching assay_name parameter.
Each assay in the dms_data() must include the following columns:
mutant: Mutant identifier string matching.
Specifically, the set of substitutions to apply on the reference sequence
to obtain the mutated sequence (e.g., A1P:D2N implies the amino acid 'A'
at position 1 should be replaced by 'P', and 'D' at position 2 should be
replaced by 'N').
DMS_score: Experimental measurement in the DMS assay.
Higher values indicate higher fitness of the mutated protein.
Returns a ComplexHeatmap::Heatmap plot of DMS scores for each position along a protein in a chosen DMS assay. The x-axis shows amino acid positions where a DMS mutation exist, and the y-axis represents possible amino acid residues, ordered by default based on the physiochemical groupings. Higher and lower DMS scores indicate a more positive or negative fitness effect after the mutation, respectively.
dms_data <- dms_substitutions() plot_dms_heatmap(assay_name = "A0A192B1T2_9HIV1_Haddox_2018", start_pos = 10, end_pos = 80) plot_dms_heatmap(assay_name = "A0A192B1T2_9HIV1_Haddox_2018", start_pos = 10, end_pos = 80, exact_coord = TRUE, color_scheme = "EVE") plot_dms_heatmap(assay_name = "A0A192B1T2_9HIV1_Haddox_2018", start_pos = 50, end_pos = 100, cluster_rows = TRUE)dms_data <- dms_substitutions() plot_dms_heatmap(assay_name = "A0A192B1T2_9HIV1_Haddox_2018", start_pos = 10, end_pos = 80) plot_dms_heatmap(assay_name = "A0A192B1T2_9HIV1_Haddox_2018", start_pos = 10, end_pos = 80, exact_coord = TRUE, color_scheme = "EVE") plot_dms_heatmap(assay_name = "A0A192B1T2_9HIV1_Haddox_2018", start_pos = 50, end_pos = 100, cluster_rows = TRUE)
plot_structure() plots DMS or model scores for amino acid
substitutions on a 3D protein structure for a chosen assay.
plot_structure( assay_name, pdb_file, data_scores = "DMS", dms_data = NULL, start_pos = NULL, end_pos = NULL, full_structure = FALSE, aggregate_fun = mean, color_scheme = NULL )plot_structure( assay_name, pdb_file, data_scores = "DMS", dms_data = NULL, start_pos = NULL, end_pos = NULL, full_structure = FALSE, aggregate_fun = mean, color_scheme = NULL )
assay_name |
|
pdb_file |
|
data_scores |
|
dms_data |
|
start_pos |
|
end_pos |
|
full_structure |
|
aggregate_fun |
method for aggregating DMS scores for each residue.
For example, give min, max, or var to return the minimum, maximum,
or variance of scores for each position, respectively. |
color_scheme |
|
By default, plot_structure() plots the mean DMS values of all amino acid
residues, summarized for a protein position. If a model is chosen instead for
data_scores argument, a helper function is invoked which normalizes the
model prediction scores using a rank-based normal quantile transformation.
The result is a set of normalized scores that preserve the rank order of the
models scores, while standardizing the distribution. Transformed values
typically fall between -3 and 3. This normalization ensures the scores are
approximately standard normally distributed (mean = 0, SD = 1), allowing
comparisons across models.
For plot_structure(),
dms_data must be a list() object with set names for each assay
element matching assay_name parameter.
Each assay in the dms_data() must include the following columns:
mutant: Mutant identifier string matching.
Specifically, the set of substitutions to apply on the reference sequence
to obtain the mutated sequence (e.g., A1P:D2N implies the amino acid 'A'
at position 1 should be replaced by 'P', and 'D' at position 2 should be
replaced by 'N').
DMS_score: Experimental measurement in the DMS assay.
Higher values indicate higher fitness of the mutated protein.
Each PBD table in pdb_file must include the following columns:
plot_structure() returns a r3dmol::r3dmol
object of DMS scores for each position along a protein in a chosen DMS
assay. The x-axis shows amino acid positions where a DMS mutation exist,
and the y-axis represents possible amino acid residues, ordered by default
based on the physiochemical groupings. Higher and lower DMS scores
indicate a more positive or negative fitness effect after the mutation,
respectively.
plot_structure(assay_name = "C6KNH7_9INFA_Lee_2018", start_pos = 20, end_pos = 50, full_structure = FALSE, aggregate_fun = max) plot_structure(assay_name = "C6KNH7_9INFA_Lee_2018", start_pos = 20, end_pos = 50, data_scores = "GEMME") plot_structure(assay_name = "ACE2_HUMAN_Chan_2020", data_scores = "Kermut", color_scheme = "EVE")plot_structure(assay_name = "C6KNH7_9INFA_Lee_2018", start_pos = 20, end_pos = 50, full_structure = FALSE, aggregate_fun = max) plot_structure(assay_name = "C6KNH7_9INFA_Lee_2018", start_pos = 20, end_pos = 50, data_scores = "GEMME") plot_structure(assay_name = "ACE2_HUMAN_Chan_2020", data_scores = "Kermut", color_scheme = "EVE")
plot_zeroshot_heatmap() plots predicted model scores under the
zero-shot model for amino acid substitutions along a protein in a defined
DMS assay.
plot_zeroshot_heatmap( assay_name, model_data, model = NULL, start_pos = NULL, end_pos = NULL, exact_coord = FALSE, cluster_rows = FALSE, cluster_columns = FALSE, color_scheme, ... )plot_zeroshot_heatmap( assay_name, model_data, model = NULL, start_pos = NULL, end_pos = NULL, exact_coord = FALSE, cluster_rows = FALSE, cluster_columns = FALSE, color_scheme, ... )
assay_name |
|
model_data |
|
model |
|
start_pos |
|
end_pos |
|
exact_coord |
|
cluster_rows |
|
cluster_columns |
|
color_scheme |
|
... |
additional arguments passed to internal plotting functions. |
For plot_zeroshot_heatmap(),
model_data must be a list() object with set names for each assay
element matching assay_name parameter.
Each assay in the model_data() must include the following columns:
mutant: Mutant identifier string matching.
Specifically, the set of substitutions to apply on the reference sequence
to obtain the mutated sequence (e.g., A1P:D2N implies the amino acid 'A'
at position 1 should be replaced by 'P', and 'D' at position 2 should be
replaced by 'N').
A column with predicted model scores for each substitution. Column name
should match model argument string.
Returns a ComplexHeatmap::Heatmap plot of zero-shot model scores for each position along a protein in a chosen DMS substitution assay. The x-axis shows amino acid positions where a DMS mutation exist, and the y-axis represents possible amino acid residues, ordered by default based on the physiochemical groupings. Higher and lower DMS scores indicate a more positive or negative fitness effect after the mutation, respectively.
available_models() plot_zeroshot_heatmap(assay_name = "A0A192B1T2_9HIV1_Haddox_2018", model = "GEMME", start_pos = 600, end_pos = 700, color_scheme = "EVE") plot_zeroshot_heatmap(assay_name = "SRC_HUMAN_Nguyen_2022", model = "CARP_38M")available_models() plot_zeroshot_heatmap(assay_name = "A0A192B1T2_9HIV1_Haddox_2018", model = "GEMME", start_pos = 600, end_pos = 700, color_scheme = "EVE") plot_zeroshot_heatmap(assay_name = "SRC_HUMAN_Nguyen_2022", model = "CARP_38M")
Load Semi-Supervised Model Predictions for Substitutions in 217 Assays
Load Semi-Supervised Model Summary Metrics
supervised_substitutions( metadata = FALSE, fold_scheme = c("contiguous", "modulo", "random") ) supervised_metrics(metadata = FALSE)supervised_substitutions( metadata = FALSE, fold_scheme = c("contiguous", "modulo", "random") ) supervised_metrics(metadata = FALSE)
metadata |
Logical, whether only experiment metadata should be returned. Default behavior is to return processed data with metadata included. |
fold_scheme |
Character, which validation folding scheme to load. Options include: "contiguous", "modulo", or "random". Default behavior loads "contiguous". For more information about the different folding schemes, refer to the original publication. |
supervised_substitutions() loads prediction scores outputted by
semi-supervised models run on the 217 DMS substitution assays.
For raw model predictions, each assay includes 18 columns:
UniProt_id:Character, UniProt accession identifier.
DMS_id:Character, ProteinGym assay identifier.
mutant:Character, set of substitutions to apply on the reference sequence to obtain the mutated sequence (e.g., A1P:D2N implies the amino acid 'A' at position 1 should be replaced by 'P', and 'D' at position 2 should be replaced by 'N').
mutated_sequence:Character, full amino acid sequence for the mutated protein.
DMS_score:Numeric, experimental measurement in the DMS assay. Higher values indicate higher fitness of the mutated protein.
DMS_score_bin:Factor, indicates whether the DMS_score is above the fitness cutoff (1 is fit, 0 is not fit).
Columns 7:18:Respective semi-supervised model name.
supervised_metrics() loads in model performance summary metrics
("Spearman" and "MSE") from semi-supervised models in ProteinGymR run on
217 DMS substitution assays.
A metric summary table with 7 columns:
UniProt_id:Character, UniProt accession identifier.
DMS_id:Character, ProteinGym assay identifier.
mutant:Character, set of substitutions to apply on the reference sequence to obtain the mutated sequence (e.g., A1P:D2N implies the amino acid 'A' at position 1 should be replaced by 'P', and 'D' at position 2 should be replaced by 'N').
model_name:Character, semi-supervised model used.
fold_variable_name:Character, the folding scheme used.
Spearman:Numeric, Spearman performance metric.
MSE:Numeric, MSE the Spearman performance metric.
Returns a list() object of 217 individual assays.
Returns a data.frame() with 7 columns.
Notin, P., Kollasch, A., Ritter, D., van Niekerk, L., Paul, S., Spinner, H., Rollins, N., Shaw, A., Orenbuch, R., Weitzman, R., Frazer, J., Dias, M., Franceschi, D., Gal, Y., & Marks, D. (2023). ProteinGym: Large-Scale Benchmarks for Protein Fitness Prediction and Design. In A. Oh, T. Neumann, A. Globerson, K. Saenko, M. Hardt, & S. Levine (Eds.), Advances in Neural Information Processing Systems (Vol. 36, pp. 64331-64379). Curran Associates, Inc.
data <- supervised_substitutions() data_random <- supervised_substitutions(fold_scheme = "random") meta <- supervised_substitutions(metadata = TRUE) data <- supervised_metrics() meta <- supervised_metrics(metadata = TRUE)data <- supervised_substitutions() data_random <- supervised_substitutions(fold_scheme = "random") meta <- supervised_substitutions(metadata = TRUE) data <- supervised_metrics() meta <- supervised_metrics(metadata = TRUE)
Load Zero-shot Model Predictions and Metrics for Substitutions in 217 DMS Assays
zeroshot_DMS_metrics(metadata = FALSE) zeroshot_substitutions(metadata = FALSE)zeroshot_DMS_metrics(metadata = FALSE) zeroshot_substitutions(metadata = FALSE)
metadata |
Logical, whether only experiment metadata should be returned. Default behavior is to return processed data with metadata included. |
zeroshot_DMS_metrics() loads in the model performance metrics
("AUC", "MCC", "NDCG", "Spearman", "Top_recall") calculated on the
DMS substitutions in the zero-shot setting for 79 models updated in
ProteinGym v1.2.
Each data.frame contains the following columns:
DMS_ID:Character, Assay name for the DMS study.
Columns 2:80:Numeric, Corresponding to the average performance score of each of the 79 models tested.
Number_of_Mutants:Numeric, Number of protein mutants evaluated.
Selection_Type:Character, Protein function grouping.
UniProt_ID:Character, UniProt protein entry name identifier.
DMS_score:Numeric, experimental measurement in the DMS assay. Higher values indicate higher fitness of the mutated protein.
DMS_score_bin:Factor, indicates whether the DMS_score is above the fitness cutoff (1 is fit, 0 is not fit).
MSA_Neff_L_category:Multiple sequence alignment category.
Taxon:Taxon group.
zeroshot_substitutions() loads prediction scores outputted by
models in the zero-shot setting evaluated on the 217 DMS substitution assays.
To examine all model options, run available_models().
For raw model predictions, each data.frame includes 85 columns:
UniProt_id:Character, UniProt accession identifier.
DMS_id:Character, ProteinGym assay identifier.
mutant:Character, set of substitutions to apply on the reference sequence to obtain the mutated sequence (e.g., A1P:D2N implies the amino acid 'A' at position 1 should be replaced by 'P', and 'D' at position 2 should be replaced by 'N').
mutated_sequence:Character, full amino acid sequence for the mutated protein.
DMS_score:Numeric, experimental measurement in the DMS assay. Higher values indicate higher fitness of the mutated protein.
DMS_score_bin:Factor, indicates whether the DMS_score is above the fitness cutoff (1 is fit, 0 is not fit).
Columns 7:85:Respective zero-shot model name.
Returns a list() object with 5 data.frame() corresponding to
a model metric table.
Returns a list() object of 217 individual assays.
Notin, P., Kollasch, A., Ritter, D., van Niekerk, L., Paul, S., Spinner, H., Rollins, N., Shaw, A., Orenbuch, R., Weitzman, R., Frazer, J., Dias, M., Franceschi, D., Gal, Y., & Marks, D. (2023). ProteinGym: Large-Scale Benchmarks for Protein Fitness Prediction and Design. In A. Oh, T. Neumann, A. Globerson, K. Saenko, M. Hardt, & S. Levine (Eds.), Advances in Neural Information Processing Systems (Vol. 36, pp. 64331-64379). Curran Associates, Inc.
data <- zeroshot_DMS_metrics() data_meta <- zeroshot_DMS_metrics(metadata = TRUE) data <- zeroshot_substitutions() data_meta <- zeroshot_substitutions(metadata = TRUE)data <- zeroshot_DMS_metrics() data_meta <- zeroshot_DMS_metrics(metadata = TRUE) data <- zeroshot_substitutions() data_meta <- zeroshot_substitutions(metadata = TRUE)