Giter VIP home page Giter VIP logo

jin0008 / phenotips Goto Github PK

View Code? Open in Web Editor NEW

This project forked from phenotips/phenotips

0.0 1.0 0.0 1.34 GB

PhenoTips provides an easy-to-use Web interface and standardized database back-end for collecting clinical findings observed in patients with possible genetic disorders.

Home Page: http://phenotips.org/

License: GNU Affero General Public License v3.0

Java 65.86% JavaScript 20.09% CSS 0.55% HTML 13.17% Shell 0.18% Batchfile 0.05% Python 0.09%

phenotips's Introduction

Current Build Status

Jenkins CI : Build Status

About

This project mainly aims at providing an easy way to collect clinical phenotypes using a standardized vocabulary, thus allowing for straight-forward cross-referencing with gene and disease databases.

The patient data being managed includes:

  • demographic information (name, date of birth, ...)
  • family information and history (including pedigree)
  • medical history
  • prenatal and perinatal history
  • measurements (with support for instant computation of percentiles and generation of growth charts)
  • clinical symptoms & physical findings, with all phenotypic descriptions being mapped to a standardized vocabulary (the Human Phenotype Ontology (HPO))
  • diagnosis (mapped to OMIM)
  • genetic variants found in the patient

The application provides a web interface accessible from any device equipped with a web browser and a secure connection to the application server. The complexity and technical codification of standardized phenotyping and disease vocabularies is hidden under the friendly UI, which allows for error-tolerant, predictive search of phenotypic descriptions, and provides instant suggestions of additional phenotypes and diseases matching the current phenotype selection to investigate.

Major tools and resources involved used by this project

  • The Human Phenotype Ontology (HPO) - a standardized vocabulary of phenotypic abnormalities encountered in human disease; contains approximately 10,000 terms and is being developed using information from OMIM and the medical literature
  • Apache Solr - an enterprise search platform
  • XWiki - an enterprise web application development framework

Building instructions

This project uses Apache Maven for the whole lifecycle management. From the project's description:

Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.

In short, Maven handles everything related to building the project: downloading the required dependencies, compiling the Java files, running tests, building the jars or final zips, and even more advanced goals such as performing style checks, creating releases and deploying them to a remote repository. All these steps are configured declaratively with as little custom settings as possible, since the philosophy of maven is "convention over configuration", relying on well-defined best practices and defaults, while allowing custom variations where needed.

Building the entire project is as simple as mvn install, but first the environment must be set-up:

  • Make sure a proper JDK is installed, Java SE 1.8 or higher. Just a JRE isn't enough, since the project requires compilation.
  • Install maven by downloading it and following the installation instructions.
  • Clone the sources of the project locally, using one of:
    • git clone git://github.com/phenotips/phenotips.git if you need a read-only clone
    • git clone [email protected]:phenotips/phenotips.git if you also want to commit changes back to the project (and you have the right to do so)
    • download an archive of the latest release if you don't want to use version control at all
  • It is advisable to increase the amount of memory available to Maven: export MAVEN_OPTS="-Xmx2g -XX:MaxPermSize=256m"
  • cd into the phenotips folder. ls and make sure pom.xml is there.
  • Execute mvn install at the command line to build the project
    • note that the first build will take a while longer, because all the required dependencies are downloaded, but all the subsequent builds should only take a few minutes

Running a custom built instance

The project is split into several modules, among which distribution/standalone will result in a fully-working self-contained package ready to run. Running the application is as simple as:

  • mvn install, as stated above, to get the project built
  • go to the directory where the final package is located, distribution/standalone/target
  • extract the contents of the phenotips-standalone-<version>.zip archive to a location of your choice (outside the target directory, to ensure it is not overwritten by subsequent builds)
  • launch the start script (start.sh on unix-like systems, start.bat on Windows)
  • open http://localhost:8080/ in a browser
  • this is a completely local version, not connected to any other PhenoTips instance or other software in your institution; a default user is provided, you can log in using User: Admin and Password: admin (case-sensitive)

Issue tracker

You can report issues, make feature requests and watch our progress on our JIRA.

Usage & limitations

The standalone distribution comes packaged with a Java Servlet Container, Jetty, a lightweight relational database management system, HyperSQL, and the phenotyping application itself.

LICENSE

PhenoTips and its related tools are distributed under the AGPL version 3 (GNU Affero General Public License), a well known free software/open source license recognized both by the Free Software Foundation and the Open Source Initiative. This means that every change made to the code must also be distributed under AGPL, and any composite works that build on top of PhenoTips must use a compatible license. For more information, please see the PhenoTips Licensing page.

phenotips's People

Contributors

sdumitriu avatar marta- avatar allasm avatar veronikaslc avatar mkozakov avatar antonkatz avatar mjshepherd avatar a-gvo avatar deanway avatar itaigershtansky avatar tmarathe avatar danielpgross avatar alexlapena avatar meatcar avatar buske avatar alexhenrie avatar kushal124 avatar sh-ura avatar teyden avatar ruxuan avatar bvancea avatar yshiyanov avatar williehwc avatar johntiger1 avatar

Watchers

James Cloos 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.