m2ms / fragalysis-frontend

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

LHS Hit Navigator redesign #1322

Open mwinokan opened 7 months ago

mwinokan commented 7 months ago

Following the v2 release and lots of new tags it makes sense to revisit how to effectively display the new data. Please see the attached mockup. The main motivations behind the redesign are:

new_lhs_UI_proposals.pdf Screenshot 2024-02-02 at 15 21 29

mwinokan commented 7 months ago

@matej-vavrek could you please start looking into this one you have finished with the outstanding purple release work?

mwinokan commented 7 months ago

Here's a suggestion for how to adjust the observations table to match:

Screenshot 2024-02-05 at 09 59 56

Outstanding shortcomings/missing spec of the current proposal:

1. 8x1 vs 4x2 grid of [A][L][P][C] etc ... buttons

2. Defining the colour cyclers/ranges

Screenshot 2024-02-05 at 09 51 45
boriskovar-m2ms commented 7 months ago

@mwinokan currently the observations are grouped by compound and canonical site and it seems from your proposal that they should be grouped by compound, canonical site AND conformer site. Is this correct? Because currently this is possible (highlighted row of tags are conformer site) image

boriskovar-m2ms commented 7 months ago

Aren't going be the canonical and conformer site tags exactly the same as they are on respective compound that makes it a redundant information?

boriskovar-m2ms commented 7 months ago

It seems that this proposal will make the LHS list a lot slicker but also slimmer which will affect Tag details window which is right above hit navigator so maybe we will need to redesign it too so they can continue to coexist peacefully in the same column.

mwinokan commented 7 months ago

@boriskovar-m2ms I just spoke to @phraenquex and we should not group by ConformerSite, but highlight the conformersite of the displayed observation. I will think of a way to indicate the diversity of conformers displayed across the observations

mwinokan commented 7 months ago

I will clarify the spec/mockup when I get a moment

mwinokan commented 7 months ago

@phraenquex @boriskovar-m2ms @matej-vavrek what do you think of the following to show diversity amongst observed ConformerSites in the hit navigator:

Screenshot 2024-02-07 at 14 12 32

If this is too busy I would suggest just showing the ConformerSite for the displayed/first observation

boriskovar-m2ms commented 7 months ago

@mwinokan I think it looks good

phraenquex commented 7 months ago

@mwinokan agree it looks great. Run it past Daren and/or Ed too.

Probably the conformer stacked column should be over to the right, just left of the orange observations block?

mwinokan commented 6 months ago

@matej-vavrek thanks for highlighting the difficulties with the 2x4 vertical arrangement of the NGL viewer buttons. Please could you explore the following layout:

Screenshot 2024-03-12 at 11 53 37

mwinokan commented 6 months ago

@matej-vavrek for #1261 could you please add radio buttons to the observations so that the 'main' one can be specified

Screenshot 2024-03-13 at 19 45 51

boriskovar-m2ms commented 6 months ago

@mwinokan for your last suggestion we need also support from backend if this should be target wide for all users

mwinokan commented 6 months ago

@matej-vavrek the radio buttons won't be needed until we decide what to do with #1261

mwinokan commented 6 months ago

Let's discuss at today's meeting, but here is a full mockup including all the various bits of spec discussed in this ticket and #1261 #1392

Screenshot 2024-03-19 at 10 58 38

boriskovar-m2ms commented 5 months ago

Let's discuss at today's meeting, but here is a full mockup including all the various bits of spec discussed in this ticket and #1261 #1392

Screenshot 2024-03-19 at 10 58 38

@mwinokan Here in the picture in the select x0123f and x0123k are already existing poses I guess. What if there is a lot of them in the select? How do we "delete" given pose? When we assign all of it's observations to different poses then the pose should be deleted? The pose name or display_name can be only name of one of its observations or it can be any free form text? If former what if I add observations A to pose B and change its name to A and then remove the observation from the pose?

mwinokan commented 5 months ago

@boriskovar-m2ms

Here in the picture in the select x0123f and x0123k are already existing poses I guess.

Yes that's correct. There should be the option to add an observation to any existing other poses that share the same compound and canonical site.

What if there is a lot of them in the select?

All selected observations should be added to the desired new or existing pose/group

How do we "delete" given pose? When we assign all of its observations to different poses then the pose should be deleted?

Yes, there is no point having a pose with no observations.

The pose name or display_name can be only name of one of its observations or it can be any free form text? If former what if I add observations A to pose B and change its name to A and then remove the observation from the pose?

The pose name should indeed just be the name of an existing observation (for now), and in the case where the observation that provides the name is removed from a pose, the user should ideally rename the pose to a different observation. I think it's ok to leave that up to the curators for now, but @phraenquex may have thoughts.

boriskovar-m2ms commented 5 months ago

What if there is a lot of them in the select?

All selected observations should be added to the desired new or existing pose/group

By the select I meant the select-box or drop-down containing all the compatible poses. What if there is a lot of compatible poses? Would this affect the usability? Can this even happen in the real world?

mwinokan commented 5 months ago

@boriskovar-m2ms

I see. I think just add them all to the drop-down for now. I don't think there will be more than a dozen for any of the current data.

mwinokan commented 5 months ago

@mwinokan to think about how compound aliases (#1262) can elegantly be shown in the new redesigned UI

mwinokan commented 4 months ago

The aliases (#1262) are more important than the default Zinc ID's, so the hit navigator rows should show the compound alias over the Zinc ID if present. The Zinc ID should still be present in the download metadata if the user needs it, and perhaps it can be in the hover or clipboard if the alias is selected?

mwinokan commented 4 months ago

@matej-vavrek is back and is now working on this ticket

phraenquex commented 4 months ago

@mwinokan might be relevant to add something using the mol properties api #1177

mwinokan commented 4 months ago

@mwinokan to talk to Daren/curators to see how we can display useful alias and property information. The search function should also look for matches in this metadata

Maybe a context window/table is more useful than tooltips

mwinokan commented 3 months ago

@matej-vavrek I had a look at your stack, really great progress!

Comparing the mockup:

Screenshot 2024-05-29 at 13 10 27

to your draft:

Screenshot 2024-05-29 at 13 10 27

I think the following improvements can be made:

I hope that helps!

mwinokan commented 3 months ago

@matej-vavrek please let me know which of the above tasks are technically difficult, we might want to move them to other tickets as the current version is very close to being ready for staging.

matej-vavrek commented 3 months ago

@mwinokan all should be doable. I am doing some final touches.

phraenquex commented 3 months ago

@mwinokan and @phraenquex need to update the tooltip spec

mwinokan commented 3 months ago

@matej-vavrek thank you for your latest draft

Some feedback from @phraenquex and myself:

Some bugs I found:

Screenshot 2024-06-06 at 12 16 46

Screenshot 2024-06-06 at 12 21 23

mwinokan commented 3 months ago

Summarising conversation w/ @matej-vavrek in slack:

mwinokan commented 3 months ago

Thank you @matej-vavrek for implementing the above! My hopefully final nitpicks are:

Screenshot 2024-06-11 at 16 41 29 Screenshot 2024-06-11 at 16 43 00 Screenshot 2024-06-11 at 16 45 56
mwinokan commented 3 months ago

Looking at @matej-vavrek's stack, there are a couple 'nice to have' things

phraenquex commented 3 months ago

Probably not this ticket, but there's still a bug in the XCA-upload-display flow, because these tags should not all be identical:

This is the snapshot - though it's not redrawing properly - one for #1303, presumably already fixed.

mwinokan commented 3 months ago

Looking at the metadata.csv from CHIKV_Mac on staging:

Looking specifically at cx1125[a-d] there should be:

@phraenquex This seems to be correctly captured in the F/E. So there could be a bug earlier in the pipeline (upload) but it seems consistent to me. I will check with Jasmin.

Screenshot 2024-06-18 at 11 55 53 Screenshot 2024-06-18 at 11 56 06 Screenshot 2024-06-18 at 11 56 12

Snapshot

phraenquex commented 3 months ago

It's the crystalform sites that don't show up correctly in the observations pane.

For cx1134a: one observation (cx1134b) should be split into a new pose; but cx1134c should (surely!?) be from a different crystalform site. They can't both be from F1a.

image

I'm guessing the loader is picking the wrong field from the yaml.

@ConorFWild can you please work with @kaliif to pin this down.

(@mwinokan please break into a separate ticket if appropriate.)

phraenquex commented 3 months ago

For this ticket: we need some tricks (tooltips?) to make it quicker to work out why sites are assigned as they are.

@mwinokan @ConorFWild please come bug me so we pin down the spec - it could be quite trivial.

Probably (quick-n-dirty):

(@ConorFWild will need to point us to what's the relevant yaml field; @kaliif will have to ensure that it's loaded and served by API)

kaliif commented 3 months ago

It's the crystalform sites that don't show up correctly in the observations pane.

For cx1134a: one observation (cx1134b) should be split into a new pose; but cx1134c should (surely!?) be from a different crystalform site. They can't both be from F1a.

I'm guessing the loader is picking the wrong field from the yaml.

@ConorFWild can you please work with @kaliif to pin this down.

(@mwinokan please break into a separate ticket if appropriate.)

They're not from the same crystalformsite, but those sites have the same crystalform and the tag is generated crystalform name, rather than crystalform site, hence F1a for all three.

But if this is the spec for the tags, then it seems that crystalformsite tag scheme is wrong in the backend, the loader seems to be naming crystalformsites using crystalform data. Have you noticed this? Are the tags just wrong?

phraenquex commented 3 months ago

Thanks @kaliif for digging - yes, that tag should definitely be generated with the CrystalForm Site. So the bug is in the loader.

(We're talking about the middle (orange) one, right?)

I'm creating a this new ticket: #1466

phraenquex commented 3 months ago

Reposting comment above, to confirm that IS in scope for this ticket: https://github.com/m2ms/fragalysis-frontend/issues/1322#issuecomment-2177955732

mwinokan commented 3 months ago

@phraenquex says there are outstanding issues with the tooltips:

Currently the tooltips show the tag category which is important:

Screenshot 2024-06-20 at 11 29 09

But we also need to communicate the 'long site string' from XCA:

e.g.: CrystalformSites - A71EV2A-x0450/A/201 - small cell <xtalform_sites.xtalform_site_id>

@matej-vavrek please change the tooltips for the new XCA colourful buttons/boxes to include not only the tag type but also the longer site_id from XCA

phraenquex commented 2 months ago

Bugs:

@matej-vavrek please create new tickets as relevant, else move this back to "In progress."

(The hit navigation selection tools need a serious spec overhaul - @mwinokan a high priority for when you're back.)

mwinokan commented 2 months ago

@matej-vavrek please let us know which of the above are difficult. @phraenquex to help identify which ones are blockers for green

matej-vavrek commented 2 months ago

@phraenquex , @mwinokan , from the top of my head:

Need to investigate (and time):

Should be alright:

More time consuming:

Backend related:

matej-vavrek commented 2 months ago

@phraenquex, @mwinokan, I have updated my stack with checked points from my comment. Could you have a look, please? There is also experimental "auto-deselect selected observations on observation modal close" but it is not and will not be a proper solution after discussion with Boris, please ignore this behaviour.

mwinokan commented 2 months ago

Thanks @matej-vavrek, most of it looks great. A couple notes:

Screenshot 2024-07-11 at 09 09 25

Also, you were asking about being able to resize the observations modal, for #1476 we will need a wider modal anyway, I suggest increasing the size of the highlighted part below when the modal becomes wider:

Screenshot 2024-07-11 at 09 11 32

matej-vavrek commented 2 months ago

Thank you @mwinokan for the feedback. I have updated my stack with fix. I am still not 100% sure if the border and spacing with modal is sufficient.

mwinokan commented 2 months ago

@matej-vavrek says auto-sizing only the height is easier, @phraenquex says that's fine. Width resizing can be revisited with combi-soaks #1476

@phraenquex also clarifies that for the pose and observation checkboxes separation is needed. This should be spun out into a new ticket and also discussed with @boriskovar-m2ms

matej-vavrek commented 2 months ago

I am unable update my stack today. @phraenquex , @mwinokan, should the multi-row tooltip looks something like this? It shows on XCA tags hover. obrázok

phraenquex commented 2 months ago

Thanks @matej-vavrek - as ever, a mockup helps so much! Now I see how I mis-speced: it actually needs to be a table.

image

So in each case, the bit after the dash is what needs to go into each cell. (The short codes are already displayed in the coloured boxes.)

Auto-size the columns (and overall width?) so they never wrap (unless of course the tooltip ends up wider than the browser window).

mwinokan commented 2 months ago
@phraenquex can I suggest the table is in long format rather than wide? I think that would help reduce it's width: Type Value
CanonSite A71EV2A-x0211/A/120/A
ConformerSite A71EV2A-x486
CrystalformSite A71EV2A-x0486/A/147
CrystalForm A712A_open
QuatAssembly monomer