lamoureux-lab / TorchProteinLibrary

PyTorch library of layers acting on protein representations
https://lamoureux-lab.github.io/TorchProteinLibrary/
MIT License
116 stars 23 forks source link

Trans/cis conformations in Angles2Backbone, Angles2Coords #20

Closed lupoglaz closed 5 years ago

lupoglaz commented 5 years ago

The predefined omega-angles is a drawback. It needs to change.

obilaniu commented 5 years ago

Isn't the omega angle very rarely changed in practice? If it is not 180 degrees (trans-conformation), the amide "planes" are no longer actual planes, and some optimization possibilities disappear.

lupoglaz commented 5 years ago

Yes, but it might influence loss function landscape, by making the minimum sharper. This might be the reason why I still overfit the PDB dataset while replicating end-to-end diffrentiable protein structure learning.

glamoure commented 5 years ago

The "cis-to-trans" ratio is about 1:1000, which tells something about the relative energies of the two conformations. However this also means that, when we have a "cis" conformation, it really means something. By the way, the "cis-to-trans" ratio at position "i" drops to about 1:10 if you have a proline at position "i+1".

lupoglaz commented 5 years ago

ReducedModel, omega angles forward: done with b6241f8af8ad2952ef0bd0e7af16042f97ed2947 backward: work in progress Seems like I have to rewrite Jacobian computation completely, because current kernels are too specific

lupoglaz commented 5 years ago

ReducedModel, omega angles backward done, passes tests (cedaf7a6e5692f39a14a0fba664281164287831d) Doing some additional optimization:

  1. Merging kernels for different angles into one, because we can copy matrixes A in the shared memory once with the merged kernel. Now each kernel copies them individually.
  2. Reduce operation when doing summation in the last kernel
lupoglaz commented 5 years ago

ReducedModel omega angles CPU/GPU implementation 8839745b78342b929a87717430e250fbd2e79b5d

lupoglaz commented 5 years ago

FullAtomModel omega angles CPU implementation b3107f461969e519a85a9d508bd8edece3dc8792