{
  "_id": "6a103ac9acfb0bcc41c9b491",
  "Package": "mectx",
  "Type": "Package",
  "Title": "MEchanistic Clustering - Treatment eXposure Framework",
  "Version": "1.1.1",
  "Authors@R": "c(person(given = \"Dipankor\",\nfamily = \"Dhrubo\",\nemail = \"dhrubo.2@osu.edu\",\nrole = c(\"aut\", \"cre\")),\nperson(given = \"Daniel\",\nfamily = \"Spakowicz\",\nrole = c(\"aut\"),\nemail = \"daniel.spakowicz@osumc.edu\",\ncomment = c(ORCID = \"0000-0003-2314-6435\")))",
  "Description": "Implements the MEC-TX (MEchanistic Clustering - Treatment\neXposure) framework for encoding, clustering, and survival\nanalysis of real-world oncology treatment timelines. Provides\nfunctions for normalising medication records, computing\ntreatment intervals, performing k-means clustering in PCA\nspace, assigning line-of-therapy labels, and comparing survival\noutcomes across treatment groups. Designed for use with\nregistry-based cohorts such as the ORIEN AVATAR dataset.\nMethods follow the digital-twin framework described in Dhrubo\nand Spakowicz (2026) <https://github.com/spakowiczlab/mec-tx>.\ntreatment timelines using the MEC-TX digital-twin framework.",
  "License": "MIT + file LICENSE",
  "Encoding": "UTF-8",
  "Language": "en-US",
  "RoxygenNote": "7.3.3",
  "Config/testthat/edition": "3",
  "Date": "2026-04-27",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-05-11 20:50:20 UTC",
    "User": "root"
  },
  "Author": "Dipankor Dhrubo [aut, cre], Daniel Spakowicz [aut] (ORCID:\n<https://orcid.org/0000-0003-2314-6435>)",
  "Maintainer": "Dipankor Dhrubo <dhrubo.2@osu.edu>",
  "Repository": "https://cran.r-universe.dev",
  "Date/Publication": "2026-05-11 20:09:26 UTC",
  "RemoteUrl": "https://github.com/cran/mectx",
  "RemoteRef": "HEAD",
  "RemoteSha": "71351649ec6489fabb1bb7bf4afe8b868e6ea2f3",
  "MD5sum": "4edd3bcbff37c7be13b005a398a6175d",
  "_user": "cran",
  "_type": "src",
  "_file": "mectx_1.1.1.tar.gz",
  "_fileid": "e17e30984f3ed5170e1847d0d81f21ae4f1c77977efd9a01f70438db14662190",
  "_filesize": 326527,
  "_sha256": "e17e30984f3ed5170e1847d0d81f21ae4f1c77977efd9a01f70438db14662190",
  "_created": "2026-05-11T20:50:20.000Z",
  "_published": "2026-05-22T11:15:21.199Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 77368526678,
      "time": 182,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "6929629173"
    },
    {
      "job": 77368527290,
      "time": 188,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "6929633474"
    },
    {
      "job": 77368526020,
      "time": 219,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "6929569664"
    },
    {
      "job": 77368526275,
      "time": 135,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7159165870"
    }
  ],
  "_buildurl": "https://github.com/r-universe/cran/actions/runs/25695887385",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/cran/mectx",
  "_commit": {
    "id": "71351649ec6489fabb1bb7bf4afe8b868e6ea2f3",
    "author": "Dipankor Dhrubo <dhrubo.2@osu.edu>",
    "committer": "cran-robot <csardi.gabor+cran@gmail.com>",
    "message": "version 1.1.1\n",
    "time": 1778530166
  },
  "_maintainer": {
    "name": "Dipankor Dhrubo",
    "email": "dhrubo.2@osu.edu"
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.4.0",
      "role": "Depends"
    },
    {
      "package": "magrittr",
      "role": "Imports"
    },
    {
      "package": "broom",
      "role": "Imports"
    },
    {
      "package": "dplyr",
      "role": "Imports"
    },
    {
      "package": "forcats",
      "role": "Imports"
    },
    {
      "package": "ggnewscale",
      "role": "Imports"
    },
    {
      "package": "ggplot2",
      "role": "Imports"
    },
    {
      "package": "patchwork",
      "role": "Imports"
    },
    {
      "package": "purrr",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "stringr",
      "role": "Imports"
    },
    {
      "package": "survival",
      "role": "Imports"
    },
    {
      "package": "tibble",
      "role": "Imports"
    },
    {
      "package": "tidyr",
      "role": "Imports"
    },
    {
      "package": "umap",
      "role": "Imports"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "devtools",
      "role": "Suggests"
    },
    {
      "package": "roxygen2",
      "role": "Suggests"
    }
  ],
  "_owner": "cran",
  "_selfowned": false,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-20",
      "n": 1
    }
  ],
  "_tags": [
    {
      "name": "1.1.1",
      "date": "2026-05-11"
    }
  ],
  "_stars": 0,
  "_userbio": {
    "uuid": 6899542,
    "type": "organization",
    "name": "cran",
    "description": "Unofficial read-only mirror of all CRAN R packages"
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/mectx"
  },
  "_searchresults": 2,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/mectx.html",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_cranurl": false,
  "_releases": [
    {
      "version": "1.1.1",
      "date": "2026-05-11"
    }
  ],
  "_exports": [
    "cox_forest_plot_from_df",
    "dominant_exclusive",
    "get_focus_cohort",
    "km_panel_from_df",
    "plot_timeline_for_k",
    "prep_segs",
    "standardise_status",
    "timeline_panel",
    "treatment_shares",
    "tx_cluster_surv",
    "tx_compare_groups",
    "tx_duration",
    "tx_focus_dt",
    "tx_intervals",
    "tx_lines",
    "tx_normalize",
    "tx_pooled_analysis"
  ],
  "_help": [
    {
      "page": "cox_forest_plot_from_df",
      "title": "Cox Proportional Hazards Forest Plot",
      "topics": [
        "cox_forest_plot_from_df"
      ]
    },
    {
      "page": "dominant_exclusive",
      "title": "Assign Mutually Exclusive Dominant Treatment Regimen Per Patient",
      "topics": [
        "dominant_exclusive"
      ]
    },
    {
      "page": "get_focus_cohort",
      "title": "Extract Focus Cohort Sample IDs",
      "topics": [
        "get_focus_cohort"
      ]
    },
    {
      "page": "km_panel_from_df",
      "title": "Kaplan-Meier Survival Panel with Optional Risk Table",
      "topics": [
        "km_panel_from_df"
      ]
    },
    {
      "page": "plot_timeline_for_k",
      "title": "Treatment Timeline Facet Plot by Cluster Assignment",
      "topics": [
        "plot_timeline_for_k"
      ]
    },
    {
      "page": "prep_segs",
      "title": "Recode and clip treatment segments to canonical types Validates a raw segments data frame, recodes free-text treatment type labels to the eight canonical MEC-TX types via regex, and clips segment start/end times to '[0, horizon_years]'. Zero-duration segments (after clipping) and rows with 'NA' in 'sample', 't0', or 't1' are dropped. Called upstream by 'plot_timeline_for_k()' and 'timeline_panel()' - not intended for direct use.",
      "topics": [
        "prep_segs"
      ]
    },
    {
      "page": "standardise_status",
      "title": "Standardise Survival Status Column to 0/1 Integer",
      "topics": [
        "standardise_status"
      ]
    },
    {
      "page": "timeline_panel",
      "title": "Treatment Timeline Panel for Selected Patients",
      "topics": [
        "timeline_panel"
      ]
    },
    {
      "page": "treatment_shares",
      "title": "Compute per-patient treatment type durations and shares Takes a clipped and recoded segments data frame (output of 'prep_segs') and computes per-patient treatment duration and share for each of the eight canonical treatment types. Returns a wide-format tibble with one row per patient. Called upstream by 'timeline_panel' and 'plot_timeline_for_k' - not intended for direct use.",
      "topics": [
        "treatment_shares"
      ]
    },
    {
      "page": "tx_cluster_surv",
      "title": "Cluster Treatment Timelines and Attach Survival Data",
      "topics": [
        "tx_cluster_surv"
      ]
    },
    {
      "page": "tx_compare_groups",
      "title": "Flexible Survival Comparison by Grouping Variable or Custom Groups",
      "topics": [
        "tx_compare_groups"
      ]
    },
    {
      "page": "tx_duration",
      "title": "Treatment Duration Analysis by Grouping Variable",
      "topics": [
        "tx_duration"
      ]
    },
    {
      "page": "tx_focus_dt",
      "title": "Digital Twin Focus Analysis for a Specific Treatment Type",
      "topics": [
        "tx_focus_dt"
      ]
    },
    {
      "page": "tx_intervals",
      "title": "Convert Normalised Treatment Timeline to Treatment Intervals",
      "topics": [
        "tx_intervals"
      ]
    },
    {
      "page": "tx_lines",
      "title": "Detect Lines of Therapy from Treatment Timelines",
      "topics": [
        "tx_lines"
      ]
    },
    {
      "page": "tx_normalize",
      "title": "Normalise Raw Medication Data into a Grid-Based Treatment Timeline",
      "topics": [
        "tx_normalize"
      ]
    },
    {
      "page": "tx_pooled_analysis",
      "title": "Pooled Treatment Cohort Analysis",
      "topics": [
        "tx_pooled_analysis"
      ]
    }
  ],
  "_readme": "https://github.com/cran/mectx/raw/HEAD/README.md",
  "_rundeps": [
    "askpass",
    "backports",
    "broom",
    "cli",
    "cpp11",
    "dplyr",
    "farver",
    "forcats",
    "generics",
    "ggnewscale",
    "ggplot2",
    "glue",
    "gtable",
    "here",
    "isoband",
    "jsonlite",
    "labeling",
    "lattice",
    "lifecycle",
    "magrittr",
    "Matrix",
    "openssl",
    "patchwork",
    "pillar",
    "pkgconfig",
    "png",
    "purrr",
    "R6",
    "rappdirs",
    "RColorBrewer",
    "Rcpp",
    "RcppEigen",
    "RcppTOML",
    "reticulate",
    "rlang",
    "rprojroot",
    "RSpectra",
    "S7",
    "scales",
    "stringi",
    "stringr",
    "survival",
    "sys",
    "tibble",
    "tidyr",
    "tidyselect",
    "umap",
    "utf8",
    "vctrs",
    "viridisLite",
    "withr"
  ],
  "_score": 1.6989700043360187,
  "_indexed": true,
  "_nocasepkg": "mectx",
  "_universes": [
    "cran"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.1.1",
      "date": "2026-05-11T20:52:52.000Z",
      "distro": "noble",
      "commit": "71351649ec6489fabb1bb7bf4afe8b868e6ea2f3",
      "fileid": "605ae254b3411cf3323b7977493aed2736daae471d1ee992bcd8334e74036b5f",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/25695887385"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "1.1.1",
      "date": "2026-05-11T20:52:54.000Z",
      "distro": "noble",
      "commit": "71351649ec6489fabb1bb7bf4afe8b868e6ea2f3",
      "fileid": "9d4547fd2c58c910c7079ecb5c1ebec92417336aa41676e2235284f2cbe1b1ed",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/25695887385"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "1.1.1",
      "date": "2026-05-22T11:15:05.000Z",
      "commit": "71351649ec6489fabb1bb7bf4afe8b868e6ea2f3",
      "fileid": "5f07309ccf2fba81f3a87412c0a0f5401c2dca72090d42c97f6ef41168b3bd33",
      "status": "success",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/25695887385"
    }
  ]
}