This is a test version of Biostars. For the public version, visit https://www.biostars.org.
kmergenie can not execute on a file because directory not exist?

Hi,

I am trying to run kmergenie installed on a server, but it always showed errors:

Execution of specialk failed: [Errno 2] No such file or directory

I tried to cd to kmergenie directory and run ./kmergenie <path to merged.fq.gz file>

or cd to file directory and run kmergenie by <path to kmergenie>/kmergenie merged.fq.gz, but none of them work

Here is my entered script:

[igr.ntphuong@rock kmergenie-1.6982]$ cd ~
[igr.ntphuong@rock ~]$ ls
bio  fastq  new
[igr.ntphuong@rock ~]$ cd fastq
[igr.ntphuong@rock fastq]$ ls
merged.fq.gz
[igr.ntphuong@rock fastq]$ pwd
/export/home/igr.ntphuong/fastq
[igr.ntphuong@rock fastq]$ cd /share/apps/kmergenie-1.6982
[igr.ntphuong@rock kmergenie-1.6982]$ ./kmergenie /export/home/igr.ntphuong/fastq/merged.fq.gz
running histogram estimation
Execution of specialk failed: [Errno 2] No such file or directory

[igr.ntphuong@rock fastq]$ /share/apps/kmergenie-1.6982/kmergenie merged.fq.gz
running histogram estimation
Execution of specialk failed: [Errno 2] No such file or directory

Could you please help me find out the reason?

Thanks a lot!

kmergenie

Hi! Did you run make in kmergenie folder? What's the output of make check? Perhaps.. the "no such file or directory" indicates that the specialk executable is missing, not the data file :)

Thanks, here is the result:

[igr.ntphuong@rock kmergenie-1.6982]$ ls
CHANGELOG  __init__.py  kmergenie  LICENSE  main.cpp  makefile  minia  README  scripts  third_party  wrapper.py
[igr.ntphuong@rock kmergenie-1.6982]$ make
g++ -o minia/Pool.o -c minia/Pool.cpp -O4 -pthread  -D_largeint -DKMER_PRECISION=4
Assembler messages:
Fatal error: can't create minia/Pool.o: Permission denied
make: *** [minia/Pool.o] Error 1
[igr.ntphuong@rock kmergenie-1.6982]$ sudo make
[sudo] password for igr.ntphuong:
Sorry, user igr.ntphuong is not allowed to execute '/usr/bin/make' as root on rock.vaist.vn.
[igr.ntphuong@rock kmergenie-1.6982]$

Maybe the administrator did not install kmergenie regularly?

You don't need to do sudo. A simple make is sufficient. But apparently, Pool.o was already compiled by root. So you need to type:

sudo rm *.o
sudo rm minia/*.o
make

Thank you Rayan,
I tried it out but it doesn't work, maybe I should contact the administrator so they could compile the program again (with sudo privilige).

What was the output of the commands I gave you?

Here they are:

[igr.ntphuong@rock apps]$ cd kmergenie-1.6982
[igr.ntphuong@rock kmergenie-1.6982]$ ls
CHANGELOG  __init__.py  kmergenie  LICENSE  main.cpp  makefile  minia  README  scripts  third_party  wrapper.py
[igr.ntphuong@rock kmergenie-1.6982]$ sudo rm *.o
[sudo] password for igr.ntphuong:
Sorry, user igr.ntphuong is not allowed to execute '/bin/rm *.o' as root on rock.vaist.vn.
[igr.ntphuong@rock kmergenie-1.6982]$ sudo rm /minia/*.o
[sudo] password for igr.ntphuong:
Sorry, user igr.ntphuong is not allowed to execute '/bin/rm ./minia/*.o' as root on rock.vaist.vn.
[igr.ntphuong@rock kmergenie-1.6982]$ make
g++ -o minia/Pool.o -c minia/Pool.cpp -O4 -pthread  -D_largeint -DKMER_PRECISION=4
Assembler messages:
Fatal error: can't create minia/Pool.o: Permission denied
make: *** [minia/Pool.o] Error 1

Thanks. I see. Indeed, you could contact your system administrator about removing the *.o files in there.

Thank you Rayan, I have fixed the problem by myself!

I copied all the content inside /share/apps/kmergenie-1.6982/ to the folder containing my merged.fq.gz (in /export/home/igr.ntphuong/fastq), From here, I can rm ./minia/*.o (didn't need sudo), then make as you suggested and I could run ./kmergenie normally.

(But I remember that at some point, I have to change to permission of ./fastq folder to 777 to be able to perform make)

0 answers

No answers yet.

Log in to answer this question.