m2ms / fragalysis-frontend

The React, Redux frontend built by webpack
Other
1 stars 1 forks source link

Handle alignments without maps #1223

Open Waztom opened 10 months ago

Waztom commented 10 months ago

@tdudgeon thinks this, alignment without maps, is the only thing fundamentally missing.

@ConorFWild will fix this.

Policy: fail unless user updates configuration to either process or ignore the offending datasets

ConorFWild commented 10 months ago

@kaliif @tdudgeon @Waztom

Changes merged in 791726b and 9a68494 and tested!

Can close issue one we verify this is handled by the upload and database correctly. This sounds like an @tdudgeon and @kaliif problem?

tdudgeon commented 10 months ago

That seems to work for the lb32627-65 data, but I encountered a further edge case. For XX01ZVNS2B-x1162 the ligand in the PDB is incompatible with the one in the CIF file.

PDB:

HETATM 2272  O4 CLIG B 301     -12.027   4.755 -16.642  0.20 32.76           O
ANISOU 2272  O4 CLIG B 301     4840   4814   2792   1021    650    506       O
HETATM 2273  O4 DLIG B 301     -12.027   4.755 -16.642  0.20 32.76           O
ANISOU 2273  O4 DLIG B 301     4840   4814   2792   1021    650    506       O
HETATM 2274  C7 CLIG B 301     -10.907   5.051 -15.839  0.20 32.50           C
ANISOU 2274  C7 CLIG B 301     4776   4794   2775    968    672    547       C
HETATM 2275  C7 DLIG B 301     -10.907   5.051 -15.839  0.20 32.50           C
ANISOU 2275  C7 DLIG B 301     4776   4794   2775    968    672    547       C
HETATM 2276  O5 CLIG B 301     -10.975   5.428 -14.685  0.20 30.91           O
ANISOU 2276  O5 CLIG B 301     4566   4562   2617    886    674    531       O
HETATM 2277  O5 DLIG B 301     -10.975   5.428 -14.685  0.20 30.91           O
ANISOU 2277  O5 DLIG B 301     4566   4562   2617    886    674    531       O
HETATM 2278  C8 CLIG B 301      -9.671   4.868 -16.625  0.20 32.73           C
ANISOU 2278  C8 CLIG B 301     4786   4886   2761   1029    692    611       C
HETATM 2279  C8 DLIG B 301      -9.671   4.868 -16.625  0.20 32.73           C
ANISOU 2279  C8 DLIG B 301     4786   4886   2761   1029    692    611       C
HETATM 2280  C9 CLIG B 301      -9.721   4.347 -17.912  0.20 33.12           C
ANISOU 2280  C9 CLIG B 301     4853   4974   2756   1128    686    618       C
HETATM 2281  C9 DLIG B 301      -9.721   4.347 -17.912  0.20 33.12           C
ANISOU 2281  C9 DLIG B 301     4853   4974   2756   1128    686    618       C
HETATM 2282  C10CLIG B 301      -8.558   4.206 -18.649  0.20 33.49           C
ANISOU 2282  C10CLIG B 301     4878   5088   2758   1189    709    678       C
HETATM 2283  C10DLIG B 301      -8.558   4.206 -18.649  0.20 33.49           C
ANISOU 2283  C10DLIG B 301     4878   5088   2758   1189    709    678       C
HETATM 2284  C11CLIG B 301      -7.349   4.590 -18.110  0.20 33.70           C
ANISOU 2284  C11CLIG B 301     4863   5141   2799   1147    737    734       C
HETATM 2285  C11DLIG B 301      -7.349   4.590 -18.110  0.20 33.70           C
ANISOU 2285  C11DLIG B 301     4863   5141   2799   1147    737    734       C
HETATM 2286  C12CLIG B 301      -7.295   5.119 -16.838  0.20 33.36           C
ANISOU 2286  C12CLIG B 301     4805   5054   2816   1047    739    728       C
HETATM 2287  C12DLIG B 301      -7.295   5.119 -16.838  0.20 33.36           C
ANISOU 2287  C12DLIG B 301     4805   5054   2816   1047    739    728       C
HETATM 2288  C13CLIG B 301      -8.453   5.262 -16.094  0.20 33.02           C
ANISOU 2288  C13CLIG B 301     4787   4947   2812    990    717    665       C
HETATM 2289  C13DLIG B 301      -8.453   5.262 -16.094  0.20 33.02           C
ANISOU 2289  C13DLIG B 301     4787   4947   2812    990    717    665       C

CIF:

loop_
_chem_comp_atom.comp_id
_chem_comp_atom.atom_id
_chem_comp_atom.type_symbol
_chem_comp_atom.type_energy
_chem_comp_atom.charge
_chem_comp_atom.x
_chem_comp_atom.y
_chem_comp_atom.z
LIG     C1      C       CH3     0       6.954       0.668       2.395       
LIG     O1      O       O2      0       5.542       0.567       2.569       
LIG     C2      C       CR6     0       4.759       0.050       1.566       
LIG     C3      C       CR16    0       3.392       0.111       1.813       
LIG     C4      C       CR16    0       2.490       -0.378      0.886       
LIG     C5      C       CR6     0       2.957       -0.931      -0.296      
LIG     S1      S       S3      0       1.823       -1.551      -1.474      
LIG     O2      O       O       0       1.298       -2.797      -1.028      
LIG     O3      O       O       0       2.360       -1.413      -2.784      
LIG     N1      N       NR5     0       0.530       -0.461      -1.412      
LIG     N2      N       NRD5    0       -0.665      -0.812      -0.818      
LIG     C6      C       CR5     0       -1.464      0.238       -0.934      
LIG     O4      O       O2      0       -2.730      0.262       -0.457      
LIG     C7      C       C       0       -3.667      -0.690      -0.792      
LIG     O5      O       O       0       -3.389      -1.699      -1.363      
LIG     C8      C       CR6     0       -5.023      -0.300      -0.338      
LIG     C9      C       CR16    0       -5.496      1.001       -0.485      
LIG     C10     C       CR16    0       -6.774      1.333       -0.057      
LIG     C11     C       CR16    0       -7.589      0.375       0.509       
LIG     C12     C       CR16    0       -7.132      -0.920      0.653       
LIG     C13     C       CR16    0       -5.855      -1.260      0.230       
LIG     C14     C       CR15    0       -0.802      1.282       -1.571      
LIG     C15     C       CR5     0       0.462       0.818       -1.867      
LIG     N3      N       NH2     0       1.475       1.472       -2.494      
LIG     C16     C       CR16    0       4.316       -1.000      -0.556      
LIG     C17     C       CR16    0       5.216       -0.512      0.373       
LIG     H1      H       H       0       7.147       1.201       1.607       
LIG     H2      H       H       0       7.332       -0.220      2.288       
LIG     H3      H       H       0       7.345       1.093       3.176       
LIG     H4      H       H       0       3.078       0.485       2.613       
LIG     H5      H       H       0       1.570       -0.333      1.064       
LIG     H6      H       H       0       -4.947      1.661       -0.870      
LIG     H7      H       H       0       -7.086      2.217       -0.156      
LIG     H8      H       H       0       -8.458      0.604       0.799       
LIG     H9      H       H       0       -7.688      -1.575      1.041       
LIG     H10     H       H       0       -5.550      -2.145      0.331       
LIG     H11     H       H       0       -1.128      2.142       -1.777      
LIG     H12     H       H       0       2.181       1.029       -2.758      
LIG     H13     H       H       0       1.420       2.334       -2.627      
LIG     H14     H       H       0       4.631       -1.376      -1.357      
LIG     H15     H       H       0       6.134       -0.560      0.193

Look, for instance, the CIF contains 2 nitrogens, the pdb none.

The code has been adapted to handle this and report as a warning (no ligand files are generated in the output). Clearly this is a problem with the input data.

@kaliif is going to try to upload this data.

tdudgeon commented 10 months ago

I notice that @ConorFWild changed the error handling when panddas are missing so that you now get a nasty stacktrace rather than report a list of the errors. Personally I prefer not to scare the users that the world has blown up, just to guide them trough what went wrong.

ConorFWild commented 10 months ago

So, I'm inclined to say that both of these should be failure states that a user needs to explicitly handle in the config in order to get valid output/have the program proceed further. @phraenquex thoughts?

Also inclined to say we wrap running in a try block that will prevent raw stack traces and format known errors nicely.

phraenquex commented 9 months ago

@ConorFWild yes, the user should be made to explicitly declare the exceptions in the config.

I'm conscious that hanldling all corner cases would need a pretty extensive ontology. The full ontology is out of scope, stick to the exceptions you know about.

ConorFWild commented 9 months ago

In this case for purple release handling the error prettily is not a priority and we can close? @tdudgeon @phraenquex

phraenquex commented 9 months ago

@ConorFWild good point - it's covered by #1224 . So yes, in that case you can move this to Dev Done swimlane.