千家信息网

perl怎么画韦恩图

发表于:2024-12-12 作者:千家信息网编辑
千家信息网最后更新 2024年12月12日,本篇内容主要讲解"perl怎么画韦恩图",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"perl怎么画韦恩图"吧!用法如下:perl venn_up_or_d
千家信息网最后更新 2024年12月12日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.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)            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安全错误 数据库的锁怎样保障安全 花都区软件开发培训班 跑跑手游服务器角色查询 网络安全信息办公室 服务 持续集成 数据库 员工管理系统数据库 放心的生产管理软件开发流程 与服务器时间同步失败 北京天行网络技术有限公司 网络安全管控专家 奉贤网络安全宣传《贤城警事》 新一代 软件开发与服务 流云网络技术有限公司 网络安全培训资料word 大象数据库官网产品 网络安全视频半小时 生活数据库的应用实例作用 服务器运维具体工作内容 在云服务器上运行有什么不一样 方舟进化生存如何进服务器 有没没有网络安全手抄报 华为笔记本云端服务器 宝拓网络技术有限公司 虚拟服务器怎么放东西进去 网络安全手抄报设计色彩 网络安全漫画图片小学 数据库迁移方案范文 面对网络安全如何防范 ibm服务器管理口hba 万能拉力实验机软件开发工具 四川前端软件开发收费报价表
0