|
|
5a5cc22 |
Name: bowtie2
|
|
|
5a5cc22 |
Version: 2.4.1
|
|
|
ac330ba |
Release: 3%{?dist}
|
|
|
5a5cc22 |
# Use the word "ultra fast" rather than "ultrafast".
|
|
|
5a5cc22 |
# https://github.com/BenLangmead/bowtie2/issues/291
|
|
|
5a5cc22 |
Summary: An ultra fast and memory-efficient read aligner
|
|
|
5a5cc22 |
# * bowtie2: GPLv3+
|
|
|
5a5cc22 |
# * TinyThread++: zlib, for files: tinythread.{h,cpp} fast_mutex.h
|
|
|
5a5cc22 |
# https://tinythreadpp.bitsnbites.eu/
|
|
|
5a5cc22 |
# https://gitorious.org/tinythread/tinythreadpp
|
|
|
5a5cc22 |
License: GPLv3+ and zlib
|
|
|
5a5cc22 |
URL: http://bowtie-bio.sourceforge.net/bowtie2/index.shtml
|
|
|
5a5cc22 |
Source0: https://github.com/BenLangmead/%{name}/archive/v%{version}.tar.gz
|
|
|
5a5cc22 |
# Fix to build with given CXXFLAGS.
|
|
|
5a5cc22 |
# https://github.com/BenLangmead/bowtie2/pull/296
|
|
|
5a5cc22 |
Patch0: bowtie2-makefile-cxxflags.patch
|
|
|
5a5cc22 |
BuildRequires: gcc-c++
|
|
|
5a5cc22 |
BuildRequires: help2man
|
|
|
5a5cc22 |
BuildRequires: libasan
|
|
|
5a5cc22 |
BuildRequires: libubsan
|
|
|
38629fb |
BuildRequires: make
|
|
|
5a5cc22 |
BuildRequires: perl-generators
|
|
|
5a5cc22 |
BuildRequires: perl-interpreter
|
|
|
5a5cc22 |
BuildRequires: perl(Clone)
|
|
|
5a5cc22 |
BuildRequires: perl(File::Which)
|
|
|
5a5cc22 |
BuildRequires: perl(FindBin)
|
|
|
5a5cc22 |
BuildRequires: perl(Sys::Hostname)
|
|
|
5a5cc22 |
BuildRequires: perl(Test::Deep)
|
|
|
5a5cc22 |
BuildRequires: perl(lib)
|
|
|
5a5cc22 |
BuildRequires: python3
|
|
|
5a5cc22 |
%ifarch x86_64
|
|
|
5a5cc22 |
BuildRequires: tbb-devel
|
|
|
5a5cc22 |
%else
|
|
|
5a5cc22 |
BuildRequires: simde-devel
|
|
|
5a5cc22 |
%endif
|
|
|
5a5cc22 |
BuildRequires: zlib-devel
|
|
|
5a5cc22 |
# * 32-bit CPU architectures: not supported. See Makefile.
|
|
|
5a5cc22 |
# * s390x: not ready to ship it. We take the conservative way.
|
|
|
5a5cc22 |
# as it is used for the research.
|
|
|
5a5cc22 |
# https://github.com/BenLangmead/bowtie2/issues/286
|
|
|
5a5cc22 |
ExcludeArch: %{ix86} %{arm} s390x
|
|
|
5a5cc22 |
|
|
|
5a5cc22 |
# TinyThread++
|
|
|
5a5cc22 |
Provides: bundled(tiny-thread) = 1.1
|
|
|
5a5cc22 |
|
|
|
5a5cc22 |
%description
|
|
|
5a5cc22 |
|
|
|
5a5cc22 |
Bowtie 2 is an ultra fast and memory-efficient tool for aligning sequencing
|
|
|
5a5cc22 |
reads to long reference sequences. It is particularly good at aligning reads
|
|
|
5a5cc22 |
of about 50 up to 100s or 1,000s of characters, and particularly good at
|
|
|
5a5cc22 |
aligning to relatively long (e.g. mammalian) genomes. Bowtie 2 indexes the
|
|
|
5a5cc22 |
genome with an FM Index to keep its memory footprint small: for the human
|
|
|
5a5cc22 |
genome, its memory footprint is typically around 3.2 GB. Bowtie 2 supports
|
|
|
5a5cc22 |
gapped, local, and paired-end alignment modes.
|
|
|
5a5cc22 |
|
|
|
5a5cc22 |
%prep
|
|
|
5a5cc22 |
%autosetup
|
|
|
5a5cc22 |
|
|
|
5a5cc22 |
# Remove the directory to avoid building bowtie with bundled libraries.
|
|
|
5a5cc22 |
rm -rf third_party
|
|
|
5a5cc22 |
|
|
|
5a5cc22 |
# Invalid double quote characters are used in the code.
|
|
|
5a5cc22 |
# https://github.com/BenLangmead/bowtie2/issues/278
|
|
|
5a5cc22 |
sed -e 's/“/"/g' -e 's/”/"/g' -i processor_support.h
|
|
|
5a5cc22 |
|
|
|
5a5cc22 |
# Fix shebang to use the system interpreters.
|
|
|
5a5cc22 |
sed -i '1s|/usr/bin/env perl|%{_bindir}/perl|' bowtie2
|
|
|
5a5cc22 |
for file in bowtie2-{build,inspect}; do
|
|
|
5a5cc22 |
sed -i '1s|/usr/bin/env python3|%{__python3}|' "${file}"
|
|
|
5a5cc22 |
done
|
|
|
5a5cc22 |
|
|
|
5a5cc22 |
%build
|
|
|
5a5cc22 |
# Set build flags.
|
|
|
5a5cc22 |
# https://src.fedoraproject.org/rpms/redhat-rpm-config/blob/master/f/buildflags.md
|
|
|
5a5cc22 |
%set_build_flags
|
|
|
5a5cc22 |
# Set flags considering the upstream testing cases for each architecture.
|
|
|
5a5cc22 |
# https://github.com/BenLangmead/bowtie2/blob/master/.travis.yml
|
|
|
5a5cc22 |
%ifnarch x86_64
|
|
|
5a5cc22 |
export POPCNT_CAPABILITY=0
|
|
|
5a5cc22 |
export NO_TBB=1
|
|
|
5a5cc22 |
%endif
|
|
|
5a5cc22 |
|
|
|
5a5cc22 |
# Build with the target "all" rather than "allall"
|
|
|
5a5cc22 |
# to skip the builds of debug and sanitized binaries
|
|
|
5a5cc22 |
# saving the build time.
|
|
|
5a5cc22 |
%make_build all
|
|
|
5a5cc22 |
|
|
|
5a5cc22 |
%install
|
|
|
5a5cc22 |
%make_install PREFIX="%{_prefix}"
|
|
|
5a5cc22 |
|
|
|
5a5cc22 |
mkdir -p %{buildroot}%{_mandir}/man1
|
|
|
5a5cc22 |
# Set version string explicitly to avoid showing the wrong command.
|
|
|
5a5cc22 |
# https://github.com/BenLangmead/bowtie2/issues/294
|
|
|
5a5cc22 |
for cmd in bowtie2 bowtie2-{build,inspect}; do
|
|
|
5a5cc22 |
help2man -N -s 1 -o "%{buildroot}%{_mandir}/man1/${cmd}.1" \
|
|
|
5a5cc22 |
--version-string="%{version}" \
|
|
|
5a5cc22 |
"%{buildroot}%{_bindir}/${cmd}"
|
|
|
5a5cc22 |
done
|
|
|
5a5cc22 |
|
|
|
5a5cc22 |
%check
|
|
|
5a5cc22 |
for cmd in bowtie2 bowtie2-{build,inspect}; do
|
|
|
5a5cc22 |
./"${cmd}" --version | grep 'version %{version}'
|
|
|
5a5cc22 |
done
|
|
|
5a5cc22 |
|
|
|
5a5cc22 |
# Skip tests for the debug and sanitized binaries not shipped.
|
|
|
5a5cc22 |
sed -i '/my $binary_type/ s/"release", "debug", "sanitized"/"release"/' \
|
|
|
5a5cc22 |
scripts/test/simple_tests.pl
|
|
|
5a5cc22 |
|
|
|
5a5cc22 |
# See scripts/test/simple_tests.sh for the options.
|
|
|
5a5cc22 |
ASAN_OPTIONS="halt_on_error=1" \
|
|
|
5a5cc22 |
UBSAN_OPTIONS="halt_on_error=1" \
|
|
|
5a5cc22 |
scripts/test/simple_tests.pl \
|
|
|
5a5cc22 |
--bowtie2=./bowtie2 \
|
|
|
5a5cc22 |
--bowtie2-build=./bowtie2-build \
|
|
|
5a5cc22 |
--compressed
|
|
|
5a5cc22 |
|
|
|
5a5cc22 |
%files
|
|
|
5a5cc22 |
%doc AUTHORS MANUAL MANUAL.markdown NEWS TUTORIAL
|
|
|
5a5cc22 |
%license LICENSE
|
|
|
5a5cc22 |
%{_bindir}/bowtie2
|
|
|
5a5cc22 |
%{_bindir}/bowtie2-align-l
|
|
|
5a5cc22 |
%{_bindir}/bowtie2-align-s
|
|
|
5a5cc22 |
%{_bindir}/bowtie2-build
|
|
|
5a5cc22 |
%{_bindir}/bowtie2-build-l
|
|
|
5a5cc22 |
%{_bindir}/bowtie2-build-s
|
|
|
5a5cc22 |
%{_bindir}/bowtie2-inspect
|
|
|
5a5cc22 |
%{_bindir}/bowtie2-inspect-l
|
|
|
5a5cc22 |
%{_bindir}/bowtie2-inspect-s
|
|
|
5a5cc22 |
%{_mandir}/man1/bowtie2.1*
|
|
|
5a5cc22 |
%{_mandir}/man1/bowtie2-build.1*
|
|
|
5a5cc22 |
%{_mandir}/man1/bowtie2-inspect.1*
|
|
|
5a5cc22 |
|
|
|
5a5cc22 |
%changelog
|
|
|
ac330ba |
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.1-3
|
|
|
ac330ba |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
|
|
ac330ba |
|
|
|
1353420 |
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.1-2
|
|
|
1353420 |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
|
|
1353420 |
|
|
|
5a5cc22 |
* Sat Mar 28 2020 Jun Aruga <jaruga@redhat.com> - 2.4.1-1
|
|
|
5a5cc22 |
- Initial package
|