int[] ret = new int[3];
colon = reg.indexOf(':'); hyphen = reg.indexOf('-');
chr = colon >= 0? reg.substring(0, colon) : reg;
- ret[1] = colon >= 0? Integer.parseInt(reg.substring(colon+1, hyphen)) - 1 : 0;
+ ret[1] = colon >= 0? Integer.parseInt(reg.substring(colon+1, hyphen >= 0? hyphen : reg.length())) - 1 : 0;
ret[2] = hyphen >= 0? Integer.parseInt(reg.substring(hyphen+1)) : 0x7fffffff;
ret[0] = chr2tid(chr);
return ret;
for (int j = 0; j < chunks.length; ++j)
if (less64(min_off, chunks[j].v))
off[n_off++] = new TPair64(chunks[j]);
+ if (n_off == 0) return null;
Arrays.sort(off, 0, n_off);
// resolve completely contained adjacent blocks
for (i = 1, l = 0; i < n_off; ++i) {
System.out.println(s);
} else { // a region is specified; random access
TabixReader.Iterator iter = tr.query(args[1]); // get the iterator
- while ((s = iter.next()) != null)
+ while (iter != null && (s = iter.next()) != null)
System.out.println(s);
}
} catch (IOException e) {