It is understood that the mammary gland in cattle undergoes extensive morphological and physiological transformations to facilitate the production of milk. These changes are regulated at the genetic and epigenetic level, with specific patterns of expression driving maturation of the gland. This study aims to uncover the temporal expression patterns of mRNA in bovine mammary glands by performing timewise differential expression of sequencing data, then clustering based on temporal expression pattern.
All paired end reads were loaded into galaxy as single end. After preliminary QC was performed, alignment to the bosTau9 reference genome was performed. After alignment, statistics were again drawn in order to ensure quality of reads. Mapping to genome to generate counts was performed by Feature counts. Read mapping took in to account the strandedness of the reads, All stranded reads were read in as forward stranded. In reference to the metadata, the column ‘batch’ delimitates which samples were stranded and unstranded (1,0 respectively).
The raw count files can be downloaded directly from Github. The data was loaded using the read.delim function from the base package, setting the Ensembl ids as rownames. The first column, which was redundant (gene-ids), was removed.
Sample metadata was compiled to reflect the stages of pregnancy as well as the batches associated with strandedness. The metadata table includes the animal identifier, stage of pregnancy, and batch for each sample.
Before finalizing the raw counts, it is necessary to adjust the dataframe’s column names to simplify data manipulation. The desired format combines the condition with the sample identifier (e.g., XX_123), which mirrors the row names in the metadata dataframe. The format mimics the row names of the metadata dataframe. Additionally, it is important to note that the samples from Early Lactation 610 and Late Pregnancy 610 were switched prior to sequencing and must be corrected before proceeding with the analysis.
| condition | animal | batch | |
|---|---|---|---|
| V_468 | V | 468 | 1 |
| V_502 | V | 502 | 1 |
| V_504 | V | 504 | 1 |
| V_507 | V | 507 | 1 |
| V_509 | V | 509 | 1 |
| V_598 | V | 598 | 1 |
| V_610 | V | 610 | 1 |
| MP_468 | MP | 468 | 0 |
| MP_502 | MP | 502 | 1 |
| MP_504 | MP | 504 | 0 |
| MP_507 | MP | 507 | 1 |
| MP_509 | MP | 509 | 0 |
| MP_598 | MP | 598 | 0 |
| MP_610 | MP | 610 | 0 |
| LP_468 | LP | 468 | 0 |
| LP_502 | LP | 502 | 1 |
| LP_504 | LP | 504 | 0 |
| LP_509 | LP | 509 | 0 |
| LP_507 | LP | 507 | 1 |
| LP_598 | LP | 598 | 0 |
| LP_610 | LP | 610 | 0 |
| EL_468 | EL | 468 | 0 |
| EL_502 | EL | 502 | 1 |
| EL_504 | EL | 504 | 0 |
| EL_507 | EL | 507 | 1 |
| EL_509 | EL | 509 | 0 |
| EL_598 | EL | 598 | 0 |
| EL_610 | EL | 610 | 0 |
| PL_468 | PL | 468 | 1 |
| PL_502 | PL | 502 | 1 |
| PL_504 | PL | 504 | 1 |
| PL_507 | PL | 507 | 1 |
| PL_509 | PL | 509 | 1 |
| PL_598 | PL | 598 | 1 |
| PL_610 | PL | 610 | 1 |
To determine which genes should be included in the study, each gene is evaluated within each lactation stage based on its expression count across the 7 samples in that stage. A gene is considered for inclusion in a specific lactation stage if its count exceeds a threshold of 3 in at least 4 of the 7 samples at that time point.
A gene will be included in the final study if it meets the above criteria in at least 1 out of the 5 time points (i.e., lactation stages). This means that a gene must have high counts in at least one of the lactation stages to be included in the study.
# Step 1: Splitting Data by Condition
conditions <- unique(samples$condition)
split_data <- lapply(conditions, function(cond) {
df[, samples$condition == cond]
})
# Step 2: Define Filtering Function
count_high_expressions <- function(data) {
apply(data, 1, function(gene) {
sum(gene >= 3) >= 4 # Returns TRUE if at least 4 out of 7 samples have counts ≥ 3
})
}
high_exp_counts <- lapply(split_data, count_high_expressions)
# Step 3: Aggregate Results for inclusion
gene_inclusion_filter <- rowSums(do.call(cbind, high_exp_counts)) >= 1 # If 1/5 timepoints meet crit, gene is included
# Step 4: Filter Genes
df <- df[gene_inclusion_filter, ]Strandedness as a batch effect was seen to have distorted our data when using principal component analysis as a diagnostic tool. In order to correct the batch effect, the ComBat_seq function from the sva package was used. This function adjusts for batch effects using the batch variable from our metadata and considers the experimental design (like time course variables) to prevent overfitting.
count_matrix <- as.matrix(df)
cdf <- ComBat_seq(count_matrix,
batch = samples$batch,
group = samples$condition)## Found 2 batches
## Using full model in ComBat-seq.
## Adjusting for 4 covariate(s) or covariate level(s)
## Estimating dispersions
## Fitting the GLM model
## Shrinkage off - using GLM estimates for parameters
## Adjusting the data
A standard DESeq function was applied using the counts corrected by ComBat_seq and the experimental design from the ‘samples’ metadata frame.
| V | MP | LP | EL | PL | |
|---|---|---|---|---|---|
| ENSBTAG00000000005 | 222.8397152 | 208.9822665 | 216.3579474 | 395.1031964 | 295.86744 |
| ENSBTAG00000000008 | 0.0910119 | 0.2631827 | 0.2745275 | 0.7202736 | 0.00000 |
| ENSBTAG00000000009 | 94.5829692 | 106.9566598 | 68.6357260 | 64.1902184 | 94.56270 |
| ENSBTAG00000000010 | 290.5563095 | 266.2848146 | 303.4057908 | 666.3469239 | 628.63636 |
| ENSBTAG00000000011 | 36.7905454 | 21.0850876 | 23.4233891 | 18.0733364 | 19.97571 |
| ENSBTAG00000000012 | 158.7158759 | 115.4934772 | 129.0799472 | 81.0886870 | 94.71675 |
To perform differential expression analysis, comparative structures need to be formed between timepoints. The loop below iterates through each successive comparison and generates ‘res’ objects from DESeq2, which contain statistics like log fold change and adjusted p-values for each comparison. After the False Discovery Rate adjusted p-value (padj) is generated, the mean of the normalized counts is evaluated between each comparison. If gene expression increases from time n to n+1, an ‘I’ will be assigned to the gene. If gene expression decreases from n to n+1, a ‘D’ will be assigned to the gene.
The adjusted p-value generated from DESeq2 is then used to evaluate whether there is significance. If the padj value is greater than 0.05, the gene will be deemed to have an insignificant change in expression between timepoints and will be assigned an ‘S’
contrasts <- list(
c("condition", "PL", "V"),
#
c("condition", "EL", "V"),
c("condition", "PL", "MP"),
#
c("condition", "LP", "V"),
c("condition", "EL", "MP"),
c("condition", "PL", "LP"),
#
c("condition", "MP", "V"),
c("condition", "LP", "MP"),
c("condition", "EL", "LP"),
c("condition", "PL", "EL")
)
contrast_results <- list()
# DE for pairs in contrasts
for (i in seq_along(contrasts)) {
contrast = contrasts[[i]]
res <- results(dds,
contrast=contrast)
# Determine if the mean expression increases or decreases
condition1_mean <- averages_df[[contrast[3]]] # Mean for the first condition
condition2_mean <- averages_df[[contrast[2]]] # Mean for the second condition
expressionDirection <- ifelse(condition1_mean < condition2_mean, "I", "D")
# Hypothesis test, FTR null assign 'S', Rej null assign I/D
res$expressionChange <- ifelse(res$padj > 0.05, "S", expressionDirection)
contrast_results[[paste(contrast[3], "to", contrast[2])]] <- res
}The variables (I,S,D) that corespond to expression are currently being stored in the list of DESeq objects. In order to create an index of gene expression, genes are added to a dataframe that completley describes their patterns of expression over the time course. This tabe can be manipulated in order to generate a singular index of pattern structure depending on the needs of the research.
The complete time course analysis can be organized into a piecewise hierarchical structure with 4 tiers,
A complete model vector will be structured as
Primary-Secondary-Tertiary-Quaternary
X-XX-XXX-XXXX
combined_results <- data.frame(gene=rownames(contrast_results[[1]]))
# Loop through each contrast result to combine them
for (i in seq_along(contrast_results)) {
contrast_name <- names(contrast_results)[i] # Get the name of the current contrast
# Create a temporary dataframe with genes and their expression changes for the current contrast
temp_df <- data.frame(gene=rownames(contrast_results[[i]]),
expressionChange=contrast_results[[i]]$expressionChange)
colnames(temp_df)[2] <- contrast_name # Rename the second column to the current contrast name
# Merge the temporary dataframe with the combined_results dataframe
combined_results <- merge(combined_results, temp_df, by="gene", all=TRUE)
}
# Concatenate expression patterns to make model vector
combined_results$modelVector <- apply(combined_results[, -1], 1,
function(x) paste(x, collapse = ""))
# for Quaternary tree structure ###############################################################
combined_results$primary <- combined_results[,2]
combined_results$secondary <- paste0(combined_results[,3], combined_results[,4])
combined_results$tertiary <- paste0(combined_results[,5], combined_results[,6], combined_results[,7])
combined_results$quaternary <- paste0(combined_results[,8], combined_results[,9], combined_results[,10], combined_results[,11])| transition | D | I | S |
|---|---|---|---|
| EL to PL | 838 | 488 | 16018 |
| LP to EL | 2082 | 2714 | 12548 |
| LP to PL | 3033 | 3463 | 10848 |
| MP to EL | 1889 | 2411 | 13044 |
| MP to LP | 8 | 6 | 17330 |
| MP to PL | 3030 | 3509 | 10805 |
| V to EL | 3862 | 3266 | 10216 |
| V to LP | 2747 | 2028 | 12569 |
| V to MP | 2656 | 1892 | 12796 |
| V to PL | 2920 | 2457 | 11967 |
| gene | V to PL | V to EL | MP to PL | V to LP | MP to EL | LP to PL | V to MP | MP to LP | LP to EL | EL to PL |
|---|---|---|---|---|---|---|---|---|---|---|
| ENSBTAG00000000005 | S | I | S | S | I | S | S | S | I | S |
| ENSBTAG00000000008 | S | S | S | S | S | S | S | S | S | S |
| ENSBTAG00000000009 | S | S | S | S | S | S | S | S | S | S |
| ENSBTAG00000000010 | I | I | I | S | I | I | S | S | I | S |
| ENSBTAG00000000011 | S | S | S | S | S | S | S | S | S | S |
| ENSBTAG00000000012 | D | D | S | S | S | S | S | S | D | S |
| gene | modelVector | primary | secondary | tertiary | quaternary |
|---|---|---|---|---|---|
| ENSBTAG00000000005 | SISSISSSIS | S | IS | SIS | SSIS |
| ENSBTAG00000000008 | SSSSSSSSSS | S | SS | SSS | SSSS |
| ENSBTAG00000000009 | SSSSSSSSSS | S | SS | SSS | SSSS |
| ENSBTAG00000000010 | IIISIISSIS | I | II | SII | SSIS |
| ENSBTAG00000000011 | SSSSSSSSSS | S | SS | SSS | SSSS |
| ENSBTAG00000000012 | DDSSSSSSDS | D | DS | SSS | SSDS |
Reducing the number of comparisons within a pattern structure can significantly decrease the total number of patterns identified. Additionally, depending on the objectives of the experiment, different patterns can be constructed that reveal more biologically relevant structures. Below, the ‘vector’ variable was constructed to create a pattern that depicts the total timecourse change in expression (virgin to peak lactation) followed by the Quaternary structure that depicts the sequential changes (1->2 2->3 3->4 4->5). This pattern is useful because one can check to see if there was a significant change of expression throughout the time course (v to l) while also monitoring the pairwise sequential changes.
motif_index <- list()
x <- combined_results
vector <- paste0(x$`V to PL`,
x$quaternary)
# Loop through each unique modelVector
for(model in unique(vector)) {
# Subset the genes that match the current modelVector
genes <- combined_results$gene[vector == model]
# Store
motif_index[[model]] <- genes
}Throughout this entire process, Ensembl IDs have been used as gene identifiers. To make the mRNA easier to identify, mapping to symbols can be done using AnnotationDbi and the org.Bt.eg.db package for bovine gene symbols.
mapped_motif_index <- list()
for(model in names(motif_index)) {
ensembl_ids <- motif_index[[model]]
gene_symbols <- tryCatch({
mapIds(org.Bt.eg.db,
keys = ensembl_ids,
column = "SYMBOL",
keytype = "ENSEMBL",
multivals = 'first')
}, error = function(e) {
message("Error with model ", model, ": ", e$message)
return(NA) # Return NA or any other placeholder that indicates an error
})
mapped_motif_index[[model]] <- gene_symbols
}
mmi_mrna <- mapped_motif_index # mapped motif index mrnaCount data from Galaxy can be imported to your R session directly from github
The experimental design in the miRNA samples is a bit ‘easier’ to develop because there are no batch issues between strandedness. It is for this reason ComBatSeq will not need to be run. From a coding & logistical standpoint, the count table developed has already been formatted in a way where sample id and timepoint can directly be pulled from the column names of the dataframe.
samples <- data.frame(
row.names = c(colnames(df)),
condition = c((substr(colnames(df), 5, nchar(colnames(df)))))
)##
## <style>
## table caption {
## font-size: 16pt;
## font-weight: bold;
## }
## </style>
| condition | |
|---|---|
| 468 V | V |
| 490 V | V |
| 504 V | V |
| 507 V | V |
| 509 V | V |
| 531 V | V |
| 581 V | V |
| 595 V | V |
| 598 V | V |
| 610 V | V |
| 615 V | V |
| 468 MP | MP |
| 502 MP | MP |
| 504 MP | MP |
| 507 MP | MP |
| 509 MP | MP |
| 595 MP | MP |
| 598 MP | MP |
| 610 MP | MP |
| 468 LP | LP |
| 502 LP | LP |
| 504 LP | LP |
| 507 LP | LP |
| 509 LP | LP |
| 595 LP | LP |
| 598 LP | LP |
| 610 LP | LP |
| 468 EL | EL |
| 502 EL | EL |
| 504 EL | EL |
| 507 EL | EL |
| 509 EL | EL |
| 595 EL | EL |
| 598 EL | EL |
| 610 EL | EL |
| 468 PL | PL |
| 479 PL | PL |
| 490 PL | PL |
| 502 PL | PL |
| 504 PL | PL |
| 509 PL | PL |
| 507 PL | PL |
| 531 PL | PL |
| 581 PL | PL |
| 590 PL | PL |
| 595 PL | PL |
| 610 PL | PL |
| 615 PL | PL |
General commands of DESeq2 generation for dds and a normalized count table were run in a similar fashion as was done in mRNA.
# Normalized Count table and dds object from DESeq are needed to run code
col_names <- c(rep("V", 11),
rep("MP", 8),
rep("LP", 8),
rep("EL", 8),
rep("PL", 13))
names(normalized_counts) <- col_names
# Time-point Averages of Normalized Counts ######################################
normalized_counts_df <- as.data.frame(normalized_counts)
# Prepare an empty data frame for storing averages, with correct dimensions and column names
averages_df <- data.frame(matrix(ncol = length(unique(col_names)),
nrow = nrow(normalized_counts_df)))
names(averages_df) <- unique(col_names)
rownames(averages_df) <- rownames(normalized_counts_df)
# Loop through each time-point to calculate and store row means
for (timepoint in unique(col_names)) {
# Identify columns belonging to the current time-point
cols <- which(col_names == timepoint)
# Calculate and store
averages_df[[timepoint]] <- rowMeans(normalized_counts_df[, cols], na.rm = TRUE)
}| V | MP | LP | EL | PL | |
|---|---|---|---|---|---|
| bta.let.7a.5p | 1997414.5641 | 1668136.0098 | 1960049.6716 | 1300440.2823 | 2176869.5549 |
| bta.let.7a.3p | 671.5617 | 255.3875 | 494.1430 | 322.5810 | 208.2733 |
| bta.let.7a.5p.1 | 1998686.5496 | 1671423.8782 | 1963007.7650 | 1303161.9017 | 2180046.4306 |
| bta.let.7a.5p.2 | 1995373.5839 | 1666503.6297 | 1958226.5896 | 1299040.8489 | 2174136.3242 |
| bta.let.7a.3p.1 | 666.8361 | 251.4582 | 490.1695 | 320.1862 | 207.0597 |
| bta.let.7b | 313548.8013 | 530406.6025 | 893827.5224 | 406621.2068 | 935932.1697 |
Pairwise comparisons are run in the same fashion as in mRNA. The only caviat being a line that filters for miRNAs that do not show a significant change in expression due to a low number of counts. If the mean number of counts in timepoint n and n+1 are both under 100, the miRNA is labled as ‘S’ for pattern structuring.
# pairwise comparisons, hypothesis testing, and assignment of expression pattern ###################################
contrasts <- list(
c("condition", "PL", "V"),
#
c("condition", "EL", "V"),
c("condition", "PL", "MP"),
#
c("condition", "LP", "V"),
c("condition", "EL", "MP"),
c("condition", "PL", "LP"),
#
c("condition", "MP", "V"),
c("condition", "LP", "MP"),
c("condition", "EL", "LP"),
c("condition", "PL", "EL")
)
contrast_results <- list()
for (i in seq_along(contrasts)) {
contrast = contrasts[[i]]
res <- results(dds,
contrast=contrast,
independentFiltering = FALSE)
# Determine if the mean expression increases or decreases
condition1_mean <- averages_df[[contrast[3]]] # Mean for the first condition
condition2_mean <- averages_df[[contrast[2]]] # Mean for the second condition
# Determine direction of expression based on means
expressionDirection <- ifelse(condition1_mean < condition2_mean, "I", "D")
# Check if either condition mean is below the threshold
lowExpression <- condition1_mean < 100 & condition2_mean < 100
# Hypothesis test: if p-value > 0.05 or low expression, assign 'S', else assign I/D
res$expressionChange <- ifelse(res$padj > 0.05 | lowExpression, "S", expressionDirection)
# Save results in a list with a unique name for each contrast
contrast_results[[paste(contrast[3], "to", contrast[2])]] <- res
}Parallel to mRNA, the combined results dataframe is generated from the list of deseq results of the pairwise comparisons.
# Generation of expression motif ###############################################
# Initialize a dataframe with gene names
combined_results <- data.frame(gene=rownames(contrast_results[[1]]))
# Loop through each contrast result to combine them
for (i in seq_along(contrast_results)) {
contrast_name <- names(contrast_results)[i] # Get the name of the current contrast
# Create a temporary dataframe with genes and their expression changes for the current contrast
temp_df <- data.frame(gene=rownames(contrast_results[[i]]),
expressionChange=contrast_results[[i]]$expressionChange)
colnames(temp_df)[2] <- contrast_name # Rename the second column to the current contrast name
# Merge the temporary dataframe with the combined_results dataframe
combined_results <- merge(combined_results, temp_df, by="gene", all=TRUE)
}
# Concatenate expression patterns to make model vector
combined_results$modelVector <- apply(combined_results[, -1], 1,
function(x) paste(x, collapse = ""))
# for Quaternary tree structure ###############################################################
combined_results$primary <- combined_results[,2]
combined_results$secondary <- paste0(combined_results[,3], combined_results[,4])
combined_results$tertiary <- paste0(combined_results[,5], combined_results[,6], combined_results[,7])
combined_results$quaternary <- paste0(combined_results[,8], combined_results[,9], combined_results[,10], combined_results[,11])| transition | D | I | S |
|---|---|---|---|
| EL to PL | 66 | 60 | 737 |
| LP to EL | 37 | 31 | 795 |
| LP to PL | 100 | 85 | 678 |
| MP to EL | 27 | 10 | 826 |
| MP to LP | 0 | 0 | 863 |
| MP to PL | 86 | 83 | 694 |
| V to EL | 109 | 87 | 667 |
| V to LP | 89 | 84 | 690 |
| V to MP | 82 | 71 | 710 |
| V to PL | 113 | 83 | 667 |
| gene | V to PL | V to EL | MP to PL | V to LP | MP to EL | LP to PL | V to MP | MP to LP | LP to EL | EL to PL |
|---|---|---|---|---|---|---|---|---|---|---|
| bta.let.7a.3p | D | S | S | S | S | S | S | S | S | S |
| bta.let.7a.3p.1 | D | S | S | S | S | S | S | S | S | S |
| bta.let.7a.5p | S | S | S | S | S | S | S | S | S | I |
| bta.let.7a.5p.1 | S | S | S | S | S | S | S | S | S | I |
| bta.let.7a.5p.2 | S | S | S | S | S | S | S | S | S | I |
| bta.let.7b | I | S | S | I | S | S | S | S | S | I |
| gene | modelVector | primary | secondary | tertiary | quaternary |
|---|---|---|---|---|---|
| bta.let.7a.3p | DSSSSSSSSS | D | SS | SSS | SSSS |
| bta.let.7a.3p.1 | DSSSSSSSSS | D | SS | SSS | SSSS |
| bta.let.7a.5p | SSSSSSSSSI | S | SS | SSS | SSSI |
| bta.let.7a.5p.1 | SSSSSSSSSI | S | SS | SSS | SSSI |
| bta.let.7a.5p.2 | SSSSSSSSSI | S | SS | SSS | SSSI |
| bta.let.7b | ISSISSSSSI | I | SS | ISS | SSSI |
Manipulating the ‘vector’ variable, it is possible to generate any motif index of your choosing as already performed in the mRNA samples. Here the same structure was generated, detailing the expression of the whole timecourse, followed by the pairwise expression patterns. Due to the suppressive mechanism of action that miRNA presents, it can be hypothesized that mRNA targets will present with an opposite pattern of expression when compared to miRNA.
# Genes indexed by model vector ################################################
motif_index <- list()
x <- combined_results
vector <- paste0(x$`V to PL`,
x$quaternary)
# Loop through each unique modelVector
for(model in unique(vector)) {
# Subset the genes that match the current modelVector
genes <- combined_results$gene[vector == model]
# Store
motif_index[[model]] <- genes
}
mi_miRNA <- motif_index## $DSSSS
## [1] "bta.let.7a.3p" "bta.let.7a.3p.1" "bta.let.7g" "bta.miR.106b"
## [5] "bta.miR.1271" "bta.miR.146b" "bta.miR.2284k" "bta.miR.2285au"
## [9] "bta.miR.2317" "bta.miR.2369" "bta.miR.2378" "bta.miR.2400"
## [13] "bta.miR.2420" "bta.miR.2484" "bta.miR.30e.5p" "bta.miR.32"
## [17] "bta.miR.328" "bta.miR.362.5p" "bta.miR.365.3p" "bta.miR.365.3p.1"
## [21] "bta.miR.452" "bta.miR.532" "bta.miR.6524" "bta.miR.664b"
## [25] "bta.miR.767" "bta.miR.95" "bta.miR.96"
##
## $SSSSI
## [1] "bta.let.7a.5p" "bta.let.7a.5p.1" "bta.let.7a.5p.2" "bta.let.7d"
## [5] "bta.miR.130a" "bta.miR.181a" "bta.miR.181a.1" "bta.miR.224"
## [9] "bta.miR.27b" "bta.miR.30d" "bta.miR.505" "bta.miR.8549"
##
## $ISSSI
## [1] "bta.let.7b" "bta.let.7c" "bta.let.7i" "bta.miR.140"
## [5] "bta.miR.151.3p" "bta.miR.155" "bta.miR.181b" "bta.miR.181b.1"
## [9] "bta.miR.193b" "bta.miR.214" "bta.miR.221" "bta.miR.2389"
## [13] "bta.miR.3432a" "bta.miR.3432a.1" "bta.miR.3432b" "bta.miR.378"
## [17] "bta.miR.378.1" "bta.miR.652"
##
## $ISSSS
## [1] "bta.let.7e" "bta.miR.11980" "bta.miR.11987" "bta.miR.1260b"
## [5] "bta.miR.132" "bta.miR.134" "bta.miR.139" "bta.miR.142.5p"
## [9] "bta.miR.1468" "bta.miR.150" "bta.miR.16a" "bta.miR.193a.5p"
## [13] "bta.miR.24.3p" "bta.miR.24.3p.1" "bta.miR.2419.5p" "bta.miR.2904"
## [17] "bta.miR.2904.1" "bta.miR.2904.2" "bta.miR.320a" "bta.miR.320a.1"
## [21] "bta.miR.379" "bta.miR.424.3p" "bta.miR.484" "bta.miR.485"
## [25] "bta.miR.486" "bta.miR.7859" "bta.miR.99b"
##
## $SSSSS
## [1] "bta.let.7f" "bta.let.7f.1" "bta.miR.100"
## [4] "bta.miR.10020" "bta.miR.10162.5p" "bta.miR.10164.3p"
## [7] "bta.miR.10166.5p" "bta.miR.10169.3p" "bta.miR.10170.5p"
## [10] "bta.miR.10171.3p" "bta.miR.10172.5p" "bta.miR.10173.5p"
## [13] "bta.miR.10174.3p" "bta.miR.10174.5p" "bta.miR.10175.5p"
## [16] "bta.miR.10176.5p" "bta.miR.10177.5p" "bta.miR.10178.5p"
## [19] "bta.miR.10179.5p" "bta.miR.10180.3p" "bta.miR.10181.5p"
## [22] "bta.miR.10182.3p" "bta.miR.10182.5p" "bta.miR.10183.5p"
## [25] "bta.miR.10185.5p" "bta.miR.10225a" "bta.miR.1185"
## [28] "bta.miR.1197" "bta.miR.11971" "bta.miR.11973"
## [31] "bta.miR.11978" "bta.miR.11981" "bta.miR.11982"
## [34] "bta.miR.11983" "bta.miR.11984" "bta.miR.11986c"
## [37] "bta.miR.11988" "bta.miR.11990" "bta.miR.11991"
## [40] "bta.miR.11992" "bta.miR.11993" "bta.miR.11994"
## [43] "bta.miR.11995" "bta.miR.11997" "bta.miR.11998"
## [46] "bta.miR.12001" "bta.miR.12002b" "bta.miR.12003"
## [49] "bta.miR.12004" "bta.miR.12005" "bta.miR.12005.1"
## [52] "bta.miR.12006" "bta.miR.12010" "bta.miR.12014"
## [55] "bta.miR.12017" "bta.miR.12019" "bta.miR.12025"
## [58] "bta.miR.12026" "bta.miR.12027" "bta.miR.12032"
## [61] "bta.miR.12033" "bta.miR.12036" "bta.miR.12039"
## [64] "bta.miR.12046" "bta.miR.12048" "bta.miR.12051"
## [67] "bta.miR.12054" "bta.miR.12056" "bta.miR.12057"
## [70] "bta.miR.12059" "bta.miR.12060" "bta.miR.12061"
## [73] "bta.miR.12064" "bta.miR.122" "bta.miR.1224"
## [76] "bta.miR.1247.3p" "bta.miR.1248" "bta.miR.1248.1"
## [79] "bta.miR.1249" "bta.miR.1256" "bta.miR.125a"
## [82] "bta.miR.126.5p" "bta.miR.127" "bta.miR.1277"
## [85] "bta.miR.128" "bta.miR.128.1" "bta.miR.1281"
## [88] "bta.miR.1287" "bta.miR.129" "bta.miR.129.1"
## [91] "bta.miR.129.5p" "bta.miR.129.5p.1" "bta.miR.1291"
## [94] "bta.miR.1296" "bta.miR.1298" "bta.miR.1301"
## [97] "bta.miR.1306" "bta.miR.1343.5p" "bta.miR.138"
## [100] "bta.miR.138.1" "bta.miR.1388.3p" "bta.miR.1388.5p"
## [103] "bta.miR.141" "bta.miR.1434.3p" "bta.miR.144"
## [106] "bta.miR.148a" "bta.miR.149.3p" "bta.miR.149.5p"
## [109] "bta.miR.152" "bta.miR.154b" "bta.miR.154c"
## [112] "bta.miR.1584.3p" "bta.miR.1584.5p" "bta.miR.15a"
## [115] "bta.miR.1721" "bta.miR.1777a" "bta.miR.1777b"
## [118] "bta.miR.1814c" "bta.miR.1835" "bta.miR.1839"
## [121] "bta.miR.184" "bta.miR.1842" "bta.miR.1843"
## [124] "bta.miR.185" "bta.miR.187" "bta.miR.188"
## [127] "bta.miR.18b" "bta.miR.190b" "bta.miR.191"
## [130] "bta.miR.191b" "bta.miR.192" "bta.miR.193a"
## [133] "bta.miR.1949" "bta.miR.194b" "bta.miR.194b.1"
## [136] "bta.miR.194b.3p" "bta.miR.197" "bta.miR.199b"
## [139] "bta.miR.202" "bta.miR.205" "bta.miR.206"
## [142] "bta.miR.21.3p" "bta.miR.215" "bta.miR.218"
## [145] "bta.miR.218.1" "bta.miR.219" "bta.miR.219.3p"
## [148] "bta.miR.2284a" "bta.miR.2284aa" "bta.miR.2284aa.1"
## [151] "bta.miR.2284aa.2" "bta.miR.2284aa.3" "bta.miR.2284ab"
## [154] "bta.miR.2284ac" "bta.miR.2284b" "bta.miR.2284d"
## [157] "bta.miR.2284g" "bta.miR.2284h.5p" "bta.miR.2284j"
## [160] "bta.miR.2284l" "bta.miR.2284m" "bta.miR.2284r"
## [163] "bta.miR.2284w" "bta.miR.2284z" "bta.miR.2284z.1"
## [166] "bta.miR.2284z.2" "bta.miR.2284z.3" "bta.miR.2284z.4"
## [169] "bta.miR.2284z.5" "bta.miR.2284z.6" "bta.miR.2285a"
## [172] "bta.miR.2285aa" "bta.miR.2285ab" "bta.miR.2285ac"
## [175] "bta.miR.2285ad" "bta.miR.2285ag.3p" "bta.miR.2285ah.5p"
## [178] "bta.miR.2285ai.5p" "bta.miR.2285ak.5p" "bta.miR.2285al.5p"
## [181] "bta.miR.2285am.5p" "bta.miR.2285an" "bta.miR.2285ap"
## [184] "bta.miR.2285ar" "bta.miR.2285as" "bta.miR.2285as.1"
## [187] "bta.miR.2285as.2" "bta.miR.2285at" "bta.miR.2285at.1"
## [190] "bta.miR.2285at.2" "bta.miR.2285at.3" "bta.miR.2285aw"
## [193] "bta.miR.2285ax" "bta.miR.2285ax.1" "bta.miR.2285ax.2"
## [196] "bta.miR.2285ay" "bta.miR.2285az" "bta.miR.2285b"
## [199] "bta.miR.2285b.1" "bta.miR.2285ba" "bta.miR.2285ba.1"
## [202] "bta.miR.2285bb" "bta.miR.2285bc" "bta.miR.2285bd"
## [205] "bta.miR.2285be" "bta.miR.2285bg" "bta.miR.2285bh"
## [208] "bta.miR.2285bi" "bta.miR.2285bi.1" "bta.miR.2285bj"
## [211] "bta.miR.2285bj.1" "bta.miR.2285bk" "bta.miR.2285bl"
## [214] "bta.miR.2285bm" "bta.miR.2285bo" "bta.miR.2285bp"
## [217] "bta.miR.2285bq" "bta.miR.2285br" "bta.miR.2285bs"
## [220] "bta.miR.2285bt" "bta.miR.2285bu" "bta.miR.2285bu.1"
## [223] "bta.miR.2285by" "bta.miR.2285bz" "bta.miR.2285c"
## [226] "bta.miR.2285cc" "bta.miR.2285cj" "bta.miR.2285ck"
## [229] "bta.miR.2285cl" "bta.miR.2285cm" "bta.miR.2285co"
## [232] "bta.miR.2285cp" "bta.miR.2285cr" "bta.miR.2285cr.1"
## [235] "bta.miR.2285cs" "bta.miR.2285ct" "bta.miR.2285cw"
## [238] "bta.miR.2285cw.1" "bta.miR.2285cy" "bta.miR.2285cz"
## [241] "bta.miR.2285d" "bta.miR.2285da" "bta.miR.2285db"
## [244] "bta.miR.2285dc" "bta.miR.2285dd" "bta.miR.2285de"
## [247] "bta.miR.2285dh" "bta.miR.2285dl.3p" "bta.miR.2285dl.3p.1"
## [250] "bta.miR.2285e" "bta.miR.2285e.1" "bta.miR.2285g"
## [253] "bta.miR.2285g.1" "bta.miR.2285g.2" "bta.miR.2285h"
## [256] "bta.miR.2285i" "bta.miR.2285j" "bta.miR.2285j.1"
## [259] "bta.miR.2285l" "bta.miR.2285m" "bta.miR.2285m.1"
## [262] "bta.miR.2285m.2" "bta.miR.2285m.3" "bta.miR.2285m.4"
## [265] "bta.miR.2285n" "bta.miR.2285n.1" "bta.miR.2285n.2"
## [268] "bta.miR.2285n.3" "bta.miR.2285n.4" "bta.miR.2285n.5"
## [271] "bta.miR.2285n.6" "bta.miR.2285p" "bta.miR.2285q"
## [274] "bta.miR.2285r" "bta.miR.2285v" "bta.miR.2285x"
## [277] "bta.miR.2286" "bta.miR.2287" "bta.miR.2288"
## [280] "bta.miR.2290" "bta.miR.2291" "bta.miR.2292"
## [283] "bta.miR.2295" "bta.miR.2299.3p" "bta.miR.2299.5p"
## [286] "bta.miR.2300b.3p" "bta.miR.2303" "bta.miR.2304"
## [289] "bta.miR.2305" "bta.miR.2307" "bta.miR.2308"
## [292] "bta.miR.2309" "bta.miR.2310" "bta.miR.2313.5p"
## [295] "bta.miR.2316" "bta.miR.2318" "bta.miR.2320.3p"
## [298] "bta.miR.2321" "bta.miR.2324" "bta.miR.2325a"
## [301] "bta.miR.2325c" "bta.miR.2328.3p" "bta.miR.2328.5p"
## [304] "bta.miR.2330.5p" "bta.miR.2331.5p" "bta.miR.2335"
## [307] "bta.miR.2336" "bta.miR.2338" "bta.miR.2339"
## [310] "bta.miR.2341" "bta.miR.2342" "bta.miR.2343"
## [313] "bta.miR.2344" "bta.miR.2346" "bta.miR.2347"
## [316] "bta.miR.2348" "bta.miR.2349" "bta.miR.2352"
## [319] "bta.miR.2353" "bta.miR.2354" "bta.miR.2355.3p"
## [322] "bta.miR.2356" "bta.miR.2357" "bta.miR.2359"
## [325] "bta.miR.2360" "bta.miR.2361" "bta.miR.2364"
## [328] "bta.miR.2366" "bta.miR.2367.3p" "bta.miR.2367.5p"
## [331] "bta.miR.2370.5p" "bta.miR.2371" "bta.miR.2372"
## [334] "bta.miR.2373.3p" "bta.miR.2373.5p" "bta.miR.2374"
## [337] "bta.miR.2375" "bta.miR.2376" "bta.miR.2379"
## [340] "bta.miR.2381" "bta.miR.2382.5p" "bta.miR.2384"
## [343] "bta.miR.2387" "bta.miR.2388.3p" "bta.miR.2390"
## [346] "bta.miR.2392" "bta.miR.2397.3p" "bta.miR.2397.5p"
## [349] "bta.miR.2399.5p" "bta.miR.23b.3p" "bta.miR.23b.5p"
## [352] "bta.miR.24" "bta.miR.2404" "bta.miR.2404.1"
## [355] "bta.miR.2406" "bta.miR.2407" "bta.miR.2410"
## [358] "bta.miR.2411.5p" "bta.miR.2412" "bta.miR.2413"
## [361] "bta.miR.2415.5p" "bta.miR.2416" "bta.miR.2417"
## [364] "bta.miR.2418" "bta.miR.2419.3p" "bta.miR.2421"
## [367] "bta.miR.2422" "bta.miR.2426" "bta.miR.2427"
## [370] "bta.miR.2428" "bta.miR.2430" "bta.miR.2431.5p"
## [373] "bta.miR.2433" "bta.miR.2434" "bta.miR.2436.3p"
## [376] "bta.miR.2436.5p" "bta.miR.2438" "bta.miR.2439.5p"
## [379] "bta.miR.2440" "bta.miR.2441" "bta.miR.2442"
## [382] "bta.miR.2443" "bta.miR.2447" "bta.miR.2448.3p"
## [385] "bta.miR.2450b" "bta.miR.2454.5p" "bta.miR.2455"
## [388] "bta.miR.2456" "bta.miR.2457" "bta.miR.2459"
## [391] "bta.miR.2460" "bta.miR.2462" "bta.miR.2463"
## [394] "bta.miR.2464.3p" "bta.miR.2464.5p" "bta.miR.2465"
## [397] "bta.miR.2466.3p" "bta.miR.2466.5p" "bta.miR.2467.3p"
## [400] "bta.miR.2468" "bta.miR.2473" "bta.miR.2474"
## [403] "bta.miR.2475" "bta.miR.2481" "bta.miR.2483.3p"
## [406] "bta.miR.2483.5p" "bta.miR.2486.5p" "bta.miR.27a.5p"
## [409] "bta.miR.2881" "bta.miR.2882" "bta.miR.2889"
## [412] "bta.miR.2890" "bta.miR.2892" "bta.miR.2893"
## [415] "bta.miR.2898" "bta.miR.2900" "bta.miR.2902"
## [418] "bta.miR.296.5p" "bta.miR.299" "bta.miR.299.2"
## [421] "bta.miR.29a" "bta.miR.29c" "bta.miR.29d.5p"
## [424] "bta.miR.301b" "bta.miR.3065" "bta.miR.3141"
## [427] "bta.miR.320b" "bta.miR.323" "bta.miR.323b.3p"
## [430] "bta.miR.324" "bta.miR.326" "bta.miR.329a"
## [433] "bta.miR.329b" "bta.miR.330" "bta.miR.331.3p"
## [436] "bta.miR.338" "bta.miR.33a" "bta.miR.33b"
## [439] "bta.miR.342" "bta.miR.3431" "bta.miR.345.5p"
## [442] "bta.miR.34b" "bta.miR.34c" "bta.miR.3533"
## [445] "bta.miR.365.5p" "bta.miR.3660" "bta.miR.370"
## [448] "bta.miR.374c" "bta.miR.376a" "bta.miR.376b"
## [451] "bta.miR.376c" "bta.miR.377" "bta.miR.378b"
## [454] "bta.miR.378c" "bta.miR.378d" "bta.miR.380.3p"
## [457] "bta.miR.380.5p" "bta.miR.382" "bta.miR.383"
## [460] "bta.miR.3956" "bta.miR.3957" "bta.miR.409a"
## [463] "bta.miR.411b" "bta.miR.411c.3p" "bta.miR.412"
## [466] "bta.miR.421" "bta.miR.431" "bta.miR.432"
## [469] "bta.miR.433" "bta.miR.4444" "bta.miR.4449"
## [472] "bta.miR.449a" "bta.miR.449b" "bta.miR.449d"
## [475] "bta.miR.4523" "bta.miR.454" "bta.miR.455.3p"
## [478] "bta.miR.4657" "bta.miR.483" "bta.miR.487a"
## [481] "bta.miR.487b" "bta.miR.490" "bta.miR.491"
## [484] "bta.miR.493" "bta.miR.496" "bta.miR.499"
## [487] "bta.miR.502a" "bta.miR.502a.1" "bta.miR.502b"
## [490] "bta.miR.503.3p" "bta.miR.503.5p" "bta.miR.507.3p"
## [493] "bta.miR.507b" "bta.miR.539" "bta.miR.541"
## [496] "bta.miR.542.5p" "bta.miR.543" "bta.miR.545.5p"
## [499] "bta.miR.582" "bta.miR.584" "bta.miR.584.1"
## [502] "bta.miR.584.2" "bta.miR.584.3" "bta.miR.584.4"
## [505] "bta.miR.584.5" "bta.miR.584.6" "bta.miR.584.7"
## [508] "bta.miR.6120.3p" "bta.miR.6121.3p" "bta.miR.6121.5p"
## [511] "bta.miR.6122.3p" "bta.miR.6122.5p" "bta.miR.6123"
## [514] "bta.miR.628" "bta.miR.6516" "bta.miR.6517"
## [517] "bta.miR.6518" "bta.miR.6519" "bta.miR.6520"
## [520] "bta.miR.6522" "bta.miR.6523a" "bta.miR.6525"
## [523] "bta.miR.6527" "bta.miR.6528" "bta.miR.6529a"
## [526] "bta.miR.6530" "bta.miR.6531" "bta.miR.6532"
## [529] "bta.miR.6533" "bta.miR.6534" "bta.miR.6535"
## [532] "bta.miR.6536" "bta.miR.6536.1" "bta.miR.654"
## [535] "bta.miR.656" "bta.miR.658" "bta.miR.660"
## [538] "bta.miR.664a" "bta.miR.665" "bta.miR.668.3p"
## [541] "bta.miR.669" "bta.miR.671" "bta.miR.6715"
## [544] "bta.miR.6775" "bta.miR.7" "bta.miR.7.1"
## [547] "bta.miR.7.2" "bta.miR.708" "bta.miR.7180"
## [550] "bta.miR.758" "bta.miR.760.5p" "bta.miR.763"
## [553] "bta.miR.7857.3p" "bta.miR.7857.5p" "bta.miR.7857.5p.1"
## [556] "bta.miR.7858" "bta.miR.7860" "bta.miR.7861"
## [559] "bta.miR.7862" "bta.miR.7863" "bta.miR.7865"
## [562] "bta.miR.874" "bta.miR.875" "bta.miR.9.3p"
## [565] "bta.miR.9.3p.1" "bta.miR.9.5p" "bta.miR.9.5p.1"
## [568] "bta.miR.940" "bta.miR.98" "bta.miR.9851"
##
## $IISSS
## [1] "bta.miR.1" "bta.miR.1.1" "bta.miR.10167.3p" "bta.miR.10a"
## [5] "bta.miR.10b" "bta.miR.151.5p" "bta.miR.199c" "bta.miR.212"
## [9] "bta.miR.28" "bta.miR.2888" "bta.miR.2888.1" "bta.miR.411a"
## [13] "bta.miR.615"
##
## $DDSSS
## [1] "bta.miR.101" "bta.miR.101.1" "bta.miR.11986b"
## [4] "bta.miR.12030" "bta.miR.1247.5p" "bta.miR.147"
## [7] "bta.miR.148b" "bta.miR.190a" "bta.miR.200a"
## [10] "bta.miR.204" "bta.miR.210" "bta.miR.2284v"
## [13] "bta.miR.2284x" "bta.miR.2285aj.5p" "bta.miR.2332"
## [16] "bta.miR.2411.3p" "bta.miR.2424" "bta.miR.2454.3p"
## [19] "bta.miR.26b" "bta.miR.29d.3p" "bta.miR.301a"
## [22] "bta.miR.31" "bta.miR.339a" "bta.miR.339b"
## [25] "bta.miR.340" "bta.miR.345.3p" "bta.miR.34a"
## [28] "bta.miR.361" "bta.miR.504" "bta.miR.6119.5p"
## [31] "bta.miR.677" "bta.miR.885" "bta.miR.99a.3p"
##
## $IISIS
## [1] "bta.miR.10172.3p" "bta.miR.126.3p" "bta.miR.143" "bta.miR.195"
## [5] "bta.miR.369.5p" "bta.miR.451" "bta.miR.497"
##
## $SDSSI
## [1] "bta.miR.103" "bta.miR.103.1" "bta.miR.11977" "bta.miR.11989"
## [5] "bta.miR.222" "bta.miR.2285av" "bta.miR.2285cf" "bta.miR.331.5p"
## [9] "bta.miR.425.3p"
##
## $DSSDS
## [1] "bta.miR.106a" "bta.miR.1246" "bta.miR.17.3p" "bta.miR.181c"
## [5] "bta.miR.182" "bta.miR.200b" "bta.miR.20a"
##
## $SDSIS
## [1] "bta.miR.107" "bta.miR.29b" "bta.miR.29b.1"
##
## $SDSSS
## [1] "bta.miR.11972" "bta.miR.11975" "bta.miR.11976" "bta.miR.11976.1"
## [5] "bta.miR.11985" "bta.miR.12023" "bta.miR.12034" "bta.miR.2340"
## [9] "bta.miR.23a" "bta.miR.27a.3p" "bta.miR.2885" "bta.miR.2886"
## [13] "bta.miR.2887" "bta.miR.2887.1" "bta.miR.2899" "bta.miR.3154"
## [17] "bta.miR.92b"
##
## $SSSDS
## [1] "bta.miR.125b" "bta.miR.125b.1" "bta.miR.1343.3p" "bta.miR.15b"
## [5] "bta.miR.17.5p" "bta.miR.183" "bta.miR.200c" "bta.miR.2285cd"
## [9] "bta.miR.296.3p" "bta.miR.423.3p" "bta.miR.92a" "bta.miR.92a.1"
##
## $DDSSI
## [1] "bta.miR.1307" "bta.miR.196b" "bta.miR.2284y" "bta.miR.2284y.1"
## [5] "bta.miR.2284y.2" "bta.miR.2284y.3" "bta.miR.2284y.4" "bta.miR.2284y.5"
## [9] "bta.miR.2284y.6" "bta.miR.26a" "bta.miR.26a.1"
##
## $DSSSD
## [1] "bta.miR.130b" "bta.miR.135a" "bta.miR.135a.1" "bta.miR.136"
## [5] "bta.miR.1434.5p" "bta.miR.18a" "bta.miR.19a" "bta.miR.2477"
## [9] "bta.miR.30c" "bta.miR.3601" "bta.miR.374a" "bta.miR.455.5p"
## [13] "bta.miR.6119.3p" "bta.miR.769"
##
## $SSSIS
## [1] "bta.miR.133a" "bta.miR.133a.1" "bta.miR.223" "bta.miR.494"
##
## $SSSID
## [1] "bta.miR.135b" "bta.miR.2285o" "bta.miR.2285o.1" "bta.miR.2285o.2"
## [5] "bta.miR.2285o.3" "bta.miR.2285o.4"
##
## $IISSD
## [1] "bta.miR.142.3p" "bta.miR.146a" "bta.miR.22.3p" "bta.miR.2478"
## [5] "bta.miR.424.5p" "bta.miR.425.5p" "bta.miR.4286" "bta.miR.4286.1"
##
## $ISSIS
## [1] "bta.miR.145" "bta.miR.21.5p" "bta.miR.22.5p"
##
## $SISSS
## [1] "bta.miR.16b" "bta.miR.193a.3p" "bta.miR.199a.3p"
## [4] "bta.miR.199a.3p.1" "bta.miR.199a.5p" "bta.miR.199a.5p.1"
## [7] "bta.miR.2285u" "bta.miR.410" "bta.miR.495"
##
## $DDSDI
## [1] "bta.miR.181d" "bta.miR.25" "bta.miR.744"
##
## $SISSD
## [1] "bta.miR.186" "bta.miR.2285bn" "bta.miR.2285ce" "bta.miR.2285f"
## [5] "bta.miR.2285f.1" "bta.miR.2285k" "bta.miR.2285k.1" "bta.miR.2285k.2"
## [9] "bta.miR.2285k.3" "bta.miR.2285k.4" "bta.miR.335" "bta.miR.450a"
## [13] "bta.miR.450a.1" "bta.miR.450b" "bta.miR.500"
##
## $SSSSD
## [1] "bta.miR.194" "bta.miR.194.1" "bta.miR.369.3p"
##
## $ISSII
## [1] "bta.miR.196a" "bta.miR.196a.1" "bta.miR.375"
##
## $DDSDD
## [1] "bta.miR.19b" "bta.miR.19b.1"
##
## $DISDS
## [1] "bta.miR.20b"
##
## $DISDD
## [1] "bta.miR.211" "bta.miR.2285t" "bta.miR.30a.5p" "bta.miR.30f"
## [5] "bta.miR.363"
##
## $DISSD
## [1] "bta.miR.2285bf" "bta.miR.2285bf.1" "bta.miR.2285bf.2" "bta.miR.30b.5p"
## [5] "bta.miR.362.3p" "bta.miR.374b"
##
## $SSSDI
## [1] "bta.miR.30b.3p"
##
## $DDSSD
## [1] "bta.miR.3613a" "bta.miR.429" "bta.miR.592"
##
## $SISID
## [1] "bta.miR.376d" "bta.miR.381" "bta.miR.655"
##
## $IISID
## [1] "bta.miR.376e"
##
## $SISIS
## [1] "bta.miR.411c.5p"
##
## $ISSDI
## [1] "bta.miR.423.5p"
##
## $IISDS
## [1] "bta.miR.574"
##
## $SDSDI
## [1] "bta.miR.760.3p"
##
## $ISSDS
## [1] "bta.miR.877"
##
## $DSSDI
## [1] "bta.miR.93"
##
## $SISDS
## [1] "bta.miR.99a.5p"
The patterning structure generated wich depicts a wide view of expression change confounded with the smaller ‘jumps’ can be deciphered to understand what patterns are interesting/occur at the highest frequencies. For this use case, the pattern S-DSSI was interesting because it indicates mirs that decrease during pregnancy and increase after partruition. Considering the way mirna affects mrna, it can also be deduced that the mRNA pattern S-ISSD could potentially be directly impacted by the mirs in this dataset.
## [1] "bta.miR.103" "bta.miR.103.1" "bta.miR.11977" "bta.miR.11989"
## [5] "bta.miR.222" "bta.miR.2285av" "bta.miR.2285cf" "bta.miR.331.5p"
## [9] "bta.miR.425.3p"
## [1] "bta.miR.186" "bta.miR.2285bn" "bta.miR.2285ce" "bta.miR.2285f"
## [5] "bta.miR.2285f.1" "bta.miR.2285k" "bta.miR.2285k.1" "bta.miR.2285k.2"
## [9] "bta.miR.2285k.3" "bta.miR.2285k.4" "bta.miR.335" "bta.miR.450a"
## [13] "bta.miR.450a.1" "bta.miR.450b" "bta.miR.500"
We can use miRwalk to identify target genes for the selected miRNA. The following code assumes that the miRwalk results for the miRNAs of interest have been downloaded locally. This code integrates analyses of miRNA and mRNA. Assuming the mapped motif index for mRNA has a well-defined structural pattern, the loop will extract the targets from the gene symbol column and then filter the mapped motif index to reveal the patterns exhibited by the miRNA targets.
# Specify the file path
file_path <- "C:/Users/12142/Bioinformatics/mirwalk csv/btamir SDSSI mining.csv"
# Import the CSV
mirwalk_csv <- read.csv(file_path, header = TRUE)
miRNA_genes <- mirwalk_csv$genesymbol
results <- list()
# Iterate over each category in mmi_mrna
for (category in names(mmi_mrna)) {
# Find common genes between miRNA_genes and the current category
common_genes <- intersect(miRNA_genes, mmi_mrna[[category]])
# If there are common genes, store them in the results list
if (length(common_genes) > 0) {
results[[category]] <- common_genes
}
}## Length Class Mode
## SSSIS 222 -none- character
## SSSSS 1733 -none- character
## ISSIS 306 -none- character
## DSSDS 282 -none- character
## SSSDS 158 -none- character
## SDSSS 272 -none- character
## SSSSI 12 -none- character
## IISIS 56 -none- character
## SISSS 112 -none- character
## DDSSS 190 -none- character
## DISSD 10 -none- character
## SISSD 70 -none- character
## IISSD 12 -none- character
## ISSSS 192 -none- character
## DSSSS 223 -none- character
## IISSS 89 -none- character
## DISDS 11 -none- character
## SSSDI 6 -none- character
## SDSIS 102 -none- character
## DDSDS 58 -none- character
## SDSSI 46 -none- character
## SDSDS 5 -none- character
## IDSIS 12 -none- character
## SISID 1 -none- character
## SISDS 48 -none- character
## SSSSD 17 -none- character
## DDSIS 5 -none- character
## DSSSD 15 -none- character
## DDSDI 6 -none- character
## DISDD 13 -none- character
## IDSSI 5 -none- character
## SSDIS 1 -none- character
## DDSSD 1 -none- character
## SSSID 9 -none- character
## SISIS 5 -none- character
## ISSII 4 -none- character
## ISSSI 15 -none- character
## IISDS 2 -none- character
## DSSDD 4 -none- character
## DSSIS 1 -none- character
## DSSID 2 -none- character
## DSSDI 1 -none- character
## IISID 6 -none- character
## SDSDI 5 -none- character
## IDSSS 3 -none- character
## SISDD 12 -none- character
## DDSSI 2 -none- character
## IDSII 3 -none- character
## DDDIS 1 -none- character
## DISSS 2 -none- character
## SSIDS 1 -none- character
The pattern opposite of the miRNA pattern selected is S-ISSD. Pulling from the targest that were filtered through our mapped motif index, we can see what genes are present.
## [1] "MRPL57" "TOLLIP" "DUSP23" "ZHX3" "HIP1R" "EME2"
## [7] "ZNF697" "ZNF575" "KBTBD11" "INAFM2" "KSR1" "PPP1R12B"
## [13] "BICDL1" "RAB43" "SNED1" "SHANK3" "SH3BP2" "REX1BD"
## [19] "TBX2" "TSC22D4" "SRSF4" "WDR86" "DMWD" "NEURL1B"
## [25] "TOM1L2" "SKI" "ZDHHC8" "PAM16" "FAM53B" "BRD1"
## [31] "CTBP1" "PPP1R37" "LOC783012" "DGKQ" "CPLANE2" "ITPRIPL2"
## [37] "TTYH3" "SOX12" "HES4" "FBRSL1" "SH3PXD2B" "MAZ"
## [43] "ELL" "CBARP" "MED19" "HES6" "LMOD1" "AXIN1"
## [49] "SMIM10L1" "REXO1" "FRAT2" "ZBTB42" "ZNF598" "NRARP"
## [55] "DIDO1" "FBF1" "MRPS26" "ESS2" "NELFA" "ZNF771"
## [61] "FUT4" "FRAT1" "SHROOM2" "NUBP2" "TMEM160" "POLR1D"
## [67] "PDCD1" "GNB1L" "MEGF6" "KLF16"
# Specify the file path
file_path <- "C:/Users/12142/Bioinformatics/mirwalk csv/btamir SISSD mining.csv"
# Import the CSV
mirwalk_csv <- read.csv(file_path, header = TRUE)
miRNA_genes <- mirwalk_csv$genesymbol
results <- list()
# Iterate over each category in mmi_mrna
for (category in names(mmi_mrna)) {
# Find common genes between miRNA_genes and the current category
common_genes <- intersect(miRNA_genes, mmi_mrna[[category]])
# If there are common genes, store them in the results list
if (length(common_genes) > 0) {
results[[category]] <- common_genes
}
}The pattern opposite of the miRNA pattern selected is S-ISSD. Pulling from the targest that were filtered through our mapped motif index, we can see what genes are present.
## [1] "IFITM3" "CDC42SE2" "C9H6orf120" "GTF2A1" "TP53INP1"
## [6] "ANGEL2" "NRXN1" "MBLAC2" "C7H5orf15" "BLOC1S6"
## [11] "CERS5" "SYPL1" "MAPK8" "PAK2" "HMGB1"
# Specify the file path
file_path <- "C:/Users/12142/Bioinformatics/mirwalk csv/btamir542_5p mirwalk.csv"
# Import the CSV
mirwalk_csv <- read.csv(file_path, header = TRUE)
miRNA_genes <- mirwalk_csv$genesymbol
results <- list()
# Iterate over each category in mmi_mrna
for (category in names(mmi_mrna)) {
# Find common genes between miRNA_genes and the current category
common_genes <- intersect(miRNA_genes, mmi_mrna[[category]])
# If there are common genes, store them in the results list
if (length(common_genes) > 0) {
results[[category]] <- common_genes
}
}
for (key in names(results)) {
if (substr(key, 3, 3) == "D") {
print(paste("Key:", key))
print(results[[key]])
}
}## [1] "Key: SSDIS"
## [1] "NRGN"
## [1] "Key: DDDIS"
## [1] "VTCN1"
# Specify the file path
file_path <- "C:/Users/12142/Bioinformatics/mirwalk csv/vmp2284.csv"
# Import the CSV
mirwalk_csv <- read.csv(file_path, header = TRUE)
miRNA_genes <- mirwalk_csv$genesymbol
results <- list()
# Iterate over each category in mmi_mrna
for (category in names(mmi_mrna)) {
# Find common genes between miRNA_genes and the current category
common_genes <- intersect(miRNA_genes, mmi_mrna[[category]])
# If there are common genes, store them in the results list
if (length(common_genes) > 0) {
results[[category]] <- common_genes
}
}
# V-MP Increase in expression
for (key in names(results)) {
if (substr(key, 2, 2) == "I") {
print(paste("Key:", key))
print(results[[key]])
}
}## [1] "Key: IISIS"
## [1] "CD3E" "GIMAP8"
## [1] "Key: SISSS"
## [1] "RNF220" "EAF1" "ZC3H18" "NECTIN2" "DAPP1" "CEBPD"
## [1] "Key: SISSD"
## [1] "BRD1" "GPC1" "HES4"
## [1] "Key: IISSS"
## [1] "SHISA5" "MCOLN2" "TMEM51" "RAPGEF1" "GPR146" "SLC1A2" "FOSL2"
## [1] "Key: DISDS"
## [1] "DENND1B"
## [1] "Key: SISDS"
## [1] "FBN3" "ZNF710" "MLLT1"
## [1] "Key: SISDD"
## [1] "RASL10B"
# Specify the file path
file_path <- "C:/Users/12142/Bioinformatics/mirwalk csv/vmp2285dec.csv"
# Import the CSV
mirwalk_csv <- read.csv(file_path, header = TRUE)
miRNA_genes <- mirwalk_csv$genesymbol
results <- list()
# Iterate over each category in mmi_mrna
for (category in names(mmi_mrna)) {
# Find common genes between miRNA_genes and the current category
common_genes <- intersect(miRNA_genes, mmi_mrna[[category]])
# If there are common genes, store them in the results list
if (length(common_genes) > 0) {
results[[category]] <- common_genes
}
}
# V-MP Increase in expression
for (key in names(results)) {
if (substr(key, 2, 2) == "I") {
print(paste("Key:", key))
print(results[[key]])
}
}## [1] "Key: IISIS"
## [1] "BHLHE22"
## [1] "Key: SISSS"
## [1] "GNA13" "SYNJ2" "DAPP1" "CEBPD"
## [1] "Key: SISSD"
## [1] "HES4"
## [1] "Key: IISSS"
## [1] "UBE2G2" "RASAL1" "SLC1A2" "FOSL2"
## [1] "Key: SISDS"
## [1] "MCAT" "ZNF710"
## [1] "Key: SISIS"
## [1] "RAB38"
## [1] "Key: IISDS"
## [1] "CLDN8"
# Specify the file path
file_path <- "C:/Users/12142/Bioinformatics/mirwalk csv/vmp2285inc.csv"
# Import the CSV
mirwalk_csv <- read.csv(file_path, header = TRUE)
miRNA_genes <- mirwalk_csv$genesymbol
results <- list()
# Iterate over each category in mmi_mrna
for (category in names(mmi_mrna)) {
# Find common genes between miRNA_genes and the current category
common_genes <- intersect(miRNA_genes, mmi_mrna[[category]])
# If there are common genes, store them in the results list
if (length(common_genes) > 0) {
results[[category]] <- common_genes
}
}
# V-MP Increase in expression
for (key in names(results)) {
if (substr(key, 2, 2) == "D") {
print(paste("Key:", key))
print(results[[key]])
}
}## [1] "Key: SDSSS"
## [1] "PI15" "SGMS2" "RBM41" "GOLGB1" "SEPTIN11" "TMEM254"
## [7] "ESCO1" "PPP1R12A" "CAVIN4" "TBCEL" "HMMR" "IDNK"
## [13] "MAMLD1" "TMTC4" "MARF1" "UBE2G1" "MAST4"
## [1] "Key: DDSSS"
## [1] "BTBD11" "C1H3orf52" "MAP2" "GPD2" "SAXO2" "SECISBP2L"
## [7] "BARD1" "HMGXB4" "LYPD1" "SLC13A3" "NRIP3" "IFNLR1"
## [13] "RALGPS2" "PPFIBP2" "MAGI3" "CREB5" "PEX5L"
## [1] "Key: SDSIS"
## [1] "CD109" "KCNQ5"
## [1] "Key: DDSDS"
## [1] "PPIL4" "TPX2" "ITCH" "ZNF548"
## [1] "Key: SDSSI"
## [1] "HBEGF"
## [1] "Key: SDSDS"
## [1] "HELLS"
## [1] "Key: IDSIS"
## [1] "RASEF" "STEAP4" "ADD3"
## [1] "Key: DDSDI"
## [1] "PERP" "SLC38A1"
## [1] "Key: IDSII"
## [1] "SH3BGRL2"
# Specify the file path
file_path <- "C:/Users/12142/Bioinformatics/mirwalk csv/decelpl2285.csv"
# Import the CSV
mirwalk_csv <- read.csv(file_path, header = TRUE)
miRNA_genes <- mirwalk_csv$genesymbol
results <- list()
# Iterate over each category in mmi_mrna
for (category in names(mmi_mrna)) {
# Find common genes between miRNA_genes and the current category
common_genes <- intersect(miRNA_genes, mmi_mrna[[category]])
# If there are common genes, store them in the results list
if (length(common_genes) > 0) {
results[[category]] <- common_genes
}
}
# V-MP Increase in expression
for (key in names(results)) {
if (substr(key, 5, 5) == "I") {
print(paste("Key:", key))
print(results[[key]])
}
}## [1] "Key: SSSSI"
## [1] "PRPS1" "TMED2"
## [1] "Key: SDSSI"
## [1] "HBEGF"
## [1] "Key: DDSDI"
## [1] "PERP" "SLC38A1"
## [1] "Key: IDSII"
## [1] "SH3BGRL2"
# Specify the file path
file_path <- "C:/Users/12142/Bioinformatics/mirwalk csv/elpl2285avcf.csv"
# Import the CSV
mirwalk_csv <- read.csv(file_path, header = TRUE)
miRNA_genes <- mirwalk_csv$genesymbol
results <- list()
# Iterate over each category in mmi_mrna
for (category in names(mmi_mrna)) {
# Find common genes between miRNA_genes and the current category
common_genes <- intersect(miRNA_genes, mmi_mrna[[category]])
# If there are common genes, store them in the results list
if (length(common_genes) > 0) {
results[[category]] <- common_genes
}
}
# V-MP Increase in expression
for (key in names(results)) {
if (substr(key, 5, 5) == "D") {
print(paste("Key:", key))
print(results[[key]])
}
}## [1] "Key: SISSD"
## [1] "HES4"
## [1] "Key: SSSSD"
## [1] "SLC12A7"
# Specify the file path
file_path <- "C:/Users/12142/Bioinformatics/mirwalk csv/btamir2284y.csv"
# Import the CSV
mirwalk_csv <- read.csv(file_path, header = TRUE)
miRNA_genes <- mirwalk_csv$genesymbol
results <- list()
# Iterate over each category in mmi_mrna
for (category in names(mmi_mrna)) {
# Find common genes between miRNA_genes and the current category
common_genes <- intersect(miRNA_genes, mmi_mrna[[category]])
# If there are common genes, store them in the results list
if (length(common_genes) > 0) {
results[[category]] <- common_genes
}
}
# V-MP Increase in expression
for (key in names(results)) {
if (substr(key, 5, 5) == "D") {
print(paste("Key:", key))
print(results[[key]])
}
}## [1] "Key: SISSD"
## [1] "GPC1" "HES4"
## [1] "Key: SSSSD"
## [1] "SLC12A7"
## $DSSSS
## [1] "bta.let.7a.3p" "bta.let.7a.3p.1" "bta.let.7g" "bta.miR.106b"
## [5] "bta.miR.1271" "bta.miR.146b" "bta.miR.2284k" "bta.miR.2285au"
## [9] "bta.miR.2317" "bta.miR.2369" "bta.miR.2378" "bta.miR.2400"
## [13] "bta.miR.2420" "bta.miR.2484" "bta.miR.30e.5p" "bta.miR.32"
## [17] "bta.miR.328" "bta.miR.362.5p" "bta.miR.365.3p" "bta.miR.365.3p.1"
## [21] "bta.miR.452" "bta.miR.532" "bta.miR.6524" "bta.miR.664b"
## [25] "bta.miR.767" "bta.miR.95" "bta.miR.96"
##
## $SSSSI
## [1] "bta.let.7a.5p" "bta.let.7a.5p.1" "bta.let.7a.5p.2" "bta.let.7d"
## [5] "bta.miR.130a" "bta.miR.181a" "bta.miR.181a.1" "bta.miR.224"
## [9] "bta.miR.27b" "bta.miR.30d" "bta.miR.505" "bta.miR.8549"
##
## $ISSSI
## [1] "bta.let.7b" "bta.let.7c" "bta.let.7i" "bta.miR.140"
## [5] "bta.miR.151.3p" "bta.miR.155" "bta.miR.181b" "bta.miR.181b.1"
## [9] "bta.miR.193b" "bta.miR.214" "bta.miR.221" "bta.miR.2389"
## [13] "bta.miR.3432a" "bta.miR.3432a.1" "bta.miR.3432b" "bta.miR.378"
## [17] "bta.miR.378.1" "bta.miR.652"
##
## $ISSSS
## [1] "bta.let.7e" "bta.miR.11980" "bta.miR.11987" "bta.miR.1260b"
## [5] "bta.miR.132" "bta.miR.134" "bta.miR.139" "bta.miR.142.5p"
## [9] "bta.miR.1468" "bta.miR.150" "bta.miR.16a" "bta.miR.193a.5p"
## [13] "bta.miR.24.3p" "bta.miR.24.3p.1" "bta.miR.2419.5p" "bta.miR.2904"
## [17] "bta.miR.2904.1" "bta.miR.2904.2" "bta.miR.320a" "bta.miR.320a.1"
## [21] "bta.miR.379" "bta.miR.424.3p" "bta.miR.484" "bta.miR.485"
## [25] "bta.miR.486" "bta.miR.7859" "bta.miR.99b"
##
## $SSSSS
## [1] "bta.let.7f" "bta.let.7f.1" "bta.miR.100"
## [4] "bta.miR.10020" "bta.miR.10162.5p" "bta.miR.10164.3p"
## [7] "bta.miR.10166.5p" "bta.miR.10169.3p" "bta.miR.10170.5p"
## [10] "bta.miR.10171.3p" "bta.miR.10172.5p" "bta.miR.10173.5p"
## [13] "bta.miR.10174.3p" "bta.miR.10174.5p" "bta.miR.10175.5p"
## [16] "bta.miR.10176.5p" "bta.miR.10177.5p" "bta.miR.10178.5p"
## [19] "bta.miR.10179.5p" "bta.miR.10180.3p" "bta.miR.10181.5p"
## [22] "bta.miR.10182.3p" "bta.miR.10182.5p" "bta.miR.10183.5p"
## [25] "bta.miR.10185.5p" "bta.miR.10225a" "bta.miR.1185"
## [28] "bta.miR.1197" "bta.miR.11971" "bta.miR.11973"
## [31] "bta.miR.11978" "bta.miR.11981" "bta.miR.11982"
## [34] "bta.miR.11983" "bta.miR.11984" "bta.miR.11986c"
## [37] "bta.miR.11988" "bta.miR.11990" "bta.miR.11991"
## [40] "bta.miR.11992" "bta.miR.11993" "bta.miR.11994"
## [43] "bta.miR.11995" "bta.miR.11997" "bta.miR.11998"
## [46] "bta.miR.12001" "bta.miR.12002b" "bta.miR.12003"
## [49] "bta.miR.12004" "bta.miR.12005" "bta.miR.12005.1"
## [52] "bta.miR.12006" "bta.miR.12010" "bta.miR.12014"
## [55] "bta.miR.12017" "bta.miR.12019" "bta.miR.12025"
## [58] "bta.miR.12026" "bta.miR.12027" "bta.miR.12032"
## [61] "bta.miR.12033" "bta.miR.12036" "bta.miR.12039"
## [64] "bta.miR.12046" "bta.miR.12048" "bta.miR.12051"
## [67] "bta.miR.12054" "bta.miR.12056" "bta.miR.12057"
## [70] "bta.miR.12059" "bta.miR.12060" "bta.miR.12061"
## [73] "bta.miR.12064" "bta.miR.122" "bta.miR.1224"
## [76] "bta.miR.1247.3p" "bta.miR.1248" "bta.miR.1248.1"
## [79] "bta.miR.1249" "bta.miR.1256" "bta.miR.125a"
## [82] "bta.miR.126.5p" "bta.miR.127" "bta.miR.1277"
## [85] "bta.miR.128" "bta.miR.128.1" "bta.miR.1281"
## [88] "bta.miR.1287" "bta.miR.129" "bta.miR.129.1"
## [91] "bta.miR.129.5p" "bta.miR.129.5p.1" "bta.miR.1291"
## [94] "bta.miR.1296" "bta.miR.1298" "bta.miR.1301"
## [97] "bta.miR.1306" "bta.miR.1343.5p" "bta.miR.138"
## [100] "bta.miR.138.1" "bta.miR.1388.3p" "bta.miR.1388.5p"
## [103] "bta.miR.141" "bta.miR.1434.3p" "bta.miR.144"
## [106] "bta.miR.148a" "bta.miR.149.3p" "bta.miR.149.5p"
## [109] "bta.miR.152" "bta.miR.154b" "bta.miR.154c"
## [112] "bta.miR.1584.3p" "bta.miR.1584.5p" "bta.miR.15a"
## [115] "bta.miR.1721" "bta.miR.1777a" "bta.miR.1777b"
## [118] "bta.miR.1814c" "bta.miR.1835" "bta.miR.1839"
## [121] "bta.miR.184" "bta.miR.1842" "bta.miR.1843"
## [124] "bta.miR.185" "bta.miR.187" "bta.miR.188"
## [127] "bta.miR.18b" "bta.miR.190b" "bta.miR.191"
## [130] "bta.miR.191b" "bta.miR.192" "bta.miR.193a"
## [133] "bta.miR.1949" "bta.miR.194b" "bta.miR.194b.1"
## [136] "bta.miR.194b.3p" "bta.miR.197" "bta.miR.199b"
## [139] "bta.miR.202" "bta.miR.205" "bta.miR.206"
## [142] "bta.miR.21.3p" "bta.miR.215" "bta.miR.218"
## [145] "bta.miR.218.1" "bta.miR.219" "bta.miR.219.3p"
## [148] "bta.miR.2284a" "bta.miR.2284aa" "bta.miR.2284aa.1"
## [151] "bta.miR.2284aa.2" "bta.miR.2284aa.3" "bta.miR.2284ab"
## [154] "bta.miR.2284ac" "bta.miR.2284b" "bta.miR.2284d"
## [157] "bta.miR.2284g" "bta.miR.2284h.5p" "bta.miR.2284j"
## [160] "bta.miR.2284l" "bta.miR.2284m" "bta.miR.2284r"
## [163] "bta.miR.2284w" "bta.miR.2284z" "bta.miR.2284z.1"
## [166] "bta.miR.2284z.2" "bta.miR.2284z.3" "bta.miR.2284z.4"
## [169] "bta.miR.2284z.5" "bta.miR.2284z.6" "bta.miR.2285a"
## [172] "bta.miR.2285aa" "bta.miR.2285ab" "bta.miR.2285ac"
## [175] "bta.miR.2285ad" "bta.miR.2285ag.3p" "bta.miR.2285ah.5p"
## [178] "bta.miR.2285ai.5p" "bta.miR.2285ak.5p" "bta.miR.2285al.5p"
## [181] "bta.miR.2285am.5p" "bta.miR.2285an" "bta.miR.2285ap"
## [184] "bta.miR.2285ar" "bta.miR.2285as" "bta.miR.2285as.1"
## [187] "bta.miR.2285as.2" "bta.miR.2285at" "bta.miR.2285at.1"
## [190] "bta.miR.2285at.2" "bta.miR.2285at.3" "bta.miR.2285aw"
## [193] "bta.miR.2285ax" "bta.miR.2285ax.1" "bta.miR.2285ax.2"
## [196] "bta.miR.2285ay" "bta.miR.2285az" "bta.miR.2285b"
## [199] "bta.miR.2285b.1" "bta.miR.2285ba" "bta.miR.2285ba.1"
## [202] "bta.miR.2285bb" "bta.miR.2285bc" "bta.miR.2285bd"
## [205] "bta.miR.2285be" "bta.miR.2285bg" "bta.miR.2285bh"
## [208] "bta.miR.2285bi" "bta.miR.2285bi.1" "bta.miR.2285bj"
## [211] "bta.miR.2285bj.1" "bta.miR.2285bk" "bta.miR.2285bl"
## [214] "bta.miR.2285bm" "bta.miR.2285bo" "bta.miR.2285bp"
## [217] "bta.miR.2285bq" "bta.miR.2285br" "bta.miR.2285bs"
## [220] "bta.miR.2285bt" "bta.miR.2285bu" "bta.miR.2285bu.1"
## [223] "bta.miR.2285by" "bta.miR.2285bz" "bta.miR.2285c"
## [226] "bta.miR.2285cc" "bta.miR.2285cj" "bta.miR.2285ck"
## [229] "bta.miR.2285cl" "bta.miR.2285cm" "bta.miR.2285co"
## [232] "bta.miR.2285cp" "bta.miR.2285cr" "bta.miR.2285cr.1"
## [235] "bta.miR.2285cs" "bta.miR.2285ct" "bta.miR.2285cw"
## [238] "bta.miR.2285cw.1" "bta.miR.2285cy" "bta.miR.2285cz"
## [241] "bta.miR.2285d" "bta.miR.2285da" "bta.miR.2285db"
## [244] "bta.miR.2285dc" "bta.miR.2285dd" "bta.miR.2285de"
## [247] "bta.miR.2285dh" "bta.miR.2285dl.3p" "bta.miR.2285dl.3p.1"
## [250] "bta.miR.2285e" "bta.miR.2285e.1" "bta.miR.2285g"
## [253] "bta.miR.2285g.1" "bta.miR.2285g.2" "bta.miR.2285h"
## [256] "bta.miR.2285i" "bta.miR.2285j" "bta.miR.2285j.1"
## [259] "bta.miR.2285l" "bta.miR.2285m" "bta.miR.2285m.1"
## [262] "bta.miR.2285m.2" "bta.miR.2285m.3" "bta.miR.2285m.4"
## [265] "bta.miR.2285n" "bta.miR.2285n.1" "bta.miR.2285n.2"
## [268] "bta.miR.2285n.3" "bta.miR.2285n.4" "bta.miR.2285n.5"
## [271] "bta.miR.2285n.6" "bta.miR.2285p" "bta.miR.2285q"
## [274] "bta.miR.2285r" "bta.miR.2285v" "bta.miR.2285x"
## [277] "bta.miR.2286" "bta.miR.2287" "bta.miR.2288"
## [280] "bta.miR.2290" "bta.miR.2291" "bta.miR.2292"
## [283] "bta.miR.2295" "bta.miR.2299.3p" "bta.miR.2299.5p"
## [286] "bta.miR.2300b.3p" "bta.miR.2303" "bta.miR.2304"
## [289] "bta.miR.2305" "bta.miR.2307" "bta.miR.2308"
## [292] "bta.miR.2309" "bta.miR.2310" "bta.miR.2313.5p"
## [295] "bta.miR.2316" "bta.miR.2318" "bta.miR.2320.3p"
## [298] "bta.miR.2321" "bta.miR.2324" "bta.miR.2325a"
## [301] "bta.miR.2325c" "bta.miR.2328.3p" "bta.miR.2328.5p"
## [304] "bta.miR.2330.5p" "bta.miR.2331.5p" "bta.miR.2335"
## [307] "bta.miR.2336" "bta.miR.2338" "bta.miR.2339"
## [310] "bta.miR.2341" "bta.miR.2342" "bta.miR.2343"
## [313] "bta.miR.2344" "bta.miR.2346" "bta.miR.2347"
## [316] "bta.miR.2348" "bta.miR.2349" "bta.miR.2352"
## [319] "bta.miR.2353" "bta.miR.2354" "bta.miR.2355.3p"
## [322] "bta.miR.2356" "bta.miR.2357" "bta.miR.2359"
## [325] "bta.miR.2360" "bta.miR.2361" "bta.miR.2364"
## [328] "bta.miR.2366" "bta.miR.2367.3p" "bta.miR.2367.5p"
## [331] "bta.miR.2370.5p" "bta.miR.2371" "bta.miR.2372"
## [334] "bta.miR.2373.3p" "bta.miR.2373.5p" "bta.miR.2374"
## [337] "bta.miR.2375" "bta.miR.2376" "bta.miR.2379"
## [340] "bta.miR.2381" "bta.miR.2382.5p" "bta.miR.2384"
## [343] "bta.miR.2387" "bta.miR.2388.3p" "bta.miR.2390"
## [346] "bta.miR.2392" "bta.miR.2397.3p" "bta.miR.2397.5p"
## [349] "bta.miR.2399.5p" "bta.miR.23b.3p" "bta.miR.23b.5p"
## [352] "bta.miR.24" "bta.miR.2404" "bta.miR.2404.1"
## [355] "bta.miR.2406" "bta.miR.2407" "bta.miR.2410"
## [358] "bta.miR.2411.5p" "bta.miR.2412" "bta.miR.2413"
## [361] "bta.miR.2415.5p" "bta.miR.2416" "bta.miR.2417"
## [364] "bta.miR.2418" "bta.miR.2419.3p" "bta.miR.2421"
## [367] "bta.miR.2422" "bta.miR.2426" "bta.miR.2427"
## [370] "bta.miR.2428" "bta.miR.2430" "bta.miR.2431.5p"
## [373] "bta.miR.2433" "bta.miR.2434" "bta.miR.2436.3p"
## [376] "bta.miR.2436.5p" "bta.miR.2438" "bta.miR.2439.5p"
## [379] "bta.miR.2440" "bta.miR.2441" "bta.miR.2442"
## [382] "bta.miR.2443" "bta.miR.2447" "bta.miR.2448.3p"
## [385] "bta.miR.2450b" "bta.miR.2454.5p" "bta.miR.2455"
## [388] "bta.miR.2456" "bta.miR.2457" "bta.miR.2459"
## [391] "bta.miR.2460" "bta.miR.2462" "bta.miR.2463"
## [394] "bta.miR.2464.3p" "bta.miR.2464.5p" "bta.miR.2465"
## [397] "bta.miR.2466.3p" "bta.miR.2466.5p" "bta.miR.2467.3p"
## [400] "bta.miR.2468" "bta.miR.2473" "bta.miR.2474"
## [403] "bta.miR.2475" "bta.miR.2481" "bta.miR.2483.3p"
## [406] "bta.miR.2483.5p" "bta.miR.2486.5p" "bta.miR.27a.5p"
## [409] "bta.miR.2881" "bta.miR.2882" "bta.miR.2889"
## [412] "bta.miR.2890" "bta.miR.2892" "bta.miR.2893"
## [415] "bta.miR.2898" "bta.miR.2900" "bta.miR.2902"
## [418] "bta.miR.296.5p" "bta.miR.299" "bta.miR.299.2"
## [421] "bta.miR.29a" "bta.miR.29c" "bta.miR.29d.5p"
## [424] "bta.miR.301b" "bta.miR.3065" "bta.miR.3141"
## [427] "bta.miR.320b" "bta.miR.323" "bta.miR.323b.3p"
## [430] "bta.miR.324" "bta.miR.326" "bta.miR.329a"
## [433] "bta.miR.329b" "bta.miR.330" "bta.miR.331.3p"
## [436] "bta.miR.338" "bta.miR.33a" "bta.miR.33b"
## [439] "bta.miR.342" "bta.miR.3431" "bta.miR.345.5p"
## [442] "bta.miR.34b" "bta.miR.34c" "bta.miR.3533"
## [445] "bta.miR.365.5p" "bta.miR.3660" "bta.miR.370"
## [448] "bta.miR.374c" "bta.miR.376a" "bta.miR.376b"
## [451] "bta.miR.376c" "bta.miR.377" "bta.miR.378b"
## [454] "bta.miR.378c" "bta.miR.378d" "bta.miR.380.3p"
## [457] "bta.miR.380.5p" "bta.miR.382" "bta.miR.383"
## [460] "bta.miR.3956" "bta.miR.3957" "bta.miR.409a"
## [463] "bta.miR.411b" "bta.miR.411c.3p" "bta.miR.412"
## [466] "bta.miR.421" "bta.miR.431" "bta.miR.432"
## [469] "bta.miR.433" "bta.miR.4444" "bta.miR.4449"
## [472] "bta.miR.449a" "bta.miR.449b" "bta.miR.449d"
## [475] "bta.miR.4523" "bta.miR.454" "bta.miR.455.3p"
## [478] "bta.miR.4657" "bta.miR.483" "bta.miR.487a"
## [481] "bta.miR.487b" "bta.miR.490" "bta.miR.491"
## [484] "bta.miR.493" "bta.miR.496" "bta.miR.499"
## [487] "bta.miR.502a" "bta.miR.502a.1" "bta.miR.502b"
## [490] "bta.miR.503.3p" "bta.miR.503.5p" "bta.miR.507.3p"
## [493] "bta.miR.507b" "bta.miR.539" "bta.miR.541"
## [496] "bta.miR.542.5p" "bta.miR.543" "bta.miR.545.5p"
## [499] "bta.miR.582" "bta.miR.584" "bta.miR.584.1"
## [502] "bta.miR.584.2" "bta.miR.584.3" "bta.miR.584.4"
## [505] "bta.miR.584.5" "bta.miR.584.6" "bta.miR.584.7"
## [508] "bta.miR.6120.3p" "bta.miR.6121.3p" "bta.miR.6121.5p"
## [511] "bta.miR.6122.3p" "bta.miR.6122.5p" "bta.miR.6123"
## [514] "bta.miR.628" "bta.miR.6516" "bta.miR.6517"
## [517] "bta.miR.6518" "bta.miR.6519" "bta.miR.6520"
## [520] "bta.miR.6522" "bta.miR.6523a" "bta.miR.6525"
## [523] "bta.miR.6527" "bta.miR.6528" "bta.miR.6529a"
## [526] "bta.miR.6530" "bta.miR.6531" "bta.miR.6532"
## [529] "bta.miR.6533" "bta.miR.6534" "bta.miR.6535"
## [532] "bta.miR.6536" "bta.miR.6536.1" "bta.miR.654"
## [535] "bta.miR.656" "bta.miR.658" "bta.miR.660"
## [538] "bta.miR.664a" "bta.miR.665" "bta.miR.668.3p"
## [541] "bta.miR.669" "bta.miR.671" "bta.miR.6715"
## [544] "bta.miR.6775" "bta.miR.7" "bta.miR.7.1"
## [547] "bta.miR.7.2" "bta.miR.708" "bta.miR.7180"
## [550] "bta.miR.758" "bta.miR.760.5p" "bta.miR.763"
## [553] "bta.miR.7857.3p" "bta.miR.7857.5p" "bta.miR.7857.5p.1"
## [556] "bta.miR.7858" "bta.miR.7860" "bta.miR.7861"
## [559] "bta.miR.7862" "bta.miR.7863" "bta.miR.7865"
## [562] "bta.miR.874" "bta.miR.875" "bta.miR.9.3p"
## [565] "bta.miR.9.3p.1" "bta.miR.9.5p" "bta.miR.9.5p.1"
## [568] "bta.miR.940" "bta.miR.98" "bta.miR.9851"
##
## $IISSS
## [1] "bta.miR.1" "bta.miR.1.1" "bta.miR.10167.3p" "bta.miR.10a"
## [5] "bta.miR.10b" "bta.miR.151.5p" "bta.miR.199c" "bta.miR.212"
## [9] "bta.miR.28" "bta.miR.2888" "bta.miR.2888.1" "bta.miR.411a"
## [13] "bta.miR.615"
##
## $DDSSS
## [1] "bta.miR.101" "bta.miR.101.1" "bta.miR.11986b"
## [4] "bta.miR.12030" "bta.miR.1247.5p" "bta.miR.147"
## [7] "bta.miR.148b" "bta.miR.190a" "bta.miR.200a"
## [10] "bta.miR.204" "bta.miR.210" "bta.miR.2284v"
## [13] "bta.miR.2284x" "bta.miR.2285aj.5p" "bta.miR.2332"
## [16] "bta.miR.2411.3p" "bta.miR.2424" "bta.miR.2454.3p"
## [19] "bta.miR.26b" "bta.miR.29d.3p" "bta.miR.301a"
## [22] "bta.miR.31" "bta.miR.339a" "bta.miR.339b"
## [25] "bta.miR.340" "bta.miR.345.3p" "bta.miR.34a"
## [28] "bta.miR.361" "bta.miR.504" "bta.miR.6119.5p"
## [31] "bta.miR.677" "bta.miR.885" "bta.miR.99a.3p"
##
## $IISIS
## [1] "bta.miR.10172.3p" "bta.miR.126.3p" "bta.miR.143" "bta.miR.195"
## [5] "bta.miR.369.5p" "bta.miR.451" "bta.miR.497"
##
## $SDSSI
## [1] "bta.miR.103" "bta.miR.103.1" "bta.miR.11977" "bta.miR.11989"
## [5] "bta.miR.222" "bta.miR.2285av" "bta.miR.2285cf" "bta.miR.331.5p"
## [9] "bta.miR.425.3p"
##
## $DSSDS
## [1] "bta.miR.106a" "bta.miR.1246" "bta.miR.17.3p" "bta.miR.181c"
## [5] "bta.miR.182" "bta.miR.200b" "bta.miR.20a"
##
## $SDSIS
## [1] "bta.miR.107" "bta.miR.29b" "bta.miR.29b.1"
##
## $SDSSS
## [1] "bta.miR.11972" "bta.miR.11975" "bta.miR.11976" "bta.miR.11976.1"
## [5] "bta.miR.11985" "bta.miR.12023" "bta.miR.12034" "bta.miR.2340"
## [9] "bta.miR.23a" "bta.miR.27a.3p" "bta.miR.2885" "bta.miR.2886"
## [13] "bta.miR.2887" "bta.miR.2887.1" "bta.miR.2899" "bta.miR.3154"
## [17] "bta.miR.92b"
##
## $SSSDS
## [1] "bta.miR.125b" "bta.miR.125b.1" "bta.miR.1343.3p" "bta.miR.15b"
## [5] "bta.miR.17.5p" "bta.miR.183" "bta.miR.200c" "bta.miR.2285cd"
## [9] "bta.miR.296.3p" "bta.miR.423.3p" "bta.miR.92a" "bta.miR.92a.1"
##
## $DDSSI
## [1] "bta.miR.1307" "bta.miR.196b" "bta.miR.2284y" "bta.miR.2284y.1"
## [5] "bta.miR.2284y.2" "bta.miR.2284y.3" "bta.miR.2284y.4" "bta.miR.2284y.5"
## [9] "bta.miR.2284y.6" "bta.miR.26a" "bta.miR.26a.1"
##
## $DSSSD
## [1] "bta.miR.130b" "bta.miR.135a" "bta.miR.135a.1" "bta.miR.136"
## [5] "bta.miR.1434.5p" "bta.miR.18a" "bta.miR.19a" "bta.miR.2477"
## [9] "bta.miR.30c" "bta.miR.3601" "bta.miR.374a" "bta.miR.455.5p"
## [13] "bta.miR.6119.3p" "bta.miR.769"
##
## $SSSIS
## [1] "bta.miR.133a" "bta.miR.133a.1" "bta.miR.223" "bta.miR.494"
##
## $SSSID
## [1] "bta.miR.135b" "bta.miR.2285o" "bta.miR.2285o.1" "bta.miR.2285o.2"
## [5] "bta.miR.2285o.3" "bta.miR.2285o.4"
##
## $IISSD
## [1] "bta.miR.142.3p" "bta.miR.146a" "bta.miR.22.3p" "bta.miR.2478"
## [5] "bta.miR.424.5p" "bta.miR.425.5p" "bta.miR.4286" "bta.miR.4286.1"
##
## $ISSIS
## [1] "bta.miR.145" "bta.miR.21.5p" "bta.miR.22.5p"
##
## $SISSS
## [1] "bta.miR.16b" "bta.miR.193a.3p" "bta.miR.199a.3p"
## [4] "bta.miR.199a.3p.1" "bta.miR.199a.5p" "bta.miR.199a.5p.1"
## [7] "bta.miR.2285u" "bta.miR.410" "bta.miR.495"
##
## $DDSDI
## [1] "bta.miR.181d" "bta.miR.25" "bta.miR.744"
##
## $SISSD
## [1] "bta.miR.186" "bta.miR.2285bn" "bta.miR.2285ce" "bta.miR.2285f"
## [5] "bta.miR.2285f.1" "bta.miR.2285k" "bta.miR.2285k.1" "bta.miR.2285k.2"
## [9] "bta.miR.2285k.3" "bta.miR.2285k.4" "bta.miR.335" "bta.miR.450a"
## [13] "bta.miR.450a.1" "bta.miR.450b" "bta.miR.500"
##
## $SSSSD
## [1] "bta.miR.194" "bta.miR.194.1" "bta.miR.369.3p"
##
## $ISSII
## [1] "bta.miR.196a" "bta.miR.196a.1" "bta.miR.375"
##
## $DDSDD
## [1] "bta.miR.19b" "bta.miR.19b.1"
##
## $DISDS
## [1] "bta.miR.20b"
##
## $DISDD
## [1] "bta.miR.211" "bta.miR.2285t" "bta.miR.30a.5p" "bta.miR.30f"
## [5] "bta.miR.363"
##
## $DISSD
## [1] "bta.miR.2285bf" "bta.miR.2285bf.1" "bta.miR.2285bf.2" "bta.miR.30b.5p"
## [5] "bta.miR.362.3p" "bta.miR.374b"
##
## $SSSDI
## [1] "bta.miR.30b.3p"
##
## $DDSSD
## [1] "bta.miR.3613a" "bta.miR.429" "bta.miR.592"
##
## $SISID
## [1] "bta.miR.376d" "bta.miR.381" "bta.miR.655"
##
## $IISID
## [1] "bta.miR.376e"
##
## $SISIS
## [1] "bta.miR.411c.5p"
##
## $ISSDI
## [1] "bta.miR.423.5p"
##
## $IISDS
## [1] "bta.miR.574"
##
## $SDSDI
## [1] "bta.miR.760.3p"
##
## $ISSDS
## [1] "bta.miR.877"
##
## $DSSDI
## [1] "bta.miR.93"
##
## $SISDS
## [1] "bta.miR.99a.5p"
3’ UTR Binding: - miRNAs binding to the 3’ UTR lead to mRNA
degradation and translational repression.
- binding in the 3’ UTR recruits RISC complex which leads to
deadenylation, decapping -> degradation
- These sites are generally considered the most effective in
down-regulating gene expression by reducing mRNA levels
- 3’ UTR binding is also the most well studied mechanism of regulation
by miRNA
5’ UTR Binding:
- miRNA binding in the 5’ UTR is less understood but may influence
translation initiation
- Binding near the 5’ cap can interfere with the assembly of the
translation initiation complex, inhibiting initiation.
- The secondary structure near the 5’ cap in miRNA-regulated mRNAs is
more stable, suggesting a mechanism for miRNA-mediated regulation at
this region.
- Less common and seems to be less potent compared to 3’ UTR binding
sites in terms of inducing mRNA degradation
CDS Binding:
- miRNAs binding within the CDS can inhibit translation, often without
affecting mRNA stability.
- The binding of miRNAs to the CDS can stall ribosomes during
translation elongation, reducing protein synthesis.
- less effective at reducing mRNA levels compared to 3’ UTR binding, CDS
binding can significantly inhibit translation after miRNA
transfection
## R version 4.3.2 (2023-10-31 ucrt)
## Platform: x86_64-w64-mingw32/x64 (64-bit)
## Running under: Windows 11 x64 (build 22631)
##
## Matrix products: default
##
##
## locale:
## [1] LC_COLLATE=English_United States.utf8
## [2] LC_CTYPE=English_United States.utf8
## [3] LC_MONETARY=English_United States.utf8
## [4] LC_NUMERIC=C
## [5] LC_TIME=English_United States.utf8
##
## time zone: America/Chicago
## tzcode source: internal
##
## attached base packages:
## [1] stats4 stats graphics grDevices utils datasets methods
## [8] base
##
## other attached packages:
## [1] readr_2.1.5 ggrepel_0.9.5
## [3] plotly_4.10.4 ggplot2_3.5.0
## [5] kableExtra_1.4.0 knitr_1.46
## [7] tidyr_1.3.1 readxl_1.4.3
## [9] sva_3.48.0 BiocParallel_1.34.2
## [11] genefilter_1.82.1 mgcv_1.9-0
## [13] nlme_3.1-163 org.Bt.eg.db_3.17.0
## [15] AnnotationDbi_1.62.2 dplyr_1.1.4
## [17] DESeq2_1.40.2 SummarizedExperiment_1.30.2
## [19] Biobase_2.60.0 MatrixGenerics_1.12.3
## [21] matrixStats_1.2.0 GenomicRanges_1.52.1
## [23] GenomeInfoDb_1.36.4 IRanges_2.34.1
## [25] S4Vectors_0.38.2 BiocGenerics_0.46.0
##
## loaded via a namespace (and not attached):
## [1] DBI_1.2.2 bitops_1.0-7 rlang_1.1.3
## [4] magrittr_2.0.3 compiler_4.3.2 RSQLite_2.3.5
## [7] png_0.1-8 systemfonts_1.0.6 vctrs_0.6.5
## [10] stringr_1.5.1 pkgconfig_2.0.3 crayon_1.5.2
## [13] fastmap_1.1.1 XVector_0.40.0 labeling_0.4.3
## [16] utf8_1.2.4 rmarkdown_2.26 tzdb_0.4.0
## [19] purrr_1.0.2 bit_4.0.5 xfun_0.43
## [22] zlibbioc_1.46.0 cachem_1.0.8 jsonlite_1.8.8
## [25] blob_1.2.4 highr_0.10 DelayedArray_0.26.7
## [28] parallel_4.3.2 R6_2.5.1 bslib_0.7.0
## [31] stringi_1.8.3 limma_3.56.2 jquerylib_0.1.4
## [34] cellranger_1.1.0 Rcpp_1.0.12 Matrix_1.6-1.1
## [37] splines_4.3.2 tidyselect_1.2.1 rstudioapi_0.16.0
## [40] abind_1.4-5 yaml_2.3.8 codetools_0.2-19
## [43] lattice_0.21-9 tibble_3.2.1 withr_3.0.0
## [46] KEGGREST_1.40.1 evaluate_0.23 survival_3.5-7
## [49] xml2_1.3.6 Biostrings_2.68.1 pillar_1.9.0
## [52] generics_0.1.3 RCurl_1.98-1.14 hms_1.1.3
## [55] munsell_0.5.1 scales_1.3.0 xtable_1.8-4
## [58] glue_1.7.0 lazyeval_0.2.2 tools_4.3.2
## [61] data.table_1.15.4 annotate_1.78.0 locfit_1.5-9.9
## [64] XML_3.99-0.16.1 grid_4.3.2 edgeR_3.42.4
## [67] colorspace_2.1-0 GenomeInfoDbData_1.2.10 cli_3.6.2
## [70] fansi_1.0.6 S4Arrays_1.0.6 viridisLite_0.4.2
## [73] svglite_2.1.3 gtable_0.3.4 sass_0.4.9
## [76] digest_0.6.35 farver_2.1.1 htmlwidgets_1.6.4
## [79] memoise_2.0.1 htmltools_0.5.8.1 lifecycle_1.0.4
## [82] httr_1.4.7 MASS_7.3-60 bit64_4.0.5