Re: [Bioc-devel] Access to Bioconductor Git Credentials account

2018-11-14 Thread Norman Pavelka
Thank you! I was able to activate my account and clone my repository.

Best wishes,
Norman
On Thu, Nov 15, 2018 at 1:21 AM Turaga, Nitesh
 wrote:
>
> Please try to activate your account now. I have updated your email address on 
> our end.
>
> You will need to add SSH keys to your account once it is activated.
>
> Your ID is n.pavelka
>
> Best,
>
> Nitesh
>
> > On Nov 14, 2018, at 3:46 AM, Norman Pavelka  wrote:
> >
> > normanpave...@gmail.com
>
>
>
> 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] Possible to export coerce2() from S4Vectors?

2018-11-14 Thread Michael Lawrence
The only reliable way to implement cbind() is through cbind2(). Perhaps we
should drop cbind,DataFrame. The only downside would be poorer performance
due to additional dispatch.

We could try to more fully define dots dispatch, but how should it behave
in this case? Intuitively, I would expect all arguments in "..." to be
IndexedDataFrames for cbind,IndexedDataFrame to be called. But there are
other possibilities.

Michael

On Wed, Nov 14, 2018 at 9:57 AM Bemis, Kylie 
wrote:

> Yes, I will make sure my cbind() implementation coerces to the correct
> subclass.
>
> That could solve my error as well, but the warnings about S4 dispatch on
> “...” are still a problem.
>
> -Kylie
>
> On Nov 14, 2018, at 12:38 PM, Michael Lawrence 
> wrote:
>
> The use of c() in the implementation of [[<- is problematic, since [[<-
> has the semantic of insertion, preserving the overall structure of x, while
> c() is a combination of two or more peer data structures, and it is
> difficult to define the correct logic through dispatch.
>
> The dispatch on ... is not well documented. I will try to improve that, as
> soon as I understand it myself. But no matter what, your cbind() method
> will need to uplift ordinary DataFrames to IndexedDataFrame.
>
> Michael
>
> On Wed, Nov 14, 2018 at 7:52 AM Bemis, Kylie 
> wrote:
>
>> Hi Michael,
>>
>> Here is a simple example of what I’m trying to do:
>>
>> setClass("IndexedDataFrame",
>> contains="DataFrame",
>> slots=c(ids="numeric"))
>>
>> # track additional ID metadata w/ special rules
>> IndexedDataFrame <- function(ids, ...) {
>> x <- DataFrame(...)
>> new("IndexedDataFrame",
>> ids=ids,
>> rownames=rownames(x),
>> nrows=nrow(x),
>> listData=x@listData,
>> elementMetadata=mcols(x))
>> }
>>
>> # check for matching IDs before cbind-ing
>> setMethod("cbind", "IndexedDataFrame",
>> function(...) {
>> args <- list(...)
>> ids <- args[[1L]]@ids
>> ok <- vapply(args, function(a) {
>> # check for compatible IDs
>> identical(a@ids, ids)
>> }, logical(1))
>> if ( !all(ok) )
>> stop("ids must match")
>> x <- callNextMethod(...)
>> new(class(args[[1L]]),
>> ids=ids,
>> rownames=rownames(x),
>> nrows=nrow(x),
>> listData=x@listData,
>> elementMetadata=mcols(x))
>> })
>>
>> set.seed(1)
>> idf <- IndexedDataFrame(ids=runif(10), a=1:10, b=11:20)
>> idf$c <- 21:30
>>
>> Error in identical(a@ids, ids) :
>>   no slot of name "ids" for this object of class "DataFrame"
>> In addition: Warning message:
>> In methods:::.selectDotsMethod(classes, .MTable, .AllMTable) :
>>   multiple direct matches: "IndexedDataFrame", "DataFrame"; using the
>> first of these
>>
>> Specific examples where I use this pattern are new MassDataFrame and
>> PositionDataFrame classes in Cardinal, which require associated m/z-values
>> and pixel coordinates as additional metadata. Current source code is here:
>>
>>
>> https://github.com/kuwisdelu/Cardinal/blob/master/R/methods2-MassDataFrame.R
>> 
>>
>> https://github.com/kuwisdelu/Cardinal/blob/master/R/methods2-PositionDataFrame.R
>> 
>>
>> In older versions of Cardinal, similar versions of these classes extended
>> AnnotatedDataFrame and used regular columns for this metadata, while
>> requiring those columns to follow a specific naming scheme. This proved
>> fragile, difficult to maintain, and easily broken, so I am now using slots
>> to contain this metadata so they can be validated independently of whatever
>> user-supplied columns exist.
>>
>> Kylie
>>
>> ~~~
>> Kylie Ariel Bemis
>> College of Computer and Information Science
>> Northeastern University
>> kuwisdelu.github.io
>> 
>>
>>
>>
>>
>>
>> On Nov 14, 2018, at 10:12 AM, Michael Lawrence 
>> wrote:
>>
>> I don't want to derail this thread, but why is coerce2() necessary? Would
>> it be possible to fold its logic into as() without breaking too much?
>>
>> Kylie,
>>
>> It would help to see your code, with some pointers to where things break.
>>
>> Michael
>>
>> On Wed, Nov 14, 2018 at 5:36 AM Bemis, Kylie 
>> wrote:
>>
>>> Hi Herve,
>>>
>>> Thanks for the detailed reply. Using as() makes 

[Bioc-devel] Fwd: [bioc] DEXSeqHTML getListElement GRanges error

2018-11-14 Thread Lance Parsons
I submitted a question to the support site, but thought it might be useful
to post here as well. My apologies for the cross-posting.

-- Forwarded message -
From: Lance Parsons [bioc] 
Date: Wed, Nov 14, 2018 at 2:39 PM
Subject: [bioc] DEXSeqHTML getListElement GRanges error
To: 


Activity on a post you are following on support.bioconductor.org

User Lance Parsons  wrote Question:
DEXSeqHTML getListElement GRanges error
:

When running DEXSeqHTML, I got the following error:

Fatal error: An undefined error occured, please check your input
carefully and contact your administrator.
converting counts to integer mode
Warning message:
In DESeqDataSet(rse, design, ignoreRank = TRUE) :
  some variables in design formula are characters, converting to factors
using supplied model matrix
using supplied model matrix
using supplied model matrix
Error in getListElement(x, i, ...) :
  GRanges objects don't support [[, as.list(), lapply(), or unlist() at
  the moment
Calls: DEXSeqHTML ... tryCatch -> tryCatchList -> tryCatchOne ->

This was run using the Galaxy wrapper
. However, the
error appears to be coming from the DEXSeqHTML function and I can't quite
tell where in that function it's failing. Another user on Biostars ran into
the same error . Any help tracking down
the source of the problme would be much appreciated.

--

Post tags: dexseq, software error, bug

You may reply via email or visit https://support.bioconductor.org/p/115115/

[[alternative HTML version deleted]]

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


Re: [Bioc-devel] Possible to export coerce2() from S4Vectors?

2018-11-14 Thread Bemis, Kylie
Yes, I will make sure my cbind() implementation coerces to the correct subclass.

That could solve my error as well, but the warnings about S4 dispatch on “...” 
are still a problem.

-Kylie

On Nov 14, 2018, at 12:38 PM, Michael Lawrence 
mailto:lawrence.mich...@gene.com>> wrote:

The use of c() in the implementation of [[<- is problematic, since [[<- has the 
semantic of insertion, preserving the overall structure of x, while c() is a 
combination of two or more peer data structures, and it is difficult to define 
the correct logic through dispatch.

The dispatch on ... is not well documented. I will try to improve that, as soon 
as I understand it myself. But no matter what, your cbind() method will need to 
uplift ordinary DataFrames to IndexedDataFrame.

Michael

On Wed, Nov 14, 2018 at 7:52 AM Bemis, Kylie 
mailto:k.be...@northeastern.edu>> wrote:
Hi Michael,

Here is a simple example of what I’m trying to do:

setClass("IndexedDataFrame",
contains="DataFrame",
slots=c(ids="numeric"))

# track additional ID metadata w/ special rules
IndexedDataFrame <- function(ids, ...) {
x <- DataFrame(...)
new("IndexedDataFrame",
ids=ids,
rownames=rownames(x),
nrows=nrow(x),
listData=x@listData,
elementMetadata=mcols(x))
}

# check for matching IDs before cbind-ing
setMethod("cbind", "IndexedDataFrame",
function(...) {
args <- list(...)
ids <- args[[1L]]@ids
ok <- vapply(args, function(a) {
# check for compatible IDs
identical(a@ids, ids)
}, logical(1))
if ( !all(ok) )
stop("ids must match")
x <- callNextMethod(...)
new(class(args[[1L]]),
ids=ids,
rownames=rownames(x),
nrows=nrow(x),
listData=x@listData,
elementMetadata=mcols(x))
})

set.seed(1)
idf <- IndexedDataFrame(ids=runif(10), a=1:10, b=11:20)
idf$c <- 21:30

Error in identical(a@ids, ids) :
  no slot of name "ids" for this object of class "DataFrame"
In addition: Warning message:
In methods:::.selectDotsMethod(classes, .MTable, .AllMTable) :
  multiple direct matches: "IndexedDataFrame", "DataFrame"; using the first of 
these

Specific examples where I use this pattern are new MassDataFrame and 
PositionDataFrame classes in Cardinal, which require associated m/z-values and 
pixel coordinates as additional metadata. Current source code is here:

https://github.com/kuwisdelu/Cardinal/blob/master/R/methods2-MassDataFrame.R
https://github.com/kuwisdelu/Cardinal/blob/master/R/methods2-PositionDataFrame.R

In older versions of Cardinal, similar versions of these classes extended 
AnnotatedDataFrame and used regular columns for this metadata, while requiring 
those columns to follow a specific naming scheme. This proved fragile, 
difficult to maintain, and easily broken, so I am now using slots to contain 
this metadata so they can be validated independently of whatever user-supplied 
columns exist.

Kylie

~~~
Kylie Ariel Bemis
College of Computer and Information Science
Northeastern University
kuwisdelu.github.io





On Nov 14, 2018, at 10:12 AM, Michael Lawrence 
mailto:lawrence.mich...@gene.com>> wrote:

I don't want to derail this thread, but why is coerce2() necessary? Would it be 
possible to fold its logic into as() without breaking too much?

Kylie,

It would help to see your code, with some pointers to where things break.

Michael

On Wed, Nov 14, 2018 at 5:36 AM Bemis, Kylie 
mailto:k.be...@northeastern.edu>> wrote:
Hi Herve,

Thanks for the detailed reply. Using as() makes sense. Unfortunately my use 
case makes it a little more complicated.

The issue comes from a combination of factors:

- My DataFrame subclasses track additional metadata for each row, separate from 
the typical user-defined columns
- This metadata is checked to decide how to do cbind(...) or if cbind(...) 
makes sense for those objects
- cbind(...) ends up being called internally by some inherited assignment 
methods like [[<-
- Coercing to my subclass with as() results in incompatible metadata, causing 
cbind(...) to fail

I see a few solutions:

1. Using coerce2() works where as() doesn’t, because it takes an example of the 
“to” object rather 

Re: [Bioc-devel] Possible to export coerce2() from S4Vectors?

2018-11-14 Thread Michael Lawrence
The use of c() in the implementation of [[<- is problematic, since [[<- has
the semantic of insertion, preserving the overall structure of x, while c()
is a combination of two or more peer data structures, and it is difficult
to define the correct logic through dispatch.

The dispatch on ... is not well documented. I will try to improve that, as
soon as I understand it myself. But no matter what, your cbind() method
will need to uplift ordinary DataFrames to IndexedDataFrame.

Michael

On Wed, Nov 14, 2018 at 7:52 AM Bemis, Kylie 
wrote:

> Hi Michael,
>
> Here is a simple example of what I’m trying to do:
>
> setClass("IndexedDataFrame",
> contains="DataFrame",
> slots=c(ids="numeric"))
>
> # track additional ID metadata w/ special rules
> IndexedDataFrame <- function(ids, ...) {
> x <- DataFrame(...)
> new("IndexedDataFrame",
> ids=ids,
> rownames=rownames(x),
> nrows=nrow(x),
> listData=x@listData,
> elementMetadata=mcols(x))
> }
>
> # check for matching IDs before cbind-ing
> setMethod("cbind", "IndexedDataFrame",
> function(...) {
> args <- list(...)
> ids <- args[[1L]]@ids
> ok <- vapply(args, function(a) {
> # check for compatible IDs
> identical(a@ids, ids)
> }, logical(1))
> if ( !all(ok) )
> stop("ids must match")
> x <- callNextMethod(...)
> new(class(args[[1L]]),
> ids=ids,
> rownames=rownames(x),
> nrows=nrow(x),
> listData=x@listData,
> elementMetadata=mcols(x))
> })
>
> set.seed(1)
> idf <- IndexedDataFrame(ids=runif(10), a=1:10, b=11:20)
> idf$c <- 21:30
>
> Error in identical(a@ids, ids) :
>   no slot of name "ids" for this object of class "DataFrame"
> In addition: Warning message:
> In methods:::.selectDotsMethod(classes, .MTable, .AllMTable) :
>   multiple direct matches: "IndexedDataFrame", "DataFrame"; using the
> first of these
>
> Specific examples where I use this pattern are new MassDataFrame and
> PositionDataFrame classes in Cardinal, which require associated m/z-values
> and pixel coordinates as additional metadata. Current source code is here:
>
>
> https://github.com/kuwisdelu/Cardinal/blob/master/R/methods2-MassDataFrame.R
>
> https://github.com/kuwisdelu/Cardinal/blob/master/R/methods2-PositionDataFrame.R
>
> In older versions of Cardinal, similar versions of these classes extended
> AnnotatedDataFrame and used regular columns for this metadata, while
> requiring those columns to follow a specific naming scheme. This proved
> fragile, difficult to maintain, and easily broken, so I am now using slots
> to contain this metadata so they can be validated independently of whatever
> user-supplied columns exist.
>
> Kylie
>
> ~~~
> Kylie Ariel Bemis
> College of Computer and Information Science
> Northeastern University
> kuwisdelu.github.io
>
>
>
>
>
> On Nov 14, 2018, at 10:12 AM, Michael Lawrence 
> wrote:
>
> I don't want to derail this thread, but why is coerce2() necessary? Would
> it be possible to fold its logic into as() without breaking too much?
>
> Kylie,
>
> It would help to see your code, with some pointers to where things break.
>
> Michael
>
> On Wed, Nov 14, 2018 at 5:36 AM Bemis, Kylie 
> wrote:
>
>> Hi Herve,
>>
>> Thanks for the detailed reply. Using as() makes sense. Unfortunately my
>> use case makes it a little more complicated.
>>
>> The issue comes from a combination of factors:
>>
>> - My DataFrame subclasses track additional metadata for each row,
>> separate from the typical user-defined columns
>> - This metadata is checked to decide how to do cbind(...) or if
>> cbind(...) makes sense for those objects
>> - cbind(...) ends up being called internally by some inherited assignment
>> methods like [[<-
>> - Coercing to my subclass with as() results in incompatible metadata,
>> causing cbind(...) to fail
>>
>> I see a few solutions:
>>
>> 1. Using coerce2() works where as() doesn’t, because it takes an example
>> of the “to” object rather than just the class, so compatible metadata can
>> be copied directly from the “to” object, allowing cbind(…) to work as
>> intended.
>>
>> 2. Create an exception to my class logic that allows the metadata to be
>> missing, and change my cbind(…) implementation to ignore the metadata in
>> the case that it is missing.
>>
>> 3. Supply my own version of methods like [[<-. I don’t like this one,
>> since it should be unnecessary.
>>
>> I can do (2), but I would need to rethink some of my other methods that
>> expect that metadata to exist, so I wanted to check on the plans for
>> coerce2() before making those changes.
>>
>> What are your thoughts?
>>
>> Thanks!
>> Kylie
>>
>> ~~~
>> Kylie Ariel Bemis
>> College of Computer and Information Science
>> Northeastern University
>> kuwisdelu.github.io
>> 
>> > 

Re: [Bioc-devel] Access to Bioconductor Git Credentials account

2018-11-14 Thread Turaga, Nitesh
Please try to activate your account now. I have updated your email address on 
our end.

You will need to add SSH keys to your account once it is activated. 

Your ID is n.pavelka 

Best,

Nitesh 

> On Nov 14, 2018, at 3:46 AM, Norman Pavelka  wrote:
> 
> normanpave...@gmail.com 



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


[Bioc-devel] Single Package Builder for new package submission service Interruption

2018-11-14 Thread Shepherd, Lori
Hello all,


We will be working on converting the Single Package builder over to R 3.6 Bioc 
3.9.

During this time you may experience service downtime for the issue tracker and 
automatic builds during the submission review process.  We hope the 
inconvenience will be minimal and thank you for your understanding.


Lori Shepherd

Bioconductor Core Team

Roswell Park Cancer Institute

Department of Biostatistics & Bioinformatics

Elm & Carlton Streets

Buffalo, New York 14263


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] submitting a tiny data package (GmapGenome.Hsapiens.rCRS)

2018-11-14 Thread Shepherd, Lori
I meant AWS S3 access -  sorry -  I will be sending credentials in a separate 
email for that


Lori Shepherd

Bioconductor Core Team

Roswell Park Cancer Institute

Department of Biostatistics & Bioinformatics

Elm & Carlton Streets

Buffalo, New York 14263


From: Shepherd, Lori
Sent: Wednesday, November 14, 2018 11:41:56 AM
To: Pages, Herve; Obenchain, Valerie; Tim Triche, Jr.; bioc-devel
Subject: Re: [Bioc-devel] submitting a tiny data package 
(GmapGenome.Hsapiens.rCRS)


Agreed the file should be in annotationhub.  I can give you S4 access to upload 
the file.  I will need a metadata.csv file created for the file as described in


https://bioconductor.org/packages/release/bioc/vignettes/AnnotationHub/inst/doc/CreateAnAnnotationPackage.html


This is an interesting case as you already have an ExperimentData package but 
this will use AnnotationHub - so there will be a mixture of views terms -  you 
shouldn't need to do much to the current Experiment Data package besides adding 
the metadata.csv file and making sure   makeAnnotationHubMetadata() runs -  if you get any errors as far as views terms let me know but i 
don't think it should be an issue


I think the package itself should stay a software and a data experiment package 
and these particular functions use annotationhub in the backend.


Cheers,


Lori Shepherd

Bioconductor Core Team

Roswell Park Cancer Institute

Department of Biostatistics & Bioinformatics

Elm & Carlton Streets

Buffalo, New York 14263


From: Bioc-devel  on behalf of Pages, Herve 

Sent: Friday, November 9, 2018 2:02:16 PM
To: Obenchain, Valerie; Tim Triche, Jr.; bioc-devel
Subject: Re: [Bioc-devel] submitting a tiny data package 
(GmapGenome.Hsapiens.rCRS)

Hi guys,

OTOH indexMTGenome() only takes 20s on my laptop to create, install and
load GmapGenome.Hsapiens.rCRS.

Note that the size on disk of GmapGenome.Hsapiens.rCRS is 449M which is
surprising considering that the input of indexMTGenome() is a tiny 83K
FASTA file. That's for the source tree. 'R CMD build' then produces a
source tarball that is only 24M so is much reduced. Seems like the big
files in GmapGenome.Hsapiens.rCRS are very sparse!

Anyway this seems to be a reference genome so maybe would best belong to
AnnotationHub?

Cheers,

H.

On 11/9/18 08:42, Obenchain, Valerie wrote:
> Hi Tim,
>
> The options would be to make a data experiment package or put the data
> in ExperimentHub.
>
> Lori is our resident expert on these things but is out today. She'll be
> back next week and can provide more info.
>
> Valerie
>
>
> On 11/8/18 9:27 AM, Tim Triche, Jr. wrote:
>> What's the best/fastest way to do this? The package (MTseeker) will happily
>> build and install it for the user via the indexMTgenome() function, but
>> since I test for its presence prior to running examples, it seems like I
>> might as well have it available through BioC.
>>
>> Thanks,
>>
>> --t
>>
>>   [[alternative HTML version deleted]]
>>
>> ___
>> Bioc-devel@r-project.org mailing list
>> https://urldefense.proofpoint.com/v2/url?u=https-3A__stat.ethz.ch_mailman_listinfo_bioc-2Ddevel=DwIFAg=eRAMFD45gAfqt84VtBcfhQ=BK7q3XeAvimeWdGbWY_wJYbW0WYiZvSXAJJKaaPhzWA=CJuHqYXh0XkBMrSjP3aaWmkdZALDlc5ycy4MRQVDkEc=OCFa2kt3VaWZzfqcvZGzIQr-61UL0B2ibC7J2EhbPfc=
>>
>
>
> 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://urldefense.proofpoint.com/v2/url?u=https-3A__stat.ethz.ch_mailman_listinfo_bioc-2Ddevel=DwIFAg=eRAMFD45gAfqt84VtBcfhQ=BK7q3XeAvimeWdGbWY_wJYbW0WYiZvSXAJJKaaPhzWA=CJuHqYXh0XkBMrSjP3aaWmkdZALDlc5ycy4MRQVDkEc=OCFa2kt3VaWZzfqcvZGzIQr-61UL0B2ibC7J2EhbPfc=

--
Herv� Pag�s

Program in Computational Biology
Division of Public Health Sciences
Fred Hutchinson Cancer Research Center
1100 Fairview Ave. N, M1-B514
P.O. Box 19024
Seattle, WA 98109-1024

E-mail: hpa...@fredhutch.org
Phone:  (206) 667-5791
Fax:(206) 667-1319

___
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 

Re: [Bioc-devel] submitting a tiny data package (GmapGenome.Hsapiens.rCRS)

2018-11-14 Thread Shepherd, Lori
Agreed the file should be in annotationhub.  I can give you S4 access to upload 
the file.  I will need a metadata.csv file created for the file as described in


https://bioconductor.org/packages/release/bioc/vignettes/AnnotationHub/inst/doc/CreateAnAnnotationPackage.html


This is an interesting case as you already have an ExperimentData package but 
this will use AnnotationHub - so there will be a mixture of views terms -  you 
shouldn't need to do much to the current Experiment Data package besides adding 
the metadata.csv file and making sure   makeAnnotationHubMetadata() runs -  if you get any errors as far as views terms let me know but i 
don't think it should be an issue


I think the package itself should stay a software and a data experiment package 
and these particular functions use annotationhub in the backend.


Cheers,


Lori Shepherd

Bioconductor Core Team

Roswell Park Cancer Institute

Department of Biostatistics & Bioinformatics

Elm & Carlton Streets

Buffalo, New York 14263


From: Bioc-devel  on behalf of Pages, Herve 

Sent: Friday, November 9, 2018 2:02:16 PM
To: Obenchain, Valerie; Tim Triche, Jr.; bioc-devel
Subject: Re: [Bioc-devel] submitting a tiny data package 
(GmapGenome.Hsapiens.rCRS)

Hi guys,

OTOH indexMTGenome() only takes 20s on my laptop to create, install and
load GmapGenome.Hsapiens.rCRS.

Note that the size on disk of GmapGenome.Hsapiens.rCRS is 449M which is
surprising considering that the input of indexMTGenome() is a tiny 83K
FASTA file. That's for the source tree. 'R CMD build' then produces a
source tarball that is only 24M so is much reduced. Seems like the big
files in GmapGenome.Hsapiens.rCRS are very sparse!

Anyway this seems to be a reference genome so maybe would best belong to
AnnotationHub?

Cheers,

H.

On 11/9/18 08:42, Obenchain, Valerie wrote:
> Hi Tim,
>
> The options would be to make a data experiment package or put the data
> in ExperimentHub.
>
> Lori is our resident expert on these things but is out today. She'll be
> back next week and can provide more info.
>
> Valerie
>
>
> On 11/8/18 9:27 AM, Tim Triche, Jr. wrote:
>> What's the best/fastest way to do this? The package (MTseeker) will happily
>> build and install it for the user via the indexMTgenome() function, but
>> since I test for its presence prior to running examples, it seems like I
>> might as well have it available through BioC.
>>
>> Thanks,
>>
>> --t
>>
>>   [[alternative HTML version deleted]]
>>
>> ___
>> Bioc-devel@r-project.org mailing list
>> https://urldefense.proofpoint.com/v2/url?u=https-3A__stat.ethz.ch_mailman_listinfo_bioc-2Ddevel=DwIFAg=eRAMFD45gAfqt84VtBcfhQ=BK7q3XeAvimeWdGbWY_wJYbW0WYiZvSXAJJKaaPhzWA=CJuHqYXh0XkBMrSjP3aaWmkdZALDlc5ycy4MRQVDkEc=OCFa2kt3VaWZzfqcvZGzIQr-61UL0B2ibC7J2EhbPfc=
>>
>
>
> 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://urldefense.proofpoint.com/v2/url?u=https-3A__stat.ethz.ch_mailman_listinfo_bioc-2Ddevel=DwIFAg=eRAMFD45gAfqt84VtBcfhQ=BK7q3XeAvimeWdGbWY_wJYbW0WYiZvSXAJJKaaPhzWA=CJuHqYXh0XkBMrSjP3aaWmkdZALDlc5ycy4MRQVDkEc=OCFa2kt3VaWZzfqcvZGzIQr-61UL0B2ibC7J2EhbPfc=

--
Herv� Pag�s

Program in Computational Biology
Division of Public Health Sciences
Fred Hutchinson Cancer Research Center
1100 Fairview Ave. N, M1-B514
P.O. Box 19024
Seattle, WA 98109-1024

E-mail: hpa...@fredhutch.org
Phone:  (206) 667-5791
Fax:(206) 667-1319

___
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] Possible to export coerce2() from S4Vectors?

2018-11-14 Thread Bemis, Kylie
Hi Michael,

Here is a simple example of what I’m trying to do:

setClass("IndexedDataFrame",
contains="DataFrame",
slots=c(ids="numeric"))

# track additional ID metadata w/ special rules
IndexedDataFrame <- function(ids, ...) {
x <- DataFrame(...)
new("IndexedDataFrame",
ids=ids,
rownames=rownames(x),
nrows=nrow(x),
listData=x@listData,
elementMetadata=mcols(x))
}

# check for matching IDs before cbind-ing
setMethod("cbind", "IndexedDataFrame",
function(...) {
args <- list(...)
ids <- args[[1L]]@ids
ok <- vapply(args, function(a) {
# check for compatible IDs
identical(a@ids, ids)
}, logical(1))
if ( !all(ok) )
stop("ids must match")
x <- callNextMethod(...)
new(class(args[[1L]]),
ids=ids,
rownames=rownames(x),
nrows=nrow(x),
listData=x@listData,
elementMetadata=mcols(x))
})

set.seed(1)
idf <- IndexedDataFrame(ids=runif(10), a=1:10, b=11:20)
idf$c <- 21:30

Error in identical(a@ids, ids) :
  no slot of name "ids" for this object of class "DataFrame"
In addition: Warning message:
In methods:::.selectDotsMethod(classes, .MTable, .AllMTable) :
  multiple direct matches: "IndexedDataFrame", "DataFrame"; using the first of 
these

Specific examples where I use this pattern are new MassDataFrame and 
PositionDataFrame classes in Cardinal, which require associated m/z-values and 
pixel coordinates as additional metadata. Current source code is here:

https://github.com/kuwisdelu/Cardinal/blob/master/R/methods2-MassDataFrame.R
https://github.com/kuwisdelu/Cardinal/blob/master/R/methods2-PositionDataFrame.R

In older versions of Cardinal, similar versions of these classes extended 
AnnotatedDataFrame and used regular columns for this metadata, while requiring 
those columns to follow a specific naming scheme. This proved fragile, 
difficult to maintain, and easily broken, so I am now using slots to contain 
this metadata so they can be validated independently of whatever user-supplied 
columns exist.

Kylie

~~~
Kylie Ariel Bemis
College of Computer and Information Science
Northeastern University
kuwisdelu.github.io





On Nov 14, 2018, at 10:12 AM, Michael Lawrence 
mailto:lawrence.mich...@gene.com>> wrote:

I don't want to derail this thread, but why is coerce2() necessary? Would it be 
possible to fold its logic into as() without breaking too much?

Kylie,

It would help to see your code, with some pointers to where things break.

Michael

On Wed, Nov 14, 2018 at 5:36 AM Bemis, Kylie 
mailto:k.be...@northeastern.edu>> wrote:
Hi Herve,

Thanks for the detailed reply. Using as() makes sense. Unfortunately my use 
case makes it a little more complicated.

The issue comes from a combination of factors:

- My DataFrame subclasses track additional metadata for each row, separate from 
the typical user-defined columns
- This metadata is checked to decide how to do cbind(...) or if cbind(...) 
makes sense for those objects
- cbind(...) ends up being called internally by some inherited assignment 
methods like [[<-
- Coercing to my subclass with as() results in incompatible metadata, causing 
cbind(...) to fail

I see a few solutions:

1. Using coerce2() works where as() doesn’t, because it takes an example of the 
“to” object rather than just the class, so compatible metadata can be copied 
directly from the “to” object, allowing cbind(…) to work as intended.

2. Create an exception to my class logic that allows the metadata to be 
missing, and change my cbind(…) implementation to ignore the metadata in the 
case that it is missing.

3. Supply my own version of methods like [[<-. I don’t like this one, since it 
should be unnecessary.

I can do (2), but I would need to rethink some of my other methods that expect 
that metadata to exist, so I wanted to check on the plans for coerce2() before 
making those changes.

What are your thoughts?

Thanks!
Kylie

~~~
Kylie Ariel Bemis
College of Computer and Information Science
Northeastern University
kuwisdelu.github.io>





On Nov 13, 2018, at 8:55 PM, Pages, Herve 
mailto:hpa...@fredhutch.org>>>
 wrote:


Hi Kylie,

I've modified coerce2() in S4Vectors 0.21.5 so that `coerce2(from, to)` should 
now do the right thing when 'to' is a DataFrame derivative:

  

Re: [Bioc-devel] Several vignettes with links between them

2018-11-14 Thread David Jimenez-Morales
Thanks Kevin, your biased suggestion is perfect!

All the best,
David

On Wed, Nov 14, 2018 at 1:36 AM Kevin RUE  wrote:

> Hi David,
>
> First off, I'd recommend introducing non-crucial changes like this one on
> the devel branch (3.9). The devel branch is the developers' primary
> playground. If you _really_ think that users can't live without those
> vignette updates before the next release, then you can always `git
> cherry-pick` (https://git-scm.com/docs/git-cherry-pick) the commits from
> the devel branch and apply them to the release branch. Just triple-check
> before pushing anything to the Bioconductor Git repository that you're not
> introducing any bug (...which is why the release branch it is recommended
> to only _fix_ bugs on the release branch).
>
> Then, to answer your questions, I'm sure there are several examples of
> packages that use links between their multiple vignettes. Here's my
> (biased) suggestion of an example :
> https://github.com/csoneson/iSEE/blob/master/vignettes/basic.Rmd#L216
> For the result, see:
> http://bioconductor.org/packages/release/bioc/vignettes/iSEE/inst/doc/basic.html
>
>
> Best,
> Kevin
>
> On Wed, Nov 14, 2018 at 6:13 AM David Jimenez-Morales <
> biodavi...@gmail.com> wrote:
>
>> Dear all,
>>
>> I am working on creating several vignettes for my recently released
>> package
>> (artMS), instead of having only a long one (as suggested by the bioc
>> reviewer). Two questions:
>>
>>- Is there a way to link vignettes between themselves? For example, if
>> I
>>have 3 new vignettes, let’s say
>>
>> vignettes/overviewQuickStart.Rmd
>> vignettes/details01.Rmd
>> vignettes/details02.Rmd
>>
>> and I want to add links in overview.Rmd to details01.Rmd and
>> details02.Rmd…
>> is this possible?
>>
>>- Is ok if I include this improvement in the RELEASE_3_8 branch?
>>
>> Thanks a lot!
>> David
>>
>> [[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] Possible to export coerce2() from S4Vectors?

2018-11-14 Thread Michael Lawrence
I don't want to derail this thread, but why is coerce2() necessary? Would
it be possible to fold its logic into as() without breaking too much?

Kylie,

It would help to see your code, with some pointers to where things break.

Michael

On Wed, Nov 14, 2018 at 5:36 AM Bemis, Kylie 
wrote:

> Hi Herve,
>
> Thanks for the detailed reply. Using as() makes sense. Unfortunately my
> use case makes it a little more complicated.
>
> The issue comes from a combination of factors:
>
> - My DataFrame subclasses track additional metadata for each row, separate
> from the typical user-defined columns
> - This metadata is checked to decide how to do cbind(...) or if cbind(...)
> makes sense for those objects
> - cbind(...) ends up being called internally by some inherited assignment
> methods like [[<-
> - Coercing to my subclass with as() results in incompatible metadata,
> causing cbind(...) to fail
>
> I see a few solutions:
>
> 1. Using coerce2() works where as() doesn’t, because it takes an example
> of the “to” object rather than just the class, so compatible metadata can
> be copied directly from the “to” object, allowing cbind(…) to work as
> intended.
>
> 2. Create an exception to my class logic that allows the metadata to be
> missing, and change my cbind(…) implementation to ignore the metadata in
> the case that it is missing.
>
> 3. Supply my own version of methods like [[<-. I don’t like this one,
> since it should be unnecessary.
>
> I can do (2), but I would need to rethink some of my other methods that
> expect that metadata to exist, so I wanted to check on the plans for
> coerce2() before making those changes.
>
> What are your thoughts?
>
> Thanks!
> Kylie
>
> ~~~
> Kylie Ariel Bemis
> College of Computer and Information Science
> Northeastern University
> kuwisdelu.github.io
>
>
>
>
>
> On Nov 13, 2018, at 8:55 PM, Pages, Herve  hpa...@fredhutch.org>> wrote:
>
>
> Hi Kylie,
>
> I've modified coerce2() in S4Vectors 0.21.5 so that `coerce2(from, to)`
> should now do the right thing when 'to' is a DataFrame derivative:
>
>
> https://github.com/Bioconductor/S4Vectors/commit/48e11dd2c8d474c63e09a69ee7d2d2ec35d7307a
> <
> https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FBioconductor%2FS4Vectors%2Fcommit%2F48e11dd2c8d474c63e09a69ee7d2d2ec35d7307a=02%7C01%7Ck.bemis%40northeastern.edu%7Cd1ed8517bd164aeed6be08d649d441d6%7Ca8eec281aaa34daeac9b9a398b9215e7%7C0%7C0%7C636777573332495470=6QqZsJmrVuB1fQ0FcBCvSIZT3Uyt3CBmhlsE7YzZNiw%3D=0
> >
>
> With the following gotcha: this will work only if coercion (with as())
> from DataFrame to the DataFrame derivative does the right thing. So I'm
> assuming that this coercion makes sense and can be supported. There are 2
> possible situations:
>
> 1) The automatic coercion method from DataFrame to your DataFrame
> derivative (i.e. the coercion method automatically defined by the methods
> package) does the right thing. In this case coerce2() (and therefore [[<-)
> will also do the right thing on your DataFrame derivatives. For example:
>
>   library(S4Vectors)
>   setClass("MyDataFrameExtension", contains="DataFrame")
>
>   ## WARNING: Don't trust selectMethod() here!
>   selectMethod("coerce", c("DataFrame", "MyDataFrameExtension"))
>   # Error in selectMethod("coerce", c("DataFrame",
> "MyDataFrameExtension")) :
>   #  no method found for signature DataFrame, MyDataFrameExtension
>
>   as(DataFrame(), "MyDataFrameExtension")
>   # MyDataFrameExtension with 0 rows and 0 columns
>
>   ## The automatic coercion method is only created the 1st time it's used!
>   ## So now selectMethod() shows it:
>   selectMethod("coerce", c("DataFrame", "MyDataFrameExtension"))
>   # Method Definition:
>   #
>   # function (from, to = "MyDataFrameExtension", strict = TRUE)
>   # {
>   # obj <- new("MyDataFrameExtension")
>   # as(obj, "DataFrame") <- from
>   # obj
>   # }
>   # 
>   #
>   # Signatures:
>   # fromto
>   # target  "DataFrame" "MyDataFrameExtension"
>   # defined "DataFrame" "MyDataFrameExtension"
>
>
>   MDF <- new("MyDataFrameExtension")
>   S4Vectors:::coerce2(list(aa=1:3, bb=21:23), MDF)
>   # MyDataFrameExtension with 3 rows and 2 columns
>   #  aabb
>   #
>   # 1 121
>   # 2 222
>   # 3 323
>
>
> 2) The automatic coercion method from DataFrame to your DataFrame
> derivative doesn't do the right thing (e.g. it returns an invalid object).
> In this case you need to define this coercion (with a setAs() statement).
> This will allow coerce2() (and therefore [[<-) to do the right thing on
> your DataFrame derivatives.
>
> There is no plan at the moment to export coerce2() because this should not
> be needed. The idea is that developers should not need to define "coerce2"
> methods but instead make it work via the addition of the appropriate
> coercion methods. The only purpose of coerce2() is to support things like
> [[<- 

Re: [Bioc-devel] Error : object 'lengths' is not exported by 'namespace:BiocGenerics'

2018-11-14 Thread Kasper Daniel Hansen
It seems the short answer is:
  yes, base::lengths() works and should be fast
If it either doesn't work or is slow, you should report it.

On Tue, Nov 13, 2018 at 3:33 PM Pages, Herve  wrote:

> I'm going to try to provide some details, at the risk to confuse you even
> more.
>
>
> In BioC 3.8 / R 3.5 base::lengths() was not just slow on some Bioconductor
> objects like IRanges or GRanges, it didn't work:
>
>
>   > ir <- IRanges(1:21, 20)
>   > base::lengths(ir)
>   Error in getListElement(x, i, ...) :
> IRanges objects don't support [[, as.list(), lapply(), or unlist() at
> the moment
>
>
> Now it works (in BioC 3.9 / R 3.6):
>
>
>   > ir <- IRanges(1:21, 20)
>   > base::lengths(ir)
>[1] 20 19 18 17 16 15 14 13 12 11 10  9  8  7  6  5  4  3  2  1  0
>
>
> The change I announced in my original post is about base::lengths() being
> now an S4 generic. A standard S4 generic like BiocGenerics::lengths() or
> base::lengths() doesn't do any work beyond dispatching to the right method.
> What happened in R 3.6 is that base::lengths() is now an S4 generic. This
> means that it knows how to take care of dispatching to the right method.
> The various "lengths" methods defined in Bioconductor are the ones doing
> the real work and they are fast. They have not changed and their speed
> should not be affected by this change in base::lengths().
>
>
> Furthermore: in R 3.6, even though you can't see it, there is a default
> "lengths" method defined in base (it's used as a fallback when no other
> method applies). In my 1st code chunk above (i.e. when base::lengths() was
> not a generic), I'm calling directly this default method (note that this
> was the default method of the BiocGenerics::lengths() generic). This
> default method is indeed slow or doesn't work on Bioconductor objects. By
> calling BiocGenerics::lengths() (in BioC 3.8) or base::lengths() (in BioC
> 3.9), dispatch selects the fast method so nothing has changed from that
> perspective.
>
>
> Hope this helps,
>
> H.
>
>
> On 11/13/18 08:59, Håkon Tjeldnes wrote:
> Just to be sure, you are saying that now base::lengths is as fast as
> BiocGenerics::lengths was ? Else we would still need the Bioc version.
> Because the old base implementation was terrible, I will try to verify this
> if you are unsure.
> 
> Fra: Michael Lawrence  lawrence.mich...@gene.com>
> Sendt: fredag 2. november 2018 23.50
> Til: hauken_hey...@hotmail.com
> Kopi: bioc-devel; Hervé Pagès
> Emne: Re: [Bioc-devel] Error : object 'lengths' is not exported by
> 'namespace:BiocGenerics'
>
> Yes, please follow Hervé's instructions.
>
> On Fri, Nov 2, 2018 at 3:41 PM Håkon Tjeldnes  > wrote:
> Just a quick question, in 3.8 we used biogenerics::lengths for ORFik,
> since it was much faster than base, for our dataset 1 second vs 30 minutes.
> We should change to S4 version of lengths now ?
>
> Get Outlook for Android https://urldefense.proofpoint.com/v2/url?u=https-3A__eur02.safelinks.protection.outlook.com_-3Furl-3Dhttps-253A-252F-252Faka.ms-252Fghei36-26data-3D02-257C01-257C-257Ce617c34c45584b70cf7008d6411590f9-257C84df9e7fe9f640afb435-257C1-257C0-257C636767958210704172-26sdata-3DUl3jkwHfZdrwQjkzzBQTKrXdQ5NXQ1vWRrx7vojZEAw-253D-26reserved-3D0=DwMFAw=eRAMFD45gAfqt84VtBcfhQ=BK7q3XeAvimeWdGbWY_wJYbW0WYiZvSXAJJKaaPhzWA=VkR31AqDi_FLujiTJm39v-jaLNkPJov4_ZlFjFit9UI=C8hC46CIc0bUw9WUxrvaekaCsN1NAlLcyxiuFKgRjCs=
> >>
>
> 
> From: Bioc-devel  bioc-devel-boun...@r-project.org>> on behalf of Pages, Herve <
> hpa...@fredhutch.org>
> Sent: Friday, November 2, 2018 6:08:13 PM
> To: bioc-devel@r-project.org
> Subject: [Bioc-devel] Error : object 'lengths' is not exported by
> 'namespace:BiocGenerics'
>
> Hi developers,
>
> Starting with R 3.6, base::lengths() can now be treated as an S4 generic
> function (like base::length() or base::names()) so there is no need for
> us to define our own lengths() generic function in BiocGenerics.
> Therefore we've removed the lengths() generic from BiocGenerics (in
> version 0.29.1). Note that you can see the S4 generic associated with
> base::lengths() by calling getGeneric("lengths") in a fresh R session:
>
>> getGeneric("lengths")
>standardGeneric for "lengths" defined from package "base"
>
>function (x, use.names = TRUE)
>standardGeneric("lengths")
>
>
>Methods may be defined for arguments: x
>Use  showMethods("lengths")  for currently available ones.
>
> This used to return NULL in R < 3.6.
>
> Because of these changes, packages that currently explicitly import
> lengths or a lengths method in their NAMESPACE are failing to install
> with an error that looks like this:
>
>** byte-compile and prepare package for lazy loading
>Error : object 'lengths' is not exported by 'namespace:BiocGenerics'

Re: [Bioc-devel] Possible to export coerce2() from S4Vectors?

2018-11-14 Thread Bemis, Kylie
Hi Herve,

Thanks for the detailed reply. Using as() makes sense. Unfortunately my use 
case makes it a little more complicated.

The issue comes from a combination of factors:

- My DataFrame subclasses track additional metadata for each row, separate from 
the typical user-defined columns
- This metadata is checked to decide how to do cbind(...) or if cbind(...) 
makes sense for those objects
- cbind(...) ends up being called internally by some inherited assignment 
methods like [[<-
- Coercing to my subclass with as() results in incompatible metadata, causing 
cbind(...) to fail

I see a few solutions:

1. Using coerce2() works where as() doesn’t, because it takes an example of the 
“to” object rather than just the class, so compatible metadata can be copied 
directly from the “to” object, allowing cbind(…) to work as intended.

2. Create an exception to my class logic that allows the metadata to be 
missing, and change my cbind(…) implementation to ignore the metadata in the 
case that it is missing.

3. Supply my own version of methods like [[<-. I don’t like this one, since it 
should be unnecessary.

I can do (2), but I would need to rethink some of my other methods that expect 
that metadata to exist, so I wanted to check on the plans for coerce2() before 
making those changes.

What are your thoughts?

Thanks!
Kylie

~~~
Kylie Ariel Bemis
College of Computer and Information Science
Northeastern University
kuwisdelu.github.io





On Nov 13, 2018, at 8:55 PM, Pages, Herve 
mailto:hpa...@fredhutch.org>> wrote:


Hi Kylie,

I've modified coerce2() in S4Vectors 0.21.5 so that `coerce2(from, to)` should 
now do the right thing when 'to' is a DataFrame derivative:

  
https://github.com/Bioconductor/S4Vectors/commit/48e11dd2c8d474c63e09a69ee7d2d2ec35d7307a

With the following gotcha: this will work only if coercion (with as()) from 
DataFrame to the DataFrame derivative does the right thing. So I'm assuming 
that this coercion makes sense and can be supported. There are 2 possible 
situations:

1) The automatic coercion method from DataFrame to your DataFrame derivative 
(i.e. the coercion method automatically defined by the methods package) does 
the right thing. In this case coerce2() (and therefore [[<-) will also do the 
right thing on your DataFrame derivatives. For example:

  library(S4Vectors)
  setClass("MyDataFrameExtension", contains="DataFrame")

  ## WARNING: Don't trust selectMethod() here!
  selectMethod("coerce", c("DataFrame", "MyDataFrameExtension"))
  # Error in selectMethod("coerce", c("DataFrame", "MyDataFrameExtension")) :
  #  no method found for signature DataFrame, MyDataFrameExtension

  as(DataFrame(), "MyDataFrameExtension")
  # MyDataFrameExtension with 0 rows and 0 columns

  ## The automatic coercion method is only created the 1st time it's used!
  ## So now selectMethod() shows it:
  selectMethod("coerce", c("DataFrame", "MyDataFrameExtension"))
  # Method Definition:
  #
  # function (from, to = "MyDataFrameExtension", strict = TRUE)
  # {
  # obj <- new("MyDataFrameExtension")
  # as(obj, "DataFrame") <- from
  # obj
  # }
  # 
  #
  # Signatures:
  # fromto
  # target  "DataFrame" "MyDataFrameExtension"
  # defined "DataFrame" "MyDataFrameExtension"


  MDF <- new("MyDataFrameExtension")
  S4Vectors:::coerce2(list(aa=1:3, bb=21:23), MDF)
  # MyDataFrameExtension with 3 rows and 2 columns
  #  aabb
  #
  # 1 121
  # 2 222
  # 3 323


2) The automatic coercion method from DataFrame to your DataFrame derivative 
doesn't do the right thing (e.g. it returns an invalid object). In this case 
you need to define this coercion (with a setAs() statement). This will allow 
coerce2() (and therefore [[<-) to do the right thing on your DataFrame 
derivatives.

There is no plan at the moment to export coerce2() because this should not be 
needed. The idea is that developers should not need to define "coerce2" methods 
but instead make it work via the addition of the appropriate coercion methods. 
The only purpose of coerce2() is to support things like [[<- and endoapply(). 
Once coerce2() works properly, these things work out-of-the-box.

So to summarize: just make sure that a DataFrame can be coerced to your 
DataFrame derivative and [[<- and endoapply() will work out-of-the-box. It 
could be however that this coercion doesn't make sense and cannot be supported, 
in which case, we'll need to do something different. Let me know if that's the 
case.

H.


On 11/13/18 12:45, Bemis, Kylie wrote:

Dear all,

Are there any plans 

Re: [Bioc-devel] Several vignettes with links between them

2018-11-14 Thread Kevin RUE
Hi David,

First off, I'd recommend introducing non-crucial changes like this one on
the devel branch (3.9). The devel branch is the developers' primary
playground. If you _really_ think that users can't live without those
vignette updates before the next release, then you can always `git
cherry-pick` (https://git-scm.com/docs/git-cherry-pick) the commits from
the devel branch and apply them to the release branch. Just triple-check
before pushing anything to the Bioconductor Git repository that you're not
introducing any bug (...which is why the release branch it is recommended
to only _fix_ bugs on the release branch).

Then, to answer your questions, I'm sure there are several examples of
packages that use links between their multiple vignettes. Here's my
(biased) suggestion of an example :
https://github.com/csoneson/iSEE/blob/master/vignettes/basic.Rmd#L216
For the result, see:
http://bioconductor.org/packages/release/bioc/vignettes/iSEE/inst/doc/basic.html


Best,
Kevin

On Wed, Nov 14, 2018 at 6:13 AM David Jimenez-Morales 
wrote:

> Dear all,
>
> I am working on creating several vignettes for my recently released package
> (artMS), instead of having only a long one (as suggested by the bioc
> reviewer). Two questions:
>
>- Is there a way to link vignettes between themselves? For example, if I
>have 3 new vignettes, let’s say
>
> vignettes/overviewQuickStart.Rmd
> vignettes/details01.Rmd
> vignettes/details02.Rmd
>
> and I want to add links in overview.Rmd to details01.Rmd and details02.Rmd…
> is this possible?
>
>- Is ok if I include this improvement in the RELEASE_3_8 branch?
>
> Thanks a lot!
> David
>
> [[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


[Bioc-devel] Access to Bioconductor Git Credentials account

2018-11-14 Thread Norman Pavelka
Dear all,

I am the current maintainer of package 'plgem'. I've not been checking
out the code in a long time, but would like to commit a few changes
now. I noticed the transition from SVN to GIT. I installed Git for
Windows and tried accessing my repository, but noticed I need to
submit my public SSH key first. So I was trying to active an account
here:

https://git.bioconductor.org/BiocCredentials/account_activation/

But got the following error message:
"normanpave...@gmail.com is not associated with a maintainer of a
Bioconductor package. Please check the spelling or contact
bioc-devel@r-project.org for help."

Could someone please help me activate my account and regain access to
my repository?

Thank you and best regards,
Norman

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