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

Method run

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

Source from the content-addressed store, hash-verified

1814 }
1815
1816 @Override
1817 public void run() {
1818 try {
1819 int fragKmersDist = graph.getFragPairedKmerDistance();
1820 int maxEdgeClipLength = minPolyATailLengthRequired > 0 ? 0 : maxTipLength;
1821 boolean keepBluntEndArtifact = keepArtifact;
1822
1823 String fragment;
1824 while ((fragment = fin.next()) != null) {
1825 ++numParsed;
1826// String seq = "";
1827// ArrayList<Kmer> kmers2 = graph.getKmers(seq);
1828// printPairedKmersPositions(kmers2, graph);
1829
1830 ArrayList<Kmer> kmers = graph.getKmers(fragment);
1831
1832 if (!kmers.isEmpty()) {
1833 if ( (!extendBranchFreeFragmentsOnly || isBranchFree(kmers, graph, maxTipLength)) &&
1834 !represented(kmers,
1835 graph,
1836 screeningBf,
1837 lookahead,
1838 maxIndelSize,
1839 maxEdgeClipLength,
1840 percentIdentity) &&
1841 (keepChimera || !isChimera(kmers, graph, screeningBf, lookahead)) &&
1842 (keepBluntEndArtifact || !isBluntEndArtifact(kmers, graph, screeningBf, maxEdgeClipLength)) ) {
1843
1844 int[] originalFragRange;
1845
1846 if (haveFragKmers) {
1847 originalFragRange = extendPE(kmers, graph, maxTipLength, minKmerCov);
1848 }
1849 else {
1850 originalFragRange = extendSE(kmers, graph, maxTipLength, minKmerCov);
1851 }
1852
1853 int[] currentRange = new int[]{0, kmers.size()};
1854
1855 if (haveFragKmers) {
1856 if (kmers.size() >= fragKmersDist) {
1857 ArrayDeque<int[]> ranges = breakWithFragPairedKmers(kmers, graph, minNumKmerPairs);
1858 int numFragSegs = ranges.size();
1859
1860 if (numFragSegs == 1) {
1861 currentRange = ranges.peekFirst();
1862 }
1863 else if (numFragSegs > 1) {
1864 int bestOverlap = 0;
1865 int[] bestRange = null;
1866 for (int[] range : ranges) {
1867 int overlap = intervalOverlapSize(range, originalFragRange);
1868 if (overlap > bestOverlap) {
1869 bestOverlap = overlap;
1870 bestRange = range;
1871 }
1872 }
1873

Callers

nothing calls this directly

Calls 15

isBranchFreeMethod · 0.80
representedMethod · 0.80
isChimeraMethod · 0.80
isBluntEndArtifactMethod · 0.80
extendPEMethod · 0.80
extendSEMethod · 0.80
intervalOverlapSizeMethod · 0.80
nextMethod · 0.65

Tested by

no test coverage detected