{"id":25596884,"url":"https://github.com/nanoporetech/mako","last_synced_at":"2025-04-13T02:33:18.956Z","repository":{"id":85586386,"uuid":"137208747","full_name":"nanoporetech/mako","owner":"nanoporetech","description":"Analyte identification via squiggles.","archived":false,"fork":false,"pushed_at":"2018-07-23T12:28:23.000Z","size":7366,"stargazers_count":7,"open_issues_count":0,"forks_count":1,"subscribers_count":18,"default_branch":"master","last_synced_at":"2025-04-06T08:02:14.807Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nanoporetech.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2018-06-13T11:51:50.000Z","updated_at":"2018-10-24T18:42:30.000Z","dependencies_parsed_at":"2023-03-14T03:30:21.558Z","dependency_job_id":null,"html_url":"https://github.com/nanoporetech/mako","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nanoporetech%2Fmako","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nanoporetech%2Fmako/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nanoporetech%2Fmako/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nanoporetech%2Fmako/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nanoporetech","download_url":"https://codeload.github.com/nanoporetech/mako/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248657819,"owners_count":21140842,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-02-21T12:35:07.255Z","updated_at":"2025-04-13T02:33:18.936Z","avatar_url":"https://github.com/nanoporetech.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Mako\n====\n\n`mako` is a software package for identification of analyte panels from \nnanopore signal data, as contrasted with approaches that perform similar\ntasks after basecalling. It leverages the keras neural networks API to\nperform inference.\n\n\nScope\n-----\n\nThe software is provided as a simple demonstration of how a developer might\nstart on a path of creating a similar system with high precision and recall\nfrom signal data, rather than basecalled data as most extant systems do. It is\n***not*** intended to be a replacement for these latter tools, at least\ncurrently.\n\n***Very little effort has been spent on optimising the recall and\nprecision of mako, it can undoubtedly be improved.***\n\nCommunity development is encouraged, see Development below.\n\n\nInstallation\n------------\n\nMako is written in Python 3 and can be installed in a standard python manner.\nFrom the source directory simply run:\n\n    python setup.py install\n\n\nUsage\n-----\n\n`mako` comes with two core commands: `mako train` and `make predict`, for\ntraining and using an inference model respectively. Input data is assumed\nto be `.fast5` read files as output by Oxford Nanopore Technologies'\ndevices.\n\nBasic training requires separating input data for distinct analytes into\ndistinct directories. The training program will then accept these as:\n\n    mako train \u003clabel_0\u003e:\u003cfolder_0\u003e \u003clabel_1\u003e:\u003cfolder_1\u003e ...\n\nwhere `\u003clabel_x\u003e` and `\u003cfolder_x\u003e` may be replaced as fitting. The labels are\nused only in reporting for `mako predict`. When training has finished, the path\nto the trained model will be reported, this can be given to `mako predict`.\n\nIdentification of unknown data (\"tagging\") is performed using `mako predict`. The\nprogram requires only a path to input data, and optionally a trained model:\n\n    mako predict \u003cinput_folder\u003e \u003coutput_file\u003e --model_file \u003cfrom mako train\u003e\n\nThe output file is a tab-separated text file containing predictions of\nidentification of reads, along with summary statistics of reads.\n\n\nOutline of current inference scheme\n-----------------------------------\n\n`mako` currently uses a similar RNN to that used within basecallers. The major\nmodication is that a single output variable is produced for an input sequence,\nrather than a sequence of outputs as in a basecaller. `mako` also only uses the\nbeginning of a read for identification, though this is easily changed.\n\n\nExample training data\n---------------------\n\nTo aid development an example dataset of 12 analytes is available for download\nhere:\n[mako_test_data](https://s3-eu-west-1.amazonaws.com/ont-research/mako_test_data.tar.gz).\n\n\n\nDevelopment\n-----------\n\nCommunity development of `mako` is encouraged, please submit issues and PRs on\ngithub. There is plenty of scope for improvement:\n\n* Changes to neural network\n* Preprocessing the inputs\n* Generalisations to arbitrary use cases\n* ...\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnanoporetech%2Fmako","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnanoporetech%2Fmako","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnanoporetech%2Fmako/lists"}