{
  "_id": "6a291478732311cd87598629",
  "Package": "easybio",
  "Title": "Comprehensive Single-Cell Annotation and Transcriptomic Analysis\nToolkit",
  "Version": "1.2.3",
  "Authors@R": "person(\"Wei\", \"Cui\", email = \"m2c.w@outlook.com\", role = c(\"aut\", \"cre\", \"cph\"), comment = c(ORCID = \"0009-0004-8315-5899\"))",
  "Description": "Provides a comprehensive toolkit for single-cell\nannotation with the 'CellMarker2.0' database (see Xia Li, Peng\nWang, Yunpeng Zhang (2023) <doi: 10.1093/nar/gkac947>).\nStreamlines biological label assignment in single-cell RNA-seq\ndata and facilitates transcriptomic analysis, including\npreparation of TCGA<https://portal.gdc.cancer.gov/> and\nGEO<https://www.ncbi.nlm.nih.gov/geo/> datasets, differential\nexpression analysis and visualization of enrichment analysis\nresults. Additional utility functions support various\nbioinformatics workflows. See Wei Cui (2024) <doi:\n10.1101/2024.09.14.609619> for more details.",
  "URL": "https://github.com/person-c/easybio",
  "BugReports": "https://github.com/person-c/easybio/issues",
  "License": "MIT + file LICENSE",
  "Encoding": "UTF-8",
  "Roxygen": "list(markdown = TRUE)",
  "RoxygenNote": "7.3.2",
  "LazyData": "true",
  "biocViews": "limma, GEOquery, edgeR, fgsea",
  "Language": "en-US",
  "VignetteBuilder": "litedown",
  "Config/testthat/edition": "3",
  "Config/pak/sysreqs": "libxml2-dev libssl-dev",
  "Repository": "https://person-c.r-universe.dev",
  "Date/Publication": "2026-03-12 05:07:21 UTC",
  "RemoteUrl": "https://github.com/person-c/easybio",
  "RemoteRef": "HEAD",
  "RemoteSha": "5a2207c915390572db133233d720c693d033f8bd",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-06-10 07:22:49 UTC",
    "User": "root"
  },
  "Author": "Wei Cui [aut, cre, cph] (ORCID:\n<https://orcid.org/0009-0004-8315-5899>)",
  "Maintainer": "Wei Cui <m2c.w@outlook.com>",
  "MD5sum": "3b7853ee7f9f9ee74f5327e15d05e29c",
  "_user": "person-c",
  "_type": "src",
  "_file": "easybio_1.2.3.tar.gz",
  "_fileid": "c3c2b9ecbc8d6b5e80e97ca7c653cc10d20a471ae87734c71c23b8895f68f390",
  "_filesize": 3489187,
  "_sha256": "c3c2b9ecbc8d6b5e80e97ca7c653cc10d20a471ae87734c71c23b8895f68f390",
  "_created": "2026-06-10T07:22:49.000Z",
  "_published": "2026-06-10T07:38:32.572Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 80503736248,
      "time": 219,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7529138099"
    },
    {
      "job": 80503736196,
      "time": 217,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7529137702"
    },
    {
      "job": 80503736200,
      "time": 202,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7529331958"
    },
    {
      "job": 80503736234,
      "time": 160,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7529361749"
    },
    {
      "job": 80503043490,
      "time": 258,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7529070298"
    },
    {
      "job": 80503736239,
      "time": 165,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7529121130"
    },
    {
      "job": 80503736229,
      "time": 156,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7529118690"
    },
    {
      "job": 80503736199,
      "time": 140,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7529113766"
    },
    {
      "job": 80503736261,
      "time": 131,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7529110808"
    }
  ],
  "_buildurl": "https://github.com/r-universe/person-c/actions/runs/27259961971",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/person-c/easybio",
  "_commit": {
    "id": "5a2207c915390572db133233d720c693d033f8bd",
    "author": "cw <m2c.w@outlook.com>",
    "committer": "cw <m2c.w@outlook.com>",
    "message": "update tutorial video url\n",
    "time": 1773292041
  },
  "_maintainer": {
    "name": "Wei Cui",
    "email": "m2c.w@outlook.com",
    "login": "person-c",
    "uuid": 93318795
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1.0",
      "role": "Depends"
    },
    {
      "package": "data.table",
      "version": ">= 1.15.0",
      "role": "Imports"
    },
    {
      "package": "checkmate",
      "role": "Imports"
    },
    {
      "package": "ggplot2",
      "role": "Imports"
    },
    {
      "package": "httr2",
      "role": "Imports"
    },
    {
      "package": "R6",
      "role": "Imports"
    },
    {
      "package": "xml2",
      "role": "Imports"
    },
    {
      "package": "litedown",
      "role": "Suggests"
    },
    {
      "package": "patchwork",
      "role": "Suggests"
    },
    {
      "package": "ggrepel",
      "role": "Suggests"
    },
    {
      "package": "Seurat",
      "role": "Suggests"
    },
    {
      "package": "limma",
      "role": "Suggests"
    },
    {
      "package": "GEOquery",
      "role": "Suggests"
    },
    {
      "package": "fgsea",
      "role": "Suggests"
    },
    {
      "package": "edgeR",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    }
  ],
  "_owner": "person-c",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2025-30",
      "n": 4
    },
    {
      "week": "2025-31",
      "n": 1
    },
    {
      "week": "2025-35",
      "n": 7
    },
    {
      "week": "2025-36",
      "n": 3
    },
    {
      "week": "2025-40",
      "n": 4
    },
    {
      "week": "2026-11",
      "n": 2
    }
  ],
  "_tags": [],
  "_topics": [
    "limma",
    "geoquery",
    "edger",
    "fgsea",
    "bioinformatics",
    "cellmarker2",
    "gsea",
    "rna-seq",
    "single-cell"
  ],
  "_stars": 14,
  "_contributors": [
    {
      "user": "person-c",
      "count": 106,
      "uuid": 93318795
    }
  ],
  "_userbio": {
    "uuid": 93318795,
    "type": "user",
    "name": "rain"
  },
  "_downloads": {
    "count": 273,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/easybio"
  },
  "_devurl": "https://github.com/person-c/easybio",
  "_searchresults": 46,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/easybio.html",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/person-c/easybio",
  "_realowner": "person-c",
  "_cranurl": true,
  "_releases": [
    {
      "version": "1.0",
      "date": "2024-09-05"
    },
    {
      "version": "1.0.1",
      "date": "2024-09-08"
    },
    {
      "version": "1.1.0",
      "date": "2024-09-16"
    },
    {
      "version": "1.1.1",
      "date": "2025-02-12"
    },
    {
      "version": "1.2.1",
      "date": "2025-08-30"
    },
    {
      "version": "1.2.2",
      "date": "2025-09-01"
    },
    {
      "version": "1.2.3",
      "date": "2025-10-03"
    }
  ],
  "_exports": [
    "Artist",
    "available_ele",
    "available_tissue_class",
    "available_tissue_type",
    "check_marker",
    "dgeList",
    "dprocess_dgeList",
    "finsert",
    "get_attr",
    "get_marker",
    "groupStat",
    "groupStatI",
    "limmaFit",
    "list2dt",
    "list2graph",
    "matchCellMarker2",
    "plotEnrichment2",
    "plotGSEA",
    "plotMarkerDistribution",
    "plotORA",
    "plotPossibleCell",
    "plotRank",
    "plotSeuratDot",
    "plotVolcano",
    "prepare_geo",
    "prepare_tcga",
    "setcolnames",
    "setrownames",
    "setSavedir",
    "split_matrix",
    "suggest_best_match",
    "theme_publication",
    "tuneParameters",
    "uniprot_id_map",
    "workIn"
  ],
  "_datasets": [
    {
      "name": "CHOL_DEGs",
      "title": "Example DEGs data from Limma-Voom workflow for TCGA-CHOL project",
      "object": "CHOL_DEGs",
      "class": [
        "data.table",
        "data.frame"
      ],
      "fields": [
        "rid",
        "seqnames",
        "start",
        "end",
        "width",
        "strand",
        "source",
        "type",
        "score",
        "phase",
        "gene_id",
        "gene_type",
        "gene_name",
        "level",
        "hgnc_id",
        "havana_gene",
        "logFC",
        "AveExpr",
        "t",
        "P.Value",
        "adj.P.Val",
        "B",
        "tumor_vs_normal"
      ],
      "rows": 21938,
      "table": true,
      "tojson": true
    },
    {
      "name": "pbmc.markers",
      "title": "Example marker data from Seurat::FindAllMarkers()",
      "object": "pbmc.markers",
      "class": [
        "data.frame"
      ],
      "fields": [
        "p_val",
        "avg_log2FC",
        "pct.1",
        "pct.2",
        "p_val_adj",
        "cluster",
        "gene"
      ],
      "rows": 11629,
      "table": true,
      "tojson": true
    }
  ],
  "_help": [
    {
      "page": "Artist",
      "title": "Visualization Artist for Custom Plots",
      "topics": [
        "Artist"
      ]
    },
    {
      "page": "available_ele",
      "title": "Extract Unique Elements from a Column with Optional Filtering",
      "topics": [
        "available_ele"
      ]
    },
    {
      "page": "available_tissue_class",
      "title": "Retrieve Available Tissue Classes for a Given Species",
      "topics": [
        "available_tissue_class"
      ]
    },
    {
      "page": "available_tissue_type",
      "title": "Retrieve Available Tissue Types for a Given Species",
      "topics": [
        "available_tissue_type"
      ]
    },
    {
      "page": "check_marker",
      "title": "Verify and Explore Cell Type Annotations",
      "topics": [
        "check_marker"
      ]
    },
    {
      "page": "CHOL_DEGs",
      "title": "Example DEGs data from Limma-Voom workflow for TCGA-CHOL project",
      "topics": [
        "CHOL_DEGs"
      ]
    },
    {
      "page": "dgeList",
      "title": "Construct a DGEList Object",
      "topics": [
        "dgeList"
      ]
    },
    {
      "page": "dprocess_dgeList",
      "title": "Filter Low-Expressed Genes and Normalize DGEList Data",
      "topics": [
        "dprocess_dgeList"
      ]
    },
    {
      "page": "finsert",
      "title": "Create a Vector from an Index-to-Label Map",
      "topics": [
        "finsert"
      ]
    },
    {
      "page": "get_attr",
      "title": "Retrieve Attributes from an R Object",
      "topics": [
        "get_attr"
      ]
    },
    {
      "page": "get_marker",
      "title": "Retrieve Markers for Specific Cells from cellMarker2",
      "topics": [
        "get_marker"
      ]
    },
    {
      "page": "groupStat",
      "title": "Perform Summary Analysis by Group Using Regular Expressions",
      "topics": [
        "groupStat"
      ]
    },
    {
      "page": "groupStatI",
      "title": "Perform Summary Analysis by Group Using an column Index",
      "topics": [
        "groupStatI"
      ]
    },
    {
      "page": "limmaFit",
      "title": "Fit a Linear Model for RNA-seq data using limma",
      "topics": [
        "limmaFit"
      ]
    },
    {
      "page": "list2dt",
      "title": "Convert a List with Vector Values to a Long Data.table",
      "topics": [
        "list2dt"
      ]
    },
    {
      "page": "list2graph",
      "title": "Convert a Named List into a Graph Based on Overlap",
      "topics": [
        "list2graph"
      ]
    },
    {
      "page": "matchCellMarker2",
      "title": "Annotate Clusters by Matching Markers with the CellMarker2.0 Database",
      "topics": [
        "matchCellMarker2"
      ]
    },
    {
      "page": "pbmc.markers",
      "title": "Example marker data from Seurat::FindAllMarkers()",
      "topics": [
        "pbmc.markers"
      ]
    },
    {
      "page": "plotEnrichment2",
      "title": "Plot Enrichment for a Specific Pathway in fgsea",
      "topics": [
        "plotEnrichment2"
      ]
    },
    {
      "page": "plotGSEA",
      "title": "Visualization of GSEA Result from 'fgsea::fgsea()'",
      "topics": [
        "plotGSEA"
      ]
    },
    {
      "page": "plotMarkerDistribution",
      "title": "Plot Distribution of a Marker Across Tissues and Cell Types",
      "topics": [
        "plotMarkerDistribution"
      ]
    },
    {
      "page": "plotORA",
      "title": "Visualization of ORA Test Results",
      "topics": [
        "plotORA"
      ]
    },
    {
      "page": "plotPossibleCell",
      "title": "Plot Possible Cell Distribution Based on matchCellMarker2() Results",
      "topics": [
        "plotPossibleCell"
      ]
    },
    {
      "page": "plotRank",
      "title": "Visualization of GSEA Rank Statistics",
      "topics": [
        "plotRank"
      ]
    },
    {
      "page": "plotSeuratDot",
      "title": "Create a Dot Plot to Visualize Marker Gene Expression",
      "topics": [
        "plotSeuratDot"
      ]
    },
    {
      "page": "plotVolcano",
      "title": "Plot Volcano Plot for Differentially Expressed Genes",
      "topics": [
        "plotVolcano"
      ]
    },
    {
      "page": "prepare_geo",
      "title": "Download and Process GEO Data",
      "topics": [
        "prepare_geo"
      ]
    },
    {
      "page": "prepare_tcga",
      "title": "Prepare TCGA Data for Analysis",
      "topics": [
        "prepare_tcga"
      ]
    },
    {
      "page": "setcolnames",
      "title": "Rename Column Names of a Data Frame or Matrix",
      "topics": [
        "setcolnames"
      ]
    },
    {
      "page": "setrownames",
      "title": "Rename Row Names of a Data Frame or Matrix",
      "topics": [
        "setrownames"
      ]
    },
    {
      "page": "setSavedir",
      "title": "Set a Directory for Saving Files",
      "topics": [
        "setSavedir"
      ]
    },
    {
      "page": "split_matrix",
      "title": "Split a Matrix into Smaller Sub-matrices by Column or Row",
      "topics": [
        "split_matrix"
      ]
    },
    {
      "page": "suggest_best_match",
      "title": "Suggest Best Matches for a String from a Vector of Choices",
      "topics": [
        "suggest_best_match"
      ]
    },
    {
      "page": "theme_publication",
      "title": "Custom ggplot2 Theme for Academic Publications",
      "topics": [
        "theme_publication"
      ]
    },
    {
      "page": "tuneParameters",
      "title": "Optimize Resolution and Gene Number Parameters for Cell Type Annotation",
      "topics": [
        "tuneParameters"
      ]
    },
    {
      "page": "uniprot_id_map",
      "title": "Map UniProt IDs to Other Identifiers",
      "topics": [
        "uniprot_id_map"
      ]
    },
    {
      "page": "workIn",
      "title": "Perform Operations in a Specified Directory and Return to the Original Directory",
      "topics": [
        "workIn"
      ]
    }
  ],
  "_readme": "https://github.com/person-c/easybio/raw/HEAD/README.md",
  "_rundeps": [
    "askpass",
    "backports",
    "checkmate",
    "cli",
    "cpp11",
    "curl",
    "data.table",
    "farver",
    "ggplot2",
    "glue",
    "gtable",
    "httr2",
    "isoband",
    "labeling",
    "lifecycle",
    "magrittr",
    "openssl",
    "R6",
    "rappdirs",
    "RColorBrewer",
    "rlang",
    "S7",
    "scales",
    "sys",
    "vctrs",
    "viridisLite",
    "withr",
    "xml2"
  ],
  "_vignettes": [
    {
      "source": "example_limma.Rmd",
      "filename": "example_limma.html",
      "title": "Example Workflow for Bulk RNA-seq Analysis with limma-voom",
      "author": "cw",
      "engine": "litedown::vignette",
      "headings": [
        "Limma-voom workflow",
        "Prepare data",
        "Example Workflow: TCGA CHOL Project"
      ],
      "created": "2025-08-27 13:40:21",
      "modified": "2025-08-27 13:40:21",
      "commits": 1
    },
    {
      "source": "example-sc-seq-workflow.Rmd",
      "filename": "example-sc-seq-workflow.html",
      "title": "Example Workflow for Single-Cell Annotation with easybio",
      "author": "cw",
      "engine": "litedown::vignette",
      "headings": [
        "Introduction",
        "Setup",
        "Step 1: Automated Annotation with matchCellMarker2",
        "Step 2: Verification and Exploration",
        "Answering \"Why was this annotation made?\"",
        "Answering \"Is this annotation correct?\"",
        "Visual Confirmation with plotSeuratDot",
        "Step 3: Final Manual Curation",
        "Using a Custom Marker Database",
        "Additional Utilities",
        "get_marker()",
        "plotMarkerDistribution()"
      ],
      "created": "2025-08-27 13:40:54",
      "modified": "2025-10-02 14:52:37",
      "commits": 3
    }
  ],
  "_score": 6.587037117743456,
  "_indexed": true,
  "_nocasepkg": "easybio",
  "_universes": [
    "person-c"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.2.3",
      "date": "2026-06-10T07:26:06.000Z",
      "distro": "noble",
      "commit": "5a2207c915390572db133233d720c693d033f8bd",
      "fileid": "64f859158ea9292bdbfb07dfda39c6c0d85e7bfbd5d702965094ec21bc429f03",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/person-c/actions/runs/27259961971"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "1.2.3",
      "date": "2026-06-10T07:26:05.000Z",
      "distro": "noble",
      "commit": "5a2207c915390572db133233d720c693d033f8bd",
      "fileid": "46c6002d2caffb92350d5b5b6744c0f1e2f3a321e3b46c4baca6cdcf77e1f066",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/person-c/actions/runs/27259961971"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.2.3",
      "date": "2026-06-10T07:35:57.000Z",
      "commit": "5a2207c915390572db133233d720c693d033f8bd",
      "fileid": "ef3d2119d40529088988a928ce1b7033612797fd63c8bb27badc3b741c142ee2",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/person-c/actions/runs/27259961971"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "1.2.3",
      "date": "2026-06-10T07:37:24.000Z",
      "commit": "5a2207c915390572db133233d720c693d033f8bd",
      "fileid": "1723816cfdb4cdf2d9989fb7f586e6ef27b513f749592150fc8fe3a53a19808e",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/person-c/actions/runs/27259961971"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "1.2.3",
      "date": "2026-06-10T07:25:51.000Z",
      "commit": "5a2207c915390572db133233d720c693d033f8bd",
      "fileid": "451e2ddad0ad2d79825d0797dea2335e2ad10e09363dff7d220e4c1e1a0c0581",
      "status": "success",
      "buildurl": "https://github.com/r-universe/person-c/actions/runs/27259961971"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.2.3",
      "date": "2026-06-10T07:24:58.000Z",
      "commit": "5a2207c915390572db133233d720c693d033f8bd",
      "fileid": "6b69d1db73a75ad8a4921f02df4366acb07b43b958d9ba367439cccf19955be6",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/person-c/actions/runs/27259961971"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "1.2.3",
      "date": "2026-06-10T07:24:45.000Z",
      "commit": "5a2207c915390572db133233d720c693d033f8bd",
      "fileid": "a39aff80c374adb3b0f7ec8d1875f3ee2a33aedc46d6534528230f31e7f7f26d",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/person-c/actions/runs/27259961971"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "1.2.3",
      "date": "2026-06-10T07:24:33.000Z",
      "commit": "5a2207c915390572db133233d720c693d033f8bd",
      "fileid": "3d834c188096a1a6bfa3f8072d28325eb60c0cf21215105c6c9812d0f804842f",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/person-c/actions/runs/27259961971"
    }
  ]
}