zwdzwd / sesame

🍪 SEnsible Step-wise Analysis of DNA MEthylation BeadChips
Other
61 stars 32 forks source link

Prep function not working with multiple IDAT/sdfs #77

Open biostars-nyc opened 2 years ago

biostars-nyc commented 2 years ago

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

zwdzwd commented 2 years ago

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")
biostars-nyc commented 2 years ago

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:
***@***.***>
zwdzwd commented 2 years ago

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"
biostars-nyc commented 2 years ago

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: @.***>

stefdecondor31 commented 1 year ago

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

Stef

zwdzwd commented 1 year ago

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.

stefdecondor31 commented 1 year ago

Thank for the answer

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

stefdecondor31 commented 1 year ago

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 commented 1 year ago

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

zwdzwd commented 1 year ago

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.