aaindex is a lightweight Python software package for accessing the data in the various AAIndex databases, which represent the physiochemical and biochemical properties of amino acids as numerical indices.
Project description
Python package for working with AAIndex database (https://www.genome.jp/aaindex/)
Table of Contents
Introduction
The AAindex is a database of numerical indices representing various physicochemical and biochemical properties of amino acids and pairs of amino acids. The AAindex consists of three sections: AAindex1 for the amino acid index of 20 numerical values, AAindex2 for the amino acid mutation matrix and AAindex3 for the statistical protein contact potentials. All data are derived from published literature [1].
This aaindex Python software package is a very lightweight way of accessing the data represented in the various AAIndex databases. Minimal requirements and external libraries are required to use the package and any record and its associated data/numerical indices can be accessed in one line. Currently the software supports the AAIndex1 database with plans to include the AAIndex 2 & 3 in the future. The format of an AAIndex1 record can be seen below:
Format of AAIndex record
A demo of the software is available here.
Requirements
Installation
Install the latest version of aaindex using pip:
pip3 install aaindex --upgrade
Install by cloning repository:
git clone https://github.com/amckenna41/aaindex.git
python3 setup.py install
Usage
The AAIndex module is made up of three modules for each AAindex database, with each having a Python class of the same name, when importing the package you should import the required database module:
from aaindex import aaindex1
# from aaindex import aaindex2
# from aaindex import aaindex3
Get record from AAIndex1
The AAindex1 class offers diverse functionalities for obtaining any element from any record in the database. The records are imported from a parsed json aaindex_json in the data folder of the package. You can search for a particular record by its index/record code, description or reference. You can also get the index category, and importantly its associated amino acid values:
from aaindex import aaindex1
full_record = aaindex1['CHOP780206'] #get full AAI record
''' full_record ->
{'description': 'Normalized frequency of N-terminal non helical region (Chou-Fasman, 1978b)',
'notes': '', 'refs': "Chou, P.Y. and Fasman, G.D. 'Prediction of the secondary structure of
proteins from their amino acid sequence' Adv. Enzymol. 47, 45-148 (1978); Kawashima, S.
and Kanehisa, M. 'AAindex: amino acid index database.' Nucleic Acids
Res. 28, 374 (2000).", 'values': {'-': 0, 'A': 0.7, 'C': 0.65, 'D': 0.98, 'E': 1.04,
'F': 0.93, 'G': 1.41, 'H': 1.22, 'I': 0.78, 'K': 1.01, 'L': 0.85, 'M': 0.83, 'N': 1.42,
'P': 1.1, 'Q': 0.75, 'R': 0.34, 'S': 1.55, 'T': 1.09, 'V': 0.75, 'W': 0.62, 'Y': 0.99}}
'''
#get individual elements of AAIndex record
record_values = aaindex1['CHOP780206']['values']
record_description = aaindex1['CHOP780206']['description']
record_references = aaindex1['CHOP780206']['refs']
record_notes = aaindex1['CHOP780206']['notes']
record_ = aaindex1['CHOP780206']['notes']
record_ = aaindex1['CHOP780206']['notes']
record_ = aaindex1['CHOP780206']['notes']
Get category from AAIndex record:
"""
Categories:
Each AAIndex record is classified into 1 of 8 categories: Charge, Composition,
Flexibility, Geometry, Hydrophobic, Meta, Observable, Polar and Secondary
Structure. The record categories are parsed from the aaindex_categories.txt
file and can be accessed for each record via the get_category_from_record()
function.
"""
full_record = aaindex1['CHOP780206'] #get full AAI record
category = aaindex1.get_category_from_record('CHOP780206')
Get total number of AAIndex records
#get total number of records in AAI database
print(aaindex1.get_num_records())
Get list of all AAIndex record names
#get list of all AAIndex record names
print(aaindex1.get_record_names())
Directories
/tests
- unit and integration tests for aaindex package./aaindex
- source code and all required external data files for package./images
- images used throughout README./docs
- aaindex documentation.
Tests
To run all tests, from the main aaindex folder run:
python3 -m unittest discover
To run main test module, from the main aaindex folder run:
python -m unittest tests.test_aaindex -v
Contact
If you have any questions or comments, please contact amckenna41@qub.ac.uk or raise an issue on the Issues tab.
License
Distributed under the MIT License. See LICENSE
for more details.
References
[1]: https://www.genome.jp/aaindex/
[2]: Shuichi Kawashima, Minoru Kanehisa, AAindex: Amino Acid index database, Nucleic Acids Research, Volume 28, Issue 1, 1 January 2000, Page 374, https://doi.org/10.1093/nar/28.1.374
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.