stephenslab / dsc

Repo for Dynamic Statistical Comparisons project
https://stephenslab.github.io/dsc-wiki
MIT License
12 stars 12 forks source link

ERROR: Module or group name liter_data is not defined! #205

Closed ZacZZZ closed 4 years ago

ZacZZZ commented 4 years ago

Hi,

I was trying to run the fine-mapping benchmark on your susieR paper. But I am receiving the same error "INFO: Load command line DSC sequence: run_comparison ERROR: Module or group name liter_data is not defined! Available modules are " when I run "dsc susie.dsc --target run_comparison -o toy_comparison -c 8" or dsc susie.dsc --target run_comparison -o susie_comparison --host susie_comparison.yml -c 60

Am I missing some packages?

I ran them on a remote Ubuntu server, but I don't have administrator access. And the Docker and Singularity both seem to require root access now.

Best, Zac

gaow commented 4 years ago

@ZacZZZ sorry there seems an artifact from the ./export.sos command that calls Jupyter Notebook's execute but it failed to parse and export the first cell with current version of Jupyter Notebook. That generated an empty DSC module as you have exeprienced above. I've now pushed a fix to it. Could you please pull susie-paper repo, run ./export.sos again and then try the DSC command?

Notice that as explained on the page you pointed above, the command will not reproduce the results in our paper because we cannot share the GTEx input data. It will only run from an example data provided by DAP-G paper as an illustration. However if you are looking for simulate data you can download from the website intermediate DSC benchmark data, including GTEx genotype removing variant coordinate information and sample ID's, plus simulated phenotype data, under simple_lm_* folder. That should be good enough for you to analyze with your own methods.

ZacZZZ commented 4 years ago

Hi gaow,

Thanks for the prompt update. It solves this problem. But I now run into the process of installing multiple packages that needed to run the toy example. And the built-in installer in dsc doesn't seem to always work. For example, installing "reticulate" through dsc returns the following error message

"Error in if (nzchar(SHLIB_LIBADD)) SHLIB_LIBADD else character() : argument is of length zero

The downloaded source packages are in ‘/tmp/RtmphWY4XM/downloaded_packages’ ERROR: R library reticulate is not available and cannot be installed. ERROR: Required R library reticulate is not available or obsolete. Please install it and try again."

I tried to use the docker image you provide, but I don't have root to our remote server. And it seems that the Singularity https://sylabs.io/guides/3.5/user-guide/quick_start.html#quick-installation-steps you recommended requires root to install system dependencies. Do you have other recommendations? Should I start a new thread for this issue?

Thank you!

On Sun, Nov 24, 2019 at 1:53 AM gaow notifications@github.com wrote:

@ZacZZZ https://github.com/ZacZZZ sorry there seems an artifact from the ./export.sos command that calls Jupyter Notebook's execute but it failed to parse and export the first cell with current version of Jupyter Notebook. That generated an empty DSC module as you have exeprienced above. I've now pushed a fix to it. Could you please pull susie-paper repo, run ./export.sos again and then try the DSC command?

Notice that as explained on the page you pointed above, the command will not reproduce the results in our paper because we cannot share the GTEx input data. It will only run from an example data provided by DAP-G paper as an illustration. However if you are looking for simulate data you can download from the website intermediate DSC benchmark data, including GTEx genotype removing variant coordinate information and sample ID's, plus simulated phenotype data, under simplelm* folder. That should be good enough for you to analyze with your own methods.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/stephenslab/dsc/issues/205?email_source=notifications&email_token=AG7HZHTUQW57B6WG7W4HUSDQVIQFHA5CNFSM4JQ5C5KKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEFAFAHQ#issuecomment-557862942, or unsubscribe https://github.com/notifications/unsubscribe-auth/AG7HZHXVG4WSLWTAWPTANTLQVIQFHANCNFSM4JQ5C5KA .

-- ​Zezhi (Zac) Zhang University of Michigan, Ann Arbor​ | Ph.D. Candidate, BioStatistics​

gaow commented 4 years ago

@ZacZZZ the automatic install, as prompted by DSC, was an attempt to resolve dependency failure, by calling install.packages() in R for this case. It looks like your R packages are provided by conda in which case the recommended installation method would possibly be, eg,

conda install -c conda-forge r-reticulate

The bottom line is you should be able to manually resolve dependencies such as this, without root privilege, to get it work. Command above is only what I guess might work for your system. I hope it helps.

ZacZZZ commented 4 years ago

Thanks! I found https://anaconda.org/conda-forge extremely helpful in installing individual r packages when you cannot even install it in R.

In R, I received the error below when installing:

Error in if (nzchar(SHLIB_LIBADD)) SHLIB_LIBADD else character() : argument is of length zero

pcarbo commented 4 years ago

@gaow It sounds like your approach for automatically installing packages might only work for specific R setups. Do you think it would be helpful to include a tryCatch statement and provide an informative error message upon failure. Maybe I can do this if you can point me to the R code where this is implemented?

gaow commented 4 years ago

@pcarbo thanks -- I think this is already the case. On the screen, after it fails the users should see it in red text:

ERROR: R library reticulate is not available and cannot be installed.
ERROR: Required R library reticulate is not available or obsolete. Please
install it and try again."

I think it is clear enough and I don't want to provide specific advice there how to install the said package -- the users should figure it out. Do you think we can rephrase it to make it clear that at this point we've made our attempt and it is user's duty to make sure a package exists?

pcarbo commented 4 years ago

@gaow I agree, that looks fine. Thanks.