Package: metasnf 2.0.6

Prashanth S Velayudhan

metasnf: Meta Clustering with Similarity Network Fusion

Framework to facilitate patient subtyping with similarity network fusion and meta clustering. The similarity network fusion (SNF) algorithm was introduced by Wang et al. (2014) in <doi:10.1038/nmeth.2810>. SNF is a data integration approach that can transform high-dimensional and diverse data types into a single similarity network suitable for clustering with minimal loss of information from each initial data source. The meta clustering approach was introduced by Caruana et al. (2006) in <doi:10.1109/ICDM.2006.103>. Meta clustering involves generating a wide range of cluster solutions by adjusting clustering hyperparameters, then clustering the solutions themselves into a manageable number of qualitatively similar solutions, and finally characterizing representative solutions to find ones that are best for the user's specific context. This package provides a framework to easily transform multi-modal data into a wide range of similarity network fusion-derived cluster solutions as well as to visualize, characterize, and validate those solutions. Core package functionality includes easy customization of distance metrics, clustering algorithms, and SNF hyperparameters to generate diverse clustering solutions; calculation and plotting of associations between features, between patients, and between cluster solutions; and standard cluster validation approaches including resampled measures of cluster stability, standard metrics of cluster quality, and label propagation to evaluate generalizability in unseen data. Associated vignettes guide the user through using the package to identify patient subtypes while adhering to best practices for unsupervised learning.

Authors:Prashanth S Velayudhan [aut, cre], Xiaoqiao Xu [aut], Prajkta Kallurkar [aut], Ana Patricia Balbon [aut], Maria T Secara [aut], Adam Taback [aut], Denise Sabac [aut], Nicholas Chan [aut], Shihao Ma [aut], Bo Wang [aut], Daniel Felsky [aut], Stephanie H Ameis [aut], Brian Cox [aut], Colin Hawco [aut], Lauren Erdman [aut], Anne L Wheeler [aut, ths]

metasnf_2.0.6.tar.gz
metasnf_2.0.6.zip(r-4.5)metasnf_2.0.6.zip(r-4.4)metasnf_2.0.6.zip(r-4.3)
metasnf_2.0.6.tgz(r-4.5-any)metasnf_2.0.6.tgz(r-4.4-any)metasnf_2.0.6.tgz(r-4.3-any)
metasnf_2.0.6.tar.gz(r-4.5-noble)metasnf_2.0.6.tar.gz(r-4.4-noble)
metasnf_2.0.6.tgz(r-4.4-emscripten)metasnf_2.0.6.tgz(r-4.3-emscripten)
metasnf.pdf |metasnf.html
metasnf/json (API)
NEWS

# Install 'metasnf' in R:
install.packages('metasnf', repos = c('https://branchlab.r-universe.dev', 'https://cloud.r-project.org'))

Bug tracker:https://github.com/branchlab/metasnf/issues

Pkgdown site:https://branchlab.github.io

Datasets:

On CRAN:

Conda:

bioinformaticsclusteringmetaclusteringsnf

8.21 score 8 stars 30 scripts 221 downloads 108 exports 45 dependencies

Last updated 1 days agofrom:e039ef750d. Checks:9 OK. Indexed: yes.

TargetResultLatest binary
Doc / VignettesOKMar 25 2025
R-4.5-winOKMar 25 2025
R-4.5-macOKMar 25 2025
R-4.5-linuxOKMar 25 2025
R-4.4-winOKMar 25 2025
R-4.4-macOKMar 25 2025
R-4.4-linuxOKMar 25 2025
R-4.3-winOKMar 25 2025
R-4.3-macOKMar 25 2025

Exports:add_settings_df_rowsadjusted_rand_index_heatmapalluvial_cluster_plotarrangeas_ari_matrixas_data_listas_settings_dfas_sim_mats_listas_snf_configas_weights_matrixassemble_dataassoc_pval_heatmapauto_plotbar_plotbatch_snfbatch_snf_subsamplescalc_ariscalc_assoc_pval_matrixcalc_nmiscalculate_coclusteringcalculate_db_indicescalculate_dunn_indicescalculate_silhouettescell_significance_fncheck_dataless_annotationscheck_hm_dependenciescheck_similarity_matricesclust_fns_listcocluster_densitycocluster_heatmapcollapse_dlcolour_scaleconfig_heatmapdata_listdist_fns_listdl_variable_summarydlapplydplyr_row_slice.ext_solutions_dfdplyr_row_slice.solutions_dfesm_manhattan_plotestimate_nclust_given_grapheuclidean_distanceextend_solutionsfeaturesgenerate_distance_metrics_listgenerate_settings_matrixget_cluster_dfget_cluster_solutionsget_clustersget_complete_uidsget_dl_uidsget_heatmap_orderget_matrix_orderget_pvalsget_representative_solutionsgower_distancehamming_distanceis_data_listjitter_plotlabel_meta_clusterslabel_propagatelinear_adjustlinear_model_pvalmc_manhattan_plotmerge_df_listmeta_cluster_heatmapn_featuresn_observationsnew_solutions_dford_reg_pvalpval_heatmaprandom_removalrename_dlresamplesave_heatmapsettings_dfsew_euclidean_distanceshiny_annotatorsim_mats_listsimilarity_matrix_heatmapsiw_euclidean_distancesn_euclidean_distancesnf_configspectral_eigenspectral_eigen_classicspectral_eightspectral_fivespectral_fourspectral_ninespectral_rotspectral_rot_classicspectral_sevenspectral_sixspectral_tenspectral_threespectral_twosplit_parsersubsample_dlsubsample_pairwise_arissummarize_clust_fns_listsummarize_dflsummarize_dlsummary_featurestrain_test_assignuidsvalidate_solutions_dfvar_manhattan_plotweights_matrix

Dependencies:alluvialcliclustercolorspacecpp11data.tabledigestdplyrExPositionfansifarvergenericsggplot2gluegtableisobandlabelinglatticelifecyclemagrittrMASSMatrixmclustmgcvmunsellnlmepillarpkgconfigprettyGraphsprogressrpurrrR6RColorBrewerrlangscalesSNFtoolstringistringrtibbletidyrtidyselectutf8vctrsviridisLitewithr

A Complete Example

Rendered froma_complete_example.Rmdusingknitr::rmarkdownon Mar 25 2025.

Last update: 2025-02-04
Started: 2024-05-17

A Simple Example

Rendered froma_simple_example.Rmdusingknitr::rmarkdownon Mar 25 2025.

Last update: 2025-02-04
Started: 2023-10-23

Alluvial Plots

Rendered fromalluvial_plots.Rmdusingknitr::rmarkdownon Mar 25 2025.

Last update: 2025-02-04
Started: 2023-10-29

Clustering Algorithms

Rendered fromclustering_algorithms.Rmdusingknitr::rmarkdownon Mar 25 2025.

Last update: 2025-02-04
Started: 2023-11-17

Confounders

Rendered fromconfounders.Rmdusingknitr::rmarkdownon Mar 25 2025.

Last update: 2025-02-04
Started: 2023-11-22

Correlation Plots

Rendered fromcorrelation_plots.Rmdusingknitr::rmarkdownon Mar 25 2025.

Last update: 2025-02-04
Started: 2023-11-14

Distance Metrics

Rendered fromdistance_metrics.Rmdusingknitr::rmarkdownon Mar 25 2025.

Last update: 2025-02-04
Started: 2023-10-23

Feature Plots

Rendered fromfeature_plots.Rmdusingknitr::rmarkdownon Mar 25 2025.

Last update: 2025-02-04
Started: 2024-05-29

Feature Weighting

Rendered fromfeature_weights.Rmdusingknitr::rmarkdownon Mar 25 2025.

Last update: 2025-02-04
Started: 2023-11-14

Getting Started

Rendered fromgetting_started.Rmdusingknitr::rmarkdownon Mar 25 2025.

Last update: 2025-02-04
Started: 2023-10-23

Imputations

Rendered fromimputations.Rmdusingknitr::rmarkdownon Mar 25 2025.

Last update: 2025-02-04
Started: 2024-05-26

Label Propagation

Rendered fromlabel_propagation.Rmdusingknitr::rmarkdownon Mar 25 2025.

Last update: 2025-02-04
Started: 2024-02-02

Manhattan Plots

Rendered frommanhattan_plots.Rmdusingknitr::rmarkdownon Mar 25 2025.

Last update: 2025-02-04
Started: 2023-10-31

NMI Scores

Rendered fromnmi_scores.Rmdusingknitr::rmarkdownon Mar 25 2025.

Last update: 2025-02-04
Started: 2024-05-28

Parallel Processing

Rendered fromparallel_processing.Rmdusingknitr::rmarkdownon Mar 25 2025.

Last update: 2025-02-04
Started: 2023-12-06

Quality Measures

Rendered fromquality_measures.Rmdusingknitr::rmarkdownon Mar 25 2025.

Last update: 2025-02-04
Started: 2024-05-14

Similarity Matrices

Rendered fromsimilarity_matrix_heatmap.Rmdusingknitr::rmarkdownon Mar 25 2025.

Last update: 2025-02-04
Started: 2023-10-29

SNF Schemes

Rendered fromsnf_schemes.Rmdusingknitr::rmarkdownon Mar 25 2025.

Last update: 2025-02-04
Started: 2023-11-29

Stability Measures

Rendered fromstability_measures.Rmdusingknitr::rmarkdownon Mar 25 2025.

Last update: 2025-03-11
Started: 2023-11-14

The Data List

Rendered fromdata_list.Rmdusingknitr::rmarkdownon Mar 25 2025.

Last update: 2025-02-04
Started: 2023-11-14

The SNF Config

Rendered fromsnf_config.Rmdusingknitr::rmarkdownon Mar 25 2025.

Last update: 2025-03-05
Started: 2025-02-04

Troubleshooting

Rendered fromtroubleshooting.Rmdusingknitr::rmarkdownon Mar 25 2025.

Last update: 2025-02-04
Started: 2023-11-14

Readme and manuals

Help Manual

Help pageTopics
Mock ABCD anxiety dataabcd_anxiety
Mock ABCD "colour" dataabcd_colour
Mock ABCD cortical surface area dataabcd_cort_sa
Mock ABCD cortical thickness dataabcd_cort_t
Mock ABCD depression dataabcd_depress
Mock ABCD income dataabcd_h_income
Mock ABCD income dataabcd_income
Mock ABCD pubertal status dataabcd_pubertal
Mock ABCD subcortical volumes dataabcd_subc_v
Add rows to a settings_dfadd_settings_df_rows
Heatmap of pairwise adjusted rand indices between solutionsadjusted_rand_index_heatmap
Mock age dataage_df
Alluvial plot of patients across cluster counts and important featuresalluvial_cluster_plot
Mock ABCD anxiety dataanxiety
Arrange rows in an objectarrange
Convert an object to an ARI matrixas_ari_matrix
Convert an object to a data listas_data_list
Convert an object to a settings data frameas_settings_df
Convert an object to a similarity matrix listas_sim_mats_list
Convert an object to a snf configas_snf_config
Convert an object to a weights matrixas_weights_matrix
Coerce a 'data_list' class object into a 'data.frame' class objectas.data.frame.data_list
Coerce a 'ext_solutions_df' class object into a 'data.frame' class objectas.data.frame.ext_solutions_df
Coerce a 'solutions_df' class object into a 'data.frame' class objectas.data.frame.solutions_df
Coerce a 'clust_fns_list' class object into a 'list' class objectas.list.clust_fns_list
Coerce a 'data_list' class object into a 'list' class objectas.list.data_list
Coerce a 'dist_fns_list' class object into a 'list' class objectas.list.dist_fns_list
Coerce a 'weights_matrix' class object into a 'matrix' class objectas.matrix.weights_matrix
Collapse a data frame and/or a data list into a single data frameassemble_data
Heatmap of pairwise associations between featuresassoc_pval_heatmap
Automatically plot features across clustersauto_plot
Bar plot separating a feature by clusterbar_plot
Run variations of SNF.batch_snf
Run SNF clustering pipeline on a list of subsampled data lists.batch_snf_subsamples
Construct an ARI matrix storing inter-solution similaritiescalc_aris
Calculate p-values for all pairwise associations of features in a data listcalc_assoc_pval_matrix
Calculate feature NMIs for a data list and a solutions data framecalc_nmis
Calculate coclustering data.calculate_coclustering
Mock diagnosis datacancer_diagnosis_df
Place significance stars on ComplexHeatmap cells.cell_significance_fn
Helper function to stop annotation building when no data was providedcheck_dataless_annotations
Check for ComplexHeatmap and circlize dependenciescheck_hm_dependencies
Check validity of similarity matricescheck_similarity_matrices
Built-in clustering algorithmsclust_fns spectral_eigen spectral_eigen_classic spectral_eight spectral_five spectral_four spectral_nine spectral_rot spectral_rot_classic spectral_seven spectral_six spectral_ten spectral_three spectral_two
Build a clusteing algorithms listclust_fns_list
Density plot coclustering stability across subsampled data.cocluster_density
Heatmap of observation co-clustering across resampled data.cocluster_heatmap
Convert a data list into a data framecollapse_dl
Return a colour ramp for a given vectorcolour_scale
Heatmap for visualizing an SNF configconfig_heatmap
Mock ABCD cortical surface area datacort_sa
Mock ABCD cortical thickness datacort_t
Build a 'data_list' class objectdata_list
Mock ABCD depression datadepress
Mock diagnosis datadiagnosis_df
Built-in distance functionsdist_fns euclidean_distance gower_distance hamming_distance sew_euclidean_distance sn_euclidean_distance
Build a distance metrics listdist_fns_list
Variable-level summary of a data listdl_variable_summary
Lapply-like function for data list objectsdlapply
Function to extend dplyr to extended solutions data frame objectsdplyr_row_slice.ext_solutions_df
Function to extend dplyr to solutions data frame objectsdplyr_row_slice.solutions_df
Manhattan plot of feature-cluster association p-valuesesm_manhattan_plot
Estimate number of clusters for a similarity matrixestimate_nclust_given_graph
Modification of SNFtool mock data frame "Data1"expression_df
Extend a solutions data frame to include outcome evaluationsextend_solutions
Mock ABCD "colour" datafav_colour
Return character vector of features stored in an objectfeatures
Mock gender datagender_df
Generate a clustering algorithms listgenerate_clust_algs_list
Generate a list of distance metricsgenerate_distance_metrics_list
Build a settings data framegenerate_settings_matrix
Extract cluster membership information from one solutions data frame rowget_cluster_df
Extract cluster membership information from a sol_dfget_cluster_solutions
Extract cluster membership vector from one solutions data frame rowget_clusters
Pull complete-data UIDs from a list of data framesget_complete_uids
Extract UIDs from a data listget_dl_uids
Return the row or column ordering present in a heatmapget_heatmap_order
Return the hierarchical clustering order of a matrixget_matrix_order
Get p-values from an extended solutions data frameget_pvals
Extract representative solutions from a matrix of ARIsget_representative_solutions
Mock ABCD income dataincome
Test if the object is a data listis_data_list
Jitter plot separating a feature by clusterjitter_plot
Assign meta cluster labels to rows of a solutions data frame or extended solutions data framelabel_meta_clusters
Label propagate cluster solutions to unclustered observationslabel_propagate
Linearly correct data list by features with unwanted signallinear_adjust
Manhattan plot of feature-meta cluster associaiton p-valuesmc_manhattan_plot
Merge list of data frames into a single data framemerge_df_list
Merge observations between two compatible data listsmerge.data_list
Merge method for SNF config objectsmerge.snf_config
Heatmap of pairwise adjusted rand indices between solutionsmeta_cluster_heatmap
Modification of SNFtool mock data frame "Data2"methylation_df
Extract number of features stored in an objectn_features
Extract number of observations stored in an objectn_observations
Constructor for 'solutions_df' class objectnew_solutions_df
Print method for class 'ari_matrix'print.ari_matrix
Print method for class 'clust_fns_list'print.clust_fns_list
Print method for class 'data_list'print.data_list
Print method for class 'dist_fns_list'print.dist_fns_list
Print method for class 'ext_solutions_df'print.ext_solutions_df
Print method for class 'settings_df'print.settings_df
Print method for class 'snf_config'print.snf_config
Print method for class 'solutions_df'print.solutions_df
Print method for class 't_ext_solutions_df'print.t_ext_solutions_df
Print method for class 't_solutions_df'print.t_solutions_df
Print method for class 'weights_matrix'print.weights_matrix
Mock ABCD pubertal status datapubertal
Heatmap of p-valuespval_heatmap
Quality metricscalculate_db_indices calculate_dunn_indices calculate_silhouettes quality_measures
Generate random removal sequencerandom_removal
Row-binding of solutions data frame class objects.rbind.ext_solutions_df
Row-binding of solutions data frame class objects.rbind.solutions_df
Rename features in a data listrename_dl
Helper resample function found in ?sampleresample
Save a heatmap object to a filesave_heatmap
Build a settings data framesettings_df
Launch a shiny app to identify meta cluster boundariesshiny_annotator
Create or extract a 'sim_mats_list' class objectsim_mats_list
Plot heatmap of similarity matrixsimilarity_matrix_heatmap
Squared (including weights) Euclidean distancesiw_euclidean_distance
Define configuration for generating a set of SNF-based cluster solutionssnf_config
Helper function to determine which row and columns to split onsplit_parser
Mock ABCD subcortical volumes datasubc_v
Create subsamples of a data listsubsample_dl
Calculate pairwise adjusted Rand indices across subsamples of datasubsample_pairwise_aris
Summarize a clust_fns_list objectsummarize_clust_fns_list
Summarize metrics contained in a dist_fns_listsummarize_dfl
Summarize a data listsummarize_dl
Pull features used to calculate summary p-values from an objectsummary_features
Summary method for class 'data_list'summary.data_list
Training and testing splittrain_test_assign
Pull UIDs from an objectuids
Validator for 'solutions_df' class objectvalidate_solutions_df
Manhattan plot of feature-feature association p-valuesvar_manhattan_plot
Generate a matrix to store feature weightsweights_matrix