Crandore Hub

SurprisalAnalysis

Information Theoretic Analysis of Gene Expression Data

Implements Surprisal analysis for gene expression data such as RNA-seq or microarray experiments. Surprisal analysis is an information-theoretic method that decomposes gene expression data into a baseline state and constraint-associated deviations, capturing coordinated gene expression patterns under different biological conditions. References: Kravchenko-Balasha N. et al. (2014) <doi:10.1371/journal.pone.0108549>. Zadran S. et al. (2014) <doi:10.1073/pnas.1414714111>. Su Y. et al. (2019) <doi:10.1371/journal.pcbi.1007034>. Bogaert K. A. et al. (2018) <doi:10.1371/journal.pone.0195142>.

README

<h1>SurprisalAnalysis R package guidelines</h1>

<h2>🖥️ Installation </h2>

To install the R package:

```
install.packages('devtools')
devtools::install_github('AnniceNajafi/SurprisalAnalysis')
```

<h2>Usage</h2>


To use the R package you should follow the steps below:

I. Store gene expression data in a csv file with the first row holding the sample names and the first column holding the gene names.</li>


II. Read the csv file and run the following code:
  <br>

  
```
  input.data <- read.csv('expression_data.csv')
  results <- surprisal_analysis(input.data)
  
```

III. To run GO analysis on the patterns simply use the code below:

```

results[[2]]-> transcript_weights
percentile_GO <- 0.95 #change based on your preference
lambda_no <- 1 #change based on your preference
GO_analysis_surprisal_analysis(transcript_weights, percentile_GO, lambda_no, key_type = "SYMBOL", flip = FALSE, species.db.str =  "org.Hs.eg.db", top_GO_terms=15)

```

<h2>Use GUI from R package</h2>

Simply run the following code:

```
runSurprisalApp()
```


<h2>Web-based application</h2>

A web-based application based on the above has been deployed on <a href = "https://najafiannice.shinyapps.io/surprisal_analysis_app/">this link</a>.



<h3>Open source disclaimer</h3>
This is an open-source project based on a previously developed methodology. Requests or attempts on the expansion and further improvement of the code is welcome and encouraged. 





Versions across snapshots

VersionRepositoryFileSize
3.0.0 rolling linux/jammy R-4.5 SurprisalAnalysis_3.0.0.tar.gz 3.7 MiB
3.0.0 rolling linux/noble R-4.5 SurprisalAnalysis_3.0.0.tar.gz 3.7 MiB
3.0.0 rolling source/ R- SurprisalAnalysis_3.0.0.tar.gz 3.7 MiB
3.0.0 latest linux/jammy R-4.5 SurprisalAnalysis_3.0.0.tar.gz 3.7 MiB
3.0.0 latest linux/noble R-4.5 SurprisalAnalysis_3.0.0.tar.gz 3.7 MiB
3.0.0 latest source/ R- SurprisalAnalysis_3.0.0.tar.gz 3.7 MiB
3.0.1 2026-04-26 source/ R- SurprisalAnalysis_3.0.1.tar.gz 2.2 MiB
3.0.0 2026-04-23 source/ R- SurprisalAnalysis_3.0.0.tar.gz 3.7 MiB

Dependencies (latest)

Imports

Suggests