| 경고 :이 저장소는 https://github.com/cusbg/prankweb에 찬성하여 더 이상 사용되지 않았습니다! 거기에 문제를 제기하십시오! |
|---|
이 저장소에는 Prankweb 웹 응용 프로그램이 포함되어 있습니다. 이 파일에서는 PrankWeb Server를 설정하고 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 디렉토리에서 root.war 파일을 작성합니다.
실제로 PrankWeb Server를 실행하려면 http://wildfly.org/downloads/에서 Jboss Wildfly Application Server를 다운로드하여 포장하고 Setup Envirnment 변수 jboss_home을 Wildfly Path로 설정해야합니다.
PrankWeb에는 업로드 된 파일 등을 저장할 수있는 디렉토리로가는 경로가 필요합니다. 모든 것이 디렉토리에 저장되면 PrankData 라고합니다. 이 디렉토리에는 필요한 모든 경로와 구성이 포함 된 prankweb.properties 파일이 포함되어 있습니다. 파일에는 쌍 (키 및 값)이 포함되어 있습니다. 다음 속성을 설정해야합니다.
다음을 지정할 수도 있습니다.
모든 데이터를 PrankData 디렉토리에 저장하는 것이 좋습니다. JBOSS_HOME/STANDALONE/DATA/PRANKWEB 에서이 명령을 사용하여 PrankData 디렉토리를 가리키는 상징적 링크를 만듭니다.
Windows :
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 또는 %JBOSS_HOME%/bin/standalone.conf.bat 의 메모리 제한을 늘리십시오. 한계를 변경하려면 JAVA_OPTS 문의 -XMX 옵션을 적어도 1024m로 변경하십시오.
JAVA_OPTS= " -Xms64m -Xmx1024m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true " 웹 서버의 GZIP 압축을 활성화하려면 $JBOSS_HOME/standalone/configuration/standalone.xml 파일에 두 개의 소행성이 표시된 이 두 개의 다음 줄을 추가하십시오.
...
< 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 파일을 복사하십시오. WAR 파일 END JBOSS_HOME/standalone/deployments 또는 gradle deploy 명령 프로젝트 디렉토리를 시작하십시오.
슈퍼 사용자 권한이없는 포트 80에서 서버를 실행하려면 https://serverfault.com/questions/112795/how-end-run-a-server-on-port-80-as-a-omal-user-on-linux를 참조하십시오.
BRIFLY :이 명령 끝을 실행하면 포트 8080 엔드 80 : sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
URIS (균일 리소스 식별자)는 Pattern / API / origin / type / id 따르십시오. 여기서 origin 은 사용자가 원래 PDB 파일을 upload id . 이 type 사용자가 요청한 파일 유형을 나타냅니다. 마지막으로 id 사용자 정의 PDB 파일이 업로드 된 후 서버에서 생성 한 PDB 식별 코드 또는 식별 문자열입니다. 우리는 GET 방법을 통해 단백질 데이터 뱅크 (PDB)에서 업로드 된 각 단백질 또는 단백질에 대해 다음과 같은 데이터를 모두 제공합니다. 유형은 괄호로 언급되어 있습니다.
pdb ) - 사용자 또는 데이터베이스에서받은 단백질을 설명하는 원본 파일msa ) - 단백질의 각 사슬에 대한 다중 서열 정렬 (MSA).hom ) - 각 MSA 파일에서 계산 된 보존 점수.csv ) - 예측 결과를 포함하는 p2rank에 의해 생성 된 JSON (JavaScript 객체 표기법) 파일.seq ) - 단백질 서열 및 보존 점수가있는 JSON 파일.vis ) - P2Rank는 오프라인 시각화를위한 Pymol 스크립트도 생성합니다.all ) - 위에 나열된 모든 파일이 포함 된 zip 파일. 포스트 요청을 통해 분석을 위해 사용자 정의 단백질 파일을 제출할 수도 있습니다. URI는 : /analyze/file_upload 입니다. 요청은 PDB 파일을 식별자 PDBFILE로 인코딩해야하며, 보존 점수를 계산 해야하는지 여부를 나타내는 부울 문서 보존. 선택적으로 .fasta로 끝나는 pdbid 또는 MSA 파일을 포함하여 분석 속도를 높일 수 있습니다. 서버의 회신에는 추가 요청에 사용할 수있는 생성 된 식별 코드가 포함되어 있습니다.