SIAMCAT issueshttps://git.embl.de/grp-zeller/SIAMCAT/-/issues2019-01-09T12:22:50Zhttps://git.embl.de/grp-zeller/SIAMCAT/-/issues/99Bug in siamcat() creator function2019-01-09T12:22:50ZKonrad ZychBug in siamcat() creator function###Summary
siamcat() will always fail when otu_table has taxa in columns (it assumes rows)
/cc @zych @jawirbel###Summary
siamcat() will always fail when otu_table has taxa in columns (it assumes rows)
/cc @zych @jawirbelKonrad ZychKonrad Zychhttps://git.embl.de/grp-zeller/SIAMCAT/-/issues/45Bug in the interpretor.model.plot with heatmap.type="fc"2018-02-26T14:39:40ZKonrad ZychBug in the interpretor.model.plot with heatmap.type="fc"```
+++ preparing heatmap
NaNs producedNaNs producedNaNs producedNaNs producedNaNs producedNaNs producedNaNs producedNaNs producedNaNs producedNaNs producedNaNs producedNaNs producedNaNs producedNaNs producedNaNs producedNaNs producedNaN...```
+++ preparing heatmap
NaNs producedNaNs producedNaNs producedNaNs producedNaNs producedNaNs producedNaNs producedNaNs producedNaNs producedNaNs producedNaNs producedNaNs producedNaNs producedNaNs producedNaNs producedNaNs producedNaNs producedNaNs producedNaNs producedNaNs producedNaNs producedNaNs producedNaNs producedNaNs producedNaNs producedNaNs producedNaNs producedNaNs producedNaNs producedNaNs producedNaNs producedNaNs producedNaNs producedNaNs producedNaNs producedNaNs producedNaNs producedNaNs producedNaNs producedNaNs producedNaNs producedNaNs producedNaNs producedNaNs producedNaNs producedNaNs produced+++ plotting model properties
Layout height values: 0.1, 0.64, 0.26
+++ plotting titles
+++ plotting legend
Error in seq.default(round(min(img.data, na.rm = TRUE), digits = 1), round(max(img.data, :
'from' must be a finite number
```https://git.embl.de/grp-zeller/SIAMCAT/-/issues/90clean the label class2018-08-01T14:14:26ZJakob Wirbelclean the label class- [x] remove redundant stuff in the label
- [x] fix all indexing calls with the label object- [x] remove redundant stuff in the label
- [x] fix all indexing calls with the label objecthttps://git.embl.de/grp-zeller/SIAMCAT/-/issues/64Remove nested for loops2018-04-18T11:13:14ZKonrad ZychRemove nested for loops- [ ] identify
- [ ] think :thinking:
- [ ] remove :bomb:
/cc @zych- [ ] identify
- [ ] think :thinking:
- [ ] remove :bomb:
/cc @zychBioconductor review 1https://git.embl.de/grp-zeller/SIAMCAT/-/issues/63Remove commented out code.2018-04-05T20:10:36ZKonrad ZychRemove commented out code.Clear.
/cc @zychClear.
/cc @zychBioconductor review 1Jakob WirbelJakob Wirbelhttps://git.embl.de/grp-zeller/SIAMCAT/-/issues/62Take advantage of vectorized functions2018-04-18T11:13:22ZKonrad ZychTake advantage of vectorized functions### Summary
Take advantage of vectorized functions, like `rowMedians` and `colMedians` from the `matrixStats` package.
Also, take a look at `rowQuantiles` and `colQuantiles` from `matrixStats`. Avoid apply functions and loops and opt to...### Summary
Take advantage of vectorized functions, like `rowMedians` and `colMedians` from the `matrixStats` package.
Also, take a look at `rowQuantiles` and `colQuantiles` from `matrixStats`. Avoid apply functions and loops and opt to vectorize.
### Goals/sub-features
- [ ] identify
- [ ] apply
/cc @zych @jawirbelBioconductor review 1Jakob WirbelJakob Wirbelhttps://git.embl.de/grp-zeller/SIAMCAT/-/issues/61Use small helper function2018-04-18T11:13:31ZKonrad ZychUse small helper function### Summary
If you are copy pasting code, it can be made into a small helper function. There are many such examples throughout you codebase, these all need to be fixed.
`check_associations.r`
```
x.q = apply(data1, 1, function (x)q...### Summary
If you are copy pasting code, it can be made into a small helper function. There are many such examples throughout you codebase, these all need to be fixed.
`check_associations.r`
```
x.q = apply(data1, 1, function (x)quantile(x, c(0.05, 0.25, 0.5, 0.75, 0.95),
na.rm=TRUE, names=FALSE))
y.q = apply(data2, 1, function (x)quantile(x, c(0.05, 0.25, 0.5, 0.75, 0.95),
na.rm=TRUE, names=FALSE))
```
eg: modify your function to take in a quantiles vector too, and you can reuse it accross your entire package.
```
apply_quantile <- function(data, quantiles_vector) {
apply(data, 1,
function (x) quantile(x, quantiles_vector,
na.rm = TRUE, names = FALSE))
}
```
### Goals/sub-features
- [ ] find this replicated code
- [ ] replace with helper function
/cc @zych @jawirbelBioconductor review 1https://git.embl.de/grp-zeller/SIAMCAT/-/issues/60Use getter's and setter's for accessing slots in your class2018-04-16T07:35:39ZKonrad ZychUse getter's and setter's for accessing slots in your class- [x] use phyloseq accessors and assignment functions
### rebuild SIAMCAT object
This need to be done, otherwise we need accessors for each slot in each slot...
- [x] change data_split -> list
- [x] change label -> list
### change phy...- [x] use phyloseq accessors and assignment functions
### rebuild SIAMCAT object
This need to be done, otherwise we need accessors for each slot in each slot...
- [x] change data_split -> list
- [x] change label -> list
### change phyloseq slot name to physeq
In order to avoid mother of all name conflicts.
- [ ] <s>`siamcat@phyloseq` => `siamcat@physeq`</s>
- [x] `phyloseq<-` => `physeq<-`
- [x] `phyloseq()` => `physeq()`
### create assigment functions
- [x] `phyloseq<-`
- [x] `label<-`
- [x] `model_list<-`
- [x] `eval_data<-`
- [x] `norm_param<-`
- [x] `data_split<-`
- [x] `pred_matrix<-`
- [x] `orig_feat<-`
### correct accessors
- [x] generic slot accessor
- [x] `phyloseq()`
- [x] `otu_table()`
- [x] `label()`
- [x] `model_list()`
- [x] `eval_data()`
- [x] `norm_param()`
- [x] `data_split()`
- [x] `pred_matrix()`
- [x] `orig_feat()`
- [x] remove old ones when replaced
### eliminate @
- [x] correct accessors
- [x] use assigments in the returns of the functions
/cc @zych @jawirbelBioconductor review 1Konrad ZychKonrad Zychhttps://git.embl.de/grp-zeller/SIAMCAT/-/issues/59Format the code better2018-04-17T09:25:30ZKonrad ZychFormat the code better### Summary
Format you code better, with formatR, and make the code more readable. Use 4 spaces instead of 2. The current formatting makes it hard to read your code. The 80 char limit needs to be reasonably followed as well. Important
...### Summary
Format you code better, with formatR, and make the code more readable. Use 4 spaces instead of 2. The current formatting makes it hard to read your code. The 80 char limit needs to be reasonably followed as well. Important
### Goals/sub-features
- [x] use formatR
- [x] 2 spaces -> 4 spaces
- [x] tabs -> 4 spaces
- [x] 80 char limit
- [x] multiples of 4 spaces for line indents
/cc @zych @jawirbelBioconductor review 1Konrad ZychKonrad Zychhttps://git.embl.de/grp-zeller/SIAMCAT/-/issues/58Use vapply instead of sapply and use seq_along and seq_len instead of 1:length2018-04-09T15:11:03ZKonrad ZychUse vapply instead of sapply and use seq_along and seq_len instead of 1:length- [ ] sapply -> vapply
- [ ] 1:n -> seqalong
- [ ] 1:length -> seq_len
/cc @zych @jawirbel- [ ] sapply -> vapply
- [ ] 1:n -> seqalong
- [ ] 1:length -> seq_len
/cc @zych @jawirbelBioconductor review 1https://git.embl.de/grp-zeller/SIAMCAT/-/issues/57Change how label object is build2018-04-17T09:37:29ZKonrad ZychChange how label object is build### Summary
We need to use a scenario where an user is using phyloseq to read the data in and then the label is rebuild whilst creating phyloseq-class object from metadata.
### Goals/sub-features
- [x] a parameter which specifies which...### Summary
We need to use a scenario where an user is using phyloseq to read the data in and then the label is rebuild whilst creating phyloseq-class object from metadata.
### Goals/sub-features
- [x] a parameter which specifies which column of metadata should be used to create label
- [x] update siamcat constructor function
/cc @zych @jawirbelKonrad ZychKonrad Zychhttps://git.embl.de/grp-zeller/SIAMCAT/-/issues/53Accessors for SIAMCAT-class2018-03-30T07:45:00ZKonrad ZychAccessors for SIAMCAT-class### Summary
All slots in the class should be accessible by an accessor function
/cc @zych### Summary
All slots in the class should be accessible by an accessor function
/cc @zychhttps://git.embl.de/grp-zeller/SIAMCAT/-/issues/52Bioconductor submission checklist2018-03-30T07:44:52ZKonrad ZychBioconductor submission checklist- [x] clone to GitHub/ check if it could be submitted from git.embl
- [x] R CMD check with no warnings and errors
- [x] R CMD BiocCheck with no warnings and errors
- [x] R CMD BiocCheck notes - careful with those
- [x] siamcat_example do...- [x] clone to GitHub/ check if it could be submitted from git.embl
- [x] R CMD check with no warnings and errors
- [x] R CMD BiocCheck with no warnings and errors
- [x] R CMD BiocCheck notes - careful with those
- [x] siamcat_example does not work with log.std normalization
- [x] replacing previous import ‘mlr::auc’ by ‘pROC::auc’ when loading ‘SIAMCAT -> importsFrom should solve it but seems not to work properly?
- [x] The result of R CMD build must be less than 4MB
- [x] R CMD check must complete within 5 minutes
- [x] Set Version: 0.99.0 in the DESCRIPTION
- [x] Include an inst/NEWS file for providing users with information on package updates
- [ ] NOTE: Consider shorter lines
- [ ] NOTE: Consider multiples of 4 spaces for line indentsBioconductor submission2018-03-29https://git.embl.de/grp-zeller/SIAMCAT/-/issues/49Adjust prediction function2018-03-14T08:52:39ZJakob WirbelAdjust prediction function### Summary
For proper hold-out testing, it would make sense for the `predict` function to be able to be given a new, unrelated dataset.
- [x] make option argument in predict function (another `siamcat` object)
- [x] if no hold-out dat...### Summary
For proper hold-out testing, it would make sense for the `predict` function to be able to be given a new, unrelated dataset.
- [x] make option argument in predict function (another `siamcat` object)
- [x] if no hold-out data are given, perform the function at it is now
- [x] if hold-out data are given, perform data sanity checks
- [x] apply model on hold-out data and return predictions
### Question
Should the function for the hold-out prediction return only the prediction matrix or a modified `siamcat` object?
### Affected functions/datasets/objects
- `make.predictions`
/cc @zychJakob WirbelJakob Wirbelhttps://git.embl.de/grp-zeller/SIAMCAT/-/issues/41Homogenous names2018-03-28T20:55:25ZKonrad ZychHomogenous names- [ ] class-siamcat slots are all using _ (data_split, otu_table)
- [ ] functions are using action.subject (split.data, plot.model.interpretation)
- [ ] SIAMCAT/R files names match name of the (main) function they contain
- [ ] plot. fun...- [ ] class-siamcat slots are all using _ (data_split, otu_table)
- [ ] functions are using action.subject (split.data, plot.model.interpretation)
- [ ] SIAMCAT/R files names match name of the (main) function they contain
- [ ] plot. functions are reserved namesBioconductor submissionKonrad ZychKonrad Zychhttps://git.embl.de/grp-zeller/SIAMCAT/-/issues/38Updating R_script2018-02-15T16:15:59ZKonrad ZychUpdating R_scriptTO match the siamcat data structure workflow.TO match the siamcat data structure workflow.Version 0.4.0Konrad ZychKonrad Zychhttps://git.embl.de/grp-zeller/SIAMCAT/-/issues/32removing srcdir from R_script2018-01-16T13:39:42ZKonrad Zychremoving srcdir from R_scriptVersion 0.3.0Konrad ZychKonrad Zychhttps://git.embl.de/grp-zeller/SIAMCAT/-/issues/18Radical code clean-up fro metagenomics course2017-10-02T19:46:27ZKonrad ZychRadical code clean-up fro metagenomics course- [x] remove unused parameters
- [x] mlr only
- [x] add mlr-related parameters- [x] remove unused parameters
- [x] mlr only
- [x] add mlr-related parametersNijmegen conferenceKonrad ZychKonrad Zychhttps://git.embl.de/grp-zeller/SIAMCAT/-/issues/17Taking care of the utils.R2017-09-28T11:51:24ZKonrad ZychTaking care of the utils.R- [x] removing all the :poop: `make_xyz_options` functions from the utils file
- [x] removing all the :poop: `make_xyz_options` functions from the R_script file
- [x] renaming it to read_data.R
- [x] add some docs for the read functions ...- [x] removing all the :poop: `make_xyz_options` functions from the utils file
- [x] removing all the :poop: `make_xyz_options` functions from the R_script file
- [x] renaming it to read_data.R
- [x] add some docs for the read functions (see Georg's readme and copy from there about file formats). Do not spend too much time here, once the structure is done there will be aconstructor function that would not expose any of those to the user!Nijmegen conferenceJakob WirbelJakob Wirbelhttps://git.embl.de/grp-zeller/SIAMCAT/-/issues/15Update how plm.predictor takes in the test data2017-10-02T11:04:33ZJakob WirbelUpdate how plm.predictor takes in the test dataCurrently, plm.predict takes a set of features and labels as test data.
But it would be better if it could, analogously to plm.trainer, take the list returned by data.splitter as inputCurrently, plm.predict takes a set of features and labels as test data.
But it would be better if it could, analogously to plm.trainer, take the list returned by data.splitter as inputNijmegen conferenceKonrad ZychKonrad Zych