StuntsPT / Structure_threader

A wrapper program to parallelize and automate runs of "Structure", "fastStructure" and "MavericK".
GNU General Public License v3.0
24 stars 11 forks source link

Error on running test data #94

Open konopinski opened 1 year ago

konopinski commented 1 year ago

Hi, I tried to run the program on my data which is snps from stacks pipeline but failed. So I used test data and have the same error. The whole execution is below

structure_threader run -i SmallTestData.structure -o test -t 20 -fs ~/.local/bin/fastStructure -K 1 --ind indfile.txt 
INFO: Running: /home/qnick/.local/bin/fastStructure -K 1 --input /home/qnick/Downloads/strTreader_testData/SmallTestData.structure --output /home/qnick/Downloads/strTreader_testData/test/fS_run_K --format str --seed 1235813
INFO: Writing logfile for K1, replicate 1. Please wait...
INFO: 
==============================

CRITICAL: 1 faststructure runs exited with errors. Check the log files of the following output files:
ERROR: /home/qnick/Downloads/strTreader_testData/test/fS_run_K
Traceback (most recent call last):
  File "/home/qnick/.local/bin/structure_threader", line 8, in <module>
    sys.exit(main())
  File "/home/qnick/.local/lib/python3.10/site-packages/structure_threader/structure_threader.py", line 353, in main
    full_run(arg)
  File "/home/qnick/.local/lib/python3.10/site-packages/structure_threader/structure_threader.py", line 311, in full_run
    bestk = structure_harvester(arg.outpath, wrapped_prog)
  File "/home/qnick/.local/lib/python3.10/site-packages/structure_threader/structure_threader.py", line 192, in structure_harvester
    bestk = sh.main(resultsdir, outdir)
  File "/home/qnick/.local/lib/python3.10/site-packages/structure_threader/evanno/fastChooseK.py", line 119, in main
    % Ks[np.argmax(marginal_likelihoods)]
  File "/home/qnick/.local/lib/python3.10/site-packages/numpy/core/fromnumeric.py", line 1229, in argmax
    return _wrapfunc(a, 'argmax', axis=axis, out=out, **kwds)
  File "/home/qnick/.local/lib/python3.10/site-packages/numpy/core/fromnumeric.py", line 56, in _wrapfunc
    return _wrapit(obj, method, *args, **kwds)
  File "/home/qnick/.local/lib/python3.10/site-packages/numpy/core/fromnumeric.py", line 45, in _wrapit
    result = getattr(asarray(obj), method)(*args, **kwds)
ValueError: attempt to get argmax of an empty sequence

I'm running it on Ubuntu 22.04 with both python2 and python3 installed (thus I came across structure_threader ;) ) Is there any hope I will finally get the structure results? In desperation I started running dapc but without any information returned to the screen I don't even know if it works. Gosh I love Structure! It was so nice with msats... Cheers, Maciek

StuntsPT commented 1 year ago

Hi @konopinski, The SmallTestData.structure in not correctly formatted for fastStructure (hence, the error you are seeing). The file BigTestData.str is correctly formatted for use with fastStructure though. fastStructure is very picky with the input format it uses. Also, when using your own data, don't forget to check the generated logs to understand what went wrong.

Hope this helps.