diff --git a/gortools/src/main/scala/gorsat/Analysis/GrannoAnalysis.scala b/gortools/src/main/scala/gorsat/Analysis/GrannoAnalysis.scala index 3a27dbd6..1f89a44f 100644 --- a/gortools/src/main/scala/gorsat/Analysis/GrannoAnalysis.scala +++ b/gortools/src/main/scala/gorsat/Analysis/GrannoAnalysis.scala @@ -44,14 +44,15 @@ object GrannoAnalysis { def process(r: Row, BA: BinAggregator): Unit = { val chr = r.chr val binID = binIDgen.ID(1) + val sta : Int = 0 + var sto : Int = 1000000000 try { - val (sta, sto) = (0, session.getProjectContext.getReferenceBuild.getBuildSize.get(r.chr)) - BA.update(r, binID, chr, sta, sto) + sto = session.getProjectContext.getReferenceBuild.getBuildSize.get(r.chr) } catch { - case _: Exception => - val (sta, sto) = (0, 1000000000) - BA.update(r, binID, chr, sta, sto) + case _: Exception => // Ignore, use default value } + + BA.update(r, binID, chr, sta, sto) } // One ouput row per input row } diff --git a/gortools/src/main/scala/gorsat/Analysis/WhereAnalysis.scala b/gortools/src/main/scala/gorsat/Analysis/WhereAnalysis.scala index 7b110284..a20bdfd9 100644 --- a/gortools/src/main/scala/gorsat/Analysis/WhereAnalysis.scala +++ b/gortools/src/main/scala/gorsat/Analysis/WhereAnalysis.scala @@ -65,7 +65,7 @@ case class WhereAnalysis(context: GorContext, executeNor: Boolean, paramString: } override def process(r: Row): Unit = { - if (!isFilterValid || filter.evalBooleanFunction(r)) { + if ((isFilterValid && filter.evalBooleanFunction(r)) || (!isFilterValid && ignoreFilterError)) { // Row is passed if the filter is invalid (TRYWHERE) or if the filter evaluates to true statsInc("rows passed through filter") super.process(r)