您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“基于perl怎么提取基因家族內(nèi)的串聯(lián)重復(fù)基因?qū)Α钡挠嘘P(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!
基于MCScanX串聯(lián)重復(fù)分析結(jié)果中的tandem文件,提取屬于特定基因家族內(nèi)的串聯(lián)重復(fù)基因?qū)Α?/p>
腳本文件名
get_tandem_gene.pl ,運行命令為:
perl get_tandem_gene.pl -id hqs.id -tandem ganlan.tandem -name hqs -od ./
命令解釋:
get_tandem_gene.pl腳本文件名,最后寫明全路徑
-id 輸入基因家族基因id,文件格式如下:
Bol014029 Bol014986 Bol021982 Bol023208 Bol005493 Bol008082 Bol021317 Bol021325 Bol033054 Bol033162
-tandem 輸入MCScan的串聯(lián)重復(fù)結(jié)果文件tandem( , 分隔),文件格式如下:
Bol004372,Bol004373 Bol004375,Bol004376 Bol004405,Bol004406 Bol004463,Bol004462 Bol004492,Bol004491 Bol004611,Bol004612 Bol004624,Bol004625 Bol004632,Bol004633 Bol004672,Bol004673 Bol004680,Bol004681
-name 輸出文件名前綴
-od 輸出路徑
輸出文件格式如下(\t 分隔):
Bol026623 Bol026622 Bol038386 Bol038387 Bol044343 Bol044344
全部perl 腳本內(nèi)容如下:
use Data::Dumper; use Getopt::Long; use strict; use Cwd qw(abs_path getcwd); my %opts; GetOptions (\%opts,"id=s","tandem=s","od=s","name=s"); my $od=$opts{od}; $od||=getcwd; $od=abs_path($od); unless(-d $od){ mkdir $od;} my $gene; my @info; my %hashG; open (IN,"$opts{id}") || die "open $opts{id} failed\n"; while(<IN>){ chomp; @info=split(/\s+/,$_); $gene=$info[0]; $hashG{$gene}=$gene; } close(IN); my $Agene; my $Bgene; open(OUT,">$od/$opts{name}.tandem")||die "open $od/$opts{name}.tandem failed\n"; open (IN,"$opts{tandem}") || die "open $opts{tandem} failed\n"; while(<IN>){ chomp; @info=split(/,/,$_); $Agene=$info[0]; $Bgene=$info[1]; if(exists $hashG{$Agene} && exists $hashG{$Bgene}){ print OUT $Agene."\t".$Bgene."\n"; } } close(IN); close(OUT);
“基于perl怎么提取基因家族內(nèi)的串聯(lián)重復(fù)基因?qū)Α钡膬?nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。