HajkD / LTRpred

De novo annotation of young retrotransposons
https://hajkd.github.io/LTRpred/
GNU General Public License v2.0
46 stars 8 forks source link

Issue with running with singularity #25

Closed skyungyong closed 1 year ago

skyungyong commented 3 years ago

Hi!

I am trying to run LTRpred with singularity but encountering a strange issue

My commands looked like:

singularity build --sandbox ltrpred ltrpred_latest.sif
singularity shell ltrpred
R
library(LTRpred)
LTRpred(genome.file = system.file("Hsapiens_ChrY.fa", package = "LTRpred"), cores = 28 )

The error comes from step 2:

vsearch v2.14.2_linux_x86_64, 62.5GB RAM, 28 cores https://github.com/torognes/vsearch

Running LTRpred on genome '/usr/local/lib/R/site-library/LTRpred/Hsapiens_ChrY.fa' with 28 core(s) and searching for retrotransposons using the overlaps option (overlaps = 'no') ...

No hmm files were specified, thus the internal HMM library will be used! See '/usr/local/lib/R/site-library/LTRpred/HMMs/hmm_*' for details. No tRNA files were specified, thus the internal tRNA library will be used! See '/usr/local/lib/R/site-library/LTRpred/tRNAs/tRNA_library.fa' for details. The output folder '/global/scratch/users/skyungyong/S.habrochaites/TEs/Hsapiens_ChrY_ltrpred' does not seem to exist yet and will be created ...

LTRpred - Step 1: Run LTRharvest... LTRharvest: Generating index file Hsapiens_ChrY_ltrharvest/Hsapiens_ChrY_index.fsa with gt suffixerator... Running LTRharvest and writing results to Hsapiens_ChrY_ltrharvest... LTRharvest analysis finished!

LTRpred - Step 2: Run LTRdigest... Generating index file Hsapiens_ChrY_ltrdigest/Hsapiens_ChrY_index_ltrdigest.fsa with suffixerator... LTRdigest: Sort index file... Running LTRdigest and writing results to Hsapiens_ChrY_ltrdigest... gt ltrdigest: error: fopen(): cannot open file '/usr/local/lib/R/site-library/LTRpred/tRNAs/tRNA_library.fa.des': Read-only file system LTRdigest analysis finished!

LTRpred - Step 3: Import LTRdigest Predictions... Error: The file 'Hsapiens_ChrY_ltrdigest/Hsapiens_ChrY-ltrdigest_tabout.csv' does not exist! Please check the correct path or the correct output of LTRharvest() or LTRdigest().

I am not sure why 'tRNA_library.fa.des' but not 'tRNA_library.fa' is being called in step 2.... Is this issue with singularity? I was not sure where in the container I can find this script to modify the path....

Thank you for your help!

Ramkyeri commented 1 year ago

@Hi! @HajkD

I am also trying to run LTRpred with singularity but encountering a strange issue

My commands are:

To convert a Docker image to Singularity, you can use the singularity build command

sudo docker pull drostlab/ltrpred

Convert the Docker image to Singularity sudo singularity build ltrpred.sif docker://drostlab/ltrpred

`singularity exec ltrpred.sif R -e 'library(LTRpred); LTRpred(genome.file="ltrpred_data/sequence.fa", cores=2)'

ram@zls:~$ singularity exec ltrpred.sif R -e 'library(LTRpred); LTRpred(genome.file="sequence.fasta", cores=2)'

R version 3.6.3 (2020-02-29) -- "Holding the Windsock" Copyright (C) 2020 The R Foundation for Statistical Computing Platform: x86_64-pc-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details.

R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R.

library(LTRpred); LTRpred(genome.file="sequence.fasta", cores=2) vsearch v2.14.2_linux_x86_64, 2015.5GB RAM, 144 cores https://github.com/torognes/vsearch

Running LTRpred on genome 'sequence.fasta' with 2 core(s) and searching for retrotransposons using the overlaps option (overlaps = 'no') ...

No hmm files were specified, thus the internal HMM library will be used! See '/usr/local/lib/R/site-library/LTRpred/HMMs/hmm_*' for details. No tRNA files were specified, thus the internal tRNA library will be used! See '/usr/local/lib/R/site-library/LTRpred/tRNAs/tRNA_library.fa' for details. The output folder '/home/ram/sequence_ltrpred' does not seem to exist yet and will be created ...

LTRpred - Step 1: Run LTRharvest... LTRharvest: Generating index file sequence_ltrharvest/sequence_index.fsa with gt suffixerator... Running LTRharvest and writing results to sequence_ltrharvest... LTRharvest analysis finished!

LTRpred - Step 2: Run LTRdigest... Generating index file sequence_ltrdigest/sequence_index_ltrdigest.fsa with suffixerator... LTRdigest: Sort index file... Running LTRdigest and writing results to sequence_ltrdigest... gt ltrdigest: error: fopen(): cannot open file '/usr/local/lib/R/site-library/LTRpred/tRNAs/tRNA_library.fa.des': Read-only file system LTRdigest analysis finished!

LTRpred - Step 3: Import LTRdigest Predictions... Error: The file 'sequence_ltrdigest/sequence-ltrdigest_tabout.csv' does not exist! Please check the correct path or the correct output of LTRharvest() or LTRdigest(). Execution halted ram@zls:~$

Please send me your suggestions;

with regards

ramky

HajkD commented 1 year ago

The error comes from: gt ltrdigest: error: fopen(): cannot open file '/usr/local/lib/R/site-library/LTRpred/tRNAs/tRNA_library.fa.des': Read-only file system

This means that the container conversion from Docker to Singularity messes something up with the read-write permissions of the internal tRNA_library.fa library that is used for annotation.

One workaround would be to download the tRNA library from here: https://github.com/HajkD/LTRpred/blob/master/inst/tRNAs/tRNA_library.fa

and then pass it directly as input to the LTRpred() call:

LTRpred(..., trnas = 'path/to/tRNA_library.fa')

I hope this helps!

Cheers, Hajk

Ramkyeri commented 1 year ago

Dear HajKD,

Thank you so much. This is the code that I used.

singularity exec ltrpred.sif R -e 'library(LTRpred); LTRpred(genome.file="sequence.fasta", cores=2)

LTRpred(..., trnas = 'path/to/tRNA_library.fa')

Could help me to, I do not know how to use it

with regards

Ramky

Ramkyeri commented 1 year ago

Dear HajKD,

I thik this is the code as your suggestion:

singularity exec ltrpred.sif R -e 'library(LTRpred); LTRpred(genome.file="sequence.fasta", cores=2, trnas="/home/ram/tRNA_library.fa")'

with regards

Ramky

HajkD commented 1 year ago

Excellent! I am glad to hear that it works for you now!

Cheers, Hajk

Ramkyeri commented 1 year ago

Dear @HajkD

Greetings,

the code is worked, and I feel theat results are correct, however, these filese were also generated using tRNA_library.fa.

But like Folder _ltrharvest and Folder _ltrdigest, these filese were not moved.

image

with regards

Ramky

HajkD commented 1 year ago

Dear @Ramkyeri

Maybe there is a copying issue in the transformed docker/singularity image where files are not copied due to their reset read/write permissions.

If anyone has a quick solution out of the back of their heads, I would greatly appreciate it.

Otherwise, I will put it on the ToDo list once more major features are addressed.

Many thanks, Hajk