perl如何提取合并基因家族的domain序列
发表于:2025-11-12 作者:千家信息网编辑
千家信息网最后更新 2025年11月12日,这篇文章给大家分享的是有关perl如何提取合并基因家族的domain序列的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在做基因家族分析中,使用hmmsearch搜索到结构域
千家信息网最后更新 2025年11月12日perl如何提取合并基因家族的domain序列
这篇文章给大家分享的是有关perl如何提取合并基因家族的domain序列的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
在做基因家族分析中,使用hmmsearch搜索到结构域后,如果基因有多个domain,并且需要将所有domain提取连接在一起,可以使用下面的脚本完成。
使用方法:
命令如下:
perl domain_hebing.fa.pl hmmsearch.out.txt Arabidopsis_thaliana.TAIR10.31.pep.all.fa domain.fa 0.001
参数介绍:
hmmsearch.out.txt :hmmsearch搜索的结果文件。
Arabidopsis_thaliana.TAIR10.31.pep.all.fa :所有基因蛋白质序列。
domain.fa :输出合并后的domain序列文件。
0.001 :设置过滤的e-value值。
脚本代码如下:
die "perl $0" unless ( @ARGV == 4 );use Math::BigFloat;use Bio::SeqIO;use Bio::Seq;$in = Bio::SeqIO->new(-file => "$ARGV[1]",-format => 'Fasta');$out = Bio::SeqIO->new(-file => ">$ARGV[2]",-format => 'Fasta');my %fasta;while ( my $seq = $in->next_seq() ) {my ( $id, $sequence, $desc ) = ( $seq->id, $seq->seq, $seq->desc );$fasta{$id} = $seq;}$in->close();my %keep = ();open IN, "$ARGV[0]" or die "$!";while ( ) {chomp;next if /^#/;my @a = split /\s+/;next if $a[6] > $ARGV[3];my $subseq = $fasta{$a[0]}->subseq( $a[17], $a[18]);if(exists $keep{$a[0]}){$keep{$a[0]} .= $subseq;}else{$keep{$a[0]} = $subseq;}}close(IN);while(my($key,$value) = each %keep){my $newseqobj = Bio::Seq->new(-seq => $value,-id => $key,);$out->write_seq($newseqobj);}$out->close();
感谢各位的阅读!关于"perl如何提取合并基因家族的domain序列"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
基因
序列
家族
内容
文件
更多
篇文章
脚本
搜索
不错
实用
代码
使用方法
参数
命令
多个
文章
方法
看吧
知识
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
怪物猎人崛起 连不上服务器
技术开发软件开发
服务器硬盘最多有几种接口
sql数据库清理垃圾
沈阳航空网络安全公司
aws软件开发找客户
关于网络技术发展的认识
怎么才能知道和平精英的服务器
合肥京东方it岗位软件开发
毒性数据库
知网数据库如何对大学收费
lol服务器安全证书过期
关系模式和关系数据库
org数据库中的证书查询内容
软件开发校招哪些学校
政府采购服务器地址
服务器进入任务管理器卡死
冒险岛m1国际服服务器
知网查数据库吗
微信使用的数据库
微软数据库是不是放在海底的
南昌市第七届国家网络安全
用户管理服务器有哪些
关于网络安全社交的英语作文
威动影音服务器安装环境
美亚柏科网络安全培训视频
电信网络技术工程师工作
弈剑型服务器被攻击
海口安卓软件开发
重庆网络安全和信息化委员会