src/hg/utils/automation/doCpgIslands.pl 1.3

1.3 2010/02/11 23:49:36 hiram
check source input for enough valid bases before running cpglh.exe
Index: src/hg/utils/automation/doCpgIslands.pl
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/utils/automation/doCpgIslands.pl,v
retrieving revision 1.2
retrieving revision 1.3
diff -b -B -U 4 -r1.2 -r1.3
--- src/hg/utils/automation/doCpgIslands.pl	13 Mar 2009 22:27:12 -0000	1.2
+++ src/hg/utils/automation/doCpgIslands.pl	11 Feb 2010 23:49:36 -0000	1.3
@@ -141,9 +141,9 @@
 mkdir -p hardMaskedFa
 foreach chrom ( `twoBitInfo $maskedSeq stdout | cut -f1` )
    twoBitToFa ${maskedSeq}:\$chrom stdout \\
       | maskOutFa stdin hard \\
-      hardMaskedFa\/\$\{chrom\}.fa
+      hardMaskedFa/\$chrom.fa
 end
 _EOF_
   );
   $bossScript->execute();
@@ -162,9 +162,14 @@
 
   $bossScript->add(<<_EOF_
 mkdir -p results
 foreach chrom ( `twoBitInfo $maskedSeq stdout | cut -f1` )
-   ./cpglh.exe hardMaskedFa\/\$\{chrom\}.fa > results\/\$\{chrom\}.cpg
+    set C = `faCount hardMaskedFa/\$chrom.fa | egrep -v "^#seq|^total" | awk '{print  \$2 - \$7 }'`
+    if ( \$C > 200 ) then
+	./cpglh.exe hardMaskedFa/\$chrom.fa > results/\$chrom.cpg
+    else
+	touch results/\$chrom.cpg
+    endif
 end
 _EOF_
   );
   $bossScript->execute();