X-Git-Url: http://woldlab.caltech.edu/gitweb/?p=samtools.git;a=blobdiff_plain;f=bcftools%2Fvcfutils.pl;fp=bcftools%2Fvcfutils.pl;h=cd86b0fba041a77bb9d887473fa68cb853f1c597;hp=6cc168fb363f59541511429b6e6538e0263acbe1;hb=f2f3968e11eead9ce5601b01890bc2339ff951e9;hpb=6a0c6f060a60789b48e10a72b1381f6e54599302 diff --git a/bcftools/vcfutils.pl b/bcftools/vcfutils.pl index 6cc168f..cd86b0f 100755 --- a/bcftools/vcfutils.pl +++ b/bcftools/vcfutils.pl @@ -14,11 +14,27 @@ sub main { my $command = shift(@ARGV); my %func = (subsam=>\&subsam, listsam=>\&listsam, fillac=>\&fillac, qstats=>\&qstats, varFilter=>\&varFilter, hapmap2vcf=>\&hapmap2vcf, ucscsnp2vcf=>\&ucscsnp2vcf, filter4vcf=>\&varFilter, ldstats=>\&ldstats, - gapstats=>\&gapstats); + gapstats=>\&gapstats, splitchr=>\&splitchr); die("Unknown command \"$command\".\n") if (!defined($func{$command})); &{$func{$command}}; } +sub splitchr { + my %opts = (l=>5000000); + getopts('l:', \%opts); + my $l = $opts{l}; + die(qq/Usage: vcfutils.pl splitchr [-l $opts{l}] \n/) if (@ARGV == 0 && -t STDIN); + while (<>) { + my @t = split; + my $last = 0; + for (my $i = 0; $i < $t[1];) { + my $e = ($t[1] - $i) / $l < 1.1? $t[1] : $i + $l; + print "$t[0]:".($i+1)."-$e\n"; + $i = $e; + } + } +} + sub subsam { die(qq/Usage: vcfutils.pl subsam [samples]\n/) if (@ARGV == 0); my ($fh, %h);