Comments (11)
This is happening though.
from primarydock.
Alpha helices are not actually working.
from primarydock.
from primarydock.
The floating side chains are happening because of the proline.
from primarydock.
The segfault that is currently failing protest:
clear; make; valgrind ./protest ARNDCEQGHILKMFPUSTWYV
==321411== Process terminating with default action of signal 11 (SIGSEGV)
==321411== Access not within mapped region at address 0x54
==321411== at 0x10E3D0: Atom::get_location() (atom.cpp:403)
==321411== by 0x12E24F: AminoAcid::rotate_backbone_abs(bb_rot_dir, float) (aminoacid.cpp:933)
==321411== by 0x12B9B5: AminoAcid::AminoAcid(char, AminoAcid*) (aminoacid.cpp:162)
==321411== by 0x1301CF: Protein::add_residue(int, char) (protein.cpp:48)
==321411== by 0x1305CB: Protein::add_sequence(char const*) (protein.cpp:103)
==321411== by 0x10BCFF: main (protest.cpp:36)
==321411== If you believe this happened as a result of a stack
==321411== overflow in your program's main thread (unlikely but
==321411== possible), you can try to increase the size of the
==321411== main thread stack using the --main-stacksize= flag.
==321411== The main thread stack size used in this run was 8388608.
from primarydock.
Though the side chains no longer float, their hydrogens are still coming up disembodied, and the heavy atoms are clashing pretty bad.
from primarydock.
The protein test is horribly broken. It is placing all of the N atoms at [0,0,0] and failing to bond each residue to the previous residue.
from primarydock.
The lack of correct atom names is causing a bunch of other problems.
To position the residues onto their previous residues, we can assume the following conditions to always be true:
- The N of the current residue will be 1.32A from the previous residue's C;
- The angle from prev.O - prev.C - curr.N will be 120 degrees;
- The angle from prev.C - curr.N - curr.HN will be 120 degrees;
- The angle from prev.O - curr.HN along the prev.C - curr.N axis will be 180 degrees.
Algorithmically, then, we can do something like:
- Get the curr.N - prev.C relative location and scale it to 1.32A.
- Move the entire current molecule so the N is now at that distance.
- Get the normal from the prev.CA - prev.C - prev.O plane.
- Get the angle along the normal of prev.O - prev.C - curr.N.
- Rotate the current molecule about the prev.C atom, using the normal as an axis, to get a 120 degree angle not clashing curr.N with prev.CA.
- Get the normal from the curr.HN - curr.N - curr.CA plane.
- Get the angle along the normal of prev.C - curr.N - curr.HN.
- Rotate the current molecule about the curr.N atom, using the normal as an axis, to get a 120 degree angle not clashing prev.C with curr.CA.
- Get the angle of curr.HN - prev.O along the prev.C - curr.N axis.
- Rotate the current molecule around curr.N to get 180 degrees.
But first, have to name all the atoms.
from primarydock.
Atom names are now working (checkins for #36).
from primarydock.
Peptide structures are coming along well. Histidine is causing a spatial disruption in chains, but only because the atom locations are not quite right. Proline is failing to attach to its preceding neighbor due to its lack of an HN atom.
from primarydock.
Since protein_test is using SMILES strings to build amino acids, this ticket is now a duplicate of #5.
from primarydock.
Related Issues (20)
- Add Gα15 and Gα16 to list of G proteins.
- Break molecular interaction test out to separate entry in unit_test_express.
- TAAR test is failing in stable branch.
- Create internal contacts activation .cpp for TAARs.
- Add additional executables to running process check.
- Move all test data to the testdata folder.
- Group test arabinose fails in stable branch on some systems. HOT 2
- Cinnamaldehyde grouping is producing a strange result.
- Possible mechanism for OR51E2 activation by ionones. HOT 1
- Are the predictions just a random number generator? HOT 4
- Incorrect rotatable bonds in complex cyclic compounds.
- Increase memory robustness. HOT 4
- Possible mechanism for OR1A1 activation.
- Amino test is failing in stable branch. HOT 3
- Model PDBs do not match dock file contents.
- Ligand still pulling away from binding residues.
- Small performance opportunity in new Conjugation class.
- New Prediction Method for OR52 Receptors HOT 2
- Side chain clashes in docks. HOT 2
- Read all constants from a configuration file.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from primarydock.