Steffen Möller pushed to branch master at Debian Med / tantan
Commits: 5d55a974 by Steffen Moeller at 2020-05-09T16:22:25+02:00 New upstream version 23 - - - - - 16c22f35 by Steffen Moeller at 2020-05-09T16:22:25+02:00 routine-update: New upstream version - - - - - ed054b35 by Steffen Moeller at 2020-05-09T16:22:25+02:00 Update upstream source from tag 'upstream/23' Update to upstream version '23' with Debian dir ab2da0808102878474128f6a9a49c83e80a41290 - - - - - a5e5f2d4 by Steffen Moeller at 2020-05-09T16:22:27+02:00 routine-update: Add salsa-ci file - - - - - 825225c7 by Steffen Moeller at 2020-05-09T16:22:27+02:00 routine-update: Rules-Requires-Root: no - - - - - f5f471a4 by Steffen Moeller at 2020-05-09T16:22:33+02:00 Use secure URI in Homepage field. Fixes: lintian: homepage-field-uses-insecure-uri See-also: https://lintian.debian.org/tags/homepage-field-uses-insecure-uri.html - - - - - 81c7ecc3 by Steffen Moeller at 2020-05-09T16:22:50+02:00 routine-update: Ready to upload to unstable - - - - - 6 changed files: - ChangeLog.txt - debian/changelog - debian/control - + debian/salsa-ci.yml - src/tantan.cc - src/version.hh Changes: ===================================== ChangeLog.txt ===================================== @@ -1,8 +1,14 @@ +2020-05-07 Martin C. Frith <Martin C. Frith> + + * src/tantan.cc: + Make it faster + [6b7981c6d602] [tip] + 2018-12-19 Martin C. Frith <Martin C. Frith> * src/tantan.cc: Make it faster - [3523060bcfb9] [tip] + [3523060bcfb9] * src/tantan_repeat_finder.cc, src/tantan_repeat_finder.hh: Make -f4 a bit faster ===================================== debian/changelog ===================================== @@ -1,3 +1,13 @@ +tantan (23-1) unstable; urgency=medium + + * Team upload. + * New upstream version + * Add salsa-ci file (routine-update) + * Rules-Requires-Root: no (routine-update) + * Use secure URI in Homepage field. + + -- Steffen Moeller <[email protected]> Sat, 09 May 2020 16:22:36 +0200 + tantan (22-2) unstable; urgency=medium * Add registry references (thanks Steffen Moeller). ===================================== debian/control ===================================== @@ -7,7 +7,8 @@ Build-Depends: debhelper-compat (= 12) Standards-Version: 4.5.0 Vcs-Browser: https://salsa.debian.org/med-team/tantan Vcs-Git: https://salsa.debian.org/med-team/tantan.git -Homepage: http://www.cbrc.jp/tantan/ +Homepage: https://www.cbrc.jp/tantan/ +Rules-Requires-Root: no Package: tantan Architecture: any ===================================== debian/salsa-ci.yml ===================================== @@ -0,0 +1,4 @@ +--- +include: + - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/salsa-ci.yml + - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/pipeline-jobs.yml ===================================== src/tantan.cc ===================================== @@ -274,6 +274,10 @@ struct Tantan { return seqPtr - seqBeg < maxRepeatOffset; } + int maxOffsetInTheSequence() { + return isNearSeqBeg() ? (seqPtr - seqBeg) : maxRepeatOffset; + } + const uchar *seqFurthestBack() { return isNearSeqBeg() ? seqBeg : seqPtr - maxRepeatOffset; } @@ -296,6 +300,50 @@ struct Tantan { } } + void calcForwardTransitionAndEmissionProbs() { + if (endGapProb > 0) { + calcForwardTransitionProbsWithGaps(); + calcEmissionProbs(); + return; + } + + double b = backgroundProb; + double fromForeground = 0; + double *foregroundBeg = BEG(foregroundProbs); + const double *lrRow = likelihoodRatioMatrix[*seqPtr]; + int maxOffset = maxOffsetInTheSequence(); + + for (int i = 0; i < maxOffset; ++i) { + double f = foregroundBeg[i]; + fromForeground += f; + foregroundBeg[i] = (b * b2fProbs[i] + f * f2f0) * lrRow[seqPtr[-i-1]]; + } + + backgroundProb = b * b2b + fromForeground * f2b; + } + + void calcEmissionAndBackwardTransitionProbs() { + if (endGapProb > 0) { + calcEmissionProbs(); + calcBackwardTransitionProbsWithGaps(); + return; + } + + double toBackground = f2b * backgroundProb; + double toForeground = 0; + double *foregroundBeg = BEG(foregroundProbs); + const double *lrRow = likelihoodRatioMatrix[*seqPtr]; + int maxOffset = maxOffsetInTheSequence(); + + for (int i = 0; i < maxOffset; ++i) { + double f = foregroundBeg[i] * lrRow[seqPtr[-i-1]]; + toForeground += b2fProbs[i] * f; + foregroundBeg[i] = toBackground + f2f0 * f; + } + + backgroundProb = b2b * backgroundProb + toForeground; + } + void rescale(double scale) { backgroundProb *= scale; multiplyAll(foregroundProbs, scale); @@ -322,8 +370,7 @@ struct Tantan { initializeForwardAlgorithm(); while (seqPtr < seqEnd) { - calcForwardTransitionProbs(); - calcEmissionProbs(); + calcForwardTransitionAndEmissionProbs(); rescaleForward(); *letterProbs = static_cast<float>(backgroundProb); ++letterProbs; @@ -343,8 +390,7 @@ struct Tantan { // a sequence: *letterProbs = 1 - static_cast<float>(nonRepeatProb); rescaleBackward(); - calcEmissionProbs(); - calcBackwardTransitionProbs(); + calcEmissionAndBackwardTransitionProbs(); } double z2 = backwardTotal(); ===================================== src/version.hh ===================================== @@ -1 +1 @@ -"22" +"23" View it on GitLab: https://salsa.debian.org/med-team/tantan/-/compare/8cbd776d1dd4e18d0e674f321d8ea22923c693cf...81c7ecc308e3dbd31c15c89432160cdad28b0b1b -- View it on GitLab: https://salsa.debian.org/med-team/tantan/-/compare/8cbd776d1dd4e18d0e674f321d8ea22923c693cf...81c7ecc308e3dbd31c15c89432160cdad28b0b1b You're receiving this email because of your account on salsa.debian.org.
_______________________________________________ debian-med-commit mailing list [email protected] https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/debian-med-commit
