vgteam / gssw Goto Github PK
View Code? Open in Web Editor NEWefficient alignment of strings to partially ordered string graphs
efficient alignment of strings to partially ordered string graphs
gssw_create_score_matrix
happily takes 32-bit ints in, but they aren't allowed to be above the max value for an unsigned char if you want the alignment to work. This doesn't really seem to be documented (except by realizing that the score matrix is a matrix of bytes), or checked for, so I just spent about 10 minutes wondering why vg was producing totally bogus alignments and scores when I tried to jack up various penalties into the thousands as a way to ask for, say, alignments with no mismatches.
Was there a reason to do pvHStore, pvHLoad, pvHmax, and pvE memory allocations in the gssw_sw_sse2 functions? Moving the allocations up to graph_fill and reusing the same allocations for each node gave a huge performance boost.
Under some circumstances, one of the matrices in the dynamic programming seems to have incorrect values. It can be reproduced with this invocation:
gssw_example CCCCCCCCCTCCCCCCCCCCTCCCCCCCCCCGACCCCCCCCCCC CCCCCCCCCCACCCCCCCCCCACCCCCCCCCCTCCCA CCCCCACCCCCCCCGTCCCCCCCCCCCA CCCCCCCCCCCCGCCCCCCCCCCGCCCCCCCCC CCCCCCCTCCCCCCCCCCTCCCCCCCCCCGACCCCCCCCCCCCCCCCCCCCCACCCCCCCCCCACCCCCCCCCCTCCCACCCCCCCCCCCCGCCCCCCCCCCGCCCCCCCCC
Look at row 91, row 102, and column 13 in the matrix for node 4 in the output. Row 91 is also largely incorrect in the matrices for nodes 2 and 3.
I want to put gssw on the big combined cross-project Waffle view that I am using to coordinate with @glennhickey and @jeizenga and co., and it would help with that if this repo was a vgteam project.
@ekg, can you do that? Or is there a reason to keep it as an ekg project?
I wrote some unit tests; we ought to have them under Travis. They're super fast so it shouldn't take too long.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.