diff --git a/Life Sciences/README.md b/Life Sciences/README.md index d3aadd7a731e34a52f0676e2d2dc33797db13888..aba0da34cb2f17e486b2ba2c0869ede343c13040 100644 --- a/Life Sciences/README.md +++ b/Life Sciences/README.md @@ -1,2 +1,3 @@ Life Sciences Software List: - repositories: xxx +- repositories: bamtools diff --git a/Life Sciences/bamtools/bamtools-2.5.2.sh b/Life Sciences/bamtools/bamtools-2.5.2.sh new file mode 100644 index 0000000000000000000000000000000000000000..5c72b26b351b7c3a91b6a2117b1a789f60845561 --- /dev/null +++ b/Life Sciences/bamtools/bamtools-2.5.2.sh @@ -0,0 +1,33 @@ +#!/bin/bash + +if [[ $# -ne 2 ]]; then + echo "The format is as follows:" + echo "bash bamtools-2.5.2.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%/*} + +set -e +wget -t 0 -c "https://github.com/pezmaster31/bamtools/archive/refs/tags/v2.5.2.tar.gz" -O $buildpath/bamtools-2.5.2.tar.gz + +tar -xvf $buildpath/bamtools-2.5.2.tar.gz -C $buildpath && rm -rf $buildpath/bamtools-2.5.2.tar.gz + +cd $buildpath/bamtools-2.5.2 +mkdir build && cd build + +export CC=clang +export CXX=clang++ +cmake -DCMAKE_INSTALL_PREFIX=$installpath .. +make +make install +cp $buildpath/bamtools-2.5.2/tests/data/sam_spec_example.bam $installpath +rm -rf $buildpath/bamtools-2.5.2 \ No newline at end of file diff --git a/Life Sciences/bamtools/build.sh b/Life Sciences/bamtools/build.sh new file mode 100644 index 0000000000000000000000000000000000000000..e9d6f93307434e99141dc2070544bd182f92ae12 --- /dev/null +++ b/Life Sciences/bamtools/build.sh @@ -0,0 +1,56 @@ +#!/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 easy_install +source /etc/profile +module purge + +set -e +dep_dir="dependency" +bash $dep_dir/bisheng-compiler-2.1.0.sh $buildpath $installpath +module use $installpath/bisheng-compiler-2.1.0 +module load $installpath/bisheng-compiler-2.1.0/bisheng_modulefiles + +bash $dep_dir/hmpi-1.1.1.sh $buildpath $installpath +module use $installpath/hmpi-1.1.1 +module load $installpath/hmpi-1.1.1/hmpi_modulefiles + +bash bamtools-2.5.2.sh $buildpath $installpath + +mkdir -p pkg/bamtools-2.5.2-hpc && cp -r $installpath/* pkg/bamtools-2.5.2-hpc/ +cat>"pkg/bamtools-2.5.2-hpc/env.sh"< /dev/null +current_dir=\$(cd "\$(dirname "\${BASH_SOURCE[0]}")" &> /dev/null && pwd) +for d in \$(ls \$current_dir) +do + [[ ! \$d =~ "flye" && ! -f "\$current_dir/\$d" ]] && cd \$current_dir/\$d && module use \$(pwd) && module load \$(pwd)/*modulefiles +done +cd \$current_dir +[[ ! -d "$installpath/hmpi-1.1.1" ]] && mkdir -p $installpath/hmpi-1.1.1 && cp -r \$current_dir/hmpi-1.1.1/* $installpath/hmpi-1.1.1/ +EOF +cd pkg/ && tar zcvf bamtools-2.5.2-hpc.tar.gz bamtools-2.5.2-hpc + +rm -rf $buildpath $installpath diff --git a/Life Sciences/bamtools/dependency/bisheng-compiler-2.1.0.sh b/Life Sciences/bamtools/dependency/bisheng-compiler-2.1.0.sh new file mode 100644 index 0000000000000000000000000000000000000000..5d46084f8395a233419c091eec9aadfeaa014429 --- /dev/null +++ b/Life Sciences/bamtools/dependency/bisheng-compiler-2.1.0.sh @@ -0,0 +1,42 @@ +#!/bin/bash + +if [[ $# -ne 2 ]]; then + echo "The format is as follows:" + echo "bash bisheng-compiler-2.1.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%/*} +set -e +yum install -y wget tar environment-modules libatomic + +wget -t 0 -c -P $buildpath https://mirrors.huaweicloud.com/kunpeng/archive/compiler/bisheng_compiler/bisheng-compiler-2.1.0-aarch64-linux.tar.gz +tar xf $buildpath/bisheng-compiler-2.1.0-aarch64-linux.tar.gz -C $buildpath && rm -rf $buildpath/bisheng-compiler-2.1.0-aarch64-linux.tar.gz +mkdir -p $installpath/bisheng-compiler-2.1.0 && cp -r $buildpath/bisheng-compiler-2.1.0-aarch64-linux/* $installpath/bisheng-compiler-2.1.0/ + +cat>"$installpath/bisheng-compiler-2.1.0/bisheng_modulefiles"<"$installpath/hmpi-1.1.1/hmpi_modulefiles"<