CytoScanHD_Array: problems with CbsModel(), 'Failed to locate Class object for class 'FutureError'

37 views
Skip to first unread message

roman....@googlemail.com

unread,
Jul 1, 2016, 10:29:57 AM7/1/16
to aroma.affymetrix
Hi,

I'm currently trying to set up the analysis of CytoScanHD arrays through the aroma pipeline but ran into an issue with the CbsModel function. I prepared my sample and reference set so that I end up with this:

sample set:

CnChipEffectSet:

Name: GSE69632

Tags: ACC,ra,-XY,BPN,-XY,RMA,A+B

Path: plmData/GSE69632,ACC,ra,-XY,BPN,-XY,RMA,A+B/CytoScanHD_Array

Platform: Affymetrix

Chip type: CytoScanHD_Array,monocell

Number of arrays: 5

Names: GSM1704973, GSM1704988, GSM1704989, GSM1704990, GSM1704991 [5]

Time period: 2016-06-27 14:51:08 -- 2016-06-27 14:51:11

Total file size: 173.14MB

RAM: 0.01MB

Parameters: {}


reference set:


CnChipEffectSet:

Name: referenceSet

Tags: ACC,ra,-XY,BPN,-XY,RMA,A+B

Path: plmData/referenceSet,ACC,ra,-XY,BPN,-XY,RMA,A+B/CytoScanHD_Array

Platform: Affymetrix

Chip type: CytoScanHD_Array,monocell

Number of arrays: 5

Names: .baseline, .baseline, .baseline, .baseline, .baseline [5]

Time period: 2016-06-28 12:05:09 -- 2016-06-28 12:05:09

Total file size: 173.14MB

RAM: 0.01MB

Parameters: {}


Then I do 'cbs <- CbsModel(sampleSet, referenceSet)' and get the following output:


CbsModel:

Name: GSE69632

Tags: ACC,ra,-XY,BPN,-XY,RMA,A+B,paired

Chip type (virtual): CytoScanHD_Array

Path: cbsData/GSE69632,ACC,ra,-XY,BPN,-XY,RMA,A+B,paired/CytoScanHD_Array

Number of chip types: 1

Sample & reference file pairs:

Chip type #1 ('CytoScanHD_Array') of 1:

Sample data set:

CnChipEffectSet:

Name: GSE69632

Tags: ACC,ra,-XY,BPN,-XY,RMA,A+B

Path: plmData/GSE69632,ACC,ra,-XY,BPN,-XY,RMA,A+B/CytoScanHD_Array

Platform: Affymetrix

Chip type: CytoScanHD_Array,monocell

Number of arrays: 5

Names: GSM1704973, GSM1704988, GSM1704989, GSM1704990, GSM1704991 [5]

Time period: 2016-06-27 14:51:08 -- 2016-06-27 14:51:11

Total file size: 173.14MB

RAM: 0.01MB

Parameters: {}

Reference data set/file:

CnChipEffectSet:

Name: referenceSet

Tags: ACC,ra,-XY,BPN,-XY,RMA,A+B

Path: plmData/referenceSet,ACC,ra,-XY,BPN,-XY,RMA,A+B/CytoScanHD_Array

Platform: Affymetrix

Chip type: CytoScanHD_Array,monocell

Number of arrays: 5

Names: .baseline, .baseline, .baseline, .baseline, .baseline [5]

Time period: 2016-06-28 12:05:09 -- 2016-06-28 12:05:09

Total file size: 173.14MB

RAM: 0.01MB

Parameters: {}

RAM: 0.00MB


Until here everything is fine, but when trying to run getRegions() on the CbsModel I receive an error:


reg <- getRegions(cbs, arrays=1, chromosomes=1:22, verbose=Arguments$getVerbose(-1))

Extracting regions from all fits...

 Obtaining CN model fits (or fit if missing)...

Error in getStaticInstance.Object(this) : 

  Cannot get static instance. Failed to locate Class object for class 'FutureError'.

 Obtaining CN model fits (or fit if missing)...done

Extracting regions from all fits...done


Does anybody know what the issue could be? I suspect it has to do with the CbsModel because the respective folder (cbsData/GSE69632,ACC,ra,-XY,BPN,-XY,RMA,A+B,paired/CytoScanHD_Array) stays empty even though attempted to be modified at the time of running the getRegions command.


I would really appreciate input/feedback/ideas since I'm relatively new to the topic :)

Henrik Bengtsson

unread,
Jul 1, 2016, 10:34:22 AM7/1/16
to aroma-affymetrix
Quick comment: Make sure all your packages are up-to-date and retry.
If that doesn't work, please post your sessionInfo() after you get the
error.

/Henrik
> --
> --
> 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.

roman....@googlemail.com

unread,
Jul 1, 2016, 11:02:48 AM7/1/16
to aroma.affymetrix
Thanks for the comment. Unfortunately, the error persists even after the updates. Here is the sessionInfo() output:

R version 3.3.0 (2016-05-03)

Platform: x86_64-apple-darwin13.4.0 (64-bit)

Running under: OS X 10.11.5 (El Capitan)


locale:

[1] C/UTF-8/C/C/C/C


attached base packages:

[1] stats     graphics  grDevices utils     datasets  methods   base     


other attached packages:

 [1] DNAcopy_1.46.0         aroma.light_3.2.0      aroma.affymetrix_3.0.0

 [4] aroma.core_3.0.0       R.devices_2.14.0       R.filesets_2.10.0     

 [7] R.utils_2.3.0          R.oo_1.20.0            affxparser_1.44.0     

[10] R.methodsS3_1.7.1      sfit_0.3.0            


loaded via a namespace (and not attached):

 [1] matrixStats_0.50.2 codetools_0.2-14   listenv_0.6.0      future_1.0.0      

 [5] digest_0.6.9       R.huge_0.9.0       PSCBS_0.61.0       tools_3.3.0       

 [9] R.cache_0.12.0     parallel_3.3.0     base64enc_0.1-3    aroma.apd_0.6.0   

[13] R.rsp_0.30.0       globals_0.6.1     


I tried running fit(cbs) - which I'm sure is the same getRegions() would do ultimately. Here are the error messages and the traceback:

fit(cbs)


Attaching package: ‘future’


The following object is masked from ‘package:R.utils’:


    %<-%



Attaching package: ‘future’


The following object is masked from ‘package:R.utils’:


    %<-%



Attaching package: ‘future’


The following object is masked from ‘package:R.utils’:


    %<-%



Attaching package: ‘future’


The following object is masked from ‘package:R.utils’:


    %<-%



Attaching package: ‘future’


The following object is masked from ‘package:R.utils’:


    %<-%


Error in getStaticInstance.Object(this) : 

  Cannot get static instance. Failed to locate Class object for class 'FutureError'.


traceback:


24: stop("Cannot get static instance. Failed to locate Class object for class '", 

        className, "'.")

23: getStaticInstance.Object(this)

22: getStaticInstance(this)

21: .getStaticInstance(this, static = static)

20: `$.Object`(c, "message")

19: c$message

18: conditionMessage.condition(cond)

17: conditionMessage(cond)

16: stop(FutureError(value, future = future))

15: value.Future(future)

14: NextMethod("value")

13: value.MulticoreFuture(future)

12: value(future)

11: eval(expr, envir, enclos)

10: eval(quote({

        value <- value(future)

        rm(list = future_name, envir = assign.env)

        value

    }), new.env())

9: eval(expr, envir, enclos)

8: eval(expr, p)

7: eval.parent(substitute(eval(quote(expr), envir)))

6: local({

       value <- value(future)

       rm(list = future_name, envir = assign.env)

       value

   })

5: mget(vars[ok], envir = x, inherits = FALSE)

4: as.list.listenv(res)

3: as.list(res)

2: fit.CopyNumberSegmentationModel(cbs)

1: fit(cbs)


I think it's pretty obvious that simply the xdr-files are missing, I just don't know why.

Henrik Bengtsson

unread,
Jul 1, 2016, 2:09:36 PM7/1/16
to aroma-affymetrix
Unfortunately, there's a "bug" in future 1.0.0 causing the actual
error to be disguised as "Cannot get static instance. ..."; there
should really be an informative error message, cf.
https://github.com/HenrikBengtsson/future/issues/83.

But your traceback gives some more information and I see you're using
parallel processing, i.e. you're using:

plan(multiprocess)

somewhere at the beginning of your script, correct? As a starter,
could you retry with:

plan(eager)

If that works / doesn't work, at least it'll give some more clues
what's going on.

In the meanwhile, I'll try to fix that future bug causing us not to
see the actual error message. When I've got a working fix, I'll share
a early-access version with you.

/Henrik



On Fri, Jul 1, 2016 at 8:02 AM, roman.hillje via aroma.affymetrix

Henrik Bengtsson

unread,
Jul 1, 2016, 10:46:26 PM7/1/16
to aroma.affymetrix
Also, install the following version of the future package:


This should reveal the true underlying error message.

/Henrik
> 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

roman....@googlemail.com

unread,
Jul 4, 2016, 3:43:15 AM7/4/16
to aroma.affymetrix
Hey Henrik, first of all thanks for the effort and your help! As you suggested, I installed the 'fixed' future package and set future::plan to 'eager' and now receive the following message upon fit(cbs):

Error: Something is wrong with the copy-number ratios of sample 'GSM1704973,chipEffects' relative to reference '.baseline,aa03679a3cdfd0f39ecaf0c9a2c80eeb' on chromosome 1. Too many non-finite values: 231306 (100.0% > 20.0%) out of 231306. If this is expected, you may adjust argument 'maxNAFraction' when setting up CbsModel().


So, all CN ratios are NA, right? If so, I guess the problem is upstream, perhaps in one of the normalization steps?

Henrik Bengtsson

unread,
Jul 5, 2016, 2:14:13 PM7/5/16
to aroma-affymetrix
Hi.

On Mon, Jul 4, 2016 at 12:43 AM, roman.hillje via aroma.affymetrix
<aroma-af...@googlegroups.com> wrote:
> Hey Henrik, first of all thanks for the effort and your help! As you
> suggested, I installed the 'fixed' future package and set future::plan to
> 'eager' and now receive the following message upon fit(cbs):
>
> Error: Something is wrong with the copy-number ratios of sample
> 'GSM1704973,chipEffects' relative to reference
> '.baseline,aa03679a3cdfd0f39ecaf0c9a2c80eeb' on chromosome 1. Too many
> non-finite values: 231306 (100.0% > 20.0%) out of 231306. If this is
> expected, you may adjust argument 'maxNAFraction' when setting up
> CbsModel().

Good to see that the new future no longer hides this true error
message. FYI, future 1.0.1 is now on CRAN, so a regular
update.packages() should give you that.

>
>
> So, all CN ratios are NA, right? If so, I guess the problem is upstream,
> perhaps in one of the normalization steps?

If either the tumor or the normal (or pooled reference) is very noisy,
the above sanity check may trigger an error. However, in those cases,
you wouldn't expect all signals to be non-finite (i.e. all missing).
So it is not obvious to me what's wrong. There could be many reasons
for this. Have a look at the signals from your tumor and your pooled
normal to see if they make sense. I suspect one of them have failed,
either as a bad hyrbidization / array or an incomplete write in the
preprocessing (although I don't see how that should happen because
everything is written atomically). If other tumor vs pooled normals
work, then it is most likely a problem with the tumor sample and not
the pooled normals.

Hope this helps

Henrik

roman....@googlemail.com

unread,
Jul 8, 2016, 5:58:53 AM7/8/16
to aroma.affymetrix
Hi, it's me again and I have good news: It seems like it was simply an issue with the sample (which I will have closer look at soon) as we have now been able to process and plot the first CytoScanHD arrays. However, we still might have to adjust some parameters for the segmentation algorithm as we have some hypersegmentation (an average of around 1000 segments per sample). I already tried setting min.width to 5 (default is 3), without any real effect. You can find an example in the attached image.
Do you perhaps have an idea how to improve the aroma segmentation environment for CytoScanHD arrays?
GSM1146804_CytoScanHD.png
Reply all
Reply to author
Forward
0 new messages