I've updated aroma.affymetrix v2.11.8 and friends.  Update by:

source("http://callr.org/install#aroma.affymetrix";)

I'd be keen to hear whether this solves your problem or not.

/Henrik

On Thu, Sep 4, 2014 at 1:47 PM, Henrik Bengtsson <h...@biostat.ucsf.edu> wrote:
> Hi,
>
> good that it works for you with this workaround.  The fix in aroma is
> fairly simple(*).  I'll let you know when an updated version is
> available.
>
> (*) DETAILS: This has to do with base::file.copy() and its argument
> 'copy.mode' which was introduced in R 2.13.0 (April 2011).  The thing
> is that they set the default to TRUE (whereas the previous behavior
> was equivalent to FALSE), meaning any files copied will inherit the
> file permissions from the source.  Various steps in the aroma pipeline
> *copies* the source CEL file and uses that as a template to store
> updates signals.  This is what hits you.  I'll updating to make use of
> base::file.copy(..., copy.mode=FALSE) such that one can work with also
> read-only CEL files.
>
> Thanks for reporting on this (not too unlikely) use case
>
> Henrik
>
> On Thu, Sep 4, 2014 at 1:35 PM, Taylor Raborn <taylor.rab...@gmail.com> wrote:
>> Hi Henrik:
>>
>> Thank you for the prompt reply. You are right- the .CEL files are all read
>> only (see their permissions, below)
>>
>> rtraborn@Mason:
>> /N/dc2/scratch/rtraborn/ML_Project/NIK_2014/rawData/NIK_2014/HuEx-1_0-st-v2>
>> ls -lkhtra
>>
>>
>> -r--r--r-- 1 ... 63M Jan 25  2011 GSM709338_HSB194-VFC-R.CEL
>>
>> -r--r--r-- 1 ... 63M Jan 25  2011 GSM709337_HSB194-VFC-L.CEL
>>
>> -r--r--r-- 1 ... 63M Jan 25  2011 GSM709336_HSB194-V1C-R.CEL
>>
>> -r--r--r-- 1 ... 63M Jan 25  2011 GSM709335_HSB194-V1C-L.CEL
>>
>> -r--r--r-- 1 ... 63M Jan 25  2011 GSM709334_HSB194-STR-L.CEL
>>
>> -r--r--r-- 1 ... 63M Jan 25  2011 GSM709333_HSB194-STC-R.CEL
>>
>> -r--r--r-- 1 ... 63M Jan 25  2011 GSM709332_HSB194-STC-L.CEL
>>
>> -r--r--r-- 1 ... 63M Jan 25  2011 GSM709331_HSB194-S1C-R.CEL
>>
>> -r--r--r-- 1 ... 63M Jan 25  2011 GSM709330_HSB194-S1C-L.CEL
>>
>>
>> After changing the permissions, the job performed without issue (I'm showing
>> you only the results of 1/9 for the sake of brevity):
>>
>>> csBC <- process(bc,verbose=verbose)
>>
>> Background correcting data set...
>>
>>  Number of arrays: 9
>>
>>  Array #1 ('GSM709330_HSB194-S1C-L') of 9...
>>
>>   Adjusting PM signals only
>>
>>   Obtaining signals...
>>
>>   Obtaining signals...done
>>
>>   Applying normal+exponential signal model...
>>
>>   Applying normal+exponential signal model...done
>>
>>   Writing adjusted probe signals...
>>
>>    Adding temporary suffix from file...
>>
>>     Pathname:
>> probeData/NIK_2014,RBC,coreR3/HuEx-1_0-st-v2/GSM709330_HSB194-S1C-L.CEL
>>
>>     Suffix: .tmp
>>
>>     Rename existing file?: FALSE
>>
>>     Temporary pathname:
>> probeData/NIK_2014,RBC,coreR3/HuEx-1_0-st-v2/GSM709330_HSB194-S1C-L.CEL.tmp
>>
>>    Adding temporary suffix from file...done
>>
>>    Creating CEL file for results, if missing...
>>
>>    Creating CEL file for results, if missing...done
>>
>>    Writing adjusted intensities...
>>
>>    Writing adjusted intensities...done
>>
>>    Dropping temporary suffix from file...
>>
>>     Temporary pathname:
>> probeData/NIK_2014,RBC,coreR3/HuEx-1_0-st-v2/GSM709330_HSB194-S1C-L.CEL.tmp
>>
>>     Suffix: .tmp
>>
>>     Regular expression for suffix: \.tmp$
>>
>>     Pathname:
>> probeData/NIK_2014,RBC,coreR3/HuEx-1_0-st-v2/GSM709330_HSB194-S1C-L.CEL
>>
>>     Renaming existing file...
>>
>>      Result: TRUE
>>
>>     Renaming existing file...done
>>
>>    Dropping temporary suffix from file...done
>>
>>   Writing adjusted probe signals...done
>>
>>              used  (Mb) gc trigger  (Mb) max used  (Mb)
>>
>>   Ncells   709078  37.9    1166886  62.4  1166886  62.4
>>
>>   Vcells 31586985 241.0   47054688 359.0 46991036 358.6
>>
>>   AffymetrixCelFile:
>>
>>   Name: GSM709330_HSB194-S1C-L
>>
>>   Tags:
>>
>>   Full name: GSM709330_HSB194-S1C-L
>>
>>   Pathname:
>> probeData/NIK_2014,RBC,coreR3/HuEx-1_0-st-v2/GSM709330_HSB194-S1C-L.CEL
>>
>>   File size: 62.73 MB (65775403 bytes)
>>
>>   RAM: 0.00 MB
>>
>>   File format: v4 (binary; XDA)
>>
>>   Platform: Affymetrix
>>
>>   Chip type: HuEx-1_0-st-v2,coreR3,A20071112,EP
>>
>>   Timestamp: 2011-01-25 12:15:03
>>
>>  Array #1 ('GSM709330_HSB194-S1C-L') of 9...done
>>
>>
>> -----
>>
>>
>> There must be a file permissions transfer behavior that takes place on a
>> multi-user cluster environment that doesn't take place on other types of
>> machines, because I was unable to reproduce this error elsewhere. I didn't
>> bother changing the raw .CEL files' permissions because I never experienced
>> a problem of this nature with .CEL files.
>>
>>
>> Let me know if you patch this up so I can pull the latest code from the
>> aroma repo.
>>
>>
>> Thanks for your help with this and for taking a look at the issue so
>> quickly.
>>
>>
>> Best regards,
>>
>>
>> Taylor
>>
>>
>>
>> On Thursday, September 4, 2014 1:37:36 PM UTC-4, Henrik Bengtsson wrote:
>>>
>>> Hi,
>>>
>>> interesting.  A quick guess is that the input file, i.e.
>>>
>>>   rawData/NIK_2014/HuEx-1_0-st-v2/GSM709330_HSB194-S1C-L.CEL
>>>
>>> is write protected (e.g. file owned by someone else).  This could be
>>> the reason, because internally that file is copied and used as a
>>> template and the copy may inherit the file permissions.  What does ls
>>> -l say about the above file?
>>>
>>> If this is the case, I need to update the copying such that the new
>>> file has proper permissions.
>>>
>>> Thanks for the report
>>>
>>> Henrik
>>>
>>>
>>> On Thu, Sep 4, 2014 at 10:15 AM, Taylor Raborn <taylor...@gmail.com>
>>> wrote:
>>> > Hi Henrik:
>>> >
>>> > I just come across an unusual error when using aroma.affymetrix on our
>>> > high-memory HPC machine. It may or may not be platform-specific, and
>>> > I'll
>>> > give you all the information I can in the hopes of isolating and
>>> > identifying
>>> > the error.
>>> >
>>> > Traceback:
>>> >
>>> >> traceback()
>>> >
>>> > 18: stop(cond)
>>> >
>>> > 17: throw.Exception(Exception(...))
>>> >
>>> > 16: throw(Exception(...))
>>> >
>>> > 15: throw.default("No permission to modify existing file: ", pathname)
>>> >
>>> > 14: throw("No permission to modify existing file: ", pathname)
>>> >
>>> > 13: getWritablePathname.Arguments(static, ...)
>>> >
>>> > 12: getWritablePathname(static, ...) at <text>#1
>>> >
>>> > 11: Arguments$getWritablePathname(pathname, mustExist = TRUE)
>>> >
>>> > 10: renameFile.default(srcPathname, pathname, ...)
>>> >
>>> > 9: renameFile(srcPathname, pathname, ...)
>>> >
>>> > 8: renameTo.GenericDataFile(res, filename = pathname, verbose =
>>> > less(verbose))
>>> >
>>> > 7: renameTo(res, filename = pathname, verbose = less(verbose))
>>> >
>>> > 6: createFrom.AffymetrixCelFile(this, filename = pathnameT, path = NULL,
>>> >
>>> >        verbose = less(verbose))
>>> >
>>> > 5: createFrom(this, filename = pathnameT, path = NULL, verbose =
>>> > less(verbose))
>>> >
>>> > 4: bgAdjustRma.AffymetrixCelFile(df, path = outputPath, pmonly = pmonly,
>>> >
>>> >        addJitter = addJitter, jitterSd = jitterSd, overwrite = force,
>>> >
>>> >        verbose = verbose, .deprecated = FALSE)
>>> >
>>> > 3: bgAdjustRma(df, path = outputPath, pmonly = pmonly, addJitter =
>>> > addJitter,
>>> >
>>> >        jitterSd = jitterSd, overwrite = force, verbose = verbose,
>>> >
>>> >        .deprecated = FALSE)
>>> >
>>> > 2: process.RmaBackgroundCorrection(bc, verbose = verbose)
>>> >
>>> > 1: process(bc, verbose = verbose)
>>> >
>>> >
>>> > ----
>>> >
>>> > sessionInfo:
>>> >
>>> >> sessionInfo()
>>> >
>>> > R version 3.0.1 (2013-05-16)
>>> >
>>> > 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=C                 LC_NAME=C
>>> >
>>> >  [9] LC_ADDRESS=C               LC_TELEPHONE=C
>>> >
>>> > [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
>>> >
>>> >
>>> > attached base packages:
>>> >
>>> > [1] tools     parallel  stats     graphics  grDevices utils     datasets
>>> >
>>> > [8] methods   base
>>> >
>>> >
>>> > other attached packages:
>>> >
>>> >  [1] R.cache_0.10.0          base64enc_0.1-2         aroma.apd_0.5.0
>>> >
>>> >  [4] preprocessCore_1.24.0   affyio_1.30.0           Biobase_2.20.1
>>> >
>>> >  [7] BiocGenerics_0.6.0      aroma.light_1.32.0      matrixStats_0.10.0
>>> >
>>> > [10] aroma.affymetrix_2.12.0 aroma.core_2.12.1       R.devices_2.11.0
>>> >
>>> > [13] R.filesets_2.6.0        R.utils_1.33.0          R.oo_1.18.0
>>> >
>>> > [16] affxparser_1.34.2       affy_1.40.0             R.methodsS3_1.6.1
>>> >
>>> > [19] PSCBS_0.43.0            DNAcopy_1.36.0
>>> > BiocInstaller_1.12.1
>>> >
>>> >
>>> > loaded via a namespace (and not attached):
>>> >
>>> > [1] digest_0.6.4    R.huge_0.8.0    R.rsp_0.19.0    zlibbioc_1.11.1
>>> >
>>> >
>>> >
>>> > Here's how I produced the error. Note that my directory structure
>>> > matches
>>> > that on the aroma-project.org site, shown here:
>>> >
>>> >> chipType <- "HuEx-1_0-st-v2"
>>> >
>>> >
>>> >> cdf <- AffymetrixCdfFile$byChipType(chipType,
>>> >> tags="coreR3,A20071112,EP")
>>> >
>>> >
>>> >> print(cdf)
>>> >
>>> > AffymetrixCdfFile:
>>> >
>>> > Path: annotationData/chipTypes/HuEx-1_0-st-v2
>>> >
>>> > Filename: HuEx-1_0-st-v2,coreR3,A20071112,EP.cdf
>>> >
>>> > File size: 38.25 MB (40108891 bytes)
>>> >
>>> > Chip type: HuEx-1_0-st-v2,coreR3,A20071112,EP
>>> >
>>> > RAM: 0.00MB
>>> >
>>> > File format: v4 (binary; XDA)
>>> >
>>> > Dimension: 2560x2560
>>> >
>>> > Number of cells: 6553600
>>> >
>>> > Number of units: 18708
>>> >
>>> > Cells per unit: 350.31
>>> >
>>> > Number of QC units: 1
>>> >
>>> >
>>> >> cs <- AffymetrixCelSet$byName("NIK_2014", cdf=cdf)
>>> >
>>> >
>>> >> print(cs)
>>> >
>>> > AffymetrixCelSet:
>>> >
>>> > Name: NIK_2014
>>> >
>>> > Tags:
>>> >
>>> > Path: rawData/NIK_2014/HuEx-1_0-st-v2
>>> >
>>> > Platform: Affymetrix
>>> >
>>> > Chip type: HuEx-1_0-st-v2,coreR3,A20071112,EP
>>> >
>>> > Number of arrays: 9
>>> >
>>> > Names: GSM709330_HSB194-S1C-L, GSM709331_HSB194-S1C-R,
>>> > GSM709332_HSB194-STC-L, ..., GSM709338_HSB194-VFC-R [9]
>>> >
>>> > Time period: 2011-01-25 12:15:03 -- 2011-01-25 13:48:02
>>> >
>>> > Total file size: 564.87MB
>>> >
>>> > RAM: 0.02MB
>>> >
>>> >
>>> >> csBC <- process(bc,verbose=verbose)
>>> >
>>> > Background correcting data set...
>>> >
>>> >  Number of arrays: 9
>>> >
>>> >  Array #1 ('GSM709330_HSB194-S1C-L') of 9...
>>> >
>>> >   Adjusting PM signals only
>>> >
>>> >   Obtaining signals...
>>> >
>>> >   Obtaining signals...done
>>> >
>>> >   Applying normal+exponential signal model...
>>> >
>>> >   Applying normal+exponential signal model...done
>>> >
>>> >   Writing adjusted probe signals...
>>> >
>>> >    Adding temporary suffix from file...
>>> >
>>> >     Pathname:
>>> > probeData/NIK_2014,RBC,coreR3/HuEx-1_0-st-v2/GSM709330_HSB194-S1C-L.CEL
>>> >
>>> >     Suffix: .tmp
>>> >
>>> >     Rename existing file?: FALSE
>>> >
>>> >     Temporary pathname:
>>> >
>>> > probeData/NIK_2014,RBC,coreR3/HuEx-1_0-st-v2/GSM709330_HSB194-S1C-L.CEL.tmp
>>> >
>>> >    Adding temporary suffix from file...done
>>> >
>>> >    Creating CEL file for results, if missing...
>>> >
>>> > [2014-09-04 12:38:54] Exception: No permission to modify existing file:
>>> >
>>> > probeData/NIK_2014,RBC,coreR3/HuEx-1_0-st-v2/GSM709330_HSB194-S1C-L.CEL.tmp.tmp
>>> >
>>> >
>>> >   at #13. getWritablePathname.Arguments(static, ...)
>>> >
>>> >           - getWritablePathname.Arguments() is in environment 'R.utils'
>>> >
>>> >
>>> >   at #12. getWritablePathname(static, ...)
>>> >
>>> >           - getWritablePathname() is in environment 'R.utils'
>>> >
>>> >           - originating from '<text>'
>>> >
>>> >
>>> >   at #11. Arguments$getWritablePathname(pathname, mustExist = TRUE)
>>> >
>>> >           - Arguments$getWritablePathname() is local of the calling
>>> > function
>>> >
>>> >
>>> >   at #10. renameFile.default(srcPathname, pathname, ...)
>>> >
>>> >           - renameFile.default() is in environment 'R.utils'
>>> >
>>> >
>>> >   at #09. renameFile(srcPathname, pathname, ...)
>>> >
>>> >           - renameFile() is in environment 'R.utils'
>>> >
>>> >
>>> >   at #08. renameTo.GenericDataFile(res, filename = pathname, verbose =
>>> > less(verbose))
>>> >
>>> >           - renameTo.GenericDataFile() is in environment 'R.filesets'
>>> >
>>> >
>>> >   at #07. renameTo(res, filename = pathname, verbose = less(verbose))
>>> >
>>> >           - renameTo() is in environment 'R.filesets'
>>> >
>>> >
>>> >   at #06. createFrom.AffymetrixCelFile(this, filename = pathnameT, path
>>> > =
>>> > NULL,
>>> >
>>> >               verbose = less(verbose))
>>> >
>>> >           - createFrom.AffymetrixCelFile() is in environment
>>> > 'aroma.affymetrix'
>>> >
>>> >
>>> >   at #05. createFrom(this, filename = pathnameT, path = NULL, verbose =
>>> > less(verbose))
>>> >
>>> >           - createFrom() is in environment 'aroma.affymetrix'
>>> >
>>> >
>>> >   at #04. bgAdjustRma.AffymetrixCelFile(df, path = outputPath, pmonly =
>>> > pmonly,
>>> >
>>> >               addJitter = addJitter, jitterSd = jitterSd, overwrite =
>>> > force,
>>> >
>>> >               verbose = verbose, .deprecated = FALSE)
>>> >
>>> >           - bgAdjustRma.AffymetrixCelFile() is in environment
>>> > 'aroma.affymetrix'
>>> >
>>> >
>>> >   at #03. bgAdjustRma(df, path = outputPath, pmonly = pmonly, addJitter
>>> > =
>>> > addJitter,
>>> >
>>> >               jitterSd = jitterSd, overwrite = force, verbose = verbose,
>>> >
>>> >               .deprecated = FALSE)
>>> >
>>> >           - bgAdjustRma() is in environment 'aroma.affymetrix'
>>> >
>>> >
>>> >   at #02. process.RmaBackgroundCorrection(bc, verbose = verbose)
>>> >
>>> >           - process.RmaBackgroundCorrection() is in environment
>>> > 'aroma.affymetrix'
>>> >
>>> >
>>> >   at #01. process(bc, verbose = verbose)
>>> >
>>> >           - process() is in environment 'aroma.core'
>>> >
>>> >
>>> > Error: No permission to modify existing file:
>>> >
>>> > probeData/NIK_2014,RBC,coreR3/HuEx-1_0-st-v2/GSM709330_HSB194-S1C-L.CEL.tmp.tmp
>>> >
>>> >    Creating CEL file for results, if missing...done
>>> >
>>> >   Writing adjusted probe signals...done
>>> >
>>> >  Array #1 ('GSM709330_HSB194-S1C-L') of 9...done
>>> >
>>> > Background correcting data set...done
>>> >
>>> > --------------------
>>> >
>>> >
>>> > I tried to find a solution from the group archives and other places to
>>> > no
>>> > avail. It's worth mentioning that I get this problem even if I open up
>>> > permissions to the entire directory. The *CEL.tmp.tmp file appears to be
>>> > written with write-protections, which is baffling to me. The machine is
>>> > a
>>> > large, high-memory cluster from my institution, and the error may be
>>> > associated with this.
>>> >
>>> >
>>> > Thanks in advance for any insight you can provide with this.
>>> >
>>> >
>>> > Best regards,
>>> >
>>> >
>>> > Taylor
>>> >
>>> >
>>> > --
>>> > --
>>> > When reporting problems on aroma.affymetrix, make sure 1) to run the
>>> > latest
>>> > version of the package, 2) to report the output of sessionInfo() and
>>> > traceback(), and 3) to post a complete code example.
>>> >
>>> >
>>> > You received this message because you are subscribed to the Google
>>> > Groups
>>> > "aroma.affymetrix" group with website http://www.aroma-project.org/.
>>> > To post to this group, send email to aroma-af...@googlegroups.com
>>> > To unsubscribe and other options, go to
>>> > http://www.aroma-project.org/forum/
>>> >
>>> > ---
>>> > You received this message because you are subscribed to the Google
>>> > Groups
>>> > "aroma.affymetrix" group.
>>> > To unsubscribe from this group and stop receiving emails from it, send
>>> > an
>>> > email to aroma-affymetr...@googlegroups.com.
>>> > For more options, visit https://groups.google.com/d/optout.
>>
>> --
>> --
>> When reporting problems on aroma.affymetrix, make sure 1) to run the latest
>> version of the package, 2) to report the output of sessionInfo() and
>> traceback(), and 3) to post a complete code example.
>>
>>
>> You received this message because you are subscribed to the Google Groups
>> "aroma.affymetrix" group with website http://www.aroma-project.org/.
>> To post to this group, send email to aroma-affymetrix@googlegroups.com
>> To unsubscribe and other options, go to http://www.aroma-project.org/forum/
>>
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "aroma.affymetrix" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to aroma-affymetrix+unsubscr...@googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.

-- 
-- 
When reporting problems on aroma.affymetrix, make sure 1) to run the latest 
version of the package, 2) to report the output of sessionInfo() and 
traceback(), and 3) to post a complete code example.


You received this message because you are subscribed to the Google Groups 
"aroma.affymetrix" group with website http://www.aroma-project.org/.
To post to this group, send email to aroma-affymetrix@googlegroups.com
To unsubscribe and other options, go to http://www.aroma-project.org/forum/

--- 
You received this message because you are subscribed to the Google Groups 
"aroma.affymetrix" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to aroma-affymetrix+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to