当前位置: 首页 > news >正文

dali本地安装和使用

Dali(Distance-matrix ALIgnment)是一种广泛使用的蛋白质结构比对工具,主要用于比较蛋白质三维结构之间的相似性。它通过计算蛋白质结构之间的距离矩阵来评估结构之间的相似性,并生成比对结果。

1. 安装

wget http://ekhidna2.biocenter.helsinki.fi/dali/DaliLite.v5.tar.gz ./
tar -zxvf DaliLite.v5.tar.gzcd /home/you/DaliLite.v5/bin
make clean
make # ignore Warnings

http://ekhidna2.biocenter.helsinki.fi/dali/README.v5.html

2. 准备文件夹,构建Dali数据库

# 存放dali数据库数据
mkdir -p dali/dali_query_db dali/dali_target_db
cd dali# 存放原始的pdb文件(或ent文件)
mkdir query_struct target_struct### 拷贝结构文件到相应的目录
cp ../rag2_structures/* query_struct/
cp ../hits_AF_structure/* target_struct/

3.  构建名称映射

Dali要求结构文件的命名满足pdb数据库中结构文件的命名规范,如果是AF预测的结构或自己命名的结构,需要转换。

转换脚本

vim prepare_ln_for_dali_db.sh

内容:

#!/bin/bash# Usage: ./prepare_pdb_links.sh /path/to/src_dir [prefix]
# Example: ./prepare_pdb_links.sh /home/user/structures rag2# Input: source directory containing .pdb files
SRC_DIR="$1"
PREFIX="$2"if [[ -z "$SRC_DIR" || ! -d "$SRC_DIR" ]]; thenecho "❌ Please provide a valid source directory containing .pdb files."echo "Usage: $0 /path/to/src_dir [prefix]"exit 1
fi# Use directory name as default prefix if not provided
if [[ -z "$PREFIX" ]]; thenPREFIX=$(basename "$SRC_DIR")
fi# Output files located in the same directory as SRC_DIR
LINK_DIR="$SRC_DIR/${PREFIX}_renamed_pdbs"
LIST_FILE="$SRC_DIR/${PREFIX}_pdb_list.txt"
MAPPING_FILE="$SRC_DIR/${PREFIX}_pdb_id_mapping.tsv"mkdir -p "$LINK_DIR"
> "$LIST_FILE"
> "$MAPPING_FILE"generate_pdb_id() {local chars=( {0..9} {A..Z} )local id=""for ((i = 0; i < 4; i++)); doid="${id}${chars[$(( RANDOM % ${#chars[@]} ))]}"doneecho "$id"
}used_ids=()for pdb_file in "$SRC_DIR"/*.pdb; do[[ -e "$pdb_file" ]] || continue  # Skip if no pdb filesorig_name=$(basename "$pdb_file")while true; donew_id=$(generate_pdb_id)if [[ ! " ${used_ids[@]} " =~ " ${new_id} " ]]; thenused_ids+=("$new_id")breakfidonenew_name="pdb${new_id}.ent"ln -sf "$(realpath "$pdb_file")" "$LINK_DIR/$new_name"echo "$LINK_DIR/$new_name" >> "$LIST_FILE"echo -e "$new_name\t$orig_name" >> "$MAPPING_FILE"
doneecho "Soft links created in: $LINK_DIR"
echo "PDB list: $LIST_FILE"
echo "ID mapping: $MAPPING_FILE"

改变模式

chmod +x prepare_ln_for_dali_db.sh

运行:

./prepare_ln_for_dali_db.sh  query_struct query./prepare_ln_for_dali_db.sh target_struct target

4. 构建Dali数据库

import.pl --pdblist query_struct/query_pdb_list.txt --dat dali_query_dbimport.pl --pdblist target_struct/target_pdb_list.txt --dat dali_target_db

5. 准备搜索列表

ls dali_query_db |awk -F '.' '{print $1}' > query.lstls dali_target_db |awk -F '.' '{print $1}' > target.lst

注:query.lst 、target.lst 每一行为结构名+链名, 如:0MDTA,0MDT:映射的结构名,符合pdb的命令规范(随机定的,不是pdb的id号),A:表示A链

6. 搜索同源结构

dali.pl --query query.lst --db target.lst  --dat1 dali_query_db --dat2 dali_target_db#dali.pl --query query.lst --db target.lst  --dat1 dali_query_db --dat2 dali_target_db --np 64

注:不能并行计算,,如需要并行计算需要在安装时:

# if using openmpi (check OPENMPI_PATH in Makefile)
make parallel

结果在 query_name.txt 和 query_name.html文件中,如:1SDPA.txt, 1SDPA.html

参考:

https://ekhidna2.biocenter.helsinki.fi/dali/


文章转载自:

http://DruxFYs8.qphcq.cn
http://EyC0yubF.qphcq.cn
http://GsxTTFDC.qphcq.cn
http://hsrsBNAS.qphcq.cn
http://AtREZuK9.qphcq.cn
http://FcBPzY63.qphcq.cn
http://AEbM6O4w.qphcq.cn
http://fdmIJvwl.qphcq.cn
http://j3vAi6G0.qphcq.cn
http://QyJFtSPO.qphcq.cn
http://RgbCbOqi.qphcq.cn
http://Z0o2VUqR.qphcq.cn
http://Io05d5DC.qphcq.cn
http://qhJCVNq6.qphcq.cn
http://yAvayOYd.qphcq.cn
http://XEC9Y4O5.qphcq.cn
http://j3Jsjtyc.qphcq.cn
http://lGhb4Ca3.qphcq.cn
http://GiMrj0sn.qphcq.cn
http://h6ralEPg.qphcq.cn
http://skm4tnjv.qphcq.cn
http://YaXMXgDB.qphcq.cn
http://RuBF2hS4.qphcq.cn
http://BqVzfFrL.qphcq.cn
http://hyCcqIX0.qphcq.cn
http://WdSMog0M.qphcq.cn
http://FoKE20F2.qphcq.cn
http://dOr56otA.qphcq.cn
http://7qWzLDef.qphcq.cn
http://JWxrhkLa.qphcq.cn
http://www.dtcms.com/a/204861.html

相关文章:

  • 【苍穹外卖】Day01—Mac前端环境搭建
  • 2023 睿抗机器人开发者大赛CAIP-编程技能赛-本科组(国赛) 解题报告 | 珂学家
  • MySQL 主从复制搭建全流程:基于 Docker 与 Harbor 仓库
  • CondaEnvException: The specified prefix appears to be a top level directory
  • 5分钟搭建智能看板:衡石科技自助式BI工具使用教程
  • 分类预测 | Matlab实现PSO-RF粒子群算法优化随机森林多特征分类预测
  • 借助IEDA ,Git版本管理工具快速入门
  • 隧道自动化监测解决方案
  • Spring AI 1.0 GA 正式发布
  • 订单导入(常见问题和sql)
  • 测试W5500的第4步_使用ioLibrary库创建UDP客户端和服务器端
  • 华为云Flexus+DeepSeek征文|零基础搭建Dify-LLM应用开发平台 - 从部署到应用的完整指南
  • 水浒后传-暹罗国建立新国家的故事
  • springAI调用deepseek模型使用硅基流动api的配置信息
  • 支持向量机(SVM):分类与回归的数学之美
  • Anti Spy安卓版:智能防护,守护手机安全
  • 深入解析AI中的Prompt工程:从理论到实践
  • 人工智能在生物医学研究中的创新应用
  • 鸿蒙电脑系统和统信UOS都是自主可控的系统吗
  • 提示词字数/Token控制策略与技巧
  • 工作流引擎-03-聊一聊什么是流程引擎(Process Engine)?
  • 【动手学深度学习】1.3. 各种机器学习问题
  • 基于CP2K的退火产生非晶态二氧化硅分子动力学模拟
  • 最新版Chrome浏览器调用ActiveX控件之eDrawings Viewer专用包v2.0.42版本发布
  • 微信小程序自行diy选择器有效果图
  • 深入理解Java虚拟机之垃圾收集器篇(垃圾回收器的深入解析待完成TODO)
  • 非欧空间计算加速:图神经网络与微分几何计算的GPU优化(流形数据的内存布局优化策略)
  • 大模型评测与可解释性
  • Java接口P99含义解析
  • ThinkPHP 根据路由文件获取路由列表