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

Method getBestSegment

src/rnabloom/util/GraphUtils.java:4796–4834  ·  view source on GitHub ↗
(ArrayList<String> segments, BloomFilterDeBruijnGraph graph)

Source from the content-addressed store, hash-verified

4794 }
4795
4796 public static String getBestSegment(ArrayList<String> segments, BloomFilterDeBruijnGraph graph) {
4797 int numSeqs = segments.size();
4798 switch (numSeqs) {
4799 case 0:
4800 return "";
4801 case 1:
4802 return segments.get(0);
4803 default:
4804 int k = graph.getK();
4805
4806 String best = "";
4807 float bestCov = 0;
4808
4809 NTHashIterator itr = graph.getHashIterator();
4810 long[] hVals = itr.hVals;
4811
4812 for (String seg : segments) {
4813 if (seg.length() >= k) {
4814 itr.start(seg);
4815
4816 float min = Float.MAX_VALUE;
4817 while (itr.hasNext()) {
4818 itr.next();
4819 float c = graph.getCount(hVals);
4820 if (c < min) {
4821 min = c;
4822 }
4823 }
4824
4825 if (min > bestCov) {
4826 best = seg;
4827 bestCov = min;
4828 }
4829 }
4830 }
4831
4832 return best;
4833 }
4834 }
4835
4836 public static String connect(ArrayList<String> segments, BloomFilterDeBruijnGraph graph, int lookahead) {
4837 int numSeqs = segments.size();

Callers

nothing calls this directly

Calls 8

startMethod · 0.95
hasNextMethod · 0.95
nextMethod · 0.95
getMethod · 0.65
getCountMethod · 0.65
sizeMethod · 0.45
getKMethod · 0.45
getHashIteratorMethod · 0.45

Tested by

no test coverage detected