Skip to content

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

Notifications You must be signed in to change notification settings

davidmakoto/pandos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

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

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published