harlam357 / hfm-net

Client Monitoring Application for Folding@Home
34 stars 6 forks source link

Add Project Cause Column #342

Open Caboose700 opened 3 years ago

Caboose700 commented 3 years ago

It would be nice to have a column that would display the specific cause each project/slot is running.

harlam357 commented 2 years ago

I don't see that value in the data provided by the client on a per work unit basis. The only things I see is what the user selects as their Cause Preference. Certainly something to surface in a better client and slot configuration dialog.

Justaphf commented 1 year ago

The information can be obtained from the project description API when querying for a specific project by id. It doesn't get included for any of the queries that return the full project/full project description lists.

Example query for project 18707: https://api2.foldingathome.org/project/18707

Returns results:

{
  "manager":"Rafal Wiewiora",
  "cause":"cancer",
  "description":"<p>From https://www.tandfonline.com/doi/full/10.1080/1744666X.2022.2050596: &quot;Dysregulation of JAK signaling is a feature of many diseases. Targeting the JAK pathway started out as a therapeutic option in the field of myeloproliferative disorders. The JAK2 Val617Phe mutation, which results in constitutive activation of the pathway, is found in over 50% of individuals with myelofibrosis and essential thrombocythaemia, and almost 100% of patients with polycythemia vera [<a href=\"https://www.tandfonline.com/doi/full/10.1080/1744666X.2022.2050596#\">5</a>,<a href=\"https://www.tandfonline.com/doi/full/10.1080/1744666X.2022.2050596#\">6</a>]. Ruxolitinib, a JAK1/JAK2 inhibitor, was the first JAK inhibitor approved for clinical use to treat myelofibrosis in 2011.&quot;</p>\n\n<p>Starting from an AlphaFold structure of the JAK2 mutant, In these projects were are generating data to aid virtual screening efforts for new (more selective) inhibitors, as well as conducting small molecule fragment screens to find potential starting points for design efforts (which are being shared with all of you in real time, and will be summarized regularly).&nbsp;</p>\n\n<p>This is a project run by&nbsp;Roivant&nbsp;Sciences (formerly Silicon Therapeutics) as was officially announced in this press release:&nbsp;<a href=\"https://foldingathome.org/2021/04/20/maximizing-the-impact-of-foldinghome-by-engaging-industry-collaborators/\" target=\"_blank\">https://foldingathome.org/2021/04/20/maximizing-the-impact-of-foldinghome-by-engaging-industry-collaborators/</a></p>\n\n<p>All data is being made publicly available as soon as it is received at&nbsp;https://console.cloud.google.com/storage/browser/stxfah-bucket</p>\n",
  "thumb":"",
  "url":"roivant.com",
  "institution":"Roivant Sciences (Silicon Therapeutics)",
  "mthumb":"",
  "mdescription":"<p>Senior Investigator in Computational Biophysics at Roivant Sciences / Silicon Therapeutics.</p>\n\n<p>Formerly graduate student in&nbsp;Chodera Lab at&nbsp;Memorial Sloan Kettering Cancer Center.</p>\n\n<p>Interested in studying conformational dynamics of proteins using molecular dynamics&nbsp;and experimental methods, to make rational&nbsp;drug design&nbsp;better, cheaper and faster.&nbsp;</p>\n",
  "modified":"2022-06-21 18:53:25",
  "projects":"18706,18707"
}
Justaphf commented 1 year ago

I created a proof-of-concept implementation here: https://github.com/harlam357/hfm-net/compare/master...Justaphf:hfm-net:feature/GetCauseFromAPI

I didn't put in a MR but I can, though I think it would need some more polish first. I didn't add any persistence for project descriptions, which contain the cause, it's just an in-memory cache so it has to be rebuilt from the FAH API every time HFM is restarted, and it also only shows up on the main window, not the history window, which would be useful.