[Bioc-devel] namespace question

Hervé Pagès hpages at fredhutch.org
Thu Mar 31 22:54:06 CEST 2016


On 03/31/2016 12:55 PM, Michael Lawrence wrote:
> Probably should just stick to exact symbols for now. If there is a
> case where a pattern is actually useful, rather than just an
> obfuscation, we can extend the feature set.

Fair enough. Not really intuitive that excludeImport uses the same
syntax as (but does the opposite of) importFrom though. Maybe having
the name of the directive start with "import" would help e.g.

importExcept(hash, values)  # opposite of importFrom(hash, values)

Thanks,
H.

>
> On Thu, Mar 31, 2016 at 12:11 PM, Zhu, Lihua (Julie)
> <Julie.Zhu at umassmed.edu> wrote:
>> Herve,
>>
>> That is a very interesting idea and works for me! Thanks!
>>
>> importPatternFrom(IRanges, "^values$")
>>
>>
>> Best,
>>
>> Julie
>>
>> On 3/31/16 2:51 PM, "Bioc-devel on behalf of Hervé Pagès"
>> <bioc-devel-bounces at r-project.org on behalf of hpages at fredhutch.org> wrote:
>>
>>> On 03/30/2016 08:35 PM, Michael Lawrence wrote:
>>>> That would work, but R is not going to be happy about redundant
>>>> imports. Interactively, users would balk at symbol qualification.
>>>>
>>>> There are two classes of conflict:
>>>> 1) Same semantics, where a common generic would arbitrate, or one
>>>> package could depend on the other, and
>>>> 2) Different semantics, in which case one of the functions should
>>>> probably be renamed, although that might not be practical or easy to
>>>> agree upon.
>>>>
>>>> When those approaches fail, qualification is the only recourse.
>>>>
>>>> I will think about adding an excludeImport() or importAs().
>>>
>>> What about having something like an importPatternFrom() directive
>>> similar to the exportPattern() directive and have these directives
>>> support some of the grep() toggles like 'ignore.case', 'fixed',
>>> 'invert' etc... ?
>>>
>>> Then Julie could just do:
>>>
>>> importPatternFrom(hash, "^values$", invert=TRUE)
>>>
>>> H.
>>>
>>>>
>>>>
>>>> On Wed, Mar 30, 2016 at 8:20 PM, Robert M. Flight <rflight79 at gmail.com>
>>>> wrote:
>>>>> In the cases of having conflicting names, is it not appropriate then
>>>>> to use
>>>>> the "package::function" form for calling a particular function?
>>>>>
>>>>> On Wed, Mar 30, 2016 at 11:14 PM Michael Lawrence
>>>>> <lawrence.michael at gene.com>
>>>>> wrote:
>>>>>
>>>>>> I can't find the hash function in IRanges. Are you sure it has one?
>>>>>>
>>>>>> On Wed, Mar 30, 2016 at 8:07 PM, Zhu, Lihua (Julie)
>>>>>> <Julie.Zhu at umassmed.edu> wrote:
>>>>>>> Michael,
>>>>>>>
>>>>>>> I have the same user case as Kasper. Another example is that both
>>>>>>> IRanges
>>>>>>> and hash packages have hash. I need to use the hash from the hash
>>>>>>> package
>>>>>>> instead of the one from IRanges.
>>>>>>>
>>>>>>> Best,
>>>>>>>
>>>>>>> Julie
>>>>>>>
>>>>>>> On Mar 30, 2016, at 7:57 PM, Kasper Daniel Hansen
>>>>>>> <kasperdanielhansen at gmail.com> wrote:
>>>>>>>
>>>>>>> My usecase is when I import() two packages who has a conflict in a
>>>>>>> name.
>>>>>>> For example, both Biobase and matrixStats has both anyMissing and
>>>>>>> rowMedians. I am happy to get all of these two packages, but I need
>>>>>>> to
>>>>>>> resolve the conflict.  Since I want to keep the ones from
>>>>>>> matrixStats I
>>>>>> know
>>>>>>> need to figure out how to import Biobase selectively.  Which I can,
>>>>>>> using
>>>>>>> the tools from codetoolsBioC, but I would also be happy with an
>>>>>>> importFromExcept(), which would make my life much easier.
>>>>>>>
>>>>>>> Best,
>>>>>>> Kasper
>>>>>>>
>>>>>>> On Wed, Mar 30, 2016 at 4:47 PM, Michael Lawrence
>>>>>>> <lawrence.michael at gene.com> wrote:
>>>>>>>>
>>>>>>>> I'm curious about which symbols you wouldn't want to import, and
>>>>>>>> why.
>>>>>>>>
>>>>>>>> On Wed, Mar 30, 2016 at 12:19 PM, Zhu, Lihua (Julie)
>>>>>>>> <Julie.Zhu at umassmed.edu> wrote:
>>>>>>>>> Hi,
>>>>>>>>>
>>>>>>>>> Is there a function to import all the exported objects from a
>>>>>>>>> package
>>>>>>>>> except a few named ones in NAMESPACE file?
>>>>>>>>>
>>>>>>>>> For example, I would like to import all the functions in S4Vectors
>>>>>>>>> except fold. Is there a way to  specify this without listing all
>>>>>>>>> other
>>>>>>>>> functions using importFrom?
>>>>>>>>>
>>>>>>>>> Many thanks for your help!
>>>>>>>>>
>>>>>>>>> Best regards,
>>>>>>>>>
>>>>>>>>> Julie
>>>>>>>>>
>>>>>>>>> ********************************************
>>>>>>>>> Lihua Julie Zhu, Ph.D
>>>>>>>>> Research Professor
>>>>>>>>> Department of Molecular, Cell and Cancer Biology (MCCB)
>>>>>>>>> Head of MCCB Bioinformatics Core
>>>>>>>>> Program in Molecular Medicine
>>>>>>>>> Program in Bioinformatics and Integrative Biology
>>>>>>>>> University of Massachusetts Medical School
>>>>>>>>> 364 Plantation Street, Room 613
>>>>>>>>> Worcester, MA 01605
>>>>>>>>> 508-856-5256 phone
>>>>>>>>> (508) 856 5460 fax
>>>>>>>>>
>>>>>>>>>
>>>>>>
>>>>>> http://profiles.umassmed.edu/profiles/ProfileDetails.aspx?From=SE&Perso
>>>>>> n=1134
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>           [[alternative HTML version deleted]]
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> Bioc-devel at r-project.org mailing list
>>>>>>>>>
>>>>>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__stat.ethz.ch_ma
>>>>>>>>> ilman_listinfo_bioc-2Ddevel&d=BQIF-g&c=WJBj9sUF1mbpVIAf3biu3CPHX4MeR
>>>>>>>>> jY_w4DerPlOmhQ&r=3IbW-yoIQpGZOKgd4i2bgmPHhwHHF5gJMlij5cC5bLU&m=Rxzbh
>>>>>>>>> vEdYoq-VrN42rfiK5-UIIwjUIHLTQjy9s7-pzs&s=TmgPkRkAcsTjcIVvzaBFADs-tx8
>>>>>>>>> CzeHHAAJ5kmgmJxQ&e=
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Bioc-devel at r-project.org mailing list
>>>>>>>>
>>>>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__stat.ethz.ch_mai
>>>>>>>> lman_listinfo_bioc-2Ddevel&d=BQIF-g&c=WJBj9sUF1mbpVIAf3biu3CPHX4MeRjY
>>>>>>>> _w4DerPlOmhQ&r=3IbW-yoIQpGZOKgd4i2bgmPHhwHHF5gJMlij5cC5bLU&m=RxzbhvEd
>>>>>>>> Yoq-VrN42rfiK5-UIIwjUIHLTQjy9s7-pzs&s=TmgPkRkAcsTjcIVvzaBFADs-tx8CzeH
>>>>>>>> HAAJ5kmgmJxQ&e=
>>>>>>>
>>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Bioc-devel at r-project.org mailing list
>>>>>>
>>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__stat.ethz.ch_mailm
>>>>>> an_listinfo_bioc-2Ddevel&d=BQIF-g&c=WJBj9sUF1mbpVIAf3biu3CPHX4MeRjY_w4D
>>>>>> erPlOmhQ&r=3IbW-yoIQpGZOKgd4i2bgmPHhwHHF5gJMlij5cC5bLU&m=RxzbhvEdYoq-Vr
>>>>>> N42rfiK5-UIIwjUIHLTQjy9s7-pzs&s=TmgPkRkAcsTjcIVvzaBFADs-tx8CzeHHAAJ5kmg
>>>>>> mJxQ&e=
>>>>>>
>>>>>
>>>>>           [[alternative HTML version deleted]]
>>>>>
>>>>> _______________________________________________
>>>>> Bioc-devel at r-project.org mailing list
>>>>>
>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__stat.ethz.ch_mailma
>>>>> n_listinfo_bioc-2Ddevel&d=BQIF-g&c=WJBj9sUF1mbpVIAf3biu3CPHX4MeRjY_w4Der
>>>>> PlOmhQ&r=3IbW-yoIQpGZOKgd4i2bgmPHhwHHF5gJMlij5cC5bLU&m=RxzbhvEdYoq-VrN42
>>>>> rfiK5-UIIwjUIHLTQjy9s7-pzs&s=TmgPkRkAcsTjcIVvzaBFADs-tx8CzeHHAAJ5kmgmJxQ
>>>>> &e=
>>>>
>>>> _______________________________________________
>>>> Bioc-devel at r-project.org mailing list
>>>>
>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__stat.ethz.ch_mailman
>>>> _listinfo_bioc-2Ddevel&d=BQIF-g&c=WJBj9sUF1mbpVIAf3biu3CPHX4MeRjY_w4DerPl
>>>> OmhQ&r=3IbW-yoIQpGZOKgd4i2bgmPHhwHHF5gJMlij5cC5bLU&m=RxzbhvEdYoq-VrN42rfi
>>>> K5-UIIwjUIHLTQjy9s7-pzs&s=TmgPkRkAcsTjcIVvzaBFADs-tx8CzeHHAAJ5kmgmJxQ&e=
>>>>
>>>
>>> --
>>> 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: hpages at fredhutch.org
>>> Phone:  (206) 667-5791
>>> Fax:    (206) 667-1319
>>>
>>> _______________________________________________
>>> Bioc-devel at r-project.org mailing list
>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__stat.ethz.ch_mailman_
>>> listinfo_bioc-2Ddevel&d=BQIF-g&c=WJBj9sUF1mbpVIAf3biu3CPHX4MeRjY_w4DerPlOm
>>> hQ&r=3IbW-yoIQpGZOKgd4i2bgmPHhwHHF5gJMlij5cC5bLU&m=RxzbhvEdYoq-VrN42rfiK5-
>>> UIIwjUIHLTQjy9s7-pzs&s=TmgPkRkAcsTjcIVvzaBFADs-tx8CzeHHAAJ5kmgmJxQ&e=
>>

-- 
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: hpages at fredhutch.org
Phone:  (206) 667-5791
Fax:    (206) 667-1319



More information about the Bioc-devel mailing list