27747b7e78fb65a5fc35388b39a381a9937c0724
braney
  Wed Feb 16 15:23:21 2022 -0800
a small chainCleaner change from Michael Hiller

diff --git src/hg/mouseStuff/chainCleaner/chainCleaner.c src/hg/mouseStuff/chainCleaner/chainCleaner.c
index 9b7f72d..993b08c 100644
--- src/hg/mouseStuff/chainCleaner/chainCleaner.c
+++ src/hg/mouseStuff/chainCleaner/chainCleaner.c
@@ -1645,36 +1645,49 @@
    if (tSizes == NULL)
       errAbort("You must specifiy -tSizes /dir/to/target/chrom.sizes if you do not provide a net file with -net in.net\n");
    if (qSizes == NULL)
       errAbort("You must specifiy -qSizes /dir/to/query/chrom.sizes if you do not provide a net file with -net in.net\n");
 
    /* create a unique tempFile (and close it because mkstemp opens it */
    safef(netFile, sizeof(netFile), "tmp.chainCleaner.XXXXXXX.net"); 
    if ((fd = mkstemps(netFile,4)) < 0 ) {
       errAbort("ERROR: cannot create a tempfile for netting the chain file: %s\n",strerror(errno));
    } else {
       verbose(1, "\t\ttempfile for netting: %s\n", netFile);
       close(fd);
    }
 
    dyStringClear(cmd);
-   dyStringPrintf(cmd, "set -o pipefail; chainNet -minScore=0 %s %s %s stdout /dev/null | NetFilterNonNested.perl /dev/stdin -minScore1 3000 > %s", chainFile, tSizes, qSizes, netFile);
+   dyStringPrintf(cmd, "chainNet -minScore=0 %s %s %s %s.raw /dev/null", chainFile, tSizes, qSizes, netFile);
    verbose(3, "\t\trunning netting command: %s\n", cmd->string);
    retVal = system(cmd->string);
    if (0 != retVal)
-      errAbort("ERROR: chainNet | NetFilterNonNested.perl failed. Cannot net the chains. Command: %s\n", cmd->string);
+      errAbort("ERROR: chainNet failed. Cannot net the chains. Command: %s\n", cmd->string);
+   dyStringClear(cmd);
+
+   dyStringPrintf(cmd, "NetFilterNonNested.perl %s.raw -minScore1 3000 > %s", netFile, netFile);
+   verbose(3, "\t\trunning NetFilterNonNested.perl command: %s\n", cmd->string);
+   retVal = system(cmd->string);
+   if (0 != retVal)
+      errAbort("ERROR: NetFilterNonNested.perl failed. Cannot filter the nets. Command: %s\n", cmd->string);
    verbose(3, "\t\tnetting done\n");
+   dyStringClear(cmd);
+   
+   dyStringPrintf(cmd, "rm -f %s.raw", netFile);
+   verbose(3, "\t\trunning %s\n", cmd->string);
+   retVal = system(cmd->string);
+   dyStringClear(cmd);
    
    inNetFile = cloneString(netFile);
 }
 
 
 
 
 
 
 /* ################################################################################### */
 /*   main                                                                              */
 /* ################################################################################### */
 int main(int argc, char *argv[])
 /* Process command line. */
 {