进化树中基因是有顺序的,有些时候我们会需要用到这个基因列表,如果,手动来做就会比较麻烦。哪有什么快速的方法吗?
其实有的,进化树的nwk文件中就有基因的顺序:如下:
(chicken,((mouse,rat),(chimp,human)));
能够发现图中枝的顺序就是nwk文件中的顺序,这样我们只需要提取这个顺序即可。这里我写了一个脚本,如下:
用法:
perl nwk_geneid.pl -i in.nwk -o out.txt
in.nwk 为输入的nwk文件,out.txt是输出的基因ID文件。
脚本代码;
use Getopt::Long;
use strict;
my %opts;
GetOptions(\%opts,"i=s","o=s","h");
open(IN,"$opts{i}") || die "open $opts{i} failed\n";
open(OUT,">$opts{o}") ||die "open $opts{o} failed\n";
while(<IN>){
chomp;
my $str = $_;
$str =~ s/\d\.\d+//g;
$str =~ s/\(//g;
$str =~ s/\)//g;
$str =~ s/://g;
$str =~ s/;//g;
my @line = split(",",$str);
print OUT join("\n",@line);
}
close(IN);
close(OUT);
此外,我们在网易云课堂上有各种教学视频,有兴趣可以了解一下:
1. 文章越来越难发?是你没发现新思路,基因家族分析发2-4分文章简单快速,学习链接:基因家族分析实操课程
2. 转录组数据理解不深入?图表看不懂?点击链接学习深入解读数据结果文件,学习链接:转录组(有参)结果解读;转录组(无参)结果解读
3. 转录组数据深入挖掘技能-WGCNA,提升你的文章档次,学习链接:WGCNA-加权基因共表达网络分析
4. 转录组数据怎么挖掘?学习链接:转录组标准分析后的数据挖掘
6. 更多学习内容:linux、perl、R语言画图,更多免费课程请点击以下链接:
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!