# SEMgraph

Network Analysis and Causal Learning with Structural Equation
Modeling

**SEMgraph** Estimate networks and causal relations in
complex systems through Structural Equation Modeling (SEM).
**SEMgraph** comes with the following functionalities:

Interchangeable model representation as either an
**igraph** object or the corresponding SEM in
**lavaan** syntax. Model management functions include
graph-to-SEM conversion, automated covariance matrix regularization,
graph conversion to DAG, and tree (arborescence) from correlation
matrices.

Heuristic filtering, node and edge weighting, resampling and
parallelization settings for fast fitting in case of very large
models.

Automated data-driven model building and improvement, through
causal structure learning and bow-free interaction search and latent
variable confounding adjustment.

Perturbed paths finding, community searching and sample scoring,
together with graph plotting utilities, tracing model architecture
modifications and perturbation (i.e., activation or repression)
routes.

## Installation

The latest stable version can be installed from CRAN:

`install.packages("SEMgraph")`

The latest development version can be installed from GitHub:

```
# install.packages("devtools")
devtools::install_github("fernandoPalluzzi/SEMgraph")
```

Do not forget to install the SEMdata package too! It contains useful
high-throughput sequencing data, reference networks, and pathways for
SEMgraph training:

`devtools::install_github("fernandoPalluzzi/SEMdata")`