| AVISO: Este repositório foi depreciado em favor de https://github.com/cusbg/prankweb! Por favor, arquive quaisquer problemas lá! |
|---|
Este repositório contém aplicativos da Web Prankweb. Neste arquivo, explicamos como configurar o servidor Prankweb e descrever a API PRANKWEB REST.
Muito obrigado aos autores do P2RANK, LITEMOL, PRATAEL, Wildfly e muitas outras bibliotecas e ferramentas que usamos neste projeto
Instale o Node.js e o Gradle (você também precisará de Java).
Clone este repositório, incluindo todos os submódulos:
git clone --recursive https://github.com/jendelel/PrankWebApp.gitAgora, você constrói Prankweb usando este comando:
./gradlew clean warIsso compilará todos os submódulos e criará o arquivo root.war no diretório Build/Libs.
Para realmente, execute o servidor Prankweb, você precisará baixar e descompactar o servidor de aplicativos do JBoss Wildfly em http://wildfly.org/downloads/ e configurar a variável de ambiente jboss_home para o caminho da Wildfly.
Prankweb requer caminhos para os diretórios onde armazenar arquivos carregados etc. Tudo é armazenado no diretório, chamaremos de PrankData . Este diretório contém um arquivo de prankweb.properties , que contém todos os caminhos e configurações necessários. O arquivo contém pares (chave e valor). Você deve configurar as seguintes propriedades:
Você também pode especificar:
Recomendamos armazenar todos os dados no diretório PrankData . Crie um link simbólico em jboss_home/independente/dados/prankweb apontando para o diretório Prankdata usando estes comandos:
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 Como o servidor é executado no P2RANK internamente, aumente o limite de memória em $JBOSS_HOME/bin/standalone.conf no linux ou %JBOSS_HOME%/bin/standalone.conf.bat no Windows para alterar o limite, altere a opção -xmx na declaração java_OPTS para pelo menos 1024m para exemplo: exemplo: exemplo:
JAVA_OPTS= " -Xms64m -Xmx1024m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true " Para ativar a compactação GZIP do servidor da web, adicione essas duas linhas a seguir marcadas com dois asterics ao arquivo $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 >
... Depois de configurar o JBoss Wildfly, basta executar JBOSS_HOME/bin/standalone{.sh|.bat} e copiar o arquivo ROOT.war final JBOSS_HOME/standalone/deployments ou run gradle deploy comando iniciar o diretório do projeto.
Para executar o servidor na porta 80 sem os direitos do Super Usuário, consulte: https://serverfault.com/questions/112795/how-end--run-a--erver-on-port-80-as-a-normal-user on-linux
Brifly: Execute este comando END REOUTE PORT 8080 END 80: sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
Os URIs (Identificadores de Recursos Uniformes) seguem o padrão / API / origin / type / id , onde origin é upload ou id se o arquivo PDB original foi enviado pelo usuário ou baixado do banco de dados. O type indica tipo de arquivo solicitado pelo usuário. Por fim, id é o código de identificação do PDB ou a sequência de identificação gerada pelo servidor após o upload de um arquivo PDB personalizado. Servimos todos os dados a seguir para cada proteína ou proteína carregada do Banco de Dados de Proteínas (PDB) via método get - o tipo é declarado entre parênteses:
pdb ) - Arquivo original que descreve a proteína recebida de um usuário ou de banco de dadosmsa ) - Alinhamento de sequência múltipla (MSA) para cada cadeia da proteína.hom ) - Pontuações de conservação calculadas a partir de cada arquivo MSA.csv ) - O arquivo JSON (Javascript Object Notation) gerado pelo P2RANK contendo os resultados da previsão.seq ) - Arquivo JSON com a sequência de proteínas e suas pontuações de conservação.vis ) - O P2RANK também gera um script pymol para visualização offline.all ) - Um arquivo zip que contém todos os arquivos listados acima. O arquivo de proteína personalizado também pode ser enviado para análise por meio de solicitação pós. O URI é: /analyze/file_upload . A solicitação deve codificar o arquivo PDB com o identificador PDBFILE, doconserção booleana indicando se as pontuações de conservação devem ser calculadas. Opcionalmente, os arquivos PDBID ou MSA terminando com .fastA podem ser incluídos para acelerar a análise. A resposta do servidor contém o código de identificação gerado que pode ser usado para obter mais solicitações.