A Quick Start Guide to R Package ‘TGS’

Install R package ‘TGS’.

install.packages('TGS')

Attach R package ‘TGS’.

library(TGS)

Let us assume that you have a time-series gene expression data. It is comprised of multiple time series. Each time series contains the expressions of \(10\) genes across \(21\) time points. The data is saved in a file named ‘input_data_10.tsv’. The file is saved inside directory ‘/home/saptarshi/datasets/’.

First, assign absolute path to the input directory.

## Assign absolute path to the input directory.
input_dir <- '/home/saptarshi/datasets'

Then reconstruct time-varying gene regulatory networks (GRNs) using algorithm ‘TGS’.

## Assign the name of the desired output directory.
## The output directory will be created automatically.
output_dir <- '/home/saptarshi/My_TGS_output'

## Run algorithm 'TGS'.
## It is assumed that your data is continuous.
## In case, your data is discrete, simply
## make the following changes:
## (a) is.discrete = TRUE,
## (b) num.discr.levels = <number of discrete
## levels each gene has>,
## (c) discr.algo = ''.
##
TGS::LearnTgs(
  isfile = 0,
  json.file = '',
  input.dirname = input_dir,
  input.data.filename = 'input_data_10.tsv',
  num.timepts = 21,
  true.net.filename = '',
  input.wt.data.filename = '',
  is.discrete = FALSE,
  num.discr.levels = 2,
  discr.algo = 'discretizeData.2L.Tesla',
  mi.estimator = 'mi.pca.cmi',
  apply.aracne = FALSE,
  clr.algo = 'CLR',
  max.fanin = 14,
  allow.self.loop = TRUE,
  scoring.func = 'BIC',
  output.dirname = output_dir
)

You may also reconstruct time-varying GRNs using algorithm ‘TGS+’. The only difference is that the input argument apply.aracne is set to TRUE.

## Assign the name of the desired output directory.
## The output directory will be created automatically.
output_dir <- '/home/saptarshi/My_TGS_plus_output'

## Run algorithm 'TGS'
TGS::LearnTgs(
  isfile = 0,
  json.file = '',
  input.dirname = input_dir,
  input.data.filename = 'input_data_10.tsv',
  num.timepts = 21,
  true.net.filename = '',
  input.wt.data.filename = '',
  is.discrete = FALSE,
  num.discr.levels = 2,
  discr.algo = 'discretizeData.2L.Tesla',
  mi.estimator = 'mi.pca.cmi',
  apply.aracne = TRUE,
  clr.algo = 'CLR',
  max.fanin = 14,
  allow.self.loop = TRUE,
  scoring.func = 'BIC',
  output.dirname = output_dir
)

Once the reconstruction is complete, please go to the output directory. There should be a file named ‘unrolled.DBN.adj.matrix.list.RData’. This file contains the reconstructed time-varying GRNs. Load this file in an R session.

## Loads a list named 'unrolled.DBN.adj.matrix.list'
load('unrolled.DBN.adj.matrix.list.RData')

Print the reconstructed GRN of the \(7^{th}\) time interval.

print(unrolled.DBN.adj.matrix.list[[7]])