GLYCAM-Web / website

A bare-bones repo to contain public website stuff and issues related to the GLYCAM Web Django apps.
4 stars 0 forks source link

Test branch cb builder is ignoring user selected options #176

Closed gitoliver closed 1 week ago

gitoliver commented 5 months ago

Tool: glycam.org/txt

Bug Description: Build something with a 1-6. Select non-default options, your selections are ignored. See video.

https://github.com/GLYCAM-Web/website/assets/17079588/f3b1d087-1342-4064-9871-40e5985cd3f1

First half is me doing it on actual, it works correctly. Second half is me doing it in my dev env.

danwentworthart commented 5 months ago

We believe this is isolated down to a specific commit in the git history: a953ff2ea1ddf5fb982a1f5b6a545b47912d9c25 This was committed on 12/21/203

SwarmTest has a date of 12/20 for gems, and it does not replicate this issue. All devEnvs that have updated since do seem to have the issue.

Suspect is the order of operations of instantiation/usage of Build Options or some subset, in GEMS.

gitoliver commented 5 months ago

https://github.com/GLYCAM-Web/gems/commit/a953ff2ea1ddf5fb982a1f5b6a545b47912d9c25 I don't see anything obvious there. How did you pinpoint that one? So far what I see is if you look in: _V_2/WebData/userdata/sequence/cb/Builds/PROJECTID/logs and build the same sequence on glycam-actual and look at: logs/request-raw.json There are differences. The one in our test branches is attached as test_request-raw.json. The one from glycam isn't pretty glycam_request-raw.json. I see differences in names of things in: "geometryOptions":

Then in request-initialized.json I see this in the test one:

        "linkages": {
          "linkageRotamerInfo": null

but then this in the glycam-actual one:

"linkages": {
          "linkageRotamerInfo": {
            "singleLinkageRotamerDataList": [
              {
                "indexOrderedLabel": "2",
                "linkageLabel": "2",
                "linkageName": null,
                "firstResidueNumber": null,
                "secondResidueNumber": null,
                "dihedralsWithOptions": [],
                "possibleRotamers": [],
                "likelyRotamers": [],
                "selectedRotamers": [
                  {
                    "dihedralName": "omg",
                    "dihedralValues": [
                      "tg"
                    ]
                  }
                ]
              }
            ],
            "totalLikelyRotamers": 0,
            "totalPossibleRotamers": 0,
            "totalSelectedRotamers": 1
          }

When did we change the format for this kind of request? I remember it happening. glycam_request-raw.json glycam_request-initialized.json test_request-initialized.json test_request-raw.json

danwentworthart commented 5 months ago

I found it, fixed it, and pushed. f4766eaa7039d5103261b5402884aac98035dcfe

I am leaving this open until we can get confirmation on some other system than my own. Let me know if I am incorrect and the issue persists?

gitoliver commented 5 months ago

Much better, but missing the "indexOrderedLabel": "2" key/value pair in the request. Glycam actual's working request looks like this (I removed some formatting as it was tripping up the editor here):

"singleLinkageRotamerDataList" 

                                "indexOrderedLabel": "2",
                                "linkageLabel": "2",
                                "selectedRotamers": 

Our test-branch request looks like this:

 "singleLinkageRotamerDataList" 

                                "linkageLabel": "1",
                                "selectedRotamers": 

We need to add the indexOrderedLabel key back into the request. This explains the "None" we are seeing in the names e.g. "Noneogt" instead of "1ogt".

gitoliver commented 5 months ago

Finally figured out the why. This bug was triggered by changes required here https://github.com/GLYCAM-Web/gems/issues/74. Dan figured out the None issue. Will close this after we've tested everything properly.