SIAMCAT issueshttps://git.embl.de/grp-zeller/SIAMCAT/-/issues2018-04-09T15:11:03Zhttps://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/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/68Docs for internal functions2018-04-17T09:36:58ZKonrad ZychDocs for internal functions### Summary
We need to add docs for some of the internal functions.
We just need to be sure, but I think just `#' @keywords internal` should be enough. In that case some of those are safe already.
### Goals/sub-features
In `check_a...### Summary
We need to add docs for some of the internal functions.
We just need to be sure, but I think just `#' @keywords internal` should be enough. In that case some of those are safe already.
### Goals/sub-features
In `check_associations.r`:
- [x] associations.bean.plot
- [x] associations.box.plot
- [x] associations.quantile.box.plot
- [x] associations.quantile.rect.plot
- [x] associations.margins.plot
- [x] associations.aucs.plot
- [x] associations.fcs.plot
- [x] associations.pr.shift.plot
- [x] associations.pvals.plot
- [x] is.color
- [x] check.color.scheme
- [x] associations.labels.plot
- [x] analyse.binary.marker
- [x] change.transparency
- [x] quantiles.plot
- [x] create.tints
- [x] quantile.rect.plot
- [x] quantile.median.plot
In `evaluate_predictions.r`:
- [x] evaluate.classifier
- [x] evaluate.area.trapez
- [x] evaluate.get.pr
- [x] evaluate.calc.aupr
In `model_interpretation_plot.R`:
- [x] plot.feature.weights
- [x] plot.pred.and.meta
- [x] plot.proportion.of.weights
- [x] plot.percentage.of.features
- [x] plot.heatmap
- [x] prepare.heatmap.fc
- [x] prepare.heatmap.zscore
- [x] select.features
- [x] get.weights.matrix
In `plm_utils.R`:
- [x] train.plm
- [x] get.optimal.lambda.for.glmnet
- [x] get.parameters.from.param.set
In `siamcat_class_constructor.r`:
- [x] get.component.classes
- [x] is.component.class
In `train_model.r`:
- [x] measureAUPRC
/cc @zych @jawirbel Bioconductor 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/43Start using gitLab and issues system properly2018-04-17T09:40:13ZKonrad ZychStart using gitLab and issues system properly- [x] add, commit and push are your friends
- [ ] issues - make an issue for every problem/ bug you find, for every feature you are developing etc - make it verbose and easy to track for us
- [ ] be a pro and use Markdown and quick actio...- [x] add, commit and push are your friends
- [ ] issues - make an issue for every problem/ bug you find, for every feature you are developing etc - make it verbose and easy to track for us
- [ ] be a pro and use Markdown and quick actions (e.g. `/estimate` and `/spend`)
- [x] question authorityMorgan EssexMorgan Essexhttps://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/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/56Vignette - how to get your data into SIAMCAT2018-05-23T13:51:02ZKonrad ZychVignette - how to get your data into SIAMCAT### Summary
A vignette that shows crucial steps in reading in and preprocessing your data to use in SIAMCAT
### Goals/sub-features
- [x] loading different data types with phyloseq
- [x] reading SIAMCAT type text files
- [x] adding phyl...### Summary
A vignette that shows crucial steps in reading in and preprocessing your data to use in SIAMCAT
### Goals/sub-features
- [x] loading different data types with phyloseq
- [x] reading SIAMCAT type text files
- [x] adding phyloseq-class object to siamcat-class object
/cc @zychBioconductor 1.0.1 releaseKonrad ZychKonrad Zychhttps://git.embl.de/grp-zeller/SIAMCAT/-/issues/87Bug in model.interpretation.plot2018-07-19T12:07:04ZKonrad ZychBug in model.interpretation.plot###Summary
- [ ] the metadata display in the model interpretation plot looks a bit strange in the sense that some rows are very light throughout due to the smaller range of values - some form of normalization (rescale every row to the in...###Summary
- [ ] the metadata display in the model interpretation plot looks a bit strange in the sense that some rows are very light throughout due to the smaller range of values - some form of normalization (rescale every row to the interval [-1, 1])
/cc @zych @jawirbelhttps://git.embl.de/grp-zeller/SIAMCAT/-/issues/88bug in evaluate.predictions for models without resampling2018-07-19T13:36:17ZJakob Wirbelbug in evaluate.predictions for models without resampling### Summary
if no resampling has been performed (and thus the prediction is a single vector), the evaluation is buggy
### Relevant logs and/or screenshots
```
> + finished evaluate.predictions in 5.15 s
> Warning message:
> In pr[1]...### Summary
if no resampling has been performed (and thus the prediction is a single vector), the evaluation is buggy
### Relevant logs and/or screenshots
```
> + finished evaluate.predictions in 5.15 s
> Warning message:
> In pr[1] <- list(evaluate.get.pr(ev[[1]]), verbose = verbose) :
> number of items to replace is not a multiple of replacement length
```
/cc @zych @jawirbelhttps://git.embl.de/grp-zeller/SIAMCAT/-/issues/85Bugs in check.associations2018-07-24T15:38:17ZKonrad ZychBugs in check.associations### Summary
- [x] the prevalence shift panel in the association checking is buggy (sth is wrong with the y coordinate of the bars)
- [x] the legend in the quantile.rect plot is also misplaced - especially its title…
- [x] the sort.by op...### Summary
- [x] the prevalence shift panel in the association checking is buggy (sth is wrong with the y coordinate of the bars)
- [x] the legend in the quantile.rect plot is also misplaced - especially its title…
- [x] the sort.by option is either misleading or doesn’t work “fc” doesn’t produce a sorting by fold change...
/cc @zych @jawirbelhttps://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/89fix constructor function2018-08-01T14:16:46ZJakob Wirbelfix constructor function- [x] use named arguments
- [x] perform some checks on features/labels/metadata
- [x] call data validator at the end of the constructor
- [x] SIAMCAT without the label (or NaN label)- [x] use named arguments
- [x] perform some checks on features/labels/metadata
- [x] call data validator at the end of the constructor
- [x] SIAMCAT without the label (or NaN label)Konrad ZychKonrad Zychhttps://git.embl.de/grp-zeller/SIAMCAT/-/issues/91No NA handling in filter.features2018-08-09T13:52:14ZKonrad ZychNo NA handling in filter.features###Summary
If NAs are present in the data, the filter.features function does not work at all
###Relevant logs and/or screenshots
```
+ starting filter.features
+++ before filtering, the data has 1127 features
+++ applying abundance fi...###Summary
If NAs are present in the data, the filter.features function does not work at all
###Relevant logs and/or screenshots
```
+ starting filter.features
+++ before filtering, the data has 1127 features
+++ applying abundance filter
+++ checking for unmapped reads
+++ tried to remove unmapped reads, but could not find
them. Continue anyway.
+++ applying prune_taxa
+++ removed 1127 features whose values did not exceed 1e-04 in any sample (retaining 0)
Error in validObject(.Object) : invalid class "otu_table" object:
OTU abundance data must have non-zero dimensions.
```
/cc @zych @jawirbelKonrad ZychKonrad Zychhttps://git.embl.de/grp-zeller/SIAMCAT/-/issues/86Bugs in read.features2018-09-20T12:50:54ZKonrad ZychBugs in read.features### Summary
- [x] the read.features function doesn’t understand an URL as fn.in.feat (while e.g. read.table does)
- [ ] pass on arguments to the underlying read.table function
- [ ] make the function more flexible
/cc @zych @jawirbel### Summary
- [x] the read.features function doesn’t understand an URL as fn.in.feat (while e.g. read.table does)
- [ ] pass on arguments to the underlying read.table function
- [ ] make the function more flexible
/cc @zych @jawirbelKonrad ZychKonrad Zychhttps://git.embl.de/grp-zeller/SIAMCAT/-/issues/1finalizing mlr integration2019-01-02T12:40:01ZKonrad Zychfinalizing mlr integration- [x] extend support for more methods
- [x] generic retrieval methods for elements from the model
- [x] full integration of evaluation- [x] extend support for more methods
- [x] generic retrieval methods for elements from the model
- [x] full integration of evaluationVersion 0.3.0Konrad ZychKonrad Zychhttps://git.embl.de/grp-zeller/SIAMCAT/-/issues/2Update roxygen documentation2019-01-09T12:17:36ZKonrad ZychUpdate roxygen documentationBioconductor submissionJakob WirbelJakob Wirbelhttps://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 Zych