Skip to content

sb-ncbr/mics-proteins

Repository files navigation

Mics protein webapp

Main branch: main.

This app is a bridge between DB and messiff.

The pppcodes.sh script servers as a run command generator, aware of its location in file system and pids. It can also manage the running instance. It is actually rather clever, just poorly documented.

The messiff app is started with various arguments, important of those are those responsible for picking runnning configuration. The running configuration is a file with .cf extension, which is a java properties file.

Use the pppcodes.sh to adjust the way you start messiff. Use .cf files to adjust what messiff does.

Important note

You need to add --add-opens java.base/java.lang.invoke=ALL-UNNAMED for java to start this app.

For running locally with connection to remote database a ssh tunel is recomended

ssh -L 13306:localhost:3306 -T protein-jo

Contents

This projects groups together later part of search assembly.

PPPcodes

Build

Use PPPCodes build configuration to build the pppcodes (one-off computation). This configuration was created from ./pppcodes.sh start command.

Serve

Use PPPCodes http configuration to serve the pppcodes (http server). This configuration was created from ./http.sh start command.

Sequential Sketches

Build

Use WebAppRebuildSeqScanAlgs config which executes main class of project - algBuild.WebAppRebuildSeqScanAlgs. Required arguments are:

  1. output for short sketches
  2. output for long sketches
  3. database configuration as .ini file
    • protein_search.ini is a sample configuration

Serve

Short sketches

Sample Idea run config

If for some reason the configs are lost or you want to set up other IDE, here is how the run config came to be. This run config was parsed from finalStartScript.sh generated by ./pppcodes.sh start command

Java options

--add-opens java.base/java.lang.invoke=ALL-UNNAMED -Xmx80g -XX:+UseG1GC -XX:TargetSurvivorRatio=1 -XX:NewSize=800m -Djgroups.tcp.address=localhost -Djgroups.tcp.port= -Djgroups.mping.mcast_port= -Djgroups.bind_addr=localhost -Djava.library.path=/home/jakub/git/school/diplomka/proteins/external_dependencies:/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib

Classpath to main

messif.appl.HttpApplication

Program arguments

21512 -httpThreads 50 -httpBacklog 100 20512 /home/jakub/git/school/diplomka/proteins/manager-pppcodes.cf rmiPort='21512' iniFile='protein_search.ini' primObjName='proteinObj' primDist='messif.distance.impl.ProteinDistanceDBImpl(/mnt/PDBe_clone_binary,0)' pivots='512' minlevel='1' capacity='0' prefix='6' indexes='4' locatorlength='0' actionsInTheEnd='statisticsDisable garbage' useStats='' visualfield='proteinObj' refinedist='messif.distance.impl.ProteinDistanceDBImpl(/mnt/PDBe_clone_binary,0.6)' serialization='algs/pppcodes.bin' mapdbfile='algs/mapdb/filestore' buildPPPcodes

Modify classpath

Modify classpath to include all jars from jars directory