src/hg/encode/encodeValidate/doEncodeValidate.pl 1.215

1.215 2010/03/23 16:27:17 braney
added support for bigWig validation
Index: src/hg/encode/encodeValidate/doEncodeValidate.pl
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/encode/encodeValidate/doEncodeValidate.pl,v
retrieving revision 1.214
retrieving revision 1.215
diff -b -B -U 4 -r1.214 -r1.215
--- src/hg/encode/encodeValidate/doEncodeValidate.pl	13 Jan 2010 00:26:32 -0000	1.214
+++ src/hg/encode/encodeValidate/doEncodeValidate.pl	23 Mar 2010 16:27:17 -0000	1.215
@@ -287,11 +287,11 @@
     rpkm  => \&validateRpkm,
     fasta  => \&validateFasta,
     bowtie  => \&validateBowtie,
     psl  => \&validatePsl,
-    SAM => \&validateSAM,
     BAM => \&validateBAM,
     cBiP => \&validateFreepass,  # TODO: this is a dodge, because bed file is for different species, so chrom violations
+    bigWig => \&validateBigWig,
     );
 
 my $floatRegEx = "[-+]?[0-9]*\\.?[0-9]+([eE][-+]?[0-9]+)?";
 # my $floatRegEx = "[+-]?(?:\\.\\d+|\\d+(?:\\.\\d+|[eE]{1}?[+-]{1}?\\d+))";  # Tim's attempt
@@ -746,8 +746,25 @@
     doTime("done validateSAM") if $opt_timing;
     return ();
 }
 
+sub validateBigWig
+{
+    my ($path, $file, $type) = @_;
+    doTime("beginning validateBigWig") if $opt_timing;
+    HgAutomate::verbose(2, "validateBigWig($path,$file,$type)\n");
+    my $paramList = validationSettings("validateFiles","bigWig");
+    my $safe = SafePipe->new(CMDS => ["validateFiles $quickOpt $paramList -type=bigWig -chromDb=$daf->{assembly} $file"]);
+    if(my $err = $safe->exec()) {
+	print STDERR  "ERROR: failed validateBigWig : " . $safe->stderr() . "\n";
+	# don't show end-user pipe error(s)
+	return("failed validateBigWig for '$file'");
+    }
+    HgAutomate::verbose(2, "File \'$file\' passed $type validation\n");
+    doTime("done validateBigWig") if $opt_timing;
+    return ();
+}
+
 sub validateBAM
 {
     my ($path, $file, $type) = @_;
     doTime("beginning validateBAM") if $opt_timing;