MCPcopy Create free account
hub / github.com/BirolLab/RNA-Bloom / run

Method run

src/rnabloom/RNABloom.java:4230–4288  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

4228 }
4229
4230 @Override
4231 public void run() {
4232 try {
4233 while (true) {
4234 Fragment frag = fragments.poll(10, TimeUnit.MICROSECONDS);
4235
4236 if (frag == null) {
4237 if (!keepGoing) {
4238 break;
4239 }
4240 }
4241 else {
4242 float minCov = frag.minCov;
4243
4244 if (frag.isUnconnectedRead) {
4245 ++readPairsNotConnected;
4246
4247 String seq = frag.left;
4248 if (seq != null && seq.length() >= k) {
4249 writers.writeUnconnected(seq, minCov);
4250 }
4251
4252 seq = frag.right;
4253 if (seq != null && seq.length() >= k) {
4254 writers.writeUnconnected(seq, minCov);
4255 }
4256 }
4257 else {
4258 ++readPairsConnected;
4259
4260 int fragLen = frag.kmers.size()+ k - 1; // not using frag.length because it is the original length and frag may be extended
4261
4262 if (fragLen >= shortestFragmentLengthAllowed && minCov > 0) {
4263 ArrayList<Kmer> fragKmers = frag.kmers;
4264 boolean hasAllKmers = lookupAndAddAllKmers(screeningBf, fragKmers);
4265
4266 if (fragLen < longFragmentLengthThreshold) {
4267 if (!hasAllKmers) {
4268 writers.writeShort(graph.assemble(fragKmers), minCov);
4269 }
4270 }
4271 else {
4272 boolean hasAllKmerPairs = graph.lookupAndAddAllPairedKmers(fragKmers);
4273 if (!hasAllKmers || !hasAllKmerPairs) {
4274 writers.writeLong(graph.assemble(fragKmers), minCov);
4275 }
4276 }
4277 }
4278 }
4279 }
4280 }
4281
4282 writers.closeAll();
4283 }
4284 catch(Exception ex) {
4285 ex.printStackTrace();
4286 throw new RuntimeException(ex);
4287 }

Callers

nothing calls this directly

Calls 8

writeUnconnectedMethod · 0.80
lookupAndAddAllKmersMethod · 0.80
writeShortMethod · 0.80
assembleMethod · 0.80
writeLongMethod · 0.80
closeAllMethod · 0.80
sizeMethod · 0.45

Tested by

no test coverage detected