diff --git a/apple-touch-icon-120x120.png b/apple-touch-icon-120x120.png index 8d07ae3..b3ca33e 100644 Binary files a/apple-touch-icon-120x120.png and b/apple-touch-icon-120x120.png differ diff --git a/apple-touch-icon-152x152.png b/apple-touch-icon-152x152.png index b971c6f..8a7535d 100644 Binary files a/apple-touch-icon-152x152.png and b/apple-touch-icon-152x152.png differ diff --git a/apple-touch-icon-180x180.png b/apple-touch-icon-180x180.png index 41e9fbe..a52c872 100644 Binary files a/apple-touch-icon-180x180.png and b/apple-touch-icon-180x180.png differ diff --git a/apple-touch-icon-60x60.png b/apple-touch-icon-60x60.png index 75ed725..3bb1204 100644 Binary files a/apple-touch-icon-60x60.png and b/apple-touch-icon-60x60.png differ diff --git a/apple-touch-icon-76x76.png b/apple-touch-icon-76x76.png index ceb850f..2724e31 100644 Binary files a/apple-touch-icon-76x76.png and b/apple-touch-icon-76x76.png differ diff --git a/apple-touch-icon.png b/apple-touch-icon.png index 36e53ad..96d5950 100644 Binary files a/apple-touch-icon.png and b/apple-touch-icon.png differ diff --git a/favicon-16x16.png b/favicon-16x16.png index 9695720..389a7c8 100644 Binary files a/favicon-16x16.png and b/favicon-16x16.png differ diff --git a/favicon-32x32.png b/favicon-32x32.png index f715cae..8dd2848 100644 Binary files a/favicon-32x32.png and b/favicon-32x32.png differ diff --git a/pkgdown.yml b/pkgdown.yml index 82ba955..ffbe6dd 100644 --- a/pkgdown.yml +++ b/pkgdown.yml @@ -3,5 +3,5 @@ pkgdown: 2.0.7 pkgdown_sha: ~ articles: HybridExpress: HybridExpress.html -last_built: 2023-11-28T15:52Z +last_built: 2023-11-28T16:08Z diff --git a/reference/pca_plot-1.png b/reference/pca_plot-1.png index ff84f74..4902b54 100644 Binary files a/reference/pca_plot-1.png and b/reference/pca_plot-1.png differ diff --git a/reference/plot_expression_partitions.html b/reference/plot_expression_partitions.html index 96f4c46..8636411 100644 --- a/reference/plot_expression_partitions.html +++ b/reference/plot_expression_partitions.html @@ -57,7 +57,8 @@

Usage
plot_expression_partitions(
   partition_table,
   group_by = "Category",
-  palette = NULL
+  palette = NULL,
+  labels = c("P1", "F1", "P2")
 )
@@ -81,6 +82,12 @@

Arguments, this must be a vector of length 5. If NULL, a default color palette will be used.

+ +
labels
+

A character vector of length 3 indicating the labels to be +given for parent 1, offspring, and parent 2. +Default: c("P1", "F1", "P2").

+

Value

diff --git a/reference/plot_partition_frequencies.html b/reference/plot_partition_frequencies.html index 6b8640b..5e44bf5 100644 --- a/reference/plot_partition_frequencies.html +++ b/reference/plot_partition_frequencies.html @@ -57,7 +57,8 @@

Usage

@@ -81,6 +82,12 @@

Arguments, this must be a vector of length 5. If NULL, a default color palette will be used.

+ +
labels
+

A character vector of length 3 indicating the labels to be +given for parent 1, offspring, and parent 2. +Default: c("P1", "F1", "P2").

+

Value

diff --git a/reference/plot_samplecor-1.png b/reference/plot_samplecor-1.png index 7837a5d..8d1c830 100644 Binary files a/reference/plot_samplecor-1.png and b/reference/plot_samplecor-1.png differ diff --git a/search.json b/search.json index 3a349c9..79bea97 100644 --- a/search.json +++ b/search.json @@ -1 +1 @@ -[{"path":"/SUPPORT.html","id":null,"dir":"","previous_headings":"","what":"Getting help with HybridExpress","title":"Getting help with HybridExpress","text":"Thank using HybridExpress! filing issue, things know make process smooth possible parties.","code":""},{"path":"/SUPPORT.html","id":"make-a-reprex","dir":"","previous_headings":"","what":"Make a reprex","title":"Getting help with HybridExpress","text":"Start making minimally reproducible example, also known ‘reprex’. may use reprex R package create one, though necessary help. make R-question-asking endeavors easier. Learning use takes 5 10 minutes. tips make minimally reproducible example, see StackOverflow link.","code":""},{"path":"/SUPPORT.html","id":"where-to-post-it","dir":"","previous_headings":"","what":"Where to post it?","title":"Getting help with HybridExpress","text":"Bioconductor help web page gives overview places may help answer question. Bioconductor software related questions, bug reports feature requests, addressed appropriate Bioconductor/HybridExpress GitHub repository. Follow bug report feature request templates GitHub. package GitHub repository, see next bullet point. Bioconductor software usage questions addressed Bioconductor Support Website. Make sure use appropriate package tag, otherwise package authors get notification. General R questions can posed StackOverflow RStudio Community website especially pertain tidyverse RStudio GUI related products.","code":""},{"path":"/SUPPORT.html","id":"issues-or-feature-requests","dir":"","previous_headings":"","what":"Issues or Feature Requests","title":"Getting help with HybridExpress","text":"opening new issue feature request, sure search issues pull requests ensure one already exist implemented development version. Note. can remove :open search term issues page search open closed issues. See link learn modifying search.","code":""},{"path":"/SUPPORT.html","id":"what-happens-next","dir":"","previous_headings":"","what":"What happens next?","title":"Getting help with HybridExpress","text":"Bioconductor maintainers limited resources strive responsive possible. Please forget tag appropriate maintainer issue GitHub username (e.g., @username). order make easy possible Bioconductor core developers remediate issue. Provide accurate, brief, reproducible report outlined issue templates. Thank trusting Bioconductor.","code":""},{"path":"/articles/HybridExpress.html","id":"introduction","dir":"Articles","previous_headings":"","what":"Introduction","title":"Comparative transcriptomic analysis of hybrids and their progenitors","text":"formation hybrids fusion distinct genomes subsequent genome duplication cases allopolyploidy represents significant evolutionary event complex effects cellular biology, particularly gene expression. impact genome mergings duplications transcription remain incompletely understood. bridge gap, introduce HybridExpress, comprehensive package designed facilitate comparative transcriptomic analysis hybrids progenitor species. HybridExpress tailored RNA-Seq data derived ‘experimental trio’: hybrid organism two parental species. package offers suite intuitive functions enabling researchers perform differential expression analysis ease, generate principal component analysis (PCA) plots visualizing gene expression trends, categorize genes 12 distinct expression pattern groups (Rapp, Udall, Wendel (2009)), conduct -depth functional analyses. Acknowledging potential variability cell transcriptome size across species ploidy levels, HybridExpress incorporates features rigorous normalization count data. Specifically, allows integration spike-standards directly normalization process, ensuring accurate transcriptome size adjustments standards present RNA-Seq count data (see full methodology Coate (2023)). offering capabilities, HybridExpress provides robust toolset unraveling intricate effects genome doubling merging hybrid gene expression, paving way novel insights cellular biology hybrid organisms.","code":""},{"path":"/articles/HybridExpress.html","id":"installation","dir":"Articles","previous_headings":"","what":"Installation","title":"Comparative transcriptomic analysis of hybrids and their progenitors","text":"HybridExpress can installed Bioconductor following code:","code":"if(!requireNamespace('BiocManager', quietly = TRUE)) install.packages('BiocManager') BiocManager::install(\"HybridExpress\") # Load package after installation library(HybridExpress) set.seed(123) # for reproducibility"},{"path":"/articles/HybridExpress.html","id":"data-description","dir":"Articles","previous_headings":"","what":"Data description","title":"Comparative transcriptomic analysis of hybrids and their progenitors","text":"vignette, use example data set comprises (unpublished) gene expression data (counts) Chlamydomonas reinhardtii. lab, crossed diploid line C. reinhardtii (hereafter “P1”) haploid line (hereafter “P2”), thus generating triploid line merging two parental genomes. count matrix sample metadata stored SummarizedExperiment objects, standard Bioconductor data structure required HybridExpress. instructions create SummarizedExperiment object, check FAQ section vignette. Let’s load example data take quick look : can see, count matrix contains 13058 genes 18 samples, 6 replicates parent 1 (P1, diploid), 6 replicates parent 2 (P2, haploid), 6 replicates progeny (F1, triploid).","code":"library(SummarizedExperiment) # Load data data(se_chlamy) # Inspect the `SummarizedExperiment` object se_chlamy #> class: SummarizedExperiment #> dim: 13058 18 #> metadata(0): #> assays(1): counts #> rownames(13058): Cre01.g000050 Cre01.g000150 ... ERCC-00170 ERCC-00171 #> rowData names(0): #> colnames(18): S1 S2 ... S17 S18 #> colData names(2): Ploidy Generation ## Take a look at the colData and count matrix colData(se_chlamy) #> DataFrame with 18 rows and 2 columns #> Ploidy Generation #> #> S1 diploid P1 #> S2 diploid P1 #> S3 diploid P1 #> S4 diploid P1 #> S5 diploid P1 #> ... ... ... #> S14 triploid F1 #> S15 triploid F1 #> S16 triploid F1 #> S17 triploid F1 #> S18 triploid F1 assay(se_chlamy) |> head() #> S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 S11 S12 S13 S14 #> Cre01.g000050 31 21 26 33 19 48 17 6 13 6 10 7 31 22 #> Cre01.g000150 50 29 35 99 11 58 51 46 41 33 28 14 53 25 #> Cre01.g000200 36 26 24 29 17 36 14 15 12 8 14 7 25 24 #> Cre01.g000250 440 272 394 332 283 585 272 274 255 160 225 235 405 391 #> Cre01.g000300 1242 839 1216 1251 811 1785 1341 1306 1122 877 844 1082 1704 1739 #> Cre01.g000350 412 264 294 336 252 478 233 221 195 155 190 201 299 272 #> S15 S16 S17 S18 #> Cre01.g000050 29 22 21 16 #> Cre01.g000150 37 17 24 21 #> Cre01.g000200 24 26 18 21 #> Cre01.g000250 358 339 340 332 #> Cre01.g000300 1524 1720 1517 1243 #> Cre01.g000350 276 324 246 275 table(se_chlamy$Ploidy, se_chlamy$Generation) #> #> F1 P1 P2 #> diploid 0 6 0 #> haploid 0 0 6 #> triploid 6 0 0"},{"path":"/articles/HybridExpress.html","id":"adding-midparent-expression-values","dir":"Articles","previous_headings":"","what":"Adding midparent expression values","title":"Comparative transcriptomic analysis of hybrids and their progenitors","text":"First , ’d want add count matrix silico samples contain expression values midparent. can done function add_midparent_expression(), takes random sample pair (one sample parent, sampling without replacement) calculates midparent expression value one three ways: Mean (default): get mean expression two samples. Sum: get sum two samples. Weighted mean: get weighted mean two samples multiplying expression value parent weight. Typically, can used two parents different ploidy levels, weights correspond ploidy level parent. function, besides specifying method obtain midparent expression values (.e., “mean”, “sum”, “weightedmean”), users must also specify name column colData contains information generations (default: “Generation”), well levels corresponding parent (default: “P1” “P2” parents 1 2, respectively). proceed analyses midparent expression values obtained mean counts, stored se object.","code":"# Add midparent expression using the mean of the counts se <- add_midparent_expression(se_chlamy) head(assay(se)) #> S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 S11 S12 S13 S14 #> Cre01.g000050 31 21 26 33 19 48 17 6 13 6 10 7 31 22 #> Cre01.g000150 50 29 35 99 11 58 51 46 41 33 28 14 53 25 #> Cre01.g000200 36 26 24 29 17 36 14 15 12 8 14 7 25 24 #> Cre01.g000250 440 272 394 332 283 585 272 274 255 160 225 235 405 391 #> Cre01.g000300 1242 839 1216 1251 811 1785 1341 1306 1122 877 844 1082 1704 1739 #> Cre01.g000350 412 264 294 336 252 478 233 221 195 155 190 201 299 272 #> S15 S16 S17 S18 midparent1 midparent2 midparent3 midparent4 #> Cre01.g000050 29 22 21 16 18 27 14 20 #> Cre01.g000150 37 17 24 21 32 46 38 56 #> Cre01.g000200 24 26 18 21 19 22 20 18 #> Cre01.g000250 358 339 340 332 310 372 273 284 #> Cre01.g000300 1524 1720 1517 1243 1030 1331 1072 1166 #> Cre01.g000350 276 324 246 275 242 316 242 268 #> midparent5 midparent6 #> Cre01.g000050 18 22 #> Cre01.g000150 31 46 #> Cre01.g000200 16 24 #> Cre01.g000250 278 348 #> Cre01.g000300 1076 1182 #> Cre01.g000350 242 304 # Alternative 1: using the sum of the counts add_midparent_expression(se_chlamy, method = \"sum\") |> assay() |> head() #> S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 S11 S12 S13 S14 #> Cre01.g000050 31 21 26 33 19 48 17 6 13 6 10 7 31 22 #> Cre01.g000150 50 29 35 99 11 58 51 46 41 33 28 14 53 25 #> Cre01.g000200 36 26 24 29 17 36 14 15 12 8 14 7 25 24 #> Cre01.g000250 440 272 394 332 283 585 272 274 255 160 225 235 405 391 #> Cre01.g000300 1242 839 1216 1251 811 1785 1341 1306 1122 877 844 1082 1704 1739 #> Cre01.g000350 412 264 294 336 252 478 233 221 195 155 190 201 299 272 #> S15 S16 S17 S18 midparent1 midparent2 midparent3 midparent4 #> Cre01.g000050 29 22 21 16 43 26 58 46 #> Cre01.g000150 37 17 24 21 86 25 86 140 #> Cre01.g000200 24 26 18 21 38 24 50 41 #> Cre01.g000250 358 339 340 332 666 518 810 587 #> Cre01.g000300 1524 1720 1517 1243 2557 1893 2629 2373 #> Cre01.g000350 276 324 246 275 527 453 668 531 #> midparent5 midparent6 #> Cre01.g000050 37 27 #> Cre01.g000150 96 62 #> Cre01.g000200 51 34 #> Cre01.g000250 714 432 #> Cre01.g000300 2548 1716 #> Cre01.g000350 633 419 # Alternative 2: using the weighted mean of the counts (weights = ploidy) w <- c(2, 1) # P1 = diploid; P2 = haploid add_midparent_expression(se_chlamy, method = \"weightedmean\", weights = w) |> assay() |> head() #> S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 S11 S12 S13 S14 #> Cre01.g000050 31 21 26 33 19 48 17 6 13 6 10 7 31 22 #> Cre01.g000150 50 29 35 99 11 58 51 46 41 33 28 14 53 25 #> Cre01.g000200 36 26 24 29 17 36 14 15 12 8 14 7 25 24 #> Cre01.g000250 440 272 394 332 283 585 272 274 255 160 225 235 405 391 #> Cre01.g000300 1242 839 1216 1251 811 1785 1341 1306 1122 877 844 1082 1704 1739 #> Cre01.g000350 412 264 294 336 252 478 233 221 195 155 190 201 299 272 #> S15 S16 S17 S18 midparent1 midparent2 midparent3 midparent4 #> Cre01.g000050 29 22 21 16 25 29 39 22 #> Cre01.g000150 37 17 24 21 27 30 29 16 #> Cre01.g000200 24 26 18 21 27 32 33 21 #> Cre01.g000250 358 339 340 332 181 232 270 210 #> Cre01.g000300 1524 1720 1517 1243 1453 1576 1753 1532 #> Cre01.g000350 276 324 246 275 166 202 223 165 #> midparent5 midparent6 #> Cre01.g000050 26 17 #> Cre01.g000150 48 15 #> Cre01.g000200 29 17 #> Cre01.g000250 202 148 #> Cre01.g000300 1705 1125 #> Cre01.g000350 186 136"},{"path":"/articles/HybridExpress.html","id":"exploratory-data-analyses","dir":"Articles","previous_headings":"","what":"Exploratory data analyses","title":"Comparative transcriptomic analysis of hybrids and their progenitors","text":"Next, can perform exploratory analyses sample clustering verify samples group expected. HybridExpress, can performed using two functions: pca_plot(): creates principal component analysis (PCA) plots, colors shapes (optional) mapped levels colData variables; plot_samplecor(): plots heatmap hierarchically clustered pairwise sample correlations. Let’s start PCA plot: plot , data point corresponds sample, colors shapes mapped levels variables specified arguments color_by shape_by, respectively. Besides, specifying add_mean = TRUE, added diamond shape indicating mean PC coordinates based variable color_by (, “Generation”). Now, let’s plot heatmap sample correlations: can see samples group well together PCA plot correlation heatmap. note, pca_plot() plot_samplecor() use top 500 genes highest variances create plot. genes low variances (.e., genes vary much across samples) uninformative typically add noise. can change number (use less genes) ntop argument functions.","code":"# For colData rows with missing values (midparent samples), add \"midparent\" se$Ploidy[is.na(se$Ploidy)] <- \"midparent\" se$Generation[is.na(se$Generation)] <- \"midparent\" # Create PCA plot pca_plot(se, color_by = \"Generation\", shape_by = \"Ploidy\", add_mean = TRUE) #> converting counts to integer mode # Plot a heatmap of sample correlations plot_samplecor(se) #> converting counts to integer mode"},{"path":"/articles/HybridExpress.html","id":"identifying-differentially-expressed-genes-between-hybrids-and-their-parents","dir":"Articles","previous_headings":"","what":"Identifying differentially expressed genes between hybrids and their parents","title":"Comparative transcriptomic analysis of hybrids and their progenitors","text":"compare gene expression levels hybrids progenitor species, can use function get_deg_list(). function performs differential expression analyses using DESeq2 returns list data frames gene-wise test statistics following contrasts: P2_vs_P1: parent 2 (numerator) versus parent 1 (denominator). F1_vs_P1: hybrid (numerator) versus parent 1 (denominator). F1_vs_P2: hybrid (numerator) versus parent 2 (denominator). F1_vs_midparent: hybrid (numerator) vs midparent (denominator). default, count data normalized library size using standard normalization process DESeq2. However, spike-standards included count matrix, can use normalization setting spikein_norm = TRUE specifying pattern used indicate rows contain spike-ins (usually start ERCC)1. example data set, spike-standards available last rows count matrix. Now, use get_deg_list() get differentially expressed genes (DEGs) contrast using spike-normalization. summarize frequencies - -regulated genes per contrast single data frame, use function get_deg_counts(). important note columns perc_up, perc_down, perc_total show percentages -regulated, -regulated, differentially expressed genes relative total number genes count matrix. total number genes count matrix stored ngenes attribute list returned get_deg_list(): However, since count matrix usually include genes genome (e.g., lowly expressed genes genes low variance usually filtered ), percentages perc_up, perc_down, perc_total relative total number genes genome. use total number genes genome reference, need update ngenes attribute DEG list appropriate number follows: , can run get_deg_counts() get percentages relative total number genes genome. Finally, can summarize everything single publication-ready figure using plot plot_expression_triangle(), shows ‘experimental trio’ (.e., hybrid progenitors) triangle, frequencies DEGs indicated. figure commonly used publications, inspired Rapp, Udall, Wendel (2009). edge (line), numbers middle (bold) indicate frequency DEGs, numbers ends (close boxes) indicate frequency -regulated genes generation. instance, figure shows , contrast F1 P1, 5476 DEGs (32.4% genome), 1471 -regulated F1, 4005 -regulated P1. custom figure, can also specify color palette labels boxes. example:","code":"# Show last rows of the count matrix assay(se) |> tail() #> S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 S11 S12 S13 #> ERCC-00163 74 75 55 77 51 84 132 127 93 108 79 102 66 #> ERCC-00164 0 4 0 1 4 1 6 4 1 4 3 2 5 #> ERCC-00165 147 139 87 165 118 179 236 246 139 218 176 145 118 #> ERCC-00168 2 5 2 2 2 6 5 1 1 5 0 3 4 #> ERCC-00170 97 95 73 101 70 118 186 148 110 167 110 103 72 #> ERCC-00171 4644 4959 3554 5357 4170 5946 8207 7915 4992 7843 6455 5884 4537 #> S14 S15 S16 S17 S18 midparent1 midparent2 midparent3 midparent4 #> ERCC-00163 67 62 80 88 47 67 96 101 90 #> ERCC-00164 4 3 5 4 2 2 2 4 2 #> ERCC-00165 143 115 185 192 136 132 198 192 155 #> ERCC-00168 6 2 11 5 2 1 6 3 2 #> ERCC-00170 99 64 121 103 84 92 142 122 102 #> ERCC-00171 5665 4598 6168 5771 4747 5004 6894 6437 5620 #> midparent5 midparent6 #> ERCC-00163 92 84 #> ERCC-00164 5 0 #> ERCC-00165 177 143 #> ERCC-00168 4 2 #> ERCC-00170 128 104 #> ERCC-00171 6188 4818 # Get a list of differentially expressed genes for each contrast deg_list <- get_deg_list(se, spikein_norm = TRUE, spikein_pattern = \"ERCC\") #> converting counts to integer mode #> using pre-existing size factors #> estimating dispersions #> gene-wise dispersion estimates #> mean-dispersion relationship #> final dispersion estimates #> fitting model and testing # Inspecting the output ## Getting contrast names names(deg_list) #> [1] \"P2_vs_P1\" \"F1_vs_P1\" \"F1_vs_P2\" \"F1_vs_midparent\" ## Accessing gene-wise test statistics for contrast `F1_vs_P1` head(deg_list$F1_vs_P1) #> baseMean log2FoldChange lfcSE stat pvalue #> Cre01.g000450 39.59273 -1.1632346 0.2165407 -5.371898 7.791211e-08 #> Cre01.g000750 103.10296 0.8807307 0.1842856 4.779162 1.760270e-06 #> Cre01.g000900 471.44084 0.6807925 0.1980730 3.437079 5.880239e-04 #> Cre01.g001000 10.34574 -6.6304915 0.9631384 -6.884256 5.809030e-12 #> Cre01.g001100 453.87151 -0.6457115 0.1506903 -4.285025 1.827187e-05 #> Cre01.g001200 159.03643 0.7231060 0.1946090 3.715685 2.026536e-04 #> padj #> Cre01.g000450 4.653531e-07 #> Cre01.g000750 8.329159e-06 #> Cre01.g000900 1.707442e-03 #> Cre01.g001000 6.659069e-11 #> Cre01.g001100 7.200448e-05 #> Cre01.g001200 6.453951e-04 ## Counting the number of DEGs per contrast sapply(deg_list, nrow) #> P2_vs_P1 F1_vs_P1 F1_vs_P2 F1_vs_midparent #> 8698 5476 7350 4348 # Get a data frame with DEG frequencies for each contrast deg_counts <- get_deg_counts(deg_list) deg_counts #> contrast up down total perc_up perc_down perc_total #> 1 P2_vs_P1 828 7870 8698 6.4 60.7 67.1 #> 2 F1_vs_P1 1471 4005 5476 11.3 30.9 42.2 #> 3 F1_vs_P2 6487 863 7350 50.0 6.7 56.7 #> 4 F1_vs_midparent 2620 1728 4348 20.2 13.3 33.5 attributes(deg_list)$ngenes #> [1] 12966 # Total number of genes in the C. reinhardtii genome (v6.1): 16883 attributes(deg_list)$ngenes <- 16883 deg_counts <- get_deg_counts(deg_list) deg_counts #> contrast up down total perc_up perc_down perc_total #> 1 P2_vs_P1 828 7870 8698 4.9 46.6 51.5 #> 2 F1_vs_P1 1471 4005 5476 8.7 23.7 32.4 #> 3 F1_vs_P2 6487 863 7350 38.4 5.1 43.5 #> 4 F1_vs_midparent 2620 1728 4348 15.5 10.2 25.8 # Plot expression triangle plot_expression_triangle(deg_counts) # Create vectors (length 4) of colors and box labels pal <- c(\"springgreen4\", \"darkorange3\", \"mediumpurple4\", \"mediumpurple3\") labels <- c(\"Parent 1\\n(2n)\", \"Parent 2\\n(n)\", \"Progeny\\n(3n)\", \"Midparent\") plot_expression_triangle(deg_counts, palette = pal, box_labels = labels)"},{"path":"/articles/HybridExpress.html","id":"expression-based-gene-classification","dir":"Articles","previous_headings":"","what":"Expression-based gene classification","title":"Comparative transcriptomic analysis of hybrids and their progenitors","text":"identifying DEGs different contrasts, ’d typically want classify genes expression partitions based expression patterns. can performed function expression_partitioning(), classifies genes one 12 categories Rapp, Udall, Wendel (2009), 5 major classes summarize 12 categories. five classes : Transgressive -regulation (): gene -regulated hybrid compared parents. Transgressive -regulation (): gene -regulated hybrid compared parents. Additivity (ADD): gene expression hybrid mean parents (additive effect). Expression-level dominance toward parent 1 (ELD_P1): gene expression hybrid parent 1, different parent 2. Expression-level dominance toward parent 2 (ELD_P2): gene expression hybrid parent 2, different parent 1. visualize expression partitions scatter plot expression divergences, can use function plot_expression_partitions(). default, genes grouped Category. However, can also group genes Class follows: can also visualize frequencies genes partition function plot_partition_frequencies().","code":"# Classify genes in expression partitions exp_partitions <- expression_partitioning(deg_list) # Inspect the output head(exp_partitions) #> Gene Category Class lFC_F1_vs_P1 lFC_F1_vs_P2 #> 1 Cre01.g003650 1 ADD 0.7838125 -1.0484464 #> 2 Cre01.g005150 1 ADD 1.0473362 -0.5041601 #> 3 Cre01.g008600 1 ADD 5.0518384 -1.4840829 #> 4 Cre01.g013500 1 ADD 2.1099265 -1.5329846 #> 5 Cre01.g034850 1 ADD 1.5838851 -0.7611868 #> 6 Cre01.g800005 1 ADD 1.4928449 -0.9315119 # Count number of genes per category table(exp_partitions$Category) #> #> 1 2 3 4 5 6 7 8 9 10 11 12 #> 70 262 66 3283 77 287 214 651 280 147 1760 1666 # Count number of genes per class table(exp_partitions$Class) #> #> UP DOWN ADD ELD_P1 ELD_P2 #> 1015 427 1736 3563 2022 # Plot partitions as a scatter plot of divergences plot_expression_partitions(exp_partitions, group_by = \"Category\") # Group by `Class` plot_expression_partitions(exp_partitions, group_by = \"Class\") # Visualize frequency of genes in each partition ## By `Category` (default) plot_partition_frequencies(exp_partitions) ## By `Class` plot_partition_frequencies(exp_partitions, group_by = \"Class\")"},{"path":"/articles/HybridExpress.html","id":"overrepresentation-analysis-of-functional-terms","dir":"Articles","previous_headings":"","what":"Overrepresentation analysis of functional terms","title":"Comparative transcriptomic analysis of hybrids and their progenitors","text":"Lastly, ’d want explore whether gene sets interest (e.g., -regulated genes contrast) enriched particular GO term, pathway, protein domain, etc. , use function ora(), performs overrepresentation analysis gene set given data frame functional annotation gene. , use example data set GO annotation C. reinhardtii genes. data set illustrates annotation data frame must shaped: gene ID first column, functional annotations columns. demonstrate usage ora(), let’s check can find enrichment GO term among genes assigned class “ADD”.","code":"# Load example functional annotation (GO terms) data(go_chlamy) head(go_chlamy) #> gene GO #> 1 Cre01.g000050 #> 2 Cre01.g000100 #> 3 Cre01.g000150 membrane #> 4 Cre01.g000150 metal ion transport #> 5 Cre01.g000150 metal ion transmembrane transporter activity #> 6 Cre01.g000150 transmembrane transport # Get a vector of genes in class \"ADD\" genes_add <- exp_partitions$Gene[exp_partitions$Class == \"ADD\"] head(genes_add) #> [1] \"Cre01.g003650\" \"Cre01.g005150\" \"Cre01.g008600\" \"Cre01.g013500\" #> [5] \"Cre01.g034850\" \"Cre01.g800005\" # Get background genes - genes in the count matrix bg <- rownames(se) # Perform overrepresentation analysis ora_add <- ora(genes_add, go_chlamy, background = bg) # Inspect results head(ora_add) #> term genes all pval #> 20 aminoacyl-tRNA ligase activity 14 33 3.517366e-05 #> 84 cytoplasm 43 151 6.083978e-07 #> 97 DNA replication 17 37 1.331552e-06 #> 114 endopeptidase activity 6 10 7.118363e-04 #> 115 endoplasmic reticulum 9 17 1.128774e-04 #> 118 eukaryotic translation initiation factor 3 complex 7 9 2.044325e-05 #> padj category #> 20 1.629713e-03 GO #> 84 6.342547e-05 GO #> 97 1.110515e-04 GO #> 114 2.120255e-02 GO #> 115 4.706990e-03 GO #> 118 1.217834e-03 GO"},{"path":"/articles/HybridExpress.html","id":"example-1-overrepresentation-analyses-for-all-expression-based-classes","dir":"Articles","previous_headings":"Overrepresentation analysis of functional terms","what":"Example 1: overrepresentation analyses for all expression-based classes","title":"Comparative transcriptomic analysis of hybrids and their progenitors","text":"example , performed overrepresentation analysis genes associated class “ADD”. wanted classes? case, run ora() multiple times looping class. details, following: class, create vector genes associated ; Run ora() get data frame ORA results. can find example using lapply(). Results class stored elements list object. expression-based category (class), ’d need replace Class Category split() function (see example ).","code":"# Create a list of genes in each class genes_by_class <- split(exp_partitions$Gene, exp_partitions$Class) names(genes_by_class) #> [1] \"UP\" \"DOWN\" \"ADD\" \"ELD_P1\" \"ELD_P2\" head(genes_by_class$UP) #> [1] \"Cre01.g029250\" \"Cre01.g034380\" \"Cre01.g036700\" \"Cre01.g049400\" #> [5] \"Cre02.g085500\" \"Cre02.g087150\" # Iterate through each class and perform ORA ora_classes <- lapply( genes_by_class, # list through which we will iterate ora, # function we will apply to each element of the list annotation = go_chlamy, background = bg # additional arguments to function ) # Inspect output ora_classes #> $UP #> term genes all pval padj #> 29 ATP hydrolysis activity 21 119 3.074727e-04 0.0427387078 #> 109 dynein complex 8 13 1.172717e-06 0.0004890231 #> 127 flavin adenine dinucleotide binding 11 42 2.687071e-04 0.0427387078 #> category #> 29 GO #> 109 GO #> 127 GO #> #> $DOWN #> term genes all pval padj #> 242 oxidoreductase activity 21 274 2.668754e-04 2.225741e-02 #> 271 photosynthesis 13 58 3.367873e-08 7.022015e-06 #> 272 photosynthesis, light harvesting 18 24 1.444312e-22 6.022782e-20 #> 276 photosystem I 5 15 8.360388e-05 8.715704e-03 #> 376 tetrapyrrole biosynthetic process 5 8 1.885876e-06 2.621368e-04 #> category #> 242 GO #> 271 GO #> 272 GO #> 276 GO #> 376 GO #> #> $ADD #> term #> 20 aminoacyl-tRNA ligase activity #> 84 cytoplasm #> 97 DNA replication #> 114 endopeptidase activity #> 115 endoplasmic reticulum #> 118 eukaryotic translation initiation factor 3 complex #> 165 intracellular protein transport #> 227 nuclear pore #> 250 oxidoreductase activity, acting on the CH-OH group of donors, NAD or NADP as acceptor #> 284 prefoldin complex #> 287 proteasome core complex #> 293 protein folding #> 294 protein glycosylation #> 304 protein refolding #> 390 translation initiation factor activity #> 410 unfolded protein binding #> 414 vesicle-mediated transport #> genes all pval padj category #> 20 14 33 3.517366e-05 1.629713e-03 GO #> 84 43 151 6.083978e-07 6.342547e-05 GO #> 97 17 37 1.331552e-06 1.110515e-04 GO #> 114 6 10 7.118363e-04 2.120255e-02 GO #> 115 9 17 1.128774e-04 4.706990e-03 GO #> 118 7 9 2.044325e-05 1.217834e-03 GO #> 165 25 73 3.907713e-06 2.715861e-04 GO #> 227 6 9 3.209008e-04 1.115130e-02 GO #> 250 10 27 1.647170e-03 4.292937e-02 GO #> 284 4 4 3.114510e-04 1.115130e-02 GO #> 287 9 15 2.987692e-05 1.557334e-03 GO #> 293 29 81 2.288079e-07 3.180430e-05 GO #> 294 6 10 7.118363e-04 2.120255e-02 GO #> 304 10 10 1.686356e-09 7.032106e-07 GO #> 390 9 21 8.277887e-04 2.301252e-02 GO #> 410 19 38 5.773438e-08 1.203762e-05 GO #> 414 13 41 1.832917e-03 4.496037e-02 GO #> #> $ELD_P1 #> term genes all pval padj category #> 38 binding 88 208 1.818832e-06 0.0007584527 GO #> 239 nucleus 77 193 8.891683e-05 0.0185391599 GO #> 345 rRNA processing 15 24 3.183647e-04 0.0442526890 GO #> #> $ELD_P2 #> term genes all #> 28 aspartic-type endopeptidase activity 6 8 #> 170 iron ion binding 30 93 #> 242 oxidoreductase activity 71 274 #> 271 photosynthesis 26 58 #> 278 photosystem II 17 32 #> 320 proton-transporting two-sector ATPase complex, catalytic domain 6 8 #> pval padj category #> 28 2.888758e-04 2.007687e-02 GO #> 170 3.997247e-05 4.167130e-03 GO #> 242 4.722014e-06 6.563600e-04 GO #> 271 1.031130e-07 4.299811e-05 GO #> 278 8.669007e-07 1.807488e-04 GO #> 320 2.888758e-04 2.007687e-02 GO"},{"path":"/articles/HybridExpress.html","id":"example-2-overrepresentation-analyses-for-differentially-expressed-genes","dir":"Articles","previous_headings":"Overrepresentation analysis of functional terms","what":"Example 2: overrepresentation analyses for differentially expressed genes","title":"Comparative transcriptomic analysis of hybrids and their progenitors","text":"can use lapply() loop expression class, can also loop contrast list returned get_deg_list(), perform ORA - -regulated genes. can find example: Likewise, -regulated genes, need replace > symbol < symbol anonymous function subset rows.","code":"# Get up-regulated genes for each contrast up_genes <- lapply(deg_list, function(x) rownames(x[x$log2FoldChange > 0, ])) names(up_genes) #> [1] \"P2_vs_P1\" \"F1_vs_P1\" \"F1_vs_P2\" \"F1_vs_midparent\" head(up_genes$F1_vs_P1) #> [1] \"Cre01.g000750\" \"Cre01.g000900\" \"Cre01.g001200\" \"Cre01.g002750\" #> [5] \"Cre01.g003524\" \"Cre01.g003650\" # Perform ORA ora_up <- lapply( up_genes, ora, annotation = go_chlamy, background = bg ) ora_up #> $P2_vs_P1 #> [1] term genes all pval padj category #> <0 rows> (or 0-length row.names) #> #> $F1_vs_P1 #> term genes all pval padj category #> 109 dynein complex 8 13 1.944536e-05 0.008108715 GO #> #> $F1_vs_P2 #> term genes all pval #> 38 binding 138 208 7.344020e-07 #> 96 DNA repair 56 83 7.655167e-04 #> 144 GTP binding 72 111 8.525066e-04 #> 169 ion transport 33 45 1.048368e-03 #> 209 microtubule-based process 10 10 9.123368e-04 #> 239 nucleus 125 193 1.471530e-05 #> 303 protein polymerization 10 10 9.123368e-04 #> 304 protein refolding 10 10 9.123368e-04 #> 307 protein serine/threonine phosphatase activity 20 24 6.876258e-04 #> 338 RNA binding 101 157 1.388743e-04 #> 384 transcription, DNA-templated 28 36 5.139935e-04 #> padj category #> 38 0.0003062456 GO #> 96 0.0380444450 GO #> 144 0.0380444450 GO #> 169 0.0397426775 GO #> 209 0.0380444450 GO #> 239 0.0030681409 GO #> 303 0.0380444450 GO #> 304 0.0380444450 GO #> 307 0.0380444450 GO #> 338 0.0193035210 GO #> 384 0.0380444450 GO #> #> $F1_vs_midparent #> term genes all pval #> 80 cyclic nucleotide biosynthetic process 38 108 1.704386e-04 #> 109 dynein complex 9 13 1.689230e-04 #> 166 intracellular signal transduction 38 110 2.618073e-04 #> 168 ion channel activity 20 48 5.098878e-04 #> 169 ion transport 21 45 5.169533e-05 #> 290 protein dephosphorylation 21 44 3.395214e-05 #> 307 protein serine/threonine phosphatase activity 15 24 6.787504e-06 #> padj category #> 80 0.014214579 GO #> 109 0.014214579 GO #> 166 0.018195605 GO #> 168 0.030374745 GO #> 169 0.007185651 GO #> 290 0.007079020 GO #> 307 0.002830389 GO"},{"path":"/articles/HybridExpress.html","id":"faq","dir":"Articles","previous_headings":"","what":"FAQ","title":"Comparative transcriptomic analysis of hybrids and their progenitors","text":"create SummarizedExperiment object? SummarizedExperiment data structure (S4 class) can used store, single object, following elements: assay: quantitative matrix features rows samples columns. context HybridExpress, gene expression matrix (counts) genes rows samples columns. colData: data frame sample metadata samples rows variables describe samples (e.g., tissue, treatment, covariates) columns. rowData: data frame gene metadata genes rows variables describe genes (e.g., chromosome name, alternative IDs, functional information, etc) columns. package, must assay containing count matrix colData slot sample metadata. rowData can present, required. demonstrate create SummarizedExperiment object, extract assay colData example object se_chlamy comes package. two objects, can create SummarizedExperiment object : details data structure, read vignette SummarizedExperiment package.","code":"# Get count matrix count_matrix <- assay(se_chlamy) head(count_matrix) #> S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 S11 S12 S13 S14 #> Cre01.g000050 31 21 26 33 19 48 17 6 13 6 10 7 31 22 #> Cre01.g000150 50 29 35 99 11 58 51 46 41 33 28 14 53 25 #> Cre01.g000200 36 26 24 29 17 36 14 15 12 8 14 7 25 24 #> Cre01.g000250 440 272 394 332 283 585 272 274 255 160 225 235 405 391 #> Cre01.g000300 1242 839 1216 1251 811 1785 1341 1306 1122 877 844 1082 1704 1739 #> Cre01.g000350 412 264 294 336 252 478 233 221 195 155 190 201 299 272 #> S15 S16 S17 S18 #> Cre01.g000050 29 22 21 16 #> Cre01.g000150 37 17 24 21 #> Cre01.g000200 24 26 18 21 #> Cre01.g000250 358 339 340 332 #> Cre01.g000300 1524 1720 1517 1243 #> Cre01.g000350 276 324 246 275 # Get colData (data frame of sample metadata) coldata <- colData(se_chlamy) head(coldata) #> DataFrame with 6 rows and 2 columns #> Ploidy Generation #> #> S1 diploid P1 #> S2 diploid P1 #> S3 diploid P1 #> S4 diploid P1 #> S5 diploid P1 #> S6 diploid P1 # Create a SummarizedExperiment object new_se <- SummarizedExperiment( assays = list(counts = count_matrix), colData = coldata ) new_se #> class: SummarizedExperiment #> dim: 13058 18 #> metadata(0): #> assays(1): counts #> rownames(13058): Cre01.g000050 Cre01.g000150 ... ERCC-00170 ERCC-00171 #> rowData names(0): #> colnames(18): S1 S2 ... S17 S18 #> colData names(2): Ploidy Generation"},{"path":"/articles/HybridExpress.html","id":"session-information","dir":"Articles","previous_headings":"","what":"Session information","title":"Comparative transcriptomic analysis of hybrids and their progenitors","text":"document created following conditions:","code":"#> ─ Session info ─────────────────────────────────────────────────────────────── #> setting value #> version R Under development (unstable) (2023-11-22 r85609) #> os Ubuntu 22.04.3 LTS #> system x86_64, linux-gnu #> ui X11 #> language en #> collate en_US.UTF-8 #> ctype en_US.UTF-8 #> tz UTC #> date 2023-11-28 #> pandoc 3.1.1 @ /usr/local/bin/ (via rmarkdown) #> #> ─ Packages ─────────────────────────────────────────────────────────────────── #> package * version date (UTC) lib source #> abind 1.4-5 2016-07-21 [1] CRAN (R 4.4.0) #> Biobase * 2.63.0 2023-10-24 [1] Bioconductor #> BiocGenerics * 0.49.1 2023-11-01 [1] Bioconductor #> BiocManager 1.30.22 2023-08-08 [1] CRAN (R 4.4.0) #> BiocParallel 1.37.0 2023-10-24 [1] Bioconductor #> BiocStyle * 2.31.0 2023-10-24 [1] Bioconductor #> bitops 1.0-7 2021-04-24 [1] CRAN (R 4.4.0) #> bookdown 0.36 2023-10-16 [1] CRAN (R 4.4.0) #> bslib 0.6.0 2023-11-21 [2] CRAN (R 4.4.0) #> cachem 1.0.8 2023-05-01 [2] CRAN (R 4.4.0) #> circlize 0.4.15 2022-05-10 [1] CRAN (R 4.4.0) #> cli 3.6.1 2023-03-23 [2] CRAN (R 4.4.0) #> clue 0.3-65 2023-09-23 [1] CRAN (R 4.4.0) #> cluster 2.1.4 2022-08-22 [3] CRAN (R 4.4.0) #> codetools 0.2-19 2023-02-01 [3] CRAN (R 4.4.0) #> colorspace 2.1-0 2023-01-23 [1] CRAN (R 4.4.0) #> ComplexHeatmap 2.19.0 2023-10-24 [1] Bioconductor #> crayon 1.5.2 2022-09-29 [2] CRAN (R 4.4.0) #> DelayedArray 0.29.0 2023-10-24 [1] Bioconductor #> desc 1.4.2 2022-09-08 [2] CRAN (R 4.4.0) #> DESeq2 1.43.1 2023-11-14 [1] Bioconductor #> digest 0.6.33 2023-07-07 [2] CRAN (R 4.4.0) #> doParallel 1.0.17 2022-02-07 [1] CRAN (R 4.4.0) #> dplyr 1.1.4 2023-11-17 [1] CRAN (R 4.4.0) #> evaluate 0.23 2023-11-01 [2] CRAN (R 4.4.0) #> fansi 1.0.5 2023-10-08 [2] CRAN (R 4.4.0) #> farver 2.1.1 2022-07-06 [1] CRAN (R 4.4.0) #> fastmap 1.1.1 2023-02-24 [2] CRAN (R 4.4.0) #> foreach 1.5.2 2022-02-02 [1] CRAN (R 4.4.0) #> fs 1.6.3 2023-07-20 [2] CRAN (R 4.4.0) #> generics 0.1.3 2022-07-05 [1] CRAN (R 4.4.0) #> GenomeInfoDb * 1.39.1 2023-11-08 [1] Bioconductor #> GenomeInfoDbData 1.2.11 2023-11-28 [1] Bioconductor #> GenomicRanges * 1.55.1 2023-10-29 [1] Bioconductor #> GetoptLong 1.0.5 2020-12-15 [1] CRAN (R 4.4.0) #> ggplot2 3.4.4 2023-10-12 [1] CRAN (R 4.4.0) #> GlobalOptions 0.1.2 2020-06-10 [1] CRAN (R 4.4.0) #> glue 1.6.2 2022-02-24 [2] CRAN (R 4.4.0) #> gtable 0.3.4 2023-08-21 [1] CRAN (R 4.4.0) #> highr 0.10 2022-12-22 [2] CRAN (R 4.4.0) #> htmltools 0.5.7 2023-11-03 [2] CRAN (R 4.4.0) #> HybridExpress * 0.99.0 2023-11-28 [1] Bioconductor #> IRanges * 2.37.0 2023-10-24 [1] Bioconductor #> iterators 1.0.14 2022-02-05 [1] CRAN (R 4.4.0) #> jquerylib 0.1.4 2021-04-26 [2] CRAN (R 4.4.0) #> jsonlite 1.8.7 2023-06-29 [2] CRAN (R 4.4.0) #> knitr 1.45 2023-10-30 [2] CRAN (R 4.4.0) #> labeling 0.4.3 2023-08-29 [1] CRAN (R 4.4.0) #> lattice 0.22-5 2023-10-24 [3] CRAN (R 4.4.0) #> lifecycle 1.0.4 2023-11-07 [2] CRAN (R 4.4.0) #> locfit 1.5-9.8 2023-06-11 [1] CRAN (R 4.4.0) #> magrittr 2.0.3 2022-03-30 [2] CRAN (R 4.4.0) #> Matrix 1.6-3 2023-11-14 [3] CRAN (R 4.4.0) #> MatrixGenerics * 1.15.0 2023-10-24 [1] Bioconductor #> matrixStats * 1.1.0 2023-11-07 [1] CRAN (R 4.4.0) #> memoise 2.0.1 2021-11-26 [2] CRAN (R 4.4.0) #> munsell 0.5.0 2018-06-12 [1] CRAN (R 4.4.0) #> patchwork 1.1.3 2023-08-14 [1] CRAN (R 4.4.0) #> pillar 1.9.0 2023-03-22 [2] CRAN (R 4.4.0) #> pkgconfig 2.0.3 2019-09-22 [2] CRAN (R 4.4.0) #> pkgdown 2.0.7 2022-12-14 [1] CRAN (R 4.4.0) #> png 0.1-8 2022-11-29 [1] CRAN (R 4.4.0) #> purrr 1.0.2 2023-08-10 [2] CRAN (R 4.4.0) #> R6 2.5.1 2021-08-19 [2] CRAN (R 4.4.0) #> ragg 1.2.6 2023-10-10 [2] CRAN (R 4.4.0) #> RColorBrewer 1.1-3 2022-04-03 [1] CRAN (R 4.4.0) #> Rcpp 1.0.11 2023-07-06 [2] CRAN (R 4.4.0) #> RCurl 1.98-1.13 2023-11-02 [1] CRAN (R 4.4.0) #> rjson 0.2.21 2022-01-09 [1] CRAN (R 4.4.0) #> rlang 1.1.2 2023-11-04 [2] CRAN (R 4.4.0) #> rmarkdown 2.25 2023-09-18 [1] CRAN (R 4.4.0) #> rprojroot 2.0.4 2023-11-05 [2] CRAN (R 4.4.0) #> S4Arrays 1.3.0 2023-10-24 [1] Bioconductor #> S4Vectors * 0.41.2 2023-11-23 [1] Bioconductor 3.19 (R 4.4.0) #> sass 0.4.7 2023-07-15 [2] CRAN (R 4.4.0) #> scales 1.3.0 2023-11-28 [1] CRAN (R 4.4.0) #> sessioninfo 1.2.2 2021-12-06 [2] CRAN (R 4.4.0) #> shape 1.4.6 2021-05-19 [1] CRAN (R 4.4.0) #> SparseArray 1.3.1 2023-11-07 [1] Bioconductor #> stringi 1.8.2 2023-11-23 [2] CRAN (R 4.4.0) #> stringr 1.5.1 2023-11-14 [2] CRAN (R 4.4.0) #> SummarizedExperiment * 1.33.0 2023-10-24 [1] Bioconductor #> systemfonts 1.0.5 2023-10-09 [2] CRAN (R 4.4.0) #> textshaping 0.3.7 2023-10-09 [2] CRAN (R 4.4.0) #> tibble 3.2.1 2023-03-20 [2] CRAN (R 4.4.0) #> tidyselect 1.2.0 2022-10-10 [1] CRAN (R 4.4.0) #> utf8 1.2.4 2023-10-22 [2] CRAN (R 4.4.0) #> vctrs 0.6.4 2023-10-12 [2] CRAN (R 4.4.0) #> withr 2.5.2 2023-10-30 [2] CRAN (R 4.4.0) #> xfun 0.41 2023-11-01 [2] CRAN (R 4.4.0) #> XVector 0.43.0 2023-10-24 [1] Bioconductor #> yaml 2.3.7 2023-01-23 [2] CRAN (R 4.4.0) #> zlibbioc 1.49.0 2023-10-24 [1] Bioconductor #> #> [1] /__w/_temp/Library #> [2] /usr/local/lib/R/site-library #> [3] /usr/local/lib/R/library #> #> ──────────────────────────────────────────────────────────────────────────────"},{"path":[]},{"path":"/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Fabricio Almeida-Silva. Author, maintainer. Lucas Prost-Boxoen. Author. Yves Van de Peer. Author.","code":""},{"path":"/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Almeida-Silva F, Prost-Boxoen L, Van de Peer Y (2023). HybridExpress: Comparative analysis RNA-seq data hybrids progenitors. R package version 0.99.0, https://github.com/almeidasilvaf/HybridExpress.","code":"@Manual{, title = {HybridExpress: Comparative analysis of RNA-seq data for hybrids and their progenitors}, author = {Fabricio Almeida-Silva and Lucas Prost-Boxoen and Yves {Van de Peer}}, year = {2023}, note = {R package version 0.99.0}, url = {https://github.com/almeidasilvaf/HybridExpress}, }"},{"path":"/index.html","id":"hybridexpress-","dir":"","previous_headings":"","what":"Comparative analysis of RNA-seq data for hybrids and their progenitors","title":"Comparative analysis of RNA-seq data for hybrids and their progenitors","text":"goal HybridExpress perform comparative transcriptomic analyses hybrids relative progenitor species (.k.. experimental trios). package features: Calculation midparent expression values, silico samples obtained mean, sum, weighted mean random sample pairs parent; Exploratory analyses sample grouping PCA plots heatmaps hierarchically-clustered pairwise sample correlations; Identification differentially expressed genes hybrids progenitor species, hybrids midparent values, two parents. spike-standards available, HybridExpress uses normalize count data transcriptome size; Classification genes expression-based categories classes based Rapp et al. (2009). 12 expression categories proposed Rapp et al. (2009) grouped 5 major classes (transgressive -regulation, transgressive -regulation, additivity, expression-level dominance toward parent 1, expression-level dominance toward parent 2); Functional analyses identification overrepresented functional terms gene sets interest.","code":""},{"path":"/index.html","id":"installation-instructions","dir":"","previous_headings":"","what":"Installation instructions","title":"Comparative analysis of RNA-seq data for hybrids and their progenitors","text":"Get latest stable R release CRAN. install HybridExpress Bioconductor using following code: development version GitHub :","code":"if (!requireNamespace(\"BiocManager\", quietly = TRUE)) { install.packages(\"BiocManager\") } BiocManager::install(\"HybridExpress\") BiocManager::install(\"almeidasilvaf/HybridExpress\")"},{"path":"/index.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Comparative analysis of RNA-seq data for hybrids and their progenitors","text":"citation output using citation('HybridExpress') R. Please run check updates cite HybridExpress. Please note HybridExpress made possible thanks many R bioinformatics software authors, cited either vignettes /paper(s) describing package.","code":"print(citation('HybridExpress'), bibtex = TRUE) #> To cite package 'HybridExpress' in publications use: #> #> Almeida-Silva F, Prost-Boxoen L, Van de Peer Y (2023). #> _HybridExpress: Comparative analysis of RNA-seq data for hybrids and #> their progenitors_. R package version 0.99.0, #> . #> #> A BibTeX entry for LaTeX users is #> #> @Manual{, #> title = {HybridExpress: Comparative analysis of RNA-seq data for hybrids and their progenitors}, #> author = {Fabricio Almeida-Silva and Lucas Prost-Boxoen and Yves {Van de Peer}}, #> year = {2023}, #> note = {R package version 0.99.0}, #> url = {https://github.com/almeidasilvaf/HybridExpress}, #> }"},{"path":"/index.html","id":"code-of-conduct","dir":"","previous_headings":"","what":"Code of Conduct","title":"Comparative analysis of RNA-seq data for hybrids and their progenitors","text":"Please note HybridExpress project released Contributor Code Conduct. contributing project, agree abide terms.","code":""},{"path":"/index.html","id":"development-tools","dir":"","previous_headings":"","what":"Development tools","title":"Comparative analysis of RNA-seq data for hybrids and their progenitors","text":"Continuous code testing possible thanks GitHub actions usethis, remotes, rcmdcheck customized use Bioconductor’s docker containers BiocCheck. Code coverage assessment possible thanks codecov covr. documentation website automatically updated thanks pkgdown. code styled automatically thanks styler. documentation formatted thanks devtools roxygen2. package developed using biocthis.","code":""},{"path":"/reference/add_midparent_expression.html","id":null,"dir":"Reference","previous_headings":"","what":"Add midparent expression to SummarizedExperiment object — add_midparent_expression","title":"Add midparent expression to SummarizedExperiment object — add_midparent_expression","text":"Add midparent expression SummarizedExperiment object","code":""},{"path":"/reference/add_midparent_expression.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add midparent expression to SummarizedExperiment object — add_midparent_expression","text":"","code":"add_midparent_expression( se, coldata_column = \"Generation\", parent1 = \"P1\", parent2 = \"P2\", method = \"mean\", weights = c(1, 1) )"},{"path":"/reference/add_midparent_expression.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add midparent expression to SummarizedExperiment object — add_midparent_expression","text":"se SummarizedExperiment object count matrix sample metadata. coldata_column Character indicating name column colData(se) information generation stored. Default: \"Generation\". parent1 Character indicating level variable coldata_column represents parent 1. Default: \"P1\". parent2 Character indicating level variable coldata_column represents parent 2. Default: \"P2\". method Character indicating method use create midparent values. One 'mean' (default), 'sum', 'weightedmean'. weights Numeric vector length 2 indicating weights give parents 1 2 (respectively) method == \"weightedmean\". Setting method == \"weightedmean\" used sometimes parents different ploidy levels. cases, ploidy levels parents 1 2 can passed vector. Default: c(1, 2).","code":""},{"path":"/reference/add_midparent_expression.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add midparent expression to SummarizedExperiment object — add_midparent_expression","text":"SummarizedExperiment object.","code":""},{"path":"/reference/add_midparent_expression.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add midparent expression to SummarizedExperiment object — add_midparent_expression","text":"","code":"data(se_chlamy) new_se <- add_midparent_expression(se_chlamy)"},{"path":"/reference/deg_counts.html","id":null,"dir":"Reference","previous_headings":"","what":"Data frame with frequencies (absolute and relative) of DEGs per contrast — deg_counts","title":"Data frame with frequencies (absolute and relative) of DEGs per contrast — deg_counts","text":"object obtained get_deg_counts() using example data set deg_list.","code":""},{"path":"/reference/deg_counts.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Data frame with frequencies (absolute and relative) of DEGs per contrast — deg_counts","text":"","code":"data(deg_counts)"},{"path":"/reference/deg_counts.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Data frame with frequencies (absolute and relative) of DEGs per contrast — deg_counts","text":"data frame frequencies (absolute relative) - -regulated genes contrast. Relative frequencies calculated relative total number genes count matrix used differential expression analysis.","code":""},{"path":"/reference/deg_counts.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Data frame with frequencies (absolute and relative) of DEGs per contrast — deg_counts","text":"","code":"data(deg_counts)"},{"path":"/reference/deg_list.html","id":null,"dir":"Reference","previous_headings":"","what":"List of differentially expressed genes for all contrasts — deg_list","title":"List of differentially expressed genes for all contrasts — deg_list","text":"object obtained get_deg_list() using example data set se_chlamy.","code":""},{"path":"/reference/deg_list.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"List of differentially expressed genes for all contrasts — deg_list","text":"","code":"data(deg_list)"},{"path":"/reference/deg_list.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"List of differentially expressed genes for all contrasts — deg_list","text":"list data frames gene-wise test statistics differentially expressed genes contrast. Contrasts \"P2_vs_P1\", \"F1_vs_P1\", \"F1_vs_P2\", \"F1_vs_midparent\", ID 'vs' represents numerator, ID 'vs' represents denominator.","code":""},{"path":"/reference/deg_list.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"List of differentially expressed genes for all contrasts — deg_list","text":"","code":"data(deg_list)"},{"path":"/reference/expression_partitioning.html","id":null,"dir":"Reference","previous_headings":"","what":"Partition genes in groups based on their expression patterns — expression_partitioning","title":"Partition genes in groups based on their expression patterns — expression_partitioning","text":"Partition genes groups based expression patterns","code":""},{"path":"/reference/expression_partitioning.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Partition genes in groups based on their expression patterns — expression_partitioning","text":"","code":"expression_partitioning(deg_list)"},{"path":"/reference/expression_partitioning.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Partition genes in groups based on their expression patterns — expression_partitioning","text":"deg_list list data frames gene-wise test statistics differentially expressed genes returned get_deg_list().","code":""},{"path":"/reference/expression_partitioning.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Partition genes in groups based on their expression patterns — expression_partitioning","text":"data following variables: Gene Character, gene ID. Category Factor, expression group. Category names numbers 1 12. Class Factor, expression group class. One \"\" (transgressive -regulation), \"\" (transgressive -regulation), \"ADD\" (additivity), \"ELD_P1\" (expression-level dominance toward parent 1), \"ELD_P2\" (expression-level dominance toward parent 2).","code":""},{"path":"/reference/expression_partitioning.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Partition genes in groups based on their expression patterns — expression_partitioning","text":"","code":"data(deg_list) exp_partitions <- expression_partitioning(deg_list)"},{"path":"/reference/get_deg_counts.html","id":null,"dir":"Reference","previous_headings":"","what":"Get a count table of differentially expressed genes per contrast — get_deg_counts","title":"Get a count table of differentially expressed genes per contrast — get_deg_counts","text":"Get count table differentially expressed genes per contrast","code":""},{"path":"/reference/get_deg_counts.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get a count table of differentially expressed genes per contrast — get_deg_counts","text":"","code":"get_deg_counts(deg_list)"},{"path":"/reference/get_deg_counts.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get a count table of differentially expressed genes per contrast — get_deg_counts","text":"deg_list list data frames gene-wise test statistics differentially expressed genes returned get_deg_list().","code":""},{"path":"/reference/get_deg_counts.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get a count table of differentially expressed genes per contrast — get_deg_counts","text":"data frame following variables: contrast Character, contrast name. Numeric, number -regulated genes. Numeric, number -regulated genes. total Numeric, total number differentially expressed genes. perc_up Numeric, percentage -regulated genes. perc_down Numeric, percentage -regulated genes. perc_total Numeric, percentage diffferentially expressed genes.","code":""},{"path":"/reference/get_deg_counts.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get a count table of differentially expressed genes per contrast — get_deg_counts","text":"","code":"data(deg_list) deg_counts <- get_deg_counts(deg_list)"},{"path":"/reference/get_deg_list.html","id":null,"dir":"Reference","previous_headings":"","what":"Get a table of differential expression expression statistics with DESeq2 — get_deg_list","title":"Get a table of differential expression expression statistics with DESeq2 — get_deg_list","text":"Get table differential expression expression statistics DESeq2","code":""},{"path":"/reference/get_deg_list.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get a table of differential expression expression statistics with DESeq2 — get_deg_list","text":"","code":"get_deg_list( se, coldata_column = \"Generation\", parent1 = \"P1\", parent2 = \"P2\", offspring = \"F1\", midparent = \"midparent\", spikein_norm = FALSE, spikein_pattern = \"ERCC\", lfcThreshold = 0, alpha = 0.01, ... )"},{"path":"/reference/get_deg_list.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get a table of differential expression expression statistics with DESeq2 — get_deg_list","text":"se SummarizedExperiment object count matrix sample metadata. coldata_column Character indicating name column colData(se) information generation stored. Default: \"Generation\". parent1 Character indicating level variable coldata_column represents parent 1. Default: \"P1\". parent2 Character indicating level variable coldata_column represents parent 2. Default: \"P2\". offspring Character indicating level variable coldata_column represents offspring (hybrid allopolyploid). Default: \"F1\" midparent Character indicating level variable coldata_column represents midparent value. Default: \"midparent\", returned add_midparent_expression(). spikein_norm Logical indicating whether normalize data using spike-ins. Default: FALSE. spikein_pattern Character pattern (regex) use identify spike-features count matrix. valid spikein_norm = TRUE. lfcThreshold Numeric indicating log2 fold-change threshold use consider differentially expressed genes. Default: 0. alpha Numeric indicating adjusted P-value threshold use consider differentially expressed genes. Default: 0.01. ... Additional arguments passed DESeq2::results().","code":""},{"path":"/reference/get_deg_list.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get a table of differential expression expression statistics with DESeq2 — get_deg_list","text":"list data frames DESeq2's gene-wise tests statistics contrast. data frame contains columns output DESeq2::results(). Contrasts (list names) : P2_vs_P1 Parent 2 (numerator) versus parent 1 (denominator). F1_vs_P1 Offspring (numerator) versus parent 1 (denominator). F1_vs_P2 Offspring (numerator) versus parent 2 (denominator). F1_vs_midparent Offspring (numerator) versus midparent (denominator). data frame gene-wise test statistics list element contains following variables: baseMean Numeric, base mean. log2FoldChange Numeric, log2-transformed fold changes. lfcSE Numeric, standard error log2-transformed fold changes. stat Numeric, observed test statistic. pvalue Numeric, p-value. padj Numeric, P-value adjusted multiple testing. list contains two additional attributes named ngenes (numeric, total number genes), plotdata, 3-column data frame variables \"gene\" (character, gene ID), \"lFC_F1_vs_P1\" (numeric, log2 fold change F1 P1), \"lFC_F1_vs_P2\" (numeric, log2 fold change F1 P2).","code":""},{"path":"/reference/get_deg_list.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get a table of differential expression expression statistics with DESeq2 — get_deg_list","text":"","code":"data(se_chlamy) se <- add_midparent_expression(se_chlamy) deg_list <- get_deg_list(se, spikein_norm = TRUE) #> converting counts to integer mode #> using pre-existing size factors #> estimating dispersions #> gene-wise dispersion estimates #> mean-dispersion relationship #> final dispersion estimates #> fitting model and testing"},{"path":"/reference/go_chlamy.html","id":null,"dir":"Reference","previous_headings":"","what":"Data frame with GO terms annotated to each gene of Chlamydomonas reinhardtii — go_chlamy","title":"Data frame with GO terms annotated to each gene of Chlamydomonas reinhardtii — go_chlamy","text":"Data obtained Phytozome processed row contains one GO term (long format).","code":""},{"path":"/reference/go_chlamy.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Data frame with GO terms annotated to each gene of Chlamydomonas reinhardtii — go_chlamy","text":"","code":"data(go_chlamy)"},{"path":"/reference/go_chlamy.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Data frame with GO terms annotated to each gene of Chlamydomonas reinhardtii — go_chlamy","text":"2-column data frame columns gene (character, gene ID), GO (character, name GO term.)","code":""},{"path":"/reference/go_chlamy.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Data frame with GO terms annotated to each gene of Chlamydomonas reinhardtii — go_chlamy","text":"","code":"data(go_chlamy)"},{"path":"/reference/ora.html","id":null,"dir":"Reference","previous_headings":"","what":"Perform overrepresentation analysis for a set of genes — ora","title":"Perform overrepresentation analysis for a set of genes — ora","text":"Perform overrepresentation analysis set genes","code":""},{"path":"/reference/ora.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Perform overrepresentation analysis for a set of genes — ora","text":"","code":"ora( genes, annotation, column = NULL, background, correction = \"BH\", alpha = 0.05, min_setsize = 5, max_setsize = 500, bp_param = BiocParallel::SerialParam() )"},{"path":"/reference/ora.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Perform overrepresentation analysis for a set of genes — ora","text":"genes Character vector containing genes overrepresentation analysis. annotation Annotation data frame genes first column functional annotation columns. data frame can exported Biomart similar databases. column Column columns annotation used enrichment. character numeric values column indices can used. users want supply one column, input character numeric vector. Default: columns annotation. background Character vector genes used background overrepresentation analysis. correction Multiple testing correction method. One \"holm\", \"hochberg\", \"hommel\", \"bonferroni\", \"BH\", \"\", \"fdr\" \"none\". Default \"BH\". alpha Numeric indicating adjusted P-value threshold significance. Default: 0.05. min_setsize Numeric indicating minimum gene set size considered. Gene sets correspond levels variable annotation). Default: 5. max_setsize Numeric indicating maximum gene set size considered. Gene sets correspond levels variable annotation). Default: 500. bp_param BiocParallel back-end used. Default: BiocParallel::SerialParam()","code":""},{"path":"/reference/ora.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Perform overrepresentation analysis for a set of genes — ora","text":"data frame overrepresentation results following variables: term Character, functional term ID/name. genes Numeric, intersection length input genes genes particular functional term. Numeric, number genes particular functional term. pval Numeric, P-value hypergeometric test. padj Numeric, P-value adjusted multiple comparisons using method specified parameter adj. category Character, name grouping variable (.e., column name annotation).","code":""},{"path":"/reference/ora.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Perform overrepresentation analysis for a set of genes — ora","text":"","code":"data(se_chlamy) data(go_chlamy) data(deg_list) # Perform ORA for up-regulated genes in contrast F1_vs_P1 up_genes <- deg_list$F1_vs_P1 up_genes <- rownames(up_genes[up_genes$log2FoldChange > 0, ]) background <- rownames(se_chlamy) ora(up_genes, go_chlamy, background = background) #> term genes all pval padj category #> 133 dynein complex 8 13 1.924882e-05 0.00802676 GO"},{"path":"/reference/pca_plot.html","id":null,"dir":"Reference","previous_headings":"","what":"Perform a principal component analysis (PCA) and plot PCs — pca_plot","title":"Perform a principal component analysis (PCA) and plot PCs — pca_plot","text":"Perform principal component analysis (PCA) plot PCs","code":""},{"path":"/reference/pca_plot.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Perform a principal component analysis (PCA) and plot PCs — pca_plot","text":"","code":"pca_plot( se, PCs = c(1, 2), ntop = 500, color_by = NULL, shape_by = NULL, add_mean = FALSE, palette = NULL )"},{"path":"/reference/pca_plot.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Perform a principal component analysis (PCA) and plot PCs — pca_plot","text":"se SummarizedExperiment object count matrix sample metadata. PCs Numeric vector indicating principal components show x-axis y-axis, respectively. Default: c(1,2). ntop Numeric indicating number top genes highest variances use PCA. Default: 500. color_by Character name column colData(se) use group samples color. Default: NULL. shape_by Character name column colData(se) use group samples shape. Default: NULL. add_mean Logical indicating whether add diamond symbol mean value level variable indicated color_by. Default: FALSE palette Character vector colors use level variable indicated color_by. NULL, default color palette used.","code":""},{"path":"/reference/pca_plot.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Perform a principal component analysis (PCA) and plot PCs — pca_plot","text":"ggplot object PCA plot showing 2 principal components axis along % variance explained.","code":""},{"path":"/reference/pca_plot.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Perform a principal component analysis (PCA) and plot PCs — pca_plot","text":"","code":"data(se_chlamy) se <- add_midparent_expression(se_chlamy) se$Ploidy[is.na(se$Ploidy)] <- \"midparent\" se$Generation[is.na(se$Generation)] <- \"midparent\" pca_plot(se, color_by = \"Generation\", shape_by = \"Ploidy\", add_mean = TRUE) #> converting counts to integer mode"},{"path":"/reference/plot_expression_partitions.html","id":null,"dir":"Reference","previous_headings":"","what":"Plot expression partitions — plot_expression_partitions","title":"Plot expression partitions — plot_expression_partitions","text":"Plot expression partitions","code":""},{"path":"/reference/plot_expression_partitions.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Plot expression partitions — plot_expression_partitions","text":"","code":"plot_expression_partitions( partition_table, group_by = \"Category\", palette = NULL )"},{"path":"/reference/plot_expression_partitions.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Plot expression partitions — plot_expression_partitions","text":"partition_table data frame genes per expression partition returned expression_partitioning(). group_by Character indicating name variable partition_table use group genes. One \"Category\" \"Class\". Default: \"Category\". palette Character vector color names used level variable specified group_by. group_by = \"Category\", must vector length 12. group_by = \"Class\", must vector length 5. NULL, default color palette used.","code":""},{"path":"/reference/plot_expression_partitions.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Plot expression partitions — plot_expression_partitions","text":"ggplot object plot showing genes expression partition.","code":""},{"path":"/reference/plot_expression_partitions.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Plot expression partitions — plot_expression_partitions","text":"","code":"data(deg_list) partition_table <- expression_partitioning(deg_list) plot_expression_partitions(partition_table)"},{"path":"/reference/plot_expression_triangle.html","id":null,"dir":"Reference","previous_headings":"","what":"Plot a triangle of comparisons of DEG sets among generations — plot_expression_triangle","title":"Plot a triangle of comparisons of DEG sets among generations — plot_expression_triangle","text":"Plot triangle comparisons DEG sets among generations","code":""},{"path":"/reference/plot_expression_triangle.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Plot a triangle of comparisons of DEG sets among generations — plot_expression_triangle","text":"","code":"plot_expression_triangle(deg_counts, palette = NULL, box_labels = NULL)"},{"path":"/reference/plot_expression_triangle.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Plot a triangle of comparisons of DEG sets among generations — plot_expression_triangle","text":"deg_counts Data frame number differentially expressed genes per contrast returned get_deg_counts. palette Character vector length 4 indicating colors boxes P1, P2, F1, midparent, respectively. NULL, default color palette used. box_labels Character vector length 4 indicating labels boxes P1, P2, F1, midparent, respectively. Default: NULL, lead labels \"P1\", \"P2\", \"F1\", \"Midparent\", respectively.","code":""},{"path":"/reference/plot_expression_triangle.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Plot a triangle of comparisons of DEG sets among generations — plot_expression_triangle","text":"ggplot object expression triangle.","code":""},{"path":"/reference/plot_expression_triangle.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Plot a triangle of comparisons of DEG sets among generations — plot_expression_triangle","text":"expression triangle plot shows number differentially expressed genes (DEGs) contrast. Numbers center lines (bold) indicate total number DEGs, numbers near boxes indicate number -regulated genes generation triangle.","code":""},{"path":"/reference/plot_expression_triangle.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Plot a triangle of comparisons of DEG sets among generations — plot_expression_triangle","text":"","code":"data(deg_counts) plot_expression_triangle(deg_counts)"},{"path":"/reference/plot_partition_frequencies.html","id":null,"dir":"Reference","previous_headings":"","what":"Plot a barplot of gene frequencies per expression partition — plot_partition_frequencies","title":"Plot a barplot of gene frequencies per expression partition — plot_partition_frequencies","text":"Plot barplot gene frequencies per expression partition","code":""},{"path":"/reference/plot_partition_frequencies.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Plot a barplot of gene frequencies per expression partition — plot_partition_frequencies","text":"","code":"plot_partition_frequencies( partition_table, group_by = \"Category\", palette = NULL )"},{"path":"/reference/plot_partition_frequencies.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Plot a barplot of gene frequencies per expression partition — plot_partition_frequencies","text":"partition_table data frame genes per expression partition returned expression_partitioning(). group_by Character indicating name variable partition_table use group genes. One \"Category\" \"Class\". Default: \"Category\". palette Character vector color names used level variable specified group_by. group_by = \"Category\", must vector length 12. group_by = \"Class\", must vector length 5. NULL, default color palette used.","code":""},{"path":"/reference/plot_partition_frequencies.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Plot a barplot of gene frequencies per expression partition — plot_partition_frequencies","text":"ggplot object barplot showing gene frequencies per partition next explanatory line plots depicting partition.","code":""},{"path":"/reference/plot_partition_frequencies.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Plot a barplot of gene frequencies per expression partition — plot_partition_frequencies","text":"","code":"data(deg_list) partition_table <- expression_partitioning(deg_list) plot_partition_frequencies(partition_table)"},{"path":"/reference/plot_samplecor.html","id":null,"dir":"Reference","previous_headings":"","what":"Plot a heatmap of pairwise sample correlations with hierarchical clustering — plot_samplecor","title":"Plot a heatmap of pairwise sample correlations with hierarchical clustering — plot_samplecor","text":"Plot heatmap pairwise sample correlations hierarchical clustering","code":""},{"path":"/reference/plot_samplecor.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Plot a heatmap of pairwise sample correlations with hierarchical clustering — plot_samplecor","text":"","code":"plot_samplecor( se, coldata_cols = NULL, rowdata_cols = NULL, ntop = 500, cor_method = \"pearson\", palette = \"Blues\", ... )"},{"path":"/reference/plot_samplecor.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Plot a heatmap of pairwise sample correlations with hierarchical clustering — plot_samplecor","text":"se SummarizedExperiment object count matrix sample metadata colData slot. rowData slot available, can also used clustering rows. coldata_cols vector (either numeric character) indicating columns extracted colData(se). rowdata_cols vector (either numeric character) indicating columns extracted rowData(se). ntop Numeric indicating number top genes highest variances use PCA. Default: 500. cor_method Character indicating correlation method use. One \"pearson\" \"spearman\". Default: \"pearson\". palette Character indicating name color palette RColorBrewer package use. Default: \"Blues\". ... Additional arguments passed ComplexHeatmap::pheatmap(). arguments can used control heatmap aesthetics, show/hide row column names, change font size, activate/deactivate hierarchical clustering, etc. complete list options, see ?ComplexHeatmap::pheatmap().","code":""},{"path":"/reference/plot_samplecor.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Plot a heatmap of pairwise sample correlations with hierarchical clustering — plot_samplecor","text":"heatmap hierarchically clustered pairwise sample correlations.","code":""},{"path":"/reference/plot_samplecor.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Plot a heatmap of pairwise sample correlations with hierarchical clustering — plot_samplecor","text":"","code":"data(se_chlamy) se <- add_midparent_expression(se_chlamy) se$Ploidy[is.na(se$Ploidy)] <- \"midparent\" se$Generation[is.na(se$Generation)] <- \"midparent\" plot_samplecor(se, ntop = 500) #> converting counts to integer mode"},{"path":"/reference/se_chlamy.html","id":null,"dir":"Reference","previous_headings":"","what":"Expression data (in counts) for 3 Chlamydomonas lines (P1, P2, and F1) — se_chlamy","title":"Expression data (in counts) for 3 Chlamydomonas lines (P1, P2, and F1) — se_chlamy","text":"Two lines (referred parent 1 parent 2) different ploidy levels crossed generate allopolyploid (F1).","code":""},{"path":"/reference/se_chlamy.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Expression data (in counts) for 3 Chlamydomonas lines (P1, P2, and F1) — se_chlamy","text":"","code":"data(se_chlamy)"},{"path":"/reference/se_chlamy.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Expression data (in counts) for 3 Chlamydomonas lines (P1, P2, and F1) — se_chlamy","text":"SummarizedExperiment object assay (count) colData.","code":""},{"path":"/reference/se_chlamy.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Expression data (in counts) for 3 Chlamydomonas lines (P1, P2, and F1) — se_chlamy","text":"","code":"data(se_chlamy)"},{"path":"/news/index.html","id":"hybridexpress-0990","dir":"Changelog","previous_headings":"","what":"HybridExpress 0.99.0","title":"HybridExpress 0.99.0","text":"NEW FEATURES Added NEWS.md file track changes package.","code":""}] +[{"path":"/SUPPORT.html","id":null,"dir":"","previous_headings":"","what":"Getting help with HybridExpress","title":"Getting help with HybridExpress","text":"Thank using HybridExpress! filing issue, things know make process smooth possible parties.","code":""},{"path":"/SUPPORT.html","id":"make-a-reprex","dir":"","previous_headings":"","what":"Make a reprex","title":"Getting help with HybridExpress","text":"Start making minimally reproducible example, also known ‘reprex’. may use reprex R package create one, though necessary help. make R-question-asking endeavors easier. Learning use takes 5 10 minutes. tips make minimally reproducible example, see StackOverflow link.","code":""},{"path":"/SUPPORT.html","id":"where-to-post-it","dir":"","previous_headings":"","what":"Where to post it?","title":"Getting help with HybridExpress","text":"Bioconductor help web page gives overview places may help answer question. Bioconductor software related questions, bug reports feature requests, addressed appropriate Bioconductor/HybridExpress GitHub repository. Follow bug report feature request templates GitHub. package GitHub repository, see next bullet point. Bioconductor software usage questions addressed Bioconductor Support Website. Make sure use appropriate package tag, otherwise package authors get notification. General R questions can posed StackOverflow RStudio Community website especially pertain tidyverse RStudio GUI related products.","code":""},{"path":"/SUPPORT.html","id":"issues-or-feature-requests","dir":"","previous_headings":"","what":"Issues or Feature Requests","title":"Getting help with HybridExpress","text":"opening new issue feature request, sure search issues pull requests ensure one already exist implemented development version. Note. can remove :open search term issues page search open closed issues. See link learn modifying search.","code":""},{"path":"/SUPPORT.html","id":"what-happens-next","dir":"","previous_headings":"","what":"What happens next?","title":"Getting help with HybridExpress","text":"Bioconductor maintainers limited resources strive responsive possible. Please forget tag appropriate maintainer issue GitHub username (e.g., @username). order make easy possible Bioconductor core developers remediate issue. Provide accurate, brief, reproducible report outlined issue templates. Thank trusting Bioconductor.","code":""},{"path":"/articles/HybridExpress.html","id":"introduction","dir":"Articles","previous_headings":"","what":"Introduction","title":"Comparative transcriptomic analysis of hybrids and their progenitors","text":"formation hybrids fusion distinct genomes subsequent genome duplication cases allopolyploidy represents significant evolutionary event complex effects cellular biology, particularly gene expression. impact genome mergings duplications transcription remain incompletely understood. bridge gap, introduce HybridExpress, comprehensive package designed facilitate comparative transcriptomic analysis hybrids progenitor species. HybridExpress tailored RNA-Seq data derived ‘experimental trio’: hybrid organism two parental species. package offers suite intuitive functions enabling researchers perform differential expression analysis ease, generate principal component analysis (PCA) plots visualizing gene expression trends, categorize genes 12 distinct expression pattern groups (Rapp, Udall, Wendel (2009)), conduct -depth functional analyses. Acknowledging potential variability cell transcriptome size across species ploidy levels, HybridExpress incorporates features rigorous normalization count data. Specifically, allows integration spike-standards directly normalization process, ensuring accurate transcriptome size adjustments standards present RNA-Seq count data (see full methodology Coate (2023)). offering capabilities, HybridExpress provides robust toolset unraveling intricate effects genome doubling merging hybrid gene expression, paving way novel insights cellular biology hybrid organisms.","code":""},{"path":"/articles/HybridExpress.html","id":"installation","dir":"Articles","previous_headings":"","what":"Installation","title":"Comparative transcriptomic analysis of hybrids and their progenitors","text":"HybridExpress can installed Bioconductor following code:","code":"if(!requireNamespace('BiocManager', quietly = TRUE)) install.packages('BiocManager') BiocManager::install(\"HybridExpress\") # Load package after installation library(HybridExpress) set.seed(123) # for reproducibility"},{"path":"/articles/HybridExpress.html","id":"data-description","dir":"Articles","previous_headings":"","what":"Data description","title":"Comparative transcriptomic analysis of hybrids and their progenitors","text":"vignette, use example data set comprises (unpublished) gene expression data (counts) Chlamydomonas reinhardtii. lab, crossed diploid line C. reinhardtii (hereafter “P1”) haploid line (hereafter “P2”), thus generating triploid line merging two parental genomes. count matrix sample metadata stored SummarizedExperiment objects, standard Bioconductor data structure required HybridExpress. instructions create SummarizedExperiment object, check FAQ section vignette. Let’s load example data take quick look : can see, count matrix contains 13058 genes 18 samples, 6 replicates parent 1 (P1, diploid), 6 replicates parent 2 (P2, haploid), 6 replicates progeny (F1, triploid).","code":"library(SummarizedExperiment) # Load data data(se_chlamy) # Inspect the `SummarizedExperiment` object se_chlamy #> class: SummarizedExperiment #> dim: 13058 18 #> metadata(0): #> assays(1): counts #> rownames(13058): Cre01.g000050 Cre01.g000150 ... ERCC-00170 ERCC-00171 #> rowData names(0): #> colnames(18): S1 S2 ... S17 S18 #> colData names(2): Ploidy Generation ## Take a look at the colData and count matrix colData(se_chlamy) #> DataFrame with 18 rows and 2 columns #> Ploidy Generation #> #> S1 diploid P1 #> S2 diploid P1 #> S3 diploid P1 #> S4 diploid P1 #> S5 diploid P1 #> ... ... ... #> S14 triploid F1 #> S15 triploid F1 #> S16 triploid F1 #> S17 triploid F1 #> S18 triploid F1 assay(se_chlamy) |> head() #> S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 S11 S12 S13 S14 #> Cre01.g000050 31 21 26 33 19 48 17 6 13 6 10 7 31 22 #> Cre01.g000150 50 29 35 99 11 58 51 46 41 33 28 14 53 25 #> Cre01.g000200 36 26 24 29 17 36 14 15 12 8 14 7 25 24 #> Cre01.g000250 440 272 394 332 283 585 272 274 255 160 225 235 405 391 #> Cre01.g000300 1242 839 1216 1251 811 1785 1341 1306 1122 877 844 1082 1704 1739 #> Cre01.g000350 412 264 294 336 252 478 233 221 195 155 190 201 299 272 #> S15 S16 S17 S18 #> Cre01.g000050 29 22 21 16 #> Cre01.g000150 37 17 24 21 #> Cre01.g000200 24 26 18 21 #> Cre01.g000250 358 339 340 332 #> Cre01.g000300 1524 1720 1517 1243 #> Cre01.g000350 276 324 246 275 table(se_chlamy$Ploidy, se_chlamy$Generation) #> #> F1 P1 P2 #> diploid 0 6 0 #> haploid 0 0 6 #> triploid 6 0 0"},{"path":"/articles/HybridExpress.html","id":"adding-midparent-expression-values","dir":"Articles","previous_headings":"","what":"Adding midparent expression values","title":"Comparative transcriptomic analysis of hybrids and their progenitors","text":"First , ’d want add count matrix silico samples contain expression values midparent. can done function add_midparent_expression(), takes random sample pair (one sample parent, sampling without replacement) calculates midparent expression value one three ways: Mean (default): get mean expression two samples. Sum: get sum two samples. Weighted mean: get weighted mean two samples multiplying expression value parent weight. Typically, can used two parents different ploidy levels, weights correspond ploidy level parent. function, besides specifying method obtain midparent expression values (.e., “mean”, “sum”, “weightedmean”), users must also specify name column colData contains information generations (default: “Generation”), well levels corresponding parent (default: “P1” “P2” parents 1 2, respectively). proceed analyses midparent expression values obtained mean counts, stored se object.","code":"# Add midparent expression using the mean of the counts se <- add_midparent_expression(se_chlamy) head(assay(se)) #> S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 S11 S12 S13 S14 #> Cre01.g000050 31 21 26 33 19 48 17 6 13 6 10 7 31 22 #> Cre01.g000150 50 29 35 99 11 58 51 46 41 33 28 14 53 25 #> Cre01.g000200 36 26 24 29 17 36 14 15 12 8 14 7 25 24 #> Cre01.g000250 440 272 394 332 283 585 272 274 255 160 225 235 405 391 #> Cre01.g000300 1242 839 1216 1251 811 1785 1341 1306 1122 877 844 1082 1704 1739 #> Cre01.g000350 412 264 294 336 252 478 233 221 195 155 190 201 299 272 #> S15 S16 S17 S18 midparent1 midparent2 midparent3 midparent4 #> Cre01.g000050 29 22 21 16 18 27 14 20 #> Cre01.g000150 37 17 24 21 32 46 38 56 #> Cre01.g000200 24 26 18 21 19 22 20 18 #> Cre01.g000250 358 339 340 332 310 372 273 284 #> Cre01.g000300 1524 1720 1517 1243 1030 1331 1072 1166 #> Cre01.g000350 276 324 246 275 242 316 242 268 #> midparent5 midparent6 #> Cre01.g000050 18 22 #> Cre01.g000150 31 46 #> Cre01.g000200 16 24 #> Cre01.g000250 278 348 #> Cre01.g000300 1076 1182 #> Cre01.g000350 242 304 # Alternative 1: using the sum of the counts add_midparent_expression(se_chlamy, method = \"sum\") |> assay() |> head() #> S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 S11 S12 S13 S14 #> Cre01.g000050 31 21 26 33 19 48 17 6 13 6 10 7 31 22 #> Cre01.g000150 50 29 35 99 11 58 51 46 41 33 28 14 53 25 #> Cre01.g000200 36 26 24 29 17 36 14 15 12 8 14 7 25 24 #> Cre01.g000250 440 272 394 332 283 585 272 274 255 160 225 235 405 391 #> Cre01.g000300 1242 839 1216 1251 811 1785 1341 1306 1122 877 844 1082 1704 1739 #> Cre01.g000350 412 264 294 336 252 478 233 221 195 155 190 201 299 272 #> S15 S16 S17 S18 midparent1 midparent2 midparent3 midparent4 #> Cre01.g000050 29 22 21 16 43 26 58 46 #> Cre01.g000150 37 17 24 21 86 25 86 140 #> Cre01.g000200 24 26 18 21 38 24 50 41 #> Cre01.g000250 358 339 340 332 666 518 810 587 #> Cre01.g000300 1524 1720 1517 1243 2557 1893 2629 2373 #> Cre01.g000350 276 324 246 275 527 453 668 531 #> midparent5 midparent6 #> Cre01.g000050 37 27 #> Cre01.g000150 96 62 #> Cre01.g000200 51 34 #> Cre01.g000250 714 432 #> Cre01.g000300 2548 1716 #> Cre01.g000350 633 419 # Alternative 2: using the weighted mean of the counts (weights = ploidy) w <- c(2, 1) # P1 = diploid; P2 = haploid add_midparent_expression(se_chlamy, method = \"weightedmean\", weights = w) |> assay() |> head() #> S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 S11 S12 S13 S14 #> Cre01.g000050 31 21 26 33 19 48 17 6 13 6 10 7 31 22 #> Cre01.g000150 50 29 35 99 11 58 51 46 41 33 28 14 53 25 #> Cre01.g000200 36 26 24 29 17 36 14 15 12 8 14 7 25 24 #> Cre01.g000250 440 272 394 332 283 585 272 274 255 160 225 235 405 391 #> Cre01.g000300 1242 839 1216 1251 811 1785 1341 1306 1122 877 844 1082 1704 1739 #> Cre01.g000350 412 264 294 336 252 478 233 221 195 155 190 201 299 272 #> S15 S16 S17 S18 midparent1 midparent2 midparent3 midparent4 #> Cre01.g000050 29 22 21 16 25 29 39 22 #> Cre01.g000150 37 17 24 21 27 30 29 16 #> Cre01.g000200 24 26 18 21 27 32 33 21 #> Cre01.g000250 358 339 340 332 181 232 270 210 #> Cre01.g000300 1524 1720 1517 1243 1453 1576 1753 1532 #> Cre01.g000350 276 324 246 275 166 202 223 165 #> midparent5 midparent6 #> Cre01.g000050 26 17 #> Cre01.g000150 48 15 #> Cre01.g000200 29 17 #> Cre01.g000250 202 148 #> Cre01.g000300 1705 1125 #> Cre01.g000350 186 136"},{"path":"/articles/HybridExpress.html","id":"exploratory-data-analyses","dir":"Articles","previous_headings":"","what":"Exploratory data analyses","title":"Comparative transcriptomic analysis of hybrids and their progenitors","text":"Next, can perform exploratory analyses sample clustering verify samples group expected. HybridExpress, can performed using two functions: pca_plot(): creates principal component analysis (PCA) plots, colors shapes (optional) mapped levels colData variables; plot_samplecor(): plots heatmap hierarchically clustered pairwise sample correlations. Let’s start PCA plot: plot , data point corresponds sample, colors shapes mapped levels variables specified arguments color_by shape_by, respectively. Besides, specifying add_mean = TRUE, added diamond shape indicating mean PC coordinates based variable color_by (, “Generation”). Now, let’s plot heatmap sample correlations: can see samples group well together PCA plot correlation heatmap. note, pca_plot() plot_samplecor() use top 500 genes highest variances create plot. genes low variances (.e., genes vary much across samples) uninformative typically add noise. can change number (use less genes) ntop argument functions.","code":"# For colData rows with missing values (midparent samples), add \"midparent\" se$Ploidy[is.na(se$Ploidy)] <- \"midparent\" se$Generation[is.na(se$Generation)] <- \"midparent\" # Create PCA plot pca_plot(se, color_by = \"Generation\", shape_by = \"Ploidy\", add_mean = TRUE) #> converting counts to integer mode # Plot a heatmap of sample correlations plot_samplecor(se) #> converting counts to integer mode"},{"path":"/articles/HybridExpress.html","id":"identifying-differentially-expressed-genes-between-hybrids-and-their-parents","dir":"Articles","previous_headings":"","what":"Identifying differentially expressed genes between hybrids and their parents","title":"Comparative transcriptomic analysis of hybrids and their progenitors","text":"compare gene expression levels hybrids progenitor species, can use function get_deg_list(). function performs differential expression analyses using DESeq2 returns list data frames gene-wise test statistics following contrasts: P2_vs_P1: parent 2 (numerator) versus parent 1 (denominator). F1_vs_P1: hybrid (numerator) versus parent 1 (denominator). F1_vs_P2: hybrid (numerator) versus parent 2 (denominator). F1_vs_midparent: hybrid (numerator) vs midparent (denominator). default, count data normalized library size using standard normalization process DESeq2. However, spike-standards included count matrix, can use normalization setting spikein_norm = TRUE specifying pattern used indicate rows contain spike-ins (usually start ERCC)1. example data set, spike-standards available last rows count matrix. Now, use get_deg_list() get differentially expressed genes (DEGs) contrast using spike-normalization. summarize frequencies - -regulated genes per contrast single data frame, use function get_deg_counts(). important note columns perc_up, perc_down, perc_total show percentages -regulated, -regulated, differentially expressed genes relative total number genes count matrix. total number genes count matrix stored ngenes attribute list returned get_deg_list(): However, since count matrix usually include genes genome (e.g., lowly expressed genes genes low variance usually filtered ), percentages perc_up, perc_down, perc_total relative total number genes genome. use total number genes genome reference, need update ngenes attribute DEG list appropriate number follows: , can run get_deg_counts() get percentages relative total number genes genome. Finally, can summarize everything single publication-ready figure using plot plot_expression_triangle(), shows ‘experimental trio’ (.e., hybrid progenitors) triangle, frequencies DEGs indicated. figure commonly used publications, inspired Rapp, Udall, Wendel (2009). edge (line), numbers middle (bold) indicate frequency DEGs, numbers ends (close boxes) indicate frequency -regulated genes generation. instance, figure shows , contrast F1 P1, 5476 DEGs (32.4% genome), 1471 -regulated F1, 4005 -regulated P1. custom figure, can also specify color palette labels boxes. example:","code":"# Show last rows of the count matrix assay(se) |> tail() #> S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 S11 S12 S13 #> ERCC-00163 74 75 55 77 51 84 132 127 93 108 79 102 66 #> ERCC-00164 0 4 0 1 4 1 6 4 1 4 3 2 5 #> ERCC-00165 147 139 87 165 118 179 236 246 139 218 176 145 118 #> ERCC-00168 2 5 2 2 2 6 5 1 1 5 0 3 4 #> ERCC-00170 97 95 73 101 70 118 186 148 110 167 110 103 72 #> ERCC-00171 4644 4959 3554 5357 4170 5946 8207 7915 4992 7843 6455 5884 4537 #> S14 S15 S16 S17 S18 midparent1 midparent2 midparent3 midparent4 #> ERCC-00163 67 62 80 88 47 67 96 101 90 #> ERCC-00164 4 3 5 4 2 2 2 4 2 #> ERCC-00165 143 115 185 192 136 132 198 192 155 #> ERCC-00168 6 2 11 5 2 1 6 3 2 #> ERCC-00170 99 64 121 103 84 92 142 122 102 #> ERCC-00171 5665 4598 6168 5771 4747 5004 6894 6437 5620 #> midparent5 midparent6 #> ERCC-00163 92 84 #> ERCC-00164 5 0 #> ERCC-00165 177 143 #> ERCC-00168 4 2 #> ERCC-00170 128 104 #> ERCC-00171 6188 4818 # Get a list of differentially expressed genes for each contrast deg_list <- get_deg_list(se, spikein_norm = TRUE, spikein_pattern = \"ERCC\") #> converting counts to integer mode #> using pre-existing size factors #> estimating dispersions #> gene-wise dispersion estimates #> mean-dispersion relationship #> final dispersion estimates #> fitting model and testing # Inspecting the output ## Getting contrast names names(deg_list) #> [1] \"P2_vs_P1\" \"F1_vs_P1\" \"F1_vs_P2\" \"F1_vs_midparent\" ## Accessing gene-wise test statistics for contrast `F1_vs_P1` head(deg_list$F1_vs_P1) #> baseMean log2FoldChange lfcSE stat pvalue #> Cre01.g000450 39.59273 -1.1632346 0.2165407 -5.371898 7.791211e-08 #> Cre01.g000750 103.10296 0.8807307 0.1842856 4.779162 1.760270e-06 #> Cre01.g000900 471.44084 0.6807925 0.1980730 3.437079 5.880239e-04 #> Cre01.g001000 10.34574 -6.6304915 0.9631384 -6.884256 5.809030e-12 #> Cre01.g001100 453.87151 -0.6457115 0.1506903 -4.285025 1.827187e-05 #> Cre01.g001200 159.03643 0.7231060 0.1946090 3.715685 2.026536e-04 #> padj #> Cre01.g000450 4.653531e-07 #> Cre01.g000750 8.329159e-06 #> Cre01.g000900 1.707442e-03 #> Cre01.g001000 6.659069e-11 #> Cre01.g001100 7.200448e-05 #> Cre01.g001200 6.453951e-04 ## Counting the number of DEGs per contrast sapply(deg_list, nrow) #> P2_vs_P1 F1_vs_P1 F1_vs_P2 F1_vs_midparent #> 8698 5476 7350 4348 # Get a data frame with DEG frequencies for each contrast deg_counts <- get_deg_counts(deg_list) deg_counts #> contrast up down total perc_up perc_down perc_total #> 1 P2_vs_P1 828 7870 8698 6.4 60.7 67.1 #> 2 F1_vs_P1 1471 4005 5476 11.3 30.9 42.2 #> 3 F1_vs_P2 6487 863 7350 50.0 6.7 56.7 #> 4 F1_vs_midparent 2620 1728 4348 20.2 13.3 33.5 attributes(deg_list)$ngenes #> [1] 12966 # Total number of genes in the C. reinhardtii genome (v6.1): 16883 attributes(deg_list)$ngenes <- 16883 deg_counts <- get_deg_counts(deg_list) deg_counts #> contrast up down total perc_up perc_down perc_total #> 1 P2_vs_P1 828 7870 8698 4.9 46.6 51.5 #> 2 F1_vs_P1 1471 4005 5476 8.7 23.7 32.4 #> 3 F1_vs_P2 6487 863 7350 38.4 5.1 43.5 #> 4 F1_vs_midparent 2620 1728 4348 15.5 10.2 25.8 # Plot expression triangle plot_expression_triangle(deg_counts) # Create vectors (length 4) of colors and box labels pal <- c(\"springgreen4\", \"darkorange3\", \"mediumpurple4\", \"mediumpurple3\") labels <- c(\"Parent 1\\n(2n)\", \"Parent 2\\n(n)\", \"Progeny\\n(3n)\", \"Midparent\") plot_expression_triangle(deg_counts, palette = pal, box_labels = labels)"},{"path":"/articles/HybridExpress.html","id":"expression-based-gene-classification","dir":"Articles","previous_headings":"","what":"Expression-based gene classification","title":"Comparative transcriptomic analysis of hybrids and their progenitors","text":"identifying DEGs different contrasts, ’d typically want classify genes expression partitions based expression patterns. can performed function expression_partitioning(), classifies genes one 12 categories Rapp, Udall, Wendel (2009), 5 major classes summarize 12 categories. five classes : Transgressive -regulation (): gene -regulated hybrid compared parents. Transgressive -regulation (): gene -regulated hybrid compared parents. Additivity (ADD): gene expression hybrid mean parents (additive effect). Expression-level dominance toward parent 1 (ELD_P1): gene expression hybrid parent 1, different parent 2. Expression-level dominance toward parent 2 (ELD_P2): gene expression hybrid parent 2, different parent 1. visualize expression partitions scatter plot expression divergences, can use function plot_expression_partitions(). default, genes grouped Category. However, can also group genes Class follows: can also visualize frequencies genes partition function plot_partition_frequencies().","code":"# Classify genes in expression partitions exp_partitions <- expression_partitioning(deg_list) # Inspect the output head(exp_partitions) #> Gene Category Class lFC_F1_vs_P1 lFC_F1_vs_P2 #> 1 Cre01.g003650 1 ADD 0.7838125 -1.0484464 #> 2 Cre01.g005150 1 ADD 1.0473362 -0.5041601 #> 3 Cre01.g008600 1 ADD 5.0518384 -1.4840829 #> 4 Cre01.g013500 1 ADD 2.1099265 -1.5329846 #> 5 Cre01.g034850 1 ADD 1.5838851 -0.7611868 #> 6 Cre01.g800005 1 ADD 1.4928449 -0.9315119 # Count number of genes per category table(exp_partitions$Category) #> #> 1 2 3 4 5 6 7 8 9 10 11 12 #> 70 262 66 3283 77 287 214 651 280 147 1760 1666 # Count number of genes per class table(exp_partitions$Class) #> #> UP DOWN ADD ELD_P1 ELD_P2 #> 1015 427 1736 3563 2022 # Plot partitions as a scatter plot of divergences plot_expression_partitions(exp_partitions, group_by = \"Category\") # Group by `Class` plot_expression_partitions(exp_partitions, group_by = \"Class\") # Visualize frequency of genes in each partition ## By `Category` (default) plot_partition_frequencies(exp_partitions) ## By `Class` plot_partition_frequencies(exp_partitions, group_by = \"Class\")"},{"path":"/articles/HybridExpress.html","id":"overrepresentation-analysis-of-functional-terms","dir":"Articles","previous_headings":"","what":"Overrepresentation analysis of functional terms","title":"Comparative transcriptomic analysis of hybrids and their progenitors","text":"Lastly, ’d want explore whether gene sets interest (e.g., -regulated genes contrast) enriched particular GO term, pathway, protein domain, etc. , use function ora(), performs overrepresentation analysis gene set given data frame functional annotation gene. , use example data set GO annotation C. reinhardtii genes. data set illustrates annotation data frame must shaped: gene ID first column, functional annotations columns. demonstrate usage ora(), let’s check can find enrichment GO term among genes assigned class “ADD”.","code":"# Load example functional annotation (GO terms) data(go_chlamy) head(go_chlamy) #> gene GO #> 1 Cre01.g000050 #> 2 Cre01.g000100 #> 3 Cre01.g000150 membrane #> 4 Cre01.g000150 metal ion transport #> 5 Cre01.g000150 metal ion transmembrane transporter activity #> 6 Cre01.g000150 transmembrane transport # Get a vector of genes in class \"ADD\" genes_add <- exp_partitions$Gene[exp_partitions$Class == \"ADD\"] head(genes_add) #> [1] \"Cre01.g003650\" \"Cre01.g005150\" \"Cre01.g008600\" \"Cre01.g013500\" #> [5] \"Cre01.g034850\" \"Cre01.g800005\" # Get background genes - genes in the count matrix bg <- rownames(se) # Perform overrepresentation analysis ora_add <- ora(genes_add, go_chlamy, background = bg) # Inspect results head(ora_add) #> term genes all pval #> 20 aminoacyl-tRNA ligase activity 14 33 3.517366e-05 #> 84 cytoplasm 43 151 6.083978e-07 #> 97 DNA replication 17 37 1.331552e-06 #> 114 endopeptidase activity 6 10 7.118363e-04 #> 115 endoplasmic reticulum 9 17 1.128774e-04 #> 118 eukaryotic translation initiation factor 3 complex 7 9 2.044325e-05 #> padj category #> 20 1.629713e-03 GO #> 84 6.342547e-05 GO #> 97 1.110515e-04 GO #> 114 2.120255e-02 GO #> 115 4.706990e-03 GO #> 118 1.217834e-03 GO"},{"path":"/articles/HybridExpress.html","id":"example-1-overrepresentation-analyses-for-all-expression-based-classes","dir":"Articles","previous_headings":"Overrepresentation analysis of functional terms","what":"Example 1: overrepresentation analyses for all expression-based classes","title":"Comparative transcriptomic analysis of hybrids and their progenitors","text":"example , performed overrepresentation analysis genes associated class “ADD”. wanted classes? case, run ora() multiple times looping class. details, following: class, create vector genes associated ; Run ora() get data frame ORA results. can find example using lapply(). Results class stored elements list object. expression-based category (class), ’d need replace Class Category split() function (see example ).","code":"# Create a list of genes in each class genes_by_class <- split(exp_partitions$Gene, exp_partitions$Class) names(genes_by_class) #> [1] \"UP\" \"DOWN\" \"ADD\" \"ELD_P1\" \"ELD_P2\" head(genes_by_class$UP) #> [1] \"Cre01.g029250\" \"Cre01.g034380\" \"Cre01.g036700\" \"Cre01.g049400\" #> [5] \"Cre02.g085500\" \"Cre02.g087150\" # Iterate through each class and perform ORA ora_classes <- lapply( genes_by_class, # list through which we will iterate ora, # function we will apply to each element of the list annotation = go_chlamy, background = bg # additional arguments to function ) # Inspect output ora_classes #> $UP #> term genes all pval padj #> 29 ATP hydrolysis activity 21 119 3.074727e-04 0.0427387078 #> 109 dynein complex 8 13 1.172717e-06 0.0004890231 #> 127 flavin adenine dinucleotide binding 11 42 2.687071e-04 0.0427387078 #> category #> 29 GO #> 109 GO #> 127 GO #> #> $DOWN #> term genes all pval padj #> 242 oxidoreductase activity 21 274 2.668754e-04 2.225741e-02 #> 271 photosynthesis 13 58 3.367873e-08 7.022015e-06 #> 272 photosynthesis, light harvesting 18 24 1.444312e-22 6.022782e-20 #> 276 photosystem I 5 15 8.360388e-05 8.715704e-03 #> 376 tetrapyrrole biosynthetic process 5 8 1.885876e-06 2.621368e-04 #> category #> 242 GO #> 271 GO #> 272 GO #> 276 GO #> 376 GO #> #> $ADD #> term #> 20 aminoacyl-tRNA ligase activity #> 84 cytoplasm #> 97 DNA replication #> 114 endopeptidase activity #> 115 endoplasmic reticulum #> 118 eukaryotic translation initiation factor 3 complex #> 165 intracellular protein transport #> 227 nuclear pore #> 250 oxidoreductase activity, acting on the CH-OH group of donors, NAD or NADP as acceptor #> 284 prefoldin complex #> 287 proteasome core complex #> 293 protein folding #> 294 protein glycosylation #> 304 protein refolding #> 390 translation initiation factor activity #> 410 unfolded protein binding #> 414 vesicle-mediated transport #> genes all pval padj category #> 20 14 33 3.517366e-05 1.629713e-03 GO #> 84 43 151 6.083978e-07 6.342547e-05 GO #> 97 17 37 1.331552e-06 1.110515e-04 GO #> 114 6 10 7.118363e-04 2.120255e-02 GO #> 115 9 17 1.128774e-04 4.706990e-03 GO #> 118 7 9 2.044325e-05 1.217834e-03 GO #> 165 25 73 3.907713e-06 2.715861e-04 GO #> 227 6 9 3.209008e-04 1.115130e-02 GO #> 250 10 27 1.647170e-03 4.292937e-02 GO #> 284 4 4 3.114510e-04 1.115130e-02 GO #> 287 9 15 2.987692e-05 1.557334e-03 GO #> 293 29 81 2.288079e-07 3.180430e-05 GO #> 294 6 10 7.118363e-04 2.120255e-02 GO #> 304 10 10 1.686356e-09 7.032106e-07 GO #> 390 9 21 8.277887e-04 2.301252e-02 GO #> 410 19 38 5.773438e-08 1.203762e-05 GO #> 414 13 41 1.832917e-03 4.496037e-02 GO #> #> $ELD_P1 #> term genes all pval padj category #> 38 binding 88 208 1.818832e-06 0.0007584527 GO #> 239 nucleus 77 193 8.891683e-05 0.0185391599 GO #> 345 rRNA processing 15 24 3.183647e-04 0.0442526890 GO #> #> $ELD_P2 #> term genes all #> 28 aspartic-type endopeptidase activity 6 8 #> 170 iron ion binding 30 93 #> 242 oxidoreductase activity 71 274 #> 271 photosynthesis 26 58 #> 278 photosystem II 17 32 #> 320 proton-transporting two-sector ATPase complex, catalytic domain 6 8 #> pval padj category #> 28 2.888758e-04 2.007687e-02 GO #> 170 3.997247e-05 4.167130e-03 GO #> 242 4.722014e-06 6.563600e-04 GO #> 271 1.031130e-07 4.299811e-05 GO #> 278 8.669007e-07 1.807488e-04 GO #> 320 2.888758e-04 2.007687e-02 GO"},{"path":"/articles/HybridExpress.html","id":"example-2-overrepresentation-analyses-for-differentially-expressed-genes","dir":"Articles","previous_headings":"Overrepresentation analysis of functional terms","what":"Example 2: overrepresentation analyses for differentially expressed genes","title":"Comparative transcriptomic analysis of hybrids and their progenitors","text":"can use lapply() loop expression class, can also loop contrast list returned get_deg_list(), perform ORA - -regulated genes. can find example: Likewise, -regulated genes, need replace > symbol < symbol anonymous function subset rows.","code":"# Get up-regulated genes for each contrast up_genes <- lapply(deg_list, function(x) rownames(x[x$log2FoldChange > 0, ])) names(up_genes) #> [1] \"P2_vs_P1\" \"F1_vs_P1\" \"F1_vs_P2\" \"F1_vs_midparent\" head(up_genes$F1_vs_P1) #> [1] \"Cre01.g000750\" \"Cre01.g000900\" \"Cre01.g001200\" \"Cre01.g002750\" #> [5] \"Cre01.g003524\" \"Cre01.g003650\" # Perform ORA ora_up <- lapply( up_genes, ora, annotation = go_chlamy, background = bg ) ora_up #> $P2_vs_P1 #> [1] term genes all pval padj category #> <0 rows> (or 0-length row.names) #> #> $F1_vs_P1 #> term genes all pval padj category #> 109 dynein complex 8 13 1.944536e-05 0.008108715 GO #> #> $F1_vs_P2 #> term genes all pval #> 38 binding 138 208 7.344020e-07 #> 96 DNA repair 56 83 7.655167e-04 #> 144 GTP binding 72 111 8.525066e-04 #> 169 ion transport 33 45 1.048368e-03 #> 209 microtubule-based process 10 10 9.123368e-04 #> 239 nucleus 125 193 1.471530e-05 #> 303 protein polymerization 10 10 9.123368e-04 #> 304 protein refolding 10 10 9.123368e-04 #> 307 protein serine/threonine phosphatase activity 20 24 6.876258e-04 #> 338 RNA binding 101 157 1.388743e-04 #> 384 transcription, DNA-templated 28 36 5.139935e-04 #> padj category #> 38 0.0003062456 GO #> 96 0.0380444450 GO #> 144 0.0380444450 GO #> 169 0.0397426775 GO #> 209 0.0380444450 GO #> 239 0.0030681409 GO #> 303 0.0380444450 GO #> 304 0.0380444450 GO #> 307 0.0380444450 GO #> 338 0.0193035210 GO #> 384 0.0380444450 GO #> #> $F1_vs_midparent #> term genes all pval #> 80 cyclic nucleotide biosynthetic process 38 108 1.704386e-04 #> 109 dynein complex 9 13 1.689230e-04 #> 166 intracellular signal transduction 38 110 2.618073e-04 #> 168 ion channel activity 20 48 5.098878e-04 #> 169 ion transport 21 45 5.169533e-05 #> 290 protein dephosphorylation 21 44 3.395214e-05 #> 307 protein serine/threonine phosphatase activity 15 24 6.787504e-06 #> padj category #> 80 0.014214579 GO #> 109 0.014214579 GO #> 166 0.018195605 GO #> 168 0.030374745 GO #> 169 0.007185651 GO #> 290 0.007079020 GO #> 307 0.002830389 GO"},{"path":"/articles/HybridExpress.html","id":"faq","dir":"Articles","previous_headings":"","what":"FAQ","title":"Comparative transcriptomic analysis of hybrids and their progenitors","text":"create SummarizedExperiment object? SummarizedExperiment data structure (S4 class) can used store, single object, following elements: assay: quantitative matrix features rows samples columns. context HybridExpress, gene expression matrix (counts) genes rows samples columns. colData: data frame sample metadata samples rows variables describe samples (e.g., tissue, treatment, covariates) columns. rowData: data frame gene metadata genes rows variables describe genes (e.g., chromosome name, alternative IDs, functional information, etc) columns. package, must assay containing count matrix colData slot sample metadata. rowData can present, required. demonstrate create SummarizedExperiment object, extract assay colData example object se_chlamy comes package. two objects, can create SummarizedExperiment object : details data structure, read vignette SummarizedExperiment package.","code":"# Get count matrix count_matrix <- assay(se_chlamy) head(count_matrix) #> S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 S11 S12 S13 S14 #> Cre01.g000050 31 21 26 33 19 48 17 6 13 6 10 7 31 22 #> Cre01.g000150 50 29 35 99 11 58 51 46 41 33 28 14 53 25 #> Cre01.g000200 36 26 24 29 17 36 14 15 12 8 14 7 25 24 #> Cre01.g000250 440 272 394 332 283 585 272 274 255 160 225 235 405 391 #> Cre01.g000300 1242 839 1216 1251 811 1785 1341 1306 1122 877 844 1082 1704 1739 #> Cre01.g000350 412 264 294 336 252 478 233 221 195 155 190 201 299 272 #> S15 S16 S17 S18 #> Cre01.g000050 29 22 21 16 #> Cre01.g000150 37 17 24 21 #> Cre01.g000200 24 26 18 21 #> Cre01.g000250 358 339 340 332 #> Cre01.g000300 1524 1720 1517 1243 #> Cre01.g000350 276 324 246 275 # Get colData (data frame of sample metadata) coldata <- colData(se_chlamy) head(coldata) #> DataFrame with 6 rows and 2 columns #> Ploidy Generation #> #> S1 diploid P1 #> S2 diploid P1 #> S3 diploid P1 #> S4 diploid P1 #> S5 diploid P1 #> S6 diploid P1 # Create a SummarizedExperiment object new_se <- SummarizedExperiment( assays = list(counts = count_matrix), colData = coldata ) new_se #> class: SummarizedExperiment #> dim: 13058 18 #> metadata(0): #> assays(1): counts #> rownames(13058): Cre01.g000050 Cre01.g000150 ... ERCC-00170 ERCC-00171 #> rowData names(0): #> colnames(18): S1 S2 ... S17 S18 #> colData names(2): Ploidy Generation"},{"path":"/articles/HybridExpress.html","id":"session-information","dir":"Articles","previous_headings":"","what":"Session information","title":"Comparative transcriptomic analysis of hybrids and their progenitors","text":"document created following conditions:","code":"#> ─ Session info ─────────────────────────────────────────────────────────────── #> setting value #> version R Under development (unstable) (2023-11-22 r85609) #> os Ubuntu 22.04.3 LTS #> system x86_64, linux-gnu #> ui X11 #> language en #> collate en_US.UTF-8 #> ctype en_US.UTF-8 #> tz UTC #> date 2023-11-28 #> pandoc 3.1.1 @ /usr/local/bin/ (via rmarkdown) #> #> ─ Packages ─────────────────────────────────────────────────────────────────── #> package * version date (UTC) lib source #> abind 1.4-5 2016-07-21 [1] CRAN (R 4.4.0) #> Biobase * 2.63.0 2023-10-24 [1] Bioconductor #> BiocGenerics * 0.49.1 2023-11-01 [1] Bioconductor #> BiocManager 1.30.22 2023-08-08 [1] CRAN (R 4.4.0) #> BiocParallel 1.37.0 2023-10-24 [1] Bioconductor #> BiocStyle * 2.31.0 2023-10-24 [1] Bioconductor #> bitops 1.0-7 2021-04-24 [1] CRAN (R 4.4.0) #> bookdown 0.36 2023-10-16 [1] CRAN (R 4.4.0) #> bslib 0.6.0 2023-11-21 [2] CRAN (R 4.4.0) #> cachem 1.0.8 2023-05-01 [2] CRAN (R 4.4.0) #> circlize 0.4.15 2022-05-10 [1] CRAN (R 4.4.0) #> cli 3.6.1 2023-03-23 [2] CRAN (R 4.4.0) #> clue 0.3-65 2023-09-23 [1] CRAN (R 4.4.0) #> cluster 2.1.4 2022-08-22 [3] CRAN (R 4.4.0) #> codetools 0.2-19 2023-02-01 [3] CRAN (R 4.4.0) #> colorspace 2.1-0 2023-01-23 [1] CRAN (R 4.4.0) #> ComplexHeatmap 2.19.0 2023-10-24 [1] Bioconductor #> crayon 1.5.2 2022-09-29 [2] CRAN (R 4.4.0) #> DelayedArray 0.29.0 2023-10-24 [1] Bioconductor #> desc 1.4.2 2022-09-08 [2] CRAN (R 4.4.0) #> DESeq2 1.43.1 2023-11-14 [1] Bioconductor #> digest 0.6.33 2023-07-07 [2] CRAN (R 4.4.0) #> doParallel 1.0.17 2022-02-07 [1] CRAN (R 4.4.0) #> dplyr 1.1.4 2023-11-17 [1] CRAN (R 4.4.0) #> evaluate 0.23 2023-11-01 [2] CRAN (R 4.4.0) #> fansi 1.0.5 2023-10-08 [2] CRAN (R 4.4.0) #> farver 2.1.1 2022-07-06 [1] CRAN (R 4.4.0) #> fastmap 1.1.1 2023-02-24 [2] CRAN (R 4.4.0) #> foreach 1.5.2 2022-02-02 [1] CRAN (R 4.4.0) #> fs 1.6.3 2023-07-20 [2] CRAN (R 4.4.0) #> generics 0.1.3 2022-07-05 [1] CRAN (R 4.4.0) #> GenomeInfoDb * 1.39.1 2023-11-08 [1] Bioconductor #> GenomeInfoDbData 1.2.11 2023-11-28 [1] Bioconductor #> GenomicRanges * 1.55.1 2023-10-29 [1] Bioconductor #> GetoptLong 1.0.5 2020-12-15 [1] CRAN (R 4.4.0) #> ggplot2 3.4.4 2023-10-12 [1] CRAN (R 4.4.0) #> GlobalOptions 0.1.2 2020-06-10 [1] CRAN (R 4.4.0) #> glue 1.6.2 2022-02-24 [2] CRAN (R 4.4.0) #> gtable 0.3.4 2023-08-21 [1] CRAN (R 4.4.0) #> highr 0.10 2022-12-22 [2] CRAN (R 4.4.0) #> htmltools 0.5.7 2023-11-03 [2] CRAN (R 4.4.0) #> HybridExpress * 0.99.0 2023-11-28 [1] Bioconductor #> IRanges * 2.37.0 2023-10-24 [1] Bioconductor #> iterators 1.0.14 2022-02-05 [1] CRAN (R 4.4.0) #> jquerylib 0.1.4 2021-04-26 [2] CRAN (R 4.4.0) #> jsonlite 1.8.7 2023-06-29 [2] CRAN (R 4.4.0) #> knitr 1.45 2023-10-30 [2] CRAN (R 4.4.0) #> labeling 0.4.3 2023-08-29 [1] CRAN (R 4.4.0) #> lattice 0.22-5 2023-10-24 [3] CRAN (R 4.4.0) #> lifecycle 1.0.4 2023-11-07 [2] CRAN (R 4.4.0) #> locfit 1.5-9.8 2023-06-11 [1] CRAN (R 4.4.0) #> magrittr 2.0.3 2022-03-30 [2] CRAN (R 4.4.0) #> Matrix 1.6-3 2023-11-14 [3] CRAN (R 4.4.0) #> MatrixGenerics * 1.15.0 2023-10-24 [1] Bioconductor #> matrixStats * 1.1.0 2023-11-07 [1] CRAN (R 4.4.0) #> memoise 2.0.1 2021-11-26 [2] CRAN (R 4.4.0) #> munsell 0.5.0 2018-06-12 [1] CRAN (R 4.4.0) #> patchwork 1.1.3 2023-08-14 [1] CRAN (R 4.4.0) #> pillar 1.9.0 2023-03-22 [2] CRAN (R 4.4.0) #> pkgconfig 2.0.3 2019-09-22 [2] CRAN (R 4.4.0) #> pkgdown 2.0.7 2022-12-14 [1] CRAN (R 4.4.0) #> png 0.1-8 2022-11-29 [1] CRAN (R 4.4.0) #> purrr 1.0.2 2023-08-10 [2] CRAN (R 4.4.0) #> R6 2.5.1 2021-08-19 [2] CRAN (R 4.4.0) #> ragg 1.2.6 2023-10-10 [2] CRAN (R 4.4.0) #> RColorBrewer 1.1-3 2022-04-03 [1] CRAN (R 4.4.0) #> Rcpp 1.0.11 2023-07-06 [2] CRAN (R 4.4.0) #> RCurl 1.98-1.13 2023-11-02 [1] CRAN (R 4.4.0) #> rjson 0.2.21 2022-01-09 [1] CRAN (R 4.4.0) #> rlang 1.1.2 2023-11-04 [2] CRAN (R 4.4.0) #> rmarkdown 2.25 2023-09-18 [1] CRAN (R 4.4.0) #> rprojroot 2.0.4 2023-11-05 [2] CRAN (R 4.4.0) #> S4Arrays 1.3.0 2023-10-24 [1] Bioconductor #> S4Vectors * 0.41.2 2023-11-23 [1] Bioconductor 3.19 (R 4.4.0) #> sass 0.4.7 2023-07-15 [2] CRAN (R 4.4.0) #> scales 1.3.0 2023-11-28 [1] CRAN (R 4.4.0) #> sessioninfo 1.2.2 2021-12-06 [2] CRAN (R 4.4.0) #> shape 1.4.6 2021-05-19 [1] CRAN (R 4.4.0) #> SparseArray 1.3.1 2023-11-07 [1] Bioconductor #> stringi 1.8.2 2023-11-23 [2] CRAN (R 4.4.0) #> stringr 1.5.1 2023-11-14 [2] CRAN (R 4.4.0) #> SummarizedExperiment * 1.33.0 2023-10-24 [1] Bioconductor #> systemfonts 1.0.5 2023-10-09 [2] CRAN (R 4.4.0) #> textshaping 0.3.7 2023-10-09 [2] CRAN (R 4.4.0) #> tibble 3.2.1 2023-03-20 [2] CRAN (R 4.4.0) #> tidyselect 1.2.0 2022-10-10 [1] CRAN (R 4.4.0) #> utf8 1.2.4 2023-10-22 [2] CRAN (R 4.4.0) #> vctrs 0.6.4 2023-10-12 [2] CRAN (R 4.4.0) #> withr 2.5.2 2023-10-30 [2] CRAN (R 4.4.0) #> xfun 0.41 2023-11-01 [2] CRAN (R 4.4.0) #> XVector 0.43.0 2023-10-24 [1] Bioconductor #> yaml 2.3.7 2023-01-23 [2] CRAN (R 4.4.0) #> zlibbioc 1.49.0 2023-10-24 [1] Bioconductor #> #> [1] /__w/_temp/Library #> [2] /usr/local/lib/R/site-library #> [3] /usr/local/lib/R/library #> #> ──────────────────────────────────────────────────────────────────────────────"},{"path":[]},{"path":"/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Fabricio Almeida-Silva. Author, maintainer. Lucas Prost-Boxoen. Author. Yves Van de Peer. Author.","code":""},{"path":"/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Almeida-Silva F, Prost-Boxoen L, Van de Peer Y (2023). HybridExpress: Comparative analysis RNA-seq data hybrids progenitors. R package version 0.99.0, https://github.com/almeidasilvaf/HybridExpress.","code":"@Manual{, title = {HybridExpress: Comparative analysis of RNA-seq data for hybrids and their progenitors}, author = {Fabricio Almeida-Silva and Lucas Prost-Boxoen and Yves {Van de Peer}}, year = {2023}, note = {R package version 0.99.0}, url = {https://github.com/almeidasilvaf/HybridExpress}, }"},{"path":"/index.html","id":"hybridexpress-","dir":"","previous_headings":"","what":"Comparative analysis of RNA-seq data for hybrids and their progenitors","title":"Comparative analysis of RNA-seq data for hybrids and their progenitors","text":"goal HybridExpress perform comparative transcriptomic analyses hybrids relative progenitor species (.k.. experimental trios). package features: Calculation midparent expression values, silico samples obtained mean, sum, weighted mean random sample pairs parent; Exploratory analyses sample grouping PCA plots heatmaps hierarchically-clustered pairwise sample correlations; Identification differentially expressed genes hybrids progenitor species, hybrids midparent values, two parents. spike-standards available, HybridExpress uses normalize count data transcriptome size; Classification genes expression-based categories classes based Rapp et al. (2009). 12 expression categories proposed Rapp et al. (2009) grouped 5 major classes (transgressive -regulation, transgressive -regulation, additivity, expression-level dominance toward parent 1, expression-level dominance toward parent 2); Functional analyses identification overrepresented functional terms gene sets interest.","code":""},{"path":"/index.html","id":"installation-instructions","dir":"","previous_headings":"","what":"Installation instructions","title":"Comparative analysis of RNA-seq data for hybrids and their progenitors","text":"Get latest stable R release CRAN. install HybridExpress Bioconductor using following code: development version GitHub :","code":"if (!requireNamespace(\"BiocManager\", quietly = TRUE)) { install.packages(\"BiocManager\") } BiocManager::install(\"HybridExpress\") BiocManager::install(\"almeidasilvaf/HybridExpress\")"},{"path":"/index.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Comparative analysis of RNA-seq data for hybrids and their progenitors","text":"citation output using citation('HybridExpress') R. Please run check updates cite HybridExpress. Please note HybridExpress made possible thanks many R bioinformatics software authors, cited either vignettes /paper(s) describing package.","code":"print(citation('HybridExpress'), bibtex = TRUE) #> To cite package 'HybridExpress' in publications use: #> #> Almeida-Silva F, Prost-Boxoen L, Van de Peer Y (2023). #> _HybridExpress: Comparative analysis of RNA-seq data for hybrids and #> their progenitors_. R package version 0.99.0, #> . #> #> A BibTeX entry for LaTeX users is #> #> @Manual{, #> title = {HybridExpress: Comparative analysis of RNA-seq data for hybrids and their progenitors}, #> author = {Fabricio Almeida-Silva and Lucas Prost-Boxoen and Yves {Van de Peer}}, #> year = {2023}, #> note = {R package version 0.99.0}, #> url = {https://github.com/almeidasilvaf/HybridExpress}, #> }"},{"path":"/index.html","id":"code-of-conduct","dir":"","previous_headings":"","what":"Code of Conduct","title":"Comparative analysis of RNA-seq data for hybrids and their progenitors","text":"Please note HybridExpress project released Contributor Code Conduct. contributing project, agree abide terms.","code":""},{"path":"/index.html","id":"development-tools","dir":"","previous_headings":"","what":"Development tools","title":"Comparative analysis of RNA-seq data for hybrids and their progenitors","text":"Continuous code testing possible thanks GitHub actions usethis, remotes, rcmdcheck customized use Bioconductor’s docker containers BiocCheck. Code coverage assessment possible thanks codecov covr. documentation website automatically updated thanks pkgdown. code styled automatically thanks styler. documentation formatted thanks devtools roxygen2. package developed using biocthis.","code":""},{"path":"/reference/add_midparent_expression.html","id":null,"dir":"Reference","previous_headings":"","what":"Add midparent expression to SummarizedExperiment object — add_midparent_expression","title":"Add midparent expression to SummarizedExperiment object — add_midparent_expression","text":"Add midparent expression SummarizedExperiment object","code":""},{"path":"/reference/add_midparent_expression.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add midparent expression to SummarizedExperiment object — add_midparent_expression","text":"","code":"add_midparent_expression( se, coldata_column = \"Generation\", parent1 = \"P1\", parent2 = \"P2\", method = \"mean\", weights = c(1, 1) )"},{"path":"/reference/add_midparent_expression.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add midparent expression to SummarizedExperiment object — add_midparent_expression","text":"se SummarizedExperiment object count matrix sample metadata. coldata_column Character indicating name column colData(se) information generation stored. Default: \"Generation\". parent1 Character indicating level variable coldata_column represents parent 1. Default: \"P1\". parent2 Character indicating level variable coldata_column represents parent 2. Default: \"P2\". method Character indicating method use create midparent values. One 'mean' (default), 'sum', 'weightedmean'. weights Numeric vector length 2 indicating weights give parents 1 2 (respectively) method == \"weightedmean\". Setting method == \"weightedmean\" used sometimes parents different ploidy levels. cases, ploidy levels parents 1 2 can passed vector. Default: c(1, 2).","code":""},{"path":"/reference/add_midparent_expression.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Add midparent expression to SummarizedExperiment object — add_midparent_expression","text":"SummarizedExperiment object.","code":""},{"path":"/reference/add_midparent_expression.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add midparent expression to SummarizedExperiment object — add_midparent_expression","text":"","code":"data(se_chlamy) new_se <- add_midparent_expression(se_chlamy)"},{"path":"/reference/deg_counts.html","id":null,"dir":"Reference","previous_headings":"","what":"Data frame with frequencies (absolute and relative) of DEGs per contrast — deg_counts","title":"Data frame with frequencies (absolute and relative) of DEGs per contrast — deg_counts","text":"object obtained get_deg_counts() using example data set deg_list.","code":""},{"path":"/reference/deg_counts.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Data frame with frequencies (absolute and relative) of DEGs per contrast — deg_counts","text":"","code":"data(deg_counts)"},{"path":"/reference/deg_counts.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Data frame with frequencies (absolute and relative) of DEGs per contrast — deg_counts","text":"data frame frequencies (absolute relative) - -regulated genes contrast. Relative frequencies calculated relative total number genes count matrix used differential expression analysis.","code":""},{"path":"/reference/deg_counts.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Data frame with frequencies (absolute and relative) of DEGs per contrast — deg_counts","text":"","code":"data(deg_counts)"},{"path":"/reference/deg_list.html","id":null,"dir":"Reference","previous_headings":"","what":"List of differentially expressed genes for all contrasts — deg_list","title":"List of differentially expressed genes for all contrasts — deg_list","text":"object obtained get_deg_list() using example data set se_chlamy.","code":""},{"path":"/reference/deg_list.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"List of differentially expressed genes for all contrasts — deg_list","text":"","code":"data(deg_list)"},{"path":"/reference/deg_list.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"List of differentially expressed genes for all contrasts — deg_list","text":"list data frames gene-wise test statistics differentially expressed genes contrast. Contrasts \"P2_vs_P1\", \"F1_vs_P1\", \"F1_vs_P2\", \"F1_vs_midparent\", ID 'vs' represents numerator, ID 'vs' represents denominator.","code":""},{"path":"/reference/deg_list.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"List of differentially expressed genes for all contrasts — deg_list","text":"","code":"data(deg_list)"},{"path":"/reference/expression_partitioning.html","id":null,"dir":"Reference","previous_headings":"","what":"Partition genes in groups based on their expression patterns — expression_partitioning","title":"Partition genes in groups based on their expression patterns — expression_partitioning","text":"Partition genes groups based expression patterns","code":""},{"path":"/reference/expression_partitioning.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Partition genes in groups based on their expression patterns — expression_partitioning","text":"","code":"expression_partitioning(deg_list)"},{"path":"/reference/expression_partitioning.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Partition genes in groups based on their expression patterns — expression_partitioning","text":"deg_list list data frames gene-wise test statistics differentially expressed genes returned get_deg_list().","code":""},{"path":"/reference/expression_partitioning.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Partition genes in groups based on their expression patterns — expression_partitioning","text":"data following variables: Gene Character, gene ID. Category Factor, expression group. Category names numbers 1 12. Class Factor, expression group class. One \"\" (transgressive -regulation), \"\" (transgressive -regulation), \"ADD\" (additivity), \"ELD_P1\" (expression-level dominance toward parent 1), \"ELD_P2\" (expression-level dominance toward parent 2).","code":""},{"path":"/reference/expression_partitioning.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Partition genes in groups based on their expression patterns — expression_partitioning","text":"","code":"data(deg_list) exp_partitions <- expression_partitioning(deg_list)"},{"path":"/reference/get_deg_counts.html","id":null,"dir":"Reference","previous_headings":"","what":"Get a count table of differentially expressed genes per contrast — get_deg_counts","title":"Get a count table of differentially expressed genes per contrast — get_deg_counts","text":"Get count table differentially expressed genes per contrast","code":""},{"path":"/reference/get_deg_counts.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get a count table of differentially expressed genes per contrast — get_deg_counts","text":"","code":"get_deg_counts(deg_list)"},{"path":"/reference/get_deg_counts.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get a count table of differentially expressed genes per contrast — get_deg_counts","text":"deg_list list data frames gene-wise test statistics differentially expressed genes returned get_deg_list().","code":""},{"path":"/reference/get_deg_counts.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get a count table of differentially expressed genes per contrast — get_deg_counts","text":"data frame following variables: contrast Character, contrast name. Numeric, number -regulated genes. Numeric, number -regulated genes. total Numeric, total number differentially expressed genes. perc_up Numeric, percentage -regulated genes. perc_down Numeric, percentage -regulated genes. perc_total Numeric, percentage diffferentially expressed genes.","code":""},{"path":"/reference/get_deg_counts.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get a count table of differentially expressed genes per contrast — get_deg_counts","text":"","code":"data(deg_list) deg_counts <- get_deg_counts(deg_list)"},{"path":"/reference/get_deg_list.html","id":null,"dir":"Reference","previous_headings":"","what":"Get a table of differential expression expression statistics with DESeq2 — get_deg_list","title":"Get a table of differential expression expression statistics with DESeq2 — get_deg_list","text":"Get table differential expression expression statistics DESeq2","code":""},{"path":"/reference/get_deg_list.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get a table of differential expression expression statistics with DESeq2 — get_deg_list","text":"","code":"get_deg_list( se, coldata_column = \"Generation\", parent1 = \"P1\", parent2 = \"P2\", offspring = \"F1\", midparent = \"midparent\", spikein_norm = FALSE, spikein_pattern = \"ERCC\", lfcThreshold = 0, alpha = 0.01, ... )"},{"path":"/reference/get_deg_list.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get a table of differential expression expression statistics with DESeq2 — get_deg_list","text":"se SummarizedExperiment object count matrix sample metadata. coldata_column Character indicating name column colData(se) information generation stored. Default: \"Generation\". parent1 Character indicating level variable coldata_column represents parent 1. Default: \"P1\". parent2 Character indicating level variable coldata_column represents parent 2. Default: \"P2\". offspring Character indicating level variable coldata_column represents offspring (hybrid allopolyploid). Default: \"F1\" midparent Character indicating level variable coldata_column represents midparent value. Default: \"midparent\", returned add_midparent_expression(). spikein_norm Logical indicating whether normalize data using spike-ins. Default: FALSE. spikein_pattern Character pattern (regex) use identify spike-features count matrix. valid spikein_norm = TRUE. lfcThreshold Numeric indicating log2 fold-change threshold use consider differentially expressed genes. Default: 0. alpha Numeric indicating adjusted P-value threshold use consider differentially expressed genes. Default: 0.01. ... Additional arguments passed DESeq2::results().","code":""},{"path":"/reference/get_deg_list.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get a table of differential expression expression statistics with DESeq2 — get_deg_list","text":"list data frames DESeq2's gene-wise tests statistics contrast. data frame contains columns output DESeq2::results(). Contrasts (list names) : P2_vs_P1 Parent 2 (numerator) versus parent 1 (denominator). F1_vs_P1 Offspring (numerator) versus parent 1 (denominator). F1_vs_P2 Offspring (numerator) versus parent 2 (denominator). F1_vs_midparent Offspring (numerator) versus midparent (denominator). data frame gene-wise test statistics list element contains following variables: baseMean Numeric, base mean. log2FoldChange Numeric, log2-transformed fold changes. lfcSE Numeric, standard error log2-transformed fold changes. stat Numeric, observed test statistic. pvalue Numeric, p-value. padj Numeric, P-value adjusted multiple testing. list contains two additional attributes named ngenes (numeric, total number genes), plotdata, 3-column data frame variables \"gene\" (character, gene ID), \"lFC_F1_vs_P1\" (numeric, log2 fold change F1 P1), \"lFC_F1_vs_P2\" (numeric, log2 fold change F1 P2).","code":""},{"path":"/reference/get_deg_list.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get a table of differential expression expression statistics with DESeq2 — get_deg_list","text":"","code":"data(se_chlamy) se <- add_midparent_expression(se_chlamy) deg_list <- get_deg_list(se, spikein_norm = TRUE) #> converting counts to integer mode #> using pre-existing size factors #> estimating dispersions #> gene-wise dispersion estimates #> mean-dispersion relationship #> final dispersion estimates #> fitting model and testing"},{"path":"/reference/go_chlamy.html","id":null,"dir":"Reference","previous_headings":"","what":"Data frame with GO terms annotated to each gene of Chlamydomonas reinhardtii — go_chlamy","title":"Data frame with GO terms annotated to each gene of Chlamydomonas reinhardtii — go_chlamy","text":"Data obtained Phytozome processed row contains one GO term (long format).","code":""},{"path":"/reference/go_chlamy.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Data frame with GO terms annotated to each gene of Chlamydomonas reinhardtii — go_chlamy","text":"","code":"data(go_chlamy)"},{"path":"/reference/go_chlamy.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Data frame with GO terms annotated to each gene of Chlamydomonas reinhardtii — go_chlamy","text":"2-column data frame columns gene (character, gene ID), GO (character, name GO term.)","code":""},{"path":"/reference/go_chlamy.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Data frame with GO terms annotated to each gene of Chlamydomonas reinhardtii — go_chlamy","text":"","code":"data(go_chlamy)"},{"path":"/reference/ora.html","id":null,"dir":"Reference","previous_headings":"","what":"Perform overrepresentation analysis for a set of genes — ora","title":"Perform overrepresentation analysis for a set of genes — ora","text":"Perform overrepresentation analysis set genes","code":""},{"path":"/reference/ora.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Perform overrepresentation analysis for a set of genes — ora","text":"","code":"ora( genes, annotation, column = NULL, background, correction = \"BH\", alpha = 0.05, min_setsize = 5, max_setsize = 500, bp_param = BiocParallel::SerialParam() )"},{"path":"/reference/ora.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Perform overrepresentation analysis for a set of genes — ora","text":"genes Character vector containing genes overrepresentation analysis. annotation Annotation data frame genes first column functional annotation columns. data frame can exported Biomart similar databases. column Column columns annotation used enrichment. character numeric values column indices can used. users want supply one column, input character numeric vector. Default: columns annotation. background Character vector genes used background overrepresentation analysis. correction Multiple testing correction method. One \"holm\", \"hochberg\", \"hommel\", \"bonferroni\", \"BH\", \"\", \"fdr\" \"none\". Default \"BH\". alpha Numeric indicating adjusted P-value threshold significance. Default: 0.05. min_setsize Numeric indicating minimum gene set size considered. Gene sets correspond levels variable annotation). Default: 5. max_setsize Numeric indicating maximum gene set size considered. Gene sets correspond levels variable annotation). Default: 500. bp_param BiocParallel back-end used. Default: BiocParallel::SerialParam()","code":""},{"path":"/reference/ora.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Perform overrepresentation analysis for a set of genes — ora","text":"data frame overrepresentation results following variables: term Character, functional term ID/name. genes Numeric, intersection length input genes genes particular functional term. Numeric, number genes particular functional term. pval Numeric, P-value hypergeometric test. padj Numeric, P-value adjusted multiple comparisons using method specified parameter adj. category Character, name grouping variable (.e., column name annotation).","code":""},{"path":"/reference/ora.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Perform overrepresentation analysis for a set of genes — ora","text":"","code":"data(se_chlamy) data(go_chlamy) data(deg_list) # Perform ORA for up-regulated genes in contrast F1_vs_P1 up_genes <- deg_list$F1_vs_P1 up_genes <- rownames(up_genes[up_genes$log2FoldChange > 0, ]) background <- rownames(se_chlamy) ora(up_genes, go_chlamy, background = background) #> term genes all pval padj category #> 133 dynein complex 8 13 1.924882e-05 0.00802676 GO"},{"path":"/reference/pca_plot.html","id":null,"dir":"Reference","previous_headings":"","what":"Perform a principal component analysis (PCA) and plot PCs — pca_plot","title":"Perform a principal component analysis (PCA) and plot PCs — pca_plot","text":"Perform principal component analysis (PCA) plot PCs","code":""},{"path":"/reference/pca_plot.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Perform a principal component analysis (PCA) and plot PCs — pca_plot","text":"","code":"pca_plot( se, PCs = c(1, 2), ntop = 500, color_by = NULL, shape_by = NULL, add_mean = FALSE, palette = NULL )"},{"path":"/reference/pca_plot.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Perform a principal component analysis (PCA) and plot PCs — pca_plot","text":"se SummarizedExperiment object count matrix sample metadata. PCs Numeric vector indicating principal components show x-axis y-axis, respectively. Default: c(1,2). ntop Numeric indicating number top genes highest variances use PCA. Default: 500. color_by Character name column colData(se) use group samples color. Default: NULL. shape_by Character name column colData(se) use group samples shape. Default: NULL. add_mean Logical indicating whether add diamond symbol mean value level variable indicated color_by. Default: FALSE palette Character vector colors use level variable indicated color_by. NULL, default color palette used.","code":""},{"path":"/reference/pca_plot.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Perform a principal component analysis (PCA) and plot PCs — pca_plot","text":"ggplot object PCA plot showing 2 principal components axis along % variance explained.","code":""},{"path":"/reference/pca_plot.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Perform a principal component analysis (PCA) and plot PCs — pca_plot","text":"","code":"data(se_chlamy) se <- add_midparent_expression(se_chlamy) se$Ploidy[is.na(se$Ploidy)] <- \"midparent\" se$Generation[is.na(se$Generation)] <- \"midparent\" pca_plot(se, color_by = \"Generation\", shape_by = \"Ploidy\", add_mean = TRUE) #> converting counts to integer mode"},{"path":"/reference/plot_expression_partitions.html","id":null,"dir":"Reference","previous_headings":"","what":"Plot expression partitions — plot_expression_partitions","title":"Plot expression partitions — plot_expression_partitions","text":"Plot expression partitions","code":""},{"path":"/reference/plot_expression_partitions.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Plot expression partitions — plot_expression_partitions","text":"","code":"plot_expression_partitions( partition_table, group_by = \"Category\", palette = NULL, labels = c(\"P1\", \"F1\", \"P2\") )"},{"path":"/reference/plot_expression_partitions.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Plot expression partitions — plot_expression_partitions","text":"partition_table data frame genes per expression partition returned expression_partitioning(). group_by Character indicating name variable partition_table use group genes. One \"Category\" \"Class\". Default: \"Category\". palette Character vector color names used level variable specified group_by. group_by = \"Category\", must vector length 12. group_by = \"Class\", must vector length 5. NULL, default color palette used. labels character vector length 3 indicating labels given parent 1, offspring, parent 2. Default: c(\"P1\", \"F1\", \"P2\").","code":""},{"path":"/reference/plot_expression_partitions.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Plot expression partitions — plot_expression_partitions","text":"ggplot object plot showing genes expression partition.","code":""},{"path":"/reference/plot_expression_partitions.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Plot expression partitions — plot_expression_partitions","text":"","code":"data(deg_list) partition_table <- expression_partitioning(deg_list) plot_expression_partitions(partition_table)"},{"path":"/reference/plot_expression_triangle.html","id":null,"dir":"Reference","previous_headings":"","what":"Plot a triangle of comparisons of DEG sets among generations — plot_expression_triangle","title":"Plot a triangle of comparisons of DEG sets among generations — plot_expression_triangle","text":"Plot triangle comparisons DEG sets among generations","code":""},{"path":"/reference/plot_expression_triangle.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Plot a triangle of comparisons of DEG sets among generations — plot_expression_triangle","text":"","code":"plot_expression_triangle(deg_counts, palette = NULL, box_labels = NULL)"},{"path":"/reference/plot_expression_triangle.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Plot a triangle of comparisons of DEG sets among generations — plot_expression_triangle","text":"deg_counts Data frame number differentially expressed genes per contrast returned get_deg_counts. palette Character vector length 4 indicating colors boxes P1, P2, F1, midparent, respectively. NULL, default color palette used. box_labels Character vector length 4 indicating labels boxes P1, P2, F1, midparent, respectively. Default: NULL, lead labels \"P1\", \"P2\", \"F1\", \"Midparent\", respectively.","code":""},{"path":"/reference/plot_expression_triangle.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Plot a triangle of comparisons of DEG sets among generations — plot_expression_triangle","text":"ggplot object expression triangle.","code":""},{"path":"/reference/plot_expression_triangle.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Plot a triangle of comparisons of DEG sets among generations — plot_expression_triangle","text":"expression triangle plot shows number differentially expressed genes (DEGs) contrast. Numbers center lines (bold) indicate total number DEGs, numbers near boxes indicate number -regulated genes generation triangle.","code":""},{"path":"/reference/plot_expression_triangle.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Plot a triangle of comparisons of DEG sets among generations — plot_expression_triangle","text":"","code":"data(deg_counts) plot_expression_triangle(deg_counts)"},{"path":"/reference/plot_partition_frequencies.html","id":null,"dir":"Reference","previous_headings":"","what":"Plot a barplot of gene frequencies per expression partition — plot_partition_frequencies","title":"Plot a barplot of gene frequencies per expression partition — plot_partition_frequencies","text":"Plot barplot gene frequencies per expression partition","code":""},{"path":"/reference/plot_partition_frequencies.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Plot a barplot of gene frequencies per expression partition — plot_partition_frequencies","text":"","code":"plot_partition_frequencies( partition_table, group_by = \"Category\", palette = NULL, labels = c(\"P1\", \"F1\", \"P2\") )"},{"path":"/reference/plot_partition_frequencies.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Plot a barplot of gene frequencies per expression partition — plot_partition_frequencies","text":"partition_table data frame genes per expression partition returned expression_partitioning(). group_by Character indicating name variable partition_table use group genes. One \"Category\" \"Class\". Default: \"Category\". palette Character vector color names used level variable specified group_by. group_by = \"Category\", must vector length 12. group_by = \"Class\", must vector length 5. NULL, default color palette used. labels character vector length 3 indicating labels given parent 1, offspring, parent 2. Default: c(\"P1\", \"F1\", \"P2\").","code":""},{"path":"/reference/plot_partition_frequencies.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Plot a barplot of gene frequencies per expression partition — plot_partition_frequencies","text":"ggplot object barplot showing gene frequencies per partition next explanatory line plots depicting partition.","code":""},{"path":"/reference/plot_partition_frequencies.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Plot a barplot of gene frequencies per expression partition — plot_partition_frequencies","text":"","code":"data(deg_list) partition_table <- expression_partitioning(deg_list) plot_partition_frequencies(partition_table)"},{"path":"/reference/plot_samplecor.html","id":null,"dir":"Reference","previous_headings":"","what":"Plot a heatmap of pairwise sample correlations with hierarchical clustering — plot_samplecor","title":"Plot a heatmap of pairwise sample correlations with hierarchical clustering — plot_samplecor","text":"Plot heatmap pairwise sample correlations hierarchical clustering","code":""},{"path":"/reference/plot_samplecor.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Plot a heatmap of pairwise sample correlations with hierarchical clustering — plot_samplecor","text":"","code":"plot_samplecor( se, coldata_cols = NULL, rowdata_cols = NULL, ntop = 500, cor_method = \"pearson\", palette = \"Blues\", ... )"},{"path":"/reference/plot_samplecor.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Plot a heatmap of pairwise sample correlations with hierarchical clustering — plot_samplecor","text":"se SummarizedExperiment object count matrix sample metadata colData slot. rowData slot available, can also used clustering rows. coldata_cols vector (either numeric character) indicating columns extracted colData(se). rowdata_cols vector (either numeric character) indicating columns extracted rowData(se). ntop Numeric indicating number top genes highest variances use PCA. Default: 500. cor_method Character indicating correlation method use. One \"pearson\" \"spearman\". Default: \"pearson\". palette Character indicating name color palette RColorBrewer package use. Default: \"Blues\". ... Additional arguments passed ComplexHeatmap::pheatmap(). arguments can used control heatmap aesthetics, show/hide row column names, change font size, activate/deactivate hierarchical clustering, etc. complete list options, see ?ComplexHeatmap::pheatmap().","code":""},{"path":"/reference/plot_samplecor.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Plot a heatmap of pairwise sample correlations with hierarchical clustering — plot_samplecor","text":"heatmap hierarchically clustered pairwise sample correlations.","code":""},{"path":"/reference/plot_samplecor.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Plot a heatmap of pairwise sample correlations with hierarchical clustering — plot_samplecor","text":"","code":"data(se_chlamy) se <- add_midparent_expression(se_chlamy) se$Ploidy[is.na(se$Ploidy)] <- \"midparent\" se$Generation[is.na(se$Generation)] <- \"midparent\" plot_samplecor(se, ntop = 500) #> converting counts to integer mode"},{"path":"/reference/se_chlamy.html","id":null,"dir":"Reference","previous_headings":"","what":"Expression data (in counts) for 3 Chlamydomonas lines (P1, P2, and F1) — se_chlamy","title":"Expression data (in counts) for 3 Chlamydomonas lines (P1, P2, and F1) — se_chlamy","text":"Two lines (referred parent 1 parent 2) different ploidy levels crossed generate allopolyploid (F1).","code":""},{"path":"/reference/se_chlamy.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Expression data (in counts) for 3 Chlamydomonas lines (P1, P2, and F1) — se_chlamy","text":"","code":"data(se_chlamy)"},{"path":"/reference/se_chlamy.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Expression data (in counts) for 3 Chlamydomonas lines (P1, P2, and F1) — se_chlamy","text":"SummarizedExperiment object assay (count) colData.","code":""},{"path":"/reference/se_chlamy.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Expression data (in counts) for 3 Chlamydomonas lines (P1, P2, and F1) — se_chlamy","text":"","code":"data(se_chlamy)"},{"path":"/news/index.html","id":"hybridexpress-0990","dir":"Changelog","previous_headings":"","what":"HybridExpress 0.99.0","title":"HybridExpress 0.99.0","text":"NEW FEATURES Added NEWS.md file track changes package.","code":""}]