This is the main repository for Squonk, both the Squonk Platform and the Squonk Computational Notebook.
Currently the portal application part of the Squonk Computational Notebook is NOT included as that is in a separate repository that needs to be merged into this one. Also part of Squonk are components from the Pipelines repository.
The main source code is in the components directory. To build:
Checkout the Pipelines repository project into the same directory that contains the squonk project. Then copy the current set of service descriptors to Squonk (this is needed for some of the tests and for those services to be present at runtime):
cd pipelines
./copy.dirs.sh
Next you need to setup access to the ChemAxon Maven repository. Instructions for this can be found in the ChemAxon docs, though they are slightly garbled.
Create or edit the gradle.properties file in your $HOME/.gradle
directory
and add these 3 properties:
cxnMavenUser=YOUR_EMAIL
cxnMavenPassword=YOUR_ACCESS_KEY
cxnMavenRepositoryUrl=https://hub.chemaxon.com/artifactory/libs-release
Replace YOUR_EMAIL
and YOUR_ACCESS_KEY
with the appropriate values.
Instructions for generating these can be found ChemAxon docs.
Now build squonk by moving into the squonk/components directory and use the Gradle build file there. e.g.
cd ../squonk/components
./gradlew build
For some of the tests and some of the RDKit services you will need RDKit with Java bindings to be present. See the RDKit docs for how to do this. If you don't have this then make sure the RDBASE environment variable is not set.
Data for the ChemAxon services and tests is located in the project's
encrypted
directory.
export SQUONK_DECRYPTION_KEY="GetTheKey"
cd components
./gradlew installChemaxonLicenseToHome
./gradlew installChemaxonLibrary
The
installChemaxonLicenseToHome
installs the license file to your$HOME/.chemaxon
directory. If you want to put the file elsewhere you can, as long as you setCHEMAXON_HOME
to the directory you use.
Once you've done this you can benefit from the full set of unit tests.
Currently it is not expected that third party developers will find it easy to contribute to this codebase, but that will change. If you are interested in using or contributing contact Tim Dudgeon (tdudgeon _at_ informaticsmatters _dot_ com).