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

update rotamer library #21

Closed
orbeckst opened this issue Oct 6, 2017 · 10 comments
Closed

update rotamer library #21

orbeckst opened this issue Oct 6, 2017 · 10 comments
Assignees
Milestone

Comments

@orbeckst
Copy link
Member

orbeckst commented Oct 6, 2017

@katrinr thanks for updating the library. Can you please also do the following things:

  1. Can you please confirm with Gunnar that we are allowed to publish the new library under the GPL (like the previous version)? I'd like to have at least an email from Gunnar stating this. If the licensing is not clear, we cannot include it here.
  2. name the actual library files distinctly, i.e., have 2017 in the name of the new ones.
  3. update CHANGELOG and state that we have an updated rotamer library and that this is the default now; what are the changes in the new version? If you add a description of changes I can add a new file to the online docs with a table of libraries that are included
  4. update the online docs (in doc/sphinx/source – check both index.rst and background.rst)
  5. update the test cases!!!
@orbeckst orbeckst added this to the release 1.3.0 milestone Oct 6, 2017
@orbeckst
Copy link
Member Author

orbeckst commented Oct 6, 2017

By the way, GitHub does not recognize the email [email protected] that you used for committing. Just add it to your GitHub profile as another recognized email and the display (and contribution graph will be fine).

@orbeckst
Copy link
Member Author

orbeckst commented Oct 6, 2017

When I run

 ./test_mtssl.sh

the script uses the new library and produces different numbers and thus the test fails.

The ./test_mtssl_pre.sh always fails for me.

We should have tests with the old and the new library.

@katrinr can you take care of the tests? Instead of directly committing, make a pull request so that we can discuss the code briefly.

Once we have tests we can also run them automatically (issue #23).

@katrinr
Copy link
Member

katrinr commented Oct 6, 2017

Alright! :) I will take care of the testes (which only fails due to the comparison data is from the old library). I am excited to see the difference...

@katrinr
Copy link
Member

katrinr commented Oct 7, 2017

  1. Gunnar Jeschke is contaced.
  2. Naming of the libraries (2011 and 2017) is implemented.
  3. CHANGELOG is updated. I don't have a precise explanation of the details of the update. The new version of the rotamer library is also the default version in MMM and shows improvement in the comparison with experimental data.
  4. online docs are updated
  5. test cases are updated (DEER and PRE with both libraries, 2011 and 2017)

Everything is now in a new branch: update_library

@katrinr
Copy link
Member

katrinr commented Oct 9, 2017

@orbeckst, I am working with the new library right now, but it reports that quite often no spin distances can be found. I checked the structure and aligning the rotamer library by hand, that there should be distances. Does anyone have an idea why this could be?

I decreased the clash distance and for some label pairs I obtain distances. However, also for the default clash distance I expect to see rotameric states.

Further, I changed the first rotameric state (of library 2015) to something similar as the first rotameric state of library 2011). That did not solve the problem, but gave me a different distance distribution although I changed the weights accordingly (R1A_298K_populations_2015.dat).

@lukas-stelzl
Copy link
Contributor

lukas-stelzl commented Oct 9, 2017 via email

@katrinr
Copy link
Member

katrinr commented Oct 10, 2017

Thanks, @lukas-stelzl!
When I visualize the neighboring residues as spheres, I seems a bit crowded (e.g. for labeled residue 292). However, I would expect rotamaric states.

@orbeckst, as far as I can see, the code does not consider H coordinates?

cc0_2.pdb.zip

@katrinr
Copy link
Member

katrinr commented Oct 10, 2017

Figured out the problem: the oxygen atom of MTSL is always to close to CA of residue+1 in the polypeptide chain.
I also extended the proton selection, as I had the impression it changed the hydrogen selection. The function, which is changed is also in the updated_library branch.
Thanks :)

def find_clashing_rotamers(self, fitted_rotamers, protein, site_resid):
        """Detect any rotamer that clashes with the protein."""
        # make a KD tree of the protein neighbouring atoms
        proteinNotSite = protein.select_atoms("protein and not (name H* or name [123]H or type H) "
                                              "and not (resid " + str(site_resid) + 
                                              " or (resid " + str(site_resid-1) + " and (name C or name O)) "
                                              "or (resid " + str(site_resid+1) + " and (name N or name CA)))")
        proteinNotSiteLookup = KDNS.AtomNeighborSearch(proteinNotSite)

        rotamerSel = fitted_rotamers.select_atoms("not (name H* or name [123]H or type H)")

        rotamer_clash = []
        for rotamer in fitted_rotamers.trajectory:
            bumps = proteinNotSiteLookup.search(rotamerSel, self.clashDistance)
            rotamer_clash.append(bool(bumps))
        return rotamer_clash, np.sum(rotamer_clash)

@katrinr
Copy link
Member

katrinr commented Oct 10, 2017

The test runs don't need an update, because for peptso it gives the same result. The new selections are useful for protein dependent coordinates and pdb dependent formats (as it was the case for my test case).

@orbeckst
Copy link
Member Author

Closed with #24

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

No branches or pull requests

3 participants