In Silico-Identified miR-16-5p and miR-32-5p as a Shared Molecular Signature of Primary Gliomas and Parkinson's Disease: Plasma Levels Are Increased Only in Glioma Patients.
The 1 match
- [1] § 2. Methods › 2.1. Bioinformatic Assessment ↔ vignettes/vignette_wizbionet.Rmd, lines 413 to 447 · score 0.55 · multiMiR, target prediction, target interactions, miRNAs, genes · Report a mismatch
Paper
Loaded from Europe PMC by your browser; OSCR does not store it: doi.org · Europe PMC
The paper is loaded when this pane is shown.
The authors' code
R Markdown · 741 lines · 35 KB · MIT · 1 match
- ---
- title: "vignette-wizbionet"
- author: "Zofia Wicik"
- date: "2026-07-21 (wizbionet 1.3.0 update)"
- output: rmarkdown::html_vignette
- vignette: >
- %\VignetteIndexEntry{vignette-wizbionet}
- %\VignetteEngine{knitr::rmarkdown}
- %\VignetteEncoding{UTF-8}
- ---
- <!-- .markdown-block { -->
- <!-- padding-top: 0 !important; -->
- <!-- padding-bottom: 0 !important; -->
- <!-- } -->
- ```{r setup, include = FALSE}
- knitr::opts_chunk$set(
- collapse = TRUE,
- comment = "#>"
- )
- ```
- ## Introduction
- This package was build to provide set of tools enabling identification of the top genes and non-coding RNAs (miRNAs, lncRNAs) from expression studies. It can also be applied to arbitrary selected lists of genes mined from the literature.
- In order to identify best coding and non-coding genes that would serve as key regulators of complex diseases, we developed a key-gene scoring system taking into account their mutual regulation. In this document we we will try to show examples of analyses which can be made with this toolbox:
- ## Installation
- ```{r eval=FALSE, fig.width=10}
- #Some of the dependencies are not downloaded automatically yet.
- #Below is the code which will install all of them. Just copy it and paste to your R console
- #dependencies
- #dplyr (>= 1.0.2), multiMiR (>= 1.8.0), stringr (>= 1.4.0), XML (>= 3.99-0.5),
- #OneR (>= 2.2.0), plyr (>= 1.8.6),
- #tidyselect (>= 1.1.0), kableExtra (>= 1.1.0), knitr (>= 1.29), rmarkdown (>= 2.3), utils
- # 1. installation of the necessary packages, if it will not work download source file from the webpage.
- #https://www.bioconductor.org/packages/release/bioc/html/multiMiR.html
- if (!requireNamespace("BiocManager", quietly=TRUE))
- install.packages("BiocManager")
- BiocManager::install()
- BiocManager::install("multiMiR")
- # https://cran.r-project.org/web/packages/OneR/index.html
- install.packages("OneR", type = "binary")
- #https://cran.r-project.org/web/packages/kableExtra/
- install.packages('kableExtra', type = "binary")
- # 2 A. You can install package wizbionet from the GitHub use this command:
- install.packages("remotes")
- remotes::install_github("wizbionet/wizbionet", dependencies ="Depends")
- # 2 B.Or install wizbionet from the wizbionet_0.99.0.tar.gz file downloaded from this link:
- #https://github.com/wizbionet/wizbionet/raw/master/wizbionet_0.99.0.tar.gz
- install.packages("https://github.com/wizbionet/wizbionet/raw/master/wizbionet_0.99.0.tar.gz",
- repos = NULL, type = "source",
- dependencies =TRUE
- )
- #Voila, load the package:
- library(wizbionet)
- ```
- ## wizbionet workflow example
- ### 1. importing gene lists to the R
- This set of functions enables combining gene lists associated with your process of interest. You can copy columns from excel and paste them to R using command:
- ```{r, eval= FALSE }
- # genelistGWAS<- readClipboard()
- # genelistGO<- readClipboard()
- # genelistKEGG<- readClipboard()
- ```
- ### 2. Updating gene symbols annotation using NCBI_synonyms()
- The common problem while working with different gene lists are not matching gene symbols which can generates duplicates while merging them. this package offers tool for efficient annotation of human genes according to NCBI nomenclature using function **NCBI_synonyms()**. Notice that gene EP3 has now symbol PTGER3, and SNT3 has symbol SNTB2.
- ```{r, eval= FALSE }
- genelistGWAS<- as.data.frame(genelistGWAS)
- NCBI_synonyms(genelistGWAS, "genelistGWAS")
- ```
- ```{r, echo=FALSE }
- invisible(capture.output(dat1<- data.frame(genelistGWAS=c('SGCD', 'TBC1D8B', 'EP3', 'ANO5', 'FGFR1', 'PTGFR','SNT3', 'USP9Y', 'PTPRM', 'CRIM1', 'BRD1', 'RAD23B', 'PRKDC'))))
- invisible(capture.output(output<- wizbionet::NCBI_synonyms(dat1, 'genelistGWAS')))
- temp<-kableExtra::kable_styling(knitr::kable(output, align="l"),font_size=9, bootstrap_options = c('condensed'), latex_options=c('scale_down'),full_width = FALSE, position = "left", stripe_color = "white")
- temp<-kableExtra::column_spec(temp, column=2, color='red')
- temp
- ```
- ### 3. Selecting columns based on syntax using col_selector()
- If you are not interested in other columns except for the official gene symbols you can use syntax specific function:
- ```{r, eval= FALSE }
- col_selector(genelistGWAS, key_words = "SymbolNCBI")
- #Use Regular Expression Syntax (https://rstudio.com/wp-content/uploads/2016/09/RegExCheatsheet.pdf) to precisely select columns:
- #Meta characters . * +
- #Anchors: ^ Start of the string; $ End of the string
- ```
- ### 4. Binding multiple gene lists and/or data.frames of unequal lenght using cbind_filler()
- To be able to bind multiple gene lists and/or data.frames of unequal lenght u can use **cbind_filler()**
- ```{r, eval= FALSE }
- output<- cbind_filler(list(genelistGWAS,genelistGO,genelistKEEG))
- ```
- If you are working with vectors after binding them you will need to add names manually. If the gene lists were data frames with headings you don't need to do this.
- ```{r, eval= FALSE }
- names(output)<-c('genelistGWAS','genelistGO','genelistKEEG')
- ```
- Below is example data frame merged using **cbind_filler()** function with suggestions of the sources of gene lists. The advantage of this function is that it allows to combine vectors/data frames of different lenght
- ```{r, eval= FALSE }
- output<- cbind_filler(output)
- ```
- ```{r, echo=FALSE }
- dat1<- data.frame(genelistGWAS=c('SGCD', 'TBC1D8B', 'PTGER3', 'ANO5', 'FGFR1', 'PTGFR','SNTB2', 'USP9Y', 'PTPRM', 'CRIM1', 'BRD1', 'RAD23B', 'PRKDC'))
- dat2<- data.frame(genelistGO=c('CDH24', 'ONECUT2', 'NEBL', 'KAT6A', 'PTGER3', 'PTPRM', 'CRIM1', 'BRD1', 'RAD23B', 'PRKDC'))
- dat3<- data.frame(genelistKEGG=c('SGCD', 'TBC1D8B', 'PTGER3', 'ANO5', 'FGFR1', 'PTGFR', 'NELL1', 'NR2C2', 'TGFB3', 'BRD1', 'RAD23B', 'PRKDC', 'IGSF10', 'AKIRIN1', 'HACD4', 'C4orf32'))
- input<- list(dat1,dat2,dat3)
- invisible(capture.output(output<- wizbionet::cbind_filler(input)))
- rownames(output)<-NULL
- kableExtra::kable_styling(knitr::kable(output, align="l"),font_size=9, bootstrap_options = c('condensed'), latex_options=c('scale_down'),full_width = FALSE, position = "left", stripe_color = "white",
- )
- ```
- ### 5. Combining and summarizing multiple gene lists using lists.combiner()
- When you have already a data frame build using **cbind_filler()** or just imported form txt/excel or csv file, we suggest to use function **lists.combiner()**.
- This function will merge all of those data frames and will provide information in which list a given gene was present and in how many lists in total it appeared.
- ```{r, eval= FALSE }
- output<- lists.combiner(output)
- head(output, n=15)
- ```
- ```{r, echo=FALSE }
- dat1<- data.frame(genelistGWAS=c('SGCD', 'TBC1D8B', 'PTGER3', 'ANO5', 'FGFR1', 'PTGFR','SNTB2', 'USP9Y', 'PTPRM', 'CRIM1', 'BRD1', 'RAD23B', 'PRKDC'))
- dat2<- data.frame(genelistGO=c('CDH24', 'ONECUT2', 'NEBL', 'KAT6A', 'PTGER3', 'PTPRM', 'CRIM1', 'BRD1', 'RAD23B', 'PRKDC'))
- dat3<- data.frame(genelistKEGG=c('SGCD', 'TBC1D8B', 'PTGER3', 'ANO5', 'FGFR1', 'PTGFR', 'NELL1', 'NR2C2', 'TGFB3', 'BRD1', 'RAD23B', 'PRKDC', 'IGSF10', 'AKIRIN1', 'HACD4', 'C4orf32'))
- input<- list(dat1,dat2,dat3)
- invisible(capture.output(temp<- wizbionet::cbind_filler(input)))
- invisible(capture.output(output<- wizbionet::lists.combiner(temp)))
- rownames(output)<-NULL
- temp<-kableExtra::kable_styling(knitr::kable(head(output,n=15)),font_size=9, bootstrap_options = c('condensed'), latex_options=c('scale_down'),full_width = FALSE, position = "left", stripe_color = "white",
- )
- temp<-kableExtra::column_spec(temp, column=5, color='red')
- temp
- ```
- Now you have a complete list of genes of interest (column input) and can easily see that gene PTGER3 was present in all of those data sets. You can also use function **NCBI_synonyms()** to add gene IDs.
- ```{r, eval= FALSE }
- output<- NCBI_synonyms(output, "input")
- head(output, n=10)
- ```
- ```{r, echo=FALSE }
- dat1<- data.frame(genelistGWAS=c('SGCD', 'TBC1D8B', 'PTGER3', 'ANO5', 'FGFR1', 'PTGFR','SNTB2', 'USP9Y', 'PTPRM', 'CRIM1', 'BRD1', 'RAD23B', 'PRKDC'))
- dat2<- data.frame(genelistGO=c('CDH24', 'ONECUT2', 'NEBL', 'KAT6A', 'PTGER3', 'PTPRM', 'CRIM1', 'BRD1', 'RAD23B', 'PRKDC'))
- dat3<- data.frame(genelistKEGG=c('SGCD', 'TBC1D8B', 'PTGER3', 'ANO5', 'FGFR1', 'PTGFR', 'NELL1', 'NR2C2', 'TGFB3', 'BRD1', 'RAD23B', 'PRKDC', 'IGSF10', 'AKIRIN1', 'HACD4', 'C4orf32'))
- input<- list(dat1,dat2,dat3)
- invisible(capture.output(temp<- wizbionet::cbind_filler(input)))
- invisible(capture.output(output<- wizbionet::lists.combiner(temp)))
- invisible(capture.output(output<- wizbionet::NCBI_synonyms(output, "input")))
- #head(output, n=15)
- temp<-kableExtra::kable_styling(knitr::kable(head(output,n=10)),font_size=9, bootstrap_options = c('condensed'), latex_options=c('scale_down'),full_width = FALSE, position = "left", stripe_color = "white",
- )
- temp<-kableExtra::column_spec(temp, column=c(6,7,8), color='red')
- temp
- ```
- ### 6. Clusterization of gene lists using clusterizer_oneR()
- If you want to know genes associated with highest number of genes lists you can use function **clusterizer_oneR()**, which will divide genes from the "input" column into four clusters based on column "count". clusterizer_oneR() utilzes Jenks natural breaks optimization algorithm from the original OneR package as a non-arbitrary classification dividing numbers of regulated genes into four categories (clusters). advantage of this method is non-arbitrary selection of top hits. You can cluster multiple numeric columns using this function. If you want to change the number of bins or method of the clusterization you can use function OneR::bin
- ```{r, eval= FALSE }
- landmark_col,="SymbolNCBI"
- cols_to_cluster="count"
- output<- clusterizer_oneR(output, landmark_col, cols_to_cluster)
- head(output, n=10)
- ```
- ```{r, echo=FALSE }
- dat1<- data.frame(genelistGWAS=c('SGCD', 'TBC1D8B', 'PTGER3', 'ANO5', 'FGFR1', 'PTGFR','SNTB2', 'USP9Y', 'PTPRM', 'CRIM1', 'BRD1', 'RAD23B', 'PRKDC'))
- dat2<- data.frame(genelistGO=c('CDH24', 'ONECUT2', 'NEBL', 'KAT6A', 'PTGER3', 'PTPRM', 'CRIM1', 'BRD1', 'RAD23B', 'PRKDC'))
- dat3<- data.frame(genelistKEGG=c('SGCD', 'TBC1D8B', 'PTGER3', 'ANO5', 'FGFR1', 'PTGFR', 'NELL1', 'NR2C2', 'TGFB3', 'BRD1', 'RAD23B', 'PRKDC', 'IGSF10', 'AKIRIN1', 'HACD4', 'C4orf32'))
- input<- list(dat1,dat2,dat3)
- invisible(capture.output(temp<- wizbionet::cbind_filler(input)))
- invisible(capture.output(output<- wizbionet::lists.combiner(temp)))
- invisible(capture.output(output<- wizbionet::NCBI_synonyms(output, "input")))
- invisible(capture.output(output<- wizbionet::clusterizer_oneR(output, landmark_col="SymbolNCBI", cols_to_cluster="count")
- ))
- output<-as.data.frame( output)
- temp<-kableExtra::kable_styling(knitr::kable(head(output,n=15)),font_size=9, bootstrap_options = c('condensed'), latex_options=c('scale_down'),full_width = FALSE, position = "left", )
- temp<-kableExtra::column_spec(temp, column=c(9,10), color='red')
- temp
- ```
- ### 7. Clusterization of gene lists using top_percent()
- top_percent() is an alternative for **clusterizer_oneR()** which doesn't deal well with continuous numbers like p-values or fold changes. This function enables comparison of data sets of different length.
- It is suggested to use it on gene lists which have associated numeric values.
- Prioritization of the analyzed gene lists can be based on the scores assigned after data aggregation and counting.
- This function helps to avoid arbitrary selection of top candidates, selecting top percent of genes for a given cutoff. It includes all genes close to a cutoff if they have same value. It generates new column with TRUE or FALSE value giving information if our gene was present in the top percents.
- ```{r, eval= FALSE }
- landmark_col,="SymbolNCBI"
- cols_to_cluster="count"
- cutoff=25
- output<- clusterizer_oneR(output, landmark_col, cols_to_cluster, cutoff)
- head(output, n=10)
- ```
- ```{r, echo=FALSE }
- dat1<- data.frame(genelistGWAS=c('SGCD', 'TBC1D8B', 'PTGER3', 'ANO5', 'FGFR1', 'PTGFR','SNTB2', 'USP9Y', 'PTPRM', 'CRIM1', 'BRD1', 'RAD23B', 'PRKDC'))
- dat2<- data.frame(genelistGO=c('CDH24', 'ONECUT2', 'NEBL', 'KAT6A', 'PTGER3', 'PTPRM', 'CRIM1', 'BRD1', 'RAD23B', 'PRKDC'))
- dat3<- data.frame(genelistKEGG=c('SGCD', 'TBC1D8B', 'PTGER3', 'ANO5', 'FGFR1', 'PTGFR', 'NELL1', 'NR2C2', 'TGFB3', 'BRD1', 'RAD23B', 'PRKDC', 'IGSF10', 'AKIRIN1', 'HACD4', 'C4orf32'))
- input<- list(dat1,dat2,dat3)
- invisible(capture.output(temp<- wizbionet::cbind_filler(input)))
- invisible(capture.output(output<- wizbionet::lists.combiner(temp)))
- invisible(capture.output(output<- wizbionet::NCBI_synonyms(output, "input")))
- invisible(capture.output(output<- wizbionet::top_percent(output, landmark_col="SymbolNCBI", cols_to_cluster="count", cutoff=25 )))
- output<-as.data.frame( output)
- temp<-kableExtra::kable_styling(knitr::kable(head(output,n=15)),font_size=9, bootstrap_options = c('condensed'), latex_options=c('scale_down'),full_width = FALSE, position = "left", )
- temp<-kableExtra::column_spec(temp, column=c(9), color='red')
- temp
- ```
- ### 8. Merging of the multiple data frames with headings preservation using dataframe.merger()
- As you can see in the output appeared two columns 'clus_count' and 'clusNR_count'. First column provides logical information if gene was present in the top two clusters (cl1, cl2). Second column provides information in which cluster appeared this gene.
- You can combine this data frame with your another data frame prioritized in same way using common column (in this case "SymbolNCBI") and function **dataframe.merger()**.
- ```{r, eval= FALSE }
- dataframe_list=list('output'=output, 'other_dataframe'=other_dataframe)
- ID_column="input"
- dataframe.merger(dataframe_list, ID_column="input")
- ```
- If you are analyzing two data sets using this approach you can select genes present in both of them, so called top genes. This approach enables quick selection of top candidates across multiple datasates.
- ```{r, eval= FALSE }
- landmark_col="SymbolNCBI"
- cols_to_cluster= c("count", 'count_regulatory_miRNA')
- output<- clusterizer_oneR(output, landmark_col, cols_to_cluster)
- head(output, n=10)
- ```
- ```{r, echo=FALSE }
- dat1<- data.frame(genelistGWAS=c('SGCD', 'TBC1D8B', 'PTGER3', 'ANO5', 'FGFR1', 'PTGFR','SNTB2', 'USP9Y', 'PTPRM', 'CRIM1', 'BRD1', 'RAD23B', 'PRKDC'))
- dat2<- data.frame(genelistGO=c('CDH24', 'ONECUT2', 'NEBL', 'KAT6A', 'PTGER3', 'PTPRM', 'CRIM1', 'BRD1', 'RAD23B', 'PRKDC'))
- dat3<- data.frame(genelistKEGG=c('SGCD', 'TBC1D8B', 'PTGER3', 'ANO5', 'FGFR1', 'PTGFR', 'NELL1', 'NR2C2', 'TGFB3', 'BRD1', 'RAD23B', 'PRKDC', 'IGSF10', 'AKIRIN1', 'HACD4', 'C4orf32'))
- input<- list(dat1,dat2,dat3)
- invisible(capture.output(temp<- wizbionet::cbind_filler(input)))
- invisible(capture.output(output<- wizbionet::lists.combiner(temp)))
- invisible(capture.output(output<- wizbionet::NCBI_synonyms(output, "input")))
- output<-output[,c("SymbolNCBI", "count")]
- rownames(output)<-NULL
- output$count_regulatory_miRNA<- rnorm(n=24, m=65, s=30)
- output$count_regulatory_miRNA<- round(output$count_regulatory_miRNA)
- landmark_col="SymbolNCBI"
- cols_to_cluster= c("count", 'count_regulatory_miRNA')
- invisible(capture.output(output<- wizbionet::clusterizer_oneR(output, landmark_col, cols_to_cluster)))
- temp<-kableExtra::kable_styling(knitr::kable(head(output,n=15)),font_size=9, bootstrap_options = c('condensed'), latex_options=c('scale_down'),full_width = FALSE, position = "left", stripe_color = "white", )
- temp<-kableExtra::column_spec(temp, column=c(4,6), color='red')
- temp
- ```
- ### 9. Aggregation and summarizing of the rows across multiple columns using col_agrecounter()
- Function ***col_agrecounter*()*** allows to aggregates and summarize complex data frames with preserving names of the columns and providing:
- - aggregated occurrences for example genes or miRNAs in a column with preserved name and suffix "_coll"
- - count of occurrences from column "_coll" as collumn with suffix "_count". After this function we suggest runing top_percent() or clusterizer_oneR() to see which miRNAs are the most interesting ones based on the number of regulated targets.
- ```{r, eval= FALSE }
- #Example
- dat1<- data.frame(
- mature_miRNA=c('hsa-miR-195-5p', 'hsa-miR-195-3p','hsa-miR-195-5p', 'hsa-miR-195-5p',
- 'hsa-miR-4753-5p', 'hsa-miR-4753-3p'),
- pre_miRNA=c('hsa-miR-195', 'hsa-miR-195','hsa-miR-195', 'hsa-miR-195',
- 'hsa-miR-4753', 'hsa-miR-4753'),
- Target=c('CDH24', 'PAX1', 'PTGER3', 'ONECUT2', 'TGFB3', 'FGFR1'))
- #set parameters####
- #dataframe for aggegation and counting (A&C)
- inputDF<-dat1
- #selected column names which will be A&C
- col_names <- c( "Target")
- #landmark column for A&C columns,other columns will be aggregated based on this
- col_collapse <- "pre_miRNA"
- #vector of content of the landmark column "col_collapse" as vector.
- #You can use internal col_to_string() function
- rows_collapse <-col_to_string(inputDF$pre_miRNA)
- #additional landmark column which will not allow to deduplicate. useful when you want to analyze pre-miRNAs instead of mature mirNAs
- control_col<- "mature_miRNA"
- #run function
- output<- col_agrecounter(inputDF, col_names, col_collapse , rows_collapse, control_col)
- ```
- ```{r, echo= FALSE }
- #Example
- dat1<- data.frame(
- mature_miRNA=c('hsa-miR-195-5p', 'hsa-miR-195-3p','hsa-miR-195-5p', 'hsa-miR-195-5p',
- 'hsa-miR-4753-5p', 'hsa-miR-4753-3p'),
- pre_miRNA=c('hsa-miR-195', 'hsa-miR-195','hsa-miR-195', 'hsa-miR-195',
- 'hsa-miR-4753', 'hsa-miR-4753'),
- Target=c('CDH24', 'PAX1', 'PTGER3', 'ONECUT2', 'TGFB3', 'FGFR1'))
- #set parameters####
- #dataframe for aggegation and counting (A&C)
- inputDF<-dat1
- #selected column names which will be A&C
- col_names <- c( "Target")
- #landmark column for A&C columns,other columns will be aggregated based on this
- col_collapse <- "pre_miRNA"
- #vector of content of the landmark column "col_collapse" as vector.
- #You can use internal col_to_string() function
- rows_collapse <-wizbionet::col_to_string(inputDF$pre_miRNA)
- #additional landmark column which will not allow to deduplicate. useful when you want to analyze pre-miRNAs instead of mature mirNAs
- control_col<- "mature_miRNA"
- #run function
- output<- wizbionet::col_agrecounter(inputDF, col_names, col_collapse , rows_collapse, control_col)
- #names(output)
- temp<-kableExtra::kable_styling(knitr::kable(head(output,n=15)),font_size=9, bootstrap_options = c('condensed'), latex_options=c('scale_down'),full_width = FALSE, position = "left", stripe_color = "white", )
- temp<-kableExtra::column_spec(temp, column=c(6,7), color='red')
- temp
- ```
- ### 10. Identification of the top genes across datasets
- Using base::subset function you can extract top genes which got high scores in both columns in this case "count" and 'count_regulatory_miRNA'.
- ```{r, eval= FALSE }
- output<-subset(output, output$clus_count==TRUE & output$clus_count_regulatory_miRNA==TRUE )
- ```
- Example data frame:
- ```{r, echo=FALSE }
- dat1<- data.frame(genelistGWAS=c('SGCD', 'TBC1D8B', 'PTGER3', 'ANO5', 'FGFR1', 'PTGFR','SNTB2', 'USP9Y', 'PTPRM', 'CRIM1', 'BRD1', 'RAD23B', 'PRKDC'))
- dat2<- data.frame(genelistGO=c('CDH24', 'ONECUT2', 'NEBL', 'KAT6A', 'PTGER3', 'PTPRM', 'CRIM1', 'BRD1', 'RAD23B', 'PRKDC'))
- dat3<- data.frame(genelistKEGG=c('SGCD', 'TBC1D8B', 'PTGER3', 'ANO5', 'FGFR1', 'PTGFR', 'NELL1', 'NR2C2', 'TGFB3', 'BRD1', 'RAD23B', 'PRKDC', 'IGSF10', 'AKIRIN1', 'HACD4', 'C4orf32'))
- input<- list(dat1,dat2,dat3)
- invisible(capture.output(temp<- wizbionet::cbind_filler(input)))
- invisible(capture.output(output<- wizbionet::lists.combiner(temp)))
- invisible(capture.output(output<- wizbionet::NCBI_synonyms(output, "input")))
- output<-output[,c("SymbolNCBI", "count")]
- output$count_regulatory_miRNA<- rnorm(n=24, m=65, s=30)
- output$count_regulatory_miRNA<- round(output$count_regulatory_miRNA)
- landmark_col="SymbolNCBI"
- cols_to_cluster= c("count", 'count_regulatory_miRNA')
- invisible(capture.output(output<- wizbionet::clusterizer_oneR(output, landmark_col, cols_to_cluster)))
- output<-subset(output, output$clus_count==TRUE & output$clus_count_regulatory_miRNA==TRUE )
- rownames(output)<-NULL
- temp<-kableExtra::kable_styling(knitr::kable(head(output,n=15)),font_size=9, bootstrap_options = c('condensed'), latex_options=c('scale_down'),full_width = FALSE, position = "left", stripe_color = "white", )
- temp<-kableExtra::column_spec(temp, column=c(4,6), color='red')
- temp
- ```
- ### 11. Identification of the top miRNAs and top targets using topmiRNA_toptarget()###
- As top miRNAs we define miRNAs associated with your process of interest and regulating highest number of deferentially expressed genes (DE genes). If you have expression data for miRNAs and mRNAs you can perform target predictions to identify pairs of oppositely regulated miRNAs and genes use function **topmiRNA_toptarget()**. This function retrieves miRNA-target interactions and identify miRNAs and genes with highest number of analyzed interactions with miRNAs. You can also use only targets associated with a specific process to identify top miRNAs regulating it.
- ```{r topmiRNA_toptarget, eval= FALSE }
- #generate and modify list of arguments. Important: Don't add mirna= and target= fields they are already included as DEmir_up,DEgenes_down,DEmir_down, DEgenes_up!
- multimir_args<- as.list(args(multiMiR::get_multimir))
- #add lists of DE miRNAs and genes
- DEmir_up<-c('hsa-miR-150-5p','hsa-miR-448-5p','hsa-miR-448-3p',
- 'hsa-miR-493-5p','hsa-miR-493-3p') # example DE miRNAs
- DEgenes_down<-c('5797','8826','7994','2775','7182','79647','5733',
- '158158','9480','8626','50636') # example DE genes
- DEmir_down<-c('hsa-miR-4731-5p','hsa-miR-541-3p','hsa-miR-449b-5p','hsa-miR-541-5p')
- DEgenes_up<-c('203859','4745','4916','126298','2258','8464','55917','23450','29767')
- mirna_type<-"pre_mir" # "mature_mir"
- multimir_args= list(url = NULL,
- org = "hsa",
- table = "all",
- predicted.cutoff = 10,
- predicted.cutoff.type = "p",
- predicted.site = "conserved"
- )
- #execute function
- output<- topmiRNA_toptarget(DEmir_up,DEgenes_down, DEmir_down, DEgenes_up, multimir_args,mirna_type)
- #execute function
- output<-wizbionet::topmiRNA_toptarget(DEmir_up,DEgenes_down,DEmir_down,
- DEgenes_up, mir_type, multimir_args)
- output$multimir_output
- output$top_miR
- output$top_gene
- ```
- #### Output of the **topmiRNA_toptarget()** is a list() with three data frames named:
- ##### **A. multimir_output**
- Data frame *multimir_output* is based on original output from the multiMiR::get_multimir(), but integrates two separate analyses for up and down regulated miRNAs. Directionality of expression is shown in the column "multimir". Additionally, at the end of the dataframe is added column "premir" where are present names of analyzed miRNAs before maturation.
- ```{r, echo=FALSE}
- utils::data(topmiRNA_toptarget_output, package = 'wizbionet')
- output<-topmiRNA_toptarget_output$multimir_output
- output<-head(output,n=15)
- #table
- temp<- knitr::kable(output, align="l")
- temp<- kableExtra::kable_styling(temp,font_size=8, bootstrap_options = c('condensed'), latex_options=c('scale_down'),full_width = FALSE, position = "left", stripe_color = "white")
- temp<-kableExtra::column_spec(temp, column=c(14,15),color="red")
- temp<-kableExtra::scroll_box(temp, width = "100%", height = "200px")
- temp
- ```
- ##### **B. top_miR**
- Data frame *top_miR* has aggregated and prioritized results from get_multimir output showing number of genes associated with pre-miRNAs. It has columns with name *clus_...* providing logical information if gene was in top 2 clusters (cl1 and cl2) ~top 20 percents and column *clusNR_..*. providing information in which cluster the gene was present (cl1,cl2,cl3,cl4). It enables quick identification of the miRNAs regulating highest number of analyzed targets
- ```{r topmiRNA_toptarget: top_miR, echo=FALSE }
- utils::data(topmiRNA_toptarget_output, package = 'wizbionet')
- output<-topmiRNA_toptarget_output$top_miR
- output<-head(output,n=15)
- rownames(output)<-NULL
- #names(output)
- #table
- temp<- knitr::kable(output, align="l")
- temp<- kableExtra::kable_styling(temp,font_size=8, bootstrap_options = c('condensed'), latex_options=c('scale_down'),full_width = FALSE, position = "left", stripe_color = "white")
- temp<-kableExtra::column_spec(temp, column=c(6,7,12,13), color = "red")
- temp<-kableExtra::scroll_box(temp, width = "100%", height = "200px")
- temp
- ```
- ##### **C. top_gene**
- Data frame *top_gene* has aggregated and prioritized results from get_multimir function showing number of genes associated with analyzed targets. It also has columns with information if gene is in top 20%.
- ```{r topmiRNA_toptarget: top_gene, echo=FALSE }
- utils::data(topmiRNA_toptarget_output, package = 'wizbionet')
- output<-topmiRNA_toptarget_output$top_gene
- output<-head(output,n=10)
- rownames(output)<-NULL
- #names(output)
- #table
- temp<- knitr::kable(output, align="l")
- temp<- kableExtra::kable_styling(temp,font_size=8, bootstrap_options = c('condensed'), latex_options=c('scale_down'),full_width = FALSE, position = "left", stripe_color = "white")
- temp<-kableExtra::column_spec(temp, column=c(4,5,6,8), color="red")
- temp<- kableExtra::scroll_box(temp, width = "100%", height = "200px")
- temp
- ```
- ### 12. Identification of the top long-non coding RNAs and their targets using lnc_RNARNA_scanner()
- Function ***lnc_RNARNA_scanner*** identify targets of lncRNAs by performing automatized mining of the [link](http://rtools.cbrc.jp/cgi-bin/RNARNA/index.pl) database using ENST transcript IDs (ENST_input) as an input. It enables identification of so-called top lncRNAs associated with your process of interest and regulating highest number of deferentially expressed genes (DE genes)
- **ENST_input** is a vector of characters (human ENST transcript numbers). RNARNAdb will show information during the analysis if non coding transcript was present in the database. Careful, it sometimes also recognizes miRNAs.
- **analyze_onlyDEtargets** TRUE or FALSE (logical), it says if you want to check all possible lncRNA targets or only DE targets.
- **ENST_targets** vector of characters of human ENST numbers of your interest, usually DE mRNAs
- **nr_top_genes** is a number number of top targets you want to select from all possible targets of lncRNAs. Default value for RNARNA database top targets output set by us is 500 if you want to compare it with DE genes. Your ENST_targets will be subtracted from this number.
- ```{r, eval= FALSE }
- #Example of the analysis
- ENST_input<-c('ENST00000436290', 'ENST00000432892', 'ENST00000454526',
- 'ENST00000423793', 'ENST00000436960','ENST00000412754'
- )
- ENST_targets<-c('ENST00000491143', 'ENST00000314191',
- 'ENST00000309733', 'ENST00000377122', 'ENST00000338981',
- 'ENST00000495827', 'ENST00000425708', 'ENST00000272748',
- ...)
- nr_top_genes=500
- analyze_onlyDEtargets=FALSE
- output<- lnc_RNARNA_scanner(ENST_input, analyze_onlyDEtargets,
- ENST_targets ,nr_top_genes)
- names(output)
- ```
- #### lnc_RNARNA_scanner output
- Output of **lnc_RNARNA_scanner** function is a list of data frames. To access the lists use $ sign or[[]].
- All outputs have column ""full_id" which describes interacting RNAs with your lncRNAs and provide a full name of the lncRNA for example: "List of RNAs interacting with ENST00000423793(RP11-432J22.2)". You can use this column for aggregating and summarizing those datasets using **col_agrecounter()** and than **clusterizer_oneR()**
- to obtain top lncRNAs or top targets.
- ##### **A. if analyze_onlyDEtargets= was set as TRUE**
- The output will include list *"lncRNA_DEtargets"* which has only top DE targets of analyzed lncRNAs
- ```{r lnc_RNARNA_scanner: analyze_onlyDEtargets_TRUE, echo=FALSE }
- utils::data(lnc_RNARNA_scanner_output, package = 'wizbionet')
- output<-lnc_RNARNA_scanner_output$lncRNA_DEtargets
- output<-head(output,n=10)
- rownames(output)<-NULL
- #names(output)
- #table
- temp<- knitr::kable(output, align="l")
- temp<- kableExtra::kable_styling(temp,font_size=8, bootstrap_options = c('condensed'), latex_options=c('scale_down'),full_width = FALSE, position = "left", stripe_color = "white")
- temp<-kableExtra::column_spec(temp, column=c(10), color="red")
- temp<- kableExtra::scroll_box(temp, width = "100%", height = "200px")
- temp
- ```
- ##### **B. if analyze_onlyDEtargets= was set as FALSE**
- The output will include list *"lncRNA_AllTargets"* which has all possible top targets of analyzed lncRNAs
- ```{r lnc_RNARNA_scanner: analyze_onlyDEtargets_FALSE, echo=FALSE }
- utils::data(lnc_RNARNA_scanner_output, package = 'wizbionet')
- output<-lnc_RNARNA_scanner_output$lncRNA_AllTargets
- output<-head(output,n=10)
- rownames(output)<-NULL
- #names(output)
- #table
- temp<- knitr::kable(output, align="l")
- temp<- kableExtra::kable_styling(temp,font_size=8, bootstrap_options = c('condensed'), latex_options=c('scale_down'),full_width = FALSE, position = "left", stripe_color = "white")
- temp<-kableExtra::column_spec(temp, column=c(10), color="red")
- temp<- kableExtra::scroll_box(temp, width = "100%", height = "200px")
- temp
- ```
- ##### **C. additionally output always has a list "result_lnc_RNAtoRNA_list"**
- This list has complete results (including binding sites, location, rank) for each of the analyzed transcripts.
- Each transcript has assigned two sub-lists "ENSTnumber_minEnergy" and "ENSTnumber_sumEnergy"
- which were used for selection of the top targets. Those dataframes are a raw otput from RNARNA database.
- ```{r lnc_RNARNA_scanner: result_lnc_RNAtoRNA_list, echo=FALSE }
- utils::data(lnc_RNARNA_scanner_output, package = 'wizbionet')
- output<-lnc_RNARNA_scanner_output$result_lnc_RNAtoRNA_list$ENST00000436290_minEnergy
- output<-head(output,n=10)
- rownames(output)<-NULL
- #names(output)
- #table
- temp<- knitr::kable(output, align="l")
- temp<- kableExtra::kable_styling(temp,font_size=8, bootstrap_options = c('condensed'), latex_options=c('scale_down'),full_width = FALSE, position = "left", stripe_color = "white")
- temp<-kableExtra::column_spec(temp, column=c(4,5))
- temp<- kableExtra::scroll_box(temp, width = "100%", height = "200px")
- temp
- ```
- ### 13. Copying gene list to the clipboard with venny.list()
- If you want to quickly check the overlaps betwen the gene lists you can utilize function venny.list()
- it will copy to clipboard the vector of characters, remove NAs and duplicates. Additionally it will print the number of collected items. This function was created to use together with the webpage http://bioinfogp.cnb.csic.es/tools/venny/ or paste results to the excel or cytoscape
- ```{r eval=FALSE }
- genes<-c('SGCD', 'TBC1D8B', 'PTGER3', 'ANO5', 'FGFR1', 'PTGFR','SNTB2', 'USP9Y', 'PTPRM', 'CRIM1', 'BRD1', 'RAD23B', 'PRKDC')
- counts<- c(66, 62, 54, 40, 34, 32, 32, 16, 15, 15, 15, 14,10)
- input<- data.frame(genes,counts)
- wizbionet::venny.list(input$genes)
- ```
- ## New functions added in wizbionet 1.3.0
- The functions below were added in the 1.3.0 update. Examples use small gene / miRNA data frames; set `eval=TRUE` to run them.
- ### 14. Updating gene symbols with the 2023 annotation using NCBI_synonyms2023()
- Same behaviour as **NCBI_synonyms()** but based on the June 2023 NCBI annotation bundled with the package (`inst/extdata/Homo_sapiens_uncoll_Jun2023.txt.gz`). You can also supply your own annotation table through the `annotation` argument.
- ```{r, eval=FALSE }
- genelist <- data.frame(symbols = c('EP3', 'SNT3', 'TP53', 'ONECUT2'))
- NCBI_synonyms2023(genelist, "symbols")
- ```
- ### 15. Unifying symbols across several lists using unify_symbols()
- Maps every column of gene symbols to official NCBI symbols and binds the unified lists side by side. Choose the 2020 (default) or 2023 annotation.
- ```{r, eval=FALSE }
- gene_lists <- data.frame(
- listGWAS = c('EP3', 'SNT3', 'TP53'),
- listGO = c('PTGER3', 'MYC', 'KRAS'))
- unify_symbols(gene_lists) # 2020 annotation (default)
- unify_symbols(gene_lists, use_2023 = TRUE) # 2023 annotation
- ```
- ### 16. Collapsing oversized cells using coll_reduction()
- Replaces long collapsed gene strings with a `"more than <cutoff>"` label wherever the paired `_COUNT` column exceeds the cutoff. Keeps wide enrichment tables readable.
- ```{r, eval=FALSE }
- df <- data.frame(
- Term = c('Oxidative phosphorylation WP623', 'Apoptosis WP254'),
- genes_coll = c('ATP5F1A;NDUFS2;NDUFS1;NDUFV2;NDUFV1', 'BID;BBC3'),
- genes_COUNT = c(45, 2))
- coll_reduction(df, cutoff = 30)
- ```
- ### 17. Counting genes overlapping a key vector using count_keyvec()
- For each column of separated gene strings, keeps only the genes present in a key vector and reports the overlap count per row.
- ```{r, eval=FALSE }
- df <- data.frame(
- pathway = c('apoptosis', 'MAPK'),
- genes = c('TP53;EGFR;MYC', 'KRAS;BRAF'))
- count_keyvec(df, cols = 'genes', separator = ';',
- genes_vec = c('TP53', 'MYC', 'KRAS'))
- ```
- ### 18. Reverse-combining logical columns into gene lists using reverse_list_comb()
- Extracts the identifiers flagged `TRUE` in each logical column and returns one gene list per column.
- ```{r, eval=FALSE }
- df <- data.frame(
- SymbolNCBI = c('TP53', 'EGFR', 'MYC'),
- Hippocampus = c(TRUE, FALSE, TRUE),
- Cortex = c(FALSE, FALSE, TRUE))
- reverse_list_comb(df, main_col = 'SymbolNCBI')
- ```
- For a non-gene identifier column (e.g. metabolites) use **rev_lists_comb_other()** with `input_col=`.
- ### 19. Aggregating miRNA-target tables across tissues using col_agrecounter_log()
- Extends **col_agrecounter()** with a loop over several logical membership columns (e.g. tissues), aggregating and counting targets per key.
- ```{r, eval=FALSE }
- df <- data.frame(
- pre_miRNA = c('hsa-miR-195', 'hsa-miR-195', 'hsa-miR-4753'),
- Target = c('CDH24', 'PAX1', 'TGFB3'),
- Hippocampus_log = c(TRUE, TRUE, TRUE),
- Cortex_log = c(TRUE, FALSE, TRUE))
- col_agrecounter_log(df, col_names = 'Target', col_collapse = 'pre_miRNA',
- cols_log = c('Hippocampus_log', 'Cortex_log'))
- ```
- ### 20. Expanding miRNA names using miR_mature()
- Splits each miRNA into precursor and mature (`-5p`, `-3p`) query rows for multiMiR.
- ```{r, eval=FALSE }
- df <- data.frame(miRNA = c('hsa-mir-21', 'hsa-miR-155-5p'))
- miR_mature(df, col = 'miRNA')
- ```
- ### 21. Small helpers: countgenes() and log_to_NR()
- ```{r, eval=FALSE }
- # encode the number of unique genes into the column names
- countgenes(data.frame(listA = c('TP53', 'EGFR', 'TP53'),
- listB = c('MYC', 'KRAS', 'BRAF')))
- # convert a TRUE/FALSE membership matrix to 1/0
- log_to_NR(data.frame(setA = c(TRUE, FALSE), setB = c(FALSE, TRUE)))
- ```
- ## How to cite
- If you use **wizbionet** in your research, please cite the primary article:
- > Wicik Z, Jales Neto LH, Guzman LEF, Pavao R, Takayama L, Caparbo VF, Lopes NHM, Pereira AC, Pereira RMR (2021). *The crosstalk between bone metabolism, lncRNAs, microRNAs and mRNAs in coronary artery calcification.* Genomics 113(1 Pt 2):503-513. doi: [10.1016/j.ygeno.2020.09.041](https://doi.org/10.1016/j.ygeno.2020.09.041) (PMID: 32971215).
- You can also retrieve this from R with `citation("wizbionet")`.
- Some functions rely on external tools and databases; when you use them, please also cite:
- - **topmiRNA_toptarget()** uses the multiMiR package and database: Ru Y, Kechris KJ, Tabakoff B, et al. (2014). *The multiMiR R package and database: integration of microRNA-target interactions along with their disease and drug associations.* Nucleic Acids Research 42(17):e133. doi: [10.1093/nar/gku631](https://doi.org/10.1093/nar/gku631).
- - **lnc_RNARNA_scanner()** mines the RNARNA database: Terai G, Iwakiri J, Kameda T, Hamada M, Asai K (2016). *Comprehensive prediction of lncRNA-RNA interactions in human transcriptome.* BMC Genomics 17(S1):12. doi: [10.1186/s12864-015-2307-5](https://doi.org/10.1186/s12864-015-2307-5).
vignette_wizbionet.Rmd at commit 6f77972, under MIT · at the source
Overview
- Department of Experimental and Clinical Pharmacology, Center for Preclinical Research and Technology CePT, Medical University of Warsaw, Banacha 1B Street, 02-097 Warsaw, Poland
- Department of Experimental and Clinical Neuroscience, Institute of Psychiatry and Neurology, Sobieskiego 9 Street, 02-957 Warsaw, Poland; (Z.W.); (P.M.)
- Faculty of Medicine, Medical University of Warsaw, Zwirki and Wigury 61 Street, 02-097 Warsaw, Poland
- Department of Neurosurgery, Institute of Psychiatry and Neurology, Warsaw, Poland, Sobieskiego 9 Street 02-957 Warsaw, Poland; (M.S.); (A.S.-S.); (P.G.); (K.P.)
Abstract
Highlights: What are the main findings?
A 953 of genes was shared between glioblastoma and Parkinson’s disease (PD), indicating substantial overlap in disease-related molecular pathways.
Plasma levels of miR-16-5p and miR-32-5p were significantly higher in glioma patients compared with PD patients and controls, and miR-16-5p together with p53 were increased in glioblastoma tumor tissue.
What are the implications of the main findings?
miR-16-5p and miR-32-5p may serve as peripheral biomarkers associated with glioma-related molecular pathways.
The shared gene network indicates a potential molecular connection between neurodegeneration and glioma biology. Further studies are needed to identify specific pathways involved in both cell death and proliferation.
Abstract: Objectives: In this study, we explore the molecular basis of the literature-reported inverse association between brain neoplasms and neurodegenerative disorders, including Parkinson’s disease (PD). As miRNAs are post-transcriptional regulators, we selected them as candidates underlying opposite processes of neurodegeneration and glioma development. Methods: We used bioinformatic analyses for disease-gene extraction, miRNA target prediction, enrichment analyses, and miRNA ranking. We identified 953 shared genes between PD and glioblastoma (GBM) in DisGeNET, then prioritized miRNAs predicted to regulate the largest number of shared targets. Next, we collected peripheral blood from patients with PD (n = 12), patients with gliomas (the most advanced—grade IV, n = 10 and grade III n = 3) and controls undergoing spinal surgery for disk pathology (n = 10). Blood samples were obtained pre-operatively in controls and glioma patients. Tumor and peritumoral tissues were obtained from glioma patients, whereas tissue sampling is not feasible in PD. Brain tissues and plasma were analyzed using RT-qPCR (miRNA) and ELISA (p53). Results: We observed increased levels of miR-16-5p (p < 0.05) and p53 protein (p < 0.05) in tumor tissues compared with peritumoral tissue. Additionally, miR-16-5p and miR-32-5p plasma levels were elevated in glioma patients compared with both PD patients (p < 0.01 and p < 0.001, respectively) and controls (p < 0.01 and p < 0.001, respectively). Plasma levels in PD did not differ from controls. Conclusions: Although these analyses highlight miR-16-5p and miR-32-5p as candidate biomarkers associated with glioma related pathways, the results did not provide evidence for the expected opposite regulation between PD and glioma. Future studies with a larger cohort of patients using high-throughput methods are needed to validate these findings and to elucidate the mechanisms driving neurodegeneration or excessive proliferation.
Reproduced under the paper's license (CC BY), from the paper cited above.
Repository
Its files are read in the Code ↔ Paper reader above, with 1 match between paragraphs and lines of code.
wizbionet/wizbionet
6f779729014c54ec96a5efc1afb6e997af543d06, 21 July 2026Availability: 1 check, the latest on 30 September 2026: the link answers
- 30 September 2026: the link answers
41 files
- R/
Homo_sapiens.R , R, 34 lines - R/
NCBI_synonyms.R , R, 97 lines - R/
NCBI_synonyms2023.R , R, 100 lines - R/
basic_functions.R , R, 119 lines - R/
cbind_filler.R , R, 54 lines - R/
clusterizer_OneR_v1.R , R, 96 lines - R/
col_agrecounter_log.R , R, 134 lines - R/
col_agrecounter_v1.R , R, 101 lines - R/
col_selector_v1.R , R, 36 lines - R/
coll_reduction.R , R, 75 lines - R/
count_keyvec.R , R, 87 lines - R/
countgenes.R , R, 30 lines - R/
fix_Oner_custom.R , R, 79 lines - R/
lists_combiner_v1.R , R, 84 lines - R/
lnc_RNARNA_scanner_outpu , R, 28 linest.R - R/
lnc_RNARNA_scanner_v2.R , R, 304 lines - R/
log_to_NR.R , R, 24 lines - R/
miR_mature.R , R, 73 lines - R/
rev_lists_comb_other.R , R, 56 lines - R/
reverse_list_comb.R , R, 59 lines - R/
top_percent.R , R, 63 lines - R/
topmiRNA_toptarget_outpu , R, 29 linest.R - R/
topmiRNA_toptarget_v2.R , R, 255 lines - R/
unify_symbols.R , R, 76 lines - R/
wizbionet-globals.R , R, 4 lines - R/
wizbionet-package.R , R, 23 lines - README.Rmd, R, 63 lines
- doc/
vignette_wizbionet.R , R, 501 lines - doc/
vignette_wizbionet.Rmd , R, 741 lines - tests/
testthat.R , R, 3 lines - tests/
testthat/ , R, 25 linestest-NCBI_synonyms2023.R - tests/
testthat/ , R, 23 linestest-basic-transforms.R - tests/
testthat/ , R, 20 linestest-cbind_filler.R - tests/
testthat/ , R, 17 linestest-col_agrecounter_log .R - tests/
testthat/ , R, 15 linestest-coll_reduction.R - tests/
testthat/ , R, 13 linestest-count_keyvec.R - tests/
testthat/ , R, 15 linestest-miR_mature.R - tests/
testthat/ , R, 25 linestest-reverse-combine.R - vignettes/
vignette_wizbionet.Rmd , R, 741 lines, 1 match - LICENSE, License, 21 lines
- README.md, Text, 44 lines
Tracing map
Proposed by the machine: these links were found in the paper and verified at the source, without human review. The map will receive a Zenodo DOI once one of the paper's authors has validated it with their ORCID.
What the map holds:
- 1 repository of the authors' code, each at its verified commit, with its license and how the link was found in the paper;
- 39 scripts, each with its path and the digest of its content;
- 1 match between paragraphs of the paper and lines of the code (method lexical-v1);
- neither the text of the paper nor the code itself.
Its JSON (tracing-map.json) is deposited on Zenodo with its DOI once the map is validated.
Data
No dataset and no data link were found in the paper.
Data Availability Statement
Data supporting the findings of this study are available from the corresponding author upon request. The results of the bioinformatic analyses are provided in Supplementary Table S1.
Reproduced under the paper's license (CC BY), from the paper cited above.
Versions
The history of this record: each version stored by the harvester or made by a correction of its authors or of the maintainers of its code, and what changed in its facts. The texts of the paper (its abstract, its availability statements) are not part of it; versions that changed only those are not listed.
Version 1, 30 September 2026: the first record
Recorded: type, language, journal, volume, issue, pages, dates, 9 authors, 5 keywords, 1 funder, 52 references.
Cite
This paper
Szyndler, J., Wicik, Z., Wierucka, A., Maciejak, P., Sobstyl, M., Stapińska-Syniec, A., Glinka, P., Piwowarski, K., & Chmielewska, N. (2026). In Silico-Identified miR-16-5p and miR-32-5p as a Shared Molecular Signature of Primary Gliomas and Parkinson's Disease: Plasma Levels Are Increased Only in Glioma Patients. Brain sciences, 16(4), 347. https://
BibTeX
@article{szyndler2026sil
author = {Szyndler, Janusz and Wicik, Zofia and Wierucka, Anna and Maciejak, Piotr and Sobstyl, Michał and Stapińska-Syniec, Angelika and Glinka, Piotr and Piwowarski, Karol and Chmielewska, Natalia},
title = {{In Silico-Identified miR-16-5p and miR-32-5p as a Shared Molecular Signature of Primary Gliomas and Parkinson's Disease: Plasma Levels Are Increased Only in Glioma Patients}},
journal = {Brain sciences},
year = {2026},
month = mar,
volume = {16},
number = {4},
pages = {347},
publisher = {Multidisciplinary Digital Publishing Institute (MDPI)},
issn = {2076-3425},
doi = {10.3390/
url = {https://
pmid = {42041758},
pmcid = {PMC13115420}
}
RIS
TY - JOUR
AU - Szyndler, Janusz
AU - Wicik, Zofia
AU - Wierucka, Anna
AU - Maciejak, Piotr
AU - Sobstyl, Michał
AU - Stapińska-Syniec, Angelika
AU - Glinka, Piotr
AU - Piwowarski, Karol
AU - Chmielewska, Natalia
TI - In Silico-Identified miR-16-5p and miR-32-5p as a Shared Molecular Signature of Primary Gliomas and Parkinson's Disease: Plasma Levels Are Increased Only in Glioma Patients
T2 - Brain sciences
J2 - Brain Sci
PY - 2026
DA - 2026/
VL - 16
IS - 4
SP - 347
SN - 2076-3425
PB - Multidisciplinary Digital Publishing Institute (MDPI)
DO - 10.3390/
UR - https://
LA - en
ER -
CSL-JSON
{
"id": "10.3390/
"type": "article-journal",
"title": "In Silico-Identified miR-16-5p and miR-32-5p as a Shared Molecular Signature of Primary Gliomas and Parkinson's Disease: Plasma Levels Are Increased Only in Glioma Patients",
"container-title": "Brain sciences",
"author": [
{
"family": "Szyndler",
"given": "Janusz"
},
{
"family": "Wicik",
"given": "Zofia"
},
{
"family": "Wierucka",
"given": "Anna"
},
{
"family": "Maciejak",
"given": "Piotr"
},
{
"family": "Sobstyl",
"given": "Michał"
},
{
"family": "Stapińska-Syniec",
"given": "Angelika"
},
{
"family": "Glinka",
"given": "Piotr"
},
{
"family": "Piwowarski",
"given": "Karol"
},
{
"family": "Chmielewska",
"given": "Natalia"
}
],
"container-title-short":
"volume": "16",
"issue": "4",
"page": "347",
"DOI": "10.3390/
"PMID": "42041758",
"PMCID": "PMC13115420",
"ISSN": "2076-3425",
"publisher": "Multidisciplinary Digital Publishing Institute (MDPI)",
"URL": "https://
"language": "en",
"issued": {
"date-parts": [
[
2026,
3,
24
]
]
}
}
The tracing map gets a citation of its own once an author has validated it and it has a DOI.
Similar papers
The papers with a page that share the most with this one: the tools found in their code, their categories, datasets, cited references and authors, the rarest counting most.
- [1] doi:10.3389/fonc.2023.1158773
- MicroRNAs miR-16 and miR-519 control meningioma cell proliferation &
lt;i& gt;via& lt;/ i& gt; overlapping transcriptomic programs shared with the RNA-binding protein HuR. Journal: Frontiers in oncologyIn common: other condition, cellular / molecular, 2 references - [2] doi:10.1186/s13073-023-01175-6 [code]
- Stalled oligodendrocyte differentiation in IDH-mutant gliomas.Journal: Genome medicineIn common: data.table, tidyverse, other condition, cellular / molecular, 1 reference
- [3] doi:10.1038/s41746-024-01175-9 [code]
- Identification of Parkinson's disease PACE subtypes and repurposing treatments through integrative analyses of multimodal data.Journal: NPJ digital medicineIn common: tidyverse, Parkinson's, 2 references
- [4] doi:10.1016/j.heliyon.2025.e42445 [code]
- A bird's eye view to the homeostatic, Alzheimer and Glioblastoma attractors.Journal: HeliyonIn common: other condition, 2 references
- [5] doi:10.1126/sciadv.adr1481 [code]
- Modulation of blood-tumor barrier transcriptional programs improves intratumoral drug delivery and potentiates chemotherapy in GBM.Journal: Science advancesIn common: tidyverse, other condition, cellular / molecular, 2 references
- [6] doi:10.1111/jcmm.70098
- Inhibition of circular JUN prevents the proliferation and invasion of glioblastoma via miR-3064-IGFBP5 axis.Journal: Journal of cellular and molecular medicineIn common: other condition, cellular / molecular, 2 references
- [7] doi:10.1038/s43018-025-00976-5 [code]
- crossNN is an explainable framework for cross-platform DNA methylation-based classification of tumors.Journal: Nature cancerIn common: data.table, tidyverse, other condition, 1 reference
- [8] doi:10.1016/j.xgen.2023.100340 [code]
- OpenPBTA: The Open Pediatric Brain Tumor Atlas.Journal: Cell genomicsIn common: data.table, tidyverse, other condition, 1 reference
- [9] doi:10.3390/genes15040483
- LncRNA NDUFA6-DT: A Comprehensive Analysis of a Potential LncRNA Biomarker and Its Regulatory Mechanisms in Gliomas.Journal: GenesIn common: other condition, 2 references
- [10] doi:10.1093/neuonc/noaf234 [code]
- A non-local diffusion magnetic resonance imaging tract density biomarker to stratify, predict, and interpret survival rates in human glioblastoma.Journal: Neuro-oncologyIn common: other condition, 2 references
Contribute
The authors of this paper can claim it, correct its record and validate its tracing map, and the maintainers of its code (its owner, or a public member of its organization) correct what it says of their repository; anyone signed in can ask for its removal. Every request goes to OSCR's own machine, which answers it; your account page follows them.
Sign in with ORCID to claim this paper as one of its authors, correct its record or validate its tracing map: when the paper's metadata lists your ORCID iD, you are recognized at once. Maintainers of its code: sign in with GitHub, then claim the repository on your account page.
Claim this paper
Correct its record
Say what each link of this record is, remove the ones that are not the paper's, add the ones that are missing. The correction becomes a new version of the record, in its Versions section.
Validate its tracing map
You validate the map as this page shows it: 1 repository of the authors' code, each at its verified commit and with its license, 39 scripts, and 1 match between paragraphs and code (see the Code and Map sections). It then receives a DOI on Zenodo, with you (your ORCID iD) and OSCR as its creators; the code itself is not deposited.
The map's fingerprint: sha256:0275d79f62a43f8b…
Add the badge to the code's README
If you are an author or a maintainer of this paper's code, you can add this badge. It says what OSCR knows of the paper (its code, its validated tracing map) and links the code to this page. Paste one of these snippets under the README's title. Keep the two marks around it, so that the badge can be replaced in place and is never added twice. OSCR changes nothing in your repository.
Markdown
<!-- oscr-badge:start -->
[](https://openscicode.org/badge/doi/10.3390/brainsci16040347)
<!-- oscr-badge:end -->reStructuredText
.. oscr-badge:start
.. image:: https://openscicode.org/badge/doi/10.3390/brainsci16040347.svg
:target: https://openscicode.org/badge/doi/10.3390/brainsci16040347
:alt: OSCR
.. oscr-badge:endHTML
<!-- oscr-badge:start -->
<a href="https://openscicode.org/badge/doi/10.3390/brainsci16040347"><img src="https://openscicode.org/badge/doi/10.3390/brainsci16040347.svg" alt="OSCR"></a>
<!-- oscr-badge:end -->On GitHub, open the README, choose Edit (the pencil), paste the snippet under the title, then "Commit changes".
If you choose to, you can have the badge kept up to date for you, with oscr badge --write from the command line or with the GitHub Action in your repository's workflows. Every other form and option (a card, AsciiDoc, LaTeX, shields.io) is on the badge page.
Request its removal
To ask OSCR to remove this record, the copies of its authors' scripts or its tracing map, use the removal request page: signed in, you say who you are, what to remove and why, then review and confirm the request. Published rules decide every request (how).
Discussion, reproductions, activity
Discussion: code errors and mismatches between the code and the paper about this paper and its code, from readers and its authors, beside the paper and its tracing map.
Report a mismatch between the code and the paper · Report a code error (signed in)
Reproductions: reports from readers who ran the authors' code and did not get the paper's result, what they ran, with which environment, commit and data.
Report a reproduction failure (signed in)
Versions of its code: the releases of its code tied to a version of this paper (the preprint, the accepted manuscript, the version of record…), each with the tracing map versioned with it.
Activity: what happens around this paper: new versions of its record, its map's validation, discussions and reproductions. It opens with sign-in.
