两个序列的序列比对.方法1-3全部来自chatGPT,我来进行测试。斜体字部分是我新加或修改的地方。总体来看,chatGPT能提供有效线索,但答案不一定都是精确的。
测试数据的准备:
blastdbcmd -db irgsp1.0 -entry chr01 -range 122200-122400 -out test.fa
cp test.fa B
mv test.fa A
方法1
序列比对
可以,命令行代码为:
blat A B -dots -out=html > result.html
Blat是一种序列比对工具,它可以快速比对两个DNA或蛋白序列。它的优势是可靠而又快速,可以大量处理海量的配对数据。
Blat的安装很简单,只需要下载blat源代码,并使用make编译即可,然后将blat作为程序的可执行文件复制到/usr/bin或/usr/local/bin即可。
Blat的源代码可以从官方网站(https://hgdownload.cse.ucsc.edu/admin/exe/)下载。
访问它提供的网址:
https://hgdownload.cse.ucsc.edu/admin/exe/
Name Last modified Size Description Parent Directory -external.i386/ 2017-05-25 15:04 -external.x86_64/ 2021-11-01 14:04 -linux.x86_64.v369/ 2019-02-01 18:05 -linux.x86_64.v385/ 2021-08-04 10:50 -linux.x86_64/ 2023-01-17 16:04 -macOSX.arm64/ 2023-01-18 08:11 -macOSX.x86_64/ 2023-01-17 21:59 -testFiles/ 2022-11-14 16:52 -userApps.archive/ 2023-01-17 16:41 -userApps.src.tgz 2023-01-17 16:40 23M
看来还是靠谱的。
blast的具体地址为:
https://hgdownload.cse.ucsc.edu/admin/exe/linux.x86_64.v369/blat/
chmod +x blat #查看权限发现它没有可执行权限,所以得修改权限
./blat #显示命令提示
把文件blat移到/usr/bin目录
blat A B -dots -out=html > result.html
错误提示:int option -dots must have a value
blat A B -dots=5 -out=html > result.html #这样输入就不报错了
但是这个命令仍然是有问题的。
得下面这样:
blat A B -dots=10 -out=blast result.blast #blast是另外一种输出格式,result.blast前不能加>
方法2
使用BLAST为比对A和B两个序列,可以使用如下命令行代码:
blastn -query A -subject B -outfmt 6 -evalue 0.0001
其中,-evalue参数是可用来设定一定的精确度水平;-outfmt参数用来指定输出格式,可以选择6和7。
方法2不用测,我这样用过。
方法3
另外一种比较A和B序列的方法是使用Smith-Waterman算法,使用CLUSTAL Omega应用程序来实现,命令如下:
clustalo -i A.fa,B.fa -o output.fa
可以使用下面的命令在linux系统中安装CLUSTAL Omega:
sudo apt-get install clustalo
我的系统已经安装了,所以不用再安装了。当然它的命令也是不正确的。正确的得这样
cat A B >AB #输入的序列为一个序列文件,里面是需要比对的多个序列
这样运行才正确:
clustalo -i AB -o output.fa -outfmt=clu
总结:chatGPT会给你答案,但这个答案不一定是非常精确的。不过能做到这一步已经很不错了。
本文由梁桂钊于2022-08-28发表在梁桂钊的博客,如有疑问,请联系我们。
本文链接:https://720ui.com/3407.html