Skip to content
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

WIP: first pass at frequency-awareness #60

Merged
merged 4 commits into from
Mar 7, 2017
Merged

Conversation

cmungall
Copy link
Member

@cmungall cmungall commented Mar 2, 2017

issue #56

@cmungall cmungall requested a review from drseb March 2, 2017 17:22
@cmungall
Copy link
Member Author

cmungall commented Mar 2, 2017

@jnguyenx do you know why travis is complaining? UPDATE ah I just needed to reload my tab, it succeeds now I have reduced logging. As you were!

@jnguyenx
Copy link
Contributor

jnguyenx commented Mar 2, 2017

That's my magic karma. Just tag me and it'll resolve the issue.

Copy link
Member

@drseb drseb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is the correct implementation of what we discussed. Can somebody show me how to use OWLSIM-V3 as a library in my java-code? I would like to give it some testing

@julesjacobsen
Copy link
Contributor

I'm working on integrating owlsim3 into Exomiser at the moment - see #62 and #57 for related issues. Jeremy has moved the Guice dependencies into the server code but we still need to make a clearer mechanism for providing the source data to the application on startup.

@drseb
Copy link
Member

drseb commented Mar 7, 2017

Do you think it will be possible to use it without Guice, without Spring, and not as a server?

@julesjacobsen
Copy link
Contributor

julesjacobsen commented Mar 7, 2017

Absolutely - I don't think there is any real requirement for any DI framework. Unless I've missed something important, the 'tricky' part is getting the right data sorted and loading this into a BMKnowledgeBase. This is the sort of thing you would want to do in the DI managed application, but it shouldn't be reliant on it.

For example:

public MatchSet matchPhenodigm(Set<String> ids, BMKnowledgeBase bmKnowledgeBase) throws IncoherentStateException {
    ProfileMatcher phenodigmProfileMatcher = PhenodigmICProfileMatcher.create(bmKnowledgeBase);
    ProfileQuery query = ProfileQueryFactory.createQuery(ids);
    logger.info("Querying with Class ids: {}", query.getQueryClassIds());
    return phenodigmProfileMatcher.findMatchProfile(query);
}

You provide the BMKnowledgeBase to the ProfileMatcher as it can take a long time to load all the data. Hence Dependency Injection.

@cmungall
Copy link
Member Author

cmungall commented Mar 7, 2017

See #65 for making it easier to use as a java lib

@cmungall cmungall merged commit 0511c20 into master Mar 7, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants