{
  "_id": "6a102845acfb0bcc41c9091f",
  "Package": "AntibodyForests",
  "Title": "Delineating Inter- And Intra-Antibody Repertoire Evolution",
  "Version": "1.1.0",
  "Authors@R": "c(\nperson(\"Daphne\", \"van Ginneken\", email = \"daphne.v.ginneken@gmail.com\", role = c(\"aut\", \"cre\")),\nperson(\"Alexander\", \"Yermanos\", role = \"aut\"),\nperson(\"Valentijn\", \"Tromp\", role = \"aut\"),\nperson(\"Tudor-Stefan\", \"Cotet\", role = \"ctb\")\n)",
  "Maintainer": "Daphne van Ginneken <daphne.v.ginneken@gmail.com>",
  "Description": "The generated wealth of immune repertoire sequencing data\nrequires software to investigate and quantify inter- and\nintra-antibody repertoire evolution to uncover how B cells\nevolve during immune responses. Here, we present\n'AntibodyForests', a software to investigate and quantify\ninter- and intra-antibody repertoire evolution.",
  "License": "GPL-2",
  "VignetteBuilder": "knitr",
  "Encoding": "UTF-8",
  "LazyData": "true",
  "RoxygenNote": "7.3.2",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-05-13 07:42:46 UTC",
    "User": "root"
  },
  "Author": "Daphne van Ginneken [aut, cre], Alexander Yermanos [aut],\nValentijn Tromp [aut], Tudor-Stefan Cotet [ctb]",
  "Config/pak/sysreqs": "zlib1g-dev",
  "Repository": "https://cran.r-universe.dev",
  "Date/Publication": "2025-07-17 15:30:02 UTC",
  "RemoteUrl": "https://github.com/cran/AntibodyForests",
  "RemoteRef": "HEAD",
  "RemoteSha": "a1c1c44e65a321cc7e93e36820959faf9c16895a",
  "MD5sum": "1f3ee1bbcf9f92758c112763fc59b5d7",
  "_user": "cran",
  "_type": "src",
  "_file": "AntibodyForests_1.1.0.tar.gz",
  "_fileid": "62f30ce2536841da6991f99ca9d615f77aec3e6d9867c23aa59c30b01bb546b9",
  "_filesize": 2347266,
  "_sha256": "62f30ce2536841da6991f99ca9d615f77aec3e6d9867c23aa59c30b01bb546b9",
  "_created": "2026-05-13T07:42:46.000Z",
  "_published": "2026-05-22T09:56:21.033Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 77356822465,
      "time": 220,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "6964377692"
    },
    {
      "job": 77356822416,
      "time": 214,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "6964375703"
    },
    {
      "job": 77356822449,
      "time": 270,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "6964309731"
    },
    {
      "job": 77356822025,
      "time": 167,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7157771172"
    }
  ],
  "_buildurl": "https://github.com/r-universe/cran/actions/runs/25785304536",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/cran/AntibodyForests",
  "_commit": {
    "id": "a1c1c44e65a321cc7e93e36820959faf9c16895a",
    "author": "Daphne van Ginneken <daphne.v.ginneken@gmail.com>",
    "committer": "cran-robot <csardi.gabor+cran@gmail.com>",
    "message": "version 1.1.0\n",
    "time": 1752766202
  },
  "_maintainer": {
    "name": "Daphne van Ginneken",
    "email": "daphne.v.ginneken@gmail.com"
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.0.0",
      "role": "Depends"
    },
    {
      "package": "ape",
      "role": "Imports"
    },
    {
      "package": "Biostrings",
      "role": "Imports"
    },
    {
      "package": "dplyr",
      "role": "Imports"
    },
    {
      "package": "graphics",
      "role": "Imports"
    },
    {
      "package": "grDevices",
      "role": "Imports"
    },
    {
      "package": "gtools",
      "role": "Imports"
    },
    {
      "package": "igraph",
      "role": "Imports"
    },
    {
      "package": "magrittr",
      "role": "Imports"
    },
    {
      "package": "parallel",
      "role": "Imports"
    },
    {
      "package": "pwalign",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "role": "Imports"
    },
    {
      "package": "scales",
      "role": "Imports"
    },
    {
      "package": "seqinr",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "stringdist",
      "role": "Imports"
    },
    {
      "package": "stringr",
      "role": "Imports"
    },
    {
      "package": "tidyr",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "viridis",
      "role": "Imports"
    },
    {
      "package": "alakazam",
      "role": "Suggests"
    },
    {
      "package": "base64enc",
      "role": "Suggests"
    },
    {
      "package": "bio3d",
      "role": "Suggests"
    },
    {
      "package": "combinat",
      "role": "Suggests"
    },
    {
      "package": "devtools",
      "role": "Suggests"
    },
    {
      "package": "DT",
      "role": "Suggests"
    },
    {
      "package": "fpc",
      "role": "Suggests"
    },
    {
      "package": "ggplot2",
      "role": "Suggests"
    },
    {
      "package": "ggrepel",
      "role": "Suggests"
    },
    {
      "package": "ggsignif",
      "role": "Suggests"
    },
    {
      "package": "htmltools",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "msa",
      "role": "Suggests"
    },
    {
      "package": "phangorn",
      "role": "Suggests"
    },
    {
      "package": "pheatmap",
      "role": "Suggests"
    },
    {
      "package": "philentropy",
      "role": "Suggests"
    },
    {
      "package": "Peptides",
      "role": "Suggests"
    },
    {
      "package": "Rcompadre",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "RPANDA",
      "role": "Suggests"
    },
    {
      "package": "swipeR",
      "role": "Suggests"
    }
  ],
  "_owner": "cran",
  "_selfowned": false,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2025-29",
      "n": 1
    }
  ],
  "_tags": [
    {
      "name": "1.1.0",
      "date": "2025-07-17"
    }
  ],
  "_stars": 0,
  "_userbio": {
    "uuid": 6899542,
    "type": "organization",
    "name": "cran",
    "description": "Unofficial read-only mirror of all CRAN R packages"
  },
  "_downloads": {
    "count": 196,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/AntibodyForests"
  },
  "_searchresults": 15,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/AntibodyForests.html",
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_realowner": "cran",
  "_cranurl": false,
  "_releases": [
    {
      "version": "1.0.0",
      "date": "2025-01-23"
    },
    {
      "version": "1.1.0",
      "date": "2025-07-17"
    }
  ],
  "_exports": [
    "Af_add_node_feature",
    "Af_build",
    "Af_cluster_metrics",
    "Af_cluster_node_features",
    "Af_compare_across_repertoires",
    "Af_compare_methods",
    "Af_compare_PLM",
    "Af_compare_within_repertoires",
    "Af_distance_boxplot",
    "Af_distance_scatterplot",
    "Af_edge_RMSD",
    "Af_get_sequences",
    "Af_metrics",
    "Af_node_size_boxplot",
    "Af_PLM_dataframe",
    "Af_plot_PLM",
    "Af_plot_PLM_mut_vs_cons",
    "Af_plot_tree",
    "Af_sync_nodes",
    "Af_to_newick",
    "calculate_GBLD",
    "igraph_to_phylo",
    "newick_to_Af",
    "VDJ_3d_properties",
    "VDJ_import_IgBLAST_annotations",
    "VDJ_integrate_bulk",
    "VDJ_to_AIRR"
  ],
  "_datasets": [
    {
      "name": "af_default",
      "title": "Small AntibodyForests object with default algorithm for function testing purposes",
      "object": "af_default",
      "class": [
        "list"
      ],
      "fields": [],
      "table": false,
      "tojson": false
    },
    {
      "name": "af_mst",
      "title": "Small AntibodyForests object with MST algorithm for function testing purposes",
      "object": "af_mst",
      "class": [
        "list"
      ],
      "fields": [],
      "table": false,
      "tojson": false
    },
    {
      "name": "af_nj",
      "title": "Small AntibodyForests object with NJ algorithm for function testing purposes",
      "object": "af_nj",
      "class": [
        "list"
      ],
      "fields": [],
      "table": false,
      "tojson": false
    },
    {
      "name": "compare_repertoire",
      "title": "Example output from Af_compare_within_repertoires() for function testing purposes",
      "object": "compare_repertoire",
      "class": [
        "list"
      ],
      "fields": [],
      "table": true,
      "tojson": true
    },
    {
      "name": "PLM_dataframe",
      "title": "Small PLM dataframe for function testing purposes",
      "object": "PLM_dataframe",
      "class": [
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "sample",
        "clonotype",
        "n_subs",
        "node1",
        "node2",
        "mean_substitution_rank",
        "mean_substitution_probability",
        "mean_original_rank",
        "mean_original_probability",
        "mean_unmutating_rank",
        "mean_unmutating_probability"
      ],
      "rows": 60,
      "table": true,
      "tojson": true
    },
    {
      "name": "small_af",
      "title": "Small AntibodyForests object for function testing purposes",
      "object": "small_af",
      "class": [
        "AntibodyForests"
      ],
      "fields": [],
      "table": false,
      "tojson": false
    },
    {
      "name": "small_vdj",
      "title": "Small VDJ dataframe for function testing purposes",
      "object": "small_vdj",
      "class": [
        "data.frame"
      ],
      "fields": [
        "sample_id",
        "barcode",
        "celltype",
        "isotype",
        "VDJ_contig_id",
        "VJ_contig_id",
        "VDJ_consensus_id",
        "VJ_consensus_id",
        "clonotype_id",
        "clonotype_frequency",
        "VDJ_chain",
        "VDJ_chain_count",
        "VDJ_umis",
        "VDJ_vgene",
        "VDJ_dgene",
        "VDJ_jgene",
        "VDJ_cgene",
        "VDJ_fwr1_nt",
        "VDJ_fwr1_aa",
        "VDJ_cdr1_nt",
        "VDJ_cdr1_aa",
        "VDJ_fwr2_nt",
        "VDJ_fwr2_aa",
        "VDJ_cdr2_nt",
        "VDJ_cdr2_aa",
        "VDJ_fwr3_nt",
        "VDJ_fwr3_aa",
        "VDJ_cdr3_nt",
        "VDJ_cdr3_aa",
        "VDJ_fwr4_nt",
        "VDJ_fwr4_aa",
        "VDJ_sequence_nt_raw",
        "VDJ_sequence_nt_trimmed",
        "VDJ_sequence_aa_trimmed",
        "VDJ_consensus_nt_raw",
        "VDJ_consensus_nt_trimmed",
        "VDJ_consensus_aa_trimmed",
        "VDJ_germline_nt_raw",
        "VDJ_germline_nt_trimmed",
        "VDJ_germline_aa_trimmed",
        "VJ_chain",
        "VJ_chain_count",
        "VJ_umis",
        "VJ_vgene",
        "VJ_jgene",
        "VJ_cgene",
        "VJ_fwr1_nt",
        "VJ_fwr1_aa",
        "VJ_cdr1_nt",
        "VJ_cdr1_aa",
        "VJ_fwr2_nt",
        "VJ_fwr2_aa",
        "VJ_cdr2_nt",
        "VJ_cdr2_aa",
        "VJ_fwr3_nt",
        "VJ_fwr3_aa",
        "VJ_cdr3_nt",
        "VJ_cdr3_aa",
        "VJ_fwr4_nt",
        "VJ_fwr4_aa",
        "VJ_sequence_nt_raw",
        "VJ_sequence_nt_trimmed",
        "VJ_sequence_aa_trimmed",
        "VJ_consensus_nt_raw",
        "VJ_consensus_nt_trimmed",
        "VJ_consensus_aa_trimmed",
        "VJ_germline_nt_raw",
        "VJ_germline_nt_trimmed",
        "VJ_germline_aa_trimmed",
        "SHM_count"
      ],
      "rows": 3671,
      "table": true,
      "tojson": true
    }
  ],
  "_help": [
    {
      "page": "Af_add_node_feature",
      "title": "Function to add node features to an AntibodyForests-object",
      "topics": [
        "Af_add_node_feature"
      ]
    },
    {
      "page": "Af_build",
      "title": "Function to infer B cell evolutionary networks for all clonotypes in VDJ dataframe as obtained from the 'VDJ_build()' function.",
      "topics": [
        "Af_build"
      ]
    },
    {
      "page": "Af_cluster_metrics",
      "title": "Function to make a grouped boxplot of metrics from clusters of clonotypes",
      "topics": [
        "Af_cluster_metrics"
      ]
    },
    {
      "page": "Af_cluster_node_features",
      "title": "Function to create a barplot of the cluster composition of selected features from each tree in an AntibodyForests-object",
      "topics": [
        "Af_cluster_node_features"
      ]
    },
    {
      "page": "Af_compare_across_repertoires",
      "title": "A function to compare dynamics of B cell evolution across different repertoires.",
      "topics": [
        "Af_compare_across_repertoires"
      ]
    },
    {
      "page": "Af_compare_methods",
      "title": "Function to compare trees created with different algorithms from the same clonotype.",
      "topics": [
        "Af_compare_methods"
      ]
    },
    {
      "page": "Af_compare_PLM",
      "title": "Function to compare the distributions of the Protein Language Model probabilities or ranks of the mutations along the edges of B cell lineage trees across repertoires using the Jensen-Shannon divergence.",
      "topics": [
        "Af_compare_PLM"
      ]
    },
    {
      "page": "Af_compare_within_repertoires",
      "title": "Function to compare tree topology of B cell lineages",
      "topics": [
        "Af_compare_within_repertoires"
      ]
    },
    {
      "page": "af_default",
      "title": "Small AntibodyForests object with default algorithm for function testing purposes",
      "topics": [
        "af_default"
      ]
    },
    {
      "page": "Af_distance_boxplot",
      "title": "Function to make a grouped boxplot of distance between nodes from specific groups and the germline of lineage trees constructed with AntibodyForests.",
      "topics": [
        "Af_distance_boxplot"
      ]
    },
    {
      "page": "Af_distance_scatterplot",
      "title": "Function to scatterplot the distance to the germline to a numerical node feature of the AntibodyForests-object",
      "topics": [
        "Af_distance_scatterplot"
      ]
    },
    {
      "page": "Af_edge_RMSD",
      "title": "Function to calculate the RMSD between sequences over each edge in the AntibodyForest object",
      "topics": [
        "Af_edge_RMSD"
      ]
    },
    {
      "page": "Af_get_sequences",
      "title": "Function to get the sequences from the nodes in an AntibodyForest object",
      "topics": [
        "Af_get_sequences"
      ]
    },
    {
      "page": "Af_metrics",
      "title": "Function to calculate metrics for each tree in an AntibodyForests-object",
      "topics": [
        "Af_metrics"
      ]
    },
    {
      "page": "af_mst",
      "title": "Small AntibodyForests object with MST algorithm for function testing purposes",
      "topics": [
        "af_mst"
      ]
    },
    {
      "page": "af_nj",
      "title": "Small AntibodyForests object with NJ algorithm for function testing purposes",
      "topics": [
        "af_nj"
      ]
    },
    {
      "page": "Af_node_size_boxplot",
      "title": "Function to make a grouped boxplot of the normalized average node sizes (number of cells with the exact same sequence) from specific groups of lineage trees constructed with AntibodyForests.",
      "topics": [
        "Af_node_size_boxplot"
      ]
    },
    {
      "page": "Af_PLM_dataframe",
      "title": "Function to create a dataframe of the Protein Language Model probabilities and ranks of the mutations along the edges of B cell lineage trees.",
      "topics": [
        "Af_PLM_dataframe"
      ]
    },
    {
      "page": "Af_plot_PLM",
      "title": "Function to create a distribution plot of the Protein Language Model probabilities and ranks of the mutations along the edges of B cell lineage trees.",
      "topics": [
        "Af_plot_PLM"
      ]
    },
    {
      "page": "Af_plot_PLM_mut_vs_cons",
      "title": "Function to create a boxplot of the Protein Language Model probabilities",
      "topics": [
        "Af_plot_PLM_mut_vs_cons"
      ]
    },
    {
      "page": "Af_plot_tree",
      "title": "Plots lineage tree of clonotype from AntibodyForests object",
      "topics": [
        "Af_plot_tree"
      ]
    },
    {
      "page": "Af_sync_nodes",
      "title": "Function to synchronize the node labels/names of all clonotypes within all samples of two AntibodyForests objects.",
      "topics": [
        "Af_sync_nodes"
      ]
    },
    {
      "page": "Af_to_newick",
      "title": "Saves an AntibodyForests-object into a newick file",
      "topics": [
        "Af_to_newick"
      ]
    },
    {
      "page": "calculate_GBLD",
      "title": "Calculate the GBLD distance between trees in an AntibodyForests object. Code is derived from https://github.com/tahiri-lab/ClonalTreeClustering/blob/main/src/Python/GBLD_Metric_Final.ipynb Farnia, M., Tahiri, N. New generalized metric based on branch length distance to compare B cell lineage trees. Algorithms Mol Biol 19, 22 (2024). https://doi.org/10.1186/s13015-024-00267-1",
      "topics": [
        "calculate_GBLD"
      ]
    },
    {
      "page": "compare_repertoire",
      "title": "Example output from Af_compare_within_repertoires() for function testing purposes",
      "topics": [
        "compare_repertoire"
      ]
    },
    {
      "page": "igraph_to_phylo",
      "title": "Converts an igraph network into a phylogenetic tree as a phylo object.",
      "topics": [
        "igraph_to_phylo"
      ]
    },
    {
      "page": "newick_to_Af",
      "title": "Converts files with phylogenetic trees in newick format into an AntibodyForests object.",
      "topics": [
        "newick_to_Af"
      ]
    },
    {
      "page": "PLM_dataframe",
      "title": "Small PLM dataframe for function testing purposes",
      "topics": [
        "PLM_dataframe"
      ]
    },
    {
      "page": "small_af",
      "title": "Small AntibodyForests object for function testing purposes",
      "topics": [
        "small_af"
      ]
    },
    {
      "page": "small_vdj",
      "title": "Small VDJ dataframe for function testing purposes",
      "topics": [
        "small_vdj"
      ]
    },
    {
      "page": "VDJ_3d_properties",
      "title": "Function to calculate 3D-structure propoperties such as the average charge and hydrophobicity, pKa shift, free energy, RMSD of PDB files and add them to an AntibodyForests-object",
      "topics": [
        "VDJ_3d_properties"
      ]
    },
    {
      "page": "VDJ_import_IgBLAST_annotations",
      "title": "Function to import the annotations and alignments from IgBLAST output into the VDJ dataframe.",
      "topics": [
        "VDJ_import_IgBLAST_annotations"
      ]
    },
    {
      "page": "VDJ_integrate_bulk",
      "title": "A function to integrate bulk and single cell data",
      "topics": [
        "VDJ_integrate_bulk"
      ]
    },
    {
      "page": "VDJ_to_AIRR",
      "title": "Function to convert VDJ dataframe into an AIRR-formatted TSV file.",
      "topics": [
        "VDJ_to_AIRR"
      ]
    }
  ],
  "_readme": "https://github.com/cran/AntibodyForests/raw/HEAD/README.md",
  "_rundeps": [
    "ade4",
    "ape",
    "BiocGenerics",
    "Biostrings",
    "cli",
    "cpp11",
    "crayon",
    "digest",
    "dplyr",
    "farver",
    "generics",
    "ggplot2",
    "glue",
    "gridExtra",
    "gtable",
    "gtools",
    "igraph",
    "IRanges",
    "isoband",
    "labeling",
    "lattice",
    "lifecycle",
    "magrittr",
    "MASS",
    "Matrix",
    "nlme",
    "pillar",
    "pixmap",
    "pkgconfig",
    "purrr",
    "pwalign",
    "R6",
    "RColorBrewer",
    "Rcpp",
    "RcppArmadillo",
    "rlang",
    "S4Vectors",
    "S7",
    "scales",
    "segmented",
    "Seqinfo",
    "seqinr",
    "sp",
    "stringdist",
    "stringi",
    "stringr",
    "tibble",
    "tidyr",
    "tidyselect",
    "utf8",
    "vctrs",
    "viridis",
    "viridisLite",
    "withr",
    "XVector"
  ],
  "_vignettes": [
    {
      "source": "AntibodyForests_vignette.Rmd",
      "filename": "AntibodyForests_vignette.html",
      "title": "AntibodyForests vignette: building and analyzing B-cell lineage trees from 10x sc-V(D)J seq data",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Installation",
        "Quick start",
        "1. Import 10x output into VDJ dataframe with the VDJ_build() function",
        "Summary",
        "Parameters",
        "Example",
        "2. Construct lineage trees in repertoire-wide manner with the Af_build() function",
        "Examples",
        "1. Default",
        "2. ML",
        "3. IgPhyML",
        "3. Visualize lineage trees with the Af_plot_tree() function",
        "Maximum Likelihood",
        "With internal nodes",
        "Without internal nodes",
        "4. Compare tree construction methods with the Af_compare_methods() function",
        "Summary",
        "Parameters",
        "Af_compare_methods()",
        "5. Quantify evolution within repertoires with the Af_compare_within_repertoires() function",
        "Af_metrics()",
        "Af_compare_within_repertoires()",
        "Af_cluster_metrics()",
        "Af_cluster_node_features()",
        "Af_distance_boxplot()",
        "1. Euclidean distance",
        "2. Laplacian Spectral Density",
        "6. Compare antibody lineage trees across repertoires with the Af_compare_across_repertoires() function",
        "Af_compare_across_repertoires()",
        "Boxplot",
        "7. Assessing evolutionary likelihood of somatic hypermutation with Protein Language Models (PLM)",
        "Af_PLM_dataframe()",
        "Af_plot_PLM()",
        "Example1",
        "Example2",
        "Substitution Rank",
        "8. Investigate the evolution of antibody 3D structure along the lineage trees",
        "VDJ_3d_properties()",
        "Binding residues Antibody-Antigen",
        "Full antibody",
        "i. Run IgPhyML on VDJ dataframe and import IgPhyML trees into AntibodyForests object",
        "j. Integrate bulk RNA-seq sequences",
        "Contributions"
      ],
      "created": "2025-01-23 19:00:12",
      "modified": "2025-07-17 15:30:02",
      "commits": 2
    }
  ],
  "_score": 2.8750612633917,
  "_indexed": true,
  "_nocasepkg": "antibodyforests",
  "_universes": [
    "cran"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.1.0",
      "date": "2026-05-13T07:46:01.000Z",
      "distro": "noble",
      "commit": "a1c1c44e65a321cc7e93e36820959faf9c16895a",
      "fileid": "0f22fac1812c44ca470a254df720534c7376cfc1a16ef1a403b3afa5ccd2a4de",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/25785304536"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "1.1.0",
      "date": "2026-05-13T07:45:56.000Z",
      "distro": "noble",
      "commit": "a1c1c44e65a321cc7e93e36820959faf9c16895a",
      "fileid": "4302bf0972cda883e107c9e85ca1980d8db2533c48c29bc64cd9bd5d4438a25b",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/25785304536"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "1.1.0",
      "date": "2026-05-22T09:56:05.000Z",
      "commit": "a1c1c44e65a321cc7e93e36820959faf9c16895a",
      "fileid": "2c9fc12fd7ef92688d67d8b549eb1d818052b6d199da90cd7eaf0e94ad02638e",
      "status": "success",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/25785304536"
    }
  ]
}