[Bioc-devel] RFC: xy2i and i2xy in *cdf packages

Laurent Gautier lgautier at gmail.com
Mon Mar 26 15:09:13 CEST 2007


Francesco,

This is a good remark.

What would have liked to have is a class
for CDF definitions, and information about the geometry of the chip
stored in that class (see the class in the package "altcdfenvs" for example).
The idea was to have a generic function that would get indexes or "xy"
coordinates from either AffyBatch or Cdf objects.
Unfortunately, at the time there did not appear to have consensus about that
(and the modifications were going across several packages).

There are other solutions than the one proposed above, one of which
being to leave the functions un-exported from their namespace.

One could think that you need not to worry about the immediate future,
as the functions
are to be only wrapped as deprecated (they will run, but issue a
warning message).
What can be more annoying is that if you go for something like "options(warn=2)"
that will be a show-stopper.

What I would see is:
- there is time to slam together an alternative that adresses
Francesco's problem and leave the functions deprecated
- the functions are kept in their namespace for now (but in that case,
I am not sure it is
possible to have the "deprecated" warnings during a transition period).
- the change is postponed to the next release

Any other idea ?


Laurent



2007/3/26, Francesco Ferrari <ferrari.francesco at unimore.it>:
> If xy2i() and i2xy() functions from CDF packages will be deprecated,
> we could use the indices2xy() and xy2indices() functions from affy
> package, but they require either "nr" parameter or an affybatch
> object....
>
> The "nr" parameter, i.e. the size of the chip, can't be obtained from
> the other data conained in the CDF packages. Then, in order to use the
> affy package functions we will have to load some CEL files into an
> affybatch.
>
> How can be addressed this issue?
> Maybe an object containing these information (i.e. chip dimensions)
> could be included into CDF packages.
>
>
> Best regards,
> Francesco
>
>
> PS: I know that no package uses these functions, but we use them to
> produce data for another package (work is still in progress). We could
> use indices2xy() and xy2indices() functions from affy package, but the
> value for "nr" parameter is required.
>
>
>
>
>
>
>
>
> >
> > Today's Topics:
> >
> >    1. Re: RFC: xy2i and i2xy in *cdf packages (James W. MacDonald)
> >    2. Re: RFC: xy2i and i2xy in *cdf packages (Seth Falcon)
> >
> >
> > Message: 1
> > Date: Fri, 23 Mar 2007 09:22:56 -0400
> > From: "James W. MacDonald" <jmacdon at med.umich.edu>
> > Subject: Re: [Bioc-devel] RFC: xy2i and i2xy in *cdf packages
> > To: lgautier at altern.org
> > Cc: bioc-devel at stat.math.ethz.ch
> > Message-ID: <4603D4B0.3030301 at med.umich.edu>
> > Content-Type: text/plain;  charset="utf-8";  format=flowed
> >
> > Hi Laurent,
> >
> > lgautier at altern.org wrote:
> > > Hi,
> > >
> > > Here is an RFC.
> > >
> > > Background:
> > > The functions "xy2i" and "i2xy" are defined in each "cdf" annotation
> > > package for Affymetrix arrays. The code for a particular package depends
> > > on the
> > > size of the corresponding array (e.g., for 133A2
> > > xy2i = function(x,y) {y*732+x+1}
> > > where 732 is the size of the array).
> > >
> > > Problem:
> > > In the case one loads several such packages in the course of the same
> > > session,
> > > the function names are masking each others. This is a real danger as it
> > > becomes too easy to call the "wrong" functions "xy2i" or "i2xy"
> > > (both by functions that did not anticipate that several cdf packages could
> > > be loaded in the same session, or by a user during an interactive
> > > session).
> >
> > I know the affy package doesn't use these functions, and a quick grep of
> > other packages that I thought might possibly use them came up empty as
> > well. Do you know of any packages that use these functions?
> >
> > Given the fact that they do get masked on loading of other cdf packages,
> > the apparent lack of use, and the existence of safer indices2xy() and
> > xy2indices() functions, I would advocate deprecation/deletion rather
> > than using a namespace.
> >
> > Best,
> >
> > Jim
> >
> >
> > >
> > > Proposed change:
> > > - drop the functions "xy2i"/"i2xy" in the cdf packages and use of the
> > > functions "indices2xy" or "xy2indices" in affy.
> > >
> > > *or*
> > >
> > > - hide "xy2i"/"i2xy" in the namespace of their respective packages,
> > > enforcing an explicit function call (e.g., "hgu133a2cdf:::xy2i").
> > >
> > >
> > > Regards,
> > >
> > >
> > > Laurent
> > >
> > > _______________________________________________
> > > Bioc-devel at stat.math.ethz.ch mailing list
> > > https://stat.ethz.ch/mailman/listinfo/bioc-devel
> >
> >
> > --
> > James W. MacDonald, M.S.
> > Biostatistician
> > Affymetrix and cDNA Microarray Core
> > University of Michigan Cancer Center
> > 1500 E. Medical Center Drive
> > 7410 CCGC
> > Ann Arbor MI 48109
> > 734-647-5623
> >
> >
> > **********************************************************
> > Electronic Mail is not secure, may not be read every day, and should not be used for urgent or sensitive issues.
> >
> >
> >
> > ------------------------------
> >
> > Message: 2
> > Date: Fri, 23 Mar 2007 07:01:37 -0700
> > From: Seth Falcon <sfalcon at fhcrc.org>
> > Subject: Re: [Bioc-devel] RFC: xy2i and i2xy in *cdf packages
> > To: bioc-devel at stat.math.ethz.ch
> > Message-ID: <m28xdo5a9q.fsf at ziti.fhcrc.org>
> > Content-Type: text/plain; charset=us-ascii
> >
> > "James W. MacDonald" <jmacdon at med.umich.edu> writes:
> > > I know the affy package doesn't use these functions, and a quick grep of
> > > other packages that I thought might possibly use them came up empty as
> > > well. Do you know of any packages that use these functions?
> > >
> > > Given the fact that they do get masked on loading of other cdf packages,
> > > the apparent lack of use, and the existence of safer indices2xy() and
> > > xy2indices() functions, I would advocate deprecation/deletion rather
> > > than using a namespace.
> >
> > Laurent, thanks for bringing this up (I know it is something you
> > mentioned in the past).  I like the idea of marking the functions in
> > the cdfpackages using .Deprecated() for this release.  In the next
> > cycle they can be .Defunct() and then gone.
> >
> > I realize it likely overkill, but sticking to the deprecation cycle is
> > a good policy -- and if nobody is using them anyway, then the masking
> > isn't going to bite anyone :-)
> >
> > Someone should send a note to the bioconducter list and announce that
> > these functions will be deprecated in the upcoming release (and
> > mention that there are alternatives in affy).
> >
> > Best,
> >
> > + seth
> >
> > --
> > Seth Falcon | Computational Biology | Fred Hutchinson Cancer Research Center
> > http://bioconductor.org
> >
> >
> >
> > ------------------------------
> >
> > _______________________________________________
> > Bioc-devel mailing list
> > Bioc-devel at stat.math.ethz.ch
> > https://stat.ethz.ch/mailman/listinfo/bioc-devel
> >
> >
> > End of Bioc-devel Digest, Vol 36, Issue 19
> > ******************************************
> >
>
> _______________________________________________
> Bioc-devel at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>



More information about the Bioc-devel mailing list