| 警告:该存储库已被弃用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端口8080 END 80: sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-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文件以加快分析。服务器的答复包含可用于进一步获取请求的生成的标识代码。