(ArrayList<String> segments, BloomFilterDeBruijnGraph graph, int lookahead)
| 4834 | } |
| 4835 | |
| 4836 | public static String connect(ArrayList<String> segments, BloomFilterDeBruijnGraph graph, int lookahead) { |
| 4837 | int numSeqs = segments.size(); |
| 4838 | switch (numSeqs) { |
| 4839 | case 0: |
| 4840 | return ""; |
| 4841 | case 1: |
| 4842 | return segments.get(0); |
| 4843 | default: |
| 4844 | int k = graph.getK(); |
| 4845 | String last = segments.get(0); |
| 4846 | String longest = last; |
| 4847 | |
| 4848 | for (int i=1; i<numSeqs; i+=2) { |
| 4849 | String current = segments.get(i+1); |
| 4850 | |
| 4851 | String connected = connect(last, current, graph, segments.get(i).length()+k, lookahead); |
| 4852 | int connectedLength = connected.length(); |
| 4853 | |
| 4854 | if (connectedLength > 0) { |
| 4855 | last = connected; |
| 4856 | |
| 4857 | if (connectedLength > longest.length()) { |
| 4858 | longest = connected; |
| 4859 | } |
| 4860 | } |
| 4861 | else { |
| 4862 | last = current; |
| 4863 | |
| 4864 | if (current.length() > longest.length()) { |
| 4865 | longest = current; |
| 4866 | } |
| 4867 | } |
| 4868 | } |
| 4869 | |
| 4870 | return longest; |
| 4871 | } |
| 4872 | } |
| 4873 | |
| 4874 | public static String connect(String left, String right, BloomFilterDeBruijnGraph graph, int bound, int lookahead) { |
| 4875 | int k = graph.getK(); |
no test coverage detected