Skip to main content

A tool to compare protein feature architectures

Project description

FAS - Feature Architecture Similarity

PyPI version GPLv3-license Github Build

FAS is a new release of the original FACT algorithm. It calculates the so called FAS-score which is a measure of how similar the feature architectures of two proteins are. This is done by combining the Multiplicity Score (MS) and the Positional Score (PS) from FACT. Unlike the original FACT, FAS can resolve feature architectures that have overlapping features by searching for the best overlap-free path. This can be done either extensively or by using the priority mode, a greedy approach. FAS also allows for more options in the weighting of features.

Table of Contents

Installation

FAS is provided as a python package and compatible with Python3.

You can install FAS with pip:

python3 -m pip install greedyFAS

(*) In case you do not have admin rights, and don't use package systems like Anaconda to manage environments you need to use the --user option (not recommended):

python3 -m pip install --user greedyFAS

and then add the following line to the end of your .bashrc or .bash_profile file, restart the current terminal to apply the change:

export PATH=$HOME/.local/bin:$PATH

Usage

Download and install annotation tools

Before using FAS, some annotation tools and databases need to be installed. FAS' standard databases/annotation tools are: PFAM, SMART, COILS, THMHH 2.0c and SignalP 4.1g and 2 optional tools fLPS, SEG. To get these tools and make a configuration file for FAS, please use the setupFAS function:

fas.setup -t /directory/where/you/want/to/save/annotation/tools

Inside the output directory you will find a file called annoTools.txt that contains all installed annotation tools. If you wish to discard any of them from the annotation process, you can just remove the unneeded tools from that file.

Please read our wiki page of setupFAS for other use-cases, such as how to use your old annotation tools with the new FAS, etc.

NOTE: we provide compiled code only for PFAM, COILS and SEG. fLPS will be automatically downloaded and installed. For SMART, you need to download it from EMBLEM and give the path to fas.setup. For TMHMM and SignalP, you can decide if you want to include those two tools to the annotation step (recommended) or ignore them. For using TMHMM version 2.0c and SignalP version 4.1g, you need to request a license from the authors at https://services.healthtech.dtu.dk, and save the downloaded files in the same directory. FAS will do the rest for you ;-)

NOTE2: SignalP 5.0b is not supported yet!!!

We suggest you test the annotation tools by running this command:

fas.doAnno -i test_annofas.fa -o test_output

test_annofas.fa is a demo multiple fasta file, which is saved in the installed greedyFAS directory.

Perform feature annotation

If you only want to annotate your protein sequences without calculating the FAS scores, you can use the doAnno function.

fas.doAnno --fasta your_proteins.fa --outPath /annotation/path/

The annotation output (your_proteins.json by default) will be saved in /annotation/path/.

Alternatively, you can do the annotation using InterProScan and use the function parseAnno to convert the InterProScan's tsv output into json format for using with FAS.

fas.parseAnno -i INPUT.tsv -o /annotation/path/INPUT.json -t <tool_name> -f <feature columns> ...

Please check the usage of parseAnno for more info (using fas.parseAnno -h).

Compare protein feature architectures

The main purpose of FAS is to calculate the similarity score between 2 given proteins (or two list of proteins). This can be done using the run function.

fas.run -s seed.fa -q query.fa -a /annotation/path/ -o /output/path/

If the annotations of seed and query protein(s) already exist in /annotation/path/ (seed.json and query.json, respectively), run will use these annotations for calculating the FAS scores. Otherwise, it will first annotate the proteins and then compare the feature architectures of those two protein sets.

Additional Information

A thorough guide to all FAS commands and options can be found at our WIKI page.

How-To Cite

Julian Dosch, Holger Bergmann, Vinh Tran, Ingo Ebersberger, FAS: assessing the similarity between proteins using multi-layered feature architectures, Bioinformatics, Volume 39, Issue 5, May 2023, btad226, https://doi.org/10.1093/bioinformatics/btad226

Contributors

Contact

Julian Dosch dosch@bio.uni-frankfurt.de

Ingo Ebersberger ebersberger@bio.uni-frankfurt.de

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.

Source Distribution

greedyfas-1.18.18.tar.gz (86.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

greedyfas-1.18.18-py3-none-any.whl (117.6 kB view details)

Uploaded Python 3

File details

Details for the file greedyfas-1.18.18.tar.gz.

File metadata

  • Download URL: greedyfas-1.18.18.tar.gz
  • Upload date:
  • Size: 86.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for greedyfas-1.18.18.tar.gz
Algorithm Hash digest
SHA256 13c5af40f4ab0176945debec56f06427db002dc7a3b078ee972da8c0a7708a6d
MD5 4799f2569ba618822c58db62438388b8
BLAKE2b-256 bd5547174830876ebe74a0c7b937adc2471b50bb54dba4a75f2109b8d8bfea07

See more details on using hashes here.

File details

Details for the file greedyfas-1.18.18-py3-none-any.whl.

File metadata

  • Download URL: greedyfas-1.18.18-py3-none-any.whl
  • Upload date:
  • Size: 117.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for greedyfas-1.18.18-py3-none-any.whl
Algorithm Hash digest
SHA256 85d05769970f2230b379a953f3f3b634b686806d8a05601bdc0bfa2f5e5c73c9
MD5 f0e7565ec139140c4b714f4b06b1e059
BLAKE2b-256 7ae0023f6afc671827e99681dc8bd67b52d20c11277f8e76a163bd5c2c6109a2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page