Numerous independent networks of regulatory elements, including lncRNA, circRNA and pathway, have been developed to crucial roles in computational system biology. Crosstalks among those networks as a bridge to build and decode heterogeneous networks from multidimensional biological knowledge, aids to highlight regulatory elements. And combinations of regulatory elements (CREs) in the local area of heterogeneous network have been a hot issue due to its crucial role in biological processes. We introduce NetLCP, an R package with command and shiny-based GUI modes, for prioritizing CREs with variant ‘switches’. The latest version of NetLCP can be downloaded in https://github.com/mortyran/NetLCP.
# Method 1
library(devtools)
devtools::install_github("mortyran/NetLCP")
# Method 2
BiocManager::install('githubinstall')
library(githubinstall)
githubinstall("NetLCP")
After acquiring the file named “NetLCPData.tar.gz” from https://www.dropbox.com/s/4dqtxecpw79iejx/NetLCPData.tar.gz or http://hainmu-biobigdata.com/NetLCP/NetLCPData.tar.gz, please do as follows:
Step1: Get NetLCP data directory.
NetLCP_file_path = system.file("extdata", package = "NetLCP")
Step2: Copy the download file “NetLCPData.tar.gz” to the directory.
# your_file_path is the file path of "NetLCPData.tar.gz" in your computer.
file.copy(your_file_path, NetLCP_file_path)
Step3: Initialize the data in R.
library(NetLCP)
NetLCP,
More information can be found at https://github.com/rmyhandsome/NetLCP
If you use NetLCP in you publication, please cite this publication:
NetLCP: An R package for prioritizing combinations of regulatory elements in the heterogeneous network with variant ‘switches’ detection
Authors: MingYu Ran (rmyhandsome@163.com)
Maintainer: MingYu Ran.
Please read the tutorial in https://mortyran.github.io/NetLCP/ for data preparation before using NetLCP.
dataInitialize()
[1] "Data initialization has been finished!"
library(NetLCP)
dataInitialize()
This demo data is a miRNA/mRNA dataset related to cellular senescence from Aging Atlas and CellAge.
cs_url = "https://raw.githubusercontent.com/mortyran/NetLCP/main/ExampleData/CellularSenescenceData"
cs_data = read.table(cs_url, sep = "\t", header = T)
head(cs_data)
Highlight the regulatory elements in heterogenous network by input miRNA/mRNA set (mixed miRNA and mRNA set is highly recommended). NetLCP supports miRBase ID for miRNA and Entrez ID for mRNA.
lncRNA_prio = BioRegElePrioritization( transcriptomeList = cs_data$Trans_ID,
prioType = "lncRNA",
empiricalPvalue = FALSE )
[1] "Filtering the missing elements of transcriptomeList in the input network......"
[1] "Element 10934/7012 have been filtered....."
[1] "Now remain 367"
[1] "Prioritization begins, please wait while we do something......"
[1] "Prioritization finished......"
head(lncRNA_prio)
Parameters
- transcriptomeList is the input miRNA/mRNA set.
- prioType represents the biological element types including lncRNA, circRNA, KEGG, Reactome, Wikipathway
- empiricalPvalue is alternative for an empirical p.value through random perturbation and default value is FALSE. Empirical p.value computation may take a long time.
circRNA_prio = BioRegElePrioritization( transcriptomeList = cs_data$Trans_ID,
prioType = "circRNA",
empiricalPvalue = FALSE )
head(circRNA_prio)
Parameters
- transcriptomeList is the input miRNA/mRNA set.
- prioType represents the biological element types including lncRNA, circRNA, KEGG, Reactome, Wikipathway
- empiricalPvalue is alternative for an empirical p.value through random perturbation and default value is FALSE. Empirical p.value computation may take a long time.
KEGG_prio = BioRegElePrioritization( transcriptomeList = cs_data$Trans_ID,
prioType = "KEGG",
empiricalPvalue = FALSE )
head(KEGG_prio)
Parameters
- transcriptomeList is the input miRNA/mRNA set.
- prioType represents the biological element types including lncRNA, circRNA, KEGG, Reactome, Wikipathway
- empiricalPvalue is alternative for an empirical p.value through random perturbation and default value is FALSE. Empirical p.value computation may take a long time.
Reactome_prio = BioRegElePrioritization( transcriptomeList = cs_data$Trans_ID,
prioType = "Reactome",
empiricalPvalue = FALSE )
[1] "Filtering the missing elements of transcriptomeList in the input network......"
[1] "Element 10934/7012 have been filtered....."
[1] "Now remain 367"
[1] "Prioritization begins, please wait while we do something......"
[1] "Prioritization finished......"
head(Reactome_prio)
Parameters
- transcriptomeList is the input miRNA/mRNA set.
- prioType represents the biological element types including lncRNA, circRNA, KEGG, Reactome, Wikipathway
- empiricalPvalue is alternative for an empirical p.value through random perturbation and default value is FALSE. Empirical p.value computation may take a long time.
Wikipathway_prio = BioRegElePrioritization( transcriptomeList = cs_data$Trans_ID,
prioType = "Wikipathway",
empiricalPvalue = FALSE )
head(Wikipathway_prio)
Parameters
- transcriptomeList is the input miRNA/mRNA set.
- prioType represents the biological element types including lncRNA, circRNA, KEGG, Reactome, Wikipathway
- empiricalPvalue is alternative for an empirical p.value through random perturbation and default value is FALSE. Empirical p.value computation may take a long time.
A CRE is a combination of input miRNA/mRNA and highlighted regulatory elements (lncRNA/circRNA/pathway) in local area of heterogenous network. NetLCP supports Ensembl ID for lncRNA, miRBase ID for miRNA, Entrez ID for mRNA, KEGG ID, Reactome ID, Wikipathway ID for pathway.
Explore the binary CREs including circRNA-miRNA, lncRNA-miRNA, lncRNA-mRNA, miRNA-mRNA, miRNA-pathway and mRNA-pathway, in the local area of heterogenous network.
# miRNA-mRNA CREs in local area
bi_local_miRNA_mRNA = binaryRegulation( elementList = local_elements,
regulationType = "miRNA-mRNA",
allRegulation = FALSE )
# miRNA-pathway CREs in local area
bi_local_miRNA_pathway = binaryRegulation( elementList = local_elements,
regulationType = "miRNA-pathway",
allRegulation = FALSE )
Parameters
- elementList is a vector of elements.
- regulationType represents the CREs types in local area including circRNA-miRNA, lncRNA-miRNA, lncRNA-mRNA, miRNA-mRNA, miRNA-pathway, mRNA-pathway.
- allRegulation is a logical value. If you set “FALSE”(default), it will return the CREs which only contains elements in the elementList. If you set “TRUE”, it will search the CREs in the whole depository, which means the results can contain other biological elements.
Explore the multielement CREs including lncRNA-miRNA-mRNA, circRNA-miRNA-mRNA, miRNA-mRNA-pathway, lncRNA-miRNA-mRNA-pathway and circRNA-miRNA-mRNA-pathway, in the local area of heterogenous network.
Here we explore the CREs of the top 10 of prioritized lncRNAs and Reactome pathways, and input miRNA/mRNA.
# Input data preparation, combining the top 10 of prioritized lncRNAs
# and Reactome pathways with input miRNA/mRNA.
lncRNA_top10 = lncRNA_prio$NodeName[1:10]
Reactome_top10 = Reactome_prio$NodeName[1:10]
local_elements = c(lncRNA_top10, Reactome_top10, cs_data$Trans_ID)
head(local_elements)
[1] "ENSG00000229807" "ENSG00000247556" "ENSG00000251562" "ENSG00000225733"
[5] "ENSG00000230551" "ENSG00000231074"
multi_local = multieleRegulation( elementList = local_elements,
regulationType = "lncRNA-miRNA-mRNA-pathway",
allRegulation = FALSE )
[1] "Filtering the missing input elements in input network......"
[1] "10934/7012 have been filtered....."
[1] "Now remain 387"
[1] "Multielement regulation extraction begins, please wait while we do something......"
head(multi_local)
Parameters
- elementList is a vector of elements.
- regulationType represents the CREs type in local area including lncRNA-miRNA-mRNA, circRNA-miRNA-mRNA, miRNA-mRNA-pathway, lncRNA-miRNA-mRNA-pathway and circRNA-miRNA-mRNA-pathway.
- allRegulation is a logical value. If you set “FALSE”(default), it will return the CREs which only contains elements in the elementList. If you set “TRUE”, it will search the CREs in the whole depository, which means the results can contain other biological elements.
You can calculate the degree of elements of CREs in the heterogenous network and visualize the network.
# Calculate the degree of biological elements in the local heterogenous network.
regStat( regData = multi_local,
filterDegree = 40,
selectCREs = NULL )
Parameters
- regData is the standard output of binaryRegulation or multieleRegulation functions.
- filterDegree can find elements with degree greater than a customized number. It will be ignored when selectCREs is given.
- selectCREs is a vector of elements or CREs.
# network visualization.
regNetVis( regData = multi_local,
filterDegree = 20,
selectCREs = NULL,
netLayout = "layout_nicely" )
Parameters
- regData is the standard output of binaryRegulation or multieleRegulation functions.
- filterDegree can find elements with degree greater than a customized number. It will be ignored when selectCREs is given.
- selectCREs is a vector of elements or CREs.
# if you want to see the associated CREs of the
# element "4193" in local area of heterogeous network.
regNetVis( regData = multi_local,
filterDegree = 20,
selectCREs = "4193",
netLayout = "layout_nicely" )
Parameters
- regData is the standard output of binaryRegulation or multieleRegulation functions.
- filterDegree can find elements with degree greater than a customized number. It will be ignored when selectCREs is given.
- selectCREs is a vector of elements or CREs.
- netLayout can automate a network layout with “layout_nicely” or “layout_in_circle”. If the network is too large to exhibit, try to use “layout_in_circle”.
eQTLsData = eQTLsDetection(regData = multi_local)
[1] "Single biological elements eQTLs extracting extracting begins......"
head(eQTLsData)
Parameters
- regData is the standard output of binaryRegulation or multieleRegulation functions.
You can perform statistics on the eQTLs of single elements or CREs, output the prioritized CREs and customize the network visualization.
# count the eQTLs of single elements.
eQTLsSingleEleStat( regData = multi_local,
eQTLsData = eQTLsData,
filterDegree = 15,
selectCREs = NULL )
Parameters
- regData is the standard output of binaryRegulation or multieleRegulation functions.
- eQTLsData is the standard output of eQTLsDetection function.
- filterDegree can find elements with degree greater than a customized number. It will be ignored when selectCREs is given.
- selectCREs is a vector of elements or CREs.
# count the eQTLs of CREs, it will output a file named "CREs_eQTLs.csv" containing prioritized CREs.
eQTLsRegStat( regData = multi_local,
eQTLsData = eQTLsData,
regulationType = "lncRNA-miRNA-mRNA-pathway",
topCREs = 100, # exhibit and output the top 100 of prioritized CREs.
filterDegree = 15,
selectCREs = NULL )
[1] "saving prioritized CREs eQTLs......"
[1] "Prioritized CREs eQTLs has been output !"
prioritized_CREs = read.csv("CREs_eQTLs.csv")
head(prioritized_CREs)
Parameters
- regData is the standard output of binaryRegulation or multieleRegulation functions.
- eQTLsData is the standard output of eQTLsDetection function.
- regulationType represent the regulation type of regData, which supports circRNA-miRNA, lncRNA-miRNA, lncRNA-mRNA, miRNA-mRNA, miRNA-pathway, mRNA-pathway, circRNA-miRNA-mRNA, lncRNA-miRNA-mRNA, miRNA-mRNA-pathway, lncRNA-miRNA-mRNA-pathway and circRNA-miRNA-mRNA-pathway.
- topCREs is an integer representing the number of the top prioritized CREs to exhibit.
- filterDegree can find elements with degree greater than a customized number. It will be ignored when selectCREs is given.
- selectCREs is a vector of elements or CREs.
# network visualization.
eQTLsNetVis( regData = multi_local,
eQTLsData = eQTLsData,
filterDegree = 30,
selectCREs = NULL,
netLayout = "layout_in_circle" )
# Give that you highlight the CREs "ENSG00000251562_MIMAT0000081_4193_R-HSA-2559580" and "ENSG00000247556_MIMAT0000081_4193_R-HSA-2559580"
# by eQTLs statistics, and you want to concentrate on their eQTLs.
eQTLsNetVis(regData = multi_local,
eQTLsData = eQTLsData,
filterDegree = 30, # this parameter will be automatically ignored when setting "selectNode"
selectCREs = c("ENSG00000251562_MIMAT0000081_4193_R-HSA-2559580",
"ENSG00000247556_MIMAT0000081_4193_R-HSA-2559580"),
netLayout = "layout_nicely")
Parameters
- regData is the standard output of binaryRegulation or multieleRegulation functions.
- eQTLsData is the standard output of eQTLsDetection function.
- regulationType represent the regulation type of regData, which supports circRNA-miRNA, lncRNA-miRNA, lncRNA-mRNA, miRNA-mRNA, miRNA-pathway, mRNA-pathway, circRNA-miRNA-mRNA, lncRNA-miRNA-mRNA, miRNA-mRNA-pathway, lncRNA-miRNA-mRNA-pathway and circRNA-miRNA-mRNA-pathway.
- topCREs is an integer representing the number of the top prioritized CREs to exhibit.
- filterDegree can find elements with degree greater than a customized number. It will be ignored when selectCREs is given.
- selectCREs is a vector of elements or CREs.
- netLayout can automate a network layout with “layout_nicely” or “layout_in_circle”. If the network is too large to exhibit, try to use “layout_in_circle”.
regVarData = regVarDetection(regData = multi_local, regulationType = "lncRNA-miRNA-mRNA-pathway")
[1] "Variants on regulations extracting begins......"
head(regVarData)
Parameters
- regData is the standard output of binaryRegulation or multieleRegulation functions.
- regulationType represents the regulation types of regData, which support “miRNA-mRNA”, “miRNA-mRNA-pathway”, “lncRNA-miRNA-mRNA”, “circRNA-miRNA-mRNA”, “lncRNA-miRNA-mRNA-pathway” or “circRNA-miRNA-mRNA-pathway”.
# count the variant 'switches' on the binding sites of the top 100 of prioritized CREs.
regVarStat(regVar = regVarData,
regulationType = "lncRNA-miRNA-mRNA-pathway",
selectCREs = prioritized_CREs$reg)
Parameters
- regVarData is the standard output of regVarDetection function.
- regulationType is the same as parameter in regVarDetection function.
- selectCREs is a vector of elements or CREs.
# network visualization.
regVarNetVis(regVar = regVarData,
regulationType = "lncRNA-miRNA-mRNA-pathway",
selectCREs = prioritized_CREs$reg)
Parameters
- regVarData is the standard output of regVarDetection function.
- regulationType is the same as parameter in regVarDetection function.
- selectCREs is a vector of elements or CREs.
# laungh NetLCP GUI
library(NetLCP)
NetLCPGUI()