| คำเตือน: พื้นที่เก็บข้อมูลนี้เลิกใช้แล้วในความโปรดปรานของ https://github.com/cusbg/prankweb! กรุณายื่นปัญหาใด ๆ ที่นั่น! |
|---|
เครื่องประดับนี้มีเว็บแอปพลิเคชัน Prankweb ในไฟล์นี้เราอธิบายวิธีการตั้งค่าเซิร์ฟเวอร์ Prankweb และอธิบาย Prankweb REST API
ขอขอบคุณผู้เขียน P2RANK, Litemol, Protael, WildFly และห้องสมุดและเครื่องมืออื่น ๆ อีกมากมายที่เราใช้ในโครงการนี้
ติดตั้ง node.js และ Gradle (คุณจะต้องใช้ Java ด้วย)
โคลนที่เก็บนี้รวมถึง submodules ทั้งหมด:
git clone --recursive https://github.com/jendelel/PrankWebApp.gitตอนนี้คุณสร้าง Prankweb โดยใช้คำสั่งนี้:
./gradlew clean warสิ่งนี้จะรวบรวม submodules ทั้งหมดและสร้างไฟล์ root.war ในไดเรกทอรี build/libs
ในการเรียกใช้เซิร์ฟเวอร์ Prankweb คุณจะต้องดาวน์โหลดและแกะแอปพลิเคชันแอปพลิเคชัน JBOSS WildFly Server จาก http://wildfly.org/downloads/ และตั้งค่าตัวแปร 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 ภายในโปรดเพิ่มขีด จำกัด ของหน่วยความจำใน $JBOSS_HOME/bin/standalone.conf บน linux หรือ %JBOSS_HOME%/bin/standalone.conf.bat บน Windows เพื่อเปลี่ยนขีด จำกัด
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 ปลาย JBOSS_HOME/standalone/deployments หรือเรียกใช้คำสั่ง gradle deploy เริ่มต้นไดเรกทอรีโครงการ
หากต้องการเรียกใช้เซิร์ฟเวอร์บนพอร์ต 80 โดยไม่มีสิทธิ์ผู้ใช้สุดยอดโปรดดู: https://serverfault.com/questions/112795/how-end-run-a-server-on-port-80-as-a-normal- on-linux
Brifly: เรียกใช้คำสั่งนี้ปลาย Reroute พอร์ต 8080 end 80: sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
URIS (ตัวระบุทรัพยากรที่เหมือนกัน) ติดตามรูปแบบ / API / origin / type / id โดยที่ origin คือ upload หรือ id ระบุว่าไฟล์ PDB ดั้งเดิมถูกอัปโหลดโดยผู้ใช้หรือดาวน์โหลดจาก Data Bank type ระบุประเภทของไฟล์ที่ผู้ใช้ร้องขอ สุดท้าย id เป็นรหัสการระบุ PDB หรือสตริงการระบุตัวตนที่สร้างโดยเซิร์ฟเวอร์หลังจากอัปโหลดไฟล์ PDB ที่กำหนดเองแล้ว เราให้บริการข้อมูลต่อไปนี้ทั้งหมดสำหรับโปรตีนหรือโปรตีนที่อัปโหลดแต่ละตัวจาก Protein Data Bank (PDB) ผ่านวิธี GET - ประเภทที่ระบุไว้ในวงเล็บ:
pdb ) - ไฟล์ต้นฉบับที่อธิบายโปรตีนที่ได้รับจากผู้ใช้หรือจากฐานข้อมูลmsa ) - การจัดตำแหน่งหลายลำดับ (MSA) สำหรับแต่ละห่วงโซ่ของโปรตีนhom ) - คะแนนการอนุรักษ์คำนวณจากไฟล์ MSA แต่ละไฟล์csv ) - ไฟล์ JSON (Notation Object JavaScript) ที่สร้างขึ้นโดย P2RANK ที่มีผลการทำนายseq ) - ไฟล์ JSON ที่มีลำดับโปรตีนและคะแนนการอนุรักษ์vis ) - P2RANK ยังสร้างสคริปต์ Pymol สำหรับการสร้างภาพออฟไลน์all ) - ไฟล์ zip ที่มีไฟล์ทั้งหมดที่แสดงไว้ด้านบน ไฟล์โปรตีนที่กำหนดเองยังสามารถส่งเพื่อการวิเคราะห์ผ่านคำขอโพสต์ URI คือ: /analyze/file_upload คำขอควรเข้ารหัสไฟล์ PDB ด้วยตัวระบุ PDBFILE, Boolean Doconservation ที่ระบุว่าควรคำนวณคะแนนการอนุรักษ์หรือไม่ เป็นทางเลือกไฟล์ PDBID หรือ MSA ที่ลงท้ายด้วย. FASTA สามารถรวมไว้เพื่อเพิ่มความเร็วในการวิเคราะห์ การตอบกลับจากเซิร์ฟเวอร์มีรหัสประจำตัวที่สร้างขึ้นซึ่งสามารถใช้สำหรับคำขอได้รับเพิ่มเติม