I have created a pipeline for some colleagues which automates some gene chip analysis. Following an update to a new R version, the pipeline fails. I have traced the error to an 'assign()' call which fails. Working backwards, the first difference in variable values I get (comparing old R versus new R in parallel) is after the data read-in by ReadAffy(). In the old version, my data is summarised as:
dat <- ReadAffy(celfile.path=subdircel) dat > AffyBatch object > size of arrays=716x716 features (24 kb) > cdf=AsprgDTUa520520F (11186 affyids) > number of samples=27 > number of genes=11186 > annotation=asprgdtua520520f > notes=
and in the new version,
dat > AffyBatch object > size of arrays=716x716 features (15 kb) > cdf=AsprgDTUa520520F (11186 affyids) > number of samples=27 > number of genes=11186 > annotation=asprgdtua520520f > notes=
The specific bit which breaks doesn't use the whole 'dat' structure, only the 'dat@phenoData' slot. Old:
dat@phenoData > An object of class "AnnotatedDataFrame" > sampleNames: 1a_N6h_ t1.CEL, 1b_N6h_t2.CEL, ..., 9c_N192h_t3.CEL (27 total) > varLabels and varMetadata description: > sample: arbitrary numbering
> An object of class "AnnotatedDataFrame" > sampleNames: 1a_N6h_ t1.CEL 1b_N6h_t2.CEL ... 9c_N192h_t3.CEL (27 total) > varLabels: sample > varMetadata: labelDescription
If nothing else, there's clearly a difference in notation. And there's something which breaks my code! Is there a way to force the old structure?
Let me know if I need to be more explicit with my code. The pipeline is based on Gillespie's doi:10.1186/1756-0500-3-81
Old R-version: 2.13.2
Old affy version: 1.30.0
New R-version: 2.14.1
New affy version: 1.32.1
Thanks in advance!
Update: I think the trouble might be in how 'get' works. I use this at one stage, and comparing the outputs before and after the R-updates are quite different. Before:
get(probepackagename) > Object of class probetable data.frame with 121507 rows and 6 columns.
> Object of class probetable data.frame with 468384 rows and 6 columns. > First 3 rows are: > sequence x y Probe.Set.Name Probe.Interrogation.Position > 1 <seq1> 5 1 <name1> 13 > 2 <seq2> 6 1 <name2> 13 > 3 <seq3> 7 1 <name3> 13 > Target.Strandedness > 1 Antisense > 2 Antisense > 3 Antisense