Skip to content
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

"Structure contains more than one model" Error #108

Closed
ariesselman opened this issue Jan 23, 2018 · 4 comments
Closed

"Structure contains more than one model" Error #108

ariesselman opened this issue Jan 23, 2018 · 4 comments
Assignees
Milestone

Comments

@ariesselman
Copy link

Running the pipeline, I would like to do the standard compare part of the code to get TP rates, etc, but I receive this error.

Traceback (most recent call last):
File "/groups/marks/software/anaconda/envs/evcouplings_env/lib/python3.6/site-packages/evcouplings/utils/pipeline.py", line 454, in execute_wrapped
outcfg = execute(**config)
File "/groups/marks/software/anaconda/envs/evcouplings_env/lib/python3.6/site-packages/evcouplings/utils/pipeline.py", line 174, in execute
outcfg = runner(**incfg)
File "/groups/marks/software/anaconda/envs/evcouplings_env/lib/python3.6/site-packages/evcouplings/fold/protocol.py", line 606, in run
return PROTOCOLSkwargs["protocol"]
File "/groups/marks/software/anaconda/envs/evcouplings_env/lib/python3.6/site-packages/evcouplings/fold/protocol.py", line 545, in standard
binary=kwargs["maxcluster"]
File "/groups/marks/software/anaconda/envs/evcouplings_env/lib/python3.6/site-packages/evcouplings/fold/protocol.py", line 221, in compare_models_maxcluster
exp_pos, exp_chain = _determine_pos(exp_file)
File "/groups/marks/software/anaconda/envs/evcouplings_env/lib/python3.6/site-packages/evcouplings/fold/protocol.py", line 173, in _determine_pos
filename
evcouplings.utils.config.InvalidParameterError: Structure contains more than one model: output/DLG4_RAT/DLG4_RAT_1_b0.5/compare/aux/DLG4_RAT_1_b0.5_3i4w_A_143.pdb

Is this an issue with the "reduce_chains" argument? It is set to default in these runs. I would still like to get back multimer contacts in these runs.

@thomashopf thomashopf self-assigned this Jan 23, 2018
@thomashopf
Copy link
Contributor

This problem happens in the fold stage when comparing the predicted models to experimental structures (very unambiguous naming, I know...). The used tool (maxcluster) is very sensitive to things like alternative locations or multiple models (like in NMR structures), so this is a preemptive crash, which is a bit of an unnecessary harsh landing... The thing is, the structures extracted in the compare stage shouldn't have any of these issues :/

Can you please point me to the output of that job on Orchestra?

Band-aid fix if you only want the compare stage for TP rates: simpy disable fold stage in the config file, you will get the full compare output (but no structures).

If you need the comparison to experimental structures of folded models, I would limit the structures in the compare stage to a predefined set of PDB IDs that are unproblematic.

@sacdallago
Copy link
Member

@thomashopf should we catch this and produce another type of error response? Sounds like that, to me. In case we can turn this issue into an enhancement/feature for v0.0.2/3

@sacdallago sacdallago added this to the Release 0.0.3 milestone Jan 23, 2018
@thomashopf
Copy link
Contributor

thomashopf commented Jan 24, 2018

@ariesselman Can you please point me to the output of that job on Orchestra?

@thomashopf
Copy link
Contributor

thomashopf commented Jan 26, 2018

Problem was that the first_index parameter in the align section didn't make it through to the compare stage, leading to a numbering mismatch, leading to empty structures. The standard protocol, analogously to the existing() protocol, now passes through first_index as an output.

(Alternative solution is to define specify first_index in the global section, but this wouldn't work with complexes where we have two alignments).

sacdallago added a commit that referenced this issue Feb 21, 2018
* [FEATURE] hmmbuild_and_search: uses hmmbuild and hmmsearch binaries in place of jackhmmer binary

* [FIX] deleted .swp files

* [FIX] hmmbuild_and_search doesn't modify the kwargs

* o2 config file changed

* [COMMENT] comment for search_pdb_by_alignment

* [COMMENT] hmmbuild_and_search comment

* [FIX] hmmbuild_and_search returning its own namedtuple

* [FIX] hmmbuildandsearch returning the correct namedtuple?

* [FIX] threshold part of kwargs doesn't get modified

* [INTERNAL,API] removed run_hmmbuild_and_search, other minor fixes

* [INTERNAL]: fixed mapping from HMMbuild results to query

* [NOP] PEP8 compliance fixes

* [INTERNAL][BUGFIX] incorrect inputs to OrderedDict - does not preserve order

* [BUGFIX] Typo in name of Coupling Scores inter file

* [INTERNAL][BUGFIX] Paralogs not properly identified in complex/similarity

* [API] Added: couplings stage outputs inter ECs file

* [NOP] Pep8 compliance

* [FEATURE] hmmbuild_and_search: uses hmmbuild and hmmsearch binaries in place of jackhmmer binary

* [FIX] hmmbuild_and_search doesn't modify the kwargs

* o2 config file changed

* [COMMENT] comment for search_pdb_by_alignment

* [COMMENT] hmmbuild_and_search comment

* [FIX] hmmbuild_and_search returning its own namedtuple

* [FIX] hmmbuildandsearch returning the correct namedtuple?

* [FIX] threshold part of kwargs doesn't get modified

* [INTERNAL,API] removed run_hmmbuild_and_search, other minor fixes

* [INTERNAL]: fixed mapping from HMMbuild results to query

* [NOP] PEP8 compliance fixes

* [FIX]: getting query sequence from input alignment, handling cases of no structures found, ensuring that input alignment is in focus mode

* [FIX]: testing of Boolean

* [FIX]: requested changes

*  [API]: inter ECs output file

* [API]: added fasta formatted alignment with query sequence in align stage

* [CONFIG] restored correct config files

* Version bump

* [API] changed parameter name for comparing to PBD Seqres using HMMSearch

* [BUGFIX]: removed resize tool in bokeh visualization

* Merge branch 'master', remote branch 'origin'

* [DOC] clarified Python package requirements. Closes #100

* [DOC] clarified documentation on SIFTS mapping table paths

* [FIX] Minor corrections to hmmsearch config files

* [FIX] Remove print statements

* [DOC] Improved comments on SIFTS file path in configs

* [DOC] Improved comments on atom filter

* [FIX] Regularization issues with mean-field models. Fixes #104

* [INTERNAL] More explicit handling of empty structures in fold stage (related to #108)

* [COMMENT] Removed outdated part of docstring

* [FIX] Standard alignment protocol now passes through first index. Fixes #108

* [DOC]: complex config compare stage fixed - 'complex' instead of 'complex_compare'

* [DOC]: added paths to download complex database files

* Update README.md

* [FIX]  fixed relative path of DB symlinks

* change db model to reflect webserver

Change model for ComputeJob using correct type for foreign key constraint

* [FIX]: monomer couplings protocol not adding probability column to CouplingScores.csv file

* [BUGFIX]: hmmsearch comparison to PDB failing for complexes due to incorrect handling of monomer alignment names

* [BUGFIX]: paralogs not properly identified for best reciprocal hit stage

* [NOP]: PEP8 compliance

* update travis keys

* update travis keys
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants