-
Notifications
You must be signed in to change notification settings - Fork 20
Open
Description
Now that our package has draft implementations of most major steps, we should start to think about polishing the code more to emphasize simplicity, readability and consistency. Broadly speaking I think we should prioritize our choice of packages to use functions from sources in the following order:
- tidyverse packages from CRAN
- other packages from CRAN
- Bioconductor packages
- Packages only available on GitHub
The following packages that we currently depend on can probably be removed
Rlab- uses amessage2function that is not even in the documentation - can we just use the basemessagefunction?doMC,doParallelandforeach- all of these can be replaced with a combination of tidyverse packages:future,dplyrandpurrr.data.table- thefreadfunction can be replaced with thevroomfunction from thevroompackage.plink2R- this can be replaced withsnpStatsfor loading bed/bim/fam files andpgenlibr
The following packages are currently only available on GitHub. We cannot submit our package to CRAN or Bioconductor until these packages have been made available on one of those two resources:
- Gao's version of
susieR mr.mash.alphamr.ash.alpha
Stylistically, I would like to also strictly enforce several concepts from functional programming:
- no loops - replace these with
group_modifyorgroup_mapfromdplyrwhen working with data frames, andmap(or its derivates) frompurrrwhen working with lists - immutable variables - once a variable is declare it should be modified. The only exception to this is to save memory
- descriptive variable names - variables which are not part of algebraic operations with formal notation in the manuscript should have descriptive variable names.
Metadata
Metadata
Assignees
Labels
No labels