===== Usage ===== Here's an example of how to use ``fastwlk``:: import fastwlk from pyproject import here # Let's first load some graphs from a pickle file # graphs.pkl contains 2-nn graphs extracted from # the AlphaFold human proteome database. with open(here() / "data/graphs.pkl", "rb") as f: graphs = pickle.load(f) wl_kernel = WeisfeilerLehmanKernel( n_jobs=6, n_iter=4, node_label="residue", biased=True, verbose=True, normalize=True) ) # Returns self-similarity kernel matrix KX = wl_kernel.compute_gram_matrix(graphs) # Returns the kernel between two graph distributions KXY = wl_kernel.compute_gram_matrix(graphs[:30], graphs[:30]) You can also precompute the hashes prior to computing the kernel:: # If for whatever reason you are comparing the same graphs multiple times # but with a different kernel config, you can precompute the hashes and set # the precomputed flag to True. import fastwlk wl_kernel = WeisfeilerLehmanKernel( n_jobs=6, n_iter=4, node_label="residue", precomputed=True, biased=True, verbose=True, normalize=True) ) hashes = [wl_kernel.compute_wl_hashes(graph) for graph in graphs] wl_kernel.compute_gram_matrix(hashes)