Giter VIP home page Giter VIP logo

Comments (16)

objarni avatar objarni commented on June 3, 2024 1

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.

ssepeq avatar ssepeq commented on June 3, 2024 1

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.

objarni avatar objarni commented on June 3, 2024 1

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.

ssepeq avatar ssepeq commented on June 3, 2024 1

Hmmm, I think I like the .dock extension. The output folder is even better yet!

from primarydock.

objarni avatar objarni commented on June 3, 2024 1
  1. 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 the amino_tests.bash too. Hope that information wasn't essential but rather debug printouts?

  2. 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)?

  1. Aniso, molecule, mol_assem regression tests are passing. (no diff after running their respective report)

  2. Atom test was missing an approval file (I hope that's the last of them heh!). Added.

from primarydock.

ssepeq avatar ssepeq commented on June 3, 2024 1

PR #44 will fix the protein report diff.

from primarydock.

objarni avatar objarni commented on June 3, 2024 1

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.

ssepeq avatar ssepeq commented on June 3, 2024

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.

ssepeq avatar ssepeq commented on June 3, 2024

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.

ssepeq avatar ssepeq commented on June 3, 2024

Agreed. Go for it!

from primarydock.

ssepeq avatar ssepeq commented on June 3, 2024

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.

objarni avatar objarni commented on June 3, 2024

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.

ssepeq avatar ssepeq commented on June 3, 2024

Great work on these!!

Looking into protein report...

I notice all the reports ran when I did make all just now.

from primarydock.

ssepeq avatar ssepeq commented on June 3, 2024

What was the molecule.cpp cout?

from primarydock.

ssepeq avatar ssepeq commented on June 3, 2024

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.

ssepeq avatar ssepeq commented on June 3, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.