<commit_before>Nano-Align
==========

A set of algorithms for protein identification using a sub-nanopore.<commit_msg>readme iteration<commit_after>Nano-Align
==========

A set of algorithms for protein identification using a sub-nanopore.


Installation
------------

The package is implemented in Python 2.7 and requires no installation.
However, it depends on some third party packages:

* Numpy [http://www.numpy.org/]
* Scipy [http://www.scipy.org/]
* Scikit-Learn [http://scikit-learn.org/]
* Matplotlib [http://matplotlib.org/]

These packages should be instaled in your system. You can either use
system package manager (e.g. apt-get in Ubuntu) or *pip* for installation:

    pip install package_name


Data Requirements
-----------------

Nano-Align uses matlab-like files (*.mat) with recorded blockade currents
as input. However, there are some modifications comparing to the original
format. Original .mat files could be easily extended to the desired format
using the provided scripts. See the detailed instructions in "Data preparation"
section.


Usage
-----

The package consist of multple scripts. Three main ones are located
in the root directory:

### train-svr.py

This script trains SVR model using the given blockades signals from a
known protein. The output file (model) then could be used as an
input for other algorithms. Type "train-svr.py -h" for details.


### identify.py

This scipt performs protein identification and estimates p-values.
It requires trained SVR model as an input. Type "identify.py -h"
for the detailed parameter description.


### estimate-length.py

This script measures identifies blockade frequencies, which are
associated with the protein length (and possibly, some other features).


Data preparation
----------------

Use scripts from "scripts".
{'fraction_non_alphanumeric': 0.10383120488617435, 'fraction_numerical': 0.001110494169905608, 'mean_word_length': 3.8181818181818183, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5637216', 'n_tokens_mistral': 486, 'n_tokens_neox': 463, 'n_words': 222}