src/hg/encode/encodeValidate/doEncodeValidate.pl 1.206
1.206 2009/12/09 19:32:59 braney
add support for SAM and BAM files (call validateFiles)
Index: src/hg/encode/encodeValidate/doEncodeValidate.pl
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/encode/encodeValidate/doEncodeValidate.pl,v
retrieving revision 1.205
retrieving revision 1.206
diff -b -B -U 4 -r1.205 -r1.206
--- src/hg/encode/encodeValidate/doEncodeValidate.pl 5 Dec 2009 00:21:24 -0000 1.205
+++ src/hg/encode/encodeValidate/doEncodeValidate.pl 9 Dec 2009 19:32:59 -0000 1.206
@@ -354,8 +354,10 @@
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
);
my $floatRegEx = "[-+]?[0-9]*\\.?[0-9]+([eE][-+]?[0-9]+)?";
@@ -794,8 +796,42 @@
doTime("done validateCsfasta") if $opt_timing;
return ();
}
+sub validateSAM
+{
+ my ($path, $file, $type) = @_;
+ doTime("beginning validateSAM") if $opt_timing;
+ HgAutomate::verbose(2, "validateSAM($path,$file,$type)\n");
+ my $paramList = validationSettings("validateFiles","SAM");
+ my $safe = SafePipe->new(CMDS => ["validateFiles $quickOpt $paramList -type=SAM $file"]);
+ if(my $err = $safe->exec()) {
+ print STDERR "ERROR: failed validateSAM : " . $safe->stderr() . "\n";
+ # don't show end-user pipe error(s)
+ return("failed validateSAM for '$file'");
+ }
+ HgAutomate::verbose(2, "File \'$file\' passed $type validation\n");
+ doTime("done validateSAM") if $opt_timing;
+ return ();
+}
+
+sub validateBAM
+{
+ my ($path, $file, $type) = @_;
+ doTime("beginning validateBAM") if $opt_timing;
+ HgAutomate::verbose(2, "validateBAM($path,$file,$type)\n");
+ my $paramList = validationSettings("validateFiles","BAM");
+ my $safe = SafePipe->new(CMDS => ["validateFiles $quickOpt $paramList -type=BAM $file"]);
+ if(my $err = $safe->exec()) {
+ print STDERR "ERROR: failed validateBAM : " . $safe->stderr() . "\n";
+ # don't show end-user pipe error(s)
+ return("failed validateBAM for '$file'");
+ }
+ HgAutomate::verbose(2, "File \'$file\' passed $type validation\n");
+ doTime("done validateBAM") if $opt_timing;
+ return ();
+}
+
sub validateCsqual
{
# Syntax per http://marketing.appliedbiosystems.com/mk/submit/SOLID_KNOWLEDGE_RD?_JS=T&rd=dm
# Sample:-