Граф коммитов

330 Коммитов

Автор SHA1 Сообщение Дата
Nigel Delaney b3b866c067
Merge pull request #38 from acesnik/master
Add three letter abbreviations to ProteinAlphabet
2018-01-26 18:56:48 -08:00
Anthony 3f96c9bd0d fix 2018-01-25 15:10:37 -06:00
Anthony 59f183a6c7 Update comments 2018-01-25 15:08:41 -06:00
Anthony 649da1a5e5 Update ambiguous 3-letter notation to formal ones. Add get methods for symbol-abbrev mappings. 2018-01-25 15:05:46 -06:00
Anthony 89acab31f3 alphabet fix 2018-01-24 14:08:12 -06:00
Anthony 530ac8687f Mummer alphabet change. 2018-01-24 13:54:53 -06:00
Anthony e5d8df37ae Changes to AmbiguousProteinAlphabet 2018-01-24 13:50:35 -06:00
Anthony 1a8134b733 Add three letter abbreviations to ProteinAlphabet 2018-01-24 13:43:35 -06:00
Nigel Delaney 41966923c0
Merge pull request #36 from dotnetbio/bam_parse_perf
BAM Parser Performance Tweaks
2017-11-05 12:47:01 -08:00
Nigel Delaney 3e9b557920 Shaves off another 10% of time
Convert O(N*M) check into O(N+M) most of the time.  This could be even
faster by caching the usual maximum value.
2017-11-05 12:11:46 -08:00
Nigel Delaney 0668d7a99b VType Check Optimization
This shaves off about 8% of the runtime in this benchmark
http://evolvedmicrobe.com/blogs/?p=398
2017-11-05 11:46:46 -08:00
Nigel Delaney 7aaa8506a4 Remove unnecessary check
Very minor performance tweak.  This range check is always satisfied in
the code, and the exception would have been caught in the array access
anyway.
2017-11-05 11:43:35 -08:00
Nigel Delaney 5fe52bfc4f Merge pull request #31 from dotnetbio/fix_plat_tests
Fix Tests
2017-09-26 19:17:29 -04:00
Nigel Delaney e8d9caffec Fix Bed Test 2017-09-26 11:36:23 -07:00
Nigel Delaney e782ac3b2a Fix Tests
Lots of “\r\n” vs “\n” issues
2017-09-26 11:28:44 -07:00
Nigel Delaney eada7d0f92 Case-Sensitive Changes 2017-09-25 23:17:43 -07:00
Mark Smith e11a5a4f39 Fix more filename casing. 2017-09-21 15:45:59 -05:00
Mark Smith 209a6cd84f Fix casing of test filenames. 2017-09-21 15:30:51 -05:00
Mark Smith 6871909a4a Builds clean on macOS. 2017-09-21 14:35:55 -05:00
Mark Smith 33b290f7b0 Fixup filename paths globally for test filenames + Linux. 2017-09-21 13:10:01 -05:00
Mark Smith 819dacb5a8 Try to reactivate tests in travis. 2017-09-21 12:51:46 -05:00
Mark Smith aa2df4cb25 Update tests, fix casing in solution file
.NET Core apparently is case-sensitive in the csproj paths; and it inherits the path from the solution .. which is _not_ case-sensitive. Silly rabbit.
2017-09-21 12:51:09 -05:00
Mark Smith 46ffbb9417 Remove tests .. need to copy test files :/ 2017-09-21 09:32:17 -05:00
Mark Smith 624986319f Remove old csproj file, fix casing in csproj. 2017-09-21 09:27:41 -05:00
Mark Smith 5eff720df2 Fix path separator for travis (Linux) 2017-09-21 09:20:05 -05:00
Mark Smith d7698f2af6 Bump PamSam version for NuGet
Fix manifest resource.
2017-09-21 09:16:53 -05:00
Mark Smith 9e282fb515 Lots of bio goodness
1. Fix unit tests for Travis (hope)
2. Add SequenceAssember tool
3. Add Padena tests
4. Add Pamsam tests
2017-09-21 09:14:49 -05:00
Mark Smith 48b7d8a18a Push V3 based on .NET Standard 2017-09-19 09:39:26 -05:00
Nigel Delaney 9b37835319 Merge pull request #23 from dotnetbio/pclremove
Remove PCL Libraries
2016-10-08 13:51:37 -07:00
Nigel Delaney 2ca93855cc elete Shared Folder
Resources and code moved to Bio.Core
2016-10-08 13:15:23 -07:00
Nigel Delaney 7a8dda0406 Remove Shims Folder 2016-10-08 13:09:38 -07:00
Nigel Delaney 4b4e08c358 Remove Platform Helpers
This commit converts the library back to a standard .NET 4.5 desktop
library, in preparation for a move to .NET Core as the PCL scheme is
being deprecated.  To accomplish this I:

* Changed the Bio.Core project type
* Specified to use our own SortedList implementation when ambiguous
* Removed the Bio.Platform.Helpers* Projects after pushing necessary
files over.
2016-10-08 13:08:39 -07:00
Nigel Delaney 9dc9ab325f Merge pull request #20 from dotnetbio/vcallfix
Fix QV Bug
2016-05-21 15:24:21 -07:00
Nigel Delaney bce206929b Fix QV Bug
Due to a mix up we were grabbing the QV value from the position in the
unaligned reference, not the aligned reference.
2016-05-21 15:22:22 -07:00
Nigel Delaney f1154331b3 Merge pull request #18 from dotnetbio/pacbdiags
Add diagnostic information for CCS reads
2016-03-12 16:10:04 -08:00
Nigel Delaney 52d6f8e974 Add diagnostic information for CCS reads
When pbccs is compiled with DIAGNOSTICS defined, it can obtain
additional information that is not currently being processed.
2016-03-12 15:58:59 -08:00
Nigel Delaney 81b723402c Merge pull request #16 from cpatmoore/patch-1
Patch 1
2016-02-22 21:14:58 -08:00
Charles Patrick Moore 5a0f5d6cde Update License 2016-02-05 17:49:38 -06:00
Charles Patrick Moore 94d40eb022 Create License 2016-02-05 17:37:58 -06:00
Nigel Delaney 0a31ad3853 Merge pull request #14 from dotnetbio/aligncheck
Validate Alignment Sequences Aren't Too Large
2015-12-07 15:57:42 -08:00
Nigel Delaney 4f25fd222e Validate Alignment Sequences Aren't Too Large
No one should try to align sequences of size M and N where M x N >
Int32.MaxValue.  However, it could happen and it leads to overflows and
strange message.  This commit:

* Validates M x N < Int32.MaxValue
* Throws exception with message if not.
* Verifies this behavior with tests.
2015-12-07 15:47:39 -08:00
Nigel Delaney 0efe553df0 Generate More Debug Info
This should help make stack traces easier to read
2015-12-06 17:43:38 -08:00
Nigel Delaney 19b35d728a Robustify the NeedlemanWunsch Aligner
This change is about future proofing, it has no effect right now.

The aligner has to deal with an edge case where an insertion can follow
a deletion, or a deletion can follow an insertion.  To make this
happen, when considering insertions or deletions, we have to consider
opening a gap from both the "Match" state as well as the "Gap Score"
and the highest of these will form the viterbi path.

For all sensible parameter settings, the Match state should be the
highest score, but for some pathological ones, the gap states might be.
 This clarifies which states are the most likely, and makes it so that
in the future if someone switched the order of move preferences (e.g.
so that in an event of equal scoring, rather than vertical->left->diag
being the order of preference it is left->vertical->diag) the code
would still produce the highest score.  Before, we only took the best
score for the vertical move, and the match score for the horizontal
move.
2015-12-06 16:50:30 -08:00
Nigel Delaney 9a3aad059e Merge pull request #12 from dotnetbio/fixnw2
Less Memory Usage / More Comments in NeedlemanWunschAligner
2015-12-06 16:18:09 -08:00
Nigel Delaney d3219c9390 Less Memory Usage / More Comments in NeedlemanWunschAligner
For these dynamic programming problems, when traversing through the
matrix one must store the entire traceback matrix,
but the scores are only needed for the current row and the row above it.

In the current implementation, we only use two rows for the "top
scoring" (and match) matrix, but fill out entire matrices for the
deletion and insert (or vertical and horizontal) matrices.  This is
inefficient, as we then need 2 x M x N memory rather than 2 x 2 x N
memory.  I switched this to only use the smaller amount.  Additionally:

* Changed the minimum score on the edges from an arbitray low number to a constant near Int32.MinValue for clarity.

* Added more comments throughout.

* Rather than have three arrays, I used 1 array of a struct which may help memory locality for very large global alignments.

* Added more unit tests that directly compare against EMBOSS Needle alignment program, found and reported a bug in NEEDLE while doing that...

* Change all the vague category "Priority2" labels in NW tests to a newer version.
2015-12-06 15:53:48 -08:00
Nigel Delaney d866b21ce5 Code Cleanup
Missed this last time.
2015-12-03 22:16:33 -08:00
Nigel Delaney 436e32ce7f Merge pull request #11 from dotnetbio/fixnw
Fix NeedlmanWunschAligner
2015-12-03 20:15:32 -08:00
Nigel Delaney 1f30511692 Fix NeedlmanWunschAligner
The aligner was not handling gaps at the end appropriately in the
affine case, as it would neglect to add a leading insert.  This in turn
goofed up the MUMAligner.
2015-12-03 19:45:05 -08:00
Nigel Delaney 5a741fec20 Merge pull request #10 from dotnetbio/mumfix
Cleanup the MUMmerAligner Class
2015-12-03 16:42:15 -08:00
Nigel Delaney 3312788601 Cleanup the MUMmerAligner Class
The MUMmer aligner exposed a PairWiseAlgorithm to be used to stitching
together of different seeds. There were however a number of constraints
that this algorithm must obey but which were not controlled for here.
In particular, the algorithm must be a global aligner that returns only
one alignment per sequence pair, but this was not enforced.  As we only
have the NeedleManWunsch aligner that fits the global bill here, I
enforced that this class must use this aligner for stitching together
seeds.  This is a breaking API change, but if anyone was using the old
way their code would silently be giving bad results, so it is an
appropriate change.

This change also added comments for the aligner.

Finally, it also fixes an issue where the insertions were not
tallied correctly as it was converting to List<int> instead of
List<long>
2015-12-03 16:24:10 -08:00