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.17.tar.gz (86.4 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.17-py3-none-any.whl (117.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: greedyfas-1.18.17.tar.gz
  • Upload date:
  • Size: 86.4 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.17.tar.gz
Algorithm Hash digest
SHA256 60ed98e3f64253385052f182ae0bd4b5af5a788ab3e868c7218d3a495aac7aa4
MD5 e39350a52c1f50361da31b560f5b0a4c
BLAKE2b-256 8118120cf15cd1e0681e4388b107aaa650396b5a597b30b10fc9217c9742430e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: greedyfas-1.18.17-py3-none-any.whl
  • Upload date:
  • Size: 117.5 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.17-py3-none-any.whl
Algorithm Hash digest
SHA256 686b0ce12713823c63c9b9294893fe313f8a09b9fad2d11e5e8b25c07c5d0ae6
MD5 b68b731acf05df1a0d3a535766e717f8
BLAKE2b-256 f615f4597b1c96cd1e8f894d7249718ac1946eccb1b4a38ca8251ad3db1818ac

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