clulab / reach

Reach Biomedical Information Extraction
Other
96 stars 39 forks source link

BioRules visualizer locally #795

Closed bgyori closed 1 year ago

bgyori commented 1 year ago

In the relatively old version of Reach running at http://agathon.sista.arizona.edu:8080/odinweb/bio/enterText, there is a Bio Rule Visualizer producing graphs like image

When I run the (current version of) Reach locally as a web service, this Bio Visualizer component isn't there. Is this component something that can be run locally? How would I go about enabling/adding/running it? Thanks a lot!

kwalcock commented 1 year ago

Wow. I didn't even know that was there. 2014 even! I'm about to do some work on that machine and will see if there are clues that point to the responsible party.

MihaiSurdeanu commented 1 year ago

I think that visualizer was developed by @hickst. @hickst, can you please point us to the code for this? Thank you!

hickst commented 1 year ago

Yikes! I am both gratified and horrified that this is still running and being used!

Gratified: this must be the longest serving program I've ever created. If a software generation is 2 years, this thing is a childless great-grandfather.

Horrified: it was built as a temporary visualizer of Reach results. It uses an Elasticsearch database of results we extracted many years ago (2017/8?). Two issues with that: (1) Reach results today might be much more accurate and comprehensive and (2) there aren't any results newer than the results loading date (2017/8?).

Horrified: built around 2016, it uses some obsolete (Angular 1!) and probably vulnerable libraries (In fact, I thought I shut it down over 1.5 years ago for a specific major Java library vulnerability -- apparently I did that badly and it resurrected). I would recommend that this be shutdown again.

I can point you to the Bitbucket repo but, these days, it wouldn't be that hard to cobble together something to replace it using a modern web framework and some Docker containers (e.g, server, Elasticsearch, and NGINX). Of course, that assumes that you have the Reach extractions for the millions of papers you want to search (I think we made several runs over the years but I doubt we ever had more than 700k results).

hickst commented 1 year ago

Oh darn, after my last reply, I realized that Ben may want just the relationship visualizer portion and not the relationship search and result/paper index. The BioRules display was created using BRAT but BRAT was an unmaintained nightmare and, if I was going to do it again, I would use the visualization library that Angus developed and which I think Gus and Becky are using on their projects (sorry the name has escaped me). Keith or Mihai do you know the (BRAT-replacement) library I mean?

bgyori commented 1 year ago

Thank you for looking into this, I understand the situation now. Yes, I was thinking of the BRAT visualizer. I also just remembered that Eidos is using a similar visualization (see https://github.com/clulab/eidos/raw/master/doc/webapp_full.png) and some of the code seems to be in here: https://github.com/clulab/eidos/tree/master/webapp/public so I'll give some thought to how generating these might be possible for Reach.

kwalcock commented 1 year ago

Processors also has a webapp with brat built into it and it is the one most recently worked on. It's in the master branch, but not yet published. For that matter, so does skema.

hickst commented 1 year ago

@kwalcock the Processors webapp looks nice; a worthy successor. I recommend that we shut down the webapp on agathon for security reasons. I'm happy to do it, if you approve.

kwalcock commented 1 year ago

If I had seen this slick-looking, older version, I would have tried harder :-) The newer webapps are without any special JavaScript user interface libraries.

hickst commented 1 year ago

OK, I shut Tomcat and Elasticsearch down on Agathon. Hopefully no more zombies.

kwalcock commented 1 year ago

Uh oh. That's a problem. The work I was going to do was to update tomcat for odinweb and rexplorer. Tomcat has been updated before and the intention is to keep it running. Taking down this part also took the other parts down.

hickst commented 1 year ago

But, that won't solve the problem because it uses two Java webapps which would have to be updated and recompiled into WAR files. The current WAR files contain outdated JAR libraries.

kwalcock commented 1 year ago

We're working on the security issues. Parts have been flagged and will be updated. It would be nice if it kept running in the meantime.

hickst commented 1 year ago

That's great. Sorry for the mixup: it should be back now.

kwalcock commented 1 year ago

Thanks! It's still way more pretty than the other versions.