导师把一堆蛋白丢给你,,,,用alphafold2炼丹,不想过劳吧,如何安逸的摸鱼呢,注意查收大礼包。
说在前面,本博文仅仅适于已经安装好alphafold2软件、数据库、完成环境配置的友友。
1.把待分析的蛋白序列放入一个文件夹下,如下:文件夹名为xin-crh1-1,里面有很多待测蛋白。
2.利用vim编辑一个脚本,步骤如下:
vim x.sh
#内容如下
#!/bin/bash
# 遍历Fasta文件目录下的所有文件
#!/bin/bash
export TF_FORCE_UNIFIED_MEMORY=1
export XLA_PYTHON_CLIENT_MEM_FRACTION=4.0
#这两个命令是用于设置TensorFlow的环境变量的。TF_FORCE_UNIFIED_MEMORY=1可以让TensorFlow使用统一内存管理,这意味着TensorFlow会将CPU和GPU的内存池合并在一起,从而减少内存碎片和内存浪费。而XLA_PYTHON_CLIENT_MEM_FRACTION=4.0则是用于设置TensorFlow XLA的内存分配比例,这可以帮助TensorFlow更好地利用GPU的内存。这两个命令通常在运行TensorFlow程序之前设置,以确保TensorFlow能够充分利用系统资源。
# 遍历Fasta文件目录下的所有文件
for file in /data1/huahua/proin/proin/crh1/xin-crh1-1/*; do
# 提取文件名(不包含路径)
filename=$(basename "$file")
# 运行AlphaFold预测命令
echo "Predicting $filename..."
CUDA_VISIBLE_DEVICES=0 taskset -c 16,17,18,19,20,21,22,23,24,25,26,27,28,29,10,31 python run_alphafold.py --data_dir=/data1/luping/alphaFold/alphaFold2/alphafold/scripts/AlphaFoldDataRes --uniref90_database_path=/data1/luping/alphaFold/alphaFold2/alphafold/scripts/AlphaFoldDataRes/uniref90/uniref90.fasta --mgnify_database_path=/data1/luping/alphaFold/alphaFold2/alphafold/scripts/AlphaFoldDataRes/mgnify/mgy_clusters_2022_05.fa --template_mmcif_dir=/data1/luping/alphaFold/alphaFold2/alphafold/scripts/AlphaFoldDataRes/pdb_mmcif/mmcif_files --max_template_date=2021-11-01 --obsolete_pdbs_path=/data1/luping/alphaFold/alphaFold2/alphafold/scripts/AlphaFoldDataRes/pdb_mmcif/obsolete.dat --model_preset=multimer --uniprot_database_path=/data1/luping/alphaFold/alphaFold2/alphafold/scripts/AlphaFoldDataRes/uniprot/uniprot.fasta --pdb_seqres_database_path=/data1/luping/alphaFold/alphaFold2/alphafold/scripts/AlphaFoldDataRes/pdb_seqres/pdb_seqres.txt --db_preset=reduced_dbs --small_bfd_database_path=/data1/luping/alphaFold/alphaFold2/alphafold/scripts/AlphaFoldData/small_bfd/bfd-first_non_consensus_sequences.fasta --fasta_paths="$file" --output_dir=/data1/huahua/proin/out-m/crh1/xin-crh1-1 --use_gpu_relax=true --benchmark=true --models_to_relax=best --num_multimer_predictions_per_model=1 --use_precomputed_msas=true
done
#把/data1/huahua/proin/proin/crh1/xin-crh1-1换成待测蛋白文件夹所在路径
#CUDA_VISIBLE_DEVICES=0 taskset -c 16,17,18,19,20,21,22,23,24,25,26,27,28,29,10,31是因为本人需要设置的指定内存条和显卡跑数据,如果不需要可忽略。
#上面代码跑的是多聚体的数据。如果需要修改请研究一下alphafold的使用,这里不加赘述。
#记得把路径换成自己的!!!!!
3.切换到alphafold2所配置的环境,进入alphafold安装的路径下。
内容物如下,注:有些文件时使用nohup后生成的,包括(nohup.out no.txt no1.txt),如果没记错的话,其他的文件都是alphafold2软件包内的,自行查看alphafold官网github.comhttps://github.com/google-deepmind/alphafold
4.运行该脚本nohup x.sh > out.txt & #x.sh的路径确认一下!
其中的&代表后台运行代码,因为是在后天运行所以桌面上看不到是否报错,那么就可以cat out.txt查看是否报错。