91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

perl如何提取合并基因家族的domain序列

發布時間:2022-02-23 11:54:31 來源:億速云 閱讀:281 作者:小新 欄目:開發技術

這篇文章給大家分享的是有關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 <hmmoutfile> <fa> <OUT> <E-value>" 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 (<IN>) {
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序列”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

皮山县| 栾川县| 桂平市| 晴隆县| 天镇县| 昌黎县| 农安县| 贵州省| 文昌市| 通榆县| 密山市| 隆化县| 宣城市| 神木县| 启东市| 孟连| 朔州市| 靖西县| 榆中县| 贡嘎县| 武平县| 渑池县| 仁寿县| 蒲城县| 青海省| 石林| 天祝| 伽师县| 凯里市| 乐清市| 靖江市| 错那县| 永川市| 长汀县| 黄浦区| 鸡泽县| 普安县| 上饶县| 磴口县| 张家界市| 公主岭市|