-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Web API extensions for querying AnalysisResultSet and additional filters for DE and EE #134
Conversation
@@ -40,4 +44,5 @@ | |||
|
|||
ExpressionAnalysisResultSet thawWithoutContrasts( ExpressionAnalysisResultSet resultSet ); | |||
|
|||
ExpressionAnalysisResultSetValueObject loadValueObjectsLimit( int i ); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is the main way repository layers are extended with Spring Data to support defining queries via method name. Although load...By
is not really a support prefix, find...By
is already used for another purpose in BaseDao.
2f69665
to
ae73a03
Compare
@@ -168,7 +170,7 @@ public void addTestAnalyses( ExpressionExperiment ee ) { | |||
|
|||
pca.setExperimentAnalyzed( ee ); | |||
|
|||
persisterHelper.persist( pca ); | |||
analyses.add( ( Analysis ) persisterHelper.persist( pca ) ); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe we could make persist routine generic to avoid casting at this stage.
e8246fd
to
c1d0fb9
Compare
4eb6071
to
523e408
Compare
Jersey has been updated to 2.25.1. It's the latest version that still has Spring 3 support, so we need to consider #116 if we want to use a newer version. |
I got the filtering by dataset and database entry done. I had to move the accession (a.k.a. database entry) of an EE up into the BioAssaySet because the experimentAnalyzed by a given expression analysis is not necessarily an EE, but can also be an EE subset. It makes much more sense though because BioAssay have an accession field as well, and having gene expression data is not a prerequisite for GEO series. I moved on to implement the other generic filtering, offset, limit and sort features. |
Add persister for DifferentialExpressionAnalysis
523e408
to
1e06b08
Compare
The main idea is to add generic services that expose result sets form co-expression and expression analysis to fulfill the requirements from #127. For other issues, we need to take a similar approach by extending the service and DAO routines to accept more parameters to filter.
I've updated Jersey in the process which allow us to register and use parameter converters (yay!), which is much nicer than doing the conversion ourselves every time we pass parameters in the controller layer. I think we could take advantage of Jersy test framework to really test out the API via actual requests, but that will require some setup.
I'm not exactly looking for review, but I would really like to leave some notes here and there because there are some concepts that I really liked from using Spring Boot on another project that would be highly beneficial to our codebase. I took quite a big dive in the codebase to understand these changes.
Relates to #123, #126, #127 and #132