moltimate / moltimate-backend

A protein active site alignment tool
GNU General Public License v2.0
10 stars 6 forks source link

Refine Response Collection #109

Closed blackpan2 closed 5 years ago

blackpan2 commented 5 years ago

Currently, in the response JSON for motif testing and for alignment searching, we have a lot of duplicate information in the response.

For example, both have the following commonalities across a motif

For context the new format makes the Homolog response go from 5,651 lines long to 2,988 lines.

New Format Example:

OUTDATED: List of successes and failures

``` { "alignments":[ { "motifPdbId":"1YPH", "motifEcNumber":"3.4.21.1", "activeSiteResidues":[ { "residueName":"His", "residueChainName":"C", "residueId":"57", "residueAltLoc":"", "identifier":"His C 57" },...] ], "entries":[ { "queryPdbId":"1AB9", "queryEcNumber":"3.4.21.1", "rmsd":0.8217166578377232, "levenshtein":0, "alignedResidues":[ { "residueName":"HIS", "residueChainName":"B", "residueId":"57", "residueAltLoc":"", "identifier":"HIS B 57" },...] }, { "queryPdbId":"1ACB", "queryEcNumber":"3.4.21.1", "rmsd":3.0317275337772127, "levenshtein":0, "alignedResidues":[ { "residueName":"HIS", "residueChainName":"E", "residueId":"57", "residueAltLoc":"", "identifier":"HIS E 57" },...] }...] } ], "failedAlignments":[ { "motifPdbId":"1YPH", "motifEcNumber":"3.4.21.1", "entries":[ { "queryPdbId":"1EQ9", "queryEcNumber":"3.4.21.1" }, { "queryPdbId":"4Q2K", "queryEcNumber":"3.4.21.1" } ] } ], "failedPdbIds":[ ] } ```

Pull motif to the top level

``` { "motifPdbId":"1YPH", "motifEcNumber":"3.4.21.1", "activeSiteResidues":[ { "residueName":"His", "residueChainName":"C", "residueId":"57", "residueAltLoc":"", "identifier":"His C 57" },... ], "alignments":[ { "queryPdbId":"1AB9", "queryEcNumber":"3.4.21.1", "rmsd":0.8217166578377232, "levenshtein":0, "alignedResidues":[ { "residueName":"HIS", "residueChainName":"B", "residueId":"57", "residueAltLoc":"", "identifier":"HIS B 57" },... ] },... ], "failedAlignments":[ { "queryPdbId":"1EQ9", "queryEcNumber":"3.4.21.1" }, { "queryPdbId":"4Q2K", "queryEcNumber":"3.4.21.1" } ], "failedPdbIds":[ ] } ```

blackpan2 commented 5 years ago

The goal would be to do a similar thing with ActiveSiteAlignmentResponse which we should also likely rename to AlignmentSearchResponse, this way we can cut down on the size of the built response.

blackpan2 commented 5 years ago

@jmiller656 I need to talk to you about activeSiteResidues before this is merged

blackpan2 commented 5 years ago

activeSiteResidues can be different from the motif's since it can be a subset

blackpan2 commented 5 years ago

Closed in favor of #111