I am trying to create the k-mer hash table with velveth, with this command line:
velveth directory 15,49 -fasta -shortPaired interleavedInputFile.fasta
My issue here is that I get Velvet can't handle k-mers as long as 49! We'll stick to 32 if you don't mind. I searched in other posts and figured I need to change the Makefile from Velvet directory, where 'MAXKMERLENGTH=31', to the number I wished.
After changing this, there was no change.
I also tried by writing make 'MAXKMERLENGTH=57' at the directory when compiling, but the terminal just doesn't respond.
What am I doing wrong?
Thanks!
The make
MAXKMERLENGTH=57step should fix it. What do you mean by "terminal won't respond"?I meant that it didn't compile and just showed me a ">" as in that it kept thinking indefinitely.
I just tried
make MAXKMERLENGTH=57without quotes and it compiled. I had taken it literally from here.The problem is that it didn't do a thing, because the velvet directory still doesn't have velveth and velvetg, and Makefile still has
MAXKMERLENGTH?=31Could you check if the output of
which velvethpoints to the directory with the velvet binaries you just compiled? Maybe the velvet you compiled is not the velvet being used.Yep, it does point to the directory I just compiled.
Really weird.
If you say it's possible to compile by
make MAXKMERLENGTH=57,then it is weird. I'll try again later just in case, though.Try
make clean, thenmake MAXKMERLENGTH=57Well, that worked perfectly. I don't know what had happened before. Thanks!
makedecides which files to compile based on if the prereq files changed. Because none of them did, it did not recompile.make cleanremoved all previously compiled files and forced a re-compile from scratch, and took yourMAXKMERLENGTHinto account when it compiled this time.This is a bug. make with added parameters should make clean automatically.