wbaopaul / scATAC-pro

A comprehensive tool for processing, analyzing and visulizing single cell chromatin accessibility sequencing data
MIT License
70 stars 24 forks source link

demplx_fastq run error #20

Closed sylestiel closed 4 years ago

sylestiel commented 4 years ago

Hi,

What does the error below indicate? How do I correct it?

Demultiplex fastq ... /usr/local/bin/scATAC-pro_1.1.3/scripts/dex_fastq.sh: line 24: ${isSingleEnd^^}: bad substitution make[1]: *** [demplx_fastq] Error 1 ] Error 1

wbaopaul commented 4 years ago

please tell more information: how did you run it and configure it?

sylestiel commented 4 years ago

I installed scATAC-pro as follows: $ git clone https://github.com/wbaopaul/scATAC-pro.git $ cd scATAC-pro $ make configure $ make install Next I ran the cat command in terminal to concatenated the R1 (Lanes L001 through L004) and called it pe1_fastq.gz. Similarly, I ran cat command on R2 (L001-L004) and finally on R3. That done I ran the next line of command which was scATAC-pro -s demplx_fastq -i pe1_fastq.gz,pe2_fastq.gz,index_fastq.gz -c configure_user.txt This was done on a bash prompt in terminal.

The Demultiplex fastq log read as shown above in my first comment,

wbaopaul commented 4 years ago

Thanks for poiting this out. I just google the reason for 'bad substitution'. After reading this https://stackoverflow.com/questions/20615217/bash-bad-substitution, I guess the reason may be your system default shell is not bash (I used #!/bin/bash in the first line of the demplx script and use bash to call it). As suggestted in the fourth anwser to the above link, can you do ls -l /bin/bash and check it's really bash and not sym-linked to some other shell?

sylestiel commented 4 years ago

Check scATAC-pro configuration ... All Done: run 'make install' now! (base) PED-CC_NEO-S01:scATAC-pro pediatrics$ make install make: realpath: Command not found Installing ... scATAC-pro installed in ! bash-3.2$ ls -l /bin/bash -r-xr-xr-x 1 root wheel 618448 May 28 00:06 /bin/bash bash-3.2$

wbaopaul commented 4 years ago

Seems the software was not corrected installed, otherwise will print message like "scATAC-pro installed in /usr/local/scATAC-pro_1.1.3!" in your case. This may due to your make does not support realpath command. Following are few suggestiongs:

sylestiel commented 4 years ago

$ make --version GNU Make 3.81 Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

This program built for i386-apple-darwin11.3.0 So is GNU Make 3.81 good enough?

Can you provide the link to the singularity version and the necessary steps to install it.

Thanks!

sylestiel commented 4 years ago

Okay I appear to have corrected the problem. It appears that I had to provide a prefix to my installation path. After specifying path as prefix=/usr/local/bin it says to following scATAC-pro installed in /usr/local/bin/scATAC-pro_1.1.4 I hope this does it. Will let you know if I run into problems. Also do I have to run this command every time I start terminal $ git clone https://github.com/wbaopaul/scATAC-pro.git $ cd scATAC-pro $ make configure prefix=YOUR_INSTALL_PATH $ make install

sylestiel commented 4 years ago

Okay furnishing the prefix path still gave the bad substitution error.

wbaopaul commented 4 years ago

Seems the make and bash are not the problem anymore. you don't have to make install it everytime. You can check it by which scATAC-pro. I just realized that the bash command format ${somevar^^} is not recongnized in macOS, are you running it on MAC? The software has not been tested on macOS.

sylestiel commented 4 years ago

Yes Mac OS High Sierra

wbaopaul commented 4 years ago

I just made some updates to the dev branch, which avoid those format leads to bad substitution on mac. You can give it a try. Hopefully not other issues for mac.

sylestiel commented 4 years ago

Wed Jul 1 14:12:11 CDT 2020 Demultiplex fastq ... Traceback (most recent call last): File "/usr/local/bin/scATAC-pro_1.1.4/scripts/src/dex_fastq.py", line 112, in dex_fastq(sys.argv[1], sys.argv[2], sys.argv[3]); IndexError: list index out of range Traceback (most recent call last): File "/usr/local/bin/scATAC-pro_1.1.4/scripts/src/dex_fastq.py", line 112, in dex_fastq(sys.argv[1], sys.argv[2], sys.argv[3]); IndexError: list index out of range mv: rename output/demplxed_fastq/demplxed_pe1_fastq.gz to output/demplxed_fastq/E16_5a.demplxed.PE1.fastq.gz: No such file or directory make[1]: *** [demplx_fastq] Error 1

sylestiel commented 4 years ago

It appears to be working......

sylestiel commented 4 years ago

/usr/local/bin/scATAC-pro_1.1.4/scripts/trimming.sh: line 20: nproc: command not found make[1]: *** [process] Error 127