Coder Social home page Coder Social logo

fnn's Introduction

fNN

fNN is a command line tool for predicting the secondary structure of proteins using their primary sequence, multiple sequence alignment data (in FASTA format), or position-specific scoring matrix (PSSM).

System Specifications

For the tool to work properly, the following packages are required:

• Python 3.6 : https://anaconda.org/anaconda/python

• Keras : https://anaconda.org/conda-forge/keras

• Scikit-learn : https://anaconda.org/anaconda/scikit-learn

Getting started

In order to download fNN, you should clone the repository via the commands

git clone https://github.com/SBNoor/fNN.git

cd fNN

Once the above process has completed, you can run

python tool.py -h

to list all of the command-line options. If this command fails it means that something went wrong during the installation process.

Structure Prediction

In this section you will predict the secondary structure of a protein using its primary sequence. We will assume you have already followed the instructions for downloading Python 3.6, Keras, Scikit-learn and fNN.

The following command will allow you to predict the secondary structure of a protein:

python tool.py <file_name>.fasta

Protein structure prediction will take approximately 12 minutes if a single FASTA sequence is given as an input and will take approximately 27 minutes if the input is a multiple sequence alignment. The time is mostly spent on training the neural network.

You can also specify which neural network you want to give your data to. In that case you can use one of the following flags:

-j JNN

This flag will run the neural network described by Qian and Sejnowski, which is a simple one hidden layer feed-forward neural network that requires a single sequence as an input. This neural network will run by default if you provide a single fasta sequence even without the above mentioned flag. The command is:

python tool.py -j JNN <file_name>.fasta

-js MSA

This flag will run a standard feed-forward neural network that requires a single sequence as an input but that sequence is generated from a multiple sequence alignment by virtue of majority voting. This neural network is the one that will be used by default if a multiple sequence alignment is provided without a flag. The command is:

python tool.py -js MSA <file_name>.fasta

-m mNN

This flag will predict the secondary structure using the network similar to the one explained by Rost and Sander. It is a cascaded neural network whereby the first neural network is a sequence - to - structure network and the second one is a structure - to - structure neural network. The command is as follows:

python tool.py -m mNN <file_name>.fasta

-s sNN

This flag runs a convolutional neural network based on the approach of Liu and Cheng. This neural network will run by default if the user enters a PSSM as an input. The command to be entered is:

python tool.py -s sNN <file_name>.pssm

You can also have the prediction written to a text file using the -o flag:

python tool.py -o <file_name>.fasta

fnn's People

Contributors

sbnoor avatar juditkisistok avatar

Watchers

Dobri Stoilov avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.