dcouvin / CRISPRCasFinder

A Perl script allowing to identify CRISPR arrays and associated Cas proteins from DNA sequences
https://crisprcas.i2bc.paris-saclay.fr
GNU General Public License v3.0
82 stars 29 forks source link

Singularity: Device or resource busy // FAIL TO BUILD #35

Open jowodo opened 2 years ago

jowodo commented 2 years ago

l'm on a Centos HPC, so installing with the regular CentOS instruction isn´t an option for me. Unfortunately, building the singularity image gives me an array of error which I'm trying to resolve at the moment. When I use the pre-build singularity image from https://crisprcas.i2bc.paris-saclay.fr/Home/DownloadFile?filename=CrisprCasFinder.simg, with this comand in a wrapper bash script

singularity exec -B $PWD /apps/crisprcasfinder/4.2.20/singularity/crisprcasfinder.simg perl /usr/local/CRISPRCasFinder/CRISPRCasFinder.pl -so /usr/local/CRISPRCasFinder/sel392v2.so -cf /usr/local/CRISPRCasFinder/CasFinder-2.0.3 -drpt /usr/local/CRISPRCasFinder/supplementary_files/repeatDirection.tsv -rpts /usr/local/CRISPRCasFinder/supplementary_files/Repeat_List.csv -cas -def G -out RES21092020_2 -in sequence.fasta $@

I always get the following error:

Nb of Cas in this sequence = 2
mv: cannot move 'CP014688.fna' to 'sequence_17_3_2022_7_47_18/analyzedSequences/CP014688.fna': Device or resource busy
failure: "mv CP014688.fna sequence_17_3_2022_7_47_18/analyzedSequences", errorcode 256

EDIT: after such a failed execution the result.json only consists of {

I've managed to build the image, up to the %test by applying this patch: patch.txt

patch --backup Singularity patch.txt

But then I get this error:

open : Read-only file system at /usr/local/bin/CRISPRCasFinder line 419.
Test failed see /tmp/test_CRISPRCasFinder_2022-03-17-06:50:50 for details.
FATAL:   While performing build: failed to execute %test script: exit status 30

Unfortunately, I can't have a look at the mentioned /tmp/test_CRISPCasFinder_2022-03-17-06:50:50. I had a look at line 417-420:

## JSON file "result.json"
my $jsonResult = "result.json"; # JSON result to get all info concerning CRISPR-Cas and sequences JSON files
open (JSONRES, ">$jsonResult") or die "open : $!";
print JSONRES "{\n";

Any help or tips in the right direction would be appreciated.

dcouvin commented 2 years ago

Hi @pur80a , Thank you for your message. Unfortunately, I have no complete access to a CentOS machine for the moment. We will try to sole this issue as soon as possible.