Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update createMSP to use median mz and RT values #98

Closed
wants to merge 8 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
149 changes: 98 additions & 51 deletions .github/workflows/check-bioc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ env:
run_pkgdown: 'false'
has_RUnit: 'false'
cache-version: 'cache-v1'
run_docker: 'false'

jobs:
build-check:
Expand All @@ -48,12 +49,14 @@ jobs:
## Environment variables unique to this job.

strategy:
fail-fast: false
fail-fast: false
matrix:
config:
- { os: ubuntu-latest, r: '4.1.3', bioc: '3.14', cont: "bioconductor/bioconductor_docker:RELEASE_3_14", rspm: "https://packagemanager.rstudio.com/cran/__linux__/focal/latest" }
- { os: macOS-latest, r: '4.1.3', bioc: '3.14'}
- { os: windows-latest, r: '4.1.3', bioc: '3.14'}
- { os: ubuntu-latest, r: 'devel', bioc: '3.17', cont: "bioconductor/bioconductor_docker:devel", rspm: "https://packagemanager.rstudio.com/cran/__linux__/focal/latest" }
- { os: macOS-latest, r: 'devel', bioc: '3.17'}
- { os: windows-latest, r: 'devel', bioc: '3.17'}
## Check https://github.com/r-lib/actions/tree/master/examples
## for examples using the http-user-agent
env:
R_REMOTES_NO_ERRORS_FROM_WARNINGS: true
RSPM: ${{ matrix.config.rspm }}
Expand All @@ -76,51 +79,49 @@ jobs:
## https://github.com/r-lib/actions/blob/master/examples/check-standard.yaml
## If they update their steps, we will also need to update ours.
- name: Checkout Repository
uses: actions/checkout@v2
uses: actions/checkout@v3

## R is already included in the Bioconductor docker images
- name: Setup R from r-lib
if: runner.os != 'Linux'
uses: r-lib/actions/setup-r@master
uses: r-lib/actions/setup-r@v2
with:
r-version: ${{ matrix.config.r }}
http-user-agent: ${{ matrix.config.http-user-agent }}

## pandoc is already included in the Bioconductor docker images
- name: Setup pandoc from r-lib
if: runner.os != 'Linux'
uses: r-lib/actions/setup-pandoc@master
uses: r-lib/actions/setup-pandoc@v2

- name: Query dependencies
run: |
install.packages('remotes')
saveRDS(remotes::dev_package_deps(dependencies = TRUE), ".github/depends.Rds", version = 2)
shell: Rscript {0}


- name: Cache R packages
- name: Restore R package cache
if: "!contains(github.event.head_commit.message, '/nocache') && runner.os != 'Linux'"
uses: actions/cache@v2
uses: actions/cache@v3
with:
path: ${{ env.R_LIBS_USER }}
key: ${{ env.cache-version }}-${{ runner.os }}-biocversion-r-4.1.3-${{ hashFiles('.github/depends.Rds') }}
restore-keys: ${{ env.cache-version }}-${{ runner.os }}-biocversion-r-4.1.3-
key: ${{ env.cache-version }}-${{ runner.os }}-biocversion-devel-r-devel-${{ hashFiles('.github/depends.Rds') }}
restore-keys: ${{ env.cache-version }}-${{ runner.os }}-biocversion-devel-r-devel-

- name: Cache R packages on Linux
if: "!contains(github.event.head_commit.message, '/nocache') && runner.os == 'Linux' "
uses: actions/cache@v2
uses: actions/cache@v3
with:
path: /home/runner/work/_temp/Library
key: ${{ env.cache-version }}-${{ runner.os }}-biocversion-r-4.1.3-${{ hashFiles('.github/depends.Rds') }}
restore-keys: ${{ env.cache-version }}-${{ runner.os }}-biocversion-r-4.1.3
key: ${{ env.cache-version }}-${{ runner.os }}-biocversion-devel-r-devel-${{ hashFiles('.github/depends.Rds') }}
restore-keys: ${{ env.cache-version }}-${{ runner.os }}-biocversion-devel-r-devel-

- name: Install Linux system dependencies
if: runner.os == 'Linux'
## sysreqs=$(Rscript -e 'cat("apt-get update -y && apt-get install -y", paste(gsub("apt-get install -y ", "", remotes::system_requirements("ubuntu", "20.04")), collapse = " "))')
run: |
sysreqs=$(Rscript -e 'cat("apt-get update -y && apt-get install -y libicu-dev pandoc libpq-dev" )')
sysreqs=$(Rscript -e 'cat("apt-get update -y && apt-get install -y", paste(gsub("apt-get install -y ", "", remotes::system_requirements("ubuntu", "20.04")), collapse = " "))')
echo $sysreqs
sudo -s eval "$sysreqs"


- name: Install macOS system dependencies
if: matrix.config.os == 'macOS-latest'
Expand All @@ -136,8 +137,11 @@ jobs:
## For textshaping, required by ragg, and required by pkgdown
brew install harfbuzz fribidi

## See if this helps get RCurl installed
## brew uninstall curl
## For installing usethis's dependency gert
brew install libgit2

## Required for tcltk
brew install xquartz --cask

- name: Install Windows system dependencies
if: runner.os == 'Windows'
Expand All @@ -153,10 +157,10 @@ jobs:

- name: Set BiocVersion
run: |
BiocManager::install(version = "${{ matrix.config.bioc }}", ask = FALSE)
BiocManager::install(version = "${{ matrix.config.bioc }}", ask = FALSE, force = TRUE)
shell: Rscript {0}

- name: Install dependencies
- name: Install dependencies pass 1
run: |
## Try installing the package dependencies in steps. First the local
## dependencies, then any remaining dependencies to avoid the
Expand All @@ -165,24 +169,37 @@ jobs:
## https://github.com/r-lib/remotes/issues/296
## Ideally, all dependencies should get installed in the first pass.

## Temporary for now due to https://github.com/ropensci/RefManageR/issues/79
remotes::install_github("ropensci/bibtex")
remotes::install_github("ropensci/RefManageR")
remotes::install_github("cboettig/knitcitations")

## Set the repos source depending on the OS
## Alternatively use https://storage.googleapis.com/bioconductor_docker/packages/
## though based on https://bit.ly/bioc2021-package-binaries
## the Azure link will be the main one going forward.
gha_repos <- if(
.Platform$OS.type == "unix" && Sys.info()["sysname"] != "Darwin"
) c(
"AnVIL" = "https://bioconductordocker.blob.core.windows.net/packages/3.17/bioc",
BiocManager::repositories()
) else BiocManager::repositories()

## For running the checks
message(paste('****', Sys.time(), 'installing rcmdcheck and BiocCheck ****'))
install.packages(c("rcmdcheck", "BiocCheck"), repos = gha_repos)

## Pass #1 at installing dependencies
## This pass uses AnVIL-powered fast binaries
## details at https://github.com/nturaga/bioc2021-bioconductor-binaries
## The speed gains only apply to the docker builds.
message(paste('****', Sys.time(), 'pass number 1 at installing dependencies: local dependencies ****'))
remotes::install_local(dependencies = TRUE, repos = BiocManager::repositories(), build_vignettes = TRUE, upgrade = TRUE)
remotes::install_local(dependencies = TRUE, repos = gha_repos, build_vignettes = FALSE, upgrade = TRUE)
continue-on-error: true
shell: Rscript {0}

- name: Install dependencies pass 2
run: |
## Pass #2 at installing dependencies
## This pass does not use AnVIL and will thus update any packages
## that have seen been updated in Bioconductor
message(paste('****', Sys.time(), 'pass number 2 at installing dependencies: any remaining dependencies ****'))
remotes::install_local(dependencies = TRUE, repos = BiocManager::repositories(), build_vignettes = TRUE, upgrade = TRUE)

## For running the checks
message(paste('****', Sys.time(), 'installing rcmdcheck and BiocCheck ****'))
remotes::install_cran("rcmdcheck")
BiocManager::install("BiocCheck")
remotes::install_local(dependencies = TRUE, repos = BiocManager::repositories(), build_vignettes = TRUE, upgrade = TRUE, force = TRUE)
shell: Rscript {0}

- name: Install BiocGenerics
Expand All @@ -201,7 +218,13 @@ jobs:
- name: Install pkgdown
if: github.ref == 'refs/heads/master' && env.run_pkgdown == 'true' && runner.os == 'Linux'
run: |
remotes::install_cran("pkgdown")
remotes::install_github("r-lib/pkgdown")
shell: Rscript {0}

- name: Install suggested packages
run: |
BiocManager::install(c("MSnbase", "xcms", "BiocStyle", "msPurityData", "CAMERA"))
install.packages(c("rmarkdown", "RPostgres", "RMySQL"))
shell: Rscript {0}

- name: Session info
Expand All @@ -214,10 +237,12 @@ jobs:
- name: Run CMD check
env:
_R_CHECK_CRAN_INCOMING_: false
DISPLAY: 99.0
run: |
options(crayon.enabled = TRUE)
rcmdcheck::rcmdcheck(
args = c("--no-build-vignettes", "--no-manual", "--timings"),
build_args = c("--no-manual", "--no-resave-data"),
args = c("--no-manual", "--no-vignettes", "--timings"),
build_args = c("--no-manual", "--keep-empty-dirs", "--no-resave-data"),
error_on = "warning",
check_dir = "check"
)
Expand All @@ -235,18 +260,14 @@ jobs:
shell: Rscript {0}

- name: Run BiocCheck
env:
DISPLAY: 99.0
run: |
BiocCheck::BiocCheck(
dir('check', 'tar.gz$', full.names = TRUE),
`quit-with-status` = TRUE,
`no-check-namespace` = TRUE,
`no-check-pkg-size` = TRUE,
`no-check-file-size` = TRUE,
`no-check-version-num` = TRUE,
`no-check-R-ver` = TRUE,
`no-check-bioc-help` = TRUE,
`no-check-dependencies` = TRUE

`no-check-bioc-help` = TRUE
)
shell: Rscript {0}

Expand All @@ -260,21 +281,47 @@ jobs:
if: github.ref == 'refs/heads/master' && env.run_pkgdown == 'true' && runner.os == 'Linux'
run: R CMD INSTALL .

- name: Deploy package
- name: Build pkgdown site
if: github.ref == 'refs/heads/master' && env.run_pkgdown == 'true' && runner.os == 'Linux'
run: |
git config --local user.email "[email protected]"
git config --local user.name "GitHub Actions"
Rscript -e "pkgdown::deploy_to_branch(new_process = FALSE)"
shell: bash {0}
run: pkgdown::build_site_github_pages(new_process = FALSE, install = FALSE)
shell: Rscript {0}
## Note that you need to run pkgdown::deploy_to_branch(new_process = FALSE)
## at least one locally before this will work. This creates the gh-pages
## branch (erasing anything you haven't version controlled!) and
## makes the git history recognizable by pkgdown.

- name: Install deploy dependencies
if: github.ref == 'refs/heads/master' && env.run_pkgdown == 'true' && runner.os == 'Linux'
run: |
apt-get update && apt-get -y install rsync

- name: Deploy pkgdown site to GitHub pages 🚀
if: github.ref == 'refs/heads/master' && env.run_pkgdown == 'true' && runner.os == 'Linux'
uses: JamesIves/github-pages-deploy-action@releases/v4
with:
clean: false
branch: gh-pages
folder: docs

- name: Upload check results
if: failure()
uses: actions/upload-artifact@master
with:
name: ${{ runner.os }}-biocversion-r-4.1.3-results
name: ${{ runner.os }}-biocversion-devel-r-devel-results
path: check

## Note that DOCKER_PASSWORD is really a token for your dockerhub
## account, not your actual dockerhub account password.
## This comes from
## https://seandavi.github.io/BuildABiocWorkshop/articles/HOWTO_BUILD_WORKSHOP.html#6-add-secrets-to-github-repo
## Check https://github.com/docker/build-push-action/tree/releases/v1
## for more details.
- uses: docker/build-push-action@v1
if: "!contains(github.event.head_commit.message, '/nodocker') && env.run_docker == 'true' && runner.os == 'Linux' "
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
repository: computational-metabolomics/structtoolbox
tag_with_ref: true
tag_with_sha: true
tags: latest
2 changes: 1 addition & 1 deletion DESCRIPTION
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ Suggests:
RPostgres,
RMySQL
VignetteBuilder: knitr
RoxygenNote: 7.1.2
RoxygenNote: 7.2.3
Roxygen: list(markdown = TRUE)
biocViews: MassSpectrometry, Metabolomics, Software
Collate:
Expand Down
6 changes: 3 additions & 3 deletions R/purityA-create-msp.R
Original file line number Diff line number Diff line change
Expand Up @@ -206,7 +206,7 @@ mspurity_to_msp <- function (pa, msp_file_pth=NULL, metadata=NULL, metadata_cols


if (!is.null(av_inter) && nrow(av_inter)>0){
write.msp(grpd$mz[1], grpd$rt[1], grpid, NA, av_inter, metadata, metadata_cols, of, method,
write.msp(median(grpd$mz), median(grpd$rt), grpid, NA, av_inter, metadata, metadata_cols, of, method,
adduct_split, msp_schema, intensity_ra, include_adducts)
}

Expand All @@ -230,7 +230,7 @@ mspurity_to_msp <- function (pa, msp_file_pth=NULL, metadata=NULL, metadata_cols


if (!is.null(av_intra_j) && nrow(av_intra_j)>0){
write.msp(grpd$mz[1], grpd$rt[1], grpid, fileid, av_intra_j, metadata, metadata_cols,
write.msp(median(grpd$mz), median(grpd$rt), grpid, fileid, av_intra_j, metadata, metadata_cols,
of, method, adduct_split, msp_schema, intensity_ra, include_adducts)
}

Expand All @@ -248,7 +248,7 @@ mspurity_to_msp <- function (pa, msp_file_pth=NULL, metadata=NULL, metadata_cols

if (!is.null(av_all) && nrow(av_all)>0){

write.msp(grpd$mz[1], grpd$rt[1], grpid, NA, av_all, metadata, metadata_cols, of,
write.msp(median(grpd$mz), median(grpd$rt), grpid, NA, av_all, metadata, metadata_cols, of,
method, adduct_split, msp_schema, intensity_ra, include_adducts)
}

Expand Down
Empty file modified inst/extdata/tests/db/metab_compound_subset.sqlite
100755 → 100644
Empty file.
Empty file modified inst/extdata/tests/external_annotations/probmetab.tsv
100755 → 100644
Empty file.
29 changes: 28 additions & 1 deletion inst/extdata/tests/msp/all.msp
Original file line number Diff line number Diff line change
@@ -1 +1,28 @@
RECORD_TITLE: MZ:150.0581 | RT:63.1 | grpid:187 | file:1 | adduct:[M+H]+MS$FOCUSED_ION: PRECURSOR_M/Z 150.058135986328AC$CHROMATOGRAPHY: RETENTION_TIME 63.078168MS$FOCUSED_ION: PRECURSOR_TYPE [M+H]+AC$MASS_SPECTROMETRY: ION_MODE POSITIVECH$NAME: MethionineXCMS groupid (grpid): 187COMMENT: Exported from msPurity purityA object using function createMSP, using method 'all' msPurity version:1.19.2 PK$NUM_PEAK: 2PK$PEAK: m/z int. rel.int.104.053237915039 16147574 100133.031829833984 10814390 66.97RECORD_TITLE: MZ:150.0582 | RT:62.3 | grpid:187 | file:2 | adduct:[M+H]+MS$FOCUSED_ION: PRECURSOR_M/Z 150.058166503906AC$CHROMATOGRAPHY: RETENTION_TIME 62.3220443725586MS$FOCUSED_ION: PRECURSOR_TYPE [M+H]+AC$MASS_SPECTROMETRY: ION_MODE POSITIVECH$NAME: MethionineXCMS groupid (grpid): 187COMMENT: Exported from msPurity purityA object using function createMSP, using method 'all' msPurity version:1.19.2 PK$NUM_PEAK: 4PK$PEAK: m/z int. rel.int.102.055404663086 4154222.25 29.71104.053276062012 13982832 100133.031875610352 9440187 67.51150.058349609375 1694299.125 12.12
RECORD_TITLE: MZ:150.0581 | RT:63.1 | grpid:187 | file:1 | adduct:[M+H]+
MS$FOCUSED_ION: PRECURSOR_M/Z 150.058135986328
AC$CHROMATOGRAPHY: RETENTION_TIME 63.078168
MS$FOCUSED_ION: PRECURSOR_TYPE [M+H]+
AC$MASS_SPECTROMETRY: ION_MODE POSITIVE
CH$NAME: Methionine
XCMS groupid (grpid): 187
COMMENT: Exported from msPurity purityA object using function createMSP, using method 'all' msPurity version:1.21.2
PK$NUM_PEAK: 2
PK$PEAK: m/z int. rel.int.
104.053237915039 16147574 100
133.031829833984 10814390 66.97

RECORD_TITLE: MZ:150.0582 | RT:62.3 | grpid:187 | file:2 | adduct:[M+H]+
MS$FOCUSED_ION: PRECURSOR_M/Z 150.058166503906
AC$CHROMATOGRAPHY: RETENTION_TIME 62.3220443725586
MS$FOCUSED_ION: PRECURSOR_TYPE [M+H]+
AC$MASS_SPECTROMETRY: ION_MODE POSITIVE
CH$NAME: Methionine
XCMS groupid (grpid): 187
COMMENT: Exported from msPurity purityA object using function createMSP, using method 'all' msPurity version:1.21.2
PK$NUM_PEAK: 4
PK$PEAK: m/z int. rel.int.
102.055404663086 4154222.25 29.71
104.053276062012 13982832 100
133.031875610352 9440187 67.51
150.058349609375 1694299.125 12.12

Expand Down
Loading
Loading