perl怎么画韦恩图
发表于:2025-11-16 作者:千家信息网编辑
千家信息网最后更新 2025年11月16日,本篇内容主要讲解"perl怎么画韦恩图",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"perl怎么画韦恩图"吧!用法如下:perl venn_up_or_d
千家信息网最后更新 2025年11月16日perl怎么画韦恩图
本篇内容主要讲解"perl怎么画韦恩图",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"perl怎么画韦恩图"吧!
用法如下:
perl venn_up_or_down.pl -in All_DEG_venn.xls -id1 left_DEG.final.xls -id2 right_DEG.final.xls -k trans_full_table.xls -od out
该脚本的输入文件都为转录组分析结果文件,All_DEG_venn.xls是画韦恩图时生成的,*_DEG.final.xls分别是两个差异组合的。trans_full_table.xls是总的所有基因统计文件。
UsageForced parameter: -in All_DEG_venn.xlsmust be given-od outdir must be given-id1 left DEG.final.xls must be given-id2 right DEG.final.xls must be given-k noRef_trans_full_table.xls (kegg anno) must be givenOther parameter:-h Help document
脚本代码:
#!/usr/bin/perl -wuse strict;use warnings;use Getopt::Long;use Data::Dumper;use Config::General;use Cwd qw(abs_path getcwd);use FindBin qw($Bin $Script);use File::Basename qw(basename dirname);use Math::BigFloat;use Bio::SeqIO;use Bio::Seq;my $version = "1.3";## prepare parameters ######################################################################### -------------------------------------------------------------------------------------------## GetOptionsmy %opts;GetOptions(\%opts, "in=s", "id1=s", "id2=s", "k=s", "od=s","h");if(!defined($opts{in}) || !defined($opts{id1}) || !defined($opts{k}) || !defined($opts{id2}) || !defined($opts{od}) ||defined($opts{h})){print <<"Usage End.";Description:$version:lefse analysisUsageForced parameter: -inAll_DEG_venn.xls must be given-od outdir must be given-id1 left DEG.final.xls must be given-id2 right DEG.final.xls must be given-k noRef_trans_full_table.xls (kegg anno)Other parameter:-h Help documentUsage End.exit;}open(IN,"$opts{in}")||die "open file $opts{in} failed.\n";my %left;my %right;my %center;while(){next if(/^all_id/);chomp;my @line = split ("\t",$_);if($line[1] ne "-" && $line[2] eq "-"){$left{$line[0]} = $line[0];}if($line[1] eq "-" && $line[2] ne "-"){$right{$line[0]} = $line[0];}if($line[1] ne "-" && $line[2] ne "-"){$center{$line[0]} = $line[0];}}close(IN);open(IN,"$opts{k}") || die "open file $opts{k} failed.\n";open(ID1,"$opts{id1}")||die "open file $opts{id1} failed.\n";open(ID2,"$opts{id2}")||die "open file $opts{id2} failed.\n";my %kegg;while(){chomp;my @line = split("\t");if(/^#/){print "$line[23]\n\n";}$kegg{$line[0]} = $line[23];}close(IN);my %deg1;while(){next if(/^#/);chomp;my @line = split("\t");$deg1{$line[0]} = $_;}close(ID1);my %deg2;while(){next if(/^#/);chomp;my @line = split("\t");$deg2{$line[0]} = $_;}close(ID2);open(UP,">$opts{od}/left_up.txt")||die "open file $opts{od}/left_up.txt failed.\n";open(DOWN,">$opts{od}/left_down.txt")||die "open file $opts{od}/left_down.txt failed.\n";while((my $key,my $value) = each %left){my @line = split("\t",$deg1{$key});if($line[7] eq "up"){print UP "$deg1{$key}\t$kegg{$key}\n";}if($line[7] eq "down"){print DOWN "$deg1{$key}\t$kegg{$key}\n";}}close(UP);close(DOWN);open(UP,">$opts{od}/right_up.txt")||die "open file $opts{od}/right_up.txt failed.\n";open(DOWN,">$opts{od}/right_down.txt")||die "open file $opts{od}/right_down.txt failed.\n";while((my $key,my $value) = each %right){my @line = split("\t",$deg2{$key});if($line[7] eq "up"){print UP "$deg2{$key}\t$kegg{$key}\n";}if($line[7] eq "down"){print DOWN "$deg2{$key}\t$kegg{$key}\n";}}close(UP);close(DOWN);open(UP,">$opts{od}/center_up.txt")||die "open file $opts{od}/center_up.txt failed.\n";open(DOWN,">$opts{od}/center_down.txt")||die "open file $opts{od}/center_down.txt failed.\n";open(DIFF,">$opts{od}/center_diff.txt")||die "open file $opts{od}/center_diff.txt failed.\n";while((my $key,my $value) = each %center){my @line1 = split("\t",$deg1{$key});my @line2 = split("\t",$deg2{$key});if($line1[7] eq "up" && $line2[7] eq "up"){print UP "$deg1{$key}\t$deg2{$key}\t$kegg{$key}\n";}elsif($line1[7] eq "down" && $line2[7] eq "down"){print DOWN "$deg1{$key}\t$deg2{$key}\t$kegg{$key}\n";}else{print DIFF "$deg1{$key}\t$deg2{$key}\t$kegg{$key}\n";}}close(UP);close(DOWN);close(DIFF); 到此,相信大家对"perl怎么画韦恩图"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
韦恩
文件
内容
脚本
学习
实用
更深
两个
代码
兴趣
基因
实用性
实际
差异
操作简单
方法
更多
朋友
结果
网站
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
政府网络安全保卫中心
执行数据库可以激活触发器的
《网络安全法》施行情况
数据库所在盘符满了
裸金属服务器怎么配置
我的世界中国服务器小游戏怎么玩
数据库建表时时间类型默认
关于网络技术的部门
软件开发属于技术出口
数据库为什么要用左连接
怎么进入局域网服务器
深圳市赛道网络技术有限公司
阴阳师哪个服务器彩虹多
网络安全法基本
数据库练习题及答案
软件开发 客户角色
和平精英改动后无法连接服务器
数据库和传统文件
web服务器集群技术缩写
怎样才能自律软件开发
问卷调查网络安全论文
专家看网络安全
数据库系统可以实现
临沂网络安全培训机构排名
java实现服务器负载均衡
杠杆画图软件开发
tomcat连接数据库
计算机大赛网络技术
网络安全网
爱米基因微生物数据库