projects
/
tabix.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Changelog entry marking the package released.
[tabix.git]
/
TabixReader.java
diff --git
a/TabixReader.java
b/TabixReader.java
index 40d395120e4df26cbf04a7667fba2775a921a05b..0d359c5968ef218020b22bf3394fb049da16fcf6 100644
(file)
--- a/
TabixReader.java
+++ b/
TabixReader.java
@@
-217,7
+217,7
@@
public class TabixReader
int[] ret = new int[3];
colon = reg.indexOf(':'); hyphen = reg.indexOf('-');
chr = colon >= 0? reg.substring(0, colon) : reg;
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;
ret[2] = hyphen >= 0? Integer.parseInt(reg.substring(hyphen+1)) : 0x7fffffff;
ret[0] = chr2tid(chr);
return ret;
@@
-231,7
+231,7
@@
public class TabixReader
if (col == mSc) {
intv.tid = chr2tid(s.substring(beg, end));
} else if (col == mBc) {
if (col == mSc) {
intv.tid = chr2tid(s.substring(beg, end));
} else if (col == mBc) {
- intv.beg = intv.end = Integer.parseInt(s.substring(beg, end));
+ intv.beg = intv.end = Integer.parseInt(s.substring(beg, end
==-1?s.length():end
));
if ((mPreset&0x10000) != 0) ++intv.end;
else --intv.beg;
if (intv.beg < 0) intv.beg = 0;
if ((mPreset&0x10000) != 0) ++intv.end;
else --intv.beg;
if (intv.beg < 0) intv.beg = 0;
@@
-339,6
+339,7
@@
public class TabixReader
for (int j = 0; j < chunks.length; ++j)
if (less64(min_off, chunks[j].v))
off[n_off++] = new TPair64(chunks[j]);
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) {
Arrays.sort(off, 0, n_off);
// resolve completely contained adjacent blocks
for (i = 1, l = 0; i < n_off; ++i) {
@@
-385,7
+386,7
@@
public class TabixReader
System.out.println(s);
} else { // a region is specified; random access
TabixReader.Iterator iter = tr.query(args[1]); // get the iterator
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) {
System.out.println(s);
}
} catch (IOException e) {