diff --git a/LifeSciences/GATK-4.0.0.0/build.sh b/LifeSciences/GATK-4.0.0.0/build.sh new file mode 100644 index 0000000000000000000000000000000000000000..6fbd7d8a3dbc9946305336204cb47c1c09a049fc --- /dev/null +++ b/LifeSciences/GATK-4.0.0.0/build.sh @@ -0,0 +1,76 @@ +#!/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 +yum install -y samtools +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/blat-35.1.sh $buildpath $installpath +module use $installpath/blat-35.1 +module load $installpath/blat-35.1/blat_modulefiles + + +bash $dep_dir/bwa-0.7.17.sh $buildpath $installpath +module use $installpath/bwa-0.7.17 +module load $installpath/bwa-0.7.17/bwa_modulefiles + +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/jdk_modulefiles + +bash $dep_dir/gkl-0.8.10.sh $buildpath $installpath + +bash gatk-4.0.0.0.sh $buildpath $installpath + +mkdir -p pkg/gatk-4.0.0.0-hpc && cp -r $installpath/* pkg/gatk-4.0.0.0-hpc/ +cat>"pkg/gatk-4.0.0.0-hpc/run.sh"< /dev/null +current_dir="\$(cd "\$(dirname "\${BASH_SOURCE[0]}")" && pwd -P)" +for f in "\${current_dir}"/*; do + if [[ -d "\${f}" && -f "\$(ls "\${f}"/*modulefiles 2>&1)" ]]; then + module use "\${f}" && module load "\${f}"/*modulefiles + fi +done + +basepath=\$(cd \$(dirname "\${BASH_SOURCE[0]}") >/dev/null && pwd) +cd \$basepath/gatk-4.0.0.0 +jar uvf ./gatk-package-4.0.0.0-spark.jar com/intel/gkl/* +jar uvf ./gatk-package-4.0.0.0-local.jar com/intel/gkl/* + +echo -e "\033[1;32;1mgatk environment initialization completed.\033[0m" +EOF + + +cd pkg/ && tar zcvf gatk-4.0.0.0-hpc.tar.gz gatk-4.0.0.0-hpc +rm -rf $buildpath $installpath diff --git a/LifeSciences/GATK-4.0.0.0/dependency/bisheng-compiler-2.1.0.sh b/LifeSciences/GATK-4.0.0.0/dependency/bisheng-compiler-2.1.0.sh new file mode 100644 index 0000000000000000000000000000000000000000..a9f267c24cff4c3d2b8084cdc19684cfc8b0ec0b --- /dev/null +++ b/LifeSciences/GATK-4.0.0.0/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%/*} +[[ "$buildpath" == "$installpath" ]] && echo "构建路径与安装路径需为不同路径" && exit 1 +set -e +yum install -y wget tar environment-modules libatomic + +wget -t 10 -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/bisheng-jdk1.8.0_322/jdk_modulefiles<"$installpath/blat-35.1/blat_modulefiles"<"$installpath/bwa-0.7.17/bwa_modulefiles"</dev/null && pwd) +cp $src_path/src/avx_extra.h $buildpath/GKL-0.8.10/src/main/native/pairhmm +cp $src_path/src/smith_avxextra.h $buildpath/GKL-0.8.10/src/main/native/smithwaterman + +cd "$buildpath" + +sed -i "7ainclude_directories($buildpath/AvxToNeon-1.0.0)" GKL-0.8.10/CMakeLists.txt + +sed -i "s/#include /\/\/&/" GKL-0.8.10/src/main/native/common/avx.h +sed -i "s/#include /\/\/&/" GKL-0.8.10/src/main/native/common/avx.h +sed -i "32a\ #include \"avx2neon.h\"" GKL-0.8.10/src/main/native/common/avx.h +sed -i "42c\/*\ uint32_t xcr0;" GKL-0.8.10/src/main/native/common/avx.h +sed -i "48a*\/" GKL-0.8.10/src/main/native/common/avx.h +sed -i "49a\ return false;" GKL-0.8.10/src/main/native/common/avx.h +sed -i "57c\/\/ uint32_t xcr0;" GKL-0.8.10/src/main/native/common/avx.h +sed -i "58c\/\/ uint32_t zmm_ymm_xmm = (7 << 5) | (1 << 2) | (1 << 1);" GKL-0.8.10/src/main/native/common/avx.h +sed -i "59c\/\/#if defined(_MSC_VER)" GKL-0.8.10/src/main/native/common/avx.h +sed -i "61c\/\/ xcr0 = (uint32_t)_xgetbv(0);" GKL-0.8.10/src/main/native/common/avx.h +sed -i "62c\/\/#else" GKL-0.8.10/src/main/native/common/avx.h +sed -i "63c\/\/ __asm__ (\"xgetbv\" : \"=a\" (xcr0) : \"c\" (0) : \"%edx\");" GKL-0.8.10/src/main/native/common/avx.h +sed -i "64c\/\/#endif" GKL-0.8.10/src/main/native/common/avx.h +sed -i "66c\/\/ return ((xcr0 & zmm_ymm_xmm) == zmm_ymm_xmm);" GKL-0.8.10/src/main/native/common/avx.h +sed -i "66a\ return false;" GKL-0.8.10/src/main/native/common/avx.h +sed -i "76c\/*\ uint32_t a, b, c, d;" GKL-0.8.10/src/main/native/common/avx.h +sed -i "90a*\/" GKL-0.8.10/src/main/native/common/avx.h +sed -i "91a\ return true;" GKL-0.8.10/src/main/native/common/avx.h +sed -i "101c\/*\ uint32_t a, b, c, d;" GKL-0.8.10/src/main/native/common/avx.h +sed -i "126c*\/" GKL-0.8.10/src/main/native/common/avx.h +sed -i "135a\/*" GKL-0.8.10/src/main/native/common/avx.h +sed -i "168a*\/" GKL-0.8.10/src/main/native/common/avx.h +sed -i "169a\ return true;" GKL-0.8.10/src/main/native/common/avx.h + +sed -i "s/# include /\/\/&/" GKL-0.8.10/src/main/native/compression/isa-l-master/igzip/encode_df.c +sed -i "11a# include \"avx2neon.h\"" GKL-0.8.10/src/main/native/compression/isa-l-master/igzip/encode_df.c + +sed -i "s/# include /\/\/&/" GKL-0.8.10/src/main/native/compression/isa-l-master/igzip/huff_codes.h +sed -i "40a# include \"avx2neon.h\"" GKL-0.8.10/src/main/native/compression/isa-l-master/igzip/huff_codes.h +sed -i "s/# include /\/\/&/" GKL-0.8.10/src/main/native/compression/isa-l-master/igzip/huff_codes.h +sed -i "45a# include \"avx2neon.h\"" GKL-0.8.10/src/main/native/compression/isa-l-master/igzip/huff_codes.h + +sed -i "s/# include /\/\/&/" GKL-0.8.10/src/main/native/compression/isa-l-master/igzip/huffman.h +sed -i "41a# include \"avx2neon.h\"" GKL-0.8.10/src/main/native/compression/isa-l-master/igzip/huffman.h + +sed -i "26a# include \"avx_extra.h\"" GKL-0.8.10/src/main/native/pairhmm/avx-types.h + +sed -i "s/set_property/#&/g" GKL-0.8.10/src/main/native/pairhmm/CMakeLists.txt + +sed -i "93c\ \/\/if (_MM_GET_FLUSH_ZERO_MODE() != _MM_FLUSH_ZERO_ON) {" GKL-0.8.10/src/main/native/pairhmm/IntelPairHmm.cc +sed -i "94c\ \/\/ DBG(\"Flush-to-zero (FTZ) is enabled when running PairHMM\");" GKL-0.8.10/src/main/native/pairhmm/IntelPairHmm.cc +sed -i "95c\ \/\/}" GKL-0.8.10/src/main/native/pairhmm/IntelPairHmm.cc +sed -i "96c\ \/\/_MM_SET_FLUSH_ZERO_MODE(_MM_FLUSH_ZERO_ON);" GKL-0.8.10/src/main/native/pairhmm/IntelPairHmm.cc + +sed -i "s/#include /\/\/&/" GKL-0.8.10/src/main/native/pairhmm/pairhmm_common.h +sed -i "30a\ #include \"avx2neon.h\"" GKL-0.8.10/src/main/native/pairhmm/pairhmm_common.h + +sed -i "45c#include \"smith_avxextra.h\"" GKL-0.8.10/src/main/native/smithwaterman/avx2-functions.h +sed -i "98c\ (__m256i)rev_interpret(_mm256_blendv_ps(interpret(__v1), (__m256)interpret(__v2), (__m256)interpret(__mask)))" GKL-0.8.10/src/main/native/smithwaterman/avx2-functions.h + +sed -i "s/set_property/#&/g" GKL-0.8.10/src/main/native/smithwaterman/CMakeLists.txt +sed -i "7aset_property(SOURCE avx2_impl.cc APPEND_STRING PROPERTY COMPILE_FLAGS \" -march=armv8-a+fp+simd+crc \")" GKL-0.8.10/src/main/native/smithwaterman/CMakeLists.txt +sed -i "9aset_property(SOURCE avx512_impl.cc APPEND_STRING PROPERTY COMPILE_FLAGS \" -march=armv8-a+fp+simd+crc \")" GKL-0.8.10/src/main/native/smithwaterman/CMakeLists.txt + +sed -i "s/#include /\/\/&/" GKL-0.8.10/src/main/native/smithwaterman/IntelSmithWaterman.cc +sed -i "34a#include \"avx2neon.h\"" GKL-0.8.10/src/main/native/smithwaterman/IntelSmithWaterman.cc + +sed -i "25a#include \"smith_avxextra.h\"" GKL-0.8.10/src/main/native/smithwaterman/PairWiseSW.h + +sed -i "s/#include /\/\/&/" GKL-0.8.10/src/main/native/smithwaterman/smithwaterman_common.h +sed -i "30a\ #include \"avx2neon.h\"" GKL-0.8.10/src/main/native/smithwaterman/smithwaterman_common.h +sed -i "s/#include /\/\/&/" GKL-0.8.10/src/main/native/smithwaterman/smithwaterman_common.h +sed -i "38a#include \"avx2neon.h\"" GKL-0.8.10/src/main/native/smithwaterman/smithwaterman_common.h + +sed -i "s/#include /\/\/&/" GKL-0.8.10/src/main/native/utils/utils.cc +sed -i "27a\ #include \"avx2neon.h\"" GKL-0.8.10/src/main/native/utils/utils.cc +sed -i "46s/value = /&0;\/\//" GKL-0.8.10/src/main/native/utils/utils.cc +sed -i "58,65s/^/\/\//" GKL-0.8.10/src/main/native/utils/utils.cc +sed -i "76s/^/\/\//" GKL-0.8.10/src/main/native/utils/utils.cc +sed -i "76a\ return 1;" GKL-0.8.10/src/main/native/utils/utils.cc +sed -i "88s/^/\/\//" GKL-0.8.10/src/main/native/utils/utils.cc +sed -i "88a\ return 1;" GKL-0.8.10/src/main/native/utils/utils.cc +sed -i "100s/^/\/\//" GKL-0.8.10/src/main/native/utils/utils.cc +sed -i "100a\ return 1;" GKL-0.8.10/src/main/native/utils/utils.cc + +sed -i "120s/^/\/\//" GKL-0.8.10/build.gradle + +cd GKL-0.8.10 +gkl_build=`./gradlew test` + +mkdir -p "$installpath"/gkl-0.8.10 +cp -a ./* "$installpath"/gkl-0.8.10 + +rm -rf "$buildpath"/GKL-0.8.10 +rm -rf "$buildpath"/AvxToNeon-1.0.0 \ No newline at end of file diff --git a/LifeSciences/GATK-4.0.0.0/dependency/src/avx_extra.h b/LifeSciences/GATK-4.0.0.0/dependency/src/avx_extra.h new file mode 100644 index 0000000000000000000000000000000000000000..a94142b0b639b2009295e4150d2f8050385d3591 --- /dev/null +++ b/LifeSciences/GATK-4.0.0.0/dependency/src/avx_extra.h @@ -0,0 +1,279 @@ +#ifndef AVX_EXTRA_H +#define AVX_EXTRA_H + +typedef unsigned long long __m64; + +FORCE_INLINE __m128i _mm_slli_epi32(__m128i a, int imm8) +{ + __m128i result; + if (likely(imm8 >= 0 && imm8 < 32)) { + result.vect_s32 = vshlq_n_s32(a.vect_s32, imm8); + } else { + result.vect_s32 = vdupq_n_s32(0); + } + return result; +} + +FORCE_INLINE __m128 _mm_set1_ps (float a) +{ + __m128 res; + res = vdupq_n_f32(a); + return res; +} + +FORCE_INLINE __m128i _mm_set1_epi8(char w) +{ + __m128i res; + res.vect_s8 = vdupq_n_s8(w); + return res; +} + +FORCE_INLINE __m128i _mm_slli_epi64 (__m128i a, int imm8) +{ + __m128i res; + if (likely(imm8 >= 0 && imm8 < 64)){ + res.vect_s64 = vshlq_n_s64(a.vect_s64, imm8); + } else { + res.vect_s64 = vdupq_n_s64(0); + } + return res; +} + +FORCE_INLINE __m128i _mm_srli_epi64 (__m128i a, int imm8) +{ + __m128i res; + if (likely(imm8 >= 0 && imm8 < 64)) { + int64x2_t vect_imm = vdupq_n_s64(-imm8); + res.vect_u64 = vshlq_u64(a.vect_u64, vect_imm); + } else { + res.vect_u64 = vdupq_n_u64(0); + } + return res; +} + +FORCE_INLINE __m128i _mm_set1_epi32(int _i) +{ + __m128i res; + res.vect_s32 = vdupq_n_s32(_i); + return res; +} + +FORCE_INLINE __m128i _mm_cmpeq_epi32(__m128i a, __m128i b) +{ + __m128i res; + res.vect_u32 = vceqq_s32(a.vect_s32, b.vect_s32); + return res; +} + +FORCE_INLINE __m128i _mm_cvtsi32_si128(int a) +{ + __m128i res; + res.vect_s32 = vsetq_lane_s32(a, vdupq_n_s32(0), 0); + return res; +} + +FORCE_INLINE __m128i _mm_xor_si128(__m128i a, __m128i b) +{ + __m128i res; + res.vect_s32 = veorq_s32(a.vect_s32, b.vect_s32); + return res; +} + +FORCE_INLINE void _mm_storeu_si128(__m128i *p, __m128i a) +{ + vst1q_s32((int32_t*) p, a.vect_s32); +} + +FORCE_INLINE __m128i _mm_loadu_si128(const __m128i *p) +{ + __m128i res; + res.vect_s32 = vld1q_s32((int32_t *)p); + return res; +} + +FORCE_INLINE __m128i _mm_andnot_si128(__m128i a, __m128i b) +{ + __m128i res; + res.vect_s32 = vbicq_s32(b.vect_s32, a.vect_s32); + return res; +} + +FORCE_INLINE __m128i _mm_packs_epi16(__m128i a, __m128i b) +{ + __m128i res; + res.vect_s8 = vcombine_s8(vqmovn_s16(a.vect_s16), vqmovn_s16(b.vect_s16)); + return res; +} + +FORCE_INLINE __m128i _mm_packs_epi32(__m128i a, __m128i b) +{ + __m128i res; + res.vect_s16 = vcombine_s16(vqmovn_s32(a.vect_s32), vqmovn_s32(b.vect_s32)); + return res; +} + +FORCE_INLINE int _mm_movemask_ps(__m128 a) +{ + static const uint32x4_t movemask = { 1, 2, 4, 8 }; + static const uint32x4_t highbit = { 0x80000000, 0x80000000, 0x80000000, 0x80000000 }; + uint32x4_t t0 = vreinterpretq_u32_f32(a); + uint32x4_t t1 = vtstq_u32(t0, highbit); + uint32x4_t t2 = vandq_u32(t1, movemask); + uint32x2_t t3 = vorr_u32(vget_low_u32(t2), vget_high_u32(t2)); + return vget_lane_u32(t3, 0) | vget_lane_u32(t3,1); +} + +FORCE_INLINE int _mm_movemask_epi8(__m128i _a) +{ + static const int8_t __attribute__((aligned(16))) xr[8] = { -7, -6, -5, -4, -3, -2, -1, 0 }; + uint8x8_t mask_and = vdup_n_u8(0x80); + int8x8_t mask_shift = vld1_s8(xr); + + uint8x8_t lo = vget_low_u8(_a.vect_u8); + uint8x8_t hi = vget_high_u8(_a.vect_u8); + + lo = vand_u8(lo, mask_and); + lo = vshl_u8(lo, mask_shift); + + hi = vand_u8(hi, mask_and); + hi = vshl_u8(hi, mask_shift); + + lo = vpadd_u8(lo, lo); + lo = vpadd_u8(lo, lo); + lo = vpadd_u8(lo, lo); + + hi = vpadd_u8(hi, hi); + hi = vpadd_u8(hi, hi); + hi = vpadd_u8(hi, hi); + + return ((hi[0] << 8) | (lo[0] & 0xFF)); +} + +FORCE_INLINE __m128i _mm_sub_epi8(__m128i a, __m128i b) +{ + __m128i res; + res.vect_s8 = vsubq_s8(a.vect_s8, b.vect_s8); + return res; +} + +FORCE_INLINE __m128i _mm_and_si128(__m128i a, __m128i b) +{ + __m128i res; + res.vect_s32 = vandq_s32(a.vect_s32, b.vect_s32); + return res; +} + +FORCE_INLINE __m128i _mm_cmpeq_epi8 (__m128i a, __m128i b) +{ + __m128i res; + res.vect_u8 = vceqq_s8(a.vect_s8, b.vect_s8); + return res; +} + +FORCE_INLINE __m128i _mm_setzero_si128() +{ + __m128i res; + res.vect_s32 = vdupq_n_s32(0); + return res; +} + +FORCE_INLINE __m128 _mm_castsi128_ps(__m128i a) +{ + __m128 res; + res = vreinterpretq_f32_s32(a.vect_s32); + return res; +} + +FORCE_INLINE __m128i _mm_or_si128(__m128i a, __m128i b) +{ + __m128i res; + res.vect_s32 = vorrq_s32(a.vect_s32, b.vect_s32); + return res; +} + +FORCE_INLINE __m128i _mm_load_si128(const __m128i *p) +{ + __m128i res; + res.vect_s32 = vld1q_s32((int32_t *)p); + return res; +} + +FORCE_INLINE __m128i _mm_shuffle_epi8(__m128i a, __m128i b) +{ + __m128i res; + uint8_t __attribute__((aligned(16))) + mask[16] = {0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, + 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F, 0x8F}; + uint8x16_t idx_masked = vandq_u8(b.vect_u8, vld1q_u8(mask)); + + res.vect_u8 = vqtbl1q_u8(a.vect_u8, idx_masked); + return res; +} + +FORCE_INLINE __m128i _mm_max_epu8(__m128i a, __m128i b) +{ + __m128i res; + res.vect_u8 = vmaxq_u8(a.vect_u8, b.vect_u8); + return res; +} + +FORCE_INLINE __m128i _mm_min_epu8(__m128i a, __m128i b) +{ + __m128i res; + res.vect_u8 = vminq_u8(a.vect_u8, b.vect_u8); + return res; +} + +FORCE_INLINE __m128i _mm_adds_epu8(__m128i a, __m128i b) +{ + __m128i res; + res.vect_u8 = vqaddq_u8(a.vect_u8, b.vect_u8); + return res; +} + +FORCE_INLINE __m512i _mm512_setzero_si512 () +{ + __m512i res; + res.vect_s32[0] = vdupq_n_s32(0); + res.vect_s32[1] = vdupq_n_s32(0); + res.vect_s32[2] = vdupq_n_s32(0); + res.vect_s32[3] = vdupq_n_s32(0); + return res; +} + +FORCE_INLINE __m128i _mm_srli_si128 (__m128i a, int imm8) +{ + __m128i res; + if ((imm8) <= 0) { + res = a; + } + else if ((imm8) > 15) { + res = _mm_setzero_si128(); + } + else { + res.vect_s8 = vextq_s8(a.vect_s8, vdupq_n_s8(0), (imm8)); + } + return res; +} + +FORCE_INLINE __m128i _mm_slli_si128 (__m128i a, int imm8) +{ + __m128i res; + if ((imm8) <= 0) { + res = a; + } + else if ((imm8) > 15) { + res = _mm_setzero_si128(); + } + else { + res.vect_s8 = vextq_s8(vdupq_n_s8(0), a.vect_s8, 16 - (imm8)); + } + return res; +} + +FORCE_INLINE int _mm_cvtsi128_si32(__m128i a) +{ + return vgetq_lane_s32(a.vect_s32, 0); +} + +#endif \ No newline at end of file diff --git a/LifeSciences/GATK-4.0.0.0/dependency/src/gkl_change.sh b/LifeSciences/GATK-4.0.0.0/dependency/src/gkl_change.sh new file mode 100644 index 0000000000000000000000000000000000000000..ce8f189f6101cd2d9be622b9b852f64e0fb5b50a --- /dev/null +++ b/LifeSciences/GATK-4.0.0.0/dependency/src/gkl_change.sh @@ -0,0 +1,65 @@ +#!/bin/bash +basepath=$(cd $(dirname ${BASH_SOURCE[0]}) >/dev/null && pwd) +sed -i "7ainclude_directories(/usr/local/gatk/gkl-0.8.10/AvxToNeon-1.0.0)" $basepath/GKL-0.8.10/CMakeLists.txt +sed -i "s/#include /\/\/&/" $basepath/GKL-0.8.10/src/main/native/common/avx.h +sed -i "s/#include /\/\/&/" $basepath/GKL-0.8.10/src/main/native/common/avx.h +sed -i "32a\ #include \"avx2neon.h\"" $basepath/GKL-0.8.10/src/main/native/common/avx.h +sed -i "42c\/*\ uint32_t xcr0;" $basepath/GKL-0.8.10/src/main/native/common/avx.h +sed -i "48a*\/" $basepath/GKL-0.8.10/src/main/native/common/avx.h +sed -i "49a\ return false;" $basepath/GKL-0.8.10/src/main/native/common/avx.h +sed -i "57c\/\/ uint32_t xcr0;" $basepath/GKL-0.8.10/src/main/native/common/avx.h +sed -i "58c\/\/ uint32_t zmm_ymm_xmm = (7 << 5) | (1 << 2) | (1 << 1);" $basepath/GKL-0.8.10/src/main/native/common/avx.h +sed -i "59c\/\/#if defined(_MSC_VER)" $basepath/GKL-0.8.10/src/main/native/common/avx.h +sed -i "61c\/\/ xcr0 = (uint32_t)_xgetbv(0);" $basepath/GKL-0.8.10/src/main/native/common/avx.h +sed -i "62c\/\/#else" $basepath/GKL-0.8.10/src/main/native/common/avx.h +sed -i "63c\/\/ __asm__ (\"xgetbv\" : \"=a\" (xcr0) : \"c\" (0) : \"%edx\");" $basepath/GKL-0.8.10/src/main/native/common/avx.h +sed -i "64c\/\/#endif" $basepath/GKL-0.8.10/src/main/native/common/avx.h +sed -i "66c\/\/ return ((xcr0 & zmm_ymm_xmm) == zmm_ymm_xmm);" $basepath/GKL-0.8.10/src/main/native/common/avx.h +sed -i "66a\ return false;" $basepath/GKL-0.8.10/src/main/native/common/avx.h +sed -i "76c\/*\ uint32_t a, b, c, d;" $basepath/GKL-0.8.10/src/main/native/common/avx.h +sed -i "90a*\/" $basepath/GKL-0.8.10/src/main/native/common/avx.h +sed -i "91a\ return true;" $basepath/GKL-0.8.10/src/main/native/common/avx.h +sed -i "101c\/*\ uint32_t a, b, c, d;" $basepath/GKL-0.8.10/src/main/native/common/avx.h +sed -i "126c*\/" $basepath/GKL-0.8.10/src/main/native/common/avx.h +sed -i "135a\/*" $basepath/GKL-0.8.10/src/main/native/common/avx.h +sed -i "168a*\/" $basepath/GKL-0.8.10/src/main/native/common/avx.h +sed -i "169a\ return true;" $basepath/GKL-0.8.10/src/main/native/common/avx.h +sed -i "s/# include /\/\/&/" $basepath/GKL-0.8.10/src/main/native/compression/isa-l-master/igzip/encode_df.c +sed -i "11a# include \"avx2neon.h\"" $basepath/GKL-0.8.10/src/main/native/compression/isa-l-master/igzip/encode_df.c +sed -i "s/# include /\/\/&/" $basepath/GKL-0.8.10/src/main/native/compression/isa-l-master/igzip/huff_codes.h +sed -i "40a# include \"avx2neon.h\"" $basepath/GKL-0.8.10/src/main/native/compression/isa-l-master/igzip/huff_codes.h +sed -i "s/# include /\/\/&/" $basepath/GKL-0.8.10/src/main/native/compression/isa-l-master/igzip/huff_codes.h +sed -i "45a# include \"avx2neon.h\"" $basepath/GKL-0.8.10/src/main/native/compression/isa-l-master/igzip/huff_codes.h +sed -i "s/# include /\/\/&/" $basepath/GKL-0.8.10/src/main/native/compression/isa-l-master/igzip/huffman.h +sed -i "41a# include \"avx2neon.h\"" $basepath/GKL-0.8.10/src/main/native/compression/isa-l-master/igzip/huffman.h +sed -i "26a# include \"avx_extra.h\"" $basepath/GKL-0.8.10/src/main/native/pairhmm/avx-types.h +sed -i "s/set_property/#&/g" $basepath/GKL-0.8.10/src/main/native/pairhmm/CMakeLists.txt +sed -i "93c\ \/\/if (_MM_GET_FLUSH_ZERO_MODE() != _MM_FLUSH_ZERO_ON) {" $basepath/GKL-0.8.10/src/main/native/pairhmm/IntelPairHmm.cc +sed -i "94c\ \/\/ DBG(\"Flush-to-zero (FTZ) is enabled when running PairHMM\");" $basepath/GKL-0.8.10/src/main/native/pairhmm/IntelPairHmm.cc +sed -i "95c\ \/\/}" $basepath/GKL-0.8.10/src/main/native/pairhmm/IntelPairHmm.cc +sed -i "96c\ \/\/_MM_SET_FLUSH_ZERO_MODE(_MM_FLUSH_ZERO_ON);" $basepath/GKL-0.8.10/src/main/native/pairhmm/IntelPairHmm.cc +sed -i "s/#include /\/\/&/" $basepath/GKL-0.8.10/src/main/native/pairhmm/pairhmm_common.h +sed -i "30a\ #include \"avx2neon.h\"" $basepath/GKL-0.8.10/src/main/native/pairhmm/pairhmm_common.h +sed -i "45c#include \"smith_avxextra.h\"" $basepath/GKL-0.8.10/src/main/native/smithwaterman/avx2-functions.h +sed -i "98c\ (__m256i)rev_interpret(_mm256_blendv_ps(interpret(__v1), (__m256)interpret(__v2), (__m256)interpret(__mask)))" $basepath/GKL-0.8.10/src/main/native/smithwaterman/avx2-functions.h +sed -i "s/set_property/#&/g" $basepath/GKL-0.8.10/src/main/native/smithwaterman/CMakeLists.txt +sed -i "7aset_property(SOURCE avx2_impl.cc APPEND_STRING PROPERTY COMPILE_FLAGS \" -march=armv8-a+fp+simd+crc \")" $basepath/GKL-0.8.10/src/main/native/smithwaterman/CMakeLists.txt +sed -i "9aset_property(SOURCE avx512_impl.cc APPEND_STRING PROPERTY COMPILE_FLAGS \" -march=armv8-a+fp+simd+crc \")" $basepath/GKL-0.8.10/src/main/native/smithwaterman/CMakeLists.txt +sed -i "s/#include /\/\/&/" $basepath/GKL-0.8.10/src/main/native/smithwaterman/IntelSmithWaterman.cc +sed -i "34a#include \"avx2neon.h\"" $basepath/GKL-0.8.10/src/main/native/smithwaterman/IntelSmithWaterman.cc +sed -i "25a#include \"smith_avxextra.h\"" $basepath/GKL-0.8.10/src/main/native/smithwaterman/PairWiseSW.h +sed -i "s/#include /\/\/&/" $basepath/GKL-0.8.10/src/main/native/smithwaterman/smithwaterman_common.h +sed -i "30a\ #include \"avx2neon.h\"" $basepath/GKL-0.8.10/src/main/native/smithwaterman/smithwaterman_common.h +sed -i "s/#include /\/\/&/" $basepath/GKL-0.8.10/src/main/native/smithwaterman/smithwaterman_common.h +sed -i "38a#include \"avx2neon.h\"" $basepath/GKL-0.8.10/src/main/native/smithwaterman/smithwaterman_common.h +sed -i "s/#include /\/\/&/" $basepath/GKL-0.8.10/src/main/native/utils/utils.cc +sed -i "27a\ #include \"avx2neon.h\"" $basepath/GKL-0.8.10/src/main/native/utils/utils.cc +sed -i "46s/value = /&0;\/\//" $basepath/GKL-0.8.10/src/main/native/utils/utils.cc +sed -i "58,65s/^/\/\//" $basepath/GKL-0.8.10/src/main/native/utils/utils.cc +sed -i "76s/^/\/\//" $basepath/GKL-0.8.10/src/main/native/utils/utils.cc +sed -i "76a\ return 1;" $basepath/GKL-0.8.10/src/main/native/utils/utils.cc +sed -i "88s/^/\/\//" $basepath/GKL-0.8.10/src/main/native/utils/utils.cc +sed -i "88a\ return 1;" $basepath/GKL-0.8.10/src/main/native/utils/utils.cc +sed -i "100s/^/\/\//" $basepath/GKL-0.8.10/src/main/native/utils/utils.cc +sed -i "100a\ return 1;" $basepath/GKL-0.8.10/src/main/native/utils/utils.cc +sed -i "120s/^/\/\//" $basepath/GKL-0.8.10/build.gradle diff --git a/LifeSciences/GATK-4.0.0.0/dependency/src/smith_avxextra.h b/LifeSciences/GATK-4.0.0.0/dependency/src/smith_avxextra.h new file mode 100644 index 0000000000000000000000000000000000000000..cac37ecd21f5d8c45896f57b6b6e621f7fe64c3e --- /dev/null +++ b/LifeSciences/GATK-4.0.0.0/dependency/src/smith_avxextra.h @@ -0,0 +1,225 @@ +#ifndef SMITH_AVXEXTRA_H +#define SMITH_AVXEXTRA_H + +FORCE_INLINE __m256i _mm256_max_epi32 (__m256i a, __m256i b) +{ + __m256i res; + res.vect_s32[0] = vmaxq_s32(a.vect_s32[0], b.vect_s32[0]); + res.vect_s32[1] = vmaxq_s32(a.vect_s32[1], b.vect_s32[1]); + return res; +} + +FORCE_INLINE __m256i _mm256_cmpgt_epi32 (__m256i a, __m256i b) +{ + __m256i res; + res.vect_u32[0] = vcgtq_s32(a.vect_s32[0], b.vect_s32[0]); + res.vect_u32[1] = vcgtq_s32(a.vect_s32[1], b.vect_s32[1]); + return res; +} + +FORCE_INLINE void _mm256_stream_si256 (__m256i * mem_addr, __m256i a) +{ + *mem_addr = a; + return; +} + +FORCE_INLINE __m256i _mm256_packs_epi32(__m256i a, __m256i b) +{ + __m256i res; + res.vect_s16[0] = vcombine_s16(vqmovn_s32(a.vect_s32[0]), vqmovn_s32(b.vect_s32[0])); + res.vect_s16[1] = vcombine_s16(vqmovn_s32(a.vect_s32[1]), vqmovn_s32(b.vect_s32[1])); + return res; +} + +FORCE_INLINE __m256i _mm256_permute2f128_si256 (__m256i a, __m256i b, int imm8) +{ + __m256i res; + int bit_0 = imm8 & 0x1, bit_1 = imm8 & 0x2, bit_3 = imm8 & 0x8; + if (bit_1 == 0) { + res.vect_s32[0] = ((bit_0 == 0) ? a.vect_s32[0] : a.vect_s32[1]); + } else { + res.vect_s32[0] = ((bit_0 == 0) ? b.vect_s32[0] : b.vect_s32[1]); + } + if (bit_3) { + res.vect_s32[0] = vdupq_n_s32(0); + } + bit_0 = imm8 & 0x10, bit_1 = imm8 & 0x20, bit_3 = imm8 & 0x80; + if (bit_1 == 0) { + res.vect_s32[1] = ((bit_0 == 0) ? a.vect_s32[0] : a.vect_s32[1]); + } else { + res.vect_s32[1] = ((bit_0 == 0) ? b.vect_s32[0] : b.vect_s32[1]); + } + if (bit_3) { + res.vect_s32[1] = vdupq_n_s32(0); + } + return res; +} + +FORCE_INLINE void* _mm_malloc (size_t size, size_t align) +{ + void *ptr; + if (align == 1) + return malloc (size); + if (align == 2 || (sizeof (void *) == 8 && align == 4)) + align = sizeof (void *); + if (posix_memalign (&ptr, align, size) == 0) + return ptr; + else + return NULL; +} + +FORCE_INLINE __m512i _mm512_mask_blend_epi32 (__mmask16 k, __m512i a, __m512i b) +{ + __m512i res; + uint32x4_t vect_mask = vld1q_u32(g_mask_epi32); + uint32x4_t vect_imm = vdupq_n_u32(k); + uint32x4_t flag[4]; + flag[0] = vtstq_u32(vect_imm, vect_mask); + flag[1] = vtstq_u32(vshrq_n_u32(vect_imm, 4), vect_mask); + flag[2] = vtstq_u32(vshrq_n_u32(vect_imm, 8), vect_mask); + flag[3] = vtstq_u32(vshrq_n_u32(vect_imm, 12), vect_mask); + res.vect_s32[0] = vbslq_s32(flag[0], b.vect_s32[0], a.vect_s32[0]); + res.vect_s32[1] = vbslq_s32(flag[1], b.vect_s32[1], a.vect_s32[1]); + res.vect_s32[2] = vbslq_s32(flag[2], b.vect_s32[2], a.vect_s32[2]); + res.vect_s32[3] = vbslq_s32(flag[3], b.vect_s32[3], a.vect_s32[3]); + return res; +} + +FORCE_INLINE __m256 interpret(__m256i a) +{ + __m256 res; + res.vect_f32[0] = vreinterpretq_f32_s32(a.vect_s32[0]); + res.vect_f32[1] = vreinterpretq_f32_s32(a.vect_s32[1]); + return res; +} + +FORCE_INLINE __m256i rev_interpret(__m256 a) +{ + __m256i res; + res.vect_s32[0] = vreinterpretq_s32_f32(a.vect_f32[0]); + res.vect_s32[1] = vreinterpretq_s32_f32(a.vect_f32[1]); + return res; +} +/* +FORCE_INLINE __m512 interpret512(__m512i a) +{ + __m512 res; + res.vect_f32[0] = vreinterpretq_f32_s32(a.vect_s32[0]); + res.vect_f32[1] = vreinterpretq_f32_s32(a.vect_s32[1]); + res.vect_f32[2] = vreinterpretq_f32_s32(a.vect_s32[2]); + res.vect_f32[3] = vreinterpretq_f32_s32(a.vect_s32[3]); + return res; +} + +FORCE_INLINE __m512i rev_interpret512(__m512 a) +{ + __m512i res; + res.vect_s32[0] = vreinterpretq_s32_f32(a.vect_f32[0]); + res.vect_s32[1] = vreinterpretq_s32_f32(a.vect_f32[1]); + res.vect_s32[2] = vreinterpretq_s32_f32(a.vect_f32[2]); + res.vect_s32[3] = vreinterpretq_s32_f32(a.vect_f32[3]); + return res; +} +*/ + +FORCE_INLINE __m512i _mm512_setzero_si512 () +{ + __m512i res; + res.vect_s32[0] = vdupq_n_s32(0); + res.vect_s32[1] = res.vect_s32[0]; + res.vect_s32[2] = res.vect_s32[0]; + res.vect_s32[3] = res.vect_s32[0]; + return res; +} + +FORCE_INLINE __m512i _mm512_max_epi32 (__m512i a, __m512i b) +{ + __m512i res; + res.vect_s32[0] = vmaxq_s32(a.vect_s32[0], b.vect_s32[0]); + res.vect_s32[1] = vmaxq_s32(a.vect_s32[1], b.vect_s32[1]); + res.vect_s32[2] = vmaxq_s32(a.vect_s32[2], b.vect_s32[2]); + res.vect_s32[3] = vmaxq_s32(a.vect_s32[3], b.vect_s32[3]); + return res; +} + +FORCE_INLINE __mmask16 _mm512_cmpgt_epi32_mask (__m512i a, __m512i b) +{ + __mmask16 sign; + __mmask16 *k = &sign; + __m512i res; + res.vect_u32[0] = vcgtq_s32(a.vect_s32[0], b.vect_s32[0]); + res.vect_u32[1] = vcgtq_s32(a.vect_s32[1], b.vect_s32[1]); + res.vect_u32[2] = vcgtq_s32(a.vect_s32[2], b.vect_s32[2]); + res.vect_u32[3] = vcgtq_s32(a.vect_s32[3], b.vect_s32[3]); + PICK_HB_32x16(res, k); + return sign; +} + +FORCE_INLINE void _mm512_storeu_si512 (void* mem_addr, __m512i a) +{ + vst1q_s64((int64_t*)mem_addr, a.vect_s64[0]); + vst1q_s64((int64_t*)mem_addr + 2, a.vect_s64[1]); + vst1q_s64((int64_t*)mem_addr + 4, a.vect_s64[2]); + vst1q_s64((int64_t*)mem_addr + 6, a.vect_s64[3]); +} + +FORCE_INLINE void _mm512_stream_si512 (void* mem_addr, __m512i a) +{ + vst1q_s64((int64_t*)mem_addr, a.vect_s64[0]); + vst1q_s64((int64_t*)mem_addr + 2, a.vect_s64[1]); + vst1q_s64((int64_t*)mem_addr + 4, a.vect_s64[2]); + vst1q_s64((int64_t*)mem_addr + 6, a.vect_s64[3]); +} + +FORCE_INLINE __m512i _mm512_movm_epi32 (__mmask16 k) +{ + __m512i res; + unsigned int mk = k; + uint32x4_t mask_and = vld1q_u32(g_mask_epi32); + res.vect_u32[0] = vtstq_u32(vdupq_n_u32(mk), mask_and); + res.vect_u32[1] = vtstq_u32(vdupq_n_u32(mk >> 4), mask_and); + res.vect_u32[2] = vtstq_u32(vdupq_n_u32(mk >> 8), mask_and); + res.vect_u32[3] = vtstq_u32(vdupq_n_u32(mk >> 12), mask_and); + return res; +} + +FORCE_INLINE __m512i _mm512_packs_epi32 (__m512i a, __m512i b) +{ + __m512i res; + res.vect_s16[0] = vcombine_s16(vqmovn_s32(a.vect_s32[0]), vqmovn_s32(b.vect_s32[0])); + res.vect_s16[1] = vcombine_s16(vqmovn_s32(a.vect_s32[1]), vqmovn_s32(b.vect_s32[1])); + res.vect_s16[2] = vcombine_s16(vqmovn_s32(a.vect_s32[2]), vqmovn_s32(b.vect_s32[2])); + res.vect_s16[3] = vcombine_s16(vqmovn_s32(a.vect_s32[3]), vqmovn_s32(b.vect_s32[3])); + return res; +} + +FORCE_INLINE __m512i _mm512_permutex2var_epi32 (__m512i a, __m512i idx, __m512i b) +{ + __m512i res; + int ptr_a[16], ptr_b[16], ptr_i[16], ptr_r[16]; + _mm256_convert_to_int32(ptr_a, a.vect_i256[0]); + _mm256_convert_to_int32(ptr_a + 8, a.vect_i256[1]); + _mm256_convert_to_int32(ptr_b, b.vect_i256[0]); + _mm256_convert_to_int32(ptr_b + 8, b.vect_i256[1]); + _mm256_convert_to_int32(ptr_i, idx.vect_i256[0]); + _mm256_convert_to_int32(ptr_i + 8, idx.vect_i256[1]); + _mm256_convert_to_int32(ptr_r, res.vect_i256[0]); + _mm256_convert_to_int32(ptr_r + 8, res.vect_i256[1]); + int i; + for (i = 0; i < 16; ++i) { + int id = ptr_i[i] & 0x0f; + ptr_r[i] = ((ptr_i[i] & 0x10)) ? ptr_b[id] : ptr_a[id]; + } + res.vect_s32[0] = vld1q_s32(ptr_r); + res.vect_s32[1] = vld1q_s32(ptr_r + 4); + res.vect_s32[2] = vld1q_s32(ptr_r + 8); + res.vect_s32[3] = vld1q_s32(ptr_r + 12); + return res; +} + +FORCE_INLINE void _mm_free(void* ptr) +{ + free(ptr); +} + +#endif \ No newline at end of file diff --git "a/LifeSciences/GATK-4.0.0.0/doc/Devkit\346\212\245\345\221\212/GATK-install-kunpeng.html" "b/LifeSciences/GATK-4.0.0.0/doc/Devkit\346\212\245\345\221\212/GATK-install-kunpeng.html" new file mode 100644 index 0000000000000000000000000000000000000000..ed7d2353ba785e8d4b83931f639a27339c0beaac --- /dev/null +++ "b/LifeSciences/GATK-4.0.0.0/doc/Devkit\346\212\245\345\221\212/GATK-install-kunpeng.html" @@ -0,0 +1,4272 @@ + + + + + + + + Document + + + +
+

+ 2022/08/18 21:52:05

+
+ +

+ 配置信息

+
+
+ 软件安装包存放路径或软件包名称 + /opt/portadv/portadmin/package/gatk-4.0.0.0-hpc.tar.gz +
+ +
+ 目标操作系统 + openEuler 20.03 SP3 +
+
+ 目标系统内核版本 +

+ 4.19.90 +

+
+ +
+ 评估结果 +

+ + 软件迁移评估成功 +

+
+ +
+
+ +
+

可兼容替换

+

0

+
+ +
+

待验证替换

+

2

+
+ +
+

依赖文件总数

+

2

+
+ +
+ +
+
+ +
+
+ 与架构相关的依赖文件 +
+
+ +
+
+ + + + + + + + + + + + + + + +
序号依赖文件名文件类型软件包存放路径待下载软件包名称分析结果处理建议
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + 1 + + gatk-package-4.0.0.0-spark.jar + + Jar包 + + /package/gatk-4.0.0.0-hpc.tar.gz/gatk-4.0.0.0/gatk-package-4.0.0.0-spark.jar + + -- + + 待验证替换 + + 请先在鲲鹏平台上验证。若不兼容,请联系供应方获取鲲鹏兼容版本,或获取源码并编译成鲲鹏兼容版本 +
+ + + 2 + + gatk-package-4.0.0.0-local.jar + + Jar包 + + /package/gatk-4.0.0.0-hpc.tar.gz/gatk-4.0.0.0/gatk-package-4.0.0.0-local.jar + + -- + + 待验证替换 + + 请先在鲲鹏平台上验证。若不兼容,请联系供应方获取鲲鹏兼容版本,或获取源码并编译成鲲鹏兼容版本 +
+
+
+ + +
+
+ + + + \ No newline at end of file diff --git "a/LifeSciences/GATK-4.0.0.0/doc/Devkit\346\212\245\345\221\212/GATK-install-x86.html" "b/LifeSciences/GATK-4.0.0.0/doc/Devkit\346\212\245\345\221\212/GATK-install-x86.html" new file mode 100644 index 0000000000000000000000000000000000000000..440a90c00a0881e8207353a5460b8a1f942043d4 --- /dev/null +++ "b/LifeSciences/GATK-4.0.0.0/doc/Devkit\346\212\245\345\221\212/GATK-install-x86.html" @@ -0,0 +1,4272 @@ + + + + + + + + Document + + + +
+

+ 2022/08/18 21:48:08

+
+ +

+ 配置信息

+
+
+ 软件安装包存放路径或软件包名称 + /opt/portadv/portadmin/package/gatk-4.0.0.0.tar.gz +
+ +
+ 目标操作系统 + openEuler 20.03 SP3 +
+
+ 目标系统内核版本 +

+ 4.19.90 +

+
+ +
+ 评估结果 +

+ + 软件迁移评估成功 +

+
+ +
+
+ +
+

可兼容替换

+

0

+
+ +
+

待验证替换

+

2

+
+ +
+

依赖文件总数

+

2

+
+ +
+ +
+
+ +
+
+ 与架构相关的依赖文件 +
+
+ +
+
+ + + + + + + + + + + + + + + +
序号依赖文件名文件类型软件包存放路径待下载软件包名称分析结果处理建议
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + 1 + + gatk-package-4.0.0.0-spark.jar + + Jar包 + + /package/gatk-4.0.0.0.tar.gz/gatk-4.0.0.0/gatk-package-4.0.0.0-spark.jar + + -- + + 待验证替换 + + 请先在鲲鹏平台上验证。若不兼容,请联系供应方获取鲲鹏兼容版本,或获取源码并编译成鲲鹏兼容版本 +
+ + + 2 + + gatk-package-4.0.0.0-local.jar + + Jar包 + + /package/gatk-4.0.0.0.tar.gz/gatk-4.0.0.0/gatk-package-4.0.0.0-local.jar + + -- + + 待验证替换 + + 请先在鲲鹏平台上验证。若不兼容,请联系供应方获取鲲鹏兼容版本,或获取源码并编译成鲲鹏兼容版本 +
+
+
+ + +
+
+ + + + \ No newline at end of file diff --git "a/LifeSciences/GATK-4.0.0.0/doc/Devkit\346\212\245\345\221\212/GATK.html" "b/LifeSciences/GATK-4.0.0.0/doc/Devkit\346\212\245\345\221\212/GATK.html" new file mode 100644 index 0000000000000000000000000000000000000000..7fe10c0b3331d6a3cee29a2f272e5227d2f56842 --- /dev/null +++ "b/LifeSciences/GATK-4.0.0.0/doc/Devkit\346\212\245\345\221\212/GATK.html" @@ -0,0 +1,469 @@ + + + + + + + + Document + + + +
+

2022/08/18 22:21:57

+
+ +

+ 配置信息 +

+
+
+ 源码文件存放路径 + + /opt/portadv/portadmin/sourcecode/gatk-4.0.0.0 + +
+
+ 目标操作系统 + + openEuler 20.03 SP3 +
+
+ 目标系统内核版本 + + 4.19.90 +
+
+ 编译器版本 + + -- +
+
+ 构建工具 + + -- + +
+
+ 编译命令 + -- + +
+
+ 迁移结果 + + + 源码迁移分析成功:您指定的分析路径/分析包中没有需要迁移的内容 + +
+
+
+
+
+

可兼容替换

+

0

+
+
+

待验证替换

+

0

+
+
+

依赖文件总数

+

0

+
+
+
+
+

源文件数

+

0

+
+
+

代码行数

+

0

+
+
+

源码迁移人力

+

0人月

+
+
+

预估标准:1人月迁移工作量 = 500行 C/C++/Fortran/Go/构建文件等源码,或250行汇编代码

+
+
+
+ +
+
+ 与架构相关的依赖文件 +
+ +
+ +
+
+ + + + + + + + + + + +
序号依赖文件名文件类型 + 待下载软件包名称 + 分析结果处理建议
+
+
+ + + + + + + + + + + + + + + + +
+
+
+ 未发现与架构相关的依赖文件 +
+
+
+
+ + +
+
+ 需要迁移的源码文件 +
+ +
+ +
+
+ + + + + + + + + +
序号文件名路径文件类型需修改的代码行
+
+
+ + + + + + + + + + + + + + + +
+
+
+ 未发现需要迁移的源码文件 +
+
+
+
+ + +
+
+ 需要迁移的代码行数 +
+ +
+ +
+
+ + + + + + + + + +
文件名行号(起始行,结束行)关键字建议
+
+
+ + + + + + + + + + + + + + +
+
+
+ 无数据 +
+
+
+
+ + +
+
+ + + + \ No newline at end of file diff --git "a/LifeSciences/GATK-4.0.0.0/doc/GATK-4.0.0.0\345\272\224\347\224\250\346\265\213\350\257\225\346\212\245\345\221\212.docx" "b/LifeSciences/GATK-4.0.0.0/doc/GATK-4.0.0.0\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..8c5ba5273ef93f7e324b514d1a43f5611ab6dedb Binary files /dev/null and "b/LifeSciences/GATK-4.0.0.0/doc/GATK-4.0.0.0\345\272\224\347\224\250\346\265\213\350\257\225\346\212\245\345\221\212.docx" differ diff --git "a/LifeSciences/GATK-4.0.0.0/doc/GATK-4.0.0.0\345\272\224\347\224\250\347\247\273\346\244\215\346\214\207\345\215\227.docx" "b/LifeSciences/GATK-4.0.0.0/doc/GATK-4.0.0.0\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..01e67f7c647daa8dfb4f4aa2fd5ee43795d3064c Binary files /dev/null and "b/LifeSciences/GATK-4.0.0.0/doc/GATK-4.0.0.0\345\272\224\347\224\250\347\247\273\346\244\215\346\214\207\345\215\227.docx" differ diff --git "a/LifeSciences/GATK-4.0.0.0/doc/\351\262\262\351\271\217\345\237\272\345\272\247\350\275\257\344\273\266\346\220\255\345\273\272\346\214\207\345\215\227.docx" "b/LifeSciences/GATK-4.0.0.0/doc/\351\262\262\351\271\217\345\237\272\345\272\247\350\275\257\344\273\266\346\220\255\345\273\272\346\214\207\345\215\227.docx" new file mode 100644 index 0000000000000000000000000000000000000000..18bb02ef7e2ce33db1cd05cf8b524969d39f7af3 Binary files /dev/null and "b/LifeSciences/GATK-4.0.0.0/doc/\351\262\262\351\271\217\345\237\272\345\272\247\350\275\257\344\273\266\346\220\255\345\273\272\346\214\207\345\215\227.docx" differ diff --git a/LifeSciences/GATK-4.0.0.0/gatk-4.0.0.0.sh b/LifeSciences/GATK-4.0.0.0/gatk-4.0.0.0.sh new file mode 100644 index 0000000000000000000000000000000000000000..23005d9101564837ab3c374bb774d28a2e34e9a0 --- /dev/null +++ b/LifeSciences/GATK-4.0.0.0/gatk-4.0.0.0.sh @@ -0,0 +1,61 @@ +#!/bin/bash + +if [[ $# -ne 2 ]]; then + echo "The format is as follows:" + echo "bash zlib-1.12.11.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 + +if `wget -t 40 -c -P $buildpath https://ghproxy.com/https://github.com/broadinstitute/gatk/releases/download/4.0.0.0/gatk-4.0.0.0.zip` +then + echo "gatk-4.0.0.0.zip下载成功!(国内github加速下载)" +elif `wget -t 40 -c -P $buildpath https://github.com/broadinstitute/gatk/releases/download/4.0.0.0/gatk-4.0.0.0.zip` +then + echo "gatk-4.0.0.0.zip下载成功!" +else + echo "gatk-4.0.0.0.zip下载失败!" +fi + +cd $buildpath +unzip $buildpath/gatk-4.0.0.0.zip && rm -rf $buildpath/gatk-4.0.0.zip +mkdir -p $installpath/gatk-4.0.0.0 && cp -r $buildpath/gatk-4.0.0.0/* $installpath/gatk-4.0.0.0 + +mkdir -p $installpath/gatk-4.0.0.0/com/intel/gkl/ +cp -r $installpath/gkl-0.8.10/build/classes/java/main/com/intel/gkl/compression $installpath/gatk-4.0.0.0/com/intel/gkl/ +cp -r $installpath/gkl-0.8.10/build/classes/java/main/com/intel/gkl/IntelGKLUtils.class $installpath/gatk-4.0.0.0/com/intel/gkl/ +cp -r $installpath/gkl-0.8.10/build/classes/java/main/com/intel/gkl/native/ $installpath/gatk-4.0.0.0/com/intel/gkl/ +cp -r $installpath/gkl-0.8.10/build/classes/java/main/com/intel/gkl/pairhmm/ $installpath/gatk-4.0.0.0/com/intel/gkl/ +cp -r $installpath/gkl-0.8.10/build/classes/java/main/com/intel/gkl/smithwaterman/ $installpath/gatk-4.0.0.0/com/intel/gkl/ +cp -r $installpath/gkl-0.8.10/build/native/libgkl* $installpath/gatk-4.0.0.0/com/intel/gkl/ +jar uvf $installpath/gatk-4.0.0.0/gatk-package-4.0.0.0-spark.jar $installpath/gatk-4.0.0.0/com/intel/gkl/* +jar uvf $installpath/gatk-4.0.0.0/gatk-package-4.0.0.0-local.jar $installpath/gatk-4.0.0.0/com/intel/gkl/* + +cat>"$installpath/gatk-4.0.0.0/gatk_modulefiles"<