nservant / HiC-Pro

HiC-Pro: An optimized and flexible pipeline for Hi-C data processing
Other
386 stars 182 forks source link

'inputs not found' #343

Closed malina-dva closed 3 years ago

malina-dva commented 4 years ago

Hi there,

I have tried to use Hi-C pro on my samples for the first time. Loaded it with the image and singularity exec command:

singularity exec /mnt/HICPro/HiC-Pro/hicpro_latest_ubuntu.img HiC-Pro -i /mnt/data/HiC_Bonev/ESC -o /mnt/HiCPro_data_analyses/ESC_R1_Bonev/ -c config-hicpro.txt

This is the error message I got. Inputs '/mnt/data/HiC_Bonev/ESC' not found. Exit.

Downloaded the image from github directly.

I organized my input files properly - have three samples in three diff folders under ESC_R1_Bonev with respective R1 and R2 fastq.gz files within each subfolder. Config file is also properly edited according to the locations of my annotation files and ext of the fastq files etc.

I suspect there is problem with the image, but not sure. -h command in the Hi-C Pro gives the output it should. Or is the command after Hi-C Pro supposed to look different when used with singularity exec? I have no clue.

If you can help me with this issue would be highly appreciated.

An UPDATE!

I was playing around with the path of the -i parameter and only entered /mnt/

I got this error: Exit: GENOME_FILE /usr/local/bin/HiC-Pro_2.11.4/annotation//mnt/HiCPro_data_analyses/ESC_R1_Bonev/annotations/chrom_mm10.sizes not found. Exit

it may be that when Hi-C pro is run via singularity (installed at usr/local/bin/ ) this path is added to all folder paths in the arguments after Hi-C pro.

I still don't know how to solve it?

If I run Hi-C pro from shell, would that usr/local/bin be excluded from the rest of the folder paths?

Tried with the shell, not solving the problem. Same error

Best regards

Malina

nservant commented 4 years ago

Hi Melina,

I'm a bit confused because you singularity command looks ok to me

singularity exec /mnt/HICPro/HiC-Pro/hicpro_latest_ubuntu.img HiC-Pro -i /mnt/data/HiC_Bonev/ESC -o /mnt/HiCPro_data_analyses/ESC_R1_Bonev/ -c config-hicpro.txt

Could you please show me the content of your input folder ?

Regarding the other issue on the annotation file, I think that just specifying 'chrom_mm10.sizes` instead of the full path should work ... but still there is something strange, as in theory if you provide the full path, it should work.

best

nservant commented 4 years ago

Could you also try to run

singularity shell /mnt/HICPro/HiC-Pro/hicpro_latest_ubuntu.img
>> ls /mnt/data/HiC_Bonev/ESC

Just to be sure that your singularity has access to local IO. Thanks

malina-dva commented 4 years ago

Hi again,

Thank you very much for replying so fast.

Singularity> ls /mnt/data/HiC_Bonev/ESC ls: cannot access '/mnt/data/HiC_Bonev/ESC': No such file or directory

So it is obvious - it can't access it. I'm running it from ubuntu VM on a cloud. But that shouldn't be an issue. Installed singularity exactly as per the instructions in https://sylabs.io/guides/3.5/admin-guide/installation.html#installation-on-linux

nservant commented 4 years ago

So I think this is more a singularity issue. But I don't really know how to help you. I will tell you if I find something on this topic Best

malina-dva commented 4 years ago

Thank you very much.

I will be also looking myself. Best regards

Malina

malina-dva commented 4 years ago

So, I moved all index files, input data and annotations in subfolders of my working directory. Then I changed my conf file accordingly and HI-C pro is now running.

Seems I will have to mount folders that are not in the working directory in the future for singul to be able to access them.

Best Regards

Malina

trum994 commented 4 years ago

I had a very similar issue. I was able to workaround the issue by running the container with the --bind option. Any input directory can be made visible to the container using this method.

singularity exec --bind $inputDir --bind $outParent --bind $configDir --bind $bowtieDir $hicProImg HiC-Pro -c $configFile -i $inputDir -o $outputDir