STOmics / SAW

GNU General Public License v3.0
136 stars 34 forks source link

OSError {Errno 30] related to write errcode.log during the step 03.register. #115

Open wzhang42 opened 4 months ago

wzhang42 commented 4 months ago

I run the ./stereoPipeline_v7.1.sh equipped with SAW_7.1.sif, and met the following OSError, but I am not sure how to solve it. ...... File "register-v4.3.2/register/main.py", line 539, in File "register-v4.3.2/register/main.py", line 535, in main File "register-v4.3.2/register/main.py", line 342, in init File "register-v4.3.2/register/main.py", line 359, in check_input_parameters File "register-v4.3.2/register/utils/stlog.py", line 55, in saw_log2file File "/usr/local/python3/lib/python3.8/logging/init.py", line 1147, in init StreamHandler.init(self, self._open()) File "/usr/local/python3/lib/python3.8/logging/init.py", line 1176, in _open return open(self.baseFilename, self.mode, encoding=self.encoding) OSError: [Errno 30] Read-only file system: '/research/groups/cab/projects/cab_cso/cab/STOmics/raysync_download_052024/SAW_Demo_Data/C02533C1_v7.0_kidney/errcode.log' Command exited with non-zero status 1

My command to run pipeline is as the following: WorkDir="/research/groups/cab/projects/cab_cso/cab/STOmics/raysync_download_052024/SAW_Demo_Data/C02533C1_v7.0_kidney" Mask="$WorkDir/mask/C02533C1.barcodeToPos.h5" Fq1="$WorkDir/reads/V300116245_L02_read_1.fq.gz,$WorkDir/reads/V350195543_L01_read_1.fq.gz,$WorkDir/reads/V350195543_L02_read_1.fq.gz,$WorkDir/reads/V350195543_L03_read_1.fq.gz,$WorkDir/reads/V350195543_L04_read_1.fq.gz" Fq2="$WorkDir/reads/V300116245_L02_read_2.fq.gz,$WorkDir/reads/V350195543_L01_read_2.fq.gz,$WorkDir/reads/V350195543_L02_read_2.fq.gz,$WorkDir/reads/V350195543_L03_read_2.fq.gz,$WorkDir/reads/V350195543_L04_read_2.fq.gz" OutDir="$WorkDir/Out_Dir" ... export SINGULARITY_BIND=$WorkDir module load singularity/4.1.1 bsub -P Test_SAW -q rhel8_standard -M 100000 -n 4 -e err%J.err -o out%J.out -J Test_SAW "sh ./stereoPipeline_v7.1.sh -splitCount 1 -maskFile ${Mask} -fq1 ${Fq1} -fq2 ${Fq2} -refIndex ${RefIndex} -speciesName Test -tissueType Kidney -annotationFile ${Annotation} -outDir ${OutDir} -imageRecordFile ${ImageRec} -imageCompressedFile ${ImageCompress} -doCellBin Y -rRNARemove Y -threads 16 -sif ./SAW_7.1.sif"

It seems that the singularity can not write a errcode.log in the $WorkDir, but I have execute the line "export SINGULARITY_BIND=$WorkDir" Any idea to solve this issue? Thank you in advance

TheSallyGardens commented 4 months ago

@wzhang42 Hi! I suggest that you submit the bsub directly to the sh script instead of submitting the bsub within the sh script.

Hope it's helpful.

wzhang42 commented 4 months ago

You can see that I indeed bsub the directly the sh script as you mentioned. It smoothly run step 01-02(00.mapping 01.merge 02.count) but exited in step-03 (03.register). I cat the err%J.err (err228812617.err), out%J.out (out228812617.out) and locked the above issue. bsub -P Test_SAW -q rhel8_standard -M 100000 -n 4 -e err%J.err -o out%J.out -J Test_SAW "sh ./stereoPipeline_v7.1.sh -splitCount 1 -maskFile ${Mask} -fq1 ${Fq1} -fq2 ${Fq2} -refIndex ${RefIndex} -speciesName Test -tissueType Kidney -annotationFile ${Annotation} -outDir ${OutDir} -imageRecordFile ${ImageRec} -imageCompressedFile ${ImageCompress} -doCellBin Y -rRNARemove Y -threads 16 -sif ./SAW_7.1.sif"

TheSallyGardens commented 4 months ago

Can you check the permissions of the errcode.log file? Has it been produced by another user.

luigilamparelli commented 4 days ago

Hello, I have the same issue with a similar setup; as far as I can see, the file the log is complaining about does not exist at that path, do you have any news on this topic? Thanks!

wzhang42 commented 4 days ago

My final solution is to run the job in my home directory, and all the indata and outdata directory are stored/configured at other place, so, only the log files, errcode are delivered in the job running directory (home directory). This issue disappear.

luigilamparelli commented 3 days ago

Hi, thanks for the fast reply. I've simply tried to run the script in a different folder which is not a root of the folder where I write the output and is working, so apparently for what I've seen this error will raise if you specify an output folder which is a subfolder of the one where you run the script; or alternatively may be caused by using full paths for launching the script.