[Bioc-devel] Dependency on devtools in biocLite()

2017-01-13 Thread Andrzej Oleś
Dear all,

it's great that for some time now `biocLite()` also resolves package
dependencies for GitHub hosted packages. However, as this functionality
depends on devtools, an attempt to install a GitHub package when devtools
is not installed results in an error

> library(BiocInstaller)
> biocLite("aoles/RBioFormats")
BioC_mirror: https://bioconductor.org
Using Bioconductor 3.4 (BiocInstaller 1.24.0), R 3.3.2 (2016-10-31).
Error: package 'devtools' not available: there is no package called
‘devtools’

If this is the case, one would typically need to first install devtools,
and rerun the biocLite command. I was wondering whether it would make sense
to modify the behavior such that before attempting to call
`devtools::install` in

https://github.com/Bioconductor-mirror/BiocInstaller/blob/
9965cc72d009bfcae6776a02e5abb94cbd5dd109/R/biocLite.R#L48

first check for devtools availability and try to automatically install it
if missing (maybe by prompting the user). What do you think?

Cheers,
Andrzej

[[alternative HTML version deleted]]

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

Re: [Bioc-devel] readGAlignments Lacks strandMode

2017-01-13 Thread Hervé Pagès

On 01/13/2017 12:36 PM, Hervé Pagès wrote:

Hi,

No ifelse() statement needed. Just use invertStrand() on your
GAlignments object to invert its strand.

strandMode is specific to paired-end reads and the supported modes
reflect what other software do with paired-end reads (e.g. TopHat,
Rsubread, etc..). These modes don't make sense for single-end reads.

Furthermore note that the mode only affects the way the strand() getter
for GAlignmentPairs objects combines the strands from the first and last
end to return a single value for each pair. It does NOT modify the
strand of each end:

  library(GenomicAlignments)
  bamfile <- system.file("extdata", "ex1.bam", package="Rsamtools")

  ## strandMode 1
  galp <- readGAlignmentPairs(bamfile, strandMode=1)[c(1:3, 1572)]
  as.character(strand(first(galp)))
  # [1] "+" "+" "+" "-"
  as.character(strand(last(galp)))
  # [1] "-" "-" "-" "+"
  as.character(strand(galp))
  # [1] "+" "+" "+" "-"

  ## strandMode 2
  galp <- readGAlignmentPairs(bamfile, strandMode=2)[c(1:3, 1572)]
  as.character(strand(first(galp)))  # same as with strandMode 1
  # [1] "+" "+" "+" "-"
  as.character(strand(last(galp)))   # same as with strandMode 2

I meant  . . . . . . . . . . . . . .   # same as with strandMode 1

H.


  # [1] "-" "-" "-" "+"
  as.character(strand(galp))
  # [1] "-" "-" "-" "+"

As you can see, in both case the strand of the first and last end is
what's in the BAM file.

I'm a big fan of consistency but generally speaking I don't think
consistency means that every import function should provide the exact
same interface, whatever the data to import is. That's why we have
different functions for different data in the 1st place.

H.

On 01/05/2017 11:00 PM, Dario Strbenac wrote:

Good day,

readGAlignmentPairs has strandMode but readGAlignments doesn't, which
means that single-end strand-specific RNA-seq that generates sequences
on the opposite strand to the gene needs a subsequent ifelse
statement. The API could be more consistent by providing a strandMode
option for readGAlignments and other similar functions in
GenomicAlignments.

--
Dario Strbenac
University of Sydney
Camperdown NSW 2050
Australia
___
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel





--
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


Re: [Bioc-devel] readGAlignments Lacks strandMode

2017-01-13 Thread Hervé Pagès

Hi,

No ifelse() statement needed. Just use invertStrand() on your
GAlignments object to invert its strand.

strandMode is specific to paired-end reads and the supported modes
reflect what other software do with paired-end reads (e.g. TopHat,
Rsubread, etc..). These modes don't make sense for single-end reads.

Furthermore note that the mode only affects the way the strand() getter
for GAlignmentPairs objects combines the strands from the first and last
end to return a single value for each pair. It does NOT modify the
strand of each end:

  library(GenomicAlignments)
  bamfile <- system.file("extdata", "ex1.bam", package="Rsamtools")

  ## strandMode 1
  galp <- readGAlignmentPairs(bamfile, strandMode=1)[c(1:3, 1572)]
  as.character(strand(first(galp)))
  # [1] "+" "+" "+" "-"
  as.character(strand(last(galp)))
  # [1] "-" "-" "-" "+"
  as.character(strand(galp))
  # [1] "+" "+" "+" "-"

  ## strandMode 2
  galp <- readGAlignmentPairs(bamfile, strandMode=2)[c(1:3, 1572)]
  as.character(strand(first(galp)))  # same as with strandMode 1
  # [1] "+" "+" "+" "-"
  as.character(strand(last(galp)))   # same as with strandMode 2
  # [1] "-" "-" "-" "+"
  as.character(strand(galp))
  # [1] "-" "-" "-" "+"

As you can see, in both case the strand of the first and last end is
what's in the BAM file.

I'm a big fan of consistency but generally speaking I don't think
consistency means that every import function should provide the exact
same interface, whatever the data to import is. That's why we have
different functions for different data in the 1st place.

H.

On 01/05/2017 11:00 PM, Dario Strbenac wrote:

Good day,

readGAlignmentPairs has strandMode but readGAlignments doesn't, which means 
that single-end strand-specific RNA-seq that generates sequences on the 
opposite strand to the gene needs a subsequent ifelse statement. The API could 
be more consistent by providing a strandMode option for readGAlignments and 
other similar functions in GenomicAlignments.

--
Dario Strbenac
University of Sydney
Camperdown NSW 2050
Australia
___
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel



--
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