{"action":"created","issue":{"url":"https://api.github.com/repos/Bioconductor/Contributions/issues/651","repository_url":"https://api.github.com/repos/Bioconductor/Contributions","labels_url":"https://api.github.com/repos/Bioconductor/Contributions/issues/651/labels{/name}","comments_url":"https://api.github.com/repos/Bioconductor/Contributions/issues/651/comments","events_url":"https://api.github.com/repos/Bioconductor/Contributions/issues/651/events","html_url":"https://github.com/Bioconductor/Contributions/issues/651","id":297144022,"number":651,"title":"SummarizedBenchmark ","user":{"login":"areyesq89","id":12632413,"avatar_url":"https://avatars3.githubusercontent.com/u/12632413?v=4","gravatar_id":"","url":"https://api.github.com/users/areyesq89","html_url":"https://github.com/areyesq89","followers_url":"https://api.github.com/users/areyesq89/followers","following_url":"https://api.github.com/users/areyesq89/following{/other_user}","gists_url":"https://api.github.com/users/areyesq89/gists{/gist_id}","starred_url":"https://api.github.com/users/areyesq89/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/areyesq89/subscriptions","organizations_url":"https://api.github.com/users/areyesq89/orgs","repos_url":"https://api.github.com/users/areyesq89/repos","events_url":"https://api.github.com/users/areyesq89/events{/privacy}","received_events_url":"https://api.github.com/users/areyesq89/received_events","type":"User","site_admin":false},"labels":[{"id":335833554,"url":"https://api.github.com/repos/Bioconductor/Contributions/labels/2.%20review%20in%20progress","name":"2. review in progress","color":"1881c2","default":false},{"id":335831709,"url":"https://api.github.com/repos/Bioconductor/Contributions/labels/ERROR","name":"ERROR","color":"bb3333","default":false}],"state":"open","locked":false,"assignee":{"login":"vobencha","id":2466173,"avatar_url":"https://avatars1.githubusercontent.com/u/2466173?v=4","gravatar_id":"","url":"https://api.github.com/users/vobencha","html_url":"https://github.com/vobencha","followers_url":"https://api.github.com/users/vobencha/followers","following_url":"https://api.github.com/users/vobencha/following{/other_user}","gists_url":"https://api.github.com/users/vobencha/gists{/gist_id}","starred_url":"https://api.github.com/users/vobencha/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vobencha/subscriptions","organizations_url":"https://api.github.com/users/vobencha/orgs","repos_url":"https://api.github.com/users/vobencha/repos","events_url":"https://api.github.com/users/vobencha/events{/privacy}","received_events_url":"https://api.github.com/users/vobencha/received_events","type":"User","site_admin":false},"assignees":[{"login":"vobencha","id":2466173,"avatar_url":"https://avatars1.githubusercontent.com/u/2466173?v=4","gravatar_id":"","url":"https://api.github.com/users/vobencha","html_url":"https://github.com/vobencha","followers_url":"https://api.github.com/users/vobencha/followers","following_url":"https://api.github.com/users/vobencha/following{/other_user}","gists_url":"https://api.github.com/users/vobencha/gists{/gist_id}","starred_url":"https://api.github.com/users/vobencha/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vobencha/subscriptions","organizations_url":"https://api.github.com/users/vobencha/orgs","repos_url":"https://api.github.com/users/vobencha/repos","events_url":"https://api.github.com/users/vobencha/events{/privacy}","received_events_url":"https://api.github.com/users/vobencha/received_events","type":"User","site_admin":false}],"milestone":null,"comments":6,"created_at":"2018-02-14T15:46:57Z","updated_at":"2018-02-16T00:35:10Z","closed_at":null,"author_association":"NONE","body":"Update the following URL to point to the GitHub repository of\r\nthe package you wish to submit to _Bioconductor_\r\n\r\n- Repository: https://github.com/areyesq89/SummarizedBenchmark\r\n\r\nConfirm the following by editing each check box to '[x]'\r\n\r\n- [x] I understand that by submitting my package to _Bioconductor_,\r\n  the package source and all review commentary are visible to the\r\n  general public.\r\n\r\n- [x] I have read the _Bioconductor_ [Package Submission][2]\r\n  instructions. My package is consistent with the _Bioconductor_\r\n  [Package Guidelines][1].\r\n\r\n- [x] I understand that a minimum requirement for package acceptance \r\n  is to pass R CMD check and R CMD BiocCheck with no ERROR or WARNINGS. \r\n  Passing these checks does not result in automatic acceptance. The \r\n  package will then undergo a formal review and recommendations for \r\n  acceptance regarding other Bioconductor standards will be addressed.\r\n\r\n- [x] My package addresses statistical or bioinformatic issues related\r\n  to the analysis and comprehension of high throughput genomic data.\r\n\r\n- [x] I am committed to the long-term maintenance of my package. This\r\n  includes monitoring the [support site][3] for issues that users may\r\n  have, subscribing to the [bioc-devel][4] mailing list to stay aware\r\n  of developments in the _Bioconductor_ community, responding promptly\r\n  to requests for updates from the Core team in response to changes in\r\n  _R_ or underlying software.\r\n\r\nI am familiar with the essential aspects of _Bioconductor_ software\r\nmanagement, including:\r\n\r\n- [x] The 'devel' branch for new packages and features.\r\n- [x] The stable 'release' branch, made available every six\r\n      months, for bug fixes.\r\n- [x] _Bioconductor_ version control using [Git][5]\r\n  (optionally [via GitHub][6]).\r\n\r\nFor help with submitting your package, please subscribe and post questions\r\nto the [bioc-devel][4] mailing list.\r\n\r\n[1]: https://bioconductor.org/developers/package-guidelines/\r\n[2]: https://bioconductor.org/developers/package-submission/\r\n[3]: https://support.bioconductor.org\r\n[4]: https://stat.ethz.ch/mailman/listinfo/bioc-devel\r\n[5]: http://bioconductor.org/developers/how-to/git/\r\n[6]: http://bioconductor.org/developers/how-to/git/sync-existing-repositories/\r\n"},"comment":{"url":"https://api.github.com/repos/Bioconductor/Contributions/issues/comments/366109575","html_url":"https://github.com/Bioconductor/Contributions/issues/651#issuecomment-366109575","issue_url":"https://api.github.com/repos/Bioconductor/Contributions/issues/651","id":366109575,"user":{"login":"pkimes","id":3516025,"avatar_url":"https://avatars1.githubusercontent.com/u/3516025?v=4","gravatar_id":"","url":"https://api.github.com/users/pkimes","html_url":"https://github.com/pkimes","followers_url":"https://api.github.com/users/pkimes/followers","following_url":"https://api.github.com/users/pkimes/following{/other_user}","gists_url":"https://api.github.com/users/pkimes/gists{/gist_id}","starred_url":"https://api.github.com/users/pkimes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pkimes/subscriptions","organizations_url":"https://api.github.com/users/pkimes/orgs","repos_url":"https://api.github.com/users/pkimes/repos","events_url":"https://api.github.com/users/pkimes/events{/privacy}","received_events_url":"https://api.github.com/users/pkimes/received_events","type":"User","site_admin":false},"created_at":"2018-02-16T00:35:10Z","updated_at":"2018-02-16T00:35:10Z","author_association":"NONE","body":"@lawremi thanks for taking a look at this!\r\n\r\nTo clarify, are you suggesting changing the API to something like:\r\n```\r\naddBMethod(\r\n   bd = my_benchdesign, \r\n   blabel = \"bh\", \r\n   bfunc = function( data ){   \r\n      p.adjust( data$pvals, method=\"BH\" ) \r\n   } )\r\n```\r\nwhere the user just supplies a single function which takes the data as input and runs the method?\r\n\r\nOne thing we wanted to do with this package was automate grabbing metadata for each method (e.g. package name, package version) when the benchmarking experiment is actually run. This was one reason why we wanted to keep the primary functions/methods separate from the parameters. If we used wrapper functions, my understanding is that this would become a lot harder.\r\n\r\nAnother reason why we want to keep functions and parameters separate was to makes it easier to know which results were generated by the same/different functions, and using same/different parameters (since this is all stored as columns in the colData of the benchmark results). For example, suppose I want to compare running k-means clustering with different \"k\" (along with possibly other clustering algorithms) on a data set. The returned SummarizedBenchmark will have cluster labels in the assay for rows = samples, columns = clustering methods. With the current setup, the colData will include columns \"`bfunc`\" and \"`k`\" that I can use to subset on only `colData(se)$bfunc == \"kmeans\"` results, and I can also use the \"`k`\" column to compare across the kmeans parameter. If we used wrapper functions, we're back to manually trying to parse the anonymous function to figure out which one used what clustering algorithm with what parameters.\r\n\r\nThe point about mixing method arguments and arguments actually passed to `addBMethod` (like `blabel`) is well taken. We can try to clarify this by having users specify the method parameters to a single named parameter, e.g. `params =`, rather than ellipses. the call could look like:\r\n```\r\naddBMethod(\r\n   bd = my_benchdesign, \r\n   blabel = \"bh\", \r\n   bfunc = p.adjust,\r\n   params = list(p = pvals, method = \"BH\" ) \r\n)\r\n```\r\nThe idea would be (maybe?) similar to the use of `aes()` in `ggplot2`. "}}
{"actor":{"display_login":"pkimes"}}