Giter Site home page Giter Site logo

bodenlab / grasp Goto Github PK

View Code? Open in Web Editor NEW
8.0 3.0 4.0 188.06 MB

Graphical Representation of Ancestral Sequence Predictions

License: GNU Affero General Public License v3.0

CSS 1.29% HTML 28.05% JavaScript 39.06% Java 30.96% PLpgSQL 0.57% Dockerfile 0.01% Shell 0.06%

grasp's Introduction

Build Status License Uptime Robot status

GRASP

GRASP is a tool for performing ancestral sequence reconstruction.

GRASP is part of the GRASP-suite of tools for curating, performing, and analysing ancestral sequence reconstruction.

This is the repository for the web service / GUI version of GRASP.

What does GRASP do?

The GRASP web service was developed to facilitate the steps of performing a reconstruction of ancestor sequences (represented by partial-order graphs) and the exploration, archival and sharing of the output. The service consists of three major parts: an inference engine bnkit written in Java, a web service backend written in Java using the Spring framework and Postgres, and web client functionality written in Javascript. The latter two are contained in the open source project GRASP. GRASP depends on the open source project bnkit for performing phylogenetic inference.

How do you use GRASP?

The GRASP web service incorporates a user guide that we recommend when you start out. You will find it in the menu at the top of the GRASP screen at all times.

Use any standard web browser and enter the URL http://grasp.scmb.uq.edu.au. We recommend that you sign up for an account; with an account you will be able to use a lot of features that otherwise are unavailable.

What else?

There is a command-line version to run reconstructions on your local hardware. This version does not have all the features; for instance there is no interactive mode and currently no way of transferring your reconstruction to the web service.

Docker

GRASP is available through Docker Hub at gabefoley/grasp

Once you have docker installed you can

docker run -it -v {full path to where your data is located}:/data gabefoley/grasp grasp -aln /data/{name of your alignment file}.aln -nwk /data/{name of your newick file}.nwk -out /data

for example, for me the command looks like (I have test_6.aln and test_6.nwk sitting in a /data folder):

docker run -it -v /Users/coolusername/Documents/code/grasp/data:/data grasp-docker grasp -aln /data/test_6.aln -nwk /data/test_6.nwk -out /data

This should give you a file, GRASP_ancestors.fasta appearing in folder: /Users/coolusername/Documents/code/grasp/data.

Resources

A paper that describes GRASP and its evaluation in detail is available as a pre-print from bioRxiv.

bnkit - the code for performing inference within GRASP

GRASP-suite - information about ancestral sequence reconstruction and a link to download the command line version of GRASP

GRASP-resources - Supplementary material for the GRASP paper and Jupyter Notebooks for performing sequence curation

Tutorials and material to support GRASP are available at GRASP-resources

Development

Get in contact with the Boden lab; see http://bioinf.scmb.uq.edu.au or http://grasp.scmb.uq.edu.au.

grasp's People

Contributors

aesse avatar arianemora avatar bradbalderson avatar dependabot-preview[bot] avatar dependabot[bot] avatar gabe-foley-thesis avatar gabefoley avatar imgbotapp avatar marnie-lea avatar mikaelboden avatar rhysnewell avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

grasp's Issues

semicolon missing

Hello,
I downloaded a tree from the web service in newick format and it is missing the semicolon in the end. This a bit of an annoyance if you read in the tree with some other tools, which expect the semicolon.
Kind regards,
Klaus

runASR - Input sequence file in fasta format throws error

Calling runASR using a sequence file in FASTA format throws error

treeLoc <- "UPGMA_cyp102A_tree.txt"
alignmentLoc <- "CYP102A_chim_seqs_reduced_fasta.txt"

runASR(treeLoc, alignmentLoc)

    Exception in thread "main" java.lang.RuntimeException: Alignment should be in Clustal or Fasta format
    at bn.reconstruction.ASR.loadData(ASR.java:114)
    at bn.reconstruction.ASR.<init>(ASR.java:52)
    at bn.reconstruction.runASR.main(runASR.java:27)
    Error in file(file, "rt") : cannot open the connection
    In addition: Warning message:
    In file(file, "rt") :
      cannot open file 'temp_new_tree.txt': No such file or directory

CYP102A_chim_seqs_reduced_fasta.txt
UPGMA_cyp102A_tree.txt

Calling get_subtree_sequences with wrong parameters give uninformative error message

Calling get_subtree_sequences() with no parameters will produce an informative error message -

> get_subtree_sequences()
Error in get_subtree_sequences() : 
  argument "asrStructure" is missing, with no default

Calling get_subtree_sequences with a structure object but no node specification provides mostly informative error message

> get_subtree_sequences(asrStructure)
Error in `[.data.frame`(fastaDF, fastaDF$Label == node, ) : 
  argument "node" is missing, with no default

Calling get_subtree_sequences with any non-structure parameter produces uninformative error message

> get_subtree_sequences(1234)
Error in asrStructure$fastaDF : $ operator is invalid for atomic vectors
> get_subtree_sequences("")
Error in asrStructure$fastaDF : $ operator is invalid for atomic vectors
> thing <- "I am a tree"
> get_subtree_sequences(thing)
Error in asrStructure$fastaDF : $ operator is invalid for atomic vectors

W instead of gap

In columns with almost only gaps, W appears in the ancestral sequence.

I can't open the web version of GRASP

Thank you very much for creating GRASP such a great tool, but I have been unable to open this web version recently, could you please fix this problem?

Support for running the web service locally?

Hi, we'd like to use the full GRASP functionality on sequences that we'd prefer to not send to an external web server for analysis (due to IP issues). However, we've not been able to get the full web service running from the code in the repo, as it seems there are hardcoded references to files that are not saved within the repo.

Is there any plan to release a version that anyone could set up as a local version of the web service, in order to get the full functionality that is not part of the command line version?

Thank you
Pedro

Cannot use the web version

Hello,

Thank you for the amazing tool. It seems that the web server is unstable these days. Either it takes ages to be accessed or the loading of saved reconstruction produces an error. Could you please have a look of it?

Best

Parse Newick

Encountered issue with user trying to pass in a Newick string with labels that contained brackets '()'

bnkit can't properly parse the Newick string if node labels include brackets

Possibly add catch around PhyloTree.loadNewick() in loadData() to highlight the naming requirements?

Parse Fasta

Splits sequence name on '|' which can sometimes lead to identical sequence names which are not allowed by bnkit. Consider changing how fasta sequence names are parsed or add catch to alert user to issue in naming conventions

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.