Skip to content

Commit 22a081e

Browse files
committed
initial commit
0 parents  commit 22a081e

File tree

170 files changed

+23812
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

170 files changed

+23812
-0
lines changed

.Rbuildignore

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
^mmer\.Rproj$
2+
^\.Rproj\.user$
3+
^LICENSE\.md$
4+
^Makefile$
5+
^README\.Rmd$
6+
^_pkgdown\.yml$
7+
^pkgdown$
8+
^docs$
9+
^pkgdown$
10+
^src/compile-runner.sh$
11+
^src/runner$
12+
^inst/profiling
13+
^inst/logo
14+
.idea
15+
.vscode
16+
^data-raw$
17+
^dev$
18+
.github

.github/workflows/pkgdown.yml

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# Workflow derived from https://github.com/r-lib/actions/tree/v2/examples
2+
# Need help debugging build failures? Start at https://github.com/r-lib/actions#where-to-find-help
3+
on:
4+
push:
5+
branches: [main, master]
6+
pull_request:
7+
release:
8+
types: [published]
9+
workflow_dispatch:
10+
11+
name: pkgdown.yaml
12+
13+
permissions: read-all
14+
15+
jobs:
16+
pkgdown:
17+
runs-on: ubuntu-latest
18+
# Only restrict concurrency for non-PR jobs
19+
concurrency:
20+
group: pkgdown-${{ github.event_name != 'pull_request' || github.run_id }}
21+
env:
22+
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
23+
permissions:
24+
contents: write
25+
steps:
26+
- uses: actions/checkout@v4
27+
28+
- uses: r-lib/actions/setup-pandoc@v2
29+
30+
- uses: r-lib/actions/setup-r@v2
31+
with:
32+
use-public-rspm: true
33+
34+
- uses: r-lib/actions/setup-r-dependencies@v2
35+
with:
36+
extra-packages: any::pkgdown, local::.
37+
needs: website
38+
39+
- name: Build site
40+
run: pkgdown::build_site_github_pages(new_process = FALSE, install = FALSE)
41+
shell: Rscript {0}
42+
43+
- name: Deploy to GitHub pages 🚀
44+
if: github.event_name != 'pull_request'
45+
uses: JamesIves/github-pages-deploy-action@v4.5.0
46+
with:
47+
clean: false
48+
branch: gh-pages
49+
folder: docs

.github/workflows/r-cmd-check.yml

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# Workflow derived from https://github.com/r-lib/actions/tree/v2/examples
2+
# Need help debugging build failures? Start at https://github.com/r-lib/actions#where-to-find-help
3+
on:
4+
push:
5+
branches: [main, master]
6+
pull_request:
7+
8+
name: R-CMD-check.yaml
9+
10+
permissions: read-all
11+
12+
jobs:
13+
R-CMD-check:
14+
runs-on: ${{ matrix.config.os }}
15+
16+
name: ${{ matrix.config.os }} (${{ matrix.config.r }})
17+
18+
strategy:
19+
fail-fast: false
20+
matrix:
21+
config:
22+
- {os: macos-latest, r: 'release'}
23+
- {os: windows-latest, r: 'release'}
24+
- {os: ubuntu-latest, r: 'release'}
25+
26+
env:
27+
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
28+
R_KEEP_PKG_SOURCE: yes
29+
30+
steps:
31+
- uses: actions/checkout@v4
32+
33+
- uses: r-lib/actions/setup-pandoc@v2
34+
35+
- uses: r-lib/actions/setup-r@v2
36+
with:
37+
r-version: ${{ matrix.config.r }}
38+
http-user-agent: ${{ matrix.config.http-user-agent }}
39+
use-public-rspm: true
40+
41+
- uses: r-lib/actions/setup-r-dependencies@v2
42+
with:
43+
extra-packages: any::rcmdcheck
44+
needs: check
45+
46+
- uses: r-lib/actions/check-r-package@v2
47+
with:
48+
upload-snapshots: true
49+
build_args: 'c("--no-manual","--compact-vignettes=gs+qpdf")'

.gitignore

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
# History files
2+
.Rhistory
3+
.Rapp.history
4+
5+
# Session Data files
6+
.RData
7+
.RDataTmp
8+
9+
# User-specific files
10+
.Ruserdata
11+
12+
# Example code in package build process
13+
*-Ex.R
14+
15+
# Output files from R CMD build
16+
/*.tar.gz
17+
18+
# Output files from R CMD check
19+
/*.Rcheck/
20+
21+
# RStudio files
22+
.Rproj.user/
23+
24+
# produced vignettes
25+
vignettes/*.html
26+
vignettes/*.pdf
27+
28+
# OAuth2 token, see https://github.com/hadley/httr/releases/tag/v0.3
29+
.httr-oauth
30+
31+
# knitr and R markdown default cache directories
32+
*_cache/
33+
/cache/
34+
35+
# Temporary files created by R markdown
36+
*.utf8.md
37+
*.knit.md
38+
39+
# R Environment Variables
40+
.Renviron
41+
42+
# pkgdown site
43+
docs/
44+
45+
# translation temp files
46+
po/*~
47+
48+
# RStudio Connect folder
49+
rsconnect/
50+
.Rproj.user
51+
mmer.Rproj
52+
53+
54+
.idea/
55+
.vscode/
56+
57+
.DS_Store
58+
docs
59+
60+
# Profiling files
61+
src/runner
62+
src/runner.cpp
63+
src/compile-runner.sh
64+
Rprof.out
65+
inst/doc

DESCRIPTION

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
Package: mmer
2+
Title: The Multimodal Marginal Epistasis Test
3+
Version: 0.0.1
4+
URL: https://github.com/lcrawlab/mmer, https://lcrawlab.github.io/mmer/
5+
BugReports: https://github.com/lcrawlab/mmer/issues
6+
Authors@R: c(
7+
person("Julian", "Stamp", email = "julian.d.stamp@gmail.com",
8+
role = c("cre", "aut"), comment = c(ORCID = "0000-0003-3014-6249")),
9+
person("Lorin", "Crawford", email = "lcrawford@microsoft.com",
10+
role = "aut", comment = c(ORCID = "0000-0003-0178-8242")))
11+
Description: A computationally efficient genetics method which detects
12+
statistical epistasis in complex traits.
13+
License: MIT + file LICENSE
14+
Encoding: UTF-8
15+
Roxygen: list(markdown = TRUE)
16+
RoxygenNote: 7.3.2
17+
LinkingTo:
18+
BH,
19+
Rcpp,
20+
RcppEigen,
21+
Rhdf5lib,
22+
testthat
23+
Imports:
24+
dplyr,
25+
genio,
26+
logging,
27+
mvMAPIT,
28+
Rcpp,
29+
RcppEigen,
30+
tidyr
31+
Suggests:
32+
GenomicRanges,
33+
ggplot2,
34+
knitr,
35+
rmarkdown,
36+
testthat (>= 3.0.0),
37+
xml2
38+
Config/testthat/edition: 3
39+
SystemRequirements: GNU make
40+
VignetteBuilder: knitr
41+
Depends:
42+
R (>= 4.4.0)
43+
LazyData: true
44+
biocViews:
45+
GenomeWideAssociation,
46+
Epistasis,
47+
Genetics,
48+
SNP,
49+
LinearMixedModel
50+

LICENSE

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
YEAR: 2024
2+
COPYRIGHT HOLDER: Julian Stamp

LICENSE.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# MIT License
2+
3+
Copyright (c) 2024 mmer authors
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

Makefile

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# h/t to @jimhester and @yihui for this parse block:
2+
# https://github.com/yihui/knitr/blob/dc5ead7bcfc0ebd2789fe99c527c7d91afb3de4a/Makefile#L1-L4
3+
# Note the portability change as suggested in the manual:
4+
# https://cran.r-project.org/doc/manuals/r-release/R-exts.html#Writing-portable-packages
5+
PKGNAME = `sed -n "s/Package: *\([^ ]*\)/\1/p" DESCRIPTION`
6+
PKGVERS = `sed -n "s/Version: *\([^ ]*\)/\1/p" DESCRIPTION`
7+
8+
9+
all: check
10+
11+
build: install_deps
12+
R CMD build .
13+
14+
check: build
15+
R CMD check --no-manual $(PKGNAME)_$(PKGVERS).tar.gz
16+
17+
install_deps:
18+
Rscript \
19+
-e 'if (!requireNamespace("remotes")) install.packages("remotes")' \
20+
-e 'remotes::install_deps(dependencies = TRUE)'
21+
22+
install: build
23+
R CMD INSTALL $(PKGNAME)_$(PKGVERS).tar.gz
24+
25+
clean:
26+
@rm -rf $(PKGNAME)_$(PKGVERS).tar.gz $(PKGNAME).Rcheck

NAMESPACE

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Generated by roxygen2: do not edit by hand
2+
3+
export(approximate_memory_requirements)
4+
export(create_hdf5_file)
5+
export(mme)
6+
export(read_hdf5_dataset)
7+
export(simulate_traits)
8+
export(write_hdf5_dataset)
9+
import(Rcpp)
10+
import(RcppEigen)
11+
import(dplyr)
12+
import(genio)
13+
import(mvMAPIT)
14+
importFrom(stats,pnorm)
15+
importFrom(tidyr,pivot_longer)
16+
importFrom(utils,read.delim)
17+
importFrom(utils,write.table)
18+
useDynLib(mmer)

NEWS.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# mmer 0.0.1
2+
3+
* Version that was used in the publication of MME.
4+

R/RcppExports.R

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# Generated by using Rcpp::compileAttributes() -> do not edit by hand
2+
# Generator token: 10BE3573-1514-4C36-9D1C-5A225CD40393
3+
4+
check_openmp <- function() {
5+
.Call('_mmer_check_openmp', PACKAGE = 'mmer')
6+
}
7+
8+
count_samples <- function(filename) {
9+
.Call('_mmer_count_samples', PACKAGE = 'mmer', filename)
10+
}
11+
12+
count_fam <- function(filename) {
13+
.Call('_mmer_count_fam', PACKAGE = 'mmer', filename)
14+
}
15+
16+
count_snps_bim <- function(filename) {
17+
.Call('_mmer_count_snps_bim', PACKAGE = 'mmer', filename)
18+
}
19+
20+
createH5File <- function(filename) {
21+
invisible(.Call('_mmer_createH5File', PACKAGE = 'mmer', filename))
22+
}
23+
24+
readH5File <- function(filename, datasetName) {
25+
.Call('_mmer_readH5File', PACKAGE = 'mmer', filename, datasetName)
26+
}
27+
28+
replaceH5Dataset <- function(filename, datasetName, newData) {
29+
invisible(.Call('_mmer_replaceH5Dataset', PACKAGE = 'mmer', filename, datasetName, newData))
30+
}
31+
32+
mme_cpp <- function(plink_file, pheno_file, genotype_mask_file, n_randvecs, n_blocks, rand_seed, gxg_indices, n_threads, gxg_h5_dataset, ld_h5_dataset) {
33+
.Call('_mmer_mme_cpp', PACKAGE = 'mmer', plink_file, pheno_file, genotype_mask_file, n_randvecs, n_blocks, rand_seed, gxg_indices, n_threads, gxg_h5_dataset, ld_h5_dataset)
34+
}
35+
36+
simulate_traits_cpp <- function(plink_file, additive_heritability, gxg_heritability, additive_snps, gxg_group_1, gxg_group_2) {
37+
.Call('_mmer_simulate_traits_cpp', PACKAGE = 'mmer', plink_file, additive_heritability, gxg_heritability, additive_snps, gxg_group_1, gxg_group_2)
38+
}
39+

0 commit comments

Comments
 (0)