An open API service indexing awesome lists of open source software.

https://github.com/gagniuc/markov-chains-detector-in-vb6

The current VB6 application is a detector that uses observation sequences to construct the transition matrices for two models, which are merged into a single log-likelihood matrix (LLM). A scanner can use this LLM to search for regions of interest inside a longer sequence called z (the target).
https://github.com/gagniuc/markov-chains-detector-in-vb6

detector markov-chains matrix-calculations models patterns probability scanner sliding-windows transition vb6 vb6-source

Last synced: 3 months ago
JSON representation

The current VB6 application is a detector that uses observation sequences to construct the transition matrices for two models, which are merged into a single log-likelihood matrix (LLM). A scanner can use this LLM to search for regions of interest inside a longer sequence called z (the target).

Awesome Lists containing this project

README

          

# :fleur_de_lis: Markov Chains detector in VB6

The current VB6 application is a detector that uses two models, a model "+" that is associated with what we are looking for, and a model "-" that is associated with the background. Both models are represented by a transition matrix that is calculated or trained by using two sequences of observations. Namely, a sequence of observations that is known to belong to a region of interest (model "+") and a sequence of observations that may represent either a random sequence or a sequence other than the sequence "+". Once the model sequences have been used to construct the transition matrices for the two models, they are merged into a single matrix, namely into a log-likelihood matrix (LLM). The log-likelihood matrix represents "the memory", a kind of signature that can be used in some detections. But how? A scanner can use this LLM to search for model-like "+" regions inside a longer sequence called z (the target). To search for such regions of interest, sliding windows are used. The content of a sliding window is examined by [verifying each transition with the values from the LLM](https://figshare.com/articles/figure/Local_score_computation_by_using_the_LLM_pdf/19205124). Once a transition is associated with a value, it is added to the previous result until all transitions in the content of the sliding window are verified. This [results in a main score for each sliding window over z](https://figshare.com/articles/figure/An_experiment_for_understanding_scores_pdf/19205067). The positive scores (red) indicate the regions that resemble the "+" model, and the negative scores indicate that the content of the sliding window is different from the "+" model.

[This version in JS](https://gagniuc.github.io/Markov-Chains-scanner/) can also be of use: [Markov Chains detector in Javascript](https://github.com/Gagniuc/Markov-Chains-scanner)

# References

- Paul A. Gagniuc. Algorithms in Bioinformatics: Theory and Implementation. John Wiley & Sons, Hoboken, NJ, USA, 2021, ISBN: 9781119697961.