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

modified to define default moltype for functions used in QIIME #19

Merged
merged 1 commit into from
Apr 21, 2014

Conversation

gregcaporaso
Copy link
Contributor

fixes #17

@josenavas, do you have a system with all of the applications installed? I'm not able to confirm that all tests pass with this PR because I don't have a system with all of the wrapped applications installed. If you have this, can you pull this branch and test? If you don't I can work on it, but won't be able to get to it right away.

@josenavas
Copy link
Member

@gregcaporaso I don't have a system with all the applications installed (I'm missing clustalw, fasttree v1, mafft and raxml; I failed to install these ones during the code sprint....)

@josenavas
Copy link
Member

@ElBrogrammer can we set up Travis to download the applications and/or use some Amazon EC2 instance in which all the applications are already there? I think not being able to test brokit is a problem, since if we merge something here, it can completely break QIIME...

@jairideout
Copy link
Member

I don't think we'll be able to use Travis to test brokit since there are so many dependencies, some of which are proprietary. Travis doesn't allow us to point it to an EC2 instance (or some other server) with dependencies that are already installed :(.

If we use qiime-deploy to install deps on Travis, we'll likely run into issues with build timeouts since Travis has a hard time limit of 50 minutes. If we're willing to pay them, that'll bump us to 70 minutes and we might be able to cache our qiime-deploy builds, though we still wouldn't be able to test everything (e.g., usearch).

I could set up Jenkins to test brokit. This would at least allow brokit pull requests to be tested. Would that be useful? @gregcaporaso what do you think?

@jairideout
Copy link
Member

Another option is to decouple brokit app controller tests from actually running the wrapped application. The tests would instead check that the built command is correct, but never actually run it. This way brokit wouldn't rely on any external executables, we could test via Travis, and the tests would run very quickly.

This option would require more work to convert the existing tests though...

@ElDeveloper
Copy link
Member

That would be an awesome model to follow.

One other thing we could do is use NumPy's skip_if decorator to skip tests that check for a program's output if said program is not installed.

@gregcaporaso
Copy link
Contributor Author

I think before we get into modifying tests we need to figure out which of these app controllers we plan to continue to use going forward - remember the motivation with brokit was to have to make minimal changes to these because we know we're not going to continue to maintain all (even most) of them.

Maybe for the time-being I should just try to test in the QIIME VM - I think all of these are installed in there. Let me try that and I'll follow up, I really want to minimize the time we spend on this particular package.

@gregcaporaso
Copy link
Contributor Author

I do agree that that model could be good going forward with the ones that we do want to maintain though.

@gregcaporaso
Copy link
Contributor Author

Not all apps installed in the VB either... argh... I'll continue working on a solution for this.

@gregcaporaso
Copy link
Contributor Author

I've had all of the tests pass on different machines (combination of the QIIME VM and compy), with the exception of test_fasttree_v1.py, but I get the same error in that case with master and my branch. I think we should merge this PR since my change is very unlikely to break the fasttree_v1 wrapper, and tag fasttree_v1 for deletion from QIIME's make_phylogeny.py (update: done, now QIIME's #1516) (users who want that could always build the tree directly with FastTree v1, or get an older version of QIIME).

@josenavas, do you want to review/merge?

I posted some related notes on install issues for application controllers on #20.

# generate temp filename for output
params["-w"] = "/tmp/"
# generate temp filename for output
params["-w"] = "/tmp/"
Copy link
Member

Choose a reason for hiding this comment

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

This forces to use always the /tmp directory as a temporary directory. In some systems, this is problematic and it looks like we have seen some issues in other app controllers (see biocore/qiime#1515). Probably is out of the scope of this PR, so adding an issue so we can keep track of it will be enough. What others think?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Out of the scope of this PR, but I agree that it should be tracked and fixed for the application controllers that we decide to keep going forward.

@gregcaporaso
Copy link
Contributor Author

Note: ignoring whitespace changes in the PR review (via this link) is really handy for this PR. Thanks @ElDeveloper for the "cheat sheet" link.

@josenavas
Copy link
Member

Thanks @gregcaporaso

This looks good. Before merging, did you run the QIIME tests using this version of brokit?

@gregcaporaso
Copy link
Contributor Author

I didn't, but it would be hard because I don't have all of the apps
installed in the same place (same reason that it was hard to test brokit
directly).

What do people think? Since these changes are really small, is it
acceptable to just merge and let jenkins test? I can commit to running the
test in jenkins and updating right away if there are issues.

On Mon, Apr 21, 2014 at 11:29 AM, josenavas notifications@github.comwrote:

Thanks @gregcaporaso https://github.com/gregcaporaso

This looks good. Before merging, did you run the QIIME tests using this
version of brokit?

Reply to this email directly or view it on GitHubhttps://github.com//pull/19#issuecomment-40961508
.

@josenavas
Copy link
Member

I don't think they're going to broke anything, so I'm ok with merging it as it is.

@gregcaporaso
Copy link
Contributor Author

I think we should merge too.

josenavas added a commit that referenced this pull request Apr 21, 2014
modified to define default moltype for functions used in QIIME
@josenavas josenavas merged commit 1f0fba1 into biocore:master Apr 21, 2014
@gregcaporaso gregcaporaso deleted the issue-17 branch April 21, 2014 18:56
@josenavas
Copy link
Member

Thanks @gregcaporaso

@gregcaporaso
Copy link
Contributor Author

Just FYI, the QIIME tests are passing with the latest version of brokit (mentioning due to the testing issue discussed above).

gregcaporaso added a commit to gregcaporaso/burrito-fillings that referenced this pull request May 14, 2014
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.

brokit changes to help remove cogent dependency from qiime
4 participants