Ibvt / RNAnue

RNAnue
GNU General Public License v3.0
8 stars 4 forks source link

Docker Image launch errors #20

Closed Ikarto closed 4 months ago

Ikarto commented 5 months ago

I tried running Docker image available at Docker Hub under tag: v0.2. I have not been able to run the latest version because I do not have a machine with arm64/v8.

I have tried 2 options:

sudo docker run -v ./requirements/:/tmp/ cobirna/rnanue:v0.2 /RNAnue/build/RNAnue preproc --config tmp/params.cfg

and

sudo docker run -v ./requirements/:/tmp/ cobirna/rnanue:v0.2 /RNAnue/build/RNAnue complete --config tmp/params.cfg

For "complete" run ,no software is started at all, only an output folder is created.

RNAnue v0.2.0 - Detect RNA-RNA interactions from Direct-Duplex-Detection (DDD) data.
[2024-05-30 12:33:57] Create directory to store the results (specified via --outdir)
[2024-05-30 12:33:57] The directory "/tmp/output/" already exists
[2024-05-30 12:33:57] The directory "/tmp/output/complete" already exists
[2024-05-30 12:33:57] The directory "/tmp/output/tmp" already exists

For "preproc" run ,I am obtaining boost library error:

RNAnue v0.2.0 - Detect RNA-RNA interactions from Direct-Duplex-Detection (DDD) data.
terminate called after throwing an instance of 'boost::wrapexcept<boost::bad_any_cast>'
  what():  boost::bad_any_cast: failed conversion using boost::any_cast

My params.cfg file is:

### GENERAL
readtype = SE # paired-end (PE) or single-end (SE)

# absolute path of dirs containing the raw reads (additional dir for each library)
trtms = /tmp/data_check/ # treatments 
#ctrls = /Users/riasc/Documents/work/projects/RNAnue/rawreads_100k/ctrls/ # controls 
outdir = /tmp/output/ # dir 

threads = 1 # number of threads 
quality = 20 # lower limit for the average quality (Phred Quality Score) of the reads
mapquality = 20 # lower limit for the average quality (Phred Quality Score) of the alignment
minlen = 20 # minimum length of the reads
splicing = 0 # include splicing (=1) or not (=0)

### DATA PREPROCESSING 
preproc = 1 # preprocessing of the reads can be either omitted (=0) or included (=1) 
modetrm = 1 # mode of the trimming: only 5' (=0) and 3' (=1) or both (=2) 
# sequence preceeding 5'-end (N for arbitrary bp) in .fa format
adpt5 =  
# sequence succeeding 3'-end (N for arbitrary bp) in fa. format
adpt3 = /RNAnue/build/adapters3.fa 
wtrim = 0 # on whether (=1) or not (=0) to include window quality trimming
# rate of mismatches allowed when aligning adapters with read sequence 
mmrate = 0.1 # e.g., 0.1 on a sequence length of 10 results in
wsize = 3 # window size 
minovlps = 5 # minimum overlaps required when merging paired-end reads

### ALIGNMENT (forwarded to segemehl.x)
dbref = /tmp/genome_gencode/human/GRCh38.p13.genome.fa
accuracy = 90 # min percentage of matches per read in semi-global alignment
minfragsco = 15 # min score of a spliced fragment 
minfraglen = 15 # min length of a spliced fragment
minsplicecov = 80 # min coverage for spliced transcripts
exclclipping = 0 # exclude soft clipping from 

### SPLIT READ CALLING 
sitelenratio = 0.0
cmplmin = 0.0 # complementarity cutoff - consider only split reads that exceed cmplmin
nrgmax = 0 # hybridization energy cutoff - consider only split reads that fall beneath nrgmax

### CLUSTERING
clust = 1 # clustering of the split reads can either be omitted (=0) or included (=1)
clustdist = 0 # minimum distance between clusters

### ANALYIS
# specify the annotations of the organism of interest (optional)
features = /tmp/genome_gencode/human/gencode.v42.chr_patch_hapl_scaff.annotation.gff3 # GFF3 feature file

# OUTPUT
stats = 1 # produce a statistics of the libraries
outcnt = 1 # (additionally) produce a count table as output
outjgf = 1 # (additionally) produce a JSON graph file for visualization

This is further confirmation that, unfortunately, the problem is not related to the transformation of the Docker container into a Singularity image file.

Ikarto commented 5 months ago

Upd: I created a separate virtual machine with Ubuntu 23.04 LTS, where I installed the software from the . I tried to install in 2 ways, where boost library was installed using apt-get and from source. Both installation options end up with the same errors as the docker image.

RNAnue preproc --config requirements/params.cfg 
RNAnue v0.2.0 - Detect RNA-RNA interactions from Direct-Duplex-Detection (DDD) data.
[2024-06-02 13:59:15] Create directory to store the results (specified via --outdir)
[2024-06-02 13:59:15] The directory "/tmp/output/" already exists
[2024-06-02 13:59:15] The directory "/tmp/output/preproc" was created
[2024-06-02 13:59:15] The directory "/tmp/output/tmp" already exists
terminate called after throwing an instance of 'boost::wrapexcept<boost::bad_any_cast>'
  what():  boost::bad_any_cast: failed conversion using boost::any_cast
Aborted (core dumped)

I assume that the problem is present in the source code.

Only noticed new commits. Will update after compilation of new version [0.2.1].

Thank you for your promptness.

riasc commented 5 months ago

Hi there, thank you for your patience. A merge with an old devel branch and update to C++20 caused some issues. I will test it tomorrow and then submit the new patch. Thanks

riasc commented 4 months ago

Hello, could you try it again with the latest container? Thanks

riasc commented 4 months ago

We tested it with the recent fixes... works for us. If you encounter into any other problems please reopen this issue. Thanks