From e129431f61b72d88e60c18c1588a85c8ffb9f81c Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Fri, 27 Mar 2020 10:10:59 +0100 Subject: [PATCH 01/18] Revert "Python-3.7.6: Add package from https://github.molgen.mpg.de/mariux64/pkg-scripts/pull/104/files" This reverts commit 10307f6bd8f31334481da882fef57bbfd8d5b35d. The commit has been added to the master branch by accident. Remove it. --- python-3.7.6-0.build.sh | 330 ---------------------------------------- 1 file changed, 330 deletions(-) delete mode 100644 python-3.7.6-0.build.sh diff --git a/python-3.7.6-0.build.sh b/python-3.7.6-0.build.sh deleted file mode 100644 index 186ee89..0000000 --- a/python-3.7.6-0.build.sh +++ /dev/null @@ -1,330 +0,0 @@ -#! /bin/bash - -COOKIE=$(mcookie); grep -v V_GREP_ME $0 > /dev/shm/runme-$COOKIE.sh ; sleep 1; exec bash /dev/shm/runme-$COOKIE.sh $1 - - -PKG=python -VERSION=3.7.6 -BUILD=0 -PYTHONVER=${VERSION%.*} - -CUDADIR=/pkg/cuda-10.1.105-0 - -PREFIX=/pkg/$PKG-$VERSION-$BUILD -if [ -n "$TESTING" ]; then PREFIX=/dev/shm/$PKG-$VERSION-$BUILD ; fi - -PATH=/bin:/usr/bin:/usr/sbin:/usr/local/bin - -set -xe -umask 022 - -BUILD_TMPDIR=/dev/shm/$PKG-$VERSION-$BUILD.build.tmp -test -d $BUILD_TMPDIR && ( chmod -R u+rwx $BUILD_TMPDIR || true ; rm -rf $BUILD_TMPDIR ) -mkdir -p $BUILD_TMPDIR/home -export TMPDIR=$BUILD_TMPDIR -export HOME=$BUILD_TMPDIR/home - -exec $PREFIX/profile <<-EOF - \. $CUDADIR/profile - PATH=$PREFIX/bin:\$PATH - export LD_LIBRARY_PATH=$PREFIX/lib\${LD_LIBRARY_PATH:+:}\$LD_LIBRARY_PATH - export PYTHONPATH=$PREFIX/lib/python3.7/site-packages\${PYTHONPATH:+:}\$PYTHONPATH - PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig\${PKG_CONFIG_PATH:+:\$PKG_CONFIG_PATH} - export PKG_CONFIG_PATH - if [ -d $PREFIX/.compatlibs ]; then export LD_LIBRARY_PATH=$PREFIX/.compatlibs\${LD_LIBRARY_PATH:+:\$LD_LIBRARY_PATH} ; fi -EOF -. $PREFIX/profile - -export MAKEFLAGS="-j $(nproc)" - -BUILDDIR=$PREFIX/build - -mkdir -p $BUILDDIR -cd $BUILDDIR - -test -e Python-$VERSION.tar.xz || wget https://www.python.org/ftp/python/$VERSION/Python-$VERSION.tar.xz -test -d Python-$VERSION || tar xvf Python-$VERSION.tar.xz -cd Python-$VERSION - -LDFLAGS="-Wl,-rpath=$PREFIX/lib" \ -./configure \ - --prefix=$PREFIX \ - --enable-shared - -make -j $(nproc) -# make test || true # 'test_socket' seems to run for ever -make install - -( # sip: tool to create Python bindings for C and C++ libraries. - cd $PREFIX/build - SIP_VERSION=4.19.18 - SIP_SRC=https://www.riverbankcomputing.com/static/Downloads/sip/$SIP_VERSION/sip-$SIP_VERSION.tar.gz - test -e sip-$SIP_VERSION.tar.gz || wget $SIP_SRC - test -d sip-$SIP_VERSION || tar -xf sip-$SIP_VERSION.tar.gz - - cd sip-$SIP_VERSION - - python3 configure.py \ - -b $PREFIX/bin \ - -d $PREFIX/lib/python$PYTHONVER/site-packages \ - -e $PREFIX/include/python${PYTHONVER}m \ - -v $PREFIX/share/sip \ - --sip-module=sip - - # well, right here share/sip is spoilage, but maybe some packages will use the decent sip later on ... - mkdir -p $PREFIX/share/sip - make -j $(nproc); - make install -) - - -( # now for the private (sic!) version required by newer PyQt - cd $PREFIX/build - mkdir -p private_sip - cd private_sip - SIP_VERSION=4.19.18 - SIP_SRC=https://www.riverbankcomputing.com/static/Downloads/sip/$SIP_VERSION/sip-$SIP_VERSION.tar.gz - test -e sip-$SIP_VERSION.tar.gz || wget $SIP_SRC - test -d sip-$SIP_VERSION || tar -xf sip-$SIP_VERSION.tar.gz - - cd sip-$SIP_VERSION - - # note $PREFIX/share/sip/PyQt5 is mandatory - python3 configure.py \ - -d $PREFIX/lib/python$PYTHONVER/site-packages \ - -v $PREFIX/share/sip/PyQt5 \ - --no-tools \ - --sip-module=PyQt5.sip - - mkdir -p $PREFIX/share/sip/PyQt5 - make -j $(nproc) - # The resulting sip.so in site-packages/PyQt5 differs indeed a bit (grep for PyQt5) - make install -) - -( - PYQT_VERSION=5.13.0 - PYQT_SRC=https://www.riverbankcomputing.com/static/Downloads/PyQt5/$PYQT_VERSION/PyQt5_gpl-$PYQT_VERSION.tar.gz - - cd $BUILDDIR - test -e PyQt5_gpl-$PYQT_VERSION.tar.gz || wget $PYQT_SRC - test -d PyQt5_gpl-$PYQT_VERSION || tar -xf PyQt5_gpl-$PYQT_VERSION.tar.gz - - cd PyQt5_gpl-$PYQT_VERSION - - # export QTDIR=/usr/local/qt5 - python3 configure.py \ - -b $PREFIX/bin \ - -d $PREFIX/lib/python$PYTHONVER/site-packages \ - -n $PREFIX/share/qsci \ - -q /usr/local/qt5/bin/qmake \ - -v $PREFIX/share/sip/PyQt5 \ - --sip-incdir=$PREFIX/include/python${PYTHONVER}m \ - --confirm-license \ - --no-qml-plugin \ - --no-designer-plugin \ - --no-dist-info \ - --verbose - - make -j $(nproc) - - # Did I miss something in the docs ??? - # w/o the *.so files inplace a clean 'make install' fails with file not found ... - # -> FileNotFoundError: [Errno 2] No such file or directory: - # '/dev/shm/python-3.7.4-0/lib/python3.7/site-packages/PyQt5/QtCore.so' - mkdir -p $PREFIX/lib/python$PYTHONVER/site-packages/PyQt5 - for F in `find | grep '\.so$' | grep -v '/lib'` ; do - cp -vp $F $PREFIX/lib/python$PYTHONVER/site-packages/PyQt5/ - done - make install -) - -( - QSCINTILLA_VERSION=2.11.2 - QSCINTILLA_SRC=https://www.riverbankcomputing.com/static/Downloads/QScintilla/$QSCINTILLA_VERSION/QScintilla_gpl-$QSCINTILLA_VERSION.tar.gz - - cd $BUILDDIR - test -e QScintilla_gpl-$QSCINTILLA_VERSION.tar.gz || wget $QSCINTILLA_SRC - test -d QScintilla_gpl-$QSCINTILLA_VERSION || tar -xf QScintilla_gpl-$QSCINTILLA_VERSION.tar.gz - cd QScintilla_gpl-$QSCINTILLA_VERSION - - cd Python - - # apidir follows PyQt, not Qt (default is: QT_INSTALL_DATA/qsci) - # creation of PEP 376 .dist-info fails in $PREFIX/share - python3 configure.py \ - --pyqt=PyQt5 \ - --qmake=/usr/local/qt5/bin/qmake \ - --apidir=$PREFIX/share/qsci \ - --no-dist-info - - make -j $(nproc) - - # Call it a deja-vu, nerve ... - # -> FileNotFoundError: [Errno 2] No such file or directory: '/dev/shm/python-3.7.4-0/lib/python3.7/site-packages/PyQt5/Qsci.so' - mkdir -p $PREFIX/lib/python$PYTHONVER/site-packages/PyQt5 - for F in `find | grep '\.so$' | grep -v '/lib'` ; do - cp -vp $F $PREFIX/lib/python$PYTHONVER/site-packages/PyQt5 - done - make install -) - -python3 -m ensurepip -pip3 install --prefix=$PREFIX -I pip - -pip3 install --prefix=$PREFIX ipython[all] - -pip3 install --prefix=$PREFIX SciPy NumPy Matplotlib pandas SymPy nose statsmodels -# clean up some dirt that statsmodels placed also into $PREFIX -rm -vf $PREFIX/LICENSE.txt -rm -vf $PREFIX/setup.cfg - -pip3 install --prefix=$PREFIX Cython - -pip3 install --prefix=$PREFIX pysam -pip3 install --prefix=$PREFIX seaborn -pip3 install --prefix=$PREFIX scikit-learn -#pip3 install --prefix=$PREFIX metaseq # fails (Latest commit fa875d1 on Jan 10, 2017) -pip3 install --prefix=$PREFIX Mako -pip3 install --prefix=$PREFIX meson # required in mariux - -pip3 install --prefix=$PREFIX cutadapt # Helpdesk 01/24/18 16:19, Sabrina Krakau -pip3 install --prefix=$PREFIX pygobject # Helpdesk 03/26/18 14:19, Virginie Stanisla -pip3 install --prefix=$PREFIX blink1 # Blink1-lib 07/04/18 12:00, Niclas Hofmann - -pip3 install --prefix=$PREFIX umi-tools -pip3 install --prefix=$PREFIX sphinx -pip3 install --prefix=$PREFIX recommonmark -pip3 install --prefix=$PREFIX fastcluster -pip3 install --prefix=$PREFIX pydot -pip3 install --prefix=$PREFIX pygraphviz -pip3 install --prefix=$PREFIX deeptools -pip3 install --prefix=$PREFIX HTSeq -pip3 install --prefix=$PREFIX keras -pip3 install --prefix=$PREFIX MotifScan # Alena 30.8.2018 -pip3 install --prefix=$PREFIX MAmotif -#pip3 install --prefix=$PREFIX hic2cool # Helpdesk Robert Schoepflin 17.09.2018 Would be a nice to have, but it likes to downgrade too much, pick some cherries -#pip3 install --prefix=$PREFIX hifive # only python 2.7+ -pip3 install --prefix=$PREFIX snakemake -pip3 install --prefix=$PREFIX virtualenv # Donald -pip3 install --prefix=$PREFIX odfpy # Donald -pip3 install --prefix=$PREFIX Dumper # Thomas -pip3 install --prefix=$PREFIX igraph -pip3 install --prefix=$PREFIX louvain # monocle3 prep for Helene -pip3 install --prefix=$PREFIX selenium # 19.7.19 Kreitler -> https://webxray.org/ -pip3 install --prefix=$PREFIX cooltools # Maria Valieva 17.7.2019 -pip3 install --prefix=$PREFIX gmpy # From viper context (Helpdesk Laura Glaser 9.8.2019) -pip3 install --prefix=$PREFIX tensorflow==2.0.1 # tensorflow-2.1.0 needs spezial libs and nightly version(2.2.0) dont -pip3 install --prefix=$PREFIX torch -pip3 install --prefix=$PREFIX torchvision -pip3 install --prefix=$PREFIX plotly -pip3 install --prefix=$PREFIX pyOpenCL -pip3 install --prefix=$PREFIX docopt -pip3 install --prefix=$PREFIX dbus-python -pip3 install --prefix=$PREFIX distro -pip3 install --prefix=$PREFIX notify -pip3 install --prefix=$PREFIX ply -pip3 install --prefix=$PREFIX threadpoolctl - -pip3 install --prefix=$PREFIX pyopengl -rm -rf ${PREFIX}/lib/python$PYTHONVER/site-packages/OpenGL/Tk -# create error, so remove it - -# pip3 install --prefix=$PREFIX HiCExplorer # Would be a nice to have, but it likes to downgrade too much, pick some cherries -pip3 install --prefix=$PREFIX HiCMatrix -pip3 install --prefix=$PREFIX pyGenomeTracks - -pip3 install --prefix=$PREFIX python-bioformats - -pip3 install --prefix=$PREFIX jupyterlab # request Peter Arndt -pip3 install --prefix=$PREFIX jupyterlab-git -pip3 install --prefix=$PREFIX libxml2-python3 # required by several bee packages after swich to python3 -pip3 install --prefix=$PREFIX scour # https://github.molgen.mpg.de/mariux64/pkg-scripts/issues/98 - -#boost for pycuda -( - . ${PREFIX}/profile - BOOST_VERSION="1.72.0 1_72_0" - BOOST_SRC=https://dl.bintray.com/boostorg/release/$( echo $BOOST_VERSION | cut -d" " -f1 )/source/boost_$( echo $BOOST_VERSION | cut -d" " -f2 ).tar.gz - PKGCFLAGS="-O2 -fPIC" - - cd $BUILDDIR - test -e boost_$( echo $BOOST_VERSION | cut -d" " -f2 ).tar.gz || wget $BOOST_SRC - test -d boost-$( echo $BOOST_VERSION | cut -d" " -f1 ) || mkdir boost-$( echo $BOOST_VERSION | cut -d" " -f1 ) && tar -xf boost_$( echo $BOOST_VERSION | cut -d" " -f2 ).tar.gz -C boost-$( echo $BOOST_VERSION | cut -d" " -f1 ) --strip-components=1 - - cd boost-$( echo $BOOST_VERSION | cut -d" " -f1 ) - sed -e "/using python/ s|;|: ${PREFIX}/include/python${PYTHONVER}m ;|" \ - -i bootstrap.sh - - ./bootstrap.sh \ - --with-toolset=gcc \ - --with-icu \ - --with-python=$PREFIX/bin/python3 \ - --with-libraries=python,thread || exit 1 - - ./b2 \ - $NUMJOBS \ - --layout=system \ - --build-dir=build-python3 \ - --prefix=$PREFIX \ - --libdir=$PREFIX/lib \ - --build-type=minimal \ - toolset=gcc \ - variant=release \ - debug-symbols=off \ - link=shared \ - threading=multi \ - runtime-link=shared \ - python=$PYTHONVER \ - cflags="$PKGCFLAGS" \ - cxxflags="$PKGCFLAGS" \ - stage || exit 1 - - ./b2 \ - $NUMJOBS \ - --layout=system \ - --build-dir=build-python3 \ - --prefix=$PREFIX \ - --libdir=$PREFIX/lib \ - --build-type=minimal \ - toolset=gcc \ - variant=release \ - debug-symbols=off \ - link=shared \ - threading=multi \ - runtime-link=shared \ - python=$PYTHONVER \ - cflags="$PKGCFLAGS" \ - cxxflags="$PKGCFLAGS" \ - install || exit 1 -) - -#pycuda git version to get GL support -( - . ${PREFIX}/profile - cd $BUILDDIR - test -d pycuda || git clone --recursive http://git.tiker.net/trees/pycuda.git - - cd pycuda - git clean -dffx - python3 configure.py \ - --cuda-enable-gl \ - --cuda-root=$CUDADIR \ - --no-use-shipped-boost \ - --boost-python-libname=boost_python37 \ - --boost-inc-dir=$PREFIX/include \ - --boost-lib-dir=$PREFIX/lib \ - --cudadrv-lib-dir='${CUDA_ROOT}/lib64,${CUDA_ROOT}/lib64/stubs' \ - --cudart-lib-dir='${CUDA_ROOT}/lib64,${CUDA_ROOT}/lib64/stubs' \ - --curand-lib-dir='${CUDA_ROOT}/lib64,${CUDA_ROOT}/lib64/stubs'\ - --ldflags=-L$PREFIX/lib - - python3 setup.py install --prefix $PREFIX -) -# try to load all packages, maybe we can see installation errors -python3 -c 'help("modules")' > /dev/null - -exit From 73210ab3099d6e119452ccad8cfdb9ee19a388b8 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Fri, 27 Mar 2020 10:14:06 +0100 Subject: [PATCH 02/18] Add python-3.7.6 Create bee file with cp python-3.7.4-2.build.sh python-3.7.6-0.build.sh and update version and build number. --- python-3.7.6-0.build.sh | 221 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 221 insertions(+) create mode 100755 python-3.7.6-0.build.sh diff --git a/python-3.7.6-0.build.sh b/python-3.7.6-0.build.sh new file mode 100755 index 0000000..e57e0c7 --- /dev/null +++ b/python-3.7.6-0.build.sh @@ -0,0 +1,221 @@ +#! /bin/bash + +PKG=python +VERSION=3.7.6 +BUILD=0 +PYTHONVER=${VERSION%.*} + +PREFIX=/pkg/$PKG-$VERSION-$BUILD +if [ -n "$TESTING" ]; then PREFIX=/dev/shm/$PKG-$VERSION-$BUILD ; fi + +PATH=/bin:/usr/bin:/usr/sbin:/usr/local/bin + +set -xe +umask 022 + +BUILD_TMPDIR=/dev/shm/$PKG-$VERSION-$BUILD.build.tmp +test -d $BUILD_TMPDIR && ( chmod -R u+rwx $BUILD_TMPDIR || true ; rm -rf $BUILD_TMPDIR ) +mkdir -p $BUILD_TMPDIR/home +export TMPDIR=$BUILD_TMPDIR +export HOME=$BUILD_TMPDIR/home + +exec $PREFIX/profile <<-EOF + PATH=$PREFIX/bin:\$PATH + PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig\${PKG_CONFIG_PATH:+:\$PKG_CONFIG_PATH} + export PKG_CONFIG_PATH + if [ -d $PREFIX/.compatlibs ]; then export LD_LIBRARY_PATH=$PREFIX/.compatlibs\${LD_LIBRARY_PATH:+:\$LD_LIBRARY_PATH} ; fi +EOF +. $PREFIX/profile + +export MAKEFLAGS="-j $(nproc)" + +BUILDDIR=$PREFIX/build + +mkdir -p $BUILDDIR +cd $BUILDDIR + +test -e Python-$VERSION.tar.xz || wget https://www.python.org/ftp/python/$VERSION/Python-$VERSION.tar.xz +test -d Python-$VERSION || tar xvf Python-$VERSION.tar.xz +cd Python-$VERSION + +LDFLAGS="-Wl,-rpath=$PREFIX/lib" \ +./configure \ + --prefix=$PREFIX \ + --enable-shared + +make -j $(nproc) +# make test || true # 'test_socket' seems to run for ever +make install + +( # sip: tool to create Python bindings for C and C++ libraries. + cd $PREFIX/build + SIP_VERSION=4.19.18 + SIP_SRC=https://www.riverbankcomputing.com/static/Downloads/sip/$SIP_VERSION/sip-$SIP_VERSION.tar.gz + test -e sip-$SIP_VERSION.tar.gz || wget $SIP_SRC + test -d sip-$SIP_VERSION || tar -xf sip-$SIP_VERSION.tar.gz + + cd sip-$SIP_VERSION + + python3 configure.py \ + -b $PREFIX/bin \ + -d $PREFIX/lib/python$PYTHONVER/site-packages \ + -e $PREFIX/include/python${PYTHONVER}m \ + -v $PREFIX/share/sip \ + --sip-module=sip + + # well, right here share/sip is spoilage, but maybe some packages will use the decent sip later on ... + mkdir -p $PREFIX/share/sip + make -j $(nproc); + make install +) + + +( # now for the private (sic!) version required by newer PyQt + cd $PREFIX/build + mkdir -p private_sip + cd private_sip + SIP_VERSION=4.19.18 + SIP_SRC=https://www.riverbankcomputing.com/static/Downloads/sip/$SIP_VERSION/sip-$SIP_VERSION.tar.gz + test -e sip-$SIP_VERSION.tar.gz || wget $SIP_SRC + test -d sip-$SIP_VERSION || tar -xf sip-$SIP_VERSION.tar.gz + + cd sip-$SIP_VERSION + + # note $PREFIX/share/sip/PyQt5 is mandatory + python3 configure.py \ + -d $PREFIX/lib/python$PYTHONVER/site-packages \ + -v $PREFIX/share/sip/PyQt5 \ + --no-tools \ + --sip-module=PyQt5.sip + + mkdir -p $PREFIX/share/sip/PyQt5 + make -j $(nproc) + # The resulting sip.so in site-packages/PyQt5 differs indeed a bit (grep for PyQt5) + make install +) + +( + PYQT_VERSION=5.13.0 + PYQT_SRC=https://www.riverbankcomputing.com/static/Downloads/PyQt5/$PYQT_VERSION/PyQt5_gpl-$PYQT_VERSION.tar.gz + + cd $BUILDDIR + test -e PyQt5_gpl-$PYQT_VERSION.tar.gz || wget $PYQT_SRC + test -d PyQt5_gpl-$PYQT_VERSION || tar -xf PyQt5_gpl-$PYQT_VERSION.tar.gz + + cd PyQt5_gpl-$PYQT_VERSION + + # export QTDIR=/usr/local/qt5 + python3 configure.py \ + -b $PREFIX/bin \ + -d $PREFIX/lib/python$PYTHONVER/site-packages \ + -n $PREFIX/share/qsci \ + -q /usr/local/qt5/bin/qmake \ + -v $PREFIX/share/sip/PyQt5 \ + --sip-incdir=$PREFIX/include/python${PYTHONVER}m \ + --confirm-license \ + --no-qml-plugin \ + --no-designer-plugin \ + --no-dist-info \ + --verbose + + make -j $(nproc) + + # Did I miss something in the docs ??? + # w/o the *.so files inplace a clean 'make install' fails with file not found ... + # -> FileNotFoundError: [Errno 2] No such file or directory: + # '/dev/shm/python-3.7.4-0/lib/python3.7/site-packages/PyQt5/QtCore.so' + mkdir -p $PREFIX/lib/python$PYTHONVER/site-packages/PyQt5 + for F in `find | grep '\.so$' | grep -v '/lib'` ; do + cp -vp $F $PREFIX/lib/python$PYTHONVER/site-packages/PyQt5/ + done + make install +) + +( + QSCINTILLA_VERSION=2.11.2 + QSCINTILLA_SRC=https://www.riverbankcomputing.com/static/Downloads/QScintilla/$QSCINTILLA_VERSION/QScintilla_gpl-$QSCINTILLA_VERSION.tar.gz + + cd $BUILDDIR + test -e QScintilla_gpl-$QSCINTILLA_VERSION.tar.gz || wget $QSCINTILLA_SRC + test -d QScintilla_gpl-$QSCINTILLA_VERSION || tar -xf QScintilla_gpl-$QSCINTILLA_VERSION.tar.gz + cd QScintilla_gpl-$QSCINTILLA_VERSION + + cd Python + + # apidir follows PyQt, not Qt (default is: QT_INSTALL_DATA/qsci) + # creation of PEP 376 .dist-info fails in $PREFIX/share + python3 configure.py \ + --pyqt=PyQt5 \ + --qmake=/usr/local/qt5/bin/qmake \ + --apidir=$PREFIX/share/qsci \ + --no-dist-info + + make -j $(nproc) + + # Call it a deja-vu, nerve ... + # -> FileNotFoundError: [Errno 2] No such file or directory: '/dev/shm/python-3.7.4-0/lib/python3.7/site-packages/PyQt5/Qsci.so' + mkdir -p $PREFIX/lib/python$PYTHONVER/site-packages/PyQt5 + for F in `find | grep '\.so$' | grep -v '/lib'` ; do + cp -vp $F $PREFIX/lib/python$PYTHONVER/site-packages/PyQt5 + done + make install +) + +python3 -m ensurepip +pip3 install -I pip + +pip3 install ipython[all] + +pip3 install SciPy NumPy Matplotlib pandas SymPy nose statsmodels +# clean up some dirt that statsmodels placed also into $PREFIX +rm -vf $PREFIX/LICENSE.txt +rm -vf $PREFIX/setup.cfg + +pip3 install Cython + +pip3 install pysam +pip3 install seaborn +pip3 install scikit-learn +# pip3 install metaseq # fails (Latest commit fa875d1 on Jan 10, 2017) +pip3 install Mako +pip3 install meson # required in mariux + +pip3 install cutadapt # Helpdesk 01/24/18 16:19, Sabrina Krakau +pip3 install pygobject # Helpdesk 03/26/18 14:19, Virginie Stanisla +pip3 install blink1 # Blink1-lib 07/04/18 12:00, Niclas Hofmann + +pip3 install umi-tools +pip3 install sphinx +pip3 install recommonmark +pip3 install fastcluster +pip3 install pydot +pip3 install pygraphviz +pip3 install deeptools +pip3 install HTSeq +pip3 install keras +pip3 install MotifScan # Alena 30.8.2018 +pip3 install MAmotif +pip3 install hic2cool # Helpdesk Robert Schoepflin 17.09.2018 +# pip3 install hifive # only python 2.7+ +pip3 install snakemake +pip3 install virtualenv # Donald +pip3 install odfpy # Donald +pip3 install Dumper # Thomas +pip3 install igraph +pip3 install louvain # monocle3 prep for Helene +pip3 install selenium # 19.7.19 Kreitler -> https://webxray.org/ +pip3 install cooltools # Maria Valieva 17.7.2019 +pip3 install gmpy # From viper context (Helpdesk Laura Glaser 9.8.2019) + +# pip3 install HiCExplorer # Would be a nice to have, but it likes to downgrade too much, pick some cherries +pip3 install HiCMatrix +pip3 install pyGenomeTracks + +pip3 install python-bioformats + +pip3 install jupyterlab # request Peter Arndt + +exit From a37219c185bc671d552379259f603b8393d9788d Mon Sep 17 00:00:00 2001 From: david Date: Fri, 27 Mar 2020 11:37:46 +0100 Subject: [PATCH 03/18] python-3.7.6: Add --prefix to pip If pip finds the system installation path not writable, it falls back to --user and installs into ~/.local. Of course, when this script runs, its system installation path should be writable. However, other errors in our environment, which prevent $PREFIX from being written to, might go undetected because of the fallback. Specify --prefix to abort if $PREFIX is not writable. --- python-3.7.6-0.build.sh | 92 ++++++++++++++++++++--------------------- 1 file changed, 46 insertions(+), 46 deletions(-) diff --git a/python-3.7.6-0.build.sh b/python-3.7.6-0.build.sh index e57e0c7..694f684 100755 --- a/python-3.7.6-0.build.sh +++ b/python-3.7.6-0.build.sh @@ -165,57 +165,57 @@ make install ) python3 -m ensurepip -pip3 install -I pip +pip3 install --prefix=$PREFIX -I pip -pip3 install ipython[all] +pip3 install --prefix=$PREFIX ipython[all] -pip3 install SciPy NumPy Matplotlib pandas SymPy nose statsmodels +pip3 install --prefix=$PREFIX SciPy NumPy Matplotlib pandas SymPy nose statsmodels # clean up some dirt that statsmodels placed also into $PREFIX rm -vf $PREFIX/LICENSE.txt rm -vf $PREFIX/setup.cfg -pip3 install Cython - -pip3 install pysam -pip3 install seaborn -pip3 install scikit-learn -# pip3 install metaseq # fails (Latest commit fa875d1 on Jan 10, 2017) -pip3 install Mako -pip3 install meson # required in mariux - -pip3 install cutadapt # Helpdesk 01/24/18 16:19, Sabrina Krakau -pip3 install pygobject # Helpdesk 03/26/18 14:19, Virginie Stanisla -pip3 install blink1 # Blink1-lib 07/04/18 12:00, Niclas Hofmann - -pip3 install umi-tools -pip3 install sphinx -pip3 install recommonmark -pip3 install fastcluster -pip3 install pydot -pip3 install pygraphviz -pip3 install deeptools -pip3 install HTSeq -pip3 install keras -pip3 install MotifScan # Alena 30.8.2018 -pip3 install MAmotif -pip3 install hic2cool # Helpdesk Robert Schoepflin 17.09.2018 -# pip3 install hifive # only python 2.7+ -pip3 install snakemake -pip3 install virtualenv # Donald -pip3 install odfpy # Donald -pip3 install Dumper # Thomas -pip3 install igraph -pip3 install louvain # monocle3 prep for Helene -pip3 install selenium # 19.7.19 Kreitler -> https://webxray.org/ -pip3 install cooltools # Maria Valieva 17.7.2019 -pip3 install gmpy # From viper context (Helpdesk Laura Glaser 9.8.2019) - -# pip3 install HiCExplorer # Would be a nice to have, but it likes to downgrade too much, pick some cherries -pip3 install HiCMatrix -pip3 install pyGenomeTracks - -pip3 install python-bioformats - -pip3 install jupyterlab # request Peter Arndt +pip3 install --prefix=$PREFIX Cython + +pip3 install --prefix=$PREFIX pysam +pip3 install --prefix=$PREFIX seaborn +pip3 install --prefix=$PREFIX scikit-learn +#pip3 install --prefix=$PREFIX metaseq # fails (Latest commit fa875d1 on Jan 10, 2017) +pip3 install --prefix=$PREFIX Mako +pip3 install --prefix=$PREFIX meson # required in mariux + +pip3 install --prefix=$PREFIX cutadapt # Helpdesk 01/24/18 16:19, Sabrina Krakau +pip3 install --prefix=$PREFIX pygobject # Helpdesk 03/26/18 14:19, Virginie Stanisla +pip3 install --prefix=$PREFIX blink1 # Blink1-lib 07/04/18 12:00, Niclas Hofmann + +pip3 install --prefix=$PREFIX umi-tools +pip3 install --prefix=$PREFIX sphinx +pip3 install --prefix=$PREFIX recommonmark +pip3 install --prefix=$PREFIX fastcluster +pip3 install --prefix=$PREFIX pydot +pip3 install --prefix=$PREFIX pygraphviz +pip3 install --prefix=$PREFIX deeptools +pip3 install --prefix=$PREFIX HTSeq +pip3 install --prefix=$PREFIX keras +pip3 install --prefix=$PREFIX MotifScan # Alena 30.8.2018 +pip3 install --prefix=$PREFIX MAmotif +pip3 install --prefix=$PREFIX hic2cool # Helpdesk Robert Schoepflin 17.09.2018 +#pip3 install --prefix=$PREFIX hifive # only python 2.7+ +pip3 install --prefix=$PREFIX snakemake +pip3 install --prefix=$PREFIX virtualenv # Donald +pip3 install --prefix=$PREFIX odfpy # Donald +pip3 install --prefix=$PREFIX Dumper # Thomas +pip3 install --prefix=$PREFIX igraph +pip3 install --prefix=$PREFIX louvain # monocle3 prep for Helene +pip3 install --prefix=$PREFIX selenium # 19.7.19 Kreitler -> https://webxray.org/ +pip3 install --prefix=$PREFIX cooltools # Maria Valieva 17.7.2019 +pip3 install --prefix=$PREFIX gmpy # From viper context (Helpdesk Laura Glaser 9.8.2019) + +# pip3 install --prefix=$PREFIX HiCExplorer # Would be a nice to have, but it likes to downgrade too much, pick some cherries +pip3 install --prefix=$PREFIX HiCMatrix +pip3 install --prefix=$PREFIX pyGenomeTracks + +pip3 install --prefix=$PREFIX python-bioformats + +pip3 install --prefix=$PREFIX jupyterlab # request Peter Arndt exit From f030a1747a168603dc03b14da933010806bd053e Mon Sep 17 00:00:00 2001 From: david Date: Fri, 27 Mar 2020 11:56:08 +0100 Subject: [PATCH 04/18] python-3.7.6: Add help("modules") at end of build Add python3 -c 'help("modules")' at the end of build script. The idea is, that this command requires all available modules to be loaded and would emmit error messages and non-zero exist status in case of any errors in the installation. --- python-3.7.6-0.build.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/python-3.7.6-0.build.sh b/python-3.7.6-0.build.sh index 694f684..bac3d09 100755 --- a/python-3.7.6-0.build.sh +++ b/python-3.7.6-0.build.sh @@ -218,4 +218,7 @@ pip3 install --prefix=$PREFIX python-bioformats pip3 install --prefix=$PREFIX jupyterlab # request Peter Arndt +# try to load all packages, maybe we can see installation errors +python3 -c 'help("modules")' > /dev/null + exit From 8a1a6e92fa5bfe9cf88f3b502ef9af0d5338454a Mon Sep 17 00:00:00 2001 From: david Date: Fri, 27 Mar 2020 11:37:46 +0100 Subject: [PATCH 05/18] python-3.7.6: Add some python packages --- python-3.7.6-0.build.sh | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/python-3.7.6-0.build.sh b/python-3.7.6-0.build.sh index bac3d09..7874b45 100755 --- a/python-3.7.6-0.build.sh +++ b/python-3.7.6-0.build.sh @@ -209,6 +209,21 @@ pip3 install --prefix=$PREFIX louvain # monocle3 prep for Helene pip3 install --prefix=$PREFIX selenium # 19.7.19 Kreitler -> https://webxray.org/ pip3 install --prefix=$PREFIX cooltools # Maria Valieva 17.7.2019 pip3 install --prefix=$PREFIX gmpy # From viper context (Helpdesk Laura Glaser 9.8.2019) +pip3 install --prefix=$PREFIX tensorflow==2.0.1 # tensorflow-2.1.0 needs spezial libs and nightly version(2.2.0) dont +pip3 install --prefix=$PREFIX torch +pip3 install --prefix=$PREFIX torchvision +pip3 install --prefix=$PREFIX plotly +pip3 install --prefix=$PREFIX pyOpenCL +pip3 install --prefix=$PREFIX docopt +pip3 install --prefix=$PREFIX dbus-python +pip3 install --prefix=$PREFIX distro +pip3 install --prefix=$PREFIX notify +pip3 install --prefix=$PREFIX ply +pip3 install --prefix=$PREFIX threadpoolctl + +pip3 install --prefix=$PREFIX pyopengl +rm -rf ${PREFIX}/lib/python$PYTHONVER/site-packages/OpenGL/Tk +# creates error, so remove it # pip3 install --prefix=$PREFIX HiCExplorer # Would be a nice to have, but it likes to downgrade too much, pick some cherries pip3 install --prefix=$PREFIX HiCMatrix @@ -217,6 +232,10 @@ pip3 install --prefix=$PREFIX pyGenomeTracks pip3 install --prefix=$PREFIX python-bioformats pip3 install --prefix=$PREFIX jupyterlab # request Peter Arndt +pip3 install --prefix=$PREFIX jupyterlab-git +pip3 install --prefix=$PREFIX libxml2-python3 # required by several bee packages after swich to python3 +pip3 install --prefix=$PREFIX scour # https://github.molgen.mpg.de/mariux64/pkg-scripts/issues/98 +pip3 install --prefix=$PREFIX multiqc # try to load all packages, maybe we can see installation errors python3 -c 'help("modules")' > /dev/null From 54b5ee160dc2248028c28daef19f3d189a2882ec Mon Sep 17 00:00:00 2001 From: david Date: Thu, 26 Mar 2020 08:41:28 +0100 Subject: [PATCH 06/18] python-3.7.6: Add comments to have eye on the downgraders --- python-3.7.6-0.build.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/python-3.7.6-0.build.sh b/python-3.7.6-0.build.sh index 7874b45..9741975 100755 --- a/python-3.7.6-0.build.sh +++ b/python-3.7.6-0.build.sh @@ -227,9 +227,9 @@ rm -rf ${PREFIX}/lib/python$PYTHONVER/site-packages/OpenGL/Tk # pip3 install --prefix=$PREFIX HiCExplorer # Would be a nice to have, but it likes to downgrade too much, pick some cherries pip3 install --prefix=$PREFIX HiCMatrix -pip3 install --prefix=$PREFIX pyGenomeTracks +pip3 install --prefix=$PREFIX pyGenomeTracks #downgrader cooler 0.8.7-> 0.8.5 -pip3 install --prefix=$PREFIX python-bioformats +pip3 install --prefix=$PREFIX python-bioformats #downgrader matplotlib 3.2.0->3.1.1 docutils 0.16 -> 0.15.2 pip3 install --prefix=$PREFIX jupyterlab # request Peter Arndt pip3 install --prefix=$PREFIX jupyterlab-git From 7ccba0b57266886b535beb2c7f64c152360ed69a Mon Sep 17 00:00:00 2001 From: david Date: Fri, 27 Mar 2020 11:23:30 +0100 Subject: [PATCH 07/18] python-3.7.6: Add CUDA profile We are going to install pycuda into this package, which requires cuda at compile- and runtime, so add the cuda package to this packages environment. --- python-3.7.6-0.build.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/python-3.7.6-0.build.sh b/python-3.7.6-0.build.sh index 9741975..188369e 100755 --- a/python-3.7.6-0.build.sh +++ b/python-3.7.6-0.build.sh @@ -5,6 +5,8 @@ VERSION=3.7.6 BUILD=0 PYTHONVER=${VERSION%.*} +CUDADIR=/pkg/cuda-10.2.89-1 + PREFIX=/pkg/$PKG-$VERSION-$BUILD if [ -n "$TESTING" ]; then PREFIX=/dev/shm/$PKG-$VERSION-$BUILD ; fi @@ -23,6 +25,7 @@ exec $PREFIX/profile <<-EOF + . $CUDADIR/profile PATH=$PREFIX/bin:\$PATH PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig\${PKG_CONFIG_PATH:+:\$PKG_CONFIG_PATH} export PKG_CONFIG_PATH From 44d3f2f94a743805e3e0e569935ab5337cd115cf Mon Sep 17 00:00:00 2001 From: david Date: Fri, 27 Mar 2020 11:27:27 +0100 Subject: [PATCH 08/18] python-3.7.6: Add LD_LIBRARY_PATH We are going to install Tensorflow into this package. Tensorflow loads implementation libraries at runtime which need to be found. Add LD_LIBRARY_PATH to avoid runtime errors like Traceback (most recent call last): File "/dev/shm/python-3.7.6-0/lib/python3.7/site-packages/tensorflow-2.1.0-py3.7-linux-x86_64.egg/tensorflow_core/python/pywrap_tensorflow.py", line 58, in from tensorflow.python.pywrap_tensorflow_internal import * File "/dev/shm/python-3.7.6-0/lib/python3.7/site-packages/tensorflow-2.1.0-py3.7-linux-x86_64.egg/tensorflow_core/python/pywrap_tensorflow_internal.py", line 28, in _pywrap_tensorflow_internal = swig_import_helper() File "/dev/shm/python-3.7.6-0/lib/python3.7/site-packages/tensorflow-2.1.0-py3.7-linux-x86_64.egg/tensorflow_core/python/pywrap_tensorflow_internal.py", line 24, in swig_import_helper _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description) File "/dev/shm/python-3.7.6-0/lib/python3.7/imp.py", line 242, in load_module return load_dynamic(name, filename, file) File "/dev/shm/python-3.7.6-0/lib/python3.7/imp.py", line 342, in load_dynamic return _load(spec) ImportError: libnccl.so.2: cannot open shared object file: No such file or directory --- python-3.7.6-0.build.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/python-3.7.6-0.build.sh b/python-3.7.6-0.build.sh index 188369e..bd3b599 100755 --- a/python-3.7.6-0.build.sh +++ b/python-3.7.6-0.build.sh @@ -27,6 +27,7 @@ mkdir -p $PREFIX cat >$PREFIX/profile <<-EOF . $CUDADIR/profile PATH=$PREFIX/bin:\$PATH + export LD_LIBRARY_PATH=$PREFIX/lib\${LD_LIBRARY_PATH:+:}\$LD_LIBRARY_PATH PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig\${PKG_CONFIG_PATH:+:\$PKG_CONFIG_PATH} export PKG_CONFIG_PATH if [ -d $PREFIX/.compatlibs ]; then export LD_LIBRARY_PATH=$PREFIX/.compatlibs\${LD_LIBRARY_PATH:+:\$LD_LIBRARY_PATH} ; fi From 961b8f5d53bf9f953c4a43fceb68d3b801f36420 Mon Sep 17 00:00:00 2001 From: david Date: Fri, 27 Mar 2020 11:46:43 +0100 Subject: [PATCH 09/18] python-3.7.6: Add boost for pycuda --- python-3.7.6-0.build.sh | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/python-3.7.6-0.build.sh b/python-3.7.6-0.build.sh index bd3b599..aa6ed56 100755 --- a/python-3.7.6-0.build.sh +++ b/python-3.7.6-0.build.sh @@ -241,6 +241,46 @@ pip3 install --prefix=$PREFIX libxml2-python3 # required by several bee packages pip3 install --prefix=$PREFIX scour # https://github.molgen.mpg.de/mariux64/pkg-scripts/issues/98 pip3 install --prefix=$PREFIX multiqc +#boost for pycuda +( + . ${PREFIX}/profile + BOOST_VERSION="1.72.0 1_72_0" + BOOST_SRC=https://dl.bintray.com/boostorg/release/$( echo $BOOST_VERSION | cut -d" " -f1 )/source/boost_$( echo $BOOST_VERSION | cut -d" " -f2 ).tar.gz + PKGCFLAGS="-O2 -fPIC" + + cd $BUILDDIR + test -e boost_$( echo $BOOST_VERSION | cut -d" " -f2 ).tar.gz || wget $BOOST_SRC + test -d boost-$( echo $BOOST_VERSION | cut -d" " -f1 ) || mkdir boost-$( echo $BOOST_VERSION | cut -d" " -f1 ) && tar -xf boost_$( echo $BOOST_VERSION | cut -d" " -f2 ).tar.gz -C boost-$( echo $BOOST_VERSION | cut -d" " -f1 ) --strip-components=1 + + cd boost-$( echo $BOOST_VERSION | cut -d" " -f1 ) + sed -e "/using python/ s|;|: ${PREFIX}/include/python${PYTHONVER}m ;|" \ + -i bootstrap.sh + + ./bootstrap.sh \ + --with-toolset=gcc \ + --with-icu \ + --with-python=$PREFIX/bin/python3 \ + --with-libraries=python,thread || exit 1 + + ./b2 \ + $NUMJOBS \ + --layout=system \ + --build-dir=build-python3 \ + --prefix=$PREFIX \ + --libdir=$PREFIX/lib \ + --build-type=minimal \ + toolset=gcc \ + variant=release \ + debug-symbols=off \ + link=shared \ + threading=multi \ + runtime-link=shared \ + python=$PYTHONVER \ + cflags="$PKGCFLAGS" \ + cxxflags="$PKGCFLAGS" \ + install || exit 1 +) + # try to load all packages, maybe we can see installation errors python3 -c 'help("modules")' > /dev/null From 366b3314e4c1eb085e560659c2d1bf16aa0b83dd Mon Sep 17 00:00:00 2001 From: david Date: Fri, 27 Mar 2020 11:47:15 +0100 Subject: [PATCH 10/18] python-3.7.6: Add pycuda --- python-3.7.6-0.build.sh | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/python-3.7.6-0.build.sh b/python-3.7.6-0.build.sh index aa6ed56..6eb3166 100755 --- a/python-3.7.6-0.build.sh +++ b/python-3.7.6-0.build.sh @@ -281,6 +281,33 @@ pip3 install --prefix=$PREFIX multiqc install || exit 1 ) +#pycuda git version to get GL support +( + PYCUDAVERS=2019.1.2 + + . ${PREFIX}/profile + cd $BUILDDIR + test -e pycuda-${PYCUDAVERS}.tar.gz || wget https://github.com/inducer/pycuda/archive/v${PYCUDAVERS}/pycuda-${PYCUDAVERS}.tar.gz + test -d pycuda-${PYCUDAVERS} || tar -xf pycuda-${PYCUDAVERS}.tar.gz + #test -d pycuda || git clone --recursive http://git.tiker.net/trees/pycuda.git + + cd pycuda-${PYCUDAVERS} + test -e siteconf.py && rm siteconf.py + python3 configure.py \ + --cuda-enable-gl \ + --cuda-root=$CUDADIR \ + --no-use-shipped-boost \ + --boost-python-libname=boost_python37 \ + --boost-inc-dir=$PREFIX/include \ + --boost-lib-dir=$PREFIX/lib \ + --cudadrv-lib-dir='${CUDA_ROOT}/lib,${CUDA_ROOT}/lib/stubs' \ + --cudart-lib-dir='${CUDA_ROOT}/lib,${CUDA_ROOT}/lib/stubs' \ + --curand-lib-dir='${CUDA_ROOT}/lib,${CUDA_ROOT}/lib/stubs'\ + --ldflags=-L$PREFIX/lib + + python3 setup.py install --prefix $PREFIX +) + # try to load all packages, maybe we can see installation errors python3 -c 'help("modules")' > /dev/null From 3c5eade61483cb3765fff57ad0435eabea1d8b6c Mon Sep 17 00:00:00 2001 From: david Date: Thu, 26 Mar 2020 08:39:09 +0100 Subject: [PATCH 11/18] python-3.7.6: Change tmpdir We are going to install Tensorflow into this package. The compilation of Tendowflow produces huge amounts of data (335612 files, 35 GB) in ~/.cache/bazel. Change BUILD_TMPDIR (which implies $HOME during the build) away from /dev/shm to avoid running out of memory. --- python-3.7.6-0.build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python-3.7.6-0.build.sh b/python-3.7.6-0.build.sh index 6eb3166..75fdd15 100755 --- a/python-3.7.6-0.build.sh +++ b/python-3.7.6-0.build.sh @@ -15,7 +15,7 @@ PATH=/bin:/usr/bin:/usr/sbin:/usr/local/bin set -xe umask 022 -BUILD_TMPDIR=/dev/shm/$PKG-$VERSION-$BUILD.build.tmp +BUILD_TMPDIR=/scratch/local2/$PKG-$VERSION-$BUILD.build.tmp test -d $BUILD_TMPDIR && ( chmod -R u+rwx $BUILD_TMPDIR || true ; rm -rf $BUILD_TMPDIR ) mkdir -p $BUILD_TMPDIR/home export TMPDIR=$BUILD_TMPDIR From 5e93e04d561fe4127982706ccad6466c3e071572 Mon Sep 17 00:00:00 2001 From: david Date: Fri, 27 Mar 2020 12:04:20 +0100 Subject: [PATCH 12/18] python-3.7.6: Build hic2cool from source The requireiments of hic2cool would downgrade a lot of packages, so build it from source. --- python-3.7.6-0.build.sh | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/python-3.7.6-0.build.sh b/python-3.7.6-0.build.sh index 75fdd15..38d6eb5 100755 --- a/python-3.7.6-0.build.sh +++ b/python-3.7.6-0.build.sh @@ -202,7 +202,6 @@ pip3 install --prefix=$PREFIX HTSeq pip3 install --prefix=$PREFIX keras pip3 install --prefix=$PREFIX MotifScan # Alena 30.8.2018 pip3 install --prefix=$PREFIX MAmotif -pip3 install --prefix=$PREFIX hic2cool # Helpdesk Robert Schoepflin 17.09.2018 #pip3 install --prefix=$PREFIX hifive # only python 2.7+ pip3 install --prefix=$PREFIX snakemake pip3 install --prefix=$PREFIX virtualenv # Donald @@ -308,6 +307,41 @@ pip3 install --prefix=$PREFIX multiqc python3 setup.py install --prefix $PREFIX ) +# hic2cool # Helpdesk Robert Schoepflin 17.09.2018 +# build from source to avoid downgrading other packages (scipy, numpy) +( + HICVERS=0.8.0 + + . ${PREFIX}/profile + cd $BUILDDIR + test -e hic2cool-${HICVERS}.tar.gz || wget https://github.com/4dn-dcic/hic2cool/archive/${HICVERS}/hic2cool-${HICVERS}.tar.gz + test -d hic2cool-${HICVERS} || tar -xf hic2cool-${HICVERS}.tar.gz + + cd hic2cool-${HICVERS} + + if $( grep '==' requirements.txt >/dev/null ); then + patch -p1 <<'EOFHIC' +diff --git a/requirements.txt b/requirements.txt +index d7e701b..9d3a01c 100644 +--- a/requirements.txt ++++ b/requirements.txt +@@ -1,5 +1,5 @@ +-h5py==2.8.0 +-pandas==0.24.2 +-numpy==1.16.3 +-scipy==1.2.1 +-cooler==0.8.5 ++h5py ++pandas ++numpy ++scipy ++cooler +EOFHIC +fi + pip3 install -r requirements.txt --prefix ${PREFIX} + python3 setup.py install --prefix ${PREFIX} +) + # try to load all packages, maybe we can see installation errors python3 -c 'help("modules")' > /dev/null From f95f7c14cd5a734e2fdd2f2ded1cad8b2e162556 Mon Sep 17 00:00:00 2001 From: david Date: Thu, 26 Mar 2020 08:52:08 +0100 Subject: [PATCH 13/18] python-3.7.6: build tensorflow from source --- python-3.7.6-0.build.sh | 73 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 72 insertions(+), 1 deletion(-) diff --git a/python-3.7.6-0.build.sh b/python-3.7.6-0.build.sh index 38d6eb5..8b70123 100755 --- a/python-3.7.6-0.build.sh +++ b/python-3.7.6-0.build.sh @@ -212,7 +212,6 @@ pip3 install --prefix=$PREFIX louvain # monocle3 prep for Helene pip3 install --prefix=$PREFIX selenium # 19.7.19 Kreitler -> https://webxray.org/ pip3 install --prefix=$PREFIX cooltools # Maria Valieva 17.7.2019 pip3 install --prefix=$PREFIX gmpy # From viper context (Helpdesk Laura Glaser 9.8.2019) -pip3 install --prefix=$PREFIX tensorflow==2.0.1 # tensorflow-2.1.0 needs spezial libs and nightly version(2.2.0) dont pip3 install --prefix=$PREFIX torch pip3 install --prefix=$PREFIX torchvision pip3 install --prefix=$PREFIX plotly @@ -342,6 +341,78 @@ fi python3 setup.py install --prefix ${PREFIX} ) +#tensorflow +( + TFVERSION=2.1.0 + TFSRC=https://github.com/tensorflow/tensorflow/archive/v${TFVERSION}/tensorflow-${TFVERSION}.tar.gz + + + . ${PREFIX}/profile + . /pkg/bazel-0.28.1-0/profile + cd $BUILDDIR + test -e tensorflow-${TFVERSION}.tar.gz || wget $TFSRC + test -d tensorflow-${TFVERSION} || tar -xf tensorflow-${TFVERSION}.tar.gz + + cd tensorflow-${TFVERSION} + + #vars for config + export PYTHON_BIN_PATH=${PREFIX}/bin/python3 + export USE_DEFAULT_PYTHON_LIB_PATH=1 + export TF_NEED_JEMALLOC=1 + export TF_NEED_KAFKA=0 + export TF_NEED_OPENCL_SYCL=0 + export TF_NEED_AWS=0 + export TF_NEED_GCP=0 + export TF_NEED_HDFS=0 + export TF_NEED_S3=0 + export TF_ENABLE_XLA=1 + export TF_NEED_GDR=0 + export TF_NEED_VERBS=0 + export TF_NEED_OPENCL=0 + export TF_NEED_MPI=0 + export TF_NEED_TENSORRT=1 + export TF_NEED_NGRAPH=0 + export TF_NEED_IGNITE=0 + export TF_NEED_ROCM=0 + export TF_SET_ANDROID_WORKSPACE=0 + export TF_DOWNLOAD_CLANG=0 + export TF_NCCL_VERSION=2.5 + export TF_IGNORE_MAX_BAZEL_VERSION=1 + export NCCL_INSTALL_PATH=${CUDADIR} + export GCC_HOST_COMPILER_PATH=/usr/bin/gcc + export TF_CUDA_CLANG=0 + export CLANG_CUDA_COMPILER_PATH=/usr/bin/clang + export TF_CUDA_PATHS=${CUDADIR},${CUDADIR}/extras/CUPTI,${CUDADIR}/nvvm + export TF_CUDA_VERSION=$(${CUDADIR}/bin/nvcc --version | sed -n 's/^.*release \(.*\),.*/\1/p') + export TF_CUDNN_VERSION=$(sed -n 's/^#define CUDNN_MAJOR\s*\(.*\).*/\1/p' ${CUDADIR}/include/cudnn.h) + export TF_CUDA_COMPUTE_CAPABILITIES=3.5,3.7,5.0,5.2,5.3,6.0,6.1,6.2,7.0,7.2,7.5 + export CC_OPT_FLAGS="-march=nehalem" + export TF_NEED_CUDA=1 + + ./configure + bazel build \ + --cxxopt="-march=nehalem" \ + --copt="-march=nehalem" \ + //tensorflow:libtensorflow.so \ + //tensorflow:libtensorflow_cc.so \ + //tensorflow:install_headers \ + //tensorflow/tools/pip_package:build_pip_package + + test -d tensorflow-pip && rm -r tensorflow-pip + mkdir tensorflow-pip + ./bazel-bin/tensorflow/tools/pip_package/build_pip_package --src ${BUILDDIR}/tensorflow-pip + cd ${BUILDDIR} + #remove symlinks into TMPDIR + test -e tensorflow-pip.tar && rm tensorflow-pip.tar + tar -chf tensorflow-pip.tar tensorflow-pip + test -d tensorflow-pip && rm -r tensorflow-pip + + tar -xf tensorflow-pip.tar + cd ${BUILDDIR}/tensorflow-pip + python3 setup.py build + python3 setup.py install --prefix $PREFIX +) + # try to load all packages, maybe we can see installation errors python3 -c 'help("modules")' > /dev/null From 39dc7168d7223c27ed6e4e9dca5ae0532a603042 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Sat, 28 Mar 2020 13:28:51 +0100 Subject: [PATCH 14/18] python-3.7.6: Downgrade pyGenomeTracks The latest version of pyGenomeTracks on PyPi (3.3) has a dependency on hicmatrix>=12 which is not yet published. Request previous version. --- python-3.7.6-0.build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python-3.7.6-0.build.sh b/python-3.7.6-0.build.sh index 8b70123..4713509 100755 --- a/python-3.7.6-0.build.sh +++ b/python-3.7.6-0.build.sh @@ -229,7 +229,7 @@ rm -rf ${PREFIX}/lib/python$PYTHONVER/site-packages/OpenGL/Tk # pip3 install --prefix=$PREFIX HiCExplorer # Would be a nice to have, but it likes to downgrade too much, pick some cherries pip3 install --prefix=$PREFIX HiCMatrix -pip3 install --prefix=$PREFIX pyGenomeTracks #downgrader cooler 0.8.7-> 0.8.5 +pip3 install --prefix=$PREFIX "pyGenomeTracks<3.3" # 3.3 depends on HiMatrix>=12 which is not yet available pip3 install --prefix=$PREFIX python-bioformats #downgrader matplotlib 3.2.0->3.1.1 docutils 0.16 -> 0.15.2 From 12a32bc59a89b1a844f61e5e54f33f22846ffc5f Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Sat, 28 Mar 2020 14:28:56 +0100 Subject: [PATCH 15/18] python-3.7.6: Use array for BOOST_VERSION Store the variants of BOOST_VERSION in an array instead of in a space seperated string to avoid parsing it over and over. --- python-3.7.6-0.build.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/python-3.7.6-0.build.sh b/python-3.7.6-0.build.sh index 4713509..78ea19a 100755 --- a/python-3.7.6-0.build.sh +++ b/python-3.7.6-0.build.sh @@ -242,15 +242,15 @@ pip3 install --prefix=$PREFIX multiqc #boost for pycuda ( . ${PREFIX}/profile - BOOST_VERSION="1.72.0 1_72_0" - BOOST_SRC=https://dl.bintray.com/boostorg/release/$( echo $BOOST_VERSION | cut -d" " -f1 )/source/boost_$( echo $BOOST_VERSION | cut -d" " -f2 ).tar.gz + BOOST_VERSION=(1.72.0 1_72_0) + BOOST_SRC=https://dl.bintray.com/boostorg/release/${BOOST_VERSION[0]}/source/boost_${BOOST_VERSION[1]}.tar.gz PKGCFLAGS="-O2 -fPIC" cd $BUILDDIR - test -e boost_$( echo $BOOST_VERSION | cut -d" " -f2 ).tar.gz || wget $BOOST_SRC - test -d boost-$( echo $BOOST_VERSION | cut -d" " -f1 ) || mkdir boost-$( echo $BOOST_VERSION | cut -d" " -f1 ) && tar -xf boost_$( echo $BOOST_VERSION | cut -d" " -f2 ).tar.gz -C boost-$( echo $BOOST_VERSION | cut -d" " -f1 ) --strip-components=1 + test -e boost_${BOOST_VERSION[1]}.tar.gz || wget $BOOST_SRC + test -d boost-${BOOST_VERSION[0]} || mkdir boost-${BOOST_VERSION[0]} && tar -xf boost_${BOOST_VERSION[1]}.tar.gz -C boost-${BOOST_VERSION[0]} --strip-components=1 - cd boost-$( echo $BOOST_VERSION | cut -d" " -f1 ) + cd boost-${BOOST_VERSION[0]} sed -e "/using python/ s|;|: ${PREFIX}/include/python${PYTHONVER}m ;|" \ -i bootstrap.sh From 3b780b3780b92b40d271d5f627a2f1d94885cd77 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Sat, 28 Mar 2020 14:33:04 +0100 Subject: [PATCH 16/18] python-3.7.6: Use cached copy of boost download The distribuition server seems to be broken at the moment: + wget https://dl.bintray.com/boostorg/release/1.72.0/source/boost_1_72_0.tar.gz --2020-03-28 13:02:47-- https://dl.bintray.com/boostorg/release/1.72.0/source/boost_1_72_0.tar.gz Resolving dl.bintray.com... 52.28.187.224, 52.29.129.139 Connecting to dl.bintray.com|52.28.187.224|:443... connected. HTTP request sent, awaiting response... 403 Forbidden 2020-03-28 13:02:47 ERROR 403: Forbidden. Use cached copy. --- python-3.7.6-0.build.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/python-3.7.6-0.build.sh b/python-3.7.6-0.build.sh index 78ea19a..dabe6f0 100755 --- a/python-3.7.6-0.build.sh +++ b/python-3.7.6-0.build.sh @@ -247,7 +247,9 @@ pip3 install --prefix=$PREFIX multiqc PKGCFLAGS="-O2 -fPIC" cd $BUILDDIR - test -e boost_${BOOST_VERSION[1]}.tar.gz || wget $BOOST_SRC + # 28.03.2020: upstream server currently broken - use cached archive + #test -e boost_${BOOST_VERSION[1]}.tar.gz || wget $BOOST_SRC + test -e boost_${BOOST_VERSION[1]}.tar.gz || cp /src/mariux/beeroot/downloads/boost_${BOOST_VERSION[1]}.tar.gz . test -d boost-${BOOST_VERSION[0]} || mkdir boost-${BOOST_VERSION[0]} && tar -xf boost_${BOOST_VERSION[1]}.tar.gz -C boost-${BOOST_VERSION[0]} --strip-components=1 cd boost-${BOOST_VERSION[0]} From ad8038a3fd5db2701818f8a30c0d57b0890af50d Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Sun, 29 Mar 2020 15:12:07 +0200 Subject: [PATCH 17/18] Revert "python-3.7.6: Build hic2cool from source" This reverts commit 5e93e04d561fe4127982706ccad6466c3e071572. The requirements of hic2cool have been updated and we can fetch it with pip again [1] [2] [1]: https://github.com/4dn-dcic/hic2cool/issues/46 [2]: https://github.com/4dn-dcic/hic2cool/releases/tag/0.8.2 --- python-3.7.6-0.build.sh | 36 +----------------------------------- 1 file changed, 1 insertion(+), 35 deletions(-) diff --git a/python-3.7.6-0.build.sh b/python-3.7.6-0.build.sh index dabe6f0..935c69f 100755 --- a/python-3.7.6-0.build.sh +++ b/python-3.7.6-0.build.sh @@ -202,6 +202,7 @@ pip3 install --prefix=$PREFIX HTSeq pip3 install --prefix=$PREFIX keras pip3 install --prefix=$PREFIX MotifScan # Alena 30.8.2018 pip3 install --prefix=$PREFIX MAmotif +pip3 install --prefix=$PREFIX hic2cool # Helpdesk Robert Schoepflin 17.09.2018 #pip3 install --prefix=$PREFIX hifive # only python 2.7+ pip3 install --prefix=$PREFIX snakemake pip3 install --prefix=$PREFIX virtualenv # Donald @@ -308,41 +309,6 @@ pip3 install --prefix=$PREFIX multiqc python3 setup.py install --prefix $PREFIX ) -# hic2cool # Helpdesk Robert Schoepflin 17.09.2018 -# build from source to avoid downgrading other packages (scipy, numpy) -( - HICVERS=0.8.0 - - . ${PREFIX}/profile - cd $BUILDDIR - test -e hic2cool-${HICVERS}.tar.gz || wget https://github.com/4dn-dcic/hic2cool/archive/${HICVERS}/hic2cool-${HICVERS}.tar.gz - test -d hic2cool-${HICVERS} || tar -xf hic2cool-${HICVERS}.tar.gz - - cd hic2cool-${HICVERS} - - if $( grep '==' requirements.txt >/dev/null ); then - patch -p1 <<'EOFHIC' -diff --git a/requirements.txt b/requirements.txt -index d7e701b..9d3a01c 100644 ---- a/requirements.txt -+++ b/requirements.txt -@@ -1,5 +1,5 @@ --h5py==2.8.0 --pandas==0.24.2 --numpy==1.16.3 --scipy==1.2.1 --cooler==0.8.5 -+h5py -+pandas -+numpy -+scipy -+cooler -EOFHIC -fi - pip3 install -r requirements.txt --prefix ${PREFIX} - python3 setup.py install --prefix ${PREFIX} -) - #tensorflow ( TFVERSION=2.1.0 From a4dcb65f83ed6ea76325f5af6c3ad1f363c1fbbe Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Mon, 30 Mar 2020 17:59:16 +0200 Subject: [PATCH 18/18] Update python-3.7.6 to python-3.7.7 Create bee file with mv python-3.7.6.build.sh python-3.7.7.build.sh and update version. --- python-3.7.6-0.build.sh => python-3.7.7-0.build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename python-3.7.6-0.build.sh => python-3.7.7-0.build.sh (99%) diff --git a/python-3.7.6-0.build.sh b/python-3.7.7-0.build.sh similarity index 99% rename from python-3.7.6-0.build.sh rename to python-3.7.7-0.build.sh index 935c69f..52b1691 100755 --- a/python-3.7.6-0.build.sh +++ b/python-3.7.7-0.build.sh @@ -1,7 +1,7 @@ #! /bin/bash PKG=python -VERSION=3.7.6 +VERSION=3.7.7 BUILD=0 PYTHONVER=${VERSION%.*}