lemene / PECAT

PECAT, a phased error correct and assembly tool
BSD 2-Clause "Simplified" License
38 stars 1 forks source link

Paths problems of clair3 #36

Open chuanxinyu opened 2 months ago

chuanxinyu commented 2 months ago

I'm having problems with paths when running clair3: mkdir: cannot create directory ‘/lustre/miifs01’: Read-only file system

The default command is: phase_clair3_command = singularity exec -B pwd -P:pwd -P -B /tmp:/tmp clair3_v0.1-r12.sif /opt/bin/run_clair3.sh. The paths of pwd -P is /lustre/miifs01/project/m2_jgu-gsse/..., and my work path is /lustre/project/m2_jgu-gsse/....

Is there any way I can change this path?

Best, Chuanxin

lemene commented 2 months ago

Hi, @chuanxinyu

-P        print the physical directory, without any symbolic links

You can delete option -P or use the absolute path -B /lustre/project/m2_jgu-gsse:/lustre/project/m2_jgu-gsse.

chuanxinyu commented 2 months ago

Thank you very much for your reply, I changed the cfgfile but it still reports the same error!

cfgfile: phase_clair3_use_reads=0 phase_clair3_command = singularity exec -B '/lustre/project/m2_jgu-gsse/':'/lustre/project/m2_jgu-gsse/' clair3_v0.1-r12.sif /opt/bin/run_clair3.sh phase_clair3_rd2ctg_options=-x map-ont -w10 -k19 -c -p 0.5 -r 1000 -I 10G -K 8G phase_clair3_phase_options= --coverage lc=20 --phase_options icr=0.1:icc=3:sc=10 --filter i=90 phase_clair3_filter_options = --threshold 2500 --rate 0.05 phase_clair3_options=--platform=ont --model_path=/lustre/project/m2_jgu-gsse/Yu_PhD_Mogon/soft/clair3_models/r1041_e82_400bps_sup_v420/ --include_all_ctgs

I check the phs_clair3_call.sh file in /scripts:

!/bin/bash

echo "Plgd script start: $(date "+%Y-%m-%d %H:%M:%S")" retVal=0 if [ $retVal -eq 0 ]; then samtools faidx /lustre/miifs01/project/m2_jgu-gsse/.../primary.fasta temp_result=(${PIPESTATUS[]}) for i in ${temp_result[]} do if [ $retVal -eq 0 ]; then retVal=$i else break fi done fi if [ $retVal -eq 0 ]; then singularity exec -B '/lustre/project/m2_jgu-gsse/':'/lustre/project/m2_jgu-gsse/' clair3_v0.1-r12.sif /opt/bin/run_clair3.sh --bam_fn=/lustre/miifs01/project/m2_jgu-gsse/4-phase/clair3/rd_2_ctg.bam --ref_fn=/lustre/miifs01/project/m2_jgu-gsse/3-assemble/primary.fasta --threads=32 --output=/lustre/miifs01/project/m2_jgu-gsse/4-phase/clair3/clair3 --platform=ont --model_path=/lustre/miifs01/project/m2_jgu-gsse/clair3_models/r1041_e82_400bps_sup_v420 --include_all_ctgs temp_result=(${PIPESTATUS[]}) for i in ${temp_result[]} do if [ $retVal -eq 0 ]; then retVal=$i else ...... I realised I couldn't change the path. Can I just submit the shell by changing this file to get past this step? Or can you help me to change that path? Do I need to change it in pecat.pl? (I found this software is very user friendly indeed, that you don't need to calculate from scratch after each change you make to the control file.)

lemene commented 2 months ago

This is a bit strange. If my work path is /lustre/project/m2_jgu-gsse/, then what does miifs01 represent? Are you running pecat.pl on the cluster? Is it possible that the paths on the master node and the slave nodes are inconsistent?