-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathmain.go
More file actions
36 lines (28 loc) · 1.16 KB
/
main.go
File metadata and controls
36 lines (28 loc) · 1.16 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package main
import (
"gofr.dev/pkg/gofr"
"github.com/ProtPocket/handlers"
)
func main() {
app := gofr.New()
app.UseMiddleware(handlers.DockHTTPMiddleware)
// Search proteins/diseases — returns ranked list by gap score
// Example: GET /search?q=TP53
// Example: GET /search?q=tuberculosis
app.GET("/search", handlers.SearchHandler)
// Get full detail for one complex
// Example: GET /complex/P04637
// Example: GET /complex/AF-P04637-F1
app.GET("/complex/{id}", handlers.ComplexDetailHandler)
// Binding site prediction + fragment suggestion for a complex
// Example: GET /complex/P04637/binding-sites
app.GET("/complex/{id}/binding-sites", handlers.BindingSiteHandler)
// Get pre-ranked undrugged targets dashboard
// Example: GET /undrugged
// Example: GET /undrugged?filter=who_pathogen&limit=10
app.GET("/undrugged", handlers.UndruggedHandler)
// Pocket-aware ChEMBL fragments (requires prior binding-sites run in-process). Optional: volume, hydrophobicity, polarity.
// Example: GET /chembl?pocket_id=1&volume=600&hydrophobicity=0.5&polarity=0.2
app.GET("/chembl", handlers.ChemblHandler)
app.Run()
}