sme

A fast and scalable method to detect epistasis in complex traits from biobank-scale studies

https://github.com/lcrawlab/sme

Science Score: 49.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 2 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (21.4%) to scientific vocabulary

Keywords

cpp cran epistasis epistasis-analysis epistatis genetics gwas gwas-tools mapit r
Last synced: 6 months ago · JSON representation

Repository

A fast and scalable method to detect epistasis in complex traits from biobank-scale studies

Basic Info
Statistics
  • Stars: 1
  • Watchers: 1
  • Forks: 1
  • Open Issues: 2
  • Releases: 2
Topics
cpp cran epistasis epistasis-analysis epistatis genetics gwas gwas-tools mapit r
Created about 1 year ago · Last pushed 7 months ago
Metadata Files
Readme Changelog License

README.Rmd

---
output: github_document
---



```{r, include = FALSE}
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  fig.path = "man/figures/README-",
  out.width = "100%"
)
```

# The Sparse Marginal Epistasis test 


[![R-CMD-check.yaml](https://github.com/lcrawlab/sme/actions/workflows/r-cmd-check.yml/badge.svg)](https://github.com/lcrawlab/sme/actions/workflows/r-cmd-check.yml)
[![CRAN downloads](https://cranlogs.r-pkg.org/badges/grand-total/smer)](https://cranlogs.r-pkg.org/badges/grand-total/smer)
[![CRAN_Status_Badge](https://www.r-pkg.org/badges/version/smer)](https://cran.r-project.org/package=smer)


The `smer` package implements a computationally and statistically efficient method
for detecting marginal epistasis in genome-wide association studies (GWAS).
Find the full package documentation including examples and articles here:
[Sparse Marginal Epistasis test Documentation](https://lcrawlab.github.io/sme/).

## Key Features

-	Hutchinson's stochastic trace estimator: efficient and scalable computation
- Mailman algorithm: fast vector-by-matrix operation
-	Linear mixed model: controls for population structure
- Multimodal Input: incorporates additional data from HDF5 files to improve power in
  detecting gene-by-gene interactions.
-	Optimize for Memory Constraints: Highly configurable block wise processing of the
  data allows to make the most of available resources. See also
  [How To Optimize the Memory Requirements of SME](https://lcrawlab.github.io/sme/articles/tutorial-memory-optimization.html).
-	Parallelization: Utilizes OpenMP for multi-threaded processing.

## Installation

You can install the development version of `smer` from [GitHub](https://github.com/)
with:

``` r
install.packages("devtools")
devtools::install_github("lcrawlab/sme")
```

## Dependencies

System requirements of the package:

- GNU make
- R (>= 4.4)
- Rhdf5lib (from BioConductor)
- OpenMP (optional)

To install `Rhdf5lib`, first install the tool `BiocManager` from CRAN, then install
the library using this tool.

```{r, eval = FALSE}
if (!require("BiocManager", quietly = TRUE))
    install.packages("BiocManager")
BiocManager::install("Rhdf5lib")
```

The full list of R dependencies can be found in the
[DESCRIPTION file](https://github.com/lcrawlab/sme/blob/main/DESCRIPTION).

### OpenMP

For OS X and Linux, the OpenMP library can be installed via one of the (shell)
commands specified below:

| System                                    | Command                           |
|:------------------------------------------|:----------------------------------|
| **OS X (using Homebrew)**                 | `brew install libomp`             |
|**Debian-based systems (including Ubuntu)**| `sudo apt-get install libomp-dev` |


To enable openMP, it may be necessary to configure the compiler flags
`SHLIB_OPENMP_CXXFLAGS` and `LDFLAGS` in the `~/.R/Makevars` file.

| System  | Required Flags          |
|---------|-------------------------|
| OS X    | `-Xclang -fopenmp -lomp`|
| Linux   | `-fopenmp -lomp`        |

## Known Issues

Compiling the package requires the compiler to find the libraries for the
dependencies. For unix systems, the libraries are typically installed at
`/usr/local/lib` and `/usr/local/include`. For users using OS X and homebrew, the
libraries are typically installed at `/opt/homebrew/lib` and `/opt/homebrew/include`.

Non-standard library paths need to be configured. The `src/Makevars` file
configures the compiler flags and considers the `LDFLAGS` and `CPPFLAGS` from the
`~/.R/Makevars` file.

## References
- Stamp J, Crawford L (2025). SME: The Sparse Marginal Epistasis Test. R package 
  version 0.0.1, https://lcrawlab.github.io/sme/, https://github.com/lcrawlab/sme.
- Stamp J, Smith Pattillo S, Weinreich D, Crawford L (2025). Sparse modeling of 
  interactions enables fast detection of genome-wide epistasis in biobank-scale 
  studies. biorxiv, https://doi.org/10.1101/2025.01.11.632557
- Stamp J, Crawford L (2024). mvMAPIT: Multivariate Genome Wide Marginal Epistasis
  Test. R package version 2.0.3, https://lcrawlab.github.io/mvMAPIT/,
  https://github.com/lcrawlab/mvMAPIT.
-	Stamp et al. (2023): Leveraging genetic correlation between traits for epistasis
  detection in GWAS. G3: Genes, Genomes, Genetics.
- Fu, B., Pazokitoroudi, A., Xue, A., Anand, A., Anand, P., Zaitlen, N., &
  Sankararaman, S. (2023). A biobank-scale test of marginal epistasis reveals
  genome-wide signals of polygenic epistasis. bioRxiv.
-	Crawford et al. (2017): Detecting epistasis with the marginal epistasis test.
  PLoS Genetics.
- Devresse et al. (2024): HighFive - Header-only C++ HDF5 interface.
  https://zenodo.org/records/13120799

Owner

  • Name: Crawford Lab
  • Login: lcrawlab
  • Kind: organization
  • Location: Providence, Rhode Island, USA

A group of statisticians and computational biologists developing novel methods to address complex problems in genetics, cancer genomics, and radiomics.

GitHub Events

Total
  • Create event: 11
  • Issues event: 1
  • Release event: 3
  • Watch event: 1
  • Delete event: 8
  • Issue comment event: 1
  • Public event: 1
  • Push event: 33
  • Pull request event: 14
  • Fork event: 1
Last Year
  • Create event: 11
  • Issues event: 1
  • Release event: 3
  • Watch event: 1
  • Delete event: 8
  • Issue comment event: 1
  • Public event: 1
  • Push event: 33
  • Pull request event: 14
  • Fork event: 1

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 1
  • Total pull requests: 9
  • Average time to close issues: N/A
  • Average time to close pull requests: 3 days
  • Total issue authors: 1
  • Total pull request authors: 2
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 6
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 9
  • Average time to close issues: N/A
  • Average time to close pull requests: 3 days
  • Issue authors: 1
  • Pull request authors: 2
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 6
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • theAeon (1)
Pull Request Authors
  • jdstamp (8)
  • teunbrand (1)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • cran 70 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 2
  • Total maintainers: 1
cran.r-project.org: smer

Sparse Marginal Epistasis Test

  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 70 Last month
Rankings
Dependent packages count: 27.4%
Dependent repos count: 33.8%
Average: 49.4%
Downloads: 86.9%
Maintainers (1)
Last synced: 6 months ago

Dependencies

.github/workflows/pkgdown.yml actions
  • JamesIves/github-pages-deploy-action v4.5.0 composite
  • actions/checkout v4 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/r-cmd-check.yml actions
  • actions/checkout v4 composite
  • r-lib/actions/check-r-package v2 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
DESCRIPTION cran
  • R >= 4.4.0 depends
  • Rcpp * imports
  • RcppEigen * imports
  • dplyr * imports
  • genio * imports
  • logging * imports
  • mvMAPIT * imports
  • tidyr * imports
  • GenomicRanges * suggests
  • ggplot2 * suggests
  • knitr * suggests
  • rmarkdown * suggests
  • testthat >= 3.0.0 suggests
  • xml2 * suggests