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

augustus: fix bug in proteinprofile on macOS #40220

Closed
wants to merge 1 commit into from

Conversation

gaberoo
Copy link
Contributor

@gaberoo gaberoo commented May 23, 2019

  • Have you followed the guidelines for contributing?
  • Have you checked that there aren't other open pull requests for the same formula update/change?
  • Have you built your formula locally with brew install --build-from-source <formula>, where <formula> is the name of the formula you're submitting?
  • Is your test running fine brew test <formula>, where <formula> is the name of the formula you're submitting?
  • Does your build pass brew audit --strict <formula> (after doing brew install <formula>)?

There is a bug in augustus when built on macOS with Clang that has been reported to upstream as far back as 2016 (see nextgenusfs/funannotate#3). I ran into this when revising a formula on brewsci/bio (brewsci/homebrew-bio#642).

 ❯ augustus --species=human --proteinprofile=profile/HsDHC.prfl example.fa
# This output was generated with AUGUSTUS (version 3.3.2).
# AUGUSTUS is a gene prediction tool written by M. Stanke ([email protected]),
# O. Keller, S. König, L. Gerischer, L. Romoth and Katharina Hoff.
# Please cite: Mario Stanke, Mark Diekhans, Robert Baertsch, David Haussler (2008),
# Using native and syntenically mapped cDNA alignments to improve de novo gene finding
# Bioinformatics 24: 637-644, doi 10.1093/bioinformatics/btn013
# No extrinsic information on sequences given.
# Initialising the parameters using config directory /usr/local/Cellar/augustus/3.3.2/config/ ...

/usr/local/Cellar/augustus/3.3.2/libexec/bin/augustus: ERROR
	PP::Profile: Error parsing pattern file"profile/HsDHC.prfl", line 9.

As suggested by @nextgenusfs, this can be resolved by comping augustus with gcc on macOS.

I've also added an explicit test for this to the formula. The bug can be recreated by removing with_env. fails_with :clang cannot be used because of dependencies on boost in the auxprogs, which aren't interoperable between clang and gcc.

With the patch,

 ❯ brew test augustus
Testing augustus
==> /usr/local/Cellar/augustus/3.3.2/bin/augustus --species=human test.fasta
==> /usr/local/Cellar/augustus/3.3.2/bin/augustus --species=human --proteinprofile=HsDHC.prfl example.fa 2> /dev/null

I've also removed the run-time dependency on boost:

 ❯ brew linkage augustus
System libraries:
  /usr/lib/libSystem.B.dylib
  /usr/lib/libc++.1.dylib
  /usr/lib/libz.1.dylib
Homebrew libraries:
  /usr/local/lib/gcc/9/libgcc_s.1.dylib (gcc)
  /usr/local/opt/gcc/lib/gcc/9/libstdc++.6.dylib (gcc)
Dependencies with no linkage:
  boost

Formula/augustus.rb Outdated Show resolved Hide resolved
Formula/augustus.rb Outdated Show resolved Hide resolved
Formula/augustus.rb Outdated Show resolved Hide resolved
Copy link
Member

@sjackman sjackman left a comment

Choose a reason for hiding this comment

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

Some minor nits, but otherwise looks good to me. Thanks for this fix, Gabriel.

@gaberoo
Copy link
Contributor Author

gaberoo commented May 24, 2019

@sjackman, am I still missing some changes?

@sjackman
Copy link
Member

Looks good to me. Thanks, Gabriel. Note that force pushing oddly doesn't trigger a notification, so you need to bump the issue with a comment (like you did) to get my attention for another review.

@sjackman sjackman self-assigned this May 24, 2019
@sjackman sjackman added the bug Reproducible Homebrew/homebrew-core bug label May 24, 2019
@sjackman sjackman closed this in 08e09ac May 24, 2019
@sjackman
Copy link
Member

Merged. Thanks again for your contribution to Homebrew/core, Gabriel! 🌟

@lock lock bot added the outdated PR was locked due to age label Feb 14, 2020
@lock lock bot locked as resolved and limited conversation to collaborators Feb 14, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Reproducible Homebrew/homebrew-core bug outdated PR was locked due to age
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants