binzhulab / SATS

0 stars 0 forks source link

Questions about matrix L #1

Open xiw588 opened 8 months ago

xiw588 commented 8 months ago

Hi, I am trying to apply your method, but I found difficult to understand and obtain matrix L. Can you extend a bit on this? I have generated the matrix V. Thanks

MUppal commented 6 months ago

Hi @binzhulab, similar to xiw588, I am also highly interested in the application of your method, but I am unclear as to how to derive/generate the L matrix for my sequencing panel. The V matrix appears to be a standard spectra matrix used in other tools. Would you be able to provide insight into how to generate an L matrix for a bed file for a given panel?

binzhulab commented 6 months ago

Hi all, thank you for your interest on the SATS package and we sorry for the delayed responses. We have created a folder here containing an R script (L_matrix_Generation.R) and two example datasets (Panel_Info_1_assay.txt and Panel_Info_2_assays.txt). In the R script, we have included the "L_matrix_generation()" function, and you can find its usage on the SATS main page here. Hope this helps! Please let us know if you need any further information. Thanks.

xiw588 commented 5 months ago

Thanks a lot! I am able to generate the L matrix! But here is another problem when I tried to run signeR_re <- signeR(M=V_sum, Opport=L_sum_new, nlim=c(1,5)) V_sum and L_sum have the same dimension. Error in dimnames(x) <- dn : length of 'dimnames' [1] not equal to array extent

Any idea of what's happening here? Thanks a lot!

xiw588 commented 5 months ago

Sorry for multiple comments, but I just tried the code using the samples and same issue occured. signeR(M=SimData$V[,1:6], Opport=SimData$L[,1:6], nlim=c(1,5))

binzhulab commented 4 months ago

Would you try the following (with transpose)? signeR(M = t(SimData$V[,1:6]), Opport = t(SimData$L[,1:6]), nlim=c(1,2)) The arguments of the signeR() function (M and Opport matrices) should be 𝑁 by 96 matrices (with default) where columns correspond to mutation types.

We are not sure how your L_sum_new is constructed, but please check dim(V_sum) and dim(L_sum_new) where dim(V_sum) from the user guide example is 101 by 96. For your L_sum_new, signeR() will work if the second number of dim(L_sum_new) is 96. To this end, you may consider transpose, i.e., t(L_sum_new)

For your reference, we have updated ‘L_matrix_generation()’ function to incorporate mutation type order. Therefore please ensure that your V and L matrices (or V_sum and L_sum) have the same mutation type order to avoid incorrect signeR() results. Also, refer to Section 2 of README.

Hope this helps. Please let us know if you need any further information. Thanks.

jpuntomarcos commented 2 months ago

Hi,

I have tryied L_matrix_generation() and is working properly: I created L dataframe.

Thanks!