My conjecture is that this is because while import can handle you not
passing in a format, it doesn't have a default value for the parameter, so
? has no way of knowing what the body of the function is going to put into
the format variable before it uses it.

~G


On Thu, Feb 20, 2014 at 5:03 PM, Gabriel Becker <gmbec...@ucdavis.edu>wrote:

> Herve,
>
> The help is correct (though possibly a bit pedantic),  there is no method
> for that signature.
>
> ?import("", "")
>
> works for me though
>
> ~G
>
>
> On Thu, Feb 20, 2014 at 4:51 PM, Hervé Pagès <hpa...@fhcrc.org> wrote:
>
>> On 02/20/2014 04:16 PM, Michael Lawrence wrote:
>>
>>> There's also "?coverage(ga)", so the user can see what happens
>>> specifically for their object, without worrying about typing out the
>>> class.
>>>
>>
>> I was never lucky with this:
>>
>>   > library(rtracklayer)
>>   > path_to_gff <- system.file("tests", "v1.gff", package = "rtracklayer")
>>   > ?import(path_to_gff)
>>   Error in .helpForCall(topicExpr, parent.frame()) :
>>     no documentation for function 'import' and signature 'con =
>> "character", format = "ANY", text = "ANY"'
>>   In addition: Warning message:
>>   In .helpForCall(topicExpr, parent.frame()) :
>>     no method defined for function 'import' and signature 'con =
>> "character", format = "ANY", text = "ANY"'
>>
>> H.
>>
>>
>>> At some point it would be neat to generate S4 documentation at run-time.
>>> Just popup a browser and see every method that might be dispatched with
>>> a given object. In theory, the R help server would support this.
>>>
>>>
>>> On Thu, Feb 20, 2014 at 3:13 PM, Hervé Pagès <hpa...@fhcrc.org
>>> <mailto:hpa...@fhcrc.org>> wrote:
>>>
>>>
>>>
>>>     On 02/20/2014 02:55 PM, Martin Morgan wrote:
>>>
>>>         On 02/20/2014 02:32 PM, Hervé Pagès wrote:
>>>
>>>             Hi Jesper,
>>>
>>>             On 02/20/2014 02:13 PM, Jesper Gådin wrote:
>>>
>>>                 Very true that it is quite difficult to find the
>>>                 documentation when one
>>>                 is not aware of its existence :P
>>>
>>>
>>>             Yeah, this has been a source of frustration for many people.
>>> And
>>>             always a source of embarrassment (for us) when teaching our
>>>             software
>>>             to beginners.
>>>
>>>             I've started to change this. In the upcoming version of BioC
>>>             (2.14,
>>>             scheduled for mid-April), when you'll do ?coverage, you'll
>>>             get to
>>>             choose between the 3 man pages that document coverage
>>>             methods (there
>>>             is one in IRanges, one in GenomicRanges, and one in
>>>             GenomicAlignments).
>>>
>>>             I want to generalize this to other generics that have
>>>             methods spread
>>>             across several packages (e.g. findOverlaps, the intra- and
>>>             inter-range
>>>             methods, etc...).
>>>
>>>             Having to choose between several man pages every time you do
>>>             e.g.
>>>             ?findOverlaps is a minor annoyance compared to not being
>>> able to
>>>             find the man page at all. (Note that if you already know
>>>             where is
>>>             your favorite man page, you'll be able to direct access it
>>> with
>>>             e.g. ?GenomicRanges::findOverlaps). Nobody will ever need to
>>> use
>>>             the insane
>>>             ?`findOverlaps,GenomicRanges,__GenomicRanges-method` to
>>>
>>>
>>>
>>>         tab completion helps, so that you don't need to be totally
>>>         insane, just
>>>         insane enough to know to start with
>>>
>>>         ?"cover<tab>
>>>
>>>
>>>     and also insane enough to know which method you need to pick up
>>> amongst
>>>     the 30+ methods listed by ?"findOverlaps<tab>
>>>     Overwhelming!
>>>
>>>     H.
>>>
>>>
>>>
>>>         Martin
>>>
>>>             open that man page again. Ever! (it will still work
>>> though...)
>>>
>>>             Cheers,
>>>             H.
>>>
>>>
>>>                 coverage() is fast and beautiful. Thanks!
>>>
>>>                 /Jesper
>>>
>>>
>>>                 On Wed, Feb 19, 2014 at 9:21 PM, Hervé Pagès
>>>                 <hpa...@fhcrc.org <mailto:hpa...@fhcrc.org>
>>>                 <mailto:hpa...@fhcrc.org <mailto:hpa...@fhcrc.org>>>
>>> wrote:
>>>
>>>                      Hi Jesper,
>>>
>>>
>>>                      On 02/19/2014 08:44 AM, Michael Lawrence wrote:
>>>
>>>                          On Wed, Feb 19, 2014 at 8:39 AM, Jesper Gådin
>>>                          <jesper.ga...@gmail.com
>>>                 <mailto:jesper.ga...@gmail.com>
>>>                 <mailto:jesper.ga...@gmail.com
>>>                 <mailto:jesper.ga...@gmail.com>__>>wrote:
>>>
>>>
>>>                              Hi Michael,
>>>
>>>                              Herves suggestion will probably work for my
>>>                 use case, but if
>>>                              there are any
>>>                              smoother ways it would be preferable.
>>>
>>>                              The use case is as follows:
>>>
>>>                              1) calculate strand specific coverage over
>>>                 a region from
>>>                              GAlignments object (or file)
>>>
>>>                              At the moment I read a file using
>>>                 readGAlignmentsFromBam()
>>>                              with tag="XS",
>>>                              then filter it on "flag" and "mapq". Then I
>>>                 subset the
>>>                              resulting GAlignments in a minus and a plus
>>>                 -strand object.
>>>                              Then I calculate coverage by my own
>>>                 coverage function which
>>>                              uses the cigar
>>>                              information in the GAlignments object. This
>>>                 function is the
>>>                              one using
>>>                              cigarToRleList() at the moment. As I
>>>                 understand the
>>>                              coverage() function
>>>                              from the GenomicAlignments/IRanges package
>>>                 does not take
>>>                              into account
>>>                              cigars, or does it?
>>>
>>>
>>>                          It does take the coverage into account;
>>>                 specifically to exclude
>>>                          the introns
>>>                          from coverage. I think there's also an option
>>>                 to exclude
>>>                 deletions.
>>>
>>>
>>>                      Unfortunately the man page is not easy to access
>>>                 (you need to do
>>>                      ?`coverage,GAlignments-method`____), but it says:
>>>
>>>                          The methods for GAlignments and GAlignmentPairs
>>>                 objects do:
>>>
>>>                            coverage(grglist(x), ...)
>>>
>>>                      And if you do grglist() on a GAlignments or
>>>                 GAlignmentPairs
>>>                 objects, the
>>>                      ranges you get in the returned GRangesList object
>>>                 are calculated
>>>                 based
>>>                      on the CIGAR.
>>>
>>>                      Trust but verify. Here is how you can actually
>>>                 verify that
>>>                 coverage()
>>>                      does take the CIGAR into account:
>>>
>>>                         library(RNAseqData.HNRNPC.bam.____chr14)
>>>                         gal <-
>>>                 readGAlignments(RNAseqData.___
>>> _HNRNPC.bam.chr14_BAMFILES[1])
>>>
>>>                         cig_op_table <- cigarOpTable(cigar(gal))
>>>
>>>                      First we pick up an alignment with an N in its
>>>                 CIGAR and do
>>>                 coverage()
>>>                      on it:
>>>
>>>                         > gal_with_N <- gal[which(cig_op_table[ , "N"]
>>>                 != 0)[1]]
>>>
>>>                         > gal_with_N
>>>                         GAlignments with 1 alignment and 0 metadata
>>> columns:
>>>                               seqnames strand       cigar    qwidth
>>>                 start       end
>>>                         width
>>>                                  <Rle>  <Rle> <character> <integer>
>>>                 <integer> <integer>
>>>                      <integer>
>>>                           [1]    chr14      + 55M2117N17M        72
>>>                   19650072  19652260
>>>                          2189
>>>                                    ngap
>>>                               <integer>
>>>                           [1]         1
>>>                           ---
>>>                           seqlengths:
>>>                                           chr1                 chr10 ...
>>>                        chrY
>>>                                      249250621             135534747 ...
>>>                        59373566
>>>
>>>                         > coverage(gal_with_N)$chr14
>>>                         integer-Rle of length 107349540 with 5 runs
>>>                           Lengths: 19650071       55     2117       17
>>>                 87697280
>>>                           Values :        0        1        0        1
>>>                       0
>>>
>>>                      Same thing with an alignment with an I in its CIGAR:
>>>
>>>                         > gal_with_I <- gal[which(cig_op_table[ , "I"]
>>>                 != 0)[1]]
>>>
>>>                         > gal_with_I
>>>                         GAlignments with 1 alignment and 0 metadata
>>> columns:
>>>                               seqnames strand       cigar    qwidth
>>>                 start       end
>>>                         width
>>>                                  <Rle>  <Rle> <character> <integer>
>>>                 <integer> <integer>
>>>                      <integer>
>>>                           [1]    chr14      -     64M1I7M        72
>>>                   19411677  19411747
>>>                            71
>>>                                    ngap
>>>                               <integer>
>>>                           [1]         0
>>>                           ---
>>>                           seqlengths:
>>>                                           chr1                 chr10 ...
>>>                        chrY
>>>                                      249250621             135534747 ...
>>>                        59373566
>>>
>>>                         > coverage(gal_with_I)$chr14
>>>                         integer-Rle of length 107349540 with 3 runs
>>>                           Lengths: 19411676 71 87937793
>>> <tel:71%2087937793>
>>>                           Values :        0        1        0
>>>
>>>                      Same thing with an alignment with a D in its CIGAR:
>>>
>>>                         > gal_with_D <- gal[which(cig_op_table[ , "D"]
>>>                 != 0)[1]]
>>>
>>>                         > gal_with_D
>>>                         GAlignments with 1 alignment and 0 metadata
>>> columns:
>>>                               seqnames strand       cigar    qwidth
>>>                 start       end
>>>                         width
>>>                                  <Rle>  <Rle> <character> <integer>
>>>                 <integer> <integer>
>>>                      <integer>
>>>                           [1]    chr14      +    38M1D34M        72
>>>                   19659063  19659135
>>>                            73
>>>                                    ngap
>>>                               <integer>
>>>                           [1]         0
>>>                           ---
>>>                           seqlengths:
>>>                                           chr1                 chr10 ...
>>>                        chrY
>>>                                      249250621             135534747 ...
>>>                        59373566
>>>
>>>                         > coverage(gal_with_D)$chr14
>>>                         integer-Rle of length 107349540 with 3 runs
>>>                           Lengths: 19659062       73 87690405
>>>                           Values :        0        1        0
>>>
>>>                      Seeing is believing,
>>>
>>>                      Cheers,
>>>                      H.
>>>
>>>
>>>
>>>                              I started to look at the applyPileups() in
>>>                 Rsamtools which I
>>>                              can get to
>>>                              calculate coverage using cigars, but not
>>>                 using the strand or
>>>                              flag
>>>                              information for filtering. That solution
>>>                 would start from a
>>>                              bam-file
>>>                              instead of a GAlignments object, and sure I
>>>                 can do the
>>>                              filtering outside R.
>>>                              But it would be very convenient to do it
>>>                 all from within R.
>>>
>>>                              If there are nice solutions starting from
>>>                 both a GAlignments
>>>                              and a
>>>                              bam-file it would be great! =)
>>>
>>>                              /Jesper
>>>
>>>
>>>
>>>                              On Tue, Feb 18, 2014 at 10:52 PM, Michael
>>>                 Lawrence <
>>>                 lawrence.mich...@gene.com <mailto:lawrence.michael@gene.
>>> com>
>>>                               <mailto:lawrence.michael@gene.__com
>>>
>>>                 <mailto:lawrence.mich...@gene.com>>> wrote:
>>>
>>>                                  Hi Jesper,
>>>
>>>                                  Would you be willing to volunteer your
>>>                 use case? As
>>>                                  Herve hinted,
>>>                                  cigarToRleList and friends are
>>>                 low-level helpers. There
>>>                                  may be an easier
>>>                                  way to achieve what you want, or an
>>>                 opportunity to
>>>                                  improve things.
>>>
>>>                                  Michael
>>>
>>>
>>>                                  On Mon, Feb 17, 2014 at 1:10 AM, Jesper
>>>                 Gådin
>>>                                  <jesper.ga...@gmail.com
>>>                 <mailto:jesper.ga...@gmail.com>
>>>                                  <mailto:jesper.ga...@gmail.com
>>>                 <mailto:jesper.ga...@gmail.com>__>>wrote:
>>>
>>>
>>>                                      Hi,
>>>
>>>                                      Have come across a cigar-vector
>>>                 that is problematic
>>>                                      to process.
>>>
>>>                                      #load package
>>>
>>>                                          library(GenomicAlignments)
>>>
>>>
>>>                                      #load data (see attached file)
>>>
>>>
>>>                 load("2014-02-17-cigarExample.____rdata")
>>>
>>>
>>>
>>>                                      #run function cigarToRleList
>>>
>>>                                          cigarRle <-
>>>                 cigarToRleList(cigarExample)
>>>
>>>                                      Error in .Call2("Rle_constructor",
>>>                 values, lengths,
>>>                                      check, 0L, PACKAGE =
>>>                                      "IRanges") :
>>>                                          integer overflow while summing
>>>                 elements in
>>>                 'lengths'
>>>
>>>                                          sessionInfo()
>>>
>>>                                      R Under development (unstable)
>>>                 (2013-11-13 r64209)
>>>                                      Platform: x86_64-unknown-linux-gnu
>>>                 (64-bit)
>>>
>>>                                      locale:
>>>                                         [1] LC_CTYPE=en_US.UTF-8
>>>                 LC_NUMERIC=C
>>>                                         [3] LC_TIME=en_US.UTF-8
>>>                 LC_COLLATE=en_US.UTF-8
>>>                                         [5] LC_MONETARY=en_US.UTF-8
>>>                                        LC_MESSAGES=en_US.UTF-8
>>>                                         [7] LC_PAPER=en_US.UTF-8
>>>                 LC_NAME=C
>>>                                         [9] LC_ADDRESS=C
>>>                 LC_TELEPHONE=C
>>>                                      [11] LC_MEASUREMENT=en_US.UTF-8
>>>                 LC_IDENTIFICATION=C
>>>
>>>                                      attached base packages:
>>>                                      [1] parallel  stats     graphics
>>>                   grDevices utils
>>>                                         datasets  methods
>>>                                      [8] base
>>>
>>>                                      other attached packages:
>>>                                      [1] GenomicAlignments_0.99.18
>>>                 Rsamtools_1.15.26
>>>                                      [3] Biostrings_2.31.12
>>>                   XVector_0.3.6
>>>                                      [5] GenomicRanges_1.15.26
>>>                 IRanges_1.21.23
>>>                                      [7] BiocGenerics_0.9.3
>>>
>>>                                      loaded via a namespace (and not
>>>                 attached):
>>>                                         [1] BatchJobs_1.1-1135 BBmisc_1.5
>>>                                      BiocParallel_0.5.8
>>>                                      bitops_1.0-6
>>>
>>>                                         [5] brew_1.0-6
>>>                 codetools_0.2-8
>>>                 DBI_0.2-7
>>>                                         digest_0.6.4
>>>
>>>                                         [9] fail_1.2
>>> foreach_1.4.1
>>>                                        iterators_1.0.6    plyr_1.8
>>>
>>>                                      [13] RSQLite_0.11.4
>>> sendmailR_1.1-2
>>>                                        stats4_3.1.0       tools_3.1.0
>>>
>>>                                      [17] zlibbioc_1.9.0
>>>
>>>
>>>                 ___________________________________________________
>>>                 Bioc-devel@r-project.org <mailto:Bioc-devel@r-project.
>>> org>
>>>                                      <mailto:Bioc-devel@r-project.__org
>>>                 <mailto:Bioc-devel@r-project.org>> mailing list
>>>                 https://stat.ethz.ch/mailman/____listinfo/bioc-devel
>>>                 <https://stat.ethz.ch/mailman/__listinfo/bioc-devel>
>>>
>>>
>>>                 <https://stat.ethz.ch/mailman/__listinfo/bioc-devel
>>>                 <https://stat.ethz.ch/mailman/listinfo/bioc-devel>>
>>>
>>>
>>>
>>>
>>>
>>>                                   [[alternative HTML version deleted]]
>>>
>>>
>>>
>>>
>>>                          ______________________________
>>> _____________________
>>>                 Bioc-devel@r-project.org
>>>                 <mailto:Bioc-devel@r-project.org>
>>>                 <mailto:Bioc-devel@r-project.__org
>>>                 <mailto:Bioc-devel@r-project.org>>
>>>                          mailing list
>>>                 https://stat.ethz.ch/mailman/____listinfo/bioc-devel
>>>                 <https://stat.ethz.ch/mailman/__listinfo/bioc-devel>
>>>
>>>
>>>                 <https://stat.ethz.ch/mailman/__listinfo/bioc-devel
>>>                 <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...@fhcrc.org <mailto:hpa...@fhcrc.org>
>>>                 <mailto:hpa...@fhcrc.org <mailto:hpa...@fhcrc.org>>
>>>
>>>                      Phone: (206) 667-5791 <tel:%28206%29%20667-5791>
>>>                 <tel:%28206%29%20667-5791>
>>>                      Fax: (206) 667-1319 <tel:%28206%29%20667-1319>
>>>                 <tel:%28206%29%20667-1319>
>>>
>>>
>>>
>>>
>>>
>>>
>>>     --
>>>     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...@fhcrc.org <mailto:hpa...@fhcrc.org>
>>>     Phone: (206) 667-5791 <tel:%28206%29%20667-5791>
>>>     Fax: (206) 667-1319 <tel:%28206%29%20667-1319>
>>>
>>>
>>>
>> --
>> 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...@fhcrc.org
>> Phone:  (206) 667-5791
>> Fax:    (206) 667-1319
>>
>> _______________________________________________
>> Bioc-devel@r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>>
>
>
>
> --
> Gabriel Becker
> Graduate Student
> Statistics Department
> University of California, Davis
>



-- 
Gabriel Becker
Graduate Student
Statistics Department
University of California, Davis

        [[alternative HTML version deleted]]

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

Reply via email to