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. */ {