GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | ||||||||||||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | ||||||||||||||||||||
GeezerVison is showing github.com — Score all sequence pairs without building alignments (GLOBAL, LOCAL): 27-286x faster getAllPairsScores by mikepapadim · Pull Request #1161 · biojava/biojava ConversationFollow-up to #1158, proposal (1): a CPU-only fast path, no new dependencies. What
The new package-private
Other scorer types ( Speed
On PF00104, Tests
It also checks that The whole A bug this found in the existing path
How to rungit fetch https://github.com/mikepapadim/biojava.git perf/all-pairs-scores && git checkout FETCH_HEAD mvn -pl biojava-alignment -am install -DskipTests mvn -pl biojava-alignment test -Dtest=AllPairsScoresTest # parity with the aligners mvn -pl biojava-alignment test # whole module To time it yourself, a minimal program (run it against var seqs = new ArrayList<ProteinSequence>(); // e.g. FastaReaderHelper.readFastaProteinSequence(file).values() var scores = Alignments.getAllPairsScores(seqs, PairwiseSequenceScorerType.GLOBAL, new SimpleGapPenalty(10, 1), SubstitutionMatrixHelper.getBlosum62()); ConcurrencyTools.shutdown();
Sorry, something went wrong. Uh oh!
There was an error while loading. Please reload this page. All reactionsAlignments.getAllPairsScores, and the pairwise stage of getMultipleSequenceAlignment, built a full NeedlemanWunsch or SmithWaterman alignment for every pair, with a traceback matrix of objects per cell, only to read its score. For GLOBAL and LOCAL scoring the score needs only the last row of the dynamic programming matrix. AllPairsScores scores each pair in linear memory on primitive arrays, with the recurrences of AlignerHelper (linear and affine gap penalties), so the scores are exactly the aligners'. The scorers it returns for the guide tree have the aligners' maximum and minimum scores, hence the same distances and the same multiple alignment. Pairs run on the ConcurrencyTools pool, one task per query sequence. Other scorer types, a single sequence, an empty sequence or mixed compound sets take the existing path. AllPairsScoresTest checks scores, maximum, minimum, distance and similarity of every pair against the aligners for random and related proteins, rare compounds, very different lengths, DNA, six gap penalties and three matrices, and the multiple alignment for GLOBAL and LOCAL. SmithWaterman with a linear gap penalty throws for a pair with no positive substitution score (ArrayIndexOutOfBoundsException in its traceback), and getListFromFutures drops that pair's score, so runPairwiseScorers returns fewer scores than pairs. The local score of such a pair is 0, which is what the new path returns; noPositiveLocalCell documents the case.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
ReviewersNo reviewsUh oh!
There was an error while loading. Please reload this page. AssigneesNo one assignedLabels
None yet
ProjectsMilestoneNo milestoneDevelopmentSuccessfully merging this pull request may close these issues. Uh oh!
There was an error while loading. Please reload this page. Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later. | ||||||||||||||||||||
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |