perl如何提取合并基因家族的domain序列
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,这篇文章给大家分享的是有关perl如何提取合并基因家族的domain序列的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在做基因家族分析中,使用hmmsearch搜索到结构域
千家信息网最后更新 2025年01月19日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语句
软件开发说明书范例
软件开发环境宿主层
软件开发求职网站
情咖网络技术有限公司怎么样
工业网络安全宣传材料
物业前台网络安全操作规程
网络安全应急支撑单位
兴义网络技术招聘
手机晚上无法连接服务器
云南省公安厅网络安全
ccat的网络安全工程师
网络安全培训企业
usdt跑分软件开发平台
pgsql数据库下载
阿里巴巴技术软件开发
宝德网络技术有限公司
dm数据库 指定主机连接
学游戏软件开发需要多久
网络安全教育的资料
net core软件开发
检测自己电脑是否有数据库
周村微信小程序软件开发报价
数据库的权限表有那些
高斯数据库视图
oracle数据库如何删除值
网络安全推动
财务软件开发难学吗
服务器出现异常