salzberg-lab / bolotie

SARS-CoV-2: detecting recombinations in viruses using large data sets with high sequence similarity
13 stars 4 forks source link

Probiblity matrix "probmat.probs" can't be found #3

Open ShadiKhoury opened 2 years ago

ShadiKhoury commented 2 years ago

Exception has occurred: FileNotFoundError (note: full exception trace is shown but execution is paused at: _run_module_as_main) [Errno 2] No such file or directory: 'c:/Users/shade/Desktop/עבודות/ShomronLab/Mybolotie/probmat.probs' File "[C:\Users\shade\Desktop]()עבודות\ShomronLab\Mybolotie\run.py", line 43, in load_mat with open(prob_fname, "r") as inFP: File "[C:\Users\shade\Desktop]()עבודות\ShomronLab\Mybolotie\run.py", line 556, in plot mat = load_mat(od + "probmat.probs") File "[C:\Users\shade\Desktop]()עבודות\ShomronLab\Mybolotie\run.py", line 678, in wrapper plot(args, figure_dir) File "[C:\Users\shade\Desktop]()עבודות\ShomronLab\Mybolotie\run.py", line 757, in main args.func(args) File "[C:\Users\shade\Desktop]()עבודות\ShomronLab\Mybolotie\run.py", line 761, in main(sys.argv[1:]) File "[C:\Users\shade\anaconda3\Lib\runpy.py]()", line 87, in _run_code exec(code, run_globals) File "[C:\Users\shade\anaconda3\Lib\runpy.py]()", line 97, in _run_module_code _run_code(code, mod_globals, init_globals, File "[C:\Users\shade\anaconda3\Lib\runpy.py]()", line 265, in run_path return _run_module_code(code, init_globals, run_name, File "[C:\Users\shade\anaconda3\Lib\runpy.py]()", line 87, in _run_code exec(code, run_globals) File "[C:\Users\shade\anaconda3\Lib\runpy.py]()", line 194, in _run_module_as_main (Current frame) return _run_code(code, main_globals, None, צילום מסך 2022-04-13 131533

Any suggestions on how to resolve this issue?

thanks ,

-- Shadi

alevar commented 2 years ago

Hi Shadi,

Thank you for giving bolotie a try and reaching out regarding your issue. Could you please provide a command you used to run the software so I can better understand what could potentially have gone wrong?

Thank you,

Ales

ShadiKhoury commented 2 years ago

the command is : python run.py --input c:/Users/shade/Desktop/עבודות/ShomronLab/Mybolotie/my_fasta.txt --reference c:/Users/shade/Desktop/עבודות/ShomronLab/Mybolotie/sequence.txt --outdir c:/Users/shade/Desktop/עבודות/ShomronLab/Mybolotie --clusters c:/Users/shade/Desktop/עבודות/ShomronLab/Mybolotie/cluster.txt

and the files I'm using are : cluster.txt my_fasta.txt sequence.txt

and now it's showing this error : image

alevar commented 2 years ago

Hi Shadi,

Thank you for providing the command and the input files - it was very helpful. Bolotie expects clusters/clades to be numerical values and not contain any other characters. If you remove all non-numerical characters from the second column of the "clusters" file, it will work as expected.

On a side note, I noticed your reference contains multiple entries. Bolotie assumes a single contig in the reference genome and may produce unexpected results otherwise.

Hope this explanation makes sense and is helpful!

Ales

ShadiKhoury commented 2 years ago

hey, ales, I'm still running into the same issue even after fixing the files : image

input command : python run.py --input c:/Users/shade/Desktop/עבודות/ShomronLab/Mybolotie/my_fasta.txt --reference c:/Users/shade/Desktop/עבודות/ShomronLab/Mybolotie/ref_seq.txt --outdir c:/Users/shade/Desktop/עבודות/ShomronLab/Mybolotie --clusters c:/Users/shade/Desktop/עבודות/ShomronLab/Mybolotie/cluster.txt

Inputs : cluster.txt my_fasta.txt ref_seq.txt

alevar commented 2 years ago

This is strange as I am unable to replicate the issue this time. Could you please try cloning the latest version of this repository (on the off chance that some of the unrelated housekeeping fixes had any effect). It would also be helpful if you ran the command on a copy of your files and saved results into a new directory to eliminate any possible differences in our testing approaches.

Please let me know how the testing goes! Hopefully we can find a solution!

Ales

ShadiKhoury commented 2 years ago

this is the run.py I'm running. The most noticeable changes I made to be able to run it were: image Adding shell=True in the subprocess for some reason is the only way I can run it.

without adding shell I get : (fresh new clone) image

image giving the script the path to the bolotie.cpp because for some reason it's wasn't able to find it and I was promoted with an run.txt expecting statement.

alevar commented 2 years ago

My bad. I completely missed the fact that you were running under the windows environment. Bolotie was only tested under the UNIX based systems, as I have no experience working on windows, and can not guarantee correctness of the method there nor test it.

However, If I recall correctly, modern windows OS do provide a subsystem for Linux giving a full Linux environment from within Windows OS. That should be enough to compile the software using the installation instructions and run the method as described.

Once compiled (either on windows or linux) the variable "bolotie_path" should point to the compiled executable and not the c++ source code (that part of the "run.py" script is correct). Following the installation instructions should result in the executable "bolotie" being compiled in the same directory as the "run.py" script.

Hope you are able to compile and run the software on your system. To test whether bolotie was compiled properly, you can try running "bolotie aln" module without the run.py script on the provided HIV-1 example data as follows:

./bolotie aln -x example_hiv/ref.fa -i example_hiv/seqs.fa -o example_hiv/aln

Once finished, the command should produce two non-empty output files: example_hiv/aln.csv and example_hiv/aln.vars.csv

Hope this information is helpful!

Ales

ShadiKhoury commented 2 years ago

hey, ales, I've been trying to run the repository in Linux, but I bumped into some problems : image

image

as it appears there is no make file in the directory for some reason even after following the instructions. the directory after the cmake - command looks like : image

thus causing : image

alevar commented 2 years ago

Hi Shadi,

I am unsure why the makefile is not being generated by CMAKE on your system. Fromt he above screenshots, it looks like you are still working within the windows filesystem (eg. "C" drive), perhaps by using the "windows subsystem for linux". While I have personally have no experience with that environment, on some unix systems (like macos), the default cmake configuration may create a non-make project, instead producing files for XCode projects. This can be remedied by adding '-G"Unix Makefiles"' to the cmake command like so: 'cmake -DCMAKE_BUILD_TYPE=Release -G"Unix Makefiles" .'

If the aforementioned solution does not work for you, I also notice the presence of "build" directory and "build.ninja" which can be a substitute for Makefile on your system. It is possible that the appropriate Makefile is created under the build directory. Alternatively, you could try building the ninja project by running "ninja" directly.

Hope one of these solutions works for you!