sesame icon indicating copy to clipboard operation
sesame copied to clipboard

Prep function not working with multiple IDAT/sdfs

Open biostars-nyc opened this issue 2 years ago • 10 comments

I ran the following two commands, according to the vignette, which should produce vastly different results. I've also noticed that the "func = NULL" does NOT return a Sig object, but instead a matrix of beta values (as with func = getBetas). How do I process several IDAT files at once? The lapply solution doesn't work because this produces a list of Sig objects, which I then can't merge in any reasonable way for pre-processing and normalization...

sdfs = openSesame(idat_dir, func = NULL)

sdfs = openSesame(idat_dir, prep = 'QHDPB', func = NULL

biostars-nyc avatar Aug 09 '22 18:08 biostars-nyc

I tried the following example with a dir input, it does seem to return a list of SigDFs. does this work for you?

a = openSesame(system.file("extdata", "", package = "sesameData"), func=NULL)
str(a)

do you mean something like

do.call(c, lapply(prefixes, openSesame, ...))

?

technically you don't need it since you can just use openSesame(prefixes), if you really want to do it in steps, you can still

sdfs = openSesame(prefixes, func=NULL, prep="Q")

then

sdfs = openSesame(sdfs, func=NULL, prep="S")

zwdzwd avatar Aug 09 '22 20:08 zwdzwd

Unfortunately those steps don't work for me, because the first function results in a matrix with beta values (even with func = NULL). The prefixes object is my IDAT directory, with two files for each sample. Thus, when I perform the second function, a NULL sdfs object is returned:

sesameDataCache()

snapshotDate(): 2022-07-22

[1] TRUE

idat_dir = getwd()

sdfs = openSesame(idat_dir, func = NULL, prep = 'Q')

class(sdfs)

[1] "matrix" "array"

sdfs = openSesame(sdfs, func=NULL, prep="S")

sdfs

NULL

On Tue, Aug 9, 2022 at 3:51 PM Wanding Zhou - Bioinformatics < @.***> wrote:

I tried the following example with a dir input, it does seem to return a list of SigDFs. does this work for you?

a = openSesame(system.file("extdata", "", package = "sesameData"), func=NULL) str(a)

do you mean something like

do.call(c, lapply(prefixes, openSesame, ...))


technically you don't need it since you can just use openSesame(prefixes), if you really want to do it in steps, you can still

sdfs = openSesame(prefixes, func=NULL, prep="Q")

then

sdfs = openSesame(sdfs, func=NULL, prep="S")

—
Reply to this email directly, view it on GitHub
<https://github.com/zwdzwd/sesame/issues/77#issuecomment-1209883808>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/ARGAZJMAFW65T36CCIMUIXLVYLAFVANCNFSM56BXVQYA>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>

biostars-nyc avatar Aug 09 '22 21:08 biostars-nyc

I wonder if that could be a version difference.

On my end

idat_dir = openSesame(system.file("extdata", "", package = "sesameData"), func=NULL) sdfs = openSesame(idat_dir, func = NULL, prep = 'Q') class(sdfs) [1] "list"

What is your package versions?

sapply(c("sesame","sesameData","ExperimentHub"),

  • function(x) as.character(packageVersion(x)))
     sesame    sesameData ExperimentHub
    
    "1.15.6" "1.14.0" "2.4.0"

zwdzwd avatar Aug 09 '22 21:08 zwdzwd

Is sdfs not a list after the first function for you?

R/4.1.1

sesame 1.12.9

sesameData 1.12.0

ExperimentHub 2.2.1

On Tue, Aug 9, 2022 at 4:51 PM Wanding Zhou - Bioinformatics < @.***> wrote:

I wonder if that could be a version difference.

On my end

idat_dir = openSesame(system.file("extdata", "", package = "sesameData"), func=NULL) sdfs = openSesame(idat_dir, func = NULL, prep = 'Q') class(sdfs) [1] "list"

What is your package versions?

sapply(c("sesame","sesameData","ExperimentHub"),

function(x) as.character(packageVersion(x))) sesame sesameData ExperimentHub

"1.15.6" "1.14.0" "2.4.0"

— Reply to this email directly, view it on GitHub https://github.com/zwdzwd/sesame/issues/77#issuecomment-1209929388, or unsubscribe https://github.com/notifications/unsubscribe-auth/ARGAZJL2GL7Q4TPKXDYPNATVYLHFRANCNFSM56BXVQYA . You are receiving this because you authored the thread.Message ID: @.***>

biostars-nyc avatar Aug 09 '22 21:08 biostars-nyc

Hi, I have the same problem, have you found a solution?

Stef

stefdecondor31 avatar Mar 08 '23 14:03 stefdecondor31

I think this is most likely a version difference. Sesame switched from SigSet to SigDF to allow for more transparent storage. Updating your software version should solve this.

zwdzwd avatar Mar 08 '23 17:03 zwdzwd

Thank for the answer

Ubuntu 22.04 R/4.1.2 sesame sesameData ExperimentHub "1.12.9" "1.12.0" "2.2.1"

stefdecondor31 avatar Mar 08 '23 20:03 stefdecondor31

Hi, I am trying to read my .idat files into sesame using the readIDATpair function but the soft does NOT return a Sig object, but instead a matrix. I have performed the updates. sesame sesameData ExperimentHub "1.17.8" "1.16.0" "2.6.0" R = "4.2.2"

Thanks

Stef L

stefdecondor31 avatar Mar 13 '23 15:03 stefdecondor31

I also have the same problem with the data from the tutorial series. Stef L

stefdecondor31 avatar Mar 15 '23 09:03 stefdecondor31

Hi the data frame/matrix you got from readIDATpair contains raw signal intensities. If you are using an earlier version it's the SigSet, but the newer version returns SigDF which is essentially a data frame.

zwdzwd avatar Mar 15 '23 13:03 zwdzwd