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

Support for secondary structure identification #1612

Open
richardjgowers opened this Issue Aug 8, 2017 · 9 comments

Comments

Projects
None yet
3 participants
@richardjgowers
Member

richardjgowers commented Aug 8, 2017

Would be nice.

@jbarnoud

This comment has been minimized.

Show comment
Hide comment
@jbarnoud

jbarnoud Aug 9, 2017

Contributor

Do you want to read a STRIDE (or DSSP) output or do you want to implement the method in MDAnalysis?

In anyway we'll need a secondary structure topology attribute. What should be its value for the atoms that are not part of a protein? numpy.nan?

Contributor

jbarnoud commented Aug 9, 2017

Do you want to read a STRIDE (or DSSP) output or do you want to implement the method in MDAnalysis?

In anyway we'll need a secondary structure topology attribute. What should be its value for the atoms that are not part of a protein? numpy.nan?

@orbeckst

This comment has been minimized.

Show comment
Hide comment
@orbeckst

orbeckst Aug 9, 2017

Member

DSSP (new) is open source http://swift.cmbi.ru.nl/gv/dssp/ ; a while back I looked into wrapping but that was too complicated. A cython reimplementation that uses a Universe would be useful.

Member

orbeckst commented Aug 9, 2017

DSSP (new) is open source http://swift.cmbi.ru.nl/gv/dssp/ ; a while back I looked into wrapping but that was too complicated. A cython reimplementation that uses a Universe would be useful.

@richardjgowers

This comment has been minimized.

Show comment
Hide comment
@richardjgowers

richardjgowers Aug 9, 2017

Member

Ok I've started this. I've got a conda build recipe for STRIDE here which should allow conda install stride to get the binary in place. I've then got a pystride python package, which runs the binary and returns the output. Then within MDA we can have a layer (probably MDAnalysis.analysis.stride) which takes mda objects (AtomGroup and Universe) and goes to and from the pystride package.

Member

richardjgowers commented Aug 9, 2017

Ok I've started this. I've got a conda build recipe for STRIDE here which should allow conda install stride to get the binary in place. I've then got a pystride python package, which runs the binary and returns the output. Then within MDA we can have a layer (probably MDAnalysis.analysis.stride) which takes mda objects (AtomGroup and Universe) and goes to and from the pystride package.

@richardjgowers

This comment has been minimized.

Show comment
Hide comment
@richardjgowers

richardjgowers Aug 9, 2017

Member

I'm a little hesitant to put the stride stuff into core/ because it relies on an external binary, which can be a little flaky.

Member

richardjgowers commented Aug 9, 2017

I'm a little hesitant to put the stride stuff into core/ because it relies on an external binary, which can be a little flaky.

@jbarnoud

This comment has been minimized.

Show comment
Hide comment
@jbarnoud

jbarnoud Aug 9, 2017

Contributor

It for sure should not go in core as it calls an external program. Also, now that I think about it, we do not have support for time dependent topologies, so we cannot store the secondary structure in a topology attribute. I uses Martini too much, I forgot secondary structures could change over time...

Contributor

jbarnoud commented Aug 9, 2017

It for sure should not go in core as it calls an external program. Also, now that I think about it, we do not have support for time dependent topologies, so we cannot store the secondary structure in a topology attribute. I uses Martini too much, I forgot secondary structures could change over time...

@richardjgowers

This comment has been minimized.

Show comment
Hide comment
@richardjgowers

richardjgowers Aug 9, 2017

Member

@jbarnoud I was actually thinking today we could do time dependent TopologyAttrs by having a mechanism similar to what @mnmelo used for UpdatingAtomGroup which lazily refreshes contents if the current ts.frame is different.

Member

richardjgowers commented Aug 9, 2017

@jbarnoud I was actually thinking today we could do time dependent TopologyAttrs by having a mechanism similar to what @mnmelo used for UpdatingAtomGroup which lazily refreshes contents if the current ts.frame is different.

@orbeckst

This comment has been minimized.

Show comment
Hide comment
@orbeckst

orbeckst Aug 9, 2017

Member

You could consider the secondary structure an auxiliary that is indexed with residue index.

Then you just have to write an AuxParser for the STRIDE or DSSP output.

If you want to do selections then instead of using time-dependent topologies, add something to the selection language to select on Aux data, similar to prop z > 3.

Member

orbeckst commented Aug 9, 2017

You could consider the secondary structure an auxiliary that is indexed with residue index.

Then you just have to write an AuxParser for the STRIDE or DSSP output.

If you want to do selections then instead of using time-dependent topologies, add something to the selection language to select on Aux data, similar to prop z > 3.

@orbeckst orbeckst changed the title from Support for secondary structure identification (STRIDE) to Support for secondary structure identification Aug 16, 2017

@orbeckst

This comment has been minimized.

Show comment
Hide comment
@orbeckst

orbeckst Aug 16, 2017

Member

I removed "STRIDE" from the issue title because of licensing concerns MDAnalysis/stride#2. A secondary structure detection would be great (especially if we could do it natively without piping into external tools).

Member

orbeckst commented Aug 16, 2017

I removed "STRIDE" from the issue title because of licensing concerns MDAnalysis/stride#2. A secondary structure detection would be great (especially if we could do it natively without piping into external tools).

@orbeckst

This comment has been minimized.

Show comment
Hide comment
@orbeckst

orbeckst Sep 26, 2018

Member

It would be great if we had "pydssp" ... see MDAnalysis/dssp#1

Member

orbeckst commented Sep 26, 2018

It would be great if we had "pydssp" ... see MDAnalysis/dssp#1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment