Comments (16)
I like the idea of testing the amino acids separately, so that the error feedback is more granular than now (segfault "somewhere", needle in haystack problem).
I would also like to use the _test naming convention for protest, possibly also spelling it out: protein_test.
We could extend the current makefile with all the acids, for now? One report per acid ..
from primarydock.
If we are doing the 21 amino acids separately, then protein_test could just use a sequence like AAAAAAAAAA (polyalanine). Alanine is one of the least likely to fail and is the best one for alpha helices, and one of the output files that protein_test generates is an alpha helix.
from primarydock.
I have now renamed protest to protein_test, and changed the amino_report target to call a bash script that runs all amino acid tests one by one. P and W are failing (core dump), added as separate issue.
I think this was a great value add to the regression test suite!
I also noted that some .approved.txt files were missing, and the root cause was that .txt files were ignored (by .gitignore). Since .approved.txt files are 'part of source code' now (automatic tests), I removed the *.txt filter from .gitignore to avoid this particular error in future.
from primarydock.
Hmmm, I think I like the .dock extension. The output folder is even better yet!
from primarydock.
-
I have approved new versions the point and amino tests; I feel confident enough they are now working. Nice work getting all the amino tests to pass!! I had to add # to a cout in
molecule.cpp
and add the # filter to theamino_tests.bash
too. Hope that information wasn't essential but rather debug printouts? -
The protein report doesn't segfailt anymore, cool! But it gives a big diff now. I'm not knowledgeable enough about the problem domain to know if it's ok to approve:
make protein_report
git diff
Would you look into approving it, or filing a bug if there is an issue? Maybe we need some more # filter (see molecule_report on how to do it)?
-
Aniso, molecule, mol_assem regression tests are passing. (no diff after running their respective report)
-
Atom test was missing an approval file (I hope that's the last of them heh!). Added.
from primarydock.
PR #44 will fix the protein report diff.
from primarydock.
It was this line, which I added a # to for approval/regression/report's sake:
cout << "# Ring closure anomaly " << anomaly << endl;
The anomaly
values were giving diff's on every run.
from primarydock.
I forgot to note this. Proline and tryptophan are currently segfaulting and I haven't had a chance to look into it. So any sequence containing P or W will cause the crash. Thank you for catching this and opening an issue.
I think it's ideal that the test include all of the amino acids, that way if any of them are erroring (as we see here), the test will catch it. Unfortunately, protest has never fully worked and has always had problems giving incorrect output in specific circumstances.
from primarydock.
Would protest_report be a good place for this or should we do 21 different runs of amino_test, one for each amino acid: certain aminos are failing to create the correct molecular structure (see #36) and since both tests use the same code to generate the aminos, the problem occurs in both places. Currently it is happening when an amino has a ring. I looked at it yesterday but couldn't figure out what's going wrong.
from primarydock.
Agreed. Go for it!
from primarydock.
Just know that the podock application itself generates .txt files as output, and we want to avoid checking those in. The viewer expects the .txt extension, but I guess we could change it to also accept something like .out or .dock and then have the podock.config output the new extension instead. Now that I think of it, the podock.config should have a comment explaining which extension(s) is/are compatible with the viewer.
from primarydock.
I like the idea of a new kind of file extension for the output; it makes it very clear that it is a "podock file". .dock or even .podock perhaps?
Then we could add that to the .gitignore file.
(Another solution would be to output in a "output/" folder, which could be .gitignore:d)
from primarydock.
Great work on these!!
Looking into protein report...
I notice all the reports ran when I did make all just now.
from primarydock.
What was the molecule.cpp cout?
from primarydock.
Makes sense. Due to randomness.
Eventually we'll want a pass/fail on the ring anomaly as a test for #5, but that unfortunately is far from ready. The ring anomaly is basically a measure of how well the program was able to bend atoms into a loop while obeying their geometric rules. Their bonds should all be a certain length and a certain angle, and the closer the anomaly is to zero, the more accurate the simulated structure.
from primarydock.
Seems to no longer be occurring.
The name of the target has changed since this issue was opened: make protein_report
from primarydock.
Related Issues (20)
- The path to predictions HOT 21
- Move pepteditor's raise_error() ftn to an include file.
- Utility for examining conservation of residues.
- Amino tests are failing. HOT 3
- Allyl phenylacetate fails to dock in in OR1A1. HOT 1
- Redo coupled PDBs with template enabled.
- Bring back molecular "ESP" but rename it "lookahead".
- Detect opportunities to improve placement of TMRs in coupled model.
- pKa shifts of nitrogenous aromatic heterocycles. HOT 2
- The binding pocket of OR5K1
- Probability-based conformer search HOT 1
- Odorant Binding Proteins HOT 2
- Bias by energy in methods_common.php
- Allow `ACVTH.rgn` as a valid `$metrics_to_process` in methods.common.php.
- Confidence level in predictions.
- G-protein coupling only works for ORs. HOT 1
- Pepteditor: Helix function is warping side chains. HOT 2
- Hydrogenation is failing to observe coplanar rules. HOT 5
- Arginine SDF is slightly off.
- Expand the prediction system to include arrestins. HOT 1
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.