private boolean rangeIsValid(DesignParameters p) { try { CsvReader fileReader = new CsvFileReader(new File(p.getGenotype())); int rows = fileReader.rownames().size(); if (p.getRangeStart() != null && p.getRangeEnd() != null) for (int i = 0; i < p.getRangeStart().size(); i++) { int start = Integer.parseInt((String) p.getRangeStart().get(i)); int end = Integer.parseInt((String) p.getRangeEnd().get(i)); logger.debug("" + start + "-" + end); if (start < 1 || end > rows) { this.setArgMissing( "Marker range should be in [1,maxindex makers=" + rows + ")], found [start=" + start + ",end=" + end + "]"); return false; } else if (end < start) { this.setArgMissing( "marker range 'start' should be lower than 'end', found [start=" + start + ",end=" + end + "]"); return false; } } } catch (Exception e) { e.printStackTrace(); this.setArgMissing(e.getMessage()); return false; } return true; }