Hi,
I have encountered an error trying to run smartpca from eigensoft.
I have converted ped file of my SNPs to eigensoft file format using fcgene and entered the following command line
to run smartpca:
perl ./bin/smartpca.perl -i out_eigensoft.ped -a out_eigensoft.pedsnp -b out_eigensoft.pedind -m 0 -o out.pca -p out.plot -l out.log -e out.eval
When I ran it, it gives an error claiming that:
OOPS couldn't open file out.pca.evec for reading at ./bin/smartpca.perl line 65.
All the files are in the bin folder, so I believe this is not the path problem...
I have been stuck for days now. Could someone help me please?
Shane
Could you paste the whole content of "out.log" to pastebin.com or here, if it's not too big? smartpca.perl runs several steps internally and I believe one of them dies, an early step creates out.pca.evec and a later step depends on out.pca.evec and doesn't find it
Hi Philipp,
Thanks and sorry for the late reply.
There isn't any output in the
out.log
file but only inout.pca.par
file and this is the content it output:I have set the PATH variable as well, so I was thinking it shouldn't have any problem locating the binaries....
Have you tried using smartPCA.perl with the example data provided in the archive (run
perl example.perl
in the EIGENSTRAT folder)? That way you'll at least know that PATH is correctly set upIf it works, you may run the steps that smartpca.perl runs manually, these are the steps it runs:
Hi Philipp,
Thank you so much for your advice. The example wasn't running as well and it turns out that the binary file 'smartpca' was not executable. So I used '
sudo chmod ug+x
' and now it works fine.Again thank you so much for your help!
Shane
Hi, everyone.
I've been stuck in an error for smartpca which is similar to the one described here. I do get the message:
But, also, I get the following message:
I'm running the exact same code Shane was (except I'm using geno type files, not ped). I guess this error has something to do with what Shane mentioned about setting the PATH variable and this not being the "path" problem... I think mine is exactly the path problem... When I check the README files for the program, there is the sentence "For this to work, the bin directory containing smartpca MUST be in your path.", and the same advise is inside the perl script. However, I really didn't understand what this means. Should I move some files from the bin folder in eigensoft to the bin folder of my local user?
I appreciate any help you could give me.
Thank you.
Rilquer
I have the exact same problem. I also set the bin folder into my $PATH but that didn't help.
Opening a new question may help , but let's try here:
what is the output of
does the list contain the folder that has smartpca? You may have to run 'export PATH' once
I searched and there're one or two exact same questions on biostars as well without any answers. I checked my $PATH and the smartpca bin folder is in my $PATH, and it still doesn't work. So I've come up with a barbarian way to do it (answered below) and now it is running.
I am getting same error below. Sorry did not paste code cleanrly it but this platform isn't inputting correctly. I added both the bin folder and the eigensrc folder with the smartpca.c file and it still does not work.
Hi @bri2237169,
I am not sure if you managed to get your analysis running already, but just in case and for future reference, I had the same problem and I solved it by compiling as suggested by the README docs. So basically go to the src/ directory and run make and make install (may need root priviledges and install additional dependencies as seen in the README) After that the program worked fine.
Hope that helped
Dave