COMETS Tutorial notes
12/08/2016
Ilija Dukovski
http://slideshare.net/IlijaDukovski
http://comets.bu.edu
http://github.com/segrelab
Installation
Windows:
install Gurobi from gurobi.com
get Gurobi license, in cmd run:
C:Usersusername>grbgetkey xxxxxxxxxx
installscr.bat
Linux:
install Gurobi from gurobi.com
get Gurobi license
add this line to your .bashrc file:
export COMETS_HOME=“wherever is your comets_2.2.2.jar file”
example:
export COMETS_HOME=“/home/dukovski/COMETS_2.2.2/comets_2.2.2/”
Also check if GUROBI_HOME and LD_LIBRARY_PATH are set and exported.
Installscr.bat
• setx COMETS_HOME "C:Users%USERNAME%DesktopCOMETS_2.2.2COMETS_2.2.2_wincomets_2.2.2"
• mkdir C:Users%USERNAME%DesktopCOMETS_2.2.2
• copy .* C:Users%USERNAME%DesktopCOMETS_2.2.2
• cd C:Users%USERNAME%DesktopCOMETS_2.2.2
• unzip COMETS_2.2.2_win.zip
• cd .COMETS_2.2.2_wingurobi
• wmic os get osarchitecture >tmpfile
• more +1 tmpfile >tmpfile2
• set /p osbits=<tmpfile2
• if %osbits%==64-bit Gurobi-5.6.2-win64.msi
• if %osbits%==32-bit Gurobi-5.6.2-win32.msi
• if %osbits%==64-bit copy
C:Users%USERNAME%DesktopCOMETS_2.2.2COMETS_2.2.2_wincomets_2.2.2comets_w64.bat
C:Users%USERNAME%Desktop
• if %osbits%==32-bit copy
C:Users%USERNAME%DesktopCOMETS_2.2.2COMETS_2.2.2_wincomets_2.2.2comets_w32.bat
C:Users%USERNAME%Desktop
To run COMETS
Scripts (.bat files) in: COMETS_2.2.2COMETS_2.2.2_wincomets_2.2.2
comets_w64.bat (GUI, default parameters)
comets_w64_params.bat (GUI, parameters loaded from files in current directory)
comets_w64_scr.bat (No GUI, perfect for clusters)
Copy the one you want to run in your working directory. This is where the parameters files,
layout file and model files will live too.
comets_w64.bat
java -Xmx2048m -classpath
%COMETS_HOME%/bin/COMETS_2.2.2.jar;%COMETS_HOME%/lib/x
64/glpk-java.jar;%COMETS_HOME%/lib/jogamp-all-
platforms/jar/jogl-all.jar;%COMETS_HOME%/lib/jogamp-all-
platforms/jar/gluegen.jar;%COMETS_HOME%/lib/jogamp-all-
platforms/jar/gluegen-rt.jar;%COMETS_HOME%/lib/jogamp-all-
platforms/jar/gluegen-rt-natives-windows-
amd64.jar;%COMETS_HOME%/lib/jogamp-all-platforms/jar/jogl-all-
natives-windows-amd64.jar;%GUROBI_HOME%/lib/gurobi.jar
-Djava.library.path=%COMETS_HOME%/lib/x64;
%GUROBI_HOME%/lib/;%GUROBI_HOME%/bin
edu.bu.segrelab.comets.Comets -loader
edu.bu.segrelab.comets.fba.FBACometsLoader
comets_w64_params
java -Xmx2048m -classpath
%COMETS_HOME%/bin/COMETS_2.2.2.jar;%COMETS_HOME%/lib/x6
4/glpk-java.jar;;%COMETS_HOME%/lib/jogamp-all-platforms/jar/jogl-
all.jar;%COMETS_HOME%/lib/jogamp-all-
platforms/jar/gluegen.jar;%COMETS_HOME%/lib/jogamp-all-
platforms/jar/gluegen-rt.jar;%COMETS_HOME%/lib/jogamp-all-
platforms/jar/gluegen-rt-natives-windows-
amd64.jar;%COMETS_HOME%/lib/jogamp-all-platforms/jar/jogl-all-
natives-windows-amd64.jar;%GUROBI_HOME%/lib/gurobi.jar -
Djava.library.path=%COMETS_HOME%/lib/x64;%GUROBI_HOME%/lib/
;%GUROBI_HOME%/bin edu.bu.segrelab.comets.Comets -loader
edu.bu.segrelab.comets.fba.FBACometsLoader
-params global_params.txt -pkgparams package_params.txt
comets_w64_scr
java -Xmx2048m -classpath
%COMETS_HOME%/bin/COMETS_2.2.2.jar;%COMETS_HOME%/lib/x6
4/glpk-java.jar;;%COMETS_HOME%/lib/jogamp-all-platforms/jar/jogl-
all.jar;%COMETS_HOME%/lib/jogamp-all-
platforms/jar/gluegen.jar;%COMETS_HOME%/lib/jogamp-all-
platforms/jar/gluegen-rt.jar;%COMETS_HOME%/lib/jogamp-all-
platforms/jar/gluegen-rt-natives-windows-
amd64.jar;%COMETS_HOME%/lib/jogamp-all-platforms/jar/jogl-all-
natives-windows-amd64.jar;%GUROBI_HOME%/lib/gurobi.jar -
Djava.library.path=%COMETS_HOME%/lib/x64;%GUROBI_HOME%/lib/
;%GUROBI_HOME%/bin edu.bu.segrelab.comets.Comets -loader
edu.bu.segrelab.comets.fba.FBACometsLoader
-script comets_script.txt
comets_w64_scr
On command line (mostly on linux clusters):
$comets_scr comets_script.txt
comets_script.txt:
load_comets_parameters global_params.txt
load_package_parameters package_params.txt
load_layout petri_dish_circles.txt
Run on Linux clusters
$qsub qscript
or
$qsub –pe omp 10 –l h_rt=48:00:00 qscript
qscript file (BU cluster):
!#/bin/bash -l
module load gurobi/gurobi_x.x.x
comets_scr comets_script.txt
$qstat |grep dukovski
(job# r/q dukovski)
$qdel job#
Parameters files: package_params
• numDiffPerStep = 10
• numRunThreads = 1
• growthDiffRate = 0
• flowDiffRate = 3e-9
• exchangestyle = Monod Style
• defaultKm = 0.01
• defaultHill = 1
• timeStep = 0.01
• deathRate = 0.0
• spaceWidth = 0.01
• maxSpaceBiomass = 2.2E-4
• minSpaceBiomass = 0.25e-10
• allowCellOverlap = true
• toroidalWorld = false
• showCycleTime = true
• showCycleCount = true
• defaultVmax = 10
Parameters files: global_params
• maxCycles = 200
• pixelScale = 5
• saveslideshow = false
• slideshowExt = png
• slideshowColorRelative = true
• slideshowRate = 1
• slideshowLayer = 324
• slideshowName = ./res.png
• writeFluxLog = false
• FluxLogName = ./flux.txt
• FluxLogRate = 1
• writeMediaLog = false
• MediaLogName = ./media.txt
• MediaLogRate = 1
• writeBiomassLog = false
• BiomassLogName = ./biomass.txt
• BiomassLogRate = 1
• writeTotalBiomassLog = false
• totalBiomassLogRate = 1
• TotalbiomassLogName = ./total_biomass
• useLogNameTimeStamp = false

Comets notes