Construct network for single target gene

single_network(
  matrix,
  regulators,
  target,
  cross_validation = FALSE,
  seed = 1,
  penalty = "L0",
  algorithm = "CD",
  regulators_num = (ncol(matrix) - 1),
  n_folds = 10,
  subsampling = 1,
  r_threshold = 0,
  verbose = FALSE,
  ...
)

Arguments

matrix

An expression matrix.

regulators

The regulator genes for which to infer the regulatory network.

target

The target gene.

cross_validation

Logical value, default is FALSE, whether to use cross-validation.

seed

The random seed for cross-validation, default is 1.

penalty

The type of regularization, default is L0. This can take either one of the following choices: L0, L0L1, and L0L2. For high-dimensional and sparse data, L0L2 is more effective.

algorithm

The type of algorithm used to minimize the objective function, default is CD. Currently CD and CDPSI are supported. The CDPSI algorithm may yield better results, but it also increases running time.

regulators_num

The number of non-zore coefficients, this value will affect the final performance. The maximum support size at which to terminate the regularization path. Recommend setting this to a small fraction of min(n,p) (e.g. 0.05 * min(n,p)) as L0 regularization typically selects a small portion of non-zeros.

n_folds

The number of folds for cross-validation, default is 10.

subsampling

The percent of all samples used for sparse_regression, default is 1.

r_threshold

Threshold of \(R^2\) or correlation coefficient, default is 0.

verbose

Logical value, default is TRUE, whether to print progress messages.

...

Parameters for other methods.

Value

The weight data table of sub-network

Examples

data("example_matrix")
head(
  single_network(
    example_matrix,
    regulators = colnames(example_matrix),
    target = "g1"
  )
)
#>   regulator target       weight
#> 1       g10     g1  0.005805182
#> 2       g11     g1  0.006012177
#> 3       g12     g1  0.010277177
#> 4       g13     g1 -0.001451393
#> 5       g14     g1 -0.012476081
#> 6       g15     g1  0.016008143

single_network(
  example_matrix,
  regulators = "g1",
  target = "g2"
)
#>   regulator target     weight
#> 1        g1     g2 0.08715829