| 警告:該存儲庫已被棄用https://github.com/cusbg/prankweb!請在那裡提交任何問題! |
|---|
此存儲庫包含Prankweb Web應用程序。在此文件中,我們說明瞭如何設置prankweb服務器並描述prankweb rest api。
非常感謝P2Rank,LiteMol,Protael,Wildfly以及我們在該項目中使用的許多其他圖書館和工具的作者
安裝Node.js和Gradle(您還需要Java)。
克隆該存儲庫,包括所有的子模型:
git clone --recursive https://github.com/jendelel/PrankWebApp.git現在,您使用此命令構建prankweb:
./gradlew clean war這將在build/libs Directory中編譯所有類模塊,並創建root.war文件。
要實際運行PrankWeb服務器,您將需要從http://wildfly.org/downloads/和setup envirnment variable jboss_home下載並解開JBoss Wildfly應用程序服務器。
prankweb需要到達目錄存儲上載文件等目錄等目錄等。所有內容都存儲在目錄中,我們將其稱為PrankData 。該目錄包含prankweb.properties文件,其中包含所有必要的路徑和配置。該文件包含對(鍵和值)。您必須設置以下屬性:
您也可以指定:
我們建議將所有數據存儲在PrankData目錄中。在JBOSS_HOME/獨立/data/prankweb中創建一個符號鏈接,使用這些命令指向prankdata目錄:
視窗:
cd /d %JBOSS_HOME% s tandalone d ata
mklink /D PrankWeb {path to PrankData directory}Linux:
cd $JBOSS_HOME /standalone/data
ln -s -d {path to PrankData directory} PrankWeb由於服務器內部運行P2RANK,請在linux或%JBOSS_HOME%/bin/standalone.conf.bat $JBOSS_HOME/bin/standalone.conf中的內存限制,以更改限制,以更改限制,更改java_opts中的-xmx選項至少10024m中的java_opts語句:例如:
JAVA_OPTS= " -Xms64m -Xmx1024m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true " 要啟用Web服務器的GZIP壓縮,請在$JBOSS_HOME/standalone/configuration/standalone.xml文件中添加以下兩個標記兩個Asterics的行。
...
< subsystem xmlns = " urn:jboss:domain:undertow:3.1 " >
< buffer-cache name = " default " />
< server name = " default-server " >
< http-listener name = " default " socket-binding = " http " redirect-socket = " https " enable-http2 = " true " />
< https-listener name = " https " socket-binding = " https " security-realm = " ApplicationRealm " enable-http2 = " true " />
< host name = " default-host " alias = " localhost " >
< location name = " / " handler = " welcome-content " />
< filter-ref name = " server-header " />
< filter-ref name = " x-powered-by-header " />
**< filter-ref name = " gzipFilter " predicate = " regex[pattern='(?:application/javascript|text/css|text/html|text/plain)(;.*)?', value=%{o,Content-Type}, full-match=true] " />**
</ host >
</ server >
< servlet-container name = " default " >
< jsp-config />
< websockets />
</ servlet-container >
< handlers >
< file name = " welcome-content " path = " ${jboss.home.dir}/welcome-content " />
</ handlers >
< filters >
< response-header name = " server-header " header-name = " Server " header-value = " WildFly/10 " />
< response-header name = " x-powered-by-header " header-name = " X-Powered-By " header-value = " Undertow/1 " />
**< gzip name = " gzipFilter " />**
</ filters >
</ subsystem >
...設置JBoss Wildfly後,只需運行JBOSS_HOME/bin/standalone{.sh|.bat}即可複制ROOT.war文件結束JBOSS_HOME/standalone/deployments或運行gradle deploy命令啟動項目目錄。
要在沒有超級用戶權限的情況下運行端口80的服務器,請參見:https://serverfault.com/questions/112795/how-end-end-run-a-a-server-port-on-port-80-as-a-as-a-a-normal-user-user-on-linux
Brifly:運行此命令END REROUTE sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080 -port 8080
URI(統一資源標識符)遵循模式 / API / origin / type / id ,其中origin upload或id確定了原始PDB文件是由用戶上傳還是從數據庫下載。該type指示用戶請求的文件類型。最後, id是在上傳自定義PDB文件後服務器生成的PDB標識代碼或標識字符串。我們通過GET方法為每種上載的蛋白質或蛋白質上載的蛋白質或蛋白質的所有數據提供以下數據 - 括號中的類型是:
pdb ) - 描述從用戶或數據庫收到的蛋白質的原始文件msa ) - 蛋白質鏈的每個序列比對(MSA)。hom ) - 從每個MSA文件計算的保護分數。csv ) - P2Rank生成的JSON(JAVASCRIPT對象表示法)包含預測結果。seq ) - 具有蛋白質序列及其保護分數的JSON文件。vis ) - P2Rank還生成了一個用於離線可視化的Pymol腳本。all ) - 包含上面列出的所有文件的zip文件。自定義蛋白質文件也可以通過發布請求提交進行分析。 URI是: /analyze/file_upload 。請求應使用標識符PDBFile編碼PDB文件,布爾文檔保存,指示是否應計算保護分數。可選地,可以包括以.fasta結尾的PDBID或MSA文件以加快分析。服務器的答复包含可用於進一步獲取請求的生成的標識代碼。