Testing TRIAGE¶
The TRIAGE R package offers a comprehensive suite of tools for analyzing transcriptomic data. This document provides a guide to testing the key functionalities of TRIAGE, including TRIAGEgene, TRIAGEcluster, and TRIAGEparser, along with their associated visualization and analysis functions. These tests are designed to demonstrate the capabilities of each function and ensure their correct operation.
Test TRIAGEgene + plotJaccard()¶
TRIAGEgene is used for gene-level analysis and generating TRIAGE-weighted gene expression data.
# Test 1: Run TRIAGEgene on Demo Human Data
Objective: To test TRIAGEgene using human data and generate a Jaccard Index Heatmap for visualization.
Steps:
Read the input file (tab delimited .txt file).
Run TRIAGEgene (Auto-selection for log transformation is enabled).
Generate Jaccard Index Heatmap based on TRIAGEgene output (using top 100 genes by default).
library(TRIAGE)
# Read input file
input_file <- system.file("extdata", "TRIAGEgene_demo_Human.txt", package = "TRIAGE")
demo <- read.table(input_file, header = TRUE, sep = "\t", quote = "", row.names = 1)
# Run TRIAGEgene
ds <- TRIAGEgene(demo)
# Generate Jaccard Index Heatmap
setwd("/path/to/working/directory")
if (!dir.exists("tests")) {
dir.create("tests")
}
plotJaccard(ds, "tests/Jaccard_heatmap_Human_test1.pdf")
# Test 2: Run TRIAGEgene on Demo Mouse Data
Objective: To test TRIAGEgene using mouse data and generate a Jaccard Index Heatmap for visualization.
Steps:
Read the input file (CSV format).
Run TRIAGEgene with species specified as “Mouse”. Auto-selection for log transformation is enabled.
Generate a Jaccard Index Heatmap using the top 100 genes.
library(TRIAGE)
# Read input file (CSV)
input_file <- system.file("extdata", "TRIAGEgene_demo_Mouse.csv", package = "TRIAGE")
demo <- read.csv(input_file, row.names = 1)
# Run TRIAGEgene for Mouse data
ds <- TRIAGEgene(demo, species = "Mouse")
# Generate Jaccard Index Heatmap
plotJaccard(ds, "tests/Jaccard_heatmap_Mouse_test2.pdf", top_no = 100)
# Test 3: Run TRIAGEgene on Mouse Data with Matrix Input
Objective: To evaluate the functionality of TRIAGEgene using mouse data in matrix format and generate a Jaccard Index Heatmap for visualization.
Steps:
Read the input file and convert it to a matrix (CSV format).
Run TRIAGEgene with matrix input, specifying “Mouse” as the species.
Generate a Jaccard Index Heatmap using the top 88 genes.
library(TRIAGE)
# 1) Read input file (CSV) and convert to matrix
input_file <- system.file("extdata", "TRIAGEgene_demo_Mouse.csv", package = "TRIAGE")
demo <- read.csv(input_file, row.names = 1)
demo_matrix <- as.matrix(demo)
# 2) Run TRIAGEgene with matrix input for Mouse data
ds <- TRIAGEgene(demo_matrix, species = "Mouse")
# 3) Generate Jaccard Index Heatmap
plotJaccard(ds, "tests/Jaccard_heatmap_Mouse_test3.pdf", top_no = 88)
Test TRIAGEcluster + byPeak()¶
TRIAGEcluster is used for refining cell clustering in scRNA-seq data.
# Test 4: Run TRIAGEcluster and TRIAGEgene on Human Data
Objective: To use TRIAGEcluster for cell clustering, byPeak() for analyzing average expression data by peak, and TRIAGEgene for generating TRIAGE-weighted expression data (DS).
Steps:
Run TRIAGEcluster for Cell Clustering, using CSV files for expression data and metadata.
Select a suitable Bandwidth based on UMAP reviews and Calculate Average Gene Expression by Peak using the byPeak() function.
Run TRIAGEgene to generate TRIAGE-weighted expression data.
library(TRIAGE)
library(reticulate)
setwd("/path/to/working/directory")
# 1) Run TRIAGEcluster
expr_file <- system.file("extdata", "TRIAGEcluster_demo_expr_human.csv", package = "TRIAGE")
metadata_file <- system.file("extdata", "TRIAGEcluster_demo_metadata_human.csv", package = "TRIAGE")
TRIAGEcluster(expr_file, metadata_file, outdir = "tests/test4", output_prefix = "demo")
# 2) Select a suitable bandwidth and calculate average gene expression
peak_file <- "tests/test4/demo_bw0.80_metadata.csv"
avg_peak <- byPeak(expr_file, peak_file, cell_column = "Barcode", peak_column = "Peak")
# Save the average gene expression result to a CSV file
write.csv(avg_peak, file = "tests/test4/AverageByPeak.csv", row.names = TRUE, quote = FALSE)
# 3) Run TRIAGEgene to generate TRIAGE-weighted expression data (DS)
ds <- TRIAGEgene(avg_peak)
# Save the average DS result to a CSV file
write.csv(ds, file = "tests/test4/AverageByPeak_DS.csv", row.names = TRUE, quote = FALSE)
# Save the average DS result to a tab-delimited text file
write.table(ds, file = "tests/test4/AverageByPeak_DS.txt", sep = "\t",
row.names = TRUE, col.names = NA, quote = FALSE)
Test TRIAGEparser + plotGO() + getClusterGenes()¶
TRIAGEparser is a machine learning-based method for classifying genes with distinct biological functions.
# Test 5: Run TRIAGEparser with “AverageByPeak_DS.csv”
Objective: To demonstrate TRIAGEparser functionality using a CSV file with four peak clusters.
Steps:
Run TRIAGEparser.
Generate GO Heatmaps for All Groups.
Extract genes for cluster1 from the “Peak0_gene_clusters.csv” output of TRIAGEparser.
library(TRIAGE)
library(reticulate)
# 1) Run TRIAGEparser with "AverageByPeak_DS.csv" generated in Test 4
input_file <- "tests/test4/AverageByPeak_DS.csv"
TRIAGEparser(input_file, input_type = "table", outdir="tests/test5")
# 2) Generate Heatmaps using plotGO()
plotGO(indir="tests/test5", outdir="tests/test5")
# 3) Extract genes for cluster1 from the "Peak0_gene_clusters.csv" using getClusterGenes()
cluster1_genes <- getClusterGenes("tests/test5/gene_clusters/Peak0_gene_clusters.csv", "cluster1")
# Test 6: Run TRIAGEparser with “AverageByPeak_DS.txt”
Objective: To demonstrate TRIAGEparser functionality using a tab-delimited text file and generate a specific gene group heatmap.
Steps:
Run TRIAGEparser with tab-delimited text file input.
Generate GO Heatmap for the “Peak0” group.
library(TRIAGE)
library(reticulate)
# 1) Run TRIAGEparser with "AverageByPeak_DS.txt" generated in Test 4
input_file <- "tests/test4/AverageByPeak_DS.txt"
TRIAGEparser(input_file, input_type = "table", outdir="tests/test6")
# 2) Generate heatmap for "Peak0" group
plotGO(indir="tests/test6", outdir="tests/test6", id = "Peak0")
# Test 7: Run TRIAGEparser with a Gene List
Objective: To test TRIAGEparser using a gene list and visualize gene ontology enrichment.
Steps:
Run TRIAGEparser with a gene list file as input.
Generate Gene Ontology Heatmap.
# 1) Run TRIAGEparser with gene list file
input_file <- system.file("extdata", "TRIAGEparser_demo_genelist.txt", package = "TRIAGE")
TRIAGEparser(input_file, input_type = "list", outdir="tests/test7")
# 2) Generate Gene Ontology Heatmap
plotGO(indir="tests/test7", outdir="tests/test7")
These tests serve as a practical demonstration of how to apply the TRIAGE R package for analyzing and visualizing complex transcriptomic data. Researchers can adapt these procedures to their specific datasets, ensuring the effective use of TRIAGE in research projects.