Giter Site home page Giter Site logo

davidmakoto / pandos Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 84.66 MB

Open source structural bioinformatics tool that enables novel analysis of G protein coupled receptor's (GPCR) domains.

Home Page: http://titin.abrol.csun.edu/pandos/

C# 49.87% HTML 26.36% JavaScript 1.09% TypeScript 20.77% CSS 1.28% Dockerfile 0.59% Shell 0.04%
fullstack structural-bioinformatics angular

pandos's Introduction

Github_banner

PANDOS

is a novel resource for structural bioinformatics researchers’ that compiles non-uniform protein domain information from many sources into a new, standardized format.

demo gif of application: searching for pdb chains from uniprot id using pandos web tool

The app is still in it's alpha release, as more data needs to be processed and entered into the database. However, the app is functional from a technology standpoint.

What is the problem?

The currently available information on membrane protein domains is scattered over different platforms and is mainly focused towards the transmembrane (TM) domains. In order to compare the same domain between proteins or to compare different domains within a protein, a standard is needed.

The solution:

A web-based searchable database containing membrane fasta (mfta) files enriched with topological features. All one needs to do is enter a protein's Uniprot ID or a protein complex's PDB ID and the app outputs all of the consensus protein chain information associated with the protein ID.

Implementation details

The front end is a SPA that queries the backend using $HTTP service calls as well as custom components and *ngFor/*ngIf directives to dynamically display data.

The backend is a simple CRUD API.

Tech stack

Front end Back end Database
Languages/
Frameworks
Angular 12, Material-UI C#, .NET Entity Framework, Object Relational Mapping Azure SQL Database
Software VS Code, Webstorm Visual Studio, Swagger, Postman Sequel Studio Management Server (SSMS)
Deployment method Self hosted remote Apache server Azure App Services Azure Cloud Database

Running instructions

These instructions assume a few things:

  • that you are developing on a windows system
  • have node version manager installed, and
  • have a local SQL database for development.



Navigate to parent dir and clone repo

git clone https://github.com/dmw01/pandos-dotnet.git;
cd pandos-dotnet;

Install dependancies

nvm install lts;
npm install dotnet;
dotnet tool install --global dotnet-ef;

Create appsettings.json file

touch appsettings.json;
nano appsettings.json

Paste in the following code with your own local database credentials

{
  "ConnectionStrings": {
    "DefaultConnection": "Server=<your_server_name_here>,<server_port>;Database=<database_name>;User ID=<username_credentials>;Password=<credentials_password>;Encrypt=true;Connection Timeout=30;"

  },
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },
  "AllowedHosts": "*"
}

Migrate data/tables using code first migration

cd PandosAPI/PandosAPI;
dotnet ef migrations add InitialCreate --context pandosContext;
dotnet ef database update --context pandosContext;

Run pandos backend executible (windows required)

cd bin/Release/net6.0;
dotnet run PandosAPI.dll; 

Navigate to client app

cd ../../../bin/../../..;
cd PandosClient

Install dependancies

npm install; 
npm install --save @angular/cli;

Start frontend

ng serve

Credits

The idea is the brainchild of Dr. Ravinder Abrol and was the idea has been developing at the 2020 & 2021 Intelligent Systems for Molecular Biology (ismb) conference's hackathons.

pandos's People

Contributors

davidmakoto avatar

Watchers

 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.