Metadata-Version: 2.1
Name: AMAS-sb
Version: 0.0.4
Summary: AMAS (Automatic Model Annotation System)
Home-page: https://github.com/woosubs/AMAS
Author: Woosub Shin
Author-email: woosubs@umich.edu
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: compress-pickle
Requires-Dist: coverage (==5.5)
Requires-Dist: editdistance
Requires-Dist: nose
Requires-Dist: numpy
Requires-Dist: pandas
Requires-Dist: python-libsbml
Requires-Dist: pyyaml
Requires-Dist: requests
Requires-Dist: scikit-learn

# AMAS: Automatic Model Annotation System
AMAS (Automatic Model Annotation System) predicts and recommends annotations of systems biology models. Current version focuses on species and reactions of models in SBML format, which can be tested using BioModels or BiGG models. 

## Overview
``AMAS`` is a collection of methods to predict and recommend annotations for SBML model elements. Current version focuses on predicting species and reaction annotations of metabolic models, such as that can be found in BiGG and BioModels repositories. Algorithm uses CHEBI for species annotations, and Rhea for reaction annotations.

## Example
First, class instance should be created using ``AMAS.recommender.Recommender`` with an existing SBML file (optional). 
<img src="https://github.com/woosubs/AMAS/raw/main/png/create_instance.png" width="800"/>

Next, to get recommendation for species, user can use the `.getSpeciesAnnotation` method. 

<img src="https://github.com/woosubs/AMAS/raw/main/png/getspecies_annotation_id.png" width="800"/>

When the `pred_id` argument is used, Recommender will search the model to find an available display name for prediction. Alternatively, user can use the `pred_str` argument to make a direct prediction, which does not need a pre-loaded model in the constructor. Below, 'S-adenosyl-L-methionine' is the display name of the species 'SAM' in the model file, so the result will be the same. 

<img src="https://github.com/woosubs/AMAS/raw/main/png/getspecies_annotation_str.png" width="800"/>


Result is a namedtuple 'Recommendation', with attributes including id, credibility, recommended CHEBI terms, and the urls of such terms. 
<img src="https://github.com/woosubs/AMAS/raw/main/png/spec_recommendation.png" width="800"/>

Similarly, recommendation of a reaction can be also obtained using the `.getReactionAnnotation` method. 

<img src="https://github.com/woosubs/AMAS/raw/main/png/getreaction_annotation.png" width="800"/>

Recommendation of a reaction uses Rhea database. 
<img src="https://github.com/woosubs/AMAS/raw/main/png/reac_recommendation.png" width="800"/>
