Title: | Regulation Simulator of Interaction between miRNA and Competing RNAs (ceRNA) |
---|---|
Description: | This package simulates regulations of ceRNA (Competing Endogenous) expression levels after a expression level change in one or more miRNA/mRNAs. The methodolgy adopted by the package has potential to incorparate any ceRNA (circRNA, lincRNA, etc.) into miRNA:target interaction network. The package basically distributes miRNA expression over available ceRNAs where each ceRNA attracks miRNAs proportional to its amount. But, the package can utilize multiple parameters that modify miRNA effect on its target (seed type, binding energy, binding location, etc.). The functions handle the given dataset as graph object and the processes progress via edge and node variables. |
Authors: | Selcen Ari Yuka [aut, cre] , Alper Yilmaz [aut] |
Maintainer: | Selcen Ari Yuka <[email protected]> |
License: | GPL (>= 3.0) |
Version: | 1.19.0 |
Built: | 2024-11-29 04:27:10 UTC |
Source: | https://github.com/bioc/ceRNAnetsim |
Calculates average expression changes of all nodes except trigger and finds the perturbed node count for a given node.
calc_perturbation(input_graph, node_name, how = 1, cycle = 1, limit = 0)
calc_perturbation(input_graph, node_name, how = 1, cycle = 1, limit = 0)
input_graph |
the graph object that was processed with priming graph in previous step. |
node_name |
The node that is trigger for simulation. |
how |
The change of count of the given node in terms of fold change. |
cycle |
The iteration of simulation. |
limit |
The minimum fold change which can be taken into account for perturbation calculation on all nodes in terms of percentage. |
calc_perturbation calculates mean expression changes of elements except trigger after the change in the network in terms of percentage. It also calculates the number of nodes that have expression changes after the change occur in the network. The function determines the perturbation efficiency and number of perturbed nodes after given change with how, cycle and limit parameter.
a tibble with two columns, the perturbation efficiency and number of perturbed nodes.
data('minsamp') minsamp%>% priming_graph(competing_count = Competing_expression, miRNA_count = miRNA_expression)%>% calc_perturbation('Gene6', how= 3, cycle = 4) minsamp%>% priming_graph(competing_count = Competing_expression, miRNA_count = miRNA_expression, aff_factor = c(energy,seed_type), deg_factor = region)%>% calc_perturbation('Gene6',3, cycle = 4)
data('minsamp') minsamp%>% priming_graph(competing_count = Competing_expression, miRNA_count = miRNA_expression)%>% calc_perturbation('Gene6', how= 3, cycle = 4) minsamp%>% priming_graph(competing_count = Competing_expression, miRNA_count = miRNA_expression, aff_factor = c(energy,seed_type), deg_factor = region)%>% calc_perturbation('Gene6',3, cycle = 4)
Finds top affected nodes for perturbation from a particular node
find_affected_nodes( input_graph, node_name, how = 1, cycle = 1, limit = 0, top = 5 )
find_affected_nodes( input_graph, node_name, how = 1, cycle = 1, limit = 0, top = 5 )
input_graph |
The graph object that was processed with priming_graph function. |
node_name |
The node to trigger perturbations. |
how |
The change of count (expression) of the given node in terms of fold change. |
cycle |
The iteration of simulation. |
limit |
The minimum fold change which can be taken into account for perturbation calculation on all nodes in terms of percentage. |
top |
Determines how many nodes most affected will be listed. |
Lists the most affected nodes after perturbation initiated from a particular node. In the background, it compares the calculated values after the simulation with their initial values.
It gives a tibble form dataset that includes perturbation node, affected nodes and changes of them.
data('midsamp') midsamp%>% priming_graph(competing_count = Gene_expression, miRNA_count = miRNA_expression)%>% find_affected_nodes(node_name = "Gene1", how = 2, cycle = 2, top = 2)
data('midsamp') midsamp%>% priming_graph(competing_count = Gene_expression, miRNA_count = miRNA_expression)%>% find_affected_nodes(node_name = "Gene1", how = 2, cycle = 2, top = 2)
searches the iteration that provides maximum affected node number. The user defines a symbolic iteration with .iter. The function calculates the number of affected nodes for each iteration and then selects the iteration that has maximum affected nodes' number.
find_iteration(df, limit = 0.1, plot = FALSE)
find_iteration(df, limit = 0.1, plot = FALSE)
df |
A tbl graph that includes the miRNA and competing targets triggered and simulated for number of cycles. |
limit |
The minimum amount of change of any node. |
plot |
If TRUE, returns a plot. |
It gives an iteration number to use in simulate() function.
data('midsamp') midsamp %>% priming_graph(Gene_expression, miRNA_expression) %>% update_how('Gene2',2) %>% simulate(10) %>% find_iteration(limit=0)
data('midsamp') midsamp %>% priming_graph(Gene_expression, miRNA_expression) %>% update_how('Gene2',2) %>% simulate(10) %>% find_iteration(limit=0)
Calculates average expression changes of all (or specified) nodes except trigger and finds the perturbed node count for all (or specified) nodes in system.
find_node_perturbation(input_graph, how = 2, cycle = 1, limit = 0, fast = 0)
find_node_perturbation(input_graph, how = 2, cycle = 1, limit = 0, fast = 0)
input_graph |
The graph object that was processed with priming_graph function. |
how |
The change of count (expression) of the given node in terms of fold change. |
cycle |
The iteration of simulation. |
limit |
The minimum fold change which can be taken into account for perturbation calculation on all nodes in terms of percentage. |
fast |
specifies percentage of affected target in target expression. For example, if fast = 1, the nodes that are affected from miRNA repression activity more than one percent of their expression is determined as subgraph. |
find_node_perturbation calculates mean expression changes of elements after the change in the network in terms of percentage. It also calculates the number of nodes that have expression changes after the change occur in the network. The outputs of the function are the perturbation efficiency and perturbed count of nodes for each nodes.
It gives a tibble form dataset that includes node names, perturbation efficiency and perturbed count of nodes.
data('minsamp') data('midsamp') minsamp%>% priming_graph(competing_count = Competing_expression, miRNA_count = miRNA_expression)%>% find_node_perturbation()%>% select(name, perturbation_efficiency, perturbed_count) minsamp%>% priming_graph(competing_count = Competing_expression, miRNA_count = miRNA_expression, aff_factor = c(energy,seed_type), deg_factor = region)%>% find_node_perturbation(how = 3, cycle = 4)%>% select(name, perturbation_efficiency, perturbed_count) midsamp%>% priming_graph(competing_count = Gene_expression, miRNA_count = miRNA_expression)%>% find_node_perturbation(how = 2, cycle= 3, limit=1, fast = 5)%>% select(name, perturbation_efficiency, perturbed_count)
data('minsamp') data('midsamp') minsamp%>% priming_graph(competing_count = Competing_expression, miRNA_count = miRNA_expression)%>% find_node_perturbation()%>% select(name, perturbation_efficiency, perturbed_count) minsamp%>% priming_graph(competing_count = Competing_expression, miRNA_count = miRNA_expression, aff_factor = c(energy,seed_type), deg_factor = region)%>% find_node_perturbation(how = 3, cycle = 4)%>% select(name, perturbation_efficiency, perturbed_count) midsamp%>% priming_graph(competing_count = Gene_expression, miRNA_count = miRNA_expression)%>% find_node_perturbation(how = 2, cycle= 3, limit=1, fast = 5)%>% select(name, perturbation_efficiency, perturbed_count)
Finds potential affecting node for given particular target.
find_targeting_nodes( input_graph, how = 2, cycle = 1, limit = 0, fast = 0, top = 5, target = NULL )
find_targeting_nodes( input_graph, how = 2, cycle = 1, limit = 0, fast = 0, top = 5, target = NULL )
input_graph |
The graph object that was processed with priming_graph function. |
how |
The change of count (expression) of the given node in terms of fold change. |
cycle |
The iteration of simulation. |
limit |
The minimum fold change which can be taken into account for perturbation calculation on all nodes in terms of percentage. |
fast |
specifies percentage of affected target in target expression. For example, if fast = 1, the nodes that are affected from miRNA repression activity more than one percent of their expression is determined as subgraph. |
top |
Determines how many nodes most affected will be evaluated. |
target |
The target node in which is being investigated. |
Lists potential targeting nodes by running find_affected_nodes function for all nodes in network.
It gives a tibble form dataset that includes parturbation node (source) and change in count of targeting node
data('midsamp') midsamp%>% priming_graph(competing_count = Gene_expression, miRNA_count = miRNA_expression)%>% find_targeting_nodes(how = 2, cycle = 2, target = "Gene1", top = 2)
data('midsamp') midsamp%>% priming_graph(competing_count = Gene_expression, miRNA_count = miRNA_expression)%>% find_targeting_nodes(how = 2, cycle = 2, target = "Gene1", top = 2)
A sample dataset which is utilised through integration of TCGA_E9_A1N5_normal, TCGA_E9_A1N5_mirnanormal and high-throughput experimental miRNA:gene dataset.
A data frame with 7 variables and 26176 observation:
name of gene
name of miRNA
Expression values of competing element (gene)
Expression value of miRNA elements in normal tissue
Energy of miRNA:target binding
Coefficient for efficiency of location on target
Coefficient for efficiency of seed sequence of miRNA:target interaction
Dataset was integrated by us.
middle sized sample dataset
A data frame with 7 variables and 26 observation of them:
symbol of gene
symol of miRNA
Expression values of competing gene
Expression value of miRNA
Coefficient for efficiency of seed type of miRNA:target interaction
Coefficient for efficiency of location on target
Energy of miRNA:target binding
Dataset was created by us.
includes new expression values for middle sized sample dataset
A data frame with 4 variables and 26 observation of them:
symbol of gene
symol of miRNA
Expression values of competing gene
Expression value of miRNA
Dataset was created by us.
minimal sample dataset
A data frame with 7 variables and 7 observation of them:
symbol of gene
symol of miRNA
Expression values of competing gene
Expression value of miRNA
Coefficient for efficiency of seed sequence of miRNA:target interaction
Coefficient for efficiency of location on target
Energy of miRNA:target binding
Dataset was created by us.
the dataset that includes miRNA:target gene interactions downloaded from mirtarbase
Classes tbl_df, tbl and data.frame with 380627 observation of 2 variables:
miRNA symbol
target gene symbol
http://mirtarbase.mbc.nctu.edu.tw/php/index.php
includes new expression values for minimal sample dataset
A data frame with 7 variables and 7 observation of them:
symbol of gene
symol of miRNA
Expression values of competing gene
Expression value of miRNA
Dataset was created by us.
Converts the given dataframe using first variable as competing and the second as miRNA. The function converts the given dataframe using first variable as competing and the second as miRNA. If user defines interaction factors as affinity or degradation, the factors are taken into account.
priming_graph( df, competing_count, miRNA_count, aff_factor = dummy, deg_factor = dummy )
priming_graph( df, competing_count, miRNA_count, aff_factor = dummy, deg_factor = dummy )
df |
A data frame that includes the miRNA and competing targets. |
competing_count |
The counts (or expression) of competing elements of the dataset. |
miRNA_count |
The counts (or expression) of repressive element (miRNA) of the dataset. |
aff_factor |
The parameter/s of binding between miRNA and targets. |
deg_factor |
The parameter/s for degradation of bound miRNA:target complex. |
priming_graph provides grouping of competing targets and evaluation of targets within the groups taking into account miRNA:target, target:total target, interaction and degradation parameters. The target groups are determined according to miRNAs. If the factors that are important in target interactions are specified as arguments, the factors also are evaluated separately within each group. priming_graph also calculates the miRNA efficiency in steady-state conditions. It is assumed that quantity of competing targets and miRNAs are shown in the steady-state system after the miRNAs exhibit repressive efficiency. Note that the data must not include missing values such as NA or '-'.
the graph object.
data('minsamp') priming_graph(minsamp, Competing_expression, miRNA_expression) priming_graph(minsamp, Competing_expression, miRNA_expression, aff_factor = c(seed_type,energy), deg_factor = region)
data('minsamp') priming_graph(minsamp, Competing_expression, miRNA_expression) priming_graph(minsamp, Competing_expression, miRNA_expression, aff_factor = c(seed_type,energy), deg_factor = region)
simulate function uses the change in expression value/s as triggering.
simulate(input_graph, cycle = 1, threshold = 0, knockdown = TRUE)
simulate(input_graph, cycle = 1, threshold = 0, knockdown = TRUE)
input_graph |
The graph object that processed in previous steps. |
cycle |
Optimal iteration number for gaining steady-state. |
threshold |
absolute minimum amount of change required to be considered as up/down regulated element |
knockdown |
specifies gene knockdown with default TRUE |
The steady-state conditions of the system are disturbed after the change in the graph (with update_how or update_variables). In this case, the system tend to be steady state again. The arrangement of competetive profiles of the targets continue until all nodes are updated and steady-state nearly. Note that, If 'how' argument is specified as '0', *simulate()* and *update_how()* functions process the variables to knockdown of specified gene with default 'knockdown = TRUE' and knocked down competing RNA is kept at zero. However, if 'knockdown= FALSE' argument is applied, competing RNA which has initial expression level of zero is allowed to increase or fluctuate during calculations.
The graph.
data('minsamp') data('new_counts') ## new_counts, the dataset that includes the current counts of nodes. priming_graph(minsamp, Competing_expression, miRNA_expression)%>% update_variables(new_counts)%>% simulate() priming_graph(minsamp, Competing_expression, miRNA_expression, aff_factor = c(seed_type,energy), deg_factor = region)%>% update_variables(new_counts)%>% simulate(cycle = 3)
data('minsamp') data('new_counts') ## new_counts, the dataset that includes the current counts of nodes. priming_graph(minsamp, Competing_expression, miRNA_expression)%>% update_variables(new_counts)%>% simulate() priming_graph(minsamp, Competing_expression, miRNA_expression, aff_factor = c(seed_type,energy), deg_factor = region)%>% update_variables(new_counts)%>% simulate(cycle = 3)
simulate_vis provides visualisation of the graph in addition to simulate function.
simulate_vis( input_graph, cycle = 1, threshold = 0, save = FALSE, Competing_color = "green", mirna_color = "orange", Upregulation = "red", Downregulation = "blue", title = "GRAPH", layout = "kk" )
simulate_vis( input_graph, cycle = 1, threshold = 0, save = FALSE, Competing_color = "green", mirna_color = "orange", Upregulation = "red", Downregulation = "blue", title = "GRAPH", layout = "kk" )
input_graph |
The graph object that processed in previous steps. |
cycle |
Optimal iteration number for gaining steady-state. |
threshold |
absolute minimum amount of change required to be considered as up/down regulated element |
save |
provides to save graph output |
Competing_color |
The color of competing elements on the graph with "green" default. |
mirna_color |
The color of miRNAs on the graph with "orange" default. |
Upregulation |
The color of Upregulated elements on the graph with "red" default. |
Downregulation |
The color of Downregulated elements on the graph with "blue" default. |
title |
Title of the given graph. |
layout |
The layout that will be used for visualisation of the graph. |
simulate_vis gives the last graph object and each iterations' image.
It gives a graph and the images of states in each iteration until the end of the simulation.
# When does the system gain steady-state conditions again? ## new_counts, the dataset that includes the current counts of nodes. data("minsamp") data("new_counts") priming_graph(minsamp, Competing_expression, miRNA_expression)%>% update_variables(new_counts)%>% simulate_vis() priming_graph(minsamp, Competing_expression, miRNA_expression, aff_factor = c(seed_type,energy), deg_factor = c(region))%>% update_variables(new_counts)%>% simulate_vis(cycle = 12)
# When does the system gain steady-state conditions again? ## new_counts, the dataset that includes the current counts of nodes. data("minsamp") data("new_counts") priming_graph(minsamp, Competing_expression, miRNA_expression)%>% update_variables(new_counts)%>% simulate_vis() priming_graph(minsamp, Competing_expression, miRNA_expression, aff_factor = c(seed_type,energy), deg_factor = c(region))%>% update_variables(new_counts)%>% simulate_vis(cycle = 12)
The dataset contains mirna expression values for normal tissue sample of TCGA-E9-A1N5 barcoded patient
Classes tbl_df, tbl and data.frame with 750 observation of 6 variables:
Sample, normal tissue, barcode of patient based on TCGA
mirbase id of miRNA
miRNA name
Precusor id of miRNA which is given in miRNA variable
total reading count of miRNA which is produced from different gene locations
total RPM (reading per million) of miRNA
https://portal.gdc.cancer.gov/
The dataset contains mirna expression values for tumor tissue sample of TCGA-E9-A1N5 barcoded patient
Classes tbl_df, tbl and data.frame with 648 observation of 6 variables:
Sample, tumor tissue, barcode of patient based on TCGA
mirbase id of miRNA
miRNA name
Precusor id of miRNA which is given in miRNA variable
total reading count of miRNA which is produced from different gene locations
total RPM (reading per million) of miRNA
https://portal.gdc.cancer.gov/
The dataset contains gene expression values for normal tissue sample of TCGA-E9-A1N5 barcoded patient
Classes tbl_df, tbl and data.frame with 56830 observation of 7 variables:
Barcode of patient based on TCGA
Tissue sample barcode of the patient
Sample barcode of the patient
Tissue type of sample (Solid Tissue Normal)
Gene id
Gene symbol
Gene expression value
https://portal.gdc.cancer.gov/
The dataset contains gene expression values for cancer tissue sample of TCGA-E9-A1N5 barcoded patient
Classes tbl_df, tbl and data.frame with 56830 observtion of 7 variables:
Barcode of patient based on TCGA
Tissue sample barcode of the patient
Sample barcode of the patient
Tissue type of sample (Primary solid Tumor)
Gene id
Gene symbol
Gene expression value
https://portal.gdc.cancer.gov/
this function converts the count value of the given node.
update_how(input_graph, node_name, how, knockdown = TRUE)
update_how(input_graph, node_name, how, knockdown = TRUE)
input_graph |
The graph object that processed in previous step/s. |
node_name |
The name of the node whose count is to be changed. |
how |
The change in terms of fold change. |
knockdown |
specifies gene knockdown with default TRUE |
update_how function calculates the current value of given mirna or gene node on the graph object. User must specify current value as fold change.
the graph object.
data('minsamp') priming_graph(minsamp, Competing_expression, miRNA_expression)%>% update_how('Gene1',3) priming_graph(minsamp, Competing_expression, miRNA_expression, aff_factor = c(seed_type,energy), deg_factor = region)%>% update_how('Gene1', 3) priming_graph(minsamp, Competing_expression, miRNA_expression, aff_factor = c(seed_type,energy), deg_factor = region)%>% update_how('Gene1', how=0, knockdown= TRUE)
data('minsamp') priming_graph(minsamp, Competing_expression, miRNA_expression)%>% update_how('Gene1',3) priming_graph(minsamp, Competing_expression, miRNA_expression, aff_factor = c(seed_type,energy), deg_factor = region)%>% update_how('Gene1', 3) priming_graph(minsamp, Competing_expression, miRNA_expression, aff_factor = c(seed_type,energy), deg_factor = region)%>% update_how('Gene1', how=0, knockdown= TRUE)
This function carries variables from edge to node and should be used after 'update_how' or 'update_variables' functions
update_nodes(input_graph, once = FALSE, limit = 0)
update_nodes(input_graph, once = FALSE, limit = 0)
input_graph |
Processed graph object in previous step. |
once |
The argument is about when the carrying process runs (internal use only) |
limit |
absolute minimum amount of change required to be considered as up/down regulated element |
If the carrying process performs after priming_graph function, the argument must be TRUE. The function helps to visualisation of processed graph object, especially that includes too many nodes.This step makes it easily to follow the processes.
the graph object.
data('minsamp') minsamp %>% priming_graph(Competing_expression, miRNA_expression) %>% update_how('Gene2',2)
data('minsamp') minsamp %>% priming_graph(Competing_expression, miRNA_expression) %>% update_how('Gene2',2)
This function replaces new values with previous values of competing or miRNA counts.
update_variables(input_graph, current_counts)
update_variables(input_graph, current_counts)
input_graph |
The processed graph object. |
current_counts |
The additional df that provided by user. |
update_variables function provides updating edge variables to current values. If the microRNA or competing expression (or both) change (decreasing or increasing), this function switches the values that are found in a new dataset provided by user. But the current value dataset must be equal with initial dataset in terms of node name.
the graph object.
data('minsamp') data('new_counts') minsamp%>% priming_graph(Competing_expression, miRNA_expression, aff_factor = c(seed_type,energy), deg_factor = region)%>% update_variables(new_counts) #new_counts includes the current counts of nodes.
data('minsamp') data('new_counts') minsamp%>% priming_graph(Competing_expression, miRNA_expression, aff_factor = c(seed_type,energy), deg_factor = region)%>% update_variables(new_counts) #new_counts includes the current counts of nodes.
'vis_graph' Provides visualisation of the graph.
vis_graph( input_graph, Competing_color = "green", mirna_color = "orange", Upregulation = "red", Downregulation = "blue", title = "GRAPH", layout = "kk" )
vis_graph( input_graph, Competing_color = "green", mirna_color = "orange", Upregulation = "red", Downregulation = "blue", title = "GRAPH", layout = "kk" )
input_graph |
The graph object. |
Competing_color |
The color of competing elements on the graph with 'green' default. |
mirna_color |
The color of miRNAs on the graph with 'orange' default. |
Upregulation |
The color of Upregulated elements on the graph with 'red' default. |
Downregulation |
The color of Downregulated elements on the graph with 'blue' default. |
title |
Title of the given graph. |
layout |
The layout that will be used for visualisation of the graph. |
vis_graph ensures the process to be followed.
The graph object.
data('minsamp') data('new_counts') # Visualisation of graph in steady-state. priming_graph(minsamp, Competing_expression, miRNA_expression, aff_factor = c(seed_type,energy), deg_factor = region)%>% vis_graph() # Visualisation of graph after the change. priming_graph(minsamp, Competing_expression, miRNA_expression, aff_factor = c(seed_type,energy), deg_factor = region)%>% update_variables(new_counts)%>% vis_graph()
data('minsamp') data('new_counts') # Visualisation of graph in steady-state. priming_graph(minsamp, Competing_expression, miRNA_expression, aff_factor = c(seed_type,energy), deg_factor = region)%>% vis_graph() # Visualisation of graph after the change. priming_graph(minsamp, Competing_expression, miRNA_expression, aff_factor = c(seed_type,energy), deg_factor = region)%>% update_variables(new_counts)%>% vis_graph()