|
4 | 4 | import org.apache.log4j.Logger; |
5 | 5 | import org.jetbrains.annotations.Nullable; |
6 | 6 | import org.json.JSONObject; |
| 7 | +import org.labkey.api.pipeline.PipelineJob; |
7 | 8 | import org.labkey.api.pipeline.PipelineJobException; |
8 | 9 | import org.labkey.api.sequenceanalysis.SequenceAnalysisService; |
9 | 10 | import org.labkey.api.sequenceanalysis.pipeline.AbstractPipelineStepProvider; |
@@ -37,7 +38,7 @@ public Provider() |
37 | 38 | super("PrintReadsContaining", "Filter Reads By Sequence Motifs", "PrintReadsContaining", "This step filters input reads and will output only reads containing the provided sequence(s).", Arrays.asList( |
38 | 39 | ToolParameterDescriptor.createCommandLineParam(CommandLineParam.createSwitch("--matchAllExpressions"), "matchAllExpressions", "Match All Expressions", "If checked, the sequence must match all expressions.", "checkbox", null, false), |
39 | 40 | ToolParameterDescriptor.createCommandLineParam(CommandLineParam.create("--editDistance"), "editDistance", "Edit Distance", "If provided, the tool will perform fuzzy matching, allowing hits with up to this many mismatches. Be aware, if this is used, the query expression must be bases (ATCG) only.", "ldk-integerfield", null, null), |
40 | | - ToolParameterDescriptor.create("readExpressions", "Read Expressions (both)", "The list of expressions to test, one per line. Expressions can be simple strings or a java regular expression. The default is to retain a read pair matching any of these.", "sequenceanalysis-trimmingtextarea", new JSONObject(){{ |
| 41 | + ToolParameterDescriptor.create("readExpressions", "Read Expressions (either)", "The list of expressions to test, one per line. Expressions can be simple strings or a java regular expression. The default is to retain a read pair where either reads matches at least one of these.", "sequenceanalysis-trimmingtextarea", new JSONObject(){{ |
41 | 42 | put("replaceAllWhitespace", false); |
42 | 43 | put("width", 400); |
43 | 44 | }}, null), |
@@ -97,6 +98,7 @@ public PreprocessingStep.Output processInputFile(File inputFile, @Nullable File |
97 | 98 | Pair<File, File> outputs = getWrapper().execute(inputFile, inputFile2, output1, output2, extraArgs); |
98 | 99 | if (!SequencePipelineService.get().hasMinLineCount(outputs.first, 4)) |
99 | 100 | { |
| 101 | + getPipelineCtx().getJob().setStatus(PipelineJob.TaskStatus.error, "No passing reads were found"); |
100 | 102 | throw new PipelineJobException("No passing reads were found: " + inputFile.getPath()); |
101 | 103 | } |
102 | 104 |
|
|
0 commit comments