#!/usr/bin/perl
use strict;
use warnings;
use File::Basename;
open (OUT, ">text.file")|| die "can not open the text.file\n";
my %data;
my @files = glob "*.vcf";
for my $file (@files) {
my $file_name = basename ($file);
print "$file_name\n";
open my $fh, '<', $file or die $!;
while (<$fh>) {
next if /^\s*$/;
next if /^gene_number/;
next if /^#/;
$_ =~s/[\n\r]//g;
my @array = split/\t/,$_;
my ($num, $pos, $snp) =($array[0],$array[1],$array[3]."|".$array[4]);
print "$num\t$pos\t$snp\n";
chomp;
#my ($num, $pos, $snp) = split;
$data{$num}{$pos}{$file_name} = $snp;
}
close $fh;
}
print OUT"reference\tposition";
for my $file (sort @files) {
my $file_name = basename ($file);
my @new_file_name=split/_/,$file_name;
print OUT"\t$new_file_name[0]";
}
print OUT"\n";
for my $num (sort keys %data) {
for my $pos (sort keys %{$data{$num}}) {
print OUT"$num\t$pos";
for my $file (sort @files) {
my $file_name = basename ($file);
if (exists $data{$num}{$pos}{$file_name})
{
print OUT"\t$data{$num}{$pos}{$file_name}";
} else
{
print OUT"\t.";
}
}
print OUT"\n";
}
}
批量处理
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 有些时候,我们不仅要对一张图片进行处理,可能还会对一批图片处理。这时候,我们可以通过循环来执行处理,也可以调用程序...
- 近日处理了一批照片,现在分享一下如何在mac平台进行图片批量处理。 处理的目标 尺寸压缩 文件大小压缩 准备 br...