reactome / container

:construction: Repository for files for running a Reactome production-like environment inside a docker container. Currently, this project's status is "Work-In-Progress". :construction:
9 stars 4 forks source link

Multiple fixes #57

Closed zingmars closed 3 years ago

zingmars commented 5 years ago

Closes #55. List of fixes in this PR:

This is what it took to get it to build and run. Haven't tested if everything works 100% correctly yet, but it looks good enough for now.

SolomonShorser-OICR commented 5 years ago

Hi @zingmars, Thanks for this PR! Overall, these fixes look pretty good. Some of these changes may clash with some of my local (unpushed) work, so I may need to cherry-pick commits rather than merging the whole PR; I'm not sure yet which will work better, and it might be a while before I can complete this...

Also, I'm curious: Are you planning to build and run Reactome in containers locally?

zingmars commented 5 years ago

Some of these changes may clash with some of my local (unpushed) work, so I may need to cherry-pick commits rather than merging the whole PR

Alright, my objective was to simply get the build to work properly.

Also, I'm curious: Are you planning to build and run Reactome in containers locally?

That's the idea, although I'll probably be cutting parts I'm not using. The reason for this is because Reactome only stores analysis results for 7 days (maybe more, depending on use), whereas I would prefer to keep them for as long as I need them and then delete them when I don't.

I haven't looked into it yet, but I don't suppose you know how reactome handles the deletion of old Analysis results? I would very much like to turn that off.

SolomonShorser-OICR commented 5 years ago

I'm not sure about the code that deletes the analysis after 7 days of not being used. I can ask around to see if anyone knows how to change that.

SolomonShorser-OICR commented 5 years ago

...And I really do appreciate any commits that can get this project to a smoother build! ;)

There's a newer branch for the search-indexer that you might find interesting if you want to test it locally, as it should speed up the indexing time significantly (though it will put a heavier load on your system). It's still a bit experimental though...

zingmars commented 5 years ago

Thank you for the heads up. I'll try that branch when I have the time for it.

I can ask around to see if anyone knows how to change that.

Thank you, that would be great. The only thing I found that handle deletions was https://github.com/reactome-pwp/utils which apparently can be configured in AnalysisService_mvc-dispatcher-servlet.xml, although I haven't tested it yet. Would be great to have some actual confirmation by someone who knows the system.

SolomonShorser-OICR commented 5 years ago

I heard back from one of the other developers who explained to me that the ttl value doesn't take effect until the size threshold is reached.

The code that I was referred to is here, in LruFolderContentChecker: https://github.com/reactome-pwp/utils/blob/25e9b6a631ad2067ac887945521ba92d5a8c55d3/src/main/java/org/reactome/server/utils/lru/LruFolderContentChecker.java

So if you run the analysis service locally, you could adjust both the size and ttl to keep the analysis files around for longer.

zingmars commented 5 years ago

Okay, good to know. Thanks!

SolomonShorser-OICR commented 5 years ago

@zingmars In further discussions with other team members, someone pointed out that there is the "report" endpoint of the AnalysisService that lets you export your analysis to a PDF:

https://reactome.org/AnalysisService/#/report/generatePdfReportUsingGET

Personally, I'm not very familiar with all of the endpoints of this web service, but another developer suggested that you might find this useful.

Another option might be trying to build a stand-alone AnalysisService: https://github.com/reactome/container/tree/0d91e3695b73e8cb96f6a3575f229d00c0007e10/stand-alone-analysis-service

This is still very much a work-in-progress, but I started it so that users who only wanted to do analysis could run this as a lightweight alternative to trying to run the full Reactome ecosystem. This project might be a little rougher around the edges than the main "full" Reactome-in-docker, and has had less testing. But, it is also less complex, so it might work OK for your needs.

SolomonShorser-OICR commented 3 years ago

The docker-compose file is not being used actively, at the moment. Development has focused on the stand-alone images. I'm closing the PR as I think some of these changes/fixes might have already been integrated manually, and some might not be relevant anymore. You can now pull stand-alone Reactome docker images from here: https://hub.docker.com/u/reactome