[Bioc-devel] Account Activation Issue

2020-02-06 Thread Opitz Lennart
Dear BC-Devel-Team,
I am the maintainer of the package ‘NextLink' and I tried to activate the 
relevant GIT accounts via
https://git.bioconductor.org/BiocCredentials/account_activation/
using the email 'lop...@fgcz.ethz.ch’ but I got the response that this address 
is not associated with a maintainer of a Bioconductor package.
On the website my email address is matching:
https://bioconductor.org/packages/devel/data/experiment/html/NestLink.html

Could you please let me know how to resolve this issue?

Kind regards,
Lennart

___
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel


Re: [Bioc-devel] Compatibility of S4 and tidyverse

2020-02-06 Thread Martin Maechler
> Michael Lawrence via Bioc-devel 
> on Wed, 5 Feb 2020 20:52:52 -0800 writes:

> Yep that about sums it up.

:-) ;-)

Thank you, Michael !!
I haven't laughed  as much from reading e-mails in a long while !!

Martin


> On Wed, Feb 5, 2020 at 8:37 PM Stefano Mangiola 

> wrote:

{an empty message}

>> ___
>> Bioc-devel@r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>> 


> -- 
> Michael Lawrence
> Senior Scientist, Bioinformatics and Computational Biology
> Genentech, A Member of the Roche Group
> Office +1 (650) 225-7760
> micha...@gene.com

___
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel


Re: [Bioc-devel] Compatibility of S4 and tidyverse

2020-02-06 Thread Neumann, Steffen
Sounds like an incompatibility with your mailer, 
maybe it tries to send the message as (signed / encrypted ?) 
attachement, which are always automatically stripped by the listserver. 

Try text only, or maybe use your webmailer ?

Yours,
Steffen



On Thu, 2020-02-06 at 23:54 +1100, Stefano Mangiola wrote:
> ___
> Bioc-devel@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/bioc-devel
-- 

Current bits of interest:

* Computational Metabolomics PhD Position @ IPB
  
https://www.ipb-halle.de/en/career/job-vacancies/joboffer-detail/wissenschaftlichen-mitarbeiterin-doktorandin-bioinformatikmetabolomics-mwd/
 

* Leibniz Plant Biochemistry Symposium, 14./15.05.2020, Halle
  https://events.ipb-halle.de/event/60/

* HUPO PSI spring meeting, 23.-25.03.2020, San Diego, CA
  http://www.psidev.info/hupo-psi-meeting-2020

---
IPB HalleAG Massenspektrometrie & Bioinformatik
Dr. Steffen Neumann  http://www.IPB-Halle.DE
Weinberg 3   Tel. +49 (0) 345 5582 - 1470
06120 Halle   +49 (0) 345 5582 - 0
sneumann(at)IPB-Halle.DE Fax. +49 (0) 345 5582 - 1409

___
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel


Re: [Bioc-devel] Compatibility of S4 and tidyverse

2020-02-06 Thread Bernat Gel Moreno
Hi Stefano,

Your message to the list was completely empty, thus the joke by Michael.

I think you'll have to resend your message to the list and check it 
arrives as expected so you can get some feedback! :)

Bernat

El 2/6/20 a las 12:29 PM, stefano escribió:
> Hello,
>
> Happy to trigger good laughs, although I did not understand the irony.
>
> If anyone has a clear idea of the issue  or similar experience  and can
> help out would be great!
>
> On Thu, 6 Feb 2020, 8:46 PM Martin Maechler 
> wrote:
>
>>> Michael Lawrence via Bioc-devel
>>>  on Wed, 5 Feb 2020 20:52:52 -0800 writes:
>>  > Yep that about sums it up.
>>
>> :-) ;-)
>>
>> Thank you, Michael !!
>> I haven't laughed  as much from reading e-mails in a long while !!
>>
>> Martin
>>
>>
>>  > On Wed, Feb 5, 2020 at 8:37 PM Stefano Mangiola <
>> mangiolastef...@gmail.com>
>>  > wrote:
>>
>>  {an empty message}
>>
>>  >> ___
>>  >> Bioc-devel@r-project.org mailing list
>>  >> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>>  >>
>>
>>
>>  > --
>>  > Michael Lawrence
>>  > Senior Scientist, Bioinformatics and Computational Biology
>>  > Genentech, A Member of the Roche Group
>>  > Office +1 (650) 225-7760
>>  > micha...@gene.com
>>
>   [[alternative HTML version deleted]]
>
> ___
> Bioc-devel@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/bioc-devel

___
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel


Re: [Bioc-devel] Compatibility of S4 and tidyverse

2020-02-06 Thread Stefano Mangiola


___
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel


[Bioc-devel] Install and Build ERROR - CeTF package

2020-02-06 Thread Carlos Biagi Jr
Dear all,

I recently had an accepted package on the bioconductor and it's been a week
since I got the error to install and build the package on Windows. The
installation and build on Linux is OK.

The error is: *ERROR: dependency 'clusterProfiler' is not available for
package 'CeTF'*

I already tried to build, install and check in my Windows computer and It's
all OK. I would like to find what is happening.

The link for build/check report is:
http://bioconductor.org/checkResults/devel/bioc-LATEST/CeTF/

Best,
Carlos

[[alternative HTML version deleted]]

___
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel


Re: [Bioc-devel] Compatibility of S4 and tidyverse

2020-02-06 Thread stefano
Hello,

Happy to trigger good laughs, although I did not understand the irony.

If anyone has a clear idea of the issue  or similar experience  and can
help out would be great!

On Thu, 6 Feb 2020, 8:46 PM Martin Maechler 
wrote:

> > Michael Lawrence via Bioc-devel
> > on Wed, 5 Feb 2020 20:52:52 -0800 writes:
>
> > Yep that about sums it up.
>
> :-) ;-)
>
> Thank you, Michael !!
> I haven't laughed  as much from reading e-mails in a long while !!
>
> Martin
>
>
> > On Wed, Feb 5, 2020 at 8:37 PM Stefano Mangiola <
> mangiolastef...@gmail.com>
> > wrote:
>
> {an empty message}
>
> >> ___
> >> Bioc-devel@r-project.org mailing list
> >> https://stat.ethz.ch/mailman/listinfo/bioc-devel
> >>
>
>
> > --
> > Michael Lawrence
> > Senior Scientist, Bioinformatics and Computational Biology
> > Genentech, A Member of the Roche Group
> > Office +1 (650) 225-7760
> > micha...@gene.com
>

[[alternative HTML version deleted]]

___
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel


[Bioc-devel] how to trace 'Matrix' as package dependency for 'GenomicScores'

2020-02-06 Thread Robert Castelo

hi,

when i load the package 'GenomicScores' in a clean session i see thorugh 
the 'sessionInfo()' that the package 'Matrix' is listed under "loaded 
via a namespace (and not attached)".


i'd like to know what is the dependency that 'GenomicsScores' has that 
ends up requiring the package 'Matrix'.


i've tried using the package 'pkgDepTools' without success, because the 
dependency graph does not list any path from 'GenomicScores' to 'Matrix'.


i've been manually browsing the Bioc website and, unless i've overlooked 
something, the only association with 'Matrix' i could find is that 
'S4Vectors' and 'GenomicRanges', which are required by 'GenomicScores', 
list 'Matrix' in the 'Suggests' field, but my understanding is that 
those packages are not required and should not be loaded.


so, is there any way in which i can figure out what of the 
'GenomicScores' dependencies leads to loading the package 'Matrix'?


here are the depends, import and suggests fields from 'GenomicScores':

Depends: R (>= 3.5), S4Vectors (>= 0.7.21), GenomicRanges, methods,
BiocGenerics (>= 0.13.8)
Imports: utils, XML, Biobase, IRanges (>= 2.3.23), Biostrings,
BSgenome, GenomeInfoDb, AnnotationHub, shiny, shinyjs,
DT, shinycustomloader, rtracklayer, data.table, shinythemes
Suggests: BiocStyle, knitr, rmarkdown, BSgenome.Hsapiens.UCSC.hg19,
phastCons100way.UCSC.hg19, MafDb.1Kgenomes.phase1.hs37d5,
SNPlocs.Hsapiens.dbSNP144.GRCh37, VariantAnnotation,
TxDb.Hsapiens.UCSC.hg19.knownGene, gwascat, RColorBrewer

and here a session information in a fresh R-devel session after loading 
the package 'GenomicScores':


R Under development (unstable) (2020-01-29 r77745)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: CentOS Linux 7 (Core)

Matrix products: default
BLAS:   /opt/R/R-devel/lib64/R/lib/libRblas.so
LAPACK: /opt/R/R-devel/lib64/R/lib/libRlapack.so

locale:
 [1] LC_CTYPE=en_US.UTF8   LC_NUMERIC=C
 [3] LC_TIME=en_US.UTF8LC_COLLATE=en_US.UTF8
 [5] LC_MONETARY=en_US.UTF8LC_MESSAGES=en_US.UTF8
 [7] LC_PAPER=en_US.UTF8   LC_NAME=C
 [9] LC_ADDRESS=C  LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF8 LC_IDENTIFICATION=C

attached base packages:
[1] parallel  stats4stats graphics  grDevices utils datasets
[8] methods   base

other attached packages:
[1] GenomicScores_1.11.4 GenomicRanges_1.39.2 GenomeInfoDb_1.23.10
[4] IRanges_2.21.3   S4Vectors_0.25.12BiocGenerics_0.33.0
[7] colorout_1.2-2

loaded via a namespace (and not attached):
 [1] Rcpp_1.0.3lattice_0.20-38
 [3] shinycustomloader_0.9.0   Rsamtools_2.3.3
 [5] Biostrings_2.55.4 assertthat_0.2.1
 [7] digest_0.6.23 mime_0.9
 [9] BiocFileCache_1.11.4  R6_2.4.1
[11] RSQLite_2.2.0 httr_1.4.1
[13] pillar_1.4.3  zlibbioc_1.33.1
[15] rlang_0.4.4   curl_4.3
[17] data.table_1.12.8 blob_1.2.1
[19] DT_0.12   Matrix_1.2-18
[21] shinythemes_1.1.2 shinyjs_1.1
[23] BiocParallel_1.21.2   AnnotationHub_2.19.7
[25] htmlwidgets_1.5.1 RCurl_1.98-1.1
[27] bit_1.1-15.1  shiny_1.4.0
[29] DelayedArray_0.13.3   compiler_4.0.0
[31] httpuv_1.5.2  rtracklayer_1.47.0
[33] pkgconfig_2.0.3   htmltools_0.4.0
[35] tidyselect_1.0.0  SummarizedExperiment_1.17.1
[37] tibble_2.1.3  GenomeInfoDbData_1.2.2
[39] interactiveDisplayBase_1.25.0 matrixStats_0.55.0
[41] XML_3.99-0.3  crayon_1.3.4
[43] dplyr_0.8.4   dbplyr_1.4.2
[45] later_1.0.0   GenomicAlignments_1.23.1
[47] bitops_1.0-6  rappdirs_0.3.1
[49] grid_4.0.0xtable_1.8-4
[51] DBI_1.1.0 magrittr_1.5
[53] XVector_0.27.0promises_1.1.0
[55] vctrs_0.2.2   tools_4.0.0
[57] bit64_0.9-7   BSgenome_1.55.3
[59] Biobase_2.47.2glue_1.3.1
[61] purrr_0.3.3   BiocVersion_3.11.1
[63] fastmap_1.0.1 yaml_2.2.1
[65] AnnotationDbi_1.49.1  BiocManager_1.30.10
[67] memoise_1.1.0



thanks!!

robert.

___
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel


Re: [Bioc-devel] Install and Build ERROR - CeTF package

2020-02-06 Thread Andris Jankevics
Build of clusterProfiler is failing because it depends on enrichplot 1.7.1, 
while only 1.7.0 is available. I guess you will have to wait or contact 
maintainers of these two packages.


BW,

Andris


From: Bioc-devel  on behalf of 
cbiag...@gmail.com 
Sent: 06 February 2020 12:45:43
To: bioc-devel@r-project.org
Subject: [Bioc-devel] Install and Build ERROR - CeTF package

Dear all,

I recently had an accepted package on the bioconductor and it's been a week
since I got the error to install and build the package on Windows. The
installation and build on Linux is OK.

The error is: *ERROR: dependency 'clusterProfiler' is not available for
package 'CeTF'*

I already tried to build, install and check in my Windows computer and It's
all OK. I would like to find what is happening.

The link for build/check report is:
http://bioconductor.org/checkResults/devel/bioc-LATEST/CeTF/

Best,
Carlos

[[alternative HTML version deleted]]

___
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel

[[alternative HTML version deleted]]

___
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel


Re: [Bioc-devel] Compatibility of S4 and tidyverse

2020-02-06 Thread Martin Morgan
It's still blank; the email list filters html content; make sure you send as 
'text only' -- your client seemed to 'do the right thing' when responding to 
Martin Maechler, so responding again to that might do the trick...

Martin Morgan

On 2/6/20, 8:13 AM, "Bioc-devel on behalf of Stefano Mangiola" 
 wrote:


___
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel

___
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel


Re: [Bioc-devel] Install and Build ERROR - CeTF package

2020-02-06 Thread Shepherd, Lori
I have already reached out to the maintainer of clusterProfile/enrichplot  -  
they are working on the updates and it should be fixed soon.


Lori Shepherd

Bioconductor Core Team

Roswell Park Comprehensive Cancer Center

Department of Biostatistics & Bioinformatics

Elm & Carlton Streets

Buffalo, New York 14263


From: Bioc-devel  on behalf of Andris 
Jankevics 
Sent: Thursday, February 6, 2020 8:00 AM
To: cbiag...@gmail.com ; bioc-devel@r-project.org 

Subject: Re: [Bioc-devel] Install and Build ERROR - CeTF package

Build of clusterProfiler is failing because it depends on enrichplot 1.7.1, 
while only 1.7.0 is available. I guess you will have to wait or contact 
maintainers of these two packages.


BW,

Andris


From: Bioc-devel  on behalf of 
cbiag...@gmail.com 
Sent: 06 February 2020 12:45:43
To: bioc-devel@r-project.org
Subject: [Bioc-devel] Install and Build ERROR - CeTF package

Dear all,

I recently had an accepted package on the bioconductor and it's been a week
since I got the error to install and build the package on Windows. The
installation and build on Linux is OK.

The error is: *ERROR: dependency 'clusterProfiler' is not available for
package 'CeTF'*

I already tried to build, install and check in my Windows computer and It's
all OK. I would like to find what is happening.

The link for build/check report is:
http://bioconductor.org/checkResults/devel/bioc-LATEST/CeTF/

Best,
Carlos

[[alternative HTML version deleted]]

___
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel

[[alternative HTML version deleted]]

___
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel


This email message may contain legally privileged and/or confidential 
information.  If you are not the intended recipient(s), or the employee or 
agent responsible for the delivery of this message to the intended 
recipient(s), you are hereby notified that any disclosure, copying, 
distribution, or use of this email message is prohibited.  If you have received 
this message in error, please notify the sender immediately by e-mail and 
delete this email message from your computer. Thank you.
[[alternative HTML version deleted]]

___
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel


Re: [Bioc-devel] Account Activation Issue

2020-02-06 Thread Turaga, Nitesh
It is registered to, "c...@fgz.eth.ch".

Would you like me to change the address?

Best,

Nitesh 

On 2/6/20, 5:18 AM, "Bioc-devel on behalf of Opitz  Lennart" 
 
wrote:

Dear BC-Devel-Team,
I am the maintainer of the package ‘NextLink' and I tried to activate the 
relevant GIT accounts via
https://git.bioconductor.org/BiocCredentials/account_activation/
using the email 'lop...@fgcz.ethz.ch’ but I got the response that this 
address is not associated with a maintainer of a Bioconductor package.
On the website my email address is matching:
https://bioconductor.org/packages/devel/data/experiment/html/NestLink.html

Could you please let me know how to resolve this issue?

Kind regards,
Lennart

___
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel




This email message may contain legally privileged and/or confidential 
information.  If you are not the intended recipient(s), or the employee or 
agent responsible for the delivery of this message to the intended 
recipient(s), you are hereby notified that any disclosure, copying, 
distribution, or use of this email message is prohibited.  If you have received 
this message in error, please notify the sender immediately by e-mail and 
delete this email message from your computer. Thank you.
___
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel


Re: [Bioc-devel] Compatibility of S4 and tidyverse

2020-02-06 Thread Stefano Mangiola


___
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel


Re: [Bioc-devel] how to trace 'Matrix' as package dependency for 'GenomicScores'

2020-02-06 Thread Robert Castelo

hi Martin,

thanks for hint!! i wasn't aware of 'tools::package_dependencies()', 
adding a bit of graph sorcery i get the result i was looking for:


repos <- BiocManager::repositories()[c(1,5)]
repos
 BioCsoft
"https://bioconductor.org/packages/3.11/bioc;
 CRAN
   "https://cran.rstudio.com;

db <- available.packages(repos=repos)

deps <- tools::package_dependencies("GenomicScores", db, 
recursive=TRUE)[[1]]


deps <- tools::package_dependencies(c("GenomicScores", deps), db)

g <- graph::graphNEL(nodes=names(deps), edgeL=deps, edgemode="directed")

RBGL::sp.between(g, start="GenomicScores", finish="Matrix", 
detail=TRUE)[[1]]$path_detail

[1] "GenomicScores""rtracklayer"  "GenomicAlignments"
[4] "SummarizedExperiment" "Matrix"

so, it was the rtracklayer dependency that leads to Matrix through 
GenomeAlignments and SummarizedExperiment.


maybe the BioC package 'pkgDepTools' should be deprecated if its 
functionality is part of 'tools' and it does not even work as fast and 
correct as 'tools'.


cheers,

robert.


On 2/6/20 2:51 PM, Martin Morgan wrote:

The first thing is to get the correct repositories

   repos = BiocManager::repositories()

(maybe trim the experiment and annotation repos from this). I also tried 
pkgDepTools::makeDepGraph() but it took so long that I moved on... it has an 
option 'keep.builtin' which might include Matrix.

There is also BiocPkgTools::buildPkgDependencyDataFrame() & friends, but this 
seems to build dependencies within a single repository...

The building block for a solution is `tools::package_dependencies()`, and I can confirm 
that "Matrix" _is_ a dependency

   db = available.packages(repos = BiocManager::repositories())
   revdeps <- tools::package_dependencies("GenomicScores", db, recursive = TRUE)
   "Matrix" %in% revdeps[[1]]
   ## [1] TRUE

so I'll leave the clever recursive or graph-based algorithm up to you, to 
report back to the mailing list?

For what it's worth I think the last time this came up Martin Maechler pointed 
to a function in base R (probably the tools package) that implements this, 
too...?

Martin Morgan

On 2/6/20, 6:40 AM, "Bioc-devel on behalf of Robert Castelo" 
 wrote:

 hi,
 
 when i load the package 'GenomicScores' in a clean session i see thorugh

 the 'sessionInfo()' that the package 'Matrix' is listed under "loaded
 via a namespace (and not attached)".
 
 i'd like to know what is the dependency that 'GenomicsScores' has that

 ends up requiring the package 'Matrix'.
 
 i've tried using the package 'pkgDepTools' without success, because the

 dependency graph does not list any path from 'GenomicScores' to 'Matrix'.
 
 i've been manually browsing the Bioc website and, unless i've overlooked

 something, the only association with 'Matrix' i could find is that
 'S4Vectors' and 'GenomicRanges', which are required by 'GenomicScores',
 list 'Matrix' in the 'Suggests' field, but my understanding is that
 those packages are not required and should not be loaded.
 
 so, is there any way in which i can figure out what of the

 'GenomicScores' dependencies leads to loading the package 'Matrix'?
 
 here are the depends, import and suggests fields from 'GenomicScores':
 
 Depends: R (>= 3.5), S4Vectors (>= 0.7.21), GenomicRanges, methods,

  BiocGenerics (>= 0.13.8)
 Imports: utils, XML, Biobase, IRanges (>= 2.3.23), Biostrings,
  BSgenome, GenomeInfoDb, AnnotationHub, shiny, shinyjs,
DT, shinycustomloader, rtracklayer, data.table, shinythemes
 Suggests: BiocStyle, knitr, rmarkdown, BSgenome.Hsapiens.UCSC.hg19,
  phastCons100way.UCSC.hg19, MafDb.1Kgenomes.phase1.hs37d5,
  SNPlocs.Hsapiens.dbSNP144.GRCh37, VariantAnnotation,
  TxDb.Hsapiens.UCSC.hg19.knownGene, gwascat, RColorBrewer
 
 and here a session information in a fresh R-devel session after loading

 the package 'GenomicScores':
 
 R Under development (unstable) (2020-01-29 r77745)

 Platform: x86_64-pc-linux-gnu (64-bit)
 Running under: CentOS Linux 7 (Core)
 
 Matrix products: default

 BLAS:   /opt/R/R-devel/lib64/R/lib/libRblas.so
 LAPACK: /opt/R/R-devel/lib64/R/lib/libRlapack.so
 
 locale:

   [1] LC_CTYPE=en_US.UTF8   LC_NUMERIC=C
   [3] LC_TIME=en_US.UTF8LC_COLLATE=en_US.UTF8
   [5] LC_MONETARY=en_US.UTF8LC_MESSAGES=en_US.UTF8
   [7] LC_PAPER=en_US.UTF8   LC_NAME=C
   [9] LC_ADDRESS=C  LC_TELEPHONE=C
 [11] LC_MEASUREMENT=en_US.UTF8 LC_IDENTIFICATION=C
 
 attached base packages:

 [1] parallel  stats4stats graphics  grDevices utils datasets
 [8] methods   base
 
 other attached packages:

 [1] GenomicScores_1.11.4 GenomicRanges_1.39.2 GenomeInfoDb_1.23.10
 

Re: [Bioc-devel] ptime ERROR

2020-02-06 Thread Christopher John
This is the error, sorry my hand slipped when writing the last email. Thank you.
http://bioconductor.org/checkResults/devel/bioc-LATEST/M3C/malbec2-checksrc.html

checking examples ... ERROR

Running examples in ‘M3C-Ex.R’ failed
The error most likely occurred in:

> base::assign(".ptime", proc.time(), pos = "CheckExEnv")


On Thu, 6 Feb 2020 at 16:07, Christopher John 
wrote:

> Hi
>
> I was wondering will this error disappear by itself? Because I did not
> change the package.
>
> Thanks,
>
> Chris
>
>

[[alternative HTML version deleted]]

___
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel


Re: [Bioc-devel] how to trace 'Matrix' as package dependency for 'GenomicScores'

2020-02-06 Thread Martin Morgan
The first thing is to get the correct repositories

  repos = BiocManager::repositories()

(maybe trim the experiment and annotation repos from this). I also tried 
pkgDepTools::makeDepGraph() but it took so long that I moved on... it has an 
option 'keep.builtin' which might include Matrix.

There is also BiocPkgTools::buildPkgDependencyDataFrame() & friends, but this 
seems to build dependencies within a single repository...

The building block for a solution is `tools::package_dependencies()`, and I can 
confirm that "Matrix" _is_ a dependency

  db = available.packages(repos = BiocManager::repositories())
  revdeps <- tools::package_dependencies("GenomicScores", db, recursive = TRUE)
  "Matrix" %in% revdeps[[1]]
  ## [1] TRUE

so I'll leave the clever recursive or graph-based algorithm up to you, to 
report back to the mailing list?

For what it's worth I think the last time this came up Martin Maechler pointed 
to a function in base R (probably the tools package) that implements this, 
too...?

Martin Morgan

On 2/6/20, 6:40 AM, "Bioc-devel on behalf of Robert Castelo" 
 wrote:

hi,

when i load the package 'GenomicScores' in a clean session i see thorugh 
the 'sessionInfo()' that the package 'Matrix' is listed under "loaded 
via a namespace (and not attached)".

i'd like to know what is the dependency that 'GenomicsScores' has that 
ends up requiring the package 'Matrix'.

i've tried using the package 'pkgDepTools' without success, because the 
dependency graph does not list any path from 'GenomicScores' to 'Matrix'.

i've been manually browsing the Bioc website and, unless i've overlooked 
something, the only association with 'Matrix' i could find is that 
'S4Vectors' and 'GenomicRanges', which are required by 'GenomicScores', 
list 'Matrix' in the 'Suggests' field, but my understanding is that 
those packages are not required and should not be loaded.

so, is there any way in which i can figure out what of the 
'GenomicScores' dependencies leads to loading the package 'Matrix'?

here are the depends, import and suggests fields from 'GenomicScores':

Depends: R (>= 3.5), S4Vectors (>= 0.7.21), GenomicRanges, methods,
 BiocGenerics (>= 0.13.8)
Imports: utils, XML, Biobase, IRanges (>= 2.3.23), Biostrings,
 BSgenome, GenomeInfoDb, AnnotationHub, shiny, shinyjs,
DT, shinycustomloader, rtracklayer, data.table, shinythemes
Suggests: BiocStyle, knitr, rmarkdown, BSgenome.Hsapiens.UCSC.hg19,
 phastCons100way.UCSC.hg19, MafDb.1Kgenomes.phase1.hs37d5,
 SNPlocs.Hsapiens.dbSNP144.GRCh37, VariantAnnotation,
 TxDb.Hsapiens.UCSC.hg19.knownGene, gwascat, RColorBrewer

and here a session information in a fresh R-devel session after loading 
the package 'GenomicScores':

R Under development (unstable) (2020-01-29 r77745)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: CentOS Linux 7 (Core)

Matrix products: default
BLAS:   /opt/R/R-devel/lib64/R/lib/libRblas.so
LAPACK: /opt/R/R-devel/lib64/R/lib/libRlapack.so

locale:
  [1] LC_CTYPE=en_US.UTF8   LC_NUMERIC=C
  [3] LC_TIME=en_US.UTF8LC_COLLATE=en_US.UTF8
  [5] LC_MONETARY=en_US.UTF8LC_MESSAGES=en_US.UTF8
  [7] LC_PAPER=en_US.UTF8   LC_NAME=C
  [9] LC_ADDRESS=C  LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF8 LC_IDENTIFICATION=C

attached base packages:
[1] parallel  stats4stats graphics  grDevices utils datasets
[8] methods   base

other attached packages:
[1] GenomicScores_1.11.4 GenomicRanges_1.39.2 GenomeInfoDb_1.23.10
[4] IRanges_2.21.3   S4Vectors_0.25.12BiocGenerics_0.33.0
[7] colorout_1.2-2

loaded via a namespace (and not attached):
  [1] Rcpp_1.0.3lattice_0.20-38
  [3] shinycustomloader_0.9.0   Rsamtools_2.3.3
  [5] Biostrings_2.55.4 assertthat_0.2.1
  [7] digest_0.6.23 mime_0.9
  [9] BiocFileCache_1.11.4  R6_2.4.1
[11] RSQLite_2.2.0 httr_1.4.1
[13] pillar_1.4.3  zlibbioc_1.33.1
[15] rlang_0.4.4   curl_4.3
[17] data.table_1.12.8 blob_1.2.1
[19] DT_0.12   Matrix_1.2-18
[21] shinythemes_1.1.2 shinyjs_1.1
[23] BiocParallel_1.21.2   AnnotationHub_2.19.7
[25] htmlwidgets_1.5.1 RCurl_1.98-1.1
[27] bit_1.1-15.1  shiny_1.4.0
[29] DelayedArray_0.13.3   compiler_4.0.0
[31] httpuv_1.5.2  rtracklayer_1.47.0
[33] pkgconfig_2.0.3   htmltools_0.4.0
[35] tidyselect_1.0.0  SummarizedExperiment_1.17.1
[37] tibble_2.1.3  GenomeInfoDbData_1.2.2
[39] interactiveDisplayBase_1.25.0 matrixStats_0.55.0
[41] 

Re: [Bioc-devel] Install and Build ERROR - CeTF package

2020-02-06 Thread Carlos Biagi Jr
Thanks for the reply, Lori and Andris! 
Best, 
Carlos 

> 
> On 6 Feb 2020, at 10:21, Shepherd, Lori  wrote:
> 
> 
> I have already reached out to the maintainer of clusterProfile/enrichplot  -  
> they are working on the updates and it should be fixed soon. 
> 
> Lori Shepherd
> Bioconductor Core Team
> Roswell Park Comprehensive Cancer Center
> Department of Biostatistics & Bioinformatics
> Elm & Carlton Streets
> Buffalo, New York 14263
> From: Bioc-devel  on behalf of Andris 
> Jankevics 
> Sent: Thursday, February 6, 2020 8:00 AM
> To: cbiag...@gmail.com ; bioc-devel@r-project.org 
> 
> Subject: Re: [Bioc-devel] Install and Build ERROR - CeTF package
>  
> Build of clusterProfiler is failing because it depends on enrichplot 1.7.1, 
> while only 1.7.0 is available. I guess you will have to wait or contact 
> maintainers of these two packages.
> 
> 
> BW,
> 
> Andris
> 
> 
> From: Bioc-devel  on behalf of 
> cbiag...@gmail.com 
> Sent: 06 February 2020 12:45:43
> To: bioc-devel@r-project.org
> Subject: [Bioc-devel] Install and Build ERROR - CeTF package
> 
> Dear all,
> 
> I recently had an accepted package on the bioconductor and it's been a week
> since I got the error to install and build the package on Windows. The
> installation and build on Linux is OK.
> 
> The error is: *ERROR: dependency 'clusterProfiler' is not available for
> package 'CeTF'*
> 
> I already tried to build, install and check in my Windows computer and It's
> all OK. I would like to find what is happening.
> 
> The link for build/check report is:
> http://bioconductor.org/checkResults/devel/bioc-LATEST/CeTF/
> 
> Best,
> Carlos
> 
> [[alternative HTML version deleted]]
> 
> ___
> Bioc-devel@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/bioc-devel
> 
> [[alternative HTML version deleted]]
> 
> ___
> Bioc-devel@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/bioc-devel
> 
> This email message may contain legally privileged and/or confidential 
> information. If you are not the intended recipient(s), or the employee or 
> agent responsible for the delivery of this message to the intended 
> recipient(s), you are hereby notified that any disclosure, copying, 
> distribution, or use of this email message is prohibited. If you have 
> received this message in error, please notify the sender immediately by 
> e-mail and delete this email message from your computer. Thank you.

[[alternative HTML version deleted]]

___
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel


Re: [Bioc-devel] Compatibility of S4 and tidyverse

2020-02-06 Thread stefano
OK sorry for this email chain, outlook in windows 10 is definitely doing
weird stuff.

I will reopen another thread. And after understanding the joke, I thought
was a really good one XD

Best wishes.

*Stefano *




Il giorno ven 7 feb 2020 alle ore 00:24 Martin Morgan <
mtmorgan.b...@gmail.com> ha scritto:

> It's still blank; the email list filters html content; make sure you send
> as 'text only' -- your client seemed to 'do the right thing' when
> responding to Martin Maechler, so responding again to that might do the
> trick...
>
> Martin Morgan
>
> On 2/6/20, 8:13 AM, "Bioc-devel on behalf of Stefano Mangiola" <
> bioc-devel-boun...@r-project.org on behalf of mangiolastef...@gmail.com>
> wrote:
>
>
> ___
> Bioc-devel@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>
>

[[alternative HTML version deleted]]

___
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel


Re: [Bioc-devel] ptime ERROR

2020-02-06 Thread Shepherd, Lori
Actually it looks like it has to do with having a conditional > 1 rather than a 
class() ==

There is this post:
https://stat.ethz.ch/pipermail/bioc-devel/2020-January/016081.html

And this:
http://bioconductor.org/developers/how-to/troubleshoot-build-report/

Cheers,


Lori Shepherd

Bioconductor Core Team

Roswell Park Comprehensive Cancer Center

Department of Biostatistics & Bioinformatics

Elm & Carlton Streets

Buffalo, New York 14263


From: Bioc-devel  on behalf of Andris 
Jankevics 
Sent: Thursday, February 6, 2020 11:17 AM
To: chris.r.joh...@gmail.com ; 
bioc-devel@r-project.org 
Subject: Re: [Bioc-devel] ptime ERROR

Hi Chris,


Error message is caused by changes in R 4.0.0.

You can find more details here 
https://developer.r-project.org/Blog/public/2019/11/09/when-you-think-class.-think-again/index.html.


In short you have to check all cases where you are using `class()` in your code.


BW,

Andris


From: Bioc-devel  on behalf of 
chris.r.joh...@gmail.com 
Sent: 06 February 2020 16:09:07
To: bioc-devel@r-project.org
Subject: Re: [Bioc-devel] ptime ERROR

This is the error, sorry my hand slipped when writing the last email. Thank you.
http://bioconductor.org/checkResults/devel/bioc-LATEST/M3C/malbec2-checksrc.html

checking examples ... ERROR

Running examples in �M3C-Ex.R� failed
The error most likely occurred in:

> base::assign(".ptime", proc.time(), pos = "CheckExEnv")


On Thu, 6 Feb 2020 at 16:07, Christopher John 
wrote:

> Hi
>
> I was wondering will this error disappear by itself? Because I did not
> change the package.
>
> Thanks,
>
> Chris
>
>

[[alternative HTML version deleted]]

___
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel

[[alternative HTML version deleted]]



This email message may contain legally privileged and/or confidential 
information.  If you are not the intended recipient(s), or the employee or 
agent responsible for the delivery of this message to the intended 
recipient(s), you are hereby notified that any disclosure, copying, 
distribution, or use of this email message is prohibited.  If you have received 
this message in error, please notify the sender immediately by e-mail and 
delete this email message from your computer. Thank you.
[[alternative HTML version deleted]]

___
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel


[Bioc-devel] ptime ERROR

2020-02-06 Thread Christopher John
Hi

I was wondering will this error disappear by itself? Because I did not
change the package.

Thanks,

Chris

[[alternative HTML version deleted]]

___
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel


Re: [Bioc-devel] how to trace 'Matrix' as package dependency for 'GenomicScores'

2020-02-06 Thread Martin Morgan
Excellent! I think there are other, independent, paths between your immediate 
dependents...

RBGL::sp.between(g, start="DT", finish="Matrix", detail=TRUE)[[1]]$path_detail
[1] "DT""crosstalk" "ggplot2"   "mgcv"  "Matrix"

??

Martin

On 2/6/20, 10:47 AM, "Robert Castelo"  wrote:

hi Martin,

thanks for hint!! i wasn't aware of 'tools::package_dependencies()', 
adding a bit of graph sorcery i get the result i was looking for:

repos <- BiocManager::repositories()[c(1,5)]
repos
  BioCsoft
"https://bioconductor.org/packages/3.11/bioc;
  CRAN
"https://cran.rstudio.com;

db <- available.packages(repos=repos)

deps <- tools::package_dependencies("GenomicScores", db, 
recursive=TRUE)[[1]]

deps <- tools::package_dependencies(c("GenomicScores", deps), db)

g <- graph::graphNEL(nodes=names(deps), edgeL=deps, edgemode="directed")

RBGL::sp.between(g, start="GenomicScores", finish="Matrix", 
detail=TRUE)[[1]]$path_detail
[1] "GenomicScores""rtracklayer"  "GenomicAlignments"
[4] "SummarizedExperiment" "Matrix"

so, it was the rtracklayer dependency that leads to Matrix through 
GenomeAlignments and SummarizedExperiment.

maybe the BioC package 'pkgDepTools' should be deprecated if its 
functionality is part of 'tools' and it does not even work as fast and 
correct as 'tools'.

cheers,

robert.


On 2/6/20 2:51 PM, Martin Morgan wrote:
> The first thing is to get the correct repositories
> 
>repos = BiocManager::repositories()
> 
> (maybe trim the experiment and annotation repos from this). I also tried 
pkgDepTools::makeDepGraph() but it took so long that I moved on... it has an 
option 'keep.builtin' which might include Matrix.
> 
> There is also BiocPkgTools::buildPkgDependencyDataFrame() & friends, but 
this seems to build dependencies within a single repository...
> 
> The building block for a solution is `tools::package_dependencies()`, and 
I can confirm that "Matrix" _is_ a dependency
> 
>db = available.packages(repos = BiocManager::repositories())
>revdeps <- tools::package_dependencies("GenomicScores", db, recursive 
= TRUE)
>"Matrix" %in% revdeps[[1]]
>## [1] TRUE
> 
> so I'll leave the clever recursive or graph-based algorithm up to you, to 
report back to the mailing list?
> 
> For what it's worth I think the last time this came up Martin Maechler 
pointed to a function in base R (probably the tools package) that implements 
this, too...?
> 
> Martin Morgan
> 
> On 2/6/20, 6:40 AM, "Bioc-devel on behalf of Robert Castelo" 
 wrote:
> 
>  hi,
>  
>  when i load the package 'GenomicScores' in a clean session i see 
thorugh
>  the 'sessionInfo()' that the package 'Matrix' is listed under "loaded
>  via a namespace (and not attached)".
>  
>  i'd like to know what is the dependency that 'GenomicsScores' has 
that
>  ends up requiring the package 'Matrix'.
>  
>  i've tried using the package 'pkgDepTools' without success, because 
the
>  dependency graph does not list any path from 'GenomicScores' to 
'Matrix'.
>  
>  i've been manually browsing the Bioc website and, unless i've 
overlooked
>  something, the only association with 'Matrix' i could find is that
>  'S4Vectors' and 'GenomicRanges', which are required by 
'GenomicScores',
>  list 'Matrix' in the 'Suggests' field, but my understanding is that
>  those packages are not required and should not be loaded.
>  
>  so, is there any way in which i can figure out what of the
>  'GenomicScores' dependencies leads to loading the package 'Matrix'?
>  
>  here are the depends, import and suggests fields from 
'GenomicScores':
>  
>  Depends: R (>= 3.5), S4Vectors (>= 0.7.21), GenomicRanges, methods,
>   BiocGenerics (>= 0.13.8)
>  Imports: utils, XML, Biobase, IRanges (>= 2.3.23), Biostrings,
>   BSgenome, GenomeInfoDb, AnnotationHub, shiny, shinyjs,
>   DT, shinycustomloader, rtracklayer, data.table, shinythemes
>  Suggests: BiocStyle, knitr, rmarkdown, BSgenome.Hsapiens.UCSC.hg19,
>   phastCons100way.UCSC.hg19, MafDb.1Kgenomes.phase1.hs37d5,
>   SNPlocs.Hsapiens.dbSNP144.GRCh37, VariantAnnotation,
>   TxDb.Hsapiens.UCSC.hg19.knownGene, gwascat, RColorBrewer
>  
>  and here a session information in a fresh R-devel session after 
loading
>  the package 'GenomicScores':
>  
>  R Under development (unstable) (2020-01-29 r77745)
>  

Re: [Bioc-devel] ptime ERROR

2020-02-06 Thread Andris Jankevics
My apologies for pointing in wrong direction, but I was getting the same error 
message in tests and it took me a while to figure out why.


https://github.com/r-lib/devtools/issues/2167

[https://avatars0.githubusercontent.com/u/22618716?s=400=4]

devtools:test() works, but devtools:check() fail on functions with if(class(x) 
== "type") conditional. · Issue #2167 · r-lib/devtools · 
GitHub
github.com
Hi. I and @grlloyd have stumbled across strange behaviour of the devtools 
package using R-devel (4.0.0) and the latest devtools package. I am using R 
command class to determine what data structure object belong to. Based on the 
object ty...

BW,

Andris


From: lori.sheph...@roswellpark.org 
Sent: 06 February 2020 16:21:14
To: Andris Jankevics (Biosciences); chris.r.joh...@gmail.com; 
bioc-devel@r-project.org
Subject: Re: [Bioc-devel] ptime ERROR

Actually it looks like it has to do with having a conditional > 1 rather than a 
class() ==

There is this post:
https://stat.ethz.ch/pipermail/bioc-devel/2020-January/016081.html

And this:
http://bioconductor.org/developers/how-to/troubleshoot-build-report/

Cheers,


Lori Shepherd

Bioconductor Core Team

Roswell Park Comprehensive Cancer Center

Department of Biostatistics & Bioinformatics

Elm & Carlton Streets

Buffalo, New York 14263


From: Bioc-devel  on behalf of Andris 
Jankevics 
Sent: Thursday, February 6, 2020 11:17 AM
To: chris.r.joh...@gmail.com ; 
bioc-devel@r-project.org 
Subject: Re: [Bioc-devel] ptime ERROR

Hi Chris,


Error message is caused by changes in R 4.0.0.

You can find more details here 
https://developer.r-project.org/Blog/public/2019/11/09/when-you-think-class.-think-again/index.html.


In short you have to check all cases where you are using `class()` in your code.


BW,

Andris


From: Bioc-devel  on behalf of 
chris.r.joh...@gmail.com 
Sent: 06 February 2020 16:09:07
To: bioc-devel@r-project.org
Subject: Re: [Bioc-devel] ptime ERROR

This is the error, sorry my hand slipped when writing the last email. Thank you.
http://bioconductor.org/checkResults/devel/bioc-LATEST/M3C/malbec2-checksrc.html

checking examples ... ERROR

Running examples in �M3C-Ex.R� failed
The error most likely occurred in:

> base::assign(".ptime", proc.time(), pos = "CheckExEnv")


On Thu, 6 Feb 2020 at 16:07, Christopher John 
wrote:

> Hi
>
> I was wondering will this error disappear by itself? Because I did not
> change the package.
>
> Thanks,
>
> Chris
>
>

[[alternative HTML version deleted]]

___
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel

[[alternative HTML version deleted]]


This email message may contain legally privileged and/or confidential 
information. If you are not the intended recipient(s), or the employee or agent 
responsible for the delivery of this message to the intended recipient(s), you 
are hereby notified that any disclosure, copying, distribution, or use of this 
email message is prohibited. If you have received this message in error, please 
notify the sender immediately by e-mail and delete this email message from your 
computer. Thank you.

[[alternative HTML version deleted]]

___
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel


Re: [Bioc-devel] ptime ERROR

2020-02-06 Thread Shepherd, Lori
It might be a combination of both!  Thanks for the information.


Lori Shepherd

Bioconductor Core Team

Roswell Park Comprehensive Cancer Center

Department of Biostatistics & Bioinformatics

Elm & Carlton Streets

Buffalo, New York 14263


From: Andris Jankevics 
Sent: Thursday, February 6, 2020 11:38 AM
To: Shepherd, Lori ; chris.r.joh...@gmail.com 
; bioc-devel@r-project.org 
Subject: Re: [Bioc-devel] ptime ERROR


My apologies for pointing in wrong direction, but I was getting the same error 
message in tests and it took me a while to figure out why.


https://github.com/r-lib/devtools/issues/2167

[https://avatars0.githubusercontent.com/u/22618716?s=400=4]
devtools:test() works, but devtools:check() fail on functions with if(class(x) 
== "type") conditional. · Issue #2167 · r-lib/devtools · 
GitHub
github.com
Hi. I and @grlloyd have stumbled across strange behaviour of the devtools 
package using R-devel (4.0.0) and the latest devtools package. I am using R 
command class to determine what data structure object belong to. Based on the 
object ty...
BW,

Andris


From: lori.sheph...@roswellpark.org 
Sent: 06 February 2020 16:21:14
To: Andris Jankevics (Biosciences); chris.r.joh...@gmail.com; 
bioc-devel@r-project.org
Subject: Re: [Bioc-devel] ptime ERROR

Actually it looks like it has to do with having a conditional > 1 rather than a 
class() ==

There is this post:
https://stat.ethz.ch/pipermail/bioc-devel/2020-January/016081.html

And this:
http://bioconductor.org/developers/how-to/troubleshoot-build-report/

Cheers,


Lori Shepherd

Bioconductor Core Team

Roswell Park Comprehensive Cancer Center

Department of Biostatistics & Bioinformatics

Elm & Carlton Streets

Buffalo, New York 14263


From: Bioc-devel  on behalf of Andris 
Jankevics 
Sent: Thursday, February 6, 2020 11:17 AM
To: chris.r.joh...@gmail.com ; 
bioc-devel@r-project.org 
Subject: Re: [Bioc-devel] ptime ERROR

Hi Chris,


Error message is caused by changes in R 4.0.0.

You can find more details here 
https://developer.r-project.org/Blog/public/2019/11/09/when-you-think-class.-think-again/index.html.


In short you have to check all cases where you are using `class()` in your code.


BW,

Andris


From: Bioc-devel  on behalf of 
chris.r.joh...@gmail.com 
Sent: 06 February 2020 16:09:07
To: bioc-devel@r-project.org
Subject: Re: [Bioc-devel] ptime ERROR

This is the error, sorry my hand slipped when writing the last email. Thank you.
http://bioconductor.org/checkResults/devel/bioc-LATEST/M3C/malbec2-checksrc.html

checking examples ... ERROR

Running examples in �M3C-Ex.R� failed
The error most likely occurred in:

> base::assign(".ptime", proc.time(), pos = "CheckExEnv")


On Thu, 6 Feb 2020 at 16:07, Christopher John 
wrote:

> Hi
>
> I was wondering will this error disappear by itself? Because I did not
> change the package.
>
> Thanks,
>
> Chris
>
>

[[alternative HTML version deleted]]

___
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel

[[alternative HTML version deleted]]


This email message may contain legally privileged and/or confidential 
information. If you are not the intended recipient(s), or the employee or agent 
responsible for the delivery of this message to the intended recipient(s), you 
are hereby notified that any disclosure, copying, distribution, or use of this 
email message is prohibited. If you have received this message in error, please 
notify the sender immediately by e-mail and delete this email message from your 
computer. Thank you.


This email message may contain legally privileged and/or confidential 
information.  If you are not the intended recipient(s), or the employee or 
agent responsible for the delivery of this message to the intended 
recipient(s), you are hereby notified that any disclosure, copying, 
distribution, or use of this email message is prohibited.  If you have received 
this message in error, please notify the sender immediately by e-mail and 
delete this email message from your computer. Thank you.
[[alternative HTML version deleted]]

___
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel


Re: [Bioc-devel] how to trace 'Matrix' as package dependency for 'GenomicScores'

2020-02-06 Thread Robert Castelo
true, i was just searching for the shortest path, we can search for all 
simple (i.e., without repeating "vertices") paths and there are up to 
five routes from "GenomicScores" to "Matrix"


igraph::all_simple_paths(igraph::igraph.from.graphNEL(g), 
from="GenomicScores", to="Matrix", mode="out")

[[1]]
+ 7/117 vertices, named, from 04133ec:
[1] GenomicScoresBSgenome rtracklayer
[4] GenomicAlignmentsSummarizedExperiment DelayedArray
[7] Matrix

[[2]]
+ 6/117 vertices, named, from 04133ec:
[1] GenomicScoresBSgenome rtracklayer
[4] GenomicAlignmentsSummarizedExperiment Matrix

[[3]]
+ 6/117 vertices, named, from 04133ec:
[1] GenomicScores DTcrosstalk ggplot2   mgcv
[6] Matrix

[[4]]
+ 6/117 vertices, named, from 04133ec:
[1] GenomicScoresrtracklayer  GenomicAlignments
[4] SummarizedExperiment DelayedArray Matrix

[[5]]
+ 5/117 vertices, named, from 04133ec:
[1] GenomicScoresrtracklayer  GenomicAlignments
[4] SummarizedExperiment Matrix

this is interesting, because it means that if i wanted to get rid of the 
"Matrix" dependence i'd need to get rid not only of the "rtracklayer" 
dependence but also of "BSgenome" and "DT".


robert.


On 2/6/20 5:41 PM, Martin Morgan wrote:

Excellent! I think there are other, independent, paths between your immediate 
dependents...

RBGL::sp.between(g, start="DT", finish="Matrix", detail=TRUE)[[1]]$path_detail
[1] "DT""crosstalk" "ggplot2"   "mgcv"  "Matrix"

??

Martin

On 2/6/20, 10:47 AM, "Robert Castelo"  wrote:

 hi Martin,
 
 thanks for hint!! i wasn't aware of 'tools::package_dependencies()',

 adding a bit of graph sorcery i get the result i was looking for:
 
 repos <- BiocManager::repositories()[c(1,5)]

 repos
   BioCsoft
 "https://bioconductor.org/packages/3.11/bioc;
   CRAN
 "https://cran.rstudio.com;
 
 db <- available.packages(repos=repos)
 
 deps <- tools::package_dependencies("GenomicScores", db,

 recursive=TRUE)[[1]]
 
 deps <- tools::package_dependencies(c("GenomicScores", deps), db)
 
 g <- graph::graphNEL(nodes=names(deps), edgeL=deps, edgemode="directed")
 
 RBGL::sp.between(g, start="GenomicScores", finish="Matrix",

 detail=TRUE)[[1]]$path_detail
 [1] "GenomicScores""rtracklayer"  "GenomicAlignments"
 [4] "SummarizedExperiment" "Matrix"
 
 so, it was the rtracklayer dependency that leads to Matrix through

 GenomeAlignments and SummarizedExperiment.
 
 maybe the BioC package 'pkgDepTools' should be deprecated if its

 functionality is part of 'tools' and it does not even work as fast and
 correct as 'tools'.
 
 cheers,
 
 robert.
 
 
 On 2/6/20 2:51 PM, Martin Morgan wrote:

 > The first thing is to get the correct repositories
 >
 >repos = BiocManager::repositories()
 >
 > (maybe trim the experiment and annotation repos from this). I also tried 
pkgDepTools::makeDepGraph() but it took so long that I moved on... it has an 
option 'keep.builtin' which might include Matrix.
 >
 > There is also BiocPkgTools::buildPkgDependencyDataFrame() & friends, but 
this seems to build dependencies within a single repository...
 >
 > The building block for a solution is `tools::package_dependencies()`, and I can 
confirm that "Matrix" _is_ a dependency
 >
 >db = available.packages(repos = BiocManager::repositories())
 >revdeps <- tools::package_dependencies("GenomicScores", db, recursive 
= TRUE)
 >"Matrix" %in% revdeps[[1]]
 >## [1] TRUE
 >
 > so I'll leave the clever recursive or graph-based algorithm up to you, 
to report back to the mailing list?
 >
 > For what it's worth I think the last time this came up Martin Maechler 
pointed to a function in base R (probably the tools package) that implements this, 
too...?
 >
 > Martin Morgan
 >
 > On 2/6/20, 6:40 AM, "Bioc-devel on behalf of Robert Castelo" 
 wrote:
 >
 >  hi,
 >
 >  when i load the package 'GenomicScores' in a clean session i see 
thorugh
 >  the 'sessionInfo()' that the package 'Matrix' is listed under 
"loaded
 >  via a namespace (and not attached)".
 >
 >  i'd like to know what is the dependency that 'GenomicsScores' has 
that
 >  ends up requiring the package 'Matrix'.
 >
 >  i've tried using the package 'pkgDepTools' without success, because 
the
 >  dependency graph does not list any path from 'GenomicScores' to 
'Matrix'.
 >
 >  i've been manually browsing the Bioc website and, unless i've 
overlooked
 >  something, the only association with 'Matrix' i could find is that
 >  'S4Vectors' and 

Re: [Bioc-devel] Compatibility of Bioconductor with tidyverse S3 classes/methods

2020-02-06 Thread Michael Lawrence via Bioc-devel
There's a difference between implementing software, where one wants
formal data structures, and providing a convenient user interface.
Software needs to interface with other software, so a package could
provide both types of interfaces, one based on rich (S4) data
structures, another on simpler structures with an API more amenable to
analysis. I'm not sure the tidyverse is a great answer to the user
interface, because it lacks domain semantics. This is still an active
area of research (see Stuart Lee's plyranges, for example). I hope you
can find a reasonable compromise that enables you to integrate ttBulk
into Bioconductor, so that it can take advantage of the synergies the
ecosystem provides.

PS: There is no simple fix for your example.

Michael

On Thu, Feb 6, 2020 at 4:12 PM stefano  wrote:
>
> Thanks a lot for your comment Martin and Michael,
>
> Here I reply to Marti's comment. Michael I will try to implement your
> solution!
>
> I think a key point from
> https://github.com/Bioconductor/Contributions/issues/1355#issuecomment-580977106
> (that I was under-looking) is
>
> *>> "So to sum up: if you submit a package to Bioconductor, there is an
> expectation that your package can work seamlessly with other Bioconductor
> packages, and your implementation should support that. The safest and
> easiest way to do that is to use Bioconductor data structures"*
>
> In this case my package would not be suited as I do not use pre-existing
> Bioconductor data structures, but instead i see value in using a simple
> tibble, for the reasons in part explained in the README
> https://github.com/stemangiola/ttBulk (harvesting the power of tidyverse
> and friends for bulk transcriptomic analyses).
>
> *>> "with the minimum standard of being able to accept such objects even if
> you do not rely on them internally (though you should)"*
>
> With this I can comply in the sense that I can built converters to and from
> SummarizedExperiment (for example).
>
> * >> "If you don't want to do that, then that's a shame, but it would
> suggest that Bioconductor would not be the right place to host this
> package."*
>
> Well said.
>
> In summary, I do not rely on Bioconductor data structure, as I am proposing
> another paradigm, but my back end is made of largely Bioconductor analysis
> packages that I would like to interface with tidyverse. So
>
> 1) Should I build converters to Bioc. data structures, and force the use of
> S3 object (needed to tiidyverse to work), or
> 2) Submit to CRAN
>
> I don't have strong feeling for either, although I think Bioconductor would
> be a good fit. Please community give me your honest opinions, I will take
> them seriously and proceed.
>
>
>
> Best wishes.
>
> *Stefano *
>
>
>
> Stefano Mangiola | Postdoctoral fellow
>
> Papenfuss Laboratory
>
> The Walter Eliza Hall Institute of Medical Research
>
> +61 (0)466452544
>
>
> Il giorno ven 7 feb 2020 alle ore 10:46 Martin Morgan <
> mtmorgan.b...@gmail.com> ha scritto:
>
> > The idea isn't to use S4 at any cost, but to 'play well' with the
> > Bioconductor ecosystem, including writing robust and maintainable code.
> >
> > This comment
> > https://github.com/Bioconductor/Contributions/issues/1355#issuecomment-580977106
> > provides some motivation; there was also an interesting exchange on the
> > Bioconductor community slack about this (join at
> > https://bioc-community.herokuapp.com/; discussion starting with
> > https://community-bioc.slack.com/archives/C35G93GJH/p1580144746014800).
> > The plyranges package http://bioconductor.org/packages/plyranges and
> > recently accepted fluentGenomics workflow
> > https://github.com/Bioconductor/Contributions/issues/1350 provide
> > illustrations.
> >
> > In your domain it's really surprising that your package does not use
> > (Import or Depend on) SummarizedExperiment or GenomicRanges packages. From
> > a superficial look at your package, it seems like something like
> > `reduce_dimensions()` could be defined to take & return a
> > SummarizedExperiment and hence benefit from some of the points in the
> > github issue comment mentioned above.
> >
> > Certainly there is a useful transition, both 'on the way in' to a
> > SummarizedExperiment, and after leaving the more specialized bioinformatic
> > computations to, e.g., display a pairs plot of the reduced dimensions,
> > where one might re-shape the data to a tidy format and use 'plain old'
> > tibbles; the fluentGenomics workflow might provide some guidance.
> >
> > At the end of the day it would not be surprising for Bioconductor packages
> > to make use of tidy concepts and data structures, particularly in the
> > vignette, and it would be a mistake for Bioconductor to exclude
> > well-motivated 'tidy' representations.
> >
> > Martin Morgan
> >
> > On 2/6/20, 5:46 PM, "Bioc-devel on behalf of stefano" <
> > bioc-devel-boun...@r-project.org on behalf of mangiolastef...@gmail.com>
> > wrote:
> >
> > Hello,
> >
> > I have a package (ttBulk) under 

Re: [Bioc-devel] Compatibility of Bioconductor with tidyverse S3 classes/methods

2020-02-06 Thread Michael Lawrence via Bioc-devel
I would urge you to make the package _directly_ compatible with
standard Bioconductor data structures; no explicit conversion. But you
can create wrapper methods (even on an S3 generic) that perform the
conversion automatically. You'll probably want two separate APIs
though (in different styles), for one thing automatic conversion is
obviously not possible for return values.

Michael

On Thu, Feb 6, 2020 at 5:34 PM stefano  wrote:
>
> Thanks Michael,
>
> yes in a sense, ttBulk and SummariseExperiment can be considere as two 
> interfaces. Would be fair enough to create a function that convert from one 
> to the other, although the default would be ttBulk?
>
> > I'm not sure the tidyverse is a great answer to the user interface, because 
> > it lacks domain semantics
>
> Would be fair to say that ttBulk class could be considered a tibble with 
> specific semantics? In the sense that it holds information about key column 
> names (.sample, .transcript, .abundance, .normalised_abundance, etc..), and 
> has a validator (that is triggered at every ttBulk function).
>
> I think at the moment, given (i) S3 problem, and (ii) the lack of formal 
> foundation on SummaisedExperiment interface (that maybe would require an S4 
> technology itself, where SummariseExperiment could be a slot?) my package 
> would belong more to CRAN, until those two issues will have been resolved.
>
> I imagine there are not many cases where a CRAN package migrated to 
> Bioconductor after complying with the ecosystem policies.
>
> Thanks a lot.
>
> Best wishes.
>
> Stefano
>
>
>
> Stefano Mangiola | Postdoctoral fellow
>
> Papenfuss Laboratory
>
> The Walter Eliza Hall Institute of Medical Research
>
> +61 (0)466452544
>
>
>
> Il giorno ven 7 feb 2020 alle ore 12:12 Michael Lawrence 
>  ha scritto:
>>
>> There's a difference between implementing software, where one wants
>> formal data structures, and providing a convenient user interface.
>> Software needs to interface with other software, so a package could
>> provide both types of interfaces, one based on rich (S4) data
>> structures, another on simpler structures with an API more amenable to
>> analysis. I'm not sure the tidyverse is a great answer to the user
>> interface, because it lacks domain semantics. This is still an active
>> area of research (see Stuart Lee's plyranges, for example). I hope you
>> can find a reasonable compromise that enables you to integrate ttBulk
>> into Bioconductor, so that it can take advantage of the synergies the
>> ecosystem provides.
>>
>> PS: There is no simple fix for your example.
>>
>> Michael
>>
>> On Thu, Feb 6, 2020 at 4:12 PM stefano  wrote:
>> >
>> > Thanks a lot for your comment Martin and Michael,
>> >
>> > Here I reply to Marti's comment. Michael I will try to implement your
>> > solution!
>> >
>> > I think a key point from
>> > https://github.com/Bioconductor/Contributions/issues/1355#issuecomment-580977106
>> > (that I was under-looking) is
>> >
>> > *>> "So to sum up: if you submit a package to Bioconductor, there is an
>> > expectation that your package can work seamlessly with other Bioconductor
>> > packages, and your implementation should support that. The safest and
>> > easiest way to do that is to use Bioconductor data structures"*
>> >
>> > In this case my package would not be suited as I do not use pre-existing
>> > Bioconductor data structures, but instead i see value in using a simple
>> > tibble, for the reasons in part explained in the README
>> > https://github.com/stemangiola/ttBulk (harvesting the power of tidyverse
>> > and friends for bulk transcriptomic analyses).
>> >
>> > *>> "with the minimum standard of being able to accept such objects even if
>> > you do not rely on them internally (though you should)"*
>> >
>> > With this I can comply in the sense that I can built converters to and from
>> > SummarizedExperiment (for example).
>> >
>> > * >> "If you don't want to do that, then that's a shame, but it would
>> > suggest that Bioconductor would not be the right place to host this
>> > package."*
>> >
>> > Well said.
>> >
>> > In summary, I do not rely on Bioconductor data structure, as I am proposing
>> > another paradigm, but my back end is made of largely Bioconductor analysis
>> > packages that I would like to interface with tidyverse. So
>> >
>> > 1) Should I build converters to Bioc. data structures, and force the use of
>> > S3 object (needed to tiidyverse to work), or
>> > 2) Submit to CRAN
>> >
>> > I don't have strong feeling for either, although I think Bioconductor would
>> > be a good fit. Please community give me your honest opinions, I will take
>> > them seriously and proceed.
>> >
>> >
>> >
>> > Best wishes.
>> >
>> > *Stefano *
>> >
>> >
>> >
>> > Stefano Mangiola | Postdoctoral fellow
>> >
>> > Papenfuss Laboratory
>> >
>> > The Walter Eliza Hall Institute of Medical Research
>> >
>> > +61 (0)466452544
>> >
>> >
>> > Il giorno ven 7 feb 2020 alle ore 10:46 Martin Morgan <
>> > 

[Bioc-devel] Compatibility of Bioconductor with tidyverse S3 classes/methods

2020-02-06 Thread stefano
Hello,

I have a package (ttBulk) under review. I have been told to replace the S3
system to S4. My package is based on the class tbl_df and must be fully
compatible with tidyverse methods (inheritance). After some tests and
research I understood that tidyverse ecosystem is not compatible with S4
classes.

 For example, several methos do not apparently handle S4 objects based on
S3 tbl_df

```library(tidyverse)setOldClass("tbl_df")
setClass("test2", contains = "tbl_df")
my <- new("test2",  tibble(a = 1))
my %>%  mutate(b = 3)

   a b
1 1 3
```

 ```my <- new("test2",  tibble(a = rnorm(100), b = 1))
my %>% nest(data = -b)
Error: `x` must be a vector, not a `test2` object
Run `rlang::last_error()` to see where the error occurred.
```

Could you please advise whether a tidyverse based package can be hosted on
Bioconductor, and if S4 classes are really mandatory? I need to understand
if I am forced to submit to CRAN instead (although Bioconductor would be a
good fit, sice I try to interface transcriptional analysis tools to tidy
universe)


Thanks a lot.
Stefano

[[alternative HTML version deleted]]

___
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel


Re: [Bioc-devel] Compatibility of Bioconductor with tidyverse S3 classes/methods

2020-02-06 Thread stefano
Thanks Michael,

yes in a sense, ttBulk and SummariseExperiment can be considere as two
interfaces. Would be fair enough to create a function that convert from one
to the other, although the default would be ttBulk?

*> I'm not sure the tidyverse is a great answer to the user interface,
because it lacks domain semantics *

Would be fair to say that ttBulk class could be considered a tibble with
specific semantics? In the sense that it holds information about key column
names (.sample, .transcript, .abundance, .normalised_abundance, etc..), and
has a validator (that is triggered at every ttBulk function).

I think at the moment, given (i) S3 problem, and (ii) the lack of formal
foundation on SummaisedExperiment interface (that maybe would require an S4
technology itself, where SummariseExperiment could be a slot?) my package
would belong more to CRAN, until those two issues will have been resolved.

I imagine there are not many cases where a CRAN package migrated to
Bioconductor after complying with the ecosystem policies.

Thanks a lot.

Best wishes.

*Stefano *



Stefano Mangiola | Postdoctoral fellow

Papenfuss Laboratory

The Walter Eliza Hall Institute of Medical Research

+61 (0)466452544


Il giorno ven 7 feb 2020 alle ore 12:12 Michael Lawrence <
lawrence.mich...@gene.com> ha scritto:

> There's a difference between implementing software, where one wants
> formal data structures, and providing a convenient user interface.
> Software needs to interface with other software, so a package could
> provide both types of interfaces, one based on rich (S4) data
> structures, another on simpler structures with an API more amenable to
> analysis. I'm not sure the tidyverse is a great answer to the user
> interface, because it lacks domain semantics. This is still an active
> area of research (see Stuart Lee's plyranges, for example). I hope you
> can find a reasonable compromise that enables you to integrate ttBulk
> into Bioconductor, so that it can take advantage of the synergies the
> ecosystem provides.
>
> PS: There is no simple fix for your example.
>
> Michael
>
> On Thu, Feb 6, 2020 at 4:12 PM stefano  wrote:
> >
> > Thanks a lot for your comment Martin and Michael,
> >
> > Here I reply to Marti's comment. Michael I will try to implement your
> > solution!
> >
> > I think a key point from
> >
> https://github.com/Bioconductor/Contributions/issues/1355#issuecomment-580977106
> > (that I was under-looking) is
> >
> > *>> "So to sum up: if you submit a package to Bioconductor, there is an
> > expectation that your package can work seamlessly with other Bioconductor
> > packages, and your implementation should support that. The safest and
> > easiest way to do that is to use Bioconductor data structures"*
> >
> > In this case my package would not be suited as I do not use pre-existing
> > Bioconductor data structures, but instead i see value in using a simple
> > tibble, for the reasons in part explained in the README
> > https://github.com/stemangiola/ttBulk (harvesting the power of tidyverse
> > and friends for bulk transcriptomic analyses).
> >
> > *>> "with the minimum standard of being able to accept such objects even
> if
> > you do not rely on them internally (though you should)"*
> >
> > With this I can comply in the sense that I can built converters to and
> from
> > SummarizedExperiment (for example).
> >
> > * >> "If you don't want to do that, then that's a shame, but it would
> > suggest that Bioconductor would not be the right place to host this
> > package."*
> >
> > Well said.
> >
> > In summary, I do not rely on Bioconductor data structure, as I am
> proposing
> > another paradigm, but my back end is made of largely Bioconductor
> analysis
> > packages that I would like to interface with tidyverse. So
> >
> > 1) Should I build converters to Bioc. data structures, and force the use
> of
> > S3 object (needed to tiidyverse to work), or
> > 2) Submit to CRAN
> >
> > I don't have strong feeling for either, although I think Bioconductor
> would
> > be a good fit. Please community give me your honest opinions, I will take
> > them seriously and proceed.
> >
> >
> >
> > Best wishes.
> >
> > *Stefano *
> >
> >
> >
> > Stefano Mangiola | Postdoctoral fellow
> >
> > Papenfuss Laboratory
> >
> > The Walter Eliza Hall Institute of Medical Research
> >
> > +61 (0)466452544
> >
> >
> > Il giorno ven 7 feb 2020 alle ore 10:46 Martin Morgan <
> > mtmorgan.b...@gmail.com> ha scritto:
> >
> > > The idea isn't to use S4 at any cost, but to 'play well' with the
> > > Bioconductor ecosystem, including writing robust and maintainable code.
> > >
> > > This comment
> > >
> https://github.com/Bioconductor/Contributions/issues/1355#issuecomment-580977106
> > > provides some motivation; there was also an interesting exchange on the
> > > Bioconductor community slack about this (join at
> > > https://bioc-community.herokuapp.com/; discussion starting with
> > > 

Re: [Bioc-devel] Compatibility of Bioconductor with tidyverse S3 classes/methods

2020-02-06 Thread Martin Morgan
The idea isn't to use S4 at any cost, but to 'play well' with the Bioconductor 
ecosystem, including writing robust and maintainable code.

This comment 
https://github.com/Bioconductor/Contributions/issues/1355#issuecomment-580977106
 provides some motivation; there was also an interesting exchange on the 
Bioconductor community slack about this (join at 
https://bioc-community.herokuapp.com/; discussion starting with 
https://community-bioc.slack.com/archives/C35G93GJH/p1580144746014800). The 
plyranges package http://bioconductor.org/packages/plyranges and recently 
accepted fluentGenomics workflow 
https://github.com/Bioconductor/Contributions/issues/1350 provide illustrations.

In your domain it's really surprising that your package does not use (Import or 
Depend on) SummarizedExperiment or GenomicRanges packages. From a superficial 
look at your package, it seems like something like `reduce_dimensions()` could 
be defined to take & return a SummarizedExperiment and hence benefit from some 
of the points in the github issue comment mentioned above.

Certainly there is a useful transition, both 'on the way in' to a 
SummarizedExperiment, and after leaving the more specialized bioinformatic 
computations to, e.g., display a pairs plot of the reduced dimensions, where 
one might re-shape the data to a tidy format and use 'plain old' tibbles; the 
fluentGenomics workflow might provide some guidance.

At the end of the day it would not be surprising for Bioconductor packages to 
make use of tidy concepts and data structures, particularly in the vignette, 
and it would be a mistake for Bioconductor to exclude well-motivated 'tidy' 
representations.

Martin Morgan

On 2/6/20, 5:46 PM, "Bioc-devel on behalf of stefano" 
 wrote:

Hello,

I have a package (ttBulk) under review. I have been told to replace the S3
system to S4. My package is based on the class tbl_df and must be fully
compatible with tidyverse methods (inheritance). After some tests and
research I understood that tidyverse ecosystem is not compatible with S4
classes.

 For example, several methos do not apparently handle S4 objects based on
S3 tbl_df

```library(tidyverse)setOldClass("tbl_df")
setClass("test2", contains = "tbl_df")
my <- new("test2",  tibble(a = 1))
my %>%  mutate(b = 3)

   a b
1 1 3
```

 ```my <- new("test2",  tibble(a = rnorm(100), b = 1))
my %>% nest(data = -b)
Error: `x` must be a vector, not a `test2` object
Run `rlang::last_error()` to see where the error occurred.
```

Could you please advise whether a tidyverse based package can be hosted on
Bioconductor, and if S4 classes are really mandatory? I need to understand
if I am forced to submit to CRAN instead (although Bioconductor would be a
good fit, sice I try to interface transcriptional analysis tools to tidy
universe)


Thanks a lot.
Stefano

[[alternative HTML version deleted]]

___
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel

___
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel


Re: [Bioc-devel] Compatibility of Bioconductor with tidyverse S3 classes/methods

2020-02-06 Thread stefano
Thanks a lot for your comment Martin and Michael,

Here I reply to Marti's comment. Michael I will try to implement your
solution!

I think a key point from
https://github.com/Bioconductor/Contributions/issues/1355#issuecomment-580977106
(that I was under-looking) is

*>> "So to sum up: if you submit a package to Bioconductor, there is an
expectation that your package can work seamlessly with other Bioconductor
packages, and your implementation should support that. The safest and
easiest way to do that is to use Bioconductor data structures"*

In this case my package would not be suited as I do not use pre-existing
Bioconductor data structures, but instead i see value in using a simple
tibble, for the reasons in part explained in the README
https://github.com/stemangiola/ttBulk (harvesting the power of tidyverse
and friends for bulk transcriptomic analyses).

*>> "with the minimum standard of being able to accept such objects even if
you do not rely on them internally (though you should)"*

With this I can comply in the sense that I can built converters to and from
SummarizedExperiment (for example).

* >> "If you don't want to do that, then that's a shame, but it would
suggest that Bioconductor would not be the right place to host this
package."*

Well said.

In summary, I do not rely on Bioconductor data structure, as I am proposing
another paradigm, but my back end is made of largely Bioconductor analysis
packages that I would like to interface with tidyverse. So

1) Should I build converters to Bioc. data structures, and force the use of
S3 object (needed to tiidyverse to work), or
2) Submit to CRAN

I don't have strong feeling for either, although I think Bioconductor would
be a good fit. Please community give me your honest opinions, I will take
them seriously and proceed.



Best wishes.

*Stefano *



Stefano Mangiola | Postdoctoral fellow

Papenfuss Laboratory

The Walter Eliza Hall Institute of Medical Research

+61 (0)466452544


Il giorno ven 7 feb 2020 alle ore 10:46 Martin Morgan <
mtmorgan.b...@gmail.com> ha scritto:

> The idea isn't to use S4 at any cost, but to 'play well' with the
> Bioconductor ecosystem, including writing robust and maintainable code.
>
> This comment
> https://github.com/Bioconductor/Contributions/issues/1355#issuecomment-580977106
> provides some motivation; there was also an interesting exchange on the
> Bioconductor community slack about this (join at
> https://bioc-community.herokuapp.com/; discussion starting with
> https://community-bioc.slack.com/archives/C35G93GJH/p1580144746014800).
> The plyranges package http://bioconductor.org/packages/plyranges and
> recently accepted fluentGenomics workflow
> https://github.com/Bioconductor/Contributions/issues/1350 provide
> illustrations.
>
> In your domain it's really surprising that your package does not use
> (Import or Depend on) SummarizedExperiment or GenomicRanges packages. From
> a superficial look at your package, it seems like something like
> `reduce_dimensions()` could be defined to take & return a
> SummarizedExperiment and hence benefit from some of the points in the
> github issue comment mentioned above.
>
> Certainly there is a useful transition, both 'on the way in' to a
> SummarizedExperiment, and after leaving the more specialized bioinformatic
> computations to, e.g., display a pairs plot of the reduced dimensions,
> where one might re-shape the data to a tidy format and use 'plain old'
> tibbles; the fluentGenomics workflow might provide some guidance.
>
> At the end of the day it would not be surprising for Bioconductor packages
> to make use of tidy concepts and data structures, particularly in the
> vignette, and it would be a mistake for Bioconductor to exclude
> well-motivated 'tidy' representations.
>
> Martin Morgan
>
> On 2/6/20, 5:46 PM, "Bioc-devel on behalf of stefano" <
> bioc-devel-boun...@r-project.org on behalf of mangiolastef...@gmail.com>
> wrote:
>
> Hello,
>
> I have a package (ttBulk) under review. I have been told to replace
> the S3
> system to S4. My package is based on the class tbl_df and must be fully
> compatible with tidyverse methods (inheritance). After some tests and
> research I understood that tidyverse ecosystem is not compatible with
> S4
> classes.
>
>  For example, several methos do not apparently handle S4 objects based
> on
> S3 tbl_df
>
> ```library(tidyverse)setOldClass("tbl_df")
> setClass("test2", contains = "tbl_df")
> my <- new("test2",  tibble(a = 1))
> my %>%  mutate(b = 3)
>
>a b
> 1 1 3
> ```
>
>  ```my <- new("test2",  tibble(a = rnorm(100), b = 1))
> my %>% nest(data = -b)
> Error: `x` must be a vector, not a `test2` object
> Run `rlang::last_error()` to see where the error occurred.
> ```
>
> Could you please advise whether a tidyverse based package can be
> hosted on
> Bioconductor, and if S4 classes are really mandatory? I need to
> understand
> if 

Re: [Bioc-devel] Compatibility of Bioconductor with tidyverse S3 classes/methods

2020-02-06 Thread stefano
Would this scenario satisfy " make the package _directly_ compatible with
standard Bioconductor data structures"

If an input is SummarizedExperiment return SummarizedExperiment, if the
input is a tbl_df or ttBulk, return ttBulk (?)


Best wishes.

*Stefano *



Stefano Mangiola | Postdoctoral fellow

Papenfuss Laboratory

The Walter Eliza Hall Institute of Medical Research

+61 (0)466452544


Il giorno ven 7 feb 2020 alle ore 16:15 Michael Lawrence <
lawrence.mich...@gene.com> ha scritto:

> I would urge you to make the package _directly_ compatible with
> standard Bioconductor data structures; no explicit conversion. But you
> can create wrapper methods (even on an S3 generic) that perform the
> conversion automatically. You'll probably want two separate APIs
> though (in different styles), for one thing automatic conversion is
> obviously not possible for return values.
>
> Michael
>
> On Thu, Feb 6, 2020 at 5:34 PM stefano  wrote:
> >
> > Thanks Michael,
> >
> > yes in a sense, ttBulk and SummariseExperiment can be considere as two
> interfaces. Would be fair enough to create a function that convert from one
> to the other, although the default would be ttBulk?
> >
> > > I'm not sure the tidyverse is a great answer to the user interface,
> because it lacks domain semantics
> >
> > Would be fair to say that ttBulk class could be considered a tibble with
> specific semantics? In the sense that it holds information about key column
> names (.sample, .transcript, .abundance, .normalised_abundance, etc..), and
> has a validator (that is triggered at every ttBulk function).
> >
> > I think at the moment, given (i) S3 problem, and (ii) the lack of formal
> foundation on SummaisedExperiment interface (that maybe would require an S4
> technology itself, where SummariseExperiment could be a slot?) my package
> would belong more to CRAN, until those two issues will have been resolved.
> >
> > I imagine there are not many cases where a CRAN package migrated to
> Bioconductor after complying with the ecosystem policies.
> >
> > Thanks a lot.
> >
> > Best wishes.
> >
> > Stefano
> >
> >
> >
> > Stefano Mangiola | Postdoctoral fellow
> >
> > Papenfuss Laboratory
> >
> > The Walter Eliza Hall Institute of Medical Research
> >
> > +61 (0)466452544
> >
> >
> >
> > Il giorno ven 7 feb 2020 alle ore 12:12 Michael Lawrence <
> lawrence.mich...@gene.com> ha scritto:
> >>
> >> There's a difference between implementing software, where one wants
> >> formal data structures, and providing a convenient user interface.
> >> Software needs to interface with other software, so a package could
> >> provide both types of interfaces, one based on rich (S4) data
> >> structures, another on simpler structures with an API more amenable to
> >> analysis. I'm not sure the tidyverse is a great answer to the user
> >> interface, because it lacks domain semantics. This is still an active
> >> area of research (see Stuart Lee's plyranges, for example). I hope you
> >> can find a reasonable compromise that enables you to integrate ttBulk
> >> into Bioconductor, so that it can take advantage of the synergies the
> >> ecosystem provides.
> >>
> >> PS: There is no simple fix for your example.
> >>
> >> Michael
> >>
> >> On Thu, Feb 6, 2020 at 4:12 PM stefano 
> wrote:
> >> >
> >> > Thanks a lot for your comment Martin and Michael,
> >> >
> >> > Here I reply to Marti's comment. Michael I will try to implement your
> >> > solution!
> >> >
> >> > I think a key point from
> >> >
> https://github.com/Bioconductor/Contributions/issues/1355#issuecomment-580977106
> >> > (that I was under-looking) is
> >> >
> >> > *>> "So to sum up: if you submit a package to Bioconductor, there is
> an
> >> > expectation that your package can work seamlessly with other
> Bioconductor
> >> > packages, and your implementation should support that. The safest and
> >> > easiest way to do that is to use Bioconductor data structures"*
> >> >
> >> > In this case my package would not be suited as I do not use
> pre-existing
> >> > Bioconductor data structures, but instead i see value in using a
> simple
> >> > tibble, for the reasons in part explained in the README
> >> > https://github.com/stemangiola/ttBulk (harvesting the power of
> tidyverse
> >> > and friends for bulk transcriptomic analyses).
> >> >
> >> > *>> "with the minimum standard of being able to accept such objects
> even if
> >> > you do not rely on them internally (though you should)"*
> >> >
> >> > With this I can comply in the sense that I can built converters to
> and from
> >> > SummarizedExperiment (for example).
> >> >
> >> > * >> "If you don't want to do that, then that's a shame, but it would
> >> > suggest that Bioconductor would not be the right place to host this
> >> > package."*
> >> >
> >> > Well said.
> >> >
> >> > In summary, I do not rely on Bioconductor data structure, as I am
> proposing
> >> > another paradigm, but my back end is made of largely Bioconductor
> analysis
> >> > packages that I 

Re: [Bioc-devel] Compatibility of Bioconductor with tidyverse S3 classes/methods

2020-02-06 Thread Michael Lawrence via Bioc-devel
Martin's comments are great.

I'll just give some technical help. The "tbl_df" S4 class is already
defined by dplyr (and more properly), so omit the call to
setOldClass(). Then, things work a bit better.

> my %>% nest(-b) # had to fix this from your example
[some ugly result]
Warning messages:
1: In class(x) <- c(subclass, tibble_class) :
  Setting class(x) to multiple strings ("tbl_df", "tbl", ...); result
will no longer be an S4 object
2: In split.default(data[nest_vars], idx) :
  data length is not a multiple of split variable

I would argue that this is an issue with the tidyverse. They provide
an S4 class, which should in principle work, because S4 is compatible
enough with S3, but the use of class<-() breaks it. There may be a way
to make class()<- work in such cases. I will think about it.

The right way to do it with S4 would be to just call initialize(x,
...) in new_tibble(). They have to implement the initialize() logic
themselves using update_tibble_attrs(). S4 gives you that for free.

And there are more issues but I think this is a good example of the
difficulties.

Michael

On Thu, Feb 6, 2020 at 2:46 PM stefano  wrote:
>
> Hello,
>
> I have a package (ttBulk) under review. I have been told to replace the S3
> system to S4. My package is based on the class tbl_df and must be fully
> compatible with tidyverse methods (inheritance). After some tests and
> research I understood that tidyverse ecosystem is not compatible with S4
> classes.
>
>  For example, several methos do not apparently handle S4 objects based on
> S3 tbl_df
>
> ```library(tidyverse)setOldClass("tbl_df")
> setClass("test2", contains = "tbl_df")
> my <- new("test2",  tibble(a = 1))
> my %>%  mutate(b = 3)
>
>a b
> 1 1 3
> ```
>
>  ```my <- new("test2",  tibble(a = rnorm(100), b = 1))
> my %>% nest(data = -b)
> Error: `x` must be a vector, not a `test2` object
> Run `rlang::last_error()` to see where the error occurred.
> ```
>
> Could you please advise whether a tidyverse based package can be hosted on
> Bioconductor, and if S4 classes are really mandatory? I need to understand
> if I am forced to submit to CRAN instead (although Bioconductor would be a
> good fit, sice I try to interface transcriptional analysis tools to tidy
> universe)
>
>
> Thanks a lot.
> Stefano
>
> [[alternative HTML version deleted]]
>
> ___
> Bioc-devel@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/bioc-devel



-- 
Michael Lawrence
Senior Scientist, Bioinformatics and Computational Biology
Genentech, A Member of the Roche Group
Office +1 (650) 225-7760
micha...@gene.com

Join Genentech on LinkedIn | Twitter | Facebook | Instagram | YouTube

___
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel