perl怎么画韦恩图
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,本篇内容主要讲解"perl怎么画韦恩图",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"perl怎么画韦恩图"吧!用法如下:perl venn_up_or_d
千家信息网最后更新 2025年01月19日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.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)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安全错误
数据库的锁怎样保障安全
服务器管理 原则
高青办公oa软件开发
用电脑可以充当服务器吗
网络安全 佛山公司
目前网络技术发展现状
网络安全宣传周电信日志
鬼泣巅峰之战有什么服务器
勤哲服务器系统管理密码修改
excel 数据库功能
转义符 数据库
河北军工时间同步服务器
如何访问自己新买服务器
数据库安全性有哪些
工信部软件开发工程师有用吗
蛋白质朴的数据库
威海市软件开发公司
服务器开机一直显示加载驱动程序
深圳大数据软件开发公司
滨州制造业软件开发定制
软件开发的教程
郧阳区互联网软件开发口碑推荐
Linux应用软件开发难度如何
网络技术培训ppt下载
在美国学通信网络安全
松原网络安全
烛龙游戏解说服务器的号
vb如何保存输入数据库
两会期间网络安全的通知
服务器开机一直显示加载驱动程序
提高网络安全有哪些主要技术