-
Notifications
You must be signed in to change notification settings - Fork 77
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
KeyError: 'samples' using complex pipeline #285
Comments
Can you show the commands from start that you used for the installation of the EVcouplings and the command for running the job. |
Thank you for your response. To update to the development branch evcouplings-0.1.2, I used pip install -U --no-deps https://github.com/debbiemarkslab/EVcouplings/archive/develop.zip To run the pipeline, I am using the EVcouplings/config/sample_config_complex.txt and the command evcouplings_runcfg with the config file. I have updated the tools and databases sections in the config file based on the required installations from the readMe file. In the config file, I have inputted the UniProt id of the first protein in the align_1 section in the sequence_id field and the UniProt id of the second protein in the align_2 section in the sequence_id field. In the databases section of the config file, I have included the paths to uniref100, sifts_mapping_table, sifts_sequence_db, uniprot_to_embl_table, and ena_genome_location_table. I used evcouplings_dbupdate and the links from the readMe file to download these files. In the tools section of the config file, I used conda to install jackhmmer and included the path for this in the config file. I also installed plmc from the plmc github repository, used the provided command make all-openmp32, and included the path for this in the config file. After running the pipeline, it seems that align_1, align_2, and concatenate steps successfully run. The error occurs in the couplings step. Based on the stack trace that I have included above, it appears that error is occurring from the infer_plmc() function. I would really appreciate your help in understanding and resolving this error. Thank you! |
Using the wrong version of PLMC from conda caused this for me - I changed to the last 2018 version (this commit) successfully and will try the most recent github version shortly. The version on bioconda caused the problem, which is unfortunate since it's probably fairly widely used. It looks like an update to PLMC temporarily changed the way the number of effective number of samples is output, which I think broke the regex evcouplings uses to detect that line. It output "Effective number of samples (to 1 decimal place):" instead of "Effective number of samples:". Unfortunately this was the version packaged by bioconda. It would be good to either update the bioconda version or note in the install notes for PMLC that that version is incompatible. The EVCouplings regex could also be changed to accomodate both forms. For instance something like "Effective number of samples.*: (\d+.\d+)", but that's not very elegant. |
I hope you are doing well. I am trying to run the evcouplings complex pipeline using the sample_config_file by providing 2 UniProt protein ids. I also followed the instructions for the necessary installations and requirements based on the ReadMe file, and I have provided the paths to these installations in the config file. The align_1, align_2, and concatenate steps run through successfully with the appropriate output files. However, I am receiving a KeyError: 'samples' error during the couplings step. Below is the stack trace of the error. Prior to the error, _couplings.incfg and _ECs.txt were generated. I would really appreciate your help in resolving this error. Thank you!
Traceback (most recent call last):
File "/ihome/djishnu/krn34/.local/bin/evcouplings_runcfg", line 8, in
sys.exit(app())
File "/ihome/crc/install/python/ondemand-jupyter-python3.8/lib/python3.8/site-packages/click/core.py", line 829, in call
return self.main(*args, **kwargs)
File "/ihome/crc/install/python/ondemand-jupyter-python3.8/lib/python3.8/site-packages/click/core.py", line 782, in main
rv = self.invoke(ctx)
File "/ihome/crc/install/python/ondemand-jupyter-python3.8/lib/python3.8/site-packages/click/core.py", line 1066, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/ihome/crc/install/python/ondemand-jupyter-python3.8/lib/python3.8/site-packages/click/core.py", line 610, in invoke
return callback(*args, **kwargs)
File "/ihome/djishnu/krn34/.local/lib/python3.8/site-packages/evcouplings/utils/pipeline.py", line 583, in app
outcfg = run(**kwargs)
File "/ihome/djishnu/krn34/.local/lib/python3.8/site-packages/evcouplings/utils/pipeline.py", line 570, in run
return execute_wrapped(**config)
File "/ihome/djishnu/krn34/.local/lib/python3.8/site-packages/evcouplings/utils/pipeline.py", line 508, in execute_wrapped
outcfg = execute(**config)
File "/ihome/djishnu/krn34/.local/lib/python3.8/site-packages/evcouplings/utils/pipeline.py", line 187, in execute
outcfg = runner(**incfg)
File "/ihome/djishnu/krn34/.local/lib/python3.8/site-packages/evcouplings/couplings/protocol.py", line 974, in run
return PROTOCOLSkwargs["protocol"]
File "/ihome/djishnu/krn34/.local/lib/python3.8/site-packages/evcouplings/couplings/protocol.py", line 521, in complex
outcfg, ecs, segments = infer_plmc(**kwargs)
File "/ihome/djishnu/krn34/.local/lib/python3.8/site-packages/evcouplings/couplings/protocol.py", line 203, in infer_plmc
plmc_result = ct.run_plmc(
File "/ihome/djishnu/krn34/.local/lib/python3.8/site-packages/evcouplings/couplings/tools.py", line 285, in run_plmc
iter_df, out_fields = parse_plmc_log(stderr)
File "/ihome/djishnu/krn34/.local/lib/python3.8/site-packages/evcouplings/couplings/tools.py", line 98, in parse_plmc_log
eff_samples = float(matches["samples"][0])
KeyError: 'samples'
The text was updated successfully, but these errors were encountered: