diff --git a/LifeSciences/FigTree-1.4.4/build.sh b/LifeSciences/FigTree-1.4.4/build.sh new file mode 100644 index 0000000000000000000000000000000000000000..643602a3ae3aba196ca59b41acdcdc5b576b5255 --- /dev/null +++ b/LifeSciences/FigTree-1.4.4/build.sh @@ -0,0 +1,51 @@ +#!/bin/bash +if [[ $# -ne 2 ]]; then + echo "The format is as follows:" + echo "bash build.sh buildpath installpath" + echo ":param buildpath: 应用构建绝对路径" + echo ":param installpath: 应用安装绝对路径" + exit 1 +fi + +[[ ! "$1" =~ ^/.* || "$1" = "/" ]] && echo "请输入正确的构建路径" && exit 1 +[[ ! "$2" =~ ^/.* || "$2" = "/" ]] && echo "请输入正确的安装路径" && exit 1 + +create_dir() +{ + local path=$1 + [[ "$path" =~ .*/$ ]] && path=${path%/*} + if [[ ! -d "$path" && ! -f "$path" ]]; then mkdir -p $path; else path=$path`date "+%y%m%d%H%M%S"` && mkdir -p $path; fi + echo $path +} + +buildpath=$(create_dir $1) +installpath=$(create_dir $2) + +yum install -y m4 environment-modules systemd-devel +source /etc/profile +module purge + +set -e +dep_dir="dependency" + +bash $dep_dir/bisheng-jdk1.8.0.sh $buildpath $installpath +module use $installpath/bisheng-jdk1.8.0_322 +module load $installpath/bisheng-jdk1.8.0_322/bisheng_jdk_modulefiles + +bash figtree-1.4.4.sh $buildpath $installpath + +mkdir -p pkg/figtree-1.4.4-hpc && cp -r $installpath/* pkg/figtree-1.4.4-hpc/ +cat>"pkg/figtree-1.4.4-hpc/run.sh"< /dev/null +current_dir=\$(cd "\$(dirname "\${BASH_SOURCE[0]}")" &> /dev/null && pwd) +for d in \$(ls \$current_dir) +do + [[ ! \$d =~ "figtree" && ! -f "\$current_dir/\$d" ]] && cd \$current_dir/\$d && module use \$(pwd) && module load \$(pwd)/*modulefiles +done +EOF +cd pkg/ && tar zcvf figtree-1.4.4-hpc.tar.gz figtree-1.4.4-hpc + +rm -rf $buildpath $installpath diff --git a/LifeSciences/FigTree-1.4.4/dependency/bisheng-jdk1.8.0.sh b/LifeSciences/FigTree-1.4.4/dependency/bisheng-jdk1.8.0.sh new file mode 100644 index 0000000000000000000000000000000000000000..509256e80d8124fbc43518337cd48c2e685c546d --- /dev/null +++ b/LifeSciences/FigTree-1.4.4/dependency/bisheng-jdk1.8.0.sh @@ -0,0 +1,42 @@ +#!/bin/bash + +if [[ $# -ne 2 ]]; then + echo "The format is as follows:" + echo "bash bisheng-jdk1.8.0.sh buildpath installpath" + echo ":param buildpath: 应用构建绝对路径" + echo ":param installpath: 应用安装绝对路径" + exit 1 +fi + +[[ ! "$1" =~ ^/.* || ! -d "$1" || "$1" = "/" ]] && echo "请输入正确的构建路径" && exit 1 +[[ ! "$2" =~ ^/.* || ! -d "$2" || "$2" = "/" ]] && echo "请输入正确的安装路径" && exit 1 + +buildpath=$1 +installpath=$2 +[[ "$buildpath" =~ .*/$ ]] && buildpath=${buildpath%/*} +[[ "$installpath" =~ .*/$ ]] && installpath=${installpath%/*} +[[ "$buildpath" == "$installpath" ]] && echo "构建路径与安装路径需为不同路径" && exit 1 +set -e +yum install -y wget tar environment-modules + +wget -t 0 -c -P $buildpath https://mirrors.huaweicloud.com/kunpeng/archive/compiler/bisheng_jdk/bisheng-jdk-8u322-linux-aarch64.tar.gz +tar -zxvf $buildpath/bisheng-jdk-8u322-linux-aarch64.tar.gz -C $buildpath && rm -rf $buildpath/bisheng-jdk-8u322-linux-aarch64.tar.gz +mkdir -p $installpath/bisheng-jdk1.8.0_322 && cp -r $buildpath/bisheng-jdk1.8.0_322/* $installpath/bisheng-jdk1.8.0_322/ + +cat>$installpath/bisheng-jdk1.8.0_322/bisheng_jdk_modulefiles< /dev/null ); then + chmod 600 "$errfile" + [ -x /sbin/restorecon ] && /sbin/restorecon $errfile + exec > "$errfile" 2>&1 + else + errfile=$(mktemp -q /tmp/xses-$USER.XXXXXX) + if [ $? -eq 0 ]; then + exec > "$errfile" 2>&1 + fi + fi +fi + +SWITCHDESKPATH=/usr/share/switchdesk + +# Mandatorily source xinitrc-common, which is common code shared between the +# Xsession and xinitrc scripts which has been factored out to avoid duplication +. /etc/X11/xinit/xinitrc-common + +# This Xsession.d implementation, is intended to obsolte and replace the +# various mechanisms present in the 'case' statement which follows, and to +# eventually be able to easily remove all hard coded window manager specific +# content from this script. See bug #142260 for additional explanation and +# details. All window manager rpm packages and desktop environment +# packages should be modified to provide the Xsession.d/Xsession.$wm scripts +# to start themselves up. In the future, the legacy switchdesk mechanisms +# and hard coded window managers and desktop environments will be removed from +# this script. +XCLIENTS_D=/etc/X11/xinit/Xclients.d +if [ "$#" -eq 1 ] && [ -x "$XCLIENTS_D/Xclients.$1.sh" ]; then + exec -l $SHELL -c "$CK_XINIT_SESSION $SSH_AGENT $XCLIENTS_D/Xclients.$1.sh" +else +# now, we see if xdm/gdm/kdm has asked for a specific environment +case $# in +1) + if [ -x "$SWITCHDESKPATH/Xclients.$1" ]; then + exec -l $SHELL -c "$SWITCHDESKPATH/Xclients.$1"; + fi; + + case "$1" in + failsafe) + exec -l $SHELL -c "xterm -geometry 80x24-0-0" + ;; + gnome|gnome-session) + # lack of SSH_AGENT is intentional, see #441123. though + # the whole thing should really happen in xinitrc.d anyway. + exec -l $SHELL -c gnome-session + exec /bin/sh -c "exec -l $SHELL -c \"gnome-session\"" + ;; + kde|kde1|kde2) + exec $CK_XINIT_SESSION $SSH_AGENT /bin/sh -c "exec -l $SHELL -c \"startkde\"" + ;; + twm) + # fall back to twm + exec $CK_XINIT_SESSION $SSH_AGENT /bin/sh -c "exec -l $SHELL -c \"twm\"" + ;; + *) + # GDM provies either a command line as the first argument or + # provides 'failsafe', 'default' or 'custom'. KDM will do the + # same at some point + if [ "$1" != "default" -a "$1" != "custom" ]; then + exec $CK_XINIT_SESSION $SSH_AGENT /bin/sh -c "exec -l $SHELL -c \"$1\"" + fi + ;; + esac +esac +fi + +# otherwise, take default action +if [ -x "$HOME/.xsession" ]; then + exec -l $SHELL -c "$CK_XINIT_SESSION $SSH_AGENT $HOME/.xsession" +elif [ -x "$HOME/.Xclients" ]; then + exec -l $SHELL -c "$CK_XINIT_SESSION $SSH_AGENT $HOME/.Xclients" +elif [ -x /etc/X11/xinit/Xclients ]; then + exec -l $SHELL -c "$CK_XINIT_SESSION $SSH_AGENT /etc/X11/xinit/Xclients" +else + # should never get here; failsafe fallback + exec -l $SHELL -c "xsm" +fi + diff --git "a/LifeSciences/FigTree-1.4.4/doc/FigTree-1.4.4\345\272\224\347\224\250\346\265\213\350\257\225\346\212\245\345\221\212.docx" "b/LifeSciences/FigTree-1.4.4/doc/FigTree-1.4.4\345\272\224\347\224\250\346\265\213\350\257\225\346\212\245\345\221\212.docx" new file mode 100644 index 0000000000000000000000000000000000000000..cbf8d544b346e4bed8d99078d2d29a39de87fed3 Binary files /dev/null and "b/LifeSciences/FigTree-1.4.4/doc/FigTree-1.4.4\345\272\224\347\224\250\346\265\213\350\257\225\346\212\245\345\221\212.docx" differ diff --git "a/LifeSciences/FigTree-1.4.4/doc/FigTree-1.4.4\345\272\224\347\224\250\347\247\273\346\244\215\346\214\207\345\215\227.docx" "b/LifeSciences/FigTree-1.4.4/doc/FigTree-1.4.4\345\272\224\347\224\250\347\247\273\346\244\215\346\214\207\345\215\227.docx" new file mode 100644 index 0000000000000000000000000000000000000000..4036b096feb3a93aea8b00b23379f899cc400f66 Binary files /dev/null and "b/LifeSciences/FigTree-1.4.4/doc/FigTree-1.4.4\345\272\224\347\224\250\347\247\273\346\244\215\346\214\207\345\215\227.docx" differ diff --git a/LifeSciences/FigTree-1.4.4/figtree-1.4.4.sh b/LifeSciences/FigTree-1.4.4/figtree-1.4.4.sh new file mode 100644 index 0000000000000000000000000000000000000000..c7161b78e67585c29268fcccf3e064a11cb0dee1 --- /dev/null +++ b/LifeSciences/FigTree-1.4.4/figtree-1.4.4.sh @@ -0,0 +1,26 @@ +#!/bin/bash + +if [[ $# -ne 2 ]]; then + echo "The format is as follows:" + echo "bash FigTree-1.4.4.sh buildpath installpath" + echo ":param buildpath: 应用构建绝对路径" + echo ":param installpath: 应用安装绝对路径" + exit 1 +fi + +[[ ! "$1" =~ ^/.* || ! -d "$1" || "$1" = "/" ]] && echo "请输入正确的构建路径" && exit 1 +[[ ! "$2" =~ ^/.* || ! -d "$2" || "$2" = "/" ]] && echo "请输入正确的安装路径" && exit 1 + +buildpath=$1 +installpath=$2 +[[ "$buildpath" =~ .*/$ ]] && buildpath=${buildpath%/*} +[[ "$installpath" =~ .*/$ ]] && installpath=${installpath%/*} +[[ "$buildpath" == "$installpath" ]] && echo "构建路径与安装路径需为不同路径" && exit 1 +yum install -y environment-modules csh time patch libatomic perl-Data-Dumper autoconf automake libtool numactl binutils systemd-devel valgrind flex wget +set -e + +wget -t 0 -c -P $buildpath https://github.com/rambaut/figtree/releases/download/v1.4.4/FigTree_v1.4.4.tgz +tar xf $buildpath/FigTree_v1.4.4.tgz -C $buildpath && rm -rf $buildpath/FigTree_v1.4.4.tgz +mkdir -p $installpath/figtree-1.4.4 && cp -r $buildpath/FigTree_v1.4.4/* $installpath/figtree-1.4.4 + +rm -rf $buildpath/FigTree_v1.4.4