0
点赞
收藏
分享

微信扫一扫

Linux系统创建可执行文件软链接

Linux系统创建可执行文件软链接_sed

编译安装源代码为可执行文件时,有时候会遇到想把可执行文件放在特定的路径下的问题,比如放到`/usr/bin`目录下,这样可以全局可调用,又不需要手动添加各种乱七八糟的系统路径。这就需要使用到Linux中的软链接的功能,通常使用`ln -s`的指令即可。本文顺带介绍了蛋白质结构评分软件TMalign的源码下载和安装使用的基本方法,编译成一个可执行文件后,可以建立一个软链接,在系统各处都可以使用,是一个比较基础的操作。

技术背景

由于创建软链接这个事情,在算法开发的日常中使用到的并不是很多,因此本文也是做一个简单的回顾。这里我们使用的案例是通过TMalign这个蛋白质打分文件,在编译好可执行文件之后,可以使用建立软链接的方法快捷的使用该可执行文件。

TMalign的下载与安装

TMalign可以给两个给定的蛋白质pdb文件进行评分:

$ TMalign out.pdb origin.pdb

*********************************************************************
* TM-align (Version 20220412): protein structure alignment *
* References: Y Zhang, J Skolnick. Nucl Acids Res 33, 2302-9 (2005) *
* Please email comments and suggestions to yangzhanglab@umich.edu *
*********************************************************************

Name of Chain_1: out.pdb (to be superimposed onto Chain_2)
Name of Chain_2: origin.pdb
Length of Chain_1: 207 residues
Length of Chain_2: 207 residues

Aligned length= 207, RMSD= 0.00, Seq_ID=n_identical/n_aligned= 1.000
TM-score= 1.00000 (if normalized by length of Chain_1, i.e., LN=207, d0=5.35)
TM-score= 1.00000 (if normalized by length of Chain_2, i.e., LN=207, d0=5.35)

那么如果要使用该评分软件,需要从该​​链接​​​中下载相关的文件,比如​​cpp​​​文件和​​readme​​文件。下载到本地目录下之后,可以执行如下指令进行编译(如果是Mac可能需要去掉static):

$ g++ -static -O3 -ffast-math -lm -o TMalign TMalign.cpp

编译之后就会在当前路径下生成一个名为​​TMalign​​的可执行文件:

$ ll
总用量 3036
drwxrwxr-x 2 dechin dechin 4096 56 13:58 ./
drwxrwxr-x 11 dechin dechin 4096 56 13:57 ../
-rw-rw-r-- 1 dechin dechin 7387 56 13:58 readme.c++.txt
-rwxrwxr-x 1 dechin dechin 2904224 56 13:59 TMalign*
-rw-rw-r-- 1 dechin dechin 182097 56 13:57 TMalign.cpp

建立软链接

虽然这条指令很简单,但是需要注意的是一定要使用绝对路径,如果使用相对路径,会出现​​符号连接的层数过多​​​的报错信息。另外如果要创建的软链接在​​/usr/bin​​​之类的目录下的话,需要使用到​​sudo​​权限。具体执行指令如下:

$ sudo ln -s /home/dechin/tools/TMalign/TMalign /usr/bin/TMalign

一般​​/usr/bin​​​是用户的系统路径,相比于不断的补充系统路径,这种建立软链接的方式会显得更加简洁。建立完软链接之后,就可以在系统的任一位置直接执行​​TMalign​​的指令了:

$ TMalign 

*********************************************************************
* TM-align (Version 20220412): protein structure alignment *
* References: Y Zhang, J Skolnick. Nucl Acids Res 33, 2302-9 (2005) *
* Please email comments and suggestions to yangzhanglab@umich.edu *
*********************************************************************

Usage: TMalign PDB1.pdb PDB2.pdb [Options]

Options:
-u TM-score normalized by user assigned length (the same as -L)
warning: it should be >= minimum length of the two structures
otherwise, TM-score may be >1

-a TM-score normalized by the average length of two structures
T or F, (default F)

-i Start with an alignment specified in fasta file 'align.txt'

-I Stick to the alignment specified in 'align.txt'

-m Output TM-align rotation matrix

-d TM-score scaled by an assigned d0, e.g. 5 Angstroms

-o Output the superposition to 'TM_sup*'
$ TMalign PDB1.pdb PDB2.pdb -o TM_sup
View superposed C-alpha traces of aligned regions by RasMol or PyMOL:
$ rasmol -script TM_sup
$ pymol -d @TM_sup.pml
View superposed C-alpha traces of all regions:
$ rasmol -script TM_sup_all
$ pymol -d @TM_sup_all.pml
View superposed full-atom structures of aligned regions:
$ rasmol -script TM_sup_atm
$ pymol -d @TM_sup_atm.pml
View superposed full-atom structures of all regions:
$ rasmol -script TM_sup_all_atm
$ pymol -d @TM_sup_all_atm.pml
View superposed full-atom structures and ligands of all regions
$ rasmol -script TM_sup_all_atm_lig
$ pymol -d @TM_sup_all_atm_lig.pml

-fast Fast but slightly inaccurate alignment by fTM-align algorithm

-cp Alignment with circular permutation

-v Print the version of TM-align

-h Print the full help message, including additional options

(Options -u, -a, -d, -o will not change the final structure alignment)

Example usages:
TMalign PDB1.pdb PDB2.pdb
TMalign PDB1.pdb PDB2.pdb -u 100 -d 5.0
TMalign PDB1.pdb PDB2.pdb -a T -o PDB1.sup
TMalign PDB1.pdb PDB2.pdb -i align.txt
TMalign PDB1.pdb PDB2.pdb -m matrix.txt
TMalign PDB1.pdb PDB2.pdb -fast
TMalign PDB1.pdb PDB2.pdb -cp

总结概要

编译安装源代码为可执行文件时,有时候会遇到想把可执行文件放在特定的路径下的问题,比如放到​​/usr/bin​​​目录下,这样可以全局可调用,又不需要手动添加各种乱七八糟的系统路径。这就需要使用到Linux中的软链接的功能,通常使用​​ln -s​​的指令即可。本文顺带介绍了蛋白质结构评分软件TMalign的源码下载和安装使用的基本方法,编译成一个可执行文件后,可以建立一个软链接,在系统各处都可以使用,是一个比较基础的操作。


作者ID:DechinPhy

腾讯云专栏同步:​​https://cloud.tencent.com/developer/column/91958​​

51CTO同步链接:​​https://blog.51cto.com/u_15561675​​

参考链接

“留一手”加剧内卷,“讲不清”浪费时间。




举报

相关推荐

0 条评论