aboutsummaryrefslogtreecommitdiff
Error: user-error ("Unable to resolve link: \"introduction\"") mapbacktrace(#f(compiled-function (evald func args flags) #)) debug-early-backtrace() debug-early(error (user-error "Unable to resolve link: \"introduction\"")) signal(user-error ("Unable to resolve link: \"introduction\"")) user-error("Unable to resolve link: %S" "introduction") org-export-data((link (:type "custom-id" :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil :begin 124 :end 155 :contents-begin 141 :contents-end 153 :post-blank 0 :parent (paragraph (:begin 124 :end 156 :contents-begin 124 :contents-end 156 :post-blank 0 :post-affiliated 124 :mode nil :granularity nil :parent (item (:bullet "- " :begin 121 :end 156 :contents-begin 124 :contents-end 156 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 121 :tag nil :mode item :granularity nil :parent (plain-list (:type unordered :begin 121 :end 1403 :contents-begin 121 :contents-end 1403 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 121 :mode planning :granularity nil :parent (section (:begin 121 :end 1404 :contents-begin 121 :contents-end 1403 :robust-begin 121 :robust-end 1401 :post-blank 1 :post-affiliated 121 :mode section :granularity nil :parent (headline (:raw-value "Table of Contents" :begin 43 :end 1404 :pre-blank 0 :contents-begin 121 :contents-end 1403 :robust-begin 123 :robust-end 1401 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 43 :title (#("Table of Contents" 0 17 (:parent #126))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13801 :end 13801 :robust-begin 3 :robust-end 13799 :post-blank 0 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 43 :contents-begin 1 :contents-end 42 :robust-begin 1 :robust-end 40 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #172) (keyword (:key "TITLE" :value "Installing GeneNetwork services" :begin 1 :end 42 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #175))) #126 (headline (:raw-value "Introduction" :begin 1404 :end 2450 :pre-blank 1 :contents-begin 1420 :contents-end 2449 :robust-begin 1422 :robust-end 2447 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1404 :title (#("Introduction" 0 12 (:parent #177))) :mode nil :granularity nil :parent #172) (section (:begin 1420 :end 2450 :contents-begin 1420 :contents-end 2449 :robust-begin 1420 :robust-end 2447 :post-blank 1 :post-affiliated 1420 :mode section :granularity nil :parent #177) (paragraph (:begin 1420 :end 1557 :contents-begin 1420 :contents-end 1556 :post-blank 1 :post-affiliated 1420 :mode planning :granularity nil :parent #180) #("If you want to understand the architecture of GN2 read\n" 0 55 (:parent #183)) (link (:type "fuzzy" :path "Architecture.org" :format bracket :raw-link "Architecture.org" :application nil :search-option nil :begin 1475 :end 1495 :contents-begin nil :contents-end nil :post-blank 0 :parent #183)) #(". The rest of this document is mostly on deployment\nof GN2.\n" 0 61 (:parent #183))) (paragraph (:begin 1557 :end 1943 :contents-begin 1557 :contents-end 1942 :post-blank 1 :post-affiliated 1557 :mode nil :granularity nil :parent #180) #("Large system deployments can get very " 0 38 (:parent #184)) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg " :format bracket :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg " :application nil :search-option nil :begin 1595 :end 1656 :contents-begin 1647 :contents-end 1654 :post-blank 0 :parent #184) #("complex" 0 7 (:parent #188))) #(". In this document we\nexplain the GeneNetwork version 2 (GN2) reproducible deployment system\nwhich is based on GNU Guix (see also " 0 130 (:parent #184)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1786 :end 1860 :contents-begin 1848 :contents-end 1858 :post-blank 0 :parent #184) #("Guix-notes" 0 10 (:parent #190))) #("). The Guix\nsystem can be used to install GN with all its files and dependencies.\n" 0 82 (:parent #184))) (paragraph (:begin 1943 :end 2328 :contents-begin 1943 :contents-end 2327 :post-blank 1 :post-affiliated 1943 :mode nil :granularity nil :parent #180) #("The official installation path is from a checked out version of the\nmain Guix package tree and that of the Genenetwork package\ntree. Current supported versions can be found as the SHA values of\n'gn-latest' branches of " 0 218 (:parent #185)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :application nil :search-option nil :begin 2161 :end 2252 :contents-begin 2230 :contents-end 2249 :post-blank 1 :parent #185) #("Guix bioinformatics" 0 19 (:parent #189))) #("and " 0 4 (:parent #185)) (link (:type "https" :path "//github.com/genenetwork/guix/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix/tree/gn-latest" :application nil :search-option nil :begin 2256 :end 2325 :contents-begin 2310 :contents-end 2323 :post-blank 0 :parent #185) #("GNU Guix main" 0 13 (:parent #191))) #(".\n" 0 2 (:parent #185))) (paragraph (:begin 2328 :end 2449 :contents-begin 2328 :contents-end 2449 :post-blank 0 :post-affiliated 2328 :mode nil :granularity nil :parent #180) #("For a full view of runtime dependencies as defined by GNU Guix, see\nthe " 0 72 (:parent #186)) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 2400 :end 2447 :contents-begin 2425 :contents-end 2445 :post-blank 0 :parent #186) #("GN2 Dependency Graph" 0 20 (:parent #190))) #(".\n" 0 2 (:parent #186))))) (headline (:raw-value "Quick installation recipe" :begin 2450 :end 7633 :pre-blank 1 :contents-begin 2479 :contents-end 7632 :robust-begin 2481 :robust-end 7630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 2450 :title (#("Quick installation recipe" 0 25 (:parent #178))) :mode nil :granularity nil :parent #172) (section (:begin 2479 :end 3022 :contents-begin 2479 :contents-end 3021 :robust-begin 2479 :robust-end 3019 :post-blank 1 :post-affiliated 2479 :mode section :granularity nil :parent #178) (paragraph (:begin 2479 :end 2880 :contents-begin 2479 :contents-end 2879 :post-blank 1 :post-affiliated 2479 :mode planning :granularity nil :parent #181) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS). For more elaborate installation\ninstructions see " 0 357 (:parent #184)) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 2836 :end 2877 :contents-begin 2858 :contents-end 2875 :post-blank 0 :parent #184) #("Source deployment" 0 17 (:parent #188))) #(".\n" 0 2 (:parent #184))) (paragraph (:begin 2880 :end 3021 :contents-begin 2880 :contents-end 3021 :post-blank 0 :post-affiliated 2880 :mode nil :granularity nil :parent #181) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #185)))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 3022 :end 4649 :pre-blank 1 :contents-begin 3051 :contents-end 4648 :robust-begin 3053 :robust-end 4646 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3022 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #182))) :mode nil :granularity nil :parent #178) (section (:begin 3051 :end 4649 :contents-begin 3051 :contents-end 4648 :robust-begin 3051 :robust-end 4646 :post-blank 1 :post-affiliated 3051 :mode section :granularity nil :parent #182) (paragraph (:begin 3051 :end 3504 :contents-begin 3051 :contents-end 3503 :post-blank 1 :post-affiliated 3051 :mode planning :granularity nil :parent #185) #("Fetch the GNU Guix binary from " 0 31 (:parent #188)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 3082 :end 3136 :contents-begin 3129 :contents-end 3133 :post-blank 1 :parent #188) #("here" 0 4 (:parent #192))) #("(middle panel) and follow\n" 0 26 (:parent #188)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 3162 :end 3255 :contents-begin 3241 :contents-end 3253 :post-blank 0 :parent #188) #("instructions" 0 12 (:parent #194))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #188))) (paragraph (:begin 3504 :end 3782 :contents-begin 3504 :contents-end 3781 :post-blank 1 :post-affiliated 3504 :mode nil :granularity nil :parent #185) #("Once you have succeeded, you have to " 0 37 (:parent #189)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 3541 :end 3631 :contents-begin 3617 :contents-end 3628 :post-blank 1 :parent #189) #("set the key" 0 11 (:parent #193))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #189))) (src-block (:language "bash" :switches nil :parameters nil :begin 3782 :end 3890 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 3782 :mode nil :granularity nil :parent #185)) (paragraph (:begin 3890 :end 3924 :contents-begin 3890 :contents-end 3923 :post-blank 1 :post-affiliated 3890 :mode nil :granularity nil :parent #185) #("Which should show something like\n" 0 33 (:parent #191))) (fixed-width (:begin 3924 :end 4034 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 3924 :mode nil :granularity nil :parent #185)) (paragraph (:begin 4034 :end 4045 :contents-begin 4034 :contents-end 4044 :post-blank 1 :post-affiliated 4034 :mode nil :granularity nil :parent #185) #("#+end" 0 5 (:parent #193)) (subscript (:begin 4039 :end 4043 :use-brackets-p nil :contents-begin 4040 :contents-end 4043 :post-blank 0 :parent #193) #("src" 0 3 (:parent #197))) #("\n" 0 1 (:parent #193))) (paragraph (:begin 4045 :end 4116 :contents-begin 4045 :contents-end 4115 :post-blank 1 :post-affiliated 4045 :mode nil :granularity nil :parent #185) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #194))) (src-block (:language "bash" :switches nil :parameters nil :begin 4116 :end 4188 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 4116 :mode nil :granularity nil :parent #185)) (paragraph (:begin 4188 :end 4375 :contents-begin 4188 :contents-end 4374 :post-blank 1 :post-affiliated 4188 :mode nil :granularity nil :parent #185) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #196))) (paragraph (:begin 4375 :end 4648 :contents-begin 4375 :contents-end 4648 :post-blank 0 :post-affiliated 4375 :mode nil :granularity nil :parent #185) #("If you need more help we have another writeup in " 0 49 (:parent #197)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 4424 :end 4520 :contents-begin 4508 :contents-end 4518 :post-blank 0 :parent #197) #("guix-notes" 0 10 (:parent #201))) #(". To get\nrid of the locale warning see " 0 39 (:parent #197)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 4559 :end 4646 :contents-begin 4634 :contents-end 4644 :post-blank 0 :parent #197) #("set-locale" 0 10 (:parent #203))) #(".\n" 0 2 (:parent #197))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 4649 :end 5304 :pre-blank 1 :contents-begin 4695 :contents-end 5302 :robust-begin 4697 :robust-end 5300 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4649 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #183))) :mode nil :granularity nil :parent #178) (section (:begin 4695 :end 5304 :contents-begin 4695 :contents-end 5302 :robust-begin 4695 :robust-end 5300 :post-blank 2 :post-affiliated 4695 :mode section :granularity nil :parent #183) (paragraph (:begin 4695 :end 4815 :contents-begin 4695 :contents-end 4814 :post-blank 1 :post-affiliated 4695 :mode planning :granularity nil :parent #186) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #189))) (src-block (:language "bash" :switches nil :parameters nil :begin 4815 :end 4920 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 4815 :mode nil :granularity nil :parent #186)) (paragraph (:begin 4920 :end 4971 :contents-begin 4920 :contents-end 4970 :post-blank 1 :post-affiliated 4920 :mode nil :granularity nil :parent #186) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #191))) (paragraph (:begin 4971 :end 5232 :contents-begin 4971 :contents-end 5231 :post-blank 1 :post-affiliated 4971 :mode nil :granularity nil :parent #186) #("#+begin" 0 7 (:parent #192)) (subscript (:begin 4978 :end 4983 :use-brackets-p nil :contents-begin 4979 :contents-end 4982 :post-blank 1 :parent #192) #("src" 0 3 (:parent #196))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #192)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 5055 :end 5105 :contents-begin nil :contents-end nil :post-blank 0 :parent #192)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #192)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 5147 :end 5183 :contents-begin nil :contents-end nil :post-blank 1 :parent #192)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #192)) (subscript (:begin 5221 :end 5226 :use-brackets-p nil :contents-begin 5222 :contents-end 5225 :post-blank 1 :parent #192) #("src" 0 3 (:parent #202))) #("bash\n" 0 5 (:parent #192))) (paragraph (:begin 5232 :end 5270 :contents-begin 5232 :contents-end 5269 :post-blank 1 :post-affiliated 5232 :mode nil :granularity nil :parent #186) #("To test whether this is working try:\n" 0 37 (:parent #193))) (paragraph (:begin 5270 :end 5302 :contents-begin 5270 :contents-end 5302 :post-blank 0 :post-affiliated 5270 :mode nil :granularity nil :parent #186) #("#+begin" 0 7 (:parent #194)) (subscript (:begin 5277 :end 5282 :use-brackets-p nil :contents-begin 5278 :contents-end 5281 :post-blank 1 :parent #194) #("src" 0 3 (:parent #198))) #("bash\n#+end" 0 10 (:parent #194)) (subscript (:begin 5292 :end 5297 :use-brackets-p nil :contents-begin 5293 :contents-end 5296 :post-blank 1 :parent #194) #("src" 0 3 (:parent #200))) #("bash\n" 0 5 (:parent #194))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 5304 :end 5755 :pre-blank 1 :contents-begin 5345 :contents-end 5754 :robust-begin 5347 :robust-end 5752 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5304 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #184))) :mode nil :granularity nil :parent #178) (section (:begin 5345 :end 5755 :contents-begin 5345 :contents-end 5754 :robust-begin 5345 :robust-end 5752 :post-blank 1 :post-affiliated 5345 :mode section :granularity nil :parent #184) (paragraph (:begin 5345 :end 5445 :contents-begin 5345 :contents-end 5444 :post-blank 1 :post-affiliated 5345 :mode planning :granularity nil :parent #187) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #190))) (src-block (:language "scheme" :switches nil :parameters nil :begin 5445 :end 5589 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 5445 :mode nil :granularity nil :parent #187)) (paragraph (:begin 5589 :end 5621 :contents-begin 5589 :contents-end 5620 :post-blank 1 :post-affiliated 5589 :mode nil :granularity nil :parent #187) #("by pasting it into the command\n" 0 31 (:parent #192))) (src-block (:language "bash" :switches nil :parameters nil :begin 5621 :end 5674 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 5621 :mode nil :granularity nil :parent #187)) (paragraph (:begin 5674 :end 5691 :contents-begin 5674 :contents-end 5690 :post-blank 1 :post-affiliated 5674 :mode nil :granularity nil :parent #187) #("and hit Ctrl-D.\n" 0 16 (:parent #194))) (paragraph (:begin 5691 :end 5754 :contents-begin 5691 :contents-end 5754 :post-blank 0 :post-affiliated 5691 :mode nil :granularity nil :parent #187) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #195))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 5755 :end 7633 :pre-blank 1 :contents-begin 5787 :contents-end 7632 :robust-begin 5789 :robust-end 7630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5755 :title (#("Step 4: Install and run GN2" 0 27 (:parent #185))) :mode nil :granularity nil :parent #178) (section (:begin 5787 :end 7633 :contents-begin 5787 :contents-end 7632 :robust-begin 5787 :robust-end 7630 :post-blank 1 :post-affiliated 5787 :mode section :granularity nil :parent #185) (paragraph (:begin 5787 :end 5927 :contents-begin 5787 :contents-end 5926 :post-blank 1 :post-affiliated 5787 :mode planning :granularity nil :parent #188) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #191))) (src-block (:language "bash" :switches nil :parameters nil :begin 5927 :end 6046 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 5927 :mode nil :granularity nil :parent #188)) (paragraph (:begin 6046 :end 6099 :contents-begin 6046 :contents-end 6098 :post-blank 1 :post-affiliated 6046 :mode nil :granularity nil :parent #188) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #193))) (src-block (:language "bash" :switches nil :parameters nil :begin 6099 :end 6289 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 6099 :mode nil :granularity nil :parent #188)) (paragraph (:begin 6289 :end 6398 :contents-begin 6289 :contents-end 6397 :post-blank 1 :post-affiliated 6289 :mode nil :granularity nil :parent #188) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #195)) (italic (:begin 6360 :end 6366 :post-blank 0 :contents-begin 6361 :contents-end 6365 :parent #195) #("root" 0 4 (:parent #199))) #(".config/guix/latest override).\n" 0 31 (:parent #195))) (paragraph (:begin 6398 :end 6416 :contents-begin 6398 :contents-end 6415 :post-blank 1 :post-affiliated 6398 :mode nil :granularity nil :parent #188) #("And install with\n" 0 17 (:parent #196))) (src-block (:language "bash" :switches nil :parameters nil :begin 6416 :end 6586 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 6416 :mode nil :granularity nil :parent #188)) (paragraph (:begin 6586 :end 6729 :contents-begin 6586 :contents-end 6728 :post-blank 1 :post-affiliated 6586 :mode nil :granularity nil :parent #188) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #198))) (paragraph (:begin 6729 :end 6925 :contents-begin 6729 :contents-end 6924 :post-blank 1 :post-affiliated 6729 :mode nil :granularity nil :parent #188) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #199))) (paragraph (:begin 6925 :end 7056 :contents-begin 6925 :contents-end 7055 :post-blank 1 :post-affiliated 6925 :mode nil :granularity nil :parent #188) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #200))) (src-block (:language "bash" :switches nil :parameters nil :begin 7056 :end 7235 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python2.7/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 7056 :mode nil :granularity nil :parent #188)) (paragraph (:begin 7235 :end 7304 :contents-begin 7235 :contents-end 7303 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #188) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #202))) (src-block (:language "bash" :switches nil :parameters nil :begin 7304 :end 7345 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 7304 :mode nil :granularity nil :parent #188)) (paragraph (:begin 7345 :end 7596 :contents-begin 7345 :contents-end 7595 :post-blank 1 :post-affiliated 7345 :mode nil :granularity nil :parent #188) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #204)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 7567 :end 7593 :contents-begin nil :contents-end nil :post-blank 0 :parent #204)) #(".\n" 0 2 (:parent #204))) (paragraph (:begin 7596 :end 7632 :contents-begin 7596 :contents-end 7632 :post-blank 0 :post-affiliated 7596 :mode nil :granularity nil :parent #188) #("End of the GN2 installation recipe!\n" 0 36 (:parent #205)))))) (headline (:raw-value "Run MySQL server" :begin 7633 :end 9008 :pre-blank 1 :contents-begin 7653 :contents-end 9007 :robust-begin 7655 :robust-end 9005 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7633 :title (#("Run MySQL server" 0 16 (:parent #179))) :mode nil :granularity nil :parent #172) (section (:begin 7653 :end 9008 :contents-begin 7653 :contents-end 9007 :robust-begin 7653 :robust-end 9005 :post-blank 1 :post-affiliated 7653 :mode section :granularity nil :parent #179) (paragraph (:begin 7653 :end 7928 :contents-begin 7653 :contents-end 7927 :post-blank 1 :post-affiliated 7653 :mode planning :granularity nil :parent #182) #("At this point we require the underlying distribution to install and\nrun mysqld. Currently we have two databases for deployment,\n'db" 0 131 (:parent #185)) (subscript (:begin 7784 :end 7791 :use-brackets-p nil :contents-begin 7785 :contents-end 7791 :post-blank 0 :parent #185) #("webqtl" 0 6 (:parent #189))) (subscript (:begin 7791 :end 7793 :use-brackets-p nil :contents-begin 7792 :contents-end 7793 :post-blank 0 :parent #185) #("s" 0 1 (:parent #190))) #("' is the small testing database containing experiments\nfrom BXD mice and 'db" 0 76 (:parent #185)) (subscript (:begin 7869 :end 7876 :use-brackets-p nil :contents-begin 7870 :contents-end 7876 :post-blank 0 :parent #185) #("webqtl" 0 6 (:parent #192))) (subscript (:begin 7876 :end 7882 :use-brackets-p nil :contents-begin 7877 :contents-end 7882 :post-blank 0 :parent #185) #("plant" 0 5 (:parent #193))) #("' which contains all plant related\nmaterial.\n" 0 45 (:parent #185))) (paragraph (:begin 7928 :end 7956 :contents-begin 7928 :contents-end 7955 :post-blank 1 :post-affiliated 7928 :mode nil :granularity nil :parent #182) #("Download one database from\n" 0 27 (:parent #186))) (paragraph (:begin 7956 :end 8054 :contents-begin 7956 :contents-end 8053 :post-blank 1 :post-affiliated 7956 :mode nil :granularity nil :parent #182) (link (:type "http" :path "//files.genenetwork.org/raw_database/" :format plain :raw-link "http://files.genenetwork.org/raw_database/" :application nil :search-option nil :begin 7956 :end 7998 :contents-begin nil :contents-end nil :post-blank 0 :parent #187)) #("\n" 0 1 (:parent #187)) (link (:type "https" :path "//s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :format plain :raw-link "https://s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :application nil :search-option nil :begin 7999 :end 8052 :contents-begin nil :contents-end nil :post-blank 0 :parent #187)) #("\n" 0 1 (:parent #187))) (paragraph (:begin 8054 :end 8073 :contents-begin 8054 :contents-end 8072 :post-blank 1 :post-affiliated 8054 :mode nil :granularity nil :parent #182) #("Check the md5sum.\n" 0 18 (:parent #188))) (paragraph (:begin 8073 :end 8195 :contents-begin 8073 :contents-end 8194 :post-blank 1 :post-affiliated 8073 :mode nil :granularity nil :parent #182) #("After installation inflate the database binary in the MySQL directory\n(this installation path is subject to change soon)\n" 0 121 (:parent #189))) (fixed-width (:begin 8195 :end 8283 :value "chown -R mysql:mysql db_webqtl_s/\nchmod 700 db_webqtl_s/\nchmod 660 db_webqtl_s/*" :post-blank 2 :post-affiliated 8195 :mode nil :granularity nil :parent #182)) (paragraph (:begin 8283 :end 8334 :contents-begin 8283 :contents-end 8333 :post-blank 1 :post-affiliated 8283 :mode nil :granularity nil :parent #182) #("restart MySQL service (mysqld). Login as root and\n" 0 50 (:parent #191))) (fixed-width (:begin 8334 :end 8560 :value "mysql> show databases;\n+--------------------+\n| Database |\n+--------------------+\n| information_schema |\n| db_webqtl_s |\n| mysql |\n| performance_schema |\n+--------------------+" :post-blank 2 :post-affiliated 8334 :mode nil :granularity nil :parent #182)) (paragraph (:begin 8560 :end 8625 :contents-begin 8560 :contents-end 8624 :post-blank 1 :post-affiliated 8560 :mode nil :granularity nil :parent #182) #("Set permissions and match password in your settings file below:\n" 0 64 (:parent #193))) (fixed-width (:begin 8625 :end 8724 :value "mysql> grant all privileges on db_webqtl_s.* to gn2@\"localhost\" identified by 'mysql_password';" :post-blank 2 :post-affiliated 8625 :mode nil :granularity nil :parent #182)) (paragraph (:begin 8724 :end 8875 :contents-begin 8724 :contents-end 8874 :post-blank 1 :post-affiliated 8724 :mode nil :granularity nil :parent #182) #("Note that if the mysql connection is not working, try connecting to\nthe IP address and check server firewall, hosts.allow and mysql IP\nconfiguration.\n" 0 150 (:parent #195))) (paragraph (:begin 8875 :end 9007 :contents-begin 8875 :contents-end 9007 :post-blank 0 :post-affiliated 8875 :mode nil :granularity nil :parent #182) #("Note for the plant database you can rename it to db" 0 51 (:parent #196)) (subscript (:begin 8926 :end 8933 :use-brackets-p nil :contents-begin 8927 :contents-end 8933 :post-blank 0 :parent #196) #("webqtl" 0 6 (:parent #200))) (subscript (:begin 8933 :end 8935 :use-brackets-p nil :contents-begin 8934 :contents-end 8935 :post-blank 0 :parent #196) #("s" 0 1 (:parent #201))) #(", or\nchange the settings in etc/default" 0 39 (:parent #196)) (subscript (:begin 8974 :end 8987 :use-brackets-p nil :contents-begin 8975 :contents-end 8986 :post-blank 1 :parent #196) #("settings.py" 0 11 (:parent #203))) #("to match your path.\n" 0 20 (:parent #196))))) (headline (:raw-value "GN2 Dependency Graph" :begin 9008 :end 9172 :pre-blank 1 :contents-begin 9032 :contents-end 9171 :robust-begin 9034 :robust-end 9169 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9008 :title (#("GN2 Dependency Graph" 0 20 (:parent #180))) :mode nil :granularity nil :parent #172) (section (:begin 9032 :end 9172 :contents-begin 9032 :contents-end 9171 :robust-begin 9032 :robust-end 9169 :post-blank 1 :post-affiliated 9032 :mode section :granularity nil :parent #180) (paragraph (:begin 9032 :end 9093 :contents-begin 9032 :contents-end 9092 :post-blank 1 :post-affiliated 9032 :mode planning :granularity nil :parent #183) #("Graph of all runtime dependencies as installed by GNU Guix.\n" 0 60 (:parent #186))) (paragraph (:begin 9093 :end 9171 :contents-begin 9123 :contents-end 9171 :post-blank 0 :post-affiliated 9123 :attr_html (":title GN2_graph") :mode nil :granularity nil :parent #183) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg" :format plain :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg" :application nil :search-option nil :begin 9123 :end 9170 :contents-begin nil :contents-end nil :post-blank 0 :parent #187)) #("\n" 0 1 (:parent #187))))) (headline (:raw-value "Source deployment" :begin 9172 :end 12840 :pre-blank 1 :contents-begin 9193 :contents-end 12839 :robust-begin 9195 :robust-end 12837 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9172 :title (#("Source deployment" 0 17 (:parent #181))) :mode nil :granularity nil :parent #172) (section (:begin 9193 :end 9612 :contents-begin 9193 :contents-end 9610 :robust-begin 9193 :robust-end 9608 :post-blank 2 :post-affiliated 9193 :mode section :granularity nil :parent #181) (paragraph (:begin 9193 :end 9274 :contents-begin 9193 :contents-end 9273 :post-blank 1 :post-affiliated 9193 :mode planning :granularity nil :parent #184) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #187))) (paragraph (:begin 9274 :end 9304 :contents-begin 9274 :contents-end 9303 :post-blank 1 :post-affiliated 9274 :mode nil :granularity nil :parent #184) #("First execute above 4 steps:\n" 0 29 (:parent #188))) (plain-list (:type unordered :begin 9304 :end 9610 :contents-begin 9304 :contents-end 9610 :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :post-blank 0 :post-affiliated 9304 :mode nil :granularity nil :parent #184) (item (:bullet "- " :begin 9304 :end 9364 :contents-begin 9309 :contents-end 9364 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9304 :tag nil :mode item :granularity nil :parent #189) (paragraph (:begin 9309 :end 9364 :contents-begin 9309 :contents-end 9364 :post-blank 0 :post-affiliated 9309 :mode nil :granularity nil :parent #192) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 9309 :end 9363 :contents-begin 9337 :contents-end 9361 :post-blank 0 :parent #195) #("Step 1: Install GNU Guix" 0 24 (:parent #198))) #("\n" 0 1 (:parent #195)))) (item (:bullet "- " :begin 9364 :end 9458 :contents-begin 9369 :contents-end 9458 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9364 :tag nil :mode item :granularity nil :parent #189) (paragraph (:begin 9369 :end 9458 :contents-begin 9369 :contents-end 9458 :post-blank 0 :post-affiliated 9369 :mode nil :granularity nil :parent #193) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 9369 :end 9457 :contents-begin 9414 :contents-end 9455 :post-blank 0 :parent #196) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #199))) #("\n" 0 1 (:parent #196)))) (item (:bullet "- " :begin 9458 :end 9542 :contents-begin 9463 :contents-end 9542 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9458 :tag nil :mode item :granularity nil :parent #189) (paragraph (:begin 9463 :end 9542 :contents-begin 9463 :contents-end 9542 :post-blank 0 :post-affiliated 9463 :mode nil :granularity nil :parent #194) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 9463 :end 9541 :contents-begin 9503 :contents-end 9539 :post-blank 0 :parent #197) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #200))) #("\n" 0 1 (:parent #197)))) (item (:bullet "- " :begin 9542 :end 9610 :contents-begin 9547 :contents-end 9610 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9542 :tag nil :mode item :granularity nil :parent #189) (paragraph (:begin 9547 :end 9610 :contents-begin 9547 :contents-end 9610 :post-blank 0 :post-affiliated 9547 :mode nil :granularity nil :parent #195) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 9547 :end 9609 :contents-begin 9579 :contents-end 9607 :post-blank 0 :parent #198) #("Step 4: Install and run GN2 " 0 28 (:parent #201))) #("\n" 0 1 (:parent #198)))))) (headline (:raw-value "Run your own copy of GN2" :begin 9612 :end 10722 :pre-blank 1 :contents-begin 9641 :contents-end 10721 :robust-begin 9643 :robust-end 10719 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9612 :title (#("Run your own copy of GN2" 0 24 (:parent #185))) :mode nil :granularity nil :parent #181) (section (:begin 9641 :end 10722 :contents-begin 9641 :contents-end 10721 :robust-begin 9641 :robust-end 10719 :post-blank 1 :post-affiliated 9641 :mode section :granularity nil :parent #185) (paragraph (:begin 9641 :end 9839 :contents-begin 9641 :contents-end 9838 :post-blank 1 :post-affiliated 9641 :mode planning :granularity nil :parent #188) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #191)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 9793 :end 9836 :contents-begin nil :contents-end nil :post-blank 0 :parent #191)) #(".\n" 0 2 (:parent #191))) (paragraph (:begin 9839 :end 9964 :contents-begin 9839 :contents-end 9963 :post-blank 1 :post-affiliated 9839 :mode nil :granularity nil :parent #188) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #192)) (subscript (:begin 9896 :end 9902 :use-brackets-p nil :contents-begin 9897 :contents-end 9901 :post-blank 1 :parent #192) #("PATH" 0 4 (:parent #196))) #("and\nR" 0 5 (:parent #192)) (subscript (:begin 9907 :end 9912 :use-brackets-p nil :contents-begin 9908 :contents-end 9912 :post-blank 0 :parent #192) #("LIBS" 0 4 (:parent #198))) (subscript (:begin 9912 :end 9918 :use-brackets-p nil :contents-begin 9913 :contents-end 9917 :post-blank 1 :parent #192) #("SITE" 0 4 (:parent #199))) #("are set) from the information given by guix:\n" 0 45 (:parent #192))) (fixed-width (:begin 9964 :end 9995 :value "guix package --search-paths" :post-blank 2 :post-affiliated 9964 :mode nil :granularity nil :parent #188)) (paragraph (:begin 9995 :end 10019 :contents-begin 9995 :contents-end 10018 :post-blank 1 :post-affiliated 9995 :mode nil :granularity nil :parent #188) #("Inside the repository:\n" 0 23 (:parent #194))) (fixed-width (:begin 10019 :end 10059 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 10019 :mode nil :granularity nil :parent #188)) (paragraph (:begin 10059 :end 10303 :contents-begin 10059 :contents-end 10302 :post-blank 1 :post-affiliated 10059 :mode nil :granularity nil :parent #188) #("Will fire up your local repo " 0 29 (:parent #196)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 10088 :end 10111 :contents-begin nil :contents-end nil :post-blank 1 :parent #196)) #("using the\nsettings in ./etc/default" 0 35 (:parent #196)) (subscript (:begin 10146 :end 10158 :use-brackets-p nil :contents-begin 10147 :contents-end 10158 :post-blank 0 :parent #196) #("settings.py" 0 11 (:parent #202))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #196)) (subscript (:begin 10263 :end 10276 :use-brackets-p nil :contents-begin 10264 :contents-end 10275 :post-blank 1 :parent #196) #("settings.py" 0 11 (:parent #204))) #("and pass it into GN2 with\n" 0 26 (:parent #196))) (fixed-width (:begin 10303 :end 10346 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 10303 :mode nil :granularity nil :parent #188)) (paragraph (:begin 10346 :end 10492 :contents-begin 10346 :contents-end 10491 :post-blank 1 :post-affiliated 10346 :mode nil :granularity nil :parent #188) #("and everything " 0 15 (:parent #198)) (bold (:begin 10361 :end 10370 :post-blank 1 :contents-begin 10362 :contents-end 10368 :parent #198) #("should" 0 6 (:parent #202))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #198))) (paragraph (:begin 10492 :end 10620 :contents-begin 10492 :contents-end 10619 :post-blank 1 :post-affiliated 10492 :mode nil :granularity nil :parent #188) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #199))) (fixed-width (:begin 10620 :end 10721 :value "cat ~/.guix-profile/lib/python2.7/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 10620 :mode nil :granularity nil :parent #188)))) (headline (:raw-value "Set up nginx port forwarding" :begin 10722 :end 12840 :pre-blank 1 :contents-begin 10755 :contents-end 12839 :robust-begin 10757 :robust-end 12837 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 10722 :title (#("Set up nginx port forwarding" 0 28 (:parent #186))) :mode nil :granularity nil :parent #181) (section (:begin 10755 :end 12840 :contents-begin 10755 :contents-end 12839 :robust-begin 10755 :robust-end 12837 :post-blank 1 :post-affiliated 10755 :mode section :granularity nil :parent #186) (paragraph (:begin 10755 :end 10923 :contents-begin 10755 :contents-end 10922 :post-blank 1 :post-affiliated 10755 :mode planning :granularity nil :parent #189) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #192))) (paragraph (:begin 10923 :end 11063 :contents-begin 10923 :contents-end 11062 :post-blank 1 :post-affiliated 10923 :mode nil :granularity nil :parent #189) #("#+begin" 0 7 (:parent #193)) (subscript (:begin 10930 :end 10935 :use-brackets-p nil :contents-begin 10931 :contents-end 10934 :post-blank 1 :parent #193) #("src" 0 3 (:parent #197))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #193)) (subscript (:begin 10984 :end 10990 :use-brackets-p nil :contents-begin 10985 :contents-end 10989 :post-blank 1 :parent #193) #("name" 0 4 (:parent #199))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #193)) (subscript (:begin 11030 :end 11036 :use-brackets-p nil :contents-begin 11031 :contents-end 11034 :post-blank 2 :parent #193) #("log" 0 3 (:parent #201))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #193))) (paragraph (:begin 11063 :end 11232 :contents-begin 11063 :contents-end 11231 :post-blank 1 :post-affiliated 11063 :mode nil :granularity nil :parent #189) #(" proxy" 0 13 (:parent #194)) (subscript (:begin 11076 :end 11084 :use-brackets-p nil :contents-begin 11077 :contents-end 11084 :post-blank 0 :parent #194) #("connect" 0 7 (:parent #198))) (subscript (:begin 11084 :end 11099 :use-brackets-p nil :contents-begin 11085 :contents-end 11092 :post-blank 7 :parent #194) #("timeout" 0 7 (:parent #199))) #("3000;\n proxy" 0 19 (:parent #194)) (subscript (:begin 11118 :end 11123 :use-brackets-p nil :contents-begin 11119 :contents-end 11123 :post-blank 0 :parent #194) #("send" 0 4 (:parent #201))) (subscript (:begin 11123 :end 11141 :use-brackets-p nil :contents-begin 11124 :contents-end 11131 :post-blank 10 :parent #194) #("timeout" 0 7 (:parent #202))) #("3000;\n proxy" 0 19 (:parent #194)) (subscript (:begin 11160 :end 11165 :use-brackets-p nil :contents-begin 11161 :contents-end 11165 :post-blank 0 :parent #194) #("read" 0 4 (:parent #204))) (subscript (:begin 11165 :end 11183 :use-brackets-p nil :contents-begin 11166 :contents-end 11173 :post-blank 10 :parent #194) #("timeout" 0 7 (:parent #205))) #("3000;\n send" 0 18 (:parent #194)) (subscript (:begin 11201 :end 11225 :use-brackets-p nil :contents-begin 11202 :contents-end 11209 :post-blank 16 :parent #194) #("timeout" 0 7 (:parent #207))) #("3000;\n" 0 6 (:parent #194))) (paragraph (:begin 11232 :end 11632 :contents-begin 11232 :contents-end 11631 :post-blank 1 :post-affiliated 11232 :mode nil :granularity nil :parent #189) #(" location / {\n proxy" 0 38 (:parent #195)) (subscript (:begin 11270 :end 11274 :use-brackets-p nil :contents-begin 11271 :contents-end 11274 :post-blank 0 :parent #195) #("set" 0 3 (:parent #199))) (subscript (:begin 11274 :end 11284 :use-brackets-p nil :contents-begin 11275 :contents-end 11281 :post-blank 3 :parent #195) #("header" 0 6 (:parent #200))) #("Host $http" 0 15 (:parent #195)) (subscript (:begin 11299 :end 11304 :use-brackets-p nil :contents-begin 11300 :contents-end 11304 :post-blank 0 :parent #195) #("host" 0 4 (:parent #202))) #(";\n proxy" 0 19 (:parent #195)) (subscript (:begin 11323 :end 11327 :use-brackets-p nil :contents-begin 11324 :contents-end 11327 :post-blank 0 :parent #195) #("set" 0 3 (:parent #204))) (subscript (:begin 11327 :end 11337 :use-brackets-p nil :contents-begin 11328 :contents-end 11334 :post-blank 3 :parent #195) #("header" 0 6 (:parent #205))) #("Connection keep-alive;\n proxy" 0 40 (:parent #195)) (subscript (:begin 11377 :end 11381 :use-brackets-p nil :contents-begin 11378 :contents-end 11381 :post-blank 0 :parent #195) #("set" 0 3 (:parent #207))) (subscript (:begin 11381 :end 11391 :use-brackets-p nil :contents-begin 11382 :contents-end 11388 :post-blank 3 :parent #195) #("header" 0 6 (:parent #208))) #("X-Real-IP $remote" 0 17 (:parent #195)) (subscript (:begin 11408 :end 11413 :use-brackets-p nil :contents-begin 11409 :contents-end 11413 :post-blank 0 :parent #195) #("addr" 0 4 (:parent #210))) #(";\n proxy" 0 19 (:parent #195)) (subscript (:begin 11432 :end 11436 :use-brackets-p nil :contents-begin 11433 :contents-end 11436 :post-blank 0 :parent #195) #("set" 0 3 (:parent #212))) (subscript (:begin 11436 :end 11446 :use-brackets-p nil :contents-begin 11437 :contents-end 11443 :post-blank 3 :parent #195) #("header" 0 6 (:parent #213))) #("X-Forwarded-For $proxy" 0 22 (:parent #195)) (subscript (:begin 11468 :end 11472 :use-brackets-p nil :contents-begin 11469 :contents-end 11472 :post-blank 0 :parent #195) #("add" 0 3 (:parent #215))) (subscript (:begin 11472 :end 11474 :use-brackets-p nil :contents-begin 11473 :contents-end 11474 :post-blank 0 :parent #195) #("x" 0 1 (:parent #216))) (subscript (:begin 11474 :end 11484 :use-brackets-p nil :contents-begin 11475 :contents-end 11484 :post-blank 0 :parent #195) #("forwarded" 0 9 (:parent #217))) (subscript (:begin 11484 :end 11488 :use-brackets-p nil :contents-begin 11485 :contents-end 11488 :post-blank 0 :parent #195) #("for" 0 3 (:parent #218))) #(";\n proxy" 0 19 (:parent #195)) (subscript (:begin 11507 :end 11511 :use-brackets-p nil :contents-begin 11508 :contents-end 11511 :post-blank 0 :parent #195) #("set" 0 3 (:parent #220))) (subscript (:begin 11511 :end 11521 :use-brackets-p nil :contents-begin 11512 :contents-end 11518 :post-blank 3 :parent #195) #("header" 0 6 (:parent #221))) #("X-Forwarded-Host $server" 0 24 (:parent #195)) (subscript (:begin 11545 :end 11550 :use-brackets-p nil :contents-begin 11546 :contents-end 11550 :post-blank 0 :parent #195) #("name" 0 4 (:parent #223))) #(";\n proxy" 0 19 (:parent #195)) (subscript (:begin 11569 :end 11583 :use-brackets-p nil :contents-begin 11570 :contents-end 11574 :post-blank 9 :parent #195) #("pass" 0 4 (:parent #225))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 11583 :end 11604 :contents-begin nil :contents-end nil :post-blank 0 :parent #195)) #(";\n }\n}\n#+end" 0 19 (:parent #195)) (subscript (:begin 11623 :end 11628 :use-brackets-p nil :contents-begin 11624 :contents-end 11627 :post-blank 1 :parent #195) #("src" 0 3 (:parent #228))) #("js\n" 0 3 (:parent #195))) (paragraph (:begin 11632 :end 11671 :contents-begin 11632 :contents-end 11670 :post-blank 1 :post-affiliated 11632 :mode nil :granularity nil :parent #189) #("Install the nginx webserver (as root)\n" 0 38 (:parent #196))) (fixed-width (:begin 11671 :end 11696 :value "guix package -i nginx" :post-blank 2 :post-affiliated 11671 :mode nil :granularity nil :parent #189)) (paragraph (:begin 11696 :end 11777 :contents-begin 11696 :contents-end 11776 :post-blank 1 :post-affiliated 11696 :mode nil :granularity nil :parent #189) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #198))) (fixed-width (:begin 11777 :end 11964 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 11777 :mode nil :granularity nil :parent #189)) (paragraph (:begin 11964 :end 11979 :contents-begin 11964 :contents-end 11978 :post-blank 1 :post-affiliated 11964 :mode nil :granularity nil :parent #189) #("Use that path\n" 0 14 (:parent #200))) (fixed-width (:begin 11979 :end 12373 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 11979 :mode nil :granularity nil :parent #189)) (paragraph (:begin 12373 :end 12599 :contents-begin 12373 :contents-end 12599 :post-blank 0 :post-affiliated 12373 :mode nil :granularity nil :parent #189) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #202))) (fixed-width (:begin 12599 :end 12646 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 12599 :mode nil :granularity nil :parent #189)) (paragraph (:begin 12646 :end 12657 :contents-begin 12646 :contents-end 12656 :post-blank 1 :post-affiliated 12646 :mode nil :granularity nil :parent #189) #("Make dirs\n" 0 10 (:parent #204))) (fixed-width (:begin 12657 :end 12691 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 12657 :mode nil :granularity nil :parent #189)) (paragraph (:begin 12691 :end 12702 :contents-begin 12691 :contents-end 12701 :post-blank 1 :post-affiliated 12691 :mode nil :granularity nil :parent #189) #("Add users\n" 0 10 (:parent #206))) (fixed-width (:begin 12702 :end 12738 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 12702 :mode nil :granularity nil :parent #189)) (paragraph (:begin 12738 :end 12749 :contents-begin 12738 :contents-end 12748 :post-blank 1 :post-affiliated 12738 :mode nil :granularity nil :parent #189) #("Run nginx\n" 0 10 (:parent #208))) (fixed-width (:begin 12749 :end 12839 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 12749 :mode nil :granularity nil :parent #189))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 12840 :end 13801 :pre-blank 1 :contents-begin 12902 :contents-end 13801 :robust-begin 12904 :robust-end 13799 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12840 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #182))) :mode nil :granularity nil :parent #172) (section (:begin 12902 :end 12959 :contents-begin 12902 :contents-end 12958 :robust-begin 12902 :robust-end 12956 :post-blank 1 :post-affiliated 12902 :mode section :granularity nil :parent #182) (paragraph (:begin 12902 :end 12958 :contents-begin 12902 :contents-end 12958 :post-blank 0 :post-affiliated 12902 :mode planning :granularity nil :parent #185) #("See the document " 0 17 (:parent #188)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 12919 :end 12956 :contents-begin nil :contents-end nil :post-blank 0 :parent #188)) #(".\n" 0 2 (:parent #188)))) (headline (:raw-value "Update to recent guix" :begin 12959 :end 13409 :pre-blank 1 :contents-begin 12985 :contents-end 13408 :robust-begin 12987 :robust-end 13406 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12959 :title (#("Update to recent guix" 0 21 (:parent #186))) :mode nil :granularity nil :parent #182) (section (:begin 12985 :end 13409 :contents-begin 12985 :contents-end 13408 :robust-begin 12985 :robust-end 13406 :post-blank 1 :post-affiliated 12985 :mode section :granularity nil :parent #186) (paragraph (:begin 12985 :end 13020 :contents-begin 12985 :contents-end 13019 :post-blank 1 :post-affiliated 12985 :mode planning :granularity nil :parent #189) #("We now compile Guix from scratch.\n" 0 34 (:parent #192))) (paragraph (:begin 13020 :end 13295 :contents-begin 13020 :contents-end 13294 :post-blank 1 :post-affiliated 13020 :mode nil :granularity nil :parent #189) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #193)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 13159 :end 13272 :contents-begin 13264 :contents-end 13269 :post-blank 1 :parent #193) #("these" 0 5 (:parent #197))) #("steps carefully after\n" 0 22 (:parent #193))) (fixed-width (:begin 13295 :end 13330 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 13295 :mode nil :granularity nil :parent #189)) (paragraph (:begin 13330 :end 13408 :contents-begin 13330 :contents-end 13408 :post-blank 0 :post-affiliated 13330 :mode nil :granularity nil :parent #189) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #195))))) (headline (:raw-value "Install GN2" :begin 13409 :end 13801 :pre-blank 1 :contents-begin 13425 :contents-end 13801 :robust-begin 13427 :robust-end 13799 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 13409 :title (#("Install GN2" 0 11 (:parent #187))) :mode nil :granularity nil :parent #182) (section (:begin 13425 :end 13801 :contents-begin 13425 :contents-end 13801 :robust-begin 13425 :robust-end 13799 :post-blank 0 :post-affiliated 13425 :mode section :granularity nil :parent #187) (paragraph (:begin 13425 :end 13468 :contents-begin 13425 :contents-end 13467 :post-blank 1 :post-affiliated 13425 :mode planning :granularity nil :parent #190) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #193))) (paragraph (:begin 13468 :end 13676 :contents-begin 13468 :contents-end 13675 :post-blank 1 :post-affiliated 13468 :mode nil :granularity nil :parent #190) #("#+begin" 0 7 (:parent #194)) (subscript (:begin 13475 :end 13480 :use-brackets-p nil :contents-begin 13476 :contents-end 13479 :post-blank 1 :parent #194) #("src" 0 3 (:parent #198))) #("bash\nenv GUIX" 0 13 (:parent #194)) (subscript (:begin 13493 :end 13501 :use-brackets-p nil :contents-begin 13494 :contents-end 13501 :post-blank 0 :parent #194) #("PACKAGE" 0 7 (:parent #200))) (subscript (:begin 13501 :end 13506 :use-brackets-p nil :contents-begin 13502 :contents-end 13506 :post-blank 0 :parent #194) #("PATH" 0 4 (:parent #201))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #194)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 13605 :end 13633 :contents-begin nil :contents-end nil :post-blank 1 :parent #194)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 13633 :end 13658 :contents-begin nil :contents-end nil :post-blank 0 :parent #194)) #("\"\n#+end" 0 7 (:parent #194)) (subscript (:begin 13665 :end 13670 :use-brackets-p nil :contents-begin 13666 :contents-end 13669 :post-blank 1 :parent #194) #("src" 0 3 (:parent #206))) #("bash\n" 0 5 (:parent #194))) (paragraph (:begin 13676 :end 13714 :contents-begin 13676 :contents-end 13713 :post-blank 1 :post-affiliated 13676 :mode nil :granularity nil :parent #190) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #195))) (paragraph (:begin 13714 :end 13801 :contents-begin 13714 :contents-end 13801 :post-blank 0 :post-affiliated 13714 :mode nil :granularity nil :parent #190) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #196)))))))) #102)) #78)) #46 (item (:bullet "- " :begin 156 :end 521 :contents-begin 159 :contents-end 521 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 156 :tag nil :mode item :granularity nil :parent #78) (paragraph (:begin 159 :end 217 :contents-begin 159 :contents-end 217 :post-blank 0 :post-affiliated 159 :mode nil :granularity nil :parent #82) (link (:type "custom-id" :path "quick-installation-recipe" :format bracket :raw-link "#quick-installation-recipe" :application nil :search-option nil :begin 159 :end 216 :contents-begin 189 :contents-end 214 :post-blank 0 :parent #85) #("Quick installation recipe" 0 25 (:parent #88))) #("\n" 0 1 (:parent #85))) (plain-list (:type unordered :begin 217 :end 521 :contents-begin 217 :contents-end 521 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 217 :mode nil :granularity nil :parent #82) (item (:bullet "- " :begin 217 :end 277 :contents-begin 222 :contents-end 277 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 217 :tag nil :mode item :granularity nil :parent #86) (paragraph (:begin 222 :end 277 :contents-begin 222 :contents-end 277 :post-blank 0 :post-affiliated 222 :mode nil :granularity nil :parent #89) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 222 :end 276 :contents-begin 250 :contents-end 274 :post-blank 0 :parent #92) #("Step 1: Install GNU Guix" 0 24 (:parent #95))) #("\n" 0 1 (:parent #92)))) (item (:bullet "- " :begin 277 :end 371 :contents-begin 282 :contents-end 371 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 277 :tag nil :mode item :granularity nil :parent #86) (paragraph (:begin 282 :end 371 :contents-begin 282 :contents-end 371 :post-blank 0 :post-affiliated 282 :mode nil :granularity nil :parent #90) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 282 :end 370 :contents-begin 327 :contents-end 368 :post-blank 0 :parent #93) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #96))) #("\n" 0 1 (:parent #93)))) (item (:bullet "- " :begin 371 :end 455 :contents-begin 376 :contents-end 455 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 371 :tag nil :mode item :granularity nil :parent #86) (paragraph (:begin 376 :end 455 :contents-begin 376 :contents-end 455 :post-blank 0 :post-affiliated 376 :mode nil :granularity nil :parent #91) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 376 :end 454 :contents-begin 416 :contents-end 452 :post-blank 0 :parent #94) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #97))) #("\n" 0 1 (:parent #94)))) (item (:bullet "- " :begin 455 :end 521 :contents-begin 460 :contents-end 521 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 455 :tag nil :mode item :granularity nil :parent #86) (paragraph (:begin 460 :end 521 :contents-begin 460 :contents-end 521 :post-blank 0 :post-affiliated 460 :mode nil :granularity nil :parent #92) (link (:type "custom-id" :path "step-4-install-and-run-gn2" :format bracket :raw-link "#step-4-install-and-run-gn2" :application nil :search-option nil :begin 460 :end 520 :contents-begin 491 :contents-end 518 :post-blank 0 :parent #95) #("Step 4: Install and run GN2" 0 27 (:parent #98))) #("\n" 0 1 (:parent #95)))))) (item (:bullet "- " :begin 521 :end 564 :contents-begin 524 :contents-end 564 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 521 :tag nil :mode item :granularity nil :parent #78) (paragraph (:begin 524 :end 564 :contents-begin 524 :contents-end 564 :post-blank 0 :post-affiliated 524 :mode nil :granularity nil :parent #83) (link (:type "custom-id" :path "run-mysql-server" :format bracket :raw-link "#run-mysql-server" :application nil :search-option nil :begin 524 :end 563 :contents-begin 545 :contents-end 561 :post-blank 0 :parent #86) #("Run MySQL server" 0 16 (:parent #89))) #("\n" 0 1 (:parent #86)))) (item (:bullet "- " :begin 564 :end 615 :contents-begin 567 :contents-end 615 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 564 :tag nil :mode item :granularity nil :parent #78) (paragraph (:begin 567 :end 615 :contents-begin 567 :contents-end 615 :post-blank 0 :post-affiliated 567 :mode nil :granularity nil :parent #84) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 567 :end 614 :contents-begin 592 :contents-end 612 :post-blank 0 :parent #87) #("GN2 Dependency Graph" 0 20 (:parent #90))) #("\n" 0 1 (:parent #87)))) (item (:bullet "- " :begin 615 :end 790 :contents-begin 618 :contents-end 790 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 615 :tag nil :mode item :granularity nil :parent #78) (paragraph (:begin 618 :end 660 :contents-begin 618 :contents-end 660 :post-blank 0 :post-affiliated 618 :mode nil :granularity nil :parent #85) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 618 :end 659 :contents-begin 640 :contents-end 657 :post-blank 0 :parent #88) #("Source deployment" 0 17 (:parent #91))) #("\n" 0 1 (:parent #88))) (plain-list (:type unordered :begin 660 :end 790 :contents-begin 660 :contents-end 790 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 660 :mode nil :granularity nil :parent #85) (item (:bullet "- " :begin 660 :end 721 :contents-begin 665 :contents-end 721 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 660 :tag nil :mode item :granularity nil :parent #89) (paragraph (:begin 665 :end 721 :contents-begin 665 :contents-end 721 :post-blank 0 :post-affiliated 665 :mode nil :granularity nil :parent #92) (link (:type "custom-id" :path "run-your-own-copy-of-gn2" :format bracket :raw-link "#run-your-own-copy-of-gn2" :application nil :search-option nil :begin 665 :end 720 :contents-begin 694 :contents-end 718 :post-blank 0 :parent #95) #("Run your own copy of GN2" 0 24 (:parent #98))) #("\n" 0 1 (:parent #95)))) (item (:bullet "- " :begin 721 :end 790 :contents-begin 726 :contents-end 790 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 721 :tag nil :mode item :granularity nil :parent #89) (paragraph (:begin 726 :end 790 :contents-begin 726 :contents-end 790 :post-blank 0 :post-affiliated 726 :mode nil :granularity nil :parent #93) (link (:type "custom-id" :path "set-up-nginx-port-forwarding" :format bracket :raw-link "#set-up-nginx-port-forwarding" :application nil :search-option nil :begin 726 :end 789 :contents-begin 759 :contents-end 787 :post-blank 0 :parent #96) #("Set up nginx port forwarding" 0 28 (:parent #99))) #("\n" 0 1 (:parent #96)))))) (item (:bullet "- " :begin 790 :end 1034 :contents-begin 793 :contents-end 1034 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 790 :tag nil :mode item :granularity nil :parent #78) (paragraph (:begin 793 :end 917 :contents-begin 793 :contents-end 917 :post-blank 0 :post-affiliated 793 :mode nil :granularity nil :parent #86) (link (:type "custom-id" :path "source-deployment-and-other-information-on-reproducibility" :format bracket :raw-link "#source-deployment-and-other-information-on-reproducibility" :application nil :search-option nil :begin 793 :end 916 :contents-begin 856 :contents-end 914 :post-blank 0 :parent #89) #("Source deployment and other information on reproducibility" 0 58 (:parent #92))) #("\n" 0 1 (:parent #89))) (plain-list (:type unordered :begin 917 :end 1034 :contents-begin 917 :contents-end 1034 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 917 :mode nil :granularity nil :parent #86) (item (:bullet "- " :begin 917 :end 972 :contents-begin 922 :contents-end 972 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 917 :tag nil :mode item :granularity nil :parent #90) (paragraph (:begin 922 :end 972 :contents-begin 922 :contents-end 972 :post-blank 0 :post-affiliated 922 :mode nil :granularity nil :parent #93) (link (:type "custom-id" :path "update-to-recent-guix" :format bracket :raw-link "#update-to-recent-guix" :application nil :search-option nil :begin 922 :end 971 :contents-begin 948 :contents-end 969 :post-blank 0 :parent #96) #("Update to recent guix" 0 21 (:parent #99))) #("\n" 0 1 (:parent #96)))) (item (:bullet "- " :begin 972 :end 1007 :contents-begin 977 :contents-end 1007 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 972 :tag nil :mode item :granularity nil :parent #90) (paragraph (:begin 977 :end 1007 :contents-begin 977 :contents-end 1007 :post-blank 0 :post-affiliated 977 :mode nil :granularity nil :parent #94) (link (:type "custom-id" :path "install-gn2" :format bracket :raw-link "#install-gn2" :application nil :search-option nil :begin 977 :end 1006 :contents-begin 993 :contents-end 1004 :post-blank 0 :parent #97) #("Install GN2" 0 11 (:parent #100))) #("\n" 0 1 (:parent #97)))) (item (:bullet "- " :begin 1007 :end 1034 :contents-begin 1012 :contents-end 1034 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1007 :tag nil :mode item :granularity nil :parent #90) (paragraph (:begin 1012 :end 1034 :contents-begin 1012 :contents-end 1034 :post-blank 0 :post-affiliated 1012 :mode nil :granularity nil :parent #95) (link (:type "custom-id" :path "run-gn2" :format bracket :raw-link "#run-gn2" :application nil :search-option nil :begin 1012 :end 1033 :contents-begin 1024 :contents-end 1031 :post-blank 0 :parent #98) #("Run GN2" 0 7 (:parent #101))) #("\n" 0 1 (:parent #98)))))) (item (:bullet "- " :begin 1034 :end 1370 :contents-begin 1037 :contents-end 1370 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1034 :tag nil :mode item :granularity nil :parent #78) (paragraph (:begin 1037 :end 1077 :contents-begin 1037 :contents-end 1077 :post-blank 0 :post-affiliated 1037 :mode nil :granularity nil :parent #87) (link (:type "custom-id" :path "trouble-shooting" :format bracket :raw-link "#trouble-shooting" :application nil :search-option nil :begin 1037 :end 1076 :contents-begin 1058 :contents-end 1074 :post-blank 0 :parent #90) #("Trouble shooting" 0 16 (:parent #93))) #("\n" 0 1 (:parent #90))) (plain-list (:type unordered :begin 1077 :end 1370 :contents-begin 1077 :contents-end 1370 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 1077 :mode nil :granularity nil :parent #87) (item (:bullet "- " :begin 1077 :end 1159 :contents-begin 1082 :contents-end 1159 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1077 :tag nil :mode item :granularity nil :parent #91) (paragraph (:begin 1082 :end 1159 :contents-begin 1082 :contents-end 1159 :post-blank 0 :post-affiliated 1082 :mode nil :granularity nil :parent #94) (link (:type "custom-id" :path "importerror-no-module-named-jinja2" :format bracket :raw-link "#importerror-no-module-named-jinja2" :application nil :search-option nil :begin 1082 :end 1158 :contents-begin 1121 :contents-end 1156 :post-blank 0 :parent #97) #("ImportError: No module named jinja2" 0 35 (:parent #100))) #("\n" 0 1 (:parent #97)))) (item (:bullet "- " :begin 1159 :end 1257 :contents-begin 1164 :contents-end 1257 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1159 :tag nil :mode item :granularity nil :parent #91) (paragraph (:begin 1164 :end 1257 :contents-begin 1164 :contents-end 1257 :post-blank 0 :post-affiliated 1164 :mode nil :granularity nil :parent #95) (link (:type "custom-id" :path "error-can-not-find-directory-homegn2_data" :format bracket :raw-link "#error-can-not-find-directory-homegn2_data" :application nil :search-option nil :begin 1164 :end 1256 :contents-begin 1210 :contents-end 1254 :post-blank 0 :parent #98) #("ERROR: can not find directory $HOME/gn2" 0 39 (:parent #101)) (subscript (:begin 1249 :end 1254 :use-brackets-p nil :contents-begin 1250 :contents-end 1254 :post-blank 0 :parent #101) #("data" 0 4 (:parent #105)))) #("\n" 0 1 (:parent #98)))) (item (:bullet "- " :begin 1257 :end 1305 :contents-begin 1262 :contents-end 1305 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1257 :tag nil :mode item :granularity nil :parent #91) (paragraph (:begin 1262 :end 1305 :contents-begin 1262 :contents-end 1305 :post-blank 0 :post-affiliated 1262 :mode nil :granularity nil :parent #96) (link (:type "custom-id" :path "cant-run-a-module" :format bracket :raw-link "#cant-run-a-module" :application nil :search-option nil :begin 1262 :end 1304 :contents-begin 1284 :contents-end 1302 :post-blank 0 :parent #99) #("Can't run a module" 0 18 (:parent #102))) #("\n" 0 1 (:parent #99)))) (item (:bullet "- " :begin 1305 :end 1370 :contents-begin 1310 :contents-end 1370 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1305 :tag nil :mode item :granularity nil :parent #91) (paragraph (:begin 1310 :end 1370 :contents-begin 1310 :contents-end 1370 :post-blank 0 :post-affiliated 1310 :mode nil :granularity nil :parent #97) (link (:type "custom-id" :path "rpy2-error-show-now-found" :format bracket :raw-link "#rpy2-error-show-now-found" :application nil :search-option nil :begin 1310 :end 1369 :contents-begin 1340 :contents-end 1367 :post-blank 0 :parent #100) #("Rpy2 error 'show' now found" 0 27 (:parent #103))) #("\n" 0 1 (:parent #100)))))) (item (:bullet "- " :begin 1370 :end 1403 :contents-begin 1373 :contents-end 1403 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1370 :tag nil :mode item :granularity nil :parent #78) (paragraph (:begin 1373 :end 1403 :contents-begin 1373 :contents-end 1403 :post-blank 0 :post-affiliated 1373 :mode nil :granularity nil :parent #88) (link (:type "custom-id" :path "irc-session" :format bracket :raw-link "#irc-session" :application nil :search-option nil :begin 1373 :end 1402 :contents-begin 1389 :contents-end 1400 :post-blank 0 :parent #91) #("IRC session" 0 11 (:parent #94))) #("\n" 0 1 (:parent #91)))))) #26)) #0 #("\n" 0 1 (:parent #26)))) #("Introduction" 0 12 (:parent #0))) (:export-options (body-only) :back-end #s(org-export-backend :name html :parent nil :transcoders ((bold . org-html-bold) (center-block . org-html-center-block) (clock . org-html-clock) (code . org-html-code) (drawer . org-html-drawer) (dynamic-block . org-html-dynamic-block) (entity . org-html-entity) (example-block . org-html-example-block) (export-block . org-html-export-block) (export-snippet . org-html-export-snippet) (fixed-width . org-html-fixed-width) (footnote-reference . org-html-footnote-reference) (headline . org-html-headline) (horizontal-rule . org-html-horizontal-rule) (inline-src-block . org-html-inline-src-block) (inlinetask . org-html-inlinetask) (inner-template . org-html-inner-template) (italic . org-html-italic) (item . org-html-item) (keyword . org-html-keyword) (latex-environment . org-html-latex-environment) (latex-fragment . org-html-latex-fragment) (line-break . org-html-line-break) (link . org-html-link) (node-property . org-html-node-property) (paragraph . org-html-paragraph) (plain-list . org-html-plain-list) (plain-text . org-html-plain-text) (planning . org-html-planning) (property-drawer . org-html-property-drawer) (quote-block . org-html-quote-block) (radio-target . org-html-radio-target) (section . org-html-section) (special-block . org-html-special-block) (src-block . org-html-src-block) (statistics-cookie . org-html-statistics-cookie) (strike-through . org-html-strike-through) (subscript . org-html-subscript) (superscript . org-html-superscript) (table . org-html-table) (table-cell . org-html-table-cell) (table-row . org-html-table-row) (target . org-html-target) (template . org-html-template) (timestamp . org-html-timestamp) (underline . org-html-underline) (verbatim . org-html-verbatim) (verse-block . org-html-verse-block)) :options ((:html-doctype "HTML_DOCTYPE" nil org-html-doctype) (:html-container "HTML_CONTAINER" nil org-html-container-element) (:html-content-class "HTML_CONTENT_CLASS" nil org-html-content-class) (:description "DESCRIPTION" nil nil newline) (:keywords "KEYWORDS" nil nil space) (:html-html5-fancy nil "html5-fancy" org-html-html5-fancy) (:html-link-use-abs-url nil "html-link-use-abs-url" org-html-link-use-abs-url) (:html-link-home "HTML_LINK_HOME" nil org-html-link-home) (:html-link-up "HTML_LINK_UP" nil org-html-link-up) (:html-mathjax "HTML_MATHJAX" nil "" space) (:html-equation-reference-format "HTML_EQUATION_REFERENCE_FORMAT" nil org-html-equation-reference-format t) (:html-postamble nil "html-postamble" org-html-postamble) (:html-preamble nil "html-preamble" org-html-preamble) (:html-head "HTML_HEAD" nil org-html-head newline) (:html-head-extra "HTML_HEAD_EXTRA" nil org-html-head-extra newline) (:subtitle "SUBTITLE" nil nil parse) (:html-head-include-default-style nil "html-style" org-html-head-include-default-style) (:html-head-include-scripts nil "html-scripts" org-html-head-include-scripts) (:html-allow-name-attribute-in-anchors nil nil org-html-allow-name-attribute-in-anchors) (:html-divs nil nil org-html-divs) (:html-checkbox-type nil nil org-html-checkbox-type) (:html-extension nil nil org-html-extension) (:html-footnote-format nil nil org-html-footnote-format) (:html-footnote-separator nil nil org-html-footnote-separator) (:html-footnotes-section nil nil org-html-footnotes-section) (:html-format-drawer-function nil nil org-html-format-drawer-function) (:html-format-headline-function nil nil org-html-format-headline-function) (:html-format-inlinetask-function nil nil org-html-format-inlinetask-function) (:html-home/up-format nil nil org-html-home/up-format) (:html-indent nil nil org-html-indent) (:html-infojs-options nil nil org-html-infojs-options) (:html-infojs-template nil nil org-html-infojs-template) (:html-inline-image-rules nil nil org-html-inline-image-rules) (:html-link-org-files-as-html nil nil org-html-link-org-files-as-html) (:html-mathjax-options nil nil org-html-mathjax-options) (:html-mathjax-template nil nil org-html-mathjax-template) (:html-metadata-timestamp-format nil nil org-html-metadata-timestamp-format) (:html-postamble-format nil nil org-html-postamble-format) (:html-preamble-format nil nil org-html-preamble-format) (:html-prefer-user-labels nil nil org-html-prefer-user-labels) (:html-self-link-headlines nil nil org-html-self-link-headlines) (:html-table-align-individual-fields nil nil org-html-table-align-individual-fields) (:html-table-caption-above nil nil org-html-table-caption-above) (:html-table-data-tags nil nil org-html-table-data-tags) (:html-table-header-tags nil nil org-html-table-header-tags) (:html-table-use-header-tags-for-first-column nil nil org-html-table-use-header-tags-for-first-column) (:html-tag-class-prefix nil nil org-html-tag-class-prefix) (:html-text-markup-alist nil nil org-html-text-markup-alist) (:html-todo-kwd-class-prefix nil nil org-html-todo-kwd-class-prefix) (:html-toplevel-hlevel nil nil org-html-toplevel-hlevel) (:html-use-infojs nil nil org-html-use-infojs) (:html-validation-link nil nil org-html-validation-link) (:html-viewport nil nil org-html-viewport) (:html-inline-images nil nil org-html-inline-images) (:html-table-attributes nil nil org-html-table-default-attributes) (:html-table-row-open-tag nil nil org-html-table-row-open-tag) (:html-table-row-close-tag nil nil org-html-table-row-close-tag) (:html-xml-declaration nil nil org-html-xml-declaration) (:html-wrap-src-lines nil nil org-html-wrap-src-lines) (:html-klipsify-src nil nil org-html-klipsify-src) (:html-klipse-css nil nil org-html-klipse-css) (:html-klipse-js nil nil org-html-klipse-js) (:html-klipse-selection-script nil nil org-html-klipse-selection-script) (:infojs-opt "INFOJS_OPT" nil nil) (:creator "CREATOR" nil org-html-creator-string) (:with-latex nil "tex" org-html-with-latex) (:latex-header "LATEX_HEADER" nil nil newline)) :filters ((:filter-options . org-html-infojs-install-script) (:filter-parse-tree . org-html-image-link-filter) (:filter-final-output . org-html-final-function)) :blocks nil :menu (104 "Export to HTML" ((72 "As HTML buffer" org-html-export-as-html) (104 "As HTML file" org-html-export-to-html) (111 "As HTML file and open" (lambda (a s v b) (if a (org-html-export-to-html t s v b) (org-open-file (org-html-export-to-html nil s v b)))))))) :translate-alist ((bold . org-html-bold) (center-block . org-html-center-block) (clock . org-html-clock) (code . org-html-code) (drawer . org-html-drawer) (dynamic-block . org-html-dynamic-block) (entity . org-html-entity) (example-block . org-html-example-block) (export-block . org-html-export-block) (export-snippet . org-html-export-snippet) (fixed-width . org-html-fixed-width) (footnote-reference . org-html-footnote-reference) (headline . org-html-headline) (horizontal-rule . org-html-horizontal-rule) (inline-src-block . org-html-inline-src-block) (inlinetask . org-html-inlinetask) (inner-template . org-html-inner-template) (italic . org-html-italic) (item . org-html-item) (keyword . org-html-keyword) (latex-environment . org-html-latex-environment) (latex-fragment . org-html-latex-fragment) (line-break . org-html-line-break) (link . org-html-link) (node-property . org-html-node-property) (paragraph . org-html-paragraph) (plain-list . org-html-plain-list) (plain-text . org-html-plain-text) (planning . org-html-planning) (property-drawer . org-html-property-drawer) (quote-block . org-html-quote-block) (radio-target . org-html-radio-target) (section . org-html-section) (special-block . org-html-special-block) (src-block . org-html-src-block) (statistics-cookie . org-html-statistics-cookie) (strike-through . org-html-strike-through) (subscript . org-html-subscript) (superscript . org-html-superscript) (table . org-html-table) (table-cell . org-html-table-cell) (table-row . org-html-table-row) (target . org-html-target) (template . org-html-template) (timestamp . org-html-timestamp) (underline . org-html-underline) (verbatim . org-html-verbatim) (verse-block . org-html-verse-block)) :exported-data # :input-buffer " *temp*" :input-file nil :html-doctype "xhtml-strict" :html-container "div" :html-content-class "content" :description nil :keywords nil :html-html5-fancy nil :html-link-use-abs-url nil :html-link-home "" :html-link-up "" :html-mathjax "" :html-equation-reference-format "\\eqref{%s}" :html-postamble auto :html-preamble t :html-head "" :html-head-extra "" :subtitle nil :html-head-include-default-style t :html-head-include-scripts nil :html-allow-name-attribute-in-anchors nil :html-divs ((preamble "div" "preamble") (content "div" "content") (postamble "div" "postamble")) :html-checkbox-type ascii :html-extension "html" :html-footnote-format "%s" :html-footnote-separator ", " :html-footnotes-section "
\n

%s:

\n
\n%s\n
\n
" :html-format-drawer-function #f(compiled-function (name contents) #) :html-format-headline-function org-html-format-headline-default-function :html-format-inlinetask-function org-html-format-inlinetask-default-function :html-home/up-format "
\n UP \n |\n HOME \n
" :html-indent nil :html-infojs-options ((path . "https://orgmode.org/org-info.js") (view . "info") (toc . :with-toc) (ftoc . "0") (tdepth . "max") (sdepth . "max") (mouse . "underline") (buttons . "0") (ltoc . "1") (up . :html-link-up) (home . :html-link-home)) :html-infojs-template "\n\n" :html-inline-image-rules (("file" . "\\(?:\\.\\(?:gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)") ("http" . "\\(?:\\.\\(?:gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)") ("https" . "\\(?:\\.\\(?:gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)")) :html-link-org-files-as-html t :html-mathjax-options ((path "https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js") (scale 1.0) (align "center") (font "mathjax-modern") (overflow "overflow") (tags "ams") (indent "0em") (multlinewidth "85%") (tagindent ".8em") (tagside "right")) :html-mathjax-template "\n\n\n" :html-metadata-timestamp-format "%Y-%m-%d %a %H:%M" :html-postamble-format (("en" "

Author: %a (%e)

\n

Date: %d

\n

%c

\n

%v

")) :html-preamble-format (("en" "")) :html-prefer-user-labels nil :html-self-link-headlines nil :html-table-align-individual-fields t :html-table-caption-above t :html-table-data-tags ("" . "") :html-table-header-tags ("" . "") :html-table-use-header-tags-for-first-column nil :html-tag-class-prefix "" :html-text-markup-alist ((bold . "%s") (code . "%s") (italic . "%s") (strike-through . "%s") (underline . "%s") (verbatim . "%s")) :html-todo-kwd-class-prefix "" :html-toplevel-hlevel 2 :html-use-infojs when-configured :html-validation-link "Validate" :html-viewport ((width "device-width") (initial-scale "1") (minimum-scale "") (maximum-scale "") (user-scalable "")) :html-inline-images t :html-table-attributes (:border "2" :cellspacing "0" :cellpadding "6" :rules "groups" :frame "hsides") :html-table-row-open-tag "" :html-table-row-close-tag "" :html-xml-declaration (("html" . "") ("php" . "\"; ?>")) :html-wrap-src-lines nil :html-klipsify-src nil :html-klipse-css "https://storage.googleapis.com/app.klipse.tech/css/codemirror.css" :html-klipse-js "https://storage.googleapis.com/app.klipse.tech/plugin_prod/js/klipse_plugin.min.js" :html-klipse-selection-script "window.klipse_settings = {selector_eval_html: '.src-html',\n selector_eval_js: '.src-js',\n selector_eval_python_client: '.src-python',\n selector_eval_scheme: '.src-scheme',\n selector: '.src-clojure',\n selector_eval_ruby: '.src-ruby'};" :infojs-opt nil :creator "Emacs 29.4 (Org mode 9.6.15)" :with-latex t :latex-header nil :title (#("Installing GeneNetwork services" 0 31 (:parent #148))) :date nil :author (#("unknown" 0 7 (:parent #152))) :email "unknown@genenetwork-development" :language "en" :select-tags ("export") :exclude-tags ("noexport") :headline-levels 3 :preserve-breaks nil :section-numbers nil :time-stamp-file t :with-archived-trees headline :with-author t :with-broken-links nil :with-clocks nil :with-creator nil :with-date t :with-drawers (not "LOGBOOK") :with-email nil :with-emphasize t :with-entities t :with-fixed-width t :with-footnotes t :with-inlinetasks t :with-planning nil :with-priority nil :with-properties nil :with-smart-quotes nil :with-special-strings t :with-statistics-cookies t :with-sub-superscript t :with-toc nil :with-tables t :with-tags t :with-tasks t :with-timestamps t :with-title t :with-todo-keywords t :cite-export (basic nil nil) :bibliography nil :filter-body nil :filter-bold nil :filter-babel-call nil :filter-center-block nil :filter-clock nil :filter-code nil :filter-diary-sexp nil :filter-drawer nil :filter-dynamic-block nil :filter-entity nil :filter-example-block nil :filter-export-block nil :filter-export-snippet nil :filter-final-output (org-html-final-function) :filter-fixed-width nil :filter-footnote-definition nil :filter-footnote-reference nil :filter-headline nil :filter-horizontal-rule nil :filter-inline-babel-call nil :filter-inline-src-block nil :filter-inlinetask nil :filter-italic nil :filter-item nil :filter-keyword nil :filter-latex-environment nil :filter-latex-fragment nil :filter-line-break nil :filter-link nil :filter-node-property nil :filter-options (org-html-infojs-install-script) :filter-paragraph nil :filter-parse-tree (org-html-image-link-filter) :filter-plain-list nil :filter-plain-text nil :filter-planning nil :filter-property-drawer nil :filter-quote-block nil :filter-radio-target nil :filter-section nil :filter-special-block nil :filter-src-block nil :filter-statistics-cookie nil :filter-strike-through nil :filter-subscript nil :filter-superscript nil :filter-table nil :filter-table-cell nil :filter-table-row nil :filter-target nil :filter-timestamp nil :filter-underline nil :filter-verbatim nil :filter-verse-block nil :ignore-list nil :parse-tree (org-data (:begin 1 :contents-begin 1 :contents-end 13801 :end 13801 :robust-begin 3 :robust-end 13799 :post-blank 0 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 43 :contents-begin 1 :contents-end 42 :robust-begin 1 :robust-end 40 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #338) (keyword (:key "TITLE" :value "Installing GeneNetwork services" :begin 1 :end 42 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #341))) (headline (:raw-value "Table of Contents" :begin 43 :end 1404 :pre-blank 0 :contents-begin 121 :contents-end 1403 :robust-begin 123 :robust-end 1401 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 43 :title (#("Table of Contents" 0 17 (:parent #342))) :mode nil :granularity nil :parent #338) (section (:begin 121 :end 1404 :contents-begin 121 :contents-end 1403 :robust-begin 121 :robust-end 1401 :post-blank 1 :post-affiliated 121 :mode section :granularity nil :parent #342) (plain-list (:type unordered :begin 121 :end 1403 :contents-begin 121 :contents-end 1403 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 121 :mode planning :granularity nil :parent #345) (item (:bullet "- " :begin 121 :end 156 :contents-begin 124 :contents-end 156 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 121 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 124 :end 156 :contents-begin 124 :contents-end 156 :post-blank 0 :post-affiliated 124 :mode nil :granularity nil :parent #351) (link (:type "custom-id" :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil :begin 124 :end 155 :contents-begin 141 :contents-end 153 :post-blank 0 :parent #354) #("Introduction" 0 12 (:parent #357))) #("\n" 0 1 (:parent #354)))) (item (:bullet "- " :begin 156 :end 521 :contents-begin 159 :contents-end 521 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 156 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 159 :end 217 :contents-begin 159 :contents-end 217 :post-blank 0 :post-affiliated 159 :mode nil :granularity nil :parent #352) (link (:type "custom-id" :path "quick-installation-recipe" :format bracket :raw-link "#quick-installation-recipe" :application nil :search-option nil :begin 159 :end 216 :contents-begin 189 :contents-end 214 :post-blank 0 :parent #355) #("Quick installation recipe" 0 25 (:parent #358))) #("\n" 0 1 (:parent #355))) (plain-list (:type unordered :begin 217 :end 521 :contents-begin 217 :contents-end 521 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 217 :mode nil :granularity nil :parent #352) (item (:bullet "- " :begin 217 :end 277 :contents-begin 222 :contents-end 277 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 217 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 222 :end 277 :contents-begin 222 :contents-end 277 :post-blank 0 :post-affiliated 222 :mode nil :granularity nil :parent #359) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 222 :end 276 :contents-begin 250 :contents-end 274 :post-blank 0 :parent #362) #("Step 1: Install GNU Guix" 0 24 (:parent #365))) #("\n" 0 1 (:parent #362)))) (item (:bullet "- " :begin 277 :end 371 :contents-begin 282 :contents-end 371 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 277 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 282 :end 371 :contents-begin 282 :contents-end 371 :post-blank 0 :post-affiliated 282 :mode nil :granularity nil :parent #360) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 282 :end 370 :contents-begin 327 :contents-end 368 :post-blank 0 :parent #363) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #366))) #("\n" 0 1 (:parent #363)))) (item (:bullet "- " :begin 371 :end 455 :contents-begin 376 :contents-end 455 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 371 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 376 :end 455 :contents-begin 376 :contents-end 455 :post-blank 0 :post-affiliated 376 :mode nil :granularity nil :parent #361) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 376 :end 454 :contents-begin 416 :contents-end 452 :post-blank 0 :parent #364) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #367))) #("\n" 0 1 (:parent #364)))) (item (:bullet "- " :begin 455 :end 521 :contents-begin 460 :contents-end 521 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 455 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 460 :end 521 :contents-begin 460 :contents-end 521 :post-blank 0 :post-affiliated 460 :mode nil :granularity nil :parent #362) (link (:type "custom-id" :path "step-4-install-and-run-gn2" :format bracket :raw-link "#step-4-install-and-run-gn2" :application nil :search-option nil :begin 460 :end 520 :contents-begin 491 :contents-end 518 :post-blank 0 :parent #365) #("Step 4: Install and run GN2" 0 27 (:parent #368))) #("\n" 0 1 (:parent #365)))))) (item (:bullet "- " :begin 521 :end 564 :contents-begin 524 :contents-end 564 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 521 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 524 :end 564 :contents-begin 524 :contents-end 564 :post-blank 0 :post-affiliated 524 :mode nil :granularity nil :parent #353) (link (:type "custom-id" :path "run-mysql-server" :format bracket :raw-link "#run-mysql-server" :application nil :search-option nil :begin 524 :end 563 :contents-begin 545 :contents-end 561 :post-blank 0 :parent #356) #("Run MySQL server" 0 16 (:parent #359))) #("\n" 0 1 (:parent #356)))) (item (:bullet "- " :begin 564 :end 615 :contents-begin 567 :contents-end 615 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 564 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 567 :end 615 :contents-begin 567 :contents-end 615 :post-blank 0 :post-affiliated 567 :mode nil :granularity nil :parent #354) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 567 :end 614 :contents-begin 592 :contents-end 612 :post-blank 0 :parent #357) #("GN2 Dependency Graph" 0 20 (:parent #360))) #("\n" 0 1 (:parent #357)))) (item (:bullet "- " :begin 615 :end 790 :contents-begin 618 :contents-end 790 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 615 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 618 :end 660 :contents-begin 618 :contents-end 660 :post-blank 0 :post-affiliated 618 :mode nil :granularity nil :parent #355) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 618 :end 659 :contents-begin 640 :contents-end 657 :post-blank 0 :parent #358) #("Source deployment" 0 17 (:parent #361))) #("\n" 0 1 (:parent #358))) (plain-list (:type unordered :begin 660 :end 790 :contents-begin 660 :contents-end 790 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 660 :mode nil :granularity nil :parent #355) (item (:bullet "- " :begin 660 :end 721 :contents-begin 665 :contents-end 721 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 660 :tag nil :mode item :granularity nil :parent #359) (paragraph (:begin 665 :end 721 :contents-begin 665 :contents-end 721 :post-blank 0 :post-affiliated 665 :mode nil :granularity nil :parent #362) (link (:type "custom-id" :path "run-your-own-copy-of-gn2" :format bracket :raw-link "#run-your-own-copy-of-gn2" :application nil :search-option nil :begin 665 :end 720 :contents-begin 694 :contents-end 718 :post-blank 0 :parent #365) #("Run your own copy of GN2" 0 24 (:parent #368))) #("\n" 0 1 (:parent #365)))) (item (:bullet "- " :begin 721 :end 790 :contents-begin 726 :contents-end 790 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 721 :tag nil :mode item :granularity nil :parent #359) (paragraph (:begin 726 :end 790 :contents-begin 726 :contents-end 790 :post-blank 0 :post-affiliated 726 :mode nil :granularity nil :parent #363) (link (:type "custom-id" :path "set-up-nginx-port-forwarding" :format bracket :raw-link "#set-up-nginx-port-forwarding" :application nil :search-option nil :begin 726 :end 789 :contents-begin 759 :contents-end 787 :post-blank 0 :parent #366) #("Set up nginx port forwarding" 0 28 (:parent #369))) #("\n" 0 1 (:parent #366)))))) (item (:bullet "- " :begin 790 :end 1034 :contents-begin 793 :contents-end 1034 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 790 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 793 :end 917 :contents-begin 793 :contents-end 917 :post-blank 0 :post-affiliated 793 :mode nil :granularity nil :parent #356) (link (:type "custom-id" :path "source-deployment-and-other-information-on-reproducibility" :format bracket :raw-link "#source-deployment-and-other-information-on-reproducibility" :application nil :search-option nil :begin 793 :end 916 :contents-begin 856 :contents-end 914 :post-blank 0 :parent #359) #("Source deployment and other information on reproducibility" 0 58 (:parent #362))) #("\n" 0 1 (:parent #359))) (plain-list (:type unordered :begin 917 :end 1034 :contents-begin 917 :contents-end 1034 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 917 :mode nil :granularity nil :parent #356) (item (:bullet "- " :begin 917 :end 972 :contents-begin 922 :contents-end 972 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 917 :tag nil :mode item :granularity nil :parent #360) (paragraph (:begin 922 :end 972 :contents-begin 922 :contents-end 972 :post-blank 0 :post-affiliated 922 :mode nil :granularity nil :parent #363) (link (:type "custom-id" :path "update-to-recent-guix" :format bracket :raw-link "#update-to-recent-guix" :application nil :search-option nil :begin 922 :end 971 :contents-begin 948 :contents-end 969 :post-blank 0 :parent #366) #("Update to recent guix" 0 21 (:parent #369))) #("\n" 0 1 (:parent #366)))) (item (:bullet "- " :begin 972 :end 1007 :contents-begin 977 :contents-end 1007 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 972 :tag nil :mode item :granularity nil :parent #360) (paragraph (:begin 977 :end 1007 :contents-begin 977 :contents-end 1007 :post-blank 0 :post-affiliated 977 :mode nil :granularity nil :parent #364) (link (:type "custom-id" :path "install-gn2" :format bracket :raw-link "#install-gn2" :application nil :search-option nil :begin 977 :end 1006 :contents-begin 993 :contents-end 1004 :post-blank 0 :parent #367) #("Install GN2" 0 11 (:parent #370))) #("\n" 0 1 (:parent #367)))) (item (:bullet "- " :begin 1007 :end 1034 :contents-begin 1012 :contents-end 1034 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1007 :tag nil :mode item :granularity nil :parent #360) (paragraph (:begin 1012 :end 1034 :contents-begin 1012 :contents-end 1034 :post-blank 0 :post-affiliated 1012 :mode nil :granularity nil :parent #365) (link (:type "custom-id" :path "run-gn2" :format bracket :raw-link "#run-gn2" :application nil :search-option nil :begin 1012 :end 1033 :contents-begin 1024 :contents-end 1031 :post-blank 0 :parent #368) #("Run GN2" 0 7 (:parent #371))) #("\n" 0 1 (:parent #368)))))) (item (:bullet "- " :begin 1034 :end 1370 :contents-begin 1037 :contents-end 1370 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1034 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 1037 :end 1077 :contents-begin 1037 :contents-end 1077 :post-blank 0 :post-affiliated 1037 :mode nil :granularity nil :parent #357) (link (:type "custom-id" :path "trouble-shooting" :format bracket :raw-link "#trouble-shooting" :application nil :search-option nil :begin 1037 :end 1076 :contents-begin 1058 :contents-end 1074 :post-blank 0 :parent #360) #("Trouble shooting" 0 16 (:parent #363))) #("\n" 0 1 (:parent #360))) (plain-list (:type unordered :begin 1077 :end 1370 :contents-begin 1077 :contents-end 1370 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 1077 :mode nil :granularity nil :parent #357) (item (:bullet "- " :begin 1077 :end 1159 :contents-begin 1082 :contents-end 1159 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1077 :tag nil :mode item :granularity nil :parent #361) (paragraph (:begin 1082 :end 1159 :contents-begin 1082 :contents-end 1159 :post-blank 0 :post-affiliated 1082 :mode nil :granularity nil :parent #364) (link (:type "custom-id" :path "importerror-no-module-named-jinja2" :format bracket :raw-link "#importerror-no-module-named-jinja2" :application nil :search-option nil :begin 1082 :end 1158 :contents-begin 1121 :contents-end 1156 :post-blank 0 :parent #367) #("ImportError: No module named jinja2" 0 35 (:parent #370))) #("\n" 0 1 (:parent #367)))) (item (:bullet "- " :begin 1159 :end 1257 :contents-begin 1164 :contents-end 1257 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1159 :tag nil :mode item :granularity nil :parent #361) (paragraph (:begin 1164 :end 1257 :contents-begin 1164 :contents-end 1257 :post-blank 0 :post-affiliated 1164 :mode nil :granularity nil :parent #365) (link (:type "custom-id" :path "error-can-not-find-directory-homegn2_data" :format bracket :raw-link "#error-can-not-find-directory-homegn2_data" :application nil :search-option nil :begin 1164 :end 1256 :contents-begin 1210 :contents-end 1254 :post-blank 0 :parent #368) #("ERROR: can not find directory $HOME/gn2" 0 39 (:parent #371)) (subscript (:begin 1249 :end 1254 :use-brackets-p nil :contents-begin 1250 :contents-end 1254 :post-blank 0 :parent #371) #("data" 0 4 (:parent #375)))) #("\n" 0 1 (:parent #368)))) (item (:bullet "- " :begin 1257 :end 1305 :contents-begin 1262 :contents-end 1305 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1257 :tag nil :mode item :granularity nil :parent #361) (paragraph (:begin 1262 :end 1305 :contents-begin 1262 :contents-end 1305 :post-blank 0 :post-affiliated 1262 :mode nil :granularity nil :parent #366) (link (:type "custom-id" :path "cant-run-a-module" :format bracket :raw-link "#cant-run-a-module" :application nil :search-option nil :begin 1262 :end 1304 :contents-begin 1284 :contents-end 1302 :post-blank 0 :parent #369) #("Can't run a module" 0 18 (:parent #372))) #("\n" 0 1 (:parent #369)))) (item (:bullet "- " :begin 1305 :end 1370 :contents-begin 1310 :contents-end 1370 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1305 :tag nil :mode item :granularity nil :parent #361) (paragraph (:begin 1310 :end 1370 :contents-begin 1310 :contents-end 1370 :post-blank 0 :post-affiliated 1310 :mode nil :granularity nil :parent #367) (link (:type "custom-id" :path "rpy2-error-show-now-found" :format bracket :raw-link "#rpy2-error-show-now-found" :application nil :search-option nil :begin 1310 :end 1369 :contents-begin 1340 :contents-end 1367 :post-blank 0 :parent #370) #("Rpy2 error 'show' now found" 0 27 (:parent #373))) #("\n" 0 1 (:parent #370)))))) (item (:bullet "- " :begin 1370 :end 1403 :contents-begin 1373 :contents-end 1403 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1370 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 1373 :end 1403 :contents-begin 1373 :contents-end 1403 :post-blank 0 :post-affiliated 1373 :mode nil :granularity nil :parent #358) (link (:type "custom-id" :path "irc-session" :format bracket :raw-link "#irc-session" :application nil :search-option nil :begin 1373 :end 1402 :contents-begin 1389 :contents-end 1400 :post-blank 0 :parent #361) #("IRC session" 0 11 (:parent #364))) #("\n" 0 1 (:parent #361))))))) (headline (:raw-value "Introduction" :begin 1404 :end 2450 :pre-blank 1 :contents-begin 1420 :contents-end 2449 :robust-begin 1422 :robust-end 2447 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1404 :title (#("Introduction" 0 12 (:parent #343))) :mode nil :granularity nil :parent #338) (section (:begin 1420 :end 2450 :contents-begin 1420 :contents-end 2449 :robust-begin 1420 :robust-end 2447 :post-blank 1 :post-affiliated 1420 :mode section :granularity nil :parent #343) (paragraph (:begin 1420 :end 1557 :contents-begin 1420 :contents-end 1556 :post-blank 1 :post-affiliated 1420 :mode planning :granularity nil :parent #346) #("If you want to understand the architecture of GN2 read\n" 0 55 (:parent #349)) (link (:type "fuzzy" :path "Architecture.org" :format bracket :raw-link "Architecture.org" :application nil :search-option nil :begin 1475 :end 1495 :contents-begin nil :contents-end nil :post-blank 0 :parent #349)) #(". The rest of this document is mostly on deployment\nof GN2.\n" 0 61 (:parent #349))) (paragraph (:begin 1557 :end 1943 :contents-begin 1557 :contents-end 1942 :post-blank 1 :post-affiliated 1557 :mode nil :granularity nil :parent #346) #("Large system deployments can get very " 0 38 (:parent #350)) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg " :format bracket :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg " :application nil :search-option nil :begin 1595 :end 1656 :contents-begin 1647 :contents-end 1654 :post-blank 0 :parent #350) #("complex" 0 7 (:parent #354))) #(". In this document we\nexplain the GeneNetwork version 2 (GN2) reproducible deployment system\nwhich is based on GNU Guix (see also " 0 130 (:parent #350)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1786 :end 1860 :contents-begin 1848 :contents-end 1858 :post-blank 0 :parent #350) #("Guix-notes" 0 10 (:parent #356))) #("). The Guix\nsystem can be used to install GN with all its files and dependencies.\n" 0 82 (:parent #350))) (paragraph (:begin 1943 :end 2328 :contents-begin 1943 :contents-end 2327 :post-blank 1 :post-affiliated 1943 :mode nil :granularity nil :parent #346) #("The official installation path is from a checked out version of the\nmain Guix package tree and that of the Genenetwork package\ntree. Current supported versions can be found as the SHA values of\n'gn-latest' branches of " 0 218 (:parent #351)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :application nil :search-option nil :begin 2161 :end 2252 :contents-begin 2230 :contents-end 2249 :post-blank 1 :parent #351) #("Guix bioinformatics" 0 19 (:parent #355))) #("and " 0 4 (:parent #351)) (link (:type "https" :path "//github.com/genenetwork/guix/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix/tree/gn-latest" :application nil :search-option nil :begin 2256 :end 2325 :contents-begin 2310 :contents-end 2323 :post-blank 0 :parent #351) #("GNU Guix main" 0 13 (:parent #357))) #(".\n" 0 2 (:parent #351))) (paragraph (:begin 2328 :end 2449 :contents-begin 2328 :contents-end 2449 :post-blank 0 :post-affiliated 2328 :mode nil :granularity nil :parent #346) #("For a full view of runtime dependencies as defined by GNU Guix, see\nthe " 0 72 (:parent #352)) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 2400 :end 2447 :contents-begin 2425 :contents-end 2445 :post-blank 0 :parent #352) #("GN2 Dependency Graph" 0 20 (:parent #356))) #(".\n" 0 2 (:parent #352))))) (headline (:raw-value "Quick installation recipe" :begin 2450 :end 7633 :pre-blank 1 :contents-begin 2479 :contents-end 7632 :robust-begin 2481 :robust-end 7630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 2450 :title (#("Quick installation recipe" 0 25 (:parent #344))) :mode nil :granularity nil :parent #338) (section (:begin 2479 :end 3022 :contents-begin 2479 :contents-end 3021 :robust-begin 2479 :robust-end 3019 :post-blank 1 :post-affiliated 2479 :mode section :granularity nil :parent #344) (paragraph (:begin 2479 :end 2880 :contents-begin 2479 :contents-end 2879 :post-blank 1 :post-affiliated 2479 :mode planning :granularity nil :parent #347) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS). For more elaborate installation\ninstructions see " 0 357 (:parent #350)) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 2836 :end 2877 :contents-begin 2858 :contents-end 2875 :post-blank 0 :parent #350) #("Source deployment" 0 17 (:parent #354))) #(".\n" 0 2 (:parent #350))) (paragraph (:begin 2880 :end 3021 :contents-begin 2880 :contents-end 3021 :post-blank 0 :post-affiliated 2880 :mode nil :granularity nil :parent #347) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #351)))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 3022 :end 4649 :pre-blank 1 :contents-begin 3051 :contents-end 4648 :robust-begin 3053 :robust-end 4646 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3022 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #348))) :mode nil :granularity nil :parent #344) (section (:begin 3051 :end 4649 :contents-begin 3051 :contents-end 4648 :robust-begin 3051 :robust-end 4646 :post-blank 1 :post-affiliated 3051 :mode section :granularity nil :parent #348) (paragraph (:begin 3051 :end 3504 :contents-begin 3051 :contents-end 3503 :post-blank 1 :post-affiliated 3051 :mode planning :granularity nil :parent #351) #("Fetch the GNU Guix binary from " 0 31 (:parent #354)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 3082 :end 3136 :contents-begin 3129 :contents-end 3133 :post-blank 1 :parent #354) #("here" 0 4 (:parent #358))) #("(middle panel) and follow\n" 0 26 (:parent #354)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 3162 :end 3255 :contents-begin 3241 :contents-end 3253 :post-blank 0 :parent #354) #("instructions" 0 12 (:parent #360))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #354))) (paragraph (:begin 3504 :end 3782 :contents-begin 3504 :contents-end 3781 :post-blank 1 :post-affiliated 3504 :mode nil :granularity nil :parent #351) #("Once you have succeeded, you have to " 0 37 (:parent #355)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 3541 :end 3631 :contents-begin 3617 :contents-end 3628 :post-blank 1 :parent #355) #("set the key" 0 11 (:parent #359))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #355))) (src-block (:language "bash" :switches nil :parameters nil :begin 3782 :end 3890 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 3782 :mode nil :granularity nil :parent #351)) (paragraph (:begin 3890 :end 3924 :contents-begin 3890 :contents-end 3923 :post-blank 1 :post-affiliated 3890 :mode nil :granularity nil :parent #351) #("Which should show something like\n" 0 33 (:parent #357))) (fixed-width (:begin 3924 :end 4034 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 3924 :mode nil :granularity nil :parent #351)) (paragraph (:begin 4034 :end 4045 :contents-begin 4034 :contents-end 4044 :post-blank 1 :post-affiliated 4034 :mode nil :granularity nil :parent #351) #("#+end" 0 5 (:parent #359)) (subscript (:begin 4039 :end 4043 :use-brackets-p nil :contents-begin 4040 :contents-end 4043 :post-blank 0 :parent #359) #("src" 0 3 (:parent #363))) #("\n" 0 1 (:parent #359))) (paragraph (:begin 4045 :end 4116 :contents-begin 4045 :contents-end 4115 :post-blank 1 :post-affiliated 4045 :mode nil :granularity nil :parent #351) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #360))) (src-block (:language "bash" :switches nil :parameters nil :begin 4116 :end 4188 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 4116 :mode nil :granularity nil :parent #351)) (paragraph (:begin 4188 :end 4375 :contents-begin 4188 :contents-end 4374 :post-blank 1 :post-affiliated 4188 :mode nil :granularity nil :parent #351) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #362))) (paragraph (:begin 4375 :end 4648 :contents-begin 4375 :contents-end 4648 :post-blank 0 :post-affiliated 4375 :mode nil :granularity nil :parent #351) #("If you need more help we have another writeup in " 0 49 (:parent #363)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 4424 :end 4520 :contents-begin 4508 :contents-end 4518 :post-blank 0 :parent #363) #("guix-notes" 0 10 (:parent #367))) #(". To get\nrid of the locale warning see " 0 39 (:parent #363)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 4559 :end 4646 :contents-begin 4634 :contents-end 4644 :post-blank 0 :parent #363) #("set-locale" 0 10 (:parent #369))) #(".\n" 0 2 (:parent #363))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 4649 :end 5304 :pre-blank 1 :contents-begin 4695 :contents-end 5302 :robust-begin 4697 :robust-end 5300 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4649 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #349))) :mode nil :granularity nil :parent #344) (section (:begin 4695 :end 5304 :contents-begin 4695 :contents-end 5302 :robust-begin 4695 :robust-end 5300 :post-blank 2 :post-affiliated 4695 :mode section :granularity nil :parent #349) (paragraph (:begin 4695 :end 4815 :contents-begin 4695 :contents-end 4814 :post-blank 1 :post-affiliated 4695 :mode planning :granularity nil :parent #352) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #355))) (src-block (:language "bash" :switches nil :parameters nil :begin 4815 :end 4920 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 4815 :mode nil :granularity nil :parent #352)) (paragraph (:begin 4920 :end 4971 :contents-begin 4920 :contents-end 4970 :post-blank 1 :post-affiliated 4920 :mode nil :granularity nil :parent #352) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #357))) (paragraph (:begin 4971 :end 5232 :contents-begin 4971 :contents-end 5231 :post-blank 1 :post-affiliated 4971 :mode nil :granularity nil :parent #352) #("#+begin" 0 7 (:parent #358)) (subscript (:begin 4978 :end 4983 :use-brackets-p nil :contents-begin 4979 :contents-end 4982 :post-blank 1 :parent #358) #("src" 0 3 (:parent #362))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #358)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 5055 :end 5105 :contents-begin nil :contents-end nil :post-blank 0 :parent #358)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #358)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 5147 :end 5183 :contents-begin nil :contents-end nil :post-blank 1 :parent #358)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #358)) (subscript (:begin 5221 :end 5226 :use-brackets-p nil :contents-begin 5222 :contents-end 5225 :post-blank 1 :parent #358) #("src" 0 3 (:parent #368))) #("bash\n" 0 5 (:parent #358))) (paragraph (:begin 5232 :end 5270 :contents-begin 5232 :contents-end 5269 :post-blank 1 :post-affiliated 5232 :mode nil :granularity nil :parent #352) #("To test whether this is working try:\n" 0 37 (:parent #359))) (paragraph (:begin 5270 :end 5302 :contents-begin 5270 :contents-end 5302 :post-blank 0 :post-affiliated 5270 :mode nil :granularity nil :parent #352) #("#+begin" 0 7 (:parent #360)) (subscript (:begin 5277 :end 5282 :use-brackets-p nil :contents-begin 5278 :contents-end 5281 :post-blank 1 :parent #360) #("src" 0 3 (:parent #364))) #("bash\n#+end" 0 10 (:parent #360)) (subscript (:begin 5292 :end 5297 :use-brackets-p nil :contents-begin 5293 :contents-end 5296 :post-blank 1 :parent #360) #("src" 0 3 (:parent #366))) #("bash\n" 0 5 (:parent #360))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 5304 :end 5755 :pre-blank 1 :contents-begin 5345 :contents-end 5754 :robust-begin 5347 :robust-end 5752 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5304 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #350))) :mode nil :granularity nil :parent #344) (section (:begin 5345 :end 5755 :contents-begin 5345 :contents-end 5754 :robust-begin 5345 :robust-end 5752 :post-blank 1 :post-affiliated 5345 :mode section :granularity nil :parent #350) (paragraph (:begin 5345 :end 5445 :contents-begin 5345 :contents-end 5444 :post-blank 1 :post-affiliated 5345 :mode planning :granularity nil :parent #353) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #356))) (src-block (:language "scheme" :switches nil :parameters nil :begin 5445 :end 5589 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 5445 :mode nil :granularity nil :parent #353)) (paragraph (:begin 5589 :end 5621 :contents-begin 5589 :contents-end 5620 :post-blank 1 :post-affiliated 5589 :mode nil :granularity nil :parent #353) #("by pasting it into the command\n" 0 31 (:parent #358))) (src-block (:language "bash" :switches nil :parameters nil :begin 5621 :end 5674 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 5621 :mode nil :granularity nil :parent #353)) (paragraph (:begin 5674 :end 5691 :contents-begin 5674 :contents-end 5690 :post-blank 1 :post-affiliated 5674 :mode nil :granularity nil :parent #353) #("and hit Ctrl-D.\n" 0 16 (:parent #360))) (paragraph (:begin 5691 :end 5754 :contents-begin 5691 :contents-end 5754 :post-blank 0 :post-affiliated 5691 :mode nil :granularity nil :parent #353) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #361))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 5755 :end 7633 :pre-blank 1 :contents-begin 5787 :contents-end 7632 :robust-begin 5789 :robust-end 7630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5755 :title (#("Step 4: Install and run GN2" 0 27 (:parent #351))) :mode nil :granularity nil :parent #344) (section (:begin 5787 :end 7633 :contents-begin 5787 :contents-end 7632 :robust-begin 5787 :robust-end 7630 :post-blank 1 :post-affiliated 5787 :mode section :granularity nil :parent #351) (paragraph (:begin 5787 :end 5927 :contents-begin 5787 :contents-end 5926 :post-blank 1 :post-affiliated 5787 :mode planning :granularity nil :parent #354) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #357))) (src-block (:language "bash" :switches nil :parameters nil :begin 5927 :end 6046 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 5927 :mode nil :granularity nil :parent #354)) (paragraph (:begin 6046 :end 6099 :contents-begin 6046 :contents-end 6098 :post-blank 1 :post-affiliated 6046 :mode nil :granularity nil :parent #354) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #359))) (src-block (:language "bash" :switches nil :parameters nil :begin 6099 :end 6289 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 6099 :mode nil :granularity nil :parent #354)) (paragraph (:begin 6289 :end 6398 :contents-begin 6289 :contents-end 6397 :post-blank 1 :post-affiliated 6289 :mode nil :granularity nil :parent #354) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #361)) (italic (:begin 6360 :end 6366 :post-blank 0 :contents-begin 6361 :contents-end 6365 :parent #361) #("root" 0 4 (:parent #365))) #(".config/guix/latest override).\n" 0 31 (:parent #361))) (paragraph (:begin 6398 :end 6416 :contents-begin 6398 :contents-end 6415 :post-blank 1 :post-affiliated 6398 :mode nil :granularity nil :parent #354) #("And install with\n" 0 17 (:parent #362))) (src-block (:language "bash" :switches nil :parameters nil :begin 6416 :end 6586 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 6416 :mode nil :granularity nil :parent #354)) (paragraph (:begin 6586 :end 6729 :contents-begin 6586 :contents-end 6728 :post-blank 1 :post-affiliated 6586 :mode nil :granularity nil :parent #354) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #364))) (paragraph (:begin 6729 :end 6925 :contents-begin 6729 :contents-end 6924 :post-blank 1 :post-affiliated 6729 :mode nil :granularity nil :parent #354) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #365))) (paragraph (:begin 6925 :end 7056 :contents-begin 6925 :contents-end 7055 :post-blank 1 :post-affiliated 6925 :mode nil :granularity nil :parent #354) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #366))) (src-block (:language "bash" :switches nil :parameters nil :begin 7056 :end 7235 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python2.7/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 7056 :mode nil :granularity nil :parent #354)) (paragraph (:begin 7235 :end 7304 :contents-begin 7235 :contents-end 7303 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #354) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #368))) (src-block (:language "bash" :switches nil :parameters nil :begin 7304 :end 7345 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 7304 :mode nil :granularity nil :parent #354)) (paragraph (:begin 7345 :end 7596 :contents-begin 7345 :contents-end 7595 :post-blank 1 :post-affiliated 7345 :mode nil :granularity nil :parent #354) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #370)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 7567 :end 7593 :contents-begin nil :contents-end nil :post-blank 0 :parent #370)) #(".\n" 0 2 (:parent #370))) (paragraph (:begin 7596 :end 7632 :contents-begin 7596 :contents-end 7632 :post-blank 0 :post-affiliated 7596 :mode nil :granularity nil :parent #354) #("End of the GN2 installation recipe!\n" 0 36 (:parent #371)))))) (headline (:raw-value "Run MySQL server" :begin 7633 :end 9008 :pre-blank 1 :contents-begin 7653 :contents-end 9007 :robust-begin 7655 :robust-end 9005 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7633 :title (#("Run MySQL server" 0 16 (:parent #345))) :mode nil :granularity nil :parent #338) (section (:begin 7653 :end 9008 :contents-begin 7653 :contents-end 9007 :robust-begin 7653 :robust-end 9005 :post-blank 1 :post-affiliated 7653 :mode section :granularity nil :parent #345) (paragraph (:begin 7653 :end 7928 :contents-begin 7653 :contents-end 7927 :post-blank 1 :post-affiliated 7653 :mode planning :granularity nil :parent #348) #("At this point we require the underlying distribution to install and\nrun mysqld. Currently we have two databases for deployment,\n'db" 0 131 (:parent #351)) (subscript (:begin 7784 :end 7791 :use-brackets-p nil :contents-begin 7785 :contents-end 7791 :post-blank 0 :parent #351) #("webqtl" 0 6 (:parent #355))) (subscript (:begin 7791 :end 7793 :use-brackets-p nil :contents-begin 7792 :contents-end 7793 :post-blank 0 :parent #351) #("s" 0 1 (:parent #356))) #("' is the small testing database containing experiments\nfrom BXD mice and 'db" 0 76 (:parent #351)) (subscript (:begin 7869 :end 7876 :use-brackets-p nil :contents-begin 7870 :contents-end 7876 :post-blank 0 :parent #351) #("webqtl" 0 6 (:parent #358))) (subscript (:begin 7876 :end 7882 :use-brackets-p nil :contents-begin 7877 :contents-end 7882 :post-blank 0 :parent #351) #("plant" 0 5 (:parent #359))) #("' which contains all plant related\nmaterial.\n" 0 45 (:parent #351))) (paragraph (:begin 7928 :end 7956 :contents-begin 7928 :contents-end 7955 :post-blank 1 :post-affiliated 7928 :mode nil :granularity nil :parent #348) #("Download one database from\n" 0 27 (:parent #352))) (paragraph (:begin 7956 :end 8054 :contents-begin 7956 :contents-end 8053 :post-blank 1 :post-affiliated 7956 :mode nil :granularity nil :parent #348) (link (:type "http" :path "//files.genenetwork.org/raw_database/" :format plain :raw-link "http://files.genenetwork.org/raw_database/" :application nil :search-option nil :begin 7956 :end 7998 :contents-begin nil :contents-end nil :post-blank 0 :parent #353)) #("\n" 0 1 (:parent #353)) (link (:type "https" :path "//s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :format plain :raw-link "https://s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :application nil :search-option nil :begin 7999 :end 8052 :contents-begin nil :contents-end nil :post-blank 0 :parent #353)) #("\n" 0 1 (:parent #353))) (paragraph (:begin 8054 :end 8073 :contents-begin 8054 :contents-end 8072 :post-blank 1 :post-affiliated 8054 :mode nil :granularity nil :parent #348) #("Check the md5sum.\n" 0 18 (:parent #354))) (paragraph (:begin 8073 :end 8195 :contents-begin 8073 :contents-end 8194 :post-blank 1 :post-affiliated 8073 :mode nil :granularity nil :parent #348) #("After installation inflate the database binary in the MySQL directory\n(this installation path is subject to change soon)\n" 0 121 (:parent #355))) (fixed-width (:begin 8195 :end 8283 :value "chown -R mysql:mysql db_webqtl_s/\nchmod 700 db_webqtl_s/\nchmod 660 db_webqtl_s/*" :post-blank 2 :post-affiliated 8195 :mode nil :granularity nil :parent #348)) (paragraph (:begin 8283 :end 8334 :contents-begin 8283 :contents-end 8333 :post-blank 1 :post-affiliated 8283 :mode nil :granularity nil :parent #348) #("restart MySQL service (mysqld). Login as root and\n" 0 50 (:parent #357))) (fixed-width (:begin 8334 :end 8560 :value "mysql> show databases;\n+--------------------+\n| Database |\n+--------------------+\n| information_schema |\n| db_webqtl_s |\n| mysql |\n| performance_schema |\n+--------------------+" :post-blank 2 :post-affiliated 8334 :mode nil :granularity nil :parent #348)) (paragraph (:begin 8560 :end 8625 :contents-begin 8560 :contents-end 8624 :post-blank 1 :post-affiliated 8560 :mode nil :granularity nil :parent #348) #("Set permissions and match password in your settings file below:\n" 0 64 (:parent #359))) (fixed-width (:begin 8625 :end 8724 :value "mysql> grant all privileges on db_webqtl_s.* to gn2@\"localhost\" identified by 'mysql_password';" :post-blank 2 :post-affiliated 8625 :mode nil :granularity nil :parent #348)) (paragraph (:begin 8724 :end 8875 :contents-begin 8724 :contents-end 8874 :post-blank 1 :post-affiliated 8724 :mode nil :granularity nil :parent #348) #("Note that if the mysql connection is not working, try connecting to\nthe IP address and check server firewall, hosts.allow and mysql IP\nconfiguration.\n" 0 150 (:parent #361))) (paragraph (:begin 8875 :end 9007 :contents-begin 8875 :contents-end 9007 :post-blank 0 :post-affiliated 8875 :mode nil :granularity nil :parent #348) #("Note for the plant database you can rename it to db" 0 51 (:parent #362)) (subscript (:begin 8926 :end 8933 :use-brackets-p nil :contents-begin 8927 :contents-end 8933 :post-blank 0 :parent #362) #("webqtl" 0 6 (:parent #366))) (subscript (:begin 8933 :end 8935 :use-brackets-p nil :contents-begin 8934 :contents-end 8935 :post-blank 0 :parent #362) #("s" 0 1 (:parent #367))) #(", or\nchange the settings in etc/default" 0 39 (:parent #362)) (subscript (:begin 8974 :end 8987 :use-brackets-p nil :contents-begin 8975 :contents-end 8986 :post-blank 1 :parent #362) #("settings.py" 0 11 (:parent #369))) #("to match your path.\n" 0 20 (:parent #362))))) (headline (:raw-value "GN2 Dependency Graph" :begin 9008 :end 9172 :pre-blank 1 :contents-begin 9032 :contents-end 9171 :robust-begin 9034 :robust-end 9169 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9008 :title (#("GN2 Dependency Graph" 0 20 (:parent #346))) :mode nil :granularity nil :parent #338) (section (:begin 9032 :end 9172 :contents-begin 9032 :contents-end 9171 :robust-begin 9032 :robust-end 9169 :post-blank 1 :post-affiliated 9032 :mode section :granularity nil :parent #346) (paragraph (:begin 9032 :end 9093 :contents-begin 9032 :contents-end 9092 :post-blank 1 :post-affiliated 9032 :mode planning :granularity nil :parent #349) #("Graph of all runtime dependencies as installed by GNU Guix.\n" 0 60 (:parent #352))) (paragraph (:begin 9093 :end 9171 :contents-begin 9123 :contents-end 9171 :post-blank 0 :post-affiliated 9123 :attr_html (":title GN2_graph") :mode nil :granularity nil :parent #349) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg" :format plain :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg" :application nil :search-option nil :begin 9123 :end 9170 :contents-begin nil :contents-end nil :post-blank 0 :parent #353)) #("\n" 0 1 (:parent #353))))) (headline (:raw-value "Source deployment" :begin 9172 :end 12840 :pre-blank 1 :contents-begin 9193 :contents-end 12839 :robust-begin 9195 :robust-end 12837 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9172 :title (#("Source deployment" 0 17 (:parent #347))) :mode nil :granularity nil :parent #338) (section (:begin 9193 :end 9612 :contents-begin 9193 :contents-end 9610 :robust-begin 9193 :robust-end 9608 :post-blank 2 :post-affiliated 9193 :mode section :granularity nil :parent #347) (paragraph (:begin 9193 :end 9274 :contents-begin 9193 :contents-end 9273 :post-blank 1 :post-affiliated 9193 :mode planning :granularity nil :parent #350) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #353))) (paragraph (:begin 9274 :end 9304 :contents-begin 9274 :contents-end 9303 :post-blank 1 :post-affiliated 9274 :mode nil :granularity nil :parent #350) #("First execute above 4 steps:\n" 0 29 (:parent #354))) (plain-list (:type unordered :begin 9304 :end 9610 :contents-begin 9304 :contents-end 9610 :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :post-blank 0 :post-affiliated 9304 :mode nil :granularity nil :parent #350) (item (:bullet "- " :begin 9304 :end 9364 :contents-begin 9309 :contents-end 9364 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9304 :tag nil :mode item :granularity nil :parent #355) (paragraph (:begin 9309 :end 9364 :contents-begin 9309 :contents-end 9364 :post-blank 0 :post-affiliated 9309 :mode nil :granularity nil :parent #358) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 9309 :end 9363 :contents-begin 9337 :contents-end 9361 :post-blank 0 :parent #361) #("Step 1: Install GNU Guix" 0 24 (:parent #364))) #("\n" 0 1 (:parent #361)))) (item (:bullet "- " :begin 9364 :end 9458 :contents-begin 9369 :contents-end 9458 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9364 :tag nil :mode item :granularity nil :parent #355) (paragraph (:begin 9369 :end 9458 :contents-begin 9369 :contents-end 9458 :post-blank 0 :post-affiliated 9369 :mode nil :granularity nil :parent #359) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 9369 :end 9457 :contents-begin 9414 :contents-end 9455 :post-blank 0 :parent #362) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #365))) #("\n" 0 1 (:parent #362)))) (item (:bullet "- " :begin 9458 :end 9542 :contents-begin 9463 :contents-end 9542 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9458 :tag nil :mode item :granularity nil :parent #355) (paragraph (:begin 9463 :end 9542 :contents-begin 9463 :contents-end 9542 :post-blank 0 :post-affiliated 9463 :mode nil :granularity nil :parent #360) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 9463 :end 9541 :contents-begin 9503 :contents-end 9539 :post-blank 0 :parent #363) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #366))) #("\n" 0 1 (:parent #363)))) (item (:bullet "- " :begin 9542 :end 9610 :contents-begin 9547 :contents-end 9610 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9542 :tag nil :mode item :granularity nil :parent #355) (paragraph (:begin 9547 :end 9610 :contents-begin 9547 :contents-end 9610 :post-blank 0 :post-affiliated 9547 :mode nil :granularity nil :parent #361) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 9547 :end 9609 :contents-begin 9579 :contents-end 9607 :post-blank 0 :parent #364) #("Step 4: Install and run GN2 " 0 28 (:parent #367))) #("\n" 0 1 (:parent #364)))))) (headline (:raw-value "Run your own copy of GN2" :begin 9612 :end 10722 :pre-blank 1 :contents-begin 9641 :contents-end 10721 :robust-begin 9643 :robust-end 10719 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9612 :title (#("Run your own copy of GN2" 0 24 (:parent #351))) :mode nil :granularity nil :parent #347) (section (:begin 9641 :end 10722 :contents-begin 9641 :contents-end 10721 :robust-begin 9641 :robust-end 10719 :post-blank 1 :post-affiliated 9641 :mode section :granularity nil :parent #351) (paragraph (:begin 9641 :end 9839 :contents-begin 9641 :contents-end 9838 :post-blank 1 :post-affiliated 9641 :mode planning :granularity nil :parent #354) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #357)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 9793 :end 9836 :contents-begin nil :contents-end nil :post-blank 0 :parent #357)) #(".\n" 0 2 (:parent #357))) (paragraph (:begin 9839 :end 9964 :contents-begin 9839 :contents-end 9963 :post-blank 1 :post-affiliated 9839 :mode nil :granularity nil :parent #354) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #358)) (subscript (:begin 9896 :end 9902 :use-brackets-p nil :contents-begin 9897 :contents-end 9901 :post-blank 1 :parent #358) #("PATH" 0 4 (:parent #362))) #("and\nR" 0 5 (:parent #358)) (subscript (:begin 9907 :end 9912 :use-brackets-p nil :contents-begin 9908 :contents-end 9912 :post-blank 0 :parent #358) #("LIBS" 0 4 (:parent #364))) (subscript (:begin 9912 :end 9918 :use-brackets-p nil :contents-begin 9913 :contents-end 9917 :post-blank 1 :parent #358) #("SITE" 0 4 (:parent #365))) #("are set) from the information given by guix:\n" 0 45 (:parent #358))) (fixed-width (:begin 9964 :end 9995 :value "guix package --search-paths" :post-blank 2 :post-affiliated 9964 :mode nil :granularity nil :parent #354)) (paragraph (:begin 9995 :end 10019 :contents-begin 9995 :contents-end 10018 :post-blank 1 :post-affiliated 9995 :mode nil :granularity nil :parent #354) #("Inside the repository:\n" 0 23 (:parent #360))) (fixed-width (:begin 10019 :end 10059 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 10019 :mode nil :granularity nil :parent #354)) (paragraph (:begin 10059 :end 10303 :contents-begin 10059 :contents-end 10302 :post-blank 1 :post-affiliated 10059 :mode nil :granularity nil :parent #354) #("Will fire up your local repo " 0 29 (:parent #362)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 10088 :end 10111 :contents-begin nil :contents-end nil :post-blank 1 :parent #362)) #("using the\nsettings in ./etc/default" 0 35 (:parent #362)) (subscript (:begin 10146 :end 10158 :use-brackets-p nil :contents-begin 10147 :contents-end 10158 :post-blank 0 :parent #362) #("settings.py" 0 11 (:parent #368))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #362)) (subscript (:begin 10263 :end 10276 :use-brackets-p nil :contents-begin 10264 :contents-end 10275 :post-blank 1 :parent #362) #("settings.py" 0 11 (:parent #370))) #("and pass it into GN2 with\n" 0 26 (:parent #362))) (fixed-width (:begin 10303 :end 10346 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 10303 :mode nil :granularity nil :parent #354)) (paragraph (:begin 10346 :end 10492 :contents-begin 10346 :contents-end 10491 :post-blank 1 :post-affiliated 10346 :mode nil :granularity nil :parent #354) #("and everything " 0 15 (:parent #364)) (bold (:begin 10361 :end 10370 :post-blank 1 :contents-begin 10362 :contents-end 10368 :parent #364) #("should" 0 6 (:parent #368))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #364))) (paragraph (:begin 10492 :end 10620 :contents-begin 10492 :contents-end 10619 :post-blank 1 :post-affiliated 10492 :mode nil :granularity nil :parent #354) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #365))) (fixed-width (:begin 10620 :end 10721 :value "cat ~/.guix-profile/lib/python2.7/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 10620 :mode nil :granularity nil :parent #354)))) (headline (:raw-value "Set up nginx port forwarding" :begin 10722 :end 12840 :pre-blank 1 :contents-begin 10755 :contents-end 12839 :robust-begin 10757 :robust-end 12837 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 10722 :title (#("Set up nginx port forwarding" 0 28 (:parent #352))) :mode nil :granularity nil :parent #347) (section (:begin 10755 :end 12840 :contents-begin 10755 :contents-end 12839 :robust-begin 10755 :robust-end 12837 :post-blank 1 :post-affiliated 10755 :mode section :granularity nil :parent #352) (paragraph (:begin 10755 :end 10923 :contents-begin 10755 :contents-end 10922 :post-blank 1 :post-affiliated 10755 :mode planning :granularity nil :parent #355) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #358))) (paragraph (:begin 10923 :end 11063 :contents-begin 10923 :contents-end 11062 :post-blank 1 :post-affiliated 10923 :mode nil :granularity nil :parent #355) #("#+begin" 0 7 (:parent #359)) (subscript (:begin 10930 :end 10935 :use-brackets-p nil :contents-begin 10931 :contents-end 10934 :post-blank 1 :parent #359) #("src" 0 3 (:parent #363))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #359)) (subscript (:begin 10984 :end 10990 :use-brackets-p nil :contents-begin 10985 :contents-end 10989 :post-blank 1 :parent #359) #("name" 0 4 (:parent #365))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #359)) (subscript (:begin 11030 :end 11036 :use-brackets-p nil :contents-begin 11031 :contents-end 11034 :post-blank 2 :parent #359) #("log" 0 3 (:parent #367))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #359))) (paragraph (:begin 11063 :end 11232 :contents-begin 11063 :contents-end 11231 :post-blank 1 :post-affiliated 11063 :mode nil :granularity nil :parent #355) #(" proxy" 0 13 (:parent #360)) (subscript (:begin 11076 :end 11084 :use-brackets-p nil :contents-begin 11077 :contents-end 11084 :post-blank 0 :parent #360) #("connect" 0 7 (:parent #364))) (subscript (:begin 11084 :end 11099 :use-brackets-p nil :contents-begin 11085 :contents-end 11092 :post-blank 7 :parent #360) #("timeout" 0 7 (:parent #365))) #("3000;\n proxy" 0 19 (:parent #360)) (subscript (:begin 11118 :end 11123 :use-brackets-p nil :contents-begin 11119 :contents-end 11123 :post-blank 0 :parent #360) #("send" 0 4 (:parent #367))) (subscript (:begin 11123 :end 11141 :use-brackets-p nil :contents-begin 11124 :contents-end 11131 :post-blank 10 :parent #360) #("timeout" 0 7 (:parent #368))) #("3000;\n proxy" 0 19 (:parent #360)) (subscript (:begin 11160 :end 11165 :use-brackets-p nil :contents-begin 11161 :contents-end 11165 :post-blank 0 :parent #360) #("read" 0 4 (:parent #370))) (subscript (:begin 11165 :end 11183 :use-brackets-p nil :contents-begin 11166 :contents-end 11173 :post-blank 10 :parent #360) #("timeout" 0 7 (:parent #371))) #("3000;\n send" 0 18 (:parent #360)) (subscript (:begin 11201 :end 11225 :use-brackets-p nil :contents-begin 11202 :contents-end 11209 :post-blank 16 :parent #360) #("timeout" 0 7 (:parent #373))) #("3000;\n" 0 6 (:parent #360))) (paragraph (:begin 11232 :end 11632 :contents-begin 11232 :contents-end 11631 :post-blank 1 :post-affiliated 11232 :mode nil :granularity nil :parent #355) #(" location / {\n proxy" 0 38 (:parent #361)) (subscript (:begin 11270 :end 11274 :use-brackets-p nil :contents-begin 11271 :contents-end 11274 :post-blank 0 :parent #361) #("set" 0 3 (:parent #365))) (subscript (:begin 11274 :end 11284 :use-brackets-p nil :contents-begin 11275 :contents-end 11281 :post-blank 3 :parent #361) #("header" 0 6 (:parent #366))) #("Host $http" 0 15 (:parent #361)) (subscript (:begin 11299 :end 11304 :use-brackets-p nil :contents-begin 11300 :contents-end 11304 :post-blank 0 :parent #361) #("host" 0 4 (:parent #368))) #(";\n proxy" 0 19 (:parent #361)) (subscript (:begin 11323 :end 11327 :use-brackets-p nil :contents-begin 11324 :contents-end 11327 :post-blank 0 :parent #361) #("set" 0 3 (:parent #370))) (subscript (:begin 11327 :end 11337 :use-brackets-p nil :contents-begin 11328 :contents-end 11334 :post-blank 3 :parent #361) #("header" 0 6 (:parent #371))) #("Connection keep-alive;\n proxy" 0 40 (:parent #361)) (subscript (:begin 11377 :end 11381 :use-brackets-p nil :contents-begin 11378 :contents-end 11381 :post-blank 0 :parent #361) #("set" 0 3 (:parent #373))) (subscript (:begin 11381 :end 11391 :use-brackets-p nil :contents-begin 11382 :contents-end 11388 :post-blank 3 :parent #361) #("header" 0 6 (:parent #374))) #("X-Real-IP $remote" 0 17 (:parent #361)) (subscript (:begin 11408 :end 11413 :use-brackets-p nil :contents-begin 11409 :contents-end 11413 :post-blank 0 :parent #361) #("addr" 0 4 (:parent #376))) #(";\n proxy" 0 19 (:parent #361)) (subscript (:begin 11432 :end 11436 :use-brackets-p nil :contents-begin 11433 :contents-end 11436 :post-blank 0 :parent #361) #("set" 0 3 (:parent #378))) (subscript (:begin 11436 :end 11446 :use-brackets-p nil :contents-begin 11437 :contents-end 11443 :post-blank 3 :parent #361) #("header" 0 6 (:parent #379))) #("X-Forwarded-For $proxy" 0 22 (:parent #361)) (subscript (:begin 11468 :end 11472 :use-brackets-p nil :contents-begin 11469 :contents-end 11472 :post-blank 0 :parent #361) #("add" 0 3 (:parent #381))) (subscript (:begin 11472 :end 11474 :use-brackets-p nil :contents-begin 11473 :contents-end 11474 :post-blank 0 :parent #361) #("x" 0 1 (:parent #382))) (subscript (:begin 11474 :end 11484 :use-brackets-p nil :contents-begin 11475 :contents-end 11484 :post-blank 0 :parent #361) #("forwarded" 0 9 (:parent #383))) (subscript (:begin 11484 :end 11488 :use-brackets-p nil :contents-begin 11485 :contents-end 11488 :post-blank 0 :parent #361) #("for" 0 3 (:parent #384))) #(";\n proxy" 0 19 (:parent #361)) (subscript (:begin 11507 :end 11511 :use-brackets-p nil :contents-begin 11508 :contents-end 11511 :post-blank 0 :parent #361) #("set" 0 3 (:parent #386))) (subscript (:begin 11511 :end 11521 :use-brackets-p nil :contents-begin 11512 :contents-end 11518 :post-blank 3 :parent #361) #("header" 0 6 (:parent #387))) #("X-Forwarded-Host $server" 0 24 (:parent #361)) (subscript (:begin 11545 :end 11550 :use-brackets-p nil :contents-begin 11546 :contents-end 11550 :post-blank 0 :parent #361) #("name" 0 4 (:parent #389))) #(";\n proxy" 0 19 (:parent #361)) (subscript (:begin 11569 :end 11583 :use-brackets-p nil :contents-begin 11570 :contents-end 11574 :post-blank 9 :parent #361) #("pass" 0 4 (:parent #391))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 11583 :end 11604 :contents-begin nil :contents-end nil :post-blank 0 :parent #361)) #(";\n }\n}\n#+end" 0 19 (:parent #361)) (subscript (:begin 11623 :end 11628 :use-brackets-p nil :contents-begin 11624 :contents-end 11627 :post-blank 1 :parent #361) #("src" 0 3 (:parent #394))) #("js\n" 0 3 (:parent #361))) (paragraph (:begin 11632 :end 11671 :contents-begin 11632 :contents-end 11670 :post-blank 1 :post-affiliated 11632 :mode nil :granularity nil :parent #355) #("Install the nginx webserver (as root)\n" 0 38 (:parent #362))) (fixed-width (:begin 11671 :end 11696 :value "guix package -i nginx" :post-blank 2 :post-affiliated 11671 :mode nil :granularity nil :parent #355)) (paragraph (:begin 11696 :end 11777 :contents-begin 11696 :contents-end 11776 :post-blank 1 :post-affiliated 11696 :mode nil :granularity nil :parent #355) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #364))) (fixed-width (:begin 11777 :end 11964 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 11777 :mode nil :granularity nil :parent #355)) (paragraph (:begin 11964 :end 11979 :contents-begin 11964 :contents-end 11978 :post-blank 1 :post-affiliated 11964 :mode nil :granularity nil :parent #355) #("Use that path\n" 0 14 (:parent #366))) (fixed-width (:begin 11979 :end 12373 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 11979 :mode nil :granularity nil :parent #355)) (paragraph (:begin 12373 :end 12599 :contents-begin 12373 :contents-end 12599 :post-blank 0 :post-affiliated 12373 :mode nil :granularity nil :parent #355) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #368))) (fixed-width (:begin 12599 :end 12646 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 12599 :mode nil :granularity nil :parent #355)) (paragraph (:begin 12646 :end 12657 :contents-begin 12646 :contents-end 12656 :post-blank 1 :post-affiliated 12646 :mode nil :granularity nil :parent #355) #("Make dirs\n" 0 10 (:parent #370))) (fixed-width (:begin 12657 :end 12691 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 12657 :mode nil :granularity nil :parent #355)) (paragraph (:begin 12691 :end 12702 :contents-begin 12691 :contents-end 12701 :post-blank 1 :post-affiliated 12691 :mode nil :granularity nil :parent #355) #("Add users\n" 0 10 (:parent #372))) (fixed-width (:begin 12702 :end 12738 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 12702 :mode nil :granularity nil :parent #355)) (paragraph (:begin 12738 :end 12749 :contents-begin 12738 :contents-end 12748 :post-blank 1 :post-affiliated 12738 :mode nil :granularity nil :parent #355) #("Run nginx\n" 0 10 (:parent #374))) (fixed-width (:begin 12749 :end 12839 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 12749 :mode nil :granularity nil :parent #355))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 12840 :end 13801 :pre-blank 1 :contents-begin 12902 :contents-end 13801 :robust-begin 12904 :robust-end 13799 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12840 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #348))) :mode nil :granularity nil :parent #338) (section (:begin 12902 :end 12959 :contents-begin 12902 :contents-end 12958 :robust-begin 12902 :robust-end 12956 :post-blank 1 :post-affiliated 12902 :mode section :granularity nil :parent #348) (paragraph (:begin 12902 :end 12958 :contents-begin 12902 :contents-end 12958 :post-blank 0 :post-affiliated 12902 :mode planning :granularity nil :parent #351) #("See the document " 0 17 (:parent #354)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 12919 :end 12956 :contents-begin nil :contents-end nil :post-blank 0 :parent #354)) #(".\n" 0 2 (:parent #354)))) (headline (:raw-value "Update to recent guix" :begin 12959 :end 13409 :pre-blank 1 :contents-begin 12985 :contents-end 13408 :robust-begin 12987 :robust-end 13406 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12959 :title (#("Update to recent guix" 0 21 (:parent #352))) :mode nil :granularity nil :parent #348) (section (:begin 12985 :end 13409 :contents-begin 12985 :contents-end 13408 :robust-begin 12985 :robust-end 13406 :post-blank 1 :post-affiliated 12985 :mode section :granularity nil :parent #352) (paragraph (:begin 12985 :end 13020 :contents-begin 12985 :contents-end 13019 :post-blank 1 :post-affiliated 12985 :mode planning :granularity nil :parent #355) #("We now compile Guix from scratch.\n" 0 34 (:parent #358))) (paragraph (:begin 13020 :end 13295 :contents-begin 13020 :contents-end 13294 :post-blank 1 :post-affiliated 13020 :mode nil :granularity nil :parent #355) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #359)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 13159 :end 13272 :contents-begin 13264 :contents-end 13269 :post-blank 1 :parent #359) #("these" 0 5 (:parent #363))) #("steps carefully after\n" 0 22 (:parent #359))) (fixed-width (:begin 13295 :end 13330 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 13295 :mode nil :granularity nil :parent #355)) (paragraph (:begin 13330 :end 13408 :contents-begin 13330 :contents-end 13408 :post-blank 0 :post-affiliated 13330 :mode nil :granularity nil :parent #355) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #361))))) (headline (:raw-value "Install GN2" :begin 13409 :end 13801 :pre-blank 1 :contents-begin 13425 :contents-end 13801 :robust-begin 13427 :robust-end 13799 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 13409 :title (#("Install GN2" 0 11 (:parent #353))) :mode nil :granularity nil :parent #348) (section (:begin 13425 :end 13801 :contents-begin 13425 :contents-end 13801 :robust-begin 13425 :robust-end 13799 :post-blank 0 :post-affiliated 13425 :mode section :granularity nil :parent #353) (paragraph (:begin 13425 :end 13468 :contents-begin 13425 :contents-end 13467 :post-blank 1 :post-affiliated 13425 :mode planning :granularity nil :parent #356) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #359))) (paragraph (:begin 13468 :end 13676 :contents-begin 13468 :contents-end 13675 :post-blank 1 :post-affiliated 13468 :mode nil :granularity nil :parent #356) #("#+begin" 0 7 (:parent #360)) (subscript (:begin 13475 :end 13480 :use-brackets-p nil :contents-begin 13476 :contents-end 13479 :post-blank 1 :parent #360) #("src" 0 3 (:parent #364))) #("bash\nenv GUIX" 0 13 (:parent #360)) (subscript (:begin 13493 :end 13501 :use-brackets-p nil :contents-begin 13494 :contents-end 13501 :post-blank 0 :parent #360) #("PACKAGE" 0 7 (:parent #366))) (subscript (:begin 13501 :end 13506 :use-brackets-p nil :contents-begin 13502 :contents-end 13506 :post-blank 0 :parent #360) #("PATH" 0 4 (:parent #367))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #360)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 13605 :end 13633 :contents-begin nil :contents-end nil :post-blank 1 :parent #360)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 13633 :end 13658 :contents-begin nil :contents-end nil :post-blank 0 :parent #360)) #("\"\n#+end" 0 7 (:parent #360)) (subscript (:begin 13665 :end 13670 :use-brackets-p nil :contents-begin 13666 :contents-end 13669 :post-blank 1 :parent #360) #("src" 0 3 (:parent #372))) #("bash\n" 0 5 (:parent #360))) (paragraph (:begin 13676 :end 13714 :contents-begin 13676 :contents-end 13713 :post-blank 1 :post-affiliated 13676 :mode nil :granularity nil :parent #356) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #361))) (paragraph (:begin 13714 :end 13801 :contents-begin 13714 :contents-end 13801 :post-blank 0 :post-affiliated 13714 :mode nil :granularity nil :parent #356) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #362))))))) :headline-offset 0 :headline-numbering nil :id-alist nil :citations nil :id-local-cache #)) #f(compiled-function (element) #)((link (:type "custom-id" :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil :begin 124 :end 155 :contents-begin 141 :contents-end 153 :post-blank 0 :parent (paragraph (:begin 124 :end 156 :contents-begin 124 :contents-end 156 :post-blank 0 :post-affiliated 124 :mode nil :granularity nil :parent (item (:bullet "- " :begin 121 :end 156 :contents-begin 124 :contents-end 156 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 121 :tag nil :mode item :granularity nil :parent (plain-list (:type unordered :begin 121 :end 1403 :contents-begin 121 :contents-end 1403 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 121 :mode planning :granularity nil :parent (section (:begin 121 :end 1404 :contents-begin 121 :contents-end 1403 :robust-begin 121 :robust-end 1401 :post-blank 1 :post-affiliated 121 :mode section :granularity nil :parent (headline (:raw-value "Table of Contents" :begin 43 :end 1404 :pre-blank 0 :contents-begin 121 :contents-end 1403 :robust-begin 123 :robust-end 1401 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 43 :title (#("Table of Contents" 0 17 (:parent #126))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13801 :end 13801 :robust-begin 3 :robust-end 13799 :post-blank 0 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 43 :contents-begin 1 :contents-end 42 :robust-begin 1 :robust-end 40 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #172) (keyword (:key "TITLE" :value "Installing GeneNetwork services" :begin 1 :end 42 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #175))) #126 (headline (:raw-value "Introduction" :begin 1404 :end 2450 :pre-blank 1 :contents-begin 1420 :contents-end 2449 :robust-begin 1422 :robust-end 2447 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1404 :title (#("Introduction" 0 12 (:parent #177))) :mode nil :granularity nil :parent #172) (section (:begin 1420 :end 2450 :contents-begin 1420 :contents-end 2449 :robust-begin 1420 :robust-end 2447 :post-blank 1 :post-affiliated 1420 :mode section :granularity nil :parent #177) (paragraph (:begin 1420 :end 1557 :contents-begin 1420 :contents-end 1556 :post-blank 1 :post-affiliated 1420 :mode planning :granularity nil :parent #180) #("If you want to understand the architecture of GN2 read\n" 0 55 (:parent #183)) (link (:type "fuzzy" :path "Architecture.org" :format bracket :raw-link "Architecture.org" :application nil :search-option nil :begin 1475 :end 1495 :contents-begin nil :contents-end nil :post-blank 0 :parent #183)) #(". The rest of this document is mostly on deployment\nof GN2.\n" 0 61 (:parent #183))) (paragraph (:begin 1557 :end 1943 :contents-begin 1557 :contents-end 1942 :post-blank 1 :post-affiliated 1557 :mode nil :granularity nil :parent #180) #("Large system deployments can get very " 0 38 (:parent #184)) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg " :format bracket :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg " :application nil :search-option nil :begin 1595 :end 1656 :contents-begin 1647 :contents-end 1654 :post-blank 0 :parent #184) #("complex" 0 7 (:parent #188))) #(". In this document we\nexplain the GeneNetwork version 2 (GN2) reproducible deployment system\nwhich is based on GNU Guix (see also " 0 130 (:parent #184)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1786 :end 1860 :contents-begin 1848 :contents-end 1858 :post-blank 0 :parent #184) #("Guix-notes" 0 10 (:parent #190))) #("). The Guix\nsystem can be used to install GN with all its files and dependencies.\n" 0 82 (:parent #184))) (paragraph (:begin 1943 :end 2328 :contents-begin 1943 :contents-end 2327 :post-blank 1 :post-affiliated 1943 :mode nil :granularity nil :parent #180) #("The official installation path is from a checked out version of the\nmain Guix package tree and that of the Genenetwork package\ntree. Current supported versions can be found as the SHA values of\n'gn-latest' branches of " 0 218 (:parent #185)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :application nil :search-option nil :begin 2161 :end 2252 :contents-begin 2230 :contents-end 2249 :post-blank 1 :parent #185) #("Guix bioinformatics" 0 19 (:parent #189))) #("and " 0 4 (:parent #185)) (link (:type "https" :path "//github.com/genenetwork/guix/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix/tree/gn-latest" :application nil :search-option nil :begin 2256 :end 2325 :contents-begin 2310 :contents-end 2323 :post-blank 0 :parent #185) #("GNU Guix main" 0 13 (:parent #191))) #(".\n" 0 2 (:parent #185))) (paragraph (:begin 2328 :end 2449 :contents-begin 2328 :contents-end 2449 :post-blank 0 :post-affiliated 2328 :mode nil :granularity nil :parent #180) #("For a full view of runtime dependencies as defined by GNU Guix, see\nthe " 0 72 (:parent #186)) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 2400 :end 2447 :contents-begin 2425 :contents-end 2445 :post-blank 0 :parent #186) #("GN2 Dependency Graph" 0 20 (:parent #190))) #(".\n" 0 2 (:parent #186))))) (headline (:raw-value "Quick installation recipe" :begin 2450 :end 7633 :pre-blank 1 :contents-begin 2479 :contents-end 7632 :robust-begin 2481 :robust-end 7630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 2450 :title (#("Quick installation recipe" 0 25 (:parent #178))) :mode nil :granularity nil :parent #172) (section (:begin 2479 :end 3022 :contents-begin 2479 :contents-end 3021 :robust-begin 2479 :robust-end 3019 :post-blank 1 :post-affiliated 2479 :mode section :granularity nil :parent #178) (paragraph (:begin 2479 :end 2880 :contents-begin 2479 :contents-end 2879 :post-blank 1 :post-affiliated 2479 :mode planning :granularity nil :parent #181) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS). For more elaborate installation\ninstructions see " 0 357 (:parent #184)) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 2836 :end 2877 :contents-begin 2858 :contents-end 2875 :post-blank 0 :parent #184) #("Source deployment" 0 17 (:parent #188))) #(".\n" 0 2 (:parent #184))) (paragraph (:begin 2880 :end 3021 :contents-begin 2880 :contents-end 3021 :post-blank 0 :post-affiliated 2880 :mode nil :granularity nil :parent #181) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #185)))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 3022 :end 4649 :pre-blank 1 :contents-begin 3051 :contents-end 4648 :robust-begin 3053 :robust-end 4646 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3022 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #182))) :mode nil :granularity nil :parent #178) (section (:begin 3051 :end 4649 :contents-begin 3051 :contents-end 4648 :robust-begin 3051 :robust-end 4646 :post-blank 1 :post-affiliated 3051 :mode section :granularity nil :parent #182) (paragraph (:begin 3051 :end 3504 :contents-begin 3051 :contents-end 3503 :post-blank 1 :post-affiliated 3051 :mode planning :granularity nil :parent #185) #("Fetch the GNU Guix binary from " 0 31 (:parent #188)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 3082 :end 3136 :contents-begin 3129 :contents-end 3133 :post-blank 1 :parent #188) #("here" 0 4 (:parent #192))) #("(middle panel) and follow\n" 0 26 (:parent #188)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 3162 :end 3255 :contents-begin 3241 :contents-end 3253 :post-blank 0 :parent #188) #("instructions" 0 12 (:parent #194))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #188))) (paragraph (:begin 3504 :end 3782 :contents-begin 3504 :contents-end 3781 :post-blank 1 :post-affiliated 3504 :mode nil :granularity nil :parent #185) #("Once you have succeeded, you have to " 0 37 (:parent #189)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 3541 :end 3631 :contents-begin 3617 :contents-end 3628 :post-blank 1 :parent #189) #("set the key" 0 11 (:parent #193))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #189))) (src-block (:language "bash" :switches nil :parameters nil :begin 3782 :end 3890 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 3782 :mode nil :granularity nil :parent #185)) (paragraph (:begin 3890 :end 3924 :contents-begin 3890 :contents-end 3923 :post-blank 1 :post-affiliated 3890 :mode nil :granularity nil :parent #185) #("Which should show something like\n" 0 33 (:parent #191))) (fixed-width (:begin 3924 :end 4034 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 3924 :mode nil :granularity nil :parent #185)) (paragraph (:begin 4034 :end 4045 :contents-begin 4034 :contents-end 4044 :post-blank 1 :post-affiliated 4034 :mode nil :granularity nil :parent #185) #("#+end" 0 5 (:parent #193)) (subscript (:begin 4039 :end 4043 :use-brackets-p nil :contents-begin 4040 :contents-end 4043 :post-blank 0 :parent #193) #("src" 0 3 (:parent #197))) #("\n" 0 1 (:parent #193))) (paragraph (:begin 4045 :end 4116 :contents-begin 4045 :contents-end 4115 :post-blank 1 :post-affiliated 4045 :mode nil :granularity nil :parent #185) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #194))) (src-block (:language "bash" :switches nil :parameters nil :begin 4116 :end 4188 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 4116 :mode nil :granularity nil :parent #185)) (paragraph (:begin 4188 :end 4375 :contents-begin 4188 :contents-end 4374 :post-blank 1 :post-affiliated 4188 :mode nil :granularity nil :parent #185) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #196))) (paragraph (:begin 4375 :end 4648 :contents-begin 4375 :contents-end 4648 :post-blank 0 :post-affiliated 4375 :mode nil :granularity nil :parent #185) #("If you need more help we have another writeup in " 0 49 (:parent #197)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 4424 :end 4520 :contents-begin 4508 :contents-end 4518 :post-blank 0 :parent #197) #("guix-notes" 0 10 (:parent #201))) #(". To get\nrid of the locale warning see " 0 39 (:parent #197)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 4559 :end 4646 :contents-begin 4634 :contents-end 4644 :post-blank 0 :parent #197) #("set-locale" 0 10 (:parent #203))) #(".\n" 0 2 (:parent #197))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 4649 :end 5304 :pre-blank 1 :contents-begin 4695 :contents-end 5302 :robust-begin 4697 :robust-end 5300 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4649 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #183))) :mode nil :granularity nil :parent #178) (section (:begin 4695 :end 5304 :contents-begin 4695 :contents-end 5302 :robust-begin 4695 :robust-end 5300 :post-blank 2 :post-affiliated 4695 :mode section :granularity nil :parent #183) (paragraph (:begin 4695 :end 4815 :contents-begin 4695 :contents-end 4814 :post-blank 1 :post-affiliated 4695 :mode planning :granularity nil :parent #186) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #189))) (src-block (:language "bash" :switches nil :parameters nil :begin 4815 :end 4920 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 4815 :mode nil :granularity nil :parent #186)) (paragraph (:begin 4920 :end 4971 :contents-begin 4920 :contents-end 4970 :post-blank 1 :post-affiliated 4920 :mode nil :granularity nil :parent #186) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #191))) (paragraph (:begin 4971 :end 5232 :contents-begin 4971 :contents-end 5231 :post-blank 1 :post-affiliated 4971 :mode nil :granularity nil :parent #186) #("#+begin" 0 7 (:parent #192)) (subscript (:begin 4978 :end 4983 :use-brackets-p nil :contents-begin 4979 :contents-end 4982 :post-blank 1 :parent #192) #("src" 0 3 (:parent #196))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #192)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 5055 :end 5105 :contents-begin nil :contents-end nil :post-blank 0 :parent #192)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #192)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 5147 :end 5183 :contents-begin nil :contents-end nil :post-blank 1 :parent #192)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #192)) (subscript (:begin 5221 :end 5226 :use-brackets-p nil :contents-begin 5222 :contents-end 5225 :post-blank 1 :parent #192) #("src" 0 3 (:parent #202))) #("bash\n" 0 5 (:parent #192))) (paragraph (:begin 5232 :end 5270 :contents-begin 5232 :contents-end 5269 :post-blank 1 :post-affiliated 5232 :mode nil :granularity nil :parent #186) #("To test whether this is working try:\n" 0 37 (:parent #193))) (paragraph (:begin 5270 :end 5302 :contents-begin 5270 :contents-end 5302 :post-blank 0 :post-affiliated 5270 :mode nil :granularity nil :parent #186) #("#+begin" 0 7 (:parent #194)) (subscript (:begin 5277 :end 5282 :use-brackets-p nil :contents-begin 5278 :contents-end 5281 :post-blank 1 :parent #194) #("src" 0 3 (:parent #198))) #("bash\n#+end" 0 10 (:parent #194)) (subscript (:begin 5292 :end 5297 :use-brackets-p nil :contents-begin 5293 :contents-end 5296 :post-blank 1 :parent #194) #("src" 0 3 (:parent #200))) #("bash\n" 0 5 (:parent #194))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 5304 :end 5755 :pre-blank 1 :contents-begin 5345 :contents-end 5754 :robust-begin 5347 :robust-end 5752 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5304 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #184))) :mode nil :granularity nil :parent #178) (section (:begin 5345 :end 5755 :contents-begin 5345 :contents-end 5754 :robust-begin 5345 :robust-end 5752 :post-blank 1 :post-affiliated 5345 :mode section :granularity nil :parent #184) (paragraph (:begin 5345 :end 5445 :contents-begin 5345 :contents-end 5444 :post-blank 1 :post-affiliated 5345 :mode planning :granularity nil :parent #187) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #190))) (src-block (:language "scheme" :switches nil :parameters nil :begin 5445 :end 5589 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 5445 :mode nil :granularity nil :parent #187)) (paragraph (:begin 5589 :end 5621 :contents-begin 5589 :contents-end 5620 :post-blank 1 :post-affiliated 5589 :mode nil :granularity nil :parent #187) #("by pasting it into the command\n" 0 31 (:parent #192))) (src-block (:language "bash" :switches nil :parameters nil :begin 5621 :end 5674 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 5621 :mode nil :granularity nil :parent #187)) (paragraph (:begin 5674 :end 5691 :contents-begin 5674 :contents-end 5690 :post-blank 1 :post-affiliated 5674 :mode nil :granularity nil :parent #187) #("and hit Ctrl-D.\n" 0 16 (:parent #194))) (paragraph (:begin 5691 :end 5754 :contents-begin 5691 :contents-end 5754 :post-blank 0 :post-affiliated 5691 :mode nil :granularity nil :parent #187) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #195))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 5755 :end 7633 :pre-blank 1 :contents-begin 5787 :contents-end 7632 :robust-begin 5789 :robust-end 7630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5755 :title (#("Step 4: Install and run GN2" 0 27 (:parent #185))) :mode nil :granularity nil :parent #178) (section (:begin 5787 :end 7633 :contents-begin 5787 :contents-end 7632 :robust-begin 5787 :robust-end 7630 :post-blank 1 :post-affiliated 5787 :mode section :granularity nil :parent #185) (paragraph (:begin 5787 :end 5927 :contents-begin 5787 :contents-end 5926 :post-blank 1 :post-affiliated 5787 :mode planning :granularity nil :parent #188) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #191))) (src-block (:language "bash" :switches nil :parameters nil :begin 5927 :end 6046 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 5927 :mode nil :granularity nil :parent #188)) (paragraph (:begin 6046 :end 6099 :contents-begin 6046 :contents-end 6098 :post-blank 1 :post-affiliated 6046 :mode nil :granularity nil :parent #188) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #193))) (src-block (:language "bash" :switches nil :parameters nil :begin 6099 :end 6289 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 6099 :mode nil :granularity nil :parent #188)) (paragraph (:begin 6289 :end 6398 :contents-begin 6289 :contents-end 6397 :post-blank 1 :post-affiliated 6289 :mode nil :granularity nil :parent #188) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #195)) (italic (:begin 6360 :end 6366 :post-blank 0 :contents-begin 6361 :contents-end 6365 :parent #195) #("root" 0 4 (:parent #199))) #(".config/guix/latest override).\n" 0 31 (:parent #195))) (paragraph (:begin 6398 :end 6416 :contents-begin 6398 :contents-end 6415 :post-blank 1 :post-affiliated 6398 :mode nil :granularity nil :parent #188) #("And install with\n" 0 17 (:parent #196))) (src-block (:language "bash" :switches nil :parameters nil :begin 6416 :end 6586 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 6416 :mode nil :granularity nil :parent #188)) (paragraph (:begin 6586 :end 6729 :contents-begin 6586 :contents-end 6728 :post-blank 1 :post-affiliated 6586 :mode nil :granularity nil :parent #188) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #198))) (paragraph (:begin 6729 :end 6925 :contents-begin 6729 :contents-end 6924 :post-blank 1 :post-affiliated 6729 :mode nil :granularity nil :parent #188) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #199))) (paragraph (:begin 6925 :end 7056 :contents-begin 6925 :contents-end 7055 :post-blank 1 :post-affiliated 6925 :mode nil :granularity nil :parent #188) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #200))) (src-block (:language "bash" :switches nil :parameters nil :begin 7056 :end 7235 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python2.7/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 7056 :mode nil :granularity nil :parent #188)) (paragraph (:begin 7235 :end 7304 :contents-begin 7235 :contents-end 7303 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #188) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #202))) (src-block (:language "bash" :switches nil :parameters nil :begin 7304 :end 7345 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 7304 :mode nil :granularity nil :parent #188)) (paragraph (:begin 7345 :end 7596 :contents-begin 7345 :contents-end 7595 :post-blank 1 :post-affiliated 7345 :mode nil :granularity nil :parent #188) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #204)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 7567 :end 7593 :contents-begin nil :contents-end nil :post-blank 0 :parent #204)) #(".\n" 0 2 (:parent #204))) (paragraph (:begin 7596 :end 7632 :contents-begin 7596 :contents-end 7632 :post-blank 0 :post-affiliated 7596 :mode nil :granularity nil :parent #188) #("End of the GN2 installation recipe!\n" 0 36 (:parent #205)))))) (headline (:raw-value "Run MySQL server" :begin 7633 :end 9008 :pre-blank 1 :contents-begin 7653 :contents-end 9007 :robust-begin 7655 :robust-end 9005 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7633 :title (#("Run MySQL server" 0 16 (:parent #179))) :mode nil :granularity nil :parent #172) (section (:begin 7653 :end 9008 :contents-begin 7653 :contents-end 9007 :robust-begin 7653 :robust-end 9005 :post-blank 1 :post-affiliated 7653 :mode section :granularity nil :parent #179) (paragraph (:begin 7653 :end 7928 :contents-begin 7653 :contents-end 7927 :post-blank 1 :post-affiliated 7653 :mode planning :granularity nil :parent #182) #("At this point we require the underlying distribution to install and\nrun mysqld. Currently we have two databases for deployment,\n'db" 0 131 (:parent #185)) (subscript (:begin 7784 :end 7791 :use-brackets-p nil :contents-begin 7785 :contents-end 7791 :post-blank 0 :parent #185) #("webqtl" 0 6 (:parent #189))) (subscript (:begin 7791 :end 7793 :use-brackets-p nil :contents-begin 7792 :contents-end 7793 :post-blank 0 :parent #185) #("s" 0 1 (:parent #190))) #("' is the small testing database containing experiments\nfrom BXD mice and 'db" 0 76 (:parent #185)) (subscript (:begin 7869 :end 7876 :use-brackets-p nil :contents-begin 7870 :contents-end 7876 :post-blank 0 :parent #185) #("webqtl" 0 6 (:parent #192))) (subscript (:begin 7876 :end 7882 :use-brackets-p nil :contents-begin 7877 :contents-end 7882 :post-blank 0 :parent #185) #("plant" 0 5 (:parent #193))) #("' which contains all plant related\nmaterial.\n" 0 45 (:parent #185))) (paragraph (:begin 7928 :end 7956 :contents-begin 7928 :contents-end 7955 :post-blank 1 :post-affiliated 7928 :mode nil :granularity nil :parent #182) #("Download one database from\n" 0 27 (:parent #186))) (paragraph (:begin 7956 :end 8054 :contents-begin 7956 :contents-end 8053 :post-blank 1 :post-affiliated 7956 :mode nil :granularity nil :parent #182) (link (:type "http" :path "//files.genenetwork.org/raw_database/" :format plain :raw-link "http://files.genenetwork.org/raw_database/" :application nil :search-option nil :begin 7956 :end 7998 :contents-begin nil :contents-end nil :post-blank 0 :parent #187)) #("\n" 0 1 (:parent #187)) (link (:type "https" :path "//s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :format plain :raw-link "https://s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :application nil :search-option nil :begin 7999 :end 8052 :contents-begin nil :contents-end nil :post-blank 0 :parent #187)) #("\n" 0 1 (:parent #187))) (paragraph (:begin 8054 :end 8073 :contents-begin 8054 :contents-end 8072 :post-blank 1 :post-affiliated 8054 :mode nil :granularity nil :parent #182) #("Check the md5sum.\n" 0 18 (:parent #188))) (paragraph (:begin 8073 :end 8195 :contents-begin 8073 :contents-end 8194 :post-blank 1 :post-affiliated 8073 :mode nil :granularity nil :parent #182) #("After installation inflate the database binary in the MySQL directory\n(this installation path is subject to change soon)\n" 0 121 (:parent #189))) (fixed-width (:begin 8195 :end 8283 :value "chown -R mysql:mysql db_webqtl_s/\nchmod 700 db_webqtl_s/\nchmod 660 db_webqtl_s/*" :post-blank 2 :post-affiliated 8195 :mode nil :granularity nil :parent #182)) (paragraph (:begin 8283 :end 8334 :contents-begin 8283 :contents-end 8333 :post-blank 1 :post-affiliated 8283 :mode nil :granularity nil :parent #182) #("restart MySQL service (mysqld). Login as root and\n" 0 50 (:parent #191))) (fixed-width (:begin 8334 :end 8560 :value "mysql> show databases;\n+--------------------+\n| Database |\n+--------------------+\n| information_schema |\n| db_webqtl_s |\n| mysql |\n| performance_schema |\n+--------------------+" :post-blank 2 :post-affiliated 8334 :mode nil :granularity nil :parent #182)) (paragraph (:begin 8560 :end 8625 :contents-begin 8560 :contents-end 8624 :post-blank 1 :post-affiliated 8560 :mode nil :granularity nil :parent #182) #("Set permissions and match password in your settings file below:\n" 0 64 (:parent #193))) (fixed-width (:begin 8625 :end 8724 :value "mysql> grant all privileges on db_webqtl_s.* to gn2@\"localhost\" identified by 'mysql_password';" :post-blank 2 :post-affiliated 8625 :mode nil :granularity nil :parent #182)) (paragraph (:begin 8724 :end 8875 :contents-begin 8724 :contents-end 8874 :post-blank 1 :post-affiliated 8724 :mode nil :granularity nil :parent #182) #("Note that if the mysql connection is not working, try connecting to\nthe IP address and check server firewall, hosts.allow and mysql IP\nconfiguration.\n" 0 150 (:parent #195))) (paragraph (:begin 8875 :end 9007 :contents-begin 8875 :contents-end 9007 :post-blank 0 :post-affiliated 8875 :mode nil :granularity nil :parent #182) #("Note for the plant database you can rename it to db" 0 51 (:parent #196)) (subscript (:begin 8926 :end 8933 :use-brackets-p nil :contents-begin 8927 :contents-end 8933 :post-blank 0 :parent #196) #("webqtl" 0 6 (:parent #200))) (subscript (:begin 8933 :end 8935 :use-brackets-p nil :contents-begin 8934 :contents-end 8935 :post-blank 0 :parent #196) #("s" 0 1 (:parent #201))) #(", or\nchange the settings in etc/default" 0 39 (:parent #196)) (subscript (:begin 8974 :end 8987 :use-brackets-p nil :contents-begin 8975 :contents-end 8986 :post-blank 1 :parent #196) #("settings.py" 0 11 (:parent #203))) #("to match your path.\n" 0 20 (:parent #196))))) (headline (:raw-value "GN2 Dependency Graph" :begin 9008 :end 9172 :pre-blank 1 :contents-begin 9032 :contents-end 9171 :robust-begin 9034 :robust-end 9169 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9008 :title (#("GN2 Dependency Graph" 0 20 (:parent #180))) :mode nil :granularity nil :parent #172) (section (:begin 9032 :end 9172 :contents-begin 9032 :contents-end 9171 :robust-begin 9032 :robust-end 9169 :post-blank 1 :post-affiliated 9032 :mode section :granularity nil :parent #180) (paragraph (:begin 9032 :end 9093 :contents-begin 9032 :contents-end 9092 :post-blank 1 :post-affiliated 9032 :mode planning :granularity nil :parent #183) #("Graph of all runtime dependencies as installed by GNU Guix.\n" 0 60 (:parent #186))) (paragraph (:begin 9093 :end 9171 :contents-begin 9123 :contents-end 9171 :post-blank 0 :post-affiliated 9123 :attr_html (":title GN2_graph") :mode nil :granularity nil :parent #183) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg" :format plain :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg" :application nil :search-option nil :begin 9123 :end 9170 :contents-begin nil :contents-end nil :post-blank 0 :parent #187)) #("\n" 0 1 (:parent #187))))) (headline (:raw-value "Source deployment" :begin 9172 :end 12840 :pre-blank 1 :contents-begin 9193 :contents-end 12839 :robust-begin 9195 :robust-end 12837 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9172 :title (#("Source deployment" 0 17 (:parent #181))) :mode nil :granularity nil :parent #172) (section (:begin 9193 :end 9612 :contents-begin 9193 :contents-end 9610 :robust-begin 9193 :robust-end 9608 :post-blank 2 :post-affiliated 9193 :mode section :granularity nil :parent #181) (paragraph (:begin 9193 :end 9274 :contents-begin 9193 :contents-end 9273 :post-blank 1 :post-affiliated 9193 :mode planning :granularity nil :parent #184) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #187))) (paragraph (:begin 9274 :end 9304 :contents-begin 9274 :contents-end 9303 :post-blank 1 :post-affiliated 9274 :mode nil :granularity nil :parent #184) #("First execute above 4 steps:\n" 0 29 (:parent #188))) (plain-list (:type unordered :begin 9304 :end 9610 :contents-begin 9304 :contents-end 9610 :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :post-blank 0 :post-affiliated 9304 :mode nil :granularity nil :parent #184) (item (:bullet "- " :begin 9304 :end 9364 :contents-begin 9309 :contents-end 9364 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9304 :tag nil :mode item :granularity nil :parent #189) (paragraph (:begin 9309 :end 9364 :contents-begin 9309 :contents-end 9364 :post-blank 0 :post-affiliated 9309 :mode nil :granularity nil :parent #192) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 9309 :end 9363 :contents-begin 9337 :contents-end 9361 :post-blank 0 :parent #195) #("Step 1: Install GNU Guix" 0 24 (:parent #198))) #("\n" 0 1 (:parent #195)))) (item (:bullet "- " :begin 9364 :end 9458 :contents-begin 9369 :contents-end 9458 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9364 :tag nil :mode item :granularity nil :parent #189) (paragraph (:begin 9369 :end 9458 :contents-begin 9369 :contents-end 9458 :post-blank 0 :post-affiliated 9369 :mode nil :granularity nil :parent #193) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 9369 :end 9457 :contents-begin 9414 :contents-end 9455 :post-blank 0 :parent #196) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #199))) #("\n" 0 1 (:parent #196)))) (item (:bullet "- " :begin 9458 :end 9542 :contents-begin 9463 :contents-end 9542 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9458 :tag nil :mode item :granularity nil :parent #189) (paragraph (:begin 9463 :end 9542 :contents-begin 9463 :contents-end 9542 :post-blank 0 :post-affiliated 9463 :mode nil :granularity nil :parent #194) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 9463 :end 9541 :contents-begin 9503 :contents-end 9539 :post-blank 0 :parent #197) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #200))) #("\n" 0 1 (:parent #197)))) (item (:bullet "- " :begin 9542 :end 9610 :contents-begin 9547 :contents-end 9610 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9542 :tag nil :mode item :granularity nil :parent #189) (paragraph (:begin 9547 :end 9610 :contents-begin 9547 :contents-end 9610 :post-blank 0 :post-affiliated 9547 :mode nil :granularity nil :parent #195) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 9547 :end 9609 :contents-begin 9579 :contents-end 9607 :post-blank 0 :parent #198) #("Step 4: Install and run GN2 " 0 28 (:parent #201))) #("\n" 0 1 (:parent #198)))))) (headline (:raw-value "Run your own copy of GN2" :begin 9612 :end 10722 :pre-blank 1 :contents-begin 9641 :contents-end 10721 :robust-begin 9643 :robust-end 10719 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9612 :title (#("Run your own copy of GN2" 0 24 (:parent #185))) :mode nil :granularity nil :parent #181) (section (:begin 9641 :end 10722 :contents-begin 9641 :contents-end 10721 :robust-begin 9641 :robust-end 10719 :post-blank 1 :post-affiliated 9641 :mode section :granularity nil :parent #185) (paragraph (:begin 9641 :end 9839 :contents-begin 9641 :contents-end 9838 :post-blank 1 :post-affiliated 9641 :mode planning :granularity nil :parent #188) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #191)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 9793 :end 9836 :contents-begin nil :contents-end nil :post-blank 0 :parent #191)) #(".\n" 0 2 (:parent #191))) (paragraph (:begin 9839 :end 9964 :contents-begin 9839 :contents-end 9963 :post-blank 1 :post-affiliated 9839 :mode nil :granularity nil :parent #188) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #192)) (subscript (:begin 9896 :end 9902 :use-brackets-p nil :contents-begin 9897 :contents-end 9901 :post-blank 1 :parent #192) #("PATH" 0 4 (:parent #196))) #("and\nR" 0 5 (:parent #192)) (subscript (:begin 9907 :end 9912 :use-brackets-p nil :contents-begin 9908 :contents-end 9912 :post-blank 0 :parent #192) #("LIBS" 0 4 (:parent #198))) (subscript (:begin 9912 :end 9918 :use-brackets-p nil :contents-begin 9913 :contents-end 9917 :post-blank 1 :parent #192) #("SITE" 0 4 (:parent #199))) #("are set) from the information given by guix:\n" 0 45 (:parent #192))) (fixed-width (:begin 9964 :end 9995 :value "guix package --search-paths" :post-blank 2 :post-affiliated 9964 :mode nil :granularity nil :parent #188)) (paragraph (:begin 9995 :end 10019 :contents-begin 9995 :contents-end 10018 :post-blank 1 :post-affiliated 9995 :mode nil :granularity nil :parent #188) #("Inside the repository:\n" 0 23 (:parent #194))) (fixed-width (:begin 10019 :end 10059 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 10019 :mode nil :granularity nil :parent #188)) (paragraph (:begin 10059 :end 10303 :contents-begin 10059 :contents-end 10302 :post-blank 1 :post-affiliated 10059 :mode nil :granularity nil :parent #188) #("Will fire up your local repo " 0 29 (:parent #196)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 10088 :end 10111 :contents-begin nil :contents-end nil :post-blank 1 :parent #196)) #("using the\nsettings in ./etc/default" 0 35 (:parent #196)) (subscript (:begin 10146 :end 10158 :use-brackets-p nil :contents-begin 10147 :contents-end 10158 :post-blank 0 :parent #196) #("settings.py" 0 11 (:parent #202))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #196)) (subscript (:begin 10263 :end 10276 :use-brackets-p nil :contents-begin 10264 :contents-end 10275 :post-blank 1 :parent #196) #("settings.py" 0 11 (:parent #204))) #("and pass it into GN2 with\n" 0 26 (:parent #196))) (fixed-width (:begin 10303 :end 10346 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 10303 :mode nil :granularity nil :parent #188)) (paragraph (:begin 10346 :end 10492 :contents-begin 10346 :contents-end 10491 :post-blank 1 :post-affiliated 10346 :mode nil :granularity nil :parent #188) #("and everything " 0 15 (:parent #198)) (bold (:begin 10361 :end 10370 :post-blank 1 :contents-begin 10362 :contents-end 10368 :parent #198) #("should" 0 6 (:parent #202))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #198))) (paragraph (:begin 10492 :end 10620 :contents-begin 10492 :contents-end 10619 :post-blank 1 :post-affiliated 10492 :mode nil :granularity nil :parent #188) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #199))) (fixed-width (:begin 10620 :end 10721 :value "cat ~/.guix-profile/lib/python2.7/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 10620 :mode nil :granularity nil :parent #188)))) (headline (:raw-value "Set up nginx port forwarding" :begin 10722 :end 12840 :pre-blank 1 :contents-begin 10755 :contents-end 12839 :robust-begin 10757 :robust-end 12837 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 10722 :title (#("Set up nginx port forwarding" 0 28 (:parent #186))) :mode nil :granularity nil :parent #181) (section (:begin 10755 :end 12840 :contents-begin 10755 :contents-end 12839 :robust-begin 10755 :robust-end 12837 :post-blank 1 :post-affiliated 10755 :mode section :granularity nil :parent #186) (paragraph (:begin 10755 :end 10923 :contents-begin 10755 :contents-end 10922 :post-blank 1 :post-affiliated 10755 :mode planning :granularity nil :parent #189) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #192))) (paragraph (:begin 10923 :end 11063 :contents-begin 10923 :contents-end 11062 :post-blank 1 :post-affiliated 10923 :mode nil :granularity nil :parent #189) #("#+begin" 0 7 (:parent #193)) (subscript (:begin 10930 :end 10935 :use-brackets-p nil :contents-begin 10931 :contents-end 10934 :post-blank 1 :parent #193) #("src" 0 3 (:parent #197))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #193)) (subscript (:begin 10984 :end 10990 :use-brackets-p nil :contents-begin 10985 :contents-end 10989 :post-blank 1 :parent #193) #("name" 0 4 (:parent #199))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #193)) (subscript (:begin 11030 :end 11036 :use-brackets-p nil :contents-begin 11031 :contents-end 11034 :post-blank 2 :parent #193) #("log" 0 3 (:parent #201))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #193))) (paragraph (:begin 11063 :end 11232 :contents-begin 11063 :contents-end 11231 :post-blank 1 :post-affiliated 11063 :mode nil :granularity nil :parent #189) #(" proxy" 0 13 (:parent #194)) (subscript (:begin 11076 :end 11084 :use-brackets-p nil :contents-begin 11077 :contents-end 11084 :post-blank 0 :parent #194) #("connect" 0 7 (:parent #198))) (subscript (:begin 11084 :end 11099 :use-brackets-p nil :contents-begin 11085 :contents-end 11092 :post-blank 7 :parent #194) #("timeout" 0 7 (:parent #199))) #("3000;\n proxy" 0 19 (:parent #194)) (subscript (:begin 11118 :end 11123 :use-brackets-p nil :contents-begin 11119 :contents-end 11123 :post-blank 0 :parent #194) #("send" 0 4 (:parent #201))) (subscript (:begin 11123 :end 11141 :use-brackets-p nil :contents-begin 11124 :contents-end 11131 :post-blank 10 :parent #194) #("timeout" 0 7 (:parent #202))) #("3000;\n proxy" 0 19 (:parent #194)) (subscript (:begin 11160 :end 11165 :use-brackets-p nil :contents-begin 11161 :contents-end 11165 :post-blank 0 :parent #194) #("read" 0 4 (:parent #204))) (subscript (:begin 11165 :end 11183 :use-brackets-p nil :contents-begin 11166 :contents-end 11173 :post-blank 10 :parent #194) #("timeout" 0 7 (:parent #205))) #("3000;\n send" 0 18 (:parent #194)) (subscript (:begin 11201 :end 11225 :use-brackets-p nil :contents-begin 11202 :contents-end 11209 :post-blank 16 :parent #194) #("timeout" 0 7 (:parent #207))) #("3000;\n" 0 6 (:parent #194))) (paragraph (:begin 11232 :end 11632 :contents-begin 11232 :contents-end 11631 :post-blank 1 :post-affiliated 11232 :mode nil :granularity nil :parent #189) #(" location / {\n proxy" 0 38 (:parent #195)) (subscript (:begin 11270 :end 11274 :use-brackets-p nil :contents-begin 11271 :contents-end 11274 :post-blank 0 :parent #195) #("set" 0 3 (:parent #199))) (subscript (:begin 11274 :end 11284 :use-brackets-p nil :contents-begin 11275 :contents-end 11281 :post-blank 3 :parent #195) #("header" 0 6 (:parent #200))) #("Host $http" 0 15 (:parent #195)) (subscript (:begin 11299 :end 11304 :use-brackets-p nil :contents-begin 11300 :contents-end 11304 :post-blank 0 :parent #195) #("host" 0 4 (:parent #202))) #(";\n proxy" 0 19 (:parent #195)) (subscript (:begin 11323 :end 11327 :use-brackets-p nil :contents-begin 11324 :contents-end 11327 :post-blank 0 :parent #195) #("set" 0 3 (:parent #204))) (subscript (:begin 11327 :end 11337 :use-brackets-p nil :contents-begin 11328 :contents-end 11334 :post-blank 3 :parent #195) #("header" 0 6 (:parent #205))) #("Connection keep-alive;\n proxy" 0 40 (:parent #195)) (subscript (:begin 11377 :end 11381 :use-brackets-p nil :contents-begin 11378 :contents-end 11381 :post-blank 0 :parent #195) #("set" 0 3 (:parent #207))) (subscript (:begin 11381 :end 11391 :use-brackets-p nil :contents-begin 11382 :contents-end 11388 :post-blank 3 :parent #195) #("header" 0 6 (:parent #208))) #("X-Real-IP $remote" 0 17 (:parent #195)) (subscript (:begin 11408 :end 11413 :use-brackets-p nil :contents-begin 11409 :contents-end 11413 :post-blank 0 :parent #195) #("addr" 0 4 (:parent #210))) #(";\n proxy" 0 19 (:parent #195)) (subscript (:begin 11432 :end 11436 :use-brackets-p nil :contents-begin 11433 :contents-end 11436 :post-blank 0 :parent #195) #("set" 0 3 (:parent #212))) (subscript (:begin 11436 :end 11446 :use-brackets-p nil :contents-begin 11437 :contents-end 11443 :post-blank 3 :parent #195) #("header" 0 6 (:parent #213))) #("X-Forwarded-For $proxy" 0 22 (:parent #195)) (subscript (:begin 11468 :end 11472 :use-brackets-p nil :contents-begin 11469 :contents-end 11472 :post-blank 0 :parent #195) #("add" 0 3 (:parent #215))) (subscript (:begin 11472 :end 11474 :use-brackets-p nil :contents-begin 11473 :contents-end 11474 :post-blank 0 :parent #195) #("x" 0 1 (:parent #216))) (subscript (:begin 11474 :end 11484 :use-brackets-p nil :contents-begin 11475 :contents-end 11484 :post-blank 0 :parent #195) #("forwarded" 0 9 (:parent #217))) (subscript (:begin 11484 :end 11488 :use-brackets-p nil :contents-begin 11485 :contents-end 11488 :post-blank 0 :parent #195) #("for" 0 3 (:parent #218))) #(";\n proxy" 0 19 (:parent #195)) (subscript (:begin 11507 :end 11511 :use-brackets-p nil :contents-begin 11508 :contents-end 11511 :post-blank 0 :parent #195) #("set" 0 3 (:parent #220))) (subscript (:begin 11511 :end 11521 :use-brackets-p nil :contents-begin 11512 :contents-end 11518 :post-blank 3 :parent #195) #("header" 0 6 (:parent #221))) #("X-Forwarded-Host $server" 0 24 (:parent #195)) (subscript (:begin 11545 :end 11550 :use-brackets-p nil :contents-begin 11546 :contents-end 11550 :post-blank 0 :parent #195) #("name" 0 4 (:parent #223))) #(";\n proxy" 0 19 (:parent #195)) (subscript (:begin 11569 :end 11583 :use-brackets-p nil :contents-begin 11570 :contents-end 11574 :post-blank 9 :parent #195) #("pass" 0 4 (:parent #225))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 11583 :end 11604 :contents-begin nil :contents-end nil :post-blank 0 :parent #195)) #(";\n }\n}\n#+end" 0 19 (:parent #195)) (subscript (:begin 11623 :end 11628 :use-brackets-p nil :contents-begin 11624 :contents-end 11627 :post-blank 1 :parent #195) #("src" 0 3 (:parent #228))) #("js\n" 0 3 (:parent #195))) (paragraph (:begin 11632 :end 11671 :contents-begin 11632 :contents-end 11670 :post-blank 1 :post-affiliated 11632 :mode nil :granularity nil :parent #189) #("Install the nginx webserver (as root)\n" 0 38 (:parent #196))) (fixed-width (:begin 11671 :end 11696 :value "guix package -i nginx" :post-blank 2 :post-affiliated 11671 :mode nil :granularity nil :parent #189)) (paragraph (:begin 11696 :end 11777 :contents-begin 11696 :contents-end 11776 :post-blank 1 :post-affiliated 11696 :mode nil :granularity nil :parent #189) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #198))) (fixed-width (:begin 11777 :end 11964 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 11777 :mode nil :granularity nil :parent #189)) (paragraph (:begin 11964 :end 11979 :contents-begin 11964 :contents-end 11978 :post-blank 1 :post-affiliated 11964 :mode nil :granularity nil :parent #189) #("Use that path\n" 0 14 (:parent #200))) (fixed-width (:begin 11979 :end 12373 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 11979 :mode nil :granularity nil :parent #189)) (paragraph (:begin 12373 :end 12599 :contents-begin 12373 :contents-end 12599 :post-blank 0 :post-affiliated 12373 :mode nil :granularity nil :parent #189) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #202))) (fixed-width (:begin 12599 :end 12646 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 12599 :mode nil :granularity nil :parent #189)) (paragraph (:begin 12646 :end 12657 :contents-begin 12646 :contents-end 12656 :post-blank 1 :post-affiliated 12646 :mode nil :granularity nil :parent #189) #("Make dirs\n" 0 10 (:parent #204))) (fixed-width (:begin 12657 :end 12691 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 12657 :mode nil :granularity nil :parent #189)) (paragraph (:begin 12691 :end 12702 :contents-begin 12691 :contents-end 12701 :post-blank 1 :post-affiliated 12691 :mode nil :granularity nil :parent #189) #("Add users\n" 0 10 (:parent #206))) (fixed-width (:begin 12702 :end 12738 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 12702 :mode nil :granularity nil :parent #189)) (paragraph (:begin 12738 :end 12749 :contents-begin 12738 :contents-end 12748 :post-blank 1 :post-affiliated 12738 :mode nil :granularity nil :parent #189) #("Run nginx\n" 0 10 (:parent #208))) (fixed-width (:begin 12749 :end 12839 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 12749 :mode nil :granularity nil :parent #189))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 12840 :end 13801 :pre-blank 1 :contents-begin 12902 :contents-end 13801 :robust-begin 12904 :robust-end 13799 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12840 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #182))) :mode nil :granularity nil :parent #172) (section (:begin 12902 :end 12959 :contents-begin 12902 :contents-end 12958 :robust-begin 12902 :robust-end 12956 :post-blank 1 :post-affiliated 12902 :mode section :granularity nil :parent #182) (paragraph (:begin 12902 :end 12958 :contents-begin 12902 :contents-end 12958 :post-blank 0 :post-affiliated 12902 :mode planning :granularity nil :parent #185) #("See the document " 0 17 (:parent #188)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 12919 :end 12956 :contents-begin nil :contents-end nil :post-blank 0 :parent #188)) #(".\n" 0 2 (:parent #188)))) (headline (:raw-value "Update to recent guix" :begin 12959 :end 13409 :pre-blank 1 :contents-begin 12985 :contents-end 13408 :robust-begin 12987 :robust-end 13406 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12959 :title (#("Update to recent guix" 0 21 (:parent #186))) :mode nil :granularity nil :parent #182) (section (:begin 12985 :end 13409 :contents-begin 12985 :contents-end 13408 :robust-begin 12985 :robust-end 13406 :post-blank 1 :post-affiliated 12985 :mode section :granularity nil :parent #186) (paragraph (:begin 12985 :end 13020 :contents-begin 12985 :contents-end 13019 :post-blank 1 :post-affiliated 12985 :mode planning :granularity nil :parent #189) #("We now compile Guix from scratch.\n" 0 34 (:parent #192))) (paragraph (:begin 13020 :end 13295 :contents-begin 13020 :contents-end 13294 :post-blank 1 :post-affiliated 13020 :mode nil :granularity nil :parent #189) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #193)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 13159 :end 13272 :contents-begin 13264 :contents-end 13269 :post-blank 1 :parent #193) #("these" 0 5 (:parent #197))) #("steps carefully after\n" 0 22 (:parent #193))) (fixed-width (:begin 13295 :end 13330 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 13295 :mode nil :granularity nil :parent #189)) (paragraph (:begin 13330 :end 13408 :contents-begin 13330 :contents-end 13408 :post-blank 0 :post-affiliated 13330 :mode nil :granularity nil :parent #189) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #195))))) (headline (:raw-value "Install GN2" :begin 13409 :end 13801 :pre-blank 1 :contents-begin 13425 :contents-end 13801 :robust-begin 13427 :robust-end 13799 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 13409 :title (#("Install GN2" 0 11 (:parent #187))) :mode nil :granularity nil :parent #182) (section (:begin 13425 :end 13801 :contents-begin 13425 :contents-end 13801 :robust-begin 13425 :robust-end 13799 :post-blank 0 :post-affiliated 13425 :mode section :granularity nil :parent #187) (paragraph (:begin 13425 :end 13468 :contents-begin 13425 :contents-end 13467 :post-blank 1 :post-affiliated 13425 :mode planning :granularity nil :parent #190) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #193))) (paragraph (:begin 13468 :end 13676 :contents-begin 13468 :contents-end 13675 :post-blank 1 :post-affiliated 13468 :mode nil :granularity nil :parent #190) #("#+begin" 0 7 (:parent #194)) (subscript (:begin 13475 :end 13480 :use-brackets-p nil :contents-begin 13476 :contents-end 13479 :post-blank 1 :parent #194) #("src" 0 3 (:parent #198))) #("bash\nenv GUIX" 0 13 (:parent #194)) (subscript (:begin 13493 :end 13501 :use-brackets-p nil :contents-begin 13494 :contents-end 13501 :post-blank 0 :parent #194) #("PACKAGE" 0 7 (:parent #200))) (subscript (:begin 13501 :end 13506 :use-brackets-p nil :contents-begin 13502 :contents-end 13506 :post-blank 0 :parent #194) #("PATH" 0 4 (:parent #201))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #194)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 13605 :end 13633 :contents-begin nil :contents-end nil :post-blank 1 :parent #194)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 13633 :end 13658 :contents-begin nil :contents-end nil :post-blank 0 :parent #194)) #("\"\n#+end" 0 7 (:parent #194)) (subscript (:begin 13665 :end 13670 :use-brackets-p nil :contents-begin 13666 :contents-end 13669 :post-blank 1 :parent #194) #("src" 0 3 (:parent #206))) #("bash\n" 0 5 (:parent #194))) (paragraph (:begin 13676 :end 13714 :contents-begin 13676 :contents-end 13713 :post-blank 1 :post-affiliated 13676 :mode nil :granularity nil :parent #190) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #195))) (paragraph (:begin 13714 :end 13801 :contents-begin 13714 :contents-end 13801 :post-blank 0 :post-affiliated 13714 :mode nil :granularity nil :parent #190) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #196)))))))) #102)) #78)) #46 (item (:bullet "- " :begin 156 :end 521 :contents-begin 159 :contents-end 521 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 156 :tag nil :mode item :granularity nil :parent #78) (paragraph (:begin 159 :end 217 :contents-begin 159 :contents-end 217 :post-blank 0 :post-affiliated 159 :mode nil :granularity nil :parent #82) (link (:type "custom-id" :path "quick-installation-recipe" :format bracket :raw-link "#quick-installation-recipe" :application nil :search-option nil :begin 159 :end 216 :contents-begin 189 :contents-end 214 :post-blank 0 :parent #85) #("Quick installation recipe" 0 25 (:parent #88))) #("\n" 0 1 (:parent #85))) (plain-list (:type unordered :begin 217 :end 521 :contents-begin 217 :contents-end 521 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 217 :mode nil :granularity nil :parent #82) (item (:bullet "- " :begin 217 :end 277 :contents-begin 222 :contents-end 277 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 217 :tag nil :mode item :granularity nil :parent #86) (paragraph (:begin 222 :end 277 :contents-begin 222 :contents-end 277 :post-blank 0 :post-affiliated 222 :mode nil :granularity nil :parent #89) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 222 :end 276 :contents-begin 250 :contents-end 274 :post-blank 0 :parent #92) #("Step 1: Install GNU Guix" 0 24 (:parent #95))) #("\n" 0 1 (:parent #92)))) (item (:bullet "- " :begin 277 :end 371 :contents-begin 282 :contents-end 371 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 277 :tag nil :mode item :granularity nil :parent #86) (paragraph (:begin 282 :end 371 :contents-begin 282 :contents-end 371 :post-blank 0 :post-affiliated 282 :mode nil :granularity nil :parent #90) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 282 :end 370 :contents-begin 327 :contents-end 368 :post-blank 0 :parent #93) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #96))) #("\n" 0 1 (:parent #93)))) (item (:bullet "- " :begin 371 :end 455 :contents-begin 376 :contents-end 455 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 371 :tag nil :mode item :granularity nil :parent #86) (paragraph (:begin 376 :end 455 :contents-begin 376 :contents-end 455 :post-blank 0 :post-affiliated 376 :mode nil :granularity nil :parent #91) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 376 :end 454 :contents-begin 416 :contents-end 452 :post-blank 0 :parent #94) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #97))) #("\n" 0 1 (:parent #94)))) (item (:bullet "- " :begin 455 :end 521 :contents-begin 460 :contents-end 521 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 455 :tag nil :mode item :granularity nil :parent #86) (paragraph (:begin 460 :end 521 :contents-begin 460 :contents-end 521 :post-blank 0 :post-affiliated 460 :mode nil :granularity nil :parent #92) (link (:type "custom-id" :path "step-4-install-and-run-gn2" :format bracket :raw-link "#step-4-install-and-run-gn2" :application nil :search-option nil :begin 460 :end 520 :contents-begin 491 :contents-end 518 :post-blank 0 :parent #95) #("Step 4: Install and run GN2" 0 27 (:parent #98))) #("\n" 0 1 (:parent #95)))))) (item (:bullet "- " :begin 521 :end 564 :contents-begin 524 :contents-end 564 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 521 :tag nil :mode item :granularity nil :parent #78) (paragraph (:begin 524 :end 564 :contents-begin 524 :contents-end 564 :post-blank 0 :post-affiliated 524 :mode nil :granularity nil :parent #83) (link (:type "custom-id" :path "run-mysql-server" :format bracket :raw-link "#run-mysql-server" :application nil :search-option nil :begin 524 :end 563 :contents-begin 545 :contents-end 561 :post-blank 0 :parent #86) #("Run MySQL server" 0 16 (:parent #89))) #("\n" 0 1 (:parent #86)))) (item (:bullet "- " :begin 564 :end 615 :contents-begin 567 :contents-end 615 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 564 :tag nil :mode item :granularity nil :parent #78) (paragraph (:begin 567 :end 615 :contents-begin 567 :contents-end 615 :post-blank 0 :post-affiliated 567 :mode nil :granularity nil :parent #84) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 567 :end 614 :contents-begin 592 :contents-end 612 :post-blank 0 :parent #87) #("GN2 Dependency Graph" 0 20 (:parent #90))) #("\n" 0 1 (:parent #87)))) (item (:bullet "- " :begin 615 :end 790 :contents-begin 618 :contents-end 790 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 615 :tag nil :mode item :granularity nil :parent #78) (paragraph (:begin 618 :end 660 :contents-begin 618 :contents-end 660 :post-blank 0 :post-affiliated 618 :mode nil :granularity nil :parent #85) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 618 :end 659 :contents-begin 640 :contents-end 657 :post-blank 0 :parent #88) #("Source deployment" 0 17 (:parent #91))) #("\n" 0 1 (:parent #88))) (plain-list (:type unordered :begin 660 :end 790 :contents-begin 660 :contents-end 790 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 660 :mode nil :granularity nil :parent #85) (item (:bullet "- " :begin 660 :end 721 :contents-begin 665 :contents-end 721 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 660 :tag nil :mode item :granularity nil :parent #89) (paragraph (:begin 665 :end 721 :contents-begin 665 :contents-end 721 :post-blank 0 :post-affiliated 665 :mode nil :granularity nil :parent #92) (link (:type "custom-id" :path "run-your-own-copy-of-gn2" :format bracket :raw-link "#run-your-own-copy-of-gn2" :application nil :search-option nil :begin 665 :end 720 :contents-begin 694 :contents-end 718 :post-blank 0 :parent #95) #("Run your own copy of GN2" 0 24 (:parent #98))) #("\n" 0 1 (:parent #95)))) (item (:bullet "- " :begin 721 :end 790 :contents-begin 726 :contents-end 790 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 721 :tag nil :mode item :granularity nil :parent #89) (paragraph (:begin 726 :end 790 :contents-begin 726 :contents-end 790 :post-blank 0 :post-affiliated 726 :mode nil :granularity nil :parent #93) (link (:type "custom-id" :path "set-up-nginx-port-forwarding" :format bracket :raw-link "#set-up-nginx-port-forwarding" :application nil :search-option nil :begin 726 :end 789 :contents-begin 759 :contents-end 787 :post-blank 0 :parent #96) #("Set up nginx port forwarding" 0 28 (:parent #99))) #("\n" 0 1 (:parent #96)))))) (item (:bullet "- " :begin 790 :end 1034 :contents-begin 793 :contents-end 1034 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 790 :tag nil :mode item :granularity nil :parent #78) (paragraph (:begin 793 :end 917 :contents-begin 793 :contents-end 917 :post-blank 0 :post-affiliated 793 :mode nil :granularity nil :parent #86) (link (:type "custom-id" :path "source-deployment-and-other-information-on-reproducibility" :format bracket :raw-link "#source-deployment-and-other-information-on-reproducibility" :application nil :search-option nil :begin 793 :end 916 :contents-begin 856 :contents-end 914 :post-blank 0 :parent #89) #("Source deployment and other information on reproducibility" 0 58 (:parent #92))) #("\n" 0 1 (:parent #89))) (plain-list (:type unordered :begin 917 :end 1034 :contents-begin 917 :contents-end 1034 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 917 :mode nil :granularity nil :parent #86) (item (:bullet "- " :begin 917 :end 972 :contents-begin 922 :contents-end 972 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 917 :tag nil :mode item :granularity nil :parent #90) (paragraph (:begin 922 :end 972 :contents-begin 922 :contents-end 972 :post-blank 0 :post-affiliated 922 :mode nil :granularity nil :parent #93) (link (:type "custom-id" :path "update-to-recent-guix" :format bracket :raw-link "#update-to-recent-guix" :application nil :search-option nil :begin 922 :end 971 :contents-begin 948 :contents-end 969 :post-blank 0 :parent #96) #("Update to recent guix" 0 21 (:parent #99))) #("\n" 0 1 (:parent #96)))) (item (:bullet "- " :begin 972 :end 1007 :contents-begin 977 :contents-end 1007 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 972 :tag nil :mode item :granularity nil :parent #90) (paragraph (:begin 977 :end 1007 :contents-begin 977 :contents-end 1007 :post-blank 0 :post-affiliated 977 :mode nil :granularity nil :parent #94) (link (:type "custom-id" :path "install-gn2" :format bracket :raw-link "#install-gn2" :application nil :search-option nil :begin 977 :end 1006 :contents-begin 993 :contents-end 1004 :post-blank 0 :parent #97) #("Install GN2" 0 11 (:parent #100))) #("\n" 0 1 (:parent #97)))) (item (:bullet "- " :begin 1007 :end 1034 :contents-begin 1012 :contents-end 1034 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1007 :tag nil :mode item :granularity nil :parent #90) (paragraph (:begin 1012 :end 1034 :contents-begin 1012 :contents-end 1034 :post-blank 0 :post-affiliated 1012 :mode nil :granularity nil :parent #95) (link (:type "custom-id" :path "run-gn2" :format bracket :raw-link "#run-gn2" :application nil :search-option nil :begin 1012 :end 1033 :contents-begin 1024 :contents-end 1031 :post-blank 0 :parent #98) #("Run GN2" 0 7 (:parent #101))) #("\n" 0 1 (:parent #98)))))) (item (:bullet "- " :begin 1034 :end 1370 :contents-begin 1037 :contents-end 1370 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1034 :tag nil :mode item :granularity nil :parent #78) (paragraph (:begin 1037 :end 1077 :contents-begin 1037 :contents-end 1077 :post-blank 0 :post-affiliated 1037 :mode nil :granularity nil :parent #87) (link (:type "custom-id" :path "trouble-shooting" :format bracket :raw-link "#trouble-shooting" :application nil :search-option nil :begin 1037 :end 1076 :contents-begin 1058 :contents-end 1074 :post-blank 0 :parent #90) #("Trouble shooting" 0 16 (:parent #93))) #("\n" 0 1 (:parent #90))) (plain-list (:type unordered :begin 1077 :end 1370 :contents-begin 1077 :contents-end 1370 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 1077 :mode nil :granularity nil :parent #87) (item (:bullet "- " :begin 1077 :end 1159 :contents-begin 1082 :contents-end 1159 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1077 :tag nil :mode item :granularity nil :parent #91) (paragraph (:begin 1082 :end 1159 :contents-begin 1082 :contents-end 1159 :post-blank 0 :post-affiliated 1082 :mode nil :granularity nil :parent #94) (link (:type "custom-id" :path "importerror-no-module-named-jinja2" :format bracket :raw-link "#importerror-no-module-named-jinja2" :application nil :search-option nil :begin 1082 :end 1158 :contents-begin 1121 :contents-end 1156 :post-blank 0 :parent #97) #("ImportError: No module named jinja2" 0 35 (:parent #100))) #("\n" 0 1 (:parent #97)))) (item (:bullet "- " :begin 1159 :end 1257 :contents-begin 1164 :contents-end 1257 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1159 :tag nil :mode item :granularity nil :parent #91) (paragraph (:begin 1164 :end 1257 :contents-begin 1164 :contents-end 1257 :post-blank 0 :post-affiliated 1164 :mode nil :granularity nil :parent #95) (link (:type "custom-id" :path "error-can-not-find-directory-homegn2_data" :format bracket :raw-link "#error-can-not-find-directory-homegn2_data" :application nil :search-option nil :begin 1164 :end 1256 :contents-begin 1210 :contents-end 1254 :post-blank 0 :parent #98) #("ERROR: can not find directory $HOME/gn2" 0 39 (:parent #101)) (subscript (:begin 1249 :end 1254 :use-brackets-p nil :contents-begin 1250 :contents-end 1254 :post-blank 0 :parent #101) #("data" 0 4 (:parent #105)))) #("\n" 0 1 (:parent #98)))) (item (:bullet "- " :begin 1257 :end 1305 :contents-begin 1262 :contents-end 1305 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1257 :tag nil :mode item :granularity nil :parent #91) (paragraph (:begin 1262 :end 1305 :contents-begin 1262 :contents-end 1305 :post-blank 0 :post-affiliated 1262 :mode nil :granularity nil :parent #96) (link (:type "custom-id" :path "cant-run-a-module" :format bracket :raw-link "#cant-run-a-module" :application nil :search-option nil :begin 1262 :end 1304 :contents-begin 1284 :contents-end 1302 :post-blank 0 :parent #99) #("Can't run a module" 0 18 (:parent #102))) #("\n" 0 1 (:parent #99)))) (item (:bullet "- " :begin 1305 :end 1370 :contents-begin 1310 :contents-end 1370 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1305 :tag nil :mode item :granularity nil :parent #91) (paragraph (:begin 1310 :end 1370 :contents-begin 1310 :contents-end 1370 :post-blank 0 :post-affiliated 1310 :mode nil :granularity nil :parent #97) (link (:type "custom-id" :path "rpy2-error-show-now-found" :format bracket :raw-link "#rpy2-error-show-now-found" :application nil :search-option nil :begin 1310 :end 1369 :contents-begin 1340 :contents-end 1367 :post-blank 0 :parent #100) #("Rpy2 error 'show' now found" 0 27 (:parent #103))) #("\n" 0 1 (:parent #100)))))) (item (:bullet "- " :begin 1370 :end 1403 :contents-begin 1373 :contents-end 1403 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1370 :tag nil :mode item :granularity nil :parent #78) (paragraph (:begin 1373 :end 1403 :contents-begin 1373 :contents-end 1403 :post-blank 0 :post-affiliated 1373 :mode nil :granularity nil :parent #88) (link (:type "custom-id" :path "irc-session" :format bracket :raw-link "#irc-session" :application nil :search-option nil :begin 1373 :end 1402 :contents-begin 1389 :contents-end 1400 :post-blank 0 :parent #91) #("IRC session" 0 11 (:parent #94))) #("\n" 0 1 (:parent #91)))))) #26)) #0 #("\n" 0 1 (:parent #26)))) #("Introduction" 0 12 (:parent #0)))) mapconcat(#f(compiled-function (element) #) ((link (:type "custom-id" :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil :begin 124 :end 155 :contents-begin 141 :contents-end 153 :post-blank 0 :parent (paragraph (:begin 124 :end 156 :contents-begin 124 :contents-end 156 :post-blank 0 :post-affiliated 124 :mode nil :granularity nil :parent (item (:bullet "- " :begin 121 :end 156 :contents-begin 124 :contents-end 156 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 121 :tag nil :mode item :granularity nil :parent (plain-list (:type unordered :begin 121 :end 1403 :contents-begin 121 :contents-end 1403 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 121 :mode planning :granularity nil :parent (section (:begin 121 :end 1404 :contents-begin 121 :contents-end 1403 :robust-begin 121 :robust-end 1401 :post-blank 1 :post-affiliated 121 :mode section :granularity nil :parent (headline (:raw-value "Table of Contents" :begin 43 :end 1404 :pre-blank 0 :contents-begin 121 :contents-end 1403 :robust-begin 123 :robust-end 1401 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 43 :title (#("Table of Contents" 0 17 (:parent #127))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13801 :end 13801 :robust-begin 3 :robust-end 13799 :post-blank 0 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 43 :contents-begin 1 :contents-end 42 :robust-begin 1 :robust-end 40 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #173) (keyword (:key "TITLE" :value "Installing GeneNetwork services" :begin 1 :end 42 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #176))) #127 (headline (:raw-value "Introduction" :begin 1404 :end 2450 :pre-blank 1 :contents-begin 1420 :contents-end 2449 :robust-begin 1422 :robust-end 2447 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1404 :title (#("Introduction" 0 12 (:parent #178))) :mode nil :granularity nil :parent #173) (section (:begin 1420 :end 2450 :contents-begin 1420 :contents-end 2449 :robust-begin 1420 :robust-end 2447 :post-blank 1 :post-affiliated 1420 :mode section :granularity nil :parent #178) (paragraph (:begin 1420 :end 1557 :contents-begin 1420 :contents-end 1556 :post-blank 1 :post-affiliated 1420 :mode planning :granularity nil :parent #181) #("If you want to understand the architecture of GN2 read\n" 0 55 (:parent #184)) (link (:type "fuzzy" :path "Architecture.org" :format bracket :raw-link "Architecture.org" :application nil :search-option nil :begin 1475 :end 1495 :contents-begin nil :contents-end nil :post-blank 0 :parent #184)) #(". The rest of this document is mostly on deployment\nof GN2.\n" 0 61 (:parent #184))) (paragraph (:begin 1557 :end 1943 :contents-begin 1557 :contents-end 1942 :post-blank 1 :post-affiliated 1557 :mode nil :granularity nil :parent #181) #("Large system deployments can get very " 0 38 (:parent #185)) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg " :format bracket :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg " :application nil :search-option nil :begin 1595 :end 1656 :contents-begin 1647 :contents-end 1654 :post-blank 0 :parent #185) #("complex" 0 7 (:parent #189))) #(". In this document we\nexplain the GeneNetwork version 2 (GN2) reproducible deployment system\nwhich is based on GNU Guix (see also " 0 130 (:parent #185)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1786 :end 1860 :contents-begin 1848 :contents-end 1858 :post-blank 0 :parent #185) #("Guix-notes" 0 10 (:parent #191))) #("). The Guix\nsystem can be used to install GN with all its files and dependencies.\n" 0 82 (:parent #185))) (paragraph (:begin 1943 :end 2328 :contents-begin 1943 :contents-end 2327 :post-blank 1 :post-affiliated 1943 :mode nil :granularity nil :parent #181) #("The official installation path is from a checked out version of the\nmain Guix package tree and that of the Genenetwork package\ntree. Current supported versions can be found as the SHA values of\n'gn-latest' branches of " 0 218 (:parent #186)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :application nil :search-option nil :begin 2161 :end 2252 :contents-begin 2230 :contents-end 2249 :post-blank 1 :parent #186) #("Guix bioinformatics" 0 19 (:parent #190))) #("and " 0 4 (:parent #186)) (link (:type "https" :path "//github.com/genenetwork/guix/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix/tree/gn-latest" :application nil :search-option nil :begin 2256 :end 2325 :contents-begin 2310 :contents-end 2323 :post-blank 0 :parent #186) #("GNU Guix main" 0 13 (:parent #192))) #(".\n" 0 2 (:parent #186))) (paragraph (:begin 2328 :end 2449 :contents-begin 2328 :contents-end 2449 :post-blank 0 :post-affiliated 2328 :mode nil :granularity nil :parent #181) #("For a full view of runtime dependencies as defined by GNU Guix, see\nthe " 0 72 (:parent #187)) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 2400 :end 2447 :contents-begin 2425 :contents-end 2445 :post-blank 0 :parent #187) #("GN2 Dependency Graph" 0 20 (:parent #191))) #(".\n" 0 2 (:parent #187))))) (headline (:raw-value "Quick installation recipe" :begin 2450 :end 7633 :pre-blank 1 :contents-begin 2479 :contents-end 7632 :robust-begin 2481 :robust-end 7630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 2450 :title (#("Quick installation recipe" 0 25 (:parent #179))) :mode nil :granularity nil :parent #173) (section (:begin 2479 :end 3022 :contents-begin 2479 :contents-end 3021 :robust-begin 2479 :robust-end 3019 :post-blank 1 :post-affiliated 2479 :mode section :granularity nil :parent #179) (paragraph (:begin 2479 :end 2880 :contents-begin 2479 :contents-end 2879 :post-blank 1 :post-affiliated 2479 :mode planning :granularity nil :parent #182) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS). For more elaborate installation\ninstructions see " 0 357 (:parent #185)) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 2836 :end 2877 :contents-begin 2858 :contents-end 2875 :post-blank 0 :parent #185) #("Source deployment" 0 17 (:parent #189))) #(".\n" 0 2 (:parent #185))) (paragraph (:begin 2880 :end 3021 :contents-begin 2880 :contents-end 3021 :post-blank 0 :post-affiliated 2880 :mode nil :granularity nil :parent #182) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #186)))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 3022 :end 4649 :pre-blank 1 :contents-begin 3051 :contents-end 4648 :robust-begin 3053 :robust-end 4646 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3022 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #183))) :mode nil :granularity nil :parent #179) (section (:begin 3051 :end 4649 :contents-begin 3051 :contents-end 4648 :robust-begin 3051 :robust-end 4646 :post-blank 1 :post-affiliated 3051 :mode section :granularity nil :parent #183) (paragraph (:begin 3051 :end 3504 :contents-begin 3051 :contents-end 3503 :post-blank 1 :post-affiliated 3051 :mode planning :granularity nil :parent #186) #("Fetch the GNU Guix binary from " 0 31 (:parent #189)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 3082 :end 3136 :contents-begin 3129 :contents-end 3133 :post-blank 1 :parent #189) #("here" 0 4 (:parent #193))) #("(middle panel) and follow\n" 0 26 (:parent #189)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 3162 :end 3255 :contents-begin 3241 :contents-end 3253 :post-blank 0 :parent #189) #("instructions" 0 12 (:parent #195))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #189))) (paragraph (:begin 3504 :end 3782 :contents-begin 3504 :contents-end 3781 :post-blank 1 :post-affiliated 3504 :mode nil :granularity nil :parent #186) #("Once you have succeeded, you have to " 0 37 (:parent #190)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 3541 :end 3631 :contents-begin 3617 :contents-end 3628 :post-blank 1 :parent #190) #("set the key" 0 11 (:parent #194))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #190))) (src-block (:language "bash" :switches nil :parameters nil :begin 3782 :end 3890 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 3782 :mode nil :granularity nil :parent #186)) (paragraph (:begin 3890 :end 3924 :contents-begin 3890 :contents-end 3923 :post-blank 1 :post-affiliated 3890 :mode nil :granularity nil :parent #186) #("Which should show something like\n" 0 33 (:parent #192))) (fixed-width (:begin 3924 :end 4034 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 3924 :mode nil :granularity nil :parent #186)) (paragraph (:begin 4034 :end 4045 :contents-begin 4034 :contents-end 4044 :post-blank 1 :post-affiliated 4034 :mode nil :granularity nil :parent #186) #("#+end" 0 5 (:parent #194)) (subscript (:begin 4039 :end 4043 :use-brackets-p nil :contents-begin 4040 :contents-end 4043 :post-blank 0 :parent #194) #("src" 0 3 (:parent #198))) #("\n" 0 1 (:parent #194))) (paragraph (:begin 4045 :end 4116 :contents-begin 4045 :contents-end 4115 :post-blank 1 :post-affiliated 4045 :mode nil :granularity nil :parent #186) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #195))) (src-block (:language "bash" :switches nil :parameters nil :begin 4116 :end 4188 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 4116 :mode nil :granularity nil :parent #186)) (paragraph (:begin 4188 :end 4375 :contents-begin 4188 :contents-end 4374 :post-blank 1 :post-affiliated 4188 :mode nil :granularity nil :parent #186) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #197))) (paragraph (:begin 4375 :end 4648 :contents-begin 4375 :contents-end 4648 :post-blank 0 :post-affiliated 4375 :mode nil :granularity nil :parent #186) #("If you need more help we have another writeup in " 0 49 (:parent #198)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 4424 :end 4520 :contents-begin 4508 :contents-end 4518 :post-blank 0 :parent #198) #("guix-notes" 0 10 (:parent #202))) #(". To get\nrid of the locale warning see " 0 39 (:parent #198)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 4559 :end 4646 :contents-begin 4634 :contents-end 4644 :post-blank 0 :parent #198) #("set-locale" 0 10 (:parent #204))) #(".\n" 0 2 (:parent #198))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 4649 :end 5304 :pre-blank 1 :contents-begin 4695 :contents-end 5302 :robust-begin 4697 :robust-end 5300 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4649 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #184))) :mode nil :granularity nil :parent #179) (section (:begin 4695 :end 5304 :contents-begin 4695 :contents-end 5302 :robust-begin 4695 :robust-end 5300 :post-blank 2 :post-affiliated 4695 :mode section :granularity nil :parent #184) (paragraph (:begin 4695 :end 4815 :contents-begin 4695 :contents-end 4814 :post-blank 1 :post-affiliated 4695 :mode planning :granularity nil :parent #187) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #190))) (src-block (:language "bash" :switches nil :parameters nil :begin 4815 :end 4920 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 4815 :mode nil :granularity nil :parent #187)) (paragraph (:begin 4920 :end 4971 :contents-begin 4920 :contents-end 4970 :post-blank 1 :post-affiliated 4920 :mode nil :granularity nil :parent #187) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #192))) (paragraph (:begin 4971 :end 5232 :contents-begin 4971 :contents-end 5231 :post-blank 1 :post-affiliated 4971 :mode nil :granularity nil :parent #187) #("#+begin" 0 7 (:parent #193)) (subscript (:begin 4978 :end 4983 :use-brackets-p nil :contents-begin 4979 :contents-end 4982 :post-blank 1 :parent #193) #("src" 0 3 (:parent #197))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #193)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 5055 :end 5105 :contents-begin nil :contents-end nil :post-blank 0 :parent #193)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #193)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 5147 :end 5183 :contents-begin nil :contents-end nil :post-blank 1 :parent #193)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #193)) (subscript (:begin 5221 :end 5226 :use-brackets-p nil :contents-begin 5222 :contents-end 5225 :post-blank 1 :parent #193) #("src" 0 3 (:parent #203))) #("bash\n" 0 5 (:parent #193))) (paragraph (:begin 5232 :end 5270 :contents-begin 5232 :contents-end 5269 :post-blank 1 :post-affiliated 5232 :mode nil :granularity nil :parent #187) #("To test whether this is working try:\n" 0 37 (:parent #194))) (paragraph (:begin 5270 :end 5302 :contents-begin 5270 :contents-end 5302 :post-blank 0 :post-affiliated 5270 :mode nil :granularity nil :parent #187) #("#+begin" 0 7 (:parent #195)) (subscript (:begin 5277 :end 5282 :use-brackets-p nil :contents-begin 5278 :contents-end 5281 :post-blank 1 :parent #195) #("src" 0 3 (:parent #199))) #("bash\n#+end" 0 10 (:parent #195)) (subscript (:begin 5292 :end 5297 :use-brackets-p nil :contents-begin 5293 :contents-end 5296 :post-blank 1 :parent #195) #("src" 0 3 (:parent #201))) #("bash\n" 0 5 (:parent #195))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 5304 :end 5755 :pre-blank 1 :contents-begin 5345 :contents-end 5754 :robust-begin 5347 :robust-end 5752 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5304 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #185))) :mode nil :granularity nil :parent #179) (section (:begin 5345 :end 5755 :contents-begin 5345 :contents-end 5754 :robust-begin 5345 :robust-end 5752 :post-blank 1 :post-affiliated 5345 :mode section :granularity nil :parent #185) (paragraph (:begin 5345 :end 5445 :contents-begin 5345 :contents-end 5444 :post-blank 1 :post-affiliated 5345 :mode planning :granularity nil :parent #188) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #191))) (src-block (:language "scheme" :switches nil :parameters nil :begin 5445 :end 5589 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 5445 :mode nil :granularity nil :parent #188)) (paragraph (:begin 5589 :end 5621 :contents-begin 5589 :contents-end 5620 :post-blank 1 :post-affiliated 5589 :mode nil :granularity nil :parent #188) #("by pasting it into the command\n" 0 31 (:parent #193))) (src-block (:language "bash" :switches nil :parameters nil :begin 5621 :end 5674 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 5621 :mode nil :granularity nil :parent #188)) (paragraph (:begin 5674 :end 5691 :contents-begin 5674 :contents-end 5690 :post-blank 1 :post-affiliated 5674 :mode nil :granularity nil :parent #188) #("and hit Ctrl-D.\n" 0 16 (:parent #195))) (paragraph (:begin 5691 :end 5754 :contents-begin 5691 :contents-end 5754 :post-blank 0 :post-affiliated 5691 :mode nil :granularity nil :parent #188) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #196))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 5755 :end 7633 :pre-blank 1 :contents-begin 5787 :contents-end 7632 :robust-begin 5789 :robust-end 7630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5755 :title (#("Step 4: Install and run GN2" 0 27 (:parent #186))) :mode nil :granularity nil :parent #179) (section (:begin 5787 :end 7633 :contents-begin 5787 :contents-end 7632 :robust-begin 5787 :robust-end 7630 :post-blank 1 :post-affiliated 5787 :mode section :granularity nil :parent #186) (paragraph (:begin 5787 :end 5927 :contents-begin 5787 :contents-end 5926 :post-blank 1 :post-affiliated 5787 :mode planning :granularity nil :parent #189) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #192))) (src-block (:language "bash" :switches nil :parameters nil :begin 5927 :end 6046 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 5927 :mode nil :granularity nil :parent #189)) (paragraph (:begin 6046 :end 6099 :contents-begin 6046 :contents-end 6098 :post-blank 1 :post-affiliated 6046 :mode nil :granularity nil :parent #189) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #194))) (src-block (:language "bash" :switches nil :parameters nil :begin 6099 :end 6289 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 6099 :mode nil :granularity nil :parent #189)) (paragraph (:begin 6289 :end 6398 :contents-begin 6289 :contents-end 6397 :post-blank 1 :post-affiliated 6289 :mode nil :granularity nil :parent #189) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #196)) (italic (:begin 6360 :end 6366 :post-blank 0 :contents-begin 6361 :contents-end 6365 :parent #196) #("root" 0 4 (:parent #200))) #(".config/guix/latest override).\n" 0 31 (:parent #196))) (paragraph (:begin 6398 :end 6416 :contents-begin 6398 :contents-end 6415 :post-blank 1 :post-affiliated 6398 :mode nil :granularity nil :parent #189) #("And install with\n" 0 17 (:parent #197))) (src-block (:language "bash" :switches nil :parameters nil :begin 6416 :end 6586 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 6416 :mode nil :granularity nil :parent #189)) (paragraph (:begin 6586 :end 6729 :contents-begin 6586 :contents-end 6728 :post-blank 1 :post-affiliated 6586 :mode nil :granularity nil :parent #189) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #199))) (paragraph (:begin 6729 :end 6925 :contents-begin 6729 :contents-end 6924 :post-blank 1 :post-affiliated 6729 :mode nil :granularity nil :parent #189) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #200))) (paragraph (:begin 6925 :end 7056 :contents-begin 6925 :contents-end 7055 :post-blank 1 :post-affiliated 6925 :mode nil :granularity nil :parent #189) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #201))) (src-block (:language "bash" :switches nil :parameters nil :begin 7056 :end 7235 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python2.7/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 7056 :mode nil :granularity nil :parent #189)) (paragraph (:begin 7235 :end 7304 :contents-begin 7235 :contents-end 7303 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #189) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #203))) (src-block (:language "bash" :switches nil :parameters nil :begin 7304 :end 7345 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 7304 :mode nil :granularity nil :parent #189)) (paragraph (:begin 7345 :end 7596 :contents-begin 7345 :contents-end 7595 :post-blank 1 :post-affiliated 7345 :mode nil :granularity nil :parent #189) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #205)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 7567 :end 7593 :contents-begin nil :contents-end nil :post-blank 0 :parent #205)) #(".\n" 0 2 (:parent #205))) (paragraph (:begin 7596 :end 7632 :contents-begin 7596 :contents-end 7632 :post-blank 0 :post-affiliated 7596 :mode nil :granularity nil :parent #189) #("End of the GN2 installation recipe!\n" 0 36 (:parent #206)))))) (headline (:raw-value "Run MySQL server" :begin 7633 :end 9008 :pre-blank 1 :contents-begin 7653 :contents-end 9007 :robust-begin 7655 :robust-end 9005 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7633 :title (#("Run MySQL server" 0 16 (:parent #180))) :mode nil :granularity nil :parent #173) (section (:begin 7653 :end 9008 :contents-begin 7653 :contents-end 9007 :robust-begin 7653 :robust-end 9005 :post-blank 1 :post-affiliated 7653 :mode section :granularity nil :parent #180) (paragraph (:begin 7653 :end 7928 :contents-begin 7653 :contents-end 7927 :post-blank 1 :post-affiliated 7653 :mode planning :granularity nil :parent #183) #("At this point we require the underlying distribution to install and\nrun mysqld. Currently we have two databases for deployment,\n'db" 0 131 (:parent #186)) (subscript (:begin 7784 :end 7791 :use-brackets-p nil :contents-begin 7785 :contents-end 7791 :post-blank 0 :parent #186) #("webqtl" 0 6 (:parent #190))) (subscript (:begin 7791 :end 7793 :use-brackets-p nil :contents-begin 7792 :contents-end 7793 :post-blank 0 :parent #186) #("s" 0 1 (:parent #191))) #("' is the small testing database containing experiments\nfrom BXD mice and 'db" 0 76 (:parent #186)) (subscript (:begin 7869 :end 7876 :use-brackets-p nil :contents-begin 7870 :contents-end 7876 :post-blank 0 :parent #186) #("webqtl" 0 6 (:parent #193))) (subscript (:begin 7876 :end 7882 :use-brackets-p nil :contents-begin 7877 :contents-end 7882 :post-blank 0 :parent #186) #("plant" 0 5 (:parent #194))) #("' which contains all plant related\nmaterial.\n" 0 45 (:parent #186))) (paragraph (:begin 7928 :end 7956 :contents-begin 7928 :contents-end 7955 :post-blank 1 :post-affiliated 7928 :mode nil :granularity nil :parent #183) #("Download one database from\n" 0 27 (:parent #187))) (paragraph (:begin 7956 :end 8054 :contents-begin 7956 :contents-end 8053 :post-blank 1 :post-affiliated 7956 :mode nil :granularity nil :parent #183) (link (:type "http" :path "//files.genenetwork.org/raw_database/" :format plain :raw-link "http://files.genenetwork.org/raw_database/" :application nil :search-option nil :begin 7956 :end 7998 :contents-begin nil :contents-end nil :post-blank 0 :parent #188)) #("\n" 0 1 (:parent #188)) (link (:type "https" :path "//s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :format plain :raw-link "https://s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :application nil :search-option nil :begin 7999 :end 8052 :contents-begin nil :contents-end nil :post-blank 0 :parent #188)) #("\n" 0 1 (:parent #188))) (paragraph (:begin 8054 :end 8073 :contents-begin 8054 :contents-end 8072 :post-blank 1 :post-affiliated 8054 :mode nil :granularity nil :parent #183) #("Check the md5sum.\n" 0 18 (:parent #189))) (paragraph (:begin 8073 :end 8195 :contents-begin 8073 :contents-end 8194 :post-blank 1 :post-affiliated 8073 :mode nil :granularity nil :parent #183) #("After installation inflate the database binary in the MySQL directory\n(this installation path is subject to change soon)\n" 0 121 (:parent #190))) (fixed-width (:begin 8195 :end 8283 :value "chown -R mysql:mysql db_webqtl_s/\nchmod 700 db_webqtl_s/\nchmod 660 db_webqtl_s/*" :post-blank 2 :post-affiliated 8195 :mode nil :granularity nil :parent #183)) (paragraph (:begin 8283 :end 8334 :contents-begin 8283 :contents-end 8333 :post-blank 1 :post-affiliated 8283 :mode nil :granularity nil :parent #183) #("restart MySQL service (mysqld). Login as root and\n" 0 50 (:parent #192))) (fixed-width (:begin 8334 :end 8560 :value "mysql> show databases;\n+--------------------+\n| Database |\n+--------------------+\n| information_schema |\n| db_webqtl_s |\n| mysql |\n| performance_schema |\n+--------------------+" :post-blank 2 :post-affiliated 8334 :mode nil :granularity nil :parent #183)) (paragraph (:begin 8560 :end 8625 :contents-begin 8560 :contents-end 8624 :post-blank 1 :post-affiliated 8560 :mode nil :granularity nil :parent #183) #("Set permissions and match password in your settings file below:\n" 0 64 (:parent #194))) (fixed-width (:begin 8625 :end 8724 :value "mysql> grant all privileges on db_webqtl_s.* to gn2@\"localhost\" identified by 'mysql_password';" :post-blank 2 :post-affiliated 8625 :mode nil :granularity nil :parent #183)) (paragraph (:begin 8724 :end 8875 :contents-begin 8724 :contents-end 8874 :post-blank 1 :post-affiliated 8724 :mode nil :granularity nil :parent #183) #("Note that if the mysql connection is not working, try connecting to\nthe IP address and check server firewall, hosts.allow and mysql IP\nconfiguration.\n" 0 150 (:parent #196))) (paragraph (:begin 8875 :end 9007 :contents-begin 8875 :contents-end 9007 :post-blank 0 :post-affiliated 8875 :mode nil :granularity nil :parent #183) #("Note for the plant database you can rename it to db" 0 51 (:parent #197)) (subscript (:begin 8926 :end 8933 :use-brackets-p nil :contents-begin 8927 :contents-end 8933 :post-blank 0 :parent #197) #("webqtl" 0 6 (:parent #201))) (subscript (:begin 8933 :end 8935 :use-brackets-p nil :contents-begin 8934 :contents-end 8935 :post-blank 0 :parent #197) #("s" 0 1 (:parent #202))) #(", or\nchange the settings in etc/default" 0 39 (:parent #197)) (subscript (:begin 8974 :end 8987 :use-brackets-p nil :contents-begin 8975 :contents-end 8986 :post-blank 1 :parent #197) #("settings.py" 0 11 (:parent #204))) #("to match your path.\n" 0 20 (:parent #197))))) (headline (:raw-value "GN2 Dependency Graph" :begin 9008 :end 9172 :pre-blank 1 :contents-begin 9032 :contents-end 9171 :robust-begin 9034 :robust-end 9169 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9008 :title (#("GN2 Dependency Graph" 0 20 (:parent #181))) :mode nil :granularity nil :parent #173) (section (:begin 9032 :end 9172 :contents-begin 9032 :contents-end 9171 :robust-begin 9032 :robust-end 9169 :post-blank 1 :post-affiliated 9032 :mode section :granularity nil :parent #181) (paragraph (:begin 9032 :end 9093 :contents-begin 9032 :contents-end 9092 :post-blank 1 :post-affiliated 9032 :mode planning :granularity nil :parent #184) #("Graph of all runtime dependencies as installed by GNU Guix.\n" 0 60 (:parent #187))) (paragraph (:begin 9093 :end 9171 :contents-begin 9123 :contents-end 9171 :post-blank 0 :post-affiliated 9123 :attr_html (":title GN2_graph") :mode nil :granularity nil :parent #184) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg" :format plain :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg" :application nil :search-option nil :begin 9123 :end 9170 :contents-begin nil :contents-end nil :post-blank 0 :parent #188)) #("\n" 0 1 (:parent #188))))) (headline (:raw-value "Source deployment" :begin 9172 :end 12840 :pre-blank 1 :contents-begin 9193 :contents-end 12839 :robust-begin 9195 :robust-end 12837 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9172 :title (#("Source deployment" 0 17 (:parent #182))) :mode nil :granularity nil :parent #173) (section (:begin 9193 :end 9612 :contents-begin 9193 :contents-end 9610 :robust-begin 9193 :robust-end 9608 :post-blank 2 :post-affiliated 9193 :mode section :granularity nil :parent #182) (paragraph (:begin 9193 :end 9274 :contents-begin 9193 :contents-end 9273 :post-blank 1 :post-affiliated 9193 :mode planning :granularity nil :parent #185) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #188))) (paragraph (:begin 9274 :end 9304 :contents-begin 9274 :contents-end 9303 :post-blank 1 :post-affiliated 9274 :mode nil :granularity nil :parent #185) #("First execute above 4 steps:\n" 0 29 (:parent #189))) (plain-list (:type unordered :begin 9304 :end 9610 :contents-begin 9304 :contents-end 9610 :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :post-blank 0 :post-affiliated 9304 :mode nil :granularity nil :parent #185) (item (:bullet "- " :begin 9304 :end 9364 :contents-begin 9309 :contents-end 9364 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9304 :tag nil :mode item :granularity nil :parent #190) (paragraph (:begin 9309 :end 9364 :contents-begin 9309 :contents-end 9364 :post-blank 0 :post-affiliated 9309 :mode nil :granularity nil :parent #193) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 9309 :end 9363 :contents-begin 9337 :contents-end 9361 :post-blank 0 :parent #196) #("Step 1: Install GNU Guix" 0 24 (:parent #199))) #("\n" 0 1 (:parent #196)))) (item (:bullet "- " :begin 9364 :end 9458 :contents-begin 9369 :contents-end 9458 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9364 :tag nil :mode item :granularity nil :parent #190) (paragraph (:begin 9369 :end 9458 :contents-begin 9369 :contents-end 9458 :post-blank 0 :post-affiliated 9369 :mode nil :granularity nil :parent #194) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 9369 :end 9457 :contents-begin 9414 :contents-end 9455 :post-blank 0 :parent #197) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #200))) #("\n" 0 1 (:parent #197)))) (item (:bullet "- " :begin 9458 :end 9542 :contents-begin 9463 :contents-end 9542 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9458 :tag nil :mode item :granularity nil :parent #190) (paragraph (:begin 9463 :end 9542 :contents-begin 9463 :contents-end 9542 :post-blank 0 :post-affiliated 9463 :mode nil :granularity nil :parent #195) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 9463 :end 9541 :contents-begin 9503 :contents-end 9539 :post-blank 0 :parent #198) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #201))) #("\n" 0 1 (:parent #198)))) (item (:bullet "- " :begin 9542 :end 9610 :contents-begin 9547 :contents-end 9610 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9542 :tag nil :mode item :granularity nil :parent #190) (paragraph (:begin 9547 :end 9610 :contents-begin 9547 :contents-end 9610 :post-blank 0 :post-affiliated 9547 :mode nil :granularity nil :parent #196) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 9547 :end 9609 :contents-begin 9579 :contents-end 9607 :post-blank 0 :parent #199) #("Step 4: Install and run GN2 " 0 28 (:parent #202))) #("\n" 0 1 (:parent #199)))))) (headline (:raw-value "Run your own copy of GN2" :begin 9612 :end 10722 :pre-blank 1 :contents-begin 9641 :contents-end 10721 :robust-begin 9643 :robust-end 10719 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9612 :title (#("Run your own copy of GN2" 0 24 (:parent #186))) :mode nil :granularity nil :parent #182) (section (:begin 9641 :end 10722 :contents-begin 9641 :contents-end 10721 :robust-begin 9641 :robust-end 10719 :post-blank 1 :post-affiliated 9641 :mode section :granularity nil :parent #186) (paragraph (:begin 9641 :end 9839 :contents-begin 9641 :contents-end 9838 :post-blank 1 :post-affiliated 9641 :mode planning :granularity nil :parent #189) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #192)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 9793 :end 9836 :contents-begin nil :contents-end nil :post-blank 0 :parent #192)) #(".\n" 0 2 (:parent #192))) (paragraph (:begin 9839 :end 9964 :contents-begin 9839 :contents-end 9963 :post-blank 1 :post-affiliated 9839 :mode nil :granularity nil :parent #189) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #193)) (subscript (:begin 9896 :end 9902 :use-brackets-p nil :contents-begin 9897 :contents-end 9901 :post-blank 1 :parent #193) #("PATH" 0 4 (:parent #197))) #("and\nR" 0 5 (:parent #193)) (subscript (:begin 9907 :end 9912 :use-brackets-p nil :contents-begin 9908 :contents-end 9912 :post-blank 0 :parent #193) #("LIBS" 0 4 (:parent #199))) (subscript (:begin 9912 :end 9918 :use-brackets-p nil :contents-begin 9913 :contents-end 9917 :post-blank 1 :parent #193) #("SITE" 0 4 (:parent #200))) #("are set) from the information given by guix:\n" 0 45 (:parent #193))) (fixed-width (:begin 9964 :end 9995 :value "guix package --search-paths" :post-blank 2 :post-affiliated 9964 :mode nil :granularity nil :parent #189)) (paragraph (:begin 9995 :end 10019 :contents-begin 9995 :contents-end 10018 :post-blank 1 :post-affiliated 9995 :mode nil :granularity nil :parent #189) #("Inside the repository:\n" 0 23 (:parent #195))) (fixed-width (:begin 10019 :end 10059 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 10019 :mode nil :granularity nil :parent #189)) (paragraph (:begin 10059 :end 10303 :contents-begin 10059 :contents-end 10302 :post-blank 1 :post-affiliated 10059 :mode nil :granularity nil :parent #189) #("Will fire up your local repo " 0 29 (:parent #197)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 10088 :end 10111 :contents-begin nil :contents-end nil :post-blank 1 :parent #197)) #("using the\nsettings in ./etc/default" 0 35 (:parent #197)) (subscript (:begin 10146 :end 10158 :use-brackets-p nil :contents-begin 10147 :contents-end 10158 :post-blank 0 :parent #197) #("settings.py" 0 11 (:parent #203))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #197)) (subscript (:begin 10263 :end 10276 :use-brackets-p nil :contents-begin 10264 :contents-end 10275 :post-blank 1 :parent #197) #("settings.py" 0 11 (:parent #205))) #("and pass it into GN2 with\n" 0 26 (:parent #197))) (fixed-width (:begin 10303 :end 10346 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 10303 :mode nil :granularity nil :parent #189)) (paragraph (:begin 10346 :end 10492 :contents-begin 10346 :contents-end 10491 :post-blank 1 :post-affiliated 10346 :mode nil :granularity nil :parent #189) #("and everything " 0 15 (:parent #199)) (bold (:begin 10361 :end 10370 :post-blank 1 :contents-begin 10362 :contents-end 10368 :parent #199) #("should" 0 6 (:parent #203))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #199))) (paragraph (:begin 10492 :end 10620 :contents-begin 10492 :contents-end 10619 :post-blank 1 :post-affiliated 10492 :mode nil :granularity nil :parent #189) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #200))) (fixed-width (:begin 10620 :end 10721 :value "cat ~/.guix-profile/lib/python2.7/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 10620 :mode nil :granularity nil :parent #189)))) (headline (:raw-value "Set up nginx port forwarding" :begin 10722 :end 12840 :pre-blank 1 :contents-begin 10755 :contents-end 12839 :robust-begin 10757 :robust-end 12837 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 10722 :title (#("Set up nginx port forwarding" 0 28 (:parent #187))) :mode nil :granularity nil :parent #182) (section (:begin 10755 :end 12840 :contents-begin 10755 :contents-end 12839 :robust-begin 10755 :robust-end 12837 :post-blank 1 :post-affiliated 10755 :mode section :granularity nil :parent #187) (paragraph (:begin 10755 :end 10923 :contents-begin 10755 :contents-end 10922 :post-blank 1 :post-affiliated 10755 :mode planning :granularity nil :parent #190) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #193))) (paragraph (:begin 10923 :end 11063 :contents-begin 10923 :contents-end 11062 :post-blank 1 :post-affiliated 10923 :mode nil :granularity nil :parent #190) #("#+begin" 0 7 (:parent #194)) (subscript (:begin 10930 :end 10935 :use-brackets-p nil :contents-begin 10931 :contents-end 10934 :post-blank 1 :parent #194) #("src" 0 3 (:parent #198))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #194)) (subscript (:begin 10984 :end 10990 :use-brackets-p nil :contents-begin 10985 :contents-end 10989 :post-blank 1 :parent #194) #("name" 0 4 (:parent #200))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #194)) (subscript (:begin 11030 :end 11036 :use-brackets-p nil :contents-begin 11031 :contents-end 11034 :post-blank 2 :parent #194) #("log" 0 3 (:parent #202))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #194))) (paragraph (:begin 11063 :end 11232 :contents-begin 11063 :contents-end 11231 :post-blank 1 :post-affiliated 11063 :mode nil :granularity nil :parent #190) #(" proxy" 0 13 (:parent #195)) (subscript (:begin 11076 :end 11084 :use-brackets-p nil :contents-begin 11077 :contents-end 11084 :post-blank 0 :parent #195) #("connect" 0 7 (:parent #199))) (subscript (:begin 11084 :end 11099 :use-brackets-p nil :contents-begin 11085 :contents-end 11092 :post-blank 7 :parent #195) #("timeout" 0 7 (:parent #200))) #("3000;\n proxy" 0 19 (:parent #195)) (subscript (:begin 11118 :end 11123 :use-brackets-p nil :contents-begin 11119 :contents-end 11123 :post-blank 0 :parent #195) #("send" 0 4 (:parent #202))) (subscript (:begin 11123 :end 11141 :use-brackets-p nil :contents-begin 11124 :contents-end 11131 :post-blank 10 :parent #195) #("timeout" 0 7 (:parent #203))) #("3000;\n proxy" 0 19 (:parent #195)) (subscript (:begin 11160 :end 11165 :use-brackets-p nil :contents-begin 11161 :contents-end 11165 :post-blank 0 :parent #195) #("read" 0 4 (:parent #205))) (subscript (:begin 11165 :end 11183 :use-brackets-p nil :contents-begin 11166 :contents-end 11173 :post-blank 10 :parent #195) #("timeout" 0 7 (:parent #206))) #("3000;\n send" 0 18 (:parent #195)) (subscript (:begin 11201 :end 11225 :use-brackets-p nil :contents-begin 11202 :contents-end 11209 :post-blank 16 :parent #195) #("timeout" 0 7 (:parent #208))) #("3000;\n" 0 6 (:parent #195))) (paragraph (:begin 11232 :end 11632 :contents-begin 11232 :contents-end 11631 :post-blank 1 :post-affiliated 11232 :mode nil :granularity nil :parent #190) #(" location / {\n proxy" 0 38 (:parent #196)) (subscript (:begin 11270 :end 11274 :use-brackets-p nil :contents-begin 11271 :contents-end 11274 :post-blank 0 :parent #196) #("set" 0 3 (:parent #200))) (subscript (:begin 11274 :end 11284 :use-brackets-p nil :contents-begin 11275 :contents-end 11281 :post-blank 3 :parent #196) #("header" 0 6 (:parent #201))) #("Host $http" 0 15 (:parent #196)) (subscript (:begin 11299 :end 11304 :use-brackets-p nil :contents-begin 11300 :contents-end 11304 :post-blank 0 :parent #196) #("host" 0 4 (:parent #203))) #(";\n proxy" 0 19 (:parent #196)) (subscript (:begin 11323 :end 11327 :use-brackets-p nil :contents-begin 11324 :contents-end 11327 :post-blank 0 :parent #196) #("set" 0 3 (:parent #205))) (subscript (:begin 11327 :end 11337 :use-brackets-p nil :contents-begin 11328 :contents-end 11334 :post-blank 3 :parent #196) #("header" 0 6 (:parent #206))) #("Connection keep-alive;\n proxy" 0 40 (:parent #196)) (subscript (:begin 11377 :end 11381 :use-brackets-p nil :contents-begin 11378 :contents-end 11381 :post-blank 0 :parent #196) #("set" 0 3 (:parent #208))) (subscript (:begin 11381 :end 11391 :use-brackets-p nil :contents-begin 11382 :contents-end 11388 :post-blank 3 :parent #196) #("header" 0 6 (:parent #209))) #("X-Real-IP $remote" 0 17 (:parent #196)) (subscript (:begin 11408 :end 11413 :use-brackets-p nil :contents-begin 11409 :contents-end 11413 :post-blank 0 :parent #196) #("addr" 0 4 (:parent #211))) #(";\n proxy" 0 19 (:parent #196)) (subscript (:begin 11432 :end 11436 :use-brackets-p nil :contents-begin 11433 :contents-end 11436 :post-blank 0 :parent #196) #("set" 0 3 (:parent #213))) (subscript (:begin 11436 :end 11446 :use-brackets-p nil :contents-begin 11437 :contents-end 11443 :post-blank 3 :parent #196) #("header" 0 6 (:parent #214))) #("X-Forwarded-For $proxy" 0 22 (:parent #196)) (subscript (:begin 11468 :end 11472 :use-brackets-p nil :contents-begin 11469 :contents-end 11472 :post-blank 0 :parent #196) #("add" 0 3 (:parent #216))) (subscript (:begin 11472 :end 11474 :use-brackets-p nil :contents-begin 11473 :contents-end 11474 :post-blank 0 :parent #196) #("x" 0 1 (:parent #217))) (subscript (:begin 11474 :end 11484 :use-brackets-p nil :contents-begin 11475 :contents-end 11484 :post-blank 0 :parent #196) #("forwarded" 0 9 (:parent #218))) (subscript (:begin 11484 :end 11488 :use-brackets-p nil :contents-begin 11485 :contents-end 11488 :post-blank 0 :parent #196) #("for" 0 3 (:parent #219))) #(";\n proxy" 0 19 (:parent #196)) (subscript (:begin 11507 :end 11511 :use-brackets-p nil :contents-begin 11508 :contents-end 11511 :post-blank 0 :parent #196) #("set" 0 3 (:parent #221))) (subscript (:begin 11511 :end 11521 :use-brackets-p nil :contents-begin 11512 :contents-end 11518 :post-blank 3 :parent #196) #("header" 0 6 (:parent #222))) #("X-Forwarded-Host $server" 0 24 (:parent #196)) (subscript (:begin 11545 :end 11550 :use-brackets-p nil :contents-begin 11546 :contents-end 11550 :post-blank 0 :parent #196) #("name" 0 4 (:parent #224))) #(";\n proxy" 0 19 (:parent #196)) (subscript (:begin 11569 :end 11583 :use-brackets-p nil :contents-begin 11570 :contents-end 11574 :post-blank 9 :parent #196) #("pass" 0 4 (:parent #226))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 11583 :end 11604 :contents-begin nil :contents-end nil :post-blank 0 :parent #196)) #(";\n }\n}\n#+end" 0 19 (:parent #196)) (subscript (:begin 11623 :end 11628 :use-brackets-p nil :contents-begin 11624 :contents-end 11627 :post-blank 1 :parent #196) #("src" 0 3 (:parent #229))) #("js\n" 0 3 (:parent #196))) (paragraph (:begin 11632 :end 11671 :contents-begin 11632 :contents-end 11670 :post-blank 1 :post-affiliated 11632 :mode nil :granularity nil :parent #190) #("Install the nginx webserver (as root)\n" 0 38 (:parent #197))) (fixed-width (:begin 11671 :end 11696 :value "guix package -i nginx" :post-blank 2 :post-affiliated 11671 :mode nil :granularity nil :parent #190)) (paragraph (:begin 11696 :end 11777 :contents-begin 11696 :contents-end 11776 :post-blank 1 :post-affiliated 11696 :mode nil :granularity nil :parent #190) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #199))) (fixed-width (:begin 11777 :end 11964 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 11777 :mode nil :granularity nil :parent #190)) (paragraph (:begin 11964 :end 11979 :contents-begin 11964 :contents-end 11978 :post-blank 1 :post-affiliated 11964 :mode nil :granularity nil :parent #190) #("Use that path\n" 0 14 (:parent #201))) (fixed-width (:begin 11979 :end 12373 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 11979 :mode nil :granularity nil :parent #190)) (paragraph (:begin 12373 :end 12599 :contents-begin 12373 :contents-end 12599 :post-blank 0 :post-affiliated 12373 :mode nil :granularity nil :parent #190) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #203))) (fixed-width (:begin 12599 :end 12646 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 12599 :mode nil :granularity nil :parent #190)) (paragraph (:begin 12646 :end 12657 :contents-begin 12646 :contents-end 12656 :post-blank 1 :post-affiliated 12646 :mode nil :granularity nil :parent #190) #("Make dirs\n" 0 10 (:parent #205))) (fixed-width (:begin 12657 :end 12691 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 12657 :mode nil :granularity nil :parent #190)) (paragraph (:begin 12691 :end 12702 :contents-begin 12691 :contents-end 12701 :post-blank 1 :post-affiliated 12691 :mode nil :granularity nil :parent #190) #("Add users\n" 0 10 (:parent #207))) (fixed-width (:begin 12702 :end 12738 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 12702 :mode nil :granularity nil :parent #190)) (paragraph (:begin 12738 :end 12749 :contents-begin 12738 :contents-end 12748 :post-blank 1 :post-affiliated 12738 :mode nil :granularity nil :parent #190) #("Run nginx\n" 0 10 (:parent #209))) (fixed-width (:begin 12749 :end 12839 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 12749 :mode nil :granularity nil :parent #190))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 12840 :end 13801 :pre-blank 1 :contents-begin 12902 :contents-end 13801 :robust-begin 12904 :robust-end 13799 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12840 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #183))) :mode nil :granularity nil :parent #173) (section (:begin 12902 :end 12959 :contents-begin 12902 :contents-end 12958 :robust-begin 12902 :robust-end 12956 :post-blank 1 :post-affiliated 12902 :mode section :granularity nil :parent #183) (paragraph (:begin 12902 :end 12958 :contents-begin 12902 :contents-end 12958 :post-blank 0 :post-affiliated 12902 :mode planning :granularity nil :parent #186) #("See the document " 0 17 (:parent #189)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 12919 :end 12956 :contents-begin nil :contents-end nil :post-blank 0 :parent #189)) #(".\n" 0 2 (:parent #189)))) (headline (:raw-value "Update to recent guix" :begin 12959 :end 13409 :pre-blank 1 :contents-begin 12985 :contents-end 13408 :robust-begin 12987 :robust-end 13406 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12959 :title (#("Update to recent guix" 0 21 (:parent #187))) :mode nil :granularity nil :parent #183) (section (:begin 12985 :end 13409 :contents-begin 12985 :contents-end 13408 :robust-begin 12985 :robust-end 13406 :post-blank 1 :post-affiliated 12985 :mode section :granularity nil :parent #187) (paragraph (:begin 12985 :end 13020 :contents-begin 12985 :contents-end 13019 :post-blank 1 :post-affiliated 12985 :mode planning :granularity nil :parent #190) #("We now compile Guix from scratch.\n" 0 34 (:parent #193))) (paragraph (:begin 13020 :end 13295 :contents-begin 13020 :contents-end 13294 :post-blank 1 :post-affiliated 13020 :mode nil :granularity nil :parent #190) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #194)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 13159 :end 13272 :contents-begin 13264 :contents-end 13269 :post-blank 1 :parent #194) #("these" 0 5 (:parent #198))) #("steps carefully after\n" 0 22 (:parent #194))) (fixed-width (:begin 13295 :end 13330 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 13295 :mode nil :granularity nil :parent #190)) (paragraph (:begin 13330 :end 13408 :contents-begin 13330 :contents-end 13408 :post-blank 0 :post-affiliated 13330 :mode nil :granularity nil :parent #190) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #196))))) (headline (:raw-value "Install GN2" :begin 13409 :end 13801 :pre-blank 1 :contents-begin 13425 :contents-end 13801 :robust-begin 13427 :robust-end 13799 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 13409 :title (#("Install GN2" 0 11 (:parent #188))) :mode nil :granularity nil :parent #183) (section (:begin 13425 :end 13801 :contents-begin 13425 :contents-end 13801 :robust-begin 13425 :robust-end 13799 :post-blank 0 :post-affiliated 13425 :mode section :granularity nil :parent #188) (paragraph (:begin 13425 :end 13468 :contents-begin 13425 :contents-end 13467 :post-blank 1 :post-affiliated 13425 :mode planning :granularity nil :parent #191) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #194))) (paragraph (:begin 13468 :end 13676 :contents-begin 13468 :contents-end 13675 :post-blank 1 :post-affiliated 13468 :mode nil :granularity nil :parent #191) #("#+begin" 0 7 (:parent #195)) (subscript (:begin 13475 :end 13480 :use-brackets-p nil :contents-begin 13476 :contents-end 13479 :post-blank 1 :parent #195) #("src" 0 3 (:parent #199))) #("bash\nenv GUIX" 0 13 (:parent #195)) (subscript (:begin 13493 :end 13501 :use-brackets-p nil :contents-begin 13494 :contents-end 13501 :post-blank 0 :parent #195) #("PACKAGE" 0 7 (:parent #201))) (subscript (:begin 13501 :end 13506 :use-brackets-p nil :contents-begin 13502 :contents-end 13506 :post-blank 0 :parent #195) #("PATH" 0 4 (:parent #202))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #195)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 13605 :end 13633 :contents-begin nil :contents-end nil :post-blank 1 :parent #195)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 13633 :end 13658 :contents-begin nil :contents-end nil :post-blank 0 :parent #195)) #("\"\n#+end" 0 7 (:parent #195)) (subscript (:begin 13665 :end 13670 :use-brackets-p nil :contents-begin 13666 :contents-end 13669 :post-blank 1 :parent #195) #("src" 0 3 (:parent #207))) #("bash\n" 0 5 (:parent #195))) (paragraph (:begin 13676 :end 13714 :contents-begin 13676 :contents-end 13713 :post-blank 1 :post-affiliated 13676 :mode nil :granularity nil :parent #191) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #196))) (paragraph (:begin 13714 :end 13801 :contents-begin 13714 :contents-end 13801 :post-blank 0 :post-affiliated 13714 :mode nil :granularity nil :parent #191) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #197)))))))) #103)) #79)) #47 (item (:bullet "- " :begin 156 :end 521 :contents-begin 159 :contents-end 521 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 156 :tag nil :mode item :granularity nil :parent #79) (paragraph (:begin 159 :end 217 :contents-begin 159 :contents-end 217 :post-blank 0 :post-affiliated 159 :mode nil :granularity nil :parent #83) (link (:type "custom-id" :path "quick-installation-recipe" :format bracket :raw-link "#quick-installation-recipe" :application nil :search-option nil :begin 159 :end 216 :contents-begin 189 :contents-end 214 :post-blank 0 :parent #86) #("Quick installation recipe" 0 25 (:parent #89))) #("\n" 0 1 (:parent #86))) (plain-list (:type unordered :begin 217 :end 521 :contents-begin 217 :contents-end 521 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 217 :mode nil :granularity nil :parent #83) (item (:bullet "- " :begin 217 :end 277 :contents-begin 222 :contents-end 277 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 217 :tag nil :mode item :granularity nil :parent #87) (paragraph (:begin 222 :end 277 :contents-begin 222 :contents-end 277 :post-blank 0 :post-affiliated 222 :mode nil :granularity nil :parent #90) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 222 :end 276 :contents-begin 250 :contents-end 274 :post-blank 0 :parent #93) #("Step 1: Install GNU Guix" 0 24 (:parent #96))) #("\n" 0 1 (:parent #93)))) (item (:bullet "- " :begin 277 :end 371 :contents-begin 282 :contents-end 371 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 277 :tag nil :mode item :granularity nil :parent #87) (paragraph (:begin 282 :end 371 :contents-begin 282 :contents-end 371 :post-blank 0 :post-affiliated 282 :mode nil :granularity nil :parent #91) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 282 :end 370 :contents-begin 327 :contents-end 368 :post-blank 0 :parent #94) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #97))) #("\n" 0 1 (:parent #94)))) (item (:bullet "- " :begin 371 :end 455 :contents-begin 376 :contents-end 455 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 371 :tag nil :mode item :granularity nil :parent #87) (paragraph (:begin 376 :end 455 :contents-begin 376 :contents-end 455 :post-blank 0 :post-affiliated 376 :mode nil :granularity nil :parent #92) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 376 :end 454 :contents-begin 416 :contents-end 452 :post-blank 0 :parent #95) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #98))) #("\n" 0 1 (:parent #95)))) (item (:bullet "- " :begin 455 :end 521 :contents-begin 460 :contents-end 521 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 455 :tag nil :mode item :granularity nil :parent #87) (paragraph (:begin 460 :end 521 :contents-begin 460 :contents-end 521 :post-blank 0 :post-affiliated 460 :mode nil :granularity nil :parent #93) (link (:type "custom-id" :path "step-4-install-and-run-gn2" :format bracket :raw-link "#step-4-install-and-run-gn2" :application nil :search-option nil :begin 460 :end 520 :contents-begin 491 :contents-end 518 :post-blank 0 :parent #96) #("Step 4: Install and run GN2" 0 27 (:parent #99))) #("\n" 0 1 (:parent #96)))))) (item (:bullet "- " :begin 521 :end 564 :contents-begin 524 :contents-end 564 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 521 :tag nil :mode item :granularity nil :parent #79) (paragraph (:begin 524 :end 564 :contents-begin 524 :contents-end 564 :post-blank 0 :post-affiliated 524 :mode nil :granularity nil :parent #84) (link (:type "custom-id" :path "run-mysql-server" :format bracket :raw-link "#run-mysql-server" :application nil :search-option nil :begin 524 :end 563 :contents-begin 545 :contents-end 561 :post-blank 0 :parent #87) #("Run MySQL server" 0 16 (:parent #90))) #("\n" 0 1 (:parent #87)))) (item (:bullet "- " :begin 564 :end 615 :contents-begin 567 :contents-end 615 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 564 :tag nil :mode item :granularity nil :parent #79) (paragraph (:begin 567 :end 615 :contents-begin 567 :contents-end 615 :post-blank 0 :post-affiliated 567 :mode nil :granularity nil :parent #85) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 567 :end 614 :contents-begin 592 :contents-end 612 :post-blank 0 :parent #88) #("GN2 Dependency Graph" 0 20 (:parent #91))) #("\n" 0 1 (:parent #88)))) (item (:bullet "- " :begin 615 :end 790 :contents-begin 618 :contents-end 790 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 615 :tag nil :mode item :granularity nil :parent #79) (paragraph (:begin 618 :end 660 :contents-begin 618 :contents-end 660 :post-blank 0 :post-affiliated 618 :mode nil :granularity nil :parent #86) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 618 :end 659 :contents-begin 640 :contents-end 657 :post-blank 0 :parent #89) #("Source deployment" 0 17 (:parent #92))) #("\n" 0 1 (:parent #89))) (plain-list (:type unordered :begin 660 :end 790 :contents-begin 660 :contents-end 790 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 660 :mode nil :granularity nil :parent #86) (item (:bullet "- " :begin 660 :end 721 :contents-begin 665 :contents-end 721 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 660 :tag nil :mode item :granularity nil :parent #90) (paragraph (:begin 665 :end 721 :contents-begin 665 :contents-end 721 :post-blank 0 :post-affiliated 665 :mode nil :granularity nil :parent #93) (link (:type "custom-id" :path "run-your-own-copy-of-gn2" :format bracket :raw-link "#run-your-own-copy-of-gn2" :application nil :search-option nil :begin 665 :end 720 :contents-begin 694 :contents-end 718 :post-blank 0 :parent #96) #("Run your own copy of GN2" 0 24 (:parent #99))) #("\n" 0 1 (:parent #96)))) (item (:bullet "- " :begin 721 :end 790 :contents-begin 726 :contents-end 790 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 721 :tag nil :mode item :granularity nil :parent #90) (paragraph (:begin 726 :end 790 :contents-begin 726 :contents-end 790 :post-blank 0 :post-affiliated 726 :mode nil :granularity nil :parent #94) (link (:type "custom-id" :path "set-up-nginx-port-forwarding" :format bracket :raw-link "#set-up-nginx-port-forwarding" :application nil :search-option nil :begin 726 :end 789 :contents-begin 759 :contents-end 787 :post-blank 0 :parent #97) #("Set up nginx port forwarding" 0 28 (:parent #100))) #("\n" 0 1 (:parent #97)))))) (item (:bullet "- " :begin 790 :end 1034 :contents-begin 793 :contents-end 1034 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 790 :tag nil :mode item :granularity nil :parent #79) (paragraph (:begin 793 :end 917 :contents-begin 793 :contents-end 917 :post-blank 0 :post-affiliated 793 :mode nil :granularity nil :parent #87) (link (:type "custom-id" :path "source-deployment-and-other-information-on-reproducibility" :format bracket :raw-link "#source-deployment-and-other-information-on-reproducibility" :application nil :search-option nil :begin 793 :end 916 :contents-begin 856 :contents-end 914 :post-blank 0 :parent #90) #("Source deployment and other information on reproducibility" 0 58 (:parent #93))) #("\n" 0 1 (:parent #90))) (plain-list (:type unordered :begin 917 :end 1034 :contents-begin 917 :contents-end 1034 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 917 :mode nil :granularity nil :parent #87) (item (:bullet "- " :begin 917 :end 972 :contents-begin 922 :contents-end 972 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 917 :tag nil :mode item :granularity nil :parent #91) (paragraph (:begin 922 :end 972 :contents-begin 922 :contents-end 972 :post-blank 0 :post-affiliated 922 :mode nil :granularity nil :parent #94) (link (:type "custom-id" :path "update-to-recent-guix" :format bracket :raw-link "#update-to-recent-guix" :application nil :search-option nil :begin 922 :end 971 :contents-begin 948 :contents-end 969 :post-blank 0 :parent #97) #("Update to recent guix" 0 21 (:parent #100))) #("\n" 0 1 (:parent #97)))) (item (:bullet "- " :begin 972 :end 1007 :contents-begin 977 :contents-end 1007 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 972 :tag nil :mode item :granularity nil :parent #91) (paragraph (:begin 977 :end 1007 :contents-begin 977 :contents-end 1007 :post-blank 0 :post-affiliated 977 :mode nil :granularity nil :parent #95) (link (:type "custom-id" :path "install-gn2" :format bracket :raw-link "#install-gn2" :application nil :search-option nil :begin 977 :end 1006 :contents-begin 993 :contents-end 1004 :post-blank 0 :parent #98) #("Install GN2" 0 11 (:parent #101))) #("\n" 0 1 (:parent #98)))) (item (:bullet "- " :begin 1007 :end 1034 :contents-begin 1012 :contents-end 1034 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1007 :tag nil :mode item :granularity nil :parent #91) (paragraph (:begin 1012 :end 1034 :contents-begin 1012 :contents-end 1034 :post-blank 0 :post-affiliated 1012 :mode nil :granularity nil :parent #96) (link (:type "custom-id" :path "run-gn2" :format bracket :raw-link "#run-gn2" :application nil :search-option nil :begin 1012 :end 1033 :contents-begin 1024 :contents-end 1031 :post-blank 0 :parent #99) #("Run GN2" 0 7 (:parent #102))) #("\n" 0 1 (:parent #99)))))) (item (:bullet "- " :begin 1034 :end 1370 :contents-begin 1037 :contents-end 1370 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1034 :tag nil :mode item :granularity nil :parent #79) (paragraph (:begin 1037 :end 1077 :contents-begin 1037 :contents-end 1077 :post-blank 0 :post-affiliated 1037 :mode nil :granularity nil :parent #88) (link (:type "custom-id" :path "trouble-shooting" :format bracket :raw-link "#trouble-shooting" :application nil :search-option nil :begin 1037 :end 1076 :contents-begin 1058 :contents-end 1074 :post-blank 0 :parent #91) #("Trouble shooting" 0 16 (:parent #94))) #("\n" 0 1 (:parent #91))) (plain-list (:type unordered :begin 1077 :end 1370 :contents-begin 1077 :contents-end 1370 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 1077 :mode nil :granularity nil :parent #88) (item (:bullet "- " :begin 1077 :end 1159 :contents-begin 1082 :contents-end 1159 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1077 :tag nil :mode item :granularity nil :parent #92) (paragraph (:begin 1082 :end 1159 :contents-begin 1082 :contents-end 1159 :post-blank 0 :post-affiliated 1082 :mode nil :granularity nil :parent #95) (link (:type "custom-id" :path "importerror-no-module-named-jinja2" :format bracket :raw-link "#importerror-no-module-named-jinja2" :application nil :search-option nil :begin 1082 :end 1158 :contents-begin 1121 :contents-end 1156 :post-blank 0 :parent #98) #("ImportError: No module named jinja2" 0 35 (:parent #101))) #("\n" 0 1 (:parent #98)))) (item (:bullet "- " :begin 1159 :end 1257 :contents-begin 1164 :contents-end 1257 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1159 :tag nil :mode item :granularity nil :parent #92) (paragraph (:begin 1164 :end 1257 :contents-begin 1164 :contents-end 1257 :post-blank 0 :post-affiliated 1164 :mode nil :granularity nil :parent #96) (link (:type "custom-id" :path "error-can-not-find-directory-homegn2_data" :format bracket :raw-link "#error-can-not-find-directory-homegn2_data" :application nil :search-option nil :begin 1164 :end 1256 :contents-begin 1210 :contents-end 1254 :post-blank 0 :parent #99) #("ERROR: can not find directory $HOME/gn2" 0 39 (:parent #102)) (subscript (:begin 1249 :end 1254 :use-brackets-p nil :contents-begin 1250 :contents-end 1254 :post-blank 0 :parent #102) #("data" 0 4 (:parent #106)))) #("\n" 0 1 (:parent #99)))) (item (:bullet "- " :begin 1257 :end 1305 :contents-begin 1262 :contents-end 1305 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1257 :tag nil :mode item :granularity nil :parent #92) (paragraph (:begin 1262 :end 1305 :contents-begin 1262 :contents-end 1305 :post-blank 0 :post-affiliated 1262 :mode nil :granularity nil :parent #97) (link (:type "custom-id" :path "cant-run-a-module" :format bracket :raw-link "#cant-run-a-module" :application nil :search-option nil :begin 1262 :end 1304 :contents-begin 1284 :contents-end 1302 :post-blank 0 :parent #100) #("Can't run a module" 0 18 (:parent #103))) #("\n" 0 1 (:parent #100)))) (item (:bullet "- " :begin 1305 :end 1370 :contents-begin 1310 :contents-end 1370 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1305 :tag nil :mode item :granularity nil :parent #92) (paragraph (:begin 1310 :end 1370 :contents-begin 1310 :contents-end 1370 :post-blank 0 :post-affiliated 1310 :mode nil :granularity nil :parent #98) (link (:type "custom-id" :path "rpy2-error-show-now-found" :format bracket :raw-link "#rpy2-error-show-now-found" :application nil :search-option nil :begin 1310 :end 1369 :contents-begin 1340 :contents-end 1367 :post-blank 0 :parent #101) #("Rpy2 error 'show' now found" 0 27 (:parent #104))) #("\n" 0 1 (:parent #101)))))) (item (:bullet "- " :begin 1370 :end 1403 :contents-begin 1373 :contents-end 1403 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1370 :tag nil :mode item :granularity nil :parent #79) (paragraph (:begin 1373 :end 1403 :contents-begin 1373 :contents-end 1403 :post-blank 0 :post-affiliated 1373 :mode nil :granularity nil :parent #89) (link (:type "custom-id" :path "irc-session" :format bracket :raw-link "#irc-session" :application nil :search-option nil :begin 1373 :end 1402 :contents-begin 1389 :contents-end 1400 :post-blank 0 :parent #92) #("IRC session" 0 11 (:parent #95))) #("\n" 0 1 (:parent #92)))))) #27)) . #0)) #("Introduction" 0 12 (:parent #1))) #("\n" 0 1 (:parent (paragraph (:begin 124 :end 156 :contents-begin 124 :contents-end 156 :post-blank 0 :post-affiliated 124 :mode nil :granularity nil :parent (item (:bullet "- " :begin 121 :end 156 :contents-begin 124 :contents-end 156 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 121 :tag nil :mode item :granularity nil :parent (plain-list (:type unordered :begin 121 :end 1403 :contents-begin 121 :contents-end 1403 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 121 :mode planning :granularity nil :parent (section (:begin 121 :end 1404 :contents-begin 121 :contents-end 1403 :robust-begin 121 :robust-end 1401 :post-blank 1 :post-affiliated 121 :mode section :granularity nil :parent (headline (:raw-value "Table of Contents" :begin 43 :end 1404 :pre-blank 0 :contents-begin 121 :contents-end 1403 :robust-begin 123 :robust-end 1401 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 43 :title (#("Table of Contents" 0 17 (:parent #105))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13801 :end 13801 :robust-begin 3 :robust-end 13799 :post-blank 0 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 43 :contents-begin 1 :contents-end 42 :robust-begin 1 :robust-end 40 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #151) (keyword (:key "TITLE" :value "Installing GeneNetwork services" :begin 1 :end 42 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #154))) #105 (headline (:raw-value "Introduction" :begin 1404 :end 2450 :pre-blank 1 :contents-begin 1420 :contents-end 2449 :robust-begin 1422 :robust-end 2447 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1404 :title (#("Introduction" 0 12 (:parent #156))) :mode nil :granularity nil :parent #151) (section (:begin 1420 :end 2450 :contents-begin 1420 :contents-end 2449 :robust-begin 1420 :robust-end 2447 :post-blank 1 :post-affiliated 1420 :mode section :granularity nil :parent #156) (paragraph (:begin 1420 :end 1557 :contents-begin 1420 :contents-end 1556 :post-blank 1 :post-affiliated 1420 :mode planning :granularity nil :parent #159) #("If you want to understand the architecture of GN2 read\n" 0 55 (:parent #162)) (link (:type "fuzzy" :path "Architecture.org" :format bracket :raw-link "Architecture.org" :application nil :search-option nil :begin 1475 :end 1495 :contents-begin nil :contents-end nil :post-blank 0 :parent #162)) #(". The rest of this document is mostly on deployment\nof GN2.\n" 0 61 (:parent #162))) (paragraph (:begin 1557 :end 1943 :contents-begin 1557 :contents-end 1942 :post-blank 1 :post-affiliated 1557 :mode nil :granularity nil :parent #159) #("Large system deployments can get very " 0 38 (:parent #163)) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg " :format bracket :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg " :application nil :search-option nil :begin 1595 :end 1656 :contents-begin 1647 :contents-end 1654 :post-blank 0 :parent #163) #("complex" 0 7 (:parent #167))) #(". In this document we\nexplain the GeneNetwork version 2 (GN2) reproducible deployment system\nwhich is based on GNU Guix (see also " 0 130 (:parent #163)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1786 :end 1860 :contents-begin 1848 :contents-end 1858 :post-blank 0 :parent #163) #("Guix-notes" 0 10 (:parent #169))) #("). The Guix\nsystem can be used to install GN with all its files and dependencies.\n" 0 82 (:parent #163))) (paragraph (:begin 1943 :end 2328 :contents-begin 1943 :contents-end 2327 :post-blank 1 :post-affiliated 1943 :mode nil :granularity nil :parent #159) #("The official installation path is from a checked out version of the\nmain Guix package tree and that of the Genenetwork package\ntree. Current supported versions can be found as the SHA values of\n'gn-latest' branches of " 0 218 (:parent #164)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :application nil :search-option nil :begin 2161 :end 2252 :contents-begin 2230 :contents-end 2249 :post-blank 1 :parent #164) #("Guix bioinformatics" 0 19 (:parent #168))) #("and " 0 4 (:parent #164)) (link (:type "https" :path "//github.com/genenetwork/guix/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix/tree/gn-latest" :application nil :search-option nil :begin 2256 :end 2325 :contents-begin 2310 :contents-end 2323 :post-blank 0 :parent #164) #("GNU Guix main" 0 13 (:parent #170))) #(".\n" 0 2 (:parent #164))) (paragraph (:begin 2328 :end 2449 :contents-begin 2328 :contents-end 2449 :post-blank 0 :post-affiliated 2328 :mode nil :granularity nil :parent #159) #("For a full view of runtime dependencies as defined by GNU Guix, see\nthe " 0 72 (:parent #165)) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 2400 :end 2447 :contents-begin 2425 :contents-end 2445 :post-blank 0 :parent #165) #("GN2 Dependency Graph" 0 20 (:parent #169))) #(".\n" 0 2 (:parent #165))))) (headline (:raw-value "Quick installation recipe" :begin 2450 :end 7633 :pre-blank 1 :contents-begin 2479 :contents-end 7632 :robust-begin 2481 :robust-end 7630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 2450 :title (#("Quick installation recipe" 0 25 (:parent #157))) :mode nil :granularity nil :parent #151) (section (:begin 2479 :end 3022 :contents-begin 2479 :contents-end 3021 :robust-begin 2479 :robust-end 3019 :post-blank 1 :post-affiliated 2479 :mode section :granularity nil :parent #157) (paragraph (:begin 2479 :end 2880 :contents-begin 2479 :contents-end 2879 :post-blank 1 :post-affiliated 2479 :mode planning :granularity nil :parent #160) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS). For more elaborate installation\ninstructions see " 0 357 (:parent #163)) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 2836 :end 2877 :contents-begin 2858 :contents-end 2875 :post-blank 0 :parent #163) #("Source deployment" 0 17 (:parent #167))) #(".\n" 0 2 (:parent #163))) (paragraph (:begin 2880 :end 3021 :contents-begin 2880 :contents-end 3021 :post-blank 0 :post-affiliated 2880 :mode nil :granularity nil :parent #160) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #164)))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 3022 :end 4649 :pre-blank 1 :contents-begin 3051 :contents-end 4648 :robust-begin 3053 :robust-end 4646 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3022 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #161))) :mode nil :granularity nil :parent #157) (section (:begin 3051 :end 4649 :contents-begin 3051 :contents-end 4648 :robust-begin 3051 :robust-end 4646 :post-blank 1 :post-affiliated 3051 :mode section :granularity nil :parent #161) (paragraph (:begin 3051 :end 3504 :contents-begin 3051 :contents-end 3503 :post-blank 1 :post-affiliated 3051 :mode planning :granularity nil :parent #164) #("Fetch the GNU Guix binary from " 0 31 (:parent #167)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 3082 :end 3136 :contents-begin 3129 :contents-end 3133 :post-blank 1 :parent #167) #("here" 0 4 (:parent #171))) #("(middle panel) and follow\n" 0 26 (:parent #167)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 3162 :end 3255 :contents-begin 3241 :contents-end 3253 :post-blank 0 :parent #167) #("instructions" 0 12 (:parent #173))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #167))) (paragraph (:begin 3504 :end 3782 :contents-begin 3504 :contents-end 3781 :post-blank 1 :post-affiliated 3504 :mode nil :granularity nil :parent #164) #("Once you have succeeded, you have to " 0 37 (:parent #168)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 3541 :end 3631 :contents-begin 3617 :contents-end 3628 :post-blank 1 :parent #168) #("set the key" 0 11 (:parent #172))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #168))) (src-block (:language "bash" :switches nil :parameters nil :begin 3782 :end 3890 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 3782 :mode nil :granularity nil :parent #164)) (paragraph (:begin 3890 :end 3924 :contents-begin 3890 :contents-end 3923 :post-blank 1 :post-affiliated 3890 :mode nil :granularity nil :parent #164) #("Which should show something like\n" 0 33 (:parent #170))) (fixed-width (:begin 3924 :end 4034 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 3924 :mode nil :granularity nil :parent #164)) (paragraph (:begin 4034 :end 4045 :contents-begin 4034 :contents-end 4044 :post-blank 1 :post-affiliated 4034 :mode nil :granularity nil :parent #164) #("#+end" 0 5 (:parent #172)) (subscript (:begin 4039 :end 4043 :use-brackets-p nil :contents-begin 4040 :contents-end 4043 :post-blank 0 :parent #172) #("src" 0 3 (:parent #176))) #("\n" 0 1 (:parent #172))) (paragraph (:begin 4045 :end 4116 :contents-begin 4045 :contents-end 4115 :post-blank 1 :post-affiliated 4045 :mode nil :granularity nil :parent #164) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #173))) (src-block (:language "bash" :switches nil :parameters nil :begin 4116 :end 4188 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 4116 :mode nil :granularity nil :parent #164)) (paragraph (:begin 4188 :end 4375 :contents-begin 4188 :contents-end 4374 :post-blank 1 :post-affiliated 4188 :mode nil :granularity nil :parent #164) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #175))) (paragraph (:begin 4375 :end 4648 :contents-begin 4375 :contents-end 4648 :post-blank 0 :post-affiliated 4375 :mode nil :granularity nil :parent #164) #("If you need more help we have another writeup in " 0 49 (:parent #176)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 4424 :end 4520 :contents-begin 4508 :contents-end 4518 :post-blank 0 :parent #176) #("guix-notes" 0 10 (:parent #180))) #(". To get\nrid of the locale warning see " 0 39 (:parent #176)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 4559 :end 4646 :contents-begin 4634 :contents-end 4644 :post-blank 0 :parent #176) #("set-locale" 0 10 (:parent #182))) #(".\n" 0 2 (:parent #176))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 4649 :end 5304 :pre-blank 1 :contents-begin 4695 :contents-end 5302 :robust-begin 4697 :robust-end 5300 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4649 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #162))) :mode nil :granularity nil :parent #157) (section (:begin 4695 :end 5304 :contents-begin 4695 :contents-end 5302 :robust-begin 4695 :robust-end 5300 :post-blank 2 :post-affiliated 4695 :mode section :granularity nil :parent #162) (paragraph (:begin 4695 :end 4815 :contents-begin 4695 :contents-end 4814 :post-blank 1 :post-affiliated 4695 :mode planning :granularity nil :parent #165) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #168))) (src-block (:language "bash" :switches nil :parameters nil :begin 4815 :end 4920 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 4815 :mode nil :granularity nil :parent #165)) (paragraph (:begin 4920 :end 4971 :contents-begin 4920 :contents-end 4970 :post-blank 1 :post-affiliated 4920 :mode nil :granularity nil :parent #165) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #170))) (paragraph (:begin 4971 :end 5232 :contents-begin 4971 :contents-end 5231 :post-blank 1 :post-affiliated 4971 :mode nil :granularity nil :parent #165) #("#+begin" 0 7 (:parent #171)) (subscript (:begin 4978 :end 4983 :use-brackets-p nil :contents-begin 4979 :contents-end 4982 :post-blank 1 :parent #171) #("src" 0 3 (:parent #175))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #171)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 5055 :end 5105 :contents-begin nil :contents-end nil :post-blank 0 :parent #171)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #171)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 5147 :end 5183 :contents-begin nil :contents-end nil :post-blank 1 :parent #171)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #171)) (subscript (:begin 5221 :end 5226 :use-brackets-p nil :contents-begin 5222 :contents-end 5225 :post-blank 1 :parent #171) #("src" 0 3 (:parent #181))) #("bash\n" 0 5 (:parent #171))) (paragraph (:begin 5232 :end 5270 :contents-begin 5232 :contents-end 5269 :post-blank 1 :post-affiliated 5232 :mode nil :granularity nil :parent #165) #("To test whether this is working try:\n" 0 37 (:parent #172))) (paragraph (:begin 5270 :end 5302 :contents-begin 5270 :contents-end 5302 :post-blank 0 :post-affiliated 5270 :mode nil :granularity nil :parent #165) #("#+begin" 0 7 (:parent #173)) (subscript (:begin 5277 :end 5282 :use-brackets-p nil :contents-begin 5278 :contents-end 5281 :post-blank 1 :parent #173) #("src" 0 3 (:parent #177))) #("bash\n#+end" 0 10 (:parent #173)) (subscript (:begin 5292 :end 5297 :use-brackets-p nil :contents-begin 5293 :contents-end 5296 :post-blank 1 :parent #173) #("src" 0 3 (:parent #179))) #("bash\n" 0 5 (:parent #173))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 5304 :end 5755 :pre-blank 1 :contents-begin 5345 :contents-end 5754 :robust-begin 5347 :robust-end 5752 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5304 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #163))) :mode nil :granularity nil :parent #157) (section (:begin 5345 :end 5755 :contents-begin 5345 :contents-end 5754 :robust-begin 5345 :robust-end 5752 :post-blank 1 :post-affiliated 5345 :mode section :granularity nil :parent #163) (paragraph (:begin 5345 :end 5445 :contents-begin 5345 :contents-end 5444 :post-blank 1 :post-affiliated 5345 :mode planning :granularity nil :parent #166) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #169))) (src-block (:language "scheme" :switches nil :parameters nil :begin 5445 :end 5589 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 5445 :mode nil :granularity nil :parent #166)) (paragraph (:begin 5589 :end 5621 :contents-begin 5589 :contents-end 5620 :post-blank 1 :post-affiliated 5589 :mode nil :granularity nil :parent #166) #("by pasting it into the command\n" 0 31 (:parent #171))) (src-block (:language "bash" :switches nil :parameters nil :begin 5621 :end 5674 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 5621 :mode nil :granularity nil :parent #166)) (paragraph (:begin 5674 :end 5691 :contents-begin 5674 :contents-end 5690 :post-blank 1 :post-affiliated 5674 :mode nil :granularity nil :parent #166) #("and hit Ctrl-D.\n" 0 16 (:parent #173))) (paragraph (:begin 5691 :end 5754 :contents-begin 5691 :contents-end 5754 :post-blank 0 :post-affiliated 5691 :mode nil :granularity nil :parent #166) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #174))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 5755 :end 7633 :pre-blank 1 :contents-begin 5787 :contents-end 7632 :robust-begin 5789 :robust-end 7630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5755 :title (#("Step 4: Install and run GN2" 0 27 (:parent #164))) :mode nil :granularity nil :parent #157) (section (:begin 5787 :end 7633 :contents-begin 5787 :contents-end 7632 :robust-begin 5787 :robust-end 7630 :post-blank 1 :post-affiliated 5787 :mode section :granularity nil :parent #164) (paragraph (:begin 5787 :end 5927 :contents-begin 5787 :contents-end 5926 :post-blank 1 :post-affiliated 5787 :mode planning :granularity nil :parent #167) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #170))) (src-block (:language "bash" :switches nil :parameters nil :begin 5927 :end 6046 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 5927 :mode nil :granularity nil :parent #167)) (paragraph (:begin 6046 :end 6099 :contents-begin 6046 :contents-end 6098 :post-blank 1 :post-affiliated 6046 :mode nil :granularity nil :parent #167) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #172))) (src-block (:language "bash" :switches nil :parameters nil :begin 6099 :end 6289 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 6099 :mode nil :granularity nil :parent #167)) (paragraph (:begin 6289 :end 6398 :contents-begin 6289 :contents-end 6397 :post-blank 1 :post-affiliated 6289 :mode nil :granularity nil :parent #167) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #174)) (italic (:begin 6360 :end 6366 :post-blank 0 :contents-begin 6361 :contents-end 6365 :parent #174) #("root" 0 4 (:parent #178))) #(".config/guix/latest override).\n" 0 31 (:parent #174))) (paragraph (:begin 6398 :end 6416 :contents-begin 6398 :contents-end 6415 :post-blank 1 :post-affiliated 6398 :mode nil :granularity nil :parent #167) #("And install with\n" 0 17 (:parent #175))) (src-block (:language "bash" :switches nil :parameters nil :begin 6416 :end 6586 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 6416 :mode nil :granularity nil :parent #167)) (paragraph (:begin 6586 :end 6729 :contents-begin 6586 :contents-end 6728 :post-blank 1 :post-affiliated 6586 :mode nil :granularity nil :parent #167) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #177))) (paragraph (:begin 6729 :end 6925 :contents-begin 6729 :contents-end 6924 :post-blank 1 :post-affiliated 6729 :mode nil :granularity nil :parent #167) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #178))) (paragraph (:begin 6925 :end 7056 :contents-begin 6925 :contents-end 7055 :post-blank 1 :post-affiliated 6925 :mode nil :granularity nil :parent #167) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #179))) (src-block (:language "bash" :switches nil :parameters nil :begin 7056 :end 7235 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python2.7/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 7056 :mode nil :granularity nil :parent #167)) (paragraph (:begin 7235 :end 7304 :contents-begin 7235 :contents-end 7303 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #167) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #181))) (src-block (:language "bash" :switches nil :parameters nil :begin 7304 :end 7345 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 7304 :mode nil :granularity nil :parent #167)) (paragraph (:begin 7345 :end 7596 :contents-begin 7345 :contents-end 7595 :post-blank 1 :post-affiliated 7345 :mode nil :granularity nil :parent #167) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #183)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 7567 :end 7593 :contents-begin nil :contents-end nil :post-blank 0 :parent #183)) #(".\n" 0 2 (:parent #183))) (paragraph (:begin 7596 :end 7632 :contents-begin 7596 :contents-end 7632 :post-blank 0 :post-affiliated 7596 :mode nil :granularity nil :parent #167) #("End of the GN2 installation recipe!\n" 0 36 (:parent #184)))))) (headline (:raw-value "Run MySQL server" :begin 7633 :end 9008 :pre-blank 1 :contents-begin 7653 :contents-end 9007 :robust-begin 7655 :robust-end 9005 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7633 :title (#("Run MySQL server" 0 16 (:parent #158))) :mode nil :granularity nil :parent #151) (section (:begin 7653 :end 9008 :contents-begin 7653 :contents-end 9007 :robust-begin 7653 :robust-end 9005 :post-blank 1 :post-affiliated 7653 :mode section :granularity nil :parent #158) (paragraph (:begin 7653 :end 7928 :contents-begin 7653 :contents-end 7927 :post-blank 1 :post-affiliated 7653 :mode planning :granularity nil :parent #161) #("At this point we require the underlying distribution to install and\nrun mysqld. Currently we have two databases for deployment,\n'db" 0 131 (:parent #164)) (subscript (:begin 7784 :end 7791 :use-brackets-p nil :contents-begin 7785 :contents-end 7791 :post-blank 0 :parent #164) #("webqtl" 0 6 (:parent #168))) (subscript (:begin 7791 :end 7793 :use-brackets-p nil :contents-begin 7792 :contents-end 7793 :post-blank 0 :parent #164) #("s" 0 1 (:parent #169))) #("' is the small testing database containing experiments\nfrom BXD mice and 'db" 0 76 (:parent #164)) (subscript (:begin 7869 :end 7876 :use-brackets-p nil :contents-begin 7870 :contents-end 7876 :post-blank 0 :parent #164) #("webqtl" 0 6 (:parent #171))) (subscript (:begin 7876 :end 7882 :use-brackets-p nil :contents-begin 7877 :contents-end 7882 :post-blank 0 :parent #164) #("plant" 0 5 (:parent #172))) #("' which contains all plant related\nmaterial.\n" 0 45 (:parent #164))) (paragraph (:begin 7928 :end 7956 :contents-begin 7928 :contents-end 7955 :post-blank 1 :post-affiliated 7928 :mode nil :granularity nil :parent #161) #("Download one database from\n" 0 27 (:parent #165))) (paragraph (:begin 7956 :end 8054 :contents-begin 7956 :contents-end 8053 :post-blank 1 :post-affiliated 7956 :mode nil :granularity nil :parent #161) (link (:type "http" :path "//files.genenetwork.org/raw_database/" :format plain :raw-link "http://files.genenetwork.org/raw_database/" :application nil :search-option nil :begin 7956 :end 7998 :contents-begin nil :contents-end nil :post-blank 0 :parent #166)) #("\n" 0 1 (:parent #166)) (link (:type "https" :path "//s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :format plain :raw-link "https://s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :application nil :search-option nil :begin 7999 :end 8052 :contents-begin nil :contents-end nil :post-blank 0 :parent #166)) #("\n" 0 1 (:parent #166))) (paragraph (:begin 8054 :end 8073 :contents-begin 8054 :contents-end 8072 :post-blank 1 :post-affiliated 8054 :mode nil :granularity nil :parent #161) #("Check the md5sum.\n" 0 18 (:parent #167))) (paragraph (:begin 8073 :end 8195 :contents-begin 8073 :contents-end 8194 :post-blank 1 :post-affiliated 8073 :mode nil :granularity nil :parent #161) #("After installation inflate the database binary in the MySQL directory\n(this installation path is subject to change soon)\n" 0 121 (:parent #168))) (fixed-width (:begin 8195 :end 8283 :value "chown -R mysql:mysql db_webqtl_s/\nchmod 700 db_webqtl_s/\nchmod 660 db_webqtl_s/*" :post-blank 2 :post-affiliated 8195 :mode nil :granularity nil :parent #161)) (paragraph (:begin 8283 :end 8334 :contents-begin 8283 :contents-end 8333 :post-blank 1 :post-affiliated 8283 :mode nil :granularity nil :parent #161) #("restart MySQL service (mysqld). Login as root and\n" 0 50 (:parent #170))) (fixed-width (:begin 8334 :end 8560 :value "mysql> show databases;\n+--------------------+\n| Database |\n+--------------------+\n| information_schema |\n| db_webqtl_s |\n| mysql |\n| performance_schema |\n+--------------------+" :post-blank 2 :post-affiliated 8334 :mode nil :granularity nil :parent #161)) (paragraph (:begin 8560 :end 8625 :contents-begin 8560 :contents-end 8624 :post-blank 1 :post-affiliated 8560 :mode nil :granularity nil :parent #161) #("Set permissions and match password in your settings file below:\n" 0 64 (:parent #172))) (fixed-width (:begin 8625 :end 8724 :value "mysql> grant all privileges on db_webqtl_s.* to gn2@\"localhost\" identified by 'mysql_password';" :post-blank 2 :post-affiliated 8625 :mode nil :granularity nil :parent #161)) (paragraph (:begin 8724 :end 8875 :contents-begin 8724 :contents-end 8874 :post-blank 1 :post-affiliated 8724 :mode nil :granularity nil :parent #161) #("Note that if the mysql connection is not working, try connecting to\nthe IP address and check server firewall, hosts.allow and mysql IP\nconfiguration.\n" 0 150 (:parent #174))) (paragraph (:begin 8875 :end 9007 :contents-begin 8875 :contents-end 9007 :post-blank 0 :post-affiliated 8875 :mode nil :granularity nil :parent #161) #("Note for the plant database you can rename it to db" 0 51 (:parent #175)) (subscript (:begin 8926 :end 8933 :use-brackets-p nil :contents-begin 8927 :contents-end 8933 :post-blank 0 :parent #175) #("webqtl" 0 6 (:parent #179))) (subscript (:begin 8933 :end 8935 :use-brackets-p nil :contents-begin 8934 :contents-end 8935 :post-blank 0 :parent #175) #("s" 0 1 (:parent #180))) #(", or\nchange the settings in etc/default" 0 39 (:parent #175)) (subscript (:begin 8974 :end 8987 :use-brackets-p nil :contents-begin 8975 :contents-end 8986 :post-blank 1 :parent #175) #("settings.py" 0 11 (:parent #182))) #("to match your path.\n" 0 20 (:parent #175))))) (headline (:raw-value "GN2 Dependency Graph" :begin 9008 :end 9172 :pre-blank 1 :contents-begin 9032 :contents-end 9171 :robust-begin 9034 :robust-end 9169 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9008 :title (#("GN2 Dependency Graph" 0 20 (:parent #159))) :mode nil :granularity nil :parent #151) (section (:begin 9032 :end 9172 :contents-begin 9032 :contents-end 9171 :robust-begin 9032 :robust-end 9169 :post-blank 1 :post-affiliated 9032 :mode section :granularity nil :parent #159) (paragraph (:begin 9032 :end 9093 :contents-begin 9032 :contents-end 9092 :post-blank 1 :post-affiliated 9032 :mode planning :granularity nil :parent #162) #("Graph of all runtime dependencies as installed by GNU Guix.\n" 0 60 (:parent #165))) (paragraph (:begin 9093 :end 9171 :contents-begin 9123 :contents-end 9171 :post-blank 0 :post-affiliated 9123 :attr_html (":title GN2_graph") :mode nil :granularity nil :parent #162) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg" :format plain :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg" :application nil :search-option nil :begin 9123 :end 9170 :contents-begin nil :contents-end nil :post-blank 0 :parent #166)) #("\n" 0 1 (:parent #166))))) (headline (:raw-value "Source deployment" :begin 9172 :end 12840 :pre-blank 1 :contents-begin 9193 :contents-end 12839 :robust-begin 9195 :robust-end 12837 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9172 :title (#("Source deployment" 0 17 (:parent #160))) :mode nil :granularity nil :parent #151) (section (:begin 9193 :end 9612 :contents-begin 9193 :contents-end 9610 :robust-begin 9193 :robust-end 9608 :post-blank 2 :post-affiliated 9193 :mode section :granularity nil :parent #160) (paragraph (:begin 9193 :end 9274 :contents-begin 9193 :contents-end 9273 :post-blank 1 :post-affiliated 9193 :mode planning :granularity nil :parent #163) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #166))) (paragraph (:begin 9274 :end 9304 :contents-begin 9274 :contents-end 9303 :post-blank 1 :post-affiliated 9274 :mode nil :granularity nil :parent #163) #("First execute above 4 steps:\n" 0 29 (:parent #167))) (plain-list (:type unordered :begin 9304 :end 9610 :contents-begin 9304 :contents-end 9610 :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :post-blank 0 :post-affiliated 9304 :mode nil :granularity nil :parent #163) (item (:bullet "- " :begin 9304 :end 9364 :contents-begin 9309 :contents-end 9364 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9304 :tag nil :mode item :granularity nil :parent #168) (paragraph (:begin 9309 :end 9364 :contents-begin 9309 :contents-end 9364 :post-blank 0 :post-affiliated 9309 :mode nil :granularity nil :parent #171) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 9309 :end 9363 :contents-begin 9337 :contents-end 9361 :post-blank 0 :parent #174) #("Step 1: Install GNU Guix" 0 24 (:parent #177))) #("\n" 0 1 (:parent #174)))) (item (:bullet "- " :begin 9364 :end 9458 :contents-begin 9369 :contents-end 9458 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9364 :tag nil :mode item :granularity nil :parent #168) (paragraph (:begin 9369 :end 9458 :contents-begin 9369 :contents-end 9458 :post-blank 0 :post-affiliated 9369 :mode nil :granularity nil :parent #172) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 9369 :end 9457 :contents-begin 9414 :contents-end 9455 :post-blank 0 :parent #175) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #178))) #("\n" 0 1 (:parent #175)))) (item (:bullet "- " :begin 9458 :end 9542 :contents-begin 9463 :contents-end 9542 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9458 :tag nil :mode item :granularity nil :parent #168) (paragraph (:begin 9463 :end 9542 :contents-begin 9463 :contents-end 9542 :post-blank 0 :post-affiliated 9463 :mode nil :granularity nil :parent #173) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 9463 :end 9541 :contents-begin 9503 :contents-end 9539 :post-blank 0 :parent #176) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #179))) #("\n" 0 1 (:parent #176)))) (item (:bullet "- " :begin 9542 :end 9610 :contents-begin 9547 :contents-end 9610 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9542 :tag nil :mode item :granularity nil :parent #168) (paragraph (:begin 9547 :end 9610 :contents-begin 9547 :contents-end 9610 :post-blank 0 :post-affiliated 9547 :mode nil :granularity nil :parent #174) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 9547 :end 9609 :contents-begin 9579 :contents-end 9607 :post-blank 0 :parent #177) #("Step 4: Install and run GN2 " 0 28 (:parent #180))) #("\n" 0 1 (:parent #177)))))) (headline (:raw-value "Run your own copy of GN2" :begin 9612 :end 10722 :pre-blank 1 :contents-begin 9641 :contents-end 10721 :robust-begin 9643 :robust-end 10719 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9612 :title (#("Run your own copy of GN2" 0 24 (:parent #164))) :mode nil :granularity nil :parent #160) (section (:begin 9641 :end 10722 :contents-begin 9641 :contents-end 10721 :robust-begin 9641 :robust-end 10719 :post-blank 1 :post-affiliated 9641 :mode section :granularity nil :parent #164) (paragraph (:begin 9641 :end 9839 :contents-begin 9641 :contents-end 9838 :post-blank 1 :post-affiliated 9641 :mode planning :granularity nil :parent #167) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #170)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 9793 :end 9836 :contents-begin nil :contents-end nil :post-blank 0 :parent #170)) #(".\n" 0 2 (:parent #170))) (paragraph (:begin 9839 :end 9964 :contents-begin 9839 :contents-end 9963 :post-blank 1 :post-affiliated 9839 :mode nil :granularity nil :parent #167) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #171)) (subscript (:begin 9896 :end 9902 :use-brackets-p nil :contents-begin 9897 :contents-end 9901 :post-blank 1 :parent #171) #("PATH" 0 4 (:parent #175))) #("and\nR" 0 5 (:parent #171)) (subscript (:begin 9907 :end 9912 :use-brackets-p nil :contents-begin 9908 :contents-end 9912 :post-blank 0 :parent #171) #("LIBS" 0 4 (:parent #177))) (subscript (:begin 9912 :end 9918 :use-brackets-p nil :contents-begin 9913 :contents-end 9917 :post-blank 1 :parent #171) #("SITE" 0 4 (:parent #178))) #("are set) from the information given by guix:\n" 0 45 (:parent #171))) (fixed-width (:begin 9964 :end 9995 :value "guix package --search-paths" :post-blank 2 :post-affiliated 9964 :mode nil :granularity nil :parent #167)) (paragraph (:begin 9995 :end 10019 :contents-begin 9995 :contents-end 10018 :post-blank 1 :post-affiliated 9995 :mode nil :granularity nil :parent #167) #("Inside the repository:\n" 0 23 (:parent #173))) (fixed-width (:begin 10019 :end 10059 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 10019 :mode nil :granularity nil :parent #167)) (paragraph (:begin 10059 :end 10303 :contents-begin 10059 :contents-end 10302 :post-blank 1 :post-affiliated 10059 :mode nil :granularity nil :parent #167) #("Will fire up your local repo " 0 29 (:parent #175)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 10088 :end 10111 :contents-begin nil :contents-end nil :post-blank 1 :parent #175)) #("using the\nsettings in ./etc/default" 0 35 (:parent #175)) (subscript (:begin 10146 :end 10158 :use-brackets-p nil :contents-begin 10147 :contents-end 10158 :post-blank 0 :parent #175) #("settings.py" 0 11 (:parent #181))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #175)) (subscript (:begin 10263 :end 10276 :use-brackets-p nil :contents-begin 10264 :contents-end 10275 :post-blank 1 :parent #175) #("settings.py" 0 11 (:parent #183))) #("and pass it into GN2 with\n" 0 26 (:parent #175))) (fixed-width (:begin 10303 :end 10346 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 10303 :mode nil :granularity nil :parent #167)) (paragraph (:begin 10346 :end 10492 :contents-begin 10346 :contents-end 10491 :post-blank 1 :post-affiliated 10346 :mode nil :granularity nil :parent #167) #("and everything " 0 15 (:parent #177)) (bold (:begin 10361 :end 10370 :post-blank 1 :contents-begin 10362 :contents-end 10368 :parent #177) #("should" 0 6 (:parent #181))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #177))) (paragraph (:begin 10492 :end 10620 :contents-begin 10492 :contents-end 10619 :post-blank 1 :post-affiliated 10492 :mode nil :granularity nil :parent #167) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #178))) (fixed-width (:begin 10620 :end 10721 :value "cat ~/.guix-profile/lib/python2.7/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 10620 :mode nil :granularity nil :parent #167)))) (headline (:raw-value "Set up nginx port forwarding" :begin 10722 :end 12840 :pre-blank 1 :contents-begin 10755 :contents-end 12839 :robust-begin 10757 :robust-end 12837 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 10722 :title (#("Set up nginx port forwarding" 0 28 (:parent #165))) :mode nil :granularity nil :parent #160) (section (:begin 10755 :end 12840 :contents-begin 10755 :contents-end 12839 :robust-begin 10755 :robust-end 12837 :post-blank 1 :post-affiliated 10755 :mode section :granularity nil :parent #165) (paragraph (:begin 10755 :end 10923 :contents-begin 10755 :contents-end 10922 :post-blank 1 :post-affiliated 10755 :mode planning :granularity nil :parent #168) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #171))) (paragraph (:begin 10923 :end 11063 :contents-begin 10923 :contents-end 11062 :post-blank 1 :post-affiliated 10923 :mode nil :granularity nil :parent #168) #("#+begin" 0 7 (:parent #172)) (subscript (:begin 10930 :end 10935 :use-brackets-p nil :contents-begin 10931 :contents-end 10934 :post-blank 1 :parent #172) #("src" 0 3 (:parent #176))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #172)) (subscript (:begin 10984 :end 10990 :use-brackets-p nil :contents-begin 10985 :contents-end 10989 :post-blank 1 :parent #172) #("name" 0 4 (:parent #178))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #172)) (subscript (:begin 11030 :end 11036 :use-brackets-p nil :contents-begin 11031 :contents-end 11034 :post-blank 2 :parent #172) #("log" 0 3 (:parent #180))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #172))) (paragraph (:begin 11063 :end 11232 :contents-begin 11063 :contents-end 11231 :post-blank 1 :post-affiliated 11063 :mode nil :granularity nil :parent #168) #(" proxy" 0 13 (:parent #173)) (subscript (:begin 11076 :end 11084 :use-brackets-p nil :contents-begin 11077 :contents-end 11084 :post-blank 0 :parent #173) #("connect" 0 7 (:parent #177))) (subscript (:begin 11084 :end 11099 :use-brackets-p nil :contents-begin 11085 :contents-end 11092 :post-blank 7 :parent #173) #("timeout" 0 7 (:parent #178))) #("3000;\n proxy" 0 19 (:parent #173)) (subscript (:begin 11118 :end 11123 :use-brackets-p nil :contents-begin 11119 :contents-end 11123 :post-blank 0 :parent #173) #("send" 0 4 (:parent #180))) (subscript (:begin 11123 :end 11141 :use-brackets-p nil :contents-begin 11124 :contents-end 11131 :post-blank 10 :parent #173) #("timeout" 0 7 (:parent #181))) #("3000;\n proxy" 0 19 (:parent #173)) (subscript (:begin 11160 :end 11165 :use-brackets-p nil :contents-begin 11161 :contents-end 11165 :post-blank 0 :parent #173) #("read" 0 4 (:parent #183))) (subscript (:begin 11165 :end 11183 :use-brackets-p nil :contents-begin 11166 :contents-end 11173 :post-blank 10 :parent #173) #("timeout" 0 7 (:parent #184))) #("3000;\n send" 0 18 (:parent #173)) (subscript (:begin 11201 :end 11225 :use-brackets-p nil :contents-begin 11202 :contents-end 11209 :post-blank 16 :parent #173) #("timeout" 0 7 (:parent #186))) #("3000;\n" 0 6 (:parent #173))) (paragraph (:begin 11232 :end 11632 :contents-begin 11232 :contents-end 11631 :post-blank 1 :post-affiliated 11232 :mode nil :granularity nil :parent #168) #(" location / {\n proxy" 0 38 (:parent #174)) (subscript (:begin 11270 :end 11274 :use-brackets-p nil :contents-begin 11271 :contents-end 11274 :post-blank 0 :parent #174) #("set" 0 3 (:parent #178))) (subscript (:begin 11274 :end 11284 :use-brackets-p nil :contents-begin 11275 :contents-end 11281 :post-blank 3 :parent #174) #("header" 0 6 (:parent #179))) #("Host $http" 0 15 (:parent #174)) (subscript (:begin 11299 :end 11304 :use-brackets-p nil :contents-begin 11300 :contents-end 11304 :post-blank 0 :parent #174) #("host" 0 4 (:parent #181))) #(";\n proxy" 0 19 (:parent #174)) (subscript (:begin 11323 :end 11327 :use-brackets-p nil :contents-begin 11324 :contents-end 11327 :post-blank 0 :parent #174) #("set" 0 3 (:parent #183))) (subscript (:begin 11327 :end 11337 :use-brackets-p nil :contents-begin 11328 :contents-end 11334 :post-blank 3 :parent #174) #("header" 0 6 (:parent #184))) #("Connection keep-alive;\n proxy" 0 40 (:parent #174)) (subscript (:begin 11377 :end 11381 :use-brackets-p nil :contents-begin 11378 :contents-end 11381 :post-blank 0 :parent #174) #("set" 0 3 (:parent #186))) (subscript (:begin 11381 :end 11391 :use-brackets-p nil :contents-begin 11382 :contents-end 11388 :post-blank 3 :parent #174) #("header" 0 6 (:parent #187))) #("X-Real-IP $remote" 0 17 (:parent #174)) (subscript (:begin 11408 :end 11413 :use-brackets-p nil :contents-begin 11409 :contents-end 11413 :post-blank 0 :parent #174) #("addr" 0 4 (:parent #189))) #(";\n proxy" 0 19 (:parent #174)) (subscript (:begin 11432 :end 11436 :use-brackets-p nil :contents-begin 11433 :contents-end 11436 :post-blank 0 :parent #174) #("set" 0 3 (:parent #191))) (subscript (:begin 11436 :end 11446 :use-brackets-p nil :contents-begin 11437 :contents-end 11443 :post-blank 3 :parent #174) #("header" 0 6 (:parent #192))) #("X-Forwarded-For $proxy" 0 22 (:parent #174)) (subscript (:begin 11468 :end 11472 :use-brackets-p nil :contents-begin 11469 :contents-end 11472 :post-blank 0 :parent #174) #("add" 0 3 (:parent #194))) (subscript (:begin 11472 :end 11474 :use-brackets-p nil :contents-begin 11473 :contents-end 11474 :post-blank 0 :parent #174) #("x" 0 1 (:parent #195))) (subscript (:begin 11474 :end 11484 :use-brackets-p nil :contents-begin 11475 :contents-end 11484 :post-blank 0 :parent #174) #("forwarded" 0 9 (:parent #196))) (subscript (:begin 11484 :end 11488 :use-brackets-p nil :contents-begin 11485 :contents-end 11488 :post-blank 0 :parent #174) #("for" 0 3 (:parent #197))) #(";\n proxy" 0 19 (:parent #174)) (subscript (:begin 11507 :end 11511 :use-brackets-p nil :contents-begin 11508 :contents-end 11511 :post-blank 0 :parent #174) #("set" 0 3 (:parent #199))) (subscript (:begin 11511 :end 11521 :use-brackets-p nil :contents-begin 11512 :contents-end 11518 :post-blank 3 :parent #174) #("header" 0 6 (:parent #200))) #("X-Forwarded-Host $server" 0 24 (:parent #174)) (subscript (:begin 11545 :end 11550 :use-brackets-p nil :contents-begin 11546 :contents-end 11550 :post-blank 0 :parent #174) #("name" 0 4 (:parent #202))) #(";\n proxy" 0 19 (:parent #174)) (subscript (:begin 11569 :end 11583 :use-brackets-p nil :contents-begin 11570 :contents-end 11574 :post-blank 9 :parent #174) #("pass" 0 4 (:parent #204))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 11583 :end 11604 :contents-begin nil :contents-end nil :post-blank 0 :parent #174)) #(";\n }\n}\n#+end" 0 19 (:parent #174)) (subscript (:begin 11623 :end 11628 :use-brackets-p nil :contents-begin 11624 :contents-end 11627 :post-blank 1 :parent #174) #("src" 0 3 (:parent #207))) #("js\n" 0 3 (:parent #174))) (paragraph (:begin 11632 :end 11671 :contents-begin 11632 :contents-end 11670 :post-blank 1 :post-affiliated 11632 :mode nil :granularity nil :parent #168) #("Install the nginx webserver (as root)\n" 0 38 (:parent #175))) (fixed-width (:begin 11671 :end 11696 :value "guix package -i nginx" :post-blank 2 :post-affiliated 11671 :mode nil :granularity nil :parent #168)) (paragraph (:begin 11696 :end 11777 :contents-begin 11696 :contents-end 11776 :post-blank 1 :post-affiliated 11696 :mode nil :granularity nil :parent #168) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #177))) (fixed-width (:begin 11777 :end 11964 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 11777 :mode nil :granularity nil :parent #168)) (paragraph (:begin 11964 :end 11979 :contents-begin 11964 :contents-end 11978 :post-blank 1 :post-affiliated 11964 :mode nil :granularity nil :parent #168) #("Use that path\n" 0 14 (:parent #179))) (fixed-width (:begin 11979 :end 12373 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 11979 :mode nil :granularity nil :parent #168)) (paragraph (:begin 12373 :end 12599 :contents-begin 12373 :contents-end 12599 :post-blank 0 :post-affiliated 12373 :mode nil :granularity nil :parent #168) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #181))) (fixed-width (:begin 12599 :end 12646 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 12599 :mode nil :granularity nil :parent #168)) (paragraph (:begin 12646 :end 12657 :contents-begin 12646 :contents-end 12656 :post-blank 1 :post-affiliated 12646 :mode nil :granularity nil :parent #168) #("Make dirs\n" 0 10 (:parent #183))) (fixed-width (:begin 12657 :end 12691 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 12657 :mode nil :granularity nil :parent #168)) (paragraph (:begin 12691 :end 12702 :contents-begin 12691 :contents-end 12701 :post-blank 1 :post-affiliated 12691 :mode nil :granularity nil :parent #168) #("Add users\n" 0 10 (:parent #185))) (fixed-width (:begin 12702 :end 12738 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 12702 :mode nil :granularity nil :parent #168)) (paragraph (:begin 12738 :end 12749 :contents-begin 12738 :contents-end 12748 :post-blank 1 :post-affiliated 12738 :mode nil :granularity nil :parent #168) #("Run nginx\n" 0 10 (:parent #187))) (fixed-width (:begin 12749 :end 12839 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 12749 :mode nil :granularity nil :parent #168))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 12840 :end 13801 :pre-blank 1 :contents-begin 12902 :contents-end 13801 :robust-begin 12904 :robust-end 13799 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12840 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #161))) :mode nil :granularity nil :parent #151) (section (:begin 12902 :end 12959 :contents-begin 12902 :contents-end 12958 :robust-begin 12902 :robust-end 12956 :post-blank 1 :post-affiliated 12902 :mode section :granularity nil :parent #161) (paragraph (:begin 12902 :end 12958 :contents-begin 12902 :contents-end 12958 :post-blank 0 :post-affiliated 12902 :mode planning :granularity nil :parent #164) #("See the document " 0 17 (:parent #167)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 12919 :end 12956 :contents-begin nil :contents-end nil :post-blank 0 :parent #167)) #(".\n" 0 2 (:parent #167)))) (headline (:raw-value "Update to recent guix" :begin 12959 :end 13409 :pre-blank 1 :contents-begin 12985 :contents-end 13408 :robust-begin 12987 :robust-end 13406 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12959 :title (#("Update to recent guix" 0 21 (:parent #165))) :mode nil :granularity nil :parent #161) (section (:begin 12985 :end 13409 :contents-begin 12985 :contents-end 13408 :robust-begin 12985 :robust-end 13406 :post-blank 1 :post-affiliated 12985 :mode section :granularity nil :parent #165) (paragraph (:begin 12985 :end 13020 :contents-begin 12985 :contents-end 13019 :post-blank 1 :post-affiliated 12985 :mode planning :granularity nil :parent #168) #("We now compile Guix from scratch.\n" 0 34 (:parent #171))) (paragraph (:begin 13020 :end 13295 :contents-begin 13020 :contents-end 13294 :post-blank 1 :post-affiliated 13020 :mode nil :granularity nil :parent #168) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #172)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 13159 :end 13272 :contents-begin 13264 :contents-end 13269 :post-blank 1 :parent #172) #("these" 0 5 (:parent #176))) #("steps carefully after\n" 0 22 (:parent #172))) (fixed-width (:begin 13295 :end 13330 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 13295 :mode nil :granularity nil :parent #168)) (paragraph (:begin 13330 :end 13408 :contents-begin 13330 :contents-end 13408 :post-blank 0 :post-affiliated 13330 :mode nil :granularity nil :parent #168) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #174))))) (headline (:raw-value "Install GN2" :begin 13409 :end 13801 :pre-blank 1 :contents-begin 13425 :contents-end 13801 :robust-begin 13427 :robust-end 13799 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 13409 :title (#("Install GN2" 0 11 (:parent #166))) :mode nil :granularity nil :parent #161) (section (:begin 13425 :end 13801 :contents-begin 13425 :contents-end 13801 :robust-begin 13425 :robust-end 13799 :post-blank 0 :post-affiliated 13425 :mode section :granularity nil :parent #166) (paragraph (:begin 13425 :end 13468 :contents-begin 13425 :contents-end 13467 :post-blank 1 :post-affiliated 13425 :mode planning :granularity nil :parent #169) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #172))) (paragraph (:begin 13468 :end 13676 :contents-begin 13468 :contents-end 13675 :post-blank 1 :post-affiliated 13468 :mode nil :granularity nil :parent #169) #("#+begin" 0 7 (:parent #173)) (subscript (:begin 13475 :end 13480 :use-brackets-p nil :contents-begin 13476 :contents-end 13479 :post-blank 1 :parent #173) #("src" 0 3 (:parent #177))) #("bash\nenv GUIX" 0 13 (:parent #173)) (subscript (:begin 13493 :end 13501 :use-brackets-p nil :contents-begin 13494 :contents-end 13501 :post-blank 0 :parent #173) #("PACKAGE" 0 7 (:parent #179))) (subscript (:begin 13501 :end 13506 :use-brackets-p nil :contents-begin 13502 :contents-end 13506 :post-blank 0 :parent #173) #("PATH" 0 4 (:parent #180))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #173)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 13605 :end 13633 :contents-begin nil :contents-end nil :post-blank 1 :parent #173)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 13633 :end 13658 :contents-begin nil :contents-end nil :post-blank 0 :parent #173)) #("\"\n#+end" 0 7 (:parent #173)) (subscript (:begin 13665 :end 13670 :use-brackets-p nil :contents-begin 13666 :contents-end 13669 :post-blank 1 :parent #173) #("src" 0 3 (:parent #185))) #("bash\n" 0 5 (:parent #173))) (paragraph (:begin 13676 :end 13714 :contents-begin 13676 :contents-end 13713 :post-blank 1 :post-affiliated 13676 :mode nil :granularity nil :parent #169) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #174))) (paragraph (:begin 13714 :end 13801 :contents-begin 13714 :contents-end 13801 :post-blank 0 :post-affiliated 13714 :mode nil :granularity nil :parent #169) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #175)))))))) #81)) #57)) #25 (item (:bullet "- " :begin 156 :end 521 :contents-begin 159 :contents-end 521 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 156 :tag nil :mode item :granularity nil :parent #57) (paragraph (:begin 159 :end 217 :contents-begin 159 :contents-end 217 :post-blank 0 :post-affiliated 159 :mode nil :granularity nil :parent #61) (link (:type "custom-id" :path "quick-installation-recipe" :format bracket :raw-link "#quick-installation-recipe" :application nil :search-option nil :begin 159 :end 216 :contents-begin 189 :contents-end 214 :post-blank 0 :parent #64) #("Quick installation recipe" 0 25 (:parent #67))) #("\n" 0 1 (:parent #64))) (plain-list (:type unordered :begin 217 :end 521 :contents-begin 217 :contents-end 521 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 217 :mode nil :granularity nil :parent #61) (item (:bullet "- " :begin 217 :end 277 :contents-begin 222 :contents-end 277 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 217 :tag nil :mode item :granularity nil :parent #65) (paragraph (:begin 222 :end 277 :contents-begin 222 :contents-end 277 :post-blank 0 :post-affiliated 222 :mode nil :granularity nil :parent #68) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 222 :end 276 :contents-begin 250 :contents-end 274 :post-blank 0 :parent #71) #("Step 1: Install GNU Guix" 0 24 (:parent #74))) #("\n" 0 1 (:parent #71)))) (item (:bullet "- " :begin 277 :end 371 :contents-begin 282 :contents-end 371 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 277 :tag nil :mode item :granularity nil :parent #65) (paragraph (:begin 282 :end 371 :contents-begin 282 :contents-end 371 :post-blank 0 :post-affiliated 282 :mode nil :granularity nil :parent #69) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 282 :end 370 :contents-begin 327 :contents-end 368 :post-blank 0 :parent #72) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #75))) #("\n" 0 1 (:parent #72)))) (item (:bullet "- " :begin 371 :end 455 :contents-begin 376 :contents-end 455 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 371 :tag nil :mode item :granularity nil :parent #65) (paragraph (:begin 376 :end 455 :contents-begin 376 :contents-end 455 :post-blank 0 :post-affiliated 376 :mode nil :granularity nil :parent #70) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 376 :end 454 :contents-begin 416 :contents-end 452 :post-blank 0 :parent #73) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #76))) #("\n" 0 1 (:parent #73)))) (item (:bullet "- " :begin 455 :end 521 :contents-begin 460 :contents-end 521 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 455 :tag nil :mode item :granularity nil :parent #65) (paragraph (:begin 460 :end 521 :contents-begin 460 :contents-end 521 :post-blank 0 :post-affiliated 460 :mode nil :granularity nil :parent #71) (link (:type "custom-id" :path "step-4-install-and-run-gn2" :format bracket :raw-link "#step-4-install-and-run-gn2" :application nil :search-option nil :begin 460 :end 520 :contents-begin 491 :contents-end 518 :post-blank 0 :parent #74) #("Step 4: Install and run GN2" 0 27 (:parent #77))) #("\n" 0 1 (:parent #74)))))) (item (:bullet "- " :begin 521 :end 564 :contents-begin 524 :contents-end 564 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 521 :tag nil :mode item :granularity nil :parent #57) (paragraph (:begin 524 :end 564 :contents-begin 524 :contents-end 564 :post-blank 0 :post-affiliated 524 :mode nil :granularity nil :parent #62) (link (:type "custom-id" :path "run-mysql-server" :format bracket :raw-link "#run-mysql-server" :application nil :search-option nil :begin 524 :end 563 :contents-begin 545 :contents-end 561 :post-blank 0 :parent #65) #("Run MySQL server" 0 16 (:parent #68))) #("\n" 0 1 (:parent #65)))) (item (:bullet "- " :begin 564 :end 615 :contents-begin 567 :contents-end 615 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 564 :tag nil :mode item :granularity nil :parent #57) (paragraph (:begin 567 :end 615 :contents-begin 567 :contents-end 615 :post-blank 0 :post-affiliated 567 :mode nil :granularity nil :parent #63) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 567 :end 614 :contents-begin 592 :contents-end 612 :post-blank 0 :parent #66) #("GN2 Dependency Graph" 0 20 (:parent #69))) #("\n" 0 1 (:parent #66)))) (item (:bullet "- " :begin 615 :end 790 :contents-begin 618 :contents-end 790 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 615 :tag nil :mode item :granularity nil :parent #57) (paragraph (:begin 618 :end 660 :contents-begin 618 :contents-end 660 :post-blank 0 :post-affiliated 618 :mode nil :granularity nil :parent #64) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 618 :end 659 :contents-begin 640 :contents-end 657 :post-blank 0 :parent #67) #("Source deployment" 0 17 (:parent #70))) #("\n" 0 1 (:parent #67))) (plain-list (:type unordered :begin 660 :end 790 :contents-begin 660 :contents-end 790 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 660 :mode nil :granularity nil :parent #64) (item (:bullet "- " :begin 660 :end 721 :contents-begin 665 :contents-end 721 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 660 :tag nil :mode item :granularity nil :parent #68) (paragraph (:begin 665 :end 721 :contents-begin 665 :contents-end 721 :post-blank 0 :post-affiliated 665 :mode nil :granularity nil :parent #71) (link (:type "custom-id" :path "run-your-own-copy-of-gn2" :format bracket :raw-link "#run-your-own-copy-of-gn2" :application nil :search-option nil :begin 665 :end 720 :contents-begin 694 :contents-end 718 :post-blank 0 :parent #74) #("Run your own copy of GN2" 0 24 (:parent #77))) #("\n" 0 1 (:parent #74)))) (item (:bullet "- " :begin 721 :end 790 :contents-begin 726 :contents-end 790 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 721 :tag nil :mode item :granularity nil :parent #68) (paragraph (:begin 726 :end 790 :contents-begin 726 :contents-end 790 :post-blank 0 :post-affiliated 726 :mode nil :granularity nil :parent #72) (link (:type "custom-id" :path "set-up-nginx-port-forwarding" :format bracket :raw-link "#set-up-nginx-port-forwarding" :application nil :search-option nil :begin 726 :end 789 :contents-begin 759 :contents-end 787 :post-blank 0 :parent #75) #("Set up nginx port forwarding" 0 28 (:parent #78))) #("\n" 0 1 (:parent #75)))))) (item (:bullet "- " :begin 790 :end 1034 :contents-begin 793 :contents-end 1034 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 790 :tag nil :mode item :granularity nil :parent #57) (paragraph (:begin 793 :end 917 :contents-begin 793 :contents-end 917 :post-blank 0 :post-affiliated 793 :mode nil :granularity nil :parent #65) (link (:type "custom-id" :path "source-deployment-and-other-information-on-reproducibility" :format bracket :raw-link "#source-deployment-and-other-information-on-reproducibility" :application nil :search-option nil :begin 793 :end 916 :contents-begin 856 :contents-end 914 :post-blank 0 :parent #68) #("Source deployment and other information on reproducibility" 0 58 (:parent #71))) #("\n" 0 1 (:parent #68))) (plain-list (:type unordered :begin 917 :end 1034 :contents-begin 917 :contents-end 1034 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 917 :mode nil :granularity nil :parent #65) (item (:bullet "- " :begin 917 :end 972 :contents-begin 922 :contents-end 972 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 917 :tag nil :mode item :granularity nil :parent #69) (paragraph (:begin 922 :end 972 :contents-begin 922 :contents-end 972 :post-blank 0 :post-affiliated 922 :mode nil :granularity nil :parent #72) (link (:type "custom-id" :path "update-to-recent-guix" :format bracket :raw-link "#update-to-recent-guix" :application nil :search-option nil :begin 922 :end 971 :contents-begin 948 :contents-end 969 :post-blank 0 :parent #75) #("Update to recent guix" 0 21 (:parent #78))) #("\n" 0 1 (:parent #75)))) (item (:bullet "- " :begin 972 :end 1007 :contents-begin 977 :contents-end 1007 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 972 :tag nil :mode item :granularity nil :parent #69) (paragraph (:begin 977 :end 1007 :contents-begin 977 :contents-end 1007 :post-blank 0 :post-affiliated 977 :mode nil :granularity nil :parent #73) (link (:type "custom-id" :path "install-gn2" :format bracket :raw-link "#install-gn2" :application nil :search-option nil :begin 977 :end 1006 :contents-begin 993 :contents-end 1004 :post-blank 0 :parent #76) #("Install GN2" 0 11 (:parent #79))) #("\n" 0 1 (:parent #76)))) (item (:bullet "- " :begin 1007 :end 1034 :contents-begin 1012 :contents-end 1034 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1007 :tag nil :mode item :granularity nil :parent #69) (paragraph (:begin 1012 :end 1034 :contents-begin 1012 :contents-end 1034 :post-blank 0 :post-affiliated 1012 :mode nil :granularity nil :parent #74) (link (:type "custom-id" :path "run-gn2" :format bracket :raw-link "#run-gn2" :application nil :search-option nil :begin 1012 :end 1033 :contents-begin 1024 :contents-end 1031 :post-blank 0 :parent #77) #("Run GN2" 0 7 (:parent #80))) #("\n" 0 1 (:parent #77)))))) (item (:bullet "- " :begin 1034 :end 1370 :contents-begin 1037 :contents-end 1370 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1034 :tag nil :mode item :granularity nil :parent #57) (paragraph (:begin 1037 :end 1077 :contents-begin 1037 :contents-end 1077 :post-blank 0 :post-affiliated 1037 :mode nil :granularity nil :parent #66) (link (:type "custom-id" :path "trouble-shooting" :format bracket :raw-link "#trouble-shooting" :application nil :search-option nil :begin 1037 :end 1076 :contents-begin 1058 :contents-end 1074 :post-blank 0 :parent #69) #("Trouble shooting" 0 16 (:parent #72))) #("\n" 0 1 (:parent #69))) (plain-list (:type unordered :begin 1077 :end 1370 :contents-begin 1077 :contents-end 1370 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 1077 :mode nil :granularity nil :parent #66) (item (:bullet "- " :begin 1077 :end 1159 :contents-begin 1082 :contents-end 1159 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1077 :tag nil :mode item :granularity nil :parent #70) (paragraph (:begin 1082 :end 1159 :contents-begin 1082 :contents-end 1159 :post-blank 0 :post-affiliated 1082 :mode nil :granularity nil :parent #73) (link (:type "custom-id" :path "importerror-no-module-named-jinja2" :format bracket :raw-link "#importerror-no-module-named-jinja2" :application nil :search-option nil :begin 1082 :end 1158 :contents-begin 1121 :contents-end 1156 :post-blank 0 :parent #76) #("ImportError: No module named jinja2" 0 35 (:parent #79))) #("\n" 0 1 (:parent #76)))) (item (:bullet "- " :begin 1159 :end 1257 :contents-begin 1164 :contents-end 1257 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1159 :tag nil :mode item :granularity nil :parent #70) (paragraph (:begin 1164 :end 1257 :contents-begin 1164 :contents-end 1257 :post-blank 0 :post-affiliated 1164 :mode nil :granularity nil :parent #74) (link (:type "custom-id" :path "error-can-not-find-directory-homegn2_data" :format bracket :raw-link "#error-can-not-find-directory-homegn2_data" :application nil :search-option nil :begin 1164 :end 1256 :contents-begin 1210 :contents-end 1254 :post-blank 0 :parent #77) #("ERROR: can not find directory $HOME/gn2" 0 39 (:parent #80)) (subscript (:begin 1249 :end 1254 :use-brackets-p nil :contents-begin 1250 :contents-end 1254 :post-blank 0 :parent #80) #("data" 0 4 (:parent #84)))) #("\n" 0 1 (:parent #77)))) (item (:bullet "- " :begin 1257 :end 1305 :contents-begin 1262 :contents-end 1305 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1257 :tag nil :mode item :granularity nil :parent #70) (paragraph (:begin 1262 :end 1305 :contents-begin 1262 :contents-end 1305 :post-blank 0 :post-affiliated 1262 :mode nil :granularity nil :parent #75) (link (:type "custom-id" :path "cant-run-a-module" :format bracket :raw-link "#cant-run-a-module" :application nil :search-option nil :begin 1262 :end 1304 :contents-begin 1284 :contents-end 1302 :post-blank 0 :parent #78) #("Can't run a module" 0 18 (:parent #81))) #("\n" 0 1 (:parent #78)))) (item (:bullet "- " :begin 1305 :end 1370 :contents-begin 1310 :contents-end 1370 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1305 :tag nil :mode item :granularity nil :parent #70) (paragraph (:begin 1310 :end 1370 :contents-begin 1310 :contents-end 1370 :post-blank 0 :post-affiliated 1310 :mode nil :granularity nil :parent #76) (link (:type "custom-id" :path "rpy2-error-show-now-found" :format bracket :raw-link "#rpy2-error-show-now-found" :application nil :search-option nil :begin 1310 :end 1369 :contents-begin 1340 :contents-end 1367 :post-blank 0 :parent #79) #("Rpy2 error 'show' now found" 0 27 (:parent #82))) #("\n" 0 1 (:parent #79)))))) (item (:bullet "- " :begin 1370 :end 1403 :contents-begin 1373 :contents-end 1403 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1370 :tag nil :mode item :granularity nil :parent #57) (paragraph (:begin 1373 :end 1403 :contents-begin 1373 :contents-end 1403 :post-blank 0 :post-affiliated 1373 :mode nil :granularity nil :parent #67) (link (:type "custom-id" :path "irc-session" :format bracket :raw-link "#irc-session" :application nil :search-option nil :begin 1373 :end 1402 :contents-begin 1389 :contents-end 1400 :post-blank 0 :parent #70) #("IRC session" 0 11 (:parent #73))) #("\n" 0 1 (:parent #70)))))) #5)) . #0)))) "") org-export-data((paragraph (:begin 124 :end 156 :contents-begin 124 :contents-end 156 :post-blank 0 :post-affiliated 124 :mode nil :granularity nil :parent (item (:bullet "- " :begin 121 :end 156 :contents-begin 124 :contents-end 156 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 121 :tag nil :mode item :granularity nil :parent (plain-list (:type unordered :begin 121 :end 1403 :contents-begin 121 :contents-end 1403 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 121 :mode planning :granularity nil :parent (section (:begin 121 :end 1404 :contents-begin 121 :contents-end 1403 :robust-begin 121 :robust-end 1401 :post-blank 1 :post-affiliated 121 :mode section :granularity nil :parent (headline (:raw-value "Table of Contents" :begin 43 :end 1404 :pre-blank 0 :contents-begin 121 :contents-end 1403 :robust-begin 123 :robust-end 1401 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 43 :title (#("Table of Contents" 0 17 (:parent #100))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13801 :end 13801 :robust-begin 3 :robust-end 13799 :post-blank 0 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 43 :contents-begin 1 :contents-end 42 :robust-begin 1 :robust-end 40 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #146) (keyword (:key "TITLE" :value "Installing GeneNetwork services" :begin 1 :end 42 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #149))) #100 (headline (:raw-value "Introduction" :begin 1404 :end 2450 :pre-blank 1 :contents-begin 1420 :contents-end 2449 :robust-begin 1422 :robust-end 2447 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1404 :title (#("Introduction" 0 12 (:parent #151))) :mode nil :granularity nil :parent #146) (section (:begin 1420 :end 2450 :contents-begin 1420 :contents-end 2449 :robust-begin 1420 :robust-end 2447 :post-blank 1 :post-affiliated 1420 :mode section :granularity nil :parent #151) (paragraph (:begin 1420 :end 1557 :contents-begin 1420 :contents-end 1556 :post-blank 1 :post-affiliated 1420 :mode planning :granularity nil :parent #154) #("If you want to understand the architecture of GN2 read\n" 0 55 (:parent #157)) (link (:type "fuzzy" :path "Architecture.org" :format bracket :raw-link "Architecture.org" :application nil :search-option nil :begin 1475 :end 1495 :contents-begin nil :contents-end nil :post-blank 0 :parent #157)) #(". The rest of this document is mostly on deployment\nof GN2.\n" 0 61 (:parent #157))) (paragraph (:begin 1557 :end 1943 :contents-begin 1557 :contents-end 1942 :post-blank 1 :post-affiliated 1557 :mode nil :granularity nil :parent #154) #("Large system deployments can get very " 0 38 (:parent #158)) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg " :format bracket :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg " :application nil :search-option nil :begin 1595 :end 1656 :contents-begin 1647 :contents-end 1654 :post-blank 0 :parent #158) #("complex" 0 7 (:parent #162))) #(". In this document we\nexplain the GeneNetwork version 2 (GN2) reproducible deployment system\nwhich is based on GNU Guix (see also " 0 130 (:parent #158)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1786 :end 1860 :contents-begin 1848 :contents-end 1858 :post-blank 0 :parent #158) #("Guix-notes" 0 10 (:parent #164))) #("). The Guix\nsystem can be used to install GN with all its files and dependencies.\n" 0 82 (:parent #158))) (paragraph (:begin 1943 :end 2328 :contents-begin 1943 :contents-end 2327 :post-blank 1 :post-affiliated 1943 :mode nil :granularity nil :parent #154) #("The official installation path is from a checked out version of the\nmain Guix package tree and that of the Genenetwork package\ntree. Current supported versions can be found as the SHA values of\n'gn-latest' branches of " 0 218 (:parent #159)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :application nil :search-option nil :begin 2161 :end 2252 :contents-begin 2230 :contents-end 2249 :post-blank 1 :parent #159) #("Guix bioinformatics" 0 19 (:parent #163))) #("and " 0 4 (:parent #159)) (link (:type "https" :path "//github.com/genenetwork/guix/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix/tree/gn-latest" :application nil :search-option nil :begin 2256 :end 2325 :contents-begin 2310 :contents-end 2323 :post-blank 0 :parent #159) #("GNU Guix main" 0 13 (:parent #165))) #(".\n" 0 2 (:parent #159))) (paragraph (:begin 2328 :end 2449 :contents-begin 2328 :contents-end 2449 :post-blank 0 :post-affiliated 2328 :mode nil :granularity nil :parent #154) #("For a full view of runtime dependencies as defined by GNU Guix, see\nthe " 0 72 (:parent #160)) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 2400 :end 2447 :contents-begin 2425 :contents-end 2445 :post-blank 0 :parent #160) #("GN2 Dependency Graph" 0 20 (:parent #164))) #(".\n" 0 2 (:parent #160))))) (headline (:raw-value "Quick installation recipe" :begin 2450 :end 7633 :pre-blank 1 :contents-begin 2479 :contents-end 7632 :robust-begin 2481 :robust-end 7630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 2450 :title (#("Quick installation recipe" 0 25 (:parent #152))) :mode nil :granularity nil :parent #146) (section (:begin 2479 :end 3022 :contents-begin 2479 :contents-end 3021 :robust-begin 2479 :robust-end 3019 :post-blank 1 :post-affiliated 2479 :mode section :granularity nil :parent #152) (paragraph (:begin 2479 :end 2880 :contents-begin 2479 :contents-end 2879 :post-blank 1 :post-affiliated 2479 :mode planning :granularity nil :parent #155) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS). For more elaborate installation\ninstructions see " 0 357 (:parent #158)) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 2836 :end 2877 :contents-begin 2858 :contents-end 2875 :post-blank 0 :parent #158) #("Source deployment" 0 17 (:parent #162))) #(".\n" 0 2 (:parent #158))) (paragraph (:begin 2880 :end 3021 :contents-begin 2880 :contents-end 3021 :post-blank 0 :post-affiliated 2880 :mode nil :granularity nil :parent #155) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #159)))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 3022 :end 4649 :pre-blank 1 :contents-begin 3051 :contents-end 4648 :robust-begin 3053 :robust-end 4646 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3022 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #156))) :mode nil :granularity nil :parent #152) (section (:begin 3051 :end 4649 :contents-begin 3051 :contents-end 4648 :robust-begin 3051 :robust-end 4646 :post-blank 1 :post-affiliated 3051 :mode section :granularity nil :parent #156) (paragraph (:begin 3051 :end 3504 :contents-begin 3051 :contents-end 3503 :post-blank 1 :post-affiliated 3051 :mode planning :granularity nil :parent #159) #("Fetch the GNU Guix binary from " 0 31 (:parent #162)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 3082 :end 3136 :contents-begin 3129 :contents-end 3133 :post-blank 1 :parent #162) #("here" 0 4 (:parent #166))) #("(middle panel) and follow\n" 0 26 (:parent #162)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 3162 :end 3255 :contents-begin 3241 :contents-end 3253 :post-blank 0 :parent #162) #("instructions" 0 12 (:parent #168))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #162))) (paragraph (:begin 3504 :end 3782 :contents-begin 3504 :contents-end 3781 :post-blank 1 :post-affiliated 3504 :mode nil :granularity nil :parent #159) #("Once you have succeeded, you have to " 0 37 (:parent #163)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 3541 :end 3631 :contents-begin 3617 :contents-end 3628 :post-blank 1 :parent #163) #("set the key" 0 11 (:parent #167))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #163))) (src-block (:language "bash" :switches nil :parameters nil :begin 3782 :end 3890 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 3782 :mode nil :granularity nil :parent #159)) (paragraph (:begin 3890 :end 3924 :contents-begin 3890 :contents-end 3923 :post-blank 1 :post-affiliated 3890 :mode nil :granularity nil :parent #159) #("Which should show something like\n" 0 33 (:parent #165))) (fixed-width (:begin 3924 :end 4034 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 3924 :mode nil :granularity nil :parent #159)) (paragraph (:begin 4034 :end 4045 :contents-begin 4034 :contents-end 4044 :post-blank 1 :post-affiliated 4034 :mode nil :granularity nil :parent #159) #("#+end" 0 5 (:parent #167)) (subscript (:begin 4039 :end 4043 :use-brackets-p nil :contents-begin 4040 :contents-end 4043 :post-blank 0 :parent #167) #("src" 0 3 (:parent #171))) #("\n" 0 1 (:parent #167))) (paragraph (:begin 4045 :end 4116 :contents-begin 4045 :contents-end 4115 :post-blank 1 :post-affiliated 4045 :mode nil :granularity nil :parent #159) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #168))) (src-block (:language "bash" :switches nil :parameters nil :begin 4116 :end 4188 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 4116 :mode nil :granularity nil :parent #159)) (paragraph (:begin 4188 :end 4375 :contents-begin 4188 :contents-end 4374 :post-blank 1 :post-affiliated 4188 :mode nil :granularity nil :parent #159) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #170))) (paragraph (:begin 4375 :end 4648 :contents-begin 4375 :contents-end 4648 :post-blank 0 :post-affiliated 4375 :mode nil :granularity nil :parent #159) #("If you need more help we have another writeup in " 0 49 (:parent #171)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 4424 :end 4520 :contents-begin 4508 :contents-end 4518 :post-blank 0 :parent #171) #("guix-notes" 0 10 (:parent #175))) #(". To get\nrid of the locale warning see " 0 39 (:parent #171)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 4559 :end 4646 :contents-begin 4634 :contents-end 4644 :post-blank 0 :parent #171) #("set-locale" 0 10 (:parent #177))) #(".\n" 0 2 (:parent #171))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 4649 :end 5304 :pre-blank 1 :contents-begin 4695 :contents-end 5302 :robust-begin 4697 :robust-end 5300 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4649 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #157))) :mode nil :granularity nil :parent #152) (section (:begin 4695 :end 5304 :contents-begin 4695 :contents-end 5302 :robust-begin 4695 :robust-end 5300 :post-blank 2 :post-affiliated 4695 :mode section :granularity nil :parent #157) (paragraph (:begin 4695 :end 4815 :contents-begin 4695 :contents-end 4814 :post-blank 1 :post-affiliated 4695 :mode planning :granularity nil :parent #160) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #163))) (src-block (:language "bash" :switches nil :parameters nil :begin 4815 :end 4920 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 4815 :mode nil :granularity nil :parent #160)) (paragraph (:begin 4920 :end 4971 :contents-begin 4920 :contents-end 4970 :post-blank 1 :post-affiliated 4920 :mode nil :granularity nil :parent #160) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #165))) (paragraph (:begin 4971 :end 5232 :contents-begin 4971 :contents-end 5231 :post-blank 1 :post-affiliated 4971 :mode nil :granularity nil :parent #160) #("#+begin" 0 7 (:parent #166)) (subscript (:begin 4978 :end 4983 :use-brackets-p nil :contents-begin 4979 :contents-end 4982 :post-blank 1 :parent #166) #("src" 0 3 (:parent #170))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #166)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 5055 :end 5105 :contents-begin nil :contents-end nil :post-blank 0 :parent #166)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #166)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 5147 :end 5183 :contents-begin nil :contents-end nil :post-blank 1 :parent #166)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #166)) (subscript (:begin 5221 :end 5226 :use-brackets-p nil :contents-begin 5222 :contents-end 5225 :post-blank 1 :parent #166) #("src" 0 3 (:parent #176))) #("bash\n" 0 5 (:parent #166))) (paragraph (:begin 5232 :end 5270 :contents-begin 5232 :contents-end 5269 :post-blank 1 :post-affiliated 5232 :mode nil :granularity nil :parent #160) #("To test whether this is working try:\n" 0 37 (:parent #167))) (paragraph (:begin 5270 :end 5302 :contents-begin 5270 :contents-end 5302 :post-blank 0 :post-affiliated 5270 :mode nil :granularity nil :parent #160) #("#+begin" 0 7 (:parent #168)) (subscript (:begin 5277 :end 5282 :use-brackets-p nil :contents-begin 5278 :contents-end 5281 :post-blank 1 :parent #168) #("src" 0 3 (:parent #172))) #("bash\n#+end" 0 10 (:parent #168)) (subscript (:begin 5292 :end 5297 :use-brackets-p nil :contents-begin 5293 :contents-end 5296 :post-blank 1 :parent #168) #("src" 0 3 (:parent #174))) #("bash\n" 0 5 (:parent #168))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 5304 :end 5755 :pre-blank 1 :contents-begin 5345 :contents-end 5754 :robust-begin 5347 :robust-end 5752 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5304 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #158))) :mode nil :granularity nil :parent #152) (section (:begin 5345 :end 5755 :contents-begin 5345 :contents-end 5754 :robust-begin 5345 :robust-end 5752 :post-blank 1 :post-affiliated 5345 :mode section :granularity nil :parent #158) (paragraph (:begin 5345 :end 5445 :contents-begin 5345 :contents-end 5444 :post-blank 1 :post-affiliated 5345 :mode planning :granularity nil :parent #161) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #164))) (src-block (:language "scheme" :switches nil :parameters nil :begin 5445 :end 5589 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 5445 :mode nil :granularity nil :parent #161)) (paragraph (:begin 5589 :end 5621 :contents-begin 5589 :contents-end 5620 :post-blank 1 :post-affiliated 5589 :mode nil :granularity nil :parent #161) #("by pasting it into the command\n" 0 31 (:parent #166))) (src-block (:language "bash" :switches nil :parameters nil :begin 5621 :end 5674 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 5621 :mode nil :granularity nil :parent #161)) (paragraph (:begin 5674 :end 5691 :contents-begin 5674 :contents-end 5690 :post-blank 1 :post-affiliated 5674 :mode nil :granularity nil :parent #161) #("and hit Ctrl-D.\n" 0 16 (:parent #168))) (paragraph (:begin 5691 :end 5754 :contents-begin 5691 :contents-end 5754 :post-blank 0 :post-affiliated 5691 :mode nil :granularity nil :parent #161) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #169))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 5755 :end 7633 :pre-blank 1 :contents-begin 5787 :contents-end 7632 :robust-begin 5789 :robust-end 7630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5755 :title (#("Step 4: Install and run GN2" 0 27 (:parent #159))) :mode nil :granularity nil :parent #152) (section (:begin 5787 :end 7633 :contents-begin 5787 :contents-end 7632 :robust-begin 5787 :robust-end 7630 :post-blank 1 :post-affiliated 5787 :mode section :granularity nil :parent #159) (paragraph (:begin 5787 :end 5927 :contents-begin 5787 :contents-end 5926 :post-blank 1 :post-affiliated 5787 :mode planning :granularity nil :parent #162) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #165))) (src-block (:language "bash" :switches nil :parameters nil :begin 5927 :end 6046 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 5927 :mode nil :granularity nil :parent #162)) (paragraph (:begin 6046 :end 6099 :contents-begin 6046 :contents-end 6098 :post-blank 1 :post-affiliated 6046 :mode nil :granularity nil :parent #162) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #167))) (src-block (:language "bash" :switches nil :parameters nil :begin 6099 :end 6289 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 6099 :mode nil :granularity nil :parent #162)) (paragraph (:begin 6289 :end 6398 :contents-begin 6289 :contents-end 6397 :post-blank 1 :post-affiliated 6289 :mode nil :granularity nil :parent #162) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #169)) (italic (:begin 6360 :end 6366 :post-blank 0 :contents-begin 6361 :contents-end 6365 :parent #169) #("root" 0 4 (:parent #173))) #(".config/guix/latest override).\n" 0 31 (:parent #169))) (paragraph (:begin 6398 :end 6416 :contents-begin 6398 :contents-end 6415 :post-blank 1 :post-affiliated 6398 :mode nil :granularity nil :parent #162) #("And install with\n" 0 17 (:parent #170))) (src-block (:language "bash" :switches nil :parameters nil :begin 6416 :end 6586 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 6416 :mode nil :granularity nil :parent #162)) (paragraph (:begin 6586 :end 6729 :contents-begin 6586 :contents-end 6728 :post-blank 1 :post-affiliated 6586 :mode nil :granularity nil :parent #162) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #172))) (paragraph (:begin 6729 :end 6925 :contents-begin 6729 :contents-end 6924 :post-blank 1 :post-affiliated 6729 :mode nil :granularity nil :parent #162) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #173))) (paragraph (:begin 6925 :end 7056 :contents-begin 6925 :contents-end 7055 :post-blank 1 :post-affiliated 6925 :mode nil :granularity nil :parent #162) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #174))) (src-block (:language "bash" :switches nil :parameters nil :begin 7056 :end 7235 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python2.7/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 7056 :mode nil :granularity nil :parent #162)) (paragraph (:begin 7235 :end 7304 :contents-begin 7235 :contents-end 7303 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #162) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #176))) (src-block (:language "bash" :switches nil :parameters nil :begin 7304 :end 7345 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 7304 :mode nil :granularity nil :parent #162)) (paragraph (:begin 7345 :end 7596 :contents-begin 7345 :contents-end 7595 :post-blank 1 :post-affiliated 7345 :mode nil :granularity nil :parent #162) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #178)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 7567 :end 7593 :contents-begin nil :contents-end nil :post-blank 0 :parent #178)) #(".\n" 0 2 (:parent #178))) (paragraph (:begin 7596 :end 7632 :contents-begin 7596 :contents-end 7632 :post-blank 0 :post-affiliated 7596 :mode nil :granularity nil :parent #162) #("End of the GN2 installation recipe!\n" 0 36 (:parent #179)))))) (headline (:raw-value "Run MySQL server" :begin 7633 :end 9008 :pre-blank 1 :contents-begin 7653 :contents-end 9007 :robust-begin 7655 :robust-end 9005 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7633 :title (#("Run MySQL server" 0 16 (:parent #153))) :mode nil :granularity nil :parent #146) (section (:begin 7653 :end 9008 :contents-begin 7653 :contents-end 9007 :robust-begin 7653 :robust-end 9005 :post-blank 1 :post-affiliated 7653 :mode section :granularity nil :parent #153) (paragraph (:begin 7653 :end 7928 :contents-begin 7653 :contents-end 7927 :post-blank 1 :post-affiliated 7653 :mode planning :granularity nil :parent #156) #("At this point we require the underlying distribution to install and\nrun mysqld. Currently we have two databases for deployment,\n'db" 0 131 (:parent #159)) (subscript (:begin 7784 :end 7791 :use-brackets-p nil :contents-begin 7785 :contents-end 7791 :post-blank 0 :parent #159) #("webqtl" 0 6 (:parent #163))) (subscript (:begin 7791 :end 7793 :use-brackets-p nil :contents-begin 7792 :contents-end 7793 :post-blank 0 :parent #159) #("s" 0 1 (:parent #164))) #("' is the small testing database containing experiments\nfrom BXD mice and 'db" 0 76 (:parent #159)) (subscript (:begin 7869 :end 7876 :use-brackets-p nil :contents-begin 7870 :contents-end 7876 :post-blank 0 :parent #159) #("webqtl" 0 6 (:parent #166))) (subscript (:begin 7876 :end 7882 :use-brackets-p nil :contents-begin 7877 :contents-end 7882 :post-blank 0 :parent #159) #("plant" 0 5 (:parent #167))) #("' which contains all plant related\nmaterial.\n" 0 45 (:parent #159))) (paragraph (:begin 7928 :end 7956 :contents-begin 7928 :contents-end 7955 :post-blank 1 :post-affiliated 7928 :mode nil :granularity nil :parent #156) #("Download one database from\n" 0 27 (:parent #160))) (paragraph (:begin 7956 :end 8054 :contents-begin 7956 :contents-end 8053 :post-blank 1 :post-affiliated 7956 :mode nil :granularity nil :parent #156) (link (:type "http" :path "//files.genenetwork.org/raw_database/" :format plain :raw-link "http://files.genenetwork.org/raw_database/" :application nil :search-option nil :begin 7956 :end 7998 :contents-begin nil :contents-end nil :post-blank 0 :parent #161)) #("\n" 0 1 (:parent #161)) (link (:type "https" :path "//s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :format plain :raw-link "https://s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :application nil :search-option nil :begin 7999 :end 8052 :contents-begin nil :contents-end nil :post-blank 0 :parent #161)) #("\n" 0 1 (:parent #161))) (paragraph (:begin 8054 :end 8073 :contents-begin 8054 :contents-end 8072 :post-blank 1 :post-affiliated 8054 :mode nil :granularity nil :parent #156) #("Check the md5sum.\n" 0 18 (:parent #162))) (paragraph (:begin 8073 :end 8195 :contents-begin 8073 :contents-end 8194 :post-blank 1 :post-affiliated 8073 :mode nil :granularity nil :parent #156) #("After installation inflate the database binary in the MySQL directory\n(this installation path is subject to change soon)\n" 0 121 (:parent #163))) (fixed-width (:begin 8195 :end 8283 :value "chown -R mysql:mysql db_webqtl_s/\nchmod 700 db_webqtl_s/\nchmod 660 db_webqtl_s/*" :post-blank 2 :post-affiliated 8195 :mode nil :granularity nil :parent #156)) (paragraph (:begin 8283 :end 8334 :contents-begin 8283 :contents-end 8333 :post-blank 1 :post-affiliated 8283 :mode nil :granularity nil :parent #156) #("restart MySQL service (mysqld). Login as root and\n" 0 50 (:parent #165))) (fixed-width (:begin 8334 :end 8560 :value "mysql> show databases;\n+--------------------+\n| Database |\n+--------------------+\n| information_schema |\n| db_webqtl_s |\n| mysql |\n| performance_schema |\n+--------------------+" :post-blank 2 :post-affiliated 8334 :mode nil :granularity nil :parent #156)) (paragraph (:begin 8560 :end 8625 :contents-begin 8560 :contents-end 8624 :post-blank 1 :post-affiliated 8560 :mode nil :granularity nil :parent #156) #("Set permissions and match password in your settings file below:\n" 0 64 (:parent #167))) (fixed-width (:begin 8625 :end 8724 :value "mysql> grant all privileges on db_webqtl_s.* to gn2@\"localhost\" identified by 'mysql_password';" :post-blank 2 :post-affiliated 8625 :mode nil :granularity nil :parent #156)) (paragraph (:begin 8724 :end 8875 :contents-begin 8724 :contents-end 8874 :post-blank 1 :post-affiliated 8724 :mode nil :granularity nil :parent #156) #("Note that if the mysql connection is not working, try connecting to\nthe IP address and check server firewall, hosts.allow and mysql IP\nconfiguration.\n" 0 150 (:parent #169))) (paragraph (:begin 8875 :end 9007 :contents-begin 8875 :contents-end 9007 :post-blank 0 :post-affiliated 8875 :mode nil :granularity nil :parent #156) #("Note for the plant database you can rename it to db" 0 51 (:parent #170)) (subscript (:begin 8926 :end 8933 :use-brackets-p nil :contents-begin 8927 :contents-end 8933 :post-blank 0 :parent #170) #("webqtl" 0 6 (:parent #174))) (subscript (:begin 8933 :end 8935 :use-brackets-p nil :contents-begin 8934 :contents-end 8935 :post-blank 0 :parent #170) #("s" 0 1 (:parent #175))) #(", or\nchange the settings in etc/default" 0 39 (:parent #170)) (subscript (:begin 8974 :end 8987 :use-brackets-p nil :contents-begin 8975 :contents-end 8986 :post-blank 1 :parent #170) #("settings.py" 0 11 (:parent #177))) #("to match your path.\n" 0 20 (:parent #170))))) (headline (:raw-value "GN2 Dependency Graph" :begin 9008 :end 9172 :pre-blank 1 :contents-begin 9032 :contents-end 9171 :robust-begin 9034 :robust-end 9169 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9008 :title (#("GN2 Dependency Graph" 0 20 (:parent #154))) :mode nil :granularity nil :parent #146) (section (:begin 9032 :end 9172 :contents-begin 9032 :contents-end 9171 :robust-begin 9032 :robust-end 9169 :post-blank 1 :post-affiliated 9032 :mode section :granularity nil :parent #154) (paragraph (:begin 9032 :end 9093 :contents-begin 9032 :contents-end 9092 :post-blank 1 :post-affiliated 9032 :mode planning :granularity nil :parent #157) #("Graph of all runtime dependencies as installed by GNU Guix.\n" 0 60 (:parent #160))) (paragraph (:begin 9093 :end 9171 :contents-begin 9123 :contents-end 9171 :post-blank 0 :post-affiliated 9123 :attr_html (":title GN2_graph") :mode nil :granularity nil :parent #157) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg" :format plain :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg" :application nil :search-option nil :begin 9123 :end 9170 :contents-begin nil :contents-end nil :post-blank 0 :parent #161)) #("\n" 0 1 (:parent #161))))) (headline (:raw-value "Source deployment" :begin 9172 :end 12840 :pre-blank 1 :contents-begin 9193 :contents-end 12839 :robust-begin 9195 :robust-end 12837 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9172 :title (#("Source deployment" 0 17 (:parent #155))) :mode nil :granularity nil :parent #146) (section (:begin 9193 :end 9612 :contents-begin 9193 :contents-end 9610 :robust-begin 9193 :robust-end 9608 :post-blank 2 :post-affiliated 9193 :mode section :granularity nil :parent #155) (paragraph (:begin 9193 :end 9274 :contents-begin 9193 :contents-end 9273 :post-blank 1 :post-affiliated 9193 :mode planning :granularity nil :parent #158) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #161))) (paragraph (:begin 9274 :end 9304 :contents-begin 9274 :contents-end 9303 :post-blank 1 :post-affiliated 9274 :mode nil :granularity nil :parent #158) #("First execute above 4 steps:\n" 0 29 (:parent #162))) (plain-list (:type unordered :begin 9304 :end 9610 :contents-begin 9304 :contents-end 9610 :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :post-blank 0 :post-affiliated 9304 :mode nil :granularity nil :parent #158) (item (:bullet "- " :begin 9304 :end 9364 :contents-begin 9309 :contents-end 9364 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9304 :tag nil :mode item :granularity nil :parent #163) (paragraph (:begin 9309 :end 9364 :contents-begin 9309 :contents-end 9364 :post-blank 0 :post-affiliated 9309 :mode nil :granularity nil :parent #166) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 9309 :end 9363 :contents-begin 9337 :contents-end 9361 :post-blank 0 :parent #169) #("Step 1: Install GNU Guix" 0 24 (:parent #172))) #("\n" 0 1 (:parent #169)))) (item (:bullet "- " :begin 9364 :end 9458 :contents-begin 9369 :contents-end 9458 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9364 :tag nil :mode item :granularity nil :parent #163) (paragraph (:begin 9369 :end 9458 :contents-begin 9369 :contents-end 9458 :post-blank 0 :post-affiliated 9369 :mode nil :granularity nil :parent #167) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 9369 :end 9457 :contents-begin 9414 :contents-end 9455 :post-blank 0 :parent #170) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #173))) #("\n" 0 1 (:parent #170)))) (item (:bullet "- " :begin 9458 :end 9542 :contents-begin 9463 :contents-end 9542 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9458 :tag nil :mode item :granularity nil :parent #163) (paragraph (:begin 9463 :end 9542 :contents-begin 9463 :contents-end 9542 :post-blank 0 :post-affiliated 9463 :mode nil :granularity nil :parent #168) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 9463 :end 9541 :contents-begin 9503 :contents-end 9539 :post-blank 0 :parent #171) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #174))) #("\n" 0 1 (:parent #171)))) (item (:bullet "- " :begin 9542 :end 9610 :contents-begin 9547 :contents-end 9610 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9542 :tag nil :mode item :granularity nil :parent #163) (paragraph (:begin 9547 :end 9610 :contents-begin 9547 :contents-end 9610 :post-blank 0 :post-affiliated 9547 :mode nil :granularity nil :parent #169) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 9547 :end 9609 :contents-begin 9579 :contents-end 9607 :post-blank 0 :parent #172) #("Step 4: Install and run GN2 " 0 28 (:parent #175))) #("\n" 0 1 (:parent #172)))))) (headline (:raw-value "Run your own copy of GN2" :begin 9612 :end 10722 :pre-blank 1 :contents-begin 9641 :contents-end 10721 :robust-begin 9643 :robust-end 10719 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9612 :title (#("Run your own copy of GN2" 0 24 (:parent #159))) :mode nil :granularity nil :parent #155) (section (:begin 9641 :end 10722 :contents-begin 9641 :contents-end 10721 :robust-begin 9641 :robust-end 10719 :post-blank 1 :post-affiliated 9641 :mode section :granularity nil :parent #159) (paragraph (:begin 9641 :end 9839 :contents-begin 9641 :contents-end 9838 :post-blank 1 :post-affiliated 9641 :mode planning :granularity nil :parent #162) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #165)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 9793 :end 9836 :contents-begin nil :contents-end nil :post-blank 0 :parent #165)) #(".\n" 0 2 (:parent #165))) (paragraph (:begin 9839 :end 9964 :contents-begin 9839 :contents-end 9963 :post-blank 1 :post-affiliated 9839 :mode nil :granularity nil :parent #162) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #166)) (subscript (:begin 9896 :end 9902 :use-brackets-p nil :contents-begin 9897 :contents-end 9901 :post-blank 1 :parent #166) #("PATH" 0 4 (:parent #170))) #("and\nR" 0 5 (:parent #166)) (subscript (:begin 9907 :end 9912 :use-brackets-p nil :contents-begin 9908 :contents-end 9912 :post-blank 0 :parent #166) #("LIBS" 0 4 (:parent #172))) (subscript (:begin 9912 :end 9918 :use-brackets-p nil :contents-begin 9913 :contents-end 9917 :post-blank 1 :parent #166) #("SITE" 0 4 (:parent #173))) #("are set) from the information given by guix:\n" 0 45 (:parent #166))) (fixed-width (:begin 9964 :end 9995 :value "guix package --search-paths" :post-blank 2 :post-affiliated 9964 :mode nil :granularity nil :parent #162)) (paragraph (:begin 9995 :end 10019 :contents-begin 9995 :contents-end 10018 :post-blank 1 :post-affiliated 9995 :mode nil :granularity nil :parent #162) #("Inside the repository:\n" 0 23 (:parent #168))) (fixed-width (:begin 10019 :end 10059 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 10019 :mode nil :granularity nil :parent #162)) (paragraph (:begin 10059 :end 10303 :contents-begin 10059 :contents-end 10302 :post-blank 1 :post-affiliated 10059 :mode nil :granularity nil :parent #162) #("Will fire up your local repo " 0 29 (:parent #170)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 10088 :end 10111 :contents-begin nil :contents-end nil :post-blank 1 :parent #170)) #("using the\nsettings in ./etc/default" 0 35 (:parent #170)) (subscript (:begin 10146 :end 10158 :use-brackets-p nil :contents-begin 10147 :contents-end 10158 :post-blank 0 :parent #170) #("settings.py" 0 11 (:parent #176))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #170)) (subscript (:begin 10263 :end 10276 :use-brackets-p nil :contents-begin 10264 :contents-end 10275 :post-blank 1 :parent #170) #("settings.py" 0 11 (:parent #178))) #("and pass it into GN2 with\n" 0 26 (:parent #170))) (fixed-width (:begin 10303 :end 10346 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 10303 :mode nil :granularity nil :parent #162)) (paragraph (:begin 10346 :end 10492 :contents-begin 10346 :contents-end 10491 :post-blank 1 :post-affiliated 10346 :mode nil :granularity nil :parent #162) #("and everything " 0 15 (:parent #172)) (bold (:begin 10361 :end 10370 :post-blank 1 :contents-begin 10362 :contents-end 10368 :parent #172) #("should" 0 6 (:parent #176))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #172))) (paragraph (:begin 10492 :end 10620 :contents-begin 10492 :contents-end 10619 :post-blank 1 :post-affiliated 10492 :mode nil :granularity nil :parent #162) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #173))) (fixed-width (:begin 10620 :end 10721 :value "cat ~/.guix-profile/lib/python2.7/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 10620 :mode nil :granularity nil :parent #162)))) (headline (:raw-value "Set up nginx port forwarding" :begin 10722 :end 12840 :pre-blank 1 :contents-begin 10755 :contents-end 12839 :robust-begin 10757 :robust-end 12837 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 10722 :title (#("Set up nginx port forwarding" 0 28 (:parent #160))) :mode nil :granularity nil :parent #155) (section (:begin 10755 :end 12840 :contents-begin 10755 :contents-end 12839 :robust-begin 10755 :robust-end 12837 :post-blank 1 :post-affiliated 10755 :mode section :granularity nil :parent #160) (paragraph (:begin 10755 :end 10923 :contents-begin 10755 :contents-end 10922 :post-blank 1 :post-affiliated 10755 :mode planning :granularity nil :parent #163) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #166))) (paragraph (:begin 10923 :end 11063 :contents-begin 10923 :contents-end 11062 :post-blank 1 :post-affiliated 10923 :mode nil :granularity nil :parent #163) #("#+begin" 0 7 (:parent #167)) (subscript (:begin 10930 :end 10935 :use-brackets-p nil :contents-begin 10931 :contents-end 10934 :post-blank 1 :parent #167) #("src" 0 3 (:parent #171))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #167)) (subscript (:begin 10984 :end 10990 :use-brackets-p nil :contents-begin 10985 :contents-end 10989 :post-blank 1 :parent #167) #("name" 0 4 (:parent #173))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #167)) (subscript (:begin 11030 :end 11036 :use-brackets-p nil :contents-begin 11031 :contents-end 11034 :post-blank 2 :parent #167) #("log" 0 3 (:parent #175))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #167))) (paragraph (:begin 11063 :end 11232 :contents-begin 11063 :contents-end 11231 :post-blank 1 :post-affiliated 11063 :mode nil :granularity nil :parent #163) #(" proxy" 0 13 (:parent #168)) (subscript (:begin 11076 :end 11084 :use-brackets-p nil :contents-begin 11077 :contents-end 11084 :post-blank 0 :parent #168) #("connect" 0 7 (:parent #172))) (subscript (:begin 11084 :end 11099 :use-brackets-p nil :contents-begin 11085 :contents-end 11092 :post-blank 7 :parent #168) #("timeout" 0 7 (:parent #173))) #("3000;\n proxy" 0 19 (:parent #168)) (subscript (:begin 11118 :end 11123 :use-brackets-p nil :contents-begin 11119 :contents-end 11123 :post-blank 0 :parent #168) #("send" 0 4 (:parent #175))) (subscript (:begin 11123 :end 11141 :use-brackets-p nil :contents-begin 11124 :contents-end 11131 :post-blank 10 :parent #168) #("timeout" 0 7 (:parent #176))) #("3000;\n proxy" 0 19 (:parent #168)) (subscript (:begin 11160 :end 11165 :use-brackets-p nil :contents-begin 11161 :contents-end 11165 :post-blank 0 :parent #168) #("read" 0 4 (:parent #178))) (subscript (:begin 11165 :end 11183 :use-brackets-p nil :contents-begin 11166 :contents-end 11173 :post-blank 10 :parent #168) #("timeout" 0 7 (:parent #179))) #("3000;\n send" 0 18 (:parent #168)) (subscript (:begin 11201 :end 11225 :use-brackets-p nil :contents-begin 11202 :contents-end 11209 :post-blank 16 :parent #168) #("timeout" 0 7 (:parent #181))) #("3000;\n" 0 6 (:parent #168))) (paragraph (:begin 11232 :end 11632 :contents-begin 11232 :contents-end 11631 :post-blank 1 :post-affiliated 11232 :mode nil :granularity nil :parent #163) #(" location / {\n proxy" 0 38 (:parent #169)) (subscript (:begin 11270 :end 11274 :use-brackets-p nil :contents-begin 11271 :contents-end 11274 :post-blank 0 :parent #169) #("set" 0 3 (:parent #173))) (subscript (:begin 11274 :end 11284 :use-brackets-p nil :contents-begin 11275 :contents-end 11281 :post-blank 3 :parent #169) #("header" 0 6 (:parent #174))) #("Host $http" 0 15 (:parent #169)) (subscript (:begin 11299 :end 11304 :use-brackets-p nil :contents-begin 11300 :contents-end 11304 :post-blank 0 :parent #169) #("host" 0 4 (:parent #176))) #(";\n proxy" 0 19 (:parent #169)) (subscript (:begin 11323 :end 11327 :use-brackets-p nil :contents-begin 11324 :contents-end 11327 :post-blank 0 :parent #169) #("set" 0 3 (:parent #178))) (subscript (:begin 11327 :end 11337 :use-brackets-p nil :contents-begin 11328 :contents-end 11334 :post-blank 3 :parent #169) #("header" 0 6 (:parent #179))) #("Connection keep-alive;\n proxy" 0 40 (:parent #169)) (subscript (:begin 11377 :end 11381 :use-brackets-p nil :contents-begin 11378 :contents-end 11381 :post-blank 0 :parent #169) #("set" 0 3 (:parent #181))) (subscript (:begin 11381 :end 11391 :use-brackets-p nil :contents-begin 11382 :contents-end 11388 :post-blank 3 :parent #169) #("header" 0 6 (:parent #182))) #("X-Real-IP $remote" 0 17 (:parent #169)) (subscript (:begin 11408 :end 11413 :use-brackets-p nil :contents-begin 11409 :contents-end 11413 :post-blank 0 :parent #169) #("addr" 0 4 (:parent #184))) #(";\n proxy" 0 19 (:parent #169)) (subscript (:begin 11432 :end 11436 :use-brackets-p nil :contents-begin 11433 :contents-end 11436 :post-blank 0 :parent #169) #("set" 0 3 (:parent #186))) (subscript (:begin 11436 :end 11446 :use-brackets-p nil :contents-begin 11437 :contents-end 11443 :post-blank 3 :parent #169) #("header" 0 6 (:parent #187))) #("X-Forwarded-For $proxy" 0 22 (:parent #169)) (subscript (:begin 11468 :end 11472 :use-brackets-p nil :contents-begin 11469 :contents-end 11472 :post-blank 0 :parent #169) #("add" 0 3 (:parent #189))) (subscript (:begin 11472 :end 11474 :use-brackets-p nil :contents-begin 11473 :contents-end 11474 :post-blank 0 :parent #169) #("x" 0 1 (:parent #190))) (subscript (:begin 11474 :end 11484 :use-brackets-p nil :contents-begin 11475 :contents-end 11484 :post-blank 0 :parent #169) #("forwarded" 0 9 (:parent #191))) (subscript (:begin 11484 :end 11488 :use-brackets-p nil :contents-begin 11485 :contents-end 11488 :post-blank 0 :parent #169) #("for" 0 3 (:parent #192))) #(";\n proxy" 0 19 (:parent #169)) (subscript (:begin 11507 :end 11511 :use-brackets-p nil :contents-begin 11508 :contents-end 11511 :post-blank 0 :parent #169) #("set" 0 3 (:parent #194))) (subscript (:begin 11511 :end 11521 :use-brackets-p nil :contents-begin 11512 :contents-end 11518 :post-blank 3 :parent #169) #("header" 0 6 (:parent #195))) #("X-Forwarded-Host $server" 0 24 (:parent #169)) (subscript (:begin 11545 :end 11550 :use-brackets-p nil :contents-begin 11546 :contents-end 11550 :post-blank 0 :parent #169) #("name" 0 4 (:parent #197))) #(";\n proxy" 0 19 (:parent #169)) (subscript (:begin 11569 :end 11583 :use-brackets-p nil :contents-begin 11570 :contents-end 11574 :post-blank 9 :parent #169) #("pass" 0 4 (:parent #199))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 11583 :end 11604 :contents-begin nil :contents-end nil :post-blank 0 :parent #169)) #(";\n }\n}\n#+end" 0 19 (:parent #169)) (subscript (:begin 11623 :end 11628 :use-brackets-p nil :contents-begin 11624 :contents-end 11627 :post-blank 1 :parent #169) #("src" 0 3 (:parent #202))) #("js\n" 0 3 (:parent #169))) (paragraph (:begin 11632 :end 11671 :contents-begin 11632 :contents-end 11670 :post-blank 1 :post-affiliated 11632 :mode nil :granularity nil :parent #163) #("Install the nginx webserver (as root)\n" 0 38 (:parent #170))) (fixed-width (:begin 11671 :end 11696 :value "guix package -i nginx" :post-blank 2 :post-affiliated 11671 :mode nil :granularity nil :parent #163)) (paragraph (:begin 11696 :end 11777 :contents-begin 11696 :contents-end 11776 :post-blank 1 :post-affiliated 11696 :mode nil :granularity nil :parent #163) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #172))) (fixed-width (:begin 11777 :end 11964 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 11777 :mode nil :granularity nil :parent #163)) (paragraph (:begin 11964 :end 11979 :contents-begin 11964 :contents-end 11978 :post-blank 1 :post-affiliated 11964 :mode nil :granularity nil :parent #163) #("Use that path\n" 0 14 (:parent #174))) (fixed-width (:begin 11979 :end 12373 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 11979 :mode nil :granularity nil :parent #163)) (paragraph (:begin 12373 :end 12599 :contents-begin 12373 :contents-end 12599 :post-blank 0 :post-affiliated 12373 :mode nil :granularity nil :parent #163) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #176))) (fixed-width (:begin 12599 :end 12646 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 12599 :mode nil :granularity nil :parent #163)) (paragraph (:begin 12646 :end 12657 :contents-begin 12646 :contents-end 12656 :post-blank 1 :post-affiliated 12646 :mode nil :granularity nil :parent #163) #("Make dirs\n" 0 10 (:parent #178))) (fixed-width (:begin 12657 :end 12691 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 12657 :mode nil :granularity nil :parent #163)) (paragraph (:begin 12691 :end 12702 :contents-begin 12691 :contents-end 12701 :post-blank 1 :post-affiliated 12691 :mode nil :granularity nil :parent #163) #("Add users\n" 0 10 (:parent #180))) (fixed-width (:begin 12702 :end 12738 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 12702 :mode nil :granularity nil :parent #163)) (paragraph (:begin 12738 :end 12749 :contents-begin 12738 :contents-end 12748 :post-blank 1 :post-affiliated 12738 :mode nil :granularity nil :parent #163) #("Run nginx\n" 0 10 (:parent #182))) (fixed-width (:begin 12749 :end 12839 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 12749 :mode nil :granularity nil :parent #163))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 12840 :end 13801 :pre-blank 1 :contents-begin 12902 :contents-end 13801 :robust-begin 12904 :robust-end 13799 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12840 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #156))) :mode nil :granularity nil :parent #146) (section (:begin 12902 :end 12959 :contents-begin 12902 :contents-end 12958 :robust-begin 12902 :robust-end 12956 :post-blank 1 :post-affiliated 12902 :mode section :granularity nil :parent #156) (paragraph (:begin 12902 :end 12958 :contents-begin 12902 :contents-end 12958 :post-blank 0 :post-affiliated 12902 :mode planning :granularity nil :parent #159) #("See the document " 0 17 (:parent #162)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 12919 :end 12956 :contents-begin nil :contents-end nil :post-blank 0 :parent #162)) #(".\n" 0 2 (:parent #162)))) (headline (:raw-value "Update to recent guix" :begin 12959 :end 13409 :pre-blank 1 :contents-begin 12985 :contents-end 13408 :robust-begin 12987 :robust-end 13406 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12959 :title (#("Update to recent guix" 0 21 (:parent #160))) :mode nil :granularity nil :parent #156) (section (:begin 12985 :end 13409 :contents-begin 12985 :contents-end 13408 :robust-begin 12985 :robust-end 13406 :post-blank 1 :post-affiliated 12985 :mode section :granularity nil :parent #160) (paragraph (:begin 12985 :end 13020 :contents-begin 12985 :contents-end 13019 :post-blank 1 :post-affiliated 12985 :mode planning :granularity nil :parent #163) #("We now compile Guix from scratch.\n" 0 34 (:parent #166))) (paragraph (:begin 13020 :end 13295 :contents-begin 13020 :contents-end 13294 :post-blank 1 :post-affiliated 13020 :mode nil :granularity nil :parent #163) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #167)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 13159 :end 13272 :contents-begin 13264 :contents-end 13269 :post-blank 1 :parent #167) #("these" 0 5 (:parent #171))) #("steps carefully after\n" 0 22 (:parent #167))) (fixed-width (:begin 13295 :end 13330 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 13295 :mode nil :granularity nil :parent #163)) (paragraph (:begin 13330 :end 13408 :contents-begin 13330 :contents-end 13408 :post-blank 0 :post-affiliated 13330 :mode nil :granularity nil :parent #163) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #169))))) (headline (:raw-value "Install GN2" :begin 13409 :end 13801 :pre-blank 1 :contents-begin 13425 :contents-end 13801 :robust-begin 13427 :robust-end 13799 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 13409 :title (#("Install GN2" 0 11 (:parent #161))) :mode nil :granularity nil :parent #156) (section (:begin 13425 :end 13801 :contents-begin 13425 :contents-end 13801 :robust-begin 13425 :robust-end 13799 :post-blank 0 :post-affiliated 13425 :mode section :granularity nil :parent #161) (paragraph (:begin 13425 :end 13468 :contents-begin 13425 :contents-end 13467 :post-blank 1 :post-affiliated 13425 :mode planning :granularity nil :parent #164) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #167))) (paragraph (:begin 13468 :end 13676 :contents-begin 13468 :contents-end 13675 :post-blank 1 :post-affiliated 13468 :mode nil :granularity nil :parent #164) #("#+begin" 0 7 (:parent #168)) (subscript (:begin 13475 :end 13480 :use-brackets-p nil :contents-begin 13476 :contents-end 13479 :post-blank 1 :parent #168) #("src" 0 3 (:parent #172))) #("bash\nenv GUIX" 0 13 (:parent #168)) (subscript (:begin 13493 :end 13501 :use-brackets-p nil :contents-begin 13494 :contents-end 13501 :post-blank 0 :parent #168) #("PACKAGE" 0 7 (:parent #174))) (subscript (:begin 13501 :end 13506 :use-brackets-p nil :contents-begin 13502 :contents-end 13506 :post-blank 0 :parent #168) #("PATH" 0 4 (:parent #175))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #168)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 13605 :end 13633 :contents-begin nil :contents-end nil :post-blank 1 :parent #168)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 13633 :end 13658 :contents-begin nil :contents-end nil :post-blank 0 :parent #168)) #("\"\n#+end" 0 7 (:parent #168)) (subscript (:begin 13665 :end 13670 :use-brackets-p nil :contents-begin 13666 :contents-end 13669 :post-blank 1 :parent #168) #("src" 0 3 (:parent #180))) #("bash\n" 0 5 (:parent #168))) (paragraph (:begin 13676 :end 13714 :contents-begin 13676 :contents-end 13713 :post-blank 1 :post-affiliated 13676 :mode nil :granularity nil :parent #164) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #169))) (paragraph (:begin 13714 :end 13801 :contents-begin 13714 :contents-end 13801 :post-blank 0 :post-affiliated 13714 :mode nil :granularity nil :parent #164) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #170)))))))) #76)) #52)) #20 (item (:bullet "- " :begin 156 :end 521 :contents-begin 159 :contents-end 521 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 156 :tag nil :mode item :granularity nil :parent #52) (paragraph (:begin 159 :end 217 :contents-begin 159 :contents-end 217 :post-blank 0 :post-affiliated 159 :mode nil :granularity nil :parent #56) (link (:type "custom-id" :path "quick-installation-recipe" :format bracket :raw-link "#quick-installation-recipe" :application nil :search-option nil :begin 159 :end 216 :contents-begin 189 :contents-end 214 :post-blank 0 :parent #59) #("Quick installation recipe" 0 25 (:parent #62))) #("\n" 0 1 (:parent #59))) (plain-list (:type unordered :begin 217 :end 521 :contents-begin 217 :contents-end 521 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 217 :mode nil :granularity nil :parent #56) (item (:bullet "- " :begin 217 :end 277 :contents-begin 222 :contents-end 277 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 217 :tag nil :mode item :granularity nil :parent #60) (paragraph (:begin 222 :end 277 :contents-begin 222 :contents-end 277 :post-blank 0 :post-affiliated 222 :mode nil :granularity nil :parent #63) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 222 :end 276 :contents-begin 250 :contents-end 274 :post-blank 0 :parent #66) #("Step 1: Install GNU Guix" 0 24 (:parent #69))) #("\n" 0 1 (:parent #66)))) (item (:bullet "- " :begin 277 :end 371 :contents-begin 282 :contents-end 371 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 277 :tag nil :mode item :granularity nil :parent #60) (paragraph (:begin 282 :end 371 :contents-begin 282 :contents-end 371 :post-blank 0 :post-affiliated 282 :mode nil :granularity nil :parent #64) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 282 :end 370 :contents-begin 327 :contents-end 368 :post-blank 0 :parent #67) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #70))) #("\n" 0 1 (:parent #67)))) (item (:bullet "- " :begin 371 :end 455 :contents-begin 376 :contents-end 455 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 371 :tag nil :mode item :granularity nil :parent #60) (paragraph (:begin 376 :end 455 :contents-begin 376 :contents-end 455 :post-blank 0 :post-affiliated 376 :mode nil :granularity nil :parent #65) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 376 :end 454 :contents-begin 416 :contents-end 452 :post-blank 0 :parent #68) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #71))) #("\n" 0 1 (:parent #68)))) (item (:bullet "- " :begin 455 :end 521 :contents-begin 460 :contents-end 521 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 455 :tag nil :mode item :granularity nil :parent #60) (paragraph (:begin 460 :end 521 :contents-begin 460 :contents-end 521 :post-blank 0 :post-affiliated 460 :mode nil :granularity nil :parent #66) (link (:type "custom-id" :path "step-4-install-and-run-gn2" :format bracket :raw-link "#step-4-install-and-run-gn2" :application nil :search-option nil :begin 460 :end 520 :contents-begin 491 :contents-end 518 :post-blank 0 :parent #69) #("Step 4: Install and run GN2" 0 27 (:parent #72))) #("\n" 0 1 (:parent #69)))))) (item (:bullet "- " :begin 521 :end 564 :contents-begin 524 :contents-end 564 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 521 :tag nil :mode item :granularity nil :parent #52) (paragraph (:begin 524 :end 564 :contents-begin 524 :contents-end 564 :post-blank 0 :post-affiliated 524 :mode nil :granularity nil :parent #57) (link (:type "custom-id" :path "run-mysql-server" :format bracket :raw-link "#run-mysql-server" :application nil :search-option nil :begin 524 :end 563 :contents-begin 545 :contents-end 561 :post-blank 0 :parent #60) #("Run MySQL server" 0 16 (:parent #63))) #("\n" 0 1 (:parent #60)))) (item (:bullet "- " :begin 564 :end 615 :contents-begin 567 :contents-end 615 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 564 :tag nil :mode item :granularity nil :parent #52) (paragraph (:begin 567 :end 615 :contents-begin 567 :contents-end 615 :post-blank 0 :post-affiliated 567 :mode nil :granularity nil :parent #58) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 567 :end 614 :contents-begin 592 :contents-end 612 :post-blank 0 :parent #61) #("GN2 Dependency Graph" 0 20 (:parent #64))) #("\n" 0 1 (:parent #61)))) (item (:bullet "- " :begin 615 :end 790 :contents-begin 618 :contents-end 790 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 615 :tag nil :mode item :granularity nil :parent #52) (paragraph (:begin 618 :end 660 :contents-begin 618 :contents-end 660 :post-blank 0 :post-affiliated 618 :mode nil :granularity nil :parent #59) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 618 :end 659 :contents-begin 640 :contents-end 657 :post-blank 0 :parent #62) #("Source deployment" 0 17 (:parent #65))) #("\n" 0 1 (:parent #62))) (plain-list (:type unordered :begin 660 :end 790 :contents-begin 660 :contents-end 790 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 660 :mode nil :granularity nil :parent #59) (item (:bullet "- " :begin 660 :end 721 :contents-begin 665 :contents-end 721 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 660 :tag nil :mode item :granularity nil :parent #63) (paragraph (:begin 665 :end 721 :contents-begin 665 :contents-end 721 :post-blank 0 :post-affiliated 665 :mode nil :granularity nil :parent #66) (link (:type "custom-id" :path "run-your-own-copy-of-gn2" :format bracket :raw-link "#run-your-own-copy-of-gn2" :application nil :search-option nil :begin 665 :end 720 :contents-begin 694 :contents-end 718 :post-blank 0 :parent #69) #("Run your own copy of GN2" 0 24 (:parent #72))) #("\n" 0 1 (:parent #69)))) (item (:bullet "- " :begin 721 :end 790 :contents-begin 726 :contents-end 790 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 721 :tag nil :mode item :granularity nil :parent #63) (paragraph (:begin 726 :end 790 :contents-begin 726 :contents-end 790 :post-blank 0 :post-affiliated 726 :mode nil :granularity nil :parent #67) (link (:type "custom-id" :path "set-up-nginx-port-forwarding" :format bracket :raw-link "#set-up-nginx-port-forwarding" :application nil :search-option nil :begin 726 :end 789 :contents-begin 759 :contents-end 787 :post-blank 0 :parent #70) #("Set up nginx port forwarding" 0 28 (:parent #73))) #("\n" 0 1 (:parent #70)))))) (item (:bullet "- " :begin 790 :end 1034 :contents-begin 793 :contents-end 1034 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 790 :tag nil :mode item :granularity nil :parent #52) (paragraph (:begin 793 :end 917 :contents-begin 793 :contents-end 917 :post-blank 0 :post-affiliated 793 :mode nil :granularity nil :parent #60) (link (:type "custom-id" :path "source-deployment-and-other-information-on-reproducibility" :format bracket :raw-link "#source-deployment-and-other-information-on-reproducibility" :application nil :search-option nil :begin 793 :end 916 :contents-begin 856 :contents-end 914 :post-blank 0 :parent #63) #("Source deployment and other information on reproducibility" 0 58 (:parent #66))) #("\n" 0 1 (:parent #63))) (plain-list (:type unordered :begin 917 :end 1034 :contents-begin 917 :contents-end 1034 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 917 :mode nil :granularity nil :parent #60) (item (:bullet "- " :begin 917 :end 972 :contents-begin 922 :contents-end 972 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 917 :tag nil :mode item :granularity nil :parent #64) (paragraph (:begin 922 :end 972 :contents-begin 922 :contents-end 972 :post-blank 0 :post-affiliated 922 :mode nil :granularity nil :parent #67) (link (:type "custom-id" :path "update-to-recent-guix" :format bracket :raw-link "#update-to-recent-guix" :application nil :search-option nil :begin 922 :end 971 :contents-begin 948 :contents-end 969 :post-blank 0 :parent #70) #("Update to recent guix" 0 21 (:parent #73))) #("\n" 0 1 (:parent #70)))) (item (:bullet "- " :begin 972 :end 1007 :contents-begin 977 :contents-end 1007 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 972 :tag nil :mode item :granularity nil :parent #64) (paragraph (:begin 977 :end 1007 :contents-begin 977 :contents-end 1007 :post-blank 0 :post-affiliated 977 :mode nil :granularity nil :parent #68) (link (:type "custom-id" :path "install-gn2" :format bracket :raw-link "#install-gn2" :application nil :search-option nil :begin 977 :end 1006 :contents-begin 993 :contents-end 1004 :post-blank 0 :parent #71) #("Install GN2" 0 11 (:parent #74))) #("\n" 0 1 (:parent #71)))) (item (:bullet "- " :begin 1007 :end 1034 :contents-begin 1012 :contents-end 1034 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1007 :tag nil :mode item :granularity nil :parent #64) (paragraph (:begin 1012 :end 1034 :contents-begin 1012 :contents-end 1034 :post-blank 0 :post-affiliated 1012 :mode nil :granularity nil :parent #69) (link (:type "custom-id" :path "run-gn2" :format bracket :raw-link "#run-gn2" :application nil :search-option nil :begin 1012 :end 1033 :contents-begin 1024 :contents-end 1031 :post-blank 0 :parent #72) #("Run GN2" 0 7 (:parent #75))) #("\n" 0 1 (:parent #72)))))) (item (:bullet "- " :begin 1034 :end 1370 :contents-begin 1037 :contents-end 1370 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1034 :tag nil :mode item :granularity nil :parent #52) (paragraph (:begin 1037 :end 1077 :contents-begin 1037 :contents-end 1077 :post-blank 0 :post-affiliated 1037 :mode nil :granularity nil :parent #61) (link (:type "custom-id" :path "trouble-shooting" :format bracket :raw-link "#trouble-shooting" :application nil :search-option nil :begin 1037 :end 1076 :contents-begin 1058 :contents-end 1074 :post-blank 0 :parent #64) #("Trouble shooting" 0 16 (:parent #67))) #("\n" 0 1 (:parent #64))) (plain-list (:type unordered :begin 1077 :end 1370 :contents-begin 1077 :contents-end 1370 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 1077 :mode nil :granularity nil :parent #61) (item (:bullet "- " :begin 1077 :end 1159 :contents-begin 1082 :contents-end 1159 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1077 :tag nil :mode item :granularity nil :parent #65) (paragraph (:begin 1082 :end 1159 :contents-begin 1082 :contents-end 1159 :post-blank 0 :post-affiliated 1082 :mode nil :granularity nil :parent #68) (link (:type "custom-id" :path "importerror-no-module-named-jinja2" :format bracket :raw-link "#importerror-no-module-named-jinja2" :application nil :search-option nil :begin 1082 :end 1158 :contents-begin 1121 :contents-end 1156 :post-blank 0 :parent #71) #("ImportError: No module named jinja2" 0 35 (:parent #74))) #("\n" 0 1 (:parent #71)))) (item (:bullet "- " :begin 1159 :end 1257 :contents-begin 1164 :contents-end 1257 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1159 :tag nil :mode item :granularity nil :parent #65) (paragraph (:begin 1164 :end 1257 :contents-begin 1164 :contents-end 1257 :post-blank 0 :post-affiliated 1164 :mode nil :granularity nil :parent #69) (link (:type "custom-id" :path "error-can-not-find-directory-homegn2_data" :format bracket :raw-link "#error-can-not-find-directory-homegn2_data" :application nil :search-option nil :begin 1164 :end 1256 :contents-begin 1210 :contents-end 1254 :post-blank 0 :parent #72) #("ERROR: can not find directory $HOME/gn2" 0 39 (:parent #75)) (subscript (:begin 1249 :end 1254 :use-brackets-p nil :contents-begin 1250 :contents-end 1254 :post-blank 0 :parent #75) #("data" 0 4 (:parent #79)))) #("\n" 0 1 (:parent #72)))) (item (:bullet "- " :begin 1257 :end 1305 :contents-begin 1262 :contents-end 1305 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1257 :tag nil :mode item :granularity nil :parent #65) (paragraph (:begin 1262 :end 1305 :contents-begin 1262 :contents-end 1305 :post-blank 0 :post-affiliated 1262 :mode nil :granularity nil :parent #70) (link (:type "custom-id" :path "cant-run-a-module" :format bracket :raw-link "#cant-run-a-module" :application nil :search-option nil :begin 1262 :end 1304 :contents-begin 1284 :contents-end 1302 :post-blank 0 :parent #73) #("Can't run a module" 0 18 (:parent #76))) #("\n" 0 1 (:parent #73)))) (item (:bullet "- " :begin 1305 :end 1370 :contents-begin 1310 :contents-end 1370 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1305 :tag nil :mode item :granularity nil :parent #65) (paragraph (:begin 1310 :end 1370 :contents-begin 1310 :contents-end 1370 :post-blank 0 :post-affiliated 1310 :mode nil :granularity nil :parent #71) (link (:type "custom-id" :path "rpy2-error-show-now-found" :format bracket :raw-link "#rpy2-error-show-now-found" :application nil :search-option nil :begin 1310 :end 1369 :contents-begin 1340 :contents-end 1367 :post-blank 0 :parent #74) #("Rpy2 error 'show' now found" 0 27 (:parent #77))) #("\n" 0 1 (:parent #74)))))) (item (:bullet "- " :begin 1370 :end 1403 :contents-begin 1373 :contents-end 1403 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1370 :tag nil :mode item :granularity nil :parent #52) (paragraph (:begin 1373 :end 1403 :contents-begin 1373 :contents-end 1403 :post-blank 0 :post-affiliated 1373 :mode nil :granularity nil :parent #62) (link (:type "custom-id" :path "irc-session" :format bracket :raw-link "#irc-session" :application nil :search-option nil :begin 1373 :end 1402 :contents-begin 1389 :contents-end 1400 :post-blank 0 :parent #65) #("IRC session" 0 11 (:parent #68))) #("\n" 0 1 (:parent #65)))))) #0)) (link (:type "custom-id" :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil :begin 124 :end 155 :contents-begin 141 :contents-end 153 :post-blank 0 :parent #0) #("Introduction" 0 12 (:parent #3))) #("\n" 0 1 (:parent #0))) (:export-options (body-only) :back-end #s(org-export-backend :name html :parent nil :transcoders ((bold . org-html-bold) (center-block . org-html-center-block) (clock . org-html-clock) (code . org-html-code) (drawer . org-html-drawer) (dynamic-block . org-html-dynamic-block) (entity . org-html-entity) (example-block . org-html-example-block) (export-block . org-html-export-block) (export-snippet . org-html-export-snippet) (fixed-width . org-html-fixed-width) (footnote-reference . org-html-footnote-reference) (headline . org-html-headline) (horizontal-rule . org-html-horizontal-rule) (inline-src-block . org-html-inline-src-block) (inlinetask . org-html-inlinetask) (inner-template . org-html-inner-template) (italic . org-html-italic) (item . org-html-item) (keyword . org-html-keyword) (latex-environment . org-html-latex-environment) (latex-fragment . org-html-latex-fragment) (line-break . org-html-line-break) (link . org-html-link) (node-property . org-html-node-property) (paragraph . org-html-paragraph) (plain-list . org-html-plain-list) (plain-text . org-html-plain-text) (planning . org-html-planning) (property-drawer . org-html-property-drawer) (quote-block . org-html-quote-block) (radio-target . org-html-radio-target) (section . org-html-section) (special-block . org-html-special-block) (src-block . org-html-src-block) (statistics-cookie . org-html-statistics-cookie) (strike-through . org-html-strike-through) (subscript . org-html-subscript) (superscript . org-html-superscript) (table . org-html-table) (table-cell . org-html-table-cell) (table-row . org-html-table-row) (target . org-html-target) (template . org-html-template) (timestamp . org-html-timestamp) (underline . org-html-underline) (verbatim . org-html-verbatim) (verse-block . org-html-verse-block)) :options ((:html-doctype "HTML_DOCTYPE" nil org-html-doctype) (:html-container "HTML_CONTAINER" nil org-html-container-element) (:html-content-class "HTML_CONTENT_CLASS" nil org-html-content-class) (:description "DESCRIPTION" nil nil newline) (:keywords "KEYWORDS" nil nil space) (:html-html5-fancy nil "html5-fancy" org-html-html5-fancy) (:html-link-use-abs-url nil "html-link-use-abs-url" org-html-link-use-abs-url) (:html-link-home "HTML_LINK_HOME" nil org-html-link-home) (:html-link-up "HTML_LINK_UP" nil org-html-link-up) (:html-mathjax "HTML_MATHJAX" nil "" space) (:html-equation-reference-format "HTML_EQUATION_REFERENCE_FORMAT" nil org-html-equation-reference-format t) (:html-postamble nil "html-postamble" org-html-postamble) (:html-preamble nil "html-preamble" org-html-preamble) (:html-head "HTML_HEAD" nil org-html-head newline) (:html-head-extra "HTML_HEAD_EXTRA" nil org-html-head-extra newline) (:subtitle "SUBTITLE" nil nil parse) (:html-head-include-default-style nil "html-style" org-html-head-include-default-style) (:html-head-include-scripts nil "html-scripts" org-html-head-include-scripts) (:html-allow-name-attribute-in-anchors nil nil org-html-allow-name-attribute-in-anchors) (:html-divs nil nil org-html-divs) (:html-checkbox-type nil nil org-html-checkbox-type) (:html-extension nil nil org-html-extension) (:html-footnote-format nil nil org-html-footnote-format) (:html-footnote-separator nil nil org-html-footnote-separator) (:html-footnotes-section nil nil org-html-footnotes-section) (:html-format-drawer-function nil nil org-html-format-drawer-function) (:html-format-headline-function nil nil org-html-format-headline-function) (:html-format-inlinetask-function nil nil org-html-format-inlinetask-function) (:html-home/up-format nil nil org-html-home/up-format) (:html-indent nil nil org-html-indent) (:html-infojs-options nil nil org-html-infojs-options) (:html-infojs-template nil nil org-html-infojs-template) (:html-inline-image-rules nil nil org-html-inline-image-rules) (:html-link-org-files-as-html nil nil org-html-link-org-files-as-html) (:html-mathjax-options nil nil org-html-mathjax-options) (:html-mathjax-template nil nil org-html-mathjax-template) (:html-metadata-timestamp-format nil nil org-html-metadata-timestamp-format) (:html-postamble-format nil nil org-html-postamble-format) (:html-preamble-format nil nil org-html-preamble-format) (:html-prefer-user-labels nil nil org-html-prefer-user-labels) (:html-self-link-headlines nil nil org-html-self-link-headlines) (:html-table-align-individual-fields nil nil org-html-table-align-individual-fields) (:html-table-caption-above nil nil org-html-table-caption-above) (:html-table-data-tags nil nil org-html-table-data-tags) (:html-table-header-tags nil nil org-html-table-header-tags) (:html-table-use-header-tags-for-first-column nil nil org-html-table-use-header-tags-for-first-column) (:html-tag-class-prefix nil nil org-html-tag-class-prefix) (:html-text-markup-alist nil nil org-html-text-markup-alist) (:html-todo-kwd-class-prefix nil nil org-html-todo-kwd-class-prefix) (:html-toplevel-hlevel nil nil org-html-toplevel-hlevel) (:html-use-infojs nil nil org-html-use-infojs) (:html-validation-link nil nil org-html-validation-link) (:html-viewport nil nil org-html-viewport) (:html-inline-images nil nil org-html-inline-images) (:html-table-attributes nil nil org-html-table-default-attributes) (:html-table-row-open-tag nil nil org-html-table-row-open-tag) (:html-table-row-close-tag nil nil org-html-table-row-close-tag) (:html-xml-declaration nil nil org-html-xml-declaration) (:html-wrap-src-lines nil nil org-html-wrap-src-lines) (:html-klipsify-src nil nil org-html-klipsify-src) (:html-klipse-css nil nil org-html-klipse-css) (:html-klipse-js nil nil org-html-klipse-js) (:html-klipse-selection-script nil nil org-html-klipse-selection-script) (:infojs-opt "INFOJS_OPT" nil nil) (:creator "CREATOR" nil org-html-creator-string) (:with-latex nil "tex" org-html-with-latex) (:latex-header "LATEX_HEADER" nil nil newline)) :filters ((:filter-options . org-html-infojs-install-script) (:filter-parse-tree . org-html-image-link-filter) (:filter-final-output . org-html-final-function)) :blocks nil :menu (104 "Export to HTML" ((72 "As HTML buffer" org-html-export-as-html) (104 "As HTML file" org-html-export-to-html) (111 "As HTML file and open" (lambda (a s v b) (if a (org-html-export-to-html t s v b) (org-open-file (org-html-export-to-html nil s v b)))))))) :translate-alist ((bold . org-html-bold) (center-block . org-html-center-block) (clock . org-html-clock) (code . org-html-code) (drawer . org-html-drawer) (dynamic-block . org-html-dynamic-block) (entity . org-html-entity) (example-block . org-html-example-block) (export-block . org-html-export-block) (export-snippet . org-html-export-snippet) (fixed-width . org-html-fixed-width) (footnote-reference . org-html-footnote-reference) (headline . org-html-headline) (horizontal-rule . org-html-horizontal-rule) (inline-src-block . org-html-inline-src-block) (inlinetask . org-html-inlinetask) (inner-template . org-html-inner-template) (italic . org-html-italic) (item . org-html-item) (keyword . org-html-keyword) (latex-environment . org-html-latex-environment) (latex-fragment . org-html-latex-fragment) (line-break . org-html-line-break) (link . org-html-link) (node-property . org-html-node-property) (paragraph . org-html-paragraph) (plain-list . org-html-plain-list) (plain-text . org-html-plain-text) (planning . org-html-planning) (property-drawer . org-html-property-drawer) (quote-block . org-html-quote-block) (radio-target . org-html-radio-target) (section . org-html-section) (special-block . org-html-special-block) (src-block . org-html-src-block) (statistics-cookie . org-html-statistics-cookie) (strike-through . org-html-strike-through) (subscript . org-html-subscript) (superscript . org-html-superscript) (table . org-html-table) (table-cell . org-html-table-cell) (table-row . org-html-table-row) (target . org-html-target) (template . org-html-template) (timestamp . org-html-timestamp) (underline . org-html-underline) (verbatim . org-html-verbatim) (verse-block . org-html-verse-block)) :exported-data # :input-buffer " *temp*" :input-file nil :html-doctype "xhtml-strict" :html-container "div" :html-content-class "content" :description nil :keywords nil :html-html5-fancy nil :html-link-use-abs-url nil :html-link-home "" :html-link-up "" :html-mathjax "" :html-equation-reference-format "\\eqref{%s}" :html-postamble auto :html-preamble t :html-head "" :html-head-extra "" :subtitle nil :html-head-include-default-style t :html-head-include-scripts nil :html-allow-name-attribute-in-anchors nil :html-divs ((preamble "div" "preamble") (content "div" "content") (postamble "div" "postamble")) :html-checkbox-type ascii :html-extension "html" :html-footnote-format "%s" :html-footnote-separator ", " :html-footnotes-section "
\n

%s:

\n
\n%s\n
\n
" :html-format-drawer-function #f(compiled-function (name contents) #) :html-format-headline-function org-html-format-headline-default-function :html-format-inlinetask-function org-html-format-inlinetask-default-function :html-home/up-format "
\n UP \n |\n HOME \n
" :html-indent nil :html-infojs-options ((path . "https://orgmode.org/org-info.js") (view . "info") (toc . :with-toc) (ftoc . "0") (tdepth . "max") (sdepth . "max") (mouse . "underline") (buttons . "0") (ltoc . "1") (up . :html-link-up) (home . :html-link-home)) :html-infojs-template "\n\n" :html-inline-image-rules (("file" . "\\(?:\\.\\(?:gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)") ("http" . "\\(?:\\.\\(?:gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)") ("https" . "\\(?:\\.\\(?:gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)")) :html-link-org-files-as-html t :html-mathjax-options ((path "https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js") (scale 1.0) (align "center") (font "mathjax-modern") (overflow "overflow") (tags "ams") (indent "0em") (multlinewidth "85%") (tagindent ".8em") (tagside "right")) :html-mathjax-template "\n\n\n" :html-metadata-timestamp-format "%Y-%m-%d %a %H:%M" :html-postamble-format (("en" "

Author: %a (%e)

\n

Date: %d

\n

%c

\n

%v

")) :html-preamble-format (("en" "")) :html-prefer-user-labels nil :html-self-link-headlines nil :html-table-align-individual-fields t :html-table-caption-above t :html-table-data-tags ("" . "") :html-table-header-tags ("" . "") :html-table-use-header-tags-for-first-column nil :html-tag-class-prefix "" :html-text-markup-alist ((bold . "%s") (code . "%s") (italic . "%s") (strike-through . "%s") (underline . "%s") (verbatim . "%s")) :html-todo-kwd-class-prefix "" :html-toplevel-hlevel 2 :html-use-infojs when-configured :html-validation-link "Validate" :html-viewport ((width "device-width") (initial-scale "1") (minimum-scale "") (maximum-scale "") (user-scalable "")) :html-inline-images t :html-table-attributes (:border "2" :cellspacing "0" :cellpadding "6" :rules "groups" :frame "hsides") :html-table-row-open-tag "" :html-table-row-close-tag "" :html-xml-declaration (("html" . "") ("php" . "\"; ?>")) :html-wrap-src-lines nil :html-klipsify-src nil :html-klipse-css "https://storage.googleapis.com/app.klipse.tech/css/codemirror.css" :html-klipse-js "https://storage.googleapis.com/app.klipse.tech/plugin_prod/js/klipse_plugin.min.js" :html-klipse-selection-script "window.klipse_settings = {selector_eval_html: '.src-html',\n selector_eval_js: '.src-js',\n selector_eval_python_client: '.src-python',\n selector_eval_scheme: '.src-scheme',\n selector: '.src-clojure',\n selector_eval_ruby: '.src-ruby'};" :infojs-opt nil :creator "Emacs 29.4 (Org mode 9.6.15)" :with-latex t :latex-header nil :title (#("Installing GeneNetwork services" 0 31 (:parent #148))) :date nil :author (#("unknown" 0 7 (:parent #152))) :email "unknown@genenetwork-development" :language "en" :select-tags ("export") :exclude-tags ("noexport") :headline-levels 3 :preserve-breaks nil :section-numbers nil :time-stamp-file t :with-archived-trees headline :with-author t :with-broken-links nil :with-clocks nil :with-creator nil :with-date t :with-drawers (not "LOGBOOK") :with-email nil :with-emphasize t :with-entities t :with-fixed-width t :with-footnotes t :with-inlinetasks t :with-planning nil :with-priority nil :with-properties nil :with-smart-quotes nil :with-special-strings t :with-statistics-cookies t :with-sub-superscript t :with-toc nil :with-tables t :with-tags t :with-tasks t :with-timestamps t :with-title t :with-todo-keywords t :cite-export (basic nil nil) :bibliography nil :filter-body nil :filter-bold nil :filter-babel-call nil :filter-center-block nil :filter-clock nil :filter-code nil :filter-diary-sexp nil :filter-drawer nil :filter-dynamic-block nil :filter-entity nil :filter-example-block nil :filter-export-block nil :filter-export-snippet nil :filter-final-output (org-html-final-function) :filter-fixed-width nil :filter-footnote-definition nil :filter-footnote-reference nil :filter-headline nil :filter-horizontal-rule nil :filter-inline-babel-call nil :filter-inline-src-block nil :filter-inlinetask nil :filter-italic nil :filter-item nil :filter-keyword nil :filter-latex-environment nil :filter-latex-fragment nil :filter-line-break nil :filter-link nil :filter-node-property nil :filter-options (org-html-infojs-install-script) :filter-paragraph nil :filter-parse-tree (org-html-image-link-filter) :filter-plain-list nil :filter-plain-text nil :filter-planning nil :filter-property-drawer nil :filter-quote-block nil :filter-radio-target nil :filter-section nil :filter-special-block nil :filter-src-block nil :filter-statistics-cookie nil :filter-strike-through nil :filter-subscript nil :filter-superscript nil :filter-table nil :filter-table-cell nil :filter-table-row nil :filter-target nil :filter-timestamp nil :filter-underline nil :filter-verbatim nil :filter-verse-block nil :ignore-list nil :parse-tree (org-data (:begin 1 :contents-begin 1 :contents-end 13801 :end 13801 :robust-begin 3 :robust-end 13799 :post-blank 0 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 43 :contents-begin 1 :contents-end 42 :robust-begin 1 :robust-end 40 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #338) (keyword (:key "TITLE" :value "Installing GeneNetwork services" :begin 1 :end 42 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #341))) (headline (:raw-value "Table of Contents" :begin 43 :end 1404 :pre-blank 0 :contents-begin 121 :contents-end 1403 :robust-begin 123 :robust-end 1401 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 43 :title (#("Table of Contents" 0 17 (:parent #342))) :mode nil :granularity nil :parent #338) (section (:begin 121 :end 1404 :contents-begin 121 :contents-end 1403 :robust-begin 121 :robust-end 1401 :post-blank 1 :post-affiliated 121 :mode section :granularity nil :parent #342) (plain-list (:type unordered :begin 121 :end 1403 :contents-begin 121 :contents-end 1403 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 121 :mode planning :granularity nil :parent #345) (item (:bullet "- " :begin 121 :end 156 :contents-begin 124 :contents-end 156 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 121 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 124 :end 156 :contents-begin 124 :contents-end 156 :post-blank 0 :post-affiliated 124 :mode nil :granularity nil :parent #351) (link (:type "custom-id" :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil :begin 124 :end 155 :contents-begin 141 :contents-end 153 :post-blank 0 :parent #354) #("Introduction" 0 12 (:parent #357))) #("\n" 0 1 (:parent #354)))) (item (:bullet "- " :begin 156 :end 521 :contents-begin 159 :contents-end 521 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 156 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 159 :end 217 :contents-begin 159 :contents-end 217 :post-blank 0 :post-affiliated 159 :mode nil :granularity nil :parent #352) (link (:type "custom-id" :path "quick-installation-recipe" :format bracket :raw-link "#quick-installation-recipe" :application nil :search-option nil :begin 159 :end 216 :contents-begin 189 :contents-end 214 :post-blank 0 :parent #355) #("Quick installation recipe" 0 25 (:parent #358))) #("\n" 0 1 (:parent #355))) (plain-list (:type unordered :begin 217 :end 521 :contents-begin 217 :contents-end 521 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 217 :mode nil :granularity nil :parent #352) (item (:bullet "- " :begin 217 :end 277 :contents-begin 222 :contents-end 277 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 217 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 222 :end 277 :contents-begin 222 :contents-end 277 :post-blank 0 :post-affiliated 222 :mode nil :granularity nil :parent #359) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 222 :end 276 :contents-begin 250 :contents-end 274 :post-blank 0 :parent #362) #("Step 1: Install GNU Guix" 0 24 (:parent #365))) #("\n" 0 1 (:parent #362)))) (item (:bullet "- " :begin 277 :end 371 :contents-begin 282 :contents-end 371 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 277 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 282 :end 371 :contents-begin 282 :contents-end 371 :post-blank 0 :post-affiliated 282 :mode nil :granularity nil :parent #360) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 282 :end 370 :contents-begin 327 :contents-end 368 :post-blank 0 :parent #363) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #366))) #("\n" 0 1 (:parent #363)))) (item (:bullet "- " :begin 371 :end 455 :contents-begin 376 :contents-end 455 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 371 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 376 :end 455 :contents-begin 376 :contents-end 455 :post-blank 0 :post-affiliated 376 :mode nil :granularity nil :parent #361) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 376 :end 454 :contents-begin 416 :contents-end 452 :post-blank 0 :parent #364) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #367))) #("\n" 0 1 (:parent #364)))) (item (:bullet "- " :begin 455 :end 521 :contents-begin 460 :contents-end 521 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 455 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 460 :end 521 :contents-begin 460 :contents-end 521 :post-blank 0 :post-affiliated 460 :mode nil :granularity nil :parent #362) (link (:type "custom-id" :path "step-4-install-and-run-gn2" :format bracket :raw-link "#step-4-install-and-run-gn2" :application nil :search-option nil :begin 460 :end 520 :contents-begin 491 :contents-end 518 :post-blank 0 :parent #365) #("Step 4: Install and run GN2" 0 27 (:parent #368))) #("\n" 0 1 (:parent #365)))))) (item (:bullet "- " :begin 521 :end 564 :contents-begin 524 :contents-end 564 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 521 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 524 :end 564 :contents-begin 524 :contents-end 564 :post-blank 0 :post-affiliated 524 :mode nil :granularity nil :parent #353) (link (:type "custom-id" :path "run-mysql-server" :format bracket :raw-link "#run-mysql-server" :application nil :search-option nil :begin 524 :end 563 :contents-begin 545 :contents-end 561 :post-blank 0 :parent #356) #("Run MySQL server" 0 16 (:parent #359))) #("\n" 0 1 (:parent #356)))) (item (:bullet "- " :begin 564 :end 615 :contents-begin 567 :contents-end 615 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 564 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 567 :end 615 :contents-begin 567 :contents-end 615 :post-blank 0 :post-affiliated 567 :mode nil :granularity nil :parent #354) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 567 :end 614 :contents-begin 592 :contents-end 612 :post-blank 0 :parent #357) #("GN2 Dependency Graph" 0 20 (:parent #360))) #("\n" 0 1 (:parent #357)))) (item (:bullet "- " :begin 615 :end 790 :contents-begin 618 :contents-end 790 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 615 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 618 :end 660 :contents-begin 618 :contents-end 660 :post-blank 0 :post-affiliated 618 :mode nil :granularity nil :parent #355) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 618 :end 659 :contents-begin 640 :contents-end 657 :post-blank 0 :parent #358) #("Source deployment" 0 17 (:parent #361))) #("\n" 0 1 (:parent #358))) (plain-list (:type unordered :begin 660 :end 790 :contents-begin 660 :contents-end 790 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 660 :mode nil :granularity nil :parent #355) (item (:bullet "- " :begin 660 :end 721 :contents-begin 665 :contents-end 721 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 660 :tag nil :mode item :granularity nil :parent #359) (paragraph (:begin 665 :end 721 :contents-begin 665 :contents-end 721 :post-blank 0 :post-affiliated 665 :mode nil :granularity nil :parent #362) (link (:type "custom-id" :path "run-your-own-copy-of-gn2" :format bracket :raw-link "#run-your-own-copy-of-gn2" :application nil :search-option nil :begin 665 :end 720 :contents-begin 694 :contents-end 718 :post-blank 0 :parent #365) #("Run your own copy of GN2" 0 24 (:parent #368))) #("\n" 0 1 (:parent #365)))) (item (:bullet "- " :begin 721 :end 790 :contents-begin 726 :contents-end 790 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 721 :tag nil :mode item :granularity nil :parent #359) (paragraph (:begin 726 :end 790 :contents-begin 726 :contents-end 790 :post-blank 0 :post-affiliated 726 :mode nil :granularity nil :parent #363) (link (:type "custom-id" :path "set-up-nginx-port-forwarding" :format bracket :raw-link "#set-up-nginx-port-forwarding" :application nil :search-option nil :begin 726 :end 789 :contents-begin 759 :contents-end 787 :post-blank 0 :parent #366) #("Set up nginx port forwarding" 0 28 (:parent #369))) #("\n" 0 1 (:parent #366)))))) (item (:bullet "- " :begin 790 :end 1034 :contents-begin 793 :contents-end 1034 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 790 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 793 :end 917 :contents-begin 793 :contents-end 917 :post-blank 0 :post-affiliated 793 :mode nil :granularity nil :parent #356) (link (:type "custom-id" :path "source-deployment-and-other-information-on-reproducibility" :format bracket :raw-link "#source-deployment-and-other-information-on-reproducibility" :application nil :search-option nil :begin 793 :end 916 :contents-begin 856 :contents-end 914 :post-blank 0 :parent #359) #("Source deployment and other information on reproducibility" 0 58 (:parent #362))) #("\n" 0 1 (:parent #359))) (plain-list (:type unordered :begin 917 :end 1034 :contents-begin 917 :contents-end 1034 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 917 :mode nil :granularity nil :parent #356) (item (:bullet "- " :begin 917 :end 972 :contents-begin 922 :contents-end 972 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 917 :tag nil :mode item :granularity nil :parent #360) (paragraph (:begin 922 :end 972 :contents-begin 922 :contents-end 972 :post-blank 0 :post-affiliated 922 :mode nil :granularity nil :parent #363) (link (:type "custom-id" :path "update-to-recent-guix" :format bracket :raw-link "#update-to-recent-guix" :application nil :search-option nil :begin 922 :end 971 :contents-begin 948 :contents-end 969 :post-blank 0 :parent #366) #("Update to recent guix" 0 21 (:parent #369))) #("\n" 0 1 (:parent #366)))) (item (:bullet "- " :begin 972 :end 1007 :contents-begin 977 :contents-end 1007 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 972 :tag nil :mode item :granularity nil :parent #360) (paragraph (:begin 977 :end 1007 :contents-begin 977 :contents-end 1007 :post-blank 0 :post-affiliated 977 :mode nil :granularity nil :parent #364) (link (:type "custom-id" :path "install-gn2" :format bracket :raw-link "#install-gn2" :application nil :search-option nil :begin 977 :end 1006 :contents-begin 993 :contents-end 1004 :post-blank 0 :parent #367) #("Install GN2" 0 11 (:parent #370))) #("\n" 0 1 (:parent #367)))) (item (:bullet "- " :begin 1007 :end 1034 :contents-begin 1012 :contents-end 1034 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1007 :tag nil :mode item :granularity nil :parent #360) (paragraph (:begin 1012 :end 1034 :contents-begin 1012 :contents-end 1034 :post-blank 0 :post-affiliated 1012 :mode nil :granularity nil :parent #365) (link (:type "custom-id" :path "run-gn2" :format bracket :raw-link "#run-gn2" :application nil :search-option nil :begin 1012 :end 1033 :contents-begin 1024 :contents-end 1031 :post-blank 0 :parent #368) #("Run GN2" 0 7 (:parent #371))) #("\n" 0 1 (:parent #368)))))) (item (:bullet "- " :begin 1034 :end 1370 :contents-begin 1037 :contents-end 1370 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1034 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 1037 :end 1077 :contents-begin 1037 :contents-end 1077 :post-blank 0 :post-affiliated 1037 :mode nil :granularity nil :parent #357) (link (:type "custom-id" :path "trouble-shooting" :format bracket :raw-link "#trouble-shooting" :application nil :search-option nil :begin 1037 :end 1076 :contents-begin 1058 :contents-end 1074 :post-blank 0 :parent #360) #("Trouble shooting" 0 16 (:parent #363))) #("\n" 0 1 (:parent #360))) (plain-list (:type unordered :begin 1077 :end 1370 :contents-begin 1077 :contents-end 1370 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 1077 :mode nil :granularity nil :parent #357) (item (:bullet "- " :begin 1077 :end 1159 :contents-begin 1082 :contents-end 1159 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1077 :tag nil :mode item :granularity nil :parent #361) (paragraph (:begin 1082 :end 1159 :contents-begin 1082 :contents-end 1159 :post-blank 0 :post-affiliated 1082 :mode nil :granularity nil :parent #364) (link (:type "custom-id" :path "importerror-no-module-named-jinja2" :format bracket :raw-link "#importerror-no-module-named-jinja2" :application nil :search-option nil :begin 1082 :end 1158 :contents-begin 1121 :contents-end 1156 :post-blank 0 :parent #367) #("ImportError: No module named jinja2" 0 35 (:parent #370))) #("\n" 0 1 (:parent #367)))) (item (:bullet "- " :begin 1159 :end 1257 :contents-begin 1164 :contents-end 1257 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1159 :tag nil :mode item :granularity nil :parent #361) (paragraph (:begin 1164 :end 1257 :contents-begin 1164 :contents-end 1257 :post-blank 0 :post-affiliated 1164 :mode nil :granularity nil :parent #365) (link (:type "custom-id" :path "error-can-not-find-directory-homegn2_data" :format bracket :raw-link "#error-can-not-find-directory-homegn2_data" :application nil :search-option nil :begin 1164 :end 1256 :contents-begin 1210 :contents-end 1254 :post-blank 0 :parent #368) #("ERROR: can not find directory $HOME/gn2" 0 39 (:parent #371)) (subscript (:begin 1249 :end 1254 :use-brackets-p nil :contents-begin 1250 :contents-end 1254 :post-blank 0 :parent #371) #("data" 0 4 (:parent #375)))) #("\n" 0 1 (:parent #368)))) (item (:bullet "- " :begin 1257 :end 1305 :contents-begin 1262 :contents-end 1305 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1257 :tag nil :mode item :granularity nil :parent #361) (paragraph (:begin 1262 :end 1305 :contents-begin 1262 :contents-end 1305 :post-blank 0 :post-affiliated 1262 :mode nil :granularity nil :parent #366) (link (:type "custom-id" :path "cant-run-a-module" :format bracket :raw-link "#cant-run-a-module" :application nil :search-option nil :begin 1262 :end 1304 :contents-begin 1284 :contents-end 1302 :post-blank 0 :parent #369) #("Can't run a module" 0 18 (:parent #372))) #("\n" 0 1 (:parent #369)))) (item (:bullet "- " :begin 1305 :end 1370 :contents-begin 1310 :contents-end 1370 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1305 :tag nil :mode item :granularity nil :parent #361) (paragraph (:begin 1310 :end 1370 :contents-begin 1310 :contents-end 1370 :post-blank 0 :post-affiliated 1310 :mode nil :granularity nil :parent #367) (link (:type "custom-id" :path "rpy2-error-show-now-found" :format bracket :raw-link "#rpy2-error-show-now-found" :application nil :search-option nil :begin 1310 :end 1369 :contents-begin 1340 :contents-end 1367 :post-blank 0 :parent #370) #("Rpy2 error 'show' now found" 0 27 (:parent #373))) #("\n" 0 1 (:parent #370)))))) (item (:bullet "- " :begin 1370 :end 1403 :contents-begin 1373 :contents-end 1403 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1370 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 1373 :end 1403 :contents-begin 1373 :contents-end 1403 :post-blank 0 :post-affiliated 1373 :mode nil :granularity nil :parent #358) (link (:type "custom-id" :path "irc-session" :format bracket :raw-link "#irc-session" :application nil :search-option nil :begin 1373 :end 1402 :contents-begin 1389 :contents-end 1400 :post-blank 0 :parent #361) #("IRC session" 0 11 (:parent #364))) #("\n" 0 1 (:parent #361))))))) (headline (:raw-value "Introduction" :begin 1404 :end 2450 :pre-blank 1 :contents-begin 1420 :contents-end 2449 :robust-begin 1422 :robust-end 2447 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1404 :title (#("Introduction" 0 12 (:parent #343))) :mode nil :granularity nil :parent #338) (section (:begin 1420 :end 2450 :contents-begin 1420 :contents-end 2449 :robust-begin 1420 :robust-end 2447 :post-blank 1 :post-affiliated 1420 :mode section :granularity nil :parent #343) (paragraph (:begin 1420 :end 1557 :contents-begin 1420 :contents-end 1556 :post-blank 1 :post-affiliated 1420 :mode planning :granularity nil :parent #346) #("If you want to understand the architecture of GN2 read\n" 0 55 (:parent #349)) (link (:type "fuzzy" :path "Architecture.org" :format bracket :raw-link "Architecture.org" :application nil :search-option nil :begin 1475 :end 1495 :contents-begin nil :contents-end nil :post-blank 0 :parent #349)) #(". The rest of this document is mostly on deployment\nof GN2.\n" 0 61 (:parent #349))) (paragraph (:begin 1557 :end 1943 :contents-begin 1557 :contents-end 1942 :post-blank 1 :post-affiliated 1557 :mode nil :granularity nil :parent #346) #("Large system deployments can get very " 0 38 (:parent #350)) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg " :format bracket :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg " :application nil :search-option nil :begin 1595 :end 1656 :contents-begin 1647 :contents-end 1654 :post-blank 0 :parent #350) #("complex" 0 7 (:parent #354))) #(". In this document we\nexplain the GeneNetwork version 2 (GN2) reproducible deployment system\nwhich is based on GNU Guix (see also " 0 130 (:parent #350)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1786 :end 1860 :contents-begin 1848 :contents-end 1858 :post-blank 0 :parent #350) #("Guix-notes" 0 10 (:parent #356))) #("). The Guix\nsystem can be used to install GN with all its files and dependencies.\n" 0 82 (:parent #350))) (paragraph (:begin 1943 :end 2328 :contents-begin 1943 :contents-end 2327 :post-blank 1 :post-affiliated 1943 :mode nil :granularity nil :parent #346) #("The official installation path is from a checked out version of the\nmain Guix package tree and that of the Genenetwork package\ntree. Current supported versions can be found as the SHA values of\n'gn-latest' branches of " 0 218 (:parent #351)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :application nil :search-option nil :begin 2161 :end 2252 :contents-begin 2230 :contents-end 2249 :post-blank 1 :parent #351) #("Guix bioinformatics" 0 19 (:parent #355))) #("and " 0 4 (:parent #351)) (link (:type "https" :path "//github.com/genenetwork/guix/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix/tree/gn-latest" :application nil :search-option nil :begin 2256 :end 2325 :contents-begin 2310 :contents-end 2323 :post-blank 0 :parent #351) #("GNU Guix main" 0 13 (:parent #357))) #(".\n" 0 2 (:parent #351))) (paragraph (:begin 2328 :end 2449 :contents-begin 2328 :contents-end 2449 :post-blank 0 :post-affiliated 2328 :mode nil :granularity nil :parent #346) #("For a full view of runtime dependencies as defined by GNU Guix, see\nthe " 0 72 (:parent #352)) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 2400 :end 2447 :contents-begin 2425 :contents-end 2445 :post-blank 0 :parent #352) #("GN2 Dependency Graph" 0 20 (:parent #356))) #(".\n" 0 2 (:parent #352))))) (headline (:raw-value "Quick installation recipe" :begin 2450 :end 7633 :pre-blank 1 :contents-begin 2479 :contents-end 7632 :robust-begin 2481 :robust-end 7630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 2450 :title (#("Quick installation recipe" 0 25 (:parent #344))) :mode nil :granularity nil :parent #338) (section (:begin 2479 :end 3022 :contents-begin 2479 :contents-end 3021 :robust-begin 2479 :robust-end 3019 :post-blank 1 :post-affiliated 2479 :mode section :granularity nil :parent #344) (paragraph (:begin 2479 :end 2880 :contents-begin 2479 :contents-end 2879 :post-blank 1 :post-affiliated 2479 :mode planning :granularity nil :parent #347) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS). For more elaborate installation\ninstructions see " 0 357 (:parent #350)) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 2836 :end 2877 :contents-begin 2858 :contents-end 2875 :post-blank 0 :parent #350) #("Source deployment" 0 17 (:parent #354))) #(".\n" 0 2 (:parent #350))) (paragraph (:begin 2880 :end 3021 :contents-begin 2880 :contents-end 3021 :post-blank 0 :post-affiliated 2880 :mode nil :granularity nil :parent #347) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #351)))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 3022 :end 4649 :pre-blank 1 :contents-begin 3051 :contents-end 4648 :robust-begin 3053 :robust-end 4646 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3022 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #348))) :mode nil :granularity nil :parent #344) (section (:begin 3051 :end 4649 :contents-begin 3051 :contents-end 4648 :robust-begin 3051 :robust-end 4646 :post-blank 1 :post-affiliated 3051 :mode section :granularity nil :parent #348) (paragraph (:begin 3051 :end 3504 :contents-begin 3051 :contents-end 3503 :post-blank 1 :post-affiliated 3051 :mode planning :granularity nil :parent #351) #("Fetch the GNU Guix binary from " 0 31 (:parent #354)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 3082 :end 3136 :contents-begin 3129 :contents-end 3133 :post-blank 1 :parent #354) #("here" 0 4 (:parent #358))) #("(middle panel) and follow\n" 0 26 (:parent #354)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 3162 :end 3255 :contents-begin 3241 :contents-end 3253 :post-blank 0 :parent #354) #("instructions" 0 12 (:parent #360))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #354))) (paragraph (:begin 3504 :end 3782 :contents-begin 3504 :contents-end 3781 :post-blank 1 :post-affiliated 3504 :mode nil :granularity nil :parent #351) #("Once you have succeeded, you have to " 0 37 (:parent #355)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 3541 :end 3631 :contents-begin 3617 :contents-end 3628 :post-blank 1 :parent #355) #("set the key" 0 11 (:parent #359))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #355))) (src-block (:language "bash" :switches nil :parameters nil :begin 3782 :end 3890 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 3782 :mode nil :granularity nil :parent #351)) (paragraph (:begin 3890 :end 3924 :contents-begin 3890 :contents-end 3923 :post-blank 1 :post-affiliated 3890 :mode nil :granularity nil :parent #351) #("Which should show something like\n" 0 33 (:parent #357))) (fixed-width (:begin 3924 :end 4034 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 3924 :mode nil :granularity nil :parent #351)) (paragraph (:begin 4034 :end 4045 :contents-begin 4034 :contents-end 4044 :post-blank 1 :post-affiliated 4034 :mode nil :granularity nil :parent #351) #("#+end" 0 5 (:parent #359)) (subscript (:begin 4039 :end 4043 :use-brackets-p nil :contents-begin 4040 :contents-end 4043 :post-blank 0 :parent #359) #("src" 0 3 (:parent #363))) #("\n" 0 1 (:parent #359))) (paragraph (:begin 4045 :end 4116 :contents-begin 4045 :contents-end 4115 :post-blank 1 :post-affiliated 4045 :mode nil :granularity nil :parent #351) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #360))) (src-block (:language "bash" :switches nil :parameters nil :begin 4116 :end 4188 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 4116 :mode nil :granularity nil :parent #351)) (paragraph (:begin 4188 :end 4375 :contents-begin 4188 :contents-end 4374 :post-blank 1 :post-affiliated 4188 :mode nil :granularity nil :parent #351) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #362))) (paragraph (:begin 4375 :end 4648 :contents-begin 4375 :contents-end 4648 :post-blank 0 :post-affiliated 4375 :mode nil :granularity nil :parent #351) #("If you need more help we have another writeup in " 0 49 (:parent #363)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 4424 :end 4520 :contents-begin 4508 :contents-end 4518 :post-blank 0 :parent #363) #("guix-notes" 0 10 (:parent #367))) #(". To get\nrid of the locale warning see " 0 39 (:parent #363)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 4559 :end 4646 :contents-begin 4634 :contents-end 4644 :post-blank 0 :parent #363) #("set-locale" 0 10 (:parent #369))) #(".\n" 0 2 (:parent #363))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 4649 :end 5304 :pre-blank 1 :contents-begin 4695 :contents-end 5302 :robust-begin 4697 :robust-end 5300 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4649 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #349))) :mode nil :granularity nil :parent #344) (section (:begin 4695 :end 5304 :contents-begin 4695 :contents-end 5302 :robust-begin 4695 :robust-end 5300 :post-blank 2 :post-affiliated 4695 :mode section :granularity nil :parent #349) (paragraph (:begin 4695 :end 4815 :contents-begin 4695 :contents-end 4814 :post-blank 1 :post-affiliated 4695 :mode planning :granularity nil :parent #352) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #355))) (src-block (:language "bash" :switches nil :parameters nil :begin 4815 :end 4920 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 4815 :mode nil :granularity nil :parent #352)) (paragraph (:begin 4920 :end 4971 :contents-begin 4920 :contents-end 4970 :post-blank 1 :post-affiliated 4920 :mode nil :granularity nil :parent #352) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #357))) (paragraph (:begin 4971 :end 5232 :contents-begin 4971 :contents-end 5231 :post-blank 1 :post-affiliated 4971 :mode nil :granularity nil :parent #352) #("#+begin" 0 7 (:parent #358)) (subscript (:begin 4978 :end 4983 :use-brackets-p nil :contents-begin 4979 :contents-end 4982 :post-blank 1 :parent #358) #("src" 0 3 (:parent #362))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #358)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 5055 :end 5105 :contents-begin nil :contents-end nil :post-blank 0 :parent #358)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #358)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 5147 :end 5183 :contents-begin nil :contents-end nil :post-blank 1 :parent #358)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #358)) (subscript (:begin 5221 :end 5226 :use-brackets-p nil :contents-begin 5222 :contents-end 5225 :post-blank 1 :parent #358) #("src" 0 3 (:parent #368))) #("bash\n" 0 5 (:parent #358))) (paragraph (:begin 5232 :end 5270 :contents-begin 5232 :contents-end 5269 :post-blank 1 :post-affiliated 5232 :mode nil :granularity nil :parent #352) #("To test whether this is working try:\n" 0 37 (:parent #359))) (paragraph (:begin 5270 :end 5302 :contents-begin 5270 :contents-end 5302 :post-blank 0 :post-affiliated 5270 :mode nil :granularity nil :parent #352) #("#+begin" 0 7 (:parent #360)) (subscript (:begin 5277 :end 5282 :use-brackets-p nil :contents-begin 5278 :contents-end 5281 :post-blank 1 :parent #360) #("src" 0 3 (:parent #364))) #("bash\n#+end" 0 10 (:parent #360)) (subscript (:begin 5292 :end 5297 :use-brackets-p nil :contents-begin 5293 :contents-end 5296 :post-blank 1 :parent #360) #("src" 0 3 (:parent #366))) #("bash\n" 0 5 (:parent #360))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 5304 :end 5755 :pre-blank 1 :contents-begin 5345 :contents-end 5754 :robust-begin 5347 :robust-end 5752 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5304 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #350))) :mode nil :granularity nil :parent #344) (section (:begin 5345 :end 5755 :contents-begin 5345 :contents-end 5754 :robust-begin 5345 :robust-end 5752 :post-blank 1 :post-affiliated 5345 :mode section :granularity nil :parent #350) (paragraph (:begin 5345 :end 5445 :contents-begin 5345 :contents-end 5444 :post-blank 1 :post-affiliated 5345 :mode planning :granularity nil :parent #353) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #356))) (src-block (:language "scheme" :switches nil :parameters nil :begin 5445 :end 5589 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 5445 :mode nil :granularity nil :parent #353)) (paragraph (:begin 5589 :end 5621 :contents-begin 5589 :contents-end 5620 :post-blank 1 :post-affiliated 5589 :mode nil :granularity nil :parent #353) #("by pasting it into the command\n" 0 31 (:parent #358))) (src-block (:language "bash" :switches nil :parameters nil :begin 5621 :end 5674 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 5621 :mode nil :granularity nil :parent #353)) (paragraph (:begin 5674 :end 5691 :contents-begin 5674 :contents-end 5690 :post-blank 1 :post-affiliated 5674 :mode nil :granularity nil :parent #353) #("and hit Ctrl-D.\n" 0 16 (:parent #360))) (paragraph (:begin 5691 :end 5754 :contents-begin 5691 :contents-end 5754 :post-blank 0 :post-affiliated 5691 :mode nil :granularity nil :parent #353) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #361))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 5755 :end 7633 :pre-blank 1 :contents-begin 5787 :contents-end 7632 :robust-begin 5789 :robust-end 7630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5755 :title (#("Step 4: Install and run GN2" 0 27 (:parent #351))) :mode nil :granularity nil :parent #344) (section (:begin 5787 :end 7633 :contents-begin 5787 :contents-end 7632 :robust-begin 5787 :robust-end 7630 :post-blank 1 :post-affiliated 5787 :mode section :granularity nil :parent #351) (paragraph (:begin 5787 :end 5927 :contents-begin 5787 :contents-end 5926 :post-blank 1 :post-affiliated 5787 :mode planning :granularity nil :parent #354) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #357))) (src-block (:language "bash" :switches nil :parameters nil :begin 5927 :end 6046 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 5927 :mode nil :granularity nil :parent #354)) (paragraph (:begin 6046 :end 6099 :contents-begin 6046 :contents-end 6098 :post-blank 1 :post-affiliated 6046 :mode nil :granularity nil :parent #354) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #359))) (src-block (:language "bash" :switches nil :parameters nil :begin 6099 :end 6289 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 6099 :mode nil :granularity nil :parent #354)) (paragraph (:begin 6289 :end 6398 :contents-begin 6289 :contents-end 6397 :post-blank 1 :post-affiliated 6289 :mode nil :granularity nil :parent #354) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #361)) (italic (:begin 6360 :end 6366 :post-blank 0 :contents-begin 6361 :contents-end 6365 :parent #361) #("root" 0 4 (:parent #365))) #(".config/guix/latest override).\n" 0 31 (:parent #361))) (paragraph (:begin 6398 :end 6416 :contents-begin 6398 :contents-end 6415 :post-blank 1 :post-affiliated 6398 :mode nil :granularity nil :parent #354) #("And install with\n" 0 17 (:parent #362))) (src-block (:language "bash" :switches nil :parameters nil :begin 6416 :end 6586 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 6416 :mode nil :granularity nil :parent #354)) (paragraph (:begin 6586 :end 6729 :contents-begin 6586 :contents-end 6728 :post-blank 1 :post-affiliated 6586 :mode nil :granularity nil :parent #354) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #364))) (paragraph (:begin 6729 :end 6925 :contents-begin 6729 :contents-end 6924 :post-blank 1 :post-affiliated 6729 :mode nil :granularity nil :parent #354) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #365))) (paragraph (:begin 6925 :end 7056 :contents-begin 6925 :contents-end 7055 :post-blank 1 :post-affiliated 6925 :mode nil :granularity nil :parent #354) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #366))) (src-block (:language "bash" :switches nil :parameters nil :begin 7056 :end 7235 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python2.7/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 7056 :mode nil :granularity nil :parent #354)) (paragraph (:begin 7235 :end 7304 :contents-begin 7235 :contents-end 7303 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #354) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #368))) (src-block (:language "bash" :switches nil :parameters nil :begin 7304 :end 7345 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 7304 :mode nil :granularity nil :parent #354)) (paragraph (:begin 7345 :end 7596 :contents-begin 7345 :contents-end 7595 :post-blank 1 :post-affiliated 7345 :mode nil :granularity nil :parent #354) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #370)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 7567 :end 7593 :contents-begin nil :contents-end nil :post-blank 0 :parent #370)) #(".\n" 0 2 (:parent #370))) (paragraph (:begin 7596 :end 7632 :contents-begin 7596 :contents-end 7632 :post-blank 0 :post-affiliated 7596 :mode nil :granularity nil :parent #354) #("End of the GN2 installation recipe!\n" 0 36 (:parent #371)))))) (headline (:raw-value "Run MySQL server" :begin 7633 :end 9008 :pre-blank 1 :contents-begin 7653 :contents-end 9007 :robust-begin 7655 :robust-end 9005 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7633 :title (#("Run MySQL server" 0 16 (:parent #345))) :mode nil :granularity nil :parent #338) (section (:begin 7653 :end 9008 :contents-begin 7653 :contents-end 9007 :robust-begin 7653 :robust-end 9005 :post-blank 1 :post-affiliated 7653 :mode section :granularity nil :parent #345) (paragraph (:begin 7653 :end 7928 :contents-begin 7653 :contents-end 7927 :post-blank 1 :post-affiliated 7653 :mode planning :granularity nil :parent #348) #("At this point we require the underlying distribution to install and\nrun mysqld. Currently we have two databases for deployment,\n'db" 0 131 (:parent #351)) (subscript (:begin 7784 :end 7791 :use-brackets-p nil :contents-begin 7785 :contents-end 7791 :post-blank 0 :parent #351) #("webqtl" 0 6 (:parent #355))) (subscript (:begin 7791 :end 7793 :use-brackets-p nil :contents-begin 7792 :contents-end 7793 :post-blank 0 :parent #351) #("s" 0 1 (:parent #356))) #("' is the small testing database containing experiments\nfrom BXD mice and 'db" 0 76 (:parent #351)) (subscript (:begin 7869 :end 7876 :use-brackets-p nil :contents-begin 7870 :contents-end 7876 :post-blank 0 :parent #351) #("webqtl" 0 6 (:parent #358))) (subscript (:begin 7876 :end 7882 :use-brackets-p nil :contents-begin 7877 :contents-end 7882 :post-blank 0 :parent #351) #("plant" 0 5 (:parent #359))) #("' which contains all plant related\nmaterial.\n" 0 45 (:parent #351))) (paragraph (:begin 7928 :end 7956 :contents-begin 7928 :contents-end 7955 :post-blank 1 :post-affiliated 7928 :mode nil :granularity nil :parent #348) #("Download one database from\n" 0 27 (:parent #352))) (paragraph (:begin 7956 :end 8054 :contents-begin 7956 :contents-end 8053 :post-blank 1 :post-affiliated 7956 :mode nil :granularity nil :parent #348) (link (:type "http" :path "//files.genenetwork.org/raw_database/" :format plain :raw-link "http://files.genenetwork.org/raw_database/" :application nil :search-option nil :begin 7956 :end 7998 :contents-begin nil :contents-end nil :post-blank 0 :parent #353)) #("\n" 0 1 (:parent #353)) (link (:type "https" :path "//s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :format plain :raw-link "https://s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :application nil :search-option nil :begin 7999 :end 8052 :contents-begin nil :contents-end nil :post-blank 0 :parent #353)) #("\n" 0 1 (:parent #353))) (paragraph (:begin 8054 :end 8073 :contents-begin 8054 :contents-end 8072 :post-blank 1 :post-affiliated 8054 :mode nil :granularity nil :parent #348) #("Check the md5sum.\n" 0 18 (:parent #354))) (paragraph (:begin 8073 :end 8195 :contents-begin 8073 :contents-end 8194 :post-blank 1 :post-affiliated 8073 :mode nil :granularity nil :parent #348) #("After installation inflate the database binary in the MySQL directory\n(this installation path is subject to change soon)\n" 0 121 (:parent #355))) (fixed-width (:begin 8195 :end 8283 :value "chown -R mysql:mysql db_webqtl_s/\nchmod 700 db_webqtl_s/\nchmod 660 db_webqtl_s/*" :post-blank 2 :post-affiliated 8195 :mode nil :granularity nil :parent #348)) (paragraph (:begin 8283 :end 8334 :contents-begin 8283 :contents-end 8333 :post-blank 1 :post-affiliated 8283 :mode nil :granularity nil :parent #348) #("restart MySQL service (mysqld). Login as root and\n" 0 50 (:parent #357))) (fixed-width (:begin 8334 :end 8560 :value "mysql> show databases;\n+--------------------+\n| Database |\n+--------------------+\n| information_schema |\n| db_webqtl_s |\n| mysql |\n| performance_schema |\n+--------------------+" :post-blank 2 :post-affiliated 8334 :mode nil :granularity nil :parent #348)) (paragraph (:begin 8560 :end 8625 :contents-begin 8560 :contents-end 8624 :post-blank 1 :post-affiliated 8560 :mode nil :granularity nil :parent #348) #("Set permissions and match password in your settings file below:\n" 0 64 (:parent #359))) (fixed-width (:begin 8625 :end 8724 :value "mysql> grant all privileges on db_webqtl_s.* to gn2@\"localhost\" identified by 'mysql_password';" :post-blank 2 :post-affiliated 8625 :mode nil :granularity nil :parent #348)) (paragraph (:begin 8724 :end 8875 :contents-begin 8724 :contents-end 8874 :post-blank 1 :post-affiliated 8724 :mode nil :granularity nil :parent #348) #("Note that if the mysql connection is not working, try connecting to\nthe IP address and check server firewall, hosts.allow and mysql IP\nconfiguration.\n" 0 150 (:parent #361))) (paragraph (:begin 8875 :end 9007 :contents-begin 8875 :contents-end 9007 :post-blank 0 :post-affiliated 8875 :mode nil :granularity nil :parent #348) #("Note for the plant database you can rename it to db" 0 51 (:parent #362)) (subscript (:begin 8926 :end 8933 :use-brackets-p nil :contents-begin 8927 :contents-end 8933 :post-blank 0 :parent #362) #("webqtl" 0 6 (:parent #366))) (subscript (:begin 8933 :end 8935 :use-brackets-p nil :contents-begin 8934 :contents-end 8935 :post-blank 0 :parent #362) #("s" 0 1 (:parent #367))) #(", or\nchange the settings in etc/default" 0 39 (:parent #362)) (subscript (:begin 8974 :end 8987 :use-brackets-p nil :contents-begin 8975 :contents-end 8986 :post-blank 1 :parent #362) #("settings.py" 0 11 (:parent #369))) #("to match your path.\n" 0 20 (:parent #362))))) (headline (:raw-value "GN2 Dependency Graph" :begin 9008 :end 9172 :pre-blank 1 :contents-begin 9032 :contents-end 9171 :robust-begin 9034 :robust-end 9169 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9008 :title (#("GN2 Dependency Graph" 0 20 (:parent #346))) :mode nil :granularity nil :parent #338) (section (:begin 9032 :end 9172 :contents-begin 9032 :contents-end 9171 :robust-begin 9032 :robust-end 9169 :post-blank 1 :post-affiliated 9032 :mode section :granularity nil :parent #346) (paragraph (:begin 9032 :end 9093 :contents-begin 9032 :contents-end 9092 :post-blank 1 :post-affiliated 9032 :mode planning :granularity nil :parent #349) #("Graph of all runtime dependencies as installed by GNU Guix.\n" 0 60 (:parent #352))) (paragraph (:begin 9093 :end 9171 :contents-begin 9123 :contents-end 9171 :post-blank 0 :post-affiliated 9123 :attr_html (":title GN2_graph") :mode nil :granularity nil :parent #349) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg" :format plain :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg" :application nil :search-option nil :begin 9123 :end 9170 :contents-begin nil :contents-end nil :post-blank 0 :parent #353)) #("\n" 0 1 (:parent #353))))) (headline (:raw-value "Source deployment" :begin 9172 :end 12840 :pre-blank 1 :contents-begin 9193 :contents-end 12839 :robust-begin 9195 :robust-end 12837 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9172 :title (#("Source deployment" 0 17 (:parent #347))) :mode nil :granularity nil :parent #338) (section (:begin 9193 :end 9612 :contents-begin 9193 :contents-end 9610 :robust-begin 9193 :robust-end 9608 :post-blank 2 :post-affiliated 9193 :mode section :granularity nil :parent #347) (paragraph (:begin 9193 :end 9274 :contents-begin 9193 :contents-end 9273 :post-blank 1 :post-affiliated 9193 :mode planning :granularity nil :parent #350) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #353))) (paragraph (:begin 9274 :end 9304 :contents-begin 9274 :contents-end 9303 :post-blank 1 :post-affiliated 9274 :mode nil :granularity nil :parent #350) #("First execute above 4 steps:\n" 0 29 (:parent #354))) (plain-list (:type unordered :begin 9304 :end 9610 :contents-begin 9304 :contents-end 9610 :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :post-blank 0 :post-affiliated 9304 :mode nil :granularity nil :parent #350) (item (:bullet "- " :begin 9304 :end 9364 :contents-begin 9309 :contents-end 9364 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9304 :tag nil :mode item :granularity nil :parent #355) (paragraph (:begin 9309 :end 9364 :contents-begin 9309 :contents-end 9364 :post-blank 0 :post-affiliated 9309 :mode nil :granularity nil :parent #358) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 9309 :end 9363 :contents-begin 9337 :contents-end 9361 :post-blank 0 :parent #361) #("Step 1: Install GNU Guix" 0 24 (:parent #364))) #("\n" 0 1 (:parent #361)))) (item (:bullet "- " :begin 9364 :end 9458 :contents-begin 9369 :contents-end 9458 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9364 :tag nil :mode item :granularity nil :parent #355) (paragraph (:begin 9369 :end 9458 :contents-begin 9369 :contents-end 9458 :post-blank 0 :post-affiliated 9369 :mode nil :granularity nil :parent #359) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 9369 :end 9457 :contents-begin 9414 :contents-end 9455 :post-blank 0 :parent #362) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #365))) #("\n" 0 1 (:parent #362)))) (item (:bullet "- " :begin 9458 :end 9542 :contents-begin 9463 :contents-end 9542 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9458 :tag nil :mode item :granularity nil :parent #355) (paragraph (:begin 9463 :end 9542 :contents-begin 9463 :contents-end 9542 :post-blank 0 :post-affiliated 9463 :mode nil :granularity nil :parent #360) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 9463 :end 9541 :contents-begin 9503 :contents-end 9539 :post-blank 0 :parent #363) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #366))) #("\n" 0 1 (:parent #363)))) (item (:bullet "- " :begin 9542 :end 9610 :contents-begin 9547 :contents-end 9610 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9542 :tag nil :mode item :granularity nil :parent #355) (paragraph (:begin 9547 :end 9610 :contents-begin 9547 :contents-end 9610 :post-blank 0 :post-affiliated 9547 :mode nil :granularity nil :parent #361) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 9547 :end 9609 :contents-begin 9579 :contents-end 9607 :post-blank 0 :parent #364) #("Step 4: Install and run GN2 " 0 28 (:parent #367))) #("\n" 0 1 (:parent #364)))))) (headline (:raw-value "Run your own copy of GN2" :begin 9612 :end 10722 :pre-blank 1 :contents-begin 9641 :contents-end 10721 :robust-begin 9643 :robust-end 10719 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9612 :title (#("Run your own copy of GN2" 0 24 (:parent #351))) :mode nil :granularity nil :parent #347) (section (:begin 9641 :end 10722 :contents-begin 9641 :contents-end 10721 :robust-begin 9641 :robust-end 10719 :post-blank 1 :post-affiliated 9641 :mode section :granularity nil :parent #351) (paragraph (:begin 9641 :end 9839 :contents-begin 9641 :contents-end 9838 :post-blank 1 :post-affiliated 9641 :mode planning :granularity nil :parent #354) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #357)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 9793 :end 9836 :contents-begin nil :contents-end nil :post-blank 0 :parent #357)) #(".\n" 0 2 (:parent #357))) (paragraph (:begin 9839 :end 9964 :contents-begin 9839 :contents-end 9963 :post-blank 1 :post-affiliated 9839 :mode nil :granularity nil :parent #354) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #358)) (subscript (:begin 9896 :end 9902 :use-brackets-p nil :contents-begin 9897 :contents-end 9901 :post-blank 1 :parent #358) #("PATH" 0 4 (:parent #362))) #("and\nR" 0 5 (:parent #358)) (subscript (:begin 9907 :end 9912 :use-brackets-p nil :contents-begin 9908 :contents-end 9912 :post-blank 0 :parent #358) #("LIBS" 0 4 (:parent #364))) (subscript (:begin 9912 :end 9918 :use-brackets-p nil :contents-begin 9913 :contents-end 9917 :post-blank 1 :parent #358) #("SITE" 0 4 (:parent #365))) #("are set) from the information given by guix:\n" 0 45 (:parent #358))) (fixed-width (:begin 9964 :end 9995 :value "guix package --search-paths" :post-blank 2 :post-affiliated 9964 :mode nil :granularity nil :parent #354)) (paragraph (:begin 9995 :end 10019 :contents-begin 9995 :contents-end 10018 :post-blank 1 :post-affiliated 9995 :mode nil :granularity nil :parent #354) #("Inside the repository:\n" 0 23 (:parent #360))) (fixed-width (:begin 10019 :end 10059 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 10019 :mode nil :granularity nil :parent #354)) (paragraph (:begin 10059 :end 10303 :contents-begin 10059 :contents-end 10302 :post-blank 1 :post-affiliated 10059 :mode nil :granularity nil :parent #354) #("Will fire up your local repo " 0 29 (:parent #362)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 10088 :end 10111 :contents-begin nil :contents-end nil :post-blank 1 :parent #362)) #("using the\nsettings in ./etc/default" 0 35 (:parent #362)) (subscript (:begin 10146 :end 10158 :use-brackets-p nil :contents-begin 10147 :contents-end 10158 :post-blank 0 :parent #362) #("settings.py" 0 11 (:parent #368))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #362)) (subscript (:begin 10263 :end 10276 :use-brackets-p nil :contents-begin 10264 :contents-end 10275 :post-blank 1 :parent #362) #("settings.py" 0 11 (:parent #370))) #("and pass it into GN2 with\n" 0 26 (:parent #362))) (fixed-width (:begin 10303 :end 10346 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 10303 :mode nil :granularity nil :parent #354)) (paragraph (:begin 10346 :end 10492 :contents-begin 10346 :contents-end 10491 :post-blank 1 :post-affiliated 10346 :mode nil :granularity nil :parent #354) #("and everything " 0 15 (:parent #364)) (bold (:begin 10361 :end 10370 :post-blank 1 :contents-begin 10362 :contents-end 10368 :parent #364) #("should" 0 6 (:parent #368))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #364))) (paragraph (:begin 10492 :end 10620 :contents-begin 10492 :contents-end 10619 :post-blank 1 :post-affiliated 10492 :mode nil :granularity nil :parent #354) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #365))) (fixed-width (:begin 10620 :end 10721 :value "cat ~/.guix-profile/lib/python2.7/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 10620 :mode nil :granularity nil :parent #354)))) (headline (:raw-value "Set up nginx port forwarding" :begin 10722 :end 12840 :pre-blank 1 :contents-begin 10755 :contents-end 12839 :robust-begin 10757 :robust-end 12837 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 10722 :title (#("Set up nginx port forwarding" 0 28 (:parent #352))) :mode nil :granularity nil :parent #347) (section (:begin 10755 :end 12840 :contents-begin 10755 :contents-end 12839 :robust-begin 10755 :robust-end 12837 :post-blank 1 :post-affiliated 10755 :mode section :granularity nil :parent #352) (paragraph (:begin 10755 :end 10923 :contents-begin 10755 :contents-end 10922 :post-blank 1 :post-affiliated 10755 :mode planning :granularity nil :parent #355) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #358))) (paragraph (:begin 10923 :end 11063 :contents-begin 10923 :contents-end 11062 :post-blank 1 :post-affiliated 10923 :mode nil :granularity nil :parent #355) #("#+begin" 0 7 (:parent #359)) (subscript (:begin 10930 :end 10935 :use-brackets-p nil :contents-begin 10931 :contents-end 10934 :post-blank 1 :parent #359) #("src" 0 3 (:parent #363))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #359)) (subscript (:begin 10984 :end 10990 :use-brackets-p nil :contents-begin 10985 :contents-end 10989 :post-blank 1 :parent #359) #("name" 0 4 (:parent #365))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #359)) (subscript (:begin 11030 :end 11036 :use-brackets-p nil :contents-begin 11031 :contents-end 11034 :post-blank 2 :parent #359) #("log" 0 3 (:parent #367))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #359))) (paragraph (:begin 11063 :end 11232 :contents-begin 11063 :contents-end 11231 :post-blank 1 :post-affiliated 11063 :mode nil :granularity nil :parent #355) #(" proxy" 0 13 (:parent #360)) (subscript (:begin 11076 :end 11084 :use-brackets-p nil :contents-begin 11077 :contents-end 11084 :post-blank 0 :parent #360) #("connect" 0 7 (:parent #364))) (subscript (:begin 11084 :end 11099 :use-brackets-p nil :contents-begin 11085 :contents-end 11092 :post-blank 7 :parent #360) #("timeout" 0 7 (:parent #365))) #("3000;\n proxy" 0 19 (:parent #360)) (subscript (:begin 11118 :end 11123 :use-brackets-p nil :contents-begin 11119 :contents-end 11123 :post-blank 0 :parent #360) #("send" 0 4 (:parent #367))) (subscript (:begin 11123 :end 11141 :use-brackets-p nil :contents-begin 11124 :contents-end 11131 :post-blank 10 :parent #360) #("timeout" 0 7 (:parent #368))) #("3000;\n proxy" 0 19 (:parent #360)) (subscript (:begin 11160 :end 11165 :use-brackets-p nil :contents-begin 11161 :contents-end 11165 :post-blank 0 :parent #360) #("read" 0 4 (:parent #370))) (subscript (:begin 11165 :end 11183 :use-brackets-p nil :contents-begin 11166 :contents-end 11173 :post-blank 10 :parent #360) #("timeout" 0 7 (:parent #371))) #("3000;\n send" 0 18 (:parent #360)) (subscript (:begin 11201 :end 11225 :use-brackets-p nil :contents-begin 11202 :contents-end 11209 :post-blank 16 :parent #360) #("timeout" 0 7 (:parent #373))) #("3000;\n" 0 6 (:parent #360))) (paragraph (:begin 11232 :end 11632 :contents-begin 11232 :contents-end 11631 :post-blank 1 :post-affiliated 11232 :mode nil :granularity nil :parent #355) #(" location / {\n proxy" 0 38 (:parent #361)) (subscript (:begin 11270 :end 11274 :use-brackets-p nil :contents-begin 11271 :contents-end 11274 :post-blank 0 :parent #361) #("set" 0 3 (:parent #365))) (subscript (:begin 11274 :end 11284 :use-brackets-p nil :contents-begin 11275 :contents-end 11281 :post-blank 3 :parent #361) #("header" 0 6 (:parent #366))) #("Host $http" 0 15 (:parent #361)) (subscript (:begin 11299 :end 11304 :use-brackets-p nil :contents-begin 11300 :contents-end 11304 :post-blank 0 :parent #361) #("host" 0 4 (:parent #368))) #(";\n proxy" 0 19 (:parent #361)) (subscript (:begin 11323 :end 11327 :use-brackets-p nil :contents-begin 11324 :contents-end 11327 :post-blank 0 :parent #361) #("set" 0 3 (:parent #370))) (subscript (:begin 11327 :end 11337 :use-brackets-p nil :contents-begin 11328 :contents-end 11334 :post-blank 3 :parent #361) #("header" 0 6 (:parent #371))) #("Connection keep-alive;\n proxy" 0 40 (:parent #361)) (subscript (:begin 11377 :end 11381 :use-brackets-p nil :contents-begin 11378 :contents-end 11381 :post-blank 0 :parent #361) #("set" 0 3 (:parent #373))) (subscript (:begin 11381 :end 11391 :use-brackets-p nil :contents-begin 11382 :contents-end 11388 :post-blank 3 :parent #361) #("header" 0 6 (:parent #374))) #("X-Real-IP $remote" 0 17 (:parent #361)) (subscript (:begin 11408 :end 11413 :use-brackets-p nil :contents-begin 11409 :contents-end 11413 :post-blank 0 :parent #361) #("addr" 0 4 (:parent #376))) #(";\n proxy" 0 19 (:parent #361)) (subscript (:begin 11432 :end 11436 :use-brackets-p nil :contents-begin 11433 :contents-end 11436 :post-blank 0 :parent #361) #("set" 0 3 (:parent #378))) (subscript (:begin 11436 :end 11446 :use-brackets-p nil :contents-begin 11437 :contents-end 11443 :post-blank 3 :parent #361) #("header" 0 6 (:parent #379))) #("X-Forwarded-For $proxy" 0 22 (:parent #361)) (subscript (:begin 11468 :end 11472 :use-brackets-p nil :contents-begin 11469 :contents-end 11472 :post-blank 0 :parent #361) #("add" 0 3 (:parent #381))) (subscript (:begin 11472 :end 11474 :use-brackets-p nil :contents-begin 11473 :contents-end 11474 :post-blank 0 :parent #361) #("x" 0 1 (:parent #382))) (subscript (:begin 11474 :end 11484 :use-brackets-p nil :contents-begin 11475 :contents-end 11484 :post-blank 0 :parent #361) #("forwarded" 0 9 (:parent #383))) (subscript (:begin 11484 :end 11488 :use-brackets-p nil :contents-begin 11485 :contents-end 11488 :post-blank 0 :parent #361) #("for" 0 3 (:parent #384))) #(";\n proxy" 0 19 (:parent #361)) (subscript (:begin 11507 :end 11511 :use-brackets-p nil :contents-begin 11508 :contents-end 11511 :post-blank 0 :parent #361) #("set" 0 3 (:parent #386))) (subscript (:begin 11511 :end 11521 :use-brackets-p nil :contents-begin 11512 :contents-end 11518 :post-blank 3 :parent #361) #("header" 0 6 (:parent #387))) #("X-Forwarded-Host $server" 0 24 (:parent #361)) (subscript (:begin 11545 :end 11550 :use-brackets-p nil :contents-begin 11546 :contents-end 11550 :post-blank 0 :parent #361) #("name" 0 4 (:parent #389))) #(";\n proxy" 0 19 (:parent #361)) (subscript (:begin 11569 :end 11583 :use-brackets-p nil :contents-begin 11570 :contents-end 11574 :post-blank 9 :parent #361) #("pass" 0 4 (:parent #391))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 11583 :end 11604 :contents-begin nil :contents-end nil :post-blank 0 :parent #361)) #(";\n }\n}\n#+end" 0 19 (:parent #361)) (subscript (:begin 11623 :end 11628 :use-brackets-p nil :contents-begin 11624 :contents-end 11627 :post-blank 1 :parent #361) #("src" 0 3 (:parent #394))) #("js\n" 0 3 (:parent #361))) (paragraph (:begin 11632 :end 11671 :contents-begin 11632 :contents-end 11670 :post-blank 1 :post-affiliated 11632 :mode nil :granularity nil :parent #355) #("Install the nginx webserver (as root)\n" 0 38 (:parent #362))) (fixed-width (:begin 11671 :end 11696 :value "guix package -i nginx" :post-blank 2 :post-affiliated 11671 :mode nil :granularity nil :parent #355)) (paragraph (:begin 11696 :end 11777 :contents-begin 11696 :contents-end 11776 :post-blank 1 :post-affiliated 11696 :mode nil :granularity nil :parent #355) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #364))) (fixed-width (:begin 11777 :end 11964 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 11777 :mode nil :granularity nil :parent #355)) (paragraph (:begin 11964 :end 11979 :contents-begin 11964 :contents-end 11978 :post-blank 1 :post-affiliated 11964 :mode nil :granularity nil :parent #355) #("Use that path\n" 0 14 (:parent #366))) (fixed-width (:begin 11979 :end 12373 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 11979 :mode nil :granularity nil :parent #355)) (paragraph (:begin 12373 :end 12599 :contents-begin 12373 :contents-end 12599 :post-blank 0 :post-affiliated 12373 :mode nil :granularity nil :parent #355) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #368))) (fixed-width (:begin 12599 :end 12646 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 12599 :mode nil :granularity nil :parent #355)) (paragraph (:begin 12646 :end 12657 :contents-begin 12646 :contents-end 12656 :post-blank 1 :post-affiliated 12646 :mode nil :granularity nil :parent #355) #("Make dirs\n" 0 10 (:parent #370))) (fixed-width (:begin 12657 :end 12691 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 12657 :mode nil :granularity nil :parent #355)) (paragraph (:begin 12691 :end 12702 :contents-begin 12691 :contents-end 12701 :post-blank 1 :post-affiliated 12691 :mode nil :granularity nil :parent #355) #("Add users\n" 0 10 (:parent #372))) (fixed-width (:begin 12702 :end 12738 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 12702 :mode nil :granularity nil :parent #355)) (paragraph (:begin 12738 :end 12749 :contents-begin 12738 :contents-end 12748 :post-blank 1 :post-affiliated 12738 :mode nil :granularity nil :parent #355) #("Run nginx\n" 0 10 (:parent #374))) (fixed-width (:begin 12749 :end 12839 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 12749 :mode nil :granularity nil :parent #355))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 12840 :end 13801 :pre-blank 1 :contents-begin 12902 :contents-end 13801 :robust-begin 12904 :robust-end 13799 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12840 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #348))) :mode nil :granularity nil :parent #338) (section (:begin 12902 :end 12959 :contents-begin 12902 :contents-end 12958 :robust-begin 12902 :robust-end 12956 :post-blank 1 :post-affiliated 12902 :mode section :granularity nil :parent #348) (paragraph (:begin 12902 :end 12958 :contents-begin 12902 :contents-end 12958 :post-blank 0 :post-affiliated 12902 :mode planning :granularity nil :parent #351) #("See the document " 0 17 (:parent #354)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 12919 :end 12956 :contents-begin nil :contents-end nil :post-blank 0 :parent #354)) #(".\n" 0 2 (:parent #354)))) (headline (:raw-value "Update to recent guix" :begin 12959 :end 13409 :pre-blank 1 :contents-begin 12985 :contents-end 13408 :robust-begin 12987 :robust-end 13406 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12959 :title (#("Update to recent guix" 0 21 (:parent #352))) :mode nil :granularity nil :parent #348) (section (:begin 12985 :end 13409 :contents-begin 12985 :contents-end 13408 :robust-begin 12985 :robust-end 13406 :post-blank 1 :post-affiliated 12985 :mode section :granularity nil :parent #352) (paragraph (:begin 12985 :end 13020 :contents-begin 12985 :contents-end 13019 :post-blank 1 :post-affiliated 12985 :mode planning :granularity nil :parent #355) #("We now compile Guix from scratch.\n" 0 34 (:parent #358))) (paragraph (:begin 13020 :end 13295 :contents-begin 13020 :contents-end 13294 :post-blank 1 :post-affiliated 13020 :mode nil :granularity nil :parent #355) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #359)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 13159 :end 13272 :contents-begin 13264 :contents-end 13269 :post-blank 1 :parent #359) #("these" 0 5 (:parent #363))) #("steps carefully after\n" 0 22 (:parent #359))) (fixed-width (:begin 13295 :end 13330 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 13295 :mode nil :granularity nil :parent #355)) (paragraph (:begin 13330 :end 13408 :contents-begin 13330 :contents-end 13408 :post-blank 0 :post-affiliated 13330 :mode nil :granularity nil :parent #355) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #361))))) (headline (:raw-value "Install GN2" :begin 13409 :end 13801 :pre-blank 1 :contents-begin 13425 :contents-end 13801 :robust-begin 13427 :robust-end 13799 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 13409 :title (#("Install GN2" 0 11 (:parent #353))) :mode nil :granularity nil :parent #348) (section (:begin 13425 :end 13801 :contents-begin 13425 :contents-end 13801 :robust-begin 13425 :robust-end 13799 :post-blank 0 :post-affiliated 13425 :mode section :granularity nil :parent #353) (paragraph (:begin 13425 :end 13468 :contents-begin 13425 :contents-end 13467 :post-blank 1 :post-affiliated 13425 :mode planning :granularity nil :parent #356) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #359))) (paragraph (:begin 13468 :end 13676 :contents-begin 13468 :contents-end 13675 :post-blank 1 :post-affiliated 13468 :mode nil :granularity nil :parent #356) #("#+begin" 0 7 (:parent #360)) (subscript (:begin 13475 :end 13480 :use-brackets-p nil :contents-begin 13476 :contents-end 13479 :post-blank 1 :parent #360) #("src" 0 3 (:parent #364))) #("bash\nenv GUIX" 0 13 (:parent #360)) (subscript (:begin 13493 :end 13501 :use-brackets-p nil :contents-begin 13494 :contents-end 13501 :post-blank 0 :parent #360) #("PACKAGE" 0 7 (:parent #366))) (subscript (:begin 13501 :end 13506 :use-brackets-p nil :contents-begin 13502 :contents-end 13506 :post-blank 0 :parent #360) #("PATH" 0 4 (:parent #367))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #360)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 13605 :end 13633 :contents-begin nil :contents-end nil :post-blank 1 :parent #360)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 13633 :end 13658 :contents-begin nil :contents-end nil :post-blank 0 :parent #360)) #("\"\n#+end" 0 7 (:parent #360)) (subscript (:begin 13665 :end 13670 :use-brackets-p nil :contents-begin 13666 :contents-end 13669 :post-blank 1 :parent #360) #("src" 0 3 (:parent #372))) #("bash\n" 0 5 (:parent #360))) (paragraph (:begin 13676 :end 13714 :contents-begin 13676 :contents-end 13713 :post-blank 1 :post-affiliated 13676 :mode nil :granularity nil :parent #356) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #361))) (paragraph (:begin 13714 :end 13801 :contents-begin 13714 :contents-end 13801 :post-blank 0 :post-affiliated 13714 :mode nil :granularity nil :parent #356) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #362))))))) :headline-offset 0 :headline-numbering nil :id-alist nil :citations nil :id-local-cache #)) #f(compiled-function (element) #)((paragraph (:begin 124 :end 156 :contents-begin 124 :contents-end 156 :post-blank 0 :post-affiliated 124 :mode nil :granularity nil :parent (item (:bullet "- " :begin 121 :end 156 :contents-begin 124 :contents-end 156 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 121 :tag nil :mode item :granularity nil :parent (plain-list (:type unordered :begin 121 :end 1403 :contents-begin 121 :contents-end 1403 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 121 :mode planning :granularity nil :parent (section (:begin 121 :end 1404 :contents-begin 121 :contents-end 1403 :robust-begin 121 :robust-end 1401 :post-blank 1 :post-affiliated 121 :mode section :granularity nil :parent (headline (:raw-value "Table of Contents" :begin 43 :end 1404 :pre-blank 0 :contents-begin 121 :contents-end 1403 :robust-begin 123 :robust-end 1401 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 43 :title (#("Table of Contents" 0 17 (:parent #100))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13801 :end 13801 :robust-begin 3 :robust-end 13799 :post-blank 0 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 43 :contents-begin 1 :contents-end 42 :robust-begin 1 :robust-end 40 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #146) (keyword (:key "TITLE" :value "Installing GeneNetwork services" :begin 1 :end 42 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #149))) #100 (headline (:raw-value "Introduction" :begin 1404 :end 2450 :pre-blank 1 :contents-begin 1420 :contents-end 2449 :robust-begin 1422 :robust-end 2447 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1404 :title (#("Introduction" 0 12 (:parent #151))) :mode nil :granularity nil :parent #146) (section (:begin 1420 :end 2450 :contents-begin 1420 :contents-end 2449 :robust-begin 1420 :robust-end 2447 :post-blank 1 :post-affiliated 1420 :mode section :granularity nil :parent #151) (paragraph (:begin 1420 :end 1557 :contents-begin 1420 :contents-end 1556 :post-blank 1 :post-affiliated 1420 :mode planning :granularity nil :parent #154) #("If you want to understand the architecture of GN2 read\n" 0 55 (:parent #157)) (link (:type "fuzzy" :path "Architecture.org" :format bracket :raw-link "Architecture.org" :application nil :search-option nil :begin 1475 :end 1495 :contents-begin nil :contents-end nil :post-blank 0 :parent #157)) #(". The rest of this document is mostly on deployment\nof GN2.\n" 0 61 (:parent #157))) (paragraph (:begin 1557 :end 1943 :contents-begin 1557 :contents-end 1942 :post-blank 1 :post-affiliated 1557 :mode nil :granularity nil :parent #154) #("Large system deployments can get very " 0 38 (:parent #158)) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg " :format bracket :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg " :application nil :search-option nil :begin 1595 :end 1656 :contents-begin 1647 :contents-end 1654 :post-blank 0 :parent #158) #("complex" 0 7 (:parent #162))) #(". In this document we\nexplain the GeneNetwork version 2 (GN2) reproducible deployment system\nwhich is based on GNU Guix (see also " 0 130 (:parent #158)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1786 :end 1860 :contents-begin 1848 :contents-end 1858 :post-blank 0 :parent #158) #("Guix-notes" 0 10 (:parent #164))) #("). The Guix\nsystem can be used to install GN with all its files and dependencies.\n" 0 82 (:parent #158))) (paragraph (:begin 1943 :end 2328 :contents-begin 1943 :contents-end 2327 :post-blank 1 :post-affiliated 1943 :mode nil :granularity nil :parent #154) #("The official installation path is from a checked out version of the\nmain Guix package tree and that of the Genenetwork package\ntree. Current supported versions can be found as the SHA values of\n'gn-latest' branches of " 0 218 (:parent #159)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :application nil :search-option nil :begin 2161 :end 2252 :contents-begin 2230 :contents-end 2249 :post-blank 1 :parent #159) #("Guix bioinformatics" 0 19 (:parent #163))) #("and " 0 4 (:parent #159)) (link (:type "https" :path "//github.com/genenetwork/guix/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix/tree/gn-latest" :application nil :search-option nil :begin 2256 :end 2325 :contents-begin 2310 :contents-end 2323 :post-blank 0 :parent #159) #("GNU Guix main" 0 13 (:parent #165))) #(".\n" 0 2 (:parent #159))) (paragraph (:begin 2328 :end 2449 :contents-begin 2328 :contents-end 2449 :post-blank 0 :post-affiliated 2328 :mode nil :granularity nil :parent #154) #("For a full view of runtime dependencies as defined by GNU Guix, see\nthe " 0 72 (:parent #160)) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 2400 :end 2447 :contents-begin 2425 :contents-end 2445 :post-blank 0 :parent #160) #("GN2 Dependency Graph" 0 20 (:parent #164))) #(".\n" 0 2 (:parent #160))))) (headline (:raw-value "Quick installation recipe" :begin 2450 :end 7633 :pre-blank 1 :contents-begin 2479 :contents-end 7632 :robust-begin 2481 :robust-end 7630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 2450 :title (#("Quick installation recipe" 0 25 (:parent #152))) :mode nil :granularity nil :parent #146) (section (:begin 2479 :end 3022 :contents-begin 2479 :contents-end 3021 :robust-begin 2479 :robust-end 3019 :post-blank 1 :post-affiliated 2479 :mode section :granularity nil :parent #152) (paragraph (:begin 2479 :end 2880 :contents-begin 2479 :contents-end 2879 :post-blank 1 :post-affiliated 2479 :mode planning :granularity nil :parent #155) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS). For more elaborate installation\ninstructions see " 0 357 (:parent #158)) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 2836 :end 2877 :contents-begin 2858 :contents-end 2875 :post-blank 0 :parent #158) #("Source deployment" 0 17 (:parent #162))) #(".\n" 0 2 (:parent #158))) (paragraph (:begin 2880 :end 3021 :contents-begin 2880 :contents-end 3021 :post-blank 0 :post-affiliated 2880 :mode nil :granularity nil :parent #155) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #159)))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 3022 :end 4649 :pre-blank 1 :contents-begin 3051 :contents-end 4648 :robust-begin 3053 :robust-end 4646 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3022 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #156))) :mode nil :granularity nil :parent #152) (section (:begin 3051 :end 4649 :contents-begin 3051 :contents-end 4648 :robust-begin 3051 :robust-end 4646 :post-blank 1 :post-affiliated 3051 :mode section :granularity nil :parent #156) (paragraph (:begin 3051 :end 3504 :contents-begin 3051 :contents-end 3503 :post-blank 1 :post-affiliated 3051 :mode planning :granularity nil :parent #159) #("Fetch the GNU Guix binary from " 0 31 (:parent #162)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 3082 :end 3136 :contents-begin 3129 :contents-end 3133 :post-blank 1 :parent #162) #("here" 0 4 (:parent #166))) #("(middle panel) and follow\n" 0 26 (:parent #162)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 3162 :end 3255 :contents-begin 3241 :contents-end 3253 :post-blank 0 :parent #162) #("instructions" 0 12 (:parent #168))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #162))) (paragraph (:begin 3504 :end 3782 :contents-begin 3504 :contents-end 3781 :post-blank 1 :post-affiliated 3504 :mode nil :granularity nil :parent #159) #("Once you have succeeded, you have to " 0 37 (:parent #163)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 3541 :end 3631 :contents-begin 3617 :contents-end 3628 :post-blank 1 :parent #163) #("set the key" 0 11 (:parent #167))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #163))) (src-block (:language "bash" :switches nil :parameters nil :begin 3782 :end 3890 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 3782 :mode nil :granularity nil :parent #159)) (paragraph (:begin 3890 :end 3924 :contents-begin 3890 :contents-end 3923 :post-blank 1 :post-affiliated 3890 :mode nil :granularity nil :parent #159) #("Which should show something like\n" 0 33 (:parent #165))) (fixed-width (:begin 3924 :end 4034 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 3924 :mode nil :granularity nil :parent #159)) (paragraph (:begin 4034 :end 4045 :contents-begin 4034 :contents-end 4044 :post-blank 1 :post-affiliated 4034 :mode nil :granularity nil :parent #159) #("#+end" 0 5 (:parent #167)) (subscript (:begin 4039 :end 4043 :use-brackets-p nil :contents-begin 4040 :contents-end 4043 :post-blank 0 :parent #167) #("src" 0 3 (:parent #171))) #("\n" 0 1 (:parent #167))) (paragraph (:begin 4045 :end 4116 :contents-begin 4045 :contents-end 4115 :post-blank 1 :post-affiliated 4045 :mode nil :granularity nil :parent #159) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #168))) (src-block (:language "bash" :switches nil :parameters nil :begin 4116 :end 4188 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 4116 :mode nil :granularity nil :parent #159)) (paragraph (:begin 4188 :end 4375 :contents-begin 4188 :contents-end 4374 :post-blank 1 :post-affiliated 4188 :mode nil :granularity nil :parent #159) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #170))) (paragraph (:begin 4375 :end 4648 :contents-begin 4375 :contents-end 4648 :post-blank 0 :post-affiliated 4375 :mode nil :granularity nil :parent #159) #("If you need more help we have another writeup in " 0 49 (:parent #171)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 4424 :end 4520 :contents-begin 4508 :contents-end 4518 :post-blank 0 :parent #171) #("guix-notes" 0 10 (:parent #175))) #(". To get\nrid of the locale warning see " 0 39 (:parent #171)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 4559 :end 4646 :contents-begin 4634 :contents-end 4644 :post-blank 0 :parent #171) #("set-locale" 0 10 (:parent #177))) #(".\n" 0 2 (:parent #171))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 4649 :end 5304 :pre-blank 1 :contents-begin 4695 :contents-end 5302 :robust-begin 4697 :robust-end 5300 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4649 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #157))) :mode nil :granularity nil :parent #152) (section (:begin 4695 :end 5304 :contents-begin 4695 :contents-end 5302 :robust-begin 4695 :robust-end 5300 :post-blank 2 :post-affiliated 4695 :mode section :granularity nil :parent #157) (paragraph (:begin 4695 :end 4815 :contents-begin 4695 :contents-end 4814 :post-blank 1 :post-affiliated 4695 :mode planning :granularity nil :parent #160) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #163))) (src-block (:language "bash" :switches nil :parameters nil :begin 4815 :end 4920 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 4815 :mode nil :granularity nil :parent #160)) (paragraph (:begin 4920 :end 4971 :contents-begin 4920 :contents-end 4970 :post-blank 1 :post-affiliated 4920 :mode nil :granularity nil :parent #160) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #165))) (paragraph (:begin 4971 :end 5232 :contents-begin 4971 :contents-end 5231 :post-blank 1 :post-affiliated 4971 :mode nil :granularity nil :parent #160) #("#+begin" 0 7 (:parent #166)) (subscript (:begin 4978 :end 4983 :use-brackets-p nil :contents-begin 4979 :contents-end 4982 :post-blank 1 :parent #166) #("src" 0 3 (:parent #170))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #166)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 5055 :end 5105 :contents-begin nil :contents-end nil :post-blank 0 :parent #166)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #166)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 5147 :end 5183 :contents-begin nil :contents-end nil :post-blank 1 :parent #166)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #166)) (subscript (:begin 5221 :end 5226 :use-brackets-p nil :contents-begin 5222 :contents-end 5225 :post-blank 1 :parent #166) #("src" 0 3 (:parent #176))) #("bash\n" 0 5 (:parent #166))) (paragraph (:begin 5232 :end 5270 :contents-begin 5232 :contents-end 5269 :post-blank 1 :post-affiliated 5232 :mode nil :granularity nil :parent #160) #("To test whether this is working try:\n" 0 37 (:parent #167))) (paragraph (:begin 5270 :end 5302 :contents-begin 5270 :contents-end 5302 :post-blank 0 :post-affiliated 5270 :mode nil :granularity nil :parent #160) #("#+begin" 0 7 (:parent #168)) (subscript (:begin 5277 :end 5282 :use-brackets-p nil :contents-begin 5278 :contents-end 5281 :post-blank 1 :parent #168) #("src" 0 3 (:parent #172))) #("bash\n#+end" 0 10 (:parent #168)) (subscript (:begin 5292 :end 5297 :use-brackets-p nil :contents-begin 5293 :contents-end 5296 :post-blank 1 :parent #168) #("src" 0 3 (:parent #174))) #("bash\n" 0 5 (:parent #168))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 5304 :end 5755 :pre-blank 1 :contents-begin 5345 :contents-end 5754 :robust-begin 5347 :robust-end 5752 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5304 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #158))) :mode nil :granularity nil :parent #152) (section (:begin 5345 :end 5755 :contents-begin 5345 :contents-end 5754 :robust-begin 5345 :robust-end 5752 :post-blank 1 :post-affiliated 5345 :mode section :granularity nil :parent #158) (paragraph (:begin 5345 :end 5445 :contents-begin 5345 :contents-end 5444 :post-blank 1 :post-affiliated 5345 :mode planning :granularity nil :parent #161) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #164))) (src-block (:language "scheme" :switches nil :parameters nil :begin 5445 :end 5589 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 5445 :mode nil :granularity nil :parent #161)) (paragraph (:begin 5589 :end 5621 :contents-begin 5589 :contents-end 5620 :post-blank 1 :post-affiliated 5589 :mode nil :granularity nil :parent #161) #("by pasting it into the command\n" 0 31 (:parent #166))) (src-block (:language "bash" :switches nil :parameters nil :begin 5621 :end 5674 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 5621 :mode nil :granularity nil :parent #161)) (paragraph (:begin 5674 :end 5691 :contents-begin 5674 :contents-end 5690 :post-blank 1 :post-affiliated 5674 :mode nil :granularity nil :parent #161) #("and hit Ctrl-D.\n" 0 16 (:parent #168))) (paragraph (:begin 5691 :end 5754 :contents-begin 5691 :contents-end 5754 :post-blank 0 :post-affiliated 5691 :mode nil :granularity nil :parent #161) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #169))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 5755 :end 7633 :pre-blank 1 :contents-begin 5787 :contents-end 7632 :robust-begin 5789 :robust-end 7630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5755 :title (#("Step 4: Install and run GN2" 0 27 (:parent #159))) :mode nil :granularity nil :parent #152) (section (:begin 5787 :end 7633 :contents-begin 5787 :contents-end 7632 :robust-begin 5787 :robust-end 7630 :post-blank 1 :post-affiliated 5787 :mode section :granularity nil :parent #159) (paragraph (:begin 5787 :end 5927 :contents-begin 5787 :contents-end 5926 :post-blank 1 :post-affiliated 5787 :mode planning :granularity nil :parent #162) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #165))) (src-block (:language "bash" :switches nil :parameters nil :begin 5927 :end 6046 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 5927 :mode nil :granularity nil :parent #162)) (paragraph (:begin 6046 :end 6099 :contents-begin 6046 :contents-end 6098 :post-blank 1 :post-affiliated 6046 :mode nil :granularity nil :parent #162) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #167))) (src-block (:language "bash" :switches nil :parameters nil :begin 6099 :end 6289 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 6099 :mode nil :granularity nil :parent #162)) (paragraph (:begin 6289 :end 6398 :contents-begin 6289 :contents-end 6397 :post-blank 1 :post-affiliated 6289 :mode nil :granularity nil :parent #162) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #169)) (italic (:begin 6360 :end 6366 :post-blank 0 :contents-begin 6361 :contents-end 6365 :parent #169) #("root" 0 4 (:parent #173))) #(".config/guix/latest override).\n" 0 31 (:parent #169))) (paragraph (:begin 6398 :end 6416 :contents-begin 6398 :contents-end 6415 :post-blank 1 :post-affiliated 6398 :mode nil :granularity nil :parent #162) #("And install with\n" 0 17 (:parent #170))) (src-block (:language "bash" :switches nil :parameters nil :begin 6416 :end 6586 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 6416 :mode nil :granularity nil :parent #162)) (paragraph (:begin 6586 :end 6729 :contents-begin 6586 :contents-end 6728 :post-blank 1 :post-affiliated 6586 :mode nil :granularity nil :parent #162) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #172))) (paragraph (:begin 6729 :end 6925 :contents-begin 6729 :contents-end 6924 :post-blank 1 :post-affiliated 6729 :mode nil :granularity nil :parent #162) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #173))) (paragraph (:begin 6925 :end 7056 :contents-begin 6925 :contents-end 7055 :post-blank 1 :post-affiliated 6925 :mode nil :granularity nil :parent #162) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #174))) (src-block (:language "bash" :switches nil :parameters nil :begin 7056 :end 7235 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python2.7/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 7056 :mode nil :granularity nil :parent #162)) (paragraph (:begin 7235 :end 7304 :contents-begin 7235 :contents-end 7303 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #162) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #176))) (src-block (:language "bash" :switches nil :parameters nil :begin 7304 :end 7345 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 7304 :mode nil :granularity nil :parent #162)) (paragraph (:begin 7345 :end 7596 :contents-begin 7345 :contents-end 7595 :post-blank 1 :post-affiliated 7345 :mode nil :granularity nil :parent #162) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #178)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 7567 :end 7593 :contents-begin nil :contents-end nil :post-blank 0 :parent #178)) #(".\n" 0 2 (:parent #178))) (paragraph (:begin 7596 :end 7632 :contents-begin 7596 :contents-end 7632 :post-blank 0 :post-affiliated 7596 :mode nil :granularity nil :parent #162) #("End of the GN2 installation recipe!\n" 0 36 (:parent #179)))))) (headline (:raw-value "Run MySQL server" :begin 7633 :end 9008 :pre-blank 1 :contents-begin 7653 :contents-end 9007 :robust-begin 7655 :robust-end 9005 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7633 :title (#("Run MySQL server" 0 16 (:parent #153))) :mode nil :granularity nil :parent #146) (section (:begin 7653 :end 9008 :contents-begin 7653 :contents-end 9007 :robust-begin 7653 :robust-end 9005 :post-blank 1 :post-affiliated 7653 :mode section :granularity nil :parent #153) (paragraph (:begin 7653 :end 7928 :contents-begin 7653 :contents-end 7927 :post-blank 1 :post-affiliated 7653 :mode planning :granularity nil :parent #156) #("At this point we require the underlying distribution to install and\nrun mysqld. Currently we have two databases for deployment,\n'db" 0 131 (:parent #159)) (subscript (:begin 7784 :end 7791 :use-brackets-p nil :contents-begin 7785 :contents-end 7791 :post-blank 0 :parent #159) #("webqtl" 0 6 (:parent #163))) (subscript (:begin 7791 :end 7793 :use-brackets-p nil :contents-begin 7792 :contents-end 7793 :post-blank 0 :parent #159) #("s" 0 1 (:parent #164))) #("' is the small testing database containing experiments\nfrom BXD mice and 'db" 0 76 (:parent #159)) (subscript (:begin 7869 :end 7876 :use-brackets-p nil :contents-begin 7870 :contents-end 7876 :post-blank 0 :parent #159) #("webqtl" 0 6 (:parent #166))) (subscript (:begin 7876 :end 7882 :use-brackets-p nil :contents-begin 7877 :contents-end 7882 :post-blank 0 :parent #159) #("plant" 0 5 (:parent #167))) #("' which contains all plant related\nmaterial.\n" 0 45 (:parent #159))) (paragraph (:begin 7928 :end 7956 :contents-begin 7928 :contents-end 7955 :post-blank 1 :post-affiliated 7928 :mode nil :granularity nil :parent #156) #("Download one database from\n" 0 27 (:parent #160))) (paragraph (:begin 7956 :end 8054 :contents-begin 7956 :contents-end 8053 :post-blank 1 :post-affiliated 7956 :mode nil :granularity nil :parent #156) (link (:type "http" :path "//files.genenetwork.org/raw_database/" :format plain :raw-link "http://files.genenetwork.org/raw_database/" :application nil :search-option nil :begin 7956 :end 7998 :contents-begin nil :contents-end nil :post-blank 0 :parent #161)) #("\n" 0 1 (:parent #161)) (link (:type "https" :path "//s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :format plain :raw-link "https://s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :application nil :search-option nil :begin 7999 :end 8052 :contents-begin nil :contents-end nil :post-blank 0 :parent #161)) #("\n" 0 1 (:parent #161))) (paragraph (:begin 8054 :end 8073 :contents-begin 8054 :contents-end 8072 :post-blank 1 :post-affiliated 8054 :mode nil :granularity nil :parent #156) #("Check the md5sum.\n" 0 18 (:parent #162))) (paragraph (:begin 8073 :end 8195 :contents-begin 8073 :contents-end 8194 :post-blank 1 :post-affiliated 8073 :mode nil :granularity nil :parent #156) #("After installation inflate the database binary in the MySQL directory\n(this installation path is subject to change soon)\n" 0 121 (:parent #163))) (fixed-width (:begin 8195 :end 8283 :value "chown -R mysql:mysql db_webqtl_s/\nchmod 700 db_webqtl_s/\nchmod 660 db_webqtl_s/*" :post-blank 2 :post-affiliated 8195 :mode nil :granularity nil :parent #156)) (paragraph (:begin 8283 :end 8334 :contents-begin 8283 :contents-end 8333 :post-blank 1 :post-affiliated 8283 :mode nil :granularity nil :parent #156) #("restart MySQL service (mysqld). Login as root and\n" 0 50 (:parent #165))) (fixed-width (:begin 8334 :end 8560 :value "mysql> show databases;\n+--------------------+\n| Database |\n+--------------------+\n| information_schema |\n| db_webqtl_s |\n| mysql |\n| performance_schema |\n+--------------------+" :post-blank 2 :post-affiliated 8334 :mode nil :granularity nil :parent #156)) (paragraph (:begin 8560 :end 8625 :contents-begin 8560 :contents-end 8624 :post-blank 1 :post-affiliated 8560 :mode nil :granularity nil :parent #156) #("Set permissions and match password in your settings file below:\n" 0 64 (:parent #167))) (fixed-width (:begin 8625 :end 8724 :value "mysql> grant all privileges on db_webqtl_s.* to gn2@\"localhost\" identified by 'mysql_password';" :post-blank 2 :post-affiliated 8625 :mode nil :granularity nil :parent #156)) (paragraph (:begin 8724 :end 8875 :contents-begin 8724 :contents-end 8874 :post-blank 1 :post-affiliated 8724 :mode nil :granularity nil :parent #156) #("Note that if the mysql connection is not working, try connecting to\nthe IP address and check server firewall, hosts.allow and mysql IP\nconfiguration.\n" 0 150 (:parent #169))) (paragraph (:begin 8875 :end 9007 :contents-begin 8875 :contents-end 9007 :post-blank 0 :post-affiliated 8875 :mode nil :granularity nil :parent #156) #("Note for the plant database you can rename it to db" 0 51 (:parent #170)) (subscript (:begin 8926 :end 8933 :use-brackets-p nil :contents-begin 8927 :contents-end 8933 :post-blank 0 :parent #170) #("webqtl" 0 6 (:parent #174))) (subscript (:begin 8933 :end 8935 :use-brackets-p nil :contents-begin 8934 :contents-end 8935 :post-blank 0 :parent #170) #("s" 0 1 (:parent #175))) #(", or\nchange the settings in etc/default" 0 39 (:parent #170)) (subscript (:begin 8974 :end 8987 :use-brackets-p nil :contents-begin 8975 :contents-end 8986 :post-blank 1 :parent #170) #("settings.py" 0 11 (:parent #177))) #("to match your path.\n" 0 20 (:parent #170))))) (headline (:raw-value "GN2 Dependency Graph" :begin 9008 :end 9172 :pre-blank 1 :contents-begin 9032 :contents-end 9171 :robust-begin 9034 :robust-end 9169 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9008 :title (#("GN2 Dependency Graph" 0 20 (:parent #154))) :mode nil :granularity nil :parent #146) (section (:begin 9032 :end 9172 :contents-begin 9032 :contents-end 9171 :robust-begin 9032 :robust-end 9169 :post-blank 1 :post-affiliated 9032 :mode section :granularity nil :parent #154) (paragraph (:begin 9032 :end 9093 :contents-begin 9032 :contents-end 9092 :post-blank 1 :post-affiliated 9032 :mode planning :granularity nil :parent #157) #("Graph of all runtime dependencies as installed by GNU Guix.\n" 0 60 (:parent #160))) (paragraph (:begin 9093 :end 9171 :contents-begin 9123 :contents-end 9171 :post-blank 0 :post-affiliated 9123 :attr_html (":title GN2_graph") :mode nil :granularity nil :parent #157) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg" :format plain :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg" :application nil :search-option nil :begin 9123 :end 9170 :contents-begin nil :contents-end nil :post-blank 0 :parent #161)) #("\n" 0 1 (:parent #161))))) (headline (:raw-value "Source deployment" :begin 9172 :end 12840 :pre-blank 1 :contents-begin 9193 :contents-end 12839 :robust-begin 9195 :robust-end 12837 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9172 :title (#("Source deployment" 0 17 (:parent #155))) :mode nil :granularity nil :parent #146) (section (:begin 9193 :end 9612 :contents-begin 9193 :contents-end 9610 :robust-begin 9193 :robust-end 9608 :post-blank 2 :post-affiliated 9193 :mode section :granularity nil :parent #155) (paragraph (:begin 9193 :end 9274 :contents-begin 9193 :contents-end 9273 :post-blank 1 :post-affiliated 9193 :mode planning :granularity nil :parent #158) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #161))) (paragraph (:begin 9274 :end 9304 :contents-begin 9274 :contents-end 9303 :post-blank 1 :post-affiliated 9274 :mode nil :granularity nil :parent #158) #("First execute above 4 steps:\n" 0 29 (:parent #162))) (plain-list (:type unordered :begin 9304 :end 9610 :contents-begin 9304 :contents-end 9610 :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :post-blank 0 :post-affiliated 9304 :mode nil :granularity nil :parent #158) (item (:bullet "- " :begin 9304 :end 9364 :contents-begin 9309 :contents-end 9364 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9304 :tag nil :mode item :granularity nil :parent #163) (paragraph (:begin 9309 :end 9364 :contents-begin 9309 :contents-end 9364 :post-blank 0 :post-affiliated 9309 :mode nil :granularity nil :parent #166) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 9309 :end 9363 :contents-begin 9337 :contents-end 9361 :post-blank 0 :parent #169) #("Step 1: Install GNU Guix" 0 24 (:parent #172))) #("\n" 0 1 (:parent #169)))) (item (:bullet "- " :begin 9364 :end 9458 :contents-begin 9369 :contents-end 9458 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9364 :tag nil :mode item :granularity nil :parent #163) (paragraph (:begin 9369 :end 9458 :contents-begin 9369 :contents-end 9458 :post-blank 0 :post-affiliated 9369 :mode nil :granularity nil :parent #167) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 9369 :end 9457 :contents-begin 9414 :contents-end 9455 :post-blank 0 :parent #170) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #173))) #("\n" 0 1 (:parent #170)))) (item (:bullet "- " :begin 9458 :end 9542 :contents-begin 9463 :contents-end 9542 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9458 :tag nil :mode item :granularity nil :parent #163) (paragraph (:begin 9463 :end 9542 :contents-begin 9463 :contents-end 9542 :post-blank 0 :post-affiliated 9463 :mode nil :granularity nil :parent #168) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 9463 :end 9541 :contents-begin 9503 :contents-end 9539 :post-blank 0 :parent #171) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #174))) #("\n" 0 1 (:parent #171)))) (item (:bullet "- " :begin 9542 :end 9610 :contents-begin 9547 :contents-end 9610 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9542 :tag nil :mode item :granularity nil :parent #163) (paragraph (:begin 9547 :end 9610 :contents-begin 9547 :contents-end 9610 :post-blank 0 :post-affiliated 9547 :mode nil :granularity nil :parent #169) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 9547 :end 9609 :contents-begin 9579 :contents-end 9607 :post-blank 0 :parent #172) #("Step 4: Install and run GN2 " 0 28 (:parent #175))) #("\n" 0 1 (:parent #172)))))) (headline (:raw-value "Run your own copy of GN2" :begin 9612 :end 10722 :pre-blank 1 :contents-begin 9641 :contents-end 10721 :robust-begin 9643 :robust-end 10719 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9612 :title (#("Run your own copy of GN2" 0 24 (:parent #159))) :mode nil :granularity nil :parent #155) (section (:begin 9641 :end 10722 :contents-begin 9641 :contents-end 10721 :robust-begin 9641 :robust-end 10719 :post-blank 1 :post-affiliated 9641 :mode section :granularity nil :parent #159) (paragraph (:begin 9641 :end 9839 :contents-begin 9641 :contents-end 9838 :post-blank 1 :post-affiliated 9641 :mode planning :granularity nil :parent #162) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #165)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 9793 :end 9836 :contents-begin nil :contents-end nil :post-blank 0 :parent #165)) #(".\n" 0 2 (:parent #165))) (paragraph (:begin 9839 :end 9964 :contents-begin 9839 :contents-end 9963 :post-blank 1 :post-affiliated 9839 :mode nil :granularity nil :parent #162) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #166)) (subscript (:begin 9896 :end 9902 :use-brackets-p nil :contents-begin 9897 :contents-end 9901 :post-blank 1 :parent #166) #("PATH" 0 4 (:parent #170))) #("and\nR" 0 5 (:parent #166)) (subscript (:begin 9907 :end 9912 :use-brackets-p nil :contents-begin 9908 :contents-end 9912 :post-blank 0 :parent #166) #("LIBS" 0 4 (:parent #172))) (subscript (:begin 9912 :end 9918 :use-brackets-p nil :contents-begin 9913 :contents-end 9917 :post-blank 1 :parent #166) #("SITE" 0 4 (:parent #173))) #("are set) from the information given by guix:\n" 0 45 (:parent #166))) (fixed-width (:begin 9964 :end 9995 :value "guix package --search-paths" :post-blank 2 :post-affiliated 9964 :mode nil :granularity nil :parent #162)) (paragraph (:begin 9995 :end 10019 :contents-begin 9995 :contents-end 10018 :post-blank 1 :post-affiliated 9995 :mode nil :granularity nil :parent #162) #("Inside the repository:\n" 0 23 (:parent #168))) (fixed-width (:begin 10019 :end 10059 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 10019 :mode nil :granularity nil :parent #162)) (paragraph (:begin 10059 :end 10303 :contents-begin 10059 :contents-end 10302 :post-blank 1 :post-affiliated 10059 :mode nil :granularity nil :parent #162) #("Will fire up your local repo " 0 29 (:parent #170)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 10088 :end 10111 :contents-begin nil :contents-end nil :post-blank 1 :parent #170)) #("using the\nsettings in ./etc/default" 0 35 (:parent #170)) (subscript (:begin 10146 :end 10158 :use-brackets-p nil :contents-begin 10147 :contents-end 10158 :post-blank 0 :parent #170) #("settings.py" 0 11 (:parent #176))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #170)) (subscript (:begin 10263 :end 10276 :use-brackets-p nil :contents-begin 10264 :contents-end 10275 :post-blank 1 :parent #170) #("settings.py" 0 11 (:parent #178))) #("and pass it into GN2 with\n" 0 26 (:parent #170))) (fixed-width (:begin 10303 :end 10346 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 10303 :mode nil :granularity nil :parent #162)) (paragraph (:begin 10346 :end 10492 :contents-begin 10346 :contents-end 10491 :post-blank 1 :post-affiliated 10346 :mode nil :granularity nil :parent #162) #("and everything " 0 15 (:parent #172)) (bold (:begin 10361 :end 10370 :post-blank 1 :contents-begin 10362 :contents-end 10368 :parent #172) #("should" 0 6 (:parent #176))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #172))) (paragraph (:begin 10492 :end 10620 :contents-begin 10492 :contents-end 10619 :post-blank 1 :post-affiliated 10492 :mode nil :granularity nil :parent #162) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #173))) (fixed-width (:begin 10620 :end 10721 :value "cat ~/.guix-profile/lib/python2.7/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 10620 :mode nil :granularity nil :parent #162)))) (headline (:raw-value "Set up nginx port forwarding" :begin 10722 :end 12840 :pre-blank 1 :contents-begin 10755 :contents-end 12839 :robust-begin 10757 :robust-end 12837 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 10722 :title (#("Set up nginx port forwarding" 0 28 (:parent #160))) :mode nil :granularity nil :parent #155) (section (:begin 10755 :end 12840 :contents-begin 10755 :contents-end 12839 :robust-begin 10755 :robust-end 12837 :post-blank 1 :post-affiliated 10755 :mode section :granularity nil :parent #160) (paragraph (:begin 10755 :end 10923 :contents-begin 10755 :contents-end 10922 :post-blank 1 :post-affiliated 10755 :mode planning :granularity nil :parent #163) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #166))) (paragraph (:begin 10923 :end 11063 :contents-begin 10923 :contents-end 11062 :post-blank 1 :post-affiliated 10923 :mode nil :granularity nil :parent #163) #("#+begin" 0 7 (:parent #167)) (subscript (:begin 10930 :end 10935 :use-brackets-p nil :contents-begin 10931 :contents-end 10934 :post-blank 1 :parent #167) #("src" 0 3 (:parent #171))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #167)) (subscript (:begin 10984 :end 10990 :use-brackets-p nil :contents-begin 10985 :contents-end 10989 :post-blank 1 :parent #167) #("name" 0 4 (:parent #173))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #167)) (subscript (:begin 11030 :end 11036 :use-brackets-p nil :contents-begin 11031 :contents-end 11034 :post-blank 2 :parent #167) #("log" 0 3 (:parent #175))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #167))) (paragraph (:begin 11063 :end 11232 :contents-begin 11063 :contents-end 11231 :post-blank 1 :post-affiliated 11063 :mode nil :granularity nil :parent #163) #(" proxy" 0 13 (:parent #168)) (subscript (:begin 11076 :end 11084 :use-brackets-p nil :contents-begin 11077 :contents-end 11084 :post-blank 0 :parent #168) #("connect" 0 7 (:parent #172))) (subscript (:begin 11084 :end 11099 :use-brackets-p nil :contents-begin 11085 :contents-end 11092 :post-blank 7 :parent #168) #("timeout" 0 7 (:parent #173))) #("3000;\n proxy" 0 19 (:parent #168)) (subscript (:begin 11118 :end 11123 :use-brackets-p nil :contents-begin 11119 :contents-end 11123 :post-blank 0 :parent #168) #("send" 0 4 (:parent #175))) (subscript (:begin 11123 :end 11141 :use-brackets-p nil :contents-begin 11124 :contents-end 11131 :post-blank 10 :parent #168) #("timeout" 0 7 (:parent #176))) #("3000;\n proxy" 0 19 (:parent #168)) (subscript (:begin 11160 :end 11165 :use-brackets-p nil :contents-begin 11161 :contents-end 11165 :post-blank 0 :parent #168) #("read" 0 4 (:parent #178))) (subscript (:begin 11165 :end 11183 :use-brackets-p nil :contents-begin 11166 :contents-end 11173 :post-blank 10 :parent #168) #("timeout" 0 7 (:parent #179))) #("3000;\n send" 0 18 (:parent #168)) (subscript (:begin 11201 :end 11225 :use-brackets-p nil :contents-begin 11202 :contents-end 11209 :post-blank 16 :parent #168) #("timeout" 0 7 (:parent #181))) #("3000;\n" 0 6 (:parent #168))) (paragraph (:begin 11232 :end 11632 :contents-begin 11232 :contents-end 11631 :post-blank 1 :post-affiliated 11232 :mode nil :granularity nil :parent #163) #(" location / {\n proxy" 0 38 (:parent #169)) (subscript (:begin 11270 :end 11274 :use-brackets-p nil :contents-begin 11271 :contents-end 11274 :post-blank 0 :parent #169) #("set" 0 3 (:parent #173))) (subscript (:begin 11274 :end 11284 :use-brackets-p nil :contents-begin 11275 :contents-end 11281 :post-blank 3 :parent #169) #("header" 0 6 (:parent #174))) #("Host $http" 0 15 (:parent #169)) (subscript (:begin 11299 :end 11304 :use-brackets-p nil :contents-begin 11300 :contents-end 11304 :post-blank 0 :parent #169) #("host" 0 4 (:parent #176))) #(";\n proxy" 0 19 (:parent #169)) (subscript (:begin 11323 :end 11327 :use-brackets-p nil :contents-begin 11324 :contents-end 11327 :post-blank 0 :parent #169) #("set" 0 3 (:parent #178))) (subscript (:begin 11327 :end 11337 :use-brackets-p nil :contents-begin 11328 :contents-end 11334 :post-blank 3 :parent #169) #("header" 0 6 (:parent #179))) #("Connection keep-alive;\n proxy" 0 40 (:parent #169)) (subscript (:begin 11377 :end 11381 :use-brackets-p nil :contents-begin 11378 :contents-end 11381 :post-blank 0 :parent #169) #("set" 0 3 (:parent #181))) (subscript (:begin 11381 :end 11391 :use-brackets-p nil :contents-begin 11382 :contents-end 11388 :post-blank 3 :parent #169) #("header" 0 6 (:parent #182))) #("X-Real-IP $remote" 0 17 (:parent #169)) (subscript (:begin 11408 :end 11413 :use-brackets-p nil :contents-begin 11409 :contents-end 11413 :post-blank 0 :parent #169) #("addr" 0 4 (:parent #184))) #(";\n proxy" 0 19 (:parent #169)) (subscript (:begin 11432 :end 11436 :use-brackets-p nil :contents-begin 11433 :contents-end 11436 :post-blank 0 :parent #169) #("set" 0 3 (:parent #186))) (subscript (:begin 11436 :end 11446 :use-brackets-p nil :contents-begin 11437 :contents-end 11443 :post-blank 3 :parent #169) #("header" 0 6 (:parent #187))) #("X-Forwarded-For $proxy" 0 22 (:parent #169)) (subscript (:begin 11468 :end 11472 :use-brackets-p nil :contents-begin 11469 :contents-end 11472 :post-blank 0 :parent #169) #("add" 0 3 (:parent #189))) (subscript (:begin 11472 :end 11474 :use-brackets-p nil :contents-begin 11473 :contents-end 11474 :post-blank 0 :parent #169) #("x" 0 1 (:parent #190))) (subscript (:begin 11474 :end 11484 :use-brackets-p nil :contents-begin 11475 :contents-end 11484 :post-blank 0 :parent #169) #("forwarded" 0 9 (:parent #191))) (subscript (:begin 11484 :end 11488 :use-brackets-p nil :contents-begin 11485 :contents-end 11488 :post-blank 0 :parent #169) #("for" 0 3 (:parent #192))) #(";\n proxy" 0 19 (:parent #169)) (subscript (:begin 11507 :end 11511 :use-brackets-p nil :contents-begin 11508 :contents-end 11511 :post-blank 0 :parent #169) #("set" 0 3 (:parent #194))) (subscript (:begin 11511 :end 11521 :use-brackets-p nil :contents-begin 11512 :contents-end 11518 :post-blank 3 :parent #169) #("header" 0 6 (:parent #195))) #("X-Forwarded-Host $server" 0 24 (:parent #169)) (subscript (:begin 11545 :end 11550 :use-brackets-p nil :contents-begin 11546 :contents-end 11550 :post-blank 0 :parent #169) #("name" 0 4 (:parent #197))) #(";\n proxy" 0 19 (:parent #169)) (subscript (:begin 11569 :end 11583 :use-brackets-p nil :contents-begin 11570 :contents-end 11574 :post-blank 9 :parent #169) #("pass" 0 4 (:parent #199))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 11583 :end 11604 :contents-begin nil :contents-end nil :post-blank 0 :parent #169)) #(";\n }\n}\n#+end" 0 19 (:parent #169)) (subscript (:begin 11623 :end 11628 :use-brackets-p nil :contents-begin 11624 :contents-end 11627 :post-blank 1 :parent #169) #("src" 0 3 (:parent #202))) #("js\n" 0 3 (:parent #169))) (paragraph (:begin 11632 :end 11671 :contents-begin 11632 :contents-end 11670 :post-blank 1 :post-affiliated 11632 :mode nil :granularity nil :parent #163) #("Install the nginx webserver (as root)\n" 0 38 (:parent #170))) (fixed-width (:begin 11671 :end 11696 :value "guix package -i nginx" :post-blank 2 :post-affiliated 11671 :mode nil :granularity nil :parent #163)) (paragraph (:begin 11696 :end 11777 :contents-begin 11696 :contents-end 11776 :post-blank 1 :post-affiliated 11696 :mode nil :granularity nil :parent #163) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #172))) (fixed-width (:begin 11777 :end 11964 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 11777 :mode nil :granularity nil :parent #163)) (paragraph (:begin 11964 :end 11979 :contents-begin 11964 :contents-end 11978 :post-blank 1 :post-affiliated 11964 :mode nil :granularity nil :parent #163) #("Use that path\n" 0 14 (:parent #174))) (fixed-width (:begin 11979 :end 12373 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 11979 :mode nil :granularity nil :parent #163)) (paragraph (:begin 12373 :end 12599 :contents-begin 12373 :contents-end 12599 :post-blank 0 :post-affiliated 12373 :mode nil :granularity nil :parent #163) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #176))) (fixed-width (:begin 12599 :end 12646 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 12599 :mode nil :granularity nil :parent #163)) (paragraph (:begin 12646 :end 12657 :contents-begin 12646 :contents-end 12656 :post-blank 1 :post-affiliated 12646 :mode nil :granularity nil :parent #163) #("Make dirs\n" 0 10 (:parent #178))) (fixed-width (:begin 12657 :end 12691 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 12657 :mode nil :granularity nil :parent #163)) (paragraph (:begin 12691 :end 12702 :contents-begin 12691 :contents-end 12701 :post-blank 1 :post-affiliated 12691 :mode nil :granularity nil :parent #163) #("Add users\n" 0 10 (:parent #180))) (fixed-width (:begin 12702 :end 12738 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 12702 :mode nil :granularity nil :parent #163)) (paragraph (:begin 12738 :end 12749 :contents-begin 12738 :contents-end 12748 :post-blank 1 :post-affiliated 12738 :mode nil :granularity nil :parent #163) #("Run nginx\n" 0 10 (:parent #182))) (fixed-width (:begin 12749 :end 12839 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 12749 :mode nil :granularity nil :parent #163))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 12840 :end 13801 :pre-blank 1 :contents-begin 12902 :contents-end 13801 :robust-begin 12904 :robust-end 13799 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12840 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #156))) :mode nil :granularity nil :parent #146) (section (:begin 12902 :end 12959 :contents-begin 12902 :contents-end 12958 :robust-begin 12902 :robust-end 12956 :post-blank 1 :post-affiliated 12902 :mode section :granularity nil :parent #156) (paragraph (:begin 12902 :end 12958 :contents-begin 12902 :contents-end 12958 :post-blank 0 :post-affiliated 12902 :mode planning :granularity nil :parent #159) #("See the document " 0 17 (:parent #162)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 12919 :end 12956 :contents-begin nil :contents-end nil :post-blank 0 :parent #162)) #(".\n" 0 2 (:parent #162)))) (headline (:raw-value "Update to recent guix" :begin 12959 :end 13409 :pre-blank 1 :contents-begin 12985 :contents-end 13408 :robust-begin 12987 :robust-end 13406 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12959 :title (#("Update to recent guix" 0 21 (:parent #160))) :mode nil :granularity nil :parent #156) (section (:begin 12985 :end 13409 :contents-begin 12985 :contents-end 13408 :robust-begin 12985 :robust-end 13406 :post-blank 1 :post-affiliated 12985 :mode section :granularity nil :parent #160) (paragraph (:begin 12985 :end 13020 :contents-begin 12985 :contents-end 13019 :post-blank 1 :post-affiliated 12985 :mode planning :granularity nil :parent #163) #("We now compile Guix from scratch.\n" 0 34 (:parent #166))) (paragraph (:begin 13020 :end 13295 :contents-begin 13020 :contents-end 13294 :post-blank 1 :post-affiliated 13020 :mode nil :granularity nil :parent #163) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #167)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 13159 :end 13272 :contents-begin 13264 :contents-end 13269 :post-blank 1 :parent #167) #("these" 0 5 (:parent #171))) #("steps carefully after\n" 0 22 (:parent #167))) (fixed-width (:begin 13295 :end 13330 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 13295 :mode nil :granularity nil :parent #163)) (paragraph (:begin 13330 :end 13408 :contents-begin 13330 :contents-end 13408 :post-blank 0 :post-affiliated 13330 :mode nil :granularity nil :parent #163) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #169))))) (headline (:raw-value "Install GN2" :begin 13409 :end 13801 :pre-blank 1 :contents-begin 13425 :contents-end 13801 :robust-begin 13427 :robust-end 13799 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 13409 :title (#("Install GN2" 0 11 (:parent #161))) :mode nil :granularity nil :parent #156) (section (:begin 13425 :end 13801 :contents-begin 13425 :contents-end 13801 :robust-begin 13425 :robust-end 13799 :post-blank 0 :post-affiliated 13425 :mode section :granularity nil :parent #161) (paragraph (:begin 13425 :end 13468 :contents-begin 13425 :contents-end 13467 :post-blank 1 :post-affiliated 13425 :mode planning :granularity nil :parent #164) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #167))) (paragraph (:begin 13468 :end 13676 :contents-begin 13468 :contents-end 13675 :post-blank 1 :post-affiliated 13468 :mode nil :granularity nil :parent #164) #("#+begin" 0 7 (:parent #168)) (subscript (:begin 13475 :end 13480 :use-brackets-p nil :contents-begin 13476 :contents-end 13479 :post-blank 1 :parent #168) #("src" 0 3 (:parent #172))) #("bash\nenv GUIX" 0 13 (:parent #168)) (subscript (:begin 13493 :end 13501 :use-brackets-p nil :contents-begin 13494 :contents-end 13501 :post-blank 0 :parent #168) #("PACKAGE" 0 7 (:parent #174))) (subscript (:begin 13501 :end 13506 :use-brackets-p nil :contents-begin 13502 :contents-end 13506 :post-blank 0 :parent #168) #("PATH" 0 4 (:parent #175))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #168)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 13605 :end 13633 :contents-begin nil :contents-end nil :post-blank 1 :parent #168)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 13633 :end 13658 :contents-begin nil :contents-end nil :post-blank 0 :parent #168)) #("\"\n#+end" 0 7 (:parent #168)) (subscript (:begin 13665 :end 13670 :use-brackets-p nil :contents-begin 13666 :contents-end 13669 :post-blank 1 :parent #168) #("src" 0 3 (:parent #180))) #("bash\n" 0 5 (:parent #168))) (paragraph (:begin 13676 :end 13714 :contents-begin 13676 :contents-end 13713 :post-blank 1 :post-affiliated 13676 :mode nil :granularity nil :parent #164) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #169))) (paragraph (:begin 13714 :end 13801 :contents-begin 13714 :contents-end 13801 :post-blank 0 :post-affiliated 13714 :mode nil :granularity nil :parent #164) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #170)))))))) #76)) #52)) #20 (item (:bullet "- " :begin 156 :end 521 :contents-begin 159 :contents-end 521 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 156 :tag nil :mode item :granularity nil :parent #52) (paragraph (:begin 159 :end 217 :contents-begin 159 :contents-end 217 :post-blank 0 :post-affiliated 159 :mode nil :granularity nil :parent #56) (link (:type "custom-id" :path "quick-installation-recipe" :format bracket :raw-link "#quick-installation-recipe" :application nil :search-option nil :begin 159 :end 216 :contents-begin 189 :contents-end 214 :post-blank 0 :parent #59) #("Quick installation recipe" 0 25 (:parent #62))) #("\n" 0 1 (:parent #59))) (plain-list (:type unordered :begin 217 :end 521 :contents-begin 217 :contents-end 521 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 217 :mode nil :granularity nil :parent #56) (item (:bullet "- " :begin 217 :end 277 :contents-begin 222 :contents-end 277 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 217 :tag nil :mode item :granularity nil :parent #60) (paragraph (:begin 222 :end 277 :contents-begin 222 :contents-end 277 :post-blank 0 :post-affiliated 222 :mode nil :granularity nil :parent #63) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 222 :end 276 :contents-begin 250 :contents-end 274 :post-blank 0 :parent #66) #("Step 1: Install GNU Guix" 0 24 (:parent #69))) #("\n" 0 1 (:parent #66)))) (item (:bullet "- " :begin 277 :end 371 :contents-begin 282 :contents-end 371 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 277 :tag nil :mode item :granularity nil :parent #60) (paragraph (:begin 282 :end 371 :contents-begin 282 :contents-end 371 :post-blank 0 :post-affiliated 282 :mode nil :granularity nil :parent #64) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 282 :end 370 :contents-begin 327 :contents-end 368 :post-blank 0 :parent #67) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #70))) #("\n" 0 1 (:parent #67)))) (item (:bullet "- " :begin 371 :end 455 :contents-begin 376 :contents-end 455 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 371 :tag nil :mode item :granularity nil :parent #60) (paragraph (:begin 376 :end 455 :contents-begin 376 :contents-end 455 :post-blank 0 :post-affiliated 376 :mode nil :granularity nil :parent #65) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 376 :end 454 :contents-begin 416 :contents-end 452 :post-blank 0 :parent #68) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #71))) #("\n" 0 1 (:parent #68)))) (item (:bullet "- " :begin 455 :end 521 :contents-begin 460 :contents-end 521 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 455 :tag nil :mode item :granularity nil :parent #60) (paragraph (:begin 460 :end 521 :contents-begin 460 :contents-end 521 :post-blank 0 :post-affiliated 460 :mode nil :granularity nil :parent #66) (link (:type "custom-id" :path "step-4-install-and-run-gn2" :format bracket :raw-link "#step-4-install-and-run-gn2" :application nil :search-option nil :begin 460 :end 520 :contents-begin 491 :contents-end 518 :post-blank 0 :parent #69) #("Step 4: Install and run GN2" 0 27 (:parent #72))) #("\n" 0 1 (:parent #69)))))) (item (:bullet "- " :begin 521 :end 564 :contents-begin 524 :contents-end 564 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 521 :tag nil :mode item :granularity nil :parent #52) (paragraph (:begin 524 :end 564 :contents-begin 524 :contents-end 564 :post-blank 0 :post-affiliated 524 :mode nil :granularity nil :parent #57) (link (:type "custom-id" :path "run-mysql-server" :format bracket :raw-link "#run-mysql-server" :application nil :search-option nil :begin 524 :end 563 :contents-begin 545 :contents-end 561 :post-blank 0 :parent #60) #("Run MySQL server" 0 16 (:parent #63))) #("\n" 0 1 (:parent #60)))) (item (:bullet "- " :begin 564 :end 615 :contents-begin 567 :contents-end 615 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 564 :tag nil :mode item :granularity nil :parent #52) (paragraph (:begin 567 :end 615 :contents-begin 567 :contents-end 615 :post-blank 0 :post-affiliated 567 :mode nil :granularity nil :parent #58) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 567 :end 614 :contents-begin 592 :contents-end 612 :post-blank 0 :parent #61) #("GN2 Dependency Graph" 0 20 (:parent #64))) #("\n" 0 1 (:parent #61)))) (item (:bullet "- " :begin 615 :end 790 :contents-begin 618 :contents-end 790 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 615 :tag nil :mode item :granularity nil :parent #52) (paragraph (:begin 618 :end 660 :contents-begin 618 :contents-end 660 :post-blank 0 :post-affiliated 618 :mode nil :granularity nil :parent #59) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 618 :end 659 :contents-begin 640 :contents-end 657 :post-blank 0 :parent #62) #("Source deployment" 0 17 (:parent #65))) #("\n" 0 1 (:parent #62))) (plain-list (:type unordered :begin 660 :end 790 :contents-begin 660 :contents-end 790 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 660 :mode nil :granularity nil :parent #59) (item (:bullet "- " :begin 660 :end 721 :contents-begin 665 :contents-end 721 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 660 :tag nil :mode item :granularity nil :parent #63) (paragraph (:begin 665 :end 721 :contents-begin 665 :contents-end 721 :post-blank 0 :post-affiliated 665 :mode nil :granularity nil :parent #66) (link (:type "custom-id" :path "run-your-own-copy-of-gn2" :format bracket :raw-link "#run-your-own-copy-of-gn2" :application nil :search-option nil :begin 665 :end 720 :contents-begin 694 :contents-end 718 :post-blank 0 :parent #69) #("Run your own copy of GN2" 0 24 (:parent #72))) #("\n" 0 1 (:parent #69)))) (item (:bullet "- " :begin 721 :end 790 :contents-begin 726 :contents-end 790 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 721 :tag nil :mode item :granularity nil :parent #63) (paragraph (:begin 726 :end 790 :contents-begin 726 :contents-end 790 :post-blank 0 :post-affiliated 726 :mode nil :granularity nil :parent #67) (link (:type "custom-id" :path "set-up-nginx-port-forwarding" :format bracket :raw-link "#set-up-nginx-port-forwarding" :application nil :search-option nil :begin 726 :end 789 :contents-begin 759 :contents-end 787 :post-blank 0 :parent #70) #("Set up nginx port forwarding" 0 28 (:parent #73))) #("\n" 0 1 (:parent #70)))))) (item (:bullet "- " :begin 790 :end 1034 :contents-begin 793 :contents-end 1034 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 790 :tag nil :mode item :granularity nil :parent #52) (paragraph (:begin 793 :end 917 :contents-begin 793 :contents-end 917 :post-blank 0 :post-affiliated 793 :mode nil :granularity nil :parent #60) (link (:type "custom-id" :path "source-deployment-and-other-information-on-reproducibility" :format bracket :raw-link "#source-deployment-and-other-information-on-reproducibility" :application nil :search-option nil :begin 793 :end 916 :contents-begin 856 :contents-end 914 :post-blank 0 :parent #63) #("Source deployment and other information on reproducibility" 0 58 (:parent #66))) #("\n" 0 1 (:parent #63))) (plain-list (:type unordered :begin 917 :end 1034 :contents-begin 917 :contents-end 1034 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 917 :mode nil :granularity nil :parent #60) (item (:bullet "- " :begin 917 :end 972 :contents-begin 922 :contents-end 972 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 917 :tag nil :mode item :granularity nil :parent #64) (paragraph (:begin 922 :end 972 :contents-begin 922 :contents-end 972 :post-blank 0 :post-affiliated 922 :mode nil :granularity nil :parent #67) (link (:type "custom-id" :path "update-to-recent-guix" :format bracket :raw-link "#update-to-recent-guix" :application nil :search-option nil :begin 922 :end 971 :contents-begin 948 :contents-end 969 :post-blank 0 :parent #70) #("Update to recent guix" 0 21 (:parent #73))) #("\n" 0 1 (:parent #70)))) (item (:bullet "- " :begin 972 :end 1007 :contents-begin 977 :contents-end 1007 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 972 :tag nil :mode item :granularity nil :parent #64) (paragraph (:begin 977 :end 1007 :contents-begin 977 :contents-end 1007 :post-blank 0 :post-affiliated 977 :mode nil :granularity nil :parent #68) (link (:type "custom-id" :path "install-gn2" :format bracket :raw-link "#install-gn2" :application nil :search-option nil :begin 977 :end 1006 :contents-begin 993 :contents-end 1004 :post-blank 0 :parent #71) #("Install GN2" 0 11 (:parent #74))) #("\n" 0 1 (:parent #71)))) (item (:bullet "- " :begin 1007 :end 1034 :contents-begin 1012 :contents-end 1034 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1007 :tag nil :mode item :granularity nil :parent #64) (paragraph (:begin 1012 :end 1034 :contents-begin 1012 :contents-end 1034 :post-blank 0 :post-affiliated 1012 :mode nil :granularity nil :parent #69) (link (:type "custom-id" :path "run-gn2" :format bracket :raw-link "#run-gn2" :application nil :search-option nil :begin 1012 :end 1033 :contents-begin 1024 :contents-end 1031 :post-blank 0 :parent #72) #("Run GN2" 0 7 (:parent #75))) #("\n" 0 1 (:parent #72)))))) (item (:bullet "- " :begin 1034 :end 1370 :contents-begin 1037 :contents-end 1370 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1034 :tag nil :mode item :granularity nil :parent #52) (paragraph (:begin 1037 :end 1077 :contents-begin 1037 :contents-end 1077 :post-blank 0 :post-affiliated 1037 :mode nil :granularity nil :parent #61) (link (:type "custom-id" :path "trouble-shooting" :format bracket :raw-link "#trouble-shooting" :application nil :search-option nil :begin 1037 :end 1076 :contents-begin 1058 :contents-end 1074 :post-blank 0 :parent #64) #("Trouble shooting" 0 16 (:parent #67))) #("\n" 0 1 (:parent #64))) (plain-list (:type unordered :begin 1077 :end 1370 :contents-begin 1077 :contents-end 1370 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 1077 :mode nil :granularity nil :parent #61) (item (:bullet "- " :begin 1077 :end 1159 :contents-begin 1082 :contents-end 1159 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1077 :tag nil :mode item :granularity nil :parent #65) (paragraph (:begin 1082 :end 1159 :contents-begin 1082 :contents-end 1159 :post-blank 0 :post-affiliated 1082 :mode nil :granularity nil :parent #68) (link (:type "custom-id" :path "importerror-no-module-named-jinja2" :format bracket :raw-link "#importerror-no-module-named-jinja2" :application nil :search-option nil :begin 1082 :end 1158 :contents-begin 1121 :contents-end 1156 :post-blank 0 :parent #71) #("ImportError: No module named jinja2" 0 35 (:parent #74))) #("\n" 0 1 (:parent #71)))) (item (:bullet "- " :begin 1159 :end 1257 :contents-begin 1164 :contents-end 1257 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1159 :tag nil :mode item :granularity nil :parent #65) (paragraph (:begin 1164 :end 1257 :contents-begin 1164 :contents-end 1257 :post-blank 0 :post-affiliated 1164 :mode nil :granularity nil :parent #69) (link (:type "custom-id" :path "error-can-not-find-directory-homegn2_data" :format bracket :raw-link "#error-can-not-find-directory-homegn2_data" :application nil :search-option nil :begin 1164 :end 1256 :contents-begin 1210 :contents-end 1254 :post-blank 0 :parent #72) #("ERROR: can not find directory $HOME/gn2" 0 39 (:parent #75)) (subscript (:begin 1249 :end 1254 :use-brackets-p nil :contents-begin 1250 :contents-end 1254 :post-blank 0 :parent #75) #("data" 0 4 (:parent #79)))) #("\n" 0 1 (:parent #72)))) (item (:bullet "- " :begin 1257 :end 1305 :contents-begin 1262 :contents-end 1305 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1257 :tag nil :mode item :granularity nil :parent #65) (paragraph (:begin 1262 :end 1305 :contents-begin 1262 :contents-end 1305 :post-blank 0 :post-affiliated 1262 :mode nil :granularity nil :parent #70) (link (:type "custom-id" :path "cant-run-a-module" :format bracket :raw-link "#cant-run-a-module" :application nil :search-option nil :begin 1262 :end 1304 :contents-begin 1284 :contents-end 1302 :post-blank 0 :parent #73) #("Can't run a module" 0 18 (:parent #76))) #("\n" 0 1 (:parent #73)))) (item (:bullet "- " :begin 1305 :end 1370 :contents-begin 1310 :contents-end 1370 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1305 :tag nil :mode item :granularity nil :parent #65) (paragraph (:begin 1310 :end 1370 :contents-begin 1310 :contents-end 1370 :post-blank 0 :post-affiliated 1310 :mode nil :granularity nil :parent #71) (link (:type "custom-id" :path "rpy2-error-show-now-found" :format bracket :raw-link "#rpy2-error-show-now-found" :application nil :search-option nil :begin 1310 :end 1369 :contents-begin 1340 :contents-end 1367 :post-blank 0 :parent #74) #("Rpy2 error 'show' now found" 0 27 (:parent #77))) #("\n" 0 1 (:parent #74)))))) (item (:bullet "- " :begin 1370 :end 1403 :contents-begin 1373 :contents-end 1403 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1370 :tag nil :mode item :granularity nil :parent #52) (paragraph (:begin 1373 :end 1403 :contents-begin 1373 :contents-end 1403 :post-blank 0 :post-affiliated 1373 :mode nil :granularity nil :parent #62) (link (:type "custom-id" :path "irc-session" :format bracket :raw-link "#irc-session" :application nil :search-option nil :begin 1373 :end 1402 :contents-begin 1389 :contents-end 1400 :post-blank 0 :parent #65) #("IRC session" 0 11 (:parent #68))) #("\n" 0 1 (:parent #65)))))) #0)) (link (:type "custom-id" :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil :begin 124 :end 155 :contents-begin 141 :contents-end 153 :post-blank 0 :parent #0) #("Introduction" 0 12 (:parent #3))) #("\n" 0 1 (:parent #0)))) mapconcat(#f(compiled-function (element) #) ((paragraph (:begin 124 :end 156 :contents-begin 124 :contents-end 156 :post-blank 0 :post-affiliated 124 :mode nil :granularity nil :parent (item (:bullet "- " :begin 121 :end 156 :contents-begin 124 :contents-end 156 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 121 :tag nil :mode item :granularity nil :parent (plain-list (:type unordered :begin 121 :end 1403 :contents-begin 121 :contents-end 1403 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 121 :mode planning :granularity nil :parent (section (:begin 121 :end 1404 :contents-begin 121 :contents-end 1403 :robust-begin 121 :robust-end 1401 :post-blank 1 :post-affiliated 121 :mode section :granularity nil :parent (headline (:raw-value "Table of Contents" :begin 43 :end 1404 :pre-blank 0 :contents-begin 121 :contents-end 1403 :robust-begin 123 :robust-end 1401 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 43 :title (#("Table of Contents" 0 17 (:parent #101))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13801 :end 13801 :robust-begin 3 :robust-end 13799 :post-blank 0 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 43 :contents-begin 1 :contents-end 42 :robust-begin 1 :robust-end 40 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #147) (keyword (:key "TITLE" :value "Installing GeneNetwork services" :begin 1 :end 42 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #150))) #101 (headline (:raw-value "Introduction" :begin 1404 :end 2450 :pre-blank 1 :contents-begin 1420 :contents-end 2449 :robust-begin 1422 :robust-end 2447 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1404 :title (#("Introduction" 0 12 (:parent #152))) :mode nil :granularity nil :parent #147) (section (:begin 1420 :end 2450 :contents-begin 1420 :contents-end 2449 :robust-begin 1420 :robust-end 2447 :post-blank 1 :post-affiliated 1420 :mode section :granularity nil :parent #152) (paragraph (:begin 1420 :end 1557 :contents-begin 1420 :contents-end 1556 :post-blank 1 :post-affiliated 1420 :mode planning :granularity nil :parent #155) #("If you want to understand the architecture of GN2 read\n" 0 55 (:parent #158)) (link (:type "fuzzy" :path "Architecture.org" :format bracket :raw-link "Architecture.org" :application nil :search-option nil :begin 1475 :end 1495 :contents-begin nil :contents-end nil :post-blank 0 :parent #158)) #(". The rest of this document is mostly on deployment\nof GN2.\n" 0 61 (:parent #158))) (paragraph (:begin 1557 :end 1943 :contents-begin 1557 :contents-end 1942 :post-blank 1 :post-affiliated 1557 :mode nil :granularity nil :parent #155) #("Large system deployments can get very " 0 38 (:parent #159)) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg " :format bracket :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg " :application nil :search-option nil :begin 1595 :end 1656 :contents-begin 1647 :contents-end 1654 :post-blank 0 :parent #159) #("complex" 0 7 (:parent #163))) #(". In this document we\nexplain the GeneNetwork version 2 (GN2) reproducible deployment system\nwhich is based on GNU Guix (see also " 0 130 (:parent #159)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1786 :end 1860 :contents-begin 1848 :contents-end 1858 :post-blank 0 :parent #159) #("Guix-notes" 0 10 (:parent #165))) #("). The Guix\nsystem can be used to install GN with all its files and dependencies.\n" 0 82 (:parent #159))) (paragraph (:begin 1943 :end 2328 :contents-begin 1943 :contents-end 2327 :post-blank 1 :post-affiliated 1943 :mode nil :granularity nil :parent #155) #("The official installation path is from a checked out version of the\nmain Guix package tree and that of the Genenetwork package\ntree. Current supported versions can be found as the SHA values of\n'gn-latest' branches of " 0 218 (:parent #160)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :application nil :search-option nil :begin 2161 :end 2252 :contents-begin 2230 :contents-end 2249 :post-blank 1 :parent #160) #("Guix bioinformatics" 0 19 (:parent #164))) #("and " 0 4 (:parent #160)) (link (:type "https" :path "//github.com/genenetwork/guix/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix/tree/gn-latest" :application nil :search-option nil :begin 2256 :end 2325 :contents-begin 2310 :contents-end 2323 :post-blank 0 :parent #160) #("GNU Guix main" 0 13 (:parent #166))) #(".\n" 0 2 (:parent #160))) (paragraph (:begin 2328 :end 2449 :contents-begin 2328 :contents-end 2449 :post-blank 0 :post-affiliated 2328 :mode nil :granularity nil :parent #155) #("For a full view of runtime dependencies as defined by GNU Guix, see\nthe " 0 72 (:parent #161)) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 2400 :end 2447 :contents-begin 2425 :contents-end 2445 :post-blank 0 :parent #161) #("GN2 Dependency Graph" 0 20 (:parent #165))) #(".\n" 0 2 (:parent #161))))) (headline (:raw-value "Quick installation recipe" :begin 2450 :end 7633 :pre-blank 1 :contents-begin 2479 :contents-end 7632 :robust-begin 2481 :robust-end 7630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 2450 :title (#("Quick installation recipe" 0 25 (:parent #153))) :mode nil :granularity nil :parent #147) (section (:begin 2479 :end 3022 :contents-begin 2479 :contents-end 3021 :robust-begin 2479 :robust-end 3019 :post-blank 1 :post-affiliated 2479 :mode section :granularity nil :parent #153) (paragraph (:begin 2479 :end 2880 :contents-begin 2479 :contents-end 2879 :post-blank 1 :post-affiliated 2479 :mode planning :granularity nil :parent #156) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS). For more elaborate installation\ninstructions see " 0 357 (:parent #159)) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 2836 :end 2877 :contents-begin 2858 :contents-end 2875 :post-blank 0 :parent #159) #("Source deployment" 0 17 (:parent #163))) #(".\n" 0 2 (:parent #159))) (paragraph (:begin 2880 :end 3021 :contents-begin 2880 :contents-end 3021 :post-blank 0 :post-affiliated 2880 :mode nil :granularity nil :parent #156) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #160)))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 3022 :end 4649 :pre-blank 1 :contents-begin 3051 :contents-end 4648 :robust-begin 3053 :robust-end 4646 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3022 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #157))) :mode nil :granularity nil :parent #153) (section (:begin 3051 :end 4649 :contents-begin 3051 :contents-end 4648 :robust-begin 3051 :robust-end 4646 :post-blank 1 :post-affiliated 3051 :mode section :granularity nil :parent #157) (paragraph (:begin 3051 :end 3504 :contents-begin 3051 :contents-end 3503 :post-blank 1 :post-affiliated 3051 :mode planning :granularity nil :parent #160) #("Fetch the GNU Guix binary from " 0 31 (:parent #163)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 3082 :end 3136 :contents-begin 3129 :contents-end 3133 :post-blank 1 :parent #163) #("here" 0 4 (:parent #167))) #("(middle panel) and follow\n" 0 26 (:parent #163)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 3162 :end 3255 :contents-begin 3241 :contents-end 3253 :post-blank 0 :parent #163) #("instructions" 0 12 (:parent #169))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #163))) (paragraph (:begin 3504 :end 3782 :contents-begin 3504 :contents-end 3781 :post-blank 1 :post-affiliated 3504 :mode nil :granularity nil :parent #160) #("Once you have succeeded, you have to " 0 37 (:parent #164)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 3541 :end 3631 :contents-begin 3617 :contents-end 3628 :post-blank 1 :parent #164) #("set the key" 0 11 (:parent #168))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #164))) (src-block (:language "bash" :switches nil :parameters nil :begin 3782 :end 3890 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 3782 :mode nil :granularity nil :parent #160)) (paragraph (:begin 3890 :end 3924 :contents-begin 3890 :contents-end 3923 :post-blank 1 :post-affiliated 3890 :mode nil :granularity nil :parent #160) #("Which should show something like\n" 0 33 (:parent #166))) (fixed-width (:begin 3924 :end 4034 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 3924 :mode nil :granularity nil :parent #160)) (paragraph (:begin 4034 :end 4045 :contents-begin 4034 :contents-end 4044 :post-blank 1 :post-affiliated 4034 :mode nil :granularity nil :parent #160) #("#+end" 0 5 (:parent #168)) (subscript (:begin 4039 :end 4043 :use-brackets-p nil :contents-begin 4040 :contents-end 4043 :post-blank 0 :parent #168) #("src" 0 3 (:parent #172))) #("\n" 0 1 (:parent #168))) (paragraph (:begin 4045 :end 4116 :contents-begin 4045 :contents-end 4115 :post-blank 1 :post-affiliated 4045 :mode nil :granularity nil :parent #160) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #169))) (src-block (:language "bash" :switches nil :parameters nil :begin 4116 :end 4188 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 4116 :mode nil :granularity nil :parent #160)) (paragraph (:begin 4188 :end 4375 :contents-begin 4188 :contents-end 4374 :post-blank 1 :post-affiliated 4188 :mode nil :granularity nil :parent #160) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #171))) (paragraph (:begin 4375 :end 4648 :contents-begin 4375 :contents-end 4648 :post-blank 0 :post-affiliated 4375 :mode nil :granularity nil :parent #160) #("If you need more help we have another writeup in " 0 49 (:parent #172)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 4424 :end 4520 :contents-begin 4508 :contents-end 4518 :post-blank 0 :parent #172) #("guix-notes" 0 10 (:parent #176))) #(". To get\nrid of the locale warning see " 0 39 (:parent #172)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 4559 :end 4646 :contents-begin 4634 :contents-end 4644 :post-blank 0 :parent #172) #("set-locale" 0 10 (:parent #178))) #(".\n" 0 2 (:parent #172))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 4649 :end 5304 :pre-blank 1 :contents-begin 4695 :contents-end 5302 :robust-begin 4697 :robust-end 5300 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4649 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #158))) :mode nil :granularity nil :parent #153) (section (:begin 4695 :end 5304 :contents-begin 4695 :contents-end 5302 :robust-begin 4695 :robust-end 5300 :post-blank 2 :post-affiliated 4695 :mode section :granularity nil :parent #158) (paragraph (:begin 4695 :end 4815 :contents-begin 4695 :contents-end 4814 :post-blank 1 :post-affiliated 4695 :mode planning :granularity nil :parent #161) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #164))) (src-block (:language "bash" :switches nil :parameters nil :begin 4815 :end 4920 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 4815 :mode nil :granularity nil :parent #161)) (paragraph (:begin 4920 :end 4971 :contents-begin 4920 :contents-end 4970 :post-blank 1 :post-affiliated 4920 :mode nil :granularity nil :parent #161) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #166))) (paragraph (:begin 4971 :end 5232 :contents-begin 4971 :contents-end 5231 :post-blank 1 :post-affiliated 4971 :mode nil :granularity nil :parent #161) #("#+begin" 0 7 (:parent #167)) (subscript (:begin 4978 :end 4983 :use-brackets-p nil :contents-begin 4979 :contents-end 4982 :post-blank 1 :parent #167) #("src" 0 3 (:parent #171))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #167)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 5055 :end 5105 :contents-begin nil :contents-end nil :post-blank 0 :parent #167)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #167)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 5147 :end 5183 :contents-begin nil :contents-end nil :post-blank 1 :parent #167)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #167)) (subscript (:begin 5221 :end 5226 :use-brackets-p nil :contents-begin 5222 :contents-end 5225 :post-blank 1 :parent #167) #("src" 0 3 (:parent #177))) #("bash\n" 0 5 (:parent #167))) (paragraph (:begin 5232 :end 5270 :contents-begin 5232 :contents-end 5269 :post-blank 1 :post-affiliated 5232 :mode nil :granularity nil :parent #161) #("To test whether this is working try:\n" 0 37 (:parent #168))) (paragraph (:begin 5270 :end 5302 :contents-begin 5270 :contents-end 5302 :post-blank 0 :post-affiliated 5270 :mode nil :granularity nil :parent #161) #("#+begin" 0 7 (:parent #169)) (subscript (:begin 5277 :end 5282 :use-brackets-p nil :contents-begin 5278 :contents-end 5281 :post-blank 1 :parent #169) #("src" 0 3 (:parent #173))) #("bash\n#+end" 0 10 (:parent #169)) (subscript (:begin 5292 :end 5297 :use-brackets-p nil :contents-begin 5293 :contents-end 5296 :post-blank 1 :parent #169) #("src" 0 3 (:parent #175))) #("bash\n" 0 5 (:parent #169))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 5304 :end 5755 :pre-blank 1 :contents-begin 5345 :contents-end 5754 :robust-begin 5347 :robust-end 5752 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5304 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #159))) :mode nil :granularity nil :parent #153) (section (:begin 5345 :end 5755 :contents-begin 5345 :contents-end 5754 :robust-begin 5345 :robust-end 5752 :post-blank 1 :post-affiliated 5345 :mode section :granularity nil :parent #159) (paragraph (:begin 5345 :end 5445 :contents-begin 5345 :contents-end 5444 :post-blank 1 :post-affiliated 5345 :mode planning :granularity nil :parent #162) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #165))) (src-block (:language "scheme" :switches nil :parameters nil :begin 5445 :end 5589 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 5445 :mode nil :granularity nil :parent #162)) (paragraph (:begin 5589 :end 5621 :contents-begin 5589 :contents-end 5620 :post-blank 1 :post-affiliated 5589 :mode nil :granularity nil :parent #162) #("by pasting it into the command\n" 0 31 (:parent #167))) (src-block (:language "bash" :switches nil :parameters nil :begin 5621 :end 5674 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 5621 :mode nil :granularity nil :parent #162)) (paragraph (:begin 5674 :end 5691 :contents-begin 5674 :contents-end 5690 :post-blank 1 :post-affiliated 5674 :mode nil :granularity nil :parent #162) #("and hit Ctrl-D.\n" 0 16 (:parent #169))) (paragraph (:begin 5691 :end 5754 :contents-begin 5691 :contents-end 5754 :post-blank 0 :post-affiliated 5691 :mode nil :granularity nil :parent #162) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #170))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 5755 :end 7633 :pre-blank 1 :contents-begin 5787 :contents-end 7632 :robust-begin 5789 :robust-end 7630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5755 :title (#("Step 4: Install and run GN2" 0 27 (:parent #160))) :mode nil :granularity nil :parent #153) (section (:begin 5787 :end 7633 :contents-begin 5787 :contents-end 7632 :robust-begin 5787 :robust-end 7630 :post-blank 1 :post-affiliated 5787 :mode section :granularity nil :parent #160) (paragraph (:begin 5787 :end 5927 :contents-begin 5787 :contents-end 5926 :post-blank 1 :post-affiliated 5787 :mode planning :granularity nil :parent #163) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #166))) (src-block (:language "bash" :switches nil :parameters nil :begin 5927 :end 6046 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 5927 :mode nil :granularity nil :parent #163)) (paragraph (:begin 6046 :end 6099 :contents-begin 6046 :contents-end 6098 :post-blank 1 :post-affiliated 6046 :mode nil :granularity nil :parent #163) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #168))) (src-block (:language "bash" :switches nil :parameters nil :begin 6099 :end 6289 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 6099 :mode nil :granularity nil :parent #163)) (paragraph (:begin 6289 :end 6398 :contents-begin 6289 :contents-end 6397 :post-blank 1 :post-affiliated 6289 :mode nil :granularity nil :parent #163) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #170)) (italic (:begin 6360 :end 6366 :post-blank 0 :contents-begin 6361 :contents-end 6365 :parent #170) #("root" 0 4 (:parent #174))) #(".config/guix/latest override).\n" 0 31 (:parent #170))) (paragraph (:begin 6398 :end 6416 :contents-begin 6398 :contents-end 6415 :post-blank 1 :post-affiliated 6398 :mode nil :granularity nil :parent #163) #("And install with\n" 0 17 (:parent #171))) (src-block (:language "bash" :switches nil :parameters nil :begin 6416 :end 6586 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 6416 :mode nil :granularity nil :parent #163)) (paragraph (:begin 6586 :end 6729 :contents-begin 6586 :contents-end 6728 :post-blank 1 :post-affiliated 6586 :mode nil :granularity nil :parent #163) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #173))) (paragraph (:begin 6729 :end 6925 :contents-begin 6729 :contents-end 6924 :post-blank 1 :post-affiliated 6729 :mode nil :granularity nil :parent #163) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #174))) (paragraph (:begin 6925 :end 7056 :contents-begin 6925 :contents-end 7055 :post-blank 1 :post-affiliated 6925 :mode nil :granularity nil :parent #163) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #175))) (src-block (:language "bash" :switches nil :parameters nil :begin 7056 :end 7235 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python2.7/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 7056 :mode nil :granularity nil :parent #163)) (paragraph (:begin 7235 :end 7304 :contents-begin 7235 :contents-end 7303 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #163) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #177))) (src-block (:language "bash" :switches nil :parameters nil :begin 7304 :end 7345 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 7304 :mode nil :granularity nil :parent #163)) (paragraph (:begin 7345 :end 7596 :contents-begin 7345 :contents-end 7595 :post-blank 1 :post-affiliated 7345 :mode nil :granularity nil :parent #163) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #179)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 7567 :end 7593 :contents-begin nil :contents-end nil :post-blank 0 :parent #179)) #(".\n" 0 2 (:parent #179))) (paragraph (:begin 7596 :end 7632 :contents-begin 7596 :contents-end 7632 :post-blank 0 :post-affiliated 7596 :mode nil :granularity nil :parent #163) #("End of the GN2 installation recipe!\n" 0 36 (:parent #180)))))) (headline (:raw-value "Run MySQL server" :begin 7633 :end 9008 :pre-blank 1 :contents-begin 7653 :contents-end 9007 :robust-begin 7655 :robust-end 9005 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7633 :title (#("Run MySQL server" 0 16 (:parent #154))) :mode nil :granularity nil :parent #147) (section (:begin 7653 :end 9008 :contents-begin 7653 :contents-end 9007 :robust-begin 7653 :robust-end 9005 :post-blank 1 :post-affiliated 7653 :mode section :granularity nil :parent #154) (paragraph (:begin 7653 :end 7928 :contents-begin 7653 :contents-end 7927 :post-blank 1 :post-affiliated 7653 :mode planning :granularity nil :parent #157) #("At this point we require the underlying distribution to install and\nrun mysqld. Currently we have two databases for deployment,\n'db" 0 131 (:parent #160)) (subscript (:begin 7784 :end 7791 :use-brackets-p nil :contents-begin 7785 :contents-end 7791 :post-blank 0 :parent #160) #("webqtl" 0 6 (:parent #164))) (subscript (:begin 7791 :end 7793 :use-brackets-p nil :contents-begin 7792 :contents-end 7793 :post-blank 0 :parent #160) #("s" 0 1 (:parent #165))) #("' is the small testing database containing experiments\nfrom BXD mice and 'db" 0 76 (:parent #160)) (subscript (:begin 7869 :end 7876 :use-brackets-p nil :contents-begin 7870 :contents-end 7876 :post-blank 0 :parent #160) #("webqtl" 0 6 (:parent #167))) (subscript (:begin 7876 :end 7882 :use-brackets-p nil :contents-begin 7877 :contents-end 7882 :post-blank 0 :parent #160) #("plant" 0 5 (:parent #168))) #("' which contains all plant related\nmaterial.\n" 0 45 (:parent #160))) (paragraph (:begin 7928 :end 7956 :contents-begin 7928 :contents-end 7955 :post-blank 1 :post-affiliated 7928 :mode nil :granularity nil :parent #157) #("Download one database from\n" 0 27 (:parent #161))) (paragraph (:begin 7956 :end 8054 :contents-begin 7956 :contents-end 8053 :post-blank 1 :post-affiliated 7956 :mode nil :granularity nil :parent #157) (link (:type "http" :path "//files.genenetwork.org/raw_database/" :format plain :raw-link "http://files.genenetwork.org/raw_database/" :application nil :search-option nil :begin 7956 :end 7998 :contents-begin nil :contents-end nil :post-blank 0 :parent #162)) #("\n" 0 1 (:parent #162)) (link (:type "https" :path "//s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :format plain :raw-link "https://s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :application nil :search-option nil :begin 7999 :end 8052 :contents-begin nil :contents-end nil :post-blank 0 :parent #162)) #("\n" 0 1 (:parent #162))) (paragraph (:begin 8054 :end 8073 :contents-begin 8054 :contents-end 8072 :post-blank 1 :post-affiliated 8054 :mode nil :granularity nil :parent #157) #("Check the md5sum.\n" 0 18 (:parent #163))) (paragraph (:begin 8073 :end 8195 :contents-begin 8073 :contents-end 8194 :post-blank 1 :post-affiliated 8073 :mode nil :granularity nil :parent #157) #("After installation inflate the database binary in the MySQL directory\n(this installation path is subject to change soon)\n" 0 121 (:parent #164))) (fixed-width (:begin 8195 :end 8283 :value "chown -R mysql:mysql db_webqtl_s/\nchmod 700 db_webqtl_s/\nchmod 660 db_webqtl_s/*" :post-blank 2 :post-affiliated 8195 :mode nil :granularity nil :parent #157)) (paragraph (:begin 8283 :end 8334 :contents-begin 8283 :contents-end 8333 :post-blank 1 :post-affiliated 8283 :mode nil :granularity nil :parent #157) #("restart MySQL service (mysqld). Login as root and\n" 0 50 (:parent #166))) (fixed-width (:begin 8334 :end 8560 :value "mysql> show databases;\n+--------------------+\n| Database |\n+--------------------+\n| information_schema |\n| db_webqtl_s |\n| mysql |\n| performance_schema |\n+--------------------+" :post-blank 2 :post-affiliated 8334 :mode nil :granularity nil :parent #157)) (paragraph (:begin 8560 :end 8625 :contents-begin 8560 :contents-end 8624 :post-blank 1 :post-affiliated 8560 :mode nil :granularity nil :parent #157) #("Set permissions and match password in your settings file below:\n" 0 64 (:parent #168))) (fixed-width (:begin 8625 :end 8724 :value "mysql> grant all privileges on db_webqtl_s.* to gn2@\"localhost\" identified by 'mysql_password';" :post-blank 2 :post-affiliated 8625 :mode nil :granularity nil :parent #157)) (paragraph (:begin 8724 :end 8875 :contents-begin 8724 :contents-end 8874 :post-blank 1 :post-affiliated 8724 :mode nil :granularity nil :parent #157) #("Note that if the mysql connection is not working, try connecting to\nthe IP address and check server firewall, hosts.allow and mysql IP\nconfiguration.\n" 0 150 (:parent #170))) (paragraph (:begin 8875 :end 9007 :contents-begin 8875 :contents-end 9007 :post-blank 0 :post-affiliated 8875 :mode nil :granularity nil :parent #157) #("Note for the plant database you can rename it to db" 0 51 (:parent #171)) (subscript (:begin 8926 :end 8933 :use-brackets-p nil :contents-begin 8927 :contents-end 8933 :post-blank 0 :parent #171) #("webqtl" 0 6 (:parent #175))) (subscript (:begin 8933 :end 8935 :use-brackets-p nil :contents-begin 8934 :contents-end 8935 :post-blank 0 :parent #171) #("s" 0 1 (:parent #176))) #(", or\nchange the settings in etc/default" 0 39 (:parent #171)) (subscript (:begin 8974 :end 8987 :use-brackets-p nil :contents-begin 8975 :contents-end 8986 :post-blank 1 :parent #171) #("settings.py" 0 11 (:parent #178))) #("to match your path.\n" 0 20 (:parent #171))))) (headline (:raw-value "GN2 Dependency Graph" :begin 9008 :end 9172 :pre-blank 1 :contents-begin 9032 :contents-end 9171 :robust-begin 9034 :robust-end 9169 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9008 :title (#("GN2 Dependency Graph" 0 20 (:parent #155))) :mode nil :granularity nil :parent #147) (section (:begin 9032 :end 9172 :contents-begin 9032 :contents-end 9171 :robust-begin 9032 :robust-end 9169 :post-blank 1 :post-affiliated 9032 :mode section :granularity nil :parent #155) (paragraph (:begin 9032 :end 9093 :contents-begin 9032 :contents-end 9092 :post-blank 1 :post-affiliated 9032 :mode planning :granularity nil :parent #158) #("Graph of all runtime dependencies as installed by GNU Guix.\n" 0 60 (:parent #161))) (paragraph (:begin 9093 :end 9171 :contents-begin 9123 :contents-end 9171 :post-blank 0 :post-affiliated 9123 :attr_html (":title GN2_graph") :mode nil :granularity nil :parent #158) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg" :format plain :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg" :application nil :search-option nil :begin 9123 :end 9170 :contents-begin nil :contents-end nil :post-blank 0 :parent #162)) #("\n" 0 1 (:parent #162))))) (headline (:raw-value "Source deployment" :begin 9172 :end 12840 :pre-blank 1 :contents-begin 9193 :contents-end 12839 :robust-begin 9195 :robust-end 12837 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9172 :title (#("Source deployment" 0 17 (:parent #156))) :mode nil :granularity nil :parent #147) (section (:begin 9193 :end 9612 :contents-begin 9193 :contents-end 9610 :robust-begin 9193 :robust-end 9608 :post-blank 2 :post-affiliated 9193 :mode section :granularity nil :parent #156) (paragraph (:begin 9193 :end 9274 :contents-begin 9193 :contents-end 9273 :post-blank 1 :post-affiliated 9193 :mode planning :granularity nil :parent #159) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #162))) (paragraph (:begin 9274 :end 9304 :contents-begin 9274 :contents-end 9303 :post-blank 1 :post-affiliated 9274 :mode nil :granularity nil :parent #159) #("First execute above 4 steps:\n" 0 29 (:parent #163))) (plain-list (:type unordered :begin 9304 :end 9610 :contents-begin 9304 :contents-end 9610 :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :post-blank 0 :post-affiliated 9304 :mode nil :granularity nil :parent #159) (item (:bullet "- " :begin 9304 :end 9364 :contents-begin 9309 :contents-end 9364 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9304 :tag nil :mode item :granularity nil :parent #164) (paragraph (:begin 9309 :end 9364 :contents-begin 9309 :contents-end 9364 :post-blank 0 :post-affiliated 9309 :mode nil :granularity nil :parent #167) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 9309 :end 9363 :contents-begin 9337 :contents-end 9361 :post-blank 0 :parent #170) #("Step 1: Install GNU Guix" 0 24 (:parent #173))) #("\n" 0 1 (:parent #170)))) (item (:bullet "- " :begin 9364 :end 9458 :contents-begin 9369 :contents-end 9458 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9364 :tag nil :mode item :granularity nil :parent #164) (paragraph (:begin 9369 :end 9458 :contents-begin 9369 :contents-end 9458 :post-blank 0 :post-affiliated 9369 :mode nil :granularity nil :parent #168) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 9369 :end 9457 :contents-begin 9414 :contents-end 9455 :post-blank 0 :parent #171) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #174))) #("\n" 0 1 (:parent #171)))) (item (:bullet "- " :begin 9458 :end 9542 :contents-begin 9463 :contents-end 9542 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9458 :tag nil :mode item :granularity nil :parent #164) (paragraph (:begin 9463 :end 9542 :contents-begin 9463 :contents-end 9542 :post-blank 0 :post-affiliated 9463 :mode nil :granularity nil :parent #169) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 9463 :end 9541 :contents-begin 9503 :contents-end 9539 :post-blank 0 :parent #172) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #175))) #("\n" 0 1 (:parent #172)))) (item (:bullet "- " :begin 9542 :end 9610 :contents-begin 9547 :contents-end 9610 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9542 :tag nil :mode item :granularity nil :parent #164) (paragraph (:begin 9547 :end 9610 :contents-begin 9547 :contents-end 9610 :post-blank 0 :post-affiliated 9547 :mode nil :granularity nil :parent #170) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 9547 :end 9609 :contents-begin 9579 :contents-end 9607 :post-blank 0 :parent #173) #("Step 4: Install and run GN2 " 0 28 (:parent #176))) #("\n" 0 1 (:parent #173)))))) (headline (:raw-value "Run your own copy of GN2" :begin 9612 :end 10722 :pre-blank 1 :contents-begin 9641 :contents-end 10721 :robust-begin 9643 :robust-end 10719 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9612 :title (#("Run your own copy of GN2" 0 24 (:parent #160))) :mode nil :granularity nil :parent #156) (section (:begin 9641 :end 10722 :contents-begin 9641 :contents-end 10721 :robust-begin 9641 :robust-end 10719 :post-blank 1 :post-affiliated 9641 :mode section :granularity nil :parent #160) (paragraph (:begin 9641 :end 9839 :contents-begin 9641 :contents-end 9838 :post-blank 1 :post-affiliated 9641 :mode planning :granularity nil :parent #163) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #166)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 9793 :end 9836 :contents-begin nil :contents-end nil :post-blank 0 :parent #166)) #(".\n" 0 2 (:parent #166))) (paragraph (:begin 9839 :end 9964 :contents-begin 9839 :contents-end 9963 :post-blank 1 :post-affiliated 9839 :mode nil :granularity nil :parent #163) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #167)) (subscript (:begin 9896 :end 9902 :use-brackets-p nil :contents-begin 9897 :contents-end 9901 :post-blank 1 :parent #167) #("PATH" 0 4 (:parent #171))) #("and\nR" 0 5 (:parent #167)) (subscript (:begin 9907 :end 9912 :use-brackets-p nil :contents-begin 9908 :contents-end 9912 :post-blank 0 :parent #167) #("LIBS" 0 4 (:parent #173))) (subscript (:begin 9912 :end 9918 :use-brackets-p nil :contents-begin 9913 :contents-end 9917 :post-blank 1 :parent #167) #("SITE" 0 4 (:parent #174))) #("are set) from the information given by guix:\n" 0 45 (:parent #167))) (fixed-width (:begin 9964 :end 9995 :value "guix package --search-paths" :post-blank 2 :post-affiliated 9964 :mode nil :granularity nil :parent #163)) (paragraph (:begin 9995 :end 10019 :contents-begin 9995 :contents-end 10018 :post-blank 1 :post-affiliated 9995 :mode nil :granularity nil :parent #163) #("Inside the repository:\n" 0 23 (:parent #169))) (fixed-width (:begin 10019 :end 10059 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 10019 :mode nil :granularity nil :parent #163)) (paragraph (:begin 10059 :end 10303 :contents-begin 10059 :contents-end 10302 :post-blank 1 :post-affiliated 10059 :mode nil :granularity nil :parent #163) #("Will fire up your local repo " 0 29 (:parent #171)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 10088 :end 10111 :contents-begin nil :contents-end nil :post-blank 1 :parent #171)) #("using the\nsettings in ./etc/default" 0 35 (:parent #171)) (subscript (:begin 10146 :end 10158 :use-brackets-p nil :contents-begin 10147 :contents-end 10158 :post-blank 0 :parent #171) #("settings.py" 0 11 (:parent #177))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #171)) (subscript (:begin 10263 :end 10276 :use-brackets-p nil :contents-begin 10264 :contents-end 10275 :post-blank 1 :parent #171) #("settings.py" 0 11 (:parent #179))) #("and pass it into GN2 with\n" 0 26 (:parent #171))) (fixed-width (:begin 10303 :end 10346 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 10303 :mode nil :granularity nil :parent #163)) (paragraph (:begin 10346 :end 10492 :contents-begin 10346 :contents-end 10491 :post-blank 1 :post-affiliated 10346 :mode nil :granularity nil :parent #163) #("and everything " 0 15 (:parent #173)) (bold (:begin 10361 :end 10370 :post-blank 1 :contents-begin 10362 :contents-end 10368 :parent #173) #("should" 0 6 (:parent #177))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #173))) (paragraph (:begin 10492 :end 10620 :contents-begin 10492 :contents-end 10619 :post-blank 1 :post-affiliated 10492 :mode nil :granularity nil :parent #163) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #174))) (fixed-width (:begin 10620 :end 10721 :value "cat ~/.guix-profile/lib/python2.7/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 10620 :mode nil :granularity nil :parent #163)))) (headline (:raw-value "Set up nginx port forwarding" :begin 10722 :end 12840 :pre-blank 1 :contents-begin 10755 :contents-end 12839 :robust-begin 10757 :robust-end 12837 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 10722 :title (#("Set up nginx port forwarding" 0 28 (:parent #161))) :mode nil :granularity nil :parent #156) (section (:begin 10755 :end 12840 :contents-begin 10755 :contents-end 12839 :robust-begin 10755 :robust-end 12837 :post-blank 1 :post-affiliated 10755 :mode section :granularity nil :parent #161) (paragraph (:begin 10755 :end 10923 :contents-begin 10755 :contents-end 10922 :post-blank 1 :post-affiliated 10755 :mode planning :granularity nil :parent #164) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #167))) (paragraph (:begin 10923 :end 11063 :contents-begin 10923 :contents-end 11062 :post-blank 1 :post-affiliated 10923 :mode nil :granularity nil :parent #164) #("#+begin" 0 7 (:parent #168)) (subscript (:begin 10930 :end 10935 :use-brackets-p nil :contents-begin 10931 :contents-end 10934 :post-blank 1 :parent #168) #("src" 0 3 (:parent #172))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #168)) (subscript (:begin 10984 :end 10990 :use-brackets-p nil :contents-begin 10985 :contents-end 10989 :post-blank 1 :parent #168) #("name" 0 4 (:parent #174))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #168)) (subscript (:begin 11030 :end 11036 :use-brackets-p nil :contents-begin 11031 :contents-end 11034 :post-blank 2 :parent #168) #("log" 0 3 (:parent #176))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #168))) (paragraph (:begin 11063 :end 11232 :contents-begin 11063 :contents-end 11231 :post-blank 1 :post-affiliated 11063 :mode nil :granularity nil :parent #164) #(" proxy" 0 13 (:parent #169)) (subscript (:begin 11076 :end 11084 :use-brackets-p nil :contents-begin 11077 :contents-end 11084 :post-blank 0 :parent #169) #("connect" 0 7 (:parent #173))) (subscript (:begin 11084 :end 11099 :use-brackets-p nil :contents-begin 11085 :contents-end 11092 :post-blank 7 :parent #169) #("timeout" 0 7 (:parent #174))) #("3000;\n proxy" 0 19 (:parent #169)) (subscript (:begin 11118 :end 11123 :use-brackets-p nil :contents-begin 11119 :contents-end 11123 :post-blank 0 :parent #169) #("send" 0 4 (:parent #176))) (subscript (:begin 11123 :end 11141 :use-brackets-p nil :contents-begin 11124 :contents-end 11131 :post-blank 10 :parent #169) #("timeout" 0 7 (:parent #177))) #("3000;\n proxy" 0 19 (:parent #169)) (subscript (:begin 11160 :end 11165 :use-brackets-p nil :contents-begin 11161 :contents-end 11165 :post-blank 0 :parent #169) #("read" 0 4 (:parent #179))) (subscript (:begin 11165 :end 11183 :use-brackets-p nil :contents-begin 11166 :contents-end 11173 :post-blank 10 :parent #169) #("timeout" 0 7 (:parent #180))) #("3000;\n send" 0 18 (:parent #169)) (subscript (:begin 11201 :end 11225 :use-brackets-p nil :contents-begin 11202 :contents-end 11209 :post-blank 16 :parent #169) #("timeout" 0 7 (:parent #182))) #("3000;\n" 0 6 (:parent #169))) (paragraph (:begin 11232 :end 11632 :contents-begin 11232 :contents-end 11631 :post-blank 1 :post-affiliated 11232 :mode nil :granularity nil :parent #164) #(" location / {\n proxy" 0 38 (:parent #170)) (subscript (:begin 11270 :end 11274 :use-brackets-p nil :contents-begin 11271 :contents-end 11274 :post-blank 0 :parent #170) #("set" 0 3 (:parent #174))) (subscript (:begin 11274 :end 11284 :use-brackets-p nil :contents-begin 11275 :contents-end 11281 :post-blank 3 :parent #170) #("header" 0 6 (:parent #175))) #("Host $http" 0 15 (:parent #170)) (subscript (:begin 11299 :end 11304 :use-brackets-p nil :contents-begin 11300 :contents-end 11304 :post-blank 0 :parent #170) #("host" 0 4 (:parent #177))) #(";\n proxy" 0 19 (:parent #170)) (subscript (:begin 11323 :end 11327 :use-brackets-p nil :contents-begin 11324 :contents-end 11327 :post-blank 0 :parent #170) #("set" 0 3 (:parent #179))) (subscript (:begin 11327 :end 11337 :use-brackets-p nil :contents-begin 11328 :contents-end 11334 :post-blank 3 :parent #170) #("header" 0 6 (:parent #180))) #("Connection keep-alive;\n proxy" 0 40 (:parent #170)) (subscript (:begin 11377 :end 11381 :use-brackets-p nil :contents-begin 11378 :contents-end 11381 :post-blank 0 :parent #170) #("set" 0 3 (:parent #182))) (subscript (:begin 11381 :end 11391 :use-brackets-p nil :contents-begin 11382 :contents-end 11388 :post-blank 3 :parent #170) #("header" 0 6 (:parent #183))) #("X-Real-IP $remote" 0 17 (:parent #170)) (subscript (:begin 11408 :end 11413 :use-brackets-p nil :contents-begin 11409 :contents-end 11413 :post-blank 0 :parent #170) #("addr" 0 4 (:parent #185))) #(";\n proxy" 0 19 (:parent #170)) (subscript (:begin 11432 :end 11436 :use-brackets-p nil :contents-begin 11433 :contents-end 11436 :post-blank 0 :parent #170) #("set" 0 3 (:parent #187))) (subscript (:begin 11436 :end 11446 :use-brackets-p nil :contents-begin 11437 :contents-end 11443 :post-blank 3 :parent #170) #("header" 0 6 (:parent #188))) #("X-Forwarded-For $proxy" 0 22 (:parent #170)) (subscript (:begin 11468 :end 11472 :use-brackets-p nil :contents-begin 11469 :contents-end 11472 :post-blank 0 :parent #170) #("add" 0 3 (:parent #190))) (subscript (:begin 11472 :end 11474 :use-brackets-p nil :contents-begin 11473 :contents-end 11474 :post-blank 0 :parent #170) #("x" 0 1 (:parent #191))) (subscript (:begin 11474 :end 11484 :use-brackets-p nil :contents-begin 11475 :contents-end 11484 :post-blank 0 :parent #170) #("forwarded" 0 9 (:parent #192))) (subscript (:begin 11484 :end 11488 :use-brackets-p nil :contents-begin 11485 :contents-end 11488 :post-blank 0 :parent #170) #("for" 0 3 (:parent #193))) #(";\n proxy" 0 19 (:parent #170)) (subscript (:begin 11507 :end 11511 :use-brackets-p nil :contents-begin 11508 :contents-end 11511 :post-blank 0 :parent #170) #("set" 0 3 (:parent #195))) (subscript (:begin 11511 :end 11521 :use-brackets-p nil :contents-begin 11512 :contents-end 11518 :post-blank 3 :parent #170) #("header" 0 6 (:parent #196))) #("X-Forwarded-Host $server" 0 24 (:parent #170)) (subscript (:begin 11545 :end 11550 :use-brackets-p nil :contents-begin 11546 :contents-end 11550 :post-blank 0 :parent #170) #("name" 0 4 (:parent #198))) #(";\n proxy" 0 19 (:parent #170)) (subscript (:begin 11569 :end 11583 :use-brackets-p nil :contents-begin 11570 :contents-end 11574 :post-blank 9 :parent #170) #("pass" 0 4 (:parent #200))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 11583 :end 11604 :contents-begin nil :contents-end nil :post-blank 0 :parent #170)) #(";\n }\n}\n#+end" 0 19 (:parent #170)) (subscript (:begin 11623 :end 11628 :use-brackets-p nil :contents-begin 11624 :contents-end 11627 :post-blank 1 :parent #170) #("src" 0 3 (:parent #203))) #("js\n" 0 3 (:parent #170))) (paragraph (:begin 11632 :end 11671 :contents-begin 11632 :contents-end 11670 :post-blank 1 :post-affiliated 11632 :mode nil :granularity nil :parent #164) #("Install the nginx webserver (as root)\n" 0 38 (:parent #171))) (fixed-width (:begin 11671 :end 11696 :value "guix package -i nginx" :post-blank 2 :post-affiliated 11671 :mode nil :granularity nil :parent #164)) (paragraph (:begin 11696 :end 11777 :contents-begin 11696 :contents-end 11776 :post-blank 1 :post-affiliated 11696 :mode nil :granularity nil :parent #164) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #173))) (fixed-width (:begin 11777 :end 11964 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 11777 :mode nil :granularity nil :parent #164)) (paragraph (:begin 11964 :end 11979 :contents-begin 11964 :contents-end 11978 :post-blank 1 :post-affiliated 11964 :mode nil :granularity nil :parent #164) #("Use that path\n" 0 14 (:parent #175))) (fixed-width (:begin 11979 :end 12373 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 11979 :mode nil :granularity nil :parent #164)) (paragraph (:begin 12373 :end 12599 :contents-begin 12373 :contents-end 12599 :post-blank 0 :post-affiliated 12373 :mode nil :granularity nil :parent #164) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #177))) (fixed-width (:begin 12599 :end 12646 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 12599 :mode nil :granularity nil :parent #164)) (paragraph (:begin 12646 :end 12657 :contents-begin 12646 :contents-end 12656 :post-blank 1 :post-affiliated 12646 :mode nil :granularity nil :parent #164) #("Make dirs\n" 0 10 (:parent #179))) (fixed-width (:begin 12657 :end 12691 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 12657 :mode nil :granularity nil :parent #164)) (paragraph (:begin 12691 :end 12702 :contents-begin 12691 :contents-end 12701 :post-blank 1 :post-affiliated 12691 :mode nil :granularity nil :parent #164) #("Add users\n" 0 10 (:parent #181))) (fixed-width (:begin 12702 :end 12738 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 12702 :mode nil :granularity nil :parent #164)) (paragraph (:begin 12738 :end 12749 :contents-begin 12738 :contents-end 12748 :post-blank 1 :post-affiliated 12738 :mode nil :granularity nil :parent #164) #("Run nginx\n" 0 10 (:parent #183))) (fixed-width (:begin 12749 :end 12839 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 12749 :mode nil :granularity nil :parent #164))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 12840 :end 13801 :pre-blank 1 :contents-begin 12902 :contents-end 13801 :robust-begin 12904 :robust-end 13799 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12840 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #157))) :mode nil :granularity nil :parent #147) (section (:begin 12902 :end 12959 :contents-begin 12902 :contents-end 12958 :robust-begin 12902 :robust-end 12956 :post-blank 1 :post-affiliated 12902 :mode section :granularity nil :parent #157) (paragraph (:begin 12902 :end 12958 :contents-begin 12902 :contents-end 12958 :post-blank 0 :post-affiliated 12902 :mode planning :granularity nil :parent #160) #("See the document " 0 17 (:parent #163)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 12919 :end 12956 :contents-begin nil :contents-end nil :post-blank 0 :parent #163)) #(".\n" 0 2 (:parent #163)))) (headline (:raw-value "Update to recent guix" :begin 12959 :end 13409 :pre-blank 1 :contents-begin 12985 :contents-end 13408 :robust-begin 12987 :robust-end 13406 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12959 :title (#("Update to recent guix" 0 21 (:parent #161))) :mode nil :granularity nil :parent #157) (section (:begin 12985 :end 13409 :contents-begin 12985 :contents-end 13408 :robust-begin 12985 :robust-end 13406 :post-blank 1 :post-affiliated 12985 :mode section :granularity nil :parent #161) (paragraph (:begin 12985 :end 13020 :contents-begin 12985 :contents-end 13019 :post-blank 1 :post-affiliated 12985 :mode planning :granularity nil :parent #164) #("We now compile Guix from scratch.\n" 0 34 (:parent #167))) (paragraph (:begin 13020 :end 13295 :contents-begin 13020 :contents-end 13294 :post-blank 1 :post-affiliated 13020 :mode nil :granularity nil :parent #164) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #168)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 13159 :end 13272 :contents-begin 13264 :contents-end 13269 :post-blank 1 :parent #168) #("these" 0 5 (:parent #172))) #("steps carefully after\n" 0 22 (:parent #168))) (fixed-width (:begin 13295 :end 13330 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 13295 :mode nil :granularity nil :parent #164)) (paragraph (:begin 13330 :end 13408 :contents-begin 13330 :contents-end 13408 :post-blank 0 :post-affiliated 13330 :mode nil :granularity nil :parent #164) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #170))))) (headline (:raw-value "Install GN2" :begin 13409 :end 13801 :pre-blank 1 :contents-begin 13425 :contents-end 13801 :robust-begin 13427 :robust-end 13799 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 13409 :title (#("Install GN2" 0 11 (:parent #162))) :mode nil :granularity nil :parent #157) (section (:begin 13425 :end 13801 :contents-begin 13425 :contents-end 13801 :robust-begin 13425 :robust-end 13799 :post-blank 0 :post-affiliated 13425 :mode section :granularity nil :parent #162) (paragraph (:begin 13425 :end 13468 :contents-begin 13425 :contents-end 13467 :post-blank 1 :post-affiliated 13425 :mode planning :granularity nil :parent #165) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #168))) (paragraph (:begin 13468 :end 13676 :contents-begin 13468 :contents-end 13675 :post-blank 1 :post-affiliated 13468 :mode nil :granularity nil :parent #165) #("#+begin" 0 7 (:parent #169)) (subscript (:begin 13475 :end 13480 :use-brackets-p nil :contents-begin 13476 :contents-end 13479 :post-blank 1 :parent #169) #("src" 0 3 (:parent #173))) #("bash\nenv GUIX" 0 13 (:parent #169)) (subscript (:begin 13493 :end 13501 :use-brackets-p nil :contents-begin 13494 :contents-end 13501 :post-blank 0 :parent #169) #("PACKAGE" 0 7 (:parent #175))) (subscript (:begin 13501 :end 13506 :use-brackets-p nil :contents-begin 13502 :contents-end 13506 :post-blank 0 :parent #169) #("PATH" 0 4 (:parent #176))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #169)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 13605 :end 13633 :contents-begin nil :contents-end nil :post-blank 1 :parent #169)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 13633 :end 13658 :contents-begin nil :contents-end nil :post-blank 0 :parent #169)) #("\"\n#+end" 0 7 (:parent #169)) (subscript (:begin 13665 :end 13670 :use-brackets-p nil :contents-begin 13666 :contents-end 13669 :post-blank 1 :parent #169) #("src" 0 3 (:parent #181))) #("bash\n" 0 5 (:parent #169))) (paragraph (:begin 13676 :end 13714 :contents-begin 13676 :contents-end 13713 :post-blank 1 :post-affiliated 13676 :mode nil :granularity nil :parent #165) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #170))) (paragraph (:begin 13714 :end 13801 :contents-begin 13714 :contents-end 13801 :post-blank 0 :post-affiliated 13714 :mode nil :granularity nil :parent #165) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #171)))))))) #77)) #53)) #21 (item (:bullet "- " :begin 156 :end 521 :contents-begin 159 :contents-end 521 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 156 :tag nil :mode item :granularity nil :parent #53) (paragraph (:begin 159 :end 217 :contents-begin 159 :contents-end 217 :post-blank 0 :post-affiliated 159 :mode nil :granularity nil :parent #57) (link (:type "custom-id" :path "quick-installation-recipe" :format bracket :raw-link "#quick-installation-recipe" :application nil :search-option nil :begin 159 :end 216 :contents-begin 189 :contents-end 214 :post-blank 0 :parent #60) #("Quick installation recipe" 0 25 (:parent #63))) #("\n" 0 1 (:parent #60))) (plain-list (:type unordered :begin 217 :end 521 :contents-begin 217 :contents-end 521 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 217 :mode nil :granularity nil :parent #57) (item (:bullet "- " :begin 217 :end 277 :contents-begin 222 :contents-end 277 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 217 :tag nil :mode item :granularity nil :parent #61) (paragraph (:begin 222 :end 277 :contents-begin 222 :contents-end 277 :post-blank 0 :post-affiliated 222 :mode nil :granularity nil :parent #64) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 222 :end 276 :contents-begin 250 :contents-end 274 :post-blank 0 :parent #67) #("Step 1: Install GNU Guix" 0 24 (:parent #70))) #("\n" 0 1 (:parent #67)))) (item (:bullet "- " :begin 277 :end 371 :contents-begin 282 :contents-end 371 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 277 :tag nil :mode item :granularity nil :parent #61) (paragraph (:begin 282 :end 371 :contents-begin 282 :contents-end 371 :post-blank 0 :post-affiliated 282 :mode nil :granularity nil :parent #65) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 282 :end 370 :contents-begin 327 :contents-end 368 :post-blank 0 :parent #68) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #71))) #("\n" 0 1 (:parent #68)))) (item (:bullet "- " :begin 371 :end 455 :contents-begin 376 :contents-end 455 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 371 :tag nil :mode item :granularity nil :parent #61) (paragraph (:begin 376 :end 455 :contents-begin 376 :contents-end 455 :post-blank 0 :post-affiliated 376 :mode nil :granularity nil :parent #66) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 376 :end 454 :contents-begin 416 :contents-end 452 :post-blank 0 :parent #69) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #72))) #("\n" 0 1 (:parent #69)))) (item (:bullet "- " :begin 455 :end 521 :contents-begin 460 :contents-end 521 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 455 :tag nil :mode item :granularity nil :parent #61) (paragraph (:begin 460 :end 521 :contents-begin 460 :contents-end 521 :post-blank 0 :post-affiliated 460 :mode nil :granularity nil :parent #67) (link (:type "custom-id" :path "step-4-install-and-run-gn2" :format bracket :raw-link "#step-4-install-and-run-gn2" :application nil :search-option nil :begin 460 :end 520 :contents-begin 491 :contents-end 518 :post-blank 0 :parent #70) #("Step 4: Install and run GN2" 0 27 (:parent #73))) #("\n" 0 1 (:parent #70)))))) (item (:bullet "- " :begin 521 :end 564 :contents-begin 524 :contents-end 564 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 521 :tag nil :mode item :granularity nil :parent #53) (paragraph (:begin 524 :end 564 :contents-begin 524 :contents-end 564 :post-blank 0 :post-affiliated 524 :mode nil :granularity nil :parent #58) (link (:type "custom-id" :path "run-mysql-server" :format bracket :raw-link "#run-mysql-server" :application nil :search-option nil :begin 524 :end 563 :contents-begin 545 :contents-end 561 :post-blank 0 :parent #61) #("Run MySQL server" 0 16 (:parent #64))) #("\n" 0 1 (:parent #61)))) (item (:bullet "- " :begin 564 :end 615 :contents-begin 567 :contents-end 615 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 564 :tag nil :mode item :granularity nil :parent #53) (paragraph (:begin 567 :end 615 :contents-begin 567 :contents-end 615 :post-blank 0 :post-affiliated 567 :mode nil :granularity nil :parent #59) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 567 :end 614 :contents-begin 592 :contents-end 612 :post-blank 0 :parent #62) #("GN2 Dependency Graph" 0 20 (:parent #65))) #("\n" 0 1 (:parent #62)))) (item (:bullet "- " :begin 615 :end 790 :contents-begin 618 :contents-end 790 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 615 :tag nil :mode item :granularity nil :parent #53) (paragraph (:begin 618 :end 660 :contents-begin 618 :contents-end 660 :post-blank 0 :post-affiliated 618 :mode nil :granularity nil :parent #60) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 618 :end 659 :contents-begin 640 :contents-end 657 :post-blank 0 :parent #63) #("Source deployment" 0 17 (:parent #66))) #("\n" 0 1 (:parent #63))) (plain-list (:type unordered :begin 660 :end 790 :contents-begin 660 :contents-end 790 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 660 :mode nil :granularity nil :parent #60) (item (:bullet "- " :begin 660 :end 721 :contents-begin 665 :contents-end 721 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 660 :tag nil :mode item :granularity nil :parent #64) (paragraph (:begin 665 :end 721 :contents-begin 665 :contents-end 721 :post-blank 0 :post-affiliated 665 :mode nil :granularity nil :parent #67) (link (:type "custom-id" :path "run-your-own-copy-of-gn2" :format bracket :raw-link "#run-your-own-copy-of-gn2" :application nil :search-option nil :begin 665 :end 720 :contents-begin 694 :contents-end 718 :post-blank 0 :parent #70) #("Run your own copy of GN2" 0 24 (:parent #73))) #("\n" 0 1 (:parent #70)))) (item (:bullet "- " :begin 721 :end 790 :contents-begin 726 :contents-end 790 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 721 :tag nil :mode item :granularity nil :parent #64) (paragraph (:begin 726 :end 790 :contents-begin 726 :contents-end 790 :post-blank 0 :post-affiliated 726 :mode nil :granularity nil :parent #68) (link (:type "custom-id" :path "set-up-nginx-port-forwarding" :format bracket :raw-link "#set-up-nginx-port-forwarding" :application nil :search-option nil :begin 726 :end 789 :contents-begin 759 :contents-end 787 :post-blank 0 :parent #71) #("Set up nginx port forwarding" 0 28 (:parent #74))) #("\n" 0 1 (:parent #71)))))) (item (:bullet "- " :begin 790 :end 1034 :contents-begin 793 :contents-end 1034 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 790 :tag nil :mode item :granularity nil :parent #53) (paragraph (:begin 793 :end 917 :contents-begin 793 :contents-end 917 :post-blank 0 :post-affiliated 793 :mode nil :granularity nil :parent #61) (link (:type "custom-id" :path "source-deployment-and-other-information-on-reproducibility" :format bracket :raw-link "#source-deployment-and-other-information-on-reproducibility" :application nil :search-option nil :begin 793 :end 916 :contents-begin 856 :contents-end 914 :post-blank 0 :parent #64) #("Source deployment and other information on reproducibility" 0 58 (:parent #67))) #("\n" 0 1 (:parent #64))) (plain-list (:type unordered :begin 917 :end 1034 :contents-begin 917 :contents-end 1034 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 917 :mode nil :granularity nil :parent #61) (item (:bullet "- " :begin 917 :end 972 :contents-begin 922 :contents-end 972 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 917 :tag nil :mode item :granularity nil :parent #65) (paragraph (:begin 922 :end 972 :contents-begin 922 :contents-end 972 :post-blank 0 :post-affiliated 922 :mode nil :granularity nil :parent #68) (link (:type "custom-id" :path "update-to-recent-guix" :format bracket :raw-link "#update-to-recent-guix" :application nil :search-option nil :begin 922 :end 971 :contents-begin 948 :contents-end 969 :post-blank 0 :parent #71) #("Update to recent guix" 0 21 (:parent #74))) #("\n" 0 1 (:parent #71)))) (item (:bullet "- " :begin 972 :end 1007 :contents-begin 977 :contents-end 1007 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 972 :tag nil :mode item :granularity nil :parent #65) (paragraph (:begin 977 :end 1007 :contents-begin 977 :contents-end 1007 :post-blank 0 :post-affiliated 977 :mode nil :granularity nil :parent #69) (link (:type "custom-id" :path "install-gn2" :format bracket :raw-link "#install-gn2" :application nil :search-option nil :begin 977 :end 1006 :contents-begin 993 :contents-end 1004 :post-blank 0 :parent #72) #("Install GN2" 0 11 (:parent #75))) #("\n" 0 1 (:parent #72)))) (item (:bullet "- " :begin 1007 :end 1034 :contents-begin 1012 :contents-end 1034 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1007 :tag nil :mode item :granularity nil :parent #65) (paragraph (:begin 1012 :end 1034 :contents-begin 1012 :contents-end 1034 :post-blank 0 :post-affiliated 1012 :mode nil :granularity nil :parent #70) (link (:type "custom-id" :path "run-gn2" :format bracket :raw-link "#run-gn2" :application nil :search-option nil :begin 1012 :end 1033 :contents-begin 1024 :contents-end 1031 :post-blank 0 :parent #73) #("Run GN2" 0 7 (:parent #76))) #("\n" 0 1 (:parent #73)))))) (item (:bullet "- " :begin 1034 :end 1370 :contents-begin 1037 :contents-end 1370 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1034 :tag nil :mode item :granularity nil :parent #53) (paragraph (:begin 1037 :end 1077 :contents-begin 1037 :contents-end 1077 :post-blank 0 :post-affiliated 1037 :mode nil :granularity nil :parent #62) (link (:type "custom-id" :path "trouble-shooting" :format bracket :raw-link "#trouble-shooting" :application nil :search-option nil :begin 1037 :end 1076 :contents-begin 1058 :contents-end 1074 :post-blank 0 :parent #65) #("Trouble shooting" 0 16 (:parent #68))) #("\n" 0 1 (:parent #65))) (plain-list (:type unordered :begin 1077 :end 1370 :contents-begin 1077 :contents-end 1370 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 1077 :mode nil :granularity nil :parent #62) (item (:bullet "- " :begin 1077 :end 1159 :contents-begin 1082 :contents-end 1159 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1077 :tag nil :mode item :granularity nil :parent #66) (paragraph (:begin 1082 :end 1159 :contents-begin 1082 :contents-end 1159 :post-blank 0 :post-affiliated 1082 :mode nil :granularity nil :parent #69) (link (:type "custom-id" :path "importerror-no-module-named-jinja2" :format bracket :raw-link "#importerror-no-module-named-jinja2" :application nil :search-option nil :begin 1082 :end 1158 :contents-begin 1121 :contents-end 1156 :post-blank 0 :parent #72) #("ImportError: No module named jinja2" 0 35 (:parent #75))) #("\n" 0 1 (:parent #72)))) (item (:bullet "- " :begin 1159 :end 1257 :contents-begin 1164 :contents-end 1257 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1159 :tag nil :mode item :granularity nil :parent #66) (paragraph (:begin 1164 :end 1257 :contents-begin 1164 :contents-end 1257 :post-blank 0 :post-affiliated 1164 :mode nil :granularity nil :parent #70) (link (:type "custom-id" :path "error-can-not-find-directory-homegn2_data" :format bracket :raw-link "#error-can-not-find-directory-homegn2_data" :application nil :search-option nil :begin 1164 :end 1256 :contents-begin 1210 :contents-end 1254 :post-blank 0 :parent #73) #("ERROR: can not find directory $HOME/gn2" 0 39 (:parent #76)) (subscript (:begin 1249 :end 1254 :use-brackets-p nil :contents-begin 1250 :contents-end 1254 :post-blank 0 :parent #76) #("data" 0 4 (:parent #80)))) #("\n" 0 1 (:parent #73)))) (item (:bullet "- " :begin 1257 :end 1305 :contents-begin 1262 :contents-end 1305 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1257 :tag nil :mode item :granularity nil :parent #66) (paragraph (:begin 1262 :end 1305 :contents-begin 1262 :contents-end 1305 :post-blank 0 :post-affiliated 1262 :mode nil :granularity nil :parent #71) (link (:type "custom-id" :path "cant-run-a-module" :format bracket :raw-link "#cant-run-a-module" :application nil :search-option nil :begin 1262 :end 1304 :contents-begin 1284 :contents-end 1302 :post-blank 0 :parent #74) #("Can't run a module" 0 18 (:parent #77))) #("\n" 0 1 (:parent #74)))) (item (:bullet "- " :begin 1305 :end 1370 :contents-begin 1310 :contents-end 1370 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1305 :tag nil :mode item :granularity nil :parent #66) (paragraph (:begin 1310 :end 1370 :contents-begin 1310 :contents-end 1370 :post-blank 0 :post-affiliated 1310 :mode nil :granularity nil :parent #72) (link (:type "custom-id" :path "rpy2-error-show-now-found" :format bracket :raw-link "#rpy2-error-show-now-found" :application nil :search-option nil :begin 1310 :end 1369 :contents-begin 1340 :contents-end 1367 :post-blank 0 :parent #75) #("Rpy2 error 'show' now found" 0 27 (:parent #78))) #("\n" 0 1 (:parent #75)))))) (item (:bullet "- " :begin 1370 :end 1403 :contents-begin 1373 :contents-end 1403 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1370 :tag nil :mode item :granularity nil :parent #53) (paragraph (:begin 1373 :end 1403 :contents-begin 1373 :contents-end 1403 :post-blank 0 :post-affiliated 1373 :mode nil :granularity nil :parent #63) (link (:type "custom-id" :path "irc-session" :format bracket :raw-link "#irc-session" :application nil :search-option nil :begin 1373 :end 1402 :contents-begin 1389 :contents-end 1400 :post-blank 0 :parent #66) #("IRC session" 0 11 (:parent #69))) #("\n" 0 1 (:parent #66)))))) . #0)) (link (:type "custom-id" :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil :begin 124 :end 155 :contents-begin 141 :contents-end 153 :post-blank 0 :parent #1) #("Introduction" 0 12 (:parent #4))) #("\n" 0 1 (:parent #1)))) "") org-export-data((item (:bullet "- " :begin 121 :end 156 :contents-begin 124 :contents-end 156 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 121 :tag nil :mode item :granularity nil :parent (plain-list (:type unordered :begin 121 :end 1403 :contents-begin 121 :contents-end 1403 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 121 :mode planning :granularity nil :parent (section (:begin 121 :end 1404 :contents-begin 121 :contents-end 1403 :robust-begin 121 :robust-end 1401 :post-blank 1 :post-affiliated 121 :mode section :granularity nil :parent (headline (:raw-value "Table of Contents" :begin 43 :end 1404 :pre-blank 0 :contents-begin 121 :contents-end 1403 :robust-begin 123 :robust-end 1401 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 43 :title (#("Table of Contents" 0 17 (:parent #80))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13801 :end 13801 :robust-begin 3 :robust-end 13799 :post-blank 0 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 43 :contents-begin 1 :contents-end 42 :robust-begin 1 :robust-end 40 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #126) (keyword (:key "TITLE" :value "Installing GeneNetwork services" :begin 1 :end 42 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #129))) #80 (headline (:raw-value "Introduction" :begin 1404 :end 2450 :pre-blank 1 :contents-begin 1420 :contents-end 2449 :robust-begin 1422 :robust-end 2447 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1404 :title (#("Introduction" 0 12 (:parent #131))) :mode nil :granularity nil :parent #126) (section (:begin 1420 :end 2450 :contents-begin 1420 :contents-end 2449 :robust-begin 1420 :robust-end 2447 :post-blank 1 :post-affiliated 1420 :mode section :granularity nil :parent #131) (paragraph (:begin 1420 :end 1557 :contents-begin 1420 :contents-end 1556 :post-blank 1 :post-affiliated 1420 :mode planning :granularity nil :parent #134) #("If you want to understand the architecture of GN2 read\n" 0 55 (:parent #137)) (link (:type "fuzzy" :path "Architecture.org" :format bracket :raw-link "Architecture.org" :application nil :search-option nil :begin 1475 :end 1495 :contents-begin nil :contents-end nil :post-blank 0 :parent #137)) #(". The rest of this document is mostly on deployment\nof GN2.\n" 0 61 (:parent #137))) (paragraph (:begin 1557 :end 1943 :contents-begin 1557 :contents-end 1942 :post-blank 1 :post-affiliated 1557 :mode nil :granularity nil :parent #134) #("Large system deployments can get very " 0 38 (:parent #138)) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg " :format bracket :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg " :application nil :search-option nil :begin 1595 :end 1656 :contents-begin 1647 :contents-end 1654 :post-blank 0 :parent #138) #("complex" 0 7 (:parent #142))) #(". In this document we\nexplain the GeneNetwork version 2 (GN2) reproducible deployment system\nwhich is based on GNU Guix (see also " 0 130 (:parent #138)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1786 :end 1860 :contents-begin 1848 :contents-end 1858 :post-blank 0 :parent #138) #("Guix-notes" 0 10 (:parent #144))) #("). The Guix\nsystem can be used to install GN with all its files and dependencies.\n" 0 82 (:parent #138))) (paragraph (:begin 1943 :end 2328 :contents-begin 1943 :contents-end 2327 :post-blank 1 :post-affiliated 1943 :mode nil :granularity nil :parent #134) #("The official installation path is from a checked out version of the\nmain Guix package tree and that of the Genenetwork package\ntree. Current supported versions can be found as the SHA values of\n'gn-latest' branches of " 0 218 (:parent #139)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :application nil :search-option nil :begin 2161 :end 2252 :contents-begin 2230 :contents-end 2249 :post-blank 1 :parent #139) #("Guix bioinformatics" 0 19 (:parent #143))) #("and " 0 4 (:parent #139)) (link (:type "https" :path "//github.com/genenetwork/guix/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix/tree/gn-latest" :application nil :search-option nil :begin 2256 :end 2325 :contents-begin 2310 :contents-end 2323 :post-blank 0 :parent #139) #("GNU Guix main" 0 13 (:parent #145))) #(".\n" 0 2 (:parent #139))) (paragraph (:begin 2328 :end 2449 :contents-begin 2328 :contents-end 2449 :post-blank 0 :post-affiliated 2328 :mode nil :granularity nil :parent #134) #("For a full view of runtime dependencies as defined by GNU Guix, see\nthe " 0 72 (:parent #140)) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 2400 :end 2447 :contents-begin 2425 :contents-end 2445 :post-blank 0 :parent #140) #("GN2 Dependency Graph" 0 20 (:parent #144))) #(".\n" 0 2 (:parent #140))))) (headline (:raw-value "Quick installation recipe" :begin 2450 :end 7633 :pre-blank 1 :contents-begin 2479 :contents-end 7632 :robust-begin 2481 :robust-end 7630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 2450 :title (#("Quick installation recipe" 0 25 (:parent #132))) :mode nil :granularity nil :parent #126) (section (:begin 2479 :end 3022 :contents-begin 2479 :contents-end 3021 :robust-begin 2479 :robust-end 3019 :post-blank 1 :post-affiliated 2479 :mode section :granularity nil :parent #132) (paragraph (:begin 2479 :end 2880 :contents-begin 2479 :contents-end 2879 :post-blank 1 :post-affiliated 2479 :mode planning :granularity nil :parent #135) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS). For more elaborate installation\ninstructions see " 0 357 (:parent #138)) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 2836 :end 2877 :contents-begin 2858 :contents-end 2875 :post-blank 0 :parent #138) #("Source deployment" 0 17 (:parent #142))) #(".\n" 0 2 (:parent #138))) (paragraph (:begin 2880 :end 3021 :contents-begin 2880 :contents-end 3021 :post-blank 0 :post-affiliated 2880 :mode nil :granularity nil :parent #135) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #139)))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 3022 :end 4649 :pre-blank 1 :contents-begin 3051 :contents-end 4648 :robust-begin 3053 :robust-end 4646 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3022 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #136))) :mode nil :granularity nil :parent #132) (section (:begin 3051 :end 4649 :contents-begin 3051 :contents-end 4648 :robust-begin 3051 :robust-end 4646 :post-blank 1 :post-affiliated 3051 :mode section :granularity nil :parent #136) (paragraph (:begin 3051 :end 3504 :contents-begin 3051 :contents-end 3503 :post-blank 1 :post-affiliated 3051 :mode planning :granularity nil :parent #139) #("Fetch the GNU Guix binary from " 0 31 (:parent #142)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 3082 :end 3136 :contents-begin 3129 :contents-end 3133 :post-blank 1 :parent #142) #("here" 0 4 (:parent #146))) #("(middle panel) and follow\n" 0 26 (:parent #142)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 3162 :end 3255 :contents-begin 3241 :contents-end 3253 :post-blank 0 :parent #142) #("instructions" 0 12 (:parent #148))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #142))) (paragraph (:begin 3504 :end 3782 :contents-begin 3504 :contents-end 3781 :post-blank 1 :post-affiliated 3504 :mode nil :granularity nil :parent #139) #("Once you have succeeded, you have to " 0 37 (:parent #143)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 3541 :end 3631 :contents-begin 3617 :contents-end 3628 :post-blank 1 :parent #143) #("set the key" 0 11 (:parent #147))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #143))) (src-block (:language "bash" :switches nil :parameters nil :begin 3782 :end 3890 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 3782 :mode nil :granularity nil :parent #139)) (paragraph (:begin 3890 :end 3924 :contents-begin 3890 :contents-end 3923 :post-blank 1 :post-affiliated 3890 :mode nil :granularity nil :parent #139) #("Which should show something like\n" 0 33 (:parent #145))) (fixed-width (:begin 3924 :end 4034 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 3924 :mode nil :granularity nil :parent #139)) (paragraph (:begin 4034 :end 4045 :contents-begin 4034 :contents-end 4044 :post-blank 1 :post-affiliated 4034 :mode nil :granularity nil :parent #139) #("#+end" 0 5 (:parent #147)) (subscript (:begin 4039 :end 4043 :use-brackets-p nil :contents-begin 4040 :contents-end 4043 :post-blank 0 :parent #147) #("src" 0 3 (:parent #151))) #("\n" 0 1 (:parent #147))) (paragraph (:begin 4045 :end 4116 :contents-begin 4045 :contents-end 4115 :post-blank 1 :post-affiliated 4045 :mode nil :granularity nil :parent #139) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #148))) (src-block (:language "bash" :switches nil :parameters nil :begin 4116 :end 4188 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 4116 :mode nil :granularity nil :parent #139)) (paragraph (:begin 4188 :end 4375 :contents-begin 4188 :contents-end 4374 :post-blank 1 :post-affiliated 4188 :mode nil :granularity nil :parent #139) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #150))) (paragraph (:begin 4375 :end 4648 :contents-begin 4375 :contents-end 4648 :post-blank 0 :post-affiliated 4375 :mode nil :granularity nil :parent #139) #("If you need more help we have another writeup in " 0 49 (:parent #151)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 4424 :end 4520 :contents-begin 4508 :contents-end 4518 :post-blank 0 :parent #151) #("guix-notes" 0 10 (:parent #155))) #(". To get\nrid of the locale warning see " 0 39 (:parent #151)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 4559 :end 4646 :contents-begin 4634 :contents-end 4644 :post-blank 0 :parent #151) #("set-locale" 0 10 (:parent #157))) #(".\n" 0 2 (:parent #151))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 4649 :end 5304 :pre-blank 1 :contents-begin 4695 :contents-end 5302 :robust-begin 4697 :robust-end 5300 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4649 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #137))) :mode nil :granularity nil :parent #132) (section (:begin 4695 :end 5304 :contents-begin 4695 :contents-end 5302 :robust-begin 4695 :robust-end 5300 :post-blank 2 :post-affiliated 4695 :mode section :granularity nil :parent #137) (paragraph (:begin 4695 :end 4815 :contents-begin 4695 :contents-end 4814 :post-blank 1 :post-affiliated 4695 :mode planning :granularity nil :parent #140) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #143))) (src-block (:language "bash" :switches nil :parameters nil :begin 4815 :end 4920 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 4815 :mode nil :granularity nil :parent #140)) (paragraph (:begin 4920 :end 4971 :contents-begin 4920 :contents-end 4970 :post-blank 1 :post-affiliated 4920 :mode nil :granularity nil :parent #140) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #145))) (paragraph (:begin 4971 :end 5232 :contents-begin 4971 :contents-end 5231 :post-blank 1 :post-affiliated 4971 :mode nil :granularity nil :parent #140) #("#+begin" 0 7 (:parent #146)) (subscript (:begin 4978 :end 4983 :use-brackets-p nil :contents-begin 4979 :contents-end 4982 :post-blank 1 :parent #146) #("src" 0 3 (:parent #150))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #146)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 5055 :end 5105 :contents-begin nil :contents-end nil :post-blank 0 :parent #146)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #146)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 5147 :end 5183 :contents-begin nil :contents-end nil :post-blank 1 :parent #146)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #146)) (subscript (:begin 5221 :end 5226 :use-brackets-p nil :contents-begin 5222 :contents-end 5225 :post-blank 1 :parent #146) #("src" 0 3 (:parent #156))) #("bash\n" 0 5 (:parent #146))) (paragraph (:begin 5232 :end 5270 :contents-begin 5232 :contents-end 5269 :post-blank 1 :post-affiliated 5232 :mode nil :granularity nil :parent #140) #("To test whether this is working try:\n" 0 37 (:parent #147))) (paragraph (:begin 5270 :end 5302 :contents-begin 5270 :contents-end 5302 :post-blank 0 :post-affiliated 5270 :mode nil :granularity nil :parent #140) #("#+begin" 0 7 (:parent #148)) (subscript (:begin 5277 :end 5282 :use-brackets-p nil :contents-begin 5278 :contents-end 5281 :post-blank 1 :parent #148) #("src" 0 3 (:parent #152))) #("bash\n#+end" 0 10 (:parent #148)) (subscript (:begin 5292 :end 5297 :use-brackets-p nil :contents-begin 5293 :contents-end 5296 :post-blank 1 :parent #148) #("src" 0 3 (:parent #154))) #("bash\n" 0 5 (:parent #148))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 5304 :end 5755 :pre-blank 1 :contents-begin 5345 :contents-end 5754 :robust-begin 5347 :robust-end 5752 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5304 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #138))) :mode nil :granularity nil :parent #132) (section (:begin 5345 :end 5755 :contents-begin 5345 :contents-end 5754 :robust-begin 5345 :robust-end 5752 :post-blank 1 :post-affiliated 5345 :mode section :granularity nil :parent #138) (paragraph (:begin 5345 :end 5445 :contents-begin 5345 :contents-end 5444 :post-blank 1 :post-affiliated 5345 :mode planning :granularity nil :parent #141) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #144))) (src-block (:language "scheme" :switches nil :parameters nil :begin 5445 :end 5589 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 5445 :mode nil :granularity nil :parent #141)) (paragraph (:begin 5589 :end 5621 :contents-begin 5589 :contents-end 5620 :post-blank 1 :post-affiliated 5589 :mode nil :granularity nil :parent #141) #("by pasting it into the command\n" 0 31 (:parent #146))) (src-block (:language "bash" :switches nil :parameters nil :begin 5621 :end 5674 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 5621 :mode nil :granularity nil :parent #141)) (paragraph (:begin 5674 :end 5691 :contents-begin 5674 :contents-end 5690 :post-blank 1 :post-affiliated 5674 :mode nil :granularity nil :parent #141) #("and hit Ctrl-D.\n" 0 16 (:parent #148))) (paragraph (:begin 5691 :end 5754 :contents-begin 5691 :contents-end 5754 :post-blank 0 :post-affiliated 5691 :mode nil :granularity nil :parent #141) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #149))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 5755 :end 7633 :pre-blank 1 :contents-begin 5787 :contents-end 7632 :robust-begin 5789 :robust-end 7630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5755 :title (#("Step 4: Install and run GN2" 0 27 (:parent #139))) :mode nil :granularity nil :parent #132) (section (:begin 5787 :end 7633 :contents-begin 5787 :contents-end 7632 :robust-begin 5787 :robust-end 7630 :post-blank 1 :post-affiliated 5787 :mode section :granularity nil :parent #139) (paragraph (:begin 5787 :end 5927 :contents-begin 5787 :contents-end 5926 :post-blank 1 :post-affiliated 5787 :mode planning :granularity nil :parent #142) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #145))) (src-block (:language "bash" :switches nil :parameters nil :begin 5927 :end 6046 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 5927 :mode nil :granularity nil :parent #142)) (paragraph (:begin 6046 :end 6099 :contents-begin 6046 :contents-end 6098 :post-blank 1 :post-affiliated 6046 :mode nil :granularity nil :parent #142) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #147))) (src-block (:language "bash" :switches nil :parameters nil :begin 6099 :end 6289 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 6099 :mode nil :granularity nil :parent #142)) (paragraph (:begin 6289 :end 6398 :contents-begin 6289 :contents-end 6397 :post-blank 1 :post-affiliated 6289 :mode nil :granularity nil :parent #142) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #149)) (italic (:begin 6360 :end 6366 :post-blank 0 :contents-begin 6361 :contents-end 6365 :parent #149) #("root" 0 4 (:parent #153))) #(".config/guix/latest override).\n" 0 31 (:parent #149))) (paragraph (:begin 6398 :end 6416 :contents-begin 6398 :contents-end 6415 :post-blank 1 :post-affiliated 6398 :mode nil :granularity nil :parent #142) #("And install with\n" 0 17 (:parent #150))) (src-block (:language "bash" :switches nil :parameters nil :begin 6416 :end 6586 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 6416 :mode nil :granularity nil :parent #142)) (paragraph (:begin 6586 :end 6729 :contents-begin 6586 :contents-end 6728 :post-blank 1 :post-affiliated 6586 :mode nil :granularity nil :parent #142) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #152))) (paragraph (:begin 6729 :end 6925 :contents-begin 6729 :contents-end 6924 :post-blank 1 :post-affiliated 6729 :mode nil :granularity nil :parent #142) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #153))) (paragraph (:begin 6925 :end 7056 :contents-begin 6925 :contents-end 7055 :post-blank 1 :post-affiliated 6925 :mode nil :granularity nil :parent #142) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #154))) (src-block (:language "bash" :switches nil :parameters nil :begin 7056 :end 7235 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python2.7/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 7056 :mode nil :granularity nil :parent #142)) (paragraph (:begin 7235 :end 7304 :contents-begin 7235 :contents-end 7303 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #142) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #156))) (src-block (:language "bash" :switches nil :parameters nil :begin 7304 :end 7345 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 7304 :mode nil :granularity nil :parent #142)) (paragraph (:begin 7345 :end 7596 :contents-begin 7345 :contents-end 7595 :post-blank 1 :post-affiliated 7345 :mode nil :granularity nil :parent #142) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #158)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 7567 :end 7593 :contents-begin nil :contents-end nil :post-blank 0 :parent #158)) #(".\n" 0 2 (:parent #158))) (paragraph (:begin 7596 :end 7632 :contents-begin 7596 :contents-end 7632 :post-blank 0 :post-affiliated 7596 :mode nil :granularity nil :parent #142) #("End of the GN2 installation recipe!\n" 0 36 (:parent #159)))))) (headline (:raw-value "Run MySQL server" :begin 7633 :end 9008 :pre-blank 1 :contents-begin 7653 :contents-end 9007 :robust-begin 7655 :robust-end 9005 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7633 :title (#("Run MySQL server" 0 16 (:parent #133))) :mode nil :granularity nil :parent #126) (section (:begin 7653 :end 9008 :contents-begin 7653 :contents-end 9007 :robust-begin 7653 :robust-end 9005 :post-blank 1 :post-affiliated 7653 :mode section :granularity nil :parent #133) (paragraph (:begin 7653 :end 7928 :contents-begin 7653 :contents-end 7927 :post-blank 1 :post-affiliated 7653 :mode planning :granularity nil :parent #136) #("At this point we require the underlying distribution to install and\nrun mysqld. Currently we have two databases for deployment,\n'db" 0 131 (:parent #139)) (subscript (:begin 7784 :end 7791 :use-brackets-p nil :contents-begin 7785 :contents-end 7791 :post-blank 0 :parent #139) #("webqtl" 0 6 (:parent #143))) (subscript (:begin 7791 :end 7793 :use-brackets-p nil :contents-begin 7792 :contents-end 7793 :post-blank 0 :parent #139) #("s" 0 1 (:parent #144))) #("' is the small testing database containing experiments\nfrom BXD mice and 'db" 0 76 (:parent #139)) (subscript (:begin 7869 :end 7876 :use-brackets-p nil :contents-begin 7870 :contents-end 7876 :post-blank 0 :parent #139) #("webqtl" 0 6 (:parent #146))) (subscript (:begin 7876 :end 7882 :use-brackets-p nil :contents-begin 7877 :contents-end 7882 :post-blank 0 :parent #139) #("plant" 0 5 (:parent #147))) #("' which contains all plant related\nmaterial.\n" 0 45 (:parent #139))) (paragraph (:begin 7928 :end 7956 :contents-begin 7928 :contents-end 7955 :post-blank 1 :post-affiliated 7928 :mode nil :granularity nil :parent #136) #("Download one database from\n" 0 27 (:parent #140))) (paragraph (:begin 7956 :end 8054 :contents-begin 7956 :contents-end 8053 :post-blank 1 :post-affiliated 7956 :mode nil :granularity nil :parent #136) (link (:type "http" :path "//files.genenetwork.org/raw_database/" :format plain :raw-link "http://files.genenetwork.org/raw_database/" :application nil :search-option nil :begin 7956 :end 7998 :contents-begin nil :contents-end nil :post-blank 0 :parent #141)) #("\n" 0 1 (:parent #141)) (link (:type "https" :path "//s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :format plain :raw-link "https://s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :application nil :search-option nil :begin 7999 :end 8052 :contents-begin nil :contents-end nil :post-blank 0 :parent #141)) #("\n" 0 1 (:parent #141))) (paragraph (:begin 8054 :end 8073 :contents-begin 8054 :contents-end 8072 :post-blank 1 :post-affiliated 8054 :mode nil :granularity nil :parent #136) #("Check the md5sum.\n" 0 18 (:parent #142))) (paragraph (:begin 8073 :end 8195 :contents-begin 8073 :contents-end 8194 :post-blank 1 :post-affiliated 8073 :mode nil :granularity nil :parent #136) #("After installation inflate the database binary in the MySQL directory\n(this installation path is subject to change soon)\n" 0 121 (:parent #143))) (fixed-width (:begin 8195 :end 8283 :value "chown -R mysql:mysql db_webqtl_s/\nchmod 700 db_webqtl_s/\nchmod 660 db_webqtl_s/*" :post-blank 2 :post-affiliated 8195 :mode nil :granularity nil :parent #136)) (paragraph (:begin 8283 :end 8334 :contents-begin 8283 :contents-end 8333 :post-blank 1 :post-affiliated 8283 :mode nil :granularity nil :parent #136) #("restart MySQL service (mysqld). Login as root and\n" 0 50 (:parent #145))) (fixed-width (:begin 8334 :end 8560 :value "mysql> show databases;\n+--------------------+\n| Database |\n+--------------------+\n| information_schema |\n| db_webqtl_s |\n| mysql |\n| performance_schema |\n+--------------------+" :post-blank 2 :post-affiliated 8334 :mode nil :granularity nil :parent #136)) (paragraph (:begin 8560 :end 8625 :contents-begin 8560 :contents-end 8624 :post-blank 1 :post-affiliated 8560 :mode nil :granularity nil :parent #136) #("Set permissions and match password in your settings file below:\n" 0 64 (:parent #147))) (fixed-width (:begin 8625 :end 8724 :value "mysql> grant all privileges on db_webqtl_s.* to gn2@\"localhost\" identified by 'mysql_password';" :post-blank 2 :post-affiliated 8625 :mode nil :granularity nil :parent #136)) (paragraph (:begin 8724 :end 8875 :contents-begin 8724 :contents-end 8874 :post-blank 1 :post-affiliated 8724 :mode nil :granularity nil :parent #136) #("Note that if the mysql connection is not working, try connecting to\nthe IP address and check server firewall, hosts.allow and mysql IP\nconfiguration.\n" 0 150 (:parent #149))) (paragraph (:begin 8875 :end 9007 :contents-begin 8875 :contents-end 9007 :post-blank 0 :post-affiliated 8875 :mode nil :granularity nil :parent #136) #("Note for the plant database you can rename it to db" 0 51 (:parent #150)) (subscript (:begin 8926 :end 8933 :use-brackets-p nil :contents-begin 8927 :contents-end 8933 :post-blank 0 :parent #150) #("webqtl" 0 6 (:parent #154))) (subscript (:begin 8933 :end 8935 :use-brackets-p nil :contents-begin 8934 :contents-end 8935 :post-blank 0 :parent #150) #("s" 0 1 (:parent #155))) #(", or\nchange the settings in etc/default" 0 39 (:parent #150)) (subscript (:begin 8974 :end 8987 :use-brackets-p nil :contents-begin 8975 :contents-end 8986 :post-blank 1 :parent #150) #("settings.py" 0 11 (:parent #157))) #("to match your path.\n" 0 20 (:parent #150))))) (headline (:raw-value "GN2 Dependency Graph" :begin 9008 :end 9172 :pre-blank 1 :contents-begin 9032 :contents-end 9171 :robust-begin 9034 :robust-end 9169 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9008 :title (#("GN2 Dependency Graph" 0 20 (:parent #134))) :mode nil :granularity nil :parent #126) (section (:begin 9032 :end 9172 :contents-begin 9032 :contents-end 9171 :robust-begin 9032 :robust-end 9169 :post-blank 1 :post-affiliated 9032 :mode section :granularity nil :parent #134) (paragraph (:begin 9032 :end 9093 :contents-begin 9032 :contents-end 9092 :post-blank 1 :post-affiliated 9032 :mode planning :granularity nil :parent #137) #("Graph of all runtime dependencies as installed by GNU Guix.\n" 0 60 (:parent #140))) (paragraph (:begin 9093 :end 9171 :contents-begin 9123 :contents-end 9171 :post-blank 0 :post-affiliated 9123 :attr_html (":title GN2_graph") :mode nil :granularity nil :parent #137) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg" :format plain :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg" :application nil :search-option nil :begin 9123 :end 9170 :contents-begin nil :contents-end nil :post-blank 0 :parent #141)) #("\n" 0 1 (:parent #141))))) (headline (:raw-value "Source deployment" :begin 9172 :end 12840 :pre-blank 1 :contents-begin 9193 :contents-end 12839 :robust-begin 9195 :robust-end 12837 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9172 :title (#("Source deployment" 0 17 (:parent #135))) :mode nil :granularity nil :parent #126) (section (:begin 9193 :end 9612 :contents-begin 9193 :contents-end 9610 :robust-begin 9193 :robust-end 9608 :post-blank 2 :post-affiliated 9193 :mode section :granularity nil :parent #135) (paragraph (:begin 9193 :end 9274 :contents-begin 9193 :contents-end 9273 :post-blank 1 :post-affiliated 9193 :mode planning :granularity nil :parent #138) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #141))) (paragraph (:begin 9274 :end 9304 :contents-begin 9274 :contents-end 9303 :post-blank 1 :post-affiliated 9274 :mode nil :granularity nil :parent #138) #("First execute above 4 steps:\n" 0 29 (:parent #142))) (plain-list (:type unordered :begin 9304 :end 9610 :contents-begin 9304 :contents-end 9610 :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :post-blank 0 :post-affiliated 9304 :mode nil :granularity nil :parent #138) (item (:bullet "- " :begin 9304 :end 9364 :contents-begin 9309 :contents-end 9364 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9304 :tag nil :mode item :granularity nil :parent #143) (paragraph (:begin 9309 :end 9364 :contents-begin 9309 :contents-end 9364 :post-blank 0 :post-affiliated 9309 :mode nil :granularity nil :parent #146) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 9309 :end 9363 :contents-begin 9337 :contents-end 9361 :post-blank 0 :parent #149) #("Step 1: Install GNU Guix" 0 24 (:parent #152))) #("\n" 0 1 (:parent #149)))) (item (:bullet "- " :begin 9364 :end 9458 :contents-begin 9369 :contents-end 9458 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9364 :tag nil :mode item :granularity nil :parent #143) (paragraph (:begin 9369 :end 9458 :contents-begin 9369 :contents-end 9458 :post-blank 0 :post-affiliated 9369 :mode nil :granularity nil :parent #147) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 9369 :end 9457 :contents-begin 9414 :contents-end 9455 :post-blank 0 :parent #150) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #153))) #("\n" 0 1 (:parent #150)))) (item (:bullet "- " :begin 9458 :end 9542 :contents-begin 9463 :contents-end 9542 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9458 :tag nil :mode item :granularity nil :parent #143) (paragraph (:begin 9463 :end 9542 :contents-begin 9463 :contents-end 9542 :post-blank 0 :post-affiliated 9463 :mode nil :granularity nil :parent #148) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 9463 :end 9541 :contents-begin 9503 :contents-end 9539 :post-blank 0 :parent #151) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #154))) #("\n" 0 1 (:parent #151)))) (item (:bullet "- " :begin 9542 :end 9610 :contents-begin 9547 :contents-end 9610 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9542 :tag nil :mode item :granularity nil :parent #143) (paragraph (:begin 9547 :end 9610 :contents-begin 9547 :contents-end 9610 :post-blank 0 :post-affiliated 9547 :mode nil :granularity nil :parent #149) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 9547 :end 9609 :contents-begin 9579 :contents-end 9607 :post-blank 0 :parent #152) #("Step 4: Install and run GN2 " 0 28 (:parent #155))) #("\n" 0 1 (:parent #152)))))) (headline (:raw-value "Run your own copy of GN2" :begin 9612 :end 10722 :pre-blank 1 :contents-begin 9641 :contents-end 10721 :robust-begin 9643 :robust-end 10719 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9612 :title (#("Run your own copy of GN2" 0 24 (:parent #139))) :mode nil :granularity nil :parent #135) (section (:begin 9641 :end 10722 :contents-begin 9641 :contents-end 10721 :robust-begin 9641 :robust-end 10719 :post-blank 1 :post-affiliated 9641 :mode section :granularity nil :parent #139) (paragraph (:begin 9641 :end 9839 :contents-begin 9641 :contents-end 9838 :post-blank 1 :post-affiliated 9641 :mode planning :granularity nil :parent #142) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #145)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 9793 :end 9836 :contents-begin nil :contents-end nil :post-blank 0 :parent #145)) #(".\n" 0 2 (:parent #145))) (paragraph (:begin 9839 :end 9964 :contents-begin 9839 :contents-end 9963 :post-blank 1 :post-affiliated 9839 :mode nil :granularity nil :parent #142) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #146)) (subscript (:begin 9896 :end 9902 :use-brackets-p nil :contents-begin 9897 :contents-end 9901 :post-blank 1 :parent #146) #("PATH" 0 4 (:parent #150))) #("and\nR" 0 5 (:parent #146)) (subscript (:begin 9907 :end 9912 :use-brackets-p nil :contents-begin 9908 :contents-end 9912 :post-blank 0 :parent #146) #("LIBS" 0 4 (:parent #152))) (subscript (:begin 9912 :end 9918 :use-brackets-p nil :contents-begin 9913 :contents-end 9917 :post-blank 1 :parent #146) #("SITE" 0 4 (:parent #153))) #("are set) from the information given by guix:\n" 0 45 (:parent #146))) (fixed-width (:begin 9964 :end 9995 :value "guix package --search-paths" :post-blank 2 :post-affiliated 9964 :mode nil :granularity nil :parent #142)) (paragraph (:begin 9995 :end 10019 :contents-begin 9995 :contents-end 10018 :post-blank 1 :post-affiliated 9995 :mode nil :granularity nil :parent #142) #("Inside the repository:\n" 0 23 (:parent #148))) (fixed-width (:begin 10019 :end 10059 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 10019 :mode nil :granularity nil :parent #142)) (paragraph (:begin 10059 :end 10303 :contents-begin 10059 :contents-end 10302 :post-blank 1 :post-affiliated 10059 :mode nil :granularity nil :parent #142) #("Will fire up your local repo " 0 29 (:parent #150)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 10088 :end 10111 :contents-begin nil :contents-end nil :post-blank 1 :parent #150)) #("using the\nsettings in ./etc/default" 0 35 (:parent #150)) (subscript (:begin 10146 :end 10158 :use-brackets-p nil :contents-begin 10147 :contents-end 10158 :post-blank 0 :parent #150) #("settings.py" 0 11 (:parent #156))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #150)) (subscript (:begin 10263 :end 10276 :use-brackets-p nil :contents-begin 10264 :contents-end 10275 :post-blank 1 :parent #150) #("settings.py" 0 11 (:parent #158))) #("and pass it into GN2 with\n" 0 26 (:parent #150))) (fixed-width (:begin 10303 :end 10346 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 10303 :mode nil :granularity nil :parent #142)) (paragraph (:begin 10346 :end 10492 :contents-begin 10346 :contents-end 10491 :post-blank 1 :post-affiliated 10346 :mode nil :granularity nil :parent #142) #("and everything " 0 15 (:parent #152)) (bold (:begin 10361 :end 10370 :post-blank 1 :contents-begin 10362 :contents-end 10368 :parent #152) #("should" 0 6 (:parent #156))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #152))) (paragraph (:begin 10492 :end 10620 :contents-begin 10492 :contents-end 10619 :post-blank 1 :post-affiliated 10492 :mode nil :granularity nil :parent #142) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #153))) (fixed-width (:begin 10620 :end 10721 :value "cat ~/.guix-profile/lib/python2.7/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 10620 :mode nil :granularity nil :parent #142)))) (headline (:raw-value "Set up nginx port forwarding" :begin 10722 :end 12840 :pre-blank 1 :contents-begin 10755 :contents-end 12839 :robust-begin 10757 :robust-end 12837 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 10722 :title (#("Set up nginx port forwarding" 0 28 (:parent #140))) :mode nil :granularity nil :parent #135) (section (:begin 10755 :end 12840 :contents-begin 10755 :contents-end 12839 :robust-begin 10755 :robust-end 12837 :post-blank 1 :post-affiliated 10755 :mode section :granularity nil :parent #140) (paragraph (:begin 10755 :end 10923 :contents-begin 10755 :contents-end 10922 :post-blank 1 :post-affiliated 10755 :mode planning :granularity nil :parent #143) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #146))) (paragraph (:begin 10923 :end 11063 :contents-begin 10923 :contents-end 11062 :post-blank 1 :post-affiliated 10923 :mode nil :granularity nil :parent #143) #("#+begin" 0 7 (:parent #147)) (subscript (:begin 10930 :end 10935 :use-brackets-p nil :contents-begin 10931 :contents-end 10934 :post-blank 1 :parent #147) #("src" 0 3 (:parent #151))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #147)) (subscript (:begin 10984 :end 10990 :use-brackets-p nil :contents-begin 10985 :contents-end 10989 :post-blank 1 :parent #147) #("name" 0 4 (:parent #153))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #147)) (subscript (:begin 11030 :end 11036 :use-brackets-p nil :contents-begin 11031 :contents-end 11034 :post-blank 2 :parent #147) #("log" 0 3 (:parent #155))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #147))) (paragraph (:begin 11063 :end 11232 :contents-begin 11063 :contents-end 11231 :post-blank 1 :post-affiliated 11063 :mode nil :granularity nil :parent #143) #(" proxy" 0 13 (:parent #148)) (subscript (:begin 11076 :end 11084 :use-brackets-p nil :contents-begin 11077 :contents-end 11084 :post-blank 0 :parent #148) #("connect" 0 7 (:parent #152))) (subscript (:begin 11084 :end 11099 :use-brackets-p nil :contents-begin 11085 :contents-end 11092 :post-blank 7 :parent #148) #("timeout" 0 7 (:parent #153))) #("3000;\n proxy" 0 19 (:parent #148)) (subscript (:begin 11118 :end 11123 :use-brackets-p nil :contents-begin 11119 :contents-end 11123 :post-blank 0 :parent #148) #("send" 0 4 (:parent #155))) (subscript (:begin 11123 :end 11141 :use-brackets-p nil :contents-begin 11124 :contents-end 11131 :post-blank 10 :parent #148) #("timeout" 0 7 (:parent #156))) #("3000;\n proxy" 0 19 (:parent #148)) (subscript (:begin 11160 :end 11165 :use-brackets-p nil :contents-begin 11161 :contents-end 11165 :post-blank 0 :parent #148) #("read" 0 4 (:parent #158))) (subscript (:begin 11165 :end 11183 :use-brackets-p nil :contents-begin 11166 :contents-end 11173 :post-blank 10 :parent #148) #("timeout" 0 7 (:parent #159))) #("3000;\n send" 0 18 (:parent #148)) (subscript (:begin 11201 :end 11225 :use-brackets-p nil :contents-begin 11202 :contents-end 11209 :post-blank 16 :parent #148) #("timeout" 0 7 (:parent #161))) #("3000;\n" 0 6 (:parent #148))) (paragraph (:begin 11232 :end 11632 :contents-begin 11232 :contents-end 11631 :post-blank 1 :post-affiliated 11232 :mode nil :granularity nil :parent #143) #(" location / {\n proxy" 0 38 (:parent #149)) (subscript (:begin 11270 :end 11274 :use-brackets-p nil :contents-begin 11271 :contents-end 11274 :post-blank 0 :parent #149) #("set" 0 3 (:parent #153))) (subscript (:begin 11274 :end 11284 :use-brackets-p nil :contents-begin 11275 :contents-end 11281 :post-blank 3 :parent #149) #("header" 0 6 (:parent #154))) #("Host $http" 0 15 (:parent #149)) (subscript (:begin 11299 :end 11304 :use-brackets-p nil :contents-begin 11300 :contents-end 11304 :post-blank 0 :parent #149) #("host" 0 4 (:parent #156))) #(";\n proxy" 0 19 (:parent #149)) (subscript (:begin 11323 :end 11327 :use-brackets-p nil :contents-begin 11324 :contents-end 11327 :post-blank 0 :parent #149) #("set" 0 3 (:parent #158))) (subscript (:begin 11327 :end 11337 :use-brackets-p nil :contents-begin 11328 :contents-end 11334 :post-blank 3 :parent #149) #("header" 0 6 (:parent #159))) #("Connection keep-alive;\n proxy" 0 40 (:parent #149)) (subscript (:begin 11377 :end 11381 :use-brackets-p nil :contents-begin 11378 :contents-end 11381 :post-blank 0 :parent #149) #("set" 0 3 (:parent #161))) (subscript (:begin 11381 :end 11391 :use-brackets-p nil :contents-begin 11382 :contents-end 11388 :post-blank 3 :parent #149) #("header" 0 6 (:parent #162))) #("X-Real-IP $remote" 0 17 (:parent #149)) (subscript (:begin 11408 :end 11413 :use-brackets-p nil :contents-begin 11409 :contents-end 11413 :post-blank 0 :parent #149) #("addr" 0 4 (:parent #164))) #(";\n proxy" 0 19 (:parent #149)) (subscript (:begin 11432 :end 11436 :use-brackets-p nil :contents-begin 11433 :contents-end 11436 :post-blank 0 :parent #149) #("set" 0 3 (:parent #166))) (subscript (:begin 11436 :end 11446 :use-brackets-p nil :contents-begin 11437 :contents-end 11443 :post-blank 3 :parent #149) #("header" 0 6 (:parent #167))) #("X-Forwarded-For $proxy" 0 22 (:parent #149)) (subscript (:begin 11468 :end 11472 :use-brackets-p nil :contents-begin 11469 :contents-end 11472 :post-blank 0 :parent #149) #("add" 0 3 (:parent #169))) (subscript (:begin 11472 :end 11474 :use-brackets-p nil :contents-begin 11473 :contents-end 11474 :post-blank 0 :parent #149) #("x" 0 1 (:parent #170))) (subscript (:begin 11474 :end 11484 :use-brackets-p nil :contents-begin 11475 :contents-end 11484 :post-blank 0 :parent #149) #("forwarded" 0 9 (:parent #171))) (subscript (:begin 11484 :end 11488 :use-brackets-p nil :contents-begin 11485 :contents-end 11488 :post-blank 0 :parent #149) #("for" 0 3 (:parent #172))) #(";\n proxy" 0 19 (:parent #149)) (subscript (:begin 11507 :end 11511 :use-brackets-p nil :contents-begin 11508 :contents-end 11511 :post-blank 0 :parent #149) #("set" 0 3 (:parent #174))) (subscript (:begin 11511 :end 11521 :use-brackets-p nil :contents-begin 11512 :contents-end 11518 :post-blank 3 :parent #149) #("header" 0 6 (:parent #175))) #("X-Forwarded-Host $server" 0 24 (:parent #149)) (subscript (:begin 11545 :end 11550 :use-brackets-p nil :contents-begin 11546 :contents-end 11550 :post-blank 0 :parent #149) #("name" 0 4 (:parent #177))) #(";\n proxy" 0 19 (:parent #149)) (subscript (:begin 11569 :end 11583 :use-brackets-p nil :contents-begin 11570 :contents-end 11574 :post-blank 9 :parent #149) #("pass" 0 4 (:parent #179))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 11583 :end 11604 :contents-begin nil :contents-end nil :post-blank 0 :parent #149)) #(";\n }\n}\n#+end" 0 19 (:parent #149)) (subscript (:begin 11623 :end 11628 :use-brackets-p nil :contents-begin 11624 :contents-end 11627 :post-blank 1 :parent #149) #("src" 0 3 (:parent #182))) #("js\n" 0 3 (:parent #149))) (paragraph (:begin 11632 :end 11671 :contents-begin 11632 :contents-end 11670 :post-blank 1 :post-affiliated 11632 :mode nil :granularity nil :parent #143) #("Install the nginx webserver (as root)\n" 0 38 (:parent #150))) (fixed-width (:begin 11671 :end 11696 :value "guix package -i nginx" :post-blank 2 :post-affiliated 11671 :mode nil :granularity nil :parent #143)) (paragraph (:begin 11696 :end 11777 :contents-begin 11696 :contents-end 11776 :post-blank 1 :post-affiliated 11696 :mode nil :granularity nil :parent #143) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #152))) (fixed-width (:begin 11777 :end 11964 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 11777 :mode nil :granularity nil :parent #143)) (paragraph (:begin 11964 :end 11979 :contents-begin 11964 :contents-end 11978 :post-blank 1 :post-affiliated 11964 :mode nil :granularity nil :parent #143) #("Use that path\n" 0 14 (:parent #154))) (fixed-width (:begin 11979 :end 12373 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 11979 :mode nil :granularity nil :parent #143)) (paragraph (:begin 12373 :end 12599 :contents-begin 12373 :contents-end 12599 :post-blank 0 :post-affiliated 12373 :mode nil :granularity nil :parent #143) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #156))) (fixed-width (:begin 12599 :end 12646 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 12599 :mode nil :granularity nil :parent #143)) (paragraph (:begin 12646 :end 12657 :contents-begin 12646 :contents-end 12656 :post-blank 1 :post-affiliated 12646 :mode nil :granularity nil :parent #143) #("Make dirs\n" 0 10 (:parent #158))) (fixed-width (:begin 12657 :end 12691 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 12657 :mode nil :granularity nil :parent #143)) (paragraph (:begin 12691 :end 12702 :contents-begin 12691 :contents-end 12701 :post-blank 1 :post-affiliated 12691 :mode nil :granularity nil :parent #143) #("Add users\n" 0 10 (:parent #160))) (fixed-width (:begin 12702 :end 12738 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 12702 :mode nil :granularity nil :parent #143)) (paragraph (:begin 12738 :end 12749 :contents-begin 12738 :contents-end 12748 :post-blank 1 :post-affiliated 12738 :mode nil :granularity nil :parent #143) #("Run nginx\n" 0 10 (:parent #162))) (fixed-width (:begin 12749 :end 12839 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 12749 :mode nil :granularity nil :parent #143))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 12840 :end 13801 :pre-blank 1 :contents-begin 12902 :contents-end 13801 :robust-begin 12904 :robust-end 13799 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12840 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #136))) :mode nil :granularity nil :parent #126) (section (:begin 12902 :end 12959 :contents-begin 12902 :contents-end 12958 :robust-begin 12902 :robust-end 12956 :post-blank 1 :post-affiliated 12902 :mode section :granularity nil :parent #136) (paragraph (:begin 12902 :end 12958 :contents-begin 12902 :contents-end 12958 :post-blank 0 :post-affiliated 12902 :mode planning :granularity nil :parent #139) #("See the document " 0 17 (:parent #142)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 12919 :end 12956 :contents-begin nil :contents-end nil :post-blank 0 :parent #142)) #(".\n" 0 2 (:parent #142)))) (headline (:raw-value "Update to recent guix" :begin 12959 :end 13409 :pre-blank 1 :contents-begin 12985 :contents-end 13408 :robust-begin 12987 :robust-end 13406 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12959 :title (#("Update to recent guix" 0 21 (:parent #140))) :mode nil :granularity nil :parent #136) (section (:begin 12985 :end 13409 :contents-begin 12985 :contents-end 13408 :robust-begin 12985 :robust-end 13406 :post-blank 1 :post-affiliated 12985 :mode section :granularity nil :parent #140) (paragraph (:begin 12985 :end 13020 :contents-begin 12985 :contents-end 13019 :post-blank 1 :post-affiliated 12985 :mode planning :granularity nil :parent #143) #("We now compile Guix from scratch.\n" 0 34 (:parent #146))) (paragraph (:begin 13020 :end 13295 :contents-begin 13020 :contents-end 13294 :post-blank 1 :post-affiliated 13020 :mode nil :granularity nil :parent #143) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #147)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 13159 :end 13272 :contents-begin 13264 :contents-end 13269 :post-blank 1 :parent #147) #("these" 0 5 (:parent #151))) #("steps carefully after\n" 0 22 (:parent #147))) (fixed-width (:begin 13295 :end 13330 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 13295 :mode nil :granularity nil :parent #143)) (paragraph (:begin 13330 :end 13408 :contents-begin 13330 :contents-end 13408 :post-blank 0 :post-affiliated 13330 :mode nil :granularity nil :parent #143) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #149))))) (headline (:raw-value "Install GN2" :begin 13409 :end 13801 :pre-blank 1 :contents-begin 13425 :contents-end 13801 :robust-begin 13427 :robust-end 13799 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 13409 :title (#("Install GN2" 0 11 (:parent #141))) :mode nil :granularity nil :parent #136) (section (:begin 13425 :end 13801 :contents-begin 13425 :contents-end 13801 :robust-begin 13425 :robust-end 13799 :post-blank 0 :post-affiliated 13425 :mode section :granularity nil :parent #141) (paragraph (:begin 13425 :end 13468 :contents-begin 13425 :contents-end 13467 :post-blank 1 :post-affiliated 13425 :mode planning :granularity nil :parent #144) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #147))) (paragraph (:begin 13468 :end 13676 :contents-begin 13468 :contents-end 13675 :post-blank 1 :post-affiliated 13468 :mode nil :granularity nil :parent #144) #("#+begin" 0 7 (:parent #148)) (subscript (:begin 13475 :end 13480 :use-brackets-p nil :contents-begin 13476 :contents-end 13479 :post-blank 1 :parent #148) #("src" 0 3 (:parent #152))) #("bash\nenv GUIX" 0 13 (:parent #148)) (subscript (:begin 13493 :end 13501 :use-brackets-p nil :contents-begin 13494 :contents-end 13501 :post-blank 0 :parent #148) #("PACKAGE" 0 7 (:parent #154))) (subscript (:begin 13501 :end 13506 :use-brackets-p nil :contents-begin 13502 :contents-end 13506 :post-blank 0 :parent #148) #("PATH" 0 4 (:parent #155))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #148)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 13605 :end 13633 :contents-begin nil :contents-end nil :post-blank 1 :parent #148)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 13633 :end 13658 :contents-begin nil :contents-end nil :post-blank 0 :parent #148)) #("\"\n#+end" 0 7 (:parent #148)) (subscript (:begin 13665 :end 13670 :use-brackets-p nil :contents-begin 13666 :contents-end 13669 :post-blank 1 :parent #148) #("src" 0 3 (:parent #160))) #("bash\n" 0 5 (:parent #148))) (paragraph (:begin 13676 :end 13714 :contents-begin 13676 :contents-end 13713 :post-blank 1 :post-affiliated 13676 :mode nil :granularity nil :parent #144) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #149))) (paragraph (:begin 13714 :end 13801 :contents-begin 13714 :contents-end 13801 :post-blank 0 :post-affiliated 13714 :mode nil :granularity nil :parent #144) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #150)))))))) #56)) #32)) #0 (item (:bullet "- " :begin 156 :end 521 :contents-begin 159 :contents-end 521 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 156 :tag nil :mode item :granularity nil :parent #32) (paragraph (:begin 159 :end 217 :contents-begin 159 :contents-end 217 :post-blank 0 :post-affiliated 159 :mode nil :granularity nil :parent #36) (link (:type "custom-id" :path "quick-installation-recipe" :format bracket :raw-link "#quick-installation-recipe" :application nil :search-option nil :begin 159 :end 216 :contents-begin 189 :contents-end 214 :post-blank 0 :parent #39) #("Quick installation recipe" 0 25 (:parent #42))) #("\n" 0 1 (:parent #39))) (plain-list (:type unordered :begin 217 :end 521 :contents-begin 217 :contents-end 521 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 217 :mode nil :granularity nil :parent #36) (item (:bullet "- " :begin 217 :end 277 :contents-begin 222 :contents-end 277 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 217 :tag nil :mode item :granularity nil :parent #40) (paragraph (:begin 222 :end 277 :contents-begin 222 :contents-end 277 :post-blank 0 :post-affiliated 222 :mode nil :granularity nil :parent #43) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 222 :end 276 :contents-begin 250 :contents-end 274 :post-blank 0 :parent #46) #("Step 1: Install GNU Guix" 0 24 (:parent #49))) #("\n" 0 1 (:parent #46)))) (item (:bullet "- " :begin 277 :end 371 :contents-begin 282 :contents-end 371 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 277 :tag nil :mode item :granularity nil :parent #40) (paragraph (:begin 282 :end 371 :contents-begin 282 :contents-end 371 :post-blank 0 :post-affiliated 282 :mode nil :granularity nil :parent #44) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 282 :end 370 :contents-begin 327 :contents-end 368 :post-blank 0 :parent #47) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #50))) #("\n" 0 1 (:parent #47)))) (item (:bullet "- " :begin 371 :end 455 :contents-begin 376 :contents-end 455 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 371 :tag nil :mode item :granularity nil :parent #40) (paragraph (:begin 376 :end 455 :contents-begin 376 :contents-end 455 :post-blank 0 :post-affiliated 376 :mode nil :granularity nil :parent #45) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 376 :end 454 :contents-begin 416 :contents-end 452 :post-blank 0 :parent #48) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #51))) #("\n" 0 1 (:parent #48)))) (item (:bullet "- " :begin 455 :end 521 :contents-begin 460 :contents-end 521 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 455 :tag nil :mode item :granularity nil :parent #40) (paragraph (:begin 460 :end 521 :contents-begin 460 :contents-end 521 :post-blank 0 :post-affiliated 460 :mode nil :granularity nil :parent #46) (link (:type "custom-id" :path "step-4-install-and-run-gn2" :format bracket :raw-link "#step-4-install-and-run-gn2" :application nil :search-option nil :begin 460 :end 520 :contents-begin 491 :contents-end 518 :post-blank 0 :parent #49) #("Step 4: Install and run GN2" 0 27 (:parent #52))) #("\n" 0 1 (:parent #49)))))) (item (:bullet "- " :begin 521 :end 564 :contents-begin 524 :contents-end 564 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 521 :tag nil :mode item :granularity nil :parent #32) (paragraph (:begin 524 :end 564 :contents-begin 524 :contents-end 564 :post-blank 0 :post-affiliated 524 :mode nil :granularity nil :parent #37) (link (:type "custom-id" :path "run-mysql-server" :format bracket :raw-link "#run-mysql-server" :application nil :search-option nil :begin 524 :end 563 :contents-begin 545 :contents-end 561 :post-blank 0 :parent #40) #("Run MySQL server" 0 16 (:parent #43))) #("\n" 0 1 (:parent #40)))) (item (:bullet "- " :begin 564 :end 615 :contents-begin 567 :contents-end 615 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 564 :tag nil :mode item :granularity nil :parent #32) (paragraph (:begin 567 :end 615 :contents-begin 567 :contents-end 615 :post-blank 0 :post-affiliated 567 :mode nil :granularity nil :parent #38) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 567 :end 614 :contents-begin 592 :contents-end 612 :post-blank 0 :parent #41) #("GN2 Dependency Graph" 0 20 (:parent #44))) #("\n" 0 1 (:parent #41)))) (item (:bullet "- " :begin 615 :end 790 :contents-begin 618 :contents-end 790 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 615 :tag nil :mode item :granularity nil :parent #32) (paragraph (:begin 618 :end 660 :contents-begin 618 :contents-end 660 :post-blank 0 :post-affiliated 618 :mode nil :granularity nil :parent #39) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 618 :end 659 :contents-begin 640 :contents-end 657 :post-blank 0 :parent #42) #("Source deployment" 0 17 (:parent #45))) #("\n" 0 1 (:parent #42))) (plain-list (:type unordered :begin 660 :end 790 :contents-begin 660 :contents-end 790 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 660 :mode nil :granularity nil :parent #39) (item (:bullet "- " :begin 660 :end 721 :contents-begin 665 :contents-end 721 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 660 :tag nil :mode item :granularity nil :parent #43) (paragraph (:begin 665 :end 721 :contents-begin 665 :contents-end 721 :post-blank 0 :post-affiliated 665 :mode nil :granularity nil :parent #46) (link (:type "custom-id" :path "run-your-own-copy-of-gn2" :format bracket :raw-link "#run-your-own-copy-of-gn2" :application nil :search-option nil :begin 665 :end 720 :contents-begin 694 :contents-end 718 :post-blank 0 :parent #49) #("Run your own copy of GN2" 0 24 (:parent #52))) #("\n" 0 1 (:parent #49)))) (item (:bullet "- " :begin 721 :end 790 :contents-begin 726 :contents-end 790 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 721 :tag nil :mode item :granularity nil :parent #43) (paragraph (:begin 726 :end 790 :contents-begin 726 :contents-end 790 :post-blank 0 :post-affiliated 726 :mode nil :granularity nil :parent #47) (link (:type "custom-id" :path "set-up-nginx-port-forwarding" :format bracket :raw-link "#set-up-nginx-port-forwarding" :application nil :search-option nil :begin 726 :end 789 :contents-begin 759 :contents-end 787 :post-blank 0 :parent #50) #("Set up nginx port forwarding" 0 28 (:parent #53))) #("\n" 0 1 (:parent #50)))))) (item (:bullet "- " :begin 790 :end 1034 :contents-begin 793 :contents-end 1034 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 790 :tag nil :mode item :granularity nil :parent #32) (paragraph (:begin 793 :end 917 :contents-begin 793 :contents-end 917 :post-blank 0 :post-affiliated 793 :mode nil :granularity nil :parent #40) (link (:type "custom-id" :path "source-deployment-and-other-information-on-reproducibility" :format bracket :raw-link "#source-deployment-and-other-information-on-reproducibility" :application nil :search-option nil :begin 793 :end 916 :contents-begin 856 :contents-end 914 :post-blank 0 :parent #43) #("Source deployment and other information on reproducibility" 0 58 (:parent #46))) #("\n" 0 1 (:parent #43))) (plain-list (:type unordered :begin 917 :end 1034 :contents-begin 917 :contents-end 1034 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 917 :mode nil :granularity nil :parent #40) (item (:bullet "- " :begin 917 :end 972 :contents-begin 922 :contents-end 972 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 917 :tag nil :mode item :granularity nil :parent #44) (paragraph (:begin 922 :end 972 :contents-begin 922 :contents-end 972 :post-blank 0 :post-affiliated 922 :mode nil :granularity nil :parent #47) (link (:type "custom-id" :path "update-to-recent-guix" :format bracket :raw-link "#update-to-recent-guix" :application nil :search-option nil :begin 922 :end 971 :contents-begin 948 :contents-end 969 :post-blank 0 :parent #50) #("Update to recent guix" 0 21 (:parent #53))) #("\n" 0 1 (:parent #50)))) (item (:bullet "- " :begin 972 :end 1007 :contents-begin 977 :contents-end 1007 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 972 :tag nil :mode item :granularity nil :parent #44) (paragraph (:begin 977 :end 1007 :contents-begin 977 :contents-end 1007 :post-blank 0 :post-affiliated 977 :mode nil :granularity nil :parent #48) (link (:type "custom-id" :path "install-gn2" :format bracket :raw-link "#install-gn2" :application nil :search-option nil :begin 977 :end 1006 :contents-begin 993 :contents-end 1004 :post-blank 0 :parent #51) #("Install GN2" 0 11 (:parent #54))) #("\n" 0 1 (:parent #51)))) (item (:bullet "- " :begin 1007 :end 1034 :contents-begin 1012 :contents-end 1034 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1007 :tag nil :mode item :granularity nil :parent #44) (paragraph (:begin 1012 :end 1034 :contents-begin 1012 :contents-end 1034 :post-blank 0 :post-affiliated 1012 :mode nil :granularity nil :parent #49) (link (:type "custom-id" :path "run-gn2" :format bracket :raw-link "#run-gn2" :application nil :search-option nil :begin 1012 :end 1033 :contents-begin 1024 :contents-end 1031 :post-blank 0 :parent #52) #("Run GN2" 0 7 (:parent #55))) #("\n" 0 1 (:parent #52)))))) (item (:bullet "- " :begin 1034 :end 1370 :contents-begin 1037 :contents-end 1370 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1034 :tag nil :mode item :granularity nil :parent #32) (paragraph (:begin 1037 :end 1077 :contents-begin 1037 :contents-end 1077 :post-blank 0 :post-affiliated 1037 :mode nil :granularity nil :parent #41) (link (:type "custom-id" :path "trouble-shooting" :format bracket :raw-link "#trouble-shooting" :application nil :search-option nil :begin 1037 :end 1076 :contents-begin 1058 :contents-end 1074 :post-blank 0 :parent #44) #("Trouble shooting" 0 16 (:parent #47))) #("\n" 0 1 (:parent #44))) (plain-list (:type unordered :begin 1077 :end 1370 :contents-begin 1077 :contents-end 1370 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 1077 :mode nil :granularity nil :parent #41) (item (:bullet "- " :begin 1077 :end 1159 :contents-begin 1082 :contents-end 1159 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1077 :tag nil :mode item :granularity nil :parent #45) (paragraph (:begin 1082 :end 1159 :contents-begin 1082 :contents-end 1159 :post-blank 0 :post-affiliated 1082 :mode nil :granularity nil :parent #48) (link (:type "custom-id" :path "importerror-no-module-named-jinja2" :format bracket :raw-link "#importerror-no-module-named-jinja2" :application nil :search-option nil :begin 1082 :end 1158 :contents-begin 1121 :contents-end 1156 :post-blank 0 :parent #51) #("ImportError: No module named jinja2" 0 35 (:parent #54))) #("\n" 0 1 (:parent #51)))) (item (:bullet "- " :begin 1159 :end 1257 :contents-begin 1164 :contents-end 1257 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1159 :tag nil :mode item :granularity nil :parent #45) (paragraph (:begin 1164 :end 1257 :contents-begin 1164 :contents-end 1257 :post-blank 0 :post-affiliated 1164 :mode nil :granularity nil :parent #49) (link (:type "custom-id" :path "error-can-not-find-directory-homegn2_data" :format bracket :raw-link "#error-can-not-find-directory-homegn2_data" :application nil :search-option nil :begin 1164 :end 1256 :contents-begin 1210 :contents-end 1254 :post-blank 0 :parent #52) #("ERROR: can not find directory $HOME/gn2" 0 39 (:parent #55)) (subscript (:begin 1249 :end 1254 :use-brackets-p nil :contents-begin 1250 :contents-end 1254 :post-blank 0 :parent #55) #("data" 0 4 (:parent #59)))) #("\n" 0 1 (:parent #52)))) (item (:bullet "- " :begin 1257 :end 1305 :contents-begin 1262 :contents-end 1305 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1257 :tag nil :mode item :granularity nil :parent #45) (paragraph (:begin 1262 :end 1305 :contents-begin 1262 :contents-end 1305 :post-blank 0 :post-affiliated 1262 :mode nil :granularity nil :parent #50) (link (:type "custom-id" :path "cant-run-a-module" :format bracket :raw-link "#cant-run-a-module" :application nil :search-option nil :begin 1262 :end 1304 :contents-begin 1284 :contents-end 1302 :post-blank 0 :parent #53) #("Can't run a module" 0 18 (:parent #56))) #("\n" 0 1 (:parent #53)))) (item (:bullet "- " :begin 1305 :end 1370 :contents-begin 1310 :contents-end 1370 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1305 :tag nil :mode item :granularity nil :parent #45) (paragraph (:begin 1310 :end 1370 :contents-begin 1310 :contents-end 1370 :post-blank 0 :post-affiliated 1310 :mode nil :granularity nil :parent #51) (link (:type "custom-id" :path "rpy2-error-show-now-found" :format bracket :raw-link "#rpy2-error-show-now-found" :application nil :search-option nil :begin 1310 :end 1369 :contents-begin 1340 :contents-end 1367 :post-blank 0 :parent #54) #("Rpy2 error 'show' now found" 0 27 (:parent #57))) #("\n" 0 1 (:parent #54)))))) (item (:bullet "- " :begin 1370 :end 1403 :contents-begin 1373 :contents-end 1403 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1370 :tag nil :mode item :granularity nil :parent #32) (paragraph (:begin 1373 :end 1403 :contents-begin 1373 :contents-end 1403 :post-blank 0 :post-affiliated 1373 :mode nil :granularity nil :parent #42) (link (:type "custom-id" :path "irc-session" :format bracket :raw-link "#irc-session" :application nil :search-option nil :begin 1373 :end 1402 :contents-begin 1389 :contents-end 1400 :post-blank 0 :parent #45) #("IRC session" 0 11 (:parent #48))) #("\n" 0 1 (:parent #45)))))) (paragraph (:begin 124 :end 156 :contents-begin 124 :contents-end 156 :post-blank 0 :post-affiliated 124 :mode nil :granularity nil :parent #0) (link (:type "custom-id" :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil :begin 124 :end 155 :contents-begin 141 :contents-end 153 :post-blank 0 :parent #3) #("Introduction" 0 12 (:parent #6))) #("\n" 0 1 (:parent #3)))) (:export-options (body-only) :back-end #s(org-export-backend :name html :parent nil :transcoders ((bold . org-html-bold) (center-block . org-html-center-block) (clock . org-html-clock) (code . org-html-code) (drawer . org-html-drawer) (dynamic-block . org-html-dynamic-block) (entity . org-html-entity) (example-block . org-html-example-block) (export-block . org-html-export-block) (export-snippet . org-html-export-snippet) (fixed-width . org-html-fixed-width) (footnote-reference . org-html-footnote-reference) (headline . org-html-headline) (horizontal-rule . org-html-horizontal-rule) (inline-src-block . org-html-inline-src-block) (inlinetask . org-html-inlinetask) (inner-template . org-html-inner-template) (italic . org-html-italic) (item . org-html-item) (keyword . org-html-keyword) (latex-environment . org-html-latex-environment) (latex-fragment . org-html-latex-fragment) (line-break . org-html-line-break) (link . org-html-link) (node-property . org-html-node-property) (paragraph . org-html-paragraph) (plain-list . org-html-plain-list) (plain-text . org-html-plain-text) (planning . org-html-planning) (property-drawer . org-html-property-drawer) (quote-block . org-html-quote-block) (radio-target . org-html-radio-target) (section . org-html-section) (special-block . org-html-special-block) (src-block . org-html-src-block) (statistics-cookie . org-html-statistics-cookie) (strike-through . org-html-strike-through) (subscript . org-html-subscript) (superscript . org-html-superscript) (table . org-html-table) (table-cell . org-html-table-cell) (table-row . org-html-table-row) (target . org-html-target) (template . org-html-template) (timestamp . org-html-timestamp) (underline . org-html-underline) (verbatim . org-html-verbatim) (verse-block . org-html-verse-block)) :options ((:html-doctype "HTML_DOCTYPE" nil org-html-doctype) (:html-container "HTML_CONTAINER" nil org-html-container-element) (:html-content-class "HTML_CONTENT_CLASS" nil org-html-content-class) (:description "DESCRIPTION" nil nil newline) (:keywords "KEYWORDS" nil nil space) (:html-html5-fancy nil "html5-fancy" org-html-html5-fancy) (:html-link-use-abs-url nil "html-link-use-abs-url" org-html-link-use-abs-url) (:html-link-home "HTML_LINK_HOME" nil org-html-link-home) (:html-link-up "HTML_LINK_UP" nil org-html-link-up) (:html-mathjax "HTML_MATHJAX" nil "" space) (:html-equation-reference-format "HTML_EQUATION_REFERENCE_FORMAT" nil org-html-equation-reference-format t) (:html-postamble nil "html-postamble" org-html-postamble) (:html-preamble nil "html-preamble" org-html-preamble) (:html-head "HTML_HEAD" nil org-html-head newline) (:html-head-extra "HTML_HEAD_EXTRA" nil org-html-head-extra newline) (:subtitle "SUBTITLE" nil nil parse) (:html-head-include-default-style nil "html-style" org-html-head-include-default-style) (:html-head-include-scripts nil "html-scripts" org-html-head-include-scripts) (:html-allow-name-attribute-in-anchors nil nil org-html-allow-name-attribute-in-anchors) (:html-divs nil nil org-html-divs) (:html-checkbox-type nil nil org-html-checkbox-type) (:html-extension nil nil org-html-extension) (:html-footnote-format nil nil org-html-footnote-format) (:html-footnote-separator nil nil org-html-footnote-separator) (:html-footnotes-section nil nil org-html-footnotes-section) (:html-format-drawer-function nil nil org-html-format-drawer-function) (:html-format-headline-function nil nil org-html-format-headline-function) (:html-format-inlinetask-function nil nil org-html-format-inlinetask-function) (:html-home/up-format nil nil org-html-home/up-format) (:html-indent nil nil org-html-indent) (:html-infojs-options nil nil org-html-infojs-options) (:html-infojs-template nil nil org-html-infojs-template) (:html-inline-image-rules nil nil org-html-inline-image-rules) (:html-link-org-files-as-html nil nil org-html-link-org-files-as-html) (:html-mathjax-options nil nil org-html-mathjax-options) (:html-mathjax-template nil nil org-html-mathjax-template) (:html-metadata-timestamp-format nil nil org-html-metadata-timestamp-format) (:html-postamble-format nil nil org-html-postamble-format) (:html-preamble-format nil nil org-html-preamble-format) (:html-prefer-user-labels nil nil org-html-prefer-user-labels) (:html-self-link-headlines nil nil org-html-self-link-headlines) (:html-table-align-individual-fields nil nil org-html-table-align-individual-fields) (:html-table-caption-above nil nil org-html-table-caption-above) (:html-table-data-tags nil nil org-html-table-data-tags) (:html-table-header-tags nil nil org-html-table-header-tags) (:html-table-use-header-tags-for-first-column nil nil org-html-table-use-header-tags-for-first-column) (:html-tag-class-prefix nil nil org-html-tag-class-prefix) (:html-text-markup-alist nil nil org-html-text-markup-alist) (:html-todo-kwd-class-prefix nil nil org-html-todo-kwd-class-prefix) (:html-toplevel-hlevel nil nil org-html-toplevel-hlevel) (:html-use-infojs nil nil org-html-use-infojs) (:html-validation-link nil nil org-html-validation-link) (:html-viewport nil nil org-html-viewport) (:html-inline-images nil nil org-html-inline-images) (:html-table-attributes nil nil org-html-table-default-attributes) (:html-table-row-open-tag nil nil org-html-table-row-open-tag) (:html-table-row-close-tag nil nil org-html-table-row-close-tag) (:html-xml-declaration nil nil org-html-xml-declaration) (:html-wrap-src-lines nil nil org-html-wrap-src-lines) (:html-klipsify-src nil nil org-html-klipsify-src) (:html-klipse-css nil nil org-html-klipse-css) (:html-klipse-js nil nil org-html-klipse-js) (:html-klipse-selection-script nil nil org-html-klipse-selection-script) (:infojs-opt "INFOJS_OPT" nil nil) (:creator "CREATOR" nil org-html-creator-string) (:with-latex nil "tex" org-html-with-latex) (:latex-header "LATEX_HEADER" nil nil newline)) :filters ((:filter-options . org-html-infojs-install-script) (:filter-parse-tree . org-html-image-link-filter) (:filter-final-output . org-html-final-function)) :blocks nil :menu (104 "Export to HTML" ((72 "As HTML buffer" org-html-export-as-html) (104 "As HTML file" org-html-export-to-html) (111 "As HTML file and open" (lambda (a s v b) (if a (org-html-export-to-html t s v b) (org-open-file (org-html-export-to-html nil s v b)))))))) :translate-alist ((bold . org-html-bold) (center-block . org-html-center-block) (clock . org-html-clock) (code . org-html-code) (drawer . org-html-drawer) (dynamic-block . org-html-dynamic-block) (entity . org-html-entity) (example-block . org-html-example-block) (export-block . org-html-export-block) (export-snippet . org-html-export-snippet) (fixed-width . org-html-fixed-width) (footnote-reference . org-html-footnote-reference) (headline . org-html-headline) (horizontal-rule . org-html-horizontal-rule) (inline-src-block . org-html-inline-src-block) (inlinetask . org-html-inlinetask) (inner-template . org-html-inner-template) (italic . org-html-italic) (item . org-html-item) (keyword . org-html-keyword) (latex-environment . org-html-latex-environment) (latex-fragment . org-html-latex-fragment) (line-break . org-html-line-break) (link . org-html-link) (node-property . org-html-node-property) (paragraph . org-html-paragraph) (plain-list . org-html-plain-list) (plain-text . org-html-plain-text) (planning . org-html-planning) (property-drawer . org-html-property-drawer) (quote-block . org-html-quote-block) (radio-target . org-html-radio-target) (section . org-html-section) (special-block . org-html-special-block) (src-block . org-html-src-block) (statistics-cookie . org-html-statistics-cookie) (strike-through . org-html-strike-through) (subscript . org-html-subscript) (superscript . org-html-superscript) (table . org-html-table) (table-cell . org-html-table-cell) (table-row . org-html-table-row) (target . org-html-target) (template . org-html-template) (timestamp . org-html-timestamp) (underline . org-html-underline) (verbatim . org-html-verbatim) (verse-block . org-html-verse-block)) :exported-data # :input-buffer " *temp*" :input-file nil :html-doctype "xhtml-strict" :html-container "div" :html-content-class "content" :description nil :keywords nil :html-html5-fancy nil :html-link-use-abs-url nil :html-link-home "" :html-link-up "" :html-mathjax "" :html-equation-reference-format "\\eqref{%s}" :html-postamble auto :html-preamble t :html-head "" :html-head-extra "" :subtitle nil :html-head-include-default-style t :html-head-include-scripts nil :html-allow-name-attribute-in-anchors nil :html-divs ((preamble "div" "preamble") (content "div" "content") (postamble "div" "postamble")) :html-checkbox-type ascii :html-extension "html" :html-footnote-format "%s" :html-footnote-separator ", " :html-footnotes-section "
\n

%s:

\n
\n%s\n
\n
" :html-format-drawer-function #f(compiled-function (name contents) #) :html-format-headline-function org-html-format-headline-default-function :html-format-inlinetask-function org-html-format-inlinetask-default-function :html-home/up-format "
\n UP \n |\n HOME \n
" :html-indent nil :html-infojs-options ((path . "https://orgmode.org/org-info.js") (view . "info") (toc . :with-toc) (ftoc . "0") (tdepth . "max") (sdepth . "max") (mouse . "underline") (buttons . "0") (ltoc . "1") (up . :html-link-up) (home . :html-link-home)) :html-infojs-template "\n\n" :html-inline-image-rules (("file" . "\\(?:\\.\\(?:gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)") ("http" . "\\(?:\\.\\(?:gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)") ("https" . "\\(?:\\.\\(?:gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)")) :html-link-org-files-as-html t :html-mathjax-options ((path "https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js") (scale 1.0) (align "center") (font "mathjax-modern") (overflow "overflow") (tags "ams") (indent "0em") (multlinewidth "85%") (tagindent ".8em") (tagside "right")) :html-mathjax-template "\n\n\n" :html-metadata-timestamp-format "%Y-%m-%d %a %H:%M" :html-postamble-format (("en" "

Author: %a (%e)

\n

Date: %d

\n

%c

\n

%v

")) :html-preamble-format (("en" "")) :html-prefer-user-labels nil :html-self-link-headlines nil :html-table-align-individual-fields t :html-table-caption-above t :html-table-data-tags ("" . "") :html-table-header-tags ("" . "") :html-table-use-header-tags-for-first-column nil :html-tag-class-prefix "" :html-text-markup-alist ((bold . "%s") (code . "%s") (italic . "%s") (strike-through . "%s") (underline . "%s") (verbatim . "%s")) :html-todo-kwd-class-prefix "" :html-toplevel-hlevel 2 :html-use-infojs when-configured :html-validation-link "Validate" :html-viewport ((width "device-width") (initial-scale "1") (minimum-scale "") (maximum-scale "") (user-scalable "")) :html-inline-images t :html-table-attributes (:border "2" :cellspacing "0" :cellpadding "6" :rules "groups" :frame "hsides") :html-table-row-open-tag "" :html-table-row-close-tag "" :html-xml-declaration (("html" . "") ("php" . "\"; ?>")) :html-wrap-src-lines nil :html-klipsify-src nil :html-klipse-css "https://storage.googleapis.com/app.klipse.tech/css/codemirror.css" :html-klipse-js "https://storage.googleapis.com/app.klipse.tech/plugin_prod/js/klipse_plugin.min.js" :html-klipse-selection-script "window.klipse_settings = {selector_eval_html: '.src-html',\n selector_eval_js: '.src-js',\n selector_eval_python_client: '.src-python',\n selector_eval_scheme: '.src-scheme',\n selector: '.src-clojure',\n selector_eval_ruby: '.src-ruby'};" :infojs-opt nil :creator "Emacs 29.4 (Org mode 9.6.15)" :with-latex t :latex-header nil :title (#("Installing GeneNetwork services" 0 31 (:parent #148))) :date nil :author (#("unknown" 0 7 (:parent #152))) :email "unknown@genenetwork-development" :language "en" :select-tags ("export") :exclude-tags ("noexport") :headline-levels 3 :preserve-breaks nil :section-numbers nil :time-stamp-file t :with-archived-trees headline :with-author t :with-broken-links nil :with-clocks nil :with-creator nil :with-date t :with-drawers (not "LOGBOOK") :with-email nil :with-emphasize t :with-entities t :with-fixed-width t :with-footnotes t :with-inlinetasks t :with-planning nil :with-priority nil :with-properties nil :with-smart-quotes nil :with-special-strings t :with-statistics-cookies t :with-sub-superscript t :with-toc nil :with-tables t :with-tags t :with-tasks t :with-timestamps t :with-title t :with-todo-keywords t :cite-export (basic nil nil) :bibliography nil :filter-body nil :filter-bold nil :filter-babel-call nil :filter-center-block nil :filter-clock nil :filter-code nil :filter-diary-sexp nil :filter-drawer nil :filter-dynamic-block nil :filter-entity nil :filter-example-block nil :filter-export-block nil :filter-export-snippet nil :filter-final-output (org-html-final-function) :filter-fixed-width nil :filter-footnote-definition nil :filter-footnote-reference nil :filter-headline nil :filter-horizontal-rule nil :filter-inline-babel-call nil :filter-inline-src-block nil :filter-inlinetask nil :filter-italic nil :filter-item nil :filter-keyword nil :filter-latex-environment nil :filter-latex-fragment nil :filter-line-break nil :filter-link nil :filter-node-property nil :filter-options (org-html-infojs-install-script) :filter-paragraph nil :filter-parse-tree (org-html-image-link-filter) :filter-plain-list nil :filter-plain-text nil :filter-planning nil :filter-property-drawer nil :filter-quote-block nil :filter-radio-target nil :filter-section nil :filter-special-block nil :filter-src-block nil :filter-statistics-cookie nil :filter-strike-through nil :filter-subscript nil :filter-superscript nil :filter-table nil :filter-table-cell nil :filter-table-row nil :filter-target nil :filter-timestamp nil :filter-underline nil :filter-verbatim nil :filter-verse-block nil :ignore-list nil :parse-tree (org-data (:begin 1 :contents-begin 1 :contents-end 13801 :end 13801 :robust-begin 3 :robust-end 13799 :post-blank 0 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 43 :contents-begin 1 :contents-end 42 :robust-begin 1 :robust-end 40 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #338) (keyword (:key "TITLE" :value "Installing GeneNetwork services" :begin 1 :end 42 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #341))) (headline (:raw-value "Table of Contents" :begin 43 :end 1404 :pre-blank 0 :contents-begin 121 :contents-end 1403 :robust-begin 123 :robust-end 1401 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 43 :title (#("Table of Contents" 0 17 (:parent #342))) :mode nil :granularity nil :parent #338) (section (:begin 121 :end 1404 :contents-begin 121 :contents-end 1403 :robust-begin 121 :robust-end 1401 :post-blank 1 :post-affiliated 121 :mode section :granularity nil :parent #342) (plain-list (:type unordered :begin 121 :end 1403 :contents-begin 121 :contents-end 1403 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 121 :mode planning :granularity nil :parent #345) (item (:bullet "- " :begin 121 :end 156 :contents-begin 124 :contents-end 156 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 121 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 124 :end 156 :contents-begin 124 :contents-end 156 :post-blank 0 :post-affiliated 124 :mode nil :granularity nil :parent #351) (link (:type "custom-id" :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil :begin 124 :end 155 :contents-begin 141 :contents-end 153 :post-blank 0 :parent #354) #("Introduction" 0 12 (:parent #357))) #("\n" 0 1 (:parent #354)))) (item (:bullet "- " :begin 156 :end 521 :contents-begin 159 :contents-end 521 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 156 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 159 :end 217 :contents-begin 159 :contents-end 217 :post-blank 0 :post-affiliated 159 :mode nil :granularity nil :parent #352) (link (:type "custom-id" :path "quick-installation-recipe" :format bracket :raw-link "#quick-installation-recipe" :application nil :search-option nil :begin 159 :end 216 :contents-begin 189 :contents-end 214 :post-blank 0 :parent #355) #("Quick installation recipe" 0 25 (:parent #358))) #("\n" 0 1 (:parent #355))) (plain-list (:type unordered :begin 217 :end 521 :contents-begin 217 :contents-end 521 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 217 :mode nil :granularity nil :parent #352) (item (:bullet "- " :begin 217 :end 277 :contents-begin 222 :contents-end 277 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 217 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 222 :end 277 :contents-begin 222 :contents-end 277 :post-blank 0 :post-affiliated 222 :mode nil :granularity nil :parent #359) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 222 :end 276 :contents-begin 250 :contents-end 274 :post-blank 0 :parent #362) #("Step 1: Install GNU Guix" 0 24 (:parent #365))) #("\n" 0 1 (:parent #362)))) (item (:bullet "- " :begin 277 :end 371 :contents-begin 282 :contents-end 371 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 277 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 282 :end 371 :contents-begin 282 :contents-end 371 :post-blank 0 :post-affiliated 282 :mode nil :granularity nil :parent #360) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 282 :end 370 :contents-begin 327 :contents-end 368 :post-blank 0 :parent #363) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #366))) #("\n" 0 1 (:parent #363)))) (item (:bullet "- " :begin 371 :end 455 :contents-begin 376 :contents-end 455 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 371 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 376 :end 455 :contents-begin 376 :contents-end 455 :post-blank 0 :post-affiliated 376 :mode nil :granularity nil :parent #361) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 376 :end 454 :contents-begin 416 :contents-end 452 :post-blank 0 :parent #364) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #367))) #("\n" 0 1 (:parent #364)))) (item (:bullet "- " :begin 455 :end 521 :contents-begin 460 :contents-end 521 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 455 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 460 :end 521 :contents-begin 460 :contents-end 521 :post-blank 0 :post-affiliated 460 :mode nil :granularity nil :parent #362) (link (:type "custom-id" :path "step-4-install-and-run-gn2" :format bracket :raw-link "#step-4-install-and-run-gn2" :application nil :search-option nil :begin 460 :end 520 :contents-begin 491 :contents-end 518 :post-blank 0 :parent #365) #("Step 4: Install and run GN2" 0 27 (:parent #368))) #("\n" 0 1 (:parent #365)))))) (item (:bullet "- " :begin 521 :end 564 :contents-begin 524 :contents-end 564 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 521 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 524 :end 564 :contents-begin 524 :contents-end 564 :post-blank 0 :post-affiliated 524 :mode nil :granularity nil :parent #353) (link (:type "custom-id" :path "run-mysql-server" :format bracket :raw-link "#run-mysql-server" :application nil :search-option nil :begin 524 :end 563 :contents-begin 545 :contents-end 561 :post-blank 0 :parent #356) #("Run MySQL server" 0 16 (:parent #359))) #("\n" 0 1 (:parent #356)))) (item (:bullet "- " :begin 564 :end 615 :contents-begin 567 :contents-end 615 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 564 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 567 :end 615 :contents-begin 567 :contents-end 615 :post-blank 0 :post-affiliated 567 :mode nil :granularity nil :parent #354) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 567 :end 614 :contents-begin 592 :contents-end 612 :post-blank 0 :parent #357) #("GN2 Dependency Graph" 0 20 (:parent #360))) #("\n" 0 1 (:parent #357)))) (item (:bullet "- " :begin 615 :end 790 :contents-begin 618 :contents-end 790 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 615 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 618 :end 660 :contents-begin 618 :contents-end 660 :post-blank 0 :post-affiliated 618 :mode nil :granularity nil :parent #355) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 618 :end 659 :contents-begin 640 :contents-end 657 :post-blank 0 :parent #358) #("Source deployment" 0 17 (:parent #361))) #("\n" 0 1 (:parent #358))) (plain-list (:type unordered :begin 660 :end 790 :contents-begin 660 :contents-end 790 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 660 :mode nil :granularity nil :parent #355) (item (:bullet "- " :begin 660 :end 721 :contents-begin 665 :contents-end 721 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 660 :tag nil :mode item :granularity nil :parent #359) (paragraph (:begin 665 :end 721 :contents-begin 665 :contents-end 721 :post-blank 0 :post-affiliated 665 :mode nil :granularity nil :parent #362) (link (:type "custom-id" :path "run-your-own-copy-of-gn2" :format bracket :raw-link "#run-your-own-copy-of-gn2" :application nil :search-option nil :begin 665 :end 720 :contents-begin 694 :contents-end 718 :post-blank 0 :parent #365) #("Run your own copy of GN2" 0 24 (:parent #368))) #("\n" 0 1 (:parent #365)))) (item (:bullet "- " :begin 721 :end 790 :contents-begin 726 :contents-end 790 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 721 :tag nil :mode item :granularity nil :parent #359) (paragraph (:begin 726 :end 790 :contents-begin 726 :contents-end 790 :post-blank 0 :post-affiliated 726 :mode nil :granularity nil :parent #363) (link (:type "custom-id" :path "set-up-nginx-port-forwarding" :format bracket :raw-link "#set-up-nginx-port-forwarding" :application nil :search-option nil :begin 726 :end 789 :contents-begin 759 :contents-end 787 :post-blank 0 :parent #366) #("Set up nginx port forwarding" 0 28 (:parent #369))) #("\n" 0 1 (:parent #366)))))) (item (:bullet "- " :begin 790 :end 1034 :contents-begin 793 :contents-end 1034 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 790 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 793 :end 917 :contents-begin 793 :contents-end 917 :post-blank 0 :post-affiliated 793 :mode nil :granularity nil :parent #356) (link (:type "custom-id" :path "source-deployment-and-other-information-on-reproducibility" :format bracket :raw-link "#source-deployment-and-other-information-on-reproducibility" :application nil :search-option nil :begin 793 :end 916 :contents-begin 856 :contents-end 914 :post-blank 0 :parent #359) #("Source deployment and other information on reproducibility" 0 58 (:parent #362))) #("\n" 0 1 (:parent #359))) (plain-list (:type unordered :begin 917 :end 1034 :contents-begin 917 :contents-end 1034 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 917 :mode nil :granularity nil :parent #356) (item (:bullet "- " :begin 917 :end 972 :contents-begin 922 :contents-end 972 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 917 :tag nil :mode item :granularity nil :parent #360) (paragraph (:begin 922 :end 972 :contents-begin 922 :contents-end 972 :post-blank 0 :post-affiliated 922 :mode nil :granularity nil :parent #363) (link (:type "custom-id" :path "update-to-recent-guix" :format bracket :raw-link "#update-to-recent-guix" :application nil :search-option nil :begin 922 :end 971 :contents-begin 948 :contents-end 969 :post-blank 0 :parent #366) #("Update to recent guix" 0 21 (:parent #369))) #("\n" 0 1 (:parent #366)))) (item (:bullet "- " :begin 972 :end 1007 :contents-begin 977 :contents-end 1007 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 972 :tag nil :mode item :granularity nil :parent #360) (paragraph (:begin 977 :end 1007 :contents-begin 977 :contents-end 1007 :post-blank 0 :post-affiliated 977 :mode nil :granularity nil :parent #364) (link (:type "custom-id" :path "install-gn2" :format bracket :raw-link "#install-gn2" :application nil :search-option nil :begin 977 :end 1006 :contents-begin 993 :contents-end 1004 :post-blank 0 :parent #367) #("Install GN2" 0 11 (:parent #370))) #("\n" 0 1 (:parent #367)))) (item (:bullet "- " :begin 1007 :end 1034 :contents-begin 1012 :contents-end 1034 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1007 :tag nil :mode item :granularity nil :parent #360) (paragraph (:begin 1012 :end 1034 :contents-begin 1012 :contents-end 1034 :post-blank 0 :post-affiliated 1012 :mode nil :granularity nil :parent #365) (link (:type "custom-id" :path "run-gn2" :format bracket :raw-link "#run-gn2" :application nil :search-option nil :begin 1012 :end 1033 :contents-begin 1024 :contents-end 1031 :post-blank 0 :parent #368) #("Run GN2" 0 7 (:parent #371))) #("\n" 0 1 (:parent #368)))))) (item (:bullet "- " :begin 1034 :end 1370 :contents-begin 1037 :contents-end 1370 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1034 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 1037 :end 1077 :contents-begin 1037 :contents-end 1077 :post-blank 0 :post-affiliated 1037 :mode nil :granularity nil :parent #357) (link (:type "custom-id" :path "trouble-shooting" :format bracket :raw-link "#trouble-shooting" :application nil :search-option nil :begin 1037 :end 1076 :contents-begin 1058 :contents-end 1074 :post-blank 0 :parent #360) #("Trouble shooting" 0 16 (:parent #363))) #("\n" 0 1 (:parent #360))) (plain-list (:type unordered :begin 1077 :end 1370 :contents-begin 1077 :contents-end 1370 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 1077 :mode nil :granularity nil :parent #357) (item (:bullet "- " :begin 1077 :end 1159 :contents-begin 1082 :contents-end 1159 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1077 :tag nil :mode item :granularity nil :parent #361) (paragraph (:begin 1082 :end 1159 :contents-begin 1082 :contents-end 1159 :post-blank 0 :post-affiliated 1082 :mode nil :granularity nil :parent #364) (link (:type "custom-id" :path "importerror-no-module-named-jinja2" :format bracket :raw-link "#importerror-no-module-named-jinja2" :application nil :search-option nil :begin 1082 :end 1158 :contents-begin 1121 :contents-end 1156 :post-blank 0 :parent #367) #("ImportError: No module named jinja2" 0 35 (:parent #370))) #("\n" 0 1 (:parent #367)))) (item (:bullet "- " :begin 1159 :end 1257 :contents-begin 1164 :contents-end 1257 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1159 :tag nil :mode item :granularity nil :parent #361) (paragraph (:begin 1164 :end 1257 :contents-begin 1164 :contents-end 1257 :post-blank 0 :post-affiliated 1164 :mode nil :granularity nil :parent #365) (link (:type "custom-id" :path "error-can-not-find-directory-homegn2_data" :format bracket :raw-link "#error-can-not-find-directory-homegn2_data" :application nil :search-option nil :begin 1164 :end 1256 :contents-begin 1210 :contents-end 1254 :post-blank 0 :parent #368) #("ERROR: can not find directory $HOME/gn2" 0 39 (:parent #371)) (subscript (:begin 1249 :end 1254 :use-brackets-p nil :contents-begin 1250 :contents-end 1254 :post-blank 0 :parent #371) #("data" 0 4 (:parent #375)))) #("\n" 0 1 (:parent #368)))) (item (:bullet "- " :begin 1257 :end 1305 :contents-begin 1262 :contents-end 1305 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1257 :tag nil :mode item :granularity nil :parent #361) (paragraph (:begin 1262 :end 1305 :contents-begin 1262 :contents-end 1305 :post-blank 0 :post-affiliated 1262 :mode nil :granularity nil :parent #366) (link (:type "custom-id" :path "cant-run-a-module" :format bracket :raw-link "#cant-run-a-module" :application nil :search-option nil :begin 1262 :end 1304 :contents-begin 1284 :contents-end 1302 :post-blank 0 :parent #369) #("Can't run a module" 0 18 (:parent #372))) #("\n" 0 1 (:parent #369)))) (item (:bullet "- " :begin 1305 :end 1370 :contents-begin 1310 :contents-end 1370 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1305 :tag nil :mode item :granularity nil :parent #361) (paragraph (:begin 1310 :end 1370 :contents-begin 1310 :contents-end 1370 :post-blank 0 :post-affiliated 1310 :mode nil :granularity nil :parent #367) (link (:type "custom-id" :path "rpy2-error-show-now-found" :format bracket :raw-link "#rpy2-error-show-now-found" :application nil :search-option nil :begin 1310 :end 1369 :contents-begin 1340 :contents-end 1367 :post-blank 0 :parent #370) #("Rpy2 error 'show' now found" 0 27 (:parent #373))) #("\n" 0 1 (:parent #370)))))) (item (:bullet "- " :begin 1370 :end 1403 :contents-begin 1373 :contents-end 1403 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1370 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 1373 :end 1403 :contents-begin 1373 :contents-end 1403 :post-blank 0 :post-affiliated 1373 :mode nil :granularity nil :parent #358) (link (:type "custom-id" :path "irc-session" :format bracket :raw-link "#irc-session" :application nil :search-option nil :begin 1373 :end 1402 :contents-begin 1389 :contents-end 1400 :post-blank 0 :parent #361) #("IRC session" 0 11 (:parent #364))) #("\n" 0 1 (:parent #361))))))) (headline (:raw-value "Introduction" :begin 1404 :end 2450 :pre-blank 1 :contents-begin 1420 :contents-end 2449 :robust-begin 1422 :robust-end 2447 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1404 :title (#("Introduction" 0 12 (:parent #343))) :mode nil :granularity nil :parent #338) (section (:begin 1420 :end 2450 :contents-begin 1420 :contents-end 2449 :robust-begin 1420 :robust-end 2447 :post-blank 1 :post-affiliated 1420 :mode section :granularity nil :parent #343) (paragraph (:begin 1420 :end 1557 :contents-begin 1420 :contents-end 1556 :post-blank 1 :post-affiliated 1420 :mode planning :granularity nil :parent #346) #("If you want to understand the architecture of GN2 read\n" 0 55 (:parent #349)) (link (:type "fuzzy" :path "Architecture.org" :format bracket :raw-link "Architecture.org" :application nil :search-option nil :begin 1475 :end 1495 :contents-begin nil :contents-end nil :post-blank 0 :parent #349)) #(". The rest of this document is mostly on deployment\nof GN2.\n" 0 61 (:parent #349))) (paragraph (:begin 1557 :end 1943 :contents-begin 1557 :contents-end 1942 :post-blank 1 :post-affiliated 1557 :mode nil :granularity nil :parent #346) #("Large system deployments can get very " 0 38 (:parent #350)) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg " :format bracket :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg " :application nil :search-option nil :begin 1595 :end 1656 :contents-begin 1647 :contents-end 1654 :post-blank 0 :parent #350) #("complex" 0 7 (:parent #354))) #(". In this document we\nexplain the GeneNetwork version 2 (GN2) reproducible deployment system\nwhich is based on GNU Guix (see also " 0 130 (:parent #350)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1786 :end 1860 :contents-begin 1848 :contents-end 1858 :post-blank 0 :parent #350) #("Guix-notes" 0 10 (:parent #356))) #("). The Guix\nsystem can be used to install GN with all its files and dependencies.\n" 0 82 (:parent #350))) (paragraph (:begin 1943 :end 2328 :contents-begin 1943 :contents-end 2327 :post-blank 1 :post-affiliated 1943 :mode nil :granularity nil :parent #346) #("The official installation path is from a checked out version of the\nmain Guix package tree and that of the Genenetwork package\ntree. Current supported versions can be found as the SHA values of\n'gn-latest' branches of " 0 218 (:parent #351)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :application nil :search-option nil :begin 2161 :end 2252 :contents-begin 2230 :contents-end 2249 :post-blank 1 :parent #351) #("Guix bioinformatics" 0 19 (:parent #355))) #("and " 0 4 (:parent #351)) (link (:type "https" :path "//github.com/genenetwork/guix/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix/tree/gn-latest" :application nil :search-option nil :begin 2256 :end 2325 :contents-begin 2310 :contents-end 2323 :post-blank 0 :parent #351) #("GNU Guix main" 0 13 (:parent #357))) #(".\n" 0 2 (:parent #351))) (paragraph (:begin 2328 :end 2449 :contents-begin 2328 :contents-end 2449 :post-blank 0 :post-affiliated 2328 :mode nil :granularity nil :parent #346) #("For a full view of runtime dependencies as defined by GNU Guix, see\nthe " 0 72 (:parent #352)) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 2400 :end 2447 :contents-begin 2425 :contents-end 2445 :post-blank 0 :parent #352) #("GN2 Dependency Graph" 0 20 (:parent #356))) #(".\n" 0 2 (:parent #352))))) (headline (:raw-value "Quick installation recipe" :begin 2450 :end 7633 :pre-blank 1 :contents-begin 2479 :contents-end 7632 :robust-begin 2481 :robust-end 7630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 2450 :title (#("Quick installation recipe" 0 25 (:parent #344))) :mode nil :granularity nil :parent #338) (section (:begin 2479 :end 3022 :contents-begin 2479 :contents-end 3021 :robust-begin 2479 :robust-end 3019 :post-blank 1 :post-affiliated 2479 :mode section :granularity nil :parent #344) (paragraph (:begin 2479 :end 2880 :contents-begin 2479 :contents-end 2879 :post-blank 1 :post-affiliated 2479 :mode planning :granularity nil :parent #347) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS). For more elaborate installation\ninstructions see " 0 357 (:parent #350)) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 2836 :end 2877 :contents-begin 2858 :contents-end 2875 :post-blank 0 :parent #350) #("Source deployment" 0 17 (:parent #354))) #(".\n" 0 2 (:parent #350))) (paragraph (:begin 2880 :end 3021 :contents-begin 2880 :contents-end 3021 :post-blank 0 :post-affiliated 2880 :mode nil :granularity nil :parent #347) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #351)))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 3022 :end 4649 :pre-blank 1 :contents-begin 3051 :contents-end 4648 :robust-begin 3053 :robust-end 4646 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3022 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #348))) :mode nil :granularity nil :parent #344) (section (:begin 3051 :end 4649 :contents-begin 3051 :contents-end 4648 :robust-begin 3051 :robust-end 4646 :post-blank 1 :post-affiliated 3051 :mode section :granularity nil :parent #348) (paragraph (:begin 3051 :end 3504 :contents-begin 3051 :contents-end 3503 :post-blank 1 :post-affiliated 3051 :mode planning :granularity nil :parent #351) #("Fetch the GNU Guix binary from " 0 31 (:parent #354)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 3082 :end 3136 :contents-begin 3129 :contents-end 3133 :post-blank 1 :parent #354) #("here" 0 4 (:parent #358))) #("(middle panel) and follow\n" 0 26 (:parent #354)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 3162 :end 3255 :contents-begin 3241 :contents-end 3253 :post-blank 0 :parent #354) #("instructions" 0 12 (:parent #360))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #354))) (paragraph (:begin 3504 :end 3782 :contents-begin 3504 :contents-end 3781 :post-blank 1 :post-affiliated 3504 :mode nil :granularity nil :parent #351) #("Once you have succeeded, you have to " 0 37 (:parent #355)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 3541 :end 3631 :contents-begin 3617 :contents-end 3628 :post-blank 1 :parent #355) #("set the key" 0 11 (:parent #359))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #355))) (src-block (:language "bash" :switches nil :parameters nil :begin 3782 :end 3890 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 3782 :mode nil :granularity nil :parent #351)) (paragraph (:begin 3890 :end 3924 :contents-begin 3890 :contents-end 3923 :post-blank 1 :post-affiliated 3890 :mode nil :granularity nil :parent #351) #("Which should show something like\n" 0 33 (:parent #357))) (fixed-width (:begin 3924 :end 4034 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 3924 :mode nil :granularity nil :parent #351)) (paragraph (:begin 4034 :end 4045 :contents-begin 4034 :contents-end 4044 :post-blank 1 :post-affiliated 4034 :mode nil :granularity nil :parent #351) #("#+end" 0 5 (:parent #359)) (subscript (:begin 4039 :end 4043 :use-brackets-p nil :contents-begin 4040 :contents-end 4043 :post-blank 0 :parent #359) #("src" 0 3 (:parent #363))) #("\n" 0 1 (:parent #359))) (paragraph (:begin 4045 :end 4116 :contents-begin 4045 :contents-end 4115 :post-blank 1 :post-affiliated 4045 :mode nil :granularity nil :parent #351) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #360))) (src-block (:language "bash" :switches nil :parameters nil :begin 4116 :end 4188 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 4116 :mode nil :granularity nil :parent #351)) (paragraph (:begin 4188 :end 4375 :contents-begin 4188 :contents-end 4374 :post-blank 1 :post-affiliated 4188 :mode nil :granularity nil :parent #351) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #362))) (paragraph (:begin 4375 :end 4648 :contents-begin 4375 :contents-end 4648 :post-blank 0 :post-affiliated 4375 :mode nil :granularity nil :parent #351) #("If you need more help we have another writeup in " 0 49 (:parent #363)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 4424 :end 4520 :contents-begin 4508 :contents-end 4518 :post-blank 0 :parent #363) #("guix-notes" 0 10 (:parent #367))) #(". To get\nrid of the locale warning see " 0 39 (:parent #363)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 4559 :end 4646 :contents-begin 4634 :contents-end 4644 :post-blank 0 :parent #363) #("set-locale" 0 10 (:parent #369))) #(".\n" 0 2 (:parent #363))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 4649 :end 5304 :pre-blank 1 :contents-begin 4695 :contents-end 5302 :robust-begin 4697 :robust-end 5300 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4649 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #349))) :mode nil :granularity nil :parent #344) (section (:begin 4695 :end 5304 :contents-begin 4695 :contents-end 5302 :robust-begin 4695 :robust-end 5300 :post-blank 2 :post-affiliated 4695 :mode section :granularity nil :parent #349) (paragraph (:begin 4695 :end 4815 :contents-begin 4695 :contents-end 4814 :post-blank 1 :post-affiliated 4695 :mode planning :granularity nil :parent #352) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #355))) (src-block (:language "bash" :switches nil :parameters nil :begin 4815 :end 4920 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 4815 :mode nil :granularity nil :parent #352)) (paragraph (:begin 4920 :end 4971 :contents-begin 4920 :contents-end 4970 :post-blank 1 :post-affiliated 4920 :mode nil :granularity nil :parent #352) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #357))) (paragraph (:begin 4971 :end 5232 :contents-begin 4971 :contents-end 5231 :post-blank 1 :post-affiliated 4971 :mode nil :granularity nil :parent #352) #("#+begin" 0 7 (:parent #358)) (subscript (:begin 4978 :end 4983 :use-brackets-p nil :contents-begin 4979 :contents-end 4982 :post-blank 1 :parent #358) #("src" 0 3 (:parent #362))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #358)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 5055 :end 5105 :contents-begin nil :contents-end nil :post-blank 0 :parent #358)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #358)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 5147 :end 5183 :contents-begin nil :contents-end nil :post-blank 1 :parent #358)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #358)) (subscript (:begin 5221 :end 5226 :use-brackets-p nil :contents-begin 5222 :contents-end 5225 :post-blank 1 :parent #358) #("src" 0 3 (:parent #368))) #("bash\n" 0 5 (:parent #358))) (paragraph (:begin 5232 :end 5270 :contents-begin 5232 :contents-end 5269 :post-blank 1 :post-affiliated 5232 :mode nil :granularity nil :parent #352) #("To test whether this is working try:\n" 0 37 (:parent #359))) (paragraph (:begin 5270 :end 5302 :contents-begin 5270 :contents-end 5302 :post-blank 0 :post-affiliated 5270 :mode nil :granularity nil :parent #352) #("#+begin" 0 7 (:parent #360)) (subscript (:begin 5277 :end 5282 :use-brackets-p nil :contents-begin 5278 :contents-end 5281 :post-blank 1 :parent #360) #("src" 0 3 (:parent #364))) #("bash\n#+end" 0 10 (:parent #360)) (subscript (:begin 5292 :end 5297 :use-brackets-p nil :contents-begin 5293 :contents-end 5296 :post-blank 1 :parent #360) #("src" 0 3 (:parent #366))) #("bash\n" 0 5 (:parent #360))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 5304 :end 5755 :pre-blank 1 :contents-begin 5345 :contents-end 5754 :robust-begin 5347 :robust-end 5752 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5304 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #350))) :mode nil :granularity nil :parent #344) (section (:begin 5345 :end 5755 :contents-begin 5345 :contents-end 5754 :robust-begin 5345 :robust-end 5752 :post-blank 1 :post-affiliated 5345 :mode section :granularity nil :parent #350) (paragraph (:begin 5345 :end 5445 :contents-begin 5345 :contents-end 5444 :post-blank 1 :post-affiliated 5345 :mode planning :granularity nil :parent #353) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #356))) (src-block (:language "scheme" :switches nil :parameters nil :begin 5445 :end 5589 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 5445 :mode nil :granularity nil :parent #353)) (paragraph (:begin 5589 :end 5621 :contents-begin 5589 :contents-end 5620 :post-blank 1 :post-affiliated 5589 :mode nil :granularity nil :parent #353) #("by pasting it into the command\n" 0 31 (:parent #358))) (src-block (:language "bash" :switches nil :parameters nil :begin 5621 :end 5674 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 5621 :mode nil :granularity nil :parent #353)) (paragraph (:begin 5674 :end 5691 :contents-begin 5674 :contents-end 5690 :post-blank 1 :post-affiliated 5674 :mode nil :granularity nil :parent #353) #("and hit Ctrl-D.\n" 0 16 (:parent #360))) (paragraph (:begin 5691 :end 5754 :contents-begin 5691 :contents-end 5754 :post-blank 0 :post-affiliated 5691 :mode nil :granularity nil :parent #353) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #361))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 5755 :end 7633 :pre-blank 1 :contents-begin 5787 :contents-end 7632 :robust-begin 5789 :robust-end 7630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5755 :title (#("Step 4: Install and run GN2" 0 27 (:parent #351))) :mode nil :granularity nil :parent #344) (section (:begin 5787 :end 7633 :contents-begin 5787 :contents-end 7632 :robust-begin 5787 :robust-end 7630 :post-blank 1 :post-affiliated 5787 :mode section :granularity nil :parent #351) (paragraph (:begin 5787 :end 5927 :contents-begin 5787 :contents-end 5926 :post-blank 1 :post-affiliated 5787 :mode planning :granularity nil :parent #354) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #357))) (src-block (:language "bash" :switches nil :parameters nil :begin 5927 :end 6046 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 5927 :mode nil :granularity nil :parent #354)) (paragraph (:begin 6046 :end 6099 :contents-begin 6046 :contents-end 6098 :post-blank 1 :post-affiliated 6046 :mode nil :granularity nil :parent #354) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #359))) (src-block (:language "bash" :switches nil :parameters nil :begin 6099 :end 6289 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 6099 :mode nil :granularity nil :parent #354)) (paragraph (:begin 6289 :end 6398 :contents-begin 6289 :contents-end 6397 :post-blank 1 :post-affiliated 6289 :mode nil :granularity nil :parent #354) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #361)) (italic (:begin 6360 :end 6366 :post-blank 0 :contents-begin 6361 :contents-end 6365 :parent #361) #("root" 0 4 (:parent #365))) #(".config/guix/latest override).\n" 0 31 (:parent #361))) (paragraph (:begin 6398 :end 6416 :contents-begin 6398 :contents-end 6415 :post-blank 1 :post-affiliated 6398 :mode nil :granularity nil :parent #354) #("And install with\n" 0 17 (:parent #362))) (src-block (:language "bash" :switches nil :parameters nil :begin 6416 :end 6586 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 6416 :mode nil :granularity nil :parent #354)) (paragraph (:begin 6586 :end 6729 :contents-begin 6586 :contents-end 6728 :post-blank 1 :post-affiliated 6586 :mode nil :granularity nil :parent #354) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #364))) (paragraph (:begin 6729 :end 6925 :contents-begin 6729 :contents-end 6924 :post-blank 1 :post-affiliated 6729 :mode nil :granularity nil :parent #354) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #365))) (paragraph (:begin 6925 :end 7056 :contents-begin 6925 :contents-end 7055 :post-blank 1 :post-affiliated 6925 :mode nil :granularity nil :parent #354) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #366))) (src-block (:language "bash" :switches nil :parameters nil :begin 7056 :end 7235 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python2.7/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 7056 :mode nil :granularity nil :parent #354)) (paragraph (:begin 7235 :end 7304 :contents-begin 7235 :contents-end 7303 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #354) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #368))) (src-block (:language "bash" :switches nil :parameters nil :begin 7304 :end 7345 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 7304 :mode nil :granularity nil :parent #354)) (paragraph (:begin 7345 :end 7596 :contents-begin 7345 :contents-end 7595 :post-blank 1 :post-affiliated 7345 :mode nil :granularity nil :parent #354) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #370)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 7567 :end 7593 :contents-begin nil :contents-end nil :post-blank 0 :parent #370)) #(".\n" 0 2 (:parent #370))) (paragraph (:begin 7596 :end 7632 :contents-begin 7596 :contents-end 7632 :post-blank 0 :post-affiliated 7596 :mode nil :granularity nil :parent #354) #("End of the GN2 installation recipe!\n" 0 36 (:parent #371)))))) (headline (:raw-value "Run MySQL server" :begin 7633 :end 9008 :pre-blank 1 :contents-begin 7653 :contents-end 9007 :robust-begin 7655 :robust-end 9005 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7633 :title (#("Run MySQL server" 0 16 (:parent #345))) :mode nil :granularity nil :parent #338) (section (:begin 7653 :end 9008 :contents-begin 7653 :contents-end 9007 :robust-begin 7653 :robust-end 9005 :post-blank 1 :post-affiliated 7653 :mode section :granularity nil :parent #345) (paragraph (:begin 7653 :end 7928 :contents-begin 7653 :contents-end 7927 :post-blank 1 :post-affiliated 7653 :mode planning :granularity nil :parent #348) #("At this point we require the underlying distribution to install and\nrun mysqld. Currently we have two databases for deployment,\n'db" 0 131 (:parent #351)) (subscript (:begin 7784 :end 7791 :use-brackets-p nil :contents-begin 7785 :contents-end 7791 :post-blank 0 :parent #351) #("webqtl" 0 6 (:parent #355))) (subscript (:begin 7791 :end 7793 :use-brackets-p nil :contents-begin 7792 :contents-end 7793 :post-blank 0 :parent #351) #("s" 0 1 (:parent #356))) #("' is the small testing database containing experiments\nfrom BXD mice and 'db" 0 76 (:parent #351)) (subscript (:begin 7869 :end 7876 :use-brackets-p nil :contents-begin 7870 :contents-end 7876 :post-blank 0 :parent #351) #("webqtl" 0 6 (:parent #358))) (subscript (:begin 7876 :end 7882 :use-brackets-p nil :contents-begin 7877 :contents-end 7882 :post-blank 0 :parent #351) #("plant" 0 5 (:parent #359))) #("' which contains all plant related\nmaterial.\n" 0 45 (:parent #351))) (paragraph (:begin 7928 :end 7956 :contents-begin 7928 :contents-end 7955 :post-blank 1 :post-affiliated 7928 :mode nil :granularity nil :parent #348) #("Download one database from\n" 0 27 (:parent #352))) (paragraph (:begin 7956 :end 8054 :contents-begin 7956 :contents-end 8053 :post-blank 1 :post-affiliated 7956 :mode nil :granularity nil :parent #348) (link (:type "http" :path "//files.genenetwork.org/raw_database/" :format plain :raw-link "http://files.genenetwork.org/raw_database/" :application nil :search-option nil :begin 7956 :end 7998 :contents-begin nil :contents-end nil :post-blank 0 :parent #353)) #("\n" 0 1 (:parent #353)) (link (:type "https" :path "//s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :format plain :raw-link "https://s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :application nil :search-option nil :begin 7999 :end 8052 :contents-begin nil :contents-end nil :post-blank 0 :parent #353)) #("\n" 0 1 (:parent #353))) (paragraph (:begin 8054 :end 8073 :contents-begin 8054 :contents-end 8072 :post-blank 1 :post-affiliated 8054 :mode nil :granularity nil :parent #348) #("Check the md5sum.\n" 0 18 (:parent #354))) (paragraph (:begin 8073 :end 8195 :contents-begin 8073 :contents-end 8194 :post-blank 1 :post-affiliated 8073 :mode nil :granularity nil :parent #348) #("After installation inflate the database binary in the MySQL directory\n(this installation path is subject to change soon)\n" 0 121 (:parent #355))) (fixed-width (:begin 8195 :end 8283 :value "chown -R mysql:mysql db_webqtl_s/\nchmod 700 db_webqtl_s/\nchmod 660 db_webqtl_s/*" :post-blank 2 :post-affiliated 8195 :mode nil :granularity nil :parent #348)) (paragraph (:begin 8283 :end 8334 :contents-begin 8283 :contents-end 8333 :post-blank 1 :post-affiliated 8283 :mode nil :granularity nil :parent #348) #("restart MySQL service (mysqld). Login as root and\n" 0 50 (:parent #357))) (fixed-width (:begin 8334 :end 8560 :value "mysql> show databases;\n+--------------------+\n| Database |\n+--------------------+\n| information_schema |\n| db_webqtl_s |\n| mysql |\n| performance_schema |\n+--------------------+" :post-blank 2 :post-affiliated 8334 :mode nil :granularity nil :parent #348)) (paragraph (:begin 8560 :end 8625 :contents-begin 8560 :contents-end 8624 :post-blank 1 :post-affiliated 8560 :mode nil :granularity nil :parent #348) #("Set permissions and match password in your settings file below:\n" 0 64 (:parent #359))) (fixed-width (:begin 8625 :end 8724 :value "mysql> grant all privileges on db_webqtl_s.* to gn2@\"localhost\" identified by 'mysql_password';" :post-blank 2 :post-affiliated 8625 :mode nil :granularity nil :parent #348)) (paragraph (:begin 8724 :end 8875 :contents-begin 8724 :contents-end 8874 :post-blank 1 :post-affiliated 8724 :mode nil :granularity nil :parent #348) #("Note that if the mysql connection is not working, try connecting to\nthe IP address and check server firewall, hosts.allow and mysql IP\nconfiguration.\n" 0 150 (:parent #361))) (paragraph (:begin 8875 :end 9007 :contents-begin 8875 :contents-end 9007 :post-blank 0 :post-affiliated 8875 :mode nil :granularity nil :parent #348) #("Note for the plant database you can rename it to db" 0 51 (:parent #362)) (subscript (:begin 8926 :end 8933 :use-brackets-p nil :contents-begin 8927 :contents-end 8933 :post-blank 0 :parent #362) #("webqtl" 0 6 (:parent #366))) (subscript (:begin 8933 :end 8935 :use-brackets-p nil :contents-begin 8934 :contents-end 8935 :post-blank 0 :parent #362) #("s" 0 1 (:parent #367))) #(", or\nchange the settings in etc/default" 0 39 (:parent #362)) (subscript (:begin 8974 :end 8987 :use-brackets-p nil :contents-begin 8975 :contents-end 8986 :post-blank 1 :parent #362) #("settings.py" 0 11 (:parent #369))) #("to match your path.\n" 0 20 (:parent #362))))) (headline (:raw-value "GN2 Dependency Graph" :begin 9008 :end 9172 :pre-blank 1 :contents-begin 9032 :contents-end 9171 :robust-begin 9034 :robust-end 9169 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9008 :title (#("GN2 Dependency Graph" 0 20 (:parent #346))) :mode nil :granularity nil :parent #338) (section (:begin 9032 :end 9172 :contents-begin 9032 :contents-end 9171 :robust-begin 9032 :robust-end 9169 :post-blank 1 :post-affiliated 9032 :mode section :granularity nil :parent #346) (paragraph (:begin 9032 :end 9093 :contents-begin 9032 :contents-end 9092 :post-blank 1 :post-affiliated 9032 :mode planning :granularity nil :parent #349) #("Graph of all runtime dependencies as installed by GNU Guix.\n" 0 60 (:parent #352))) (paragraph (:begin 9093 :end 9171 :contents-begin 9123 :contents-end 9171 :post-blank 0 :post-affiliated 9123 :attr_html (":title GN2_graph") :mode nil :granularity nil :parent #349) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg" :format plain :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg" :application nil :search-option nil :begin 9123 :end 9170 :contents-begin nil :contents-end nil :post-blank 0 :parent #353)) #("\n" 0 1 (:parent #353))))) (headline (:raw-value "Source deployment" :begin 9172 :end 12840 :pre-blank 1 :contents-begin 9193 :contents-end 12839 :robust-begin 9195 :robust-end 12837 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9172 :title (#("Source deployment" 0 17 (:parent #347))) :mode nil :granularity nil :parent #338) (section (:begin 9193 :end 9612 :contents-begin 9193 :contents-end 9610 :robust-begin 9193 :robust-end 9608 :post-blank 2 :post-affiliated 9193 :mode section :granularity nil :parent #347) (paragraph (:begin 9193 :end 9274 :contents-begin 9193 :contents-end 9273 :post-blank 1 :post-affiliated 9193 :mode planning :granularity nil :parent #350) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #353))) (paragraph (:begin 9274 :end 9304 :contents-begin 9274 :contents-end 9303 :post-blank 1 :post-affiliated 9274 :mode nil :granularity nil :parent #350) #("First execute above 4 steps:\n" 0 29 (:parent #354))) (plain-list (:type unordered :begin 9304 :end 9610 :contents-begin 9304 :contents-end 9610 :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :post-blank 0 :post-affiliated 9304 :mode nil :granularity nil :parent #350) (item (:bullet "- " :begin 9304 :end 9364 :contents-begin 9309 :contents-end 9364 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9304 :tag nil :mode item :granularity nil :parent #355) (paragraph (:begin 9309 :end 9364 :contents-begin 9309 :contents-end 9364 :post-blank 0 :post-affiliated 9309 :mode nil :granularity nil :parent #358) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 9309 :end 9363 :contents-begin 9337 :contents-end 9361 :post-blank 0 :parent #361) #("Step 1: Install GNU Guix" 0 24 (:parent #364))) #("\n" 0 1 (:parent #361)))) (item (:bullet "- " :begin 9364 :end 9458 :contents-begin 9369 :contents-end 9458 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9364 :tag nil :mode item :granularity nil :parent #355) (paragraph (:begin 9369 :end 9458 :contents-begin 9369 :contents-end 9458 :post-blank 0 :post-affiliated 9369 :mode nil :granularity nil :parent #359) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 9369 :end 9457 :contents-begin 9414 :contents-end 9455 :post-blank 0 :parent #362) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #365))) #("\n" 0 1 (:parent #362)))) (item (:bullet "- " :begin 9458 :end 9542 :contents-begin 9463 :contents-end 9542 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9458 :tag nil :mode item :granularity nil :parent #355) (paragraph (:begin 9463 :end 9542 :contents-begin 9463 :contents-end 9542 :post-blank 0 :post-affiliated 9463 :mode nil :granularity nil :parent #360) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 9463 :end 9541 :contents-begin 9503 :contents-end 9539 :post-blank 0 :parent #363) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #366))) #("\n" 0 1 (:parent #363)))) (item (:bullet "- " :begin 9542 :end 9610 :contents-begin 9547 :contents-end 9610 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9542 :tag nil :mode item :granularity nil :parent #355) (paragraph (:begin 9547 :end 9610 :contents-begin 9547 :contents-end 9610 :post-blank 0 :post-affiliated 9547 :mode nil :granularity nil :parent #361) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 9547 :end 9609 :contents-begin 9579 :contents-end 9607 :post-blank 0 :parent #364) #("Step 4: Install and run GN2 " 0 28 (:parent #367))) #("\n" 0 1 (:parent #364)))))) (headline (:raw-value "Run your own copy of GN2" :begin 9612 :end 10722 :pre-blank 1 :contents-begin 9641 :contents-end 10721 :robust-begin 9643 :robust-end 10719 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9612 :title (#("Run your own copy of GN2" 0 24 (:parent #351))) :mode nil :granularity nil :parent #347) (section (:begin 9641 :end 10722 :contents-begin 9641 :contents-end 10721 :robust-begin 9641 :robust-end 10719 :post-blank 1 :post-affiliated 9641 :mode section :granularity nil :parent #351) (paragraph (:begin 9641 :end 9839 :contents-begin 9641 :contents-end 9838 :post-blank 1 :post-affiliated 9641 :mode planning :granularity nil :parent #354) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #357)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 9793 :end 9836 :contents-begin nil :contents-end nil :post-blank 0 :parent #357)) #(".\n" 0 2 (:parent #357))) (paragraph (:begin 9839 :end 9964 :contents-begin 9839 :contents-end 9963 :post-blank 1 :post-affiliated 9839 :mode nil :granularity nil :parent #354) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #358)) (subscript (:begin 9896 :end 9902 :use-brackets-p nil :contents-begin 9897 :contents-end 9901 :post-blank 1 :parent #358) #("PATH" 0 4 (:parent #362))) #("and\nR" 0 5 (:parent #358)) (subscript (:begin 9907 :end 9912 :use-brackets-p nil :contents-begin 9908 :contents-end 9912 :post-blank 0 :parent #358) #("LIBS" 0 4 (:parent #364))) (subscript (:begin 9912 :end 9918 :use-brackets-p nil :contents-begin 9913 :contents-end 9917 :post-blank 1 :parent #358) #("SITE" 0 4 (:parent #365))) #("are set) from the information given by guix:\n" 0 45 (:parent #358))) (fixed-width (:begin 9964 :end 9995 :value "guix package --search-paths" :post-blank 2 :post-affiliated 9964 :mode nil :granularity nil :parent #354)) (paragraph (:begin 9995 :end 10019 :contents-begin 9995 :contents-end 10018 :post-blank 1 :post-affiliated 9995 :mode nil :granularity nil :parent #354) #("Inside the repository:\n" 0 23 (:parent #360))) (fixed-width (:begin 10019 :end 10059 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 10019 :mode nil :granularity nil :parent #354)) (paragraph (:begin 10059 :end 10303 :contents-begin 10059 :contents-end 10302 :post-blank 1 :post-affiliated 10059 :mode nil :granularity nil :parent #354) #("Will fire up your local repo " 0 29 (:parent #362)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 10088 :end 10111 :contents-begin nil :contents-end nil :post-blank 1 :parent #362)) #("using the\nsettings in ./etc/default" 0 35 (:parent #362)) (subscript (:begin 10146 :end 10158 :use-brackets-p nil :contents-begin 10147 :contents-end 10158 :post-blank 0 :parent #362) #("settings.py" 0 11 (:parent #368))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #362)) (subscript (:begin 10263 :end 10276 :use-brackets-p nil :contents-begin 10264 :contents-end 10275 :post-blank 1 :parent #362) #("settings.py" 0 11 (:parent #370))) #("and pass it into GN2 with\n" 0 26 (:parent #362))) (fixed-width (:begin 10303 :end 10346 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 10303 :mode nil :granularity nil :parent #354)) (paragraph (:begin 10346 :end 10492 :contents-begin 10346 :contents-end 10491 :post-blank 1 :post-affiliated 10346 :mode nil :granularity nil :parent #354) #("and everything " 0 15 (:parent #364)) (bold (:begin 10361 :end 10370 :post-blank 1 :contents-begin 10362 :contents-end 10368 :parent #364) #("should" 0 6 (:parent #368))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #364))) (paragraph (:begin 10492 :end 10620 :contents-begin 10492 :contents-end 10619 :post-blank 1 :post-affiliated 10492 :mode nil :granularity nil :parent #354) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #365))) (fixed-width (:begin 10620 :end 10721 :value "cat ~/.guix-profile/lib/python2.7/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 10620 :mode nil :granularity nil :parent #354)))) (headline (:raw-value "Set up nginx port forwarding" :begin 10722 :end 12840 :pre-blank 1 :contents-begin 10755 :contents-end 12839 :robust-begin 10757 :robust-end 12837 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 10722 :title (#("Set up nginx port forwarding" 0 28 (:parent #352))) :mode nil :granularity nil :parent #347) (section (:begin 10755 :end 12840 :contents-begin 10755 :contents-end 12839 :robust-begin 10755 :robust-end 12837 :post-blank 1 :post-affiliated 10755 :mode section :granularity nil :parent #352) (paragraph (:begin 10755 :end 10923 :contents-begin 10755 :contents-end 10922 :post-blank 1 :post-affiliated 10755 :mode planning :granularity nil :parent #355) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #358))) (paragraph (:begin 10923 :end 11063 :contents-begin 10923 :contents-end 11062 :post-blank 1 :post-affiliated 10923 :mode nil :granularity nil :parent #355) #("#+begin" 0 7 (:parent #359)) (subscript (:begin 10930 :end 10935 :use-brackets-p nil :contents-begin 10931 :contents-end 10934 :post-blank 1 :parent #359) #("src" 0 3 (:parent #363))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #359)) (subscript (:begin 10984 :end 10990 :use-brackets-p nil :contents-begin 10985 :contents-end 10989 :post-blank 1 :parent #359) #("name" 0 4 (:parent #365))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #359)) (subscript (:begin 11030 :end 11036 :use-brackets-p nil :contents-begin 11031 :contents-end 11034 :post-blank 2 :parent #359) #("log" 0 3 (:parent #367))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #359))) (paragraph (:begin 11063 :end 11232 :contents-begin 11063 :contents-end 11231 :post-blank 1 :post-affiliated 11063 :mode nil :granularity nil :parent #355) #(" proxy" 0 13 (:parent #360)) (subscript (:begin 11076 :end 11084 :use-brackets-p nil :contents-begin 11077 :contents-end 11084 :post-blank 0 :parent #360) #("connect" 0 7 (:parent #364))) (subscript (:begin 11084 :end 11099 :use-brackets-p nil :contents-begin 11085 :contents-end 11092 :post-blank 7 :parent #360) #("timeout" 0 7 (:parent #365))) #("3000;\n proxy" 0 19 (:parent #360)) (subscript (:begin 11118 :end 11123 :use-brackets-p nil :contents-begin 11119 :contents-end 11123 :post-blank 0 :parent #360) #("send" 0 4 (:parent #367))) (subscript (:begin 11123 :end 11141 :use-brackets-p nil :contents-begin 11124 :contents-end 11131 :post-blank 10 :parent #360) #("timeout" 0 7 (:parent #368))) #("3000;\n proxy" 0 19 (:parent #360)) (subscript (:begin 11160 :end 11165 :use-brackets-p nil :contents-begin 11161 :contents-end 11165 :post-blank 0 :parent #360) #("read" 0 4 (:parent #370))) (subscript (:begin 11165 :end 11183 :use-brackets-p nil :contents-begin 11166 :contents-end 11173 :post-blank 10 :parent #360) #("timeout" 0 7 (:parent #371))) #("3000;\n send" 0 18 (:parent #360)) (subscript (:begin 11201 :end 11225 :use-brackets-p nil :contents-begin 11202 :contents-end 11209 :post-blank 16 :parent #360) #("timeout" 0 7 (:parent #373))) #("3000;\n" 0 6 (:parent #360))) (paragraph (:begin 11232 :end 11632 :contents-begin 11232 :contents-end 11631 :post-blank 1 :post-affiliated 11232 :mode nil :granularity nil :parent #355) #(" location / {\n proxy" 0 38 (:parent #361)) (subscript (:begin 11270 :end 11274 :use-brackets-p nil :contents-begin 11271 :contents-end 11274 :post-blank 0 :parent #361) #("set" 0 3 (:parent #365))) (subscript (:begin 11274 :end 11284 :use-brackets-p nil :contents-begin 11275 :contents-end 11281 :post-blank 3 :parent #361) #("header" 0 6 (:parent #366))) #("Host $http" 0 15 (:parent #361)) (subscript (:begin 11299 :end 11304 :use-brackets-p nil :contents-begin 11300 :contents-end 11304 :post-blank 0 :parent #361) #("host" 0 4 (:parent #368))) #(";\n proxy" 0 19 (:parent #361)) (subscript (:begin 11323 :end 11327 :use-brackets-p nil :contents-begin 11324 :contents-end 11327 :post-blank 0 :parent #361) #("set" 0 3 (:parent #370))) (subscript (:begin 11327 :end 11337 :use-brackets-p nil :contents-begin 11328 :contents-end 11334 :post-blank 3 :parent #361) #("header" 0 6 (:parent #371))) #("Connection keep-alive;\n proxy" 0 40 (:parent #361)) (subscript (:begin 11377 :end 11381 :use-brackets-p nil :contents-begin 11378 :contents-end 11381 :post-blank 0 :parent #361) #("set" 0 3 (:parent #373))) (subscript (:begin 11381 :end 11391 :use-brackets-p nil :contents-begin 11382 :contents-end 11388 :post-blank 3 :parent #361) #("header" 0 6 (:parent #374))) #("X-Real-IP $remote" 0 17 (:parent #361)) (subscript (:begin 11408 :end 11413 :use-brackets-p nil :contents-begin 11409 :contents-end 11413 :post-blank 0 :parent #361) #("addr" 0 4 (:parent #376))) #(";\n proxy" 0 19 (:parent #361)) (subscript (:begin 11432 :end 11436 :use-brackets-p nil :contents-begin 11433 :contents-end 11436 :post-blank 0 :parent #361) #("set" 0 3 (:parent #378))) (subscript (:begin 11436 :end 11446 :use-brackets-p nil :contents-begin 11437 :contents-end 11443 :post-blank 3 :parent #361) #("header" 0 6 (:parent #379))) #("X-Forwarded-For $proxy" 0 22 (:parent #361)) (subscript (:begin 11468 :end 11472 :use-brackets-p nil :contents-begin 11469 :contents-end 11472 :post-blank 0 :parent #361) #("add" 0 3 (:parent #381))) (subscript (:begin 11472 :end 11474 :use-brackets-p nil :contents-begin 11473 :contents-end 11474 :post-blank 0 :parent #361) #("x" 0 1 (:parent #382))) (subscript (:begin 11474 :end 11484 :use-brackets-p nil :contents-begin 11475 :contents-end 11484 :post-blank 0 :parent #361) #("forwarded" 0 9 (:parent #383))) (subscript (:begin 11484 :end 11488 :use-brackets-p nil :contents-begin 11485 :contents-end 11488 :post-blank 0 :parent #361) #("for" 0 3 (:parent #384))) #(";\n proxy" 0 19 (:parent #361)) (subscript (:begin 11507 :end 11511 :use-brackets-p nil :contents-begin 11508 :contents-end 11511 :post-blank 0 :parent #361) #("set" 0 3 (:parent #386))) (subscript (:begin 11511 :end 11521 :use-brackets-p nil :contents-begin 11512 :contents-end 11518 :post-blank 3 :parent #361) #("header" 0 6 (:parent #387))) #("X-Forwarded-Host $server" 0 24 (:parent #361)) (subscript (:begin 11545 :end 11550 :use-brackets-p nil :contents-begin 11546 :contents-end 11550 :post-blank 0 :parent #361) #("name" 0 4 (:parent #389))) #(";\n proxy" 0 19 (:parent #361)) (subscript (:begin 11569 :end 11583 :use-brackets-p nil :contents-begin 11570 :contents-end 11574 :post-blank 9 :parent #361) #("pass" 0 4 (:parent #391))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 11583 :end 11604 :contents-begin nil :contents-end nil :post-blank 0 :parent #361)) #(";\n }\n}\n#+end" 0 19 (:parent #361)) (subscript (:begin 11623 :end 11628 :use-brackets-p nil :contents-begin 11624 :contents-end 11627 :post-blank 1 :parent #361) #("src" 0 3 (:parent #394))) #("js\n" 0 3 (:parent #361))) (paragraph (:begin 11632 :end 11671 :contents-begin 11632 :contents-end 11670 :post-blank 1 :post-affiliated 11632 :mode nil :granularity nil :parent #355) #("Install the nginx webserver (as root)\n" 0 38 (:parent #362))) (fixed-width (:begin 11671 :end 11696 :value "guix package -i nginx" :post-blank 2 :post-affiliated 11671 :mode nil :granularity nil :parent #355)) (paragraph (:begin 11696 :end 11777 :contents-begin 11696 :contents-end 11776 :post-blank 1 :post-affiliated 11696 :mode nil :granularity nil :parent #355) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #364))) (fixed-width (:begin 11777 :end 11964 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 11777 :mode nil :granularity nil :parent #355)) (paragraph (:begin 11964 :end 11979 :contents-begin 11964 :contents-end 11978 :post-blank 1 :post-affiliated 11964 :mode nil :granularity nil :parent #355) #("Use that path\n" 0 14 (:parent #366))) (fixed-width (:begin 11979 :end 12373 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 11979 :mode nil :granularity nil :parent #355)) (paragraph (:begin 12373 :end 12599 :contents-begin 12373 :contents-end 12599 :post-blank 0 :post-affiliated 12373 :mode nil :granularity nil :parent #355) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #368))) (fixed-width (:begin 12599 :end 12646 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 12599 :mode nil :granularity nil :parent #355)) (paragraph (:begin 12646 :end 12657 :contents-begin 12646 :contents-end 12656 :post-blank 1 :post-affiliated 12646 :mode nil :granularity nil :parent #355) #("Make dirs\n" 0 10 (:parent #370))) (fixed-width (:begin 12657 :end 12691 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 12657 :mode nil :granularity nil :parent #355)) (paragraph (:begin 12691 :end 12702 :contents-begin 12691 :contents-end 12701 :post-blank 1 :post-affiliated 12691 :mode nil :granularity nil :parent #355) #("Add users\n" 0 10 (:parent #372))) (fixed-width (:begin 12702 :end 12738 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 12702 :mode nil :granularity nil :parent #355)) (paragraph (:begin 12738 :end 12749 :contents-begin 12738 :contents-end 12748 :post-blank 1 :post-affiliated 12738 :mode nil :granularity nil :parent #355) #("Run nginx\n" 0 10 (:parent #374))) (fixed-width (:begin 12749 :end 12839 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 12749 :mode nil :granularity nil :parent #355))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 12840 :end 13801 :pre-blank 1 :contents-begin 12902 :contents-end 13801 :robust-begin 12904 :robust-end 13799 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12840 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #348))) :mode nil :granularity nil :parent #338) (section (:begin 12902 :end 12959 :contents-begin 12902 :contents-end 12958 :robust-begin 12902 :robust-end 12956 :post-blank 1 :post-affiliated 12902 :mode section :granularity nil :parent #348) (paragraph (:begin 12902 :end 12958 :contents-begin 12902 :contents-end 12958 :post-blank 0 :post-affiliated 12902 :mode planning :granularity nil :parent #351) #("See the document " 0 17 (:parent #354)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 12919 :end 12956 :contents-begin nil :contents-end nil :post-blank 0 :parent #354)) #(".\n" 0 2 (:parent #354)))) (headline (:raw-value "Update to recent guix" :begin 12959 :end 13409 :pre-blank 1 :contents-begin 12985 :contents-end 13408 :robust-begin 12987 :robust-end 13406 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12959 :title (#("Update to recent guix" 0 21 (:parent #352))) :mode nil :granularity nil :parent #348) (section (:begin 12985 :end 13409 :contents-begin 12985 :contents-end 13408 :robust-begin 12985 :robust-end 13406 :post-blank 1 :post-affiliated 12985 :mode section :granularity nil :parent #352) (paragraph (:begin 12985 :end 13020 :contents-begin 12985 :contents-end 13019 :post-blank 1 :post-affiliated 12985 :mode planning :granularity nil :parent #355) #("We now compile Guix from scratch.\n" 0 34 (:parent #358))) (paragraph (:begin 13020 :end 13295 :contents-begin 13020 :contents-end 13294 :post-blank 1 :post-affiliated 13020 :mode nil :granularity nil :parent #355) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #359)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 13159 :end 13272 :contents-begin 13264 :contents-end 13269 :post-blank 1 :parent #359) #("these" 0 5 (:parent #363))) #("steps carefully after\n" 0 22 (:parent #359))) (fixed-width (:begin 13295 :end 13330 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 13295 :mode nil :granularity nil :parent #355)) (paragraph (:begin 13330 :end 13408 :contents-begin 13330 :contents-end 13408 :post-blank 0 :post-affiliated 13330 :mode nil :granularity nil :parent #355) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #361))))) (headline (:raw-value "Install GN2" :begin 13409 :end 13801 :pre-blank 1 :contents-begin 13425 :contents-end 13801 :robust-begin 13427 :robust-end 13799 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 13409 :title (#("Install GN2" 0 11 (:parent #353))) :mode nil :granularity nil :parent #348) (section (:begin 13425 :end 13801 :contents-begin 13425 :contents-end 13801 :robust-begin 13425 :robust-end 13799 :post-blank 0 :post-affiliated 13425 :mode section :granularity nil :parent #353) (paragraph (:begin 13425 :end 13468 :contents-begin 13425 :contents-end 13467 :post-blank 1 :post-affiliated 13425 :mode planning :granularity nil :parent #356) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #359))) (paragraph (:begin 13468 :end 13676 :contents-begin 13468 :contents-end 13675 :post-blank 1 :post-affiliated 13468 :mode nil :granularity nil :parent #356) #("#+begin" 0 7 (:parent #360)) (subscript (:begin 13475 :end 13480 :use-brackets-p nil :contents-begin 13476 :contents-end 13479 :post-blank 1 :parent #360) #("src" 0 3 (:parent #364))) #("bash\nenv GUIX" 0 13 (:parent #360)) (subscript (:begin 13493 :end 13501 :use-brackets-p nil :contents-begin 13494 :contents-end 13501 :post-blank 0 :parent #360) #("PACKAGE" 0 7 (:parent #366))) (subscript (:begin 13501 :end 13506 :use-brackets-p nil :contents-begin 13502 :contents-end 13506 :post-blank 0 :parent #360) #("PATH" 0 4 (:parent #367))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #360)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 13605 :end 13633 :contents-begin nil :contents-end nil :post-blank 1 :parent #360)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 13633 :end 13658 :contents-begin nil :contents-end nil :post-blank 0 :parent #360)) #("\"\n#+end" 0 7 (:parent #360)) (subscript (:begin 13665 :end 13670 :use-brackets-p nil :contents-begin 13666 :contents-end 13669 :post-blank 1 :parent #360) #("src" 0 3 (:parent #372))) #("bash\n" 0 5 (:parent #360))) (paragraph (:begin 13676 :end 13714 :contents-begin 13676 :contents-end 13713 :post-blank 1 :post-affiliated 13676 :mode nil :granularity nil :parent #356) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #361))) (paragraph (:begin 13714 :end 13801 :contents-begin 13714 :contents-end 13801 :post-blank 0 :post-affiliated 13714 :mode nil :granularity nil :parent #356) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #362))))))) :headline-offset 0 :headline-numbering nil :id-alist nil :citations nil :id-local-cache #)) #f(compiled-function (element) #)((item (:bullet "- " :begin 121 :end 156 :contents-begin 124 :contents-end 156 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 121 :tag nil :mode item :granularity nil :parent (plain-list (:type unordered :begin 121 :end 1403 :contents-begin 121 :contents-end 1403 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 121 :mode planning :granularity nil :parent (section (:begin 121 :end 1404 :contents-begin 121 :contents-end 1403 :robust-begin 121 :robust-end 1401 :post-blank 1 :post-affiliated 121 :mode section :granularity nil :parent (headline (:raw-value "Table of Contents" :begin 43 :end 1404 :pre-blank 0 :contents-begin 121 :contents-end 1403 :robust-begin 123 :robust-end 1401 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 43 :title (#("Table of Contents" 0 17 (:parent #80))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13801 :end 13801 :robust-begin 3 :robust-end 13799 :post-blank 0 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 43 :contents-begin 1 :contents-end 42 :robust-begin 1 :robust-end 40 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #126) (keyword (:key "TITLE" :value "Installing GeneNetwork services" :begin 1 :end 42 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #129))) #80 (headline (:raw-value "Introduction" :begin 1404 :end 2450 :pre-blank 1 :contents-begin 1420 :contents-end 2449 :robust-begin 1422 :robust-end 2447 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1404 :title (#("Introduction" 0 12 (:parent #131))) :mode nil :granularity nil :parent #126) (section (:begin 1420 :end 2450 :contents-begin 1420 :contents-end 2449 :robust-begin 1420 :robust-end 2447 :post-blank 1 :post-affiliated 1420 :mode section :granularity nil :parent #131) (paragraph (:begin 1420 :end 1557 :contents-begin 1420 :contents-end 1556 :post-blank 1 :post-affiliated 1420 :mode planning :granularity nil :parent #134) #("If you want to understand the architecture of GN2 read\n" 0 55 (:parent #137)) (link (:type "fuzzy" :path "Architecture.org" :format bracket :raw-link "Architecture.org" :application nil :search-option nil :begin 1475 :end 1495 :contents-begin nil :contents-end nil :post-blank 0 :parent #137)) #(". The rest of this document is mostly on deployment\nof GN2.\n" 0 61 (:parent #137))) (paragraph (:begin 1557 :end 1943 :contents-begin 1557 :contents-end 1942 :post-blank 1 :post-affiliated 1557 :mode nil :granularity nil :parent #134) #("Large system deployments can get very " 0 38 (:parent #138)) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg " :format bracket :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg " :application nil :search-option nil :begin 1595 :end 1656 :contents-begin 1647 :contents-end 1654 :post-blank 0 :parent #138) #("complex" 0 7 (:parent #142))) #(". In this document we\nexplain the GeneNetwork version 2 (GN2) reproducible deployment system\nwhich is based on GNU Guix (see also " 0 130 (:parent #138)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1786 :end 1860 :contents-begin 1848 :contents-end 1858 :post-blank 0 :parent #138) #("Guix-notes" 0 10 (:parent #144))) #("). The Guix\nsystem can be used to install GN with all its files and dependencies.\n" 0 82 (:parent #138))) (paragraph (:begin 1943 :end 2328 :contents-begin 1943 :contents-end 2327 :post-blank 1 :post-affiliated 1943 :mode nil :granularity nil :parent #134) #("The official installation path is from a checked out version of the\nmain Guix package tree and that of the Genenetwork package\ntree. Current supported versions can be found as the SHA values of\n'gn-latest' branches of " 0 218 (:parent #139)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :application nil :search-option nil :begin 2161 :end 2252 :contents-begin 2230 :contents-end 2249 :post-blank 1 :parent #139) #("Guix bioinformatics" 0 19 (:parent #143))) #("and " 0 4 (:parent #139)) (link (:type "https" :path "//github.com/genenetwork/guix/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix/tree/gn-latest" :application nil :search-option nil :begin 2256 :end 2325 :contents-begin 2310 :contents-end 2323 :post-blank 0 :parent #139) #("GNU Guix main" 0 13 (:parent #145))) #(".\n" 0 2 (:parent #139))) (paragraph (:begin 2328 :end 2449 :contents-begin 2328 :contents-end 2449 :post-blank 0 :post-affiliated 2328 :mode nil :granularity nil :parent #134) #("For a full view of runtime dependencies as defined by GNU Guix, see\nthe " 0 72 (:parent #140)) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 2400 :end 2447 :contents-begin 2425 :contents-end 2445 :post-blank 0 :parent #140) #("GN2 Dependency Graph" 0 20 (:parent #144))) #(".\n" 0 2 (:parent #140))))) (headline (:raw-value "Quick installation recipe" :begin 2450 :end 7633 :pre-blank 1 :contents-begin 2479 :contents-end 7632 :robust-begin 2481 :robust-end 7630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 2450 :title (#("Quick installation recipe" 0 25 (:parent #132))) :mode nil :granularity nil :parent #126) (section (:begin 2479 :end 3022 :contents-begin 2479 :contents-end 3021 :robust-begin 2479 :robust-end 3019 :post-blank 1 :post-affiliated 2479 :mode section :granularity nil :parent #132) (paragraph (:begin 2479 :end 2880 :contents-begin 2479 :contents-end 2879 :post-blank 1 :post-affiliated 2479 :mode planning :granularity nil :parent #135) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS). For more elaborate installation\ninstructions see " 0 357 (:parent #138)) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 2836 :end 2877 :contents-begin 2858 :contents-end 2875 :post-blank 0 :parent #138) #("Source deployment" 0 17 (:parent #142))) #(".\n" 0 2 (:parent #138))) (paragraph (:begin 2880 :end 3021 :contents-begin 2880 :contents-end 3021 :post-blank 0 :post-affiliated 2880 :mode nil :granularity nil :parent #135) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #139)))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 3022 :end 4649 :pre-blank 1 :contents-begin 3051 :contents-end 4648 :robust-begin 3053 :robust-end 4646 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3022 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #136))) :mode nil :granularity nil :parent #132) (section (:begin 3051 :end 4649 :contents-begin 3051 :contents-end 4648 :robust-begin 3051 :robust-end 4646 :post-blank 1 :post-affiliated 3051 :mode section :granularity nil :parent #136) (paragraph (:begin 3051 :end 3504 :contents-begin 3051 :contents-end 3503 :post-blank 1 :post-affiliated 3051 :mode planning :granularity nil :parent #139) #("Fetch the GNU Guix binary from " 0 31 (:parent #142)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 3082 :end 3136 :contents-begin 3129 :contents-end 3133 :post-blank 1 :parent #142) #("here" 0 4 (:parent #146))) #("(middle panel) and follow\n" 0 26 (:parent #142)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 3162 :end 3255 :contents-begin 3241 :contents-end 3253 :post-blank 0 :parent #142) #("instructions" 0 12 (:parent #148))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #142))) (paragraph (:begin 3504 :end 3782 :contents-begin 3504 :contents-end 3781 :post-blank 1 :post-affiliated 3504 :mode nil :granularity nil :parent #139) #("Once you have succeeded, you have to " 0 37 (:parent #143)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 3541 :end 3631 :contents-begin 3617 :contents-end 3628 :post-blank 1 :parent #143) #("set the key" 0 11 (:parent #147))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #143))) (src-block (:language "bash" :switches nil :parameters nil :begin 3782 :end 3890 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 3782 :mode nil :granularity nil :parent #139)) (paragraph (:begin 3890 :end 3924 :contents-begin 3890 :contents-end 3923 :post-blank 1 :post-affiliated 3890 :mode nil :granularity nil :parent #139) #("Which should show something like\n" 0 33 (:parent #145))) (fixed-width (:begin 3924 :end 4034 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 3924 :mode nil :granularity nil :parent #139)) (paragraph (:begin 4034 :end 4045 :contents-begin 4034 :contents-end 4044 :post-blank 1 :post-affiliated 4034 :mode nil :granularity nil :parent #139) #("#+end" 0 5 (:parent #147)) (subscript (:begin 4039 :end 4043 :use-brackets-p nil :contents-begin 4040 :contents-end 4043 :post-blank 0 :parent #147) #("src" 0 3 (:parent #151))) #("\n" 0 1 (:parent #147))) (paragraph (:begin 4045 :end 4116 :contents-begin 4045 :contents-end 4115 :post-blank 1 :post-affiliated 4045 :mode nil :granularity nil :parent #139) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #148))) (src-block (:language "bash" :switches nil :parameters nil :begin 4116 :end 4188 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 4116 :mode nil :granularity nil :parent #139)) (paragraph (:begin 4188 :end 4375 :contents-begin 4188 :contents-end 4374 :post-blank 1 :post-affiliated 4188 :mode nil :granularity nil :parent #139) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #150))) (paragraph (:begin 4375 :end 4648 :contents-begin 4375 :contents-end 4648 :post-blank 0 :post-affiliated 4375 :mode nil :granularity nil :parent #139) #("If you need more help we have another writeup in " 0 49 (:parent #151)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 4424 :end 4520 :contents-begin 4508 :contents-end 4518 :post-blank 0 :parent #151) #("guix-notes" 0 10 (:parent #155))) #(". To get\nrid of the locale warning see " 0 39 (:parent #151)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 4559 :end 4646 :contents-begin 4634 :contents-end 4644 :post-blank 0 :parent #151) #("set-locale" 0 10 (:parent #157))) #(".\n" 0 2 (:parent #151))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 4649 :end 5304 :pre-blank 1 :contents-begin 4695 :contents-end 5302 :robust-begin 4697 :robust-end 5300 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4649 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #137))) :mode nil :granularity nil :parent #132) (section (:begin 4695 :end 5304 :contents-begin 4695 :contents-end 5302 :robust-begin 4695 :robust-end 5300 :post-blank 2 :post-affiliated 4695 :mode section :granularity nil :parent #137) (paragraph (:begin 4695 :end 4815 :contents-begin 4695 :contents-end 4814 :post-blank 1 :post-affiliated 4695 :mode planning :granularity nil :parent #140) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #143))) (src-block (:language "bash" :switches nil :parameters nil :begin 4815 :end 4920 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 4815 :mode nil :granularity nil :parent #140)) (paragraph (:begin 4920 :end 4971 :contents-begin 4920 :contents-end 4970 :post-blank 1 :post-affiliated 4920 :mode nil :granularity nil :parent #140) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #145))) (paragraph (:begin 4971 :end 5232 :contents-begin 4971 :contents-end 5231 :post-blank 1 :post-affiliated 4971 :mode nil :granularity nil :parent #140) #("#+begin" 0 7 (:parent #146)) (subscript (:begin 4978 :end 4983 :use-brackets-p nil :contents-begin 4979 :contents-end 4982 :post-blank 1 :parent #146) #("src" 0 3 (:parent #150))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #146)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 5055 :end 5105 :contents-begin nil :contents-end nil :post-blank 0 :parent #146)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #146)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 5147 :end 5183 :contents-begin nil :contents-end nil :post-blank 1 :parent #146)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #146)) (subscript (:begin 5221 :end 5226 :use-brackets-p nil :contents-begin 5222 :contents-end 5225 :post-blank 1 :parent #146) #("src" 0 3 (:parent #156))) #("bash\n" 0 5 (:parent #146))) (paragraph (:begin 5232 :end 5270 :contents-begin 5232 :contents-end 5269 :post-blank 1 :post-affiliated 5232 :mode nil :granularity nil :parent #140) #("To test whether this is working try:\n" 0 37 (:parent #147))) (paragraph (:begin 5270 :end 5302 :contents-begin 5270 :contents-end 5302 :post-blank 0 :post-affiliated 5270 :mode nil :granularity nil :parent #140) #("#+begin" 0 7 (:parent #148)) (subscript (:begin 5277 :end 5282 :use-brackets-p nil :contents-begin 5278 :contents-end 5281 :post-blank 1 :parent #148) #("src" 0 3 (:parent #152))) #("bash\n#+end" 0 10 (:parent #148)) (subscript (:begin 5292 :end 5297 :use-brackets-p nil :contents-begin 5293 :contents-end 5296 :post-blank 1 :parent #148) #("src" 0 3 (:parent #154))) #("bash\n" 0 5 (:parent #148))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 5304 :end 5755 :pre-blank 1 :contents-begin 5345 :contents-end 5754 :robust-begin 5347 :robust-end 5752 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5304 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #138))) :mode nil :granularity nil :parent #132) (section (:begin 5345 :end 5755 :contents-begin 5345 :contents-end 5754 :robust-begin 5345 :robust-end 5752 :post-blank 1 :post-affiliated 5345 :mode section :granularity nil :parent #138) (paragraph (:begin 5345 :end 5445 :contents-begin 5345 :contents-end 5444 :post-blank 1 :post-affiliated 5345 :mode planning :granularity nil :parent #141) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #144))) (src-block (:language "scheme" :switches nil :parameters nil :begin 5445 :end 5589 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 5445 :mode nil :granularity nil :parent #141)) (paragraph (:begin 5589 :end 5621 :contents-begin 5589 :contents-end 5620 :post-blank 1 :post-affiliated 5589 :mode nil :granularity nil :parent #141) #("by pasting it into the command\n" 0 31 (:parent #146))) (src-block (:language "bash" :switches nil :parameters nil :begin 5621 :end 5674 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 5621 :mode nil :granularity nil :parent #141)) (paragraph (:begin 5674 :end 5691 :contents-begin 5674 :contents-end 5690 :post-blank 1 :post-affiliated 5674 :mode nil :granularity nil :parent #141) #("and hit Ctrl-D.\n" 0 16 (:parent #148))) (paragraph (:begin 5691 :end 5754 :contents-begin 5691 :contents-end 5754 :post-blank 0 :post-affiliated 5691 :mode nil :granularity nil :parent #141) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #149))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 5755 :end 7633 :pre-blank 1 :contents-begin 5787 :contents-end 7632 :robust-begin 5789 :robust-end 7630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5755 :title (#("Step 4: Install and run GN2" 0 27 (:parent #139))) :mode nil :granularity nil :parent #132) (section (:begin 5787 :end 7633 :contents-begin 5787 :contents-end 7632 :robust-begin 5787 :robust-end 7630 :post-blank 1 :post-affiliated 5787 :mode section :granularity nil :parent #139) (paragraph (:begin 5787 :end 5927 :contents-begin 5787 :contents-end 5926 :post-blank 1 :post-affiliated 5787 :mode planning :granularity nil :parent #142) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #145))) (src-block (:language "bash" :switches nil :parameters nil :begin 5927 :end 6046 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 5927 :mode nil :granularity nil :parent #142)) (paragraph (:begin 6046 :end 6099 :contents-begin 6046 :contents-end 6098 :post-blank 1 :post-affiliated 6046 :mode nil :granularity nil :parent #142) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #147))) (src-block (:language "bash" :switches nil :parameters nil :begin 6099 :end 6289 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 6099 :mode nil :granularity nil :parent #142)) (paragraph (:begin 6289 :end 6398 :contents-begin 6289 :contents-end 6397 :post-blank 1 :post-affiliated 6289 :mode nil :granularity nil :parent #142) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #149)) (italic (:begin 6360 :end 6366 :post-blank 0 :contents-begin 6361 :contents-end 6365 :parent #149) #("root" 0 4 (:parent #153))) #(".config/guix/latest override).\n" 0 31 (:parent #149))) (paragraph (:begin 6398 :end 6416 :contents-begin 6398 :contents-end 6415 :post-blank 1 :post-affiliated 6398 :mode nil :granularity nil :parent #142) #("And install with\n" 0 17 (:parent #150))) (src-block (:language "bash" :switches nil :parameters nil :begin 6416 :end 6586 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 6416 :mode nil :granularity nil :parent #142)) (paragraph (:begin 6586 :end 6729 :contents-begin 6586 :contents-end 6728 :post-blank 1 :post-affiliated 6586 :mode nil :granularity nil :parent #142) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #152))) (paragraph (:begin 6729 :end 6925 :contents-begin 6729 :contents-end 6924 :post-blank 1 :post-affiliated 6729 :mode nil :granularity nil :parent #142) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #153))) (paragraph (:begin 6925 :end 7056 :contents-begin 6925 :contents-end 7055 :post-blank 1 :post-affiliated 6925 :mode nil :granularity nil :parent #142) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #154))) (src-block (:language "bash" :switches nil :parameters nil :begin 7056 :end 7235 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python2.7/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 7056 :mode nil :granularity nil :parent #142)) (paragraph (:begin 7235 :end 7304 :contents-begin 7235 :contents-end 7303 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #142) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #156))) (src-block (:language "bash" :switches nil :parameters nil :begin 7304 :end 7345 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 7304 :mode nil :granularity nil :parent #142)) (paragraph (:begin 7345 :end 7596 :contents-begin 7345 :contents-end 7595 :post-blank 1 :post-affiliated 7345 :mode nil :granularity nil :parent #142) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #158)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 7567 :end 7593 :contents-begin nil :contents-end nil :post-blank 0 :parent #158)) #(".\n" 0 2 (:parent #158))) (paragraph (:begin 7596 :end 7632 :contents-begin 7596 :contents-end 7632 :post-blank 0 :post-affiliated 7596 :mode nil :granularity nil :parent #142) #("End of the GN2 installation recipe!\n" 0 36 (:parent #159)))))) (headline (:raw-value "Run MySQL server" :begin 7633 :end 9008 :pre-blank 1 :contents-begin 7653 :contents-end 9007 :robust-begin 7655 :robust-end 9005 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7633 :title (#("Run MySQL server" 0 16 (:parent #133))) :mode nil :granularity nil :parent #126) (section (:begin 7653 :end 9008 :contents-begin 7653 :contents-end 9007 :robust-begin 7653 :robust-end 9005 :post-blank 1 :post-affiliated 7653 :mode section :granularity nil :parent #133) (paragraph (:begin 7653 :end 7928 :contents-begin 7653 :contents-end 7927 :post-blank 1 :post-affiliated 7653 :mode planning :granularity nil :parent #136) #("At this point we require the underlying distribution to install and\nrun mysqld. Currently we have two databases for deployment,\n'db" 0 131 (:parent #139)) (subscript (:begin 7784 :end 7791 :use-brackets-p nil :contents-begin 7785 :contents-end 7791 :post-blank 0 :parent #139) #("webqtl" 0 6 (:parent #143))) (subscript (:begin 7791 :end 7793 :use-brackets-p nil :contents-begin 7792 :contents-end 7793 :post-blank 0 :parent #139) #("s" 0 1 (:parent #144))) #("' is the small testing database containing experiments\nfrom BXD mice and 'db" 0 76 (:parent #139)) (subscript (:begin 7869 :end 7876 :use-brackets-p nil :contents-begin 7870 :contents-end 7876 :post-blank 0 :parent #139) #("webqtl" 0 6 (:parent #146))) (subscript (:begin 7876 :end 7882 :use-brackets-p nil :contents-begin 7877 :contents-end 7882 :post-blank 0 :parent #139) #("plant" 0 5 (:parent #147))) #("' which contains all plant related\nmaterial.\n" 0 45 (:parent #139))) (paragraph (:begin 7928 :end 7956 :contents-begin 7928 :contents-end 7955 :post-blank 1 :post-affiliated 7928 :mode nil :granularity nil :parent #136) #("Download one database from\n" 0 27 (:parent #140))) (paragraph (:begin 7956 :end 8054 :contents-begin 7956 :contents-end 8053 :post-blank 1 :post-affiliated 7956 :mode nil :granularity nil :parent #136) (link (:type "http" :path "//files.genenetwork.org/raw_database/" :format plain :raw-link "http://files.genenetwork.org/raw_database/" :application nil :search-option nil :begin 7956 :end 7998 :contents-begin nil :contents-end nil :post-blank 0 :parent #141)) #("\n" 0 1 (:parent #141)) (link (:type "https" :path "//s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :format plain :raw-link "https://s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :application nil :search-option nil :begin 7999 :end 8052 :contents-begin nil :contents-end nil :post-blank 0 :parent #141)) #("\n" 0 1 (:parent #141))) (paragraph (:begin 8054 :end 8073 :contents-begin 8054 :contents-end 8072 :post-blank 1 :post-affiliated 8054 :mode nil :granularity nil :parent #136) #("Check the md5sum.\n" 0 18 (:parent #142))) (paragraph (:begin 8073 :end 8195 :contents-begin 8073 :contents-end 8194 :post-blank 1 :post-affiliated 8073 :mode nil :granularity nil :parent #136) #("After installation inflate the database binary in the MySQL directory\n(this installation path is subject to change soon)\n" 0 121 (:parent #143))) (fixed-width (:begin 8195 :end 8283 :value "chown -R mysql:mysql db_webqtl_s/\nchmod 700 db_webqtl_s/\nchmod 660 db_webqtl_s/*" :post-blank 2 :post-affiliated 8195 :mode nil :granularity nil :parent #136)) (paragraph (:begin 8283 :end 8334 :contents-begin 8283 :contents-end 8333 :post-blank 1 :post-affiliated 8283 :mode nil :granularity nil :parent #136) #("restart MySQL service (mysqld). Login as root and\n" 0 50 (:parent #145))) (fixed-width (:begin 8334 :end 8560 :value "mysql> show databases;\n+--------------------+\n| Database |\n+--------------------+\n| information_schema |\n| db_webqtl_s |\n| mysql |\n| performance_schema |\n+--------------------+" :post-blank 2 :post-affiliated 8334 :mode nil :granularity nil :parent #136)) (paragraph (:begin 8560 :end 8625 :contents-begin 8560 :contents-end 8624 :post-blank 1 :post-affiliated 8560 :mode nil :granularity nil :parent #136) #("Set permissions and match password in your settings file below:\n" 0 64 (:parent #147))) (fixed-width (:begin 8625 :end 8724 :value "mysql> grant all privileges on db_webqtl_s.* to gn2@\"localhost\" identified by 'mysql_password';" :post-blank 2 :post-affiliated 8625 :mode nil :granularity nil :parent #136)) (paragraph (:begin 8724 :end 8875 :contents-begin 8724 :contents-end 8874 :post-blank 1 :post-affiliated 8724 :mode nil :granularity nil :parent #136) #("Note that if the mysql connection is not working, try connecting to\nthe IP address and check server firewall, hosts.allow and mysql IP\nconfiguration.\n" 0 150 (:parent #149))) (paragraph (:begin 8875 :end 9007 :contents-begin 8875 :contents-end 9007 :post-blank 0 :post-affiliated 8875 :mode nil :granularity nil :parent #136) #("Note for the plant database you can rename it to db" 0 51 (:parent #150)) (subscript (:begin 8926 :end 8933 :use-brackets-p nil :contents-begin 8927 :contents-end 8933 :post-blank 0 :parent #150) #("webqtl" 0 6 (:parent #154))) (subscript (:begin 8933 :end 8935 :use-brackets-p nil :contents-begin 8934 :contents-end 8935 :post-blank 0 :parent #150) #("s" 0 1 (:parent #155))) #(", or\nchange the settings in etc/default" 0 39 (:parent #150)) (subscript (:begin 8974 :end 8987 :use-brackets-p nil :contents-begin 8975 :contents-end 8986 :post-blank 1 :parent #150) #("settings.py" 0 11 (:parent #157))) #("to match your path.\n" 0 20 (:parent #150))))) (headline (:raw-value "GN2 Dependency Graph" :begin 9008 :end 9172 :pre-blank 1 :contents-begin 9032 :contents-end 9171 :robust-begin 9034 :robust-end 9169 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9008 :title (#("GN2 Dependency Graph" 0 20 (:parent #134))) :mode nil :granularity nil :parent #126) (section (:begin 9032 :end 9172 :contents-begin 9032 :contents-end 9171 :robust-begin 9032 :robust-end 9169 :post-blank 1 :post-affiliated 9032 :mode section :granularity nil :parent #134) (paragraph (:begin 9032 :end 9093 :contents-begin 9032 :contents-end 9092 :post-blank 1 :post-affiliated 9032 :mode planning :granularity nil :parent #137) #("Graph of all runtime dependencies as installed by GNU Guix.\n" 0 60 (:parent #140))) (paragraph (:begin 9093 :end 9171 :contents-begin 9123 :contents-end 9171 :post-blank 0 :post-affiliated 9123 :attr_html (":title GN2_graph") :mode nil :granularity nil :parent #137) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg" :format plain :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg" :application nil :search-option nil :begin 9123 :end 9170 :contents-begin nil :contents-end nil :post-blank 0 :parent #141)) #("\n" 0 1 (:parent #141))))) (headline (:raw-value "Source deployment" :begin 9172 :end 12840 :pre-blank 1 :contents-begin 9193 :contents-end 12839 :robust-begin 9195 :robust-end 12837 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9172 :title (#("Source deployment" 0 17 (:parent #135))) :mode nil :granularity nil :parent #126) (section (:begin 9193 :end 9612 :contents-begin 9193 :contents-end 9610 :robust-begin 9193 :robust-end 9608 :post-blank 2 :post-affiliated 9193 :mode section :granularity nil :parent #135) (paragraph (:begin 9193 :end 9274 :contents-begin 9193 :contents-end 9273 :post-blank 1 :post-affiliated 9193 :mode planning :granularity nil :parent #138) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #141))) (paragraph (:begin 9274 :end 9304 :contents-begin 9274 :contents-end 9303 :post-blank 1 :post-affiliated 9274 :mode nil :granularity nil :parent #138) #("First execute above 4 steps:\n" 0 29 (:parent #142))) (plain-list (:type unordered :begin 9304 :end 9610 :contents-begin 9304 :contents-end 9610 :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :post-blank 0 :post-affiliated 9304 :mode nil :granularity nil :parent #138) (item (:bullet "- " :begin 9304 :end 9364 :contents-begin 9309 :contents-end 9364 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9304 :tag nil :mode item :granularity nil :parent #143) (paragraph (:begin 9309 :end 9364 :contents-begin 9309 :contents-end 9364 :post-blank 0 :post-affiliated 9309 :mode nil :granularity nil :parent #146) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 9309 :end 9363 :contents-begin 9337 :contents-end 9361 :post-blank 0 :parent #149) #("Step 1: Install GNU Guix" 0 24 (:parent #152))) #("\n" 0 1 (:parent #149)))) (item (:bullet "- " :begin 9364 :end 9458 :contents-begin 9369 :contents-end 9458 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9364 :tag nil :mode item :granularity nil :parent #143) (paragraph (:begin 9369 :end 9458 :contents-begin 9369 :contents-end 9458 :post-blank 0 :post-affiliated 9369 :mode nil :granularity nil :parent #147) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 9369 :end 9457 :contents-begin 9414 :contents-end 9455 :post-blank 0 :parent #150) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #153))) #("\n" 0 1 (:parent #150)))) (item (:bullet "- " :begin 9458 :end 9542 :contents-begin 9463 :contents-end 9542 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9458 :tag nil :mode item :granularity nil :parent #143) (paragraph (:begin 9463 :end 9542 :contents-begin 9463 :contents-end 9542 :post-blank 0 :post-affiliated 9463 :mode nil :granularity nil :parent #148) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 9463 :end 9541 :contents-begin 9503 :contents-end 9539 :post-blank 0 :parent #151) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #154))) #("\n" 0 1 (:parent #151)))) (item (:bullet "- " :begin 9542 :end 9610 :contents-begin 9547 :contents-end 9610 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9542 :tag nil :mode item :granularity nil :parent #143) (paragraph (:begin 9547 :end 9610 :contents-begin 9547 :contents-end 9610 :post-blank 0 :post-affiliated 9547 :mode nil :granularity nil :parent #149) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 9547 :end 9609 :contents-begin 9579 :contents-end 9607 :post-blank 0 :parent #152) #("Step 4: Install and run GN2 " 0 28 (:parent #155))) #("\n" 0 1 (:parent #152)))))) (headline (:raw-value "Run your own copy of GN2" :begin 9612 :end 10722 :pre-blank 1 :contents-begin 9641 :contents-end 10721 :robust-begin 9643 :robust-end 10719 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9612 :title (#("Run your own copy of GN2" 0 24 (:parent #139))) :mode nil :granularity nil :parent #135) (section (:begin 9641 :end 10722 :contents-begin 9641 :contents-end 10721 :robust-begin 9641 :robust-end 10719 :post-blank 1 :post-affiliated 9641 :mode section :granularity nil :parent #139) (paragraph (:begin 9641 :end 9839 :contents-begin 9641 :contents-end 9838 :post-blank 1 :post-affiliated 9641 :mode planning :granularity nil :parent #142) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #145)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 9793 :end 9836 :contents-begin nil :contents-end nil :post-blank 0 :parent #145)) #(".\n" 0 2 (:parent #145))) (paragraph (:begin 9839 :end 9964 :contents-begin 9839 :contents-end 9963 :post-blank 1 :post-affiliated 9839 :mode nil :granularity nil :parent #142) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #146)) (subscript (:begin 9896 :end 9902 :use-brackets-p nil :contents-begin 9897 :contents-end 9901 :post-blank 1 :parent #146) #("PATH" 0 4 (:parent #150))) #("and\nR" 0 5 (:parent #146)) (subscript (:begin 9907 :end 9912 :use-brackets-p nil :contents-begin 9908 :contents-end 9912 :post-blank 0 :parent #146) #("LIBS" 0 4 (:parent #152))) (subscript (:begin 9912 :end 9918 :use-brackets-p nil :contents-begin 9913 :contents-end 9917 :post-blank 1 :parent #146) #("SITE" 0 4 (:parent #153))) #("are set) from the information given by guix:\n" 0 45 (:parent #146))) (fixed-width (:begin 9964 :end 9995 :value "guix package --search-paths" :post-blank 2 :post-affiliated 9964 :mode nil :granularity nil :parent #142)) (paragraph (:begin 9995 :end 10019 :contents-begin 9995 :contents-end 10018 :post-blank 1 :post-affiliated 9995 :mode nil :granularity nil :parent #142) #("Inside the repository:\n" 0 23 (:parent #148))) (fixed-width (:begin 10019 :end 10059 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 10019 :mode nil :granularity nil :parent #142)) (paragraph (:begin 10059 :end 10303 :contents-begin 10059 :contents-end 10302 :post-blank 1 :post-affiliated 10059 :mode nil :granularity nil :parent #142) #("Will fire up your local repo " 0 29 (:parent #150)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 10088 :end 10111 :contents-begin nil :contents-end nil :post-blank 1 :parent #150)) #("using the\nsettings in ./etc/default" 0 35 (:parent #150)) (subscript (:begin 10146 :end 10158 :use-brackets-p nil :contents-begin 10147 :contents-end 10158 :post-blank 0 :parent #150) #("settings.py" 0 11 (:parent #156))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #150)) (subscript (:begin 10263 :end 10276 :use-brackets-p nil :contents-begin 10264 :contents-end 10275 :post-blank 1 :parent #150) #("settings.py" 0 11 (:parent #158))) #("and pass it into GN2 with\n" 0 26 (:parent #150))) (fixed-width (:begin 10303 :end 10346 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 10303 :mode nil :granularity nil :parent #142)) (paragraph (:begin 10346 :end 10492 :contents-begin 10346 :contents-end 10491 :post-blank 1 :post-affiliated 10346 :mode nil :granularity nil :parent #142) #("and everything " 0 15 (:parent #152)) (bold (:begin 10361 :end 10370 :post-blank 1 :contents-begin 10362 :contents-end 10368 :parent #152) #("should" 0 6 (:parent #156))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #152))) (paragraph (:begin 10492 :end 10620 :contents-begin 10492 :contents-end 10619 :post-blank 1 :post-affiliated 10492 :mode nil :granularity nil :parent #142) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #153))) (fixed-width (:begin 10620 :end 10721 :value "cat ~/.guix-profile/lib/python2.7/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 10620 :mode nil :granularity nil :parent #142)))) (headline (:raw-value "Set up nginx port forwarding" :begin 10722 :end 12840 :pre-blank 1 :contents-begin 10755 :contents-end 12839 :robust-begin 10757 :robust-end 12837 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 10722 :title (#("Set up nginx port forwarding" 0 28 (:parent #140))) :mode nil :granularity nil :parent #135) (section (:begin 10755 :end 12840 :contents-begin 10755 :contents-end 12839 :robust-begin 10755 :robust-end 12837 :post-blank 1 :post-affiliated 10755 :mode section :granularity nil :parent #140) (paragraph (:begin 10755 :end 10923 :contents-begin 10755 :contents-end 10922 :post-blank 1 :post-affiliated 10755 :mode planning :granularity nil :parent #143) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #146))) (paragraph (:begin 10923 :end 11063 :contents-begin 10923 :contents-end 11062 :post-blank 1 :post-affiliated 10923 :mode nil :granularity nil :parent #143) #("#+begin" 0 7 (:parent #147)) (subscript (:begin 10930 :end 10935 :use-brackets-p nil :contents-begin 10931 :contents-end 10934 :post-blank 1 :parent #147) #("src" 0 3 (:parent #151))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #147)) (subscript (:begin 10984 :end 10990 :use-brackets-p nil :contents-begin 10985 :contents-end 10989 :post-blank 1 :parent #147) #("name" 0 4 (:parent #153))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #147)) (subscript (:begin 11030 :end 11036 :use-brackets-p nil :contents-begin 11031 :contents-end 11034 :post-blank 2 :parent #147) #("log" 0 3 (:parent #155))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #147))) (paragraph (:begin 11063 :end 11232 :contents-begin 11063 :contents-end 11231 :post-blank 1 :post-affiliated 11063 :mode nil :granularity nil :parent #143) #(" proxy" 0 13 (:parent #148)) (subscript (:begin 11076 :end 11084 :use-brackets-p nil :contents-begin 11077 :contents-end 11084 :post-blank 0 :parent #148) #("connect" 0 7 (:parent #152))) (subscript (:begin 11084 :end 11099 :use-brackets-p nil :contents-begin 11085 :contents-end 11092 :post-blank 7 :parent #148) #("timeout" 0 7 (:parent #153))) #("3000;\n proxy" 0 19 (:parent #148)) (subscript (:begin 11118 :end 11123 :use-brackets-p nil :contents-begin 11119 :contents-end 11123 :post-blank 0 :parent #148) #("send" 0 4 (:parent #155))) (subscript (:begin 11123 :end 11141 :use-brackets-p nil :contents-begin 11124 :contents-end 11131 :post-blank 10 :parent #148) #("timeout" 0 7 (:parent #156))) #("3000;\n proxy" 0 19 (:parent #148)) (subscript (:begin 11160 :end 11165 :use-brackets-p nil :contents-begin 11161 :contents-end 11165 :post-blank 0 :parent #148) #("read" 0 4 (:parent #158))) (subscript (:begin 11165 :end 11183 :use-brackets-p nil :contents-begin 11166 :contents-end 11173 :post-blank 10 :parent #148) #("timeout" 0 7 (:parent #159))) #("3000;\n send" 0 18 (:parent #148)) (subscript (:begin 11201 :end 11225 :use-brackets-p nil :contents-begin 11202 :contents-end 11209 :post-blank 16 :parent #148) #("timeout" 0 7 (:parent #161))) #("3000;\n" 0 6 (:parent #148))) (paragraph (:begin 11232 :end 11632 :contents-begin 11232 :contents-end 11631 :post-blank 1 :post-affiliated 11232 :mode nil :granularity nil :parent #143) #(" location / {\n proxy" 0 38 (:parent #149)) (subscript (:begin 11270 :end 11274 :use-brackets-p nil :contents-begin 11271 :contents-end 11274 :post-blank 0 :parent #149) #("set" 0 3 (:parent #153))) (subscript (:begin 11274 :end 11284 :use-brackets-p nil :contents-begin 11275 :contents-end 11281 :post-blank 3 :parent #149) #("header" 0 6 (:parent #154))) #("Host $http" 0 15 (:parent #149)) (subscript (:begin 11299 :end 11304 :use-brackets-p nil :contents-begin 11300 :contents-end 11304 :post-blank 0 :parent #149) #("host" 0 4 (:parent #156))) #(";\n proxy" 0 19 (:parent #149)) (subscript (:begin 11323 :end 11327 :use-brackets-p nil :contents-begin 11324 :contents-end 11327 :post-blank 0 :parent #149) #("set" 0 3 (:parent #158))) (subscript (:begin 11327 :end 11337 :use-brackets-p nil :contents-begin 11328 :contents-end 11334 :post-blank 3 :parent #149) #("header" 0 6 (:parent #159))) #("Connection keep-alive;\n proxy" 0 40 (:parent #149)) (subscript (:begin 11377 :end 11381 :use-brackets-p nil :contents-begin 11378 :contents-end 11381 :post-blank 0 :parent #149) #("set" 0 3 (:parent #161))) (subscript (:begin 11381 :end 11391 :use-brackets-p nil :contents-begin 11382 :contents-end 11388 :post-blank 3 :parent #149) #("header" 0 6 (:parent #162))) #("X-Real-IP $remote" 0 17 (:parent #149)) (subscript (:begin 11408 :end 11413 :use-brackets-p nil :contents-begin 11409 :contents-end 11413 :post-blank 0 :parent #149) #("addr" 0 4 (:parent #164))) #(";\n proxy" 0 19 (:parent #149)) (subscript (:begin 11432 :end 11436 :use-brackets-p nil :contents-begin 11433 :contents-end 11436 :post-blank 0 :parent #149) #("set" 0 3 (:parent #166))) (subscript (:begin 11436 :end 11446 :use-brackets-p nil :contents-begin 11437 :contents-end 11443 :post-blank 3 :parent #149) #("header" 0 6 (:parent #167))) #("X-Forwarded-For $proxy" 0 22 (:parent #149)) (subscript (:begin 11468 :end 11472 :use-brackets-p nil :contents-begin 11469 :contents-end 11472 :post-blank 0 :parent #149) #("add" 0 3 (:parent #169))) (subscript (:begin 11472 :end 11474 :use-brackets-p nil :contents-begin 11473 :contents-end 11474 :post-blank 0 :parent #149) #("x" 0 1 (:parent #170))) (subscript (:begin 11474 :end 11484 :use-brackets-p nil :contents-begin 11475 :contents-end 11484 :post-blank 0 :parent #149) #("forwarded" 0 9 (:parent #171))) (subscript (:begin 11484 :end 11488 :use-brackets-p nil :contents-begin 11485 :contents-end 11488 :post-blank 0 :parent #149) #("for" 0 3 (:parent #172))) #(";\n proxy" 0 19 (:parent #149)) (subscript (:begin 11507 :end 11511 :use-brackets-p nil :contents-begin 11508 :contents-end 11511 :post-blank 0 :parent #149) #("set" 0 3 (:parent #174))) (subscript (:begin 11511 :end 11521 :use-brackets-p nil :contents-begin 11512 :contents-end 11518 :post-blank 3 :parent #149) #("header" 0 6 (:parent #175))) #("X-Forwarded-Host $server" 0 24 (:parent #149)) (subscript (:begin 11545 :end 11550 :use-brackets-p nil :contents-begin 11546 :contents-end 11550 :post-blank 0 :parent #149) #("name" 0 4 (:parent #177))) #(";\n proxy" 0 19 (:parent #149)) (subscript (:begin 11569 :end 11583 :use-brackets-p nil :contents-begin 11570 :contents-end 11574 :post-blank 9 :parent #149) #("pass" 0 4 (:parent #179))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 11583 :end 11604 :contents-begin nil :contents-end nil :post-blank 0 :parent #149)) #(";\n }\n}\n#+end" 0 19 (:parent #149)) (subscript (:begin 11623 :end 11628 :use-brackets-p nil :contents-begin 11624 :contents-end 11627 :post-blank 1 :parent #149) #("src" 0 3 (:parent #182))) #("js\n" 0 3 (:parent #149))) (paragraph (:begin 11632 :end 11671 :contents-begin 11632 :contents-end 11670 :post-blank 1 :post-affiliated 11632 :mode nil :granularity nil :parent #143) #("Install the nginx webserver (as root)\n" 0 38 (:parent #150))) (fixed-width (:begin 11671 :end 11696 :value "guix package -i nginx" :post-blank 2 :post-affiliated 11671 :mode nil :granularity nil :parent #143)) (paragraph (:begin 11696 :end 11777 :contents-begin 11696 :contents-end 11776 :post-blank 1 :post-affiliated 11696 :mode nil :granularity nil :parent #143) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #152))) (fixed-width (:begin 11777 :end 11964 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 11777 :mode nil :granularity nil :parent #143)) (paragraph (:begin 11964 :end 11979 :contents-begin 11964 :contents-end 11978 :post-blank 1 :post-affiliated 11964 :mode nil :granularity nil :parent #143) #("Use that path\n" 0 14 (:parent #154))) (fixed-width (:begin 11979 :end 12373 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 11979 :mode nil :granularity nil :parent #143)) (paragraph (:begin 12373 :end 12599 :contents-begin 12373 :contents-end 12599 :post-blank 0 :post-affiliated 12373 :mode nil :granularity nil :parent #143) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #156))) (fixed-width (:begin 12599 :end 12646 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 12599 :mode nil :granularity nil :parent #143)) (paragraph (:begin 12646 :end 12657 :contents-begin 12646 :contents-end 12656 :post-blank 1 :post-affiliated 12646 :mode nil :granularity nil :parent #143) #("Make dirs\n" 0 10 (:parent #158))) (fixed-width (:begin 12657 :end 12691 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 12657 :mode nil :granularity nil :parent #143)) (paragraph (:begin 12691 :end 12702 :contents-begin 12691 :contents-end 12701 :post-blank 1 :post-affiliated 12691 :mode nil :granularity nil :parent #143) #("Add users\n" 0 10 (:parent #160))) (fixed-width (:begin 12702 :end 12738 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 12702 :mode nil :granularity nil :parent #143)) (paragraph (:begin 12738 :end 12749 :contents-begin 12738 :contents-end 12748 :post-blank 1 :post-affiliated 12738 :mode nil :granularity nil :parent #143) #("Run nginx\n" 0 10 (:parent #162))) (fixed-width (:begin 12749 :end 12839 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 12749 :mode nil :granularity nil :parent #143))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 12840 :end 13801 :pre-blank 1 :contents-begin 12902 :contents-end 13801 :robust-begin 12904 :robust-end 13799 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12840 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #136))) :mode nil :granularity nil :parent #126) (section (:begin 12902 :end 12959 :contents-begin 12902 :contents-end 12958 :robust-begin 12902 :robust-end 12956 :post-blank 1 :post-affiliated 12902 :mode section :granularity nil :parent #136) (paragraph (:begin 12902 :end 12958 :contents-begin 12902 :contents-end 12958 :post-blank 0 :post-affiliated 12902 :mode planning :granularity nil :parent #139) #("See the document " 0 17 (:parent #142)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 12919 :end 12956 :contents-begin nil :contents-end nil :post-blank 0 :parent #142)) #(".\n" 0 2 (:parent #142)))) (headline (:raw-value "Update to recent guix" :begin 12959 :end 13409 :pre-blank 1 :contents-begin 12985 :contents-end 13408 :robust-begin 12987 :robust-end 13406 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12959 :title (#("Update to recent guix" 0 21 (:parent #140))) :mode nil :granularity nil :parent #136) (section (:begin 12985 :end 13409 :contents-begin 12985 :contents-end 13408 :robust-begin 12985 :robust-end 13406 :post-blank 1 :post-affiliated 12985 :mode section :granularity nil :parent #140) (paragraph (:begin 12985 :end 13020 :contents-begin 12985 :contents-end 13019 :post-blank 1 :post-affiliated 12985 :mode planning :granularity nil :parent #143) #("We now compile Guix from scratch.\n" 0 34 (:parent #146))) (paragraph (:begin 13020 :end 13295 :contents-begin 13020 :contents-end 13294 :post-blank 1 :post-affiliated 13020 :mode nil :granularity nil :parent #143) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #147)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 13159 :end 13272 :contents-begin 13264 :contents-end 13269 :post-blank 1 :parent #147) #("these" 0 5 (:parent #151))) #("steps carefully after\n" 0 22 (:parent #147))) (fixed-width (:begin 13295 :end 13330 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 13295 :mode nil :granularity nil :parent #143)) (paragraph (:begin 13330 :end 13408 :contents-begin 13330 :contents-end 13408 :post-blank 0 :post-affiliated 13330 :mode nil :granularity nil :parent #143) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #149))))) (headline (:raw-value "Install GN2" :begin 13409 :end 13801 :pre-blank 1 :contents-begin 13425 :contents-end 13801 :robust-begin 13427 :robust-end 13799 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 13409 :title (#("Install GN2" 0 11 (:parent #141))) :mode nil :granularity nil :parent #136) (section (:begin 13425 :end 13801 :contents-begin 13425 :contents-end 13801 :robust-begin 13425 :robust-end 13799 :post-blank 0 :post-affiliated 13425 :mode section :granularity nil :parent #141) (paragraph (:begin 13425 :end 13468 :contents-begin 13425 :contents-end 13467 :post-blank 1 :post-affiliated 13425 :mode planning :granularity nil :parent #144) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #147))) (paragraph (:begin 13468 :end 13676 :contents-begin 13468 :contents-end 13675 :post-blank 1 :post-affiliated 13468 :mode nil :granularity nil :parent #144) #("#+begin" 0 7 (:parent #148)) (subscript (:begin 13475 :end 13480 :use-brackets-p nil :contents-begin 13476 :contents-end 13479 :post-blank 1 :parent #148) #("src" 0 3 (:parent #152))) #("bash\nenv GUIX" 0 13 (:parent #148)) (subscript (:begin 13493 :end 13501 :use-brackets-p nil :contents-begin 13494 :contents-end 13501 :post-blank 0 :parent #148) #("PACKAGE" 0 7 (:parent #154))) (subscript (:begin 13501 :end 13506 :use-brackets-p nil :contents-begin 13502 :contents-end 13506 :post-blank 0 :parent #148) #("PATH" 0 4 (:parent #155))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #148)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 13605 :end 13633 :contents-begin nil :contents-end nil :post-blank 1 :parent #148)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 13633 :end 13658 :contents-begin nil :contents-end nil :post-blank 0 :parent #148)) #("\"\n#+end" 0 7 (:parent #148)) (subscript (:begin 13665 :end 13670 :use-brackets-p nil :contents-begin 13666 :contents-end 13669 :post-blank 1 :parent #148) #("src" 0 3 (:parent #160))) #("bash\n" 0 5 (:parent #148))) (paragraph (:begin 13676 :end 13714 :contents-begin 13676 :contents-end 13713 :post-blank 1 :post-affiliated 13676 :mode nil :granularity nil :parent #144) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #149))) (paragraph (:begin 13714 :end 13801 :contents-begin 13714 :contents-end 13801 :post-blank 0 :post-affiliated 13714 :mode nil :granularity nil :parent #144) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #150)))))))) #56)) #32)) #0 (item (:bullet "- " :begin 156 :end 521 :contents-begin 159 :contents-end 521 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 156 :tag nil :mode item :granularity nil :parent #32) (paragraph (:begin 159 :end 217 :contents-begin 159 :contents-end 217 :post-blank 0 :post-affiliated 159 :mode nil :granularity nil :parent #36) (link (:type "custom-id" :path "quick-installation-recipe" :format bracket :raw-link "#quick-installation-recipe" :application nil :search-option nil :begin 159 :end 216 :contents-begin 189 :contents-end 214 :post-blank 0 :parent #39) #("Quick installation recipe" 0 25 (:parent #42))) #("\n" 0 1 (:parent #39))) (plain-list (:type unordered :begin 217 :end 521 :contents-begin 217 :contents-end 521 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 217 :mode nil :granularity nil :parent #36) (item (:bullet "- " :begin 217 :end 277 :contents-begin 222 :contents-end 277 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 217 :tag nil :mode item :granularity nil :parent #40) (paragraph (:begin 222 :end 277 :contents-begin 222 :contents-end 277 :post-blank 0 :post-affiliated 222 :mode nil :granularity nil :parent #43) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 222 :end 276 :contents-begin 250 :contents-end 274 :post-blank 0 :parent #46) #("Step 1: Install GNU Guix" 0 24 (:parent #49))) #("\n" 0 1 (:parent #46)))) (item (:bullet "- " :begin 277 :end 371 :contents-begin 282 :contents-end 371 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 277 :tag nil :mode item :granularity nil :parent #40) (paragraph (:begin 282 :end 371 :contents-begin 282 :contents-end 371 :post-blank 0 :post-affiliated 282 :mode nil :granularity nil :parent #44) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 282 :end 370 :contents-begin 327 :contents-end 368 :post-blank 0 :parent #47) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #50))) #("\n" 0 1 (:parent #47)))) (item (:bullet "- " :begin 371 :end 455 :contents-begin 376 :contents-end 455 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 371 :tag nil :mode item :granularity nil :parent #40) (paragraph (:begin 376 :end 455 :contents-begin 376 :contents-end 455 :post-blank 0 :post-affiliated 376 :mode nil :granularity nil :parent #45) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 376 :end 454 :contents-begin 416 :contents-end 452 :post-blank 0 :parent #48) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #51))) #("\n" 0 1 (:parent #48)))) (item (:bullet "- " :begin 455 :end 521 :contents-begin 460 :contents-end 521 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 455 :tag nil :mode item :granularity nil :parent #40) (paragraph (:begin 460 :end 521 :contents-begin 460 :contents-end 521 :post-blank 0 :post-affiliated 460 :mode nil :granularity nil :parent #46) (link (:type "custom-id" :path "step-4-install-and-run-gn2" :format bracket :raw-link "#step-4-install-and-run-gn2" :application nil :search-option nil :begin 460 :end 520 :contents-begin 491 :contents-end 518 :post-blank 0 :parent #49) #("Step 4: Install and run GN2" 0 27 (:parent #52))) #("\n" 0 1 (:parent #49)))))) (item (:bullet "- " :begin 521 :end 564 :contents-begin 524 :contents-end 564 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 521 :tag nil :mode item :granularity nil :parent #32) (paragraph (:begin 524 :end 564 :contents-begin 524 :contents-end 564 :post-blank 0 :post-affiliated 524 :mode nil :granularity nil :parent #37) (link (:type "custom-id" :path "run-mysql-server" :format bracket :raw-link "#run-mysql-server" :application nil :search-option nil :begin 524 :end 563 :contents-begin 545 :contents-end 561 :post-blank 0 :parent #40) #("Run MySQL server" 0 16 (:parent #43))) #("\n" 0 1 (:parent #40)))) (item (:bullet "- " :begin 564 :end 615 :contents-begin 567 :contents-end 615 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 564 :tag nil :mode item :granularity nil :parent #32) (paragraph (:begin 567 :end 615 :contents-begin 567 :contents-end 615 :post-blank 0 :post-affiliated 567 :mode nil :granularity nil :parent #38) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 567 :end 614 :contents-begin 592 :contents-end 612 :post-blank 0 :parent #41) #("GN2 Dependency Graph" 0 20 (:parent #44))) #("\n" 0 1 (:parent #41)))) (item (:bullet "- " :begin 615 :end 790 :contents-begin 618 :contents-end 790 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 615 :tag nil :mode item :granularity nil :parent #32) (paragraph (:begin 618 :end 660 :contents-begin 618 :contents-end 660 :post-blank 0 :post-affiliated 618 :mode nil :granularity nil :parent #39) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 618 :end 659 :contents-begin 640 :contents-end 657 :post-blank 0 :parent #42) #("Source deployment" 0 17 (:parent #45))) #("\n" 0 1 (:parent #42))) (plain-list (:type unordered :begin 660 :end 790 :contents-begin 660 :contents-end 790 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 660 :mode nil :granularity nil :parent #39) (item (:bullet "- " :begin 660 :end 721 :contents-begin 665 :contents-end 721 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 660 :tag nil :mode item :granularity nil :parent #43) (paragraph (:begin 665 :end 721 :contents-begin 665 :contents-end 721 :post-blank 0 :post-affiliated 665 :mode nil :granularity nil :parent #46) (link (:type "custom-id" :path "run-your-own-copy-of-gn2" :format bracket :raw-link "#run-your-own-copy-of-gn2" :application nil :search-option nil :begin 665 :end 720 :contents-begin 694 :contents-end 718 :post-blank 0 :parent #49) #("Run your own copy of GN2" 0 24 (:parent #52))) #("\n" 0 1 (:parent #49)))) (item (:bullet "- " :begin 721 :end 790 :contents-begin 726 :contents-end 790 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 721 :tag nil :mode item :granularity nil :parent #43) (paragraph (:begin 726 :end 790 :contents-begin 726 :contents-end 790 :post-blank 0 :post-affiliated 726 :mode nil :granularity nil :parent #47) (link (:type "custom-id" :path "set-up-nginx-port-forwarding" :format bracket :raw-link "#set-up-nginx-port-forwarding" :application nil :search-option nil :begin 726 :end 789 :contents-begin 759 :contents-end 787 :post-blank 0 :parent #50) #("Set up nginx port forwarding" 0 28 (:parent #53))) #("\n" 0 1 (:parent #50)))))) (item (:bullet "- " :begin 790 :end 1034 :contents-begin 793 :contents-end 1034 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 790 :tag nil :mode item :granularity nil :parent #32) (paragraph (:begin 793 :end 917 :contents-begin 793 :contents-end 917 :post-blank 0 :post-affiliated 793 :mode nil :granularity nil :parent #40) (link (:type "custom-id" :path "source-deployment-and-other-information-on-reproducibility" :format bracket :raw-link "#source-deployment-and-other-information-on-reproducibility" :application nil :search-option nil :begin 793 :end 916 :contents-begin 856 :contents-end 914 :post-blank 0 :parent #43) #("Source deployment and other information on reproducibility" 0 58 (:parent #46))) #("\n" 0 1 (:parent #43))) (plain-list (:type unordered :begin 917 :end 1034 :contents-begin 917 :contents-end 1034 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 917 :mode nil :granularity nil :parent #40) (item (:bullet "- " :begin 917 :end 972 :contents-begin 922 :contents-end 972 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 917 :tag nil :mode item :granularity nil :parent #44) (paragraph (:begin 922 :end 972 :contents-begin 922 :contents-end 972 :post-blank 0 :post-affiliated 922 :mode nil :granularity nil :parent #47) (link (:type "custom-id" :path "update-to-recent-guix" :format bracket :raw-link "#update-to-recent-guix" :application nil :search-option nil :begin 922 :end 971 :contents-begin 948 :contents-end 969 :post-blank 0 :parent #50) #("Update to recent guix" 0 21 (:parent #53))) #("\n" 0 1 (:parent #50)))) (item (:bullet "- " :begin 972 :end 1007 :contents-begin 977 :contents-end 1007 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 972 :tag nil :mode item :granularity nil :parent #44) (paragraph (:begin 977 :end 1007 :contents-begin 977 :contents-end 1007 :post-blank 0 :post-affiliated 977 :mode nil :granularity nil :parent #48) (link (:type "custom-id" :path "install-gn2" :format bracket :raw-link "#install-gn2" :application nil :search-option nil :begin 977 :end 1006 :contents-begin 993 :contents-end 1004 :post-blank 0 :parent #51) #("Install GN2" 0 11 (:parent #54))) #("\n" 0 1 (:parent #51)))) (item (:bullet "- " :begin 1007 :end 1034 :contents-begin 1012 :contents-end 1034 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1007 :tag nil :mode item :granularity nil :parent #44) (paragraph (:begin 1012 :end 1034 :contents-begin 1012 :contents-end 1034 :post-blank 0 :post-affiliated 1012 :mode nil :granularity nil :parent #49) (link (:type "custom-id" :path "run-gn2" :format bracket :raw-link "#run-gn2" :application nil :search-option nil :begin 1012 :end 1033 :contents-begin 1024 :contents-end 1031 :post-blank 0 :parent #52) #("Run GN2" 0 7 (:parent #55))) #("\n" 0 1 (:parent #52)))))) (item (:bullet "- " :begin 1034 :end 1370 :contents-begin 1037 :contents-end 1370 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1034 :tag nil :mode item :granularity nil :parent #32) (paragraph (:begin 1037 :end 1077 :contents-begin 1037 :contents-end 1077 :post-blank 0 :post-affiliated 1037 :mode nil :granularity nil :parent #41) (link (:type "custom-id" :path "trouble-shooting" :format bracket :raw-link "#trouble-shooting" :application nil :search-option nil :begin 1037 :end 1076 :contents-begin 1058 :contents-end 1074 :post-blank 0 :parent #44) #("Trouble shooting" 0 16 (:parent #47))) #("\n" 0 1 (:parent #44))) (plain-list (:type unordered :begin 1077 :end 1370 :contents-begin 1077 :contents-end 1370 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 1077 :mode nil :granularity nil :parent #41) (item (:bullet "- " :begin 1077 :end 1159 :contents-begin 1082 :contents-end 1159 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1077 :tag nil :mode item :granularity nil :parent #45) (paragraph (:begin 1082 :end 1159 :contents-begin 1082 :contents-end 1159 :post-blank 0 :post-affiliated 1082 :mode nil :granularity nil :parent #48) (link (:type "custom-id" :path "importerror-no-module-named-jinja2" :format bracket :raw-link "#importerror-no-module-named-jinja2" :application nil :search-option nil :begin 1082 :end 1158 :contents-begin 1121 :contents-end 1156 :post-blank 0 :parent #51) #("ImportError: No module named jinja2" 0 35 (:parent #54))) #("\n" 0 1 (:parent #51)))) (item (:bullet "- " :begin 1159 :end 1257 :contents-begin 1164 :contents-end 1257 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1159 :tag nil :mode item :granularity nil :parent #45) (paragraph (:begin 1164 :end 1257 :contents-begin 1164 :contents-end 1257 :post-blank 0 :post-affiliated 1164 :mode nil :granularity nil :parent #49) (link (:type "custom-id" :path "error-can-not-find-directory-homegn2_data" :format bracket :raw-link "#error-can-not-find-directory-homegn2_data" :application nil :search-option nil :begin 1164 :end 1256 :contents-begin 1210 :contents-end 1254 :post-blank 0 :parent #52) #("ERROR: can not find directory $HOME/gn2" 0 39 (:parent #55)) (subscript (:begin 1249 :end 1254 :use-brackets-p nil :contents-begin 1250 :contents-end 1254 :post-blank 0 :parent #55) #("data" 0 4 (:parent #59)))) #("\n" 0 1 (:parent #52)))) (item (:bullet "- " :begin 1257 :end 1305 :contents-begin 1262 :contents-end 1305 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1257 :tag nil :mode item :granularity nil :parent #45) (paragraph (:begin 1262 :end 1305 :contents-begin 1262 :contents-end 1305 :post-blank 0 :post-affiliated 1262 :mode nil :granularity nil :parent #50) (link (:type "custom-id" :path "cant-run-a-module" :format bracket :raw-link "#cant-run-a-module" :application nil :search-option nil :begin 1262 :end 1304 :contents-begin 1284 :contents-end 1302 :post-blank 0 :parent #53) #("Can't run a module" 0 18 (:parent #56))) #("\n" 0 1 (:parent #53)))) (item (:bullet "- " :begin 1305 :end 1370 :contents-begin 1310 :contents-end 1370 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1305 :tag nil :mode item :granularity nil :parent #45) (paragraph (:begin 1310 :end 1370 :contents-begin 1310 :contents-end 1370 :post-blank 0 :post-affiliated 1310 :mode nil :granularity nil :parent #51) (link (:type "custom-id" :path "rpy2-error-show-now-found" :format bracket :raw-link "#rpy2-error-show-now-found" :application nil :search-option nil :begin 1310 :end 1369 :contents-begin 1340 :contents-end 1367 :post-blank 0 :parent #54) #("Rpy2 error 'show' now found" 0 27 (:parent #57))) #("\n" 0 1 (:parent #54)))))) (item (:bullet "- " :begin 1370 :end 1403 :contents-begin 1373 :contents-end 1403 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1370 :tag nil :mode item :granularity nil :parent #32) (paragraph (:begin 1373 :end 1403 :contents-begin 1373 :contents-end 1403 :post-blank 0 :post-affiliated 1373 :mode nil :granularity nil :parent #42) (link (:type "custom-id" :path "irc-session" :format bracket :raw-link "#irc-session" :application nil :search-option nil :begin 1373 :end 1402 :contents-begin 1389 :contents-end 1400 :post-blank 0 :parent #45) #("IRC session" 0 11 (:parent #48))) #("\n" 0 1 (:parent #45)))))) (paragraph (:begin 124 :end 156 :contents-begin 124 :contents-end 156 :post-blank 0 :post-affiliated 124 :mode nil :granularity nil :parent #0) (link (:type "custom-id" :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil :begin 124 :end 155 :contents-begin 141 :contents-end 153 :post-blank 0 :parent #3) #("Introduction" 0 12 (:parent #6))) #("\n" 0 1 (:parent #3))))) mapconcat(#f(compiled-function (element) #) ((item (:bullet "- " :begin 121 :end 156 :contents-begin 124 :contents-end 156 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 121 :tag nil :mode item :granularity nil :parent (plain-list (:type unordered :begin 121 :end 1403 :contents-begin 121 :contents-end 1403 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 121 :mode planning :granularity nil :parent (section (:begin 121 :end 1404 :contents-begin 121 :contents-end 1403 :robust-begin 121 :robust-end 1401 :post-blank 1 :post-affiliated 121 :mode section :granularity nil :parent (headline (:raw-value "Table of Contents" :begin 43 :end 1404 :pre-blank 0 :contents-begin 121 :contents-end 1403 :robust-begin 123 :robust-end 1401 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 43 :title (#("Table of Contents" 0 17 (:parent #81))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13801 :end 13801 :robust-begin 3 :robust-end 13799 :post-blank 0 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 43 :contents-begin 1 :contents-end 42 :robust-begin 1 :robust-end 40 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #127) (keyword (:key "TITLE" :value "Installing GeneNetwork services" :begin 1 :end 42 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #130))) #81 (headline (:raw-value "Introduction" :begin 1404 :end 2450 :pre-blank 1 :contents-begin 1420 :contents-end 2449 :robust-begin 1422 :robust-end 2447 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1404 :title (#("Introduction" 0 12 (:parent #132))) :mode nil :granularity nil :parent #127) (section (:begin 1420 :end 2450 :contents-begin 1420 :contents-end 2449 :robust-begin 1420 :robust-end 2447 :post-blank 1 :post-affiliated 1420 :mode section :granularity nil :parent #132) (paragraph (:begin 1420 :end 1557 :contents-begin 1420 :contents-end 1556 :post-blank 1 :post-affiliated 1420 :mode planning :granularity nil :parent #135) #("If you want to understand the architecture of GN2 read\n" 0 55 (:parent #138)) (link (:type "fuzzy" :path "Architecture.org" :format bracket :raw-link "Architecture.org" :application nil :search-option nil :begin 1475 :end 1495 :contents-begin nil :contents-end nil :post-blank 0 :parent #138)) #(". The rest of this document is mostly on deployment\nof GN2.\n" 0 61 (:parent #138))) (paragraph (:begin 1557 :end 1943 :contents-begin 1557 :contents-end 1942 :post-blank 1 :post-affiliated 1557 :mode nil :granularity nil :parent #135) #("Large system deployments can get very " 0 38 (:parent #139)) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg " :format bracket :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg " :application nil :search-option nil :begin 1595 :end 1656 :contents-begin 1647 :contents-end 1654 :post-blank 0 :parent #139) #("complex" 0 7 (:parent #143))) #(". In this document we\nexplain the GeneNetwork version 2 (GN2) reproducible deployment system\nwhich is based on GNU Guix (see also " 0 130 (:parent #139)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1786 :end 1860 :contents-begin 1848 :contents-end 1858 :post-blank 0 :parent #139) #("Guix-notes" 0 10 (:parent #145))) #("). The Guix\nsystem can be used to install GN with all its files and dependencies.\n" 0 82 (:parent #139))) (paragraph (:begin 1943 :end 2328 :contents-begin 1943 :contents-end 2327 :post-blank 1 :post-affiliated 1943 :mode nil :granularity nil :parent #135) #("The official installation path is from a checked out version of the\nmain Guix package tree and that of the Genenetwork package\ntree. Current supported versions can be found as the SHA values of\n'gn-latest' branches of " 0 218 (:parent #140)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :application nil :search-option nil :begin 2161 :end 2252 :contents-begin 2230 :contents-end 2249 :post-blank 1 :parent #140) #("Guix bioinformatics" 0 19 (:parent #144))) #("and " 0 4 (:parent #140)) (link (:type "https" :path "//github.com/genenetwork/guix/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix/tree/gn-latest" :application nil :search-option nil :begin 2256 :end 2325 :contents-begin 2310 :contents-end 2323 :post-blank 0 :parent #140) #("GNU Guix main" 0 13 (:parent #146))) #(".\n" 0 2 (:parent #140))) (paragraph (:begin 2328 :end 2449 :contents-begin 2328 :contents-end 2449 :post-blank 0 :post-affiliated 2328 :mode nil :granularity nil :parent #135) #("For a full view of runtime dependencies as defined by GNU Guix, see\nthe " 0 72 (:parent #141)) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 2400 :end 2447 :contents-begin 2425 :contents-end 2445 :post-blank 0 :parent #141) #("GN2 Dependency Graph" 0 20 (:parent #145))) #(".\n" 0 2 (:parent #141))))) (headline (:raw-value "Quick installation recipe" :begin 2450 :end 7633 :pre-blank 1 :contents-begin 2479 :contents-end 7632 :robust-begin 2481 :robust-end 7630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 2450 :title (#("Quick installation recipe" 0 25 (:parent #133))) :mode nil :granularity nil :parent #127) (section (:begin 2479 :end 3022 :contents-begin 2479 :contents-end 3021 :robust-begin 2479 :robust-end 3019 :post-blank 1 :post-affiliated 2479 :mode section :granularity nil :parent #133) (paragraph (:begin 2479 :end 2880 :contents-begin 2479 :contents-end 2879 :post-blank 1 :post-affiliated 2479 :mode planning :granularity nil :parent #136) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS). For more elaborate installation\ninstructions see " 0 357 (:parent #139)) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 2836 :end 2877 :contents-begin 2858 :contents-end 2875 :post-blank 0 :parent #139) #("Source deployment" 0 17 (:parent #143))) #(".\n" 0 2 (:parent #139))) (paragraph (:begin 2880 :end 3021 :contents-begin 2880 :contents-end 3021 :post-blank 0 :post-affiliated 2880 :mode nil :granularity nil :parent #136) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #140)))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 3022 :end 4649 :pre-blank 1 :contents-begin 3051 :contents-end 4648 :robust-begin 3053 :robust-end 4646 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3022 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #137))) :mode nil :granularity nil :parent #133) (section (:begin 3051 :end 4649 :contents-begin 3051 :contents-end 4648 :robust-begin 3051 :robust-end 4646 :post-blank 1 :post-affiliated 3051 :mode section :granularity nil :parent #137) (paragraph (:begin 3051 :end 3504 :contents-begin 3051 :contents-end 3503 :post-blank 1 :post-affiliated 3051 :mode planning :granularity nil :parent #140) #("Fetch the GNU Guix binary from " 0 31 (:parent #143)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 3082 :end 3136 :contents-begin 3129 :contents-end 3133 :post-blank 1 :parent #143) #("here" 0 4 (:parent #147))) #("(middle panel) and follow\n" 0 26 (:parent #143)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 3162 :end 3255 :contents-begin 3241 :contents-end 3253 :post-blank 0 :parent #143) #("instructions" 0 12 (:parent #149))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #143))) (paragraph (:begin 3504 :end 3782 :contents-begin 3504 :contents-end 3781 :post-blank 1 :post-affiliated 3504 :mode nil :granularity nil :parent #140) #("Once you have succeeded, you have to " 0 37 (:parent #144)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 3541 :end 3631 :contents-begin 3617 :contents-end 3628 :post-blank 1 :parent #144) #("set the key" 0 11 (:parent #148))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #144))) (src-block (:language "bash" :switches nil :parameters nil :begin 3782 :end 3890 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 3782 :mode nil :granularity nil :parent #140)) (paragraph (:begin 3890 :end 3924 :contents-begin 3890 :contents-end 3923 :post-blank 1 :post-affiliated 3890 :mode nil :granularity nil :parent #140) #("Which should show something like\n" 0 33 (:parent #146))) (fixed-width (:begin 3924 :end 4034 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 3924 :mode nil :granularity nil :parent #140)) (paragraph (:begin 4034 :end 4045 :contents-begin 4034 :contents-end 4044 :post-blank 1 :post-affiliated 4034 :mode nil :granularity nil :parent #140) #("#+end" 0 5 (:parent #148)) (subscript (:begin 4039 :end 4043 :use-brackets-p nil :contents-begin 4040 :contents-end 4043 :post-blank 0 :parent #148) #("src" 0 3 (:parent #152))) #("\n" 0 1 (:parent #148))) (paragraph (:begin 4045 :end 4116 :contents-begin 4045 :contents-end 4115 :post-blank 1 :post-affiliated 4045 :mode nil :granularity nil :parent #140) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #149))) (src-block (:language "bash" :switches nil :parameters nil :begin 4116 :end 4188 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 4116 :mode nil :granularity nil :parent #140)) (paragraph (:begin 4188 :end 4375 :contents-begin 4188 :contents-end 4374 :post-blank 1 :post-affiliated 4188 :mode nil :granularity nil :parent #140) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #151))) (paragraph (:begin 4375 :end 4648 :contents-begin 4375 :contents-end 4648 :post-blank 0 :post-affiliated 4375 :mode nil :granularity nil :parent #140) #("If you need more help we have another writeup in " 0 49 (:parent #152)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 4424 :end 4520 :contents-begin 4508 :contents-end 4518 :post-blank 0 :parent #152) #("guix-notes" 0 10 (:parent #156))) #(". To get\nrid of the locale warning see " 0 39 (:parent #152)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 4559 :end 4646 :contents-begin 4634 :contents-end 4644 :post-blank 0 :parent #152) #("set-locale" 0 10 (:parent #158))) #(".\n" 0 2 (:parent #152))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 4649 :end 5304 :pre-blank 1 :contents-begin 4695 :contents-end 5302 :robust-begin 4697 :robust-end 5300 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4649 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #138))) :mode nil :granularity nil :parent #133) (section (:begin 4695 :end 5304 :contents-begin 4695 :contents-end 5302 :robust-begin 4695 :robust-end 5300 :post-blank 2 :post-affiliated 4695 :mode section :granularity nil :parent #138) (paragraph (:begin 4695 :end 4815 :contents-begin 4695 :contents-end 4814 :post-blank 1 :post-affiliated 4695 :mode planning :granularity nil :parent #141) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #144))) (src-block (:language "bash" :switches nil :parameters nil :begin 4815 :end 4920 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 4815 :mode nil :granularity nil :parent #141)) (paragraph (:begin 4920 :end 4971 :contents-begin 4920 :contents-end 4970 :post-blank 1 :post-affiliated 4920 :mode nil :granularity nil :parent #141) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #146))) (paragraph (:begin 4971 :end 5232 :contents-begin 4971 :contents-end 5231 :post-blank 1 :post-affiliated 4971 :mode nil :granularity nil :parent #141) #("#+begin" 0 7 (:parent #147)) (subscript (:begin 4978 :end 4983 :use-brackets-p nil :contents-begin 4979 :contents-end 4982 :post-blank 1 :parent #147) #("src" 0 3 (:parent #151))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #147)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 5055 :end 5105 :contents-begin nil :contents-end nil :post-blank 0 :parent #147)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #147)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 5147 :end 5183 :contents-begin nil :contents-end nil :post-blank 1 :parent #147)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #147)) (subscript (:begin 5221 :end 5226 :use-brackets-p nil :contents-begin 5222 :contents-end 5225 :post-blank 1 :parent #147) #("src" 0 3 (:parent #157))) #("bash\n" 0 5 (:parent #147))) (paragraph (:begin 5232 :end 5270 :contents-begin 5232 :contents-end 5269 :post-blank 1 :post-affiliated 5232 :mode nil :granularity nil :parent #141) #("To test whether this is working try:\n" 0 37 (:parent #148))) (paragraph (:begin 5270 :end 5302 :contents-begin 5270 :contents-end 5302 :post-blank 0 :post-affiliated 5270 :mode nil :granularity nil :parent #141) #("#+begin" 0 7 (:parent #149)) (subscript (:begin 5277 :end 5282 :use-brackets-p nil :contents-begin 5278 :contents-end 5281 :post-blank 1 :parent #149) #("src" 0 3 (:parent #153))) #("bash\n#+end" 0 10 (:parent #149)) (subscript (:begin 5292 :end 5297 :use-brackets-p nil :contents-begin 5293 :contents-end 5296 :post-blank 1 :parent #149) #("src" 0 3 (:parent #155))) #("bash\n" 0 5 (:parent #149))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 5304 :end 5755 :pre-blank 1 :contents-begin 5345 :contents-end 5754 :robust-begin 5347 :robust-end 5752 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5304 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #139))) :mode nil :granularity nil :parent #133) (section (:begin 5345 :end 5755 :contents-begin 5345 :contents-end 5754 :robust-begin 5345 :robust-end 5752 :post-blank 1 :post-affiliated 5345 :mode section :granularity nil :parent #139) (paragraph (:begin 5345 :end 5445 :contents-begin 5345 :contents-end 5444 :post-blank 1 :post-affiliated 5345 :mode planning :granularity nil :parent #142) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #145))) (src-block (:language "scheme" :switches nil :parameters nil :begin 5445 :end 5589 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 5445 :mode nil :granularity nil :parent #142)) (paragraph (:begin 5589 :end 5621 :contents-begin 5589 :contents-end 5620 :post-blank 1 :post-affiliated 5589 :mode nil :granularity nil :parent #142) #("by pasting it into the command\n" 0 31 (:parent #147))) (src-block (:language "bash" :switches nil :parameters nil :begin 5621 :end 5674 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 5621 :mode nil :granularity nil :parent #142)) (paragraph (:begin 5674 :end 5691 :contents-begin 5674 :contents-end 5690 :post-blank 1 :post-affiliated 5674 :mode nil :granularity nil :parent #142) #("and hit Ctrl-D.\n" 0 16 (:parent #149))) (paragraph (:begin 5691 :end 5754 :contents-begin 5691 :contents-end 5754 :post-blank 0 :post-affiliated 5691 :mode nil :granularity nil :parent #142) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #150))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 5755 :end 7633 :pre-blank 1 :contents-begin 5787 :contents-end 7632 :robust-begin 5789 :robust-end 7630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5755 :title (#("Step 4: Install and run GN2" 0 27 (:parent #140))) :mode nil :granularity nil :parent #133) (section (:begin 5787 :end 7633 :contents-begin 5787 :contents-end 7632 :robust-begin 5787 :robust-end 7630 :post-blank 1 :post-affiliated 5787 :mode section :granularity nil :parent #140) (paragraph (:begin 5787 :end 5927 :contents-begin 5787 :contents-end 5926 :post-blank 1 :post-affiliated 5787 :mode planning :granularity nil :parent #143) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #146))) (src-block (:language "bash" :switches nil :parameters nil :begin 5927 :end 6046 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 5927 :mode nil :granularity nil :parent #143)) (paragraph (:begin 6046 :end 6099 :contents-begin 6046 :contents-end 6098 :post-blank 1 :post-affiliated 6046 :mode nil :granularity nil :parent #143) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #148))) (src-block (:language "bash" :switches nil :parameters nil :begin 6099 :end 6289 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 6099 :mode nil :granularity nil :parent #143)) (paragraph (:begin 6289 :end 6398 :contents-begin 6289 :contents-end 6397 :post-blank 1 :post-affiliated 6289 :mode nil :granularity nil :parent #143) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #150)) (italic (:begin 6360 :end 6366 :post-blank 0 :contents-begin 6361 :contents-end 6365 :parent #150) #("root" 0 4 (:parent #154))) #(".config/guix/latest override).\n" 0 31 (:parent #150))) (paragraph (:begin 6398 :end 6416 :contents-begin 6398 :contents-end 6415 :post-blank 1 :post-affiliated 6398 :mode nil :granularity nil :parent #143) #("And install with\n" 0 17 (:parent #151))) (src-block (:language "bash" :switches nil :parameters nil :begin 6416 :end 6586 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 6416 :mode nil :granularity nil :parent #143)) (paragraph (:begin 6586 :end 6729 :contents-begin 6586 :contents-end 6728 :post-blank 1 :post-affiliated 6586 :mode nil :granularity nil :parent #143) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #153))) (paragraph (:begin 6729 :end 6925 :contents-begin 6729 :contents-end 6924 :post-blank 1 :post-affiliated 6729 :mode nil :granularity nil :parent #143) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #154))) (paragraph (:begin 6925 :end 7056 :contents-begin 6925 :contents-end 7055 :post-blank 1 :post-affiliated 6925 :mode nil :granularity nil :parent #143) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #155))) (src-block (:language "bash" :switches nil :parameters nil :begin 7056 :end 7235 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python2.7/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 7056 :mode nil :granularity nil :parent #143)) (paragraph (:begin 7235 :end 7304 :contents-begin 7235 :contents-end 7303 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #143) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #157))) (src-block (:language "bash" :switches nil :parameters nil :begin 7304 :end 7345 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 7304 :mode nil :granularity nil :parent #143)) (paragraph (:begin 7345 :end 7596 :contents-begin 7345 :contents-end 7595 :post-blank 1 :post-affiliated 7345 :mode nil :granularity nil :parent #143) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #159)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 7567 :end 7593 :contents-begin nil :contents-end nil :post-blank 0 :parent #159)) #(".\n" 0 2 (:parent #159))) (paragraph (:begin 7596 :end 7632 :contents-begin 7596 :contents-end 7632 :post-blank 0 :post-affiliated 7596 :mode nil :granularity nil :parent #143) #("End of the GN2 installation recipe!\n" 0 36 (:parent #160)))))) (headline (:raw-value "Run MySQL server" :begin 7633 :end 9008 :pre-blank 1 :contents-begin 7653 :contents-end 9007 :robust-begin 7655 :robust-end 9005 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7633 :title (#("Run MySQL server" 0 16 (:parent #134))) :mode nil :granularity nil :parent #127) (section (:begin 7653 :end 9008 :contents-begin 7653 :contents-end 9007 :robust-begin 7653 :robust-end 9005 :post-blank 1 :post-affiliated 7653 :mode section :granularity nil :parent #134) (paragraph (:begin 7653 :end 7928 :contents-begin 7653 :contents-end 7927 :post-blank 1 :post-affiliated 7653 :mode planning :granularity nil :parent #137) #("At this point we require the underlying distribution to install and\nrun mysqld. Currently we have two databases for deployment,\n'db" 0 131 (:parent #140)) (subscript (:begin 7784 :end 7791 :use-brackets-p nil :contents-begin 7785 :contents-end 7791 :post-blank 0 :parent #140) #("webqtl" 0 6 (:parent #144))) (subscript (:begin 7791 :end 7793 :use-brackets-p nil :contents-begin 7792 :contents-end 7793 :post-blank 0 :parent #140) #("s" 0 1 (:parent #145))) #("' is the small testing database containing experiments\nfrom BXD mice and 'db" 0 76 (:parent #140)) (subscript (:begin 7869 :end 7876 :use-brackets-p nil :contents-begin 7870 :contents-end 7876 :post-blank 0 :parent #140) #("webqtl" 0 6 (:parent #147))) (subscript (:begin 7876 :end 7882 :use-brackets-p nil :contents-begin 7877 :contents-end 7882 :post-blank 0 :parent #140) #("plant" 0 5 (:parent #148))) #("' which contains all plant related\nmaterial.\n" 0 45 (:parent #140))) (paragraph (:begin 7928 :end 7956 :contents-begin 7928 :contents-end 7955 :post-blank 1 :post-affiliated 7928 :mode nil :granularity nil :parent #137) #("Download one database from\n" 0 27 (:parent #141))) (paragraph (:begin 7956 :end 8054 :contents-begin 7956 :contents-end 8053 :post-blank 1 :post-affiliated 7956 :mode nil :granularity nil :parent #137) (link (:type "http" :path "//files.genenetwork.org/raw_database/" :format plain :raw-link "http://files.genenetwork.org/raw_database/" :application nil :search-option nil :begin 7956 :end 7998 :contents-begin nil :contents-end nil :post-blank 0 :parent #142)) #("\n" 0 1 (:parent #142)) (link (:type "https" :path "//s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :format plain :raw-link "https://s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :application nil :search-option nil :begin 7999 :end 8052 :contents-begin nil :contents-end nil :post-blank 0 :parent #142)) #("\n" 0 1 (:parent #142))) (paragraph (:begin 8054 :end 8073 :contents-begin 8054 :contents-end 8072 :post-blank 1 :post-affiliated 8054 :mode nil :granularity nil :parent #137) #("Check the md5sum.\n" 0 18 (:parent #143))) (paragraph (:begin 8073 :end 8195 :contents-begin 8073 :contents-end 8194 :post-blank 1 :post-affiliated 8073 :mode nil :granularity nil :parent #137) #("After installation inflate the database binary in the MySQL directory\n(this installation path is subject to change soon)\n" 0 121 (:parent #144))) (fixed-width (:begin 8195 :end 8283 :value "chown -R mysql:mysql db_webqtl_s/\nchmod 700 db_webqtl_s/\nchmod 660 db_webqtl_s/*" :post-blank 2 :post-affiliated 8195 :mode nil :granularity nil :parent #137)) (paragraph (:begin 8283 :end 8334 :contents-begin 8283 :contents-end 8333 :post-blank 1 :post-affiliated 8283 :mode nil :granularity nil :parent #137) #("restart MySQL service (mysqld). Login as root and\n" 0 50 (:parent #146))) (fixed-width (:begin 8334 :end 8560 :value "mysql> show databases;\n+--------------------+\n| Database |\n+--------------------+\n| information_schema |\n| db_webqtl_s |\n| mysql |\n| performance_schema |\n+--------------------+" :post-blank 2 :post-affiliated 8334 :mode nil :granularity nil :parent #137)) (paragraph (:begin 8560 :end 8625 :contents-begin 8560 :contents-end 8624 :post-blank 1 :post-affiliated 8560 :mode nil :granularity nil :parent #137) #("Set permissions and match password in your settings file below:\n" 0 64 (:parent #148))) (fixed-width (:begin 8625 :end 8724 :value "mysql> grant all privileges on db_webqtl_s.* to gn2@\"localhost\" identified by 'mysql_password';" :post-blank 2 :post-affiliated 8625 :mode nil :granularity nil :parent #137)) (paragraph (:begin 8724 :end 8875 :contents-begin 8724 :contents-end 8874 :post-blank 1 :post-affiliated 8724 :mode nil :granularity nil :parent #137) #("Note that if the mysql connection is not working, try connecting to\nthe IP address and check server firewall, hosts.allow and mysql IP\nconfiguration.\n" 0 150 (:parent #150))) (paragraph (:begin 8875 :end 9007 :contents-begin 8875 :contents-end 9007 :post-blank 0 :post-affiliated 8875 :mode nil :granularity nil :parent #137) #("Note for the plant database you can rename it to db" 0 51 (:parent #151)) (subscript (:begin 8926 :end 8933 :use-brackets-p nil :contents-begin 8927 :contents-end 8933 :post-blank 0 :parent #151) #("webqtl" 0 6 (:parent #155))) (subscript (:begin 8933 :end 8935 :use-brackets-p nil :contents-begin 8934 :contents-end 8935 :post-blank 0 :parent #151) #("s" 0 1 (:parent #156))) #(", or\nchange the settings in etc/default" 0 39 (:parent #151)) (subscript (:begin 8974 :end 8987 :use-brackets-p nil :contents-begin 8975 :contents-end 8986 :post-blank 1 :parent #151) #("settings.py" 0 11 (:parent #158))) #("to match your path.\n" 0 20 (:parent #151))))) (headline (:raw-value "GN2 Dependency Graph" :begin 9008 :end 9172 :pre-blank 1 :contents-begin 9032 :contents-end 9171 :robust-begin 9034 :robust-end 9169 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9008 :title (#("GN2 Dependency Graph" 0 20 (:parent #135))) :mode nil :granularity nil :parent #127) (section (:begin 9032 :end 9172 :contents-begin 9032 :contents-end 9171 :robust-begin 9032 :robust-end 9169 :post-blank 1 :post-affiliated 9032 :mode section :granularity nil :parent #135) (paragraph (:begin 9032 :end 9093 :contents-begin 9032 :contents-end 9092 :post-blank 1 :post-affiliated 9032 :mode planning :granularity nil :parent #138) #("Graph of all runtime dependencies as installed by GNU Guix.\n" 0 60 (:parent #141))) (paragraph (:begin 9093 :end 9171 :contents-begin 9123 :contents-end 9171 :post-blank 0 :post-affiliated 9123 :attr_html (":title GN2_graph") :mode nil :granularity nil :parent #138) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg" :format plain :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg" :application nil :search-option nil :begin 9123 :end 9170 :contents-begin nil :contents-end nil :post-blank 0 :parent #142)) #("\n" 0 1 (:parent #142))))) (headline (:raw-value "Source deployment" :begin 9172 :end 12840 :pre-blank 1 :contents-begin 9193 :contents-end 12839 :robust-begin 9195 :robust-end 12837 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9172 :title (#("Source deployment" 0 17 (:parent #136))) :mode nil :granularity nil :parent #127) (section (:begin 9193 :end 9612 :contents-begin 9193 :contents-end 9610 :robust-begin 9193 :robust-end 9608 :post-blank 2 :post-affiliated 9193 :mode section :granularity nil :parent #136) (paragraph (:begin 9193 :end 9274 :contents-begin 9193 :contents-end 9273 :post-blank 1 :post-affiliated 9193 :mode planning :granularity nil :parent #139) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #142))) (paragraph (:begin 9274 :end 9304 :contents-begin 9274 :contents-end 9303 :post-blank 1 :post-affiliated 9274 :mode nil :granularity nil :parent #139) #("First execute above 4 steps:\n" 0 29 (:parent #143))) (plain-list (:type unordered :begin 9304 :end 9610 :contents-begin 9304 :contents-end 9610 :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :post-blank 0 :post-affiliated 9304 :mode nil :granularity nil :parent #139) (item (:bullet "- " :begin 9304 :end 9364 :contents-begin 9309 :contents-end 9364 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9304 :tag nil :mode item :granularity nil :parent #144) (paragraph (:begin 9309 :end 9364 :contents-begin 9309 :contents-end 9364 :post-blank 0 :post-affiliated 9309 :mode nil :granularity nil :parent #147) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 9309 :end 9363 :contents-begin 9337 :contents-end 9361 :post-blank 0 :parent #150) #("Step 1: Install GNU Guix" 0 24 (:parent #153))) #("\n" 0 1 (:parent #150)))) (item (:bullet "- " :begin 9364 :end 9458 :contents-begin 9369 :contents-end 9458 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9364 :tag nil :mode item :granularity nil :parent #144) (paragraph (:begin 9369 :end 9458 :contents-begin 9369 :contents-end 9458 :post-blank 0 :post-affiliated 9369 :mode nil :granularity nil :parent #148) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 9369 :end 9457 :contents-begin 9414 :contents-end 9455 :post-blank 0 :parent #151) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #154))) #("\n" 0 1 (:parent #151)))) (item (:bullet "- " :begin 9458 :end 9542 :contents-begin 9463 :contents-end 9542 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9458 :tag nil :mode item :granularity nil :parent #144) (paragraph (:begin 9463 :end 9542 :contents-begin 9463 :contents-end 9542 :post-blank 0 :post-affiliated 9463 :mode nil :granularity nil :parent #149) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 9463 :end 9541 :contents-begin 9503 :contents-end 9539 :post-blank 0 :parent #152) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #155))) #("\n" 0 1 (:parent #152)))) (item (:bullet "- " :begin 9542 :end 9610 :contents-begin 9547 :contents-end 9610 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9542 :tag nil :mode item :granularity nil :parent #144) (paragraph (:begin 9547 :end 9610 :contents-begin 9547 :contents-end 9610 :post-blank 0 :post-affiliated 9547 :mode nil :granularity nil :parent #150) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 9547 :end 9609 :contents-begin 9579 :contents-end 9607 :post-blank 0 :parent #153) #("Step 4: Install and run GN2 " 0 28 (:parent #156))) #("\n" 0 1 (:parent #153)))))) (headline (:raw-value "Run your own copy of GN2" :begin 9612 :end 10722 :pre-blank 1 :contents-begin 9641 :contents-end 10721 :robust-begin 9643 :robust-end 10719 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9612 :title (#("Run your own copy of GN2" 0 24 (:parent #140))) :mode nil :granularity nil :parent #136) (section (:begin 9641 :end 10722 :contents-begin 9641 :contents-end 10721 :robust-begin 9641 :robust-end 10719 :post-blank 1 :post-affiliated 9641 :mode section :granularity nil :parent #140) (paragraph (:begin 9641 :end 9839 :contents-begin 9641 :contents-end 9838 :post-blank 1 :post-affiliated 9641 :mode planning :granularity nil :parent #143) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #146)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 9793 :end 9836 :contents-begin nil :contents-end nil :post-blank 0 :parent #146)) #(".\n" 0 2 (:parent #146))) (paragraph (:begin 9839 :end 9964 :contents-begin 9839 :contents-end 9963 :post-blank 1 :post-affiliated 9839 :mode nil :granularity nil :parent #143) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #147)) (subscript (:begin 9896 :end 9902 :use-brackets-p nil :contents-begin 9897 :contents-end 9901 :post-blank 1 :parent #147) #("PATH" 0 4 (:parent #151))) #("and\nR" 0 5 (:parent #147)) (subscript (:begin 9907 :end 9912 :use-brackets-p nil :contents-begin 9908 :contents-end 9912 :post-blank 0 :parent #147) #("LIBS" 0 4 (:parent #153))) (subscript (:begin 9912 :end 9918 :use-brackets-p nil :contents-begin 9913 :contents-end 9917 :post-blank 1 :parent #147) #("SITE" 0 4 (:parent #154))) #("are set) from the information given by guix:\n" 0 45 (:parent #147))) (fixed-width (:begin 9964 :end 9995 :value "guix package --search-paths" :post-blank 2 :post-affiliated 9964 :mode nil :granularity nil :parent #143)) (paragraph (:begin 9995 :end 10019 :contents-begin 9995 :contents-end 10018 :post-blank 1 :post-affiliated 9995 :mode nil :granularity nil :parent #143) #("Inside the repository:\n" 0 23 (:parent #149))) (fixed-width (:begin 10019 :end 10059 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 10019 :mode nil :granularity nil :parent #143)) (paragraph (:begin 10059 :end 10303 :contents-begin 10059 :contents-end 10302 :post-blank 1 :post-affiliated 10059 :mode nil :granularity nil :parent #143) #("Will fire up your local repo " 0 29 (:parent #151)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 10088 :end 10111 :contents-begin nil :contents-end nil :post-blank 1 :parent #151)) #("using the\nsettings in ./etc/default" 0 35 (:parent #151)) (subscript (:begin 10146 :end 10158 :use-brackets-p nil :contents-begin 10147 :contents-end 10158 :post-blank 0 :parent #151) #("settings.py" 0 11 (:parent #157))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #151)) (subscript (:begin 10263 :end 10276 :use-brackets-p nil :contents-begin 10264 :contents-end 10275 :post-blank 1 :parent #151) #("settings.py" 0 11 (:parent #159))) #("and pass it into GN2 with\n" 0 26 (:parent #151))) (fixed-width (:begin 10303 :end 10346 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 10303 :mode nil :granularity nil :parent #143)) (paragraph (:begin 10346 :end 10492 :contents-begin 10346 :contents-end 10491 :post-blank 1 :post-affiliated 10346 :mode nil :granularity nil :parent #143) #("and everything " 0 15 (:parent #153)) (bold (:begin 10361 :end 10370 :post-blank 1 :contents-begin 10362 :contents-end 10368 :parent #153) #("should" 0 6 (:parent #157))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #153))) (paragraph (:begin 10492 :end 10620 :contents-begin 10492 :contents-end 10619 :post-blank 1 :post-affiliated 10492 :mode nil :granularity nil :parent #143) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #154))) (fixed-width (:begin 10620 :end 10721 :value "cat ~/.guix-profile/lib/python2.7/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 10620 :mode nil :granularity nil :parent #143)))) (headline (:raw-value "Set up nginx port forwarding" :begin 10722 :end 12840 :pre-blank 1 :contents-begin 10755 :contents-end 12839 :robust-begin 10757 :robust-end 12837 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 10722 :title (#("Set up nginx port forwarding" 0 28 (:parent #141))) :mode nil :granularity nil :parent #136) (section (:begin 10755 :end 12840 :contents-begin 10755 :contents-end 12839 :robust-begin 10755 :robust-end 12837 :post-blank 1 :post-affiliated 10755 :mode section :granularity nil :parent #141) (paragraph (:begin 10755 :end 10923 :contents-begin 10755 :contents-end 10922 :post-blank 1 :post-affiliated 10755 :mode planning :granularity nil :parent #144) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #147))) (paragraph (:begin 10923 :end 11063 :contents-begin 10923 :contents-end 11062 :post-blank 1 :post-affiliated 10923 :mode nil :granularity nil :parent #144) #("#+begin" 0 7 (:parent #148)) (subscript (:begin 10930 :end 10935 :use-brackets-p nil :contents-begin 10931 :contents-end 10934 :post-blank 1 :parent #148) #("src" 0 3 (:parent #152))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #148)) (subscript (:begin 10984 :end 10990 :use-brackets-p nil :contents-begin 10985 :contents-end 10989 :post-blank 1 :parent #148) #("name" 0 4 (:parent #154))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #148)) (subscript (:begin 11030 :end 11036 :use-brackets-p nil :contents-begin 11031 :contents-end 11034 :post-blank 2 :parent #148) #("log" 0 3 (:parent #156))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #148))) (paragraph (:begin 11063 :end 11232 :contents-begin 11063 :contents-end 11231 :post-blank 1 :post-affiliated 11063 :mode nil :granularity nil :parent #144) #(" proxy" 0 13 (:parent #149)) (subscript (:begin 11076 :end 11084 :use-brackets-p nil :contents-begin 11077 :contents-end 11084 :post-blank 0 :parent #149) #("connect" 0 7 (:parent #153))) (subscript (:begin 11084 :end 11099 :use-brackets-p nil :contents-begin 11085 :contents-end 11092 :post-blank 7 :parent #149) #("timeout" 0 7 (:parent #154))) #("3000;\n proxy" 0 19 (:parent #149)) (subscript (:begin 11118 :end 11123 :use-brackets-p nil :contents-begin 11119 :contents-end 11123 :post-blank 0 :parent #149) #("send" 0 4 (:parent #156))) (subscript (:begin 11123 :end 11141 :use-brackets-p nil :contents-begin 11124 :contents-end 11131 :post-blank 10 :parent #149) #("timeout" 0 7 (:parent #157))) #("3000;\n proxy" 0 19 (:parent #149)) (subscript (:begin 11160 :end 11165 :use-brackets-p nil :contents-begin 11161 :contents-end 11165 :post-blank 0 :parent #149) #("read" 0 4 (:parent #159))) (subscript (:begin 11165 :end 11183 :use-brackets-p nil :contents-begin 11166 :contents-end 11173 :post-blank 10 :parent #149) #("timeout" 0 7 (:parent #160))) #("3000;\n send" 0 18 (:parent #149)) (subscript (:begin 11201 :end 11225 :use-brackets-p nil :contents-begin 11202 :contents-end 11209 :post-blank 16 :parent #149) #("timeout" 0 7 (:parent #162))) #("3000;\n" 0 6 (:parent #149))) (paragraph (:begin 11232 :end 11632 :contents-begin 11232 :contents-end 11631 :post-blank 1 :post-affiliated 11232 :mode nil :granularity nil :parent #144) #(" location / {\n proxy" 0 38 (:parent #150)) (subscript (:begin 11270 :end 11274 :use-brackets-p nil :contents-begin 11271 :contents-end 11274 :post-blank 0 :parent #150) #("set" 0 3 (:parent #154))) (subscript (:begin 11274 :end 11284 :use-brackets-p nil :contents-begin 11275 :contents-end 11281 :post-blank 3 :parent #150) #("header" 0 6 (:parent #155))) #("Host $http" 0 15 (:parent #150)) (subscript (:begin 11299 :end 11304 :use-brackets-p nil :contents-begin 11300 :contents-end 11304 :post-blank 0 :parent #150) #("host" 0 4 (:parent #157))) #(";\n proxy" 0 19 (:parent #150)) (subscript (:begin 11323 :end 11327 :use-brackets-p nil :contents-begin 11324 :contents-end 11327 :post-blank 0 :parent #150) #("set" 0 3 (:parent #159))) (subscript (:begin 11327 :end 11337 :use-brackets-p nil :contents-begin 11328 :contents-end 11334 :post-blank 3 :parent #150) #("header" 0 6 (:parent #160))) #("Connection keep-alive;\n proxy" 0 40 (:parent #150)) (subscript (:begin 11377 :end 11381 :use-brackets-p nil :contents-begin 11378 :contents-end 11381 :post-blank 0 :parent #150) #("set" 0 3 (:parent #162))) (subscript (:begin 11381 :end 11391 :use-brackets-p nil :contents-begin 11382 :contents-end 11388 :post-blank 3 :parent #150) #("header" 0 6 (:parent #163))) #("X-Real-IP $remote" 0 17 (:parent #150)) (subscript (:begin 11408 :end 11413 :use-brackets-p nil :contents-begin 11409 :contents-end 11413 :post-blank 0 :parent #150) #("addr" 0 4 (:parent #165))) #(";\n proxy" 0 19 (:parent #150)) (subscript (:begin 11432 :end 11436 :use-brackets-p nil :contents-begin 11433 :contents-end 11436 :post-blank 0 :parent #150) #("set" 0 3 (:parent #167))) (subscript (:begin 11436 :end 11446 :use-brackets-p nil :contents-begin 11437 :contents-end 11443 :post-blank 3 :parent #150) #("header" 0 6 (:parent #168))) #("X-Forwarded-For $proxy" 0 22 (:parent #150)) (subscript (:begin 11468 :end 11472 :use-brackets-p nil :contents-begin 11469 :contents-end 11472 :post-blank 0 :parent #150) #("add" 0 3 (:parent #170))) (subscript (:begin 11472 :end 11474 :use-brackets-p nil :contents-begin 11473 :contents-end 11474 :post-blank 0 :parent #150) #("x" 0 1 (:parent #171))) (subscript (:begin 11474 :end 11484 :use-brackets-p nil :contents-begin 11475 :contents-end 11484 :post-blank 0 :parent #150) #("forwarded" 0 9 (:parent #172))) (subscript (:begin 11484 :end 11488 :use-brackets-p nil :contents-begin 11485 :contents-end 11488 :post-blank 0 :parent #150) #("for" 0 3 (:parent #173))) #(";\n proxy" 0 19 (:parent #150)) (subscript (:begin 11507 :end 11511 :use-brackets-p nil :contents-begin 11508 :contents-end 11511 :post-blank 0 :parent #150) #("set" 0 3 (:parent #175))) (subscript (:begin 11511 :end 11521 :use-brackets-p nil :contents-begin 11512 :contents-end 11518 :post-blank 3 :parent #150) #("header" 0 6 (:parent #176))) #("X-Forwarded-Host $server" 0 24 (:parent #150)) (subscript (:begin 11545 :end 11550 :use-brackets-p nil :contents-begin 11546 :contents-end 11550 :post-blank 0 :parent #150) #("name" 0 4 (:parent #178))) #(";\n proxy" 0 19 (:parent #150)) (subscript (:begin 11569 :end 11583 :use-brackets-p nil :contents-begin 11570 :contents-end 11574 :post-blank 9 :parent #150) #("pass" 0 4 (:parent #180))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 11583 :end 11604 :contents-begin nil :contents-end nil :post-blank 0 :parent #150)) #(";\n }\n}\n#+end" 0 19 (:parent #150)) (subscript (:begin 11623 :end 11628 :use-brackets-p nil :contents-begin 11624 :contents-end 11627 :post-blank 1 :parent #150) #("src" 0 3 (:parent #183))) #("js\n" 0 3 (:parent #150))) (paragraph (:begin 11632 :end 11671 :contents-begin 11632 :contents-end 11670 :post-blank 1 :post-affiliated 11632 :mode nil :granularity nil :parent #144) #("Install the nginx webserver (as root)\n" 0 38 (:parent #151))) (fixed-width (:begin 11671 :end 11696 :value "guix package -i nginx" :post-blank 2 :post-affiliated 11671 :mode nil :granularity nil :parent #144)) (paragraph (:begin 11696 :end 11777 :contents-begin 11696 :contents-end 11776 :post-blank 1 :post-affiliated 11696 :mode nil :granularity nil :parent #144) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #153))) (fixed-width (:begin 11777 :end 11964 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 11777 :mode nil :granularity nil :parent #144)) (paragraph (:begin 11964 :end 11979 :contents-begin 11964 :contents-end 11978 :post-blank 1 :post-affiliated 11964 :mode nil :granularity nil :parent #144) #("Use that path\n" 0 14 (:parent #155))) (fixed-width (:begin 11979 :end 12373 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 11979 :mode nil :granularity nil :parent #144)) (paragraph (:begin 12373 :end 12599 :contents-begin 12373 :contents-end 12599 :post-blank 0 :post-affiliated 12373 :mode nil :granularity nil :parent #144) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #157))) (fixed-width (:begin 12599 :end 12646 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 12599 :mode nil :granularity nil :parent #144)) (paragraph (:begin 12646 :end 12657 :contents-begin 12646 :contents-end 12656 :post-blank 1 :post-affiliated 12646 :mode nil :granularity nil :parent #144) #("Make dirs\n" 0 10 (:parent #159))) (fixed-width (:begin 12657 :end 12691 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 12657 :mode nil :granularity nil :parent #144)) (paragraph (:begin 12691 :end 12702 :contents-begin 12691 :contents-end 12701 :post-blank 1 :post-affiliated 12691 :mode nil :granularity nil :parent #144) #("Add users\n" 0 10 (:parent #161))) (fixed-width (:begin 12702 :end 12738 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 12702 :mode nil :granularity nil :parent #144)) (paragraph (:begin 12738 :end 12749 :contents-begin 12738 :contents-end 12748 :post-blank 1 :post-affiliated 12738 :mode nil :granularity nil :parent #144) #("Run nginx\n" 0 10 (:parent #163))) (fixed-width (:begin 12749 :end 12839 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 12749 :mode nil :granularity nil :parent #144))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 12840 :end 13801 :pre-blank 1 :contents-begin 12902 :contents-end 13801 :robust-begin 12904 :robust-end 13799 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12840 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #137))) :mode nil :granularity nil :parent #127) (section (:begin 12902 :end 12959 :contents-begin 12902 :contents-end 12958 :robust-begin 12902 :robust-end 12956 :post-blank 1 :post-affiliated 12902 :mode section :granularity nil :parent #137) (paragraph (:begin 12902 :end 12958 :contents-begin 12902 :contents-end 12958 :post-blank 0 :post-affiliated 12902 :mode planning :granularity nil :parent #140) #("See the document " 0 17 (:parent #143)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 12919 :end 12956 :contents-begin nil :contents-end nil :post-blank 0 :parent #143)) #(".\n" 0 2 (:parent #143)))) (headline (:raw-value "Update to recent guix" :begin 12959 :end 13409 :pre-blank 1 :contents-begin 12985 :contents-end 13408 :robust-begin 12987 :robust-end 13406 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12959 :title (#("Update to recent guix" 0 21 (:parent #141))) :mode nil :granularity nil :parent #137) (section (:begin 12985 :end 13409 :contents-begin 12985 :contents-end 13408 :robust-begin 12985 :robust-end 13406 :post-blank 1 :post-affiliated 12985 :mode section :granularity nil :parent #141) (paragraph (:begin 12985 :end 13020 :contents-begin 12985 :contents-end 13019 :post-blank 1 :post-affiliated 12985 :mode planning :granularity nil :parent #144) #("We now compile Guix from scratch.\n" 0 34 (:parent #147))) (paragraph (:begin 13020 :end 13295 :contents-begin 13020 :contents-end 13294 :post-blank 1 :post-affiliated 13020 :mode nil :granularity nil :parent #144) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #148)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 13159 :end 13272 :contents-begin 13264 :contents-end 13269 :post-blank 1 :parent #148) #("these" 0 5 (:parent #152))) #("steps carefully after\n" 0 22 (:parent #148))) (fixed-width (:begin 13295 :end 13330 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 13295 :mode nil :granularity nil :parent #144)) (paragraph (:begin 13330 :end 13408 :contents-begin 13330 :contents-end 13408 :post-blank 0 :post-affiliated 13330 :mode nil :granularity nil :parent #144) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #150))))) (headline (:raw-value "Install GN2" :begin 13409 :end 13801 :pre-blank 1 :contents-begin 13425 :contents-end 13801 :robust-begin 13427 :robust-end 13799 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 13409 :title (#("Install GN2" 0 11 (:parent #142))) :mode nil :granularity nil :parent #137) (section (:begin 13425 :end 13801 :contents-begin 13425 :contents-end 13801 :robust-begin 13425 :robust-end 13799 :post-blank 0 :post-affiliated 13425 :mode section :granularity nil :parent #142) (paragraph (:begin 13425 :end 13468 :contents-begin 13425 :contents-end 13467 :post-blank 1 :post-affiliated 13425 :mode planning :granularity nil :parent #145) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #148))) (paragraph (:begin 13468 :end 13676 :contents-begin 13468 :contents-end 13675 :post-blank 1 :post-affiliated 13468 :mode nil :granularity nil :parent #145) #("#+begin" 0 7 (:parent #149)) (subscript (:begin 13475 :end 13480 :use-brackets-p nil :contents-begin 13476 :contents-end 13479 :post-blank 1 :parent #149) #("src" 0 3 (:parent #153))) #("bash\nenv GUIX" 0 13 (:parent #149)) (subscript (:begin 13493 :end 13501 :use-brackets-p nil :contents-begin 13494 :contents-end 13501 :post-blank 0 :parent #149) #("PACKAGE" 0 7 (:parent #155))) (subscript (:begin 13501 :end 13506 :use-brackets-p nil :contents-begin 13502 :contents-end 13506 :post-blank 0 :parent #149) #("PATH" 0 4 (:parent #156))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #149)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 13605 :end 13633 :contents-begin nil :contents-end nil :post-blank 1 :parent #149)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 13633 :end 13658 :contents-begin nil :contents-end nil :post-blank 0 :parent #149)) #("\"\n#+end" 0 7 (:parent #149)) (subscript (:begin 13665 :end 13670 :use-brackets-p nil :contents-begin 13666 :contents-end 13669 :post-blank 1 :parent #149) #("src" 0 3 (:parent #161))) #("bash\n" 0 5 (:parent #149))) (paragraph (:begin 13676 :end 13714 :contents-begin 13676 :contents-end 13713 :post-blank 1 :post-affiliated 13676 :mode nil :granularity nil :parent #145) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #150))) (paragraph (:begin 13714 :end 13801 :contents-begin 13714 :contents-end 13801 :post-blank 0 :post-affiliated 13714 :mode nil :granularity nil :parent #145) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #151)))))))) #57)) #33)) . #0)) (paragraph (:begin 124 :end 156 :contents-begin 124 :contents-end 156 :post-blank 0 :post-affiliated 124 :mode nil :granularity nil :parent #1) (link (:type "custom-id" :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil :begin 124 :end 155 :contents-begin 141 :contents-end 153 :post-blank 0 :parent #4) #("Introduction" 0 12 (:parent #7))) #("\n" 0 1 (:parent #4)))) (item (:bullet "- " :begin 156 :end 521 :contents-begin 159 :contents-end 521 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 156 :tag nil :mode item :granularity nil :parent (plain-list (:type unordered :begin 121 :end 1403 :contents-begin 121 :contents-end 1403 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 121 :mode planning :granularity nil :parent (section (:begin 121 :end 1404 :contents-begin 121 :contents-end 1403 :robust-begin 121 :robust-end 1401 :post-blank 1 :post-affiliated 121 :mode section :granularity nil :parent (headline (:raw-value "Table of Contents" :begin 43 :end 1404 :pre-blank 0 :contents-begin 121 :contents-end 1403 :robust-begin 123 :robust-end 1401 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 43 :title (#("Table of Contents" 0 17 (:parent #82))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13801 :end 13801 :robust-begin 3 :robust-end 13799 :post-blank 0 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 43 :contents-begin 1 :contents-end 42 :robust-begin 1 :robust-end 40 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #128) (keyword (:key "TITLE" :value "Installing GeneNetwork services" :begin 1 :end 42 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #131))) #82 (headline (:raw-value "Introduction" :begin 1404 :end 2450 :pre-blank 1 :contents-begin 1420 :contents-end 2449 :robust-begin 1422 :robust-end 2447 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1404 :title (#("Introduction" 0 12 (:parent #133))) :mode nil :granularity nil :parent #128) (section (:begin 1420 :end 2450 :contents-begin 1420 :contents-end 2449 :robust-begin 1420 :robust-end 2447 :post-blank 1 :post-affiliated 1420 :mode section :granularity nil :parent #133) (paragraph (:begin 1420 :end 1557 :contents-begin 1420 :contents-end 1556 :post-blank 1 :post-affiliated 1420 :mode planning :granularity nil :parent #136) #("If you want to understand the architecture of GN2 read\n" 0 55 (:parent #139)) (link (:type "fuzzy" :path "Architecture.org" :format bracket :raw-link "Architecture.org" :application nil :search-option nil :begin 1475 :end 1495 :contents-begin nil :contents-end nil :post-blank 0 :parent #139)) #(". The rest of this document is mostly on deployment\nof GN2.\n" 0 61 (:parent #139))) (paragraph (:begin 1557 :end 1943 :contents-begin 1557 :contents-end 1942 :post-blank 1 :post-affiliated 1557 :mode nil :granularity nil :parent #136) #("Large system deployments can get very " 0 38 (:parent #140)) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg " :format bracket :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg " :application nil :search-option nil :begin 1595 :end 1656 :contents-begin 1647 :contents-end 1654 :post-blank 0 :parent #140) #("complex" 0 7 (:parent #144))) #(". In this document we\nexplain the GeneNetwork version 2 (GN2) reproducible deployment system\nwhich is based on GNU Guix (see also " 0 130 (:parent #140)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1786 :end 1860 :contents-begin 1848 :contents-end 1858 :post-blank 0 :parent #140) #("Guix-notes" 0 10 (:parent #146))) #("). The Guix\nsystem can be used to install GN with all its files and dependencies.\n" 0 82 (:parent #140))) (paragraph (:begin 1943 :end 2328 :contents-begin 1943 :contents-end 2327 :post-blank 1 :post-affiliated 1943 :mode nil :granularity nil :parent #136) #("The official installation path is from a checked out version of the\nmain Guix package tree and that of the Genenetwork package\ntree. Current supported versions can be found as the SHA values of\n'gn-latest' branches of " 0 218 (:parent #141)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :application nil :search-option nil :begin 2161 :end 2252 :contents-begin 2230 :contents-end 2249 :post-blank 1 :parent #141) #("Guix bioinformatics" 0 19 (:parent #145))) #("and " 0 4 (:parent #141)) (link (:type "https" :path "//github.com/genenetwork/guix/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix/tree/gn-latest" :application nil :search-option nil :begin 2256 :end 2325 :contents-begin 2310 :contents-end 2323 :post-blank 0 :parent #141) #("GNU Guix main" 0 13 (:parent #147))) #(".\n" 0 2 (:parent #141))) (paragraph (:begin 2328 :end 2449 :contents-begin 2328 :contents-end 2449 :post-blank 0 :post-affiliated 2328 :mode nil :granularity nil :parent #136) #("For a full view of runtime dependencies as defined by GNU Guix, see\nthe " 0 72 (:parent #142)) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 2400 :end 2447 :contents-begin 2425 :contents-end 2445 :post-blank 0 :parent #142) #("GN2 Dependency Graph" 0 20 (:parent #146))) #(".\n" 0 2 (:parent #142))))) (headline (:raw-value "Quick installation recipe" :begin 2450 :end 7633 :pre-blank 1 :contents-begin 2479 :contents-end 7632 :robust-begin 2481 :robust-end 7630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 2450 :title (#("Quick installation recipe" 0 25 (:parent #134))) :mode nil :granularity nil :parent #128) (section (:begin 2479 :end 3022 :contents-begin 2479 :contents-end 3021 :robust-begin 2479 :robust-end 3019 :post-blank 1 :post-affiliated 2479 :mode section :granularity nil :parent #134) (paragraph (:begin 2479 :end 2880 :contents-begin 2479 :contents-end 2879 :post-blank 1 :post-affiliated 2479 :mode planning :granularity nil :parent #137) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS). For more elaborate installation\ninstructions see " 0 357 (:parent #140)) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 2836 :end 2877 :contents-begin 2858 :contents-end 2875 :post-blank 0 :parent #140) #("Source deployment" 0 17 (:parent #144))) #(".\n" 0 2 (:parent #140))) (paragraph (:begin 2880 :end 3021 :contents-begin 2880 :contents-end 3021 :post-blank 0 :post-affiliated 2880 :mode nil :granularity nil :parent #137) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #141)))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 3022 :end 4649 :pre-blank 1 :contents-begin 3051 :contents-end 4648 :robust-begin 3053 :robust-end 4646 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3022 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #138))) :mode nil :granularity nil :parent #134) (section (:begin 3051 :end 4649 :contents-begin 3051 :contents-end 4648 :robust-begin 3051 :robust-end 4646 :post-blank 1 :post-affiliated 3051 :mode section :granularity nil :parent #138) (paragraph (:begin 3051 :end 3504 :contents-begin 3051 :contents-end 3503 :post-blank 1 :post-affiliated 3051 :mode planning :granularity nil :parent #141) #("Fetch the GNU Guix binary from " 0 31 (:parent #144)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 3082 :end 3136 :contents-begin 3129 :contents-end 3133 :post-blank 1 :parent #144) #("here" 0 4 (:parent #148))) #("(middle panel) and follow\n" 0 26 (:parent #144)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 3162 :end 3255 :contents-begin 3241 :contents-end 3253 :post-blank 0 :parent #144) #("instructions" 0 12 (:parent #150))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #144))) (paragraph (:begin 3504 :end 3782 :contents-begin 3504 :contents-end 3781 :post-blank 1 :post-affiliated 3504 :mode nil :granularity nil :parent #141) #("Once you have succeeded, you have to " 0 37 (:parent #145)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 3541 :end 3631 :contents-begin 3617 :contents-end 3628 :post-blank 1 :parent #145) #("set the key" 0 11 (:parent #149))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #145))) (src-block (:language "bash" :switches nil :parameters nil :begin 3782 :end 3890 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 3782 :mode nil :granularity nil :parent #141)) (paragraph (:begin 3890 :end 3924 :contents-begin 3890 :contents-end 3923 :post-blank 1 :post-affiliated 3890 :mode nil :granularity nil :parent #141) #("Which should show something like\n" 0 33 (:parent #147))) (fixed-width (:begin 3924 :end 4034 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 3924 :mode nil :granularity nil :parent #141)) (paragraph (:begin 4034 :end 4045 :contents-begin 4034 :contents-end 4044 :post-blank 1 :post-affiliated 4034 :mode nil :granularity nil :parent #141) #("#+end" 0 5 (:parent #149)) (subscript (:begin 4039 :end 4043 :use-brackets-p nil :contents-begin 4040 :contents-end 4043 :post-blank 0 :parent #149) #("src" 0 3 (:parent #153))) #("\n" 0 1 (:parent #149))) (paragraph (:begin 4045 :end 4116 :contents-begin 4045 :contents-end 4115 :post-blank 1 :post-affiliated 4045 :mode nil :granularity nil :parent #141) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #150))) (src-block (:language "bash" :switches nil :parameters nil :begin 4116 :end 4188 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 4116 :mode nil :granularity nil :parent #141)) (paragraph (:begin 4188 :end 4375 :contents-begin 4188 :contents-end 4374 :post-blank 1 :post-affiliated 4188 :mode nil :granularity nil :parent #141) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #152))) (paragraph (:begin 4375 :end 4648 :contents-begin 4375 :contents-end 4648 :post-blank 0 :post-affiliated 4375 :mode nil :granularity nil :parent #141) #("If you need more help we have another writeup in " 0 49 (:parent #153)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 4424 :end 4520 :contents-begin 4508 :contents-end 4518 :post-blank 0 :parent #153) #("guix-notes" 0 10 (:parent #157))) #(". To get\nrid of the locale warning see " 0 39 (:parent #153)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 4559 :end 4646 :contents-begin 4634 :contents-end 4644 :post-blank 0 :parent #153) #("set-locale" 0 10 (:parent #159))) #(".\n" 0 2 (:parent #153))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 4649 :end 5304 :pre-blank 1 :contents-begin 4695 :contents-end 5302 :robust-begin 4697 :robust-end 5300 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4649 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #139))) :mode nil :granularity nil :parent #134) (section (:begin 4695 :end 5304 :contents-begin 4695 :contents-end 5302 :robust-begin 4695 :robust-end 5300 :post-blank 2 :post-affiliated 4695 :mode section :granularity nil :parent #139) (paragraph (:begin 4695 :end 4815 :contents-begin 4695 :contents-end 4814 :post-blank 1 :post-affiliated 4695 :mode planning :granularity nil :parent #142) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #145))) (src-block (:language "bash" :switches nil :parameters nil :begin 4815 :end 4920 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 4815 :mode nil :granularity nil :parent #142)) (paragraph (:begin 4920 :end 4971 :contents-begin 4920 :contents-end 4970 :post-blank 1 :post-affiliated 4920 :mode nil :granularity nil :parent #142) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #147))) (paragraph (:begin 4971 :end 5232 :contents-begin 4971 :contents-end 5231 :post-blank 1 :post-affiliated 4971 :mode nil :granularity nil :parent #142) #("#+begin" 0 7 (:parent #148)) (subscript (:begin 4978 :end 4983 :use-brackets-p nil :contents-begin 4979 :contents-end 4982 :post-blank 1 :parent #148) #("src" 0 3 (:parent #152))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #148)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 5055 :end 5105 :contents-begin nil :contents-end nil :post-blank 0 :parent #148)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #148)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 5147 :end 5183 :contents-begin nil :contents-end nil :post-blank 1 :parent #148)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #148)) (subscript (:begin 5221 :end 5226 :use-brackets-p nil :contents-begin 5222 :contents-end 5225 :post-blank 1 :parent #148) #("src" 0 3 (:parent #158))) #("bash\n" 0 5 (:parent #148))) (paragraph (:begin 5232 :end 5270 :contents-begin 5232 :contents-end 5269 :post-blank 1 :post-affiliated 5232 :mode nil :granularity nil :parent #142) #("To test whether this is working try:\n" 0 37 (:parent #149))) (paragraph (:begin 5270 :end 5302 :contents-begin 5270 :contents-end 5302 :post-blank 0 :post-affiliated 5270 :mode nil :granularity nil :parent #142) #("#+begin" 0 7 (:parent #150)) (subscript (:begin 5277 :end 5282 :use-brackets-p nil :contents-begin 5278 :contents-end 5281 :post-blank 1 :parent #150) #("src" 0 3 (:parent #154))) #("bash\n#+end" 0 10 (:parent #150)) (subscript (:begin 5292 :end 5297 :use-brackets-p nil :contents-begin 5293 :contents-end 5296 :post-blank 1 :parent #150) #("src" 0 3 (:parent #156))) #("bash\n" 0 5 (:parent #150))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 5304 :end 5755 :pre-blank 1 :contents-begin 5345 :contents-end 5754 :robust-begin 5347 :robust-end 5752 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5304 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #140))) :mode nil :granularity nil :parent #134) (section (:begin 5345 :end 5755 :contents-begin 5345 :contents-end 5754 :robust-begin 5345 :robust-end 5752 :post-blank 1 :post-affiliated 5345 :mode section :granularity nil :parent #140) (paragraph (:begin 5345 :end 5445 :contents-begin 5345 :contents-end 5444 :post-blank 1 :post-affiliated 5345 :mode planning :granularity nil :parent #143) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #146))) (src-block (:language "scheme" :switches nil :parameters nil :begin 5445 :end 5589 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 5445 :mode nil :granularity nil :parent #143)) (paragraph (:begin 5589 :end 5621 :contents-begin 5589 :contents-end 5620 :post-blank 1 :post-affiliated 5589 :mode nil :granularity nil :parent #143) #("by pasting it into the command\n" 0 31 (:parent #148))) (src-block (:language "bash" :switches nil :parameters nil :begin 5621 :end 5674 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 5621 :mode nil :granularity nil :parent #143)) (paragraph (:begin 5674 :end 5691 :contents-begin 5674 :contents-end 5690 :post-blank 1 :post-affiliated 5674 :mode nil :granularity nil :parent #143) #("and hit Ctrl-D.\n" 0 16 (:parent #150))) (paragraph (:begin 5691 :end 5754 :contents-begin 5691 :contents-end 5754 :post-blank 0 :post-affiliated 5691 :mode nil :granularity nil :parent #143) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #151))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 5755 :end 7633 :pre-blank 1 :contents-begin 5787 :contents-end 7632 :robust-begin 5789 :robust-end 7630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5755 :title (#("Step 4: Install and run GN2" 0 27 (:parent #141))) :mode nil :granularity nil :parent #134) (section (:begin 5787 :end 7633 :contents-begin 5787 :contents-end 7632 :robust-begin 5787 :robust-end 7630 :post-blank 1 :post-affiliated 5787 :mode section :granularity nil :parent #141) (paragraph (:begin 5787 :end 5927 :contents-begin 5787 :contents-end 5926 :post-blank 1 :post-affiliated 5787 :mode planning :granularity nil :parent #144) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #147))) (src-block (:language "bash" :switches nil :parameters nil :begin 5927 :end 6046 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 5927 :mode nil :granularity nil :parent #144)) (paragraph (:begin 6046 :end 6099 :contents-begin 6046 :contents-end 6098 :post-blank 1 :post-affiliated 6046 :mode nil :granularity nil :parent #144) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #149))) (src-block (:language "bash" :switches nil :parameters nil :begin 6099 :end 6289 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 6099 :mode nil :granularity nil :parent #144)) (paragraph (:begin 6289 :end 6398 :contents-begin 6289 :contents-end 6397 :post-blank 1 :post-affiliated 6289 :mode nil :granularity nil :parent #144) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #151)) (italic (:begin 6360 :end 6366 :post-blank 0 :contents-begin 6361 :contents-end 6365 :parent #151) #("root" 0 4 (:parent #155))) #(".config/guix/latest override).\n" 0 31 (:parent #151))) (paragraph (:begin 6398 :end 6416 :contents-begin 6398 :contents-end 6415 :post-blank 1 :post-affiliated 6398 :mode nil :granularity nil :parent #144) #("And install with\n" 0 17 (:parent #152))) (src-block (:language "bash" :switches nil :parameters nil :begin 6416 :end 6586 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 6416 :mode nil :granularity nil :parent #144)) (paragraph (:begin 6586 :end 6729 :contents-begin 6586 :contents-end 6728 :post-blank 1 :post-affiliated 6586 :mode nil :granularity nil :parent #144) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #154))) (paragraph (:begin 6729 :end 6925 :contents-begin 6729 :contents-end 6924 :post-blank 1 :post-affiliated 6729 :mode nil :granularity nil :parent #144) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #155))) (paragraph (:begin 6925 :end 7056 :contents-begin 6925 :contents-end 7055 :post-blank 1 :post-affiliated 6925 :mode nil :granularity nil :parent #144) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #156))) (src-block (:language "bash" :switches nil :parameters nil :begin 7056 :end 7235 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python2.7/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 7056 :mode nil :granularity nil :parent #144)) (paragraph (:begin 7235 :end 7304 :contents-begin 7235 :contents-end 7303 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #144) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #158))) (src-block (:language "bash" :switches nil :parameters nil :begin 7304 :end 7345 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 7304 :mode nil :granularity nil :parent #144)) (paragraph (:begin 7345 :end 7596 :contents-begin 7345 :contents-end 7595 :post-blank 1 :post-affiliated 7345 :mode nil :granularity nil :parent #144) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #160)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 7567 :end 7593 :contents-begin nil :contents-end nil :post-blank 0 :parent #160)) #(".\n" 0 2 (:parent #160))) (paragraph (:begin 7596 :end 7632 :contents-begin 7596 :contents-end 7632 :post-blank 0 :post-affiliated 7596 :mode nil :granularity nil :parent #144) #("End of the GN2 installation recipe!\n" 0 36 (:parent #161)))))) (headline (:raw-value "Run MySQL server" :begin 7633 :end 9008 :pre-blank 1 :contents-begin 7653 :contents-end 9007 :robust-begin 7655 :robust-end 9005 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7633 :title (#("Run MySQL server" 0 16 (:parent #135))) :mode nil :granularity nil :parent #128) (section (:begin 7653 :end 9008 :contents-begin 7653 :contents-end 9007 :robust-begin 7653 :robust-end 9005 :post-blank 1 :post-affiliated 7653 :mode section :granularity nil :parent #135) (paragraph (:begin 7653 :end 7928 :contents-begin 7653 :contents-end 7927 :post-blank 1 :post-affiliated 7653 :mode planning :granularity nil :parent #138) #("At this point we require the underlying distribution to install and\nrun mysqld. Currently we have two databases for deployment,\n'db" 0 131 (:parent #141)) (subscript (:begin 7784 :end 7791 :use-brackets-p nil :contents-begin 7785 :contents-end 7791 :post-blank 0 :parent #141) #("webqtl" 0 6 (:parent #145))) (subscript (:begin 7791 :end 7793 :use-brackets-p nil :contents-begin 7792 :contents-end 7793 :post-blank 0 :parent #141) #("s" 0 1 (:parent #146))) #("' is the small testing database containing experiments\nfrom BXD mice and 'db" 0 76 (:parent #141)) (subscript (:begin 7869 :end 7876 :use-brackets-p nil :contents-begin 7870 :contents-end 7876 :post-blank 0 :parent #141) #("webqtl" 0 6 (:parent #148))) (subscript (:begin 7876 :end 7882 :use-brackets-p nil :contents-begin 7877 :contents-end 7882 :post-blank 0 :parent #141) #("plant" 0 5 (:parent #149))) #("' which contains all plant related\nmaterial.\n" 0 45 (:parent #141))) (paragraph (:begin 7928 :end 7956 :contents-begin 7928 :contents-end 7955 :post-blank 1 :post-affiliated 7928 :mode nil :granularity nil :parent #138) #("Download one database from\n" 0 27 (:parent #142))) (paragraph (:begin 7956 :end 8054 :contents-begin 7956 :contents-end 8053 :post-blank 1 :post-affiliated 7956 :mode nil :granularity nil :parent #138) (link (:type "http" :path "//files.genenetwork.org/raw_database/" :format plain :raw-link "http://files.genenetwork.org/raw_database/" :application nil :search-option nil :begin 7956 :end 7998 :contents-begin nil :contents-end nil :post-blank 0 :parent #143)) #("\n" 0 1 (:parent #143)) (link (:type "https" :path "//s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :format plain :raw-link "https://s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :application nil :search-option nil :begin 7999 :end 8052 :contents-begin nil :contents-end nil :post-blank 0 :parent #143)) #("\n" 0 1 (:parent #143))) (paragraph (:begin 8054 :end 8073 :contents-begin 8054 :contents-end 8072 :post-blank 1 :post-affiliated 8054 :mode nil :granularity nil :parent #138) #("Check the md5sum.\n" 0 18 (:parent #144))) (paragraph (:begin 8073 :end 8195 :contents-begin 8073 :contents-end 8194 :post-blank 1 :post-affiliated 8073 :mode nil :granularity nil :parent #138) #("After installation inflate the database binary in the MySQL directory\n(this installation path is subject to change soon)\n" 0 121 (:parent #145))) (fixed-width (:begin 8195 :end 8283 :value "chown -R mysql:mysql db_webqtl_s/\nchmod 700 db_webqtl_s/\nchmod 660 db_webqtl_s/*" :post-blank 2 :post-affiliated 8195 :mode nil :granularity nil :parent #138)) (paragraph (:begin 8283 :end 8334 :contents-begin 8283 :contents-end 8333 :post-blank 1 :post-affiliated 8283 :mode nil :granularity nil :parent #138) #("restart MySQL service (mysqld). Login as root and\n" 0 50 (:parent #147))) (fixed-width (:begin 8334 :end 8560 :value "mysql> show databases;\n+--------------------+\n| Database |\n+--------------------+\n| information_schema |\n| db_webqtl_s |\n| mysql |\n| performance_schema |\n+--------------------+" :post-blank 2 :post-affiliated 8334 :mode nil :granularity nil :parent #138)) (paragraph (:begin 8560 :end 8625 :contents-begin 8560 :contents-end 8624 :post-blank 1 :post-affiliated 8560 :mode nil :granularity nil :parent #138) #("Set permissions and match password in your settings file below:\n" 0 64 (:parent #149))) (fixed-width (:begin 8625 :end 8724 :value "mysql> grant all privileges on db_webqtl_s.* to gn2@\"localhost\" identified by 'mysql_password';" :post-blank 2 :post-affiliated 8625 :mode nil :granularity nil :parent #138)) (paragraph (:begin 8724 :end 8875 :contents-begin 8724 :contents-end 8874 :post-blank 1 :post-affiliated 8724 :mode nil :granularity nil :parent #138) #("Note that if the mysql connection is not working, try connecting to\nthe IP address and check server firewall, hosts.allow and mysql IP\nconfiguration.\n" 0 150 (:parent #151))) (paragraph (:begin 8875 :end 9007 :contents-begin 8875 :contents-end 9007 :post-blank 0 :post-affiliated 8875 :mode nil :granularity nil :parent #138) #("Note for the plant database you can rename it to db" 0 51 (:parent #152)) (subscript (:begin 8926 :end 8933 :use-brackets-p nil :contents-begin 8927 :contents-end 8933 :post-blank 0 :parent #152) #("webqtl" 0 6 (:parent #156))) (subscript (:begin 8933 :end 8935 :use-brackets-p nil :contents-begin 8934 :contents-end 8935 :post-blank 0 :parent #152) #("s" 0 1 (:parent #157))) #(", or\nchange the settings in etc/default" 0 39 (:parent #152)) (subscript (:begin 8974 :end 8987 :use-brackets-p nil :contents-begin 8975 :contents-end 8986 :post-blank 1 :parent #152) #("settings.py" 0 11 (:parent #159))) #("to match your path.\n" 0 20 (:parent #152))))) (headline (:raw-value "GN2 Dependency Graph" :begin 9008 :end 9172 :pre-blank 1 :contents-begin 9032 :contents-end 9171 :robust-begin 9034 :robust-end 9169 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9008 :title (#("GN2 Dependency Graph" 0 20 (:parent #136))) :mode nil :granularity nil :parent #128) (section (:begin 9032 :end 9172 :contents-begin 9032 :contents-end 9171 :robust-begin 9032 :robust-end 9169 :post-blank 1 :post-affiliated 9032 :mode section :granularity nil :parent #136) (paragraph (:begin 9032 :end 9093 :contents-begin 9032 :contents-end 9092 :post-blank 1 :post-affiliated 9032 :mode planning :granularity nil :parent #139) #("Graph of all runtime dependencies as installed by GNU Guix.\n" 0 60 (:parent #142))) (paragraph (:begin 9093 :end 9171 :contents-begin 9123 :contents-end 9171 :post-blank 0 :post-affiliated 9123 :attr_html (":title GN2_graph") :mode nil :granularity nil :parent #139) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg" :format plain :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg" :application nil :search-option nil :begin 9123 :end 9170 :contents-begin nil :contents-end nil :post-blank 0 :parent #143)) #("\n" 0 1 (:parent #143))))) (headline (:raw-value "Source deployment" :begin 9172 :end 12840 :pre-blank 1 :contents-begin 9193 :contents-end 12839 :robust-begin 9195 :robust-end 12837 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9172 :title (#("Source deployment" 0 17 (:parent #137))) :mode nil :granularity nil :parent #128) (section (:begin 9193 :end 9612 :contents-begin 9193 :contents-end 9610 :robust-begin 9193 :robust-end 9608 :post-blank 2 :post-affiliated 9193 :mode section :granularity nil :parent #137) (paragraph (:begin 9193 :end 9274 :contents-begin 9193 :contents-end 9273 :post-blank 1 :post-affiliated 9193 :mode planning :granularity nil :parent #140) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #143))) (paragraph (:begin 9274 :end 9304 :contents-begin 9274 :contents-end 9303 :post-blank 1 :post-affiliated 9274 :mode nil :granularity nil :parent #140) #("First execute above 4 steps:\n" 0 29 (:parent #144))) (plain-list (:type unordered :begin 9304 :end 9610 :contents-begin 9304 :contents-end 9610 :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :post-blank 0 :post-affiliated 9304 :mode nil :granularity nil :parent #140) (item (:bullet "- " :begin 9304 :end 9364 :contents-begin 9309 :contents-end 9364 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9304 :tag nil :mode item :granularity nil :parent #145) (paragraph (:begin 9309 :end 9364 :contents-begin 9309 :contents-end 9364 :post-blank 0 :post-affiliated 9309 :mode nil :granularity nil :parent #148) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 9309 :end 9363 :contents-begin 9337 :contents-end 9361 :post-blank 0 :parent #151) #("Step 1: Install GNU Guix" 0 24 (:parent #154))) #("\n" 0 1 (:parent #151)))) (item (:bullet "- " :begin 9364 :end 9458 :contents-begin 9369 :contents-end 9458 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9364 :tag nil :mode item :granularity nil :parent #145) (paragraph (:begin 9369 :end 9458 :contents-begin 9369 :contents-end 9458 :post-blank 0 :post-affiliated 9369 :mode nil :granularity nil :parent #149) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 9369 :end 9457 :contents-begin 9414 :contents-end 9455 :post-blank 0 :parent #152) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #155))) #("\n" 0 1 (:parent #152)))) (item (:bullet "- " :begin 9458 :end 9542 :contents-begin 9463 :contents-end 9542 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9458 :tag nil :mode item :granularity nil :parent #145) (paragraph (:begin 9463 :end 9542 :contents-begin 9463 :contents-end 9542 :post-blank 0 :post-affiliated 9463 :mode nil :granularity nil :parent #150) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 9463 :end 9541 :contents-begin 9503 :contents-end 9539 :post-blank 0 :parent #153) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #156))) #("\n" 0 1 (:parent #153)))) (item (:bullet "- " :begin 9542 :end 9610 :contents-begin 9547 :contents-end 9610 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9542 :tag nil :mode item :granularity nil :parent #145) (paragraph (:begin 9547 :end 9610 :contents-begin 9547 :contents-end 9610 :post-blank 0 :post-affiliated 9547 :mode nil :granularity nil :parent #151) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 9547 :end 9609 :contents-begin 9579 :contents-end 9607 :post-blank 0 :parent #154) #("Step 4: Install and run GN2 " 0 28 (:parent #157))) #("\n" 0 1 (:parent #154)))))) (headline (:raw-value "Run your own copy of GN2" :begin 9612 :end 10722 :pre-blank 1 :contents-begin 9641 :contents-end 10721 :robust-begin 9643 :robust-end 10719 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9612 :title (#("Run your own copy of GN2" 0 24 (:parent #141))) :mode nil :granularity nil :parent #137) (section (:begin 9641 :end 10722 :contents-begin 9641 :contents-end 10721 :robust-begin 9641 :robust-end 10719 :post-blank 1 :post-affiliated 9641 :mode section :granularity nil :parent #141) (paragraph (:begin 9641 :end 9839 :contents-begin 9641 :contents-end 9838 :post-blank 1 :post-affiliated 9641 :mode planning :granularity nil :parent #144) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #147)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 9793 :end 9836 :contents-begin nil :contents-end nil :post-blank 0 :parent #147)) #(".\n" 0 2 (:parent #147))) (paragraph (:begin 9839 :end 9964 :contents-begin 9839 :contents-end 9963 :post-blank 1 :post-affiliated 9839 :mode nil :granularity nil :parent #144) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #148)) (subscript (:begin 9896 :end 9902 :use-brackets-p nil :contents-begin 9897 :contents-end 9901 :post-blank 1 :parent #148) #("PATH" 0 4 (:parent #152))) #("and\nR" 0 5 (:parent #148)) (subscript (:begin 9907 :end 9912 :use-brackets-p nil :contents-begin 9908 :contents-end 9912 :post-blank 0 :parent #148) #("LIBS" 0 4 (:parent #154))) (subscript (:begin 9912 :end 9918 :use-brackets-p nil :contents-begin 9913 :contents-end 9917 :post-blank 1 :parent #148) #("SITE" 0 4 (:parent #155))) #("are set) from the information given by guix:\n" 0 45 (:parent #148))) (fixed-width (:begin 9964 :end 9995 :value "guix package --search-paths" :post-blank 2 :post-affiliated 9964 :mode nil :granularity nil :parent #144)) (paragraph (:begin 9995 :end 10019 :contents-begin 9995 :contents-end 10018 :post-blank 1 :post-affiliated 9995 :mode nil :granularity nil :parent #144) #("Inside the repository:\n" 0 23 (:parent #150))) (fixed-width (:begin 10019 :end 10059 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 10019 :mode nil :granularity nil :parent #144)) (paragraph (:begin 10059 :end 10303 :contents-begin 10059 :contents-end 10302 :post-blank 1 :post-affiliated 10059 :mode nil :granularity nil :parent #144) #("Will fire up your local repo " 0 29 (:parent #152)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 10088 :end 10111 :contents-begin nil :contents-end nil :post-blank 1 :parent #152)) #("using the\nsettings in ./etc/default" 0 35 (:parent #152)) (subscript (:begin 10146 :end 10158 :use-brackets-p nil :contents-begin 10147 :contents-end 10158 :post-blank 0 :parent #152) #("settings.py" 0 11 (:parent #158))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #152)) (subscript (:begin 10263 :end 10276 :use-brackets-p nil :contents-begin 10264 :contents-end 10275 :post-blank 1 :parent #152) #("settings.py" 0 11 (:parent #160))) #("and pass it into GN2 with\n" 0 26 (:parent #152))) (fixed-width (:begin 10303 :end 10346 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 10303 :mode nil :granularity nil :parent #144)) (paragraph (:begin 10346 :end 10492 :contents-begin 10346 :contents-end 10491 :post-blank 1 :post-affiliated 10346 :mode nil :granularity nil :parent #144) #("and everything " 0 15 (:parent #154)) (bold (:begin 10361 :end 10370 :post-blank 1 :contents-begin 10362 :contents-end 10368 :parent #154) #("should" 0 6 (:parent #158))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #154))) (paragraph (:begin 10492 :end 10620 :contents-begin 10492 :contents-end 10619 :post-blank 1 :post-affiliated 10492 :mode nil :granularity nil :parent #144) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #155))) (fixed-width (:begin 10620 :end 10721 :value "cat ~/.guix-profile/lib/python2.7/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 10620 :mode nil :granularity nil :parent #144)))) (headline (:raw-value "Set up nginx port forwarding" :begin 10722 :end 12840 :pre-blank 1 :contents-begin 10755 :contents-end 12839 :robust-begin 10757 :robust-end 12837 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 10722 :title (#("Set up nginx port forwarding" 0 28 (:parent #142))) :mode nil :granularity nil :parent #137) (section (:begin 10755 :end 12840 :contents-begin 10755 :contents-end 12839 :robust-begin 10755 :robust-end 12837 :post-blank 1 :post-affiliated 10755 :mode section :granularity nil :parent #142) (paragraph (:begin 10755 :end 10923 :contents-begin 10755 :contents-end 10922 :post-blank 1 :post-affiliated 10755 :mode planning :granularity nil :parent #145) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #148))) (paragraph (:begin 10923 :end 11063 :contents-begin 10923 :contents-end 11062 :post-blank 1 :post-affiliated 10923 :mode nil :granularity nil :parent #145) #("#+begin" 0 7 (:parent #149)) (subscript (:begin 10930 :end 10935 :use-brackets-p nil :contents-begin 10931 :contents-end 10934 :post-blank 1 :parent #149) #("src" 0 3 (:parent #153))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #149)) (subscript (:begin 10984 :end 10990 :use-brackets-p nil :contents-begin 10985 :contents-end 10989 :post-blank 1 :parent #149) #("name" 0 4 (:parent #155))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #149)) (subscript (:begin 11030 :end 11036 :use-brackets-p nil :contents-begin 11031 :contents-end 11034 :post-blank 2 :parent #149) #("log" 0 3 (:parent #157))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #149))) (paragraph (:begin 11063 :end 11232 :contents-begin 11063 :contents-end 11231 :post-blank 1 :post-affiliated 11063 :mode nil :granularity nil :parent #145) #(" proxy" 0 13 (:parent #150)) (subscript (:begin 11076 :end 11084 :use-brackets-p nil :contents-begin 11077 :contents-end 11084 :post-blank 0 :parent #150) #("connect" 0 7 (:parent #154))) (subscript (:begin 11084 :end 11099 :use-brackets-p nil :contents-begin 11085 :contents-end 11092 :post-blank 7 :parent #150) #("timeout" 0 7 (:parent #155))) #("3000;\n proxy" 0 19 (:parent #150)) (subscript (:begin 11118 :end 11123 :use-brackets-p nil :contents-begin 11119 :contents-end 11123 :post-blank 0 :parent #150) #("send" 0 4 (:parent #157))) (subscript (:begin 11123 :end 11141 :use-brackets-p nil :contents-begin 11124 :contents-end 11131 :post-blank 10 :parent #150) #("timeout" 0 7 (:parent #158))) #("3000;\n proxy" 0 19 (:parent #150)) (subscript (:begin 11160 :end 11165 :use-brackets-p nil :contents-begin 11161 :contents-end 11165 :post-blank 0 :parent #150) #("read" 0 4 (:parent #160))) (subscript (:begin 11165 :end 11183 :use-brackets-p nil :contents-begin 11166 :contents-end 11173 :post-blank 10 :parent #150) #("timeout" 0 7 (:parent #161))) #("3000;\n send" 0 18 (:parent #150)) (subscript (:begin 11201 :end 11225 :use-brackets-p nil :contents-begin 11202 :contents-end 11209 :post-blank 16 :parent #150) #("timeout" 0 7 (:parent #163))) #("3000;\n" 0 6 (:parent #150))) (paragraph (:begin 11232 :end 11632 :contents-begin 11232 :contents-end 11631 :post-blank 1 :post-affiliated 11232 :mode nil :granularity nil :parent #145) #(" location / {\n proxy" 0 38 (:parent #151)) (subscript (:begin 11270 :end 11274 :use-brackets-p nil :contents-begin 11271 :contents-end 11274 :post-blank 0 :parent #151) #("set" 0 3 (:parent #155))) (subscript (:begin 11274 :end 11284 :use-brackets-p nil :contents-begin 11275 :contents-end 11281 :post-blank 3 :parent #151) #("header" 0 6 (:parent #156))) #("Host $http" 0 15 (:parent #151)) (subscript (:begin 11299 :end 11304 :use-brackets-p nil :contents-begin 11300 :contents-end 11304 :post-blank 0 :parent #151) #("host" 0 4 (:parent #158))) #(";\n proxy" 0 19 (:parent #151)) (subscript (:begin 11323 :end 11327 :use-brackets-p nil :contents-begin 11324 :contents-end 11327 :post-blank 0 :parent #151) #("set" 0 3 (:parent #160))) (subscript (:begin 11327 :end 11337 :use-brackets-p nil :contents-begin 11328 :contents-end 11334 :post-blank 3 :parent #151) #("header" 0 6 (:parent #161))) #("Connection keep-alive;\n proxy" 0 40 (:parent #151)) (subscript (:begin 11377 :end 11381 :use-brackets-p nil :contents-begin 11378 :contents-end 11381 :post-blank 0 :parent #151) #("set" 0 3 (:parent #163))) (subscript (:begin 11381 :end 11391 :use-brackets-p nil :contents-begin 11382 :contents-end 11388 :post-blank 3 :parent #151) #("header" 0 6 (:parent #164))) #("X-Real-IP $remote" 0 17 (:parent #151)) (subscript (:begin 11408 :end 11413 :use-brackets-p nil :contents-begin 11409 :contents-end 11413 :post-blank 0 :parent #151) #("addr" 0 4 (:parent #166))) #(";\n proxy" 0 19 (:parent #151)) (subscript (:begin 11432 :end 11436 :use-brackets-p nil :contents-begin 11433 :contents-end 11436 :post-blank 0 :parent #151) #("set" 0 3 (:parent #168))) (subscript (:begin 11436 :end 11446 :use-brackets-p nil :contents-begin 11437 :contents-end 11443 :post-blank 3 :parent #151) #("header" 0 6 (:parent #169))) #("X-Forwarded-For $proxy" 0 22 (:parent #151)) (subscript (:begin 11468 :end 11472 :use-brackets-p nil :contents-begin 11469 :contents-end 11472 :post-blank 0 :parent #151) #("add" 0 3 (:parent #171))) (subscript (:begin 11472 :end 11474 :use-brackets-p nil :contents-begin 11473 :contents-end 11474 :post-blank 0 :parent #151) #("x" 0 1 (:parent #172))) (subscript (:begin 11474 :end 11484 :use-brackets-p nil :contents-begin 11475 :contents-end 11484 :post-blank 0 :parent #151) #("forwarded" 0 9 (:parent #173))) (subscript (:begin 11484 :end 11488 :use-brackets-p nil :contents-begin 11485 :contents-end 11488 :post-blank 0 :parent #151) #("for" 0 3 (:parent #174))) #(";\n proxy" 0 19 (:parent #151)) (subscript (:begin 11507 :end 11511 :use-brackets-p nil :contents-begin 11508 :contents-end 11511 :post-blank 0 :parent #151) #("set" 0 3 (:parent #176))) (subscript (:begin 11511 :end 11521 :use-brackets-p nil :contents-begin 11512 :contents-end 11518 :post-blank 3 :parent #151) #("header" 0 6 (:parent #177))) #("X-Forwarded-Host $server" 0 24 (:parent #151)) (subscript (:begin 11545 :end 11550 :use-brackets-p nil :contents-begin 11546 :contents-end 11550 :post-blank 0 :parent #151) #("name" 0 4 (:parent #179))) #(";\n proxy" 0 19 (:parent #151)) (subscript (:begin 11569 :end 11583 :use-brackets-p nil :contents-begin 11570 :contents-end 11574 :post-blank 9 :parent #151) #("pass" 0 4 (:parent #181))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 11583 :end 11604 :contents-begin nil :contents-end nil :post-blank 0 :parent #151)) #(";\n }\n}\n#+end" 0 19 (:parent #151)) (subscript (:begin 11623 :end 11628 :use-brackets-p nil :contents-begin 11624 :contents-end 11627 :post-blank 1 :parent #151) #("src" 0 3 (:parent #184))) #("js\n" 0 3 (:parent #151))) (paragraph (:begin 11632 :end 11671 :contents-begin 11632 :contents-end 11670 :post-blank 1 :post-affiliated 11632 :mode nil :granularity nil :parent #145) #("Install the nginx webserver (as root)\n" 0 38 (:parent #152))) (fixed-width (:begin 11671 :end 11696 :value "guix package -i nginx" :post-blank 2 :post-affiliated 11671 :mode nil :granularity nil :parent #145)) (paragraph (:begin 11696 :end 11777 :contents-begin 11696 :contents-end 11776 :post-blank 1 :post-affiliated 11696 :mode nil :granularity nil :parent #145) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #154))) (fixed-width (:begin 11777 :end 11964 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 11777 :mode nil :granularity nil :parent #145)) (paragraph (:begin 11964 :end 11979 :contents-begin 11964 :contents-end 11978 :post-blank 1 :post-affiliated 11964 :mode nil :granularity nil :parent #145) #("Use that path\n" 0 14 (:parent #156))) (fixed-width (:begin 11979 :end 12373 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 11979 :mode nil :granularity nil :parent #145)) (paragraph (:begin 12373 :end 12599 :contents-begin 12373 :contents-end 12599 :post-blank 0 :post-affiliated 12373 :mode nil :granularity nil :parent #145) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #158))) (fixed-width (:begin 12599 :end 12646 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 12599 :mode nil :granularity nil :parent #145)) (paragraph (:begin 12646 :end 12657 :contents-begin 12646 :contents-end 12656 :post-blank 1 :post-affiliated 12646 :mode nil :granularity nil :parent #145) #("Make dirs\n" 0 10 (:parent #160))) (fixed-width (:begin 12657 :end 12691 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 12657 :mode nil :granularity nil :parent #145)) (paragraph (:begin 12691 :end 12702 :contents-begin 12691 :contents-end 12701 :post-blank 1 :post-affiliated 12691 :mode nil :granularity nil :parent #145) #("Add users\n" 0 10 (:parent #162))) (fixed-width (:begin 12702 :end 12738 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 12702 :mode nil :granularity nil :parent #145)) (paragraph (:begin 12738 :end 12749 :contents-begin 12738 :contents-end 12748 :post-blank 1 :post-affiliated 12738 :mode nil :granularity nil :parent #145) #("Run nginx\n" 0 10 (:parent #164))) (fixed-width (:begin 12749 :end 12839 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 12749 :mode nil :granularity nil :parent #145))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 12840 :end 13801 :pre-blank 1 :contents-begin 12902 :contents-end 13801 :robust-begin 12904 :robust-end 13799 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12840 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #138))) :mode nil :granularity nil :parent #128) (section (:begin 12902 :end 12959 :contents-begin 12902 :contents-end 12958 :robust-begin 12902 :robust-end 12956 :post-blank 1 :post-affiliated 12902 :mode section :granularity nil :parent #138) (paragraph (:begin 12902 :end 12958 :contents-begin 12902 :contents-end 12958 :post-blank 0 :post-affiliated 12902 :mode planning :granularity nil :parent #141) #("See the document " 0 17 (:parent #144)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 12919 :end 12956 :contents-begin nil :contents-end nil :post-blank 0 :parent #144)) #(".\n" 0 2 (:parent #144)))) (headline (:raw-value "Update to recent guix" :begin 12959 :end 13409 :pre-blank 1 :contents-begin 12985 :contents-end 13408 :robust-begin 12987 :robust-end 13406 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12959 :title (#("Update to recent guix" 0 21 (:parent #142))) :mode nil :granularity nil :parent #138) (section (:begin 12985 :end 13409 :contents-begin 12985 :contents-end 13408 :robust-begin 12985 :robust-end 13406 :post-blank 1 :post-affiliated 12985 :mode section :granularity nil :parent #142) (paragraph (:begin 12985 :end 13020 :contents-begin 12985 :contents-end 13019 :post-blank 1 :post-affiliated 12985 :mode planning :granularity nil :parent #145) #("We now compile Guix from scratch.\n" 0 34 (:parent #148))) (paragraph (:begin 13020 :end 13295 :contents-begin 13020 :contents-end 13294 :post-blank 1 :post-affiliated 13020 :mode nil :granularity nil :parent #145) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #149)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 13159 :end 13272 :contents-begin 13264 :contents-end 13269 :post-blank 1 :parent #149) #("these" 0 5 (:parent #153))) #("steps carefully after\n" 0 22 (:parent #149))) (fixed-width (:begin 13295 :end 13330 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 13295 :mode nil :granularity nil :parent #145)) (paragraph (:begin 13330 :end 13408 :contents-begin 13330 :contents-end 13408 :post-blank 0 :post-affiliated 13330 :mode nil :granularity nil :parent #145) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #151))))) (headline (:raw-value "Install GN2" :begin 13409 :end 13801 :pre-blank 1 :contents-begin 13425 :contents-end 13801 :robust-begin 13427 :robust-end 13799 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 13409 :title (#("Install GN2" 0 11 (:parent #143))) :mode nil :granularity nil :parent #138) (section (:begin 13425 :end 13801 :contents-begin 13425 :contents-end 13801 :robust-begin 13425 :robust-end 13799 :post-blank 0 :post-affiliated 13425 :mode section :granularity nil :parent #143) (paragraph (:begin 13425 :end 13468 :contents-begin 13425 :contents-end 13467 :post-blank 1 :post-affiliated 13425 :mode planning :granularity nil :parent #146) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #149))) (paragraph (:begin 13468 :end 13676 :contents-begin 13468 :contents-end 13675 :post-blank 1 :post-affiliated 13468 :mode nil :granularity nil :parent #146) #("#+begin" 0 7 (:parent #150)) (subscript (:begin 13475 :end 13480 :use-brackets-p nil :contents-begin 13476 :contents-end 13479 :post-blank 1 :parent #150) #("src" 0 3 (:parent #154))) #("bash\nenv GUIX" 0 13 (:parent #150)) (subscript (:begin 13493 :end 13501 :use-brackets-p nil :contents-begin 13494 :contents-end 13501 :post-blank 0 :parent #150) #("PACKAGE" 0 7 (:parent #156))) (subscript (:begin 13501 :end 13506 :use-brackets-p nil :contents-begin 13502 :contents-end 13506 :post-blank 0 :parent #150) #("PATH" 0 4 (:parent #157))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #150)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 13605 :end 13633 :contents-begin nil :contents-end nil :post-blank 1 :parent #150)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 13633 :end 13658 :contents-begin nil :contents-end nil :post-blank 0 :parent #150)) #("\"\n#+end" 0 7 (:parent #150)) (subscript (:begin 13665 :end 13670 :use-brackets-p nil :contents-begin 13666 :contents-end 13669 :post-blank 1 :parent #150) #("src" 0 3 (:parent #162))) #("bash\n" 0 5 (:parent #150))) (paragraph (:begin 13676 :end 13714 :contents-begin 13676 :contents-end 13713 :post-blank 1 :post-affiliated 13676 :mode nil :granularity nil :parent #146) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #151))) (paragraph (:begin 13714 :end 13801 :contents-begin 13714 :contents-end 13801 :post-blank 0 :post-affiliated 13714 :mode nil :granularity nil :parent #146) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #152)))))))) #58)) #34)) . #0)) (paragraph (:begin 159 :end 217 :contents-begin 159 :contents-end 217 :post-blank 0 :post-affiliated 159 :mode nil :granularity nil :parent #2) (link (:type "custom-id" :path "quick-installation-recipe" :format bracket :raw-link "#quick-installation-recipe" :application nil :search-option nil :begin 159 :end 216 :contents-begin 189 :contents-end 214 :post-blank 0 :parent #5) #("Quick installation recipe" 0 25 (:parent #8))) #("\n" 0 1 (:parent #5))) (plain-list (:type unordered :begin 217 :end 521 :contents-begin 217 :contents-end 521 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 217 :mode nil :granularity nil :parent #2) (item (:bullet "- " :begin 217 :end 277 :contents-begin 222 :contents-end 277 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 217 :tag nil :mode item :granularity nil :parent #6) (paragraph (:begin 222 :end 277 :contents-begin 222 :contents-end 277 :post-blank 0 :post-affiliated 222 :mode nil :granularity nil :parent #9) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 222 :end 276 :contents-begin 250 :contents-end 274 :post-blank 0 :parent #12) #("Step 1: Install GNU Guix" 0 24 (:parent #15))) #("\n" 0 1 (:parent #12)))) (item (:bullet "- " :begin 277 :end 371 :contents-begin 282 :contents-end 371 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 277 :tag nil :mode item :granularity nil :parent #6) (paragraph (:begin 282 :end 371 :contents-begin 282 :contents-end 371 :post-blank 0 :post-affiliated 282 :mode nil :granularity nil :parent #10) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 282 :end 370 :contents-begin 327 :contents-end 368 :post-blank 0 :parent #13) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #16))) #("\n" 0 1 (:parent #13)))) (item (:bullet "- " :begin 371 :end 455 :contents-begin 376 :contents-end 455 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 371 :tag nil :mode item :granularity nil :parent #6) (paragraph (:begin 376 :end 455 :contents-begin 376 :contents-end 455 :post-blank 0 :post-affiliated 376 :mode nil :granularity nil :parent #11) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 376 :end 454 :contents-begin 416 :contents-end 452 :post-blank 0 :parent #14) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #17))) #("\n" 0 1 (:parent #14)))) (item (:bullet "- " :begin 455 :end 521 :contents-begin 460 :contents-end 521 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 455 :tag nil :mode item :granularity nil :parent #6) (paragraph (:begin 460 :end 521 :contents-begin 460 :contents-end 521 :post-blank 0 :post-affiliated 460 :mode nil :granularity nil :parent #12) (link (:type "custom-id" :path "step-4-install-and-run-gn2" :format bracket :raw-link "#step-4-install-and-run-gn2" :application nil :search-option nil :begin 460 :end 520 :contents-begin 491 :contents-end 518 :post-blank 0 :parent #15) #("Step 4: Install and run GN2" 0 27 (:parent #18))) #("\n" 0 1 (:parent #15)))))) (item (:bullet "- " :begin 521 :end 564 :contents-begin 524 :contents-end 564 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 521 :tag nil :mode item :granularity nil :parent (plain-list (:type unordered :begin 121 :end 1403 :contents-begin 121 :contents-end 1403 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 121 :mode planning :granularity nil :parent (section (:begin 121 :end 1404 :contents-begin 121 :contents-end 1403 :robust-begin 121 :robust-end 1401 :post-blank 1 :post-affiliated 121 :mode section :granularity nil :parent (headline (:raw-value "Table of Contents" :begin 43 :end 1404 :pre-blank 0 :contents-begin 121 :contents-end 1403 :robust-begin 123 :robust-end 1401 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 43 :title (#("Table of Contents" 0 17 (:parent #83))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13801 :end 13801 :robust-begin 3 :robust-end 13799 :post-blank 0 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 43 :contents-begin 1 :contents-end 42 :robust-begin 1 :robust-end 40 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #129) (keyword (:key "TITLE" :value "Installing GeneNetwork services" :begin 1 :end 42 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #132))) #83 (headline (:raw-value "Introduction" :begin 1404 :end 2450 :pre-blank 1 :contents-begin 1420 :contents-end 2449 :robust-begin 1422 :robust-end 2447 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1404 :title (#("Introduction" 0 12 (:parent #134))) :mode nil :granularity nil :parent #129) (section (:begin 1420 :end 2450 :contents-begin 1420 :contents-end 2449 :robust-begin 1420 :robust-end 2447 :post-blank 1 :post-affiliated 1420 :mode section :granularity nil :parent #134) (paragraph (:begin 1420 :end 1557 :contents-begin 1420 :contents-end 1556 :post-blank 1 :post-affiliated 1420 :mode planning :granularity nil :parent #137) #("If you want to understand the architecture of GN2 read\n" 0 55 (:parent #140)) (link (:type "fuzzy" :path "Architecture.org" :format bracket :raw-link "Architecture.org" :application nil :search-option nil :begin 1475 :end 1495 :contents-begin nil :contents-end nil :post-blank 0 :parent #140)) #(". The rest of this document is mostly on deployment\nof GN2.\n" 0 61 (:parent #140))) (paragraph (:begin 1557 :end 1943 :contents-begin 1557 :contents-end 1942 :post-blank 1 :post-affiliated 1557 :mode nil :granularity nil :parent #137) #("Large system deployments can get very " 0 38 (:parent #141)) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg " :format bracket :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg " :application nil :search-option nil :begin 1595 :end 1656 :contents-begin 1647 :contents-end 1654 :post-blank 0 :parent #141) #("complex" 0 7 (:parent #145))) #(". In this document we\nexplain the GeneNetwork version 2 (GN2) reproducible deployment system\nwhich is based on GNU Guix (see also " 0 130 (:parent #141)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1786 :end 1860 :contents-begin 1848 :contents-end 1858 :post-blank 0 :parent #141) #("Guix-notes" 0 10 (:parent #147))) #("). The Guix\nsystem can be used to install GN with all its files and dependencies.\n" 0 82 (:parent #141))) (paragraph (:begin 1943 :end 2328 :contents-begin 1943 :contents-end 2327 :post-blank 1 :post-affiliated 1943 :mode nil :granularity nil :parent #137) #("The official installation path is from a checked out version of the\nmain Guix package tree and that of the Genenetwork package\ntree. Current supported versions can be found as the SHA values of\n'gn-latest' branches of " 0 218 (:parent #142)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :application nil :search-option nil :begin 2161 :end 2252 :contents-begin 2230 :contents-end 2249 :post-blank 1 :parent #142) #("Guix bioinformatics" 0 19 (:parent #146))) #("and " 0 4 (:parent #142)) (link (:type "https" :path "//github.com/genenetwork/guix/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix/tree/gn-latest" :application nil :search-option nil :begin 2256 :end 2325 :contents-begin 2310 :contents-end 2323 :post-blank 0 :parent #142) #("GNU Guix main" 0 13 (:parent #148))) #(".\n" 0 2 (:parent #142))) (paragraph (:begin 2328 :end 2449 :contents-begin 2328 :contents-end 2449 :post-blank 0 :post-affiliated 2328 :mode nil :granularity nil :parent #137) #("For a full view of runtime dependencies as defined by GNU Guix, see\nthe " 0 72 (:parent #143)) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 2400 :end 2447 :contents-begin 2425 :contents-end 2445 :post-blank 0 :parent #143) #("GN2 Dependency Graph" 0 20 (:parent #147))) #(".\n" 0 2 (:parent #143))))) (headline (:raw-value "Quick installation recipe" :begin 2450 :end 7633 :pre-blank 1 :contents-begin 2479 :contents-end 7632 :robust-begin 2481 :robust-end 7630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 2450 :title (#("Quick installation recipe" 0 25 (:parent #135))) :mode nil :granularity nil :parent #129) (section (:begin 2479 :end 3022 :contents-begin 2479 :contents-end 3021 :robust-begin 2479 :robust-end 3019 :post-blank 1 :post-affiliated 2479 :mode section :granularity nil :parent #135) (paragraph (:begin 2479 :end 2880 :contents-begin 2479 :contents-end 2879 :post-blank 1 :post-affiliated 2479 :mode planning :granularity nil :parent #138) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS). For more elaborate installation\ninstructions see " 0 357 (:parent #141)) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 2836 :end 2877 :contents-begin 2858 :contents-end 2875 :post-blank 0 :parent #141) #("Source deployment" 0 17 (:parent #145))) #(".\n" 0 2 (:parent #141))) (paragraph (:begin 2880 :end 3021 :contents-begin 2880 :contents-end 3021 :post-blank 0 :post-affiliated 2880 :mode nil :granularity nil :parent #138) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #142)))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 3022 :end 4649 :pre-blank 1 :contents-begin 3051 :contents-end 4648 :robust-begin 3053 :robust-end 4646 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3022 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #139))) :mode nil :granularity nil :parent #135) (section (:begin 3051 :end 4649 :contents-begin 3051 :contents-end 4648 :robust-begin 3051 :robust-end 4646 :post-blank 1 :post-affiliated 3051 :mode section :granularity nil :parent #139) (paragraph (:begin 3051 :end 3504 :contents-begin 3051 :contents-end 3503 :post-blank 1 :post-affiliated 3051 :mode planning :granularity nil :parent #142) #("Fetch the GNU Guix binary from " 0 31 (:parent #145)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 3082 :end 3136 :contents-begin 3129 :contents-end 3133 :post-blank 1 :parent #145) #("here" 0 4 (:parent #149))) #("(middle panel) and follow\n" 0 26 (:parent #145)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 3162 :end 3255 :contents-begin 3241 :contents-end 3253 :post-blank 0 :parent #145) #("instructions" 0 12 (:parent #151))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #145))) (paragraph (:begin 3504 :end 3782 :contents-begin 3504 :contents-end 3781 :post-blank 1 :post-affiliated 3504 :mode nil :granularity nil :parent #142) #("Once you have succeeded, you have to " 0 37 (:parent #146)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 3541 :end 3631 :contents-begin 3617 :contents-end 3628 :post-blank 1 :parent #146) #("set the key" 0 11 (:parent #150))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #146))) (src-block (:language "bash" :switches nil :parameters nil :begin 3782 :end 3890 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 3782 :mode nil :granularity nil :parent #142)) (paragraph (:begin 3890 :end 3924 :contents-begin 3890 :contents-end 3923 :post-blank 1 :post-affiliated 3890 :mode nil :granularity nil :parent #142) #("Which should show something like\n" 0 33 (:parent #148))) (fixed-width (:begin 3924 :end 4034 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 3924 :mode nil :granularity nil :parent #142)) (paragraph (:begin 4034 :end 4045 :contents-begin 4034 :contents-end 4044 :post-blank 1 :post-affiliated 4034 :mode nil :granularity nil :parent #142) #("#+end" 0 5 (:parent #150)) (subscript (:begin 4039 :end 4043 :use-brackets-p nil :contents-begin 4040 :contents-end 4043 :post-blank 0 :parent #150) #("src" 0 3 (:parent #154))) #("\n" 0 1 (:parent #150))) (paragraph (:begin 4045 :end 4116 :contents-begin 4045 :contents-end 4115 :post-blank 1 :post-affiliated 4045 :mode nil :granularity nil :parent #142) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #151))) (src-block (:language "bash" :switches nil :parameters nil :begin 4116 :end 4188 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 4116 :mode nil :granularity nil :parent #142)) (paragraph (:begin 4188 :end 4375 :contents-begin 4188 :contents-end 4374 :post-blank 1 :post-affiliated 4188 :mode nil :granularity nil :parent #142) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #153))) (paragraph (:begin 4375 :end 4648 :contents-begin 4375 :contents-end 4648 :post-blank 0 :post-affiliated 4375 :mode nil :granularity nil :parent #142) #("If you need more help we have another writeup in " 0 49 (:parent #154)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 4424 :end 4520 :contents-begin 4508 :contents-end 4518 :post-blank 0 :parent #154) #("guix-notes" 0 10 (:parent #158))) #(". To get\nrid of the locale warning see " 0 39 (:parent #154)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 4559 :end 4646 :contents-begin 4634 :contents-end 4644 :post-blank 0 :parent #154) #("set-locale" 0 10 (:parent #160))) #(".\n" 0 2 (:parent #154))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 4649 :end 5304 :pre-blank 1 :contents-begin 4695 :contents-end 5302 :robust-begin 4697 :robust-end 5300 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4649 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #140))) :mode nil :granularity nil :parent #135) (section (:begin 4695 :end 5304 :contents-begin 4695 :contents-end 5302 :robust-begin 4695 :robust-end 5300 :post-blank 2 :post-affiliated 4695 :mode section :granularity nil :parent #140) (paragraph (:begin 4695 :end 4815 :contents-begin 4695 :contents-end 4814 :post-blank 1 :post-affiliated 4695 :mode planning :granularity nil :parent #143) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #146))) (src-block (:language "bash" :switches nil :parameters nil :begin 4815 :end 4920 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 4815 :mode nil :granularity nil :parent #143)) (paragraph (:begin 4920 :end 4971 :contents-begin 4920 :contents-end 4970 :post-blank 1 :post-affiliated 4920 :mode nil :granularity nil :parent #143) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #148))) (paragraph (:begin 4971 :end 5232 :contents-begin 4971 :contents-end 5231 :post-blank 1 :post-affiliated 4971 :mode nil :granularity nil :parent #143) #("#+begin" 0 7 (:parent #149)) (subscript (:begin 4978 :end 4983 :use-brackets-p nil :contents-begin 4979 :contents-end 4982 :post-blank 1 :parent #149) #("src" 0 3 (:parent #153))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #149)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 5055 :end 5105 :contents-begin nil :contents-end nil :post-blank 0 :parent #149)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #149)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 5147 :end 5183 :contents-begin nil :contents-end nil :post-blank 1 :parent #149)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #149)) (subscript (:begin 5221 :end 5226 :use-brackets-p nil :contents-begin 5222 :contents-end 5225 :post-blank 1 :parent #149) #("src" 0 3 (:parent #159))) #("bash\n" 0 5 (:parent #149))) (paragraph (:begin 5232 :end 5270 :contents-begin 5232 :contents-end 5269 :post-blank 1 :post-affiliated 5232 :mode nil :granularity nil :parent #143) #("To test whether this is working try:\n" 0 37 (:parent #150))) (paragraph (:begin 5270 :end 5302 :contents-begin 5270 :contents-end 5302 :post-blank 0 :post-affiliated 5270 :mode nil :granularity nil :parent #143) #("#+begin" 0 7 (:parent #151)) (subscript (:begin 5277 :end 5282 :use-brackets-p nil :contents-begin 5278 :contents-end 5281 :post-blank 1 :parent #151) #("src" 0 3 (:parent #155))) #("bash\n#+end" 0 10 (:parent #151)) (subscript (:begin 5292 :end 5297 :use-brackets-p nil :contents-begin 5293 :contents-end 5296 :post-blank 1 :parent #151) #("src" 0 3 (:parent #157))) #("bash\n" 0 5 (:parent #151))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 5304 :end 5755 :pre-blank 1 :contents-begin 5345 :contents-end 5754 :robust-begin 5347 :robust-end 5752 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5304 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #141))) :mode nil :granularity nil :parent #135) (section (:begin 5345 :end 5755 :contents-begin 5345 :contents-end 5754 :robust-begin 5345 :robust-end 5752 :post-blank 1 :post-affiliated 5345 :mode section :granularity nil :parent #141) (paragraph (:begin 5345 :end 5445 :contents-begin 5345 :contents-end 5444 :post-blank 1 :post-affiliated 5345 :mode planning :granularity nil :parent #144) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #147))) (src-block (:language "scheme" :switches nil :parameters nil :begin 5445 :end 5589 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 5445 :mode nil :granularity nil :parent #144)) (paragraph (:begin 5589 :end 5621 :contents-begin 5589 :contents-end 5620 :post-blank 1 :post-affiliated 5589 :mode nil :granularity nil :parent #144) #("by pasting it into the command\n" 0 31 (:parent #149))) (src-block (:language "bash" :switches nil :parameters nil :begin 5621 :end 5674 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 5621 :mode nil :granularity nil :parent #144)) (paragraph (:begin 5674 :end 5691 :contents-begin 5674 :contents-end 5690 :post-blank 1 :post-affiliated 5674 :mode nil :granularity nil :parent #144) #("and hit Ctrl-D.\n" 0 16 (:parent #151))) (paragraph (:begin 5691 :end 5754 :contents-begin 5691 :contents-end 5754 :post-blank 0 :post-affiliated 5691 :mode nil :granularity nil :parent #144) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #152))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 5755 :end 7633 :pre-blank 1 :contents-begin 5787 :contents-end 7632 :robust-begin 5789 :robust-end 7630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5755 :title (#("Step 4: Install and run GN2" 0 27 (:parent #142))) :mode nil :granularity nil :parent #135) (section (:begin 5787 :end 7633 :contents-begin 5787 :contents-end 7632 :robust-begin 5787 :robust-end 7630 :post-blank 1 :post-affiliated 5787 :mode section :granularity nil :parent #142) (paragraph (:begin 5787 :end 5927 :contents-begin 5787 :contents-end 5926 :post-blank 1 :post-affiliated 5787 :mode planning :granularity nil :parent #145) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #148))) (src-block (:language "bash" :switches nil :parameters nil :begin 5927 :end 6046 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 5927 :mode nil :granularity nil :parent #145)) (paragraph (:begin 6046 :end 6099 :contents-begin 6046 :contents-end 6098 :post-blank 1 :post-affiliated 6046 :mode nil :granularity nil :parent #145) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #150))) (src-block (:language "bash" :switches nil :parameters nil :begin 6099 :end 6289 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 6099 :mode nil :granularity nil :parent #145)) (paragraph (:begin 6289 :end 6398 :contents-begin 6289 :contents-end 6397 :post-blank 1 :post-affiliated 6289 :mode nil :granularity nil :parent #145) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #152)) (italic (:begin 6360 :end 6366 :post-blank 0 :contents-begin 6361 :contents-end 6365 :parent #152) #("root" 0 4 (:parent #156))) #(".config/guix/latest override).\n" 0 31 (:parent #152))) (paragraph (:begin 6398 :end 6416 :contents-begin 6398 :contents-end 6415 :post-blank 1 :post-affiliated 6398 :mode nil :granularity nil :parent #145) #("And install with\n" 0 17 (:parent #153))) (src-block (:language "bash" :switches nil :parameters nil :begin 6416 :end 6586 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 6416 :mode nil :granularity nil :parent #145)) (paragraph (:begin 6586 :end 6729 :contents-begin 6586 :contents-end 6728 :post-blank 1 :post-affiliated 6586 :mode nil :granularity nil :parent #145) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #155))) (paragraph (:begin 6729 :end 6925 :contents-begin 6729 :contents-end 6924 :post-blank 1 :post-affiliated 6729 :mode nil :granularity nil :parent #145) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #156))) (paragraph (:begin 6925 :end 7056 :contents-begin 6925 :contents-end 7055 :post-blank 1 :post-affiliated 6925 :mode nil :granularity nil :parent #145) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #157))) (src-block (:language "bash" :switches nil :parameters nil :begin 7056 :end 7235 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python2.7/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 7056 :mode nil :granularity nil :parent #145)) (paragraph (:begin 7235 :end 7304 :contents-begin 7235 :contents-end 7303 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #145) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #159))) (src-block (:language "bash" :switches nil :parameters nil :begin 7304 :end 7345 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 7304 :mode nil :granularity nil :parent #145)) (paragraph (:begin 7345 :end 7596 :contents-begin 7345 :contents-end 7595 :post-blank 1 :post-affiliated 7345 :mode nil :granularity nil :parent #145) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #161)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 7567 :end 7593 :contents-begin nil :contents-end nil :post-blank 0 :parent #161)) #(".\n" 0 2 (:parent #161))) (paragraph (:begin 7596 :end 7632 :contents-begin 7596 :contents-end 7632 :post-blank 0 :post-affiliated 7596 :mode nil :granularity nil :parent #145) #("End of the GN2 installation recipe!\n" 0 36 (:parent #162)))))) (headline (:raw-value "Run MySQL server" :begin 7633 :end 9008 :pre-blank 1 :contents-begin 7653 :contents-end 9007 :robust-begin 7655 :robust-end 9005 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7633 :title (#("Run MySQL server" 0 16 (:parent #136))) :mode nil :granularity nil :parent #129) (section (:begin 7653 :end 9008 :contents-begin 7653 :contents-end 9007 :robust-begin 7653 :robust-end 9005 :post-blank 1 :post-affiliated 7653 :mode section :granularity nil :parent #136) (paragraph (:begin 7653 :end 7928 :contents-begin 7653 :contents-end 7927 :post-blank 1 :post-affiliated 7653 :mode planning :granularity nil :parent #139) #("At this point we require the underlying distribution to install and\nrun mysqld. Currently we have two databases for deployment,\n'db" 0 131 (:parent #142)) (subscript (:begin 7784 :end 7791 :use-brackets-p nil :contents-begin 7785 :contents-end 7791 :post-blank 0 :parent #142) #("webqtl" 0 6 (:parent #146))) (subscript (:begin 7791 :end 7793 :use-brackets-p nil :contents-begin 7792 :contents-end 7793 :post-blank 0 :parent #142) #("s" 0 1 (:parent #147))) #("' is the small testing database containing experiments\nfrom BXD mice and 'db" 0 76 (:parent #142)) (subscript (:begin 7869 :end 7876 :use-brackets-p nil :contents-begin 7870 :contents-end 7876 :post-blank 0 :parent #142) #("webqtl" 0 6 (:parent #149))) (subscript (:begin 7876 :end 7882 :use-brackets-p nil :contents-begin 7877 :contents-end 7882 :post-blank 0 :parent #142) #("plant" 0 5 (:parent #150))) #("' which contains all plant related\nmaterial.\n" 0 45 (:parent #142))) (paragraph (:begin 7928 :end 7956 :contents-begin 7928 :contents-end 7955 :post-blank 1 :post-affiliated 7928 :mode nil :granularity nil :parent #139) #("Download one database from\n" 0 27 (:parent #143))) (paragraph (:begin 7956 :end 8054 :contents-begin 7956 :contents-end 8053 :post-blank 1 :post-affiliated 7956 :mode nil :granularity nil :parent #139) (link (:type "http" :path "//files.genenetwork.org/raw_database/" :format plain :raw-link "http://files.genenetwork.org/raw_database/" :application nil :search-option nil :begin 7956 :end 7998 :contents-begin nil :contents-end nil :post-blank 0 :parent #144)) #("\n" 0 1 (:parent #144)) (link (:type "https" :path "//s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :format plain :raw-link "https://s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :application nil :search-option nil :begin 7999 :end 8052 :contents-begin nil :contents-end nil :post-blank 0 :parent #144)) #("\n" 0 1 (:parent #144))) (paragraph (:begin 8054 :end 8073 :contents-begin 8054 :contents-end 8072 :post-blank 1 :post-affiliated 8054 :mode nil :granularity nil :parent #139) #("Check the md5sum.\n" 0 18 (:parent #145))) (paragraph (:begin 8073 :end 8195 :contents-begin 8073 :contents-end 8194 :post-blank 1 :post-affiliated 8073 :mode nil :granularity nil :parent #139) #("After installation inflate the database binary in the MySQL directory\n(this installation path is subject to change soon)\n" 0 121 (:parent #146))) (fixed-width (:begin 8195 :end 8283 :value "chown -R mysql:mysql db_webqtl_s/\nchmod 700 db_webqtl_s/\nchmod 660 db_webqtl_s/*" :post-blank 2 :post-affiliated 8195 :mode nil :granularity nil :parent #139)) (paragraph (:begin 8283 :end 8334 :contents-begin 8283 :contents-end 8333 :post-blank 1 :post-affiliated 8283 :mode nil :granularity nil :parent #139) #("restart MySQL service (mysqld). Login as root and\n" 0 50 (:parent #148))) (fixed-width (:begin 8334 :end 8560 :value "mysql> show databases;\n+--------------------+\n| Database |\n+--------------------+\n| information_schema |\n| db_webqtl_s |\n| mysql |\n| performance_schema |\n+--------------------+" :post-blank 2 :post-affiliated 8334 :mode nil :granularity nil :parent #139)) (paragraph (:begin 8560 :end 8625 :contents-begin 8560 :contents-end 8624 :post-blank 1 :post-affiliated 8560 :mode nil :granularity nil :parent #139) #("Set permissions and match password in your settings file below:\n" 0 64 (:parent #150))) (fixed-width (:begin 8625 :end 8724 :value "mysql> grant all privileges on db_webqtl_s.* to gn2@\"localhost\" identified by 'mysql_password';" :post-blank 2 :post-affiliated 8625 :mode nil :granularity nil :parent #139)) (paragraph (:begin 8724 :end 8875 :contents-begin 8724 :contents-end 8874 :post-blank 1 :post-affiliated 8724 :mode nil :granularity nil :parent #139) #("Note that if the mysql connection is not working, try connecting to\nthe IP address and check server firewall, hosts.allow and mysql IP\nconfiguration.\n" 0 150 (:parent #152))) (paragraph (:begin 8875 :end 9007 :contents-begin 8875 :contents-end 9007 :post-blank 0 :post-affiliated 8875 :mode nil :granularity nil :parent #139) #("Note for the plant database you can rename it to db" 0 51 (:parent #153)) (subscript (:begin 8926 :end 8933 :use-brackets-p nil :contents-begin 8927 :contents-end 8933 :post-blank 0 :parent #153) #("webqtl" 0 6 (:parent #157))) (subscript (:begin 8933 :end 8935 :use-brackets-p nil :contents-begin 8934 :contents-end 8935 :post-blank 0 :parent #153) #("s" 0 1 (:parent #158))) #(", or\nchange the settings in etc/default" 0 39 (:parent #153)) (subscript (:begin 8974 :end 8987 :use-brackets-p nil :contents-begin 8975 :contents-end 8986 :post-blank 1 :parent #153) #("settings.py" 0 11 (:parent #160))) #("to match your path.\n" 0 20 (:parent #153))))) (headline (:raw-value "GN2 Dependency Graph" :begin 9008 :end 9172 :pre-blank 1 :contents-begin 9032 :contents-end 9171 :robust-begin 9034 :robust-end 9169 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9008 :title (#("GN2 Dependency Graph" 0 20 (:parent #137))) :mode nil :granularity nil :parent #129) (section (:begin 9032 :end 9172 :contents-begin 9032 :contents-end 9171 :robust-begin 9032 :robust-end 9169 :post-blank 1 :post-affiliated 9032 :mode section :granularity nil :parent #137) (paragraph (:begin 9032 :end 9093 :contents-begin 9032 :contents-end 9092 :post-blank 1 :post-affiliated 9032 :mode planning :granularity nil :parent #140) #("Graph of all runtime dependencies as installed by GNU Guix.\n" 0 60 (:parent #143))) (paragraph (:begin 9093 :end 9171 :contents-begin 9123 :contents-end 9171 :post-blank 0 :post-affiliated 9123 :attr_html (":title GN2_graph") :mode nil :granularity nil :parent #140) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg" :format plain :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg" :application nil :search-option nil :begin 9123 :end 9170 :contents-begin nil :contents-end nil :post-blank 0 :parent #144)) #("\n" 0 1 (:parent #144))))) (headline (:raw-value "Source deployment" :begin 9172 :end 12840 :pre-blank 1 :contents-begin 9193 :contents-end 12839 :robust-begin 9195 :robust-end 12837 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9172 :title (#("Source deployment" 0 17 (:parent #138))) :mode nil :granularity nil :parent #129) (section (:begin 9193 :end 9612 :contents-begin 9193 :contents-end 9610 :robust-begin 9193 :robust-end 9608 :post-blank 2 :post-affiliated 9193 :mode section :granularity nil :parent #138) (paragraph (:begin 9193 :end 9274 :contents-begin 9193 :contents-end 9273 :post-blank 1 :post-affiliated 9193 :mode planning :granularity nil :parent #141) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #144))) (paragraph (:begin 9274 :end 9304 :contents-begin 9274 :contents-end 9303 :post-blank 1 :post-affiliated 9274 :mode nil :granularity nil :parent #141) #("First execute above 4 steps:\n" 0 29 (:parent #145))) (plain-list (:type unordered :begin 9304 :end 9610 :contents-begin 9304 :contents-end 9610 :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :post-blank 0 :post-affiliated 9304 :mode nil :granularity nil :parent #141) (item (:bullet "- " :begin 9304 :end 9364 :contents-begin 9309 :contents-end 9364 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9304 :tag nil :mode item :granularity nil :parent #146) (paragraph (:begin 9309 :end 9364 :contents-begin 9309 :contents-end 9364 :post-blank 0 :post-affiliated 9309 :mode nil :granularity nil :parent #149) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 9309 :end 9363 :contents-begin 9337 :contents-end 9361 :post-blank 0 :parent #152) #("Step 1: Install GNU Guix" 0 24 (:parent #155))) #("\n" 0 1 (:parent #152)))) (item (:bullet "- " :begin 9364 :end 9458 :contents-begin 9369 :contents-end 9458 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9364 :tag nil :mode item :granularity nil :parent #146) (paragraph (:begin 9369 :end 9458 :contents-begin 9369 :contents-end 9458 :post-blank 0 :post-affiliated 9369 :mode nil :granularity nil :parent #150) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 9369 :end 9457 :contents-begin 9414 :contents-end 9455 :post-blank 0 :parent #153) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #156))) #("\n" 0 1 (:parent #153)))) (item (:bullet "- " :begin 9458 :end 9542 :contents-begin 9463 :contents-end 9542 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9458 :tag nil :mode item :granularity nil :parent #146) (paragraph (:begin 9463 :end 9542 :contents-begin 9463 :contents-end 9542 :post-blank 0 :post-affiliated 9463 :mode nil :granularity nil :parent #151) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 9463 :end 9541 :contents-begin 9503 :contents-end 9539 :post-blank 0 :parent #154) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #157))) #("\n" 0 1 (:parent #154)))) (item (:bullet "- " :begin 9542 :end 9610 :contents-begin 9547 :contents-end 9610 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9542 :tag nil :mode item :granularity nil :parent #146) (paragraph (:begin 9547 :end 9610 :contents-begin 9547 :contents-end 9610 :post-blank 0 :post-affiliated 9547 :mode nil :granularity nil :parent #152) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 9547 :end 9609 :contents-begin 9579 :contents-end 9607 :post-blank 0 :parent #155) #("Step 4: Install and run GN2 " 0 28 (:parent #158))) #("\n" 0 1 (:parent #155)))))) (headline (:raw-value "Run your own copy of GN2" :begin 9612 :end 10722 :pre-blank 1 :contents-begin 9641 :contents-end 10721 :robust-begin 9643 :robust-end 10719 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9612 :title (#("Run your own copy of GN2" 0 24 (:parent #142))) :mode nil :granularity nil :parent #138) (section (:begin 9641 :end 10722 :contents-begin 9641 :contents-end 10721 :robust-begin 9641 :robust-end 10719 :post-blank 1 :post-affiliated 9641 :mode section :granularity nil :parent #142) (paragraph (:begin 9641 :end 9839 :contents-begin 9641 :contents-end 9838 :post-blank 1 :post-affiliated 9641 :mode planning :granularity nil :parent #145) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #148)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 9793 :end 9836 :contents-begin nil :contents-end nil :post-blank 0 :parent #148)) #(".\n" 0 2 (:parent #148))) (paragraph (:begin 9839 :end 9964 :contents-begin 9839 :contents-end 9963 :post-blank 1 :post-affiliated 9839 :mode nil :granularity nil :parent #145) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #149)) (subscript (:begin 9896 :end 9902 :use-brackets-p nil :contents-begin 9897 :contents-end 9901 :post-blank 1 :parent #149) #("PATH" 0 4 (:parent #153))) #("and\nR" 0 5 (:parent #149)) (subscript (:begin 9907 :end 9912 :use-brackets-p nil :contents-begin 9908 :contents-end 9912 :post-blank 0 :parent #149) #("LIBS" 0 4 (:parent #155))) (subscript (:begin 9912 :end 9918 :use-brackets-p nil :contents-begin 9913 :contents-end 9917 :post-blank 1 :parent #149) #("SITE" 0 4 (:parent #156))) #("are set) from the information given by guix:\n" 0 45 (:parent #149))) (fixed-width (:begin 9964 :end 9995 :value "guix package --search-paths" :post-blank 2 :post-affiliated 9964 :mode nil :granularity nil :parent #145)) (paragraph (:begin 9995 :end 10019 :contents-begin 9995 :contents-end 10018 :post-blank 1 :post-affiliated 9995 :mode nil :granularity nil :parent #145) #("Inside the repository:\n" 0 23 (:parent #151))) (fixed-width (:begin 10019 :end 10059 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 10019 :mode nil :granularity nil :parent #145)) (paragraph (:begin 10059 :end 10303 :contents-begin 10059 :contents-end 10302 :post-blank 1 :post-affiliated 10059 :mode nil :granularity nil :parent #145) #("Will fire up your local repo " 0 29 (:parent #153)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 10088 :end 10111 :contents-begin nil :contents-end nil :post-blank 1 :parent #153)) #("using the\nsettings in ./etc/default" 0 35 (:parent #153)) (subscript (:begin 10146 :end 10158 :use-brackets-p nil :contents-begin 10147 :contents-end 10158 :post-blank 0 :parent #153) #("settings.py" 0 11 (:parent #159))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #153)) (subscript (:begin 10263 :end 10276 :use-brackets-p nil :contents-begin 10264 :contents-end 10275 :post-blank 1 :parent #153) #("settings.py" 0 11 (:parent #161))) #("and pass it into GN2 with\n" 0 26 (:parent #153))) (fixed-width (:begin 10303 :end 10346 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 10303 :mode nil :granularity nil :parent #145)) (paragraph (:begin 10346 :end 10492 :contents-begin 10346 :contents-end 10491 :post-blank 1 :post-affiliated 10346 :mode nil :granularity nil :parent #145) #("and everything " 0 15 (:parent #155)) (bold (:begin 10361 :end 10370 :post-blank 1 :contents-begin 10362 :contents-end 10368 :parent #155) #("should" 0 6 (:parent #159))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #155))) (paragraph (:begin 10492 :end 10620 :contents-begin 10492 :contents-end 10619 :post-blank 1 :post-affiliated 10492 :mode nil :granularity nil :parent #145) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #156))) (fixed-width (:begin 10620 :end 10721 :value "cat ~/.guix-profile/lib/python2.7/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 10620 :mode nil :granularity nil :parent #145)))) (headline (:raw-value "Set up nginx port forwarding" :begin 10722 :end 12840 :pre-blank 1 :contents-begin 10755 :contents-end 12839 :robust-begin 10757 :robust-end 12837 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 10722 :title (#("Set up nginx port forwarding" 0 28 (:parent #143))) :mode nil :granularity nil :parent #138) (section (:begin 10755 :end 12840 :contents-begin 10755 :contents-end 12839 :robust-begin 10755 :robust-end 12837 :post-blank 1 :post-affiliated 10755 :mode section :granularity nil :parent #143) (paragraph (:begin 10755 :end 10923 :contents-begin 10755 :contents-end 10922 :post-blank 1 :post-affiliated 10755 :mode planning :granularity nil :parent #146) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #149))) (paragraph (:begin 10923 :end 11063 :contents-begin 10923 :contents-end 11062 :post-blank 1 :post-affiliated 10923 :mode nil :granularity nil :parent #146) #("#+begin" 0 7 (:parent #150)) (subscript (:begin 10930 :end 10935 :use-brackets-p nil :contents-begin 10931 :contents-end 10934 :post-blank 1 :parent #150) #("src" 0 3 (:parent #154))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #150)) (subscript (:begin 10984 :end 10990 :use-brackets-p nil :contents-begin 10985 :contents-end 10989 :post-blank 1 :parent #150) #("name" 0 4 (:parent #156))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #150)) (subscript (:begin 11030 :end 11036 :use-brackets-p nil :contents-begin 11031 :contents-end 11034 :post-blank 2 :parent #150) #("log" 0 3 (:parent #158))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #150))) (paragraph (:begin 11063 :end 11232 :contents-begin 11063 :contents-end 11231 :post-blank 1 :post-affiliated 11063 :mode nil :granularity nil :parent #146) #(" proxy" 0 13 (:parent #151)) (subscript (:begin 11076 :end 11084 :use-brackets-p nil :contents-begin 11077 :contents-end 11084 :post-blank 0 :parent #151) #("connect" 0 7 (:parent #155))) (subscript (:begin 11084 :end 11099 :use-brackets-p nil :contents-begin 11085 :contents-end 11092 :post-blank 7 :parent #151) #("timeout" 0 7 (:parent #156))) #("3000;\n proxy" 0 19 (:parent #151)) (subscript (:begin 11118 :end 11123 :use-brackets-p nil :contents-begin 11119 :contents-end 11123 :post-blank 0 :parent #151) #("send" 0 4 (:parent #158))) (subscript (:begin 11123 :end 11141 :use-brackets-p nil :contents-begin 11124 :contents-end 11131 :post-blank 10 :parent #151) #("timeout" 0 7 (:parent #159))) #("3000;\n proxy" 0 19 (:parent #151)) (subscript (:begin 11160 :end 11165 :use-brackets-p nil :contents-begin 11161 :contents-end 11165 :post-blank 0 :parent #151) #("read" 0 4 (:parent #161))) (subscript (:begin 11165 :end 11183 :use-brackets-p nil :contents-begin 11166 :contents-end 11173 :post-blank 10 :parent #151) #("timeout" 0 7 (:parent #162))) #("3000;\n send" 0 18 (:parent #151)) (subscript (:begin 11201 :end 11225 :use-brackets-p nil :contents-begin 11202 :contents-end 11209 :post-blank 16 :parent #151) #("timeout" 0 7 (:parent #164))) #("3000;\n" 0 6 (:parent #151))) (paragraph (:begin 11232 :end 11632 :contents-begin 11232 :contents-end 11631 :post-blank 1 :post-affiliated 11232 :mode nil :granularity nil :parent #146) #(" location / {\n proxy" 0 38 (:parent #152)) (subscript (:begin 11270 :end 11274 :use-brackets-p nil :contents-begin 11271 :contents-end 11274 :post-blank 0 :parent #152) #("set" 0 3 (:parent #156))) (subscript (:begin 11274 :end 11284 :use-brackets-p nil :contents-begin 11275 :contents-end 11281 :post-blank 3 :parent #152) #("header" 0 6 (:parent #157))) #("Host $http" 0 15 (:parent #152)) (subscript (:begin 11299 :end 11304 :use-brackets-p nil :contents-begin 11300 :contents-end 11304 :post-blank 0 :parent #152) #("host" 0 4 (:parent #159))) #(";\n proxy" 0 19 (:parent #152)) (subscript (:begin 11323 :end 11327 :use-brackets-p nil :contents-begin 11324 :contents-end 11327 :post-blank 0 :parent #152) #("set" 0 3 (:parent #161))) (subscript (:begin 11327 :end 11337 :use-brackets-p nil :contents-begin 11328 :contents-end 11334 :post-blank 3 :parent #152) #("header" 0 6 (:parent #162))) #("Connection keep-alive;\n proxy" 0 40 (:parent #152)) (subscript (:begin 11377 :end 11381 :use-brackets-p nil :contents-begin 11378 :contents-end 11381 :post-blank 0 :parent #152) #("set" 0 3 (:parent #164))) (subscript (:begin 11381 :end 11391 :use-brackets-p nil :contents-begin 11382 :contents-end 11388 :post-blank 3 :parent #152) #("header" 0 6 (:parent #165))) #("X-Real-IP $remote" 0 17 (:parent #152)) (subscript (:begin 11408 :end 11413 :use-brackets-p nil :contents-begin 11409 :contents-end 11413 :post-blank 0 :parent #152) #("addr" 0 4 (:parent #167))) #(";\n proxy" 0 19 (:parent #152)) (subscript (:begin 11432 :end 11436 :use-brackets-p nil :contents-begin 11433 :contents-end 11436 :post-blank 0 :parent #152) #("set" 0 3 (:parent #169))) (subscript (:begin 11436 :end 11446 :use-brackets-p nil :contents-begin 11437 :contents-end 11443 :post-blank 3 :parent #152) #("header" 0 6 (:parent #170))) #("X-Forwarded-For $proxy" 0 22 (:parent #152)) (subscript (:begin 11468 :end 11472 :use-brackets-p nil :contents-begin 11469 :contents-end 11472 :post-blank 0 :parent #152) #("add" 0 3 (:parent #172))) (subscript (:begin 11472 :end 11474 :use-brackets-p nil :contents-begin 11473 :contents-end 11474 :post-blank 0 :parent #152) #("x" 0 1 (:parent #173))) (subscript (:begin 11474 :end 11484 :use-brackets-p nil :contents-begin 11475 :contents-end 11484 :post-blank 0 :parent #152) #("forwarded" 0 9 (:parent #174))) (subscript (:begin 11484 :end 11488 :use-brackets-p nil :contents-begin 11485 :contents-end 11488 :post-blank 0 :parent #152) #("for" 0 3 (:parent #175))) #(";\n proxy" 0 19 (:parent #152)) (subscript (:begin 11507 :end 11511 :use-brackets-p nil :contents-begin 11508 :contents-end 11511 :post-blank 0 :parent #152) #("set" 0 3 (:parent #177))) (subscript (:begin 11511 :end 11521 :use-brackets-p nil :contents-begin 11512 :contents-end 11518 :post-blank 3 :parent #152) #("header" 0 6 (:parent #178))) #("X-Forwarded-Host $server" 0 24 (:parent #152)) (subscript (:begin 11545 :end 11550 :use-brackets-p nil :contents-begin 11546 :contents-end 11550 :post-blank 0 :parent #152) #("name" 0 4 (:parent #180))) #(";\n proxy" 0 19 (:parent #152)) (subscript (:begin 11569 :end 11583 :use-brackets-p nil :contents-begin 11570 :contents-end 11574 :post-blank 9 :parent #152) #("pass" 0 4 (:parent #182))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 11583 :end 11604 :contents-begin nil :contents-end nil :post-blank 0 :parent #152)) #(";\n }\n}\n#+end" 0 19 (:parent #152)) (subscript (:begin 11623 :end 11628 :use-brackets-p nil :contents-begin 11624 :contents-end 11627 :post-blank 1 :parent #152) #("src" 0 3 (:parent #185))) #("js\n" 0 3 (:parent #152))) (paragraph (:begin 11632 :end 11671 :contents-begin 11632 :contents-end 11670 :post-blank 1 :post-affiliated 11632 :mode nil :granularity nil :parent #146) #("Install the nginx webserver (as root)\n" 0 38 (:parent #153))) (fixed-width (:begin 11671 :end 11696 :value "guix package -i nginx" :post-blank 2 :post-affiliated 11671 :mode nil :granularity nil :parent #146)) (paragraph (:begin 11696 :end 11777 :contents-begin 11696 :contents-end 11776 :post-blank 1 :post-affiliated 11696 :mode nil :granularity nil :parent #146) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #155))) (fixed-width (:begin 11777 :end 11964 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 11777 :mode nil :granularity nil :parent #146)) (paragraph (:begin 11964 :end 11979 :contents-begin 11964 :contents-end 11978 :post-blank 1 :post-affiliated 11964 :mode nil :granularity nil :parent #146) #("Use that path\n" 0 14 (:parent #157))) (fixed-width (:begin 11979 :end 12373 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 11979 :mode nil :granularity nil :parent #146)) (paragraph (:begin 12373 :end 12599 :contents-begin 12373 :contents-end 12599 :post-blank 0 :post-affiliated 12373 :mode nil :granularity nil :parent #146) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #159))) (fixed-width (:begin 12599 :end 12646 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 12599 :mode nil :granularity nil :parent #146)) (paragraph (:begin 12646 :end 12657 :contents-begin 12646 :contents-end 12656 :post-blank 1 :post-affiliated 12646 :mode nil :granularity nil :parent #146) #("Make dirs\n" 0 10 (:parent #161))) (fixed-width (:begin 12657 :end 12691 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 12657 :mode nil :granularity nil :parent #146)) (paragraph (:begin 12691 :end 12702 :contents-begin 12691 :contents-end 12701 :post-blank 1 :post-affiliated 12691 :mode nil :granularity nil :parent #146) #("Add users\n" 0 10 (:parent #163))) (fixed-width (:begin 12702 :end 12738 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 12702 :mode nil :granularity nil :parent #146)) (paragraph (:begin 12738 :end 12749 :contents-begin 12738 :contents-end 12748 :post-blank 1 :post-affiliated 12738 :mode nil :granularity nil :parent #146) #("Run nginx\n" 0 10 (:parent #165))) (fixed-width (:begin 12749 :end 12839 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 12749 :mode nil :granularity nil :parent #146))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 12840 :end 13801 :pre-blank 1 :contents-begin 12902 :contents-end 13801 :robust-begin 12904 :robust-end 13799 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12840 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #139))) :mode nil :granularity nil :parent #129) (section (:begin 12902 :end 12959 :contents-begin 12902 :contents-end 12958 :robust-begin 12902 :robust-end 12956 :post-blank 1 :post-affiliated 12902 :mode section :granularity nil :parent #139) (paragraph (:begin 12902 :end 12958 :contents-begin 12902 :contents-end 12958 :post-blank 0 :post-affiliated 12902 :mode planning :granularity nil :parent #142) #("See the document " 0 17 (:parent #145)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 12919 :end 12956 :contents-begin nil :contents-end nil :post-blank 0 :parent #145)) #(".\n" 0 2 (:parent #145)))) (headline (:raw-value "Update to recent guix" :begin 12959 :end 13409 :pre-blank 1 :contents-begin 12985 :contents-end 13408 :robust-begin 12987 :robust-end 13406 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12959 :title (#("Update to recent guix" 0 21 (:parent #143))) :mode nil :granularity nil :parent #139) (section (:begin 12985 :end 13409 :contents-begin 12985 :contents-end 13408 :robust-begin 12985 :robust-end 13406 :post-blank 1 :post-affiliated 12985 :mode section :granularity nil :parent #143) (paragraph (:begin 12985 :end 13020 :contents-begin 12985 :contents-end 13019 :post-blank 1 :post-affiliated 12985 :mode planning :granularity nil :parent #146) #("We now compile Guix from scratch.\n" 0 34 (:parent #149))) (paragraph (:begin 13020 :end 13295 :contents-begin 13020 :contents-end 13294 :post-blank 1 :post-affiliated 13020 :mode nil :granularity nil :parent #146) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #150)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 13159 :end 13272 :contents-begin 13264 :contents-end 13269 :post-blank 1 :parent #150) #("these" 0 5 (:parent #154))) #("steps carefully after\n" 0 22 (:parent #150))) (fixed-width (:begin 13295 :end 13330 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 13295 :mode nil :granularity nil :parent #146)) (paragraph (:begin 13330 :end 13408 :contents-begin 13330 :contents-end 13408 :post-blank 0 :post-affiliated 13330 :mode nil :granularity nil :parent #146) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #152))))) (headline (:raw-value "Install GN2" :begin 13409 :end 13801 :pre-blank 1 :contents-begin 13425 :contents-end 13801 :robust-begin 13427 :robust-end 13799 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 13409 :title (#("Install GN2" 0 11 (:parent #144))) :mode nil :granularity nil :parent #139) (section (:begin 13425 :end 13801 :contents-begin 13425 :contents-end 13801 :robust-begin 13425 :robust-end 13799 :post-blank 0 :post-affiliated 13425 :mode section :granularity nil :parent #144) (paragraph (:begin 13425 :end 13468 :contents-begin 13425 :contents-end 13467 :post-blank 1 :post-affiliated 13425 :mode planning :granularity nil :parent #147) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #150))) (paragraph (:begin 13468 :end 13676 :contents-begin 13468 :contents-end 13675 :post-blank 1 :post-affiliated 13468 :mode nil :granularity nil :parent #147) #("#+begin" 0 7 (:parent #151)) (subscript (:begin 13475 :end 13480 :use-brackets-p nil :contents-begin 13476 :contents-end 13479 :post-blank 1 :parent #151) #("src" 0 3 (:parent #155))) #("bash\nenv GUIX" 0 13 (:parent #151)) (subscript (:begin 13493 :end 13501 :use-brackets-p nil :contents-begin 13494 :contents-end 13501 :post-blank 0 :parent #151) #("PACKAGE" 0 7 (:parent #157))) (subscript (:begin 13501 :end 13506 :use-brackets-p nil :contents-begin 13502 :contents-end 13506 :post-blank 0 :parent #151) #("PATH" 0 4 (:parent #158))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #151)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 13605 :end 13633 :contents-begin nil :contents-end nil :post-blank 1 :parent #151)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 13633 :end 13658 :contents-begin nil :contents-end nil :post-blank 0 :parent #151)) #("\"\n#+end" 0 7 (:parent #151)) (subscript (:begin 13665 :end 13670 :use-brackets-p nil :contents-begin 13666 :contents-end 13669 :post-blank 1 :parent #151) #("src" 0 3 (:parent #163))) #("bash\n" 0 5 (:parent #151))) (paragraph (:begin 13676 :end 13714 :contents-begin 13676 :contents-end 13713 :post-blank 1 :post-affiliated 13676 :mode nil :granularity nil :parent #147) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #152))) (paragraph (:begin 13714 :end 13801 :contents-begin 13714 :contents-end 13801 :post-blank 0 :post-affiliated 13714 :mode nil :granularity nil :parent #147) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #153)))))))) #59)) #35)) . #0)) (paragraph (:begin 524 :end 564 :contents-begin 524 :contents-end 564 :post-blank 0 :post-affiliated 524 :mode nil :granularity nil :parent #3) (link (:type "custom-id" :path "run-mysql-server" :format bracket :raw-link "#run-mysql-server" :application nil :search-option nil :begin 524 :end 563 :contents-begin 545 :contents-end 561 :post-blank 0 :parent #6) #("Run MySQL server" 0 16 (:parent #9))) #("\n" 0 1 (:parent #6)))) (item (:bullet "- " :begin 564 :end 615 :contents-begin 567 :contents-end 615 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 564 :tag nil :mode item :granularity nil :parent (plain-list (:type unordered :begin 121 :end 1403 :contents-begin 121 :contents-end 1403 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 121 :mode planning :granularity nil :parent (section (:begin 121 :end 1404 :contents-begin 121 :contents-end 1403 :robust-begin 121 :robust-end 1401 :post-blank 1 :post-affiliated 121 :mode section :granularity nil :parent (headline (:raw-value "Table of Contents" :begin 43 :end 1404 :pre-blank 0 :contents-begin 121 :contents-end 1403 :robust-begin 123 :robust-end 1401 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 43 :title (#("Table of Contents" 0 17 (:parent #84))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13801 :end 13801 :robust-begin 3 :robust-end 13799 :post-blank 0 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 43 :contents-begin 1 :contents-end 42 :robust-begin 1 :robust-end 40 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #130) (keyword (:key "TITLE" :value "Installing GeneNetwork services" :begin 1 :end 42 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #133))) #84 (headline (:raw-value "Introduction" :begin 1404 :end 2450 :pre-blank 1 :contents-begin 1420 :contents-end 2449 :robust-begin 1422 :robust-end 2447 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1404 :title (#("Introduction" 0 12 (:parent #135))) :mode nil :granularity nil :parent #130) (section (:begin 1420 :end 2450 :contents-begin 1420 :contents-end 2449 :robust-begin 1420 :robust-end 2447 :post-blank 1 :post-affiliated 1420 :mode section :granularity nil :parent #135) (paragraph (:begin 1420 :end 1557 :contents-begin 1420 :contents-end 1556 :post-blank 1 :post-affiliated 1420 :mode planning :granularity nil :parent #138) #("If you want to understand the architecture of GN2 read\n" 0 55 (:parent #141)) (link (:type "fuzzy" :path "Architecture.org" :format bracket :raw-link "Architecture.org" :application nil :search-option nil :begin 1475 :end 1495 :contents-begin nil :contents-end nil :post-blank 0 :parent #141)) #(". The rest of this document is mostly on deployment\nof GN2.\n" 0 61 (:parent #141))) (paragraph (:begin 1557 :end 1943 :contents-begin 1557 :contents-end 1942 :post-blank 1 :post-affiliated 1557 :mode nil :granularity nil :parent #138) #("Large system deployments can get very " 0 38 (:parent #142)) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg " :format bracket :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg " :application nil :search-option nil :begin 1595 :end 1656 :contents-begin 1647 :contents-end 1654 :post-blank 0 :parent #142) #("complex" 0 7 (:parent #146))) #(". In this document we\nexplain the GeneNetwork version 2 (GN2) reproducible deployment system\nwhich is based on GNU Guix (see also " 0 130 (:parent #142)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1786 :end 1860 :contents-begin 1848 :contents-end 1858 :post-blank 0 :parent #142) #("Guix-notes" 0 10 (:parent #148))) #("). The Guix\nsystem can be used to install GN with all its files and dependencies.\n" 0 82 (:parent #142))) (paragraph (:begin 1943 :end 2328 :contents-begin 1943 :contents-end 2327 :post-blank 1 :post-affiliated 1943 :mode nil :granularity nil :parent #138) #("The official installation path is from a checked out version of the\nmain Guix package tree and that of the Genenetwork package\ntree. Current supported versions can be found as the SHA values of\n'gn-latest' branches of " 0 218 (:parent #143)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :application nil :search-option nil :begin 2161 :end 2252 :contents-begin 2230 :contents-end 2249 :post-blank 1 :parent #143) #("Guix bioinformatics" 0 19 (:parent #147))) #("and " 0 4 (:parent #143)) (link (:type "https" :path "//github.com/genenetwork/guix/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix/tree/gn-latest" :application nil :search-option nil :begin 2256 :end 2325 :contents-begin 2310 :contents-end 2323 :post-blank 0 :parent #143) #("GNU Guix main" 0 13 (:parent #149))) #(".\n" 0 2 (:parent #143))) (paragraph (:begin 2328 :end 2449 :contents-begin 2328 :contents-end 2449 :post-blank 0 :post-affiliated 2328 :mode nil :granularity nil :parent #138) #("For a full view of runtime dependencies as defined by GNU Guix, see\nthe " 0 72 (:parent #144)) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 2400 :end 2447 :contents-begin 2425 :contents-end 2445 :post-blank 0 :parent #144) #("GN2 Dependency Graph" 0 20 (:parent #148))) #(".\n" 0 2 (:parent #144))))) (headline (:raw-value "Quick installation recipe" :begin 2450 :end 7633 :pre-blank 1 :contents-begin 2479 :contents-end 7632 :robust-begin 2481 :robust-end 7630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 2450 :title (#("Quick installation recipe" 0 25 (:parent #136))) :mode nil :granularity nil :parent #130) (section (:begin 2479 :end 3022 :contents-begin 2479 :contents-end 3021 :robust-begin 2479 :robust-end 3019 :post-blank 1 :post-affiliated 2479 :mode section :granularity nil :parent #136) (paragraph (:begin 2479 :end 2880 :contents-begin 2479 :contents-end 2879 :post-blank 1 :post-affiliated 2479 :mode planning :granularity nil :parent #139) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS). For more elaborate installation\ninstructions see " 0 357 (:parent #142)) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 2836 :end 2877 :contents-begin 2858 :contents-end 2875 :post-blank 0 :parent #142) #("Source deployment" 0 17 (:parent #146))) #(".\n" 0 2 (:parent #142))) (paragraph (:begin 2880 :end 3021 :contents-begin 2880 :contents-end 3021 :post-blank 0 :post-affiliated 2880 :mode nil :granularity nil :parent #139) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #143)))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 3022 :end 4649 :pre-blank 1 :contents-begin 3051 :contents-end 4648 :robust-begin 3053 :robust-end 4646 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3022 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #140))) :mode nil :granularity nil :parent #136) (section (:begin 3051 :end 4649 :contents-begin 3051 :contents-end 4648 :robust-begin 3051 :robust-end 4646 :post-blank 1 :post-affiliated 3051 :mode section :granularity nil :parent #140) (paragraph (:begin 3051 :end 3504 :contents-begin 3051 :contents-end 3503 :post-blank 1 :post-affiliated 3051 :mode planning :granularity nil :parent #143) #("Fetch the GNU Guix binary from " 0 31 (:parent #146)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 3082 :end 3136 :contents-begin 3129 :contents-end 3133 :post-blank 1 :parent #146) #("here" 0 4 (:parent #150))) #("(middle panel) and follow\n" 0 26 (:parent #146)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 3162 :end 3255 :contents-begin 3241 :contents-end 3253 :post-blank 0 :parent #146) #("instructions" 0 12 (:parent #152))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #146))) (paragraph (:begin 3504 :end 3782 :contents-begin 3504 :contents-end 3781 :post-blank 1 :post-affiliated 3504 :mode nil :granularity nil :parent #143) #("Once you have succeeded, you have to " 0 37 (:parent #147)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 3541 :end 3631 :contents-begin 3617 :contents-end 3628 :post-blank 1 :parent #147) #("set the key" 0 11 (:parent #151))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #147))) (src-block (:language "bash" :switches nil :parameters nil :begin 3782 :end 3890 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 3782 :mode nil :granularity nil :parent #143)) (paragraph (:begin 3890 :end 3924 :contents-begin 3890 :contents-end 3923 :post-blank 1 :post-affiliated 3890 :mode nil :granularity nil :parent #143) #("Which should show something like\n" 0 33 (:parent #149))) (fixed-width (:begin 3924 :end 4034 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 3924 :mode nil :granularity nil :parent #143)) (paragraph (:begin 4034 :end 4045 :contents-begin 4034 :contents-end 4044 :post-blank 1 :post-affiliated 4034 :mode nil :granularity nil :parent #143) #("#+end" 0 5 (:parent #151)) (subscript (:begin 4039 :end 4043 :use-brackets-p nil :contents-begin 4040 :contents-end 4043 :post-blank 0 :parent #151) #("src" 0 3 (:parent #155))) #("\n" 0 1 (:parent #151))) (paragraph (:begin 4045 :end 4116 :contents-begin 4045 :contents-end 4115 :post-blank 1 :post-affiliated 4045 :mode nil :granularity nil :parent #143) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #152))) (src-block (:language "bash" :switches nil :parameters nil :begin 4116 :end 4188 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 4116 :mode nil :granularity nil :parent #143)) (paragraph (:begin 4188 :end 4375 :contents-begin 4188 :contents-end 4374 :post-blank 1 :post-affiliated 4188 :mode nil :granularity nil :parent #143) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #154))) (paragraph (:begin 4375 :end 4648 :contents-begin 4375 :contents-end 4648 :post-blank 0 :post-affiliated 4375 :mode nil :granularity nil :parent #143) #("If you need more help we have another writeup in " 0 49 (:parent #155)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 4424 :end 4520 :contents-begin 4508 :contents-end 4518 :post-blank 0 :parent #155) #("guix-notes" 0 10 (:parent #159))) #(". To get\nrid of the locale warning see " 0 39 (:parent #155)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 4559 :end 4646 :contents-begin 4634 :contents-end 4644 :post-blank 0 :parent #155) #("set-locale" 0 10 (:parent #161))) #(".\n" 0 2 (:parent #155))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 4649 :end 5304 :pre-blank 1 :contents-begin 4695 :contents-end 5302 :robust-begin 4697 :robust-end 5300 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4649 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #141))) :mode nil :granularity nil :parent #136) (section (:begin 4695 :end 5304 :contents-begin 4695 :contents-end 5302 :robust-begin 4695 :robust-end 5300 :post-blank 2 :post-affiliated 4695 :mode section :granularity nil :parent #141) (paragraph (:begin 4695 :end 4815 :contents-begin 4695 :contents-end 4814 :post-blank 1 :post-affiliated 4695 :mode planning :granularity nil :parent #144) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #147))) (src-block (:language "bash" :switches nil :parameters nil :begin 4815 :end 4920 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 4815 :mode nil :granularity nil :parent #144)) (paragraph (:begin 4920 :end 4971 :contents-begin 4920 :contents-end 4970 :post-blank 1 :post-affiliated 4920 :mode nil :granularity nil :parent #144) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #149))) (paragraph (:begin 4971 :end 5232 :contents-begin 4971 :contents-end 5231 :post-blank 1 :post-affiliated 4971 :mode nil :granularity nil :parent #144) #("#+begin" 0 7 (:parent #150)) (subscript (:begin 4978 :end 4983 :use-brackets-p nil :contents-begin 4979 :contents-end 4982 :post-blank 1 :parent #150) #("src" 0 3 (:parent #154))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #150)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 5055 :end 5105 :contents-begin nil :contents-end nil :post-blank 0 :parent #150)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #150)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 5147 :end 5183 :contents-begin nil :contents-end nil :post-blank 1 :parent #150)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #150)) (subscript (:begin 5221 :end 5226 :use-brackets-p nil :contents-begin 5222 :contents-end 5225 :post-blank 1 :parent #150) #("src" 0 3 (:parent #160))) #("bash\n" 0 5 (:parent #150))) (paragraph (:begin 5232 :end 5270 :contents-begin 5232 :contents-end 5269 :post-blank 1 :post-affiliated 5232 :mode nil :granularity nil :parent #144) #("To test whether this is working try:\n" 0 37 (:parent #151))) (paragraph (:begin 5270 :end 5302 :contents-begin 5270 :contents-end 5302 :post-blank 0 :post-affiliated 5270 :mode nil :granularity nil :parent #144) #("#+begin" 0 7 (:parent #152)) (subscript (:begin 5277 :end 5282 :use-brackets-p nil :contents-begin 5278 :contents-end 5281 :post-blank 1 :parent #152) #("src" 0 3 (:parent #156))) #("bash\n#+end" 0 10 (:parent #152)) (subscript (:begin 5292 :end 5297 :use-brackets-p nil :contents-begin 5293 :contents-end 5296 :post-blank 1 :parent #152) #("src" 0 3 (:parent #158))) #("bash\n" 0 5 (:parent #152))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 5304 :end 5755 :pre-blank 1 :contents-begin 5345 :contents-end 5754 :robust-begin 5347 :robust-end 5752 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5304 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #142))) :mode nil :granularity nil :parent #136) (section (:begin 5345 :end 5755 :contents-begin 5345 :contents-end 5754 :robust-begin 5345 :robust-end 5752 :post-blank 1 :post-affiliated 5345 :mode section :granularity nil :parent #142) (paragraph (:begin 5345 :end 5445 :contents-begin 5345 :contents-end 5444 :post-blank 1 :post-affiliated 5345 :mode planning :granularity nil :parent #145) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #148))) (src-block (:language "scheme" :switches nil :parameters nil :begin 5445 :end 5589 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 5445 :mode nil :granularity nil :parent #145)) (paragraph (:begin 5589 :end 5621 :contents-begin 5589 :contents-end 5620 :post-blank 1 :post-affiliated 5589 :mode nil :granularity nil :parent #145) #("by pasting it into the command\n" 0 31 (:parent #150))) (src-block (:language "bash" :switches nil :parameters nil :begin 5621 :end 5674 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 5621 :mode nil :granularity nil :parent #145)) (paragraph (:begin 5674 :end 5691 :contents-begin 5674 :contents-end 5690 :post-blank 1 :post-affiliated 5674 :mode nil :granularity nil :parent #145) #("and hit Ctrl-D.\n" 0 16 (:parent #152))) (paragraph (:begin 5691 :end 5754 :contents-begin 5691 :contents-end 5754 :post-blank 0 :post-affiliated 5691 :mode nil :granularity nil :parent #145) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #153))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 5755 :end 7633 :pre-blank 1 :contents-begin 5787 :contents-end 7632 :robust-begin 5789 :robust-end 7630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5755 :title (#("Step 4: Install and run GN2" 0 27 (:parent #143))) :mode nil :granularity nil :parent #136) (section (:begin 5787 :end 7633 :contents-begin 5787 :contents-end 7632 :robust-begin 5787 :robust-end 7630 :post-blank 1 :post-affiliated 5787 :mode section :granularity nil :parent #143) (paragraph (:begin 5787 :end 5927 :contents-begin 5787 :contents-end 5926 :post-blank 1 :post-affiliated 5787 :mode planning :granularity nil :parent #146) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #149))) (src-block (:language "bash" :switches nil :parameters nil :begin 5927 :end 6046 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 5927 :mode nil :granularity nil :parent #146)) (paragraph (:begin 6046 :end 6099 :contents-begin 6046 :contents-end 6098 :post-blank 1 :post-affiliated 6046 :mode nil :granularity nil :parent #146) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #151))) (src-block (:language "bash" :switches nil :parameters nil :begin 6099 :end 6289 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 6099 :mode nil :granularity nil :parent #146)) (paragraph (:begin 6289 :end 6398 :contents-begin 6289 :contents-end 6397 :post-blank 1 :post-affiliated 6289 :mode nil :granularity nil :parent #146) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #153)) (italic (:begin 6360 :end 6366 :post-blank 0 :contents-begin 6361 :contents-end 6365 :parent #153) #("root" 0 4 (:parent #157))) #(".config/guix/latest override).\n" 0 31 (:parent #153))) (paragraph (:begin 6398 :end 6416 :contents-begin 6398 :contents-end 6415 :post-blank 1 :post-affiliated 6398 :mode nil :granularity nil :parent #146) #("And install with\n" 0 17 (:parent #154))) (src-block (:language "bash" :switches nil :parameters nil :begin 6416 :end 6586 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 6416 :mode nil :granularity nil :parent #146)) (paragraph (:begin 6586 :end 6729 :contents-begin 6586 :contents-end 6728 :post-blank 1 :post-affiliated 6586 :mode nil :granularity nil :parent #146) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #156))) (paragraph (:begin 6729 :end 6925 :contents-begin 6729 :contents-end 6924 :post-blank 1 :post-affiliated 6729 :mode nil :granularity nil :parent #146) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #157))) (paragraph (:begin 6925 :end 7056 :contents-begin 6925 :contents-end 7055 :post-blank 1 :post-affiliated 6925 :mode nil :granularity nil :parent #146) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #158))) (src-block (:language "bash" :switches nil :parameters nil :begin 7056 :end 7235 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python2.7/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 7056 :mode nil :granularity nil :parent #146)) (paragraph (:begin 7235 :end 7304 :contents-begin 7235 :contents-end 7303 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #146) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #160))) (src-block (:language "bash" :switches nil :parameters nil :begin 7304 :end 7345 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 7304 :mode nil :granularity nil :parent #146)) (paragraph (:begin 7345 :end 7596 :contents-begin 7345 :contents-end 7595 :post-blank 1 :post-affiliated 7345 :mode nil :granularity nil :parent #146) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #162)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 7567 :end 7593 :contents-begin nil :contents-end nil :post-blank 0 :parent #162)) #(".\n" 0 2 (:parent #162))) (paragraph (:begin 7596 :end 7632 :contents-begin 7596 :contents-end 7632 :post-blank 0 :post-affiliated 7596 :mode nil :granularity nil :parent #146) #("End of the GN2 installation recipe!\n" 0 36 (:parent #163)))))) (headline (:raw-value "Run MySQL server" :begin 7633 :end 9008 :pre-blank 1 :contents-begin 7653 :contents-end 9007 :robust-begin 7655 :robust-end 9005 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7633 :title (#("Run MySQL server" 0 16 (:parent #137))) :mode nil :granularity nil :parent #130) (section (:begin 7653 :end 9008 :contents-begin 7653 :contents-end 9007 :robust-begin 7653 :robust-end 9005 :post-blank 1 :post-affiliated 7653 :mode section :granularity nil :parent #137) (paragraph (:begin 7653 :end 7928 :contents-begin 7653 :contents-end 7927 :post-blank 1 :post-affiliated 7653 :mode planning :granularity nil :parent #140) #("At this point we require the underlying distribution to install and\nrun mysqld. Currently we have two databases for deployment,\n'db" 0 131 (:parent #143)) (subscript (:begin 7784 :end 7791 :use-brackets-p nil :contents-begin 7785 :contents-end 7791 :post-blank 0 :parent #143) #("webqtl" 0 6 (:parent #147))) (subscript (:begin 7791 :end 7793 :use-brackets-p nil :contents-begin 7792 :contents-end 7793 :post-blank 0 :parent #143) #("s" 0 1 (:parent #148))) #("' is the small testing database containing experiments\nfrom BXD mice and 'db" 0 76 (:parent #143)) (subscript (:begin 7869 :end 7876 :use-brackets-p nil :contents-begin 7870 :contents-end 7876 :post-blank 0 :parent #143) #("webqtl" 0 6 (:parent #150))) (subscript (:begin 7876 :end 7882 :use-brackets-p nil :contents-begin 7877 :contents-end 7882 :post-blank 0 :parent #143) #("plant" 0 5 (:parent #151))) #("' which contains all plant related\nmaterial.\n" 0 45 (:parent #143))) (paragraph (:begin 7928 :end 7956 :contents-begin 7928 :contents-end 7955 :post-blank 1 :post-affiliated 7928 :mode nil :granularity nil :parent #140) #("Download one database from\n" 0 27 (:parent #144))) (paragraph (:begin 7956 :end 8054 :contents-begin 7956 :contents-end 8053 :post-blank 1 :post-affiliated 7956 :mode nil :granularity nil :parent #140) (link (:type "http" :path "//files.genenetwork.org/raw_database/" :format plain :raw-link "http://files.genenetwork.org/raw_database/" :application nil :search-option nil :begin 7956 :end 7998 :contents-begin nil :contents-end nil :post-blank 0 :parent #145)) #("\n" 0 1 (:parent #145)) (link (:type "https" :path "//s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :format plain :raw-link "https://s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :application nil :search-option nil :begin 7999 :end 8052 :contents-begin nil :contents-end nil :post-blank 0 :parent #145)) #("\n" 0 1 (:parent #145))) (paragraph (:begin 8054 :end 8073 :contents-begin 8054 :contents-end 8072 :post-blank 1 :post-affiliated 8054 :mode nil :granularity nil :parent #140) #("Check the md5sum.\n" 0 18 (:parent #146))) (paragraph (:begin 8073 :end 8195 :contents-begin 8073 :contents-end 8194 :post-blank 1 :post-affiliated 8073 :mode nil :granularity nil :parent #140) #("After installation inflate the database binary in the MySQL directory\n(this installation path is subject to change soon)\n" 0 121 (:parent #147))) (fixed-width (:begin 8195 :end 8283 :value "chown -R mysql:mysql db_webqtl_s/\nchmod 700 db_webqtl_s/\nchmod 660 db_webqtl_s/*" :post-blank 2 :post-affiliated 8195 :mode nil :granularity nil :parent #140)) (paragraph (:begin 8283 :end 8334 :contents-begin 8283 :contents-end 8333 :post-blank 1 :post-affiliated 8283 :mode nil :granularity nil :parent #140) #("restart MySQL service (mysqld). Login as root and\n" 0 50 (:parent #149))) (fixed-width (:begin 8334 :end 8560 :value "mysql> show databases;\n+--------------------+\n| Database |\n+--------------------+\n| information_schema |\n| db_webqtl_s |\n| mysql |\n| performance_schema |\n+--------------------+" :post-blank 2 :post-affiliated 8334 :mode nil :granularity nil :parent #140)) (paragraph (:begin 8560 :end 8625 :contents-begin 8560 :contents-end 8624 :post-blank 1 :post-affiliated 8560 :mode nil :granularity nil :parent #140) #("Set permissions and match password in your settings file below:\n" 0 64 (:parent #151))) (fixed-width (:begin 8625 :end 8724 :value "mysql> grant all privileges on db_webqtl_s.* to gn2@\"localhost\" identified by 'mysql_password';" :post-blank 2 :post-affiliated 8625 :mode nil :granularity nil :parent #140)) (paragraph (:begin 8724 :end 8875 :contents-begin 8724 :contents-end 8874 :post-blank 1 :post-affiliated 8724 :mode nil :granularity nil :parent #140) #("Note that if the mysql connection is not working, try connecting to\nthe IP address and check server firewall, hosts.allow and mysql IP\nconfiguration.\n" 0 150 (:parent #153))) (paragraph (:begin 8875 :end 9007 :contents-begin 8875 :contents-end 9007 :post-blank 0 :post-affiliated 8875 :mode nil :granularity nil :parent #140) #("Note for the plant database you can rename it to db" 0 51 (:parent #154)) (subscript (:begin 8926 :end 8933 :use-brackets-p nil :contents-begin 8927 :contents-end 8933 :post-blank 0 :parent #154) #("webqtl" 0 6 (:parent #158))) (subscript (:begin 8933 :end 8935 :use-brackets-p nil :contents-begin 8934 :contents-end 8935 :post-blank 0 :parent #154) #("s" 0 1 (:parent #159))) #(", or\nchange the settings in etc/default" 0 39 (:parent #154)) (subscript (:begin 8974 :end 8987 :use-brackets-p nil :contents-begin 8975 :contents-end 8986 :post-blank 1 :parent #154) #("settings.py" 0 11 (:parent #161))) #("to match your path.\n" 0 20 (:parent #154))))) (headline (:raw-value "GN2 Dependency Graph" :begin 9008 :end 9172 :pre-blank 1 :contents-begin 9032 :contents-end 9171 :robust-begin 9034 :robust-end 9169 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9008 :title (#("GN2 Dependency Graph" 0 20 (:parent #138))) :mode nil :granularity nil :parent #130) (section (:begin 9032 :end 9172 :contents-begin 9032 :contents-end 9171 :robust-begin 9032 :robust-end 9169 :post-blank 1 :post-affiliated 9032 :mode section :granularity nil :parent #138) (paragraph (:begin 9032 :end 9093 :contents-begin 9032 :contents-end 9092 :post-blank 1 :post-affiliated 9032 :mode planning :granularity nil :parent #141) #("Graph of all runtime dependencies as installed by GNU Guix.\n" 0 60 (:parent #144))) (paragraph (:begin 9093 :end 9171 :contents-begin 9123 :contents-end 9171 :post-blank 0 :post-affiliated 9123 :attr_html (":title GN2_graph") :mode nil :granularity nil :parent #141) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg" :format plain :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg" :application nil :search-option nil :begin 9123 :end 9170 :contents-begin nil :contents-end nil :post-blank 0 :parent #145)) #("\n" 0 1 (:parent #145))))) (headline (:raw-value "Source deployment" :begin 9172 :end 12840 :pre-blank 1 :contents-begin 9193 :contents-end 12839 :robust-begin 9195 :robust-end 12837 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9172 :title (#("Source deployment" 0 17 (:parent #139))) :mode nil :granularity nil :parent #130) (section (:begin 9193 :end 9612 :contents-begin 9193 :contents-end 9610 :robust-begin 9193 :robust-end 9608 :post-blank 2 :post-affiliated 9193 :mode section :granularity nil :parent #139) (paragraph (:begin 9193 :end 9274 :contents-begin 9193 :contents-end 9273 :post-blank 1 :post-affiliated 9193 :mode planning :granularity nil :parent #142) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #145))) (paragraph (:begin 9274 :end 9304 :contents-begin 9274 :contents-end 9303 :post-blank 1 :post-affiliated 9274 :mode nil :granularity nil :parent #142) #("First execute above 4 steps:\n" 0 29 (:parent #146))) (plain-list (:type unordered :begin 9304 :end 9610 :contents-begin 9304 :contents-end 9610 :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :post-blank 0 :post-affiliated 9304 :mode nil :granularity nil :parent #142) (item (:bullet "- " :begin 9304 :end 9364 :contents-begin 9309 :contents-end 9364 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9304 :tag nil :mode item :granularity nil :parent #147) (paragraph (:begin 9309 :end 9364 :contents-begin 9309 :contents-end 9364 :post-blank 0 :post-affiliated 9309 :mode nil :granularity nil :parent #150) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 9309 :end 9363 :contents-begin 9337 :contents-end 9361 :post-blank 0 :parent #153) #("Step 1: Install GNU Guix" 0 24 (:parent #156))) #("\n" 0 1 (:parent #153)))) (item (:bullet "- " :begin 9364 :end 9458 :contents-begin 9369 :contents-end 9458 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9364 :tag nil :mode item :granularity nil :parent #147) (paragraph (:begin 9369 :end 9458 :contents-begin 9369 :contents-end 9458 :post-blank 0 :post-affiliated 9369 :mode nil :granularity nil :parent #151) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 9369 :end 9457 :contents-begin 9414 :contents-end 9455 :post-blank 0 :parent #154) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #157))) #("\n" 0 1 (:parent #154)))) (item (:bullet "- " :begin 9458 :end 9542 :contents-begin 9463 :contents-end 9542 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9458 :tag nil :mode item :granularity nil :parent #147) (paragraph (:begin 9463 :end 9542 :contents-begin 9463 :contents-end 9542 :post-blank 0 :post-affiliated 9463 :mode nil :granularity nil :parent #152) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 9463 :end 9541 :contents-begin 9503 :contents-end 9539 :post-blank 0 :parent #155) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #158))) #("\n" 0 1 (:parent #155)))) (item (:bullet "- " :begin 9542 :end 9610 :contents-begin 9547 :contents-end 9610 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9542 :tag nil :mode item :granularity nil :parent #147) (paragraph (:begin 9547 :end 9610 :contents-begin 9547 :contents-end 9610 :post-blank 0 :post-affiliated 9547 :mode nil :granularity nil :parent #153) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 9547 :end 9609 :contents-begin 9579 :contents-end 9607 :post-blank 0 :parent #156) #("Step 4: Install and run GN2 " 0 28 (:parent #159))) #("\n" 0 1 (:parent #156)))))) (headline (:raw-value "Run your own copy of GN2" :begin 9612 :end 10722 :pre-blank 1 :contents-begin 9641 :contents-end 10721 :robust-begin 9643 :robust-end 10719 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9612 :title (#("Run your own copy of GN2" 0 24 (:parent #143))) :mode nil :granularity nil :parent #139) (section (:begin 9641 :end 10722 :contents-begin 9641 :contents-end 10721 :robust-begin 9641 :robust-end 10719 :post-blank 1 :post-affiliated 9641 :mode section :granularity nil :parent #143) (paragraph (:begin 9641 :end 9839 :contents-begin 9641 :contents-end 9838 :post-blank 1 :post-affiliated 9641 :mode planning :granularity nil :parent #146) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #149)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 9793 :end 9836 :contents-begin nil :contents-end nil :post-blank 0 :parent #149)) #(".\n" 0 2 (:parent #149))) (paragraph (:begin 9839 :end 9964 :contents-begin 9839 :contents-end 9963 :post-blank 1 :post-affiliated 9839 :mode nil :granularity nil :parent #146) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #150)) (subscript (:begin 9896 :end 9902 :use-brackets-p nil :contents-begin 9897 :contents-end 9901 :post-blank 1 :parent #150) #("PATH" 0 4 (:parent #154))) #("and\nR" 0 5 (:parent #150)) (subscript (:begin 9907 :end 9912 :use-brackets-p nil :contents-begin 9908 :contents-end 9912 :post-blank 0 :parent #150) #("LIBS" 0 4 (:parent #156))) (subscript (:begin 9912 :end 9918 :use-brackets-p nil :contents-begin 9913 :contents-end 9917 :post-blank 1 :parent #150) #("SITE" 0 4 (:parent #157))) #("are set) from the information given by guix:\n" 0 45 (:parent #150))) (fixed-width (:begin 9964 :end 9995 :value "guix package --search-paths" :post-blank 2 :post-affiliated 9964 :mode nil :granularity nil :parent #146)) (paragraph (:begin 9995 :end 10019 :contents-begin 9995 :contents-end 10018 :post-blank 1 :post-affiliated 9995 :mode nil :granularity nil :parent #146) #("Inside the repository:\n" 0 23 (:parent #152))) (fixed-width (:begin 10019 :end 10059 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 10019 :mode nil :granularity nil :parent #146)) (paragraph (:begin 10059 :end 10303 :contents-begin 10059 :contents-end 10302 :post-blank 1 :post-affiliated 10059 :mode nil :granularity nil :parent #146) #("Will fire up your local repo " 0 29 (:parent #154)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 10088 :end 10111 :contents-begin nil :contents-end nil :post-blank 1 :parent #154)) #("using the\nsettings in ./etc/default" 0 35 (:parent #154)) (subscript (:begin 10146 :end 10158 :use-brackets-p nil :contents-begin 10147 :contents-end 10158 :post-blank 0 :parent #154) #("settings.py" 0 11 (:parent #160))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #154)) (subscript (:begin 10263 :end 10276 :use-brackets-p nil :contents-begin 10264 :contents-end 10275 :post-blank 1 :parent #154) #("settings.py" 0 11 (:parent #162))) #("and pass it into GN2 with\n" 0 26 (:parent #154))) (fixed-width (:begin 10303 :end 10346 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 10303 :mode nil :granularity nil :parent #146)) (paragraph (:begin 10346 :end 10492 :contents-begin 10346 :contents-end 10491 :post-blank 1 :post-affiliated 10346 :mode nil :granularity nil :parent #146) #("and everything " 0 15 (:parent #156)) (bold (:begin 10361 :end 10370 :post-blank 1 :contents-begin 10362 :contents-end 10368 :parent #156) #("should" 0 6 (:parent #160))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #156))) (paragraph (:begin 10492 :end 10620 :contents-begin 10492 :contents-end 10619 :post-blank 1 :post-affiliated 10492 :mode nil :granularity nil :parent #146) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #157))) (fixed-width (:begin 10620 :end 10721 :value "cat ~/.guix-profile/lib/python2.7/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 10620 :mode nil :granularity nil :parent #146)))) (headline (:raw-value "Set up nginx port forwarding" :begin 10722 :end 12840 :pre-blank 1 :contents-begin 10755 :contents-end 12839 :robust-begin 10757 :robust-end 12837 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 10722 :title (#("Set up nginx port forwarding" 0 28 (:parent #144))) :mode nil :granularity nil :parent #139) (section (:begin 10755 :end 12840 :contents-begin 10755 :contents-end 12839 :robust-begin 10755 :robust-end 12837 :post-blank 1 :post-affiliated 10755 :mode section :granularity nil :parent #144) (paragraph (:begin 10755 :end 10923 :contents-begin 10755 :contents-end 10922 :post-blank 1 :post-affiliated 10755 :mode planning :granularity nil :parent #147) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #150))) (paragraph (:begin 10923 :end 11063 :contents-begin 10923 :contents-end 11062 :post-blank 1 :post-affiliated 10923 :mode nil :granularity nil :parent #147) #("#+begin" 0 7 (:parent #151)) (subscript (:begin 10930 :end 10935 :use-brackets-p nil :contents-begin 10931 :contents-end 10934 :post-blank 1 :parent #151) #("src" 0 3 (:parent #155))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #151)) (subscript (:begin 10984 :end 10990 :use-brackets-p nil :contents-begin 10985 :contents-end 10989 :post-blank 1 :parent #151) #("name" 0 4 (:parent #157))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #151)) (subscript (:begin 11030 :end 11036 :use-brackets-p nil :contents-begin 11031 :contents-end 11034 :post-blank 2 :parent #151) #("log" 0 3 (:parent #159))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #151))) (paragraph (:begin 11063 :end 11232 :contents-begin 11063 :contents-end 11231 :post-blank 1 :post-affiliated 11063 :mode nil :granularity nil :parent #147) #(" proxy" 0 13 (:parent #152)) (subscript (:begin 11076 :end 11084 :use-brackets-p nil :contents-begin 11077 :contents-end 11084 :post-blank 0 :parent #152) #("connect" 0 7 (:parent #156))) (subscript (:begin 11084 :end 11099 :use-brackets-p nil :contents-begin 11085 :contents-end 11092 :post-blank 7 :parent #152) #("timeout" 0 7 (:parent #157))) #("3000;\n proxy" 0 19 (:parent #152)) (subscript (:begin 11118 :end 11123 :use-brackets-p nil :contents-begin 11119 :contents-end 11123 :post-blank 0 :parent #152) #("send" 0 4 (:parent #159))) (subscript (:begin 11123 :end 11141 :use-brackets-p nil :contents-begin 11124 :contents-end 11131 :post-blank 10 :parent #152) #("timeout" 0 7 (:parent #160))) #("3000;\n proxy" 0 19 (:parent #152)) (subscript (:begin 11160 :end 11165 :use-brackets-p nil :contents-begin 11161 :contents-end 11165 :post-blank 0 :parent #152) #("read" 0 4 (:parent #162))) (subscript (:begin 11165 :end 11183 :use-brackets-p nil :contents-begin 11166 :contents-end 11173 :post-blank 10 :parent #152) #("timeout" 0 7 (:parent #163))) #("3000;\n send" 0 18 (:parent #152)) (subscript (:begin 11201 :end 11225 :use-brackets-p nil :contents-begin 11202 :contents-end 11209 :post-blank 16 :parent #152) #("timeout" 0 7 (:parent #165))) #("3000;\n" 0 6 (:parent #152))) (paragraph (:begin 11232 :end 11632 :contents-begin 11232 :contents-end 11631 :post-blank 1 :post-affiliated 11232 :mode nil :granularity nil :parent #147) #(" location / {\n proxy" 0 38 (:parent #153)) (subscript (:begin 11270 :end 11274 :use-brackets-p nil :contents-begin 11271 :contents-end 11274 :post-blank 0 :parent #153) #("set" 0 3 (:parent #157))) (subscript (:begin 11274 :end 11284 :use-brackets-p nil :contents-begin 11275 :contents-end 11281 :post-blank 3 :parent #153) #("header" 0 6 (:parent #158))) #("Host $http" 0 15 (:parent #153)) (subscript (:begin 11299 :end 11304 :use-brackets-p nil :contents-begin 11300 :contents-end 11304 :post-blank 0 :parent #153) #("host" 0 4 (:parent #160))) #(";\n proxy" 0 19 (:parent #153)) (subscript (:begin 11323 :end 11327 :use-brackets-p nil :contents-begin 11324 :contents-end 11327 :post-blank 0 :parent #153) #("set" 0 3 (:parent #162))) (subscript (:begin 11327 :end 11337 :use-brackets-p nil :contents-begin 11328 :contents-end 11334 :post-blank 3 :parent #153) #("header" 0 6 (:parent #163))) #("Connection keep-alive;\n proxy" 0 40 (:parent #153)) (subscript (:begin 11377 :end 11381 :use-brackets-p nil :contents-begin 11378 :contents-end 11381 :post-blank 0 :parent #153) #("set" 0 3 (:parent #165))) (subscript (:begin 11381 :end 11391 :use-brackets-p nil :contents-begin 11382 :contents-end 11388 :post-blank 3 :parent #153) #("header" 0 6 (:parent #166))) #("X-Real-IP $remote" 0 17 (:parent #153)) (subscript (:begin 11408 :end 11413 :use-brackets-p nil :contents-begin 11409 :contents-end 11413 :post-blank 0 :parent #153) #("addr" 0 4 (:parent #168))) #(";\n proxy" 0 19 (:parent #153)) (subscript (:begin 11432 :end 11436 :use-brackets-p nil :contents-begin 11433 :contents-end 11436 :post-blank 0 :parent #153) #("set" 0 3 (:parent #170))) (subscript (:begin 11436 :end 11446 :use-brackets-p nil :contents-begin 11437 :contents-end 11443 :post-blank 3 :parent #153) #("header" 0 6 (:parent #171))) #("X-Forwarded-For $proxy" 0 22 (:parent #153)) (subscript (:begin 11468 :end 11472 :use-brackets-p nil :contents-begin 11469 :contents-end 11472 :post-blank 0 :parent #153) #("add" 0 3 (:parent #173))) (subscript (:begin 11472 :end 11474 :use-brackets-p nil :contents-begin 11473 :contents-end 11474 :post-blank 0 :parent #153) #("x" 0 1 (:parent #174))) (subscript (:begin 11474 :end 11484 :use-brackets-p nil :contents-begin 11475 :contents-end 11484 :post-blank 0 :parent #153) #("forwarded" 0 9 (:parent #175))) (subscript (:begin 11484 :end 11488 :use-brackets-p nil :contents-begin 11485 :contents-end 11488 :post-blank 0 :parent #153) #("for" 0 3 (:parent #176))) #(";\n proxy" 0 19 (:parent #153)) (subscript (:begin 11507 :end 11511 :use-brackets-p nil :contents-begin 11508 :contents-end 11511 :post-blank 0 :parent #153) #("set" 0 3 (:parent #178))) (subscript (:begin 11511 :end 11521 :use-brackets-p nil :contents-begin 11512 :contents-end 11518 :post-blank 3 :parent #153) #("header" 0 6 (:parent #179))) #("X-Forwarded-Host $server" 0 24 (:parent #153)) (subscript (:begin 11545 :end 11550 :use-brackets-p nil :contents-begin 11546 :contents-end 11550 :post-blank 0 :parent #153) #("name" 0 4 (:parent #181))) #(";\n proxy" 0 19 (:parent #153)) (subscript (:begin 11569 :end 11583 :use-brackets-p nil :contents-begin 11570 :contents-end 11574 :post-blank 9 :parent #153) #("pass" 0 4 (:parent #183))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 11583 :end 11604 :contents-begin nil :contents-end nil :post-blank 0 :parent #153)) #(";\n }\n}\n#+end" 0 19 (:parent #153)) (subscript (:begin 11623 :end 11628 :use-brackets-p nil :contents-begin 11624 :contents-end 11627 :post-blank 1 :parent #153) #("src" 0 3 (:parent #186))) #("js\n" 0 3 (:parent #153))) (paragraph (:begin 11632 :end 11671 :contents-begin 11632 :contents-end 11670 :post-blank 1 :post-affiliated 11632 :mode nil :granularity nil :parent #147) #("Install the nginx webserver (as root)\n" 0 38 (:parent #154))) (fixed-width (:begin 11671 :end 11696 :value "guix package -i nginx" :post-blank 2 :post-affiliated 11671 :mode nil :granularity nil :parent #147)) (paragraph (:begin 11696 :end 11777 :contents-begin 11696 :contents-end 11776 :post-blank 1 :post-affiliated 11696 :mode nil :granularity nil :parent #147) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #156))) (fixed-width (:begin 11777 :end 11964 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 11777 :mode nil :granularity nil :parent #147)) (paragraph (:begin 11964 :end 11979 :contents-begin 11964 :contents-end 11978 :post-blank 1 :post-affiliated 11964 :mode nil :granularity nil :parent #147) #("Use that path\n" 0 14 (:parent #158))) (fixed-width (:begin 11979 :end 12373 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 11979 :mode nil :granularity nil :parent #147)) (paragraph (:begin 12373 :end 12599 :contents-begin 12373 :contents-end 12599 :post-blank 0 :post-affiliated 12373 :mode nil :granularity nil :parent #147) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #160))) (fixed-width (:begin 12599 :end 12646 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 12599 :mode nil :granularity nil :parent #147)) (paragraph (:begin 12646 :end 12657 :contents-begin 12646 :contents-end 12656 :post-blank 1 :post-affiliated 12646 :mode nil :granularity nil :parent #147) #("Make dirs\n" 0 10 (:parent #162))) (fixed-width (:begin 12657 :end 12691 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 12657 :mode nil :granularity nil :parent #147)) (paragraph (:begin 12691 :end 12702 :contents-begin 12691 :contents-end 12701 :post-blank 1 :post-affiliated 12691 :mode nil :granularity nil :parent #147) #("Add users\n" 0 10 (:parent #164))) (fixed-width (:begin 12702 :end 12738 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 12702 :mode nil :granularity nil :parent #147)) (paragraph (:begin 12738 :end 12749 :contents-begin 12738 :contents-end 12748 :post-blank 1 :post-affiliated 12738 :mode nil :granularity nil :parent #147) #("Run nginx\n" 0 10 (:parent #166))) (fixed-width (:begin 12749 :end 12839 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 12749 :mode nil :granularity nil :parent #147))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 12840 :end 13801 :pre-blank 1 :contents-begin 12902 :contents-end 13801 :robust-begin 12904 :robust-end 13799 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12840 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #140))) :mode nil :granularity nil :parent #130) (section (:begin 12902 :end 12959 :contents-begin 12902 :contents-end 12958 :robust-begin 12902 :robust-end 12956 :post-blank 1 :post-affiliated 12902 :mode section :granularity nil :parent #140) (paragraph (:begin 12902 :end 12958 :contents-begin 12902 :contents-end 12958 :post-blank 0 :post-affiliated 12902 :mode planning :granularity nil :parent #143) #("See the document " 0 17 (:parent #146)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 12919 :end 12956 :contents-begin nil :contents-end nil :post-blank 0 :parent #146)) #(".\n" 0 2 (:parent #146)))) (headline (:raw-value "Update to recent guix" :begin 12959 :end 13409 :pre-blank 1 :contents-begin 12985 :contents-end 13408 :robust-begin 12987 :robust-end 13406 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12959 :title (#("Update to recent guix" 0 21 (:parent #144))) :mode nil :granularity nil :parent #140) (section (:begin 12985 :end 13409 :contents-begin 12985 :contents-end 13408 :robust-begin 12985 :robust-end 13406 :post-blank 1 :post-affiliated 12985 :mode section :granularity nil :parent #144) (paragraph (:begin 12985 :end 13020 :contents-begin 12985 :contents-end 13019 :post-blank 1 :post-affiliated 12985 :mode planning :granularity nil :parent #147) #("We now compile Guix from scratch.\n" 0 34 (:parent #150))) (paragraph (:begin 13020 :end 13295 :contents-begin 13020 :contents-end 13294 :post-blank 1 :post-affiliated 13020 :mode nil :granularity nil :parent #147) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #151)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 13159 :end 13272 :contents-begin 13264 :contents-end 13269 :post-blank 1 :parent #151) #("these" 0 5 (:parent #155))) #("steps carefully after\n" 0 22 (:parent #151))) (fixed-width (:begin 13295 :end 13330 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 13295 :mode nil :granularity nil :parent #147)) (paragraph (:begin 13330 :end 13408 :contents-begin 13330 :contents-end 13408 :post-blank 0 :post-affiliated 13330 :mode nil :granularity nil :parent #147) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #153))))) (headline (:raw-value "Install GN2" :begin 13409 :end 13801 :pre-blank 1 :contents-begin 13425 :contents-end 13801 :robust-begin 13427 :robust-end 13799 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 13409 :title (#("Install GN2" 0 11 (:parent #145))) :mode nil :granularity nil :parent #140) (section (:begin 13425 :end 13801 :contents-begin 13425 :contents-end 13801 :robust-begin 13425 :robust-end 13799 :post-blank 0 :post-affiliated 13425 :mode section :granularity nil :parent #145) (paragraph (:begin 13425 :end 13468 :contents-begin 13425 :contents-end 13467 :post-blank 1 :post-affiliated 13425 :mode planning :granularity nil :parent #148) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #151))) (paragraph (:begin 13468 :end 13676 :contents-begin 13468 :contents-end 13675 :post-blank 1 :post-affiliated 13468 :mode nil :granularity nil :parent #148) #("#+begin" 0 7 (:parent #152)) (subscript (:begin 13475 :end 13480 :use-brackets-p nil :contents-begin 13476 :contents-end 13479 :post-blank 1 :parent #152) #("src" 0 3 (:parent #156))) #("bash\nenv GUIX" 0 13 (:parent #152)) (subscript (:begin 13493 :end 13501 :use-brackets-p nil :contents-begin 13494 :contents-end 13501 :post-blank 0 :parent #152) #("PACKAGE" 0 7 (:parent #158))) (subscript (:begin 13501 :end 13506 :use-brackets-p nil :contents-begin 13502 :contents-end 13506 :post-blank 0 :parent #152) #("PATH" 0 4 (:parent #159))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #152)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 13605 :end 13633 :contents-begin nil :contents-end nil :post-blank 1 :parent #152)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 13633 :end 13658 :contents-begin nil :contents-end nil :post-blank 0 :parent #152)) #("\"\n#+end" 0 7 (:parent #152)) (subscript (:begin 13665 :end 13670 :use-brackets-p nil :contents-begin 13666 :contents-end 13669 :post-blank 1 :parent #152) #("src" 0 3 (:parent #164))) #("bash\n" 0 5 (:parent #152))) (paragraph (:begin 13676 :end 13714 :contents-begin 13676 :contents-end 13713 :post-blank 1 :post-affiliated 13676 :mode nil :granularity nil :parent #148) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #153))) (paragraph (:begin 13714 :end 13801 :contents-begin 13714 :contents-end 13801 :post-blank 0 :post-affiliated 13714 :mode nil :granularity nil :parent #148) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #154)))))))) #60)) #36)) . #0)) (paragraph (:begin 567 :end 615 :contents-begin 567 :contents-end 615 :post-blank 0 :post-affiliated 567 :mode nil :granularity nil :parent #4) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 567 :end 614 :contents-begin 592 :contents-end 612 :post-blank 0 :parent #7) #("GN2 Dependency Graph" 0 20 (:parent #10))) #("\n" 0 1 (:parent #7)))) (item (:bullet "- " :begin 615 :end 790 :contents-begin 618 :contents-end 790 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 615 :tag nil :mode item :granularity nil :parent (plain-list (:type unordered :begin 121 :end 1403 :contents-begin 121 :contents-end 1403 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 121 :mode planning :granularity nil :parent (section (:begin 121 :end 1404 :contents-begin 121 :contents-end 1403 :robust-begin 121 :robust-end 1401 :post-blank 1 :post-affiliated 121 :mode section :granularity nil :parent (headline (:raw-value "Table of Contents" :begin 43 :end 1404 :pre-blank 0 :contents-begin 121 :contents-end 1403 :robust-begin 123 :robust-end 1401 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 43 :title (#("Table of Contents" 0 17 (:parent #85))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13801 :end 13801 :robust-begin 3 :robust-end 13799 :post-blank 0 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 43 :contents-begin 1 :contents-end 42 :robust-begin 1 :robust-end 40 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #131) (keyword (:key "TITLE" :value "Installing GeneNetwork services" :begin 1 :end 42 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #134))) #85 (headline (:raw-value "Introduction" :begin 1404 :end 2450 :pre-blank 1 :contents-begin 1420 :contents-end 2449 :robust-begin 1422 :robust-end 2447 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1404 :title (#("Introduction" 0 12 (:parent #136))) :mode nil :granularity nil :parent #131) (section (:begin 1420 :end 2450 :contents-begin 1420 :contents-end 2449 :robust-begin 1420 :robust-end 2447 :post-blank 1 :post-affiliated 1420 :mode section :granularity nil :parent #136) (paragraph (:begin 1420 :end 1557 :contents-begin 1420 :contents-end 1556 :post-blank 1 :post-affiliated 1420 :mode planning :granularity nil :parent #139) #("If you want to understand the architecture of GN2 read\n" 0 55 (:parent #142)) (link (:type "fuzzy" :path "Architecture.org" :format bracket :raw-link "Architecture.org" :application nil :search-option nil :begin 1475 :end 1495 :contents-begin nil :contents-end nil :post-blank 0 :parent #142)) #(". The rest of this document is mostly on deployment\nof GN2.\n" 0 61 (:parent #142))) (paragraph (:begin 1557 :end 1943 :contents-begin 1557 :contents-end 1942 :post-blank 1 :post-affiliated 1557 :mode nil :granularity nil :parent #139) #("Large system deployments can get very " 0 38 (:parent #143)) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg " :format bracket :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg " :application nil :search-option nil :begin 1595 :end 1656 :contents-begin 1647 :contents-end 1654 :post-blank 0 :parent #143) #("complex" 0 7 (:parent #147))) #(". In this document we\nexplain the GeneNetwork version 2 (GN2) reproducible deployment system\nwhich is based on GNU Guix (see also " 0 130 (:parent #143)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1786 :end 1860 :contents-begin 1848 :contents-end 1858 :post-blank 0 :parent #143) #("Guix-notes" 0 10 (:parent #149))) #("). The Guix\nsystem can be used to install GN with all its files and dependencies.\n" 0 82 (:parent #143))) (paragraph (:begin 1943 :end 2328 :contents-begin 1943 :contents-end 2327 :post-blank 1 :post-affiliated 1943 :mode nil :granularity nil :parent #139) #("The official installation path is from a checked out version of the\nmain Guix package tree and that of the Genenetwork package\ntree. Current supported versions can be found as the SHA values of\n'gn-latest' branches of " 0 218 (:parent #144)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :application nil :search-option nil :begin 2161 :end 2252 :contents-begin 2230 :contents-end 2249 :post-blank 1 :parent #144) #("Guix bioinformatics" 0 19 (:parent #148))) #("and " 0 4 (:parent #144)) (link (:type "https" :path "//github.com/genenetwork/guix/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix/tree/gn-latest" :application nil :search-option nil :begin 2256 :end 2325 :contents-begin 2310 :contents-end 2323 :post-blank 0 :parent #144) #("GNU Guix main" 0 13 (:parent #150))) #(".\n" 0 2 (:parent #144))) (paragraph (:begin 2328 :end 2449 :contents-begin 2328 :contents-end 2449 :post-blank 0 :post-affiliated 2328 :mode nil :granularity nil :parent #139) #("For a full view of runtime dependencies as defined by GNU Guix, see\nthe " 0 72 (:parent #145)) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 2400 :end 2447 :contents-begin 2425 :contents-end 2445 :post-blank 0 :parent #145) #("GN2 Dependency Graph" 0 20 (:parent #149))) #(".\n" 0 2 (:parent #145))))) (headline (:raw-value "Quick installation recipe" :begin 2450 :end 7633 :pre-blank 1 :contents-begin 2479 :contents-end 7632 :robust-begin 2481 :robust-end 7630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 2450 :title (#("Quick installation recipe" 0 25 (:parent #137))) :mode nil :granularity nil :parent #131) (section (:begin 2479 :end 3022 :contents-begin 2479 :contents-end 3021 :robust-begin 2479 :robust-end 3019 :post-blank 1 :post-affiliated 2479 :mode section :granularity nil :parent #137) (paragraph (:begin 2479 :end 2880 :contents-begin 2479 :contents-end 2879 :post-blank 1 :post-affiliated 2479 :mode planning :granularity nil :parent #140) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS). For more elaborate installation\ninstructions see " 0 357 (:parent #143)) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 2836 :end 2877 :contents-begin 2858 :contents-end 2875 :post-blank 0 :parent #143) #("Source deployment" 0 17 (:parent #147))) #(".\n" 0 2 (:parent #143))) (paragraph (:begin 2880 :end 3021 :contents-begin 2880 :contents-end 3021 :post-blank 0 :post-affiliated 2880 :mode nil :granularity nil :parent #140) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #144)))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 3022 :end 4649 :pre-blank 1 :contents-begin 3051 :contents-end 4648 :robust-begin 3053 :robust-end 4646 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3022 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #141))) :mode nil :granularity nil :parent #137) (section (:begin 3051 :end 4649 :contents-begin 3051 :contents-end 4648 :robust-begin 3051 :robust-end 4646 :post-blank 1 :post-affiliated 3051 :mode section :granularity nil :parent #141) (paragraph (:begin 3051 :end 3504 :contents-begin 3051 :contents-end 3503 :post-blank 1 :post-affiliated 3051 :mode planning :granularity nil :parent #144) #("Fetch the GNU Guix binary from " 0 31 (:parent #147)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 3082 :end 3136 :contents-begin 3129 :contents-end 3133 :post-blank 1 :parent #147) #("here" 0 4 (:parent #151))) #("(middle panel) and follow\n" 0 26 (:parent #147)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 3162 :end 3255 :contents-begin 3241 :contents-end 3253 :post-blank 0 :parent #147) #("instructions" 0 12 (:parent #153))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #147))) (paragraph (:begin 3504 :end 3782 :contents-begin 3504 :contents-end 3781 :post-blank 1 :post-affiliated 3504 :mode nil :granularity nil :parent #144) #("Once you have succeeded, you have to " 0 37 (:parent #148)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 3541 :end 3631 :contents-begin 3617 :contents-end 3628 :post-blank 1 :parent #148) #("set the key" 0 11 (:parent #152))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #148))) (src-block (:language "bash" :switches nil :parameters nil :begin 3782 :end 3890 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 3782 :mode nil :granularity nil :parent #144)) (paragraph (:begin 3890 :end 3924 :contents-begin 3890 :contents-end 3923 :post-blank 1 :post-affiliated 3890 :mode nil :granularity nil :parent #144) #("Which should show something like\n" 0 33 (:parent #150))) (fixed-width (:begin 3924 :end 4034 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 3924 :mode nil :granularity nil :parent #144)) (paragraph (:begin 4034 :end 4045 :contents-begin 4034 :contents-end 4044 :post-blank 1 :post-affiliated 4034 :mode nil :granularity nil :parent #144) #("#+end" 0 5 (:parent #152)) (subscript (:begin 4039 :end 4043 :use-brackets-p nil :contents-begin 4040 :contents-end 4043 :post-blank 0 :parent #152) #("src" 0 3 (:parent #156))) #("\n" 0 1 (:parent #152))) (paragraph (:begin 4045 :end 4116 :contents-begin 4045 :contents-end 4115 :post-blank 1 :post-affiliated 4045 :mode nil :granularity nil :parent #144) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #153))) (src-block (:language "bash" :switches nil :parameters nil :begin 4116 :end 4188 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 4116 :mode nil :granularity nil :parent #144)) (paragraph (:begin 4188 :end 4375 :contents-begin 4188 :contents-end 4374 :post-blank 1 :post-affiliated 4188 :mode nil :granularity nil :parent #144) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #155))) (paragraph (:begin 4375 :end 4648 :contents-begin 4375 :contents-end 4648 :post-blank 0 :post-affiliated 4375 :mode nil :granularity nil :parent #144) #("If you need more help we have another writeup in " 0 49 (:parent #156)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 4424 :end 4520 :contents-begin 4508 :contents-end 4518 :post-blank 0 :parent #156) #("guix-notes" 0 10 (:parent #160))) #(". To get\nrid of the locale warning see " 0 39 (:parent #156)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 4559 :end 4646 :contents-begin 4634 :contents-end 4644 :post-blank 0 :parent #156) #("set-locale" 0 10 (:parent #162))) #(".\n" 0 2 (:parent #156))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 4649 :end 5304 :pre-blank 1 :contents-begin 4695 :contents-end 5302 :robust-begin 4697 :robust-end 5300 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4649 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #142))) :mode nil :granularity nil :parent #137) (section (:begin 4695 :end 5304 :contents-begin 4695 :contents-end 5302 :robust-begin 4695 :robust-end 5300 :post-blank 2 :post-affiliated 4695 :mode section :granularity nil :parent #142) (paragraph (:begin 4695 :end 4815 :contents-begin 4695 :contents-end 4814 :post-blank 1 :post-affiliated 4695 :mode planning :granularity nil :parent #145) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #148))) (src-block (:language "bash" :switches nil :parameters nil :begin 4815 :end 4920 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 4815 :mode nil :granularity nil :parent #145)) (paragraph (:begin 4920 :end 4971 :contents-begin 4920 :contents-end 4970 :post-blank 1 :post-affiliated 4920 :mode nil :granularity nil :parent #145) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #150))) (paragraph (:begin 4971 :end 5232 :contents-begin 4971 :contents-end 5231 :post-blank 1 :post-affiliated 4971 :mode nil :granularity nil :parent #145) #("#+begin" 0 7 (:parent #151)) (subscript (:begin 4978 :end 4983 :use-brackets-p nil :contents-begin 4979 :contents-end 4982 :post-blank 1 :parent #151) #("src" 0 3 (:parent #155))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #151)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 5055 :end 5105 :contents-begin nil :contents-end nil :post-blank 0 :parent #151)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #151)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 5147 :end 5183 :contents-begin nil :contents-end nil :post-blank 1 :parent #151)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #151)) (subscript (:begin 5221 :end 5226 :use-brackets-p nil :contents-begin 5222 :contents-end 5225 :post-blank 1 :parent #151) #("src" 0 3 (:parent #161))) #("bash\n" 0 5 (:parent #151))) (paragraph (:begin 5232 :end 5270 :contents-begin 5232 :contents-end 5269 :post-blank 1 :post-affiliated 5232 :mode nil :granularity nil :parent #145) #("To test whether this is working try:\n" 0 37 (:parent #152))) (paragraph (:begin 5270 :end 5302 :contents-begin 5270 :contents-end 5302 :post-blank 0 :post-affiliated 5270 :mode nil :granularity nil :parent #145) #("#+begin" 0 7 (:parent #153)) (subscript (:begin 5277 :end 5282 :use-brackets-p nil :contents-begin 5278 :contents-end 5281 :post-blank 1 :parent #153) #("src" 0 3 (:parent #157))) #("bash\n#+end" 0 10 (:parent #153)) (subscript (:begin 5292 :end 5297 :use-brackets-p nil :contents-begin 5293 :contents-end 5296 :post-blank 1 :parent #153) #("src" 0 3 (:parent #159))) #("bash\n" 0 5 (:parent #153))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 5304 :end 5755 :pre-blank 1 :contents-begin 5345 :contents-end 5754 :robust-begin 5347 :robust-end 5752 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5304 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #143))) :mode nil :granularity nil :parent #137) (section (:begin 5345 :end 5755 :contents-begin 5345 :contents-end 5754 :robust-begin 5345 :robust-end 5752 :post-blank 1 :post-affiliated 5345 :mode section :granularity nil :parent #143) (paragraph (:begin 5345 :end 5445 :contents-begin 5345 :contents-end 5444 :post-blank 1 :post-affiliated 5345 :mode planning :granularity nil :parent #146) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #149))) (src-block (:language "scheme" :switches nil :parameters nil :begin 5445 :end 5589 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 5445 :mode nil :granularity nil :parent #146)) (paragraph (:begin 5589 :end 5621 :contents-begin 5589 :contents-end 5620 :post-blank 1 :post-affiliated 5589 :mode nil :granularity nil :parent #146) #("by pasting it into the command\n" 0 31 (:parent #151))) (src-block (:language "bash" :switches nil :parameters nil :begin 5621 :end 5674 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 5621 :mode nil :granularity nil :parent #146)) (paragraph (:begin 5674 :end 5691 :contents-begin 5674 :contents-end 5690 :post-blank 1 :post-affiliated 5674 :mode nil :granularity nil :parent #146) #("and hit Ctrl-D.\n" 0 16 (:parent #153))) (paragraph (:begin 5691 :end 5754 :contents-begin 5691 :contents-end 5754 :post-blank 0 :post-affiliated 5691 :mode nil :granularity nil :parent #146) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #154))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 5755 :end 7633 :pre-blank 1 :contents-begin 5787 :contents-end 7632 :robust-begin 5789 :robust-end 7630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5755 :title (#("Step 4: Install and run GN2" 0 27 (:parent #144))) :mode nil :granularity nil :parent #137) (section (:begin 5787 :end 7633 :contents-begin 5787 :contents-end 7632 :robust-begin 5787 :robust-end 7630 :post-blank 1 :post-affiliated 5787 :mode section :granularity nil :parent #144) (paragraph (:begin 5787 :end 5927 :contents-begin 5787 :contents-end 5926 :post-blank 1 :post-affiliated 5787 :mode planning :granularity nil :parent #147) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #150))) (src-block (:language "bash" :switches nil :parameters nil :begin 5927 :end 6046 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 5927 :mode nil :granularity nil :parent #147)) (paragraph (:begin 6046 :end 6099 :contents-begin 6046 :contents-end 6098 :post-blank 1 :post-affiliated 6046 :mode nil :granularity nil :parent #147) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #152))) (src-block (:language "bash" :switches nil :parameters nil :begin 6099 :end 6289 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 6099 :mode nil :granularity nil :parent #147)) (paragraph (:begin 6289 :end 6398 :contents-begin 6289 :contents-end 6397 :post-blank 1 :post-affiliated 6289 :mode nil :granularity nil :parent #147) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #154)) (italic (:begin 6360 :end 6366 :post-blank 0 :contents-begin 6361 :contents-end 6365 :parent #154) #("root" 0 4 (:parent #158))) #(".config/guix/latest override).\n" 0 31 (:parent #154))) (paragraph (:begin 6398 :end 6416 :contents-begin 6398 :contents-end 6415 :post-blank 1 :post-affiliated 6398 :mode nil :granularity nil :parent #147) #("And install with\n" 0 17 (:parent #155))) (src-block (:language "bash" :switches nil :parameters nil :begin 6416 :end 6586 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 6416 :mode nil :granularity nil :parent #147)) (paragraph (:begin 6586 :end 6729 :contents-begin 6586 :contents-end 6728 :post-blank 1 :post-affiliated 6586 :mode nil :granularity nil :parent #147) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #157))) (paragraph (:begin 6729 :end 6925 :contents-begin 6729 :contents-end 6924 :post-blank 1 :post-affiliated 6729 :mode nil :granularity nil :parent #147) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #158))) (paragraph (:begin 6925 :end 7056 :contents-begin 6925 :contents-end 7055 :post-blank 1 :post-affiliated 6925 :mode nil :granularity nil :parent #147) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #159))) (src-block (:language "bash" :switches nil :parameters nil :begin 7056 :end 7235 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python2.7/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 7056 :mode nil :granularity nil :parent #147)) (paragraph (:begin 7235 :end 7304 :contents-begin 7235 :contents-end 7303 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #147) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #161))) (src-block (:language "bash" :switches nil :parameters nil :begin 7304 :end 7345 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 7304 :mode nil :granularity nil :parent #147)) (paragraph (:begin 7345 :end 7596 :contents-begin 7345 :contents-end 7595 :post-blank 1 :post-affiliated 7345 :mode nil :granularity nil :parent #147) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #163)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 7567 :end 7593 :contents-begin nil :contents-end nil :post-blank 0 :parent #163)) #(".\n" 0 2 (:parent #163))) (paragraph (:begin 7596 :end 7632 :contents-begin 7596 :contents-end 7632 :post-blank 0 :post-affiliated 7596 :mode nil :granularity nil :parent #147) #("End of the GN2 installation recipe!\n" 0 36 (:parent #164)))))) (headline (:raw-value "Run MySQL server" :begin 7633 :end 9008 :pre-blank 1 :contents-begin 7653 :contents-end 9007 :robust-begin 7655 :robust-end 9005 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7633 :title (#("Run MySQL server" 0 16 (:parent #138))) :mode nil :granularity nil :parent #131) (section (:begin 7653 :end 9008 :contents-begin 7653 :contents-end 9007 :robust-begin 7653 :robust-end 9005 :post-blank 1 :post-affiliated 7653 :mode section :granularity nil :parent #138) (paragraph (:begin 7653 :end 7928 :contents-begin 7653 :contents-end 7927 :post-blank 1 :post-affiliated 7653 :mode planning :granularity nil :parent #141) #("At this point we require the underlying distribution to install and\nrun mysqld. Currently we have two databases for deployment,\n'db" 0 131 (:parent #144)) (subscript (:begin 7784 :end 7791 :use-brackets-p nil :contents-begin 7785 :contents-end 7791 :post-blank 0 :parent #144) #("webqtl" 0 6 (:parent #148))) (subscript (:begin 7791 :end 7793 :use-brackets-p nil :contents-begin 7792 :contents-end 7793 :post-blank 0 :parent #144) #("s" 0 1 (:parent #149))) #("' is the small testing database containing experiments\nfrom BXD mice and 'db" 0 76 (:parent #144)) (subscript (:begin 7869 :end 7876 :use-brackets-p nil :contents-begin 7870 :contents-end 7876 :post-blank 0 :parent #144) #("webqtl" 0 6 (:parent #151))) (subscript (:begin 7876 :end 7882 :use-brackets-p nil :contents-begin 7877 :contents-end 7882 :post-blank 0 :parent #144) #("plant" 0 5 (:parent #152))) #("' which contains all plant related\nmaterial.\n" 0 45 (:parent #144))) (paragraph (:begin 7928 :end 7956 :contents-begin 7928 :contents-end 7955 :post-blank 1 :post-affiliated 7928 :mode nil :granularity nil :parent #141) #("Download one database from\n" 0 27 (:parent #145))) (paragraph (:begin 7956 :end 8054 :contents-begin 7956 :contents-end 8053 :post-blank 1 :post-affiliated 7956 :mode nil :granularity nil :parent #141) (link (:type "http" :path "//files.genenetwork.org/raw_database/" :format plain :raw-link "http://files.genenetwork.org/raw_database/" :application nil :search-option nil :begin 7956 :end 7998 :contents-begin nil :contents-end nil :post-blank 0 :parent #146)) #("\n" 0 1 (:parent #146)) (link (:type "https" :path "//s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :format plain :raw-link "https://s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :application nil :search-option nil :begin 7999 :end 8052 :contents-begin nil :contents-end nil :post-blank 0 :parent #146)) #("\n" 0 1 (:parent #146))) (paragraph (:begin 8054 :end 8073 :contents-begin 8054 :contents-end 8072 :post-blank 1 :post-affiliated 8054 :mode nil :granularity nil :parent #141) #("Check the md5sum.\n" 0 18 (:parent #147))) (paragraph (:begin 8073 :end 8195 :contents-begin 8073 :contents-end 8194 :post-blank 1 :post-affiliated 8073 :mode nil :granularity nil :parent #141) #("After installation inflate the database binary in the MySQL directory\n(this installation path is subject to change soon)\n" 0 121 (:parent #148))) (fixed-width (:begin 8195 :end 8283 :value "chown -R mysql:mysql db_webqtl_s/\nchmod 700 db_webqtl_s/\nchmod 660 db_webqtl_s/*" :post-blank 2 :post-affiliated 8195 :mode nil :granularity nil :parent #141)) (paragraph (:begin 8283 :end 8334 :contents-begin 8283 :contents-end 8333 :post-blank 1 :post-affiliated 8283 :mode nil :granularity nil :parent #141) #("restart MySQL service (mysqld). Login as root and\n" 0 50 (:parent #150))) (fixed-width (:begin 8334 :end 8560 :value "mysql> show databases;\n+--------------------+\n| Database |\n+--------------------+\n| information_schema |\n| db_webqtl_s |\n| mysql |\n| performance_schema |\n+--------------------+" :post-blank 2 :post-affiliated 8334 :mode nil :granularity nil :parent #141)) (paragraph (:begin 8560 :end 8625 :contents-begin 8560 :contents-end 8624 :post-blank 1 :post-affiliated 8560 :mode nil :granularity nil :parent #141) #("Set permissions and match password in your settings file below:\n" 0 64 (:parent #152))) (fixed-width (:begin 8625 :end 8724 :value "mysql> grant all privileges on db_webqtl_s.* to gn2@\"localhost\" identified by 'mysql_password';" :post-blank 2 :post-affiliated 8625 :mode nil :granularity nil :parent #141)) (paragraph (:begin 8724 :end 8875 :contents-begin 8724 :contents-end 8874 :post-blank 1 :post-affiliated 8724 :mode nil :granularity nil :parent #141) #("Note that if the mysql connection is not working, try connecting to\nthe IP address and check server firewall, hosts.allow and mysql IP\nconfiguration.\n" 0 150 (:parent #154))) (paragraph (:begin 8875 :end 9007 :contents-begin 8875 :contents-end 9007 :post-blank 0 :post-affiliated 8875 :mode nil :granularity nil :parent #141) #("Note for the plant database you can rename it to db" 0 51 (:parent #155)) (subscript (:begin 8926 :end 8933 :use-brackets-p nil :contents-begin 8927 :contents-end 8933 :post-blank 0 :parent #155) #("webqtl" 0 6 (:parent #159))) (subscript (:begin 8933 :end 8935 :use-brackets-p nil :contents-begin 8934 :contents-end 8935 :post-blank 0 :parent #155) #("s" 0 1 (:parent #160))) #(", or\nchange the settings in etc/default" 0 39 (:parent #155)) (subscript (:begin 8974 :end 8987 :use-brackets-p nil :contents-begin 8975 :contents-end 8986 :post-blank 1 :parent #155) #("settings.py" 0 11 (:parent #162))) #("to match your path.\n" 0 20 (:parent #155))))) (headline (:raw-value "GN2 Dependency Graph" :begin 9008 :end 9172 :pre-blank 1 :contents-begin 9032 :contents-end 9171 :robust-begin 9034 :robust-end 9169 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9008 :title (#("GN2 Dependency Graph" 0 20 (:parent #139))) :mode nil :granularity nil :parent #131) (section (:begin 9032 :end 9172 :contents-begin 9032 :contents-end 9171 :robust-begin 9032 :robust-end 9169 :post-blank 1 :post-affiliated 9032 :mode section :granularity nil :parent #139) (paragraph (:begin 9032 :end 9093 :contents-begin 9032 :contents-end 9092 :post-blank 1 :post-affiliated 9032 :mode planning :granularity nil :parent #142) #("Graph of all runtime dependencies as installed by GNU Guix.\n" 0 60 (:parent #145))) (paragraph (:begin 9093 :end 9171 :contents-begin 9123 :contents-end 9171 :post-blank 0 :post-affiliated 9123 :attr_html (":title GN2_graph") :mode nil :granularity nil :parent #142) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg" :format plain :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg" :application nil :search-option nil :begin 9123 :end 9170 :contents-begin nil :contents-end nil :post-blank 0 :parent #146)) #("\n" 0 1 (:parent #146))))) (headline (:raw-value "Source deployment" :begin 9172 :end 12840 :pre-blank 1 :contents-begin 9193 :contents-end 12839 :robust-begin 9195 :robust-end 12837 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9172 :title (#("Source deployment" 0 17 (:parent #140))) :mode nil :granularity nil :parent #131) (section (:begin 9193 :end 9612 :contents-begin 9193 :contents-end 9610 :robust-begin 9193 :robust-end 9608 :post-blank 2 :post-affiliated 9193 :mode section :granularity nil :parent #140) (paragraph (:begin 9193 :end 9274 :contents-begin 9193 :contents-end 9273 :post-blank 1 :post-affiliated 9193 :mode planning :granularity nil :parent #143) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #146))) (paragraph (:begin 9274 :end 9304 :contents-begin 9274 :contents-end 9303 :post-blank 1 :post-affiliated 9274 :mode nil :granularity nil :parent #143) #("First execute above 4 steps:\n" 0 29 (:parent #147))) (plain-list (:type unordered :begin 9304 :end 9610 :contents-begin 9304 :contents-end 9610 :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :post-blank 0 :post-affiliated 9304 :mode nil :granularity nil :parent #143) (item (:bullet "- " :begin 9304 :end 9364 :contents-begin 9309 :contents-end 9364 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9304 :tag nil :mode item :granularity nil :parent #148) (paragraph (:begin 9309 :end 9364 :contents-begin 9309 :contents-end 9364 :post-blank 0 :post-affiliated 9309 :mode nil :granularity nil :parent #151) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 9309 :end 9363 :contents-begin 9337 :contents-end 9361 :post-blank 0 :parent #154) #("Step 1: Install GNU Guix" 0 24 (:parent #157))) #("\n" 0 1 (:parent #154)))) (item (:bullet "- " :begin 9364 :end 9458 :contents-begin 9369 :contents-end 9458 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9364 :tag nil :mode item :granularity nil :parent #148) (paragraph (:begin 9369 :end 9458 :contents-begin 9369 :contents-end 9458 :post-blank 0 :post-affiliated 9369 :mode nil :granularity nil :parent #152) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 9369 :end 9457 :contents-begin 9414 :contents-end 9455 :post-blank 0 :parent #155) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #158))) #("\n" 0 1 (:parent #155)))) (item (:bullet "- " :begin 9458 :end 9542 :contents-begin 9463 :contents-end 9542 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9458 :tag nil :mode item :granularity nil :parent #148) (paragraph (:begin 9463 :end 9542 :contents-begin 9463 :contents-end 9542 :post-blank 0 :post-affiliated 9463 :mode nil :granularity nil :parent #153) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 9463 :end 9541 :contents-begin 9503 :contents-end 9539 :post-blank 0 :parent #156) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #159))) #("\n" 0 1 (:parent #156)))) (item (:bullet "- " :begin 9542 :end 9610 :contents-begin 9547 :contents-end 9610 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9542 :tag nil :mode item :granularity nil :parent #148) (paragraph (:begin 9547 :end 9610 :contents-begin 9547 :contents-end 9610 :post-blank 0 :post-affiliated 9547 :mode nil :granularity nil :parent #154) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 9547 :end 9609 :contents-begin 9579 :contents-end 9607 :post-blank 0 :parent #157) #("Step 4: Install and run GN2 " 0 28 (:parent #160))) #("\n" 0 1 (:parent #157)))))) (headline (:raw-value "Run your own copy of GN2" :begin 9612 :end 10722 :pre-blank 1 :contents-begin 9641 :contents-end 10721 :robust-begin 9643 :robust-end 10719 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9612 :title (#("Run your own copy of GN2" 0 24 (:parent #144))) :mode nil :granularity nil :parent #140) (section (:begin 9641 :end 10722 :contents-begin 9641 :contents-end 10721 :robust-begin 9641 :robust-end 10719 :post-blank 1 :post-affiliated 9641 :mode section :granularity nil :parent #144) (paragraph (:begin 9641 :end 9839 :contents-begin 9641 :contents-end 9838 :post-blank 1 :post-affiliated 9641 :mode planning :granularity nil :parent #147) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #150)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 9793 :end 9836 :contents-begin nil :contents-end nil :post-blank 0 :parent #150)) #(".\n" 0 2 (:parent #150))) (paragraph (:begin 9839 :end 9964 :contents-begin 9839 :contents-end 9963 :post-blank 1 :post-affiliated 9839 :mode nil :granularity nil :parent #147) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #151)) (subscript (:begin 9896 :end 9902 :use-brackets-p nil :contents-begin 9897 :contents-end 9901 :post-blank 1 :parent #151) #("PATH" 0 4 (:parent #155))) #("and\nR" 0 5 (:parent #151)) (subscript (:begin 9907 :end 9912 :use-brackets-p nil :contents-begin 9908 :contents-end 9912 :post-blank 0 :parent #151) #("LIBS" 0 4 (:parent #157))) (subscript (:begin 9912 :end 9918 :use-brackets-p nil :contents-begin 9913 :contents-end 9917 :post-blank 1 :parent #151) #("SITE" 0 4 (:parent #158))) #("are set) from the information given by guix:\n" 0 45 (:parent #151))) (fixed-width (:begin 9964 :end 9995 :value "guix package --search-paths" :post-blank 2 :post-affiliated 9964 :mode nil :granularity nil :parent #147)) (paragraph (:begin 9995 :end 10019 :contents-begin 9995 :contents-end 10018 :post-blank 1 :post-affiliated 9995 :mode nil :granularity nil :parent #147) #("Inside the repository:\n" 0 23 (:parent #153))) (fixed-width (:begin 10019 :end 10059 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 10019 :mode nil :granularity nil :parent #147)) (paragraph (:begin 10059 :end 10303 :contents-begin 10059 :contents-end 10302 :post-blank 1 :post-affiliated 10059 :mode nil :granularity nil :parent #147) #("Will fire up your local repo " 0 29 (:parent #155)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 10088 :end 10111 :contents-begin nil :contents-end nil :post-blank 1 :parent #155)) #("using the\nsettings in ./etc/default" 0 35 (:parent #155)) (subscript (:begin 10146 :end 10158 :use-brackets-p nil :contents-begin 10147 :contents-end 10158 :post-blank 0 :parent #155) #("settings.py" 0 11 (:parent #161))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #155)) (subscript (:begin 10263 :end 10276 :use-brackets-p nil :contents-begin 10264 :contents-end 10275 :post-blank 1 :parent #155) #("settings.py" 0 11 (:parent #163))) #("and pass it into GN2 with\n" 0 26 (:parent #155))) (fixed-width (:begin 10303 :end 10346 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 10303 :mode nil :granularity nil :parent #147)) (paragraph (:begin 10346 :end 10492 :contents-begin 10346 :contents-end 10491 :post-blank 1 :post-affiliated 10346 :mode nil :granularity nil :parent #147) #("and everything " 0 15 (:parent #157)) (bold (:begin 10361 :end 10370 :post-blank 1 :contents-begin 10362 :contents-end 10368 :parent #157) #("should" 0 6 (:parent #161))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #157))) (paragraph (:begin 10492 :end 10620 :contents-begin 10492 :contents-end 10619 :post-blank 1 :post-affiliated 10492 :mode nil :granularity nil :parent #147) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #158))) (fixed-width (:begin 10620 :end 10721 :value "cat ~/.guix-profile/lib/python2.7/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 10620 :mode nil :granularity nil :parent #147)))) (headline (:raw-value "Set up nginx port forwarding" :begin 10722 :end 12840 :pre-blank 1 :contents-begin 10755 :contents-end 12839 :robust-begin 10757 :robust-end 12837 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 10722 :title (#("Set up nginx port forwarding" 0 28 (:parent #145))) :mode nil :granularity nil :parent #140) (section (:begin 10755 :end 12840 :contents-begin 10755 :contents-end 12839 :robust-begin 10755 :robust-end 12837 :post-blank 1 :post-affiliated 10755 :mode section :granularity nil :parent #145) (paragraph (:begin 10755 :end 10923 :contents-begin 10755 :contents-end 10922 :post-blank 1 :post-affiliated 10755 :mode planning :granularity nil :parent #148) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #151))) (paragraph (:begin 10923 :end 11063 :contents-begin 10923 :contents-end 11062 :post-blank 1 :post-affiliated 10923 :mode nil :granularity nil :parent #148) #("#+begin" 0 7 (:parent #152)) (subscript (:begin 10930 :end 10935 :use-brackets-p nil :contents-begin 10931 :contents-end 10934 :post-blank 1 :parent #152) #("src" 0 3 (:parent #156))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #152)) (subscript (:begin 10984 :end 10990 :use-brackets-p nil :contents-begin 10985 :contents-end 10989 :post-blank 1 :parent #152) #("name" 0 4 (:parent #158))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #152)) (subscript (:begin 11030 :end 11036 :use-brackets-p nil :contents-begin 11031 :contents-end 11034 :post-blank 2 :parent #152) #("log" 0 3 (:parent #160))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #152))) (paragraph (:begin 11063 :end 11232 :contents-begin 11063 :contents-end 11231 :post-blank 1 :post-affiliated 11063 :mode nil :granularity nil :parent #148) #(" proxy" 0 13 (:parent #153)) (subscript (:begin 11076 :end 11084 :use-brackets-p nil :contents-begin 11077 :contents-end 11084 :post-blank 0 :parent #153) #("connect" 0 7 (:parent #157))) (subscript (:begin 11084 :end 11099 :use-brackets-p nil :contents-begin 11085 :contents-end 11092 :post-blank 7 :parent #153) #("timeout" 0 7 (:parent #158))) #("3000;\n proxy" 0 19 (:parent #153)) (subscript (:begin 11118 :end 11123 :use-brackets-p nil :contents-begin 11119 :contents-end 11123 :post-blank 0 :parent #153) #("send" 0 4 (:parent #160))) (subscript (:begin 11123 :end 11141 :use-brackets-p nil :contents-begin 11124 :contents-end 11131 :post-blank 10 :parent #153) #("timeout" 0 7 (:parent #161))) #("3000;\n proxy" 0 19 (:parent #153)) (subscript (:begin 11160 :end 11165 :use-brackets-p nil :contents-begin 11161 :contents-end 11165 :post-blank 0 :parent #153) #("read" 0 4 (:parent #163))) (subscript (:begin 11165 :end 11183 :use-brackets-p nil :contents-begin 11166 :contents-end 11173 :post-blank 10 :parent #153) #("timeout" 0 7 (:parent #164))) #("3000;\n send" 0 18 (:parent #153)) (subscript (:begin 11201 :end 11225 :use-brackets-p nil :contents-begin 11202 :contents-end 11209 :post-blank 16 :parent #153) #("timeout" 0 7 (:parent #166))) #("3000;\n" 0 6 (:parent #153))) (paragraph (:begin 11232 :end 11632 :contents-begin 11232 :contents-end 11631 :post-blank 1 :post-affiliated 11232 :mode nil :granularity nil :parent #148) #(" location / {\n proxy" 0 38 (:parent #154)) (subscript (:begin 11270 :end 11274 :use-brackets-p nil :contents-begin 11271 :contents-end 11274 :post-blank 0 :parent #154) #("set" 0 3 (:parent #158))) (subscript (:begin 11274 :end 11284 :use-brackets-p nil :contents-begin 11275 :contents-end 11281 :post-blank 3 :parent #154) #("header" 0 6 (:parent #159))) #("Host $http" 0 15 (:parent #154)) (subscript (:begin 11299 :end 11304 :use-brackets-p nil :contents-begin 11300 :contents-end 11304 :post-blank 0 :parent #154) #("host" 0 4 (:parent #161))) #(";\n proxy" 0 19 (:parent #154)) (subscript (:begin 11323 :end 11327 :use-brackets-p nil :contents-begin 11324 :contents-end 11327 :post-blank 0 :parent #154) #("set" 0 3 (:parent #163))) (subscript (:begin 11327 :end 11337 :use-brackets-p nil :contents-begin 11328 :contents-end 11334 :post-blank 3 :parent #154) #("header" 0 6 (:parent #164))) #("Connection keep-alive;\n proxy" 0 40 (:parent #154)) (subscript (:begin 11377 :end 11381 :use-brackets-p nil :contents-begin 11378 :contents-end 11381 :post-blank 0 :parent #154) #("set" 0 3 (:parent #166))) (subscript (:begin 11381 :end 11391 :use-brackets-p nil :contents-begin 11382 :contents-end 11388 :post-blank 3 :parent #154) #("header" 0 6 (:parent #167))) #("X-Real-IP $remote" 0 17 (:parent #154)) (subscript (:begin 11408 :end 11413 :use-brackets-p nil :contents-begin 11409 :contents-end 11413 :post-blank 0 :parent #154) #("addr" 0 4 (:parent #169))) #(";\n proxy" 0 19 (:parent #154)) (subscript (:begin 11432 :end 11436 :use-brackets-p nil :contents-begin 11433 :contents-end 11436 :post-blank 0 :parent #154) #("set" 0 3 (:parent #171))) (subscript (:begin 11436 :end 11446 :use-brackets-p nil :contents-begin 11437 :contents-end 11443 :post-blank 3 :parent #154) #("header" 0 6 (:parent #172))) #("X-Forwarded-For $proxy" 0 22 (:parent #154)) (subscript (:begin 11468 :end 11472 :use-brackets-p nil :contents-begin 11469 :contents-end 11472 :post-blank 0 :parent #154) #("add" 0 3 (:parent #174))) (subscript (:begin 11472 :end 11474 :use-brackets-p nil :contents-begin 11473 :contents-end 11474 :post-blank 0 :parent #154) #("x" 0 1 (:parent #175))) (subscript (:begin 11474 :end 11484 :use-brackets-p nil :contents-begin 11475 :contents-end 11484 :post-blank 0 :parent #154) #("forwarded" 0 9 (:parent #176))) (subscript (:begin 11484 :end 11488 :use-brackets-p nil :contents-begin 11485 :contents-end 11488 :post-blank 0 :parent #154) #("for" 0 3 (:parent #177))) #(";\n proxy" 0 19 (:parent #154)) (subscript (:begin 11507 :end 11511 :use-brackets-p nil :contents-begin 11508 :contents-end 11511 :post-blank 0 :parent #154) #("set" 0 3 (:parent #179))) (subscript (:begin 11511 :end 11521 :use-brackets-p nil :contents-begin 11512 :contents-end 11518 :post-blank 3 :parent #154) #("header" 0 6 (:parent #180))) #("X-Forwarded-Host $server" 0 24 (:parent #154)) (subscript (:begin 11545 :end 11550 :use-brackets-p nil :contents-begin 11546 :contents-end 11550 :post-blank 0 :parent #154) #("name" 0 4 (:parent #182))) #(";\n proxy" 0 19 (:parent #154)) (subscript (:begin 11569 :end 11583 :use-brackets-p nil :contents-begin 11570 :contents-end 11574 :post-blank 9 :parent #154) #("pass" 0 4 (:parent #184))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 11583 :end 11604 :contents-begin nil :contents-end nil :post-blank 0 :parent #154)) #(";\n }\n}\n#+end" 0 19 (:parent #154)) (subscript (:begin 11623 :end 11628 :use-brackets-p nil :contents-begin 11624 :contents-end 11627 :post-blank 1 :parent #154) #("src" 0 3 (:parent #187))) #("js\n" 0 3 (:parent #154))) (paragraph (:begin 11632 :end 11671 :contents-begin 11632 :contents-end 11670 :post-blank 1 :post-affiliated 11632 :mode nil :granularity nil :parent #148) #("Install the nginx webserver (as root)\n" 0 38 (:parent #155))) (fixed-width (:begin 11671 :end 11696 :value "guix package -i nginx" :post-blank 2 :post-affiliated 11671 :mode nil :granularity nil :parent #148)) (paragraph (:begin 11696 :end 11777 :contents-begin 11696 :contents-end 11776 :post-blank 1 :post-affiliated 11696 :mode nil :granularity nil :parent #148) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #157))) (fixed-width (:begin 11777 :end 11964 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 11777 :mode nil :granularity nil :parent #148)) (paragraph (:begin 11964 :end 11979 :contents-begin 11964 :contents-end 11978 :post-blank 1 :post-affiliated 11964 :mode nil :granularity nil :parent #148) #("Use that path\n" 0 14 (:parent #159))) (fixed-width (:begin 11979 :end 12373 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 11979 :mode nil :granularity nil :parent #148)) (paragraph (:begin 12373 :end 12599 :contents-begin 12373 :contents-end 12599 :post-blank 0 :post-affiliated 12373 :mode nil :granularity nil :parent #148) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #161))) (fixed-width (:begin 12599 :end 12646 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 12599 :mode nil :granularity nil :parent #148)) (paragraph (:begin 12646 :end 12657 :contents-begin 12646 :contents-end 12656 :post-blank 1 :post-affiliated 12646 :mode nil :granularity nil :parent #148) #("Make dirs\n" 0 10 (:parent #163))) (fixed-width (:begin 12657 :end 12691 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 12657 :mode nil :granularity nil :parent #148)) (paragraph (:begin 12691 :end 12702 :contents-begin 12691 :contents-end 12701 :post-blank 1 :post-affiliated 12691 :mode nil :granularity nil :parent #148) #("Add users\n" 0 10 (:parent #165))) (fixed-width (:begin 12702 :end 12738 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 12702 :mode nil :granularity nil :parent #148)) (paragraph (:begin 12738 :end 12749 :contents-begin 12738 :contents-end 12748 :post-blank 1 :post-affiliated 12738 :mode nil :granularity nil :parent #148) #("Run nginx\n" 0 10 (:parent #167))) (fixed-width (:begin 12749 :end 12839 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 12749 :mode nil :granularity nil :parent #148))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 12840 :end 13801 :pre-blank 1 :contents-begin 12902 :contents-end 13801 :robust-begin 12904 :robust-end 13799 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12840 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #141))) :mode nil :granularity nil :parent #131) (section (:begin 12902 :end 12959 :contents-begin 12902 :contents-end 12958 :robust-begin 12902 :robust-end 12956 :post-blank 1 :post-affiliated 12902 :mode section :granularity nil :parent #141) (paragraph (:begin 12902 :end 12958 :contents-begin 12902 :contents-end 12958 :post-blank 0 :post-affiliated 12902 :mode planning :granularity nil :parent #144) #("See the document " 0 17 (:parent #147)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 12919 :end 12956 :contents-begin nil :contents-end nil :post-blank 0 :parent #147)) #(".\n" 0 2 (:parent #147)))) (headline (:raw-value "Update to recent guix" :begin 12959 :end 13409 :pre-blank 1 :contents-begin 12985 :contents-end 13408 :robust-begin 12987 :robust-end 13406 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12959 :title (#("Update to recent guix" 0 21 (:parent #145))) :mode nil :granularity nil :parent #141) (section (:begin 12985 :end 13409 :contents-begin 12985 :contents-end 13408 :robust-begin 12985 :robust-end 13406 :post-blank 1 :post-affiliated 12985 :mode section :granularity nil :parent #145) (paragraph (:begin 12985 :end 13020 :contents-begin 12985 :contents-end 13019 :post-blank 1 :post-affiliated 12985 :mode planning :granularity nil :parent #148) #("We now compile Guix from scratch.\n" 0 34 (:parent #151))) (paragraph (:begin 13020 :end 13295 :contents-begin 13020 :contents-end 13294 :post-blank 1 :post-affiliated 13020 :mode nil :granularity nil :parent #148) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #152)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 13159 :end 13272 :contents-begin 13264 :contents-end 13269 :post-blank 1 :parent #152) #("these" 0 5 (:parent #156))) #("steps carefully after\n" 0 22 (:parent #152))) (fixed-width (:begin 13295 :end 13330 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 13295 :mode nil :granularity nil :parent #148)) (paragraph (:begin 13330 :end 13408 :contents-begin 13330 :contents-end 13408 :post-blank 0 :post-affiliated 13330 :mode nil :granularity nil :parent #148) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #154))))) (headline (:raw-value "Install GN2" :begin 13409 :end 13801 :pre-blank 1 :contents-begin 13425 :contents-end 13801 :robust-begin 13427 :robust-end 13799 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 13409 :title (#("Install GN2" 0 11 (:parent #146))) :mode nil :granularity nil :parent #141) (section (:begin 13425 :end 13801 :contents-begin 13425 :contents-end 13801 :robust-begin 13425 :robust-end 13799 :post-blank 0 :post-affiliated 13425 :mode section :granularity nil :parent #146) (paragraph (:begin 13425 :end 13468 :contents-begin 13425 :contents-end 13467 :post-blank 1 :post-affiliated 13425 :mode planning :granularity nil :parent #149) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #152))) (paragraph (:begin 13468 :end 13676 :contents-begin 13468 :contents-end 13675 :post-blank 1 :post-affiliated 13468 :mode nil :granularity nil :parent #149) #("#+begin" 0 7 (:parent #153)) (subscript (:begin 13475 :end 13480 :use-brackets-p nil :contents-begin 13476 :contents-end 13479 :post-blank 1 :parent #153) #("src" 0 3 (:parent #157))) #("bash\nenv GUIX" 0 13 (:parent #153)) (subscript (:begin 13493 :end 13501 :use-brackets-p nil :contents-begin 13494 :contents-end 13501 :post-blank 0 :parent #153) #("PACKAGE" 0 7 (:parent #159))) (subscript (:begin 13501 :end 13506 :use-brackets-p nil :contents-begin 13502 :contents-end 13506 :post-blank 0 :parent #153) #("PATH" 0 4 (:parent #160))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #153)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 13605 :end 13633 :contents-begin nil :contents-end nil :post-blank 1 :parent #153)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 13633 :end 13658 :contents-begin nil :contents-end nil :post-blank 0 :parent #153)) #("\"\n#+end" 0 7 (:parent #153)) (subscript (:begin 13665 :end 13670 :use-brackets-p nil :contents-begin 13666 :contents-end 13669 :post-blank 1 :parent #153) #("src" 0 3 (:parent #165))) #("bash\n" 0 5 (:parent #153))) (paragraph (:begin 13676 :end 13714 :contents-begin 13676 :contents-end 13713 :post-blank 1 :post-affiliated 13676 :mode nil :granularity nil :parent #149) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #154))) (paragraph (:begin 13714 :end 13801 :contents-begin 13714 :contents-end 13801 :post-blank 0 :post-affiliated 13714 :mode nil :granularity nil :parent #149) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #155)))))))) #61)) #37)) . #0)) (paragraph (:begin 618 :end 660 :contents-begin 618 :contents-end 660 :post-blank 0 :post-affiliated 618 :mode nil :granularity nil :parent #5) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 618 :end 659 :contents-begin 640 :contents-end 657 :post-blank 0 :parent #8) #("Source deployment" 0 17 (:parent #11))) #("\n" 0 1 (:parent #8))) (plain-list (:type unordered :begin 660 :end 790 :contents-begin 660 :contents-end 790 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 660 :mode nil :granularity nil :parent #5) (item (:bullet "- " :begin 660 :end 721 :contents-begin 665 :contents-end 721 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 660 :tag nil :mode item :granularity nil :parent #9) (paragraph (:begin 665 :end 721 :contents-begin 665 :contents-end 721 :post-blank 0 :post-affiliated 665 :mode nil :granularity nil :parent #12) (link (:type "custom-id" :path "run-your-own-copy-of-gn2" :format bracket :raw-link "#run-your-own-copy-of-gn2" :application nil :search-option nil :begin 665 :end 720 :contents-begin 694 :contents-end 718 :post-blank 0 :parent #15) #("Run your own copy of GN2" 0 24 (:parent #18))) #("\n" 0 1 (:parent #15)))) (item (:bullet "- " :begin 721 :end 790 :contents-begin 726 :contents-end 790 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 721 :tag nil :mode item :granularity nil :parent #9) (paragraph (:begin 726 :end 790 :contents-begin 726 :contents-end 790 :post-blank 0 :post-affiliated 726 :mode nil :granularity nil :parent #13) (link (:type "custom-id" :path "set-up-nginx-port-forwarding" :format bracket :raw-link "#set-up-nginx-port-forwarding" :application nil :search-option nil :begin 726 :end 789 :contents-begin 759 :contents-end 787 :post-blank 0 :parent #16) #("Set up nginx port forwarding" 0 28 (:parent #19))) #("\n" 0 1 (:parent #16)))))) (item (:bullet "- " :begin 790 :end 1034 :contents-begin 793 :contents-end 1034 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 790 :tag nil :mode item :granularity nil :parent (plain-list (:type unordered :begin 121 :end 1403 :contents-begin 121 :contents-end 1403 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 121 :mode planning :granularity nil :parent (section (:begin 121 :end 1404 :contents-begin 121 :contents-end 1403 :robust-begin 121 :robust-end 1401 :post-blank 1 :post-affiliated 121 :mode section :granularity nil :parent (headline (:raw-value "Table of Contents" :begin 43 :end 1404 :pre-blank 0 :contents-begin 121 :contents-end 1403 :robust-begin 123 :robust-end 1401 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 43 :title (#("Table of Contents" 0 17 (:parent #86))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13801 :end 13801 :robust-begin 3 :robust-end 13799 :post-blank 0 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 43 :contents-begin 1 :contents-end 42 :robust-begin 1 :robust-end 40 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #132) (keyword (:key "TITLE" :value "Installing GeneNetwork services" :begin 1 :end 42 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #135))) #86 (headline (:raw-value "Introduction" :begin 1404 :end 2450 :pre-blank 1 :contents-begin 1420 :contents-end 2449 :robust-begin 1422 :robust-end 2447 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1404 :title (#("Introduction" 0 12 (:parent #137))) :mode nil :granularity nil :parent #132) (section (:begin 1420 :end 2450 :contents-begin 1420 :contents-end 2449 :robust-begin 1420 :robust-end 2447 :post-blank 1 :post-affiliated 1420 :mode section :granularity nil :parent #137) (paragraph (:begin 1420 :end 1557 :contents-begin 1420 :contents-end 1556 :post-blank 1 :post-affiliated 1420 :mode planning :granularity nil :parent #140) #("If you want to understand the architecture of GN2 read\n" 0 55 (:parent #143)) (link (:type "fuzzy" :path "Architecture.org" :format bracket :raw-link "Architecture.org" :application nil :search-option nil :begin 1475 :end 1495 :contents-begin nil :contents-end nil :post-blank 0 :parent #143)) #(". The rest of this document is mostly on deployment\nof GN2.\n" 0 61 (:parent #143))) (paragraph (:begin 1557 :end 1943 :contents-begin 1557 :contents-end 1942 :post-blank 1 :post-affiliated 1557 :mode nil :granularity nil :parent #140) #("Large system deployments can get very " 0 38 (:parent #144)) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg " :format bracket :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg " :application nil :search-option nil :begin 1595 :end 1656 :contents-begin 1647 :contents-end 1654 :post-blank 0 :parent #144) #("complex" 0 7 (:parent #148))) #(". In this document we\nexplain the GeneNetwork version 2 (GN2) reproducible deployment system\nwhich is based on GNU Guix (see also " 0 130 (:parent #144)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1786 :end 1860 :contents-begin 1848 :contents-end 1858 :post-blank 0 :parent #144) #("Guix-notes" 0 10 (:parent #150))) #("). The Guix\nsystem can be used to install GN with all its files and dependencies.\n" 0 82 (:parent #144))) (paragraph (:begin 1943 :end 2328 :contents-begin 1943 :contents-end 2327 :post-blank 1 :post-affiliated 1943 :mode nil :granularity nil :parent #140) #("The official installation path is from a checked out version of the\nmain Guix package tree and that of the Genenetwork package\ntree. Current supported versions can be found as the SHA values of\n'gn-latest' branches of " 0 218 (:parent #145)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :application nil :search-option nil :begin 2161 :end 2252 :contents-begin 2230 :contents-end 2249 :post-blank 1 :parent #145) #("Guix bioinformatics" 0 19 (:parent #149))) #("and " 0 4 (:parent #145)) (link (:type "https" :path "//github.com/genenetwork/guix/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix/tree/gn-latest" :application nil :search-option nil :begin 2256 :end 2325 :contents-begin 2310 :contents-end 2323 :post-blank 0 :parent #145) #("GNU Guix main" 0 13 (:parent #151))) #(".\n" 0 2 (:parent #145))) (paragraph (:begin 2328 :end 2449 :contents-begin 2328 :contents-end 2449 :post-blank 0 :post-affiliated 2328 :mode nil :granularity nil :parent #140) #("For a full view of runtime dependencies as defined by GNU Guix, see\nthe " 0 72 (:parent #146)) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 2400 :end 2447 :contents-begin 2425 :contents-end 2445 :post-blank 0 :parent #146) #("GN2 Dependency Graph" 0 20 (:parent #150))) #(".\n" 0 2 (:parent #146))))) (headline (:raw-value "Quick installation recipe" :begin 2450 :end 7633 :pre-blank 1 :contents-begin 2479 :contents-end 7632 :robust-begin 2481 :robust-end 7630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 2450 :title (#("Quick installation recipe" 0 25 (:parent #138))) :mode nil :granularity nil :parent #132) (section (:begin 2479 :end 3022 :contents-begin 2479 :contents-end 3021 :robust-begin 2479 :robust-end 3019 :post-blank 1 :post-affiliated 2479 :mode section :granularity nil :parent #138) (paragraph (:begin 2479 :end 2880 :contents-begin 2479 :contents-end 2879 :post-blank 1 :post-affiliated 2479 :mode planning :granularity nil :parent #141) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS). For more elaborate installation\ninstructions see " 0 357 (:parent #144)) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 2836 :end 2877 :contents-begin 2858 :contents-end 2875 :post-blank 0 :parent #144) #("Source deployment" 0 17 (:parent #148))) #(".\n" 0 2 (:parent #144))) (paragraph (:begin 2880 :end 3021 :contents-begin 2880 :contents-end 3021 :post-blank 0 :post-affiliated 2880 :mode nil :granularity nil :parent #141) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #145)))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 3022 :end 4649 :pre-blank 1 :contents-begin 3051 :contents-end 4648 :robust-begin 3053 :robust-end 4646 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3022 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #142))) :mode nil :granularity nil :parent #138) (section (:begin 3051 :end 4649 :contents-begin 3051 :contents-end 4648 :robust-begin 3051 :robust-end 4646 :post-blank 1 :post-affiliated 3051 :mode section :granularity nil :parent #142) (paragraph (:begin 3051 :end 3504 :contents-begin 3051 :contents-end 3503 :post-blank 1 :post-affiliated 3051 :mode planning :granularity nil :parent #145) #("Fetch the GNU Guix binary from " 0 31 (:parent #148)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 3082 :end 3136 :contents-begin 3129 :contents-end 3133 :post-blank 1 :parent #148) #("here" 0 4 (:parent #152))) #("(middle panel) and follow\n" 0 26 (:parent #148)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 3162 :end 3255 :contents-begin 3241 :contents-end 3253 :post-blank 0 :parent #148) #("instructions" 0 12 (:parent #154))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #148))) (paragraph (:begin 3504 :end 3782 :contents-begin 3504 :contents-end 3781 :post-blank 1 :post-affiliated 3504 :mode nil :granularity nil :parent #145) #("Once you have succeeded, you have to " 0 37 (:parent #149)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 3541 :end 3631 :contents-begin 3617 :contents-end 3628 :post-blank 1 :parent #149) #("set the key" 0 11 (:parent #153))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #149))) (src-block (:language "bash" :switches nil :parameters nil :begin 3782 :end 3890 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 3782 :mode nil :granularity nil :parent #145)) (paragraph (:begin 3890 :end 3924 :contents-begin 3890 :contents-end 3923 :post-blank 1 :post-affiliated 3890 :mode nil :granularity nil :parent #145) #("Which should show something like\n" 0 33 (:parent #151))) (fixed-width (:begin 3924 :end 4034 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 3924 :mode nil :granularity nil :parent #145)) (paragraph (:begin 4034 :end 4045 :contents-begin 4034 :contents-end 4044 :post-blank 1 :post-affiliated 4034 :mode nil :granularity nil :parent #145) #("#+end" 0 5 (:parent #153)) (subscript (:begin 4039 :end 4043 :use-brackets-p nil :contents-begin 4040 :contents-end 4043 :post-blank 0 :parent #153) #("src" 0 3 (:parent #157))) #("\n" 0 1 (:parent #153))) (paragraph (:begin 4045 :end 4116 :contents-begin 4045 :contents-end 4115 :post-blank 1 :post-affiliated 4045 :mode nil :granularity nil :parent #145) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #154))) (src-block (:language "bash" :switches nil :parameters nil :begin 4116 :end 4188 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 4116 :mode nil :granularity nil :parent #145)) (paragraph (:begin 4188 :end 4375 :contents-begin 4188 :contents-end 4374 :post-blank 1 :post-affiliated 4188 :mode nil :granularity nil :parent #145) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #156))) (paragraph (:begin 4375 :end 4648 :contents-begin 4375 :contents-end 4648 :post-blank 0 :post-affiliated 4375 :mode nil :granularity nil :parent #145) #("If you need more help we have another writeup in " 0 49 (:parent #157)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 4424 :end 4520 :contents-begin 4508 :contents-end 4518 :post-blank 0 :parent #157) #("guix-notes" 0 10 (:parent #161))) #(". To get\nrid of the locale warning see " 0 39 (:parent #157)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 4559 :end 4646 :contents-begin 4634 :contents-end 4644 :post-blank 0 :parent #157) #("set-locale" 0 10 (:parent #163))) #(".\n" 0 2 (:parent #157))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 4649 :end 5304 :pre-blank 1 :contents-begin 4695 :contents-end 5302 :robust-begin 4697 :robust-end 5300 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4649 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #143))) :mode nil :granularity nil :parent #138) (section (:begin 4695 :end 5304 :contents-begin 4695 :contents-end 5302 :robust-begin 4695 :robust-end 5300 :post-blank 2 :post-affiliated 4695 :mode section :granularity nil :parent #143) (paragraph (:begin 4695 :end 4815 :contents-begin 4695 :contents-end 4814 :post-blank 1 :post-affiliated 4695 :mode planning :granularity nil :parent #146) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #149))) (src-block (:language "bash" :switches nil :parameters nil :begin 4815 :end 4920 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 4815 :mode nil :granularity nil :parent #146)) (paragraph (:begin 4920 :end 4971 :contents-begin 4920 :contents-end 4970 :post-blank 1 :post-affiliated 4920 :mode nil :granularity nil :parent #146) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #151))) (paragraph (:begin 4971 :end 5232 :contents-begin 4971 :contents-end 5231 :post-blank 1 :post-affiliated 4971 :mode nil :granularity nil :parent #146) #("#+begin" 0 7 (:parent #152)) (subscript (:begin 4978 :end 4983 :use-brackets-p nil :contents-begin 4979 :contents-end 4982 :post-blank 1 :parent #152) #("src" 0 3 (:parent #156))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #152)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 5055 :end 5105 :contents-begin nil :contents-end nil :post-blank 0 :parent #152)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #152)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 5147 :end 5183 :contents-begin nil :contents-end nil :post-blank 1 :parent #152)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #152)) (subscript (:begin 5221 :end 5226 :use-brackets-p nil :contents-begin 5222 :contents-end 5225 :post-blank 1 :parent #152) #("src" 0 3 (:parent #162))) #("bash\n" 0 5 (:parent #152))) (paragraph (:begin 5232 :end 5270 :contents-begin 5232 :contents-end 5269 :post-blank 1 :post-affiliated 5232 :mode nil :granularity nil :parent #146) #("To test whether this is working try:\n" 0 37 (:parent #153))) (paragraph (:begin 5270 :end 5302 :contents-begin 5270 :contents-end 5302 :post-blank 0 :post-affiliated 5270 :mode nil :granularity nil :parent #146) #("#+begin" 0 7 (:parent #154)) (subscript (:begin 5277 :end 5282 :use-brackets-p nil :contents-begin 5278 :contents-end 5281 :post-blank 1 :parent #154) #("src" 0 3 (:parent #158))) #("bash\n#+end" 0 10 (:parent #154)) (subscript (:begin 5292 :end 5297 :use-brackets-p nil :contents-begin 5293 :contents-end 5296 :post-blank 1 :parent #154) #("src" 0 3 (:parent #160))) #("bash\n" 0 5 (:parent #154))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 5304 :end 5755 :pre-blank 1 :contents-begin 5345 :contents-end 5754 :robust-begin 5347 :robust-end 5752 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5304 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #144))) :mode nil :granularity nil :parent #138) (section (:begin 5345 :end 5755 :contents-begin 5345 :contents-end 5754 :robust-begin 5345 :robust-end 5752 :post-blank 1 :post-affiliated 5345 :mode section :granularity nil :parent #144) (paragraph (:begin 5345 :end 5445 :contents-begin 5345 :contents-end 5444 :post-blank 1 :post-affiliated 5345 :mode planning :granularity nil :parent #147) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #150))) (src-block (:language "scheme" :switches nil :parameters nil :begin 5445 :end 5589 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 5445 :mode nil :granularity nil :parent #147)) (paragraph (:begin 5589 :end 5621 :contents-begin 5589 :contents-end 5620 :post-blank 1 :post-affiliated 5589 :mode nil :granularity nil :parent #147) #("by pasting it into the command\n" 0 31 (:parent #152))) (src-block (:language "bash" :switches nil :parameters nil :begin 5621 :end 5674 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 5621 :mode nil :granularity nil :parent #147)) (paragraph (:begin 5674 :end 5691 :contents-begin 5674 :contents-end 5690 :post-blank 1 :post-affiliated 5674 :mode nil :granularity nil :parent #147) #("and hit Ctrl-D.\n" 0 16 (:parent #154))) (paragraph (:begin 5691 :end 5754 :contents-begin 5691 :contents-end 5754 :post-blank 0 :post-affiliated 5691 :mode nil :granularity nil :parent #147) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #155))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 5755 :end 7633 :pre-blank 1 :contents-begin 5787 :contents-end 7632 :robust-begin 5789 :robust-end 7630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5755 :title (#("Step 4: Install and run GN2" 0 27 (:parent #145))) :mode nil :granularity nil :parent #138) (section (:begin 5787 :end 7633 :contents-begin 5787 :contents-end 7632 :robust-begin 5787 :robust-end 7630 :post-blank 1 :post-affiliated 5787 :mode section :granularity nil :parent #145) (paragraph (:begin 5787 :end 5927 :contents-begin 5787 :contents-end 5926 :post-blank 1 :post-affiliated 5787 :mode planning :granularity nil :parent #148) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #151))) (src-block (:language "bash" :switches nil :parameters nil :begin 5927 :end 6046 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 5927 :mode nil :granularity nil :parent #148)) (paragraph (:begin 6046 :end 6099 :contents-begin 6046 :contents-end 6098 :post-blank 1 :post-affiliated 6046 :mode nil :granularity nil :parent #148) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #153))) (src-block (:language "bash" :switches nil :parameters nil :begin 6099 :end 6289 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 6099 :mode nil :granularity nil :parent #148)) (paragraph (:begin 6289 :end 6398 :contents-begin 6289 :contents-end 6397 :post-blank 1 :post-affiliated 6289 :mode nil :granularity nil :parent #148) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #155)) (italic (:begin 6360 :end 6366 :post-blank 0 :contents-begin 6361 :contents-end 6365 :parent #155) #("root" 0 4 (:parent #159))) #(".config/guix/latest override).\n" 0 31 (:parent #155))) (paragraph (:begin 6398 :end 6416 :contents-begin 6398 :contents-end 6415 :post-blank 1 :post-affiliated 6398 :mode nil :granularity nil :parent #148) #("And install with\n" 0 17 (:parent #156))) (src-block (:language "bash" :switches nil :parameters nil :begin 6416 :end 6586 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 6416 :mode nil :granularity nil :parent #148)) (paragraph (:begin 6586 :end 6729 :contents-begin 6586 :contents-end 6728 :post-blank 1 :post-affiliated 6586 :mode nil :granularity nil :parent #148) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #158))) (paragraph (:begin 6729 :end 6925 :contents-begin 6729 :contents-end 6924 :post-blank 1 :post-affiliated 6729 :mode nil :granularity nil :parent #148) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #159))) (paragraph (:begin 6925 :end 7056 :contents-begin 6925 :contents-end 7055 :post-blank 1 :post-affiliated 6925 :mode nil :granularity nil :parent #148) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #160))) (src-block (:language "bash" :switches nil :parameters nil :begin 7056 :end 7235 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python2.7/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 7056 :mode nil :granularity nil :parent #148)) (paragraph (:begin 7235 :end 7304 :contents-begin 7235 :contents-end 7303 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #148) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #162))) (src-block (:language "bash" :switches nil :parameters nil :begin 7304 :end 7345 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 7304 :mode nil :granularity nil :parent #148)) (paragraph (:begin 7345 :end 7596 :contents-begin 7345 :contents-end 7595 :post-blank 1 :post-affiliated 7345 :mode nil :granularity nil :parent #148) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #164)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 7567 :end 7593 :contents-begin nil :contents-end nil :post-blank 0 :parent #164)) #(".\n" 0 2 (:parent #164))) (paragraph (:begin 7596 :end 7632 :contents-begin 7596 :contents-end 7632 :post-blank 0 :post-affiliated 7596 :mode nil :granularity nil :parent #148) #("End of the GN2 installation recipe!\n" 0 36 (:parent #165)))))) (headline (:raw-value "Run MySQL server" :begin 7633 :end 9008 :pre-blank 1 :contents-begin 7653 :contents-end 9007 :robust-begin 7655 :robust-end 9005 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7633 :title (#("Run MySQL server" 0 16 (:parent #139))) :mode nil :granularity nil :parent #132) (section (:begin 7653 :end 9008 :contents-begin 7653 :contents-end 9007 :robust-begin 7653 :robust-end 9005 :post-blank 1 :post-affiliated 7653 :mode section :granularity nil :parent #139) (paragraph (:begin 7653 :end 7928 :contents-begin 7653 :contents-end 7927 :post-blank 1 :post-affiliated 7653 :mode planning :granularity nil :parent #142) #("At this point we require the underlying distribution to install and\nrun mysqld. Currently we have two databases for deployment,\n'db" 0 131 (:parent #145)) (subscript (:begin 7784 :end 7791 :use-brackets-p nil :contents-begin 7785 :contents-end 7791 :post-blank 0 :parent #145) #("webqtl" 0 6 (:parent #149))) (subscript (:begin 7791 :end 7793 :use-brackets-p nil :contents-begin 7792 :contents-end 7793 :post-blank 0 :parent #145) #("s" 0 1 (:parent #150))) #("' is the small testing database containing experiments\nfrom BXD mice and 'db" 0 76 (:parent #145)) (subscript (:begin 7869 :end 7876 :use-brackets-p nil :contents-begin 7870 :contents-end 7876 :post-blank 0 :parent #145) #("webqtl" 0 6 (:parent #152))) (subscript (:begin 7876 :end 7882 :use-brackets-p nil :contents-begin 7877 :contents-end 7882 :post-blank 0 :parent #145) #("plant" 0 5 (:parent #153))) #("' which contains all plant related\nmaterial.\n" 0 45 (:parent #145))) (paragraph (:begin 7928 :end 7956 :contents-begin 7928 :contents-end 7955 :post-blank 1 :post-affiliated 7928 :mode nil :granularity nil :parent #142) #("Download one database from\n" 0 27 (:parent #146))) (paragraph (:begin 7956 :end 8054 :contents-begin 7956 :contents-end 8053 :post-blank 1 :post-affiliated 7956 :mode nil :granularity nil :parent #142) (link (:type "http" :path "//files.genenetwork.org/raw_database/" :format plain :raw-link "http://files.genenetwork.org/raw_database/" :application nil :search-option nil :begin 7956 :end 7998 :contents-begin nil :contents-end nil :post-blank 0 :parent #147)) #("\n" 0 1 (:parent #147)) (link (:type "https" :path "//s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :format plain :raw-link "https://s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :application nil :search-option nil :begin 7999 :end 8052 :contents-begin nil :contents-end nil :post-blank 0 :parent #147)) #("\n" 0 1 (:parent #147))) (paragraph (:begin 8054 :end 8073 :contents-begin 8054 :contents-end 8072 :post-blank 1 :post-affiliated 8054 :mode nil :granularity nil :parent #142) #("Check the md5sum.\n" 0 18 (:parent #148))) (paragraph (:begin 8073 :end 8195 :contents-begin 8073 :contents-end 8194 :post-blank 1 :post-affiliated 8073 :mode nil :granularity nil :parent #142) #("After installation inflate the database binary in the MySQL directory\n(this installation path is subject to change soon)\n" 0 121 (:parent #149))) (fixed-width (:begin 8195 :end 8283 :value "chown -R mysql:mysql db_webqtl_s/\nchmod 700 db_webqtl_s/\nchmod 660 db_webqtl_s/*" :post-blank 2 :post-affiliated 8195 :mode nil :granularity nil :parent #142)) (paragraph (:begin 8283 :end 8334 :contents-begin 8283 :contents-end 8333 :post-blank 1 :post-affiliated 8283 :mode nil :granularity nil :parent #142) #("restart MySQL service (mysqld). Login as root and\n" 0 50 (:parent #151))) (fixed-width (:begin 8334 :end 8560 :value "mysql> show databases;\n+--------------------+\n| Database |\n+--------------------+\n| information_schema |\n| db_webqtl_s |\n| mysql |\n| performance_schema |\n+--------------------+" :post-blank 2 :post-affiliated 8334 :mode nil :granularity nil :parent #142)) (paragraph (:begin 8560 :end 8625 :contents-begin 8560 :contents-end 8624 :post-blank 1 :post-affiliated 8560 :mode nil :granularity nil :parent #142) #("Set permissions and match password in your settings file below:\n" 0 64 (:parent #153))) (fixed-width (:begin 8625 :end 8724 :value "mysql> grant all privileges on db_webqtl_s.* to gn2@\"localhost\" identified by 'mysql_password';" :post-blank 2 :post-affiliated 8625 :mode nil :granularity nil :parent #142)) (paragraph (:begin 8724 :end 8875 :contents-begin 8724 :contents-end 8874 :post-blank 1 :post-affiliated 8724 :mode nil :granularity nil :parent #142) #("Note that if the mysql connection is not working, try connecting to\nthe IP address and check server firewall, hosts.allow and mysql IP\nconfiguration.\n" 0 150 (:parent #155))) (paragraph (:begin 8875 :end 9007 :contents-begin 8875 :contents-end 9007 :post-blank 0 :post-affiliated 8875 :mode nil :granularity nil :parent #142) #("Note for the plant database you can rename it to db" 0 51 (:parent #156)) (subscript (:begin 8926 :end 8933 :use-brackets-p nil :contents-begin 8927 :contents-end 8933 :post-blank 0 :parent #156) #("webqtl" 0 6 (:parent #160))) (subscript (:begin 8933 :end 8935 :use-brackets-p nil :contents-begin 8934 :contents-end 8935 :post-blank 0 :parent #156) #("s" 0 1 (:parent #161))) #(", or\nchange the settings in etc/default" 0 39 (:parent #156)) (subscript (:begin 8974 :end 8987 :use-brackets-p nil :contents-begin 8975 :contents-end 8986 :post-blank 1 :parent #156) #("settings.py" 0 11 (:parent #163))) #("to match your path.\n" 0 20 (:parent #156))))) (headline (:raw-value "GN2 Dependency Graph" :begin 9008 :end 9172 :pre-blank 1 :contents-begin 9032 :contents-end 9171 :robust-begin 9034 :robust-end 9169 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9008 :title (#("GN2 Dependency Graph" 0 20 (:parent #140))) :mode nil :granularity nil :parent #132) (section (:begin 9032 :end 9172 :contents-begin 9032 :contents-end 9171 :robust-begin 9032 :robust-end 9169 :post-blank 1 :post-affiliated 9032 :mode section :granularity nil :parent #140) (paragraph (:begin 9032 :end 9093 :contents-begin 9032 :contents-end 9092 :post-blank 1 :post-affiliated 9032 :mode planning :granularity nil :parent #143) #("Graph of all runtime dependencies as installed by GNU Guix.\n" 0 60 (:parent #146))) (paragraph (:begin 9093 :end 9171 :contents-begin 9123 :contents-end 9171 :post-blank 0 :post-affiliated 9123 :attr_html (":title GN2_graph") :mode nil :granularity nil :parent #143) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg" :format plain :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg" :application nil :search-option nil :begin 9123 :end 9170 :contents-begin nil :contents-end nil :post-blank 0 :parent #147)) #("\n" 0 1 (:parent #147))))) (headline (:raw-value "Source deployment" :begin 9172 :end 12840 :pre-blank 1 :contents-begin 9193 :contents-end 12839 :robust-begin 9195 :robust-end 12837 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9172 :title (#("Source deployment" 0 17 (:parent #141))) :mode nil :granularity nil :parent #132) (section (:begin 9193 :end 9612 :contents-begin 9193 :contents-end 9610 :robust-begin 9193 :robust-end 9608 :post-blank 2 :post-affiliated 9193 :mode section :granularity nil :parent #141) (paragraph (:begin 9193 :end 9274 :contents-begin 9193 :contents-end 9273 :post-blank 1 :post-affiliated 9193 :mode planning :granularity nil :parent #144) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #147))) (paragraph (:begin 9274 :end 9304 :contents-begin 9274 :contents-end 9303 :post-blank 1 :post-affiliated 9274 :mode nil :granularity nil :parent #144) #("First execute above 4 steps:\n" 0 29 (:parent #148))) (plain-list (:type unordered :begin 9304 :end 9610 :contents-begin 9304 :contents-end 9610 :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :post-blank 0 :post-affiliated 9304 :mode nil :granularity nil :parent #144) (item (:bullet "- " :begin 9304 :end 9364 :contents-begin 9309 :contents-end 9364 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9304 :tag nil :mode item :granularity nil :parent #149) (paragraph (:begin 9309 :end 9364 :contents-begin 9309 :contents-end 9364 :post-blank 0 :post-affiliated 9309 :mode nil :granularity nil :parent #152) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 9309 :end 9363 :contents-begin 9337 :contents-end 9361 :post-blank 0 :parent #155) #("Step 1: Install GNU Guix" 0 24 (:parent #158))) #("\n" 0 1 (:parent #155)))) (item (:bullet "- " :begin 9364 :end 9458 :contents-begin 9369 :contents-end 9458 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9364 :tag nil :mode item :granularity nil :parent #149) (paragraph (:begin 9369 :end 9458 :contents-begin 9369 :contents-end 9458 :post-blank 0 :post-affiliated 9369 :mode nil :granularity nil :parent #153) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 9369 :end 9457 :contents-begin 9414 :contents-end 9455 :post-blank 0 :parent #156) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #159))) #("\n" 0 1 (:parent #156)))) (item (:bullet "- " :begin 9458 :end 9542 :contents-begin 9463 :contents-end 9542 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9458 :tag nil :mode item :granularity nil :parent #149) (paragraph (:begin 9463 :end 9542 :contents-begin 9463 :contents-end 9542 :post-blank 0 :post-affiliated 9463 :mode nil :granularity nil :parent #154) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 9463 :end 9541 :contents-begin 9503 :contents-end 9539 :post-blank 0 :parent #157) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #160))) #("\n" 0 1 (:parent #157)))) (item (:bullet "- " :begin 9542 :end 9610 :contents-begin 9547 :contents-end 9610 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9542 :tag nil :mode item :granularity nil :parent #149) (paragraph (:begin 9547 :end 9610 :contents-begin 9547 :contents-end 9610 :post-blank 0 :post-affiliated 9547 :mode nil :granularity nil :parent #155) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 9547 :end 9609 :contents-begin 9579 :contents-end 9607 :post-blank 0 :parent #158) #("Step 4: Install and run GN2 " 0 28 (:parent #161))) #("\n" 0 1 (:parent #158)))))) (headline (:raw-value "Run your own copy of GN2" :begin 9612 :end 10722 :pre-blank 1 :contents-begin 9641 :contents-end 10721 :robust-begin 9643 :robust-end 10719 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9612 :title (#("Run your own copy of GN2" 0 24 (:parent #145))) :mode nil :granularity nil :parent #141) (section (:begin 9641 :end 10722 :contents-begin 9641 :contents-end 10721 :robust-begin 9641 :robust-end 10719 :post-blank 1 :post-affiliated 9641 :mode section :granularity nil :parent #145) (paragraph (:begin 9641 :end 9839 :contents-begin 9641 :contents-end 9838 :post-blank 1 :post-affiliated 9641 :mode planning :granularity nil :parent #148) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #151)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 9793 :end 9836 :contents-begin nil :contents-end nil :post-blank 0 :parent #151)) #(".\n" 0 2 (:parent #151))) (paragraph (:begin 9839 :end 9964 :contents-begin 9839 :contents-end 9963 :post-blank 1 :post-affiliated 9839 :mode nil :granularity nil :parent #148) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #152)) (subscript (:begin 9896 :end 9902 :use-brackets-p nil :contents-begin 9897 :contents-end 9901 :post-blank 1 :parent #152) #("PATH" 0 4 (:parent #156))) #("and\nR" 0 5 (:parent #152)) (subscript (:begin 9907 :end 9912 :use-brackets-p nil :contents-begin 9908 :contents-end 9912 :post-blank 0 :parent #152) #("LIBS" 0 4 (:parent #158))) (subscript (:begin 9912 :end 9918 :use-brackets-p nil :contents-begin 9913 :contents-end 9917 :post-blank 1 :parent #152) #("SITE" 0 4 (:parent #159))) #("are set) from the information given by guix:\n" 0 45 (:parent #152))) (fixed-width (:begin 9964 :end 9995 :value "guix package --search-paths" :post-blank 2 :post-affiliated 9964 :mode nil :granularity nil :parent #148)) (paragraph (:begin 9995 :end 10019 :contents-begin 9995 :contents-end 10018 :post-blank 1 :post-affiliated 9995 :mode nil :granularity nil :parent #148) #("Inside the repository:\n" 0 23 (:parent #154))) (fixed-width (:begin 10019 :end 10059 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 10019 :mode nil :granularity nil :parent #148)) (paragraph (:begin 10059 :end 10303 :contents-begin 10059 :contents-end 10302 :post-blank 1 :post-affiliated 10059 :mode nil :granularity nil :parent #148) #("Will fire up your local repo " 0 29 (:parent #156)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 10088 :end 10111 :contents-begin nil :contents-end nil :post-blank 1 :parent #156)) #("using the\nsettings in ./etc/default" 0 35 (:parent #156)) (subscript (:begin 10146 :end 10158 :use-brackets-p nil :contents-begin 10147 :contents-end 10158 :post-blank 0 :parent #156) #("settings.py" 0 11 (:parent #162))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #156)) (subscript (:begin 10263 :end 10276 :use-brackets-p nil :contents-begin 10264 :contents-end 10275 :post-blank 1 :parent #156) #("settings.py" 0 11 (:parent #164))) #("and pass it into GN2 with\n" 0 26 (:parent #156))) (fixed-width (:begin 10303 :end 10346 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 10303 :mode nil :granularity nil :parent #148)) (paragraph (:begin 10346 :end 10492 :contents-begin 10346 :contents-end 10491 :post-blank 1 :post-affiliated 10346 :mode nil :granularity nil :parent #148) #("and everything " 0 15 (:parent #158)) (bold (:begin 10361 :end 10370 :post-blank 1 :contents-begin 10362 :contents-end 10368 :parent #158) #("should" 0 6 (:parent #162))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #158))) (paragraph (:begin 10492 :end 10620 :contents-begin 10492 :contents-end 10619 :post-blank 1 :post-affiliated 10492 :mode nil :granularity nil :parent #148) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #159))) (fixed-width (:begin 10620 :end 10721 :value "cat ~/.guix-profile/lib/python2.7/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 10620 :mode nil :granularity nil :parent #148)))) (headline (:raw-value "Set up nginx port forwarding" :begin 10722 :end 12840 :pre-blank 1 :contents-begin 10755 :contents-end 12839 :robust-begin 10757 :robust-end 12837 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 10722 :title (#("Set up nginx port forwarding" 0 28 (:parent #146))) :mode nil :granularity nil :parent #141) (section (:begin 10755 :end 12840 :contents-begin 10755 :contents-end 12839 :robust-begin 10755 :robust-end 12837 :post-blank 1 :post-affiliated 10755 :mode section :granularity nil :parent #146) (paragraph (:begin 10755 :end 10923 :contents-begin 10755 :contents-end 10922 :post-blank 1 :post-affiliated 10755 :mode planning :granularity nil :parent #149) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #152))) (paragraph (:begin 10923 :end 11063 :contents-begin 10923 :contents-end 11062 :post-blank 1 :post-affiliated 10923 :mode nil :granularity nil :parent #149) #("#+begin" 0 7 (:parent #153)) (subscript (:begin 10930 :end 10935 :use-brackets-p nil :contents-begin 10931 :contents-end 10934 :post-blank 1 :parent #153) #("src" 0 3 (:parent #157))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #153)) (subscript (:begin 10984 :end 10990 :use-brackets-p nil :contents-begin 10985 :contents-end 10989 :post-blank 1 :parent #153) #("name" 0 4 (:parent #159))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #153)) (subscript (:begin 11030 :end 11036 :use-brackets-p nil :contents-begin 11031 :contents-end 11034 :post-blank 2 :parent #153) #("log" 0 3 (:parent #161))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #153))) (paragraph (:begin 11063 :end 11232 :contents-begin 11063 :contents-end 11231 :post-blank 1 :post-affiliated 11063 :mode nil :granularity nil :parent #149) #(" proxy" 0 13 (:parent #154)) (subscript (:begin 11076 :end 11084 :use-brackets-p nil :contents-begin 11077 :contents-end 11084 :post-blank 0 :parent #154) #("connect" 0 7 (:parent #158))) (subscript (:begin 11084 :end 11099 :use-brackets-p nil :contents-begin 11085 :contents-end 11092 :post-blank 7 :parent #154) #("timeout" 0 7 (:parent #159))) #("3000;\n proxy" 0 19 (:parent #154)) (subscript (:begin 11118 :end 11123 :use-brackets-p nil :contents-begin 11119 :contents-end 11123 :post-blank 0 :parent #154) #("send" 0 4 (:parent #161))) (subscript (:begin 11123 :end 11141 :use-brackets-p nil :contents-begin 11124 :contents-end 11131 :post-blank 10 :parent #154) #("timeout" 0 7 (:parent #162))) #("3000;\n proxy" 0 19 (:parent #154)) (subscript (:begin 11160 :end 11165 :use-brackets-p nil :contents-begin 11161 :contents-end 11165 :post-blank 0 :parent #154) #("read" 0 4 (:parent #164))) (subscript (:begin 11165 :end 11183 :use-brackets-p nil :contents-begin 11166 :contents-end 11173 :post-blank 10 :parent #154) #("timeout" 0 7 (:parent #165))) #("3000;\n send" 0 18 (:parent #154)) (subscript (:begin 11201 :end 11225 :use-brackets-p nil :contents-begin 11202 :contents-end 11209 :post-blank 16 :parent #154) #("timeout" 0 7 (:parent #167))) #("3000;\n" 0 6 (:parent #154))) (paragraph (:begin 11232 :end 11632 :contents-begin 11232 :contents-end 11631 :post-blank 1 :post-affiliated 11232 :mode nil :granularity nil :parent #149) #(" location / {\n proxy" 0 38 (:parent #155)) (subscript (:begin 11270 :end 11274 :use-brackets-p nil :contents-begin 11271 :contents-end 11274 :post-blank 0 :parent #155) #("set" 0 3 (:parent #159))) (subscript (:begin 11274 :end 11284 :use-brackets-p nil :contents-begin 11275 :contents-end 11281 :post-blank 3 :parent #155) #("header" 0 6 (:parent #160))) #("Host $http" 0 15 (:parent #155)) (subscript (:begin 11299 :end 11304 :use-brackets-p nil :contents-begin 11300 :contents-end 11304 :post-blank 0 :parent #155) #("host" 0 4 (:parent #162))) #(";\n proxy" 0 19 (:parent #155)) (subscript (:begin 11323 :end 11327 :use-brackets-p nil :contents-begin 11324 :contents-end 11327 :post-blank 0 :parent #155) #("set" 0 3 (:parent #164))) (subscript (:begin 11327 :end 11337 :use-brackets-p nil :contents-begin 11328 :contents-end 11334 :post-blank 3 :parent #155) #("header" 0 6 (:parent #165))) #("Connection keep-alive;\n proxy" 0 40 (:parent #155)) (subscript (:begin 11377 :end 11381 :use-brackets-p nil :contents-begin 11378 :contents-end 11381 :post-blank 0 :parent #155) #("set" 0 3 (:parent #167))) (subscript (:begin 11381 :end 11391 :use-brackets-p nil :contents-begin 11382 :contents-end 11388 :post-blank 3 :parent #155) #("header" 0 6 (:parent #168))) #("X-Real-IP $remote" 0 17 (:parent #155)) (subscript (:begin 11408 :end 11413 :use-brackets-p nil :contents-begin 11409 :contents-end 11413 :post-blank 0 :parent #155) #("addr" 0 4 (:parent #170))) #(";\n proxy" 0 19 (:parent #155)) (subscript (:begin 11432 :end 11436 :use-brackets-p nil :contents-begin 11433 :contents-end 11436 :post-blank 0 :parent #155) #("set" 0 3 (:parent #172))) (subscript (:begin 11436 :end 11446 :use-brackets-p nil :contents-begin 11437 :contents-end 11443 :post-blank 3 :parent #155) #("header" 0 6 (:parent #173))) #("X-Forwarded-For $proxy" 0 22 (:parent #155)) (subscript (:begin 11468 :end 11472 :use-brackets-p nil :contents-begin 11469 :contents-end 11472 :post-blank 0 :parent #155) #("add" 0 3 (:parent #175))) (subscript (:begin 11472 :end 11474 :use-brackets-p nil :contents-begin 11473 :contents-end 11474 :post-blank 0 :parent #155) #("x" 0 1 (:parent #176))) (subscript (:begin 11474 :end 11484 :use-brackets-p nil :contents-begin 11475 :contents-end 11484 :post-blank 0 :parent #155) #("forwarded" 0 9 (:parent #177))) (subscript (:begin 11484 :end 11488 :use-brackets-p nil :contents-begin 11485 :contents-end 11488 :post-blank 0 :parent #155) #("for" 0 3 (:parent #178))) #(";\n proxy" 0 19 (:parent #155)) (subscript (:begin 11507 :end 11511 :use-brackets-p nil :contents-begin 11508 :contents-end 11511 :post-blank 0 :parent #155) #("set" 0 3 (:parent #180))) (subscript (:begin 11511 :end 11521 :use-brackets-p nil :contents-begin 11512 :contents-end 11518 :post-blank 3 :parent #155) #("header" 0 6 (:parent #181))) #("X-Forwarded-Host $server" 0 24 (:parent #155)) (subscript (:begin 11545 :end 11550 :use-brackets-p nil :contents-begin 11546 :contents-end 11550 :post-blank 0 :parent #155) #("name" 0 4 (:parent #183))) #(";\n proxy" 0 19 (:parent #155)) (subscript (:begin 11569 :end 11583 :use-brackets-p nil :contents-begin 11570 :contents-end 11574 :post-blank 9 :parent #155) #("pass" 0 4 (:parent #185))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 11583 :end 11604 :contents-begin nil :contents-end nil :post-blank 0 :parent #155)) #(";\n }\n}\n#+end" 0 19 (:parent #155)) (subscript (:begin 11623 :end 11628 :use-brackets-p nil :contents-begin 11624 :contents-end 11627 :post-blank 1 :parent #155) #("src" 0 3 (:parent #188))) #("js\n" 0 3 (:parent #155))) (paragraph (:begin 11632 :end 11671 :contents-begin 11632 :contents-end 11670 :post-blank 1 :post-affiliated 11632 :mode nil :granularity nil :parent #149) #("Install the nginx webserver (as root)\n" 0 38 (:parent #156))) (fixed-width (:begin 11671 :end 11696 :value "guix package -i nginx" :post-blank 2 :post-affiliated 11671 :mode nil :granularity nil :parent #149)) (paragraph (:begin 11696 :end 11777 :contents-begin 11696 :contents-end 11776 :post-blank 1 :post-affiliated 11696 :mode nil :granularity nil :parent #149) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #158))) (fixed-width (:begin 11777 :end 11964 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 11777 :mode nil :granularity nil :parent #149)) (paragraph (:begin 11964 :end 11979 :contents-begin 11964 :contents-end 11978 :post-blank 1 :post-affiliated 11964 :mode nil :granularity nil :parent #149) #("Use that path\n" 0 14 (:parent #160))) (fixed-width (:begin 11979 :end 12373 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 11979 :mode nil :granularity nil :parent #149)) (paragraph (:begin 12373 :end 12599 :contents-begin 12373 :contents-end 12599 :post-blank 0 :post-affiliated 12373 :mode nil :granularity nil :parent #149) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #162))) (fixed-width (:begin 12599 :end 12646 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 12599 :mode nil :granularity nil :parent #149)) (paragraph (:begin 12646 :end 12657 :contents-begin 12646 :contents-end 12656 :post-blank 1 :post-affiliated 12646 :mode nil :granularity nil :parent #149) #("Make dirs\n" 0 10 (:parent #164))) (fixed-width (:begin 12657 :end 12691 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 12657 :mode nil :granularity nil :parent #149)) (paragraph (:begin 12691 :end 12702 :contents-begin 12691 :contents-end 12701 :post-blank 1 :post-affiliated 12691 :mode nil :granularity nil :parent #149) #("Add users\n" 0 10 (:parent #166))) (fixed-width (:begin 12702 :end 12738 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 12702 :mode nil :granularity nil :parent #149)) (paragraph (:begin 12738 :end 12749 :contents-begin 12738 :contents-end 12748 :post-blank 1 :post-affiliated 12738 :mode nil :granularity nil :parent #149) #("Run nginx\n" 0 10 (:parent #168))) (fixed-width (:begin 12749 :end 12839 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 12749 :mode nil :granularity nil :parent #149))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 12840 :end 13801 :pre-blank 1 :contents-begin 12902 :contents-end 13801 :robust-begin 12904 :robust-end 13799 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12840 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #142))) :mode nil :granularity nil :parent #132) (section (:begin 12902 :end 12959 :contents-begin 12902 :contents-end 12958 :robust-begin 12902 :robust-end 12956 :post-blank 1 :post-affiliated 12902 :mode section :granularity nil :parent #142) (paragraph (:begin 12902 :end 12958 :contents-begin 12902 :contents-end 12958 :post-blank 0 :post-affiliated 12902 :mode planning :granularity nil :parent #145) #("See the document " 0 17 (:parent #148)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 12919 :end 12956 :contents-begin nil :contents-end nil :post-blank 0 :parent #148)) #(".\n" 0 2 (:parent #148)))) (headline (:raw-value "Update to recent guix" :begin 12959 :end 13409 :pre-blank 1 :contents-begin 12985 :contents-end 13408 :robust-begin 12987 :robust-end 13406 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12959 :title (#("Update to recent guix" 0 21 (:parent #146))) :mode nil :granularity nil :parent #142) (section (:begin 12985 :end 13409 :contents-begin 12985 :contents-end 13408 :robust-begin 12985 :robust-end 13406 :post-blank 1 :post-affiliated 12985 :mode section :granularity nil :parent #146) (paragraph (:begin 12985 :end 13020 :contents-begin 12985 :contents-end 13019 :post-blank 1 :post-affiliated 12985 :mode planning :granularity nil :parent #149) #("We now compile Guix from scratch.\n" 0 34 (:parent #152))) (paragraph (:begin 13020 :end 13295 :contents-begin 13020 :contents-end 13294 :post-blank 1 :post-affiliated 13020 :mode nil :granularity nil :parent #149) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #153)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 13159 :end 13272 :contents-begin 13264 :contents-end 13269 :post-blank 1 :parent #153) #("these" 0 5 (:parent #157))) #("steps carefully after\n" 0 22 (:parent #153))) (fixed-width (:begin 13295 :end 13330 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 13295 :mode nil :granularity nil :parent #149)) (paragraph (:begin 13330 :end 13408 :contents-begin 13330 :contents-end 13408 :post-blank 0 :post-affiliated 13330 :mode nil :granularity nil :parent #149) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #155))))) (headline (:raw-value "Install GN2" :begin 13409 :end 13801 :pre-blank 1 :contents-begin 13425 :contents-end 13801 :robust-begin 13427 :robust-end 13799 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 13409 :title (#("Install GN2" 0 11 (:parent #147))) :mode nil :granularity nil :parent #142) (section (:begin 13425 :end 13801 :contents-begin 13425 :contents-end 13801 :robust-begin 13425 :robust-end 13799 :post-blank 0 :post-affiliated 13425 :mode section :granularity nil :parent #147) (paragraph (:begin 13425 :end 13468 :contents-begin 13425 :contents-end 13467 :post-blank 1 :post-affiliated 13425 :mode planning :granularity nil :parent #150) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #153))) (paragraph (:begin 13468 :end 13676 :contents-begin 13468 :contents-end 13675 :post-blank 1 :post-affiliated 13468 :mode nil :granularity nil :parent #150) #("#+begin" 0 7 (:parent #154)) (subscript (:begin 13475 :end 13480 :use-brackets-p nil :contents-begin 13476 :contents-end 13479 :post-blank 1 :parent #154) #("src" 0 3 (:parent #158))) #("bash\nenv GUIX" 0 13 (:parent #154)) (subscript (:begin 13493 :end 13501 :use-brackets-p nil :contents-begin 13494 :contents-end 13501 :post-blank 0 :parent #154) #("PACKAGE" 0 7 (:parent #160))) (subscript (:begin 13501 :end 13506 :use-brackets-p nil :contents-begin 13502 :contents-end 13506 :post-blank 0 :parent #154) #("PATH" 0 4 (:parent #161))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #154)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 13605 :end 13633 :contents-begin nil :contents-end nil :post-blank 1 :parent #154)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 13633 :end 13658 :contents-begin nil :contents-end nil :post-blank 0 :parent #154)) #("\"\n#+end" 0 7 (:parent #154)) (subscript (:begin 13665 :end 13670 :use-brackets-p nil :contents-begin 13666 :contents-end 13669 :post-blank 1 :parent #154) #("src" 0 3 (:parent #166))) #("bash\n" 0 5 (:parent #154))) (paragraph (:begin 13676 :end 13714 :contents-begin 13676 :contents-end 13713 :post-blank 1 :post-affiliated 13676 :mode nil :granularity nil :parent #150) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #155))) (paragraph (:begin 13714 :end 13801 :contents-begin 13714 :contents-end 13801 :post-blank 0 :post-affiliated 13714 :mode nil :granularity nil :parent #150) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #156)))))))) #62)) #38)) . #0)) (paragraph (:begin 793 :end 917 :contents-begin 793 :contents-end 917 :post-blank 0 :post-affiliated 793 :mode nil :granularity nil :parent #6) (link (:type "custom-id" :path "source-deployment-and-other-information-on-reproducibility" :format bracket :raw-link "#source-deployment-and-other-information-on-reproducibility" :application nil :search-option nil :begin 793 :end 916 :contents-begin 856 :contents-end 914 :post-blank 0 :parent #9) #("Source deployment and other information on reproducibility" 0 58 (:parent #12))) #("\n" 0 1 (:parent #9))) (plain-list (:type unordered :begin 917 :end 1034 :contents-begin 917 :contents-end 1034 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 917 :mode nil :granularity nil :parent #6) (item (:bullet "- " :begin 917 :end 972 :contents-begin 922 :contents-end 972 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 917 :tag nil :mode item :granularity nil :parent #10) (paragraph (:begin 922 :end 972 :contents-begin 922 :contents-end 972 :post-blank 0 :post-affiliated 922 :mode nil :granularity nil :parent #13) (link (:type "custom-id" :path "update-to-recent-guix" :format bracket :raw-link "#update-to-recent-guix" :application nil :search-option nil :begin 922 :end 971 :contents-begin 948 :contents-end 969 :post-blank 0 :parent #16) #("Update to recent guix" 0 21 (:parent #19))) #("\n" 0 1 (:parent #16)))) (item (:bullet "- " :begin 972 :end 1007 :contents-begin 977 :contents-end 1007 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 972 :tag nil :mode item :granularity nil :parent #10) (paragraph (:begin 977 :end 1007 :contents-begin 977 :contents-end 1007 :post-blank 0 :post-affiliated 977 :mode nil :granularity nil :parent #14) (link (:type "custom-id" :path "install-gn2" :format bracket :raw-link "#install-gn2" :application nil :search-option nil :begin 977 :end 1006 :contents-begin 993 :contents-end 1004 :post-blank 0 :parent #17) #("Install GN2" 0 11 (:parent #20))) #("\n" 0 1 (:parent #17)))) (item (:bullet "- " :begin 1007 :end 1034 :contents-begin 1012 :contents-end 1034 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1007 :tag nil :mode item :granularity nil :parent #10) (paragraph (:begin 1012 :end 1034 :contents-begin 1012 :contents-end 1034 :post-blank 0 :post-affiliated 1012 :mode nil :granularity nil :parent #15) (link (:type "custom-id" :path "run-gn2" :format bracket :raw-link "#run-gn2" :application nil :search-option nil :begin 1012 :end 1033 :contents-begin 1024 :contents-end 1031 :post-blank 0 :parent #18) #("Run GN2" 0 7 (:parent #21))) #("\n" 0 1 (:parent #18)))))) (item (:bullet "- " :begin 1034 :end 1370 :contents-begin 1037 :contents-end 1370 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1034 :tag nil :mode item :granularity nil :parent (plain-list (:type unordered :begin 121 :end 1403 :contents-begin 121 :contents-end 1403 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 121 :mode planning :granularity nil :parent (section (:begin 121 :end 1404 :contents-begin 121 :contents-end 1403 :robust-begin 121 :robust-end 1401 :post-blank 1 :post-affiliated 121 :mode section :granularity nil :parent (headline (:raw-value "Table of Contents" :begin 43 :end 1404 :pre-blank 0 :contents-begin 121 :contents-end 1403 :robust-begin 123 :robust-end 1401 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 43 :title (#("Table of Contents" 0 17 (:parent #87))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13801 :end 13801 :robust-begin 3 :robust-end 13799 :post-blank 0 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 43 :contents-begin 1 :contents-end 42 :robust-begin 1 :robust-end 40 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #133) (keyword (:key "TITLE" :value "Installing GeneNetwork services" :begin 1 :end 42 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #136))) #87 (headline (:raw-value "Introduction" :begin 1404 :end 2450 :pre-blank 1 :contents-begin 1420 :contents-end 2449 :robust-begin 1422 :robust-end 2447 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1404 :title (#("Introduction" 0 12 (:parent #138))) :mode nil :granularity nil :parent #133) (section (:begin 1420 :end 2450 :contents-begin 1420 :contents-end 2449 :robust-begin 1420 :robust-end 2447 :post-blank 1 :post-affiliated 1420 :mode section :granularity nil :parent #138) (paragraph (:begin 1420 :end 1557 :contents-begin 1420 :contents-end 1556 :post-blank 1 :post-affiliated 1420 :mode planning :granularity nil :parent #141) #("If you want to understand the architecture of GN2 read\n" 0 55 (:parent #144)) (link (:type "fuzzy" :path "Architecture.org" :format bracket :raw-link "Architecture.org" :application nil :search-option nil :begin 1475 :end 1495 :contents-begin nil :contents-end nil :post-blank 0 :parent #144)) #(". The rest of this document is mostly on deployment\nof GN2.\n" 0 61 (:parent #144))) (paragraph (:begin 1557 :end 1943 :contents-begin 1557 :contents-end 1942 :post-blank 1 :post-affiliated 1557 :mode nil :granularity nil :parent #141) #("Large system deployments can get very " 0 38 (:parent #145)) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg " :format bracket :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg " :application nil :search-option nil :begin 1595 :end 1656 :contents-begin 1647 :contents-end 1654 :post-blank 0 :parent #145) #("complex" 0 7 (:parent #149))) #(". In this document we\nexplain the GeneNetwork version 2 (GN2) reproducible deployment system\nwhich is based on GNU Guix (see also " 0 130 (:parent #145)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1786 :end 1860 :contents-begin 1848 :contents-end 1858 :post-blank 0 :parent #145) #("Guix-notes" 0 10 (:parent #151))) #("). The Guix\nsystem can be used to install GN with all its files and dependencies.\n" 0 82 (:parent #145))) (paragraph (:begin 1943 :end 2328 :contents-begin 1943 :contents-end 2327 :post-blank 1 :post-affiliated 1943 :mode nil :granularity nil :parent #141) #("The official installation path is from a checked out version of the\nmain Guix package tree and that of the Genenetwork package\ntree. Current supported versions can be found as the SHA values of\n'gn-latest' branches of " 0 218 (:parent #146)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :application nil :search-option nil :begin 2161 :end 2252 :contents-begin 2230 :contents-end 2249 :post-blank 1 :parent #146) #("Guix bioinformatics" 0 19 (:parent #150))) #("and " 0 4 (:parent #146)) (link (:type "https" :path "//github.com/genenetwork/guix/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix/tree/gn-latest" :application nil :search-option nil :begin 2256 :end 2325 :contents-begin 2310 :contents-end 2323 :post-blank 0 :parent #146) #("GNU Guix main" 0 13 (:parent #152))) #(".\n" 0 2 (:parent #146))) (paragraph (:begin 2328 :end 2449 :contents-begin 2328 :contents-end 2449 :post-blank 0 :post-affiliated 2328 :mode nil :granularity nil :parent #141) #("For a full view of runtime dependencies as defined by GNU Guix, see\nthe " 0 72 (:parent #147)) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 2400 :end 2447 :contents-begin 2425 :contents-end 2445 :post-blank 0 :parent #147) #("GN2 Dependency Graph" 0 20 (:parent #151))) #(".\n" 0 2 (:parent #147))))) (headline (:raw-value "Quick installation recipe" :begin 2450 :end 7633 :pre-blank 1 :contents-begin 2479 :contents-end 7632 :robust-begin 2481 :robust-end 7630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 2450 :title (#("Quick installation recipe" 0 25 (:parent #139))) :mode nil :granularity nil :parent #133) (section (:begin 2479 :end 3022 :contents-begin 2479 :contents-end 3021 :robust-begin 2479 :robust-end 3019 :post-blank 1 :post-affiliated 2479 :mode section :granularity nil :parent #139) (paragraph (:begin 2479 :end 2880 :contents-begin 2479 :contents-end 2879 :post-blank 1 :post-affiliated 2479 :mode planning :granularity nil :parent #142) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS). For more elaborate installation\ninstructions see " 0 357 (:parent #145)) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 2836 :end 2877 :contents-begin 2858 :contents-end 2875 :post-blank 0 :parent #145) #("Source deployment" 0 17 (:parent #149))) #(".\n" 0 2 (:parent #145))) (paragraph (:begin 2880 :end 3021 :contents-begin 2880 :contents-end 3021 :post-blank 0 :post-affiliated 2880 :mode nil :granularity nil :parent #142) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #146)))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 3022 :end 4649 :pre-blank 1 :contents-begin 3051 :contents-end 4648 :robust-begin 3053 :robust-end 4646 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3022 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #143))) :mode nil :granularity nil :parent #139) (section (:begin 3051 :end 4649 :contents-begin 3051 :contents-end 4648 :robust-begin 3051 :robust-end 4646 :post-blank 1 :post-affiliated 3051 :mode section :granularity nil :parent #143) (paragraph (:begin 3051 :end 3504 :contents-begin 3051 :contents-end 3503 :post-blank 1 :post-affiliated 3051 :mode planning :granularity nil :parent #146) #("Fetch the GNU Guix binary from " 0 31 (:parent #149)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 3082 :end 3136 :contents-begin 3129 :contents-end 3133 :post-blank 1 :parent #149) #("here" 0 4 (:parent #153))) #("(middle panel) and follow\n" 0 26 (:parent #149)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 3162 :end 3255 :contents-begin 3241 :contents-end 3253 :post-blank 0 :parent #149) #("instructions" 0 12 (:parent #155))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #149))) (paragraph (:begin 3504 :end 3782 :contents-begin 3504 :contents-end 3781 :post-blank 1 :post-affiliated 3504 :mode nil :granularity nil :parent #146) #("Once you have succeeded, you have to " 0 37 (:parent #150)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 3541 :end 3631 :contents-begin 3617 :contents-end 3628 :post-blank 1 :parent #150) #("set the key" 0 11 (:parent #154))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #150))) (src-block (:language "bash" :switches nil :parameters nil :begin 3782 :end 3890 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 3782 :mode nil :granularity nil :parent #146)) (paragraph (:begin 3890 :end 3924 :contents-begin 3890 :contents-end 3923 :post-blank 1 :post-affiliated 3890 :mode nil :granularity nil :parent #146) #("Which should show something like\n" 0 33 (:parent #152))) (fixed-width (:begin 3924 :end 4034 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 3924 :mode nil :granularity nil :parent #146)) (paragraph (:begin 4034 :end 4045 :contents-begin 4034 :contents-end 4044 :post-blank 1 :post-affiliated 4034 :mode nil :granularity nil :parent #146) #("#+end" 0 5 (:parent #154)) (subscript (:begin 4039 :end 4043 :use-brackets-p nil :contents-begin 4040 :contents-end 4043 :post-blank 0 :parent #154) #("src" 0 3 (:parent #158))) #("\n" 0 1 (:parent #154))) (paragraph (:begin 4045 :end 4116 :contents-begin 4045 :contents-end 4115 :post-blank 1 :post-affiliated 4045 :mode nil :granularity nil :parent #146) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #155))) (src-block (:language "bash" :switches nil :parameters nil :begin 4116 :end 4188 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 4116 :mode nil :granularity nil :parent #146)) (paragraph (:begin 4188 :end 4375 :contents-begin 4188 :contents-end 4374 :post-blank 1 :post-affiliated 4188 :mode nil :granularity nil :parent #146) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #157))) (paragraph (:begin 4375 :end 4648 :contents-begin 4375 :contents-end 4648 :post-blank 0 :post-affiliated 4375 :mode nil :granularity nil :parent #146) #("If you need more help we have another writeup in " 0 49 (:parent #158)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 4424 :end 4520 :contents-begin 4508 :contents-end 4518 :post-blank 0 :parent #158) #("guix-notes" 0 10 (:parent #162))) #(". To get\nrid of the locale warning see " 0 39 (:parent #158)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 4559 :end 4646 :contents-begin 4634 :contents-end 4644 :post-blank 0 :parent #158) #("set-locale" 0 10 (:parent #164))) #(".\n" 0 2 (:parent #158))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 4649 :end 5304 :pre-blank 1 :contents-begin 4695 :contents-end 5302 :robust-begin 4697 :robust-end 5300 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4649 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #144))) :mode nil :granularity nil :parent #139) (section (:begin 4695 :end 5304 :contents-begin 4695 :contents-end 5302 :robust-begin 4695 :robust-end 5300 :post-blank 2 :post-affiliated 4695 :mode section :granularity nil :parent #144) (paragraph (:begin 4695 :end 4815 :contents-begin 4695 :contents-end 4814 :post-blank 1 :post-affiliated 4695 :mode planning :granularity nil :parent #147) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #150))) (src-block (:language "bash" :switches nil :parameters nil :begin 4815 :end 4920 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 4815 :mode nil :granularity nil :parent #147)) (paragraph (:begin 4920 :end 4971 :contents-begin 4920 :contents-end 4970 :post-blank 1 :post-affiliated 4920 :mode nil :granularity nil :parent #147) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #152))) (paragraph (:begin 4971 :end 5232 :contents-begin 4971 :contents-end 5231 :post-blank 1 :post-affiliated 4971 :mode nil :granularity nil :parent #147) #("#+begin" 0 7 (:parent #153)) (subscript (:begin 4978 :end 4983 :use-brackets-p nil :contents-begin 4979 :contents-end 4982 :post-blank 1 :parent #153) #("src" 0 3 (:parent #157))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #153)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 5055 :end 5105 :contents-begin nil :contents-end nil :post-blank 0 :parent #153)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #153)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 5147 :end 5183 :contents-begin nil :contents-end nil :post-blank 1 :parent #153)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #153)) (subscript (:begin 5221 :end 5226 :use-brackets-p nil :contents-begin 5222 :contents-end 5225 :post-blank 1 :parent #153) #("src" 0 3 (:parent #163))) #("bash\n" 0 5 (:parent #153))) (paragraph (:begin 5232 :end 5270 :contents-begin 5232 :contents-end 5269 :post-blank 1 :post-affiliated 5232 :mode nil :granularity nil :parent #147) #("To test whether this is working try:\n" 0 37 (:parent #154))) (paragraph (:begin 5270 :end 5302 :contents-begin 5270 :contents-end 5302 :post-blank 0 :post-affiliated 5270 :mode nil :granularity nil :parent #147) #("#+begin" 0 7 (:parent #155)) (subscript (:begin 5277 :end 5282 :use-brackets-p nil :contents-begin 5278 :contents-end 5281 :post-blank 1 :parent #155) #("src" 0 3 (:parent #159))) #("bash\n#+end" 0 10 (:parent #155)) (subscript (:begin 5292 :end 5297 :use-brackets-p nil :contents-begin 5293 :contents-end 5296 :post-blank 1 :parent #155) #("src" 0 3 (:parent #161))) #("bash\n" 0 5 (:parent #155))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 5304 :end 5755 :pre-blank 1 :contents-begin 5345 :contents-end 5754 :robust-begin 5347 :robust-end 5752 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5304 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #145))) :mode nil :granularity nil :parent #139) (section (:begin 5345 :end 5755 :contents-begin 5345 :contents-end 5754 :robust-begin 5345 :robust-end 5752 :post-blank 1 :post-affiliated 5345 :mode section :granularity nil :parent #145) (paragraph (:begin 5345 :end 5445 :contents-begin 5345 :contents-end 5444 :post-blank 1 :post-affiliated 5345 :mode planning :granularity nil :parent #148) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #151))) (src-block (:language "scheme" :switches nil :parameters nil :begin 5445 :end 5589 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 5445 :mode nil :granularity nil :parent #148)) (paragraph (:begin 5589 :end 5621 :contents-begin 5589 :contents-end 5620 :post-blank 1 :post-affiliated 5589 :mode nil :granularity nil :parent #148) #("by pasting it into the command\n" 0 31 (:parent #153))) (src-block (:language "bash" :switches nil :parameters nil :begin 5621 :end 5674 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 5621 :mode nil :granularity nil :parent #148)) (paragraph (:begin 5674 :end 5691 :contents-begin 5674 :contents-end 5690 :post-blank 1 :post-affiliated 5674 :mode nil :granularity nil :parent #148) #("and hit Ctrl-D.\n" 0 16 (:parent #155))) (paragraph (:begin 5691 :end 5754 :contents-begin 5691 :contents-end 5754 :post-blank 0 :post-affiliated 5691 :mode nil :granularity nil :parent #148) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #156))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 5755 :end 7633 :pre-blank 1 :contents-begin 5787 :contents-end 7632 :robust-begin 5789 :robust-end 7630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5755 :title (#("Step 4: Install and run GN2" 0 27 (:parent #146))) :mode nil :granularity nil :parent #139) (section (:begin 5787 :end 7633 :contents-begin 5787 :contents-end 7632 :robust-begin 5787 :robust-end 7630 :post-blank 1 :post-affiliated 5787 :mode section :granularity nil :parent #146) (paragraph (:begin 5787 :end 5927 :contents-begin 5787 :contents-end 5926 :post-blank 1 :post-affiliated 5787 :mode planning :granularity nil :parent #149) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #152))) (src-block (:language "bash" :switches nil :parameters nil :begin 5927 :end 6046 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 5927 :mode nil :granularity nil :parent #149)) (paragraph (:begin 6046 :end 6099 :contents-begin 6046 :contents-end 6098 :post-blank 1 :post-affiliated 6046 :mode nil :granularity nil :parent #149) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #154))) (src-block (:language "bash" :switches nil :parameters nil :begin 6099 :end 6289 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 6099 :mode nil :granularity nil :parent #149)) (paragraph (:begin 6289 :end 6398 :contents-begin 6289 :contents-end 6397 :post-blank 1 :post-affiliated 6289 :mode nil :granularity nil :parent #149) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #156)) (italic (:begin 6360 :end 6366 :post-blank 0 :contents-begin 6361 :contents-end 6365 :parent #156) #("root" 0 4 (:parent #160))) #(".config/guix/latest override).\n" 0 31 (:parent #156))) (paragraph (:begin 6398 :end 6416 :contents-begin 6398 :contents-end 6415 :post-blank 1 :post-affiliated 6398 :mode nil :granularity nil :parent #149) #("And install with\n" 0 17 (:parent #157))) (src-block (:language "bash" :switches nil :parameters nil :begin 6416 :end 6586 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 6416 :mode nil :granularity nil :parent #149)) (paragraph (:begin 6586 :end 6729 :contents-begin 6586 :contents-end 6728 :post-blank 1 :post-affiliated 6586 :mode nil :granularity nil :parent #149) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #159))) (paragraph (:begin 6729 :end 6925 :contents-begin 6729 :contents-end 6924 :post-blank 1 :post-affiliated 6729 :mode nil :granularity nil :parent #149) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #160))) (paragraph (:begin 6925 :end 7056 :contents-begin 6925 :contents-end 7055 :post-blank 1 :post-affiliated 6925 :mode nil :granularity nil :parent #149) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #161))) (src-block (:language "bash" :switches nil :parameters nil :begin 7056 :end 7235 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python2.7/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 7056 :mode nil :granularity nil :parent #149)) (paragraph (:begin 7235 :end 7304 :contents-begin 7235 :contents-end 7303 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #149) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #163))) (src-block (:language "bash" :switches nil :parameters nil :begin 7304 :end 7345 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 7304 :mode nil :granularity nil :parent #149)) (paragraph (:begin 7345 :end 7596 :contents-begin 7345 :contents-end 7595 :post-blank 1 :post-affiliated 7345 :mode nil :granularity nil :parent #149) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #165)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 7567 :end 7593 :contents-begin nil :contents-end nil :post-blank 0 :parent #165)) #(".\n" 0 2 (:parent #165))) (paragraph (:begin 7596 :end 7632 :contents-begin 7596 :contents-end 7632 :post-blank 0 :post-affiliated 7596 :mode nil :granularity nil :parent #149) #("End of the GN2 installation recipe!\n" 0 36 (:parent #166)))))) (headline (:raw-value "Run MySQL server" :begin 7633 :end 9008 :pre-blank 1 :contents-begin 7653 :contents-end 9007 :robust-begin 7655 :robust-end 9005 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7633 :title (#("Run MySQL server" 0 16 (:parent #140))) :mode nil :granularity nil :parent #133) (section (:begin 7653 :end 9008 :contents-begin 7653 :contents-end 9007 :robust-begin 7653 :robust-end 9005 :post-blank 1 :post-affiliated 7653 :mode section :granularity nil :parent #140) (paragraph (:begin 7653 :end 7928 :contents-begin 7653 :contents-end 7927 :post-blank 1 :post-affiliated 7653 :mode planning :granularity nil :parent #143) #("At this point we require the underlying distribution to install and\nrun mysqld. Currently we have two databases for deployment,\n'db" 0 131 (:parent #146)) (subscript (:begin 7784 :end 7791 :use-brackets-p nil :contents-begin 7785 :contents-end 7791 :post-blank 0 :parent #146) #("webqtl" 0 6 (:parent #150))) (subscript (:begin 7791 :end 7793 :use-brackets-p nil :contents-begin 7792 :contents-end 7793 :post-blank 0 :parent #146) #("s" 0 1 (:parent #151))) #("' is the small testing database containing experiments\nfrom BXD mice and 'db" 0 76 (:parent #146)) (subscript (:begin 7869 :end 7876 :use-brackets-p nil :contents-begin 7870 :contents-end 7876 :post-blank 0 :parent #146) #("webqtl" 0 6 (:parent #153))) (subscript (:begin 7876 :end 7882 :use-brackets-p nil :contents-begin 7877 :contents-end 7882 :post-blank 0 :parent #146) #("plant" 0 5 (:parent #154))) #("' which contains all plant related\nmaterial.\n" 0 45 (:parent #146))) (paragraph (:begin 7928 :end 7956 :contents-begin 7928 :contents-end 7955 :post-blank 1 :post-affiliated 7928 :mode nil :granularity nil :parent #143) #("Download one database from\n" 0 27 (:parent #147))) (paragraph (:begin 7956 :end 8054 :contents-begin 7956 :contents-end 8053 :post-blank 1 :post-affiliated 7956 :mode nil :granularity nil :parent #143) (link (:type "http" :path "//files.genenetwork.org/raw_database/" :format plain :raw-link "http://files.genenetwork.org/raw_database/" :application nil :search-option nil :begin 7956 :end 7998 :contents-begin nil :contents-end nil :post-blank 0 :parent #148)) #("\n" 0 1 (:parent #148)) (link (:type "https" :path "//s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :format plain :raw-link "https://s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :application nil :search-option nil :begin 7999 :end 8052 :contents-begin nil :contents-end nil :post-blank 0 :parent #148)) #("\n" 0 1 (:parent #148))) (paragraph (:begin 8054 :end 8073 :contents-begin 8054 :contents-end 8072 :post-blank 1 :post-affiliated 8054 :mode nil :granularity nil :parent #143) #("Check the md5sum.\n" 0 18 (:parent #149))) (paragraph (:begin 8073 :end 8195 :contents-begin 8073 :contents-end 8194 :post-blank 1 :post-affiliated 8073 :mode nil :granularity nil :parent #143) #("After installation inflate the database binary in the MySQL directory\n(this installation path is subject to change soon)\n" 0 121 (:parent #150))) (fixed-width (:begin 8195 :end 8283 :value "chown -R mysql:mysql db_webqtl_s/\nchmod 700 db_webqtl_s/\nchmod 660 db_webqtl_s/*" :post-blank 2 :post-affiliated 8195 :mode nil :granularity nil :parent #143)) (paragraph (:begin 8283 :end 8334 :contents-begin 8283 :contents-end 8333 :post-blank 1 :post-affiliated 8283 :mode nil :granularity nil :parent #143) #("restart MySQL service (mysqld). Login as root and\n" 0 50 (:parent #152))) (fixed-width (:begin 8334 :end 8560 :value "mysql> show databases;\n+--------------------+\n| Database |\n+--------------------+\n| information_schema |\n| db_webqtl_s |\n| mysql |\n| performance_schema |\n+--------------------+" :post-blank 2 :post-affiliated 8334 :mode nil :granularity nil :parent #143)) (paragraph (:begin 8560 :end 8625 :contents-begin 8560 :contents-end 8624 :post-blank 1 :post-affiliated 8560 :mode nil :granularity nil :parent #143) #("Set permissions and match password in your settings file below:\n" 0 64 (:parent #154))) (fixed-width (:begin 8625 :end 8724 :value "mysql> grant all privileges on db_webqtl_s.* to gn2@\"localhost\" identified by 'mysql_password';" :post-blank 2 :post-affiliated 8625 :mode nil :granularity nil :parent #143)) (paragraph (:begin 8724 :end 8875 :contents-begin 8724 :contents-end 8874 :post-blank 1 :post-affiliated 8724 :mode nil :granularity nil :parent #143) #("Note that if the mysql connection is not working, try connecting to\nthe IP address and check server firewall, hosts.allow and mysql IP\nconfiguration.\n" 0 150 (:parent #156))) (paragraph (:begin 8875 :end 9007 :contents-begin 8875 :contents-end 9007 :post-blank 0 :post-affiliated 8875 :mode nil :granularity nil :parent #143) #("Note for the plant database you can rename it to db" 0 51 (:parent #157)) (subscript (:begin 8926 :end 8933 :use-brackets-p nil :contents-begin 8927 :contents-end 8933 :post-blank 0 :parent #157) #("webqtl" 0 6 (:parent #161))) (subscript (:begin 8933 :end 8935 :use-brackets-p nil :contents-begin 8934 :contents-end 8935 :post-blank 0 :parent #157) #("s" 0 1 (:parent #162))) #(", or\nchange the settings in etc/default" 0 39 (:parent #157)) (subscript (:begin 8974 :end 8987 :use-brackets-p nil :contents-begin 8975 :contents-end 8986 :post-blank 1 :parent #157) #("settings.py" 0 11 (:parent #164))) #("to match your path.\n" 0 20 (:parent #157))))) (headline (:raw-value "GN2 Dependency Graph" :begin 9008 :end 9172 :pre-blank 1 :contents-begin 9032 :contents-end 9171 :robust-begin 9034 :robust-end 9169 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9008 :title (#("GN2 Dependency Graph" 0 20 (:parent #141))) :mode nil :granularity nil :parent #133) (section (:begin 9032 :end 9172 :contents-begin 9032 :contents-end 9171 :robust-begin 9032 :robust-end 9169 :post-blank 1 :post-affiliated 9032 :mode section :granularity nil :parent #141) (paragraph (:begin 9032 :end 9093 :contents-begin 9032 :contents-end 9092 :post-blank 1 :post-affiliated 9032 :mode planning :granularity nil :parent #144) #("Graph of all runtime dependencies as installed by GNU Guix.\n" 0 60 (:parent #147))) (paragraph (:begin 9093 :end 9171 :contents-begin 9123 :contents-end 9171 :post-blank 0 :post-affiliated 9123 :attr_html (":title GN2_graph") :mode nil :granularity nil :parent #144) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg" :format plain :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg" :application nil :search-option nil :begin 9123 :end 9170 :contents-begin nil :contents-end nil :post-blank 0 :parent #148)) #("\n" 0 1 (:parent #148))))) (headline (:raw-value "Source deployment" :begin 9172 :end 12840 :pre-blank 1 :contents-begin 9193 :contents-end 12839 :robust-begin 9195 :robust-end 12837 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9172 :title (#("Source deployment" 0 17 (:parent #142))) :mode nil :granularity nil :parent #133) (section (:begin 9193 :end 9612 :contents-begin 9193 :contents-end 9610 :robust-begin 9193 :robust-end 9608 :post-blank 2 :post-affiliated 9193 :mode section :granularity nil :parent #142) (paragraph (:begin 9193 :end 9274 :contents-begin 9193 :contents-end 9273 :post-blank 1 :post-affiliated 9193 :mode planning :granularity nil :parent #145) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #148))) (paragraph (:begin 9274 :end 9304 :contents-begin 9274 :contents-end 9303 :post-blank 1 :post-affiliated 9274 :mode nil :granularity nil :parent #145) #("First execute above 4 steps:\n" 0 29 (:parent #149))) (plain-list (:type unordered :begin 9304 :end 9610 :contents-begin 9304 :contents-end 9610 :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :post-blank 0 :post-affiliated 9304 :mode nil :granularity nil :parent #145) (item (:bullet "- " :begin 9304 :end 9364 :contents-begin 9309 :contents-end 9364 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9304 :tag nil :mode item :granularity nil :parent #150) (paragraph (:begin 9309 :end 9364 :contents-begin 9309 :contents-end 9364 :post-blank 0 :post-affiliated 9309 :mode nil :granularity nil :parent #153) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 9309 :end 9363 :contents-begin 9337 :contents-end 9361 :post-blank 0 :parent #156) #("Step 1: Install GNU Guix" 0 24 (:parent #159))) #("\n" 0 1 (:parent #156)))) (item (:bullet "- " :begin 9364 :end 9458 :contents-begin 9369 :contents-end 9458 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9364 :tag nil :mode item :granularity nil :parent #150) (paragraph (:begin 9369 :end 9458 :contents-begin 9369 :contents-end 9458 :post-blank 0 :post-affiliated 9369 :mode nil :granularity nil :parent #154) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 9369 :end 9457 :contents-begin 9414 :contents-end 9455 :post-blank 0 :parent #157) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #160))) #("\n" 0 1 (:parent #157)))) (item (:bullet "- " :begin 9458 :end 9542 :contents-begin 9463 :contents-end 9542 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9458 :tag nil :mode item :granularity nil :parent #150) (paragraph (:begin 9463 :end 9542 :contents-begin 9463 :contents-end 9542 :post-blank 0 :post-affiliated 9463 :mode nil :granularity nil :parent #155) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 9463 :end 9541 :contents-begin 9503 :contents-end 9539 :post-blank 0 :parent #158) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #161))) #("\n" 0 1 (:parent #158)))) (item (:bullet "- " :begin 9542 :end 9610 :contents-begin 9547 :contents-end 9610 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9542 :tag nil :mode item :granularity nil :parent #150) (paragraph (:begin 9547 :end 9610 :contents-begin 9547 :contents-end 9610 :post-blank 0 :post-affiliated 9547 :mode nil :granularity nil :parent #156) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 9547 :end 9609 :contents-begin 9579 :contents-end 9607 :post-blank 0 :parent #159) #("Step 4: Install and run GN2 " 0 28 (:parent #162))) #("\n" 0 1 (:parent #159)))))) (headline (:raw-value "Run your own copy of GN2" :begin 9612 :end 10722 :pre-blank 1 :contents-begin 9641 :contents-end 10721 :robust-begin 9643 :robust-end 10719 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9612 :title (#("Run your own copy of GN2" 0 24 (:parent #146))) :mode nil :granularity nil :parent #142) (section (:begin 9641 :end 10722 :contents-begin 9641 :contents-end 10721 :robust-begin 9641 :robust-end 10719 :post-blank 1 :post-affiliated 9641 :mode section :granularity nil :parent #146) (paragraph (:begin 9641 :end 9839 :contents-begin 9641 :contents-end 9838 :post-blank 1 :post-affiliated 9641 :mode planning :granularity nil :parent #149) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #152)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 9793 :end 9836 :contents-begin nil :contents-end nil :post-blank 0 :parent #152)) #(".\n" 0 2 (:parent #152))) (paragraph (:begin 9839 :end 9964 :contents-begin 9839 :contents-end 9963 :post-blank 1 :post-affiliated 9839 :mode nil :granularity nil :parent #149) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #153)) (subscript (:begin 9896 :end 9902 :use-brackets-p nil :contents-begin 9897 :contents-end 9901 :post-blank 1 :parent #153) #("PATH" 0 4 (:parent #157))) #("and\nR" 0 5 (:parent #153)) (subscript (:begin 9907 :end 9912 :use-brackets-p nil :contents-begin 9908 :contents-end 9912 :post-blank 0 :parent #153) #("LIBS" 0 4 (:parent #159))) (subscript (:begin 9912 :end 9918 :use-brackets-p nil :contents-begin 9913 :contents-end 9917 :post-blank 1 :parent #153) #("SITE" 0 4 (:parent #160))) #("are set) from the information given by guix:\n" 0 45 (:parent #153))) (fixed-width (:begin 9964 :end 9995 :value "guix package --search-paths" :post-blank 2 :post-affiliated 9964 :mode nil :granularity nil :parent #149)) (paragraph (:begin 9995 :end 10019 :contents-begin 9995 :contents-end 10018 :post-blank 1 :post-affiliated 9995 :mode nil :granularity nil :parent #149) #("Inside the repository:\n" 0 23 (:parent #155))) (fixed-width (:begin 10019 :end 10059 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 10019 :mode nil :granularity nil :parent #149)) (paragraph (:begin 10059 :end 10303 :contents-begin 10059 :contents-end 10302 :post-blank 1 :post-affiliated 10059 :mode nil :granularity nil :parent #149) #("Will fire up your local repo " 0 29 (:parent #157)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 10088 :end 10111 :contents-begin nil :contents-end nil :post-blank 1 :parent #157)) #("using the\nsettings in ./etc/default" 0 35 (:parent #157)) (subscript (:begin 10146 :end 10158 :use-brackets-p nil :contents-begin 10147 :contents-end 10158 :post-blank 0 :parent #157) #("settings.py" 0 11 (:parent #163))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #157)) (subscript (:begin 10263 :end 10276 :use-brackets-p nil :contents-begin 10264 :contents-end 10275 :post-blank 1 :parent #157) #("settings.py" 0 11 (:parent #165))) #("and pass it into GN2 with\n" 0 26 (:parent #157))) (fixed-width (:begin 10303 :end 10346 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 10303 :mode nil :granularity nil :parent #149)) (paragraph (:begin 10346 :end 10492 :contents-begin 10346 :contents-end 10491 :post-blank 1 :post-affiliated 10346 :mode nil :granularity nil :parent #149) #("and everything " 0 15 (:parent #159)) (bold (:begin 10361 :end 10370 :post-blank 1 :contents-begin 10362 :contents-end 10368 :parent #159) #("should" 0 6 (:parent #163))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #159))) (paragraph (:begin 10492 :end 10620 :contents-begin 10492 :contents-end 10619 :post-blank 1 :post-affiliated 10492 :mode nil :granularity nil :parent #149) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #160))) (fixed-width (:begin 10620 :end 10721 :value "cat ~/.guix-profile/lib/python2.7/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 10620 :mode nil :granularity nil :parent #149)))) (headline (:raw-value "Set up nginx port forwarding" :begin 10722 :end 12840 :pre-blank 1 :contents-begin 10755 :contents-end 12839 :robust-begin 10757 :robust-end 12837 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 10722 :title (#("Set up nginx port forwarding" 0 28 (:parent #147))) :mode nil :granularity nil :parent #142) (section (:begin 10755 :end 12840 :contents-begin 10755 :contents-end 12839 :robust-begin 10755 :robust-end 12837 :post-blank 1 :post-affiliated 10755 :mode section :granularity nil :parent #147) (paragraph (:begin 10755 :end 10923 :contents-begin 10755 :contents-end 10922 :post-blank 1 :post-affiliated 10755 :mode planning :granularity nil :parent #150) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #153))) (paragraph (:begin 10923 :end 11063 :contents-begin 10923 :contents-end 11062 :post-blank 1 :post-affiliated 10923 :mode nil :granularity nil :parent #150) #("#+begin" 0 7 (:parent #154)) (subscript (:begin 10930 :end 10935 :use-brackets-p nil :contents-begin 10931 :contents-end 10934 :post-blank 1 :parent #154) #("src" 0 3 (:parent #158))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #154)) (subscript (:begin 10984 :end 10990 :use-brackets-p nil :contents-begin 10985 :contents-end 10989 :post-blank 1 :parent #154) #("name" 0 4 (:parent #160))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #154)) (subscript (:begin 11030 :end 11036 :use-brackets-p nil :contents-begin 11031 :contents-end 11034 :post-blank 2 :parent #154) #("log" 0 3 (:parent #162))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #154))) (paragraph (:begin 11063 :end 11232 :contents-begin 11063 :contents-end 11231 :post-blank 1 :post-affiliated 11063 :mode nil :granularity nil :parent #150) #(" proxy" 0 13 (:parent #155)) (subscript (:begin 11076 :end 11084 :use-brackets-p nil :contents-begin 11077 :contents-end 11084 :post-blank 0 :parent #155) #("connect" 0 7 (:parent #159))) (subscript (:begin 11084 :end 11099 :use-brackets-p nil :contents-begin 11085 :contents-end 11092 :post-blank 7 :parent #155) #("timeout" 0 7 (:parent #160))) #("3000;\n proxy" 0 19 (:parent #155)) (subscript (:begin 11118 :end 11123 :use-brackets-p nil :contents-begin 11119 :contents-end 11123 :post-blank 0 :parent #155) #("send" 0 4 (:parent #162))) (subscript (:begin 11123 :end 11141 :use-brackets-p nil :contents-begin 11124 :contents-end 11131 :post-blank 10 :parent #155) #("timeout" 0 7 (:parent #163))) #("3000;\n proxy" 0 19 (:parent #155)) (subscript (:begin 11160 :end 11165 :use-brackets-p nil :contents-begin 11161 :contents-end 11165 :post-blank 0 :parent #155) #("read" 0 4 (:parent #165))) (subscript (:begin 11165 :end 11183 :use-brackets-p nil :contents-begin 11166 :contents-end 11173 :post-blank 10 :parent #155) #("timeout" 0 7 (:parent #166))) #("3000;\n send" 0 18 (:parent #155)) (subscript (:begin 11201 :end 11225 :use-brackets-p nil :contents-begin 11202 :contents-end 11209 :post-blank 16 :parent #155) #("timeout" 0 7 (:parent #168))) #("3000;\n" 0 6 (:parent #155))) (paragraph (:begin 11232 :end 11632 :contents-begin 11232 :contents-end 11631 :post-blank 1 :post-affiliated 11232 :mode nil :granularity nil :parent #150) #(" location / {\n proxy" 0 38 (:parent #156)) (subscript (:begin 11270 :end 11274 :use-brackets-p nil :contents-begin 11271 :contents-end 11274 :post-blank 0 :parent #156) #("set" 0 3 (:parent #160))) (subscript (:begin 11274 :end 11284 :use-brackets-p nil :contents-begin 11275 :contents-end 11281 :post-blank 3 :parent #156) #("header" 0 6 (:parent #161))) #("Host $http" 0 15 (:parent #156)) (subscript (:begin 11299 :end 11304 :use-brackets-p nil :contents-begin 11300 :contents-end 11304 :post-blank 0 :parent #156) #("host" 0 4 (:parent #163))) #(";\n proxy" 0 19 (:parent #156)) (subscript (:begin 11323 :end 11327 :use-brackets-p nil :contents-begin 11324 :contents-end 11327 :post-blank 0 :parent #156) #("set" 0 3 (:parent #165))) (subscript (:begin 11327 :end 11337 :use-brackets-p nil :contents-begin 11328 :contents-end 11334 :post-blank 3 :parent #156) #("header" 0 6 (:parent #166))) #("Connection keep-alive;\n proxy" 0 40 (:parent #156)) (subscript (:begin 11377 :end 11381 :use-brackets-p nil :contents-begin 11378 :contents-end 11381 :post-blank 0 :parent #156) #("set" 0 3 (:parent #168))) (subscript (:begin 11381 :end 11391 :use-brackets-p nil :contents-begin 11382 :contents-end 11388 :post-blank 3 :parent #156) #("header" 0 6 (:parent #169))) #("X-Real-IP $remote" 0 17 (:parent #156)) (subscript (:begin 11408 :end 11413 :use-brackets-p nil :contents-begin 11409 :contents-end 11413 :post-blank 0 :parent #156) #("addr" 0 4 (:parent #171))) #(";\n proxy" 0 19 (:parent #156)) (subscript (:begin 11432 :end 11436 :use-brackets-p nil :contents-begin 11433 :contents-end 11436 :post-blank 0 :parent #156) #("set" 0 3 (:parent #173))) (subscript (:begin 11436 :end 11446 :use-brackets-p nil :contents-begin 11437 :contents-end 11443 :post-blank 3 :parent #156) #("header" 0 6 (:parent #174))) #("X-Forwarded-For $proxy" 0 22 (:parent #156)) (subscript (:begin 11468 :end 11472 :use-brackets-p nil :contents-begin 11469 :contents-end 11472 :post-blank 0 :parent #156) #("add" 0 3 (:parent #176))) (subscript (:begin 11472 :end 11474 :use-brackets-p nil :contents-begin 11473 :contents-end 11474 :post-blank 0 :parent #156) #("x" 0 1 (:parent #177))) (subscript (:begin 11474 :end 11484 :use-brackets-p nil :contents-begin 11475 :contents-end 11484 :post-blank 0 :parent #156) #("forwarded" 0 9 (:parent #178))) (subscript (:begin 11484 :end 11488 :use-brackets-p nil :contents-begin 11485 :contents-end 11488 :post-blank 0 :parent #156) #("for" 0 3 (:parent #179))) #(";\n proxy" 0 19 (:parent #156)) (subscript (:begin 11507 :end 11511 :use-brackets-p nil :contents-begin 11508 :contents-end 11511 :post-blank 0 :parent #156) #("set" 0 3 (:parent #181))) (subscript (:begin 11511 :end 11521 :use-brackets-p nil :contents-begin 11512 :contents-end 11518 :post-blank 3 :parent #156) #("header" 0 6 (:parent #182))) #("X-Forwarded-Host $server" 0 24 (:parent #156)) (subscript (:begin 11545 :end 11550 :use-brackets-p nil :contents-begin 11546 :contents-end 11550 :post-blank 0 :parent #156) #("name" 0 4 (:parent #184))) #(";\n proxy" 0 19 (:parent #156)) (subscript (:begin 11569 :end 11583 :use-brackets-p nil :contents-begin 11570 :contents-end 11574 :post-blank 9 :parent #156) #("pass" 0 4 (:parent #186))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 11583 :end 11604 :contents-begin nil :contents-end nil :post-blank 0 :parent #156)) #(";\n }\n}\n#+end" 0 19 (:parent #156)) (subscript (:begin 11623 :end 11628 :use-brackets-p nil :contents-begin 11624 :contents-end 11627 :post-blank 1 :parent #156) #("src" 0 3 (:parent #189))) #("js\n" 0 3 (:parent #156))) (paragraph (:begin 11632 :end 11671 :contents-begin 11632 :contents-end 11670 :post-blank 1 :post-affiliated 11632 :mode nil :granularity nil :parent #150) #("Install the nginx webserver (as root)\n" 0 38 (:parent #157))) (fixed-width (:begin 11671 :end 11696 :value "guix package -i nginx" :post-blank 2 :post-affiliated 11671 :mode nil :granularity nil :parent #150)) (paragraph (:begin 11696 :end 11777 :contents-begin 11696 :contents-end 11776 :post-blank 1 :post-affiliated 11696 :mode nil :granularity nil :parent #150) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #159))) (fixed-width (:begin 11777 :end 11964 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 11777 :mode nil :granularity nil :parent #150)) (paragraph (:begin 11964 :end 11979 :contents-begin 11964 :contents-end 11978 :post-blank 1 :post-affiliated 11964 :mode nil :granularity nil :parent #150) #("Use that path\n" 0 14 (:parent #161))) (fixed-width (:begin 11979 :end 12373 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 11979 :mode nil :granularity nil :parent #150)) (paragraph (:begin 12373 :end 12599 :contents-begin 12373 :contents-end 12599 :post-blank 0 :post-affiliated 12373 :mode nil :granularity nil :parent #150) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #163))) (fixed-width (:begin 12599 :end 12646 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 12599 :mode nil :granularity nil :parent #150)) (paragraph (:begin 12646 :end 12657 :contents-begin 12646 :contents-end 12656 :post-blank 1 :post-affiliated 12646 :mode nil :granularity nil :parent #150) #("Make dirs\n" 0 10 (:parent #165))) (fixed-width (:begin 12657 :end 12691 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 12657 :mode nil :granularity nil :parent #150)) (paragraph (:begin 12691 :end 12702 :contents-begin 12691 :contents-end 12701 :post-blank 1 :post-affiliated 12691 :mode nil :granularity nil :parent #150) #("Add users\n" 0 10 (:parent #167))) (fixed-width (:begin 12702 :end 12738 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 12702 :mode nil :granularity nil :parent #150)) (paragraph (:begin 12738 :end 12749 :contents-begin 12738 :contents-end 12748 :post-blank 1 :post-affiliated 12738 :mode nil :granularity nil :parent #150) #("Run nginx\n" 0 10 (:parent #169))) (fixed-width (:begin 12749 :end 12839 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 12749 :mode nil :granularity nil :parent #150))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 12840 :end 13801 :pre-blank 1 :contents-begin 12902 :contents-end 13801 :robust-begin 12904 :robust-end 13799 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12840 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #143))) :mode nil :granularity nil :parent #133) (section (:begin 12902 :end 12959 :contents-begin 12902 :contents-end 12958 :robust-begin 12902 :robust-end 12956 :post-blank 1 :post-affiliated 12902 :mode section :granularity nil :parent #143) (paragraph (:begin 12902 :end 12958 :contents-begin 12902 :contents-end 12958 :post-blank 0 :post-affiliated 12902 :mode planning :granularity nil :parent #146) #("See the document " 0 17 (:parent #149)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 12919 :end 12956 :contents-begin nil :contents-end nil :post-blank 0 :parent #149)) #(".\n" 0 2 (:parent #149)))) (headline (:raw-value "Update to recent guix" :begin 12959 :end 13409 :pre-blank 1 :contents-begin 12985 :contents-end 13408 :robust-begin 12987 :robust-end 13406 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12959 :title (#("Update to recent guix" 0 21 (:parent #147))) :mode nil :granularity nil :parent #143) (section (:begin 12985 :end 13409 :contents-begin 12985 :contents-end 13408 :robust-begin 12985 :robust-end 13406 :post-blank 1 :post-affiliated 12985 :mode section :granularity nil :parent #147) (paragraph (:begin 12985 :end 13020 :contents-begin 12985 :contents-end 13019 :post-blank 1 :post-affiliated 12985 :mode planning :granularity nil :parent #150) #("We now compile Guix from scratch.\n" 0 34 (:parent #153))) (paragraph (:begin 13020 :end 13295 :contents-begin 13020 :contents-end 13294 :post-blank 1 :post-affiliated 13020 :mode nil :granularity nil :parent #150) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #154)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 13159 :end 13272 :contents-begin 13264 :contents-end 13269 :post-blank 1 :parent #154) #("these" 0 5 (:parent #158))) #("steps carefully after\n" 0 22 (:parent #154))) (fixed-width (:begin 13295 :end 13330 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 13295 :mode nil :granularity nil :parent #150)) (paragraph (:begin 13330 :end 13408 :contents-begin 13330 :contents-end 13408 :post-blank 0 :post-affiliated 13330 :mode nil :granularity nil :parent #150) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #156))))) (headline (:raw-value "Install GN2" :begin 13409 :end 13801 :pre-blank 1 :contents-begin 13425 :contents-end 13801 :robust-begin 13427 :robust-end 13799 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 13409 :title (#("Install GN2" 0 11 (:parent #148))) :mode nil :granularity nil :parent #143) (section (:begin 13425 :end 13801 :contents-begin 13425 :contents-end 13801 :robust-begin 13425 :robust-end 13799 :post-blank 0 :post-affiliated 13425 :mode section :granularity nil :parent #148) (paragraph (:begin 13425 :end 13468 :contents-begin 13425 :contents-end 13467 :post-blank 1 :post-affiliated 13425 :mode planning :granularity nil :parent #151) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #154))) (paragraph (:begin 13468 :end 13676 :contents-begin 13468 :contents-end 13675 :post-blank 1 :post-affiliated 13468 :mode nil :granularity nil :parent #151) #("#+begin" 0 7 (:parent #155)) (subscript (:begin 13475 :end 13480 :use-brackets-p nil :contents-begin 13476 :contents-end 13479 :post-blank 1 :parent #155) #("src" 0 3 (:parent #159))) #("bash\nenv GUIX" 0 13 (:parent #155)) (subscript (:begin 13493 :end 13501 :use-brackets-p nil :contents-begin 13494 :contents-end 13501 :post-blank 0 :parent #155) #("PACKAGE" 0 7 (:parent #161))) (subscript (:begin 13501 :end 13506 :use-brackets-p nil :contents-begin 13502 :contents-end 13506 :post-blank 0 :parent #155) #("PATH" 0 4 (:parent #162))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #155)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 13605 :end 13633 :contents-begin nil :contents-end nil :post-blank 1 :parent #155)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 13633 :end 13658 :contents-begin nil :contents-end nil :post-blank 0 :parent #155)) #("\"\n#+end" 0 7 (:parent #155)) (subscript (:begin 13665 :end 13670 :use-brackets-p nil :contents-begin 13666 :contents-end 13669 :post-blank 1 :parent #155) #("src" 0 3 (:parent #167))) #("bash\n" 0 5 (:parent #155))) (paragraph (:begin 13676 :end 13714 :contents-begin 13676 :contents-end 13713 :post-blank 1 :post-affiliated 13676 :mode nil :granularity nil :parent #151) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #156))) (paragraph (:begin 13714 :end 13801 :contents-begin 13714 :contents-end 13801 :post-blank 0 :post-affiliated 13714 :mode nil :granularity nil :parent #151) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #157)))))))) #63)) #39)) . #0)) (paragraph (:begin 1037 :end 1077 :contents-begin 1037 :contents-end 1077 :post-blank 0 :post-affiliated 1037 :mode nil :granularity nil :parent #7) (link (:type "custom-id" :path "trouble-shooting" :format bracket :raw-link "#trouble-shooting" :application nil :search-option nil :begin 1037 :end 1076 :contents-begin 1058 :contents-end 1074 :post-blank 0 :parent #10) #("Trouble shooting" 0 16 (:parent #13))) #("\n" 0 1 (:parent #10))) (plain-list (:type unordered :begin 1077 :end 1370 :contents-begin 1077 :contents-end 1370 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 1077 :mode nil :granularity nil :parent #7) (item (:bullet "- " :begin 1077 :end 1159 :contents-begin 1082 :contents-end 1159 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1077 :tag nil :mode item :granularity nil :parent #11) (paragraph (:begin 1082 :end 1159 :contents-begin 1082 :contents-end 1159 :post-blank 0 :post-affiliated 1082 :mode nil :granularity nil :parent #14) (link (:type "custom-id" :path "importerror-no-module-named-jinja2" :format bracket :raw-link "#importerror-no-module-named-jinja2" :application nil :search-option nil :begin 1082 :end 1158 :contents-begin 1121 :contents-end 1156 :post-blank 0 :parent #17) #("ImportError: No module named jinja2" 0 35 (:parent #20))) #("\n" 0 1 (:parent #17)))) (item (:bullet "- " :begin 1159 :end 1257 :contents-begin 1164 :contents-end 1257 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1159 :tag nil :mode item :granularity nil :parent #11) (paragraph (:begin 1164 :end 1257 :contents-begin 1164 :contents-end 1257 :post-blank 0 :post-affiliated 1164 :mode nil :granularity nil :parent #15) (link (:type "custom-id" :path "error-can-not-find-directory-homegn2_data" :format bracket :raw-link "#error-can-not-find-directory-homegn2_data" :application nil :search-option nil :begin 1164 :end 1256 :contents-begin 1210 :contents-end 1254 :post-blank 0 :parent #18) #("ERROR: can not find directory $HOME/gn2" 0 39 (:parent #21)) (subscript (:begin 1249 :end 1254 :use-brackets-p nil :contents-begin 1250 :contents-end 1254 :post-blank 0 :parent #21) #("data" 0 4 (:parent #25)))) #("\n" 0 1 (:parent #18)))) (item (:bullet "- " :begin 1257 :end 1305 :contents-begin 1262 :contents-end 1305 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1257 :tag nil :mode item :granularity nil :parent #11) (paragraph (:begin 1262 :end 1305 :contents-begin 1262 :contents-end 1305 :post-blank 0 :post-affiliated 1262 :mode nil :granularity nil :parent #16) (link (:type "custom-id" :path "cant-run-a-module" :format bracket :raw-link "#cant-run-a-module" :application nil :search-option nil :begin 1262 :end 1304 :contents-begin 1284 :contents-end 1302 :post-blank 0 :parent #19) #("Can't run a module" 0 18 (:parent #22))) #("\n" 0 1 (:parent #19)))) (item (:bullet "- " :begin 1305 :end 1370 :contents-begin 1310 :contents-end 1370 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1305 :tag nil :mode item :granularity nil :parent #11) (paragraph (:begin 1310 :end 1370 :contents-begin 1310 :contents-end 1370 :post-blank 0 :post-affiliated 1310 :mode nil :granularity nil :parent #17) (link (:type "custom-id" :path "rpy2-error-show-now-found" :format bracket :raw-link "#rpy2-error-show-now-found" :application nil :search-option nil :begin 1310 :end 1369 :contents-begin 1340 :contents-end 1367 :post-blank 0 :parent #20) #("Rpy2 error 'show' now found" 0 27 (:parent #23))) #("\n" 0 1 (:parent #20)))))) (item (:bullet "- " :begin 1370 :end 1403 :contents-begin 1373 :contents-end 1403 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1370 :tag nil :mode item :granularity nil :parent (plain-list (:type unordered :begin 121 :end 1403 :contents-begin 121 :contents-end 1403 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 121 :mode planning :granularity nil :parent (section (:begin 121 :end 1404 :contents-begin 121 :contents-end 1403 :robust-begin 121 :robust-end 1401 :post-blank 1 :post-affiliated 121 :mode section :granularity nil :parent (headline (:raw-value "Table of Contents" :begin 43 :end 1404 :pre-blank 0 :contents-begin 121 :contents-end 1403 :robust-begin 123 :robust-end 1401 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 43 :title (#("Table of Contents" 0 17 (:parent #88))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13801 :end 13801 :robust-begin 3 :robust-end 13799 :post-blank 0 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 43 :contents-begin 1 :contents-end 42 :robust-begin 1 :robust-end 40 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #134) (keyword (:key "TITLE" :value "Installing GeneNetwork services" :begin 1 :end 42 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #137))) #88 (headline (:raw-value "Introduction" :begin 1404 :end 2450 :pre-blank 1 :contents-begin 1420 :contents-end 2449 :robust-begin 1422 :robust-end 2447 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1404 :title (#("Introduction" 0 12 (:parent #139))) :mode nil :granularity nil :parent #134) (section (:begin 1420 :end 2450 :contents-begin 1420 :contents-end 2449 :robust-begin 1420 :robust-end 2447 :post-blank 1 :post-affiliated 1420 :mode section :granularity nil :parent #139) (paragraph (:begin 1420 :end 1557 :contents-begin 1420 :contents-end 1556 :post-blank 1 :post-affiliated 1420 :mode planning :granularity nil :parent #142) #("If you want to understand the architecture of GN2 read\n" 0 55 (:parent #145)) (link (:type "fuzzy" :path "Architecture.org" :format bracket :raw-link "Architecture.org" :application nil :search-option nil :begin 1475 :end 1495 :contents-begin nil :contents-end nil :post-blank 0 :parent #145)) #(". The rest of this document is mostly on deployment\nof GN2.\n" 0 61 (:parent #145))) (paragraph (:begin 1557 :end 1943 :contents-begin 1557 :contents-end 1942 :post-blank 1 :post-affiliated 1557 :mode nil :granularity nil :parent #142) #("Large system deployments can get very " 0 38 (:parent #146)) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg " :format bracket :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg " :application nil :search-option nil :begin 1595 :end 1656 :contents-begin 1647 :contents-end 1654 :post-blank 0 :parent #146) #("complex" 0 7 (:parent #150))) #(". In this document we\nexplain the GeneNetwork version 2 (GN2) reproducible deployment system\nwhich is based on GNU Guix (see also " 0 130 (:parent #146)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1786 :end 1860 :contents-begin 1848 :contents-end 1858 :post-blank 0 :parent #146) #("Guix-notes" 0 10 (:parent #152))) #("). The Guix\nsystem can be used to install GN with all its files and dependencies.\n" 0 82 (:parent #146))) (paragraph (:begin 1943 :end 2328 :contents-begin 1943 :contents-end 2327 :post-blank 1 :post-affiliated 1943 :mode nil :granularity nil :parent #142) #("The official installation path is from a checked out version of the\nmain Guix package tree and that of the Genenetwork package\ntree. Current supported versions can be found as the SHA values of\n'gn-latest' branches of " 0 218 (:parent #147)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :application nil :search-option nil :begin 2161 :end 2252 :contents-begin 2230 :contents-end 2249 :post-blank 1 :parent #147) #("Guix bioinformatics" 0 19 (:parent #151))) #("and " 0 4 (:parent #147)) (link (:type "https" :path "//github.com/genenetwork/guix/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix/tree/gn-latest" :application nil :search-option nil :begin 2256 :end 2325 :contents-begin 2310 :contents-end 2323 :post-blank 0 :parent #147) #("GNU Guix main" 0 13 (:parent #153))) #(".\n" 0 2 (:parent #147))) (paragraph (:begin 2328 :end 2449 :contents-begin 2328 :contents-end 2449 :post-blank 0 :post-affiliated 2328 :mode nil :granularity nil :parent #142) #("For a full view of runtime dependencies as defined by GNU Guix, see\nthe " 0 72 (:parent #148)) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 2400 :end 2447 :contents-begin 2425 :contents-end 2445 :post-blank 0 :parent #148) #("GN2 Dependency Graph" 0 20 (:parent #152))) #(".\n" 0 2 (:parent #148))))) (headline (:raw-value "Quick installation recipe" :begin 2450 :end 7633 :pre-blank 1 :contents-begin 2479 :contents-end 7632 :robust-begin 2481 :robust-end 7630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 2450 :title (#("Quick installation recipe" 0 25 (:parent #140))) :mode nil :granularity nil :parent #134) (section (:begin 2479 :end 3022 :contents-begin 2479 :contents-end 3021 :robust-begin 2479 :robust-end 3019 :post-blank 1 :post-affiliated 2479 :mode section :granularity nil :parent #140) (paragraph (:begin 2479 :end 2880 :contents-begin 2479 :contents-end 2879 :post-blank 1 :post-affiliated 2479 :mode planning :granularity nil :parent #143) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS). For more elaborate installation\ninstructions see " 0 357 (:parent #146)) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 2836 :end 2877 :contents-begin 2858 :contents-end 2875 :post-blank 0 :parent #146) #("Source deployment" 0 17 (:parent #150))) #(".\n" 0 2 (:parent #146))) (paragraph (:begin 2880 :end 3021 :contents-begin 2880 :contents-end 3021 :post-blank 0 :post-affiliated 2880 :mode nil :granularity nil :parent #143) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #147)))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 3022 :end 4649 :pre-blank 1 :contents-begin 3051 :contents-end 4648 :robust-begin 3053 :robust-end 4646 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3022 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #144))) :mode nil :granularity nil :parent #140) (section (:begin 3051 :end 4649 :contents-begin 3051 :contents-end 4648 :robust-begin 3051 :robust-end 4646 :post-blank 1 :post-affiliated 3051 :mode section :granularity nil :parent #144) (paragraph (:begin 3051 :end 3504 :contents-begin 3051 :contents-end 3503 :post-blank 1 :post-affiliated 3051 :mode planning :granularity nil :parent #147) #("Fetch the GNU Guix binary from " 0 31 (:parent #150)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 3082 :end 3136 :contents-begin 3129 :contents-end 3133 :post-blank 1 :parent #150) #("here" 0 4 (:parent #154))) #("(middle panel) and follow\n" 0 26 (:parent #150)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 3162 :end 3255 :contents-begin 3241 :contents-end 3253 :post-blank 0 :parent #150) #("instructions" 0 12 (:parent #156))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #150))) (paragraph (:begin 3504 :end 3782 :contents-begin 3504 :contents-end 3781 :post-blank 1 :post-affiliated 3504 :mode nil :granularity nil :parent #147) #("Once you have succeeded, you have to " 0 37 (:parent #151)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 3541 :end 3631 :contents-begin 3617 :contents-end 3628 :post-blank 1 :parent #151) #("set the key" 0 11 (:parent #155))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #151))) (src-block (:language "bash" :switches nil :parameters nil :begin 3782 :end 3890 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 3782 :mode nil :granularity nil :parent #147)) (paragraph (:begin 3890 :end 3924 :contents-begin 3890 :contents-end 3923 :post-blank 1 :post-affiliated 3890 :mode nil :granularity nil :parent #147) #("Which should show something like\n" 0 33 (:parent #153))) (fixed-width (:begin 3924 :end 4034 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 3924 :mode nil :granularity nil :parent #147)) (paragraph (:begin 4034 :end 4045 :contents-begin 4034 :contents-end 4044 :post-blank 1 :post-affiliated 4034 :mode nil :granularity nil :parent #147) #("#+end" 0 5 (:parent #155)) (subscript (:begin 4039 :end 4043 :use-brackets-p nil :contents-begin 4040 :contents-end 4043 :post-blank 0 :parent #155) #("src" 0 3 (:parent #159))) #("\n" 0 1 (:parent #155))) (paragraph (:begin 4045 :end 4116 :contents-begin 4045 :contents-end 4115 :post-blank 1 :post-affiliated 4045 :mode nil :granularity nil :parent #147) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #156))) (src-block (:language "bash" :switches nil :parameters nil :begin 4116 :end 4188 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 4116 :mode nil :granularity nil :parent #147)) (paragraph (:begin 4188 :end 4375 :contents-begin 4188 :contents-end 4374 :post-blank 1 :post-affiliated 4188 :mode nil :granularity nil :parent #147) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #158))) (paragraph (:begin 4375 :end 4648 :contents-begin 4375 :contents-end 4648 :post-blank 0 :post-affiliated 4375 :mode nil :granularity nil :parent #147) #("If you need more help we have another writeup in " 0 49 (:parent #159)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 4424 :end 4520 :contents-begin 4508 :contents-end 4518 :post-blank 0 :parent #159) #("guix-notes" 0 10 (:parent #163))) #(". To get\nrid of the locale warning see " 0 39 (:parent #159)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 4559 :end 4646 :contents-begin 4634 :contents-end 4644 :post-blank 0 :parent #159) #("set-locale" 0 10 (:parent #165))) #(".\n" 0 2 (:parent #159))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 4649 :end 5304 :pre-blank 1 :contents-begin 4695 :contents-end 5302 :robust-begin 4697 :robust-end 5300 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4649 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #145))) :mode nil :granularity nil :parent #140) (section (:begin 4695 :end 5304 :contents-begin 4695 :contents-end 5302 :robust-begin 4695 :robust-end 5300 :post-blank 2 :post-affiliated 4695 :mode section :granularity nil :parent #145) (paragraph (:begin 4695 :end 4815 :contents-begin 4695 :contents-end 4814 :post-blank 1 :post-affiliated 4695 :mode planning :granularity nil :parent #148) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #151))) (src-block (:language "bash" :switches nil :parameters nil :begin 4815 :end 4920 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 4815 :mode nil :granularity nil :parent #148)) (paragraph (:begin 4920 :end 4971 :contents-begin 4920 :contents-end 4970 :post-blank 1 :post-affiliated 4920 :mode nil :granularity nil :parent #148) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #153))) (paragraph (:begin 4971 :end 5232 :contents-begin 4971 :contents-end 5231 :post-blank 1 :post-affiliated 4971 :mode nil :granularity nil :parent #148) #("#+begin" 0 7 (:parent #154)) (subscript (:begin 4978 :end 4983 :use-brackets-p nil :contents-begin 4979 :contents-end 4982 :post-blank 1 :parent #154) #("src" 0 3 (:parent #158))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #154)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 5055 :end 5105 :contents-begin nil :contents-end nil :post-blank 0 :parent #154)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #154)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 5147 :end 5183 :contents-begin nil :contents-end nil :post-blank 1 :parent #154)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #154)) (subscript (:begin 5221 :end 5226 :use-brackets-p nil :contents-begin 5222 :contents-end 5225 :post-blank 1 :parent #154) #("src" 0 3 (:parent #164))) #("bash\n" 0 5 (:parent #154))) (paragraph (:begin 5232 :end 5270 :contents-begin 5232 :contents-end 5269 :post-blank 1 :post-affiliated 5232 :mode nil :granularity nil :parent #148) #("To test whether this is working try:\n" 0 37 (:parent #155))) (paragraph (:begin 5270 :end 5302 :contents-begin 5270 :contents-end 5302 :post-blank 0 :post-affiliated 5270 :mode nil :granularity nil :parent #148) #("#+begin" 0 7 (:parent #156)) (subscript (:begin 5277 :end 5282 :use-brackets-p nil :contents-begin 5278 :contents-end 5281 :post-blank 1 :parent #156) #("src" 0 3 (:parent #160))) #("bash\n#+end" 0 10 (:parent #156)) (subscript (:begin 5292 :end 5297 :use-brackets-p nil :contents-begin 5293 :contents-end 5296 :post-blank 1 :parent #156) #("src" 0 3 (:parent #162))) #("bash\n" 0 5 (:parent #156))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 5304 :end 5755 :pre-blank 1 :contents-begin 5345 :contents-end 5754 :robust-begin 5347 :robust-end 5752 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5304 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #146))) :mode nil :granularity nil :parent #140) (section (:begin 5345 :end 5755 :contents-begin 5345 :contents-end 5754 :robust-begin 5345 :robust-end 5752 :post-blank 1 :post-affiliated 5345 :mode section :granularity nil :parent #146) (paragraph (:begin 5345 :end 5445 :contents-begin 5345 :contents-end 5444 :post-blank 1 :post-affiliated 5345 :mode planning :granularity nil :parent #149) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #152))) (src-block (:language "scheme" :switches nil :parameters nil :begin 5445 :end 5589 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 5445 :mode nil :granularity nil :parent #149)) (paragraph (:begin 5589 :end 5621 :contents-begin 5589 :contents-end 5620 :post-blank 1 :post-affiliated 5589 :mode nil :granularity nil :parent #149) #("by pasting it into the command\n" 0 31 (:parent #154))) (src-block (:language "bash" :switches nil :parameters nil :begin 5621 :end 5674 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 5621 :mode nil :granularity nil :parent #149)) (paragraph (:begin 5674 :end 5691 :contents-begin 5674 :contents-end 5690 :post-blank 1 :post-affiliated 5674 :mode nil :granularity nil :parent #149) #("and hit Ctrl-D.\n" 0 16 (:parent #156))) (paragraph (:begin 5691 :end 5754 :contents-begin 5691 :contents-end 5754 :post-blank 0 :post-affiliated 5691 :mode nil :granularity nil :parent #149) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #157))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 5755 :end 7633 :pre-blank 1 :contents-begin 5787 :contents-end 7632 :robust-begin 5789 :robust-end 7630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5755 :title (#("Step 4: Install and run GN2" 0 27 (:parent #147))) :mode nil :granularity nil :parent #140) (section (:begin 5787 :end 7633 :contents-begin 5787 :contents-end 7632 :robust-begin 5787 :robust-end 7630 :post-blank 1 :post-affiliated 5787 :mode section :granularity nil :parent #147) (paragraph (:begin 5787 :end 5927 :contents-begin 5787 :contents-end 5926 :post-blank 1 :post-affiliated 5787 :mode planning :granularity nil :parent #150) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #153))) (src-block (:language "bash" :switches nil :parameters nil :begin 5927 :end 6046 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 5927 :mode nil :granularity nil :parent #150)) (paragraph (:begin 6046 :end 6099 :contents-begin 6046 :contents-end 6098 :post-blank 1 :post-affiliated 6046 :mode nil :granularity nil :parent #150) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #155))) (src-block (:language "bash" :switches nil :parameters nil :begin 6099 :end 6289 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 6099 :mode nil :granularity nil :parent #150)) (paragraph (:begin 6289 :end 6398 :contents-begin 6289 :contents-end 6397 :post-blank 1 :post-affiliated 6289 :mode nil :granularity nil :parent #150) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #157)) (italic (:begin 6360 :end 6366 :post-blank 0 :contents-begin 6361 :contents-end 6365 :parent #157) #("root" 0 4 (:parent #161))) #(".config/guix/latest override).\n" 0 31 (:parent #157))) (paragraph (:begin 6398 :end 6416 :contents-begin 6398 :contents-end 6415 :post-blank 1 :post-affiliated 6398 :mode nil :granularity nil :parent #150) #("And install with\n" 0 17 (:parent #158))) (src-block (:language "bash" :switches nil :parameters nil :begin 6416 :end 6586 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 6416 :mode nil :granularity nil :parent #150)) (paragraph (:begin 6586 :end 6729 :contents-begin 6586 :contents-end 6728 :post-blank 1 :post-affiliated 6586 :mode nil :granularity nil :parent #150) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #160))) (paragraph (:begin 6729 :end 6925 :contents-begin 6729 :contents-end 6924 :post-blank 1 :post-affiliated 6729 :mode nil :granularity nil :parent #150) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #161))) (paragraph (:begin 6925 :end 7056 :contents-begin 6925 :contents-end 7055 :post-blank 1 :post-affiliated 6925 :mode nil :granularity nil :parent #150) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #162))) (src-block (:language "bash" :switches nil :parameters nil :begin 7056 :end 7235 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python2.7/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 7056 :mode nil :granularity nil :parent #150)) (paragraph (:begin 7235 :end 7304 :contents-begin 7235 :contents-end 7303 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #150) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #164))) (src-block (:language "bash" :switches nil :parameters nil :begin 7304 :end 7345 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 7304 :mode nil :granularity nil :parent #150)) (paragraph (:begin 7345 :end 7596 :contents-begin 7345 :contents-end 7595 :post-blank 1 :post-affiliated 7345 :mode nil :granularity nil :parent #150) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #166)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 7567 :end 7593 :contents-begin nil :contents-end nil :post-blank 0 :parent #166)) #(".\n" 0 2 (:parent #166))) (paragraph (:begin 7596 :end 7632 :contents-begin 7596 :contents-end 7632 :post-blank 0 :post-affiliated 7596 :mode nil :granularity nil :parent #150) #("End of the GN2 installation recipe!\n" 0 36 (:parent #167)))))) (headline (:raw-value "Run MySQL server" :begin 7633 :end 9008 :pre-blank 1 :contents-begin 7653 :contents-end 9007 :robust-begin 7655 :robust-end 9005 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7633 :title (#("Run MySQL server" 0 16 (:parent #141))) :mode nil :granularity nil :parent #134) (section (:begin 7653 :end 9008 :contents-begin 7653 :contents-end 9007 :robust-begin 7653 :robust-end 9005 :post-blank 1 :post-affiliated 7653 :mode section :granularity nil :parent #141) (paragraph (:begin 7653 :end 7928 :contents-begin 7653 :contents-end 7927 :post-blank 1 :post-affiliated 7653 :mode planning :granularity nil :parent #144) #("At this point we require the underlying distribution to install and\nrun mysqld. Currently we have two databases for deployment,\n'db" 0 131 (:parent #147)) (subscript (:begin 7784 :end 7791 :use-brackets-p nil :contents-begin 7785 :contents-end 7791 :post-blank 0 :parent #147) #("webqtl" 0 6 (:parent #151))) (subscript (:begin 7791 :end 7793 :use-brackets-p nil :contents-begin 7792 :contents-end 7793 :post-blank 0 :parent #147) #("s" 0 1 (:parent #152))) #("' is the small testing database containing experiments\nfrom BXD mice and 'db" 0 76 (:parent #147)) (subscript (:begin 7869 :end 7876 :use-brackets-p nil :contents-begin 7870 :contents-end 7876 :post-blank 0 :parent #147) #("webqtl" 0 6 (:parent #154))) (subscript (:begin 7876 :end 7882 :use-brackets-p nil :contents-begin 7877 :contents-end 7882 :post-blank 0 :parent #147) #("plant" 0 5 (:parent #155))) #("' which contains all plant related\nmaterial.\n" 0 45 (:parent #147))) (paragraph (:begin 7928 :end 7956 :contents-begin 7928 :contents-end 7955 :post-blank 1 :post-affiliated 7928 :mode nil :granularity nil :parent #144) #("Download one database from\n" 0 27 (:parent #148))) (paragraph (:begin 7956 :end 8054 :contents-begin 7956 :contents-end 8053 :post-blank 1 :post-affiliated 7956 :mode nil :granularity nil :parent #144) (link (:type "http" :path "//files.genenetwork.org/raw_database/" :format plain :raw-link "http://files.genenetwork.org/raw_database/" :application nil :search-option nil :begin 7956 :end 7998 :contents-begin nil :contents-end nil :post-blank 0 :parent #149)) #("\n" 0 1 (:parent #149)) (link (:type "https" :path "//s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :format plain :raw-link "https://s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :application nil :search-option nil :begin 7999 :end 8052 :contents-begin nil :contents-end nil :post-blank 0 :parent #149)) #("\n" 0 1 (:parent #149))) (paragraph (:begin 8054 :end 8073 :contents-begin 8054 :contents-end 8072 :post-blank 1 :post-affiliated 8054 :mode nil :granularity nil :parent #144) #("Check the md5sum.\n" 0 18 (:parent #150))) (paragraph (:begin 8073 :end 8195 :contents-begin 8073 :contents-end 8194 :post-blank 1 :post-affiliated 8073 :mode nil :granularity nil :parent #144) #("After installation inflate the database binary in the MySQL directory\n(this installation path is subject to change soon)\n" 0 121 (:parent #151))) (fixed-width (:begin 8195 :end 8283 :value "chown -R mysql:mysql db_webqtl_s/\nchmod 700 db_webqtl_s/\nchmod 660 db_webqtl_s/*" :post-blank 2 :post-affiliated 8195 :mode nil :granularity nil :parent #144)) (paragraph (:begin 8283 :end 8334 :contents-begin 8283 :contents-end 8333 :post-blank 1 :post-affiliated 8283 :mode nil :granularity nil :parent #144) #("restart MySQL service (mysqld). Login as root and\n" 0 50 (:parent #153))) (fixed-width (:begin 8334 :end 8560 :value "mysql> show databases;\n+--------------------+\n| Database |\n+--------------------+\n| information_schema |\n| db_webqtl_s |\n| mysql |\n| performance_schema |\n+--------------------+" :post-blank 2 :post-affiliated 8334 :mode nil :granularity nil :parent #144)) (paragraph (:begin 8560 :end 8625 :contents-begin 8560 :contents-end 8624 :post-blank 1 :post-affiliated 8560 :mode nil :granularity nil :parent #144) #("Set permissions and match password in your settings file below:\n" 0 64 (:parent #155))) (fixed-width (:begin 8625 :end 8724 :value "mysql> grant all privileges on db_webqtl_s.* to gn2@\"localhost\" identified by 'mysql_password';" :post-blank 2 :post-affiliated 8625 :mode nil :granularity nil :parent #144)) (paragraph (:begin 8724 :end 8875 :contents-begin 8724 :contents-end 8874 :post-blank 1 :post-affiliated 8724 :mode nil :granularity nil :parent #144) #("Note that if the mysql connection is not working, try connecting to\nthe IP address and check server firewall, hosts.allow and mysql IP\nconfiguration.\n" 0 150 (:parent #157))) (paragraph (:begin 8875 :end 9007 :contents-begin 8875 :contents-end 9007 :post-blank 0 :post-affiliated 8875 :mode nil :granularity nil :parent #144) #("Note for the plant database you can rename it to db" 0 51 (:parent #158)) (subscript (:begin 8926 :end 8933 :use-brackets-p nil :contents-begin 8927 :contents-end 8933 :post-blank 0 :parent #158) #("webqtl" 0 6 (:parent #162))) (subscript (:begin 8933 :end 8935 :use-brackets-p nil :contents-begin 8934 :contents-end 8935 :post-blank 0 :parent #158) #("s" 0 1 (:parent #163))) #(", or\nchange the settings in etc/default" 0 39 (:parent #158)) (subscript (:begin 8974 :end 8987 :use-brackets-p nil :contents-begin 8975 :contents-end 8986 :post-blank 1 :parent #158) #("settings.py" 0 11 (:parent #165))) #("to match your path.\n" 0 20 (:parent #158))))) (headline (:raw-value "GN2 Dependency Graph" :begin 9008 :end 9172 :pre-blank 1 :contents-begin 9032 :contents-end 9171 :robust-begin 9034 :robust-end 9169 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9008 :title (#("GN2 Dependency Graph" 0 20 (:parent #142))) :mode nil :granularity nil :parent #134) (section (:begin 9032 :end 9172 :contents-begin 9032 :contents-end 9171 :robust-begin 9032 :robust-end 9169 :post-blank 1 :post-affiliated 9032 :mode section :granularity nil :parent #142) (paragraph (:begin 9032 :end 9093 :contents-begin 9032 :contents-end 9092 :post-blank 1 :post-affiliated 9032 :mode planning :granularity nil :parent #145) #("Graph of all runtime dependencies as installed by GNU Guix.\n" 0 60 (:parent #148))) (paragraph (:begin 9093 :end 9171 :contents-begin 9123 :contents-end 9171 :post-blank 0 :post-affiliated 9123 :attr_html (":title GN2_graph") :mode nil :granularity nil :parent #145) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg" :format plain :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg" :application nil :search-option nil :begin 9123 :end 9170 :contents-begin nil :contents-end nil :post-blank 0 :parent #149)) #("\n" 0 1 (:parent #149))))) (headline (:raw-value "Source deployment" :begin 9172 :end 12840 :pre-blank 1 :contents-begin 9193 :contents-end 12839 :robust-begin 9195 :robust-end 12837 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9172 :title (#("Source deployment" 0 17 (:parent #143))) :mode nil :granularity nil :parent #134) (section (:begin 9193 :end 9612 :contents-begin 9193 :contents-end 9610 :robust-begin 9193 :robust-end 9608 :post-blank 2 :post-affiliated 9193 :mode section :granularity nil :parent #143) (paragraph (:begin 9193 :end 9274 :contents-begin 9193 :contents-end 9273 :post-blank 1 :post-affiliated 9193 :mode planning :granularity nil :parent #146) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #149))) (paragraph (:begin 9274 :end 9304 :contents-begin 9274 :contents-end 9303 :post-blank 1 :post-affiliated 9274 :mode nil :granularity nil :parent #146) #("First execute above 4 steps:\n" 0 29 (:parent #150))) (plain-list (:type unordered :begin 9304 :end 9610 :contents-begin 9304 :contents-end 9610 :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :post-blank 0 :post-affiliated 9304 :mode nil :granularity nil :parent #146) (item (:bullet "- " :begin 9304 :end 9364 :contents-begin 9309 :contents-end 9364 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9304 :tag nil :mode item :granularity nil :parent #151) (paragraph (:begin 9309 :end 9364 :contents-begin 9309 :contents-end 9364 :post-blank 0 :post-affiliated 9309 :mode nil :granularity nil :parent #154) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 9309 :end 9363 :contents-begin 9337 :contents-end 9361 :post-blank 0 :parent #157) #("Step 1: Install GNU Guix" 0 24 (:parent #160))) #("\n" 0 1 (:parent #157)))) (item (:bullet "- " :begin 9364 :end 9458 :contents-begin 9369 :contents-end 9458 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9364 :tag nil :mode item :granularity nil :parent #151) (paragraph (:begin 9369 :end 9458 :contents-begin 9369 :contents-end 9458 :post-blank 0 :post-affiliated 9369 :mode nil :granularity nil :parent #155) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 9369 :end 9457 :contents-begin 9414 :contents-end 9455 :post-blank 0 :parent #158) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #161))) #("\n" 0 1 (:parent #158)))) (item (:bullet "- " :begin 9458 :end 9542 :contents-begin 9463 :contents-end 9542 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9458 :tag nil :mode item :granularity nil :parent #151) (paragraph (:begin 9463 :end 9542 :contents-begin 9463 :contents-end 9542 :post-blank 0 :post-affiliated 9463 :mode nil :granularity nil :parent #156) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 9463 :end 9541 :contents-begin 9503 :contents-end 9539 :post-blank 0 :parent #159) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #162))) #("\n" 0 1 (:parent #159)))) (item (:bullet "- " :begin 9542 :end 9610 :contents-begin 9547 :contents-end 9610 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9542 :tag nil :mode item :granularity nil :parent #151) (paragraph (:begin 9547 :end 9610 :contents-begin 9547 :contents-end 9610 :post-blank 0 :post-affiliated 9547 :mode nil :granularity nil :parent #157) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 9547 :end 9609 :contents-begin 9579 :contents-end 9607 :post-blank 0 :parent #160) #("Step 4: Install and run GN2 " 0 28 (:parent #163))) #("\n" 0 1 (:parent #160)))))) (headline (:raw-value "Run your own copy of GN2" :begin 9612 :end 10722 :pre-blank 1 :contents-begin 9641 :contents-end 10721 :robust-begin 9643 :robust-end 10719 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9612 :title (#("Run your own copy of GN2" 0 24 (:parent #147))) :mode nil :granularity nil :parent #143) (section (:begin 9641 :end 10722 :contents-begin 9641 :contents-end 10721 :robust-begin 9641 :robust-end 10719 :post-blank 1 :post-affiliated 9641 :mode section :granularity nil :parent #147) (paragraph (:begin 9641 :end 9839 :contents-begin 9641 :contents-end 9838 :post-blank 1 :post-affiliated 9641 :mode planning :granularity nil :parent #150) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #153)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 9793 :end 9836 :contents-begin nil :contents-end nil :post-blank 0 :parent #153)) #(".\n" 0 2 (:parent #153))) (paragraph (:begin 9839 :end 9964 :contents-begin 9839 :contents-end 9963 :post-blank 1 :post-affiliated 9839 :mode nil :granularity nil :parent #150) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #154)) (subscript (:begin 9896 :end 9902 :use-brackets-p nil :contents-begin 9897 :contents-end 9901 :post-blank 1 :parent #154) #("PATH" 0 4 (:parent #158))) #("and\nR" 0 5 (:parent #154)) (subscript (:begin 9907 :end 9912 :use-brackets-p nil :contents-begin 9908 :contents-end 9912 :post-blank 0 :parent #154) #("LIBS" 0 4 (:parent #160))) (subscript (:begin 9912 :end 9918 :use-brackets-p nil :contents-begin 9913 :contents-end 9917 :post-blank 1 :parent #154) #("SITE" 0 4 (:parent #161))) #("are set) from the information given by guix:\n" 0 45 (:parent #154))) (fixed-width (:begin 9964 :end 9995 :value "guix package --search-paths" :post-blank 2 :post-affiliated 9964 :mode nil :granularity nil :parent #150)) (paragraph (:begin 9995 :end 10019 :contents-begin 9995 :contents-end 10018 :post-blank 1 :post-affiliated 9995 :mode nil :granularity nil :parent #150) #("Inside the repository:\n" 0 23 (:parent #156))) (fixed-width (:begin 10019 :end 10059 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 10019 :mode nil :granularity nil :parent #150)) (paragraph (:begin 10059 :end 10303 :contents-begin 10059 :contents-end 10302 :post-blank 1 :post-affiliated 10059 :mode nil :granularity nil :parent #150) #("Will fire up your local repo " 0 29 (:parent #158)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 10088 :end 10111 :contents-begin nil :contents-end nil :post-blank 1 :parent #158)) #("using the\nsettings in ./etc/default" 0 35 (:parent #158)) (subscript (:begin 10146 :end 10158 :use-brackets-p nil :contents-begin 10147 :contents-end 10158 :post-blank 0 :parent #158) #("settings.py" 0 11 (:parent #164))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #158)) (subscript (:begin 10263 :end 10276 :use-brackets-p nil :contents-begin 10264 :contents-end 10275 :post-blank 1 :parent #158) #("settings.py" 0 11 (:parent #166))) #("and pass it into GN2 with\n" 0 26 (:parent #158))) (fixed-width (:begin 10303 :end 10346 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 10303 :mode nil :granularity nil :parent #150)) (paragraph (:begin 10346 :end 10492 :contents-begin 10346 :contents-end 10491 :post-blank 1 :post-affiliated 10346 :mode nil :granularity nil :parent #150) #("and everything " 0 15 (:parent #160)) (bold (:begin 10361 :end 10370 :post-blank 1 :contents-begin 10362 :contents-end 10368 :parent #160) #("should" 0 6 (:parent #164))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #160))) (paragraph (:begin 10492 :end 10620 :contents-begin 10492 :contents-end 10619 :post-blank 1 :post-affiliated 10492 :mode nil :granularity nil :parent #150) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #161))) (fixed-width (:begin 10620 :end 10721 :value "cat ~/.guix-profile/lib/python2.7/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 10620 :mode nil :granularity nil :parent #150)))) (headline (:raw-value "Set up nginx port forwarding" :begin 10722 :end 12840 :pre-blank 1 :contents-begin 10755 :contents-end 12839 :robust-begin 10757 :robust-end 12837 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 10722 :title (#("Set up nginx port forwarding" 0 28 (:parent #148))) :mode nil :granularity nil :parent #143) (section (:begin 10755 :end 12840 :contents-begin 10755 :contents-end 12839 :robust-begin 10755 :robust-end 12837 :post-blank 1 :post-affiliated 10755 :mode section :granularity nil :parent #148) (paragraph (:begin 10755 :end 10923 :contents-begin 10755 :contents-end 10922 :post-blank 1 :post-affiliated 10755 :mode planning :granularity nil :parent #151) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #154))) (paragraph (:begin 10923 :end 11063 :contents-begin 10923 :contents-end 11062 :post-blank 1 :post-affiliated 10923 :mode nil :granularity nil :parent #151) #("#+begin" 0 7 (:parent #155)) (subscript (:begin 10930 :end 10935 :use-brackets-p nil :contents-begin 10931 :contents-end 10934 :post-blank 1 :parent #155) #("src" 0 3 (:parent #159))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #155)) (subscript (:begin 10984 :end 10990 :use-brackets-p nil :contents-begin 10985 :contents-end 10989 :post-blank 1 :parent #155) #("name" 0 4 (:parent #161))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #155)) (subscript (:begin 11030 :end 11036 :use-brackets-p nil :contents-begin 11031 :contents-end 11034 :post-blank 2 :parent #155) #("log" 0 3 (:parent #163))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #155))) (paragraph (:begin 11063 :end 11232 :contents-begin 11063 :contents-end 11231 :post-blank 1 :post-affiliated 11063 :mode nil :granularity nil :parent #151) #(" proxy" 0 13 (:parent #156)) (subscript (:begin 11076 :end 11084 :use-brackets-p nil :contents-begin 11077 :contents-end 11084 :post-blank 0 :parent #156) #("connect" 0 7 (:parent #160))) (subscript (:begin 11084 :end 11099 :use-brackets-p nil :contents-begin 11085 :contents-end 11092 :post-blank 7 :parent #156) #("timeout" 0 7 (:parent #161))) #("3000;\n proxy" 0 19 (:parent #156)) (subscript (:begin 11118 :end 11123 :use-brackets-p nil :contents-begin 11119 :contents-end 11123 :post-blank 0 :parent #156) #("send" 0 4 (:parent #163))) (subscript (:begin 11123 :end 11141 :use-brackets-p nil :contents-begin 11124 :contents-end 11131 :post-blank 10 :parent #156) #("timeout" 0 7 (:parent #164))) #("3000;\n proxy" 0 19 (:parent #156)) (subscript (:begin 11160 :end 11165 :use-brackets-p nil :contents-begin 11161 :contents-end 11165 :post-blank 0 :parent #156) #("read" 0 4 (:parent #166))) (subscript (:begin 11165 :end 11183 :use-brackets-p nil :contents-begin 11166 :contents-end 11173 :post-blank 10 :parent #156) #("timeout" 0 7 (:parent #167))) #("3000;\n send" 0 18 (:parent #156)) (subscript (:begin 11201 :end 11225 :use-brackets-p nil :contents-begin 11202 :contents-end 11209 :post-blank 16 :parent #156) #("timeout" 0 7 (:parent #169))) #("3000;\n" 0 6 (:parent #156))) (paragraph (:begin 11232 :end 11632 :contents-begin 11232 :contents-end 11631 :post-blank 1 :post-affiliated 11232 :mode nil :granularity nil :parent #151) #(" location / {\n proxy" 0 38 (:parent #157)) (subscript (:begin 11270 :end 11274 :use-brackets-p nil :contents-begin 11271 :contents-end 11274 :post-blank 0 :parent #157) #("set" 0 3 (:parent #161))) (subscript (:begin 11274 :end 11284 :use-brackets-p nil :contents-begin 11275 :contents-end 11281 :post-blank 3 :parent #157) #("header" 0 6 (:parent #162))) #("Host $http" 0 15 (:parent #157)) (subscript (:begin 11299 :end 11304 :use-brackets-p nil :contents-begin 11300 :contents-end 11304 :post-blank 0 :parent #157) #("host" 0 4 (:parent #164))) #(";\n proxy" 0 19 (:parent #157)) (subscript (:begin 11323 :end 11327 :use-brackets-p nil :contents-begin 11324 :contents-end 11327 :post-blank 0 :parent #157) #("set" 0 3 (:parent #166))) (subscript (:begin 11327 :end 11337 :use-brackets-p nil :contents-begin 11328 :contents-end 11334 :post-blank 3 :parent #157) #("header" 0 6 (:parent #167))) #("Connection keep-alive;\n proxy" 0 40 (:parent #157)) (subscript (:begin 11377 :end 11381 :use-brackets-p nil :contents-begin 11378 :contents-end 11381 :post-blank 0 :parent #157) #("set" 0 3 (:parent #169))) (subscript (:begin 11381 :end 11391 :use-brackets-p nil :contents-begin 11382 :contents-end 11388 :post-blank 3 :parent #157) #("header" 0 6 (:parent #170))) #("X-Real-IP $remote" 0 17 (:parent #157)) (subscript (:begin 11408 :end 11413 :use-brackets-p nil :contents-begin 11409 :contents-end 11413 :post-blank 0 :parent #157) #("addr" 0 4 (:parent #172))) #(";\n proxy" 0 19 (:parent #157)) (subscript (:begin 11432 :end 11436 :use-brackets-p nil :contents-begin 11433 :contents-end 11436 :post-blank 0 :parent #157) #("set" 0 3 (:parent #174))) (subscript (:begin 11436 :end 11446 :use-brackets-p nil :contents-begin 11437 :contents-end 11443 :post-blank 3 :parent #157) #("header" 0 6 (:parent #175))) #("X-Forwarded-For $proxy" 0 22 (:parent #157)) (subscript (:begin 11468 :end 11472 :use-brackets-p nil :contents-begin 11469 :contents-end 11472 :post-blank 0 :parent #157) #("add" 0 3 (:parent #177))) (subscript (:begin 11472 :end 11474 :use-brackets-p nil :contents-begin 11473 :contents-end 11474 :post-blank 0 :parent #157) #("x" 0 1 (:parent #178))) (subscript (:begin 11474 :end 11484 :use-brackets-p nil :contents-begin 11475 :contents-end 11484 :post-blank 0 :parent #157) #("forwarded" 0 9 (:parent #179))) (subscript (:begin 11484 :end 11488 :use-brackets-p nil :contents-begin 11485 :contents-end 11488 :post-blank 0 :parent #157) #("for" 0 3 (:parent #180))) #(";\n proxy" 0 19 (:parent #157)) (subscript (:begin 11507 :end 11511 :use-brackets-p nil :contents-begin 11508 :contents-end 11511 :post-blank 0 :parent #157) #("set" 0 3 (:parent #182))) (subscript (:begin 11511 :end 11521 :use-brackets-p nil :contents-begin 11512 :contents-end 11518 :post-blank 3 :parent #157) #("header" 0 6 (:parent #183))) #("X-Forwarded-Host $server" 0 24 (:parent #157)) (subscript (:begin 11545 :end 11550 :use-brackets-p nil :contents-begin 11546 :contents-end 11550 :post-blank 0 :parent #157) #("name" 0 4 (:parent #185))) #(";\n proxy" 0 19 (:parent #157)) (subscript (:begin 11569 :end 11583 :use-brackets-p nil :contents-begin 11570 :contents-end 11574 :post-blank 9 :parent #157) #("pass" 0 4 (:parent #187))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 11583 :end 11604 :contents-begin nil :contents-end nil :post-blank 0 :parent #157)) #(";\n }\n}\n#+end" 0 19 (:parent #157)) (subscript (:begin 11623 :end 11628 :use-brackets-p nil :contents-begin 11624 :contents-end 11627 :post-blank 1 :parent #157) #("src" 0 3 (:parent #190))) #("js\n" 0 3 (:parent #157))) (paragraph (:begin 11632 :end 11671 :contents-begin 11632 :contents-end 11670 :post-blank 1 :post-affiliated 11632 :mode nil :granularity nil :parent #151) #("Install the nginx webserver (as root)\n" 0 38 (:parent #158))) (fixed-width (:begin 11671 :end 11696 :value "guix package -i nginx" :post-blank 2 :post-affiliated 11671 :mode nil :granularity nil :parent #151)) (paragraph (:begin 11696 :end 11777 :contents-begin 11696 :contents-end 11776 :post-blank 1 :post-affiliated 11696 :mode nil :granularity nil :parent #151) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #160))) (fixed-width (:begin 11777 :end 11964 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 11777 :mode nil :granularity nil :parent #151)) (paragraph (:begin 11964 :end 11979 :contents-begin 11964 :contents-end 11978 :post-blank 1 :post-affiliated 11964 :mode nil :granularity nil :parent #151) #("Use that path\n" 0 14 (:parent #162))) (fixed-width (:begin 11979 :end 12373 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 11979 :mode nil :granularity nil :parent #151)) (paragraph (:begin 12373 :end 12599 :contents-begin 12373 :contents-end 12599 :post-blank 0 :post-affiliated 12373 :mode nil :granularity nil :parent #151) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #164))) (fixed-width (:begin 12599 :end 12646 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 12599 :mode nil :granularity nil :parent #151)) (paragraph (:begin 12646 :end 12657 :contents-begin 12646 :contents-end 12656 :post-blank 1 :post-affiliated 12646 :mode nil :granularity nil :parent #151) #("Make dirs\n" 0 10 (:parent #166))) (fixed-width (:begin 12657 :end 12691 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 12657 :mode nil :granularity nil :parent #151)) (paragraph (:begin 12691 :end 12702 :contents-begin 12691 :contents-end 12701 :post-blank 1 :post-affiliated 12691 :mode nil :granularity nil :parent #151) #("Add users\n" 0 10 (:parent #168))) (fixed-width (:begin 12702 :end 12738 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 12702 :mode nil :granularity nil :parent #151)) (paragraph (:begin 12738 :end 12749 :contents-begin 12738 :contents-end 12748 :post-blank 1 :post-affiliated 12738 :mode nil :granularity nil :parent #151) #("Run nginx\n" 0 10 (:parent #170))) (fixed-width (:begin 12749 :end 12839 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 12749 :mode nil :granularity nil :parent #151))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 12840 :end 13801 :pre-blank 1 :contents-begin 12902 :contents-end 13801 :robust-begin 12904 :robust-end 13799 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12840 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #144))) :mode nil :granularity nil :parent #134) (section (:begin 12902 :end 12959 :contents-begin 12902 :contents-end 12958 :robust-begin 12902 :robust-end 12956 :post-blank 1 :post-affiliated 12902 :mode section :granularity nil :parent #144) (paragraph (:begin 12902 :end 12958 :contents-begin 12902 :contents-end 12958 :post-blank 0 :post-affiliated 12902 :mode planning :granularity nil :parent #147) #("See the document " 0 17 (:parent #150)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 12919 :end 12956 :contents-begin nil :contents-end nil :post-blank 0 :parent #150)) #(".\n" 0 2 (:parent #150)))) (headline (:raw-value "Update to recent guix" :begin 12959 :end 13409 :pre-blank 1 :contents-begin 12985 :contents-end 13408 :robust-begin 12987 :robust-end 13406 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12959 :title (#("Update to recent guix" 0 21 (:parent #148))) :mode nil :granularity nil :parent #144) (section (:begin 12985 :end 13409 :contents-begin 12985 :contents-end 13408 :robust-begin 12985 :robust-end 13406 :post-blank 1 :post-affiliated 12985 :mode section :granularity nil :parent #148) (paragraph (:begin 12985 :end 13020 :contents-begin 12985 :contents-end 13019 :post-blank 1 :post-affiliated 12985 :mode planning :granularity nil :parent #151) #("We now compile Guix from scratch.\n" 0 34 (:parent #154))) (paragraph (:begin 13020 :end 13295 :contents-begin 13020 :contents-end 13294 :post-blank 1 :post-affiliated 13020 :mode nil :granularity nil :parent #151) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #155)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 13159 :end 13272 :contents-begin 13264 :contents-end 13269 :post-blank 1 :parent #155) #("these" 0 5 (:parent #159))) #("steps carefully after\n" 0 22 (:parent #155))) (fixed-width (:begin 13295 :end 13330 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 13295 :mode nil :granularity nil :parent #151)) (paragraph (:begin 13330 :end 13408 :contents-begin 13330 :contents-end 13408 :post-blank 0 :post-affiliated 13330 :mode nil :granularity nil :parent #151) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #157))))) (headline (:raw-value "Install GN2" :begin 13409 :end 13801 :pre-blank 1 :contents-begin 13425 :contents-end 13801 :robust-begin 13427 :robust-end 13799 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 13409 :title (#("Install GN2" 0 11 (:parent #149))) :mode nil :granularity nil :parent #144) (section (:begin 13425 :end 13801 :contents-begin 13425 :contents-end 13801 :robust-begin 13425 :robust-end 13799 :post-blank 0 :post-affiliated 13425 :mode section :granularity nil :parent #149) (paragraph (:begin 13425 :end 13468 :contents-begin 13425 :contents-end 13467 :post-blank 1 :post-affiliated 13425 :mode planning :granularity nil :parent #152) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #155))) (paragraph (:begin 13468 :end 13676 :contents-begin 13468 :contents-end 13675 :post-blank 1 :post-affiliated 13468 :mode nil :granularity nil :parent #152) #("#+begin" 0 7 (:parent #156)) (subscript (:begin 13475 :end 13480 :use-brackets-p nil :contents-begin 13476 :contents-end 13479 :post-blank 1 :parent #156) #("src" 0 3 (:parent #160))) #("bash\nenv GUIX" 0 13 (:parent #156)) (subscript (:begin 13493 :end 13501 :use-brackets-p nil :contents-begin 13494 :contents-end 13501 :post-blank 0 :parent #156) #("PACKAGE" 0 7 (:parent #162))) (subscript (:begin 13501 :end 13506 :use-brackets-p nil :contents-begin 13502 :contents-end 13506 :post-blank 0 :parent #156) #("PATH" 0 4 (:parent #163))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #156)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 13605 :end 13633 :contents-begin nil :contents-end nil :post-blank 1 :parent #156)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 13633 :end 13658 :contents-begin nil :contents-end nil :post-blank 0 :parent #156)) #("\"\n#+end" 0 7 (:parent #156)) (subscript (:begin 13665 :end 13670 :use-brackets-p nil :contents-begin 13666 :contents-end 13669 :post-blank 1 :parent #156) #("src" 0 3 (:parent #168))) #("bash\n" 0 5 (:parent #156))) (paragraph (:begin 13676 :end 13714 :contents-begin 13676 :contents-end 13713 :post-blank 1 :post-affiliated 13676 :mode nil :granularity nil :parent #152) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #157))) (paragraph (:begin 13714 :end 13801 :contents-begin 13714 :contents-end 13801 :post-blank 0 :post-affiliated 13714 :mode nil :granularity nil :parent #152) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #158)))))))) #64)) #40)) . #0)) (paragraph (:begin 1373 :end 1403 :contents-begin 1373 :contents-end 1403 :post-blank 0 :post-affiliated 1373 :mode nil :granularity nil :parent #8) (link (:type "custom-id" :path "irc-session" :format bracket :raw-link "#irc-session" :application nil :search-option nil :begin 1373 :end 1402 :contents-begin 1389 :contents-end 1400 :post-blank 0 :parent #11) #("IRC session" 0 11 (:parent #14))) #("\n" 0 1 (:parent #11))))) "") org-export-data((plain-list (:type unordered :begin 121 :end 1403 :contents-begin 121 :contents-end 1403 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 121 :mode planning :granularity nil :parent (section (:begin 121 :end 1404 :contents-begin 121 :contents-end 1403 :robust-begin 121 :robust-end 1401 :post-blank 1 :post-affiliated 121 :mode section :granularity nil :parent (headline (:raw-value "Table of Contents" :begin 43 :end 1404 :pre-blank 0 :contents-begin 121 :contents-end 1403 :robust-begin 123 :robust-end 1401 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 43 :title (#("Table of Contents" 0 17 (:parent #48))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13801 :end 13801 :robust-begin 3 :robust-end 13799 :post-blank 0 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 43 :contents-begin 1 :contents-end 42 :robust-begin 1 :robust-end 40 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #94) (keyword (:key "TITLE" :value "Installing GeneNetwork services" :begin 1 :end 42 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #97))) #48 (headline (:raw-value "Introduction" :begin 1404 :end 2450 :pre-blank 1 :contents-begin 1420 :contents-end 2449 :robust-begin 1422 :robust-end 2447 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1404 :title (#("Introduction" 0 12 (:parent #99))) :mode nil :granularity nil :parent #94) (section (:begin 1420 :end 2450 :contents-begin 1420 :contents-end 2449 :robust-begin 1420 :robust-end 2447 :post-blank 1 :post-affiliated 1420 :mode section :granularity nil :parent #99) (paragraph (:begin 1420 :end 1557 :contents-begin 1420 :contents-end 1556 :post-blank 1 :post-affiliated 1420 :mode planning :granularity nil :parent #102) #("If you want to understand the architecture of GN2 read\n" 0 55 (:parent #105)) (link (:type "fuzzy" :path "Architecture.org" :format bracket :raw-link "Architecture.org" :application nil :search-option nil :begin 1475 :end 1495 :contents-begin nil :contents-end nil :post-blank 0 :parent #105)) #(". The rest of this document is mostly on deployment\nof GN2.\n" 0 61 (:parent #105))) (paragraph (:begin 1557 :end 1943 :contents-begin 1557 :contents-end 1942 :post-blank 1 :post-affiliated 1557 :mode nil :granularity nil :parent #102) #("Large system deployments can get very " 0 38 (:parent #106)) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg " :format bracket :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg " :application nil :search-option nil :begin 1595 :end 1656 :contents-begin 1647 :contents-end 1654 :post-blank 0 :parent #106) #("complex" 0 7 (:parent #110))) #(". In this document we\nexplain the GeneNetwork version 2 (GN2) reproducible deployment system\nwhich is based on GNU Guix (see also " 0 130 (:parent #106)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1786 :end 1860 :contents-begin 1848 :contents-end 1858 :post-blank 0 :parent #106) #("Guix-notes" 0 10 (:parent #112))) #("). The Guix\nsystem can be used to install GN with all its files and dependencies.\n" 0 82 (:parent #106))) (paragraph (:begin 1943 :end 2328 :contents-begin 1943 :contents-end 2327 :post-blank 1 :post-affiliated 1943 :mode nil :granularity nil :parent #102) #("The official installation path is from a checked out version of the\nmain Guix package tree and that of the Genenetwork package\ntree. Current supported versions can be found as the SHA values of\n'gn-latest' branches of " 0 218 (:parent #107)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :application nil :search-option nil :begin 2161 :end 2252 :contents-begin 2230 :contents-end 2249 :post-blank 1 :parent #107) #("Guix bioinformatics" 0 19 (:parent #111))) #("and " 0 4 (:parent #107)) (link (:type "https" :path "//github.com/genenetwork/guix/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix/tree/gn-latest" :application nil :search-option nil :begin 2256 :end 2325 :contents-begin 2310 :contents-end 2323 :post-blank 0 :parent #107) #("GNU Guix main" 0 13 (:parent #113))) #(".\n" 0 2 (:parent #107))) (paragraph (:begin 2328 :end 2449 :contents-begin 2328 :contents-end 2449 :post-blank 0 :post-affiliated 2328 :mode nil :granularity nil :parent #102) #("For a full view of runtime dependencies as defined by GNU Guix, see\nthe " 0 72 (:parent #108)) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 2400 :end 2447 :contents-begin 2425 :contents-end 2445 :post-blank 0 :parent #108) #("GN2 Dependency Graph" 0 20 (:parent #112))) #(".\n" 0 2 (:parent #108))))) (headline (:raw-value "Quick installation recipe" :begin 2450 :end 7633 :pre-blank 1 :contents-begin 2479 :contents-end 7632 :robust-begin 2481 :robust-end 7630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 2450 :title (#("Quick installation recipe" 0 25 (:parent #100))) :mode nil :granularity nil :parent #94) (section (:begin 2479 :end 3022 :contents-begin 2479 :contents-end 3021 :robust-begin 2479 :robust-end 3019 :post-blank 1 :post-affiliated 2479 :mode section :granularity nil :parent #100) (paragraph (:begin 2479 :end 2880 :contents-begin 2479 :contents-end 2879 :post-blank 1 :post-affiliated 2479 :mode planning :granularity nil :parent #103) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS). For more elaborate installation\ninstructions see " 0 357 (:parent #106)) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 2836 :end 2877 :contents-begin 2858 :contents-end 2875 :post-blank 0 :parent #106) #("Source deployment" 0 17 (:parent #110))) #(".\n" 0 2 (:parent #106))) (paragraph (:begin 2880 :end 3021 :contents-begin 2880 :contents-end 3021 :post-blank 0 :post-affiliated 2880 :mode nil :granularity nil :parent #103) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #107)))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 3022 :end 4649 :pre-blank 1 :contents-begin 3051 :contents-end 4648 :robust-begin 3053 :robust-end 4646 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3022 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #104))) :mode nil :granularity nil :parent #100) (section (:begin 3051 :end 4649 :contents-begin 3051 :contents-end 4648 :robust-begin 3051 :robust-end 4646 :post-blank 1 :post-affiliated 3051 :mode section :granularity nil :parent #104) (paragraph (:begin 3051 :end 3504 :contents-begin 3051 :contents-end 3503 :post-blank 1 :post-affiliated 3051 :mode planning :granularity nil :parent #107) #("Fetch the GNU Guix binary from " 0 31 (:parent #110)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 3082 :end 3136 :contents-begin 3129 :contents-end 3133 :post-blank 1 :parent #110) #("here" 0 4 (:parent #114))) #("(middle panel) and follow\n" 0 26 (:parent #110)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 3162 :end 3255 :contents-begin 3241 :contents-end 3253 :post-blank 0 :parent #110) #("instructions" 0 12 (:parent #116))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #110))) (paragraph (:begin 3504 :end 3782 :contents-begin 3504 :contents-end 3781 :post-blank 1 :post-affiliated 3504 :mode nil :granularity nil :parent #107) #("Once you have succeeded, you have to " 0 37 (:parent #111)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 3541 :end 3631 :contents-begin 3617 :contents-end 3628 :post-blank 1 :parent #111) #("set the key" 0 11 (:parent #115))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #111))) (src-block (:language "bash" :switches nil :parameters nil :begin 3782 :end 3890 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 3782 :mode nil :granularity nil :parent #107)) (paragraph (:begin 3890 :end 3924 :contents-begin 3890 :contents-end 3923 :post-blank 1 :post-affiliated 3890 :mode nil :granularity nil :parent #107) #("Which should show something like\n" 0 33 (:parent #113))) (fixed-width (:begin 3924 :end 4034 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 3924 :mode nil :granularity nil :parent #107)) (paragraph (:begin 4034 :end 4045 :contents-begin 4034 :contents-end 4044 :post-blank 1 :post-affiliated 4034 :mode nil :granularity nil :parent #107) #("#+end" 0 5 (:parent #115)) (subscript (:begin 4039 :end 4043 :use-brackets-p nil :contents-begin 4040 :contents-end 4043 :post-blank 0 :parent #115) #("src" 0 3 (:parent #119))) #("\n" 0 1 (:parent #115))) (paragraph (:begin 4045 :end 4116 :contents-begin 4045 :contents-end 4115 :post-blank 1 :post-affiliated 4045 :mode nil :granularity nil :parent #107) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #116))) (src-block (:language "bash" :switches nil :parameters nil :begin 4116 :end 4188 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 4116 :mode nil :granularity nil :parent #107)) (paragraph (:begin 4188 :end 4375 :contents-begin 4188 :contents-end 4374 :post-blank 1 :post-affiliated 4188 :mode nil :granularity nil :parent #107) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #118))) (paragraph (:begin 4375 :end 4648 :contents-begin 4375 :contents-end 4648 :post-blank 0 :post-affiliated 4375 :mode nil :granularity nil :parent #107) #("If you need more help we have another writeup in " 0 49 (:parent #119)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 4424 :end 4520 :contents-begin 4508 :contents-end 4518 :post-blank 0 :parent #119) #("guix-notes" 0 10 (:parent #123))) #(". To get\nrid of the locale warning see " 0 39 (:parent #119)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 4559 :end 4646 :contents-begin 4634 :contents-end 4644 :post-blank 0 :parent #119) #("set-locale" 0 10 (:parent #125))) #(".\n" 0 2 (:parent #119))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 4649 :end 5304 :pre-blank 1 :contents-begin 4695 :contents-end 5302 :robust-begin 4697 :robust-end 5300 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4649 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #105))) :mode nil :granularity nil :parent #100) (section (:begin 4695 :end 5304 :contents-begin 4695 :contents-end 5302 :robust-begin 4695 :robust-end 5300 :post-blank 2 :post-affiliated 4695 :mode section :granularity nil :parent #105) (paragraph (:begin 4695 :end 4815 :contents-begin 4695 :contents-end 4814 :post-blank 1 :post-affiliated 4695 :mode planning :granularity nil :parent #108) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #111))) (src-block (:language "bash" :switches nil :parameters nil :begin 4815 :end 4920 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 4815 :mode nil :granularity nil :parent #108)) (paragraph (:begin 4920 :end 4971 :contents-begin 4920 :contents-end 4970 :post-blank 1 :post-affiliated 4920 :mode nil :granularity nil :parent #108) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #113))) (paragraph (:begin 4971 :end 5232 :contents-begin 4971 :contents-end 5231 :post-blank 1 :post-affiliated 4971 :mode nil :granularity nil :parent #108) #("#+begin" 0 7 (:parent #114)) (subscript (:begin 4978 :end 4983 :use-brackets-p nil :contents-begin 4979 :contents-end 4982 :post-blank 1 :parent #114) #("src" 0 3 (:parent #118))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #114)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 5055 :end 5105 :contents-begin nil :contents-end nil :post-blank 0 :parent #114)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #114)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 5147 :end 5183 :contents-begin nil :contents-end nil :post-blank 1 :parent #114)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #114)) (subscript (:begin 5221 :end 5226 :use-brackets-p nil :contents-begin 5222 :contents-end 5225 :post-blank 1 :parent #114) #("src" 0 3 (:parent #124))) #("bash\n" 0 5 (:parent #114))) (paragraph (:begin 5232 :end 5270 :contents-begin 5232 :contents-end 5269 :post-blank 1 :post-affiliated 5232 :mode nil :granularity nil :parent #108) #("To test whether this is working try:\n" 0 37 (:parent #115))) (paragraph (:begin 5270 :end 5302 :contents-begin 5270 :contents-end 5302 :post-blank 0 :post-affiliated 5270 :mode nil :granularity nil :parent #108) #("#+begin" 0 7 (:parent #116)) (subscript (:begin 5277 :end 5282 :use-brackets-p nil :contents-begin 5278 :contents-end 5281 :post-blank 1 :parent #116) #("src" 0 3 (:parent #120))) #("bash\n#+end" 0 10 (:parent #116)) (subscript (:begin 5292 :end 5297 :use-brackets-p nil :contents-begin 5293 :contents-end 5296 :post-blank 1 :parent #116) #("src" 0 3 (:parent #122))) #("bash\n" 0 5 (:parent #116))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 5304 :end 5755 :pre-blank 1 :contents-begin 5345 :contents-end 5754 :robust-begin 5347 :robust-end 5752 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5304 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #106))) :mode nil :granularity nil :parent #100) (section (:begin 5345 :end 5755 :contents-begin 5345 :contents-end 5754 :robust-begin 5345 :robust-end 5752 :post-blank 1 :post-affiliated 5345 :mode section :granularity nil :parent #106) (paragraph (:begin 5345 :end 5445 :contents-begin 5345 :contents-end 5444 :post-blank 1 :post-affiliated 5345 :mode planning :granularity nil :parent #109) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #112))) (src-block (:language "scheme" :switches nil :parameters nil :begin 5445 :end 5589 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 5445 :mode nil :granularity nil :parent #109)) (paragraph (:begin 5589 :end 5621 :contents-begin 5589 :contents-end 5620 :post-blank 1 :post-affiliated 5589 :mode nil :granularity nil :parent #109) #("by pasting it into the command\n" 0 31 (:parent #114))) (src-block (:language "bash" :switches nil :parameters nil :begin 5621 :end 5674 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 5621 :mode nil :granularity nil :parent #109)) (paragraph (:begin 5674 :end 5691 :contents-begin 5674 :contents-end 5690 :post-blank 1 :post-affiliated 5674 :mode nil :granularity nil :parent #109) #("and hit Ctrl-D.\n" 0 16 (:parent #116))) (paragraph (:begin 5691 :end 5754 :contents-begin 5691 :contents-end 5754 :post-blank 0 :post-affiliated 5691 :mode nil :granularity nil :parent #109) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #117))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 5755 :end 7633 :pre-blank 1 :contents-begin 5787 :contents-end 7632 :robust-begin 5789 :robust-end 7630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5755 :title (#("Step 4: Install and run GN2" 0 27 (:parent #107))) :mode nil :granularity nil :parent #100) (section (:begin 5787 :end 7633 :contents-begin 5787 :contents-end 7632 :robust-begin 5787 :robust-end 7630 :post-blank 1 :post-affiliated 5787 :mode section :granularity nil :parent #107) (paragraph (:begin 5787 :end 5927 :contents-begin 5787 :contents-end 5926 :post-blank 1 :post-affiliated 5787 :mode planning :granularity nil :parent #110) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #113))) (src-block (:language "bash" :switches nil :parameters nil :begin 5927 :end 6046 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 5927 :mode nil :granularity nil :parent #110)) (paragraph (:begin 6046 :end 6099 :contents-begin 6046 :contents-end 6098 :post-blank 1 :post-affiliated 6046 :mode nil :granularity nil :parent #110) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #115))) (src-block (:language "bash" :switches nil :parameters nil :begin 6099 :end 6289 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 6099 :mode nil :granularity nil :parent #110)) (paragraph (:begin 6289 :end 6398 :contents-begin 6289 :contents-end 6397 :post-blank 1 :post-affiliated 6289 :mode nil :granularity nil :parent #110) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #117)) (italic (:begin 6360 :end 6366 :post-blank 0 :contents-begin 6361 :contents-end 6365 :parent #117) #("root" 0 4 (:parent #121))) #(".config/guix/latest override).\n" 0 31 (:parent #117))) (paragraph (:begin 6398 :end 6416 :contents-begin 6398 :contents-end 6415 :post-blank 1 :post-affiliated 6398 :mode nil :granularity nil :parent #110) #("And install with\n" 0 17 (:parent #118))) (src-block (:language "bash" :switches nil :parameters nil :begin 6416 :end 6586 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 6416 :mode nil :granularity nil :parent #110)) (paragraph (:begin 6586 :end 6729 :contents-begin 6586 :contents-end 6728 :post-blank 1 :post-affiliated 6586 :mode nil :granularity nil :parent #110) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #120))) (paragraph (:begin 6729 :end 6925 :contents-begin 6729 :contents-end 6924 :post-blank 1 :post-affiliated 6729 :mode nil :granularity nil :parent #110) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #121))) (paragraph (:begin 6925 :end 7056 :contents-begin 6925 :contents-end 7055 :post-blank 1 :post-affiliated 6925 :mode nil :granularity nil :parent #110) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #122))) (src-block (:language "bash" :switches nil :parameters nil :begin 7056 :end 7235 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python2.7/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 7056 :mode nil :granularity nil :parent #110)) (paragraph (:begin 7235 :end 7304 :contents-begin 7235 :contents-end 7303 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #110) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #124))) (src-block (:language "bash" :switches nil :parameters nil :begin 7304 :end 7345 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 7304 :mode nil :granularity nil :parent #110)) (paragraph (:begin 7345 :end 7596 :contents-begin 7345 :contents-end 7595 :post-blank 1 :post-affiliated 7345 :mode nil :granularity nil :parent #110) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #126)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 7567 :end 7593 :contents-begin nil :contents-end nil :post-blank 0 :parent #126)) #(".\n" 0 2 (:parent #126))) (paragraph (:begin 7596 :end 7632 :contents-begin 7596 :contents-end 7632 :post-blank 0 :post-affiliated 7596 :mode nil :granularity nil :parent #110) #("End of the GN2 installation recipe!\n" 0 36 (:parent #127)))))) (headline (:raw-value "Run MySQL server" :begin 7633 :end 9008 :pre-blank 1 :contents-begin 7653 :contents-end 9007 :robust-begin 7655 :robust-end 9005 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7633 :title (#("Run MySQL server" 0 16 (:parent #101))) :mode nil :granularity nil :parent #94) (section (:begin 7653 :end 9008 :contents-begin 7653 :contents-end 9007 :robust-begin 7653 :robust-end 9005 :post-blank 1 :post-affiliated 7653 :mode section :granularity nil :parent #101) (paragraph (:begin 7653 :end 7928 :contents-begin 7653 :contents-end 7927 :post-blank 1 :post-affiliated 7653 :mode planning :granularity nil :parent #104) #("At this point we require the underlying distribution to install and\nrun mysqld. Currently we have two databases for deployment,\n'db" 0 131 (:parent #107)) (subscript (:begin 7784 :end 7791 :use-brackets-p nil :contents-begin 7785 :contents-end 7791 :post-blank 0 :parent #107) #("webqtl" 0 6 (:parent #111))) (subscript (:begin 7791 :end 7793 :use-brackets-p nil :contents-begin 7792 :contents-end 7793 :post-blank 0 :parent #107) #("s" 0 1 (:parent #112))) #("' is the small testing database containing experiments\nfrom BXD mice and 'db" 0 76 (:parent #107)) (subscript (:begin 7869 :end 7876 :use-brackets-p nil :contents-begin 7870 :contents-end 7876 :post-blank 0 :parent #107) #("webqtl" 0 6 (:parent #114))) (subscript (:begin 7876 :end 7882 :use-brackets-p nil :contents-begin 7877 :contents-end 7882 :post-blank 0 :parent #107) #("plant" 0 5 (:parent #115))) #("' which contains all plant related\nmaterial.\n" 0 45 (:parent #107))) (paragraph (:begin 7928 :end 7956 :contents-begin 7928 :contents-end 7955 :post-blank 1 :post-affiliated 7928 :mode nil :granularity nil :parent #104) #("Download one database from\n" 0 27 (:parent #108))) (paragraph (:begin 7956 :end 8054 :contents-begin 7956 :contents-end 8053 :post-blank 1 :post-affiliated 7956 :mode nil :granularity nil :parent #104) (link (:type "http" :path "//files.genenetwork.org/raw_database/" :format plain :raw-link "http://files.genenetwork.org/raw_database/" :application nil :search-option nil :begin 7956 :end 7998 :contents-begin nil :contents-end nil :post-blank 0 :parent #109)) #("\n" 0 1 (:parent #109)) (link (:type "https" :path "//s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :format plain :raw-link "https://s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :application nil :search-option nil :begin 7999 :end 8052 :contents-begin nil :contents-end nil :post-blank 0 :parent #109)) #("\n" 0 1 (:parent #109))) (paragraph (:begin 8054 :end 8073 :contents-begin 8054 :contents-end 8072 :post-blank 1 :post-affiliated 8054 :mode nil :granularity nil :parent #104) #("Check the md5sum.\n" 0 18 (:parent #110))) (paragraph (:begin 8073 :end 8195 :contents-begin 8073 :contents-end 8194 :post-blank 1 :post-affiliated 8073 :mode nil :granularity nil :parent #104) #("After installation inflate the database binary in the MySQL directory\n(this installation path is subject to change soon)\n" 0 121 (:parent #111))) (fixed-width (:begin 8195 :end 8283 :value "chown -R mysql:mysql db_webqtl_s/\nchmod 700 db_webqtl_s/\nchmod 660 db_webqtl_s/*" :post-blank 2 :post-affiliated 8195 :mode nil :granularity nil :parent #104)) (paragraph (:begin 8283 :end 8334 :contents-begin 8283 :contents-end 8333 :post-blank 1 :post-affiliated 8283 :mode nil :granularity nil :parent #104) #("restart MySQL service (mysqld). Login as root and\n" 0 50 (:parent #113))) (fixed-width (:begin 8334 :end 8560 :value "mysql> show databases;\n+--------------------+\n| Database |\n+--------------------+\n| information_schema |\n| db_webqtl_s |\n| mysql |\n| performance_schema |\n+--------------------+" :post-blank 2 :post-affiliated 8334 :mode nil :granularity nil :parent #104)) (paragraph (:begin 8560 :end 8625 :contents-begin 8560 :contents-end 8624 :post-blank 1 :post-affiliated 8560 :mode nil :granularity nil :parent #104) #("Set permissions and match password in your settings file below:\n" 0 64 (:parent #115))) (fixed-width (:begin 8625 :end 8724 :value "mysql> grant all privileges on db_webqtl_s.* to gn2@\"localhost\" identified by 'mysql_password';" :post-blank 2 :post-affiliated 8625 :mode nil :granularity nil :parent #104)) (paragraph (:begin 8724 :end 8875 :contents-begin 8724 :contents-end 8874 :post-blank 1 :post-affiliated 8724 :mode nil :granularity nil :parent #104) #("Note that if the mysql connection is not working, try connecting to\nthe IP address and check server firewall, hosts.allow and mysql IP\nconfiguration.\n" 0 150 (:parent #117))) (paragraph (:begin 8875 :end 9007 :contents-begin 8875 :contents-end 9007 :post-blank 0 :post-affiliated 8875 :mode nil :granularity nil :parent #104) #("Note for the plant database you can rename it to db" 0 51 (:parent #118)) (subscript (:begin 8926 :end 8933 :use-brackets-p nil :contents-begin 8927 :contents-end 8933 :post-blank 0 :parent #118) #("webqtl" 0 6 (:parent #122))) (subscript (:begin 8933 :end 8935 :use-brackets-p nil :contents-begin 8934 :contents-end 8935 :post-blank 0 :parent #118) #("s" 0 1 (:parent #123))) #(", or\nchange the settings in etc/default" 0 39 (:parent #118)) (subscript (:begin 8974 :end 8987 :use-brackets-p nil :contents-begin 8975 :contents-end 8986 :post-blank 1 :parent #118) #("settings.py" 0 11 (:parent #125))) #("to match your path.\n" 0 20 (:parent #118))))) (headline (:raw-value "GN2 Dependency Graph" :begin 9008 :end 9172 :pre-blank 1 :contents-begin 9032 :contents-end 9171 :robust-begin 9034 :robust-end 9169 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9008 :title (#("GN2 Dependency Graph" 0 20 (:parent #102))) :mode nil :granularity nil :parent #94) (section (:begin 9032 :end 9172 :contents-begin 9032 :contents-end 9171 :robust-begin 9032 :robust-end 9169 :post-blank 1 :post-affiliated 9032 :mode section :granularity nil :parent #102) (paragraph (:begin 9032 :end 9093 :contents-begin 9032 :contents-end 9092 :post-blank 1 :post-affiliated 9032 :mode planning :granularity nil :parent #105) #("Graph of all runtime dependencies as installed by GNU Guix.\n" 0 60 (:parent #108))) (paragraph (:begin 9093 :end 9171 :contents-begin 9123 :contents-end 9171 :post-blank 0 :post-affiliated 9123 :attr_html (":title GN2_graph") :mode nil :granularity nil :parent #105) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg" :format plain :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg" :application nil :search-option nil :begin 9123 :end 9170 :contents-begin nil :contents-end nil :post-blank 0 :parent #109)) #("\n" 0 1 (:parent #109))))) (headline (:raw-value "Source deployment" :begin 9172 :end 12840 :pre-blank 1 :contents-begin 9193 :contents-end 12839 :robust-begin 9195 :robust-end 12837 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9172 :title (#("Source deployment" 0 17 (:parent #103))) :mode nil :granularity nil :parent #94) (section (:begin 9193 :end 9612 :contents-begin 9193 :contents-end 9610 :robust-begin 9193 :robust-end 9608 :post-blank 2 :post-affiliated 9193 :mode section :granularity nil :parent #103) (paragraph (:begin 9193 :end 9274 :contents-begin 9193 :contents-end 9273 :post-blank 1 :post-affiliated 9193 :mode planning :granularity nil :parent #106) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #109))) (paragraph (:begin 9274 :end 9304 :contents-begin 9274 :contents-end 9303 :post-blank 1 :post-affiliated 9274 :mode nil :granularity nil :parent #106) #("First execute above 4 steps:\n" 0 29 (:parent #110))) (plain-list (:type unordered :begin 9304 :end 9610 :contents-begin 9304 :contents-end 9610 :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :post-blank 0 :post-affiliated 9304 :mode nil :granularity nil :parent #106) (item (:bullet "- " :begin 9304 :end 9364 :contents-begin 9309 :contents-end 9364 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9304 :tag nil :mode item :granularity nil :parent #111) (paragraph (:begin 9309 :end 9364 :contents-begin 9309 :contents-end 9364 :post-blank 0 :post-affiliated 9309 :mode nil :granularity nil :parent #114) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 9309 :end 9363 :contents-begin 9337 :contents-end 9361 :post-blank 0 :parent #117) #("Step 1: Install GNU Guix" 0 24 (:parent #120))) #("\n" 0 1 (:parent #117)))) (item (:bullet "- " :begin 9364 :end 9458 :contents-begin 9369 :contents-end 9458 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9364 :tag nil :mode item :granularity nil :parent #111) (paragraph (:begin 9369 :end 9458 :contents-begin 9369 :contents-end 9458 :post-blank 0 :post-affiliated 9369 :mode nil :granularity nil :parent #115) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 9369 :end 9457 :contents-begin 9414 :contents-end 9455 :post-blank 0 :parent #118) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #121))) #("\n" 0 1 (:parent #118)))) (item (:bullet "- " :begin 9458 :end 9542 :contents-begin 9463 :contents-end 9542 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9458 :tag nil :mode item :granularity nil :parent #111) (paragraph (:begin 9463 :end 9542 :contents-begin 9463 :contents-end 9542 :post-blank 0 :post-affiliated 9463 :mode nil :granularity nil :parent #116) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 9463 :end 9541 :contents-begin 9503 :contents-end 9539 :post-blank 0 :parent #119) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #122))) #("\n" 0 1 (:parent #119)))) (item (:bullet "- " :begin 9542 :end 9610 :contents-begin 9547 :contents-end 9610 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9542 :tag nil :mode item :granularity nil :parent #111) (paragraph (:begin 9547 :end 9610 :contents-begin 9547 :contents-end 9610 :post-blank 0 :post-affiliated 9547 :mode nil :granularity nil :parent #117) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 9547 :end 9609 :contents-begin 9579 :contents-end 9607 :post-blank 0 :parent #120) #("Step 4: Install and run GN2 " 0 28 (:parent #123))) #("\n" 0 1 (:parent #120)))))) (headline (:raw-value "Run your own copy of GN2" :begin 9612 :end 10722 :pre-blank 1 :contents-begin 9641 :contents-end 10721 :robust-begin 9643 :robust-end 10719 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9612 :title (#("Run your own copy of GN2" 0 24 (:parent #107))) :mode nil :granularity nil :parent #103) (section (:begin 9641 :end 10722 :contents-begin 9641 :contents-end 10721 :robust-begin 9641 :robust-end 10719 :post-blank 1 :post-affiliated 9641 :mode section :granularity nil :parent #107) (paragraph (:begin 9641 :end 9839 :contents-begin 9641 :contents-end 9838 :post-blank 1 :post-affiliated 9641 :mode planning :granularity nil :parent #110) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #113)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 9793 :end 9836 :contents-begin nil :contents-end nil :post-blank 0 :parent #113)) #(".\n" 0 2 (:parent #113))) (paragraph (:begin 9839 :end 9964 :contents-begin 9839 :contents-end 9963 :post-blank 1 :post-affiliated 9839 :mode nil :granularity nil :parent #110) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #114)) (subscript (:begin 9896 :end 9902 :use-brackets-p nil :contents-begin 9897 :contents-end 9901 :post-blank 1 :parent #114) #("PATH" 0 4 (:parent #118))) #("and\nR" 0 5 (:parent #114)) (subscript (:begin 9907 :end 9912 :use-brackets-p nil :contents-begin 9908 :contents-end 9912 :post-blank 0 :parent #114) #("LIBS" 0 4 (:parent #120))) (subscript (:begin 9912 :end 9918 :use-brackets-p nil :contents-begin 9913 :contents-end 9917 :post-blank 1 :parent #114) #("SITE" 0 4 (:parent #121))) #("are set) from the information given by guix:\n" 0 45 (:parent #114))) (fixed-width (:begin 9964 :end 9995 :value "guix package --search-paths" :post-blank 2 :post-affiliated 9964 :mode nil :granularity nil :parent #110)) (paragraph (:begin 9995 :end 10019 :contents-begin 9995 :contents-end 10018 :post-blank 1 :post-affiliated 9995 :mode nil :granularity nil :parent #110) #("Inside the repository:\n" 0 23 (:parent #116))) (fixed-width (:begin 10019 :end 10059 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 10019 :mode nil :granularity nil :parent #110)) (paragraph (:begin 10059 :end 10303 :contents-begin 10059 :contents-end 10302 :post-blank 1 :post-affiliated 10059 :mode nil :granularity nil :parent #110) #("Will fire up your local repo " 0 29 (:parent #118)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 10088 :end 10111 :contents-begin nil :contents-end nil :post-blank 1 :parent #118)) #("using the\nsettings in ./etc/default" 0 35 (:parent #118)) (subscript (:begin 10146 :end 10158 :use-brackets-p nil :contents-begin 10147 :contents-end 10158 :post-blank 0 :parent #118) #("settings.py" 0 11 (:parent #124))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #118)) (subscript (:begin 10263 :end 10276 :use-brackets-p nil :contents-begin 10264 :contents-end 10275 :post-blank 1 :parent #118) #("settings.py" 0 11 (:parent #126))) #("and pass it into GN2 with\n" 0 26 (:parent #118))) (fixed-width (:begin 10303 :end 10346 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 10303 :mode nil :granularity nil :parent #110)) (paragraph (:begin 10346 :end 10492 :contents-begin 10346 :contents-end 10491 :post-blank 1 :post-affiliated 10346 :mode nil :granularity nil :parent #110) #("and everything " 0 15 (:parent #120)) (bold (:begin 10361 :end 10370 :post-blank 1 :contents-begin 10362 :contents-end 10368 :parent #120) #("should" 0 6 (:parent #124))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #120))) (paragraph (:begin 10492 :end 10620 :contents-begin 10492 :contents-end 10619 :post-blank 1 :post-affiliated 10492 :mode nil :granularity nil :parent #110) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #121))) (fixed-width (:begin 10620 :end 10721 :value "cat ~/.guix-profile/lib/python2.7/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 10620 :mode nil :granularity nil :parent #110)))) (headline (:raw-value "Set up nginx port forwarding" :begin 10722 :end 12840 :pre-blank 1 :contents-begin 10755 :contents-end 12839 :robust-begin 10757 :robust-end 12837 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 10722 :title (#("Set up nginx port forwarding" 0 28 (:parent #108))) :mode nil :granularity nil :parent #103) (section (:begin 10755 :end 12840 :contents-begin 10755 :contents-end 12839 :robust-begin 10755 :robust-end 12837 :post-blank 1 :post-affiliated 10755 :mode section :granularity nil :parent #108) (paragraph (:begin 10755 :end 10923 :contents-begin 10755 :contents-end 10922 :post-blank 1 :post-affiliated 10755 :mode planning :granularity nil :parent #111) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #114))) (paragraph (:begin 10923 :end 11063 :contents-begin 10923 :contents-end 11062 :post-blank 1 :post-affiliated 10923 :mode nil :granularity nil :parent #111) #("#+begin" 0 7 (:parent #115)) (subscript (:begin 10930 :end 10935 :use-brackets-p nil :contents-begin 10931 :contents-end 10934 :post-blank 1 :parent #115) #("src" 0 3 (:parent #119))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #115)) (subscript (:begin 10984 :end 10990 :use-brackets-p nil :contents-begin 10985 :contents-end 10989 :post-blank 1 :parent #115) #("name" 0 4 (:parent #121))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #115)) (subscript (:begin 11030 :end 11036 :use-brackets-p nil :contents-begin 11031 :contents-end 11034 :post-blank 2 :parent #115) #("log" 0 3 (:parent #123))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #115))) (paragraph (:begin 11063 :end 11232 :contents-begin 11063 :contents-end 11231 :post-blank 1 :post-affiliated 11063 :mode nil :granularity nil :parent #111) #(" proxy" 0 13 (:parent #116)) (subscript (:begin 11076 :end 11084 :use-brackets-p nil :contents-begin 11077 :contents-end 11084 :post-blank 0 :parent #116) #("connect" 0 7 (:parent #120))) (subscript (:begin 11084 :end 11099 :use-brackets-p nil :contents-begin 11085 :contents-end 11092 :post-blank 7 :parent #116) #("timeout" 0 7 (:parent #121))) #("3000;\n proxy" 0 19 (:parent #116)) (subscript (:begin 11118 :end 11123 :use-brackets-p nil :contents-begin 11119 :contents-end 11123 :post-blank 0 :parent #116) #("send" 0 4 (:parent #123))) (subscript (:begin 11123 :end 11141 :use-brackets-p nil :contents-begin 11124 :contents-end 11131 :post-blank 10 :parent #116) #("timeout" 0 7 (:parent #124))) #("3000;\n proxy" 0 19 (:parent #116)) (subscript (:begin 11160 :end 11165 :use-brackets-p nil :contents-begin 11161 :contents-end 11165 :post-blank 0 :parent #116) #("read" 0 4 (:parent #126))) (subscript (:begin 11165 :end 11183 :use-brackets-p nil :contents-begin 11166 :contents-end 11173 :post-blank 10 :parent #116) #("timeout" 0 7 (:parent #127))) #("3000;\n send" 0 18 (:parent #116)) (subscript (:begin 11201 :end 11225 :use-brackets-p nil :contents-begin 11202 :contents-end 11209 :post-blank 16 :parent #116) #("timeout" 0 7 (:parent #129))) #("3000;\n" 0 6 (:parent #116))) (paragraph (:begin 11232 :end 11632 :contents-begin 11232 :contents-end 11631 :post-blank 1 :post-affiliated 11232 :mode nil :granularity nil :parent #111) #(" location / {\n proxy" 0 38 (:parent #117)) (subscript (:begin 11270 :end 11274 :use-brackets-p nil :contents-begin 11271 :contents-end 11274 :post-blank 0 :parent #117) #("set" 0 3 (:parent #121))) (subscript (:begin 11274 :end 11284 :use-brackets-p nil :contents-begin 11275 :contents-end 11281 :post-blank 3 :parent #117) #("header" 0 6 (:parent #122))) #("Host $http" 0 15 (:parent #117)) (subscript (:begin 11299 :end 11304 :use-brackets-p nil :contents-begin 11300 :contents-end 11304 :post-blank 0 :parent #117) #("host" 0 4 (:parent #124))) #(";\n proxy" 0 19 (:parent #117)) (subscript (:begin 11323 :end 11327 :use-brackets-p nil :contents-begin 11324 :contents-end 11327 :post-blank 0 :parent #117) #("set" 0 3 (:parent #126))) (subscript (:begin 11327 :end 11337 :use-brackets-p nil :contents-begin 11328 :contents-end 11334 :post-blank 3 :parent #117) #("header" 0 6 (:parent #127))) #("Connection keep-alive;\n proxy" 0 40 (:parent #117)) (subscript (:begin 11377 :end 11381 :use-brackets-p nil :contents-begin 11378 :contents-end 11381 :post-blank 0 :parent #117) #("set" 0 3 (:parent #129))) (subscript (:begin 11381 :end 11391 :use-brackets-p nil :contents-begin 11382 :contents-end 11388 :post-blank 3 :parent #117) #("header" 0 6 (:parent #130))) #("X-Real-IP $remote" 0 17 (:parent #117)) (subscript (:begin 11408 :end 11413 :use-brackets-p nil :contents-begin 11409 :contents-end 11413 :post-blank 0 :parent #117) #("addr" 0 4 (:parent #132))) #(";\n proxy" 0 19 (:parent #117)) (subscript (:begin 11432 :end 11436 :use-brackets-p nil :contents-begin 11433 :contents-end 11436 :post-blank 0 :parent #117) #("set" 0 3 (:parent #134))) (subscript (:begin 11436 :end 11446 :use-brackets-p nil :contents-begin 11437 :contents-end 11443 :post-blank 3 :parent #117) #("header" 0 6 (:parent #135))) #("X-Forwarded-For $proxy" 0 22 (:parent #117)) (subscript (:begin 11468 :end 11472 :use-brackets-p nil :contents-begin 11469 :contents-end 11472 :post-blank 0 :parent #117) #("add" 0 3 (:parent #137))) (subscript (:begin 11472 :end 11474 :use-brackets-p nil :contents-begin 11473 :contents-end 11474 :post-blank 0 :parent #117) #("x" 0 1 (:parent #138))) (subscript (:begin 11474 :end 11484 :use-brackets-p nil :contents-begin 11475 :contents-end 11484 :post-blank 0 :parent #117) #("forwarded" 0 9 (:parent #139))) (subscript (:begin 11484 :end 11488 :use-brackets-p nil :contents-begin 11485 :contents-end 11488 :post-blank 0 :parent #117) #("for" 0 3 (:parent #140))) #(";\n proxy" 0 19 (:parent #117)) (subscript (:begin 11507 :end 11511 :use-brackets-p nil :contents-begin 11508 :contents-end 11511 :post-blank 0 :parent #117) #("set" 0 3 (:parent #142))) (subscript (:begin 11511 :end 11521 :use-brackets-p nil :contents-begin 11512 :contents-end 11518 :post-blank 3 :parent #117) #("header" 0 6 (:parent #143))) #("X-Forwarded-Host $server" 0 24 (:parent #117)) (subscript (:begin 11545 :end 11550 :use-brackets-p nil :contents-begin 11546 :contents-end 11550 :post-blank 0 :parent #117) #("name" 0 4 (:parent #145))) #(";\n proxy" 0 19 (:parent #117)) (subscript (:begin 11569 :end 11583 :use-brackets-p nil :contents-begin 11570 :contents-end 11574 :post-blank 9 :parent #117) #("pass" 0 4 (:parent #147))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 11583 :end 11604 :contents-begin nil :contents-end nil :post-blank 0 :parent #117)) #(";\n }\n}\n#+end" 0 19 (:parent #117)) (subscript (:begin 11623 :end 11628 :use-brackets-p nil :contents-begin 11624 :contents-end 11627 :post-blank 1 :parent #117) #("src" 0 3 (:parent #150))) #("js\n" 0 3 (:parent #117))) (paragraph (:begin 11632 :end 11671 :contents-begin 11632 :contents-end 11670 :post-blank 1 :post-affiliated 11632 :mode nil :granularity nil :parent #111) #("Install the nginx webserver (as root)\n" 0 38 (:parent #118))) (fixed-width (:begin 11671 :end 11696 :value "guix package -i nginx" :post-blank 2 :post-affiliated 11671 :mode nil :granularity nil :parent #111)) (paragraph (:begin 11696 :end 11777 :contents-begin 11696 :contents-end 11776 :post-blank 1 :post-affiliated 11696 :mode nil :granularity nil :parent #111) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #120))) (fixed-width (:begin 11777 :end 11964 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 11777 :mode nil :granularity nil :parent #111)) (paragraph (:begin 11964 :end 11979 :contents-begin 11964 :contents-end 11978 :post-blank 1 :post-affiliated 11964 :mode nil :granularity nil :parent #111) #("Use that path\n" 0 14 (:parent #122))) (fixed-width (:begin 11979 :end 12373 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 11979 :mode nil :granularity nil :parent #111)) (paragraph (:begin 12373 :end 12599 :contents-begin 12373 :contents-end 12599 :post-blank 0 :post-affiliated 12373 :mode nil :granularity nil :parent #111) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #124))) (fixed-width (:begin 12599 :end 12646 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 12599 :mode nil :granularity nil :parent #111)) (paragraph (:begin 12646 :end 12657 :contents-begin 12646 :contents-end 12656 :post-blank 1 :post-affiliated 12646 :mode nil :granularity nil :parent #111) #("Make dirs\n" 0 10 (:parent #126))) (fixed-width (:begin 12657 :end 12691 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 12657 :mode nil :granularity nil :parent #111)) (paragraph (:begin 12691 :end 12702 :contents-begin 12691 :contents-end 12701 :post-blank 1 :post-affiliated 12691 :mode nil :granularity nil :parent #111) #("Add users\n" 0 10 (:parent #128))) (fixed-width (:begin 12702 :end 12738 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 12702 :mode nil :granularity nil :parent #111)) (paragraph (:begin 12738 :end 12749 :contents-begin 12738 :contents-end 12748 :post-blank 1 :post-affiliated 12738 :mode nil :granularity nil :parent #111) #("Run nginx\n" 0 10 (:parent #130))) (fixed-width (:begin 12749 :end 12839 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 12749 :mode nil :granularity nil :parent #111))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 12840 :end 13801 :pre-blank 1 :contents-begin 12902 :contents-end 13801 :robust-begin 12904 :robust-end 13799 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12840 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #104))) :mode nil :granularity nil :parent #94) (section (:begin 12902 :end 12959 :contents-begin 12902 :contents-end 12958 :robust-begin 12902 :robust-end 12956 :post-blank 1 :post-affiliated 12902 :mode section :granularity nil :parent #104) (paragraph (:begin 12902 :end 12958 :contents-begin 12902 :contents-end 12958 :post-blank 0 :post-affiliated 12902 :mode planning :granularity nil :parent #107) #("See the document " 0 17 (:parent #110)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 12919 :end 12956 :contents-begin nil :contents-end nil :post-blank 0 :parent #110)) #(".\n" 0 2 (:parent #110)))) (headline (:raw-value "Update to recent guix" :begin 12959 :end 13409 :pre-blank 1 :contents-begin 12985 :contents-end 13408 :robust-begin 12987 :robust-end 13406 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12959 :title (#("Update to recent guix" 0 21 (:parent #108))) :mode nil :granularity nil :parent #104) (section (:begin 12985 :end 13409 :contents-begin 12985 :contents-end 13408 :robust-begin 12985 :robust-end 13406 :post-blank 1 :post-affiliated 12985 :mode section :granularity nil :parent #108) (paragraph (:begin 12985 :end 13020 :contents-begin 12985 :contents-end 13019 :post-blank 1 :post-affiliated 12985 :mode planning :granularity nil :parent #111) #("We now compile Guix from scratch.\n" 0 34 (:parent #114))) (paragraph (:begin 13020 :end 13295 :contents-begin 13020 :contents-end 13294 :post-blank 1 :post-affiliated 13020 :mode nil :granularity nil :parent #111) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #115)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 13159 :end 13272 :contents-begin 13264 :contents-end 13269 :post-blank 1 :parent #115) #("these" 0 5 (:parent #119))) #("steps carefully after\n" 0 22 (:parent #115))) (fixed-width (:begin 13295 :end 13330 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 13295 :mode nil :granularity nil :parent #111)) (paragraph (:begin 13330 :end 13408 :contents-begin 13330 :contents-end 13408 :post-blank 0 :post-affiliated 13330 :mode nil :granularity nil :parent #111) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #117))))) (headline (:raw-value "Install GN2" :begin 13409 :end 13801 :pre-blank 1 :contents-begin 13425 :contents-end 13801 :robust-begin 13427 :robust-end 13799 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 13409 :title (#("Install GN2" 0 11 (:parent #109))) :mode nil :granularity nil :parent #104) (section (:begin 13425 :end 13801 :contents-begin 13425 :contents-end 13801 :robust-begin 13425 :robust-end 13799 :post-blank 0 :post-affiliated 13425 :mode section :granularity nil :parent #109) (paragraph (:begin 13425 :end 13468 :contents-begin 13425 :contents-end 13467 :post-blank 1 :post-affiliated 13425 :mode planning :granularity nil :parent #112) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #115))) (paragraph (:begin 13468 :end 13676 :contents-begin 13468 :contents-end 13675 :post-blank 1 :post-affiliated 13468 :mode nil :granularity nil :parent #112) #("#+begin" 0 7 (:parent #116)) (subscript (:begin 13475 :end 13480 :use-brackets-p nil :contents-begin 13476 :contents-end 13479 :post-blank 1 :parent #116) #("src" 0 3 (:parent #120))) #("bash\nenv GUIX" 0 13 (:parent #116)) (subscript (:begin 13493 :end 13501 :use-brackets-p nil :contents-begin 13494 :contents-end 13501 :post-blank 0 :parent #116) #("PACKAGE" 0 7 (:parent #122))) (subscript (:begin 13501 :end 13506 :use-brackets-p nil :contents-begin 13502 :contents-end 13506 :post-blank 0 :parent #116) #("PATH" 0 4 (:parent #123))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #116)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 13605 :end 13633 :contents-begin nil :contents-end nil :post-blank 1 :parent #116)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 13633 :end 13658 :contents-begin nil :contents-end nil :post-blank 0 :parent #116)) #("\"\n#+end" 0 7 (:parent #116)) (subscript (:begin 13665 :end 13670 :use-brackets-p nil :contents-begin 13666 :contents-end 13669 :post-blank 1 :parent #116) #("src" 0 3 (:parent #128))) #("bash\n" 0 5 (:parent #116))) (paragraph (:begin 13676 :end 13714 :contents-begin 13676 :contents-end 13713 :post-blank 1 :post-affiliated 13676 :mode nil :granularity nil :parent #112) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #117))) (paragraph (:begin 13714 :end 13801 :contents-begin 13714 :contents-end 13801 :post-blank 0 :post-affiliated 13714 :mode nil :granularity nil :parent #112) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #118)))))))) #24)) #0)) (item (:bullet "- " :begin 121 :end 156 :contents-begin 124 :contents-end 156 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 121 :tag nil :mode item :granularity nil :parent #0) (paragraph (:begin 124 :end 156 :contents-begin 124 :contents-end 156 :post-blank 0 :post-affiliated 124 :mode nil :granularity nil :parent #3) (link (:type "custom-id" :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil :begin 124 :end 155 :contents-begin 141 :contents-end 153 :post-blank 0 :parent #6) #("Introduction" 0 12 (:parent #9))) #("\n" 0 1 (:parent #6)))) (item (:bullet "- " :begin 156 :end 521 :contents-begin 159 :contents-end 521 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 156 :tag nil :mode item :granularity nil :parent #0) (paragraph (:begin 159 :end 217 :contents-begin 159 :contents-end 217 :post-blank 0 :post-affiliated 159 :mode nil :granularity nil :parent #4) (link (:type "custom-id" :path "quick-installation-recipe" :format bracket :raw-link "#quick-installation-recipe" :application nil :search-option nil :begin 159 :end 216 :contents-begin 189 :contents-end 214 :post-blank 0 :parent #7) #("Quick installation recipe" 0 25 (:parent #10))) #("\n" 0 1 (:parent #7))) (plain-list (:type unordered :begin 217 :end 521 :contents-begin 217 :contents-end 521 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 217 :mode nil :granularity nil :parent #4) (item (:bullet "- " :begin 217 :end 277 :contents-begin 222 :contents-end 277 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 217 :tag nil :mode item :granularity nil :parent #8) (paragraph (:begin 222 :end 277 :contents-begin 222 :contents-end 277 :post-blank 0 :post-affiliated 222 :mode nil :granularity nil :parent #11) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 222 :end 276 :contents-begin 250 :contents-end 274 :post-blank 0 :parent #14) #("Step 1: Install GNU Guix" 0 24 (:parent #17))) #("\n" 0 1 (:parent #14)))) (item (:bullet "- " :begin 277 :end 371 :contents-begin 282 :contents-end 371 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 277 :tag nil :mode item :granularity nil :parent #8) (paragraph (:begin 282 :end 371 :contents-begin 282 :contents-end 371 :post-blank 0 :post-affiliated 282 :mode nil :granularity nil :parent #12) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 282 :end 370 :contents-begin 327 :contents-end 368 :post-blank 0 :parent #15) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #18))) #("\n" 0 1 (:parent #15)))) (item (:bullet "- " :begin 371 :end 455 :contents-begin 376 :contents-end 455 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 371 :tag nil :mode item :granularity nil :parent #8) (paragraph (:begin 376 :end 455 :contents-begin 376 :contents-end 455 :post-blank 0 :post-affiliated 376 :mode nil :granularity nil :parent #13) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 376 :end 454 :contents-begin 416 :contents-end 452 :post-blank 0 :parent #16) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #19))) #("\n" 0 1 (:parent #16)))) (item (:bullet "- " :begin 455 :end 521 :contents-begin 460 :contents-end 521 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 455 :tag nil :mode item :granularity nil :parent #8) (paragraph (:begin 460 :end 521 :contents-begin 460 :contents-end 521 :post-blank 0 :post-affiliated 460 :mode nil :granularity nil :parent #14) (link (:type "custom-id" :path "step-4-install-and-run-gn2" :format bracket :raw-link "#step-4-install-and-run-gn2" :application nil :search-option nil :begin 460 :end 520 :contents-begin 491 :contents-end 518 :post-blank 0 :parent #17) #("Step 4: Install and run GN2" 0 27 (:parent #20))) #("\n" 0 1 (:parent #17)))))) (item (:bullet "- " :begin 521 :end 564 :contents-begin 524 :contents-end 564 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 521 :tag nil :mode item :granularity nil :parent #0) (paragraph (:begin 524 :end 564 :contents-begin 524 :contents-end 564 :post-blank 0 :post-affiliated 524 :mode nil :granularity nil :parent #5) (link (:type "custom-id" :path "run-mysql-server" :format bracket :raw-link "#run-mysql-server" :application nil :search-option nil :begin 524 :end 563 :contents-begin 545 :contents-end 561 :post-blank 0 :parent #8) #("Run MySQL server" 0 16 (:parent #11))) #("\n" 0 1 (:parent #8)))) (item (:bullet "- " :begin 564 :end 615 :contents-begin 567 :contents-end 615 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 564 :tag nil :mode item :granularity nil :parent #0) (paragraph (:begin 567 :end 615 :contents-begin 567 :contents-end 615 :post-blank 0 :post-affiliated 567 :mode nil :granularity nil :parent #6) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 567 :end 614 :contents-begin 592 :contents-end 612 :post-blank 0 :parent #9) #("GN2 Dependency Graph" 0 20 (:parent #12))) #("\n" 0 1 (:parent #9)))) (item (:bullet "- " :begin 615 :end 790 :contents-begin 618 :contents-end 790 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 615 :tag nil :mode item :granularity nil :parent #0) (paragraph (:begin 618 :end 660 :contents-begin 618 :contents-end 660 :post-blank 0 :post-affiliated 618 :mode nil :granularity nil :parent #7) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 618 :end 659 :contents-begin 640 :contents-end 657 :post-blank 0 :parent #10) #("Source deployment" 0 17 (:parent #13))) #("\n" 0 1 (:parent #10))) (plain-list (:type unordered :begin 660 :end 790 :contents-begin 660 :contents-end 790 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 660 :mode nil :granularity nil :parent #7) (item (:bullet "- " :begin 660 :end 721 :contents-begin 665 :contents-end 721 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 660 :tag nil :mode item :granularity nil :parent #11) (paragraph (:begin 665 :end 721 :contents-begin 665 :contents-end 721 :post-blank 0 :post-affiliated 665 :mode nil :granularity nil :parent #14) (link (:type "custom-id" :path "run-your-own-copy-of-gn2" :format bracket :raw-link "#run-your-own-copy-of-gn2" :application nil :search-option nil :begin 665 :end 720 :contents-begin 694 :contents-end 718 :post-blank 0 :parent #17) #("Run your own copy of GN2" 0 24 (:parent #20))) #("\n" 0 1 (:parent #17)))) (item (:bullet "- " :begin 721 :end 790 :contents-begin 726 :contents-end 790 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 721 :tag nil :mode item :granularity nil :parent #11) (paragraph (:begin 726 :end 790 :contents-begin 726 :contents-end 790 :post-blank 0 :post-affiliated 726 :mode nil :granularity nil :parent #15) (link (:type "custom-id" :path "set-up-nginx-port-forwarding" :format bracket :raw-link "#set-up-nginx-port-forwarding" :application nil :search-option nil :begin 726 :end 789 :contents-begin 759 :contents-end 787 :post-blank 0 :parent #18) #("Set up nginx port forwarding" 0 28 (:parent #21))) #("\n" 0 1 (:parent #18)))))) (item (:bullet "- " :begin 790 :end 1034 :contents-begin 793 :contents-end 1034 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 790 :tag nil :mode item :granularity nil :parent #0) (paragraph (:begin 793 :end 917 :contents-begin 793 :contents-end 917 :post-blank 0 :post-affiliated 793 :mode nil :granularity nil :parent #8) (link (:type "custom-id" :path "source-deployment-and-other-information-on-reproducibility" :format bracket :raw-link "#source-deployment-and-other-information-on-reproducibility" :application nil :search-option nil :begin 793 :end 916 :contents-begin 856 :contents-end 914 :post-blank 0 :parent #11) #("Source deployment and other information on reproducibility" 0 58 (:parent #14))) #("\n" 0 1 (:parent #11))) (plain-list (:type unordered :begin 917 :end 1034 :contents-begin 917 :contents-end 1034 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 917 :mode nil :granularity nil :parent #8) (item (:bullet "- " :begin 917 :end 972 :contents-begin 922 :contents-end 972 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 917 :tag nil :mode item :granularity nil :parent #12) (paragraph (:begin 922 :end 972 :contents-begin 922 :contents-end 972 :post-blank 0 :post-affiliated 922 :mode nil :granularity nil :parent #15) (link (:type "custom-id" :path "update-to-recent-guix" :format bracket :raw-link "#update-to-recent-guix" :application nil :search-option nil :begin 922 :end 971 :contents-begin 948 :contents-end 969 :post-blank 0 :parent #18) #("Update to recent guix" 0 21 (:parent #21))) #("\n" 0 1 (:parent #18)))) (item (:bullet "- " :begin 972 :end 1007 :contents-begin 977 :contents-end 1007 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 972 :tag nil :mode item :granularity nil :parent #12) (paragraph (:begin 977 :end 1007 :contents-begin 977 :contents-end 1007 :post-blank 0 :post-affiliated 977 :mode nil :granularity nil :parent #16) (link (:type "custom-id" :path "install-gn2" :format bracket :raw-link "#install-gn2" :application nil :search-option nil :begin 977 :end 1006 :contents-begin 993 :contents-end 1004 :post-blank 0 :parent #19) #("Install GN2" 0 11 (:parent #22))) #("\n" 0 1 (:parent #19)))) (item (:bullet "- " :begin 1007 :end 1034 :contents-begin 1012 :contents-end 1034 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1007 :tag nil :mode item :granularity nil :parent #12) (paragraph (:begin 1012 :end 1034 :contents-begin 1012 :contents-end 1034 :post-blank 0 :post-affiliated 1012 :mode nil :granularity nil :parent #17) (link (:type "custom-id" :path "run-gn2" :format bracket :raw-link "#run-gn2" :application nil :search-option nil :begin 1012 :end 1033 :contents-begin 1024 :contents-end 1031 :post-blank 0 :parent #20) #("Run GN2" 0 7 (:parent #23))) #("\n" 0 1 (:parent #20)))))) (item (:bullet "- " :begin 1034 :end 1370 :contents-begin 1037 :contents-end 1370 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1034 :tag nil :mode item :granularity nil :parent #0) (paragraph (:begin 1037 :end 1077 :contents-begin 1037 :contents-end 1077 :post-blank 0 :post-affiliated 1037 :mode nil :granularity nil :parent #9) (link (:type "custom-id" :path "trouble-shooting" :format bracket :raw-link "#trouble-shooting" :application nil :search-option nil :begin 1037 :end 1076 :contents-begin 1058 :contents-end 1074 :post-blank 0 :parent #12) #("Trouble shooting" 0 16 (:parent #15))) #("\n" 0 1 (:parent #12))) (plain-list (:type unordered :begin 1077 :end 1370 :contents-begin 1077 :contents-end 1370 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 1077 :mode nil :granularity nil :parent #9) (item (:bullet "- " :begin 1077 :end 1159 :contents-begin 1082 :contents-end 1159 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1077 :tag nil :mode item :granularity nil :parent #13) (paragraph (:begin 1082 :end 1159 :contents-begin 1082 :contents-end 1159 :post-blank 0 :post-affiliated 1082 :mode nil :granularity nil :parent #16) (link (:type "custom-id" :path "importerror-no-module-named-jinja2" :format bracket :raw-link "#importerror-no-module-named-jinja2" :application nil :search-option nil :begin 1082 :end 1158 :contents-begin 1121 :contents-end 1156 :post-blank 0 :parent #19) #("ImportError: No module named jinja2" 0 35 (:parent #22))) #("\n" 0 1 (:parent #19)))) (item (:bullet "- " :begin 1159 :end 1257 :contents-begin 1164 :contents-end 1257 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1159 :tag nil :mode item :granularity nil :parent #13) (paragraph (:begin 1164 :end 1257 :contents-begin 1164 :contents-end 1257 :post-blank 0 :post-affiliated 1164 :mode nil :granularity nil :parent #17) (link (:type "custom-id" :path "error-can-not-find-directory-homegn2_data" :format bracket :raw-link "#error-can-not-find-directory-homegn2_data" :application nil :search-option nil :begin 1164 :end 1256 :contents-begin 1210 :contents-end 1254 :post-blank 0 :parent #20) #("ERROR: can not find directory $HOME/gn2" 0 39 (:parent #23)) (subscript (:begin 1249 :end 1254 :use-brackets-p nil :contents-begin 1250 :contents-end 1254 :post-blank 0 :parent #23) #("data" 0 4 (:parent #27)))) #("\n" 0 1 (:parent #20)))) (item (:bullet "- " :begin 1257 :end 1305 :contents-begin 1262 :contents-end 1305 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1257 :tag nil :mode item :granularity nil :parent #13) (paragraph (:begin 1262 :end 1305 :contents-begin 1262 :contents-end 1305 :post-blank 0 :post-affiliated 1262 :mode nil :granularity nil :parent #18) (link (:type "custom-id" :path "cant-run-a-module" :format bracket :raw-link "#cant-run-a-module" :application nil :search-option nil :begin 1262 :end 1304 :contents-begin 1284 :contents-end 1302 :post-blank 0 :parent #21) #("Can't run a module" 0 18 (:parent #24))) #("\n" 0 1 (:parent #21)))) (item (:bullet "- " :begin 1305 :end 1370 :contents-begin 1310 :contents-end 1370 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1305 :tag nil :mode item :granularity nil :parent #13) (paragraph (:begin 1310 :end 1370 :contents-begin 1310 :contents-end 1370 :post-blank 0 :post-affiliated 1310 :mode nil :granularity nil :parent #19) (link (:type "custom-id" :path "rpy2-error-show-now-found" :format bracket :raw-link "#rpy2-error-show-now-found" :application nil :search-option nil :begin 1310 :end 1369 :contents-begin 1340 :contents-end 1367 :post-blank 0 :parent #22) #("Rpy2 error 'show' now found" 0 27 (:parent #25))) #("\n" 0 1 (:parent #22)))))) (item (:bullet "- " :begin 1370 :end 1403 :contents-begin 1373 :contents-end 1403 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1370 :tag nil :mode item :granularity nil :parent #0) (paragraph (:begin 1373 :end 1403 :contents-begin 1373 :contents-end 1403 :post-blank 0 :post-affiliated 1373 :mode nil :granularity nil :parent #10) (link (:type "custom-id" :path "irc-session" :format bracket :raw-link "#irc-session" :application nil :search-option nil :begin 1373 :end 1402 :contents-begin 1389 :contents-end 1400 :post-blank 0 :parent #13) #("IRC session" 0 11 (:parent #16))) #("\n" 0 1 (:parent #13))))) (:export-options (body-only) :back-end #s(org-export-backend :name html :parent nil :transcoders ((bold . org-html-bold) (center-block . org-html-center-block) (clock . org-html-clock) (code . org-html-code) (drawer . org-html-drawer) (dynamic-block . org-html-dynamic-block) (entity . org-html-entity) (example-block . org-html-example-block) (export-block . org-html-export-block) (export-snippet . org-html-export-snippet) (fixed-width . org-html-fixed-width) (footnote-reference . org-html-footnote-reference) (headline . org-html-headline) (horizontal-rule . org-html-horizontal-rule) (inline-src-block . org-html-inline-src-block) (inlinetask . org-html-inlinetask) (inner-template . org-html-inner-template) (italic . org-html-italic) (item . org-html-item) (keyword . org-html-keyword) (latex-environment . org-html-latex-environment) (latex-fragment . org-html-latex-fragment) (line-break . org-html-line-break) (link . org-html-link) (node-property . org-html-node-property) (paragraph . org-html-paragraph) (plain-list . org-html-plain-list) (plain-text . org-html-plain-text) (planning . org-html-planning) (property-drawer . org-html-property-drawer) (quote-block . org-html-quote-block) (radio-target . org-html-radio-target) (section . org-html-section) (special-block . org-html-special-block) (src-block . org-html-src-block) (statistics-cookie . org-html-statistics-cookie) (strike-through . org-html-strike-through) (subscript . org-html-subscript) (superscript . org-html-superscript) (table . org-html-table) (table-cell . org-html-table-cell) (table-row . org-html-table-row) (target . org-html-target) (template . org-html-template) (timestamp . org-html-timestamp) (underline . org-html-underline) (verbatim . org-html-verbatim) (verse-block . org-html-verse-block)) :options ((:html-doctype "HTML_DOCTYPE" nil org-html-doctype) (:html-container "HTML_CONTAINER" nil org-html-container-element) (:html-content-class "HTML_CONTENT_CLASS" nil org-html-content-class) (:description "DESCRIPTION" nil nil newline) (:keywords "KEYWORDS" nil nil space) (:html-html5-fancy nil "html5-fancy" org-html-html5-fancy) (:html-link-use-abs-url nil "html-link-use-abs-url" org-html-link-use-abs-url) (:html-link-home "HTML_LINK_HOME" nil org-html-link-home) (:html-link-up "HTML_LINK_UP" nil org-html-link-up) (:html-mathjax "HTML_MATHJAX" nil "" space) (:html-equation-reference-format "HTML_EQUATION_REFERENCE_FORMAT" nil org-html-equation-reference-format t) (:html-postamble nil "html-postamble" org-html-postamble) (:html-preamble nil "html-preamble" org-html-preamble) (:html-head "HTML_HEAD" nil org-html-head newline) (:html-head-extra "HTML_HEAD_EXTRA" nil org-html-head-extra newline) (:subtitle "SUBTITLE" nil nil parse) (:html-head-include-default-style nil "html-style" org-html-head-include-default-style) (:html-head-include-scripts nil "html-scripts" org-html-head-include-scripts) (:html-allow-name-attribute-in-anchors nil nil org-html-allow-name-attribute-in-anchors) (:html-divs nil nil org-html-divs) (:html-checkbox-type nil nil org-html-checkbox-type) (:html-extension nil nil org-html-extension) (:html-footnote-format nil nil org-html-footnote-format) (:html-footnote-separator nil nil org-html-footnote-separator) (:html-footnotes-section nil nil org-html-footnotes-section) (:html-format-drawer-function nil nil org-html-format-drawer-function) (:html-format-headline-function nil nil org-html-format-headline-function) (:html-format-inlinetask-function nil nil org-html-format-inlinetask-function) (:html-home/up-format nil nil org-html-home/up-format) (:html-indent nil nil org-html-indent) (:html-infojs-options nil nil org-html-infojs-options) (:html-infojs-template nil nil org-html-infojs-template) (:html-inline-image-rules nil nil org-html-inline-image-rules) (:html-link-org-files-as-html nil nil org-html-link-org-files-as-html) (:html-mathjax-options nil nil org-html-mathjax-options) (:html-mathjax-template nil nil org-html-mathjax-template) (:html-metadata-timestamp-format nil nil org-html-metadata-timestamp-format) (:html-postamble-format nil nil org-html-postamble-format) (:html-preamble-format nil nil org-html-preamble-format) (:html-prefer-user-labels nil nil org-html-prefer-user-labels) (:html-self-link-headlines nil nil org-html-self-link-headlines) (:html-table-align-individual-fields nil nil org-html-table-align-individual-fields) (:html-table-caption-above nil nil org-html-table-caption-above) (:html-table-data-tags nil nil org-html-table-data-tags) (:html-table-header-tags nil nil org-html-table-header-tags) (:html-table-use-header-tags-for-first-column nil nil org-html-table-use-header-tags-for-first-column) (:html-tag-class-prefix nil nil org-html-tag-class-prefix) (:html-text-markup-alist nil nil org-html-text-markup-alist) (:html-todo-kwd-class-prefix nil nil org-html-todo-kwd-class-prefix) (:html-toplevel-hlevel nil nil org-html-toplevel-hlevel) (:html-use-infojs nil nil org-html-use-infojs) (:html-validation-link nil nil org-html-validation-link) (:html-viewport nil nil org-html-viewport) (:html-inline-images nil nil org-html-inline-images) (:html-table-attributes nil nil org-html-table-default-attributes) (:html-table-row-open-tag nil nil org-html-table-row-open-tag) (:html-table-row-close-tag nil nil org-html-table-row-close-tag) (:html-xml-declaration nil nil org-html-xml-declaration) (:html-wrap-src-lines nil nil org-html-wrap-src-lines) (:html-klipsify-src nil nil org-html-klipsify-src) (:html-klipse-css nil nil org-html-klipse-css) (:html-klipse-js nil nil org-html-klipse-js) (:html-klipse-selection-script nil nil org-html-klipse-selection-script) (:infojs-opt "INFOJS_OPT" nil nil) (:creator "CREATOR" nil org-html-creator-string) (:with-latex nil "tex" org-html-with-latex) (:latex-header "LATEX_HEADER" nil nil newline)) :filters ((:filter-options . org-html-infojs-install-script) (:filter-parse-tree . org-html-image-link-filter) (:filter-final-output . org-html-final-function)) :blocks nil :menu (104 "Export to HTML" ((72 "As HTML buffer" org-html-export-as-html) (104 "As HTML file" org-html-export-to-html) (111 "As HTML file and open" (lambda (a s v b) (if a (org-html-export-to-html t s v b) (org-open-file (org-html-export-to-html nil s v b)))))))) :translate-alist ((bold . org-html-bold) (center-block . org-html-center-block) (clock . org-html-clock) (code . org-html-code) (drawer . org-html-drawer) (dynamic-block . org-html-dynamic-block) (entity . org-html-entity) (example-block . org-html-example-block) (export-block . org-html-export-block) (export-snippet . org-html-export-snippet) (fixed-width . org-html-fixed-width) (footnote-reference . org-html-footnote-reference) (headline . org-html-headline) (horizontal-rule . org-html-horizontal-rule) (inline-src-block . org-html-inline-src-block) (inlinetask . org-html-inlinetask) (inner-template . org-html-inner-template) (italic . org-html-italic) (item . org-html-item) (keyword . org-html-keyword) (latex-environment . org-html-latex-environment) (latex-fragment . org-html-latex-fragment) (line-break . org-html-line-break) (link . org-html-link) (node-property . org-html-node-property) (paragraph . org-html-paragraph) (plain-list . org-html-plain-list) (plain-text . org-html-plain-text) (planning . org-html-planning) (property-drawer . org-html-property-drawer) (quote-block . org-html-quote-block) (radio-target . org-html-radio-target) (section . org-html-section) (special-block . org-html-special-block) (src-block . org-html-src-block) (statistics-cookie . org-html-statistics-cookie) (strike-through . org-html-strike-through) (subscript . org-html-subscript) (superscript . org-html-superscript) (table . org-html-table) (table-cell . org-html-table-cell) (table-row . org-html-table-row) (target . org-html-target) (template . org-html-template) (timestamp . org-html-timestamp) (underline . org-html-underline) (verbatim . org-html-verbatim) (verse-block . org-html-verse-block)) :exported-data # :input-buffer " *temp*" :input-file nil :html-doctype "xhtml-strict" :html-container "div" :html-content-class "content" :description nil :keywords nil :html-html5-fancy nil :html-link-use-abs-url nil :html-link-home "" :html-link-up "" :html-mathjax "" :html-equation-reference-format "\\eqref{%s}" :html-postamble auto :html-preamble t :html-head "" :html-head-extra "" :subtitle nil :html-head-include-default-style t :html-head-include-scripts nil :html-allow-name-attribute-in-anchors nil :html-divs ((preamble "div" "preamble") (content "div" "content") (postamble "div" "postamble")) :html-checkbox-type ascii :html-extension "html" :html-footnote-format "%s" :html-footnote-separator ", " :html-footnotes-section "
\n

%s:

\n
\n%s\n
\n
" :html-format-drawer-function #f(compiled-function (name contents) #) :html-format-headline-function org-html-format-headline-default-function :html-format-inlinetask-function org-html-format-inlinetask-default-function :html-home/up-format "
\n UP \n |\n HOME \n
" :html-indent nil :html-infojs-options ((path . "https://orgmode.org/org-info.js") (view . "info") (toc . :with-toc) (ftoc . "0") (tdepth . "max") (sdepth . "max") (mouse . "underline") (buttons . "0") (ltoc . "1") (up . :html-link-up) (home . :html-link-home)) :html-infojs-template "\n\n" :html-inline-image-rules (("file" . "\\(?:\\.\\(?:gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)") ("http" . "\\(?:\\.\\(?:gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)") ("https" . "\\(?:\\.\\(?:gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)")) :html-link-org-files-as-html t :html-mathjax-options ((path "https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js") (scale 1.0) (align "center") (font "mathjax-modern") (overflow "overflow") (tags "ams") (indent "0em") (multlinewidth "85%") (tagindent ".8em") (tagside "right")) :html-mathjax-template "\n\n\n" :html-metadata-timestamp-format "%Y-%m-%d %a %H:%M" :html-postamble-format (("en" "

Author: %a (%e)

\n

Date: %d

\n

%c

\n

%v

")) :html-preamble-format (("en" "")) :html-prefer-user-labels nil :html-self-link-headlines nil :html-table-align-individual-fields t :html-table-caption-above t :html-table-data-tags ("" . "") :html-table-header-tags ("" . "") :html-table-use-header-tags-for-first-column nil :html-tag-class-prefix "" :html-text-markup-alist ((bold . "%s") (code . "%s") (italic . "%s") (strike-through . "%s") (underline . "%s") (verbatim . "%s")) :html-todo-kwd-class-prefix "" :html-toplevel-hlevel 2 :html-use-infojs when-configured :html-validation-link "Validate" :html-viewport ((width "device-width") (initial-scale "1") (minimum-scale "") (maximum-scale "") (user-scalable "")) :html-inline-images t :html-table-attributes (:border "2" :cellspacing "0" :cellpadding "6" :rules "groups" :frame "hsides") :html-table-row-open-tag "" :html-table-row-close-tag "" :html-xml-declaration (("html" . "") ("php" . "\"; ?>")) :html-wrap-src-lines nil :html-klipsify-src nil :html-klipse-css "https://storage.googleapis.com/app.klipse.tech/css/codemirror.css" :html-klipse-js "https://storage.googleapis.com/app.klipse.tech/plugin_prod/js/klipse_plugin.min.js" :html-klipse-selection-script "window.klipse_settings = {selector_eval_html: '.src-html',\n selector_eval_js: '.src-js',\n selector_eval_python_client: '.src-python',\n selector_eval_scheme: '.src-scheme',\n selector: '.src-clojure',\n selector_eval_ruby: '.src-ruby'};" :infojs-opt nil :creator "Emacs 29.4 (Org mode 9.6.15)" :with-latex t :latex-header nil :title (#("Installing GeneNetwork services" 0 31 (:parent #148))) :date nil :author (#("unknown" 0 7 (:parent #152))) :email "unknown@genenetwork-development" :language "en" :select-tags ("export") :exclude-tags ("noexport") :headline-levels 3 :preserve-breaks nil :section-numbers nil :time-stamp-file t :with-archived-trees headline :with-author t :with-broken-links nil :with-clocks nil :with-creator nil :with-date t :with-drawers (not "LOGBOOK") :with-email nil :with-emphasize t :with-entities t :with-fixed-width t :with-footnotes t :with-inlinetasks t :with-planning nil :with-priority nil :with-properties nil :with-smart-quotes nil :with-special-strings t :with-statistics-cookies t :with-sub-superscript t :with-toc nil :with-tables t :with-tags t :with-tasks t :with-timestamps t :with-title t :with-todo-keywords t :cite-export (basic nil nil) :bibliography nil :filter-body nil :filter-bold nil :filter-babel-call nil :filter-center-block nil :filter-clock nil :filter-code nil :filter-diary-sexp nil :filter-drawer nil :filter-dynamic-block nil :filter-entity nil :filter-example-block nil :filter-export-block nil :filter-export-snippet nil :filter-final-output (org-html-final-function) :filter-fixed-width nil :filter-footnote-definition nil :filter-footnote-reference nil :filter-headline nil :filter-horizontal-rule nil :filter-inline-babel-call nil :filter-inline-src-block nil :filter-inlinetask nil :filter-italic nil :filter-item nil :filter-keyword nil :filter-latex-environment nil :filter-latex-fragment nil :filter-line-break nil :filter-link nil :filter-node-property nil :filter-options (org-html-infojs-install-script) :filter-paragraph nil :filter-parse-tree (org-html-image-link-filter) :filter-plain-list nil :filter-plain-text nil :filter-planning nil :filter-property-drawer nil :filter-quote-block nil :filter-radio-target nil :filter-section nil :filter-special-block nil :filter-src-block nil :filter-statistics-cookie nil :filter-strike-through nil :filter-subscript nil :filter-superscript nil :filter-table nil :filter-table-cell nil :filter-table-row nil :filter-target nil :filter-timestamp nil :filter-underline nil :filter-verbatim nil :filter-verse-block nil :ignore-list nil :parse-tree (org-data (:begin 1 :contents-begin 1 :contents-end 13801 :end 13801 :robust-begin 3 :robust-end 13799 :post-blank 0 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 43 :contents-begin 1 :contents-end 42 :robust-begin 1 :robust-end 40 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #338) (keyword (:key "TITLE" :value "Installing GeneNetwork services" :begin 1 :end 42 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #341))) (headline (:raw-value "Table of Contents" :begin 43 :end 1404 :pre-blank 0 :contents-begin 121 :contents-end 1403 :robust-begin 123 :robust-end 1401 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 43 :title (#("Table of Contents" 0 17 (:parent #342))) :mode nil :granularity nil :parent #338) (section (:begin 121 :end 1404 :contents-begin 121 :contents-end 1403 :robust-begin 121 :robust-end 1401 :post-blank 1 :post-affiliated 121 :mode section :granularity nil :parent #342) (plain-list (:type unordered :begin 121 :end 1403 :contents-begin 121 :contents-end 1403 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 121 :mode planning :granularity nil :parent #345) (item (:bullet "- " :begin 121 :end 156 :contents-begin 124 :contents-end 156 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 121 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 124 :end 156 :contents-begin 124 :contents-end 156 :post-blank 0 :post-affiliated 124 :mode nil :granularity nil :parent #351) (link (:type "custom-id" :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil :begin 124 :end 155 :contents-begin 141 :contents-end 153 :post-blank 0 :parent #354) #("Introduction" 0 12 (:parent #357))) #("\n" 0 1 (:parent #354)))) (item (:bullet "- " :begin 156 :end 521 :contents-begin 159 :contents-end 521 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 156 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 159 :end 217 :contents-begin 159 :contents-end 217 :post-blank 0 :post-affiliated 159 :mode nil :granularity nil :parent #352) (link (:type "custom-id" :path "quick-installation-recipe" :format bracket :raw-link "#quick-installation-recipe" :application nil :search-option nil :begin 159 :end 216 :contents-begin 189 :contents-end 214 :post-blank 0 :parent #355) #("Quick installation recipe" 0 25 (:parent #358))) #("\n" 0 1 (:parent #355))) (plain-list (:type unordered :begin 217 :end 521 :contents-begin 217 :contents-end 521 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 217 :mode nil :granularity nil :parent #352) (item (:bullet "- " :begin 217 :end 277 :contents-begin 222 :contents-end 277 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 217 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 222 :end 277 :contents-begin 222 :contents-end 277 :post-blank 0 :post-affiliated 222 :mode nil :granularity nil :parent #359) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 222 :end 276 :contents-begin 250 :contents-end 274 :post-blank 0 :parent #362) #("Step 1: Install GNU Guix" 0 24 (:parent #365))) #("\n" 0 1 (:parent #362)))) (item (:bullet "- " :begin 277 :end 371 :contents-begin 282 :contents-end 371 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 277 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 282 :end 371 :contents-begin 282 :contents-end 371 :post-blank 0 :post-affiliated 282 :mode nil :granularity nil :parent #360) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 282 :end 370 :contents-begin 327 :contents-end 368 :post-blank 0 :parent #363) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #366))) #("\n" 0 1 (:parent #363)))) (item (:bullet "- " :begin 371 :end 455 :contents-begin 376 :contents-end 455 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 371 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 376 :end 455 :contents-begin 376 :contents-end 455 :post-blank 0 :post-affiliated 376 :mode nil :granularity nil :parent #361) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 376 :end 454 :contents-begin 416 :contents-end 452 :post-blank 0 :parent #364) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #367))) #("\n" 0 1 (:parent #364)))) (item (:bullet "- " :begin 455 :end 521 :contents-begin 460 :contents-end 521 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 455 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 460 :end 521 :contents-begin 460 :contents-end 521 :post-blank 0 :post-affiliated 460 :mode nil :granularity nil :parent #362) (link (:type "custom-id" :path "step-4-install-and-run-gn2" :format bracket :raw-link "#step-4-install-and-run-gn2" :application nil :search-option nil :begin 460 :end 520 :contents-begin 491 :contents-end 518 :post-blank 0 :parent #365) #("Step 4: Install and run GN2" 0 27 (:parent #368))) #("\n" 0 1 (:parent #365)))))) (item (:bullet "- " :begin 521 :end 564 :contents-begin 524 :contents-end 564 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 521 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 524 :end 564 :contents-begin 524 :contents-end 564 :post-blank 0 :post-affiliated 524 :mode nil :granularity nil :parent #353) (link (:type "custom-id" :path "run-mysql-server" :format bracket :raw-link "#run-mysql-server" :application nil :search-option nil :begin 524 :end 563 :contents-begin 545 :contents-end 561 :post-blank 0 :parent #356) #("Run MySQL server" 0 16 (:parent #359))) #("\n" 0 1 (:parent #356)))) (item (:bullet "- " :begin 564 :end 615 :contents-begin 567 :contents-end 615 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 564 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 567 :end 615 :contents-begin 567 :contents-end 615 :post-blank 0 :post-affiliated 567 :mode nil :granularity nil :parent #354) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 567 :end 614 :contents-begin 592 :contents-end 612 :post-blank 0 :parent #357) #("GN2 Dependency Graph" 0 20 (:parent #360))) #("\n" 0 1 (:parent #357)))) (item (:bullet "- " :begin 615 :end 790 :contents-begin 618 :contents-end 790 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 615 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 618 :end 660 :contents-begin 618 :contents-end 660 :post-blank 0 :post-affiliated 618 :mode nil :granularity nil :parent #355) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 618 :end 659 :contents-begin 640 :contents-end 657 :post-blank 0 :parent #358) #("Source deployment" 0 17 (:parent #361))) #("\n" 0 1 (:parent #358))) (plain-list (:type unordered :begin 660 :end 790 :contents-begin 660 :contents-end 790 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 660 :mode nil :granularity nil :parent #355) (item (:bullet "- " :begin 660 :end 721 :contents-begin 665 :contents-end 721 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 660 :tag nil :mode item :granularity nil :parent #359) (paragraph (:begin 665 :end 721 :contents-begin 665 :contents-end 721 :post-blank 0 :post-affiliated 665 :mode nil :granularity nil :parent #362) (link (:type "custom-id" :path "run-your-own-copy-of-gn2" :format bracket :raw-link "#run-your-own-copy-of-gn2" :application nil :search-option nil :begin 665 :end 720 :contents-begin 694 :contents-end 718 :post-blank 0 :parent #365) #("Run your own copy of GN2" 0 24 (:parent #368))) #("\n" 0 1 (:parent #365)))) (item (:bullet "- " :begin 721 :end 790 :contents-begin 726 :contents-end 790 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 721 :tag nil :mode item :granularity nil :parent #359) (paragraph (:begin 726 :end 790 :contents-begin 726 :contents-end 790 :post-blank 0 :post-affiliated 726 :mode nil :granularity nil :parent #363) (link (:type "custom-id" :path "set-up-nginx-port-forwarding" :format bracket :raw-link "#set-up-nginx-port-forwarding" :application nil :search-option nil :begin 726 :end 789 :contents-begin 759 :contents-end 787 :post-blank 0 :parent #366) #("Set up nginx port forwarding" 0 28 (:parent #369))) #("\n" 0 1 (:parent #366)))))) (item (:bullet "- " :begin 790 :end 1034 :contents-begin 793 :contents-end 1034 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 790 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 793 :end 917 :contents-begin 793 :contents-end 917 :post-blank 0 :post-affiliated 793 :mode nil :granularity nil :parent #356) (link (:type "custom-id" :path "source-deployment-and-other-information-on-reproducibility" :format bracket :raw-link "#source-deployment-and-other-information-on-reproducibility" :application nil :search-option nil :begin 793 :end 916 :contents-begin 856 :contents-end 914 :post-blank 0 :parent #359) #("Source deployment and other information on reproducibility" 0 58 (:parent #362))) #("\n" 0 1 (:parent #359))) (plain-list (:type unordered :begin 917 :end 1034 :contents-begin 917 :contents-end 1034 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 917 :mode nil :granularity nil :parent #356) (item (:bullet "- " :begin 917 :end 972 :contents-begin 922 :contents-end 972 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 917 :tag nil :mode item :granularity nil :parent #360) (paragraph (:begin 922 :end 972 :contents-begin 922 :contents-end 972 :post-blank 0 :post-affiliated 922 :mode nil :granularity nil :parent #363) (link (:type "custom-id" :path "update-to-recent-guix" :format bracket :raw-link "#update-to-recent-guix" :application nil :search-option nil :begin 922 :end 971 :contents-begin 948 :contents-end 969 :post-blank 0 :parent #366) #("Update to recent guix" 0 21 (:parent #369))) #("\n" 0 1 (:parent #366)))) (item (:bullet "- " :begin 972 :end 1007 :contents-begin 977 :contents-end 1007 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 972 :tag nil :mode item :granularity nil :parent #360) (paragraph (:begin 977 :end 1007 :contents-begin 977 :contents-end 1007 :post-blank 0 :post-affiliated 977 :mode nil :granularity nil :parent #364) (link (:type "custom-id" :path "install-gn2" :format bracket :raw-link "#install-gn2" :application nil :search-option nil :begin 977 :end 1006 :contents-begin 993 :contents-end 1004 :post-blank 0 :parent #367) #("Install GN2" 0 11 (:parent #370))) #("\n" 0 1 (:parent #367)))) (item (:bullet "- " :begin 1007 :end 1034 :contents-begin 1012 :contents-end 1034 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1007 :tag nil :mode item :granularity nil :parent #360) (paragraph (:begin 1012 :end 1034 :contents-begin 1012 :contents-end 1034 :post-blank 0 :post-affiliated 1012 :mode nil :granularity nil :parent #365) (link (:type "custom-id" :path "run-gn2" :format bracket :raw-link "#run-gn2" :application nil :search-option nil :begin 1012 :end 1033 :contents-begin 1024 :contents-end 1031 :post-blank 0 :parent #368) #("Run GN2" 0 7 (:parent #371))) #("\n" 0 1 (:parent #368)))))) (item (:bullet "- " :begin 1034 :end 1370 :contents-begin 1037 :contents-end 1370 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1034 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 1037 :end 1077 :contents-begin 1037 :contents-end 1077 :post-blank 0 :post-affiliated 1037 :mode nil :granularity nil :parent #357) (link (:type "custom-id" :path "trouble-shooting" :format bracket :raw-link "#trouble-shooting" :application nil :search-option nil :begin 1037 :end 1076 :contents-begin 1058 :contents-end 1074 :post-blank 0 :parent #360) #("Trouble shooting" 0 16 (:parent #363))) #("\n" 0 1 (:parent #360))) (plain-list (:type unordered :begin 1077 :end 1370 :contents-begin 1077 :contents-end 1370 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 1077 :mode nil :granularity nil :parent #357) (item (:bullet "- " :begin 1077 :end 1159 :contents-begin 1082 :contents-end 1159 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1077 :tag nil :mode item :granularity nil :parent #361) (paragraph (:begin 1082 :end 1159 :contents-begin 1082 :contents-end 1159 :post-blank 0 :post-affiliated 1082 :mode nil :granularity nil :parent #364) (link (:type "custom-id" :path "importerror-no-module-named-jinja2" :format bracket :raw-link "#importerror-no-module-named-jinja2" :application nil :search-option nil :begin 1082 :end 1158 :contents-begin 1121 :contents-end 1156 :post-blank 0 :parent #367) #("ImportError: No module named jinja2" 0 35 (:parent #370))) #("\n" 0 1 (:parent #367)))) (item (:bullet "- " :begin 1159 :end 1257 :contents-begin 1164 :contents-end 1257 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1159 :tag nil :mode item :granularity nil :parent #361) (paragraph (:begin 1164 :end 1257 :contents-begin 1164 :contents-end 1257 :post-blank 0 :post-affiliated 1164 :mode nil :granularity nil :parent #365) (link (:type "custom-id" :path "error-can-not-find-directory-homegn2_data" :format bracket :raw-link "#error-can-not-find-directory-homegn2_data" :application nil :search-option nil :begin 1164 :end 1256 :contents-begin 1210 :contents-end 1254 :post-blank 0 :parent #368) #("ERROR: can not find directory $HOME/gn2" 0 39 (:parent #371)) (subscript (:begin 1249 :end 1254 :use-brackets-p nil :contents-begin 1250 :contents-end 1254 :post-blank 0 :parent #371) #("data" 0 4 (:parent #375)))) #("\n" 0 1 (:parent #368)))) (item (:bullet "- " :begin 1257 :end 1305 :contents-begin 1262 :contents-end 1305 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1257 :tag nil :mode item :granularity nil :parent #361) (paragraph (:begin 1262 :end 1305 :contents-begin 1262 :contents-end 1305 :post-blank 0 :post-affiliated 1262 :mode nil :granularity nil :parent #366) (link (:type "custom-id" :path "cant-run-a-module" :format bracket :raw-link "#cant-run-a-module" :application nil :search-option nil :begin 1262 :end 1304 :contents-begin 1284 :contents-end 1302 :post-blank 0 :parent #369) #("Can't run a module" 0 18 (:parent #372))) #("\n" 0 1 (:parent #369)))) (item (:bullet "- " :begin 1305 :end 1370 :contents-begin 1310 :contents-end 1370 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1305 :tag nil :mode item :granularity nil :parent #361) (paragraph (:begin 1310 :end 1370 :contents-begin 1310 :contents-end 1370 :post-blank 0 :post-affiliated 1310 :mode nil :granularity nil :parent #367) (link (:type "custom-id" :path "rpy2-error-show-now-found" :format bracket :raw-link "#rpy2-error-show-now-found" :application nil :search-option nil :begin 1310 :end 1369 :contents-begin 1340 :contents-end 1367 :post-blank 0 :parent #370) #("Rpy2 error 'show' now found" 0 27 (:parent #373))) #("\n" 0 1 (:parent #370)))))) (item (:bullet "- " :begin 1370 :end 1403 :contents-begin 1373 :contents-end 1403 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1370 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 1373 :end 1403 :contents-begin 1373 :contents-end 1403 :post-blank 0 :post-affiliated 1373 :mode nil :granularity nil :parent #358) (link (:type "custom-id" :path "irc-session" :format bracket :raw-link "#irc-session" :application nil :search-option nil :begin 1373 :end 1402 :contents-begin 1389 :contents-end 1400 :post-blank 0 :parent #361) #("IRC session" 0 11 (:parent #364))) #("\n" 0 1 (:parent #361))))))) (headline (:raw-value "Introduction" :begin 1404 :end 2450 :pre-blank 1 :contents-begin 1420 :contents-end 2449 :robust-begin 1422 :robust-end 2447 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1404 :title (#("Introduction" 0 12 (:parent #343))) :mode nil :granularity nil :parent #338) (section (:begin 1420 :end 2450 :contents-begin 1420 :contents-end 2449 :robust-begin 1420 :robust-end 2447 :post-blank 1 :post-affiliated 1420 :mode section :granularity nil :parent #343) (paragraph (:begin 1420 :end 1557 :contents-begin 1420 :contents-end 1556 :post-blank 1 :post-affiliated 1420 :mode planning :granularity nil :parent #346) #("If you want to understand the architecture of GN2 read\n" 0 55 (:parent #349)) (link (:type "fuzzy" :path "Architecture.org" :format bracket :raw-link "Architecture.org" :application nil :search-option nil :begin 1475 :end 1495 :contents-begin nil :contents-end nil :post-blank 0 :parent #349)) #(". The rest of this document is mostly on deployment\nof GN2.\n" 0 61 (:parent #349))) (paragraph (:begin 1557 :end 1943 :contents-begin 1557 :contents-end 1942 :post-blank 1 :post-affiliated 1557 :mode nil :granularity nil :parent #346) #("Large system deployments can get very " 0 38 (:parent #350)) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg " :format bracket :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg " :application nil :search-option nil :begin 1595 :end 1656 :contents-begin 1647 :contents-end 1654 :post-blank 0 :parent #350) #("complex" 0 7 (:parent #354))) #(". In this document we\nexplain the GeneNetwork version 2 (GN2) reproducible deployment system\nwhich is based on GNU Guix (see also " 0 130 (:parent #350)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1786 :end 1860 :contents-begin 1848 :contents-end 1858 :post-blank 0 :parent #350) #("Guix-notes" 0 10 (:parent #356))) #("). The Guix\nsystem can be used to install GN with all its files and dependencies.\n" 0 82 (:parent #350))) (paragraph (:begin 1943 :end 2328 :contents-begin 1943 :contents-end 2327 :post-blank 1 :post-affiliated 1943 :mode nil :granularity nil :parent #346) #("The official installation path is from a checked out version of the\nmain Guix package tree and that of the Genenetwork package\ntree. Current supported versions can be found as the SHA values of\n'gn-latest' branches of " 0 218 (:parent #351)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :application nil :search-option nil :begin 2161 :end 2252 :contents-begin 2230 :contents-end 2249 :post-blank 1 :parent #351) #("Guix bioinformatics" 0 19 (:parent #355))) #("and " 0 4 (:parent #351)) (link (:type "https" :path "//github.com/genenetwork/guix/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix/tree/gn-latest" :application nil :search-option nil :begin 2256 :end 2325 :contents-begin 2310 :contents-end 2323 :post-blank 0 :parent #351) #("GNU Guix main" 0 13 (:parent #357))) #(".\n" 0 2 (:parent #351))) (paragraph (:begin 2328 :end 2449 :contents-begin 2328 :contents-end 2449 :post-blank 0 :post-affiliated 2328 :mode nil :granularity nil :parent #346) #("For a full view of runtime dependencies as defined by GNU Guix, see\nthe " 0 72 (:parent #352)) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 2400 :end 2447 :contents-begin 2425 :contents-end 2445 :post-blank 0 :parent #352) #("GN2 Dependency Graph" 0 20 (:parent #356))) #(".\n" 0 2 (:parent #352))))) (headline (:raw-value "Quick installation recipe" :begin 2450 :end 7633 :pre-blank 1 :contents-begin 2479 :contents-end 7632 :robust-begin 2481 :robust-end 7630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 2450 :title (#("Quick installation recipe" 0 25 (:parent #344))) :mode nil :granularity nil :parent #338) (section (:begin 2479 :end 3022 :contents-begin 2479 :contents-end 3021 :robust-begin 2479 :robust-end 3019 :post-blank 1 :post-affiliated 2479 :mode section :granularity nil :parent #344) (paragraph (:begin 2479 :end 2880 :contents-begin 2479 :contents-end 2879 :post-blank 1 :post-affiliated 2479 :mode planning :granularity nil :parent #347) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS). For more elaborate installation\ninstructions see " 0 357 (:parent #350)) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 2836 :end 2877 :contents-begin 2858 :contents-end 2875 :post-blank 0 :parent #350) #("Source deployment" 0 17 (:parent #354))) #(".\n" 0 2 (:parent #350))) (paragraph (:begin 2880 :end 3021 :contents-begin 2880 :contents-end 3021 :post-blank 0 :post-affiliated 2880 :mode nil :granularity nil :parent #347) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #351)))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 3022 :end 4649 :pre-blank 1 :contents-begin 3051 :contents-end 4648 :robust-begin 3053 :robust-end 4646 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3022 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #348))) :mode nil :granularity nil :parent #344) (section (:begin 3051 :end 4649 :contents-begin 3051 :contents-end 4648 :robust-begin 3051 :robust-end 4646 :post-blank 1 :post-affiliated 3051 :mode section :granularity nil :parent #348) (paragraph (:begin 3051 :end 3504 :contents-begin 3051 :contents-end 3503 :post-blank 1 :post-affiliated 3051 :mode planning :granularity nil :parent #351) #("Fetch the GNU Guix binary from " 0 31 (:parent #354)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 3082 :end 3136 :contents-begin 3129 :contents-end 3133 :post-blank 1 :parent #354) #("here" 0 4 (:parent #358))) #("(middle panel) and follow\n" 0 26 (:parent #354)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 3162 :end 3255 :contents-begin 3241 :contents-end 3253 :post-blank 0 :parent #354) #("instructions" 0 12 (:parent #360))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #354))) (paragraph (:begin 3504 :end 3782 :contents-begin 3504 :contents-end 3781 :post-blank 1 :post-affiliated 3504 :mode nil :granularity nil :parent #351) #("Once you have succeeded, you have to " 0 37 (:parent #355)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 3541 :end 3631 :contents-begin 3617 :contents-end 3628 :post-blank 1 :parent #355) #("set the key" 0 11 (:parent #359))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #355))) (src-block (:language "bash" :switches nil :parameters nil :begin 3782 :end 3890 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 3782 :mode nil :granularity nil :parent #351)) (paragraph (:begin 3890 :end 3924 :contents-begin 3890 :contents-end 3923 :post-blank 1 :post-affiliated 3890 :mode nil :granularity nil :parent #351) #("Which should show something like\n" 0 33 (:parent #357))) (fixed-width (:begin 3924 :end 4034 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 3924 :mode nil :granularity nil :parent #351)) (paragraph (:begin 4034 :end 4045 :contents-begin 4034 :contents-end 4044 :post-blank 1 :post-affiliated 4034 :mode nil :granularity nil :parent #351) #("#+end" 0 5 (:parent #359)) (subscript (:begin 4039 :end 4043 :use-brackets-p nil :contents-begin 4040 :contents-end 4043 :post-blank 0 :parent #359) #("src" 0 3 (:parent #363))) #("\n" 0 1 (:parent #359))) (paragraph (:begin 4045 :end 4116 :contents-begin 4045 :contents-end 4115 :post-blank 1 :post-affiliated 4045 :mode nil :granularity nil :parent #351) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #360))) (src-block (:language "bash" :switches nil :parameters nil :begin 4116 :end 4188 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 4116 :mode nil :granularity nil :parent #351)) (paragraph (:begin 4188 :end 4375 :contents-begin 4188 :contents-end 4374 :post-blank 1 :post-affiliated 4188 :mode nil :granularity nil :parent #351) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #362))) (paragraph (:begin 4375 :end 4648 :contents-begin 4375 :contents-end 4648 :post-blank 0 :post-affiliated 4375 :mode nil :granularity nil :parent #351) #("If you need more help we have another writeup in " 0 49 (:parent #363)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 4424 :end 4520 :contents-begin 4508 :contents-end 4518 :post-blank 0 :parent #363) #("guix-notes" 0 10 (:parent #367))) #(". To get\nrid of the locale warning see " 0 39 (:parent #363)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 4559 :end 4646 :contents-begin 4634 :contents-end 4644 :post-blank 0 :parent #363) #("set-locale" 0 10 (:parent #369))) #(".\n" 0 2 (:parent #363))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 4649 :end 5304 :pre-blank 1 :contents-begin 4695 :contents-end 5302 :robust-begin 4697 :robust-end 5300 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4649 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #349))) :mode nil :granularity nil :parent #344) (section (:begin 4695 :end 5304 :contents-begin 4695 :contents-end 5302 :robust-begin 4695 :robust-end 5300 :post-blank 2 :post-affiliated 4695 :mode section :granularity nil :parent #349) (paragraph (:begin 4695 :end 4815 :contents-begin 4695 :contents-end 4814 :post-blank 1 :post-affiliated 4695 :mode planning :granularity nil :parent #352) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #355))) (src-block (:language "bash" :switches nil :parameters nil :begin 4815 :end 4920 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 4815 :mode nil :granularity nil :parent #352)) (paragraph (:begin 4920 :end 4971 :contents-begin 4920 :contents-end 4970 :post-blank 1 :post-affiliated 4920 :mode nil :granularity nil :parent #352) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #357))) (paragraph (:begin 4971 :end 5232 :contents-begin 4971 :contents-end 5231 :post-blank 1 :post-affiliated 4971 :mode nil :granularity nil :parent #352) #("#+begin" 0 7 (:parent #358)) (subscript (:begin 4978 :end 4983 :use-brackets-p nil :contents-begin 4979 :contents-end 4982 :post-blank 1 :parent #358) #("src" 0 3 (:parent #362))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #358)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 5055 :end 5105 :contents-begin nil :contents-end nil :post-blank 0 :parent #358)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #358)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 5147 :end 5183 :contents-begin nil :contents-end nil :post-blank 1 :parent #358)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #358)) (subscript (:begin 5221 :end 5226 :use-brackets-p nil :contents-begin 5222 :contents-end 5225 :post-blank 1 :parent #358) #("src" 0 3 (:parent #368))) #("bash\n" 0 5 (:parent #358))) (paragraph (:begin 5232 :end 5270 :contents-begin 5232 :contents-end 5269 :post-blank 1 :post-affiliated 5232 :mode nil :granularity nil :parent #352) #("To test whether this is working try:\n" 0 37 (:parent #359))) (paragraph (:begin 5270 :end 5302 :contents-begin 5270 :contents-end 5302 :post-blank 0 :post-affiliated 5270 :mode nil :granularity nil :parent #352) #("#+begin" 0 7 (:parent #360)) (subscript (:begin 5277 :end 5282 :use-brackets-p nil :contents-begin 5278 :contents-end 5281 :post-blank 1 :parent #360) #("src" 0 3 (:parent #364))) #("bash\n#+end" 0 10 (:parent #360)) (subscript (:begin 5292 :end 5297 :use-brackets-p nil :contents-begin 5293 :contents-end 5296 :post-blank 1 :parent #360) #("src" 0 3 (:parent #366))) #("bash\n" 0 5 (:parent #360))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 5304 :end 5755 :pre-blank 1 :contents-begin 5345 :contents-end 5754 :robust-begin 5347 :robust-end 5752 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5304 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #350))) :mode nil :granularity nil :parent #344) (section (:begin 5345 :end 5755 :contents-begin 5345 :contents-end 5754 :robust-begin 5345 :robust-end 5752 :post-blank 1 :post-affiliated 5345 :mode section :granularity nil :parent #350) (paragraph (:begin 5345 :end 5445 :contents-begin 5345 :contents-end 5444 :post-blank 1 :post-affiliated 5345 :mode planning :granularity nil :parent #353) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #356))) (src-block (:language "scheme" :switches nil :parameters nil :begin 5445 :end 5589 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 5445 :mode nil :granularity nil :parent #353)) (paragraph (:begin 5589 :end 5621 :contents-begin 5589 :contents-end 5620 :post-blank 1 :post-affiliated 5589 :mode nil :granularity nil :parent #353) #("by pasting it into the command\n" 0 31 (:parent #358))) (src-block (:language "bash" :switches nil :parameters nil :begin 5621 :end 5674 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 5621 :mode nil :granularity nil :parent #353)) (paragraph (:begin 5674 :end 5691 :contents-begin 5674 :contents-end 5690 :post-blank 1 :post-affiliated 5674 :mode nil :granularity nil :parent #353) #("and hit Ctrl-D.\n" 0 16 (:parent #360))) (paragraph (:begin 5691 :end 5754 :contents-begin 5691 :contents-end 5754 :post-blank 0 :post-affiliated 5691 :mode nil :granularity nil :parent #353) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #361))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 5755 :end 7633 :pre-blank 1 :contents-begin 5787 :contents-end 7632 :robust-begin 5789 :robust-end 7630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5755 :title (#("Step 4: Install and run GN2" 0 27 (:parent #351))) :mode nil :granularity nil :parent #344) (section (:begin 5787 :end 7633 :contents-begin 5787 :contents-end 7632 :robust-begin 5787 :robust-end 7630 :post-blank 1 :post-affiliated 5787 :mode section :granularity nil :parent #351) (paragraph (:begin 5787 :end 5927 :contents-begin 5787 :contents-end 5926 :post-blank 1 :post-affiliated 5787 :mode planning :granularity nil :parent #354) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #357))) (src-block (:language "bash" :switches nil :parameters nil :begin 5927 :end 6046 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 5927 :mode nil :granularity nil :parent #354)) (paragraph (:begin 6046 :end 6099 :contents-begin 6046 :contents-end 6098 :post-blank 1 :post-affiliated 6046 :mode nil :granularity nil :parent #354) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #359))) (src-block (:language "bash" :switches nil :parameters nil :begin 6099 :end 6289 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 6099 :mode nil :granularity nil :parent #354)) (paragraph (:begin 6289 :end 6398 :contents-begin 6289 :contents-end 6397 :post-blank 1 :post-affiliated 6289 :mode nil :granularity nil :parent #354) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #361)) (italic (:begin 6360 :end 6366 :post-blank 0 :contents-begin 6361 :contents-end 6365 :parent #361) #("root" 0 4 (:parent #365))) #(".config/guix/latest override).\n" 0 31 (:parent #361))) (paragraph (:begin 6398 :end 6416 :contents-begin 6398 :contents-end 6415 :post-blank 1 :post-affiliated 6398 :mode nil :granularity nil :parent #354) #("And install with\n" 0 17 (:parent #362))) (src-block (:language "bash" :switches nil :parameters nil :begin 6416 :end 6586 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 6416 :mode nil :granularity nil :parent #354)) (paragraph (:begin 6586 :end 6729 :contents-begin 6586 :contents-end 6728 :post-blank 1 :post-affiliated 6586 :mode nil :granularity nil :parent #354) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #364))) (paragraph (:begin 6729 :end 6925 :contents-begin 6729 :contents-end 6924 :post-blank 1 :post-affiliated 6729 :mode nil :granularity nil :parent #354) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #365))) (paragraph (:begin 6925 :end 7056 :contents-begin 6925 :contents-end 7055 :post-blank 1 :post-affiliated 6925 :mode nil :granularity nil :parent #354) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #366))) (src-block (:language "bash" :switches nil :parameters nil :begin 7056 :end 7235 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python2.7/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 7056 :mode nil :granularity nil :parent #354)) (paragraph (:begin 7235 :end 7304 :contents-begin 7235 :contents-end 7303 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #354) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #368))) (src-block (:language "bash" :switches nil :parameters nil :begin 7304 :end 7345 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 7304 :mode nil :granularity nil :parent #354)) (paragraph (:begin 7345 :end 7596 :contents-begin 7345 :contents-end 7595 :post-blank 1 :post-affiliated 7345 :mode nil :granularity nil :parent #354) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #370)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 7567 :end 7593 :contents-begin nil :contents-end nil :post-blank 0 :parent #370)) #(".\n" 0 2 (:parent #370))) (paragraph (:begin 7596 :end 7632 :contents-begin 7596 :contents-end 7632 :post-blank 0 :post-affiliated 7596 :mode nil :granularity nil :parent #354) #("End of the GN2 installation recipe!\n" 0 36 (:parent #371)))))) (headline (:raw-value "Run MySQL server" :begin 7633 :end 9008 :pre-blank 1 :contents-begin 7653 :contents-end 9007 :robust-begin 7655 :robust-end 9005 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7633 :title (#("Run MySQL server" 0 16 (:parent #345))) :mode nil :granularity nil :parent #338) (section (:begin 7653 :end 9008 :contents-begin 7653 :contents-end 9007 :robust-begin 7653 :robust-end 9005 :post-blank 1 :post-affiliated 7653 :mode section :granularity nil :parent #345) (paragraph (:begin 7653 :end 7928 :contents-begin 7653 :contents-end 7927 :post-blank 1 :post-affiliated 7653 :mode planning :granularity nil :parent #348) #("At this point we require the underlying distribution to install and\nrun mysqld. Currently we have two databases for deployment,\n'db" 0 131 (:parent #351)) (subscript (:begin 7784 :end 7791 :use-brackets-p nil :contents-begin 7785 :contents-end 7791 :post-blank 0 :parent #351) #("webqtl" 0 6 (:parent #355))) (subscript (:begin 7791 :end 7793 :use-brackets-p nil :contents-begin 7792 :contents-end 7793 :post-blank 0 :parent #351) #("s" 0 1 (:parent #356))) #("' is the small testing database containing experiments\nfrom BXD mice and 'db" 0 76 (:parent #351)) (subscript (:begin 7869 :end 7876 :use-brackets-p nil :contents-begin 7870 :contents-end 7876 :post-blank 0 :parent #351) #("webqtl" 0 6 (:parent #358))) (subscript (:begin 7876 :end 7882 :use-brackets-p nil :contents-begin 7877 :contents-end 7882 :post-blank 0 :parent #351) #("plant" 0 5 (:parent #359))) #("' which contains all plant related\nmaterial.\n" 0 45 (:parent #351))) (paragraph (:begin 7928 :end 7956 :contents-begin 7928 :contents-end 7955 :post-blank 1 :post-affiliated 7928 :mode nil :granularity nil :parent #348) #("Download one database from\n" 0 27 (:parent #352))) (paragraph (:begin 7956 :end 8054 :contents-begin 7956 :contents-end 8053 :post-blank 1 :post-affiliated 7956 :mode nil :granularity nil :parent #348) (link (:type "http" :path "//files.genenetwork.org/raw_database/" :format plain :raw-link "http://files.genenetwork.org/raw_database/" :application nil :search-option nil :begin 7956 :end 7998 :contents-begin nil :contents-end nil :post-blank 0 :parent #353)) #("\n" 0 1 (:parent #353)) (link (:type "https" :path "//s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :format plain :raw-link "https://s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :application nil :search-option nil :begin 7999 :end 8052 :contents-begin nil :contents-end nil :post-blank 0 :parent #353)) #("\n" 0 1 (:parent #353))) (paragraph (:begin 8054 :end 8073 :contents-begin 8054 :contents-end 8072 :post-blank 1 :post-affiliated 8054 :mode nil :granularity nil :parent #348) #("Check the md5sum.\n" 0 18 (:parent #354))) (paragraph (:begin 8073 :end 8195 :contents-begin 8073 :contents-end 8194 :post-blank 1 :post-affiliated 8073 :mode nil :granularity nil :parent #348) #("After installation inflate the database binary in the MySQL directory\n(this installation path is subject to change soon)\n" 0 121 (:parent #355))) (fixed-width (:begin 8195 :end 8283 :value "chown -R mysql:mysql db_webqtl_s/\nchmod 700 db_webqtl_s/\nchmod 660 db_webqtl_s/*" :post-blank 2 :post-affiliated 8195 :mode nil :granularity nil :parent #348)) (paragraph (:begin 8283 :end 8334 :contents-begin 8283 :contents-end 8333 :post-blank 1 :post-affiliated 8283 :mode nil :granularity nil :parent #348) #("restart MySQL service (mysqld). Login as root and\n" 0 50 (:parent #357))) (fixed-width (:begin 8334 :end 8560 :value "mysql> show databases;\n+--------------------+\n| Database |\n+--------------------+\n| information_schema |\n| db_webqtl_s |\n| mysql |\n| performance_schema |\n+--------------------+" :post-blank 2 :post-affiliated 8334 :mode nil :granularity nil :parent #348)) (paragraph (:begin 8560 :end 8625 :contents-begin 8560 :contents-end 8624 :post-blank 1 :post-affiliated 8560 :mode nil :granularity nil :parent #348) #("Set permissions and match password in your settings file below:\n" 0 64 (:parent #359))) (fixed-width (:begin 8625 :end 8724 :value "mysql> grant all privileges on db_webqtl_s.* to gn2@\"localhost\" identified by 'mysql_password';" :post-blank 2 :post-affiliated 8625 :mode nil :granularity nil :parent #348)) (paragraph (:begin 8724 :end 8875 :contents-begin 8724 :contents-end 8874 :post-blank 1 :post-affiliated 8724 :mode nil :granularity nil :parent #348) #("Note that if the mysql connection is not working, try connecting to\nthe IP address and check server firewall, hosts.allow and mysql IP\nconfiguration.\n" 0 150 (:parent #361))) (paragraph (:begin 8875 :end 9007 :contents-begin 8875 :contents-end 9007 :post-blank 0 :post-affiliated 8875 :mode nil :granularity nil :parent #348) #("Note for the plant database you can rename it to db" 0 51 (:parent #362)) (subscript (:begin 8926 :end 8933 :use-brackets-p nil :contents-begin 8927 :contents-end 8933 :post-blank 0 :parent #362) #("webqtl" 0 6 (:parent #366))) (subscript (:begin 8933 :end 8935 :use-brackets-p nil :contents-begin 8934 :contents-end 8935 :post-blank 0 :parent #362) #("s" 0 1 (:parent #367))) #(", or\nchange the settings in etc/default" 0 39 (:parent #362)) (subscript (:begin 8974 :end 8987 :use-brackets-p nil :contents-begin 8975 :contents-end 8986 :post-blank 1 :parent #362) #("settings.py" 0 11 (:parent #369))) #("to match your path.\n" 0 20 (:parent #362))))) (headline (:raw-value "GN2 Dependency Graph" :begin 9008 :end 9172 :pre-blank 1 :contents-begin 9032 :contents-end 9171 :robust-begin 9034 :robust-end 9169 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9008 :title (#("GN2 Dependency Graph" 0 20 (:parent #346))) :mode nil :granularity nil :parent #338) (section (:begin 9032 :end 9172 :contents-begin 9032 :contents-end 9171 :robust-begin 9032 :robust-end 9169 :post-blank 1 :post-affiliated 9032 :mode section :granularity nil :parent #346) (paragraph (:begin 9032 :end 9093 :contents-begin 9032 :contents-end 9092 :post-blank 1 :post-affiliated 9032 :mode planning :granularity nil :parent #349) #("Graph of all runtime dependencies as installed by GNU Guix.\n" 0 60 (:parent #352))) (paragraph (:begin 9093 :end 9171 :contents-begin 9123 :contents-end 9171 :post-blank 0 :post-affiliated 9123 :attr_html (":title GN2_graph") :mode nil :granularity nil :parent #349) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg" :format plain :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg" :application nil :search-option nil :begin 9123 :end 9170 :contents-begin nil :contents-end nil :post-blank 0 :parent #353)) #("\n" 0 1 (:parent #353))))) (headline (:raw-value "Source deployment" :begin 9172 :end 12840 :pre-blank 1 :contents-begin 9193 :contents-end 12839 :robust-begin 9195 :robust-end 12837 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9172 :title (#("Source deployment" 0 17 (:parent #347))) :mode nil :granularity nil :parent #338) (section (:begin 9193 :end 9612 :contents-begin 9193 :contents-end 9610 :robust-begin 9193 :robust-end 9608 :post-blank 2 :post-affiliated 9193 :mode section :granularity nil :parent #347) (paragraph (:begin 9193 :end 9274 :contents-begin 9193 :contents-end 9273 :post-blank 1 :post-affiliated 9193 :mode planning :granularity nil :parent #350) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #353))) (paragraph (:begin 9274 :end 9304 :contents-begin 9274 :contents-end 9303 :post-blank 1 :post-affiliated 9274 :mode nil :granularity nil :parent #350) #("First execute above 4 steps:\n" 0 29 (:parent #354))) (plain-list (:type unordered :begin 9304 :end 9610 :contents-begin 9304 :contents-end 9610 :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :post-blank 0 :post-affiliated 9304 :mode nil :granularity nil :parent #350) (item (:bullet "- " :begin 9304 :end 9364 :contents-begin 9309 :contents-end 9364 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9304 :tag nil :mode item :granularity nil :parent #355) (paragraph (:begin 9309 :end 9364 :contents-begin 9309 :contents-end 9364 :post-blank 0 :post-affiliated 9309 :mode nil :granularity nil :parent #358) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 9309 :end 9363 :contents-begin 9337 :contents-end 9361 :post-blank 0 :parent #361) #("Step 1: Install GNU Guix" 0 24 (:parent #364))) #("\n" 0 1 (:parent #361)))) (item (:bullet "- " :begin 9364 :end 9458 :contents-begin 9369 :contents-end 9458 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9364 :tag nil :mode item :granularity nil :parent #355) (paragraph (:begin 9369 :end 9458 :contents-begin 9369 :contents-end 9458 :post-blank 0 :post-affiliated 9369 :mode nil :granularity nil :parent #359) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 9369 :end 9457 :contents-begin 9414 :contents-end 9455 :post-blank 0 :parent #362) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #365))) #("\n" 0 1 (:parent #362)))) (item (:bullet "- " :begin 9458 :end 9542 :contents-begin 9463 :contents-end 9542 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9458 :tag nil :mode item :granularity nil :parent #355) (paragraph (:begin 9463 :end 9542 :contents-begin 9463 :contents-end 9542 :post-blank 0 :post-affiliated 9463 :mode nil :granularity nil :parent #360) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 9463 :end 9541 :contents-begin 9503 :contents-end 9539 :post-blank 0 :parent #363) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #366))) #("\n" 0 1 (:parent #363)))) (item (:bullet "- " :begin 9542 :end 9610 :contents-begin 9547 :contents-end 9610 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9542 :tag nil :mode item :granularity nil :parent #355) (paragraph (:begin 9547 :end 9610 :contents-begin 9547 :contents-end 9610 :post-blank 0 :post-affiliated 9547 :mode nil :granularity nil :parent #361) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 9547 :end 9609 :contents-begin 9579 :contents-end 9607 :post-blank 0 :parent #364) #("Step 4: Install and run GN2 " 0 28 (:parent #367))) #("\n" 0 1 (:parent #364)))))) (headline (:raw-value "Run your own copy of GN2" :begin 9612 :end 10722 :pre-blank 1 :contents-begin 9641 :contents-end 10721 :robust-begin 9643 :robust-end 10719 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9612 :title (#("Run your own copy of GN2" 0 24 (:parent #351))) :mode nil :granularity nil :parent #347) (section (:begin 9641 :end 10722 :contents-begin 9641 :contents-end 10721 :robust-begin 9641 :robust-end 10719 :post-blank 1 :post-affiliated 9641 :mode section :granularity nil :parent #351) (paragraph (:begin 9641 :end 9839 :contents-begin 9641 :contents-end 9838 :post-blank 1 :post-affiliated 9641 :mode planning :granularity nil :parent #354) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #357)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 9793 :end 9836 :contents-begin nil :contents-end nil :post-blank 0 :parent #357)) #(".\n" 0 2 (:parent #357))) (paragraph (:begin 9839 :end 9964 :contents-begin 9839 :contents-end 9963 :post-blank 1 :post-affiliated 9839 :mode nil :granularity nil :parent #354) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #358)) (subscript (:begin 9896 :end 9902 :use-brackets-p nil :contents-begin 9897 :contents-end 9901 :post-blank 1 :parent #358) #("PATH" 0 4 (:parent #362))) #("and\nR" 0 5 (:parent #358)) (subscript (:begin 9907 :end 9912 :use-brackets-p nil :contents-begin 9908 :contents-end 9912 :post-blank 0 :parent #358) #("LIBS" 0 4 (:parent #364))) (subscript (:begin 9912 :end 9918 :use-brackets-p nil :contents-begin 9913 :contents-end 9917 :post-blank 1 :parent #358) #("SITE" 0 4 (:parent #365))) #("are set) from the information given by guix:\n" 0 45 (:parent #358))) (fixed-width (:begin 9964 :end 9995 :value "guix package --search-paths" :post-blank 2 :post-affiliated 9964 :mode nil :granularity nil :parent #354)) (paragraph (:begin 9995 :end 10019 :contents-begin 9995 :contents-end 10018 :post-blank 1 :post-affiliated 9995 :mode nil :granularity nil :parent #354) #("Inside the repository:\n" 0 23 (:parent #360))) (fixed-width (:begin 10019 :end 10059 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 10019 :mode nil :granularity nil :parent #354)) (paragraph (:begin 10059 :end 10303 :contents-begin 10059 :contents-end 10302 :post-blank 1 :post-affiliated 10059 :mode nil :granularity nil :parent #354) #("Will fire up your local repo " 0 29 (:parent #362)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 10088 :end 10111 :contents-begin nil :contents-end nil :post-blank 1 :parent #362)) #("using the\nsettings in ./etc/default" 0 35 (:parent #362)) (subscript (:begin 10146 :end 10158 :use-brackets-p nil :contents-begin 10147 :contents-end 10158 :post-blank 0 :parent #362) #("settings.py" 0 11 (:parent #368))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #362)) (subscript (:begin 10263 :end 10276 :use-brackets-p nil :contents-begin 10264 :contents-end 10275 :post-blank 1 :parent #362) #("settings.py" 0 11 (:parent #370))) #("and pass it into GN2 with\n" 0 26 (:parent #362))) (fixed-width (:begin 10303 :end 10346 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 10303 :mode nil :granularity nil :parent #354)) (paragraph (:begin 10346 :end 10492 :contents-begin 10346 :contents-end 10491 :post-blank 1 :post-affiliated 10346 :mode nil :granularity nil :parent #354) #("and everything " 0 15 (:parent #364)) (bold (:begin 10361 :end 10370 :post-blank 1 :contents-begin 10362 :contents-end 10368 :parent #364) #("should" 0 6 (:parent #368))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #364))) (paragraph (:begin 10492 :end 10620 :contents-begin 10492 :contents-end 10619 :post-blank 1 :post-affiliated 10492 :mode nil :granularity nil :parent #354) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #365))) (fixed-width (:begin 10620 :end 10721 :value "cat ~/.guix-profile/lib/python2.7/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 10620 :mode nil :granularity nil :parent #354)))) (headline (:raw-value "Set up nginx port forwarding" :begin 10722 :end 12840 :pre-blank 1 :contents-begin 10755 :contents-end 12839 :robust-begin 10757 :robust-end 12837 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 10722 :title (#("Set up nginx port forwarding" 0 28 (:parent #352))) :mode nil :granularity nil :parent #347) (section (:begin 10755 :end 12840 :contents-begin 10755 :contents-end 12839 :robust-begin 10755 :robust-end 12837 :post-blank 1 :post-affiliated 10755 :mode section :granularity nil :parent #352) (paragraph (:begin 10755 :end 10923 :contents-begin 10755 :contents-end 10922 :post-blank 1 :post-affiliated 10755 :mode planning :granularity nil :parent #355) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #358))) (paragraph (:begin 10923 :end 11063 :contents-begin 10923 :contents-end 11062 :post-blank 1 :post-affiliated 10923 :mode nil :granularity nil :parent #355) #("#+begin" 0 7 (:parent #359)) (subscript (:begin 10930 :end 10935 :use-brackets-p nil :contents-begin 10931 :contents-end 10934 :post-blank 1 :parent #359) #("src" 0 3 (:parent #363))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #359)) (subscript (:begin 10984 :end 10990 :use-brackets-p nil :contents-begin 10985 :contents-end 10989 :post-blank 1 :parent #359) #("name" 0 4 (:parent #365))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #359)) (subscript (:begin 11030 :end 11036 :use-brackets-p nil :contents-begin 11031 :contents-end 11034 :post-blank 2 :parent #359) #("log" 0 3 (:parent #367))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #359))) (paragraph (:begin 11063 :end 11232 :contents-begin 11063 :contents-end 11231 :post-blank 1 :post-affiliated 11063 :mode nil :granularity nil :parent #355) #(" proxy" 0 13 (:parent #360)) (subscript (:begin 11076 :end 11084 :use-brackets-p nil :contents-begin 11077 :contents-end 11084 :post-blank 0 :parent #360) #("connect" 0 7 (:parent #364))) (subscript (:begin 11084 :end 11099 :use-brackets-p nil :contents-begin 11085 :contents-end 11092 :post-blank 7 :parent #360) #("timeout" 0 7 (:parent #365))) #("3000;\n proxy" 0 19 (:parent #360)) (subscript (:begin 11118 :end 11123 :use-brackets-p nil :contents-begin 11119 :contents-end 11123 :post-blank 0 :parent #360) #("send" 0 4 (:parent #367))) (subscript (:begin 11123 :end 11141 :use-brackets-p nil :contents-begin 11124 :contents-end 11131 :post-blank 10 :parent #360) #("timeout" 0 7 (:parent #368))) #("3000;\n proxy" 0 19 (:parent #360)) (subscript (:begin 11160 :end 11165 :use-brackets-p nil :contents-begin 11161 :contents-end 11165 :post-blank 0 :parent #360) #("read" 0 4 (:parent #370))) (subscript (:begin 11165 :end 11183 :use-brackets-p nil :contents-begin 11166 :contents-end 11173 :post-blank 10 :parent #360) #("timeout" 0 7 (:parent #371))) #("3000;\n send" 0 18 (:parent #360)) (subscript (:begin 11201 :end 11225 :use-brackets-p nil :contents-begin 11202 :contents-end 11209 :post-blank 16 :parent #360) #("timeout" 0 7 (:parent #373))) #("3000;\n" 0 6 (:parent #360))) (paragraph (:begin 11232 :end 11632 :contents-begin 11232 :contents-end 11631 :post-blank 1 :post-affiliated 11232 :mode nil :granularity nil :parent #355) #(" location / {\n proxy" 0 38 (:parent #361)) (subscript (:begin 11270 :end 11274 :use-brackets-p nil :contents-begin 11271 :contents-end 11274 :post-blank 0 :parent #361) #("set" 0 3 (:parent #365))) (subscript (:begin 11274 :end 11284 :use-brackets-p nil :contents-begin 11275 :contents-end 11281 :post-blank 3 :parent #361) #("header" 0 6 (:parent #366))) #("Host $http" 0 15 (:parent #361)) (subscript (:begin 11299 :end 11304 :use-brackets-p nil :contents-begin 11300 :contents-end 11304 :post-blank 0 :parent #361) #("host" 0 4 (:parent #368))) #(";\n proxy" 0 19 (:parent #361)) (subscript (:begin 11323 :end 11327 :use-brackets-p nil :contents-begin 11324 :contents-end 11327 :post-blank 0 :parent #361) #("set" 0 3 (:parent #370))) (subscript (:begin 11327 :end 11337 :use-brackets-p nil :contents-begin 11328 :contents-end 11334 :post-blank 3 :parent #361) #("header" 0 6 (:parent #371))) #("Connection keep-alive;\n proxy" 0 40 (:parent #361)) (subscript (:begin 11377 :end 11381 :use-brackets-p nil :contents-begin 11378 :contents-end 11381 :post-blank 0 :parent #361) #("set" 0 3 (:parent #373))) (subscript (:begin 11381 :end 11391 :use-brackets-p nil :contents-begin 11382 :contents-end 11388 :post-blank 3 :parent #361) #("header" 0 6 (:parent #374))) #("X-Real-IP $remote" 0 17 (:parent #361)) (subscript (:begin 11408 :end 11413 :use-brackets-p nil :contents-begin 11409 :contents-end 11413 :post-blank 0 :parent #361) #("addr" 0 4 (:parent #376))) #(";\n proxy" 0 19 (:parent #361)) (subscript (:begin 11432 :end 11436 :use-brackets-p nil :contents-begin 11433 :contents-end 11436 :post-blank 0 :parent #361) #("set" 0 3 (:parent #378))) (subscript (:begin 11436 :end 11446 :use-brackets-p nil :contents-begin 11437 :contents-end 11443 :post-blank 3 :parent #361) #("header" 0 6 (:parent #379))) #("X-Forwarded-For $proxy" 0 22 (:parent #361)) (subscript (:begin 11468 :end 11472 :use-brackets-p nil :contents-begin 11469 :contents-end 11472 :post-blank 0 :parent #361) #("add" 0 3 (:parent #381))) (subscript (:begin 11472 :end 11474 :use-brackets-p nil :contents-begin 11473 :contents-end 11474 :post-blank 0 :parent #361) #("x" 0 1 (:parent #382))) (subscript (:begin 11474 :end 11484 :use-brackets-p nil :contents-begin 11475 :contents-end 11484 :post-blank 0 :parent #361) #("forwarded" 0 9 (:parent #383))) (subscript (:begin 11484 :end 11488 :use-brackets-p nil :contents-begin 11485 :contents-end 11488 :post-blank 0 :parent #361) #("for" 0 3 (:parent #384))) #(";\n proxy" 0 19 (:parent #361)) (subscript (:begin 11507 :end 11511 :use-brackets-p nil :contents-begin 11508 :contents-end 11511 :post-blank 0 :parent #361) #("set" 0 3 (:parent #386))) (subscript (:begin 11511 :end 11521 :use-brackets-p nil :contents-begin 11512 :contents-end 11518 :post-blank 3 :parent #361) #("header" 0 6 (:parent #387))) #("X-Forwarded-Host $server" 0 24 (:parent #361)) (subscript (:begin 11545 :end 11550 :use-brackets-p nil :contents-begin 11546 :contents-end 11550 :post-blank 0 :parent #361) #("name" 0 4 (:parent #389))) #(";\n proxy" 0 19 (:parent #361)) (subscript (:begin 11569 :end 11583 :use-brackets-p nil :contents-begin 11570 :contents-end 11574 :post-blank 9 :parent #361) #("pass" 0 4 (:parent #391))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 11583 :end 11604 :contents-begin nil :contents-end nil :post-blank 0 :parent #361)) #(";\n }\n}\n#+end" 0 19 (:parent #361)) (subscript (:begin 11623 :end 11628 :use-brackets-p nil :contents-begin 11624 :contents-end 11627 :post-blank 1 :parent #361) #("src" 0 3 (:parent #394))) #("js\n" 0 3 (:parent #361))) (paragraph (:begin 11632 :end 11671 :contents-begin 11632 :contents-end 11670 :post-blank 1 :post-affiliated 11632 :mode nil :granularity nil :parent #355) #("Install the nginx webserver (as root)\n" 0 38 (:parent #362))) (fixed-width (:begin 11671 :end 11696 :value "guix package -i nginx" :post-blank 2 :post-affiliated 11671 :mode nil :granularity nil :parent #355)) (paragraph (:begin 11696 :end 11777 :contents-begin 11696 :contents-end 11776 :post-blank 1 :post-affiliated 11696 :mode nil :granularity nil :parent #355) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #364))) (fixed-width (:begin 11777 :end 11964 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 11777 :mode nil :granularity nil :parent #355)) (paragraph (:begin 11964 :end 11979 :contents-begin 11964 :contents-end 11978 :post-blank 1 :post-affiliated 11964 :mode nil :granularity nil :parent #355) #("Use that path\n" 0 14 (:parent #366))) (fixed-width (:begin 11979 :end 12373 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 11979 :mode nil :granularity nil :parent #355)) (paragraph (:begin 12373 :end 12599 :contents-begin 12373 :contents-end 12599 :post-blank 0 :post-affiliated 12373 :mode nil :granularity nil :parent #355) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #368))) (fixed-width (:begin 12599 :end 12646 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 12599 :mode nil :granularity nil :parent #355)) (paragraph (:begin 12646 :end 12657 :contents-begin 12646 :contents-end 12656 :post-blank 1 :post-affiliated 12646 :mode nil :granularity nil :parent #355) #("Make dirs\n" 0 10 (:parent #370))) (fixed-width (:begin 12657 :end 12691 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 12657 :mode nil :granularity nil :parent #355)) (paragraph (:begin 12691 :end 12702 :contents-begin 12691 :contents-end 12701 :post-blank 1 :post-affiliated 12691 :mode nil :granularity nil :parent #355) #("Add users\n" 0 10 (:parent #372))) (fixed-width (:begin 12702 :end 12738 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 12702 :mode nil :granularity nil :parent #355)) (paragraph (:begin 12738 :end 12749 :contents-begin 12738 :contents-end 12748 :post-blank 1 :post-affiliated 12738 :mode nil :granularity nil :parent #355) #("Run nginx\n" 0 10 (:parent #374))) (fixed-width (:begin 12749 :end 12839 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 12749 :mode nil :granularity nil :parent #355))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 12840 :end 13801 :pre-blank 1 :contents-begin 12902 :contents-end 13801 :robust-begin 12904 :robust-end 13799 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12840 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #348))) :mode nil :granularity nil :parent #338) (section (:begin 12902 :end 12959 :contents-begin 12902 :contents-end 12958 :robust-begin 12902 :robust-end 12956 :post-blank 1 :post-affiliated 12902 :mode section :granularity nil :parent #348) (paragraph (:begin 12902 :end 12958 :contents-begin 12902 :contents-end 12958 :post-blank 0 :post-affiliated 12902 :mode planning :granularity nil :parent #351) #("See the document " 0 17 (:parent #354)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 12919 :end 12956 :contents-begin nil :contents-end nil :post-blank 0 :parent #354)) #(".\n" 0 2 (:parent #354)))) (headline (:raw-value "Update to recent guix" :begin 12959 :end 13409 :pre-blank 1 :contents-begin 12985 :contents-end 13408 :robust-begin 12987 :robust-end 13406 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12959 :title (#("Update to recent guix" 0 21 (:parent #352))) :mode nil :granularity nil :parent #348) (section (:begin 12985 :end 13409 :contents-begin 12985 :contents-end 13408 :robust-begin 12985 :robust-end 13406 :post-blank 1 :post-affiliated 12985 :mode section :granularity nil :parent #352) (paragraph (:begin 12985 :end 13020 :contents-begin 12985 :contents-end 13019 :post-blank 1 :post-affiliated 12985 :mode planning :granularity nil :parent #355) #("We now compile Guix from scratch.\n" 0 34 (:parent #358))) (paragraph (:begin 13020 :end 13295 :contents-begin 13020 :contents-end 13294 :post-blank 1 :post-affiliated 13020 :mode nil :granularity nil :parent #355) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #359)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 13159 :end 13272 :contents-begin 13264 :contents-end 13269 :post-blank 1 :parent #359) #("these" 0 5 (:parent #363))) #("steps carefully after\n" 0 22 (:parent #359))) (fixed-width (:begin 13295 :end 13330 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 13295 :mode nil :granularity nil :parent #355)) (paragraph (:begin 13330 :end 13408 :contents-begin 13330 :contents-end 13408 :post-blank 0 :post-affiliated 13330 :mode nil :granularity nil :parent #355) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #361))))) (headline (:raw-value "Install GN2" :begin 13409 :end 13801 :pre-blank 1 :contents-begin 13425 :contents-end 13801 :robust-begin 13427 :robust-end 13799 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 13409 :title (#("Install GN2" 0 11 (:parent #353))) :mode nil :granularity nil :parent #348) (section (:begin 13425 :end 13801 :contents-begin 13425 :contents-end 13801 :robust-begin 13425 :robust-end 13799 :post-blank 0 :post-affiliated 13425 :mode section :granularity nil :parent #353) (paragraph (:begin 13425 :end 13468 :contents-begin 13425 :contents-end 13467 :post-blank 1 :post-affiliated 13425 :mode planning :granularity nil :parent #356) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #359))) (paragraph (:begin 13468 :end 13676 :contents-begin 13468 :contents-end 13675 :post-blank 1 :post-affiliated 13468 :mode nil :granularity nil :parent #356) #("#+begin" 0 7 (:parent #360)) (subscript (:begin 13475 :end 13480 :use-brackets-p nil :contents-begin 13476 :contents-end 13479 :post-blank 1 :parent #360) #("src" 0 3 (:parent #364))) #("bash\nenv GUIX" 0 13 (:parent #360)) (subscript (:begin 13493 :end 13501 :use-brackets-p nil :contents-begin 13494 :contents-end 13501 :post-blank 0 :parent #360) #("PACKAGE" 0 7 (:parent #366))) (subscript (:begin 13501 :end 13506 :use-brackets-p nil :contents-begin 13502 :contents-end 13506 :post-blank 0 :parent #360) #("PATH" 0 4 (:parent #367))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #360)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 13605 :end 13633 :contents-begin nil :contents-end nil :post-blank 1 :parent #360)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 13633 :end 13658 :contents-begin nil :contents-end nil :post-blank 0 :parent #360)) #("\"\n#+end" 0 7 (:parent #360)) (subscript (:begin 13665 :end 13670 :use-brackets-p nil :contents-begin 13666 :contents-end 13669 :post-blank 1 :parent #360) #("src" 0 3 (:parent #372))) #("bash\n" 0 5 (:parent #360))) (paragraph (:begin 13676 :end 13714 :contents-begin 13676 :contents-end 13713 :post-blank 1 :post-affiliated 13676 :mode nil :granularity nil :parent #356) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #361))) (paragraph (:begin 13714 :end 13801 :contents-begin 13714 :contents-end 13801 :post-blank 0 :post-affiliated 13714 :mode nil :granularity nil :parent #356) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #362))))))) :headline-offset 0 :headline-numbering nil :id-alist nil :citations nil :id-local-cache #)) #f(compiled-function (element) #)((plain-list (:type unordered :begin 121 :end 1403 :contents-begin 121 :contents-end 1403 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 121 :mode planning :granularity nil :parent (section (:begin 121 :end 1404 :contents-begin 121 :contents-end 1403 :robust-begin 121 :robust-end 1401 :post-blank 1 :post-affiliated 121 :mode section :granularity nil :parent (headline (:raw-value "Table of Contents" :begin 43 :end 1404 :pre-blank 0 :contents-begin 121 :contents-end 1403 :robust-begin 123 :robust-end 1401 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 43 :title (#("Table of Contents" 0 17 (:parent #48))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13801 :end 13801 :robust-begin 3 :robust-end 13799 :post-blank 0 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 43 :contents-begin 1 :contents-end 42 :robust-begin 1 :robust-end 40 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #94) (keyword (:key "TITLE" :value "Installing GeneNetwork services" :begin 1 :end 42 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #97))) #48 (headline (:raw-value "Introduction" :begin 1404 :end 2450 :pre-blank 1 :contents-begin 1420 :contents-end 2449 :robust-begin 1422 :robust-end 2447 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1404 :title (#("Introduction" 0 12 (:parent #99))) :mode nil :granularity nil :parent #94) (section (:begin 1420 :end 2450 :contents-begin 1420 :contents-end 2449 :robust-begin 1420 :robust-end 2447 :post-blank 1 :post-affiliated 1420 :mode section :granularity nil :parent #99) (paragraph (:begin 1420 :end 1557 :contents-begin 1420 :contents-end 1556 :post-blank 1 :post-affiliated 1420 :mode planning :granularity nil :parent #102) #("If you want to understand the architecture of GN2 read\n" 0 55 (:parent #105)) (link (:type "fuzzy" :path "Architecture.org" :format bracket :raw-link "Architecture.org" :application nil :search-option nil :begin 1475 :end 1495 :contents-begin nil :contents-end nil :post-blank 0 :parent #105)) #(". The rest of this document is mostly on deployment\nof GN2.\n" 0 61 (:parent #105))) (paragraph (:begin 1557 :end 1943 :contents-begin 1557 :contents-end 1942 :post-blank 1 :post-affiliated 1557 :mode nil :granularity nil :parent #102) #("Large system deployments can get very " 0 38 (:parent #106)) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg " :format bracket :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg " :application nil :search-option nil :begin 1595 :end 1656 :contents-begin 1647 :contents-end 1654 :post-blank 0 :parent #106) #("complex" 0 7 (:parent #110))) #(". In this document we\nexplain the GeneNetwork version 2 (GN2) reproducible deployment system\nwhich is based on GNU Guix (see also " 0 130 (:parent #106)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1786 :end 1860 :contents-begin 1848 :contents-end 1858 :post-blank 0 :parent #106) #("Guix-notes" 0 10 (:parent #112))) #("). The Guix\nsystem can be used to install GN with all its files and dependencies.\n" 0 82 (:parent #106))) (paragraph (:begin 1943 :end 2328 :contents-begin 1943 :contents-end 2327 :post-blank 1 :post-affiliated 1943 :mode nil :granularity nil :parent #102) #("The official installation path is from a checked out version of the\nmain Guix package tree and that of the Genenetwork package\ntree. Current supported versions can be found as the SHA values of\n'gn-latest' branches of " 0 218 (:parent #107)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :application nil :search-option nil :begin 2161 :end 2252 :contents-begin 2230 :contents-end 2249 :post-blank 1 :parent #107) #("Guix bioinformatics" 0 19 (:parent #111))) #("and " 0 4 (:parent #107)) (link (:type "https" :path "//github.com/genenetwork/guix/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix/tree/gn-latest" :application nil :search-option nil :begin 2256 :end 2325 :contents-begin 2310 :contents-end 2323 :post-blank 0 :parent #107) #("GNU Guix main" 0 13 (:parent #113))) #(".\n" 0 2 (:parent #107))) (paragraph (:begin 2328 :end 2449 :contents-begin 2328 :contents-end 2449 :post-blank 0 :post-affiliated 2328 :mode nil :granularity nil :parent #102) #("For a full view of runtime dependencies as defined by GNU Guix, see\nthe " 0 72 (:parent #108)) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 2400 :end 2447 :contents-begin 2425 :contents-end 2445 :post-blank 0 :parent #108) #("GN2 Dependency Graph" 0 20 (:parent #112))) #(".\n" 0 2 (:parent #108))))) (headline (:raw-value "Quick installation recipe" :begin 2450 :end 7633 :pre-blank 1 :contents-begin 2479 :contents-end 7632 :robust-begin 2481 :robust-end 7630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 2450 :title (#("Quick installation recipe" 0 25 (:parent #100))) :mode nil :granularity nil :parent #94) (section (:begin 2479 :end 3022 :contents-begin 2479 :contents-end 3021 :robust-begin 2479 :robust-end 3019 :post-blank 1 :post-affiliated 2479 :mode section :granularity nil :parent #100) (paragraph (:begin 2479 :end 2880 :contents-begin 2479 :contents-end 2879 :post-blank 1 :post-affiliated 2479 :mode planning :granularity nil :parent #103) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS). For more elaborate installation\ninstructions see " 0 357 (:parent #106)) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 2836 :end 2877 :contents-begin 2858 :contents-end 2875 :post-blank 0 :parent #106) #("Source deployment" 0 17 (:parent #110))) #(".\n" 0 2 (:parent #106))) (paragraph (:begin 2880 :end 3021 :contents-begin 2880 :contents-end 3021 :post-blank 0 :post-affiliated 2880 :mode nil :granularity nil :parent #103) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #107)))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 3022 :end 4649 :pre-blank 1 :contents-begin 3051 :contents-end 4648 :robust-begin 3053 :robust-end 4646 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3022 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #104))) :mode nil :granularity nil :parent #100) (section (:begin 3051 :end 4649 :contents-begin 3051 :contents-end 4648 :robust-begin 3051 :robust-end 4646 :post-blank 1 :post-affiliated 3051 :mode section :granularity nil :parent #104) (paragraph (:begin 3051 :end 3504 :contents-begin 3051 :contents-end 3503 :post-blank 1 :post-affiliated 3051 :mode planning :granularity nil :parent #107) #("Fetch the GNU Guix binary from " 0 31 (:parent #110)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 3082 :end 3136 :contents-begin 3129 :contents-end 3133 :post-blank 1 :parent #110) #("here" 0 4 (:parent #114))) #("(middle panel) and follow\n" 0 26 (:parent #110)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 3162 :end 3255 :contents-begin 3241 :contents-end 3253 :post-blank 0 :parent #110) #("instructions" 0 12 (:parent #116))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #110))) (paragraph (:begin 3504 :end 3782 :contents-begin 3504 :contents-end 3781 :post-blank 1 :post-affiliated 3504 :mode nil :granularity nil :parent #107) #("Once you have succeeded, you have to " 0 37 (:parent #111)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 3541 :end 3631 :contents-begin 3617 :contents-end 3628 :post-blank 1 :parent #111) #("set the key" 0 11 (:parent #115))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #111))) (src-block (:language "bash" :switches nil :parameters nil :begin 3782 :end 3890 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 3782 :mode nil :granularity nil :parent #107)) (paragraph (:begin 3890 :end 3924 :contents-begin 3890 :contents-end 3923 :post-blank 1 :post-affiliated 3890 :mode nil :granularity nil :parent #107) #("Which should show something like\n" 0 33 (:parent #113))) (fixed-width (:begin 3924 :end 4034 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 3924 :mode nil :granularity nil :parent #107)) (paragraph (:begin 4034 :end 4045 :contents-begin 4034 :contents-end 4044 :post-blank 1 :post-affiliated 4034 :mode nil :granularity nil :parent #107) #("#+end" 0 5 (:parent #115)) (subscript (:begin 4039 :end 4043 :use-brackets-p nil :contents-begin 4040 :contents-end 4043 :post-blank 0 :parent #115) #("src" 0 3 (:parent #119))) #("\n" 0 1 (:parent #115))) (paragraph (:begin 4045 :end 4116 :contents-begin 4045 :contents-end 4115 :post-blank 1 :post-affiliated 4045 :mode nil :granularity nil :parent #107) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #116))) (src-block (:language "bash" :switches nil :parameters nil :begin 4116 :end 4188 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 4116 :mode nil :granularity nil :parent #107)) (paragraph (:begin 4188 :end 4375 :contents-begin 4188 :contents-end 4374 :post-blank 1 :post-affiliated 4188 :mode nil :granularity nil :parent #107) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #118))) (paragraph (:begin 4375 :end 4648 :contents-begin 4375 :contents-end 4648 :post-blank 0 :post-affiliated 4375 :mode nil :granularity nil :parent #107) #("If you need more help we have another writeup in " 0 49 (:parent #119)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 4424 :end 4520 :contents-begin 4508 :contents-end 4518 :post-blank 0 :parent #119) #("guix-notes" 0 10 (:parent #123))) #(". To get\nrid of the locale warning see " 0 39 (:parent #119)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 4559 :end 4646 :contents-begin 4634 :contents-end 4644 :post-blank 0 :parent #119) #("set-locale" 0 10 (:parent #125))) #(".\n" 0 2 (:parent #119))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 4649 :end 5304 :pre-blank 1 :contents-begin 4695 :contents-end 5302 :robust-begin 4697 :robust-end 5300 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4649 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #105))) :mode nil :granularity nil :parent #100) (section (:begin 4695 :end 5304 :contents-begin 4695 :contents-end 5302 :robust-begin 4695 :robust-end 5300 :post-blank 2 :post-affiliated 4695 :mode section :granularity nil :parent #105) (paragraph (:begin 4695 :end 4815 :contents-begin 4695 :contents-end 4814 :post-blank 1 :post-affiliated 4695 :mode planning :granularity nil :parent #108) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #111))) (src-block (:language "bash" :switches nil :parameters nil :begin 4815 :end 4920 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 4815 :mode nil :granularity nil :parent #108)) (paragraph (:begin 4920 :end 4971 :contents-begin 4920 :contents-end 4970 :post-blank 1 :post-affiliated 4920 :mode nil :granularity nil :parent #108) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #113))) (paragraph (:begin 4971 :end 5232 :contents-begin 4971 :contents-end 5231 :post-blank 1 :post-affiliated 4971 :mode nil :granularity nil :parent #108) #("#+begin" 0 7 (:parent #114)) (subscript (:begin 4978 :end 4983 :use-brackets-p nil :contents-begin 4979 :contents-end 4982 :post-blank 1 :parent #114) #("src" 0 3 (:parent #118))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #114)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 5055 :end 5105 :contents-begin nil :contents-end nil :post-blank 0 :parent #114)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #114)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 5147 :end 5183 :contents-begin nil :contents-end nil :post-blank 1 :parent #114)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #114)) (subscript (:begin 5221 :end 5226 :use-brackets-p nil :contents-begin 5222 :contents-end 5225 :post-blank 1 :parent #114) #("src" 0 3 (:parent #124))) #("bash\n" 0 5 (:parent #114))) (paragraph (:begin 5232 :end 5270 :contents-begin 5232 :contents-end 5269 :post-blank 1 :post-affiliated 5232 :mode nil :granularity nil :parent #108) #("To test whether this is working try:\n" 0 37 (:parent #115))) (paragraph (:begin 5270 :end 5302 :contents-begin 5270 :contents-end 5302 :post-blank 0 :post-affiliated 5270 :mode nil :granularity nil :parent #108) #("#+begin" 0 7 (:parent #116)) (subscript (:begin 5277 :end 5282 :use-brackets-p nil :contents-begin 5278 :contents-end 5281 :post-blank 1 :parent #116) #("src" 0 3 (:parent #120))) #("bash\n#+end" 0 10 (:parent #116)) (subscript (:begin 5292 :end 5297 :use-brackets-p nil :contents-begin 5293 :contents-end 5296 :post-blank 1 :parent #116) #("src" 0 3 (:parent #122))) #("bash\n" 0 5 (:parent #116))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 5304 :end 5755 :pre-blank 1 :contents-begin 5345 :contents-end 5754 :robust-begin 5347 :robust-end 5752 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5304 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #106))) :mode nil :granularity nil :parent #100) (section (:begin 5345 :end 5755 :contents-begin 5345 :contents-end 5754 :robust-begin 5345 :robust-end 5752 :post-blank 1 :post-affiliated 5345 :mode section :granularity nil :parent #106) (paragraph (:begin 5345 :end 5445 :contents-begin 5345 :contents-end 5444 :post-blank 1 :post-affiliated 5345 :mode planning :granularity nil :parent #109) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #112))) (src-block (:language "scheme" :switches nil :parameters nil :begin 5445 :end 5589 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 5445 :mode nil :granularity nil :parent #109)) (paragraph (:begin 5589 :end 5621 :contents-begin 5589 :contents-end 5620 :post-blank 1 :post-affiliated 5589 :mode nil :granularity nil :parent #109) #("by pasting it into the command\n" 0 31 (:parent #114))) (src-block (:language "bash" :switches nil :parameters nil :begin 5621 :end 5674 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 5621 :mode nil :granularity nil :parent #109)) (paragraph (:begin 5674 :end 5691 :contents-begin 5674 :contents-end 5690 :post-blank 1 :post-affiliated 5674 :mode nil :granularity nil :parent #109) #("and hit Ctrl-D.\n" 0 16 (:parent #116))) (paragraph (:begin 5691 :end 5754 :contents-begin 5691 :contents-end 5754 :post-blank 0 :post-affiliated 5691 :mode nil :granularity nil :parent #109) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #117))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 5755 :end 7633 :pre-blank 1 :contents-begin 5787 :contents-end 7632 :robust-begin 5789 :robust-end 7630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5755 :title (#("Step 4: Install and run GN2" 0 27 (:parent #107))) :mode nil :granularity nil :parent #100) (section (:begin 5787 :end 7633 :contents-begin 5787 :contents-end 7632 :robust-begin 5787 :robust-end 7630 :post-blank 1 :post-affiliated 5787 :mode section :granularity nil :parent #107) (paragraph (:begin 5787 :end 5927 :contents-begin 5787 :contents-end 5926 :post-blank 1 :post-affiliated 5787 :mode planning :granularity nil :parent #110) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #113))) (src-block (:language "bash" :switches nil :parameters nil :begin 5927 :end 6046 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 5927 :mode nil :granularity nil :parent #110)) (paragraph (:begin 6046 :end 6099 :contents-begin 6046 :contents-end 6098 :post-blank 1 :post-affiliated 6046 :mode nil :granularity nil :parent #110) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #115))) (src-block (:language "bash" :switches nil :parameters nil :begin 6099 :end 6289 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 6099 :mode nil :granularity nil :parent #110)) (paragraph (:begin 6289 :end 6398 :contents-begin 6289 :contents-end 6397 :post-blank 1 :post-affiliated 6289 :mode nil :granularity nil :parent #110) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #117)) (italic (:begin 6360 :end 6366 :post-blank 0 :contents-begin 6361 :contents-end 6365 :parent #117) #("root" 0 4 (:parent #121))) #(".config/guix/latest override).\n" 0 31 (:parent #117))) (paragraph (:begin 6398 :end 6416 :contents-begin 6398 :contents-end 6415 :post-blank 1 :post-affiliated 6398 :mode nil :granularity nil :parent #110) #("And install with\n" 0 17 (:parent #118))) (src-block (:language "bash" :switches nil :parameters nil :begin 6416 :end 6586 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 6416 :mode nil :granularity nil :parent #110)) (paragraph (:begin 6586 :end 6729 :contents-begin 6586 :contents-end 6728 :post-blank 1 :post-affiliated 6586 :mode nil :granularity nil :parent #110) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #120))) (paragraph (:begin 6729 :end 6925 :contents-begin 6729 :contents-end 6924 :post-blank 1 :post-affiliated 6729 :mode nil :granularity nil :parent #110) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #121))) (paragraph (:begin 6925 :end 7056 :contents-begin 6925 :contents-end 7055 :post-blank 1 :post-affiliated 6925 :mode nil :granularity nil :parent #110) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #122))) (src-block (:language "bash" :switches nil :parameters nil :begin 7056 :end 7235 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python2.7/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 7056 :mode nil :granularity nil :parent #110)) (paragraph (:begin 7235 :end 7304 :contents-begin 7235 :contents-end 7303 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #110) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #124))) (src-block (:language "bash" :switches nil :parameters nil :begin 7304 :end 7345 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 7304 :mode nil :granularity nil :parent #110)) (paragraph (:begin 7345 :end 7596 :contents-begin 7345 :contents-end 7595 :post-blank 1 :post-affiliated 7345 :mode nil :granularity nil :parent #110) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #126)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 7567 :end 7593 :contents-begin nil :contents-end nil :post-blank 0 :parent #126)) #(".\n" 0 2 (:parent #126))) (paragraph (:begin 7596 :end 7632 :contents-begin 7596 :contents-end 7632 :post-blank 0 :post-affiliated 7596 :mode nil :granularity nil :parent #110) #("End of the GN2 installation recipe!\n" 0 36 (:parent #127)))))) (headline (:raw-value "Run MySQL server" :begin 7633 :end 9008 :pre-blank 1 :contents-begin 7653 :contents-end 9007 :robust-begin 7655 :robust-end 9005 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7633 :title (#("Run MySQL server" 0 16 (:parent #101))) :mode nil :granularity nil :parent #94) (section (:begin 7653 :end 9008 :contents-begin 7653 :contents-end 9007 :robust-begin 7653 :robust-end 9005 :post-blank 1 :post-affiliated 7653 :mode section :granularity nil :parent #101) (paragraph (:begin 7653 :end 7928 :contents-begin 7653 :contents-end 7927 :post-blank 1 :post-affiliated 7653 :mode planning :granularity nil :parent #104) #("At this point we require the underlying distribution to install and\nrun mysqld. Currently we have two databases for deployment,\n'db" 0 131 (:parent #107)) (subscript (:begin 7784 :end 7791 :use-brackets-p nil :contents-begin 7785 :contents-end 7791 :post-blank 0 :parent #107) #("webqtl" 0 6 (:parent #111))) (subscript (:begin 7791 :end 7793 :use-brackets-p nil :contents-begin 7792 :contents-end 7793 :post-blank 0 :parent #107) #("s" 0 1 (:parent #112))) #("' is the small testing database containing experiments\nfrom BXD mice and 'db" 0 76 (:parent #107)) (subscript (:begin 7869 :end 7876 :use-brackets-p nil :contents-begin 7870 :contents-end 7876 :post-blank 0 :parent #107) #("webqtl" 0 6 (:parent #114))) (subscript (:begin 7876 :end 7882 :use-brackets-p nil :contents-begin 7877 :contents-end 7882 :post-blank 0 :parent #107) #("plant" 0 5 (:parent #115))) #("' which contains all plant related\nmaterial.\n" 0 45 (:parent #107))) (paragraph (:begin 7928 :end 7956 :contents-begin 7928 :contents-end 7955 :post-blank 1 :post-affiliated 7928 :mode nil :granularity nil :parent #104) #("Download one database from\n" 0 27 (:parent #108))) (paragraph (:begin 7956 :end 8054 :contents-begin 7956 :contents-end 8053 :post-blank 1 :post-affiliated 7956 :mode nil :granularity nil :parent #104) (link (:type "http" :path "//files.genenetwork.org/raw_database/" :format plain :raw-link "http://files.genenetwork.org/raw_database/" :application nil :search-option nil :begin 7956 :end 7998 :contents-begin nil :contents-end nil :post-blank 0 :parent #109)) #("\n" 0 1 (:parent #109)) (link (:type "https" :path "//s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :format plain :raw-link "https://s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :application nil :search-option nil :begin 7999 :end 8052 :contents-begin nil :contents-end nil :post-blank 0 :parent #109)) #("\n" 0 1 (:parent #109))) (paragraph (:begin 8054 :end 8073 :contents-begin 8054 :contents-end 8072 :post-blank 1 :post-affiliated 8054 :mode nil :granularity nil :parent #104) #("Check the md5sum.\n" 0 18 (:parent #110))) (paragraph (:begin 8073 :end 8195 :contents-begin 8073 :contents-end 8194 :post-blank 1 :post-affiliated 8073 :mode nil :granularity nil :parent #104) #("After installation inflate the database binary in the MySQL directory\n(this installation path is subject to change soon)\n" 0 121 (:parent #111))) (fixed-width (:begin 8195 :end 8283 :value "chown -R mysql:mysql db_webqtl_s/\nchmod 700 db_webqtl_s/\nchmod 660 db_webqtl_s/*" :post-blank 2 :post-affiliated 8195 :mode nil :granularity nil :parent #104)) (paragraph (:begin 8283 :end 8334 :contents-begin 8283 :contents-end 8333 :post-blank 1 :post-affiliated 8283 :mode nil :granularity nil :parent #104) #("restart MySQL service (mysqld). Login as root and\n" 0 50 (:parent #113))) (fixed-width (:begin 8334 :end 8560 :value "mysql> show databases;\n+--------------------+\n| Database |\n+--------------------+\n| information_schema |\n| db_webqtl_s |\n| mysql |\n| performance_schema |\n+--------------------+" :post-blank 2 :post-affiliated 8334 :mode nil :granularity nil :parent #104)) (paragraph (:begin 8560 :end 8625 :contents-begin 8560 :contents-end 8624 :post-blank 1 :post-affiliated 8560 :mode nil :granularity nil :parent #104) #("Set permissions and match password in your settings file below:\n" 0 64 (:parent #115))) (fixed-width (:begin 8625 :end 8724 :value "mysql> grant all privileges on db_webqtl_s.* to gn2@\"localhost\" identified by 'mysql_password';" :post-blank 2 :post-affiliated 8625 :mode nil :granularity nil :parent #104)) (paragraph (:begin 8724 :end 8875 :contents-begin 8724 :contents-end 8874 :post-blank 1 :post-affiliated 8724 :mode nil :granularity nil :parent #104) #("Note that if the mysql connection is not working, try connecting to\nthe IP address and check server firewall, hosts.allow and mysql IP\nconfiguration.\n" 0 150 (:parent #117))) (paragraph (:begin 8875 :end 9007 :contents-begin 8875 :contents-end 9007 :post-blank 0 :post-affiliated 8875 :mode nil :granularity nil :parent #104) #("Note for the plant database you can rename it to db" 0 51 (:parent #118)) (subscript (:begin 8926 :end 8933 :use-brackets-p nil :contents-begin 8927 :contents-end 8933 :post-blank 0 :parent #118) #("webqtl" 0 6 (:parent #122))) (subscript (:begin 8933 :end 8935 :use-brackets-p nil :contents-begin 8934 :contents-end 8935 :post-blank 0 :parent #118) #("s" 0 1 (:parent #123))) #(", or\nchange the settings in etc/default" 0 39 (:parent #118)) (subscript (:begin 8974 :end 8987 :use-brackets-p nil :contents-begin 8975 :contents-end 8986 :post-blank 1 :parent #118) #("settings.py" 0 11 (:parent #125))) #("to match your path.\n" 0 20 (:parent #118))))) (headline (:raw-value "GN2 Dependency Graph" :begin 9008 :end 9172 :pre-blank 1 :contents-begin 9032 :contents-end 9171 :robust-begin 9034 :robust-end 9169 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9008 :title (#("GN2 Dependency Graph" 0 20 (:parent #102))) :mode nil :granularity nil :parent #94) (section (:begin 9032 :end 9172 :contents-begin 9032 :contents-end 9171 :robust-begin 9032 :robust-end 9169 :post-blank 1 :post-affiliated 9032 :mode section :granularity nil :parent #102) (paragraph (:begin 9032 :end 9093 :contents-begin 9032 :contents-end 9092 :post-blank 1 :post-affiliated 9032 :mode planning :granularity nil :parent #105) #("Graph of all runtime dependencies as installed by GNU Guix.\n" 0 60 (:parent #108))) (paragraph (:begin 9093 :end 9171 :contents-begin 9123 :contents-end 9171 :post-blank 0 :post-affiliated 9123 :attr_html (":title GN2_graph") :mode nil :granularity nil :parent #105) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg" :format plain :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg" :application nil :search-option nil :begin 9123 :end 9170 :contents-begin nil :contents-end nil :post-blank 0 :parent #109)) #("\n" 0 1 (:parent #109))))) (headline (:raw-value "Source deployment" :begin 9172 :end 12840 :pre-blank 1 :contents-begin 9193 :contents-end 12839 :robust-begin 9195 :robust-end 12837 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9172 :title (#("Source deployment" 0 17 (:parent #103))) :mode nil :granularity nil :parent #94) (section (:begin 9193 :end 9612 :contents-begin 9193 :contents-end 9610 :robust-begin 9193 :robust-end 9608 :post-blank 2 :post-affiliated 9193 :mode section :granularity nil :parent #103) (paragraph (:begin 9193 :end 9274 :contents-begin 9193 :contents-end 9273 :post-blank 1 :post-affiliated 9193 :mode planning :granularity nil :parent #106) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #109))) (paragraph (:begin 9274 :end 9304 :contents-begin 9274 :contents-end 9303 :post-blank 1 :post-affiliated 9274 :mode nil :granularity nil :parent #106) #("First execute above 4 steps:\n" 0 29 (:parent #110))) (plain-list (:type unordered :begin 9304 :end 9610 :contents-begin 9304 :contents-end 9610 :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :post-blank 0 :post-affiliated 9304 :mode nil :granularity nil :parent #106) (item (:bullet "- " :begin 9304 :end 9364 :contents-begin 9309 :contents-end 9364 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9304 :tag nil :mode item :granularity nil :parent #111) (paragraph (:begin 9309 :end 9364 :contents-begin 9309 :contents-end 9364 :post-blank 0 :post-affiliated 9309 :mode nil :granularity nil :parent #114) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 9309 :end 9363 :contents-begin 9337 :contents-end 9361 :post-blank 0 :parent #117) #("Step 1: Install GNU Guix" 0 24 (:parent #120))) #("\n" 0 1 (:parent #117)))) (item (:bullet "- " :begin 9364 :end 9458 :contents-begin 9369 :contents-end 9458 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9364 :tag nil :mode item :granularity nil :parent #111) (paragraph (:begin 9369 :end 9458 :contents-begin 9369 :contents-end 9458 :post-blank 0 :post-affiliated 9369 :mode nil :granularity nil :parent #115) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 9369 :end 9457 :contents-begin 9414 :contents-end 9455 :post-blank 0 :parent #118) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #121))) #("\n" 0 1 (:parent #118)))) (item (:bullet "- " :begin 9458 :end 9542 :contents-begin 9463 :contents-end 9542 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9458 :tag nil :mode item :granularity nil :parent #111) (paragraph (:begin 9463 :end 9542 :contents-begin 9463 :contents-end 9542 :post-blank 0 :post-affiliated 9463 :mode nil :granularity nil :parent #116) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 9463 :end 9541 :contents-begin 9503 :contents-end 9539 :post-blank 0 :parent #119) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #122))) #("\n" 0 1 (:parent #119)))) (item (:bullet "- " :begin 9542 :end 9610 :contents-begin 9547 :contents-end 9610 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9542 :tag nil :mode item :granularity nil :parent #111) (paragraph (:begin 9547 :end 9610 :contents-begin 9547 :contents-end 9610 :post-blank 0 :post-affiliated 9547 :mode nil :granularity nil :parent #117) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 9547 :end 9609 :contents-begin 9579 :contents-end 9607 :post-blank 0 :parent #120) #("Step 4: Install and run GN2 " 0 28 (:parent #123))) #("\n" 0 1 (:parent #120)))))) (headline (:raw-value "Run your own copy of GN2" :begin 9612 :end 10722 :pre-blank 1 :contents-begin 9641 :contents-end 10721 :robust-begin 9643 :robust-end 10719 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9612 :title (#("Run your own copy of GN2" 0 24 (:parent #107))) :mode nil :granularity nil :parent #103) (section (:begin 9641 :end 10722 :contents-begin 9641 :contents-end 10721 :robust-begin 9641 :robust-end 10719 :post-blank 1 :post-affiliated 9641 :mode section :granularity nil :parent #107) (paragraph (:begin 9641 :end 9839 :contents-begin 9641 :contents-end 9838 :post-blank 1 :post-affiliated 9641 :mode planning :granularity nil :parent #110) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #113)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 9793 :end 9836 :contents-begin nil :contents-end nil :post-blank 0 :parent #113)) #(".\n" 0 2 (:parent #113))) (paragraph (:begin 9839 :end 9964 :contents-begin 9839 :contents-end 9963 :post-blank 1 :post-affiliated 9839 :mode nil :granularity nil :parent #110) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #114)) (subscript (:begin 9896 :end 9902 :use-brackets-p nil :contents-begin 9897 :contents-end 9901 :post-blank 1 :parent #114) #("PATH" 0 4 (:parent #118))) #("and\nR" 0 5 (:parent #114)) (subscript (:begin 9907 :end 9912 :use-brackets-p nil :contents-begin 9908 :contents-end 9912 :post-blank 0 :parent #114) #("LIBS" 0 4 (:parent #120))) (subscript (:begin 9912 :end 9918 :use-brackets-p nil :contents-begin 9913 :contents-end 9917 :post-blank 1 :parent #114) #("SITE" 0 4 (:parent #121))) #("are set) from the information given by guix:\n" 0 45 (:parent #114))) (fixed-width (:begin 9964 :end 9995 :value "guix package --search-paths" :post-blank 2 :post-affiliated 9964 :mode nil :granularity nil :parent #110)) (paragraph (:begin 9995 :end 10019 :contents-begin 9995 :contents-end 10018 :post-blank 1 :post-affiliated 9995 :mode nil :granularity nil :parent #110) #("Inside the repository:\n" 0 23 (:parent #116))) (fixed-width (:begin 10019 :end 10059 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 10019 :mode nil :granularity nil :parent #110)) (paragraph (:begin 10059 :end 10303 :contents-begin 10059 :contents-end 10302 :post-blank 1 :post-affiliated 10059 :mode nil :granularity nil :parent #110) #("Will fire up your local repo " 0 29 (:parent #118)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 10088 :end 10111 :contents-begin nil :contents-end nil :post-blank 1 :parent #118)) #("using the\nsettings in ./etc/default" 0 35 (:parent #118)) (subscript (:begin 10146 :end 10158 :use-brackets-p nil :contents-begin 10147 :contents-end 10158 :post-blank 0 :parent #118) #("settings.py" 0 11 (:parent #124))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #118)) (subscript (:begin 10263 :end 10276 :use-brackets-p nil :contents-begin 10264 :contents-end 10275 :post-blank 1 :parent #118) #("settings.py" 0 11 (:parent #126))) #("and pass it into GN2 with\n" 0 26 (:parent #118))) (fixed-width (:begin 10303 :end 10346 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 10303 :mode nil :granularity nil :parent #110)) (paragraph (:begin 10346 :end 10492 :contents-begin 10346 :contents-end 10491 :post-blank 1 :post-affiliated 10346 :mode nil :granularity nil :parent #110) #("and everything " 0 15 (:parent #120)) (bold (:begin 10361 :end 10370 :post-blank 1 :contents-begin 10362 :contents-end 10368 :parent #120) #("should" 0 6 (:parent #124))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #120))) (paragraph (:begin 10492 :end 10620 :contents-begin 10492 :contents-end 10619 :post-blank 1 :post-affiliated 10492 :mode nil :granularity nil :parent #110) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #121))) (fixed-width (:begin 10620 :end 10721 :value "cat ~/.guix-profile/lib/python2.7/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 10620 :mode nil :granularity nil :parent #110)))) (headline (:raw-value "Set up nginx port forwarding" :begin 10722 :end 12840 :pre-blank 1 :contents-begin 10755 :contents-end 12839 :robust-begin 10757 :robust-end 12837 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 10722 :title (#("Set up nginx port forwarding" 0 28 (:parent #108))) :mode nil :granularity nil :parent #103) (section (:begin 10755 :end 12840 :contents-begin 10755 :contents-end 12839 :robust-begin 10755 :robust-end 12837 :post-blank 1 :post-affiliated 10755 :mode section :granularity nil :parent #108) (paragraph (:begin 10755 :end 10923 :contents-begin 10755 :contents-end 10922 :post-blank 1 :post-affiliated 10755 :mode planning :granularity nil :parent #111) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #114))) (paragraph (:begin 10923 :end 11063 :contents-begin 10923 :contents-end 11062 :post-blank 1 :post-affiliated 10923 :mode nil :granularity nil :parent #111) #("#+begin" 0 7 (:parent #115)) (subscript (:begin 10930 :end 10935 :use-brackets-p nil :contents-begin 10931 :contents-end 10934 :post-blank 1 :parent #115) #("src" 0 3 (:parent #119))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #115)) (subscript (:begin 10984 :end 10990 :use-brackets-p nil :contents-begin 10985 :contents-end 10989 :post-blank 1 :parent #115) #("name" 0 4 (:parent #121))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #115)) (subscript (:begin 11030 :end 11036 :use-brackets-p nil :contents-begin 11031 :contents-end 11034 :post-blank 2 :parent #115) #("log" 0 3 (:parent #123))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #115))) (paragraph (:begin 11063 :end 11232 :contents-begin 11063 :contents-end 11231 :post-blank 1 :post-affiliated 11063 :mode nil :granularity nil :parent #111) #(" proxy" 0 13 (:parent #116)) (subscript (:begin 11076 :end 11084 :use-brackets-p nil :contents-begin 11077 :contents-end 11084 :post-blank 0 :parent #116) #("connect" 0 7 (:parent #120))) (subscript (:begin 11084 :end 11099 :use-brackets-p nil :contents-begin 11085 :contents-end 11092 :post-blank 7 :parent #116) #("timeout" 0 7 (:parent #121))) #("3000;\n proxy" 0 19 (:parent #116)) (subscript (:begin 11118 :end 11123 :use-brackets-p nil :contents-begin 11119 :contents-end 11123 :post-blank 0 :parent #116) #("send" 0 4 (:parent #123))) (subscript (:begin 11123 :end 11141 :use-brackets-p nil :contents-begin 11124 :contents-end 11131 :post-blank 10 :parent #116) #("timeout" 0 7 (:parent #124))) #("3000;\n proxy" 0 19 (:parent #116)) (subscript (:begin 11160 :end 11165 :use-brackets-p nil :contents-begin 11161 :contents-end 11165 :post-blank 0 :parent #116) #("read" 0 4 (:parent #126))) (subscript (:begin 11165 :end 11183 :use-brackets-p nil :contents-begin 11166 :contents-end 11173 :post-blank 10 :parent #116) #("timeout" 0 7 (:parent #127))) #("3000;\n send" 0 18 (:parent #116)) (subscript (:begin 11201 :end 11225 :use-brackets-p nil :contents-begin 11202 :contents-end 11209 :post-blank 16 :parent #116) #("timeout" 0 7 (:parent #129))) #("3000;\n" 0 6 (:parent #116))) (paragraph (:begin 11232 :end 11632 :contents-begin 11232 :contents-end 11631 :post-blank 1 :post-affiliated 11232 :mode nil :granularity nil :parent #111) #(" location / {\n proxy" 0 38 (:parent #117)) (subscript (:begin 11270 :end 11274 :use-brackets-p nil :contents-begin 11271 :contents-end 11274 :post-blank 0 :parent #117) #("set" 0 3 (:parent #121))) (subscript (:begin 11274 :end 11284 :use-brackets-p nil :contents-begin 11275 :contents-end 11281 :post-blank 3 :parent #117) #("header" 0 6 (:parent #122))) #("Host $http" 0 15 (:parent #117)) (subscript (:begin 11299 :end 11304 :use-brackets-p nil :contents-begin 11300 :contents-end 11304 :post-blank 0 :parent #117) #("host" 0 4 (:parent #124))) #(";\n proxy" 0 19 (:parent #117)) (subscript (:begin 11323 :end 11327 :use-brackets-p nil :contents-begin 11324 :contents-end 11327 :post-blank 0 :parent #117) #("set" 0 3 (:parent #126))) (subscript (:begin 11327 :end 11337 :use-brackets-p nil :contents-begin 11328 :contents-end 11334 :post-blank 3 :parent #117) #("header" 0 6 (:parent #127))) #("Connection keep-alive;\n proxy" 0 40 (:parent #117)) (subscript (:begin 11377 :end 11381 :use-brackets-p nil :contents-begin 11378 :contents-end 11381 :post-blank 0 :parent #117) #("set" 0 3 (:parent #129))) (subscript (:begin 11381 :end 11391 :use-brackets-p nil :contents-begin 11382 :contents-end 11388 :post-blank 3 :parent #117) #("header" 0 6 (:parent #130))) #("X-Real-IP $remote" 0 17 (:parent #117)) (subscript (:begin 11408 :end 11413 :use-brackets-p nil :contents-begin 11409 :contents-end 11413 :post-blank 0 :parent #117) #("addr" 0 4 (:parent #132))) #(";\n proxy" 0 19 (:parent #117)) (subscript (:begin 11432 :end 11436 :use-brackets-p nil :contents-begin 11433 :contents-end 11436 :post-blank 0 :parent #117) #("set" 0 3 (:parent #134))) (subscript (:begin 11436 :end 11446 :use-brackets-p nil :contents-begin 11437 :contents-end 11443 :post-blank 3 :parent #117) #("header" 0 6 (:parent #135))) #("X-Forwarded-For $proxy" 0 22 (:parent #117)) (subscript (:begin 11468 :end 11472 :use-brackets-p nil :contents-begin 11469 :contents-end 11472 :post-blank 0 :parent #117) #("add" 0 3 (:parent #137))) (subscript (:begin 11472 :end 11474 :use-brackets-p nil :contents-begin 11473 :contents-end 11474 :post-blank 0 :parent #117) #("x" 0 1 (:parent #138))) (subscript (:begin 11474 :end 11484 :use-brackets-p nil :contents-begin 11475 :contents-end 11484 :post-blank 0 :parent #117) #("forwarded" 0 9 (:parent #139))) (subscript (:begin 11484 :end 11488 :use-brackets-p nil :contents-begin 11485 :contents-end 11488 :post-blank 0 :parent #117) #("for" 0 3 (:parent #140))) #(";\n proxy" 0 19 (:parent #117)) (subscript (:begin 11507 :end 11511 :use-brackets-p nil :contents-begin 11508 :contents-end 11511 :post-blank 0 :parent #117) #("set" 0 3 (:parent #142))) (subscript (:begin 11511 :end 11521 :use-brackets-p nil :contents-begin 11512 :contents-end 11518 :post-blank 3 :parent #117) #("header" 0 6 (:parent #143))) #("X-Forwarded-Host $server" 0 24 (:parent #117)) (subscript (:begin 11545 :end 11550 :use-brackets-p nil :contents-begin 11546 :contents-end 11550 :post-blank 0 :parent #117) #("name" 0 4 (:parent #145))) #(";\n proxy" 0 19 (:parent #117)) (subscript (:begin 11569 :end 11583 :use-brackets-p nil :contents-begin 11570 :contents-end 11574 :post-blank 9 :parent #117) #("pass" 0 4 (:parent #147))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 11583 :end 11604 :contents-begin nil :contents-end nil :post-blank 0 :parent #117)) #(";\n }\n}\n#+end" 0 19 (:parent #117)) (subscript (:begin 11623 :end 11628 :use-brackets-p nil :contents-begin 11624 :contents-end 11627 :post-blank 1 :parent #117) #("src" 0 3 (:parent #150))) #("js\n" 0 3 (:parent #117))) (paragraph (:begin 11632 :end 11671 :contents-begin 11632 :contents-end 11670 :post-blank 1 :post-affiliated 11632 :mode nil :granularity nil :parent #111) #("Install the nginx webserver (as root)\n" 0 38 (:parent #118))) (fixed-width (:begin 11671 :end 11696 :value "guix package -i nginx" :post-blank 2 :post-affiliated 11671 :mode nil :granularity nil :parent #111)) (paragraph (:begin 11696 :end 11777 :contents-begin 11696 :contents-end 11776 :post-blank 1 :post-affiliated 11696 :mode nil :granularity nil :parent #111) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #120))) (fixed-width (:begin 11777 :end 11964 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 11777 :mode nil :granularity nil :parent #111)) (paragraph (:begin 11964 :end 11979 :contents-begin 11964 :contents-end 11978 :post-blank 1 :post-affiliated 11964 :mode nil :granularity nil :parent #111) #("Use that path\n" 0 14 (:parent #122))) (fixed-width (:begin 11979 :end 12373 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 11979 :mode nil :granularity nil :parent #111)) (paragraph (:begin 12373 :end 12599 :contents-begin 12373 :contents-end 12599 :post-blank 0 :post-affiliated 12373 :mode nil :granularity nil :parent #111) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #124))) (fixed-width (:begin 12599 :end 12646 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 12599 :mode nil :granularity nil :parent #111)) (paragraph (:begin 12646 :end 12657 :contents-begin 12646 :contents-end 12656 :post-blank 1 :post-affiliated 12646 :mode nil :granularity nil :parent #111) #("Make dirs\n" 0 10 (:parent #126))) (fixed-width (:begin 12657 :end 12691 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 12657 :mode nil :granularity nil :parent #111)) (paragraph (:begin 12691 :end 12702 :contents-begin 12691 :contents-end 12701 :post-blank 1 :post-affiliated 12691 :mode nil :granularity nil :parent #111) #("Add users\n" 0 10 (:parent #128))) (fixed-width (:begin 12702 :end 12738 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 12702 :mode nil :granularity nil :parent #111)) (paragraph (:begin 12738 :end 12749 :contents-begin 12738 :contents-end 12748 :post-blank 1 :post-affiliated 12738 :mode nil :granularity nil :parent #111) #("Run nginx\n" 0 10 (:parent #130))) (fixed-width (:begin 12749 :end 12839 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 12749 :mode nil :granularity nil :parent #111))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 12840 :end 13801 :pre-blank 1 :contents-begin 12902 :contents-end 13801 :robust-begin 12904 :robust-end 13799 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12840 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #104))) :mode nil :granularity nil :parent #94) (section (:begin 12902 :end 12959 :contents-begin 12902 :contents-end 12958 :robust-begin 12902 :robust-end 12956 :post-blank 1 :post-affiliated 12902 :mode section :granularity nil :parent #104) (paragraph (:begin 12902 :end 12958 :contents-begin 12902 :contents-end 12958 :post-blank 0 :post-affiliated 12902 :mode planning :granularity nil :parent #107) #("See the document " 0 17 (:parent #110)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 12919 :end 12956 :contents-begin nil :contents-end nil :post-blank 0 :parent #110)) #(".\n" 0 2 (:parent #110)))) (headline (:raw-value "Update to recent guix" :begin 12959 :end 13409 :pre-blank 1 :contents-begin 12985 :contents-end 13408 :robust-begin 12987 :robust-end 13406 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12959 :title (#("Update to recent guix" 0 21 (:parent #108))) :mode nil :granularity nil :parent #104) (section (:begin 12985 :end 13409 :contents-begin 12985 :contents-end 13408 :robust-begin 12985 :robust-end 13406 :post-blank 1 :post-affiliated 12985 :mode section :granularity nil :parent #108) (paragraph (:begin 12985 :end 13020 :contents-begin 12985 :contents-end 13019 :post-blank 1 :post-affiliated 12985 :mode planning :granularity nil :parent #111) #("We now compile Guix from scratch.\n" 0 34 (:parent #114))) (paragraph (:begin 13020 :end 13295 :contents-begin 13020 :contents-end 13294 :post-blank 1 :post-affiliated 13020 :mode nil :granularity nil :parent #111) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #115)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 13159 :end 13272 :contents-begin 13264 :contents-end 13269 :post-blank 1 :parent #115) #("these" 0 5 (:parent #119))) #("steps carefully after\n" 0 22 (:parent #115))) (fixed-width (:begin 13295 :end 13330 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 13295 :mode nil :granularity nil :parent #111)) (paragraph (:begin 13330 :end 13408 :contents-begin 13330 :contents-end 13408 :post-blank 0 :post-affiliated 13330 :mode nil :granularity nil :parent #111) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #117))))) (headline (:raw-value "Install GN2" :begin 13409 :end 13801 :pre-blank 1 :contents-begin 13425 :contents-end 13801 :robust-begin 13427 :robust-end 13799 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 13409 :title (#("Install GN2" 0 11 (:parent #109))) :mode nil :granularity nil :parent #104) (section (:begin 13425 :end 13801 :contents-begin 13425 :contents-end 13801 :robust-begin 13425 :robust-end 13799 :post-blank 0 :post-affiliated 13425 :mode section :granularity nil :parent #109) (paragraph (:begin 13425 :end 13468 :contents-begin 13425 :contents-end 13467 :post-blank 1 :post-affiliated 13425 :mode planning :granularity nil :parent #112) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #115))) (paragraph (:begin 13468 :end 13676 :contents-begin 13468 :contents-end 13675 :post-blank 1 :post-affiliated 13468 :mode nil :granularity nil :parent #112) #("#+begin" 0 7 (:parent #116)) (subscript (:begin 13475 :end 13480 :use-brackets-p nil :contents-begin 13476 :contents-end 13479 :post-blank 1 :parent #116) #("src" 0 3 (:parent #120))) #("bash\nenv GUIX" 0 13 (:parent #116)) (subscript (:begin 13493 :end 13501 :use-brackets-p nil :contents-begin 13494 :contents-end 13501 :post-blank 0 :parent #116) #("PACKAGE" 0 7 (:parent #122))) (subscript (:begin 13501 :end 13506 :use-brackets-p nil :contents-begin 13502 :contents-end 13506 :post-blank 0 :parent #116) #("PATH" 0 4 (:parent #123))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #116)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 13605 :end 13633 :contents-begin nil :contents-end nil :post-blank 1 :parent #116)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 13633 :end 13658 :contents-begin nil :contents-end nil :post-blank 0 :parent #116)) #("\"\n#+end" 0 7 (:parent #116)) (subscript (:begin 13665 :end 13670 :use-brackets-p nil :contents-begin 13666 :contents-end 13669 :post-blank 1 :parent #116) #("src" 0 3 (:parent #128))) #("bash\n" 0 5 (:parent #116))) (paragraph (:begin 13676 :end 13714 :contents-begin 13676 :contents-end 13713 :post-blank 1 :post-affiliated 13676 :mode nil :granularity nil :parent #112) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #117))) (paragraph (:begin 13714 :end 13801 :contents-begin 13714 :contents-end 13801 :post-blank 0 :post-affiliated 13714 :mode nil :granularity nil :parent #112) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #118)))))))) #24)) #0)) (item (:bullet "- " :begin 121 :end 156 :contents-begin 124 :contents-end 156 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 121 :tag nil :mode item :granularity nil :parent #0) (paragraph (:begin 124 :end 156 :contents-begin 124 :contents-end 156 :post-blank 0 :post-affiliated 124 :mode nil :granularity nil :parent #3) (link (:type "custom-id" :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil :begin 124 :end 155 :contents-begin 141 :contents-end 153 :post-blank 0 :parent #6) #("Introduction" 0 12 (:parent #9))) #("\n" 0 1 (:parent #6)))) (item (:bullet "- " :begin 156 :end 521 :contents-begin 159 :contents-end 521 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 156 :tag nil :mode item :granularity nil :parent #0) (paragraph (:begin 159 :end 217 :contents-begin 159 :contents-end 217 :post-blank 0 :post-affiliated 159 :mode nil :granularity nil :parent #4) (link (:type "custom-id" :path "quick-installation-recipe" :format bracket :raw-link "#quick-installation-recipe" :application nil :search-option nil :begin 159 :end 216 :contents-begin 189 :contents-end 214 :post-blank 0 :parent #7) #("Quick installation recipe" 0 25 (:parent #10))) #("\n" 0 1 (:parent #7))) (plain-list (:type unordered :begin 217 :end 521 :contents-begin 217 :contents-end 521 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 217 :mode nil :granularity nil :parent #4) (item (:bullet "- " :begin 217 :end 277 :contents-begin 222 :contents-end 277 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 217 :tag nil :mode item :granularity nil :parent #8) (paragraph (:begin 222 :end 277 :contents-begin 222 :contents-end 277 :post-blank 0 :post-affiliated 222 :mode nil :granularity nil :parent #11) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 222 :end 276 :contents-begin 250 :contents-end 274 :post-blank 0 :parent #14) #("Step 1: Install GNU Guix" 0 24 (:parent #17))) #("\n" 0 1 (:parent #14)))) (item (:bullet "- " :begin 277 :end 371 :contents-begin 282 :contents-end 371 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 277 :tag nil :mode item :granularity nil :parent #8) (paragraph (:begin 282 :end 371 :contents-begin 282 :contents-end 371 :post-blank 0 :post-affiliated 282 :mode nil :granularity nil :parent #12) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 282 :end 370 :contents-begin 327 :contents-end 368 :post-blank 0 :parent #15) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #18))) #("\n" 0 1 (:parent #15)))) (item (:bullet "- " :begin 371 :end 455 :contents-begin 376 :contents-end 455 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 371 :tag nil :mode item :granularity nil :parent #8) (paragraph (:begin 376 :end 455 :contents-begin 376 :contents-end 455 :post-blank 0 :post-affiliated 376 :mode nil :granularity nil :parent #13) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 376 :end 454 :contents-begin 416 :contents-end 452 :post-blank 0 :parent #16) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #19))) #("\n" 0 1 (:parent #16)))) (item (:bullet "- " :begin 455 :end 521 :contents-begin 460 :contents-end 521 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 455 :tag nil :mode item :granularity nil :parent #8) (paragraph (:begin 460 :end 521 :contents-begin 460 :contents-end 521 :post-blank 0 :post-affiliated 460 :mode nil :granularity nil :parent #14) (link (:type "custom-id" :path "step-4-install-and-run-gn2" :format bracket :raw-link "#step-4-install-and-run-gn2" :application nil :search-option nil :begin 460 :end 520 :contents-begin 491 :contents-end 518 :post-blank 0 :parent #17) #("Step 4: Install and run GN2" 0 27 (:parent #20))) #("\n" 0 1 (:parent #17)))))) (item (:bullet "- " :begin 521 :end 564 :contents-begin 524 :contents-end 564 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 521 :tag nil :mode item :granularity nil :parent #0) (paragraph (:begin 524 :end 564 :contents-begin 524 :contents-end 564 :post-blank 0 :post-affiliated 524 :mode nil :granularity nil :parent #5) (link (:type "custom-id" :path "run-mysql-server" :format bracket :raw-link "#run-mysql-server" :application nil :search-option nil :begin 524 :end 563 :contents-begin 545 :contents-end 561 :post-blank 0 :parent #8) #("Run MySQL server" 0 16 (:parent #11))) #("\n" 0 1 (:parent #8)))) (item (:bullet "- " :begin 564 :end 615 :contents-begin 567 :contents-end 615 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 564 :tag nil :mode item :granularity nil :parent #0) (paragraph (:begin 567 :end 615 :contents-begin 567 :contents-end 615 :post-blank 0 :post-affiliated 567 :mode nil :granularity nil :parent #6) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 567 :end 614 :contents-begin 592 :contents-end 612 :post-blank 0 :parent #9) #("GN2 Dependency Graph" 0 20 (:parent #12))) #("\n" 0 1 (:parent #9)))) (item (:bullet "- " :begin 615 :end 790 :contents-begin 618 :contents-end 790 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 615 :tag nil :mode item :granularity nil :parent #0) (paragraph (:begin 618 :end 660 :contents-begin 618 :contents-end 660 :post-blank 0 :post-affiliated 618 :mode nil :granularity nil :parent #7) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 618 :end 659 :contents-begin 640 :contents-end 657 :post-blank 0 :parent #10) #("Source deployment" 0 17 (:parent #13))) #("\n" 0 1 (:parent #10))) (plain-list (:type unordered :begin 660 :end 790 :contents-begin 660 :contents-end 790 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 660 :mode nil :granularity nil :parent #7) (item (:bullet "- " :begin 660 :end 721 :contents-begin 665 :contents-end 721 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 660 :tag nil :mode item :granularity nil :parent #11) (paragraph (:begin 665 :end 721 :contents-begin 665 :contents-end 721 :post-blank 0 :post-affiliated 665 :mode nil :granularity nil :parent #14) (link (:type "custom-id" :path "run-your-own-copy-of-gn2" :format bracket :raw-link "#run-your-own-copy-of-gn2" :application nil :search-option nil :begin 665 :end 720 :contents-begin 694 :contents-end 718 :post-blank 0 :parent #17) #("Run your own copy of GN2" 0 24 (:parent #20))) #("\n" 0 1 (:parent #17)))) (item (:bullet "- " :begin 721 :end 790 :contents-begin 726 :contents-end 790 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 721 :tag nil :mode item :granularity nil :parent #11) (paragraph (:begin 726 :end 790 :contents-begin 726 :contents-end 790 :post-blank 0 :post-affiliated 726 :mode nil :granularity nil :parent #15) (link (:type "custom-id" :path "set-up-nginx-port-forwarding" :format bracket :raw-link "#set-up-nginx-port-forwarding" :application nil :search-option nil :begin 726 :end 789 :contents-begin 759 :contents-end 787 :post-blank 0 :parent #18) #("Set up nginx port forwarding" 0 28 (:parent #21))) #("\n" 0 1 (:parent #18)))))) (item (:bullet "- " :begin 790 :end 1034 :contents-begin 793 :contents-end 1034 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 790 :tag nil :mode item :granularity nil :parent #0) (paragraph (:begin 793 :end 917 :contents-begin 793 :contents-end 917 :post-blank 0 :post-affiliated 793 :mode nil :granularity nil :parent #8) (link (:type "custom-id" :path "source-deployment-and-other-information-on-reproducibility" :format bracket :raw-link "#source-deployment-and-other-information-on-reproducibility" :application nil :search-option nil :begin 793 :end 916 :contents-begin 856 :contents-end 914 :post-blank 0 :parent #11) #("Source deployment and other information on reproducibility" 0 58 (:parent #14))) #("\n" 0 1 (:parent #11))) (plain-list (:type unordered :begin 917 :end 1034 :contents-begin 917 :contents-end 1034 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 917 :mode nil :granularity nil :parent #8) (item (:bullet "- " :begin 917 :end 972 :contents-begin 922 :contents-end 972 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 917 :tag nil :mode item :granularity nil :parent #12) (paragraph (:begin 922 :end 972 :contents-begin 922 :contents-end 972 :post-blank 0 :post-affiliated 922 :mode nil :granularity nil :parent #15) (link (:type "custom-id" :path "update-to-recent-guix" :format bracket :raw-link "#update-to-recent-guix" :application nil :search-option nil :begin 922 :end 971 :contents-begin 948 :contents-end 969 :post-blank 0 :parent #18) #("Update to recent guix" 0 21 (:parent #21))) #("\n" 0 1 (:parent #18)))) (item (:bullet "- " :begin 972 :end 1007 :contents-begin 977 :contents-end 1007 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 972 :tag nil :mode item :granularity nil :parent #12) (paragraph (:begin 977 :end 1007 :contents-begin 977 :contents-end 1007 :post-blank 0 :post-affiliated 977 :mode nil :granularity nil :parent #16) (link (:type "custom-id" :path "install-gn2" :format bracket :raw-link "#install-gn2" :application nil :search-option nil :begin 977 :end 1006 :contents-begin 993 :contents-end 1004 :post-blank 0 :parent #19) #("Install GN2" 0 11 (:parent #22))) #("\n" 0 1 (:parent #19)))) (item (:bullet "- " :begin 1007 :end 1034 :contents-begin 1012 :contents-end 1034 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1007 :tag nil :mode item :granularity nil :parent #12) (paragraph (:begin 1012 :end 1034 :contents-begin 1012 :contents-end 1034 :post-blank 0 :post-affiliated 1012 :mode nil :granularity nil :parent #17) (link (:type "custom-id" :path "run-gn2" :format bracket :raw-link "#run-gn2" :application nil :search-option nil :begin 1012 :end 1033 :contents-begin 1024 :contents-end 1031 :post-blank 0 :parent #20) #("Run GN2" 0 7 (:parent #23))) #("\n" 0 1 (:parent #20)))))) (item (:bullet "- " :begin 1034 :end 1370 :contents-begin 1037 :contents-end 1370 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1034 :tag nil :mode item :granularity nil :parent #0) (paragraph (:begin 1037 :end 1077 :contents-begin 1037 :contents-end 1077 :post-blank 0 :post-affiliated 1037 :mode nil :granularity nil :parent #9) (link (:type "custom-id" :path "trouble-shooting" :format bracket :raw-link "#trouble-shooting" :application nil :search-option nil :begin 1037 :end 1076 :contents-begin 1058 :contents-end 1074 :post-blank 0 :parent #12) #("Trouble shooting" 0 16 (:parent #15))) #("\n" 0 1 (:parent #12))) (plain-list (:type unordered :begin 1077 :end 1370 :contents-begin 1077 :contents-end 1370 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 1077 :mode nil :granularity nil :parent #9) (item (:bullet "- " :begin 1077 :end 1159 :contents-begin 1082 :contents-end 1159 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1077 :tag nil :mode item :granularity nil :parent #13) (paragraph (:begin 1082 :end 1159 :contents-begin 1082 :contents-end 1159 :post-blank 0 :post-affiliated 1082 :mode nil :granularity nil :parent #16) (link (:type "custom-id" :path "importerror-no-module-named-jinja2" :format bracket :raw-link "#importerror-no-module-named-jinja2" :application nil :search-option nil :begin 1082 :end 1158 :contents-begin 1121 :contents-end 1156 :post-blank 0 :parent #19) #("ImportError: No module named jinja2" 0 35 (:parent #22))) #("\n" 0 1 (:parent #19)))) (item (:bullet "- " :begin 1159 :end 1257 :contents-begin 1164 :contents-end 1257 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1159 :tag nil :mode item :granularity nil :parent #13) (paragraph (:begin 1164 :end 1257 :contents-begin 1164 :contents-end 1257 :post-blank 0 :post-affiliated 1164 :mode nil :granularity nil :parent #17) (link (:type "custom-id" :path "error-can-not-find-directory-homegn2_data" :format bracket :raw-link "#error-can-not-find-directory-homegn2_data" :application nil :search-option nil :begin 1164 :end 1256 :contents-begin 1210 :contents-end 1254 :post-blank 0 :parent #20) #("ERROR: can not find directory $HOME/gn2" 0 39 (:parent #23)) (subscript (:begin 1249 :end 1254 :use-brackets-p nil :contents-begin 1250 :contents-end 1254 :post-blank 0 :parent #23) #("data" 0 4 (:parent #27)))) #("\n" 0 1 (:parent #20)))) (item (:bullet "- " :begin 1257 :end 1305 :contents-begin 1262 :contents-end 1305 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1257 :tag nil :mode item :granularity nil :parent #13) (paragraph (:begin 1262 :end 1305 :contents-begin 1262 :contents-end 1305 :post-blank 0 :post-affiliated 1262 :mode nil :granularity nil :parent #18) (link (:type "custom-id" :path "cant-run-a-module" :format bracket :raw-link "#cant-run-a-module" :application nil :search-option nil :begin 1262 :end 1304 :contents-begin 1284 :contents-end 1302 :post-blank 0 :parent #21) #("Can't run a module" 0 18 (:parent #24))) #("\n" 0 1 (:parent #21)))) (item (:bullet "- " :begin 1305 :end 1370 :contents-begin 1310 :contents-end 1370 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1305 :tag nil :mode item :granularity nil :parent #13) (paragraph (:begin 1310 :end 1370 :contents-begin 1310 :contents-end 1370 :post-blank 0 :post-affiliated 1310 :mode nil :granularity nil :parent #19) (link (:type "custom-id" :path "rpy2-error-show-now-found" :format bracket :raw-link "#rpy2-error-show-now-found" :application nil :search-option nil :begin 1310 :end 1369 :contents-begin 1340 :contents-end 1367 :post-blank 0 :parent #22) #("Rpy2 error 'show' now found" 0 27 (:parent #25))) #("\n" 0 1 (:parent #22)))))) (item (:bullet "- " :begin 1370 :end 1403 :contents-begin 1373 :contents-end 1403 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1370 :tag nil :mode item :granularity nil :parent #0) (paragraph (:begin 1373 :end 1403 :contents-begin 1373 :contents-end 1403 :post-blank 0 :post-affiliated 1373 :mode nil :granularity nil :parent #10) (link (:type "custom-id" :path "irc-session" :format bracket :raw-link "#irc-session" :application nil :search-option nil :begin 1373 :end 1402 :contents-begin 1389 :contents-end 1400 :post-blank 0 :parent #13) #("IRC session" 0 11 (:parent #16))) #("\n" 0 1 (:parent #13)))))) mapconcat(#f(compiled-function (element) #) ((plain-list (:type unordered :begin 121 :end 1403 :contents-begin 121 :contents-end 1403 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 121 :mode planning :granularity nil :parent (section (:begin 121 :end 1404 :contents-begin 121 :contents-end 1403 :robust-begin 121 :robust-end 1401 :post-blank 1 :post-affiliated 121 :mode section :granularity nil :parent (headline (:raw-value "Table of Contents" :begin 43 :end 1404 :pre-blank 0 :contents-begin 121 :contents-end 1403 :robust-begin 123 :robust-end 1401 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 43 :title (#("Table of Contents" 0 17 (:parent #49))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13801 :end 13801 :robust-begin 3 :robust-end 13799 :post-blank 0 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 43 :contents-begin 1 :contents-end 42 :robust-begin 1 :robust-end 40 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #95) (keyword (:key "TITLE" :value "Installing GeneNetwork services" :begin 1 :end 42 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #98))) #49 (headline (:raw-value "Introduction" :begin 1404 :end 2450 :pre-blank 1 :contents-begin 1420 :contents-end 2449 :robust-begin 1422 :robust-end 2447 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1404 :title (#("Introduction" 0 12 (:parent #100))) :mode nil :granularity nil :parent #95) (section (:begin 1420 :end 2450 :contents-begin 1420 :contents-end 2449 :robust-begin 1420 :robust-end 2447 :post-blank 1 :post-affiliated 1420 :mode section :granularity nil :parent #100) (paragraph (:begin 1420 :end 1557 :contents-begin 1420 :contents-end 1556 :post-blank 1 :post-affiliated 1420 :mode planning :granularity nil :parent #103) #("If you want to understand the architecture of GN2 read\n" 0 55 (:parent #106)) (link (:type "fuzzy" :path "Architecture.org" :format bracket :raw-link "Architecture.org" :application nil :search-option nil :begin 1475 :end 1495 :contents-begin nil :contents-end nil :post-blank 0 :parent #106)) #(". The rest of this document is mostly on deployment\nof GN2.\n" 0 61 (:parent #106))) (paragraph (:begin 1557 :end 1943 :contents-begin 1557 :contents-end 1942 :post-blank 1 :post-affiliated 1557 :mode nil :granularity nil :parent #103) #("Large system deployments can get very " 0 38 (:parent #107)) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg " :format bracket :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg " :application nil :search-option nil :begin 1595 :end 1656 :contents-begin 1647 :contents-end 1654 :post-blank 0 :parent #107) #("complex" 0 7 (:parent #111))) #(". In this document we\nexplain the GeneNetwork version 2 (GN2) reproducible deployment system\nwhich is based on GNU Guix (see also " 0 130 (:parent #107)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1786 :end 1860 :contents-begin 1848 :contents-end 1858 :post-blank 0 :parent #107) #("Guix-notes" 0 10 (:parent #113))) #("). The Guix\nsystem can be used to install GN with all its files and dependencies.\n" 0 82 (:parent #107))) (paragraph (:begin 1943 :end 2328 :contents-begin 1943 :contents-end 2327 :post-blank 1 :post-affiliated 1943 :mode nil :granularity nil :parent #103) #("The official installation path is from a checked out version of the\nmain Guix package tree and that of the Genenetwork package\ntree. Current supported versions can be found as the SHA values of\n'gn-latest' branches of " 0 218 (:parent #108)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :application nil :search-option nil :begin 2161 :end 2252 :contents-begin 2230 :contents-end 2249 :post-blank 1 :parent #108) #("Guix bioinformatics" 0 19 (:parent #112))) #("and " 0 4 (:parent #108)) (link (:type "https" :path "//github.com/genenetwork/guix/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix/tree/gn-latest" :application nil :search-option nil :begin 2256 :end 2325 :contents-begin 2310 :contents-end 2323 :post-blank 0 :parent #108) #("GNU Guix main" 0 13 (:parent #114))) #(".\n" 0 2 (:parent #108))) (paragraph (:begin 2328 :end 2449 :contents-begin 2328 :contents-end 2449 :post-blank 0 :post-affiliated 2328 :mode nil :granularity nil :parent #103) #("For a full view of runtime dependencies as defined by GNU Guix, see\nthe " 0 72 (:parent #109)) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 2400 :end 2447 :contents-begin 2425 :contents-end 2445 :post-blank 0 :parent #109) #("GN2 Dependency Graph" 0 20 (:parent #113))) #(".\n" 0 2 (:parent #109))))) (headline (:raw-value "Quick installation recipe" :begin 2450 :end 7633 :pre-blank 1 :contents-begin 2479 :contents-end 7632 :robust-begin 2481 :robust-end 7630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 2450 :title (#("Quick installation recipe" 0 25 (:parent #101))) :mode nil :granularity nil :parent #95) (section (:begin 2479 :end 3022 :contents-begin 2479 :contents-end 3021 :robust-begin 2479 :robust-end 3019 :post-blank 1 :post-affiliated 2479 :mode section :granularity nil :parent #101) (paragraph (:begin 2479 :end 2880 :contents-begin 2479 :contents-end 2879 :post-blank 1 :post-affiliated 2479 :mode planning :granularity nil :parent #104) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS). For more elaborate installation\ninstructions see " 0 357 (:parent #107)) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 2836 :end 2877 :contents-begin 2858 :contents-end 2875 :post-blank 0 :parent #107) #("Source deployment" 0 17 (:parent #111))) #(".\n" 0 2 (:parent #107))) (paragraph (:begin 2880 :end 3021 :contents-begin 2880 :contents-end 3021 :post-blank 0 :post-affiliated 2880 :mode nil :granularity nil :parent #104) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #108)))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 3022 :end 4649 :pre-blank 1 :contents-begin 3051 :contents-end 4648 :robust-begin 3053 :robust-end 4646 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3022 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #105))) :mode nil :granularity nil :parent #101) (section (:begin 3051 :end 4649 :contents-begin 3051 :contents-end 4648 :robust-begin 3051 :robust-end 4646 :post-blank 1 :post-affiliated 3051 :mode section :granularity nil :parent #105) (paragraph (:begin 3051 :end 3504 :contents-begin 3051 :contents-end 3503 :post-blank 1 :post-affiliated 3051 :mode planning :granularity nil :parent #108) #("Fetch the GNU Guix binary from " 0 31 (:parent #111)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 3082 :end 3136 :contents-begin 3129 :contents-end 3133 :post-blank 1 :parent #111) #("here" 0 4 (:parent #115))) #("(middle panel) and follow\n" 0 26 (:parent #111)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 3162 :end 3255 :contents-begin 3241 :contents-end 3253 :post-blank 0 :parent #111) #("instructions" 0 12 (:parent #117))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #111))) (paragraph (:begin 3504 :end 3782 :contents-begin 3504 :contents-end 3781 :post-blank 1 :post-affiliated 3504 :mode nil :granularity nil :parent #108) #("Once you have succeeded, you have to " 0 37 (:parent #112)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 3541 :end 3631 :contents-begin 3617 :contents-end 3628 :post-blank 1 :parent #112) #("set the key" 0 11 (:parent #116))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #112))) (src-block (:language "bash" :switches nil :parameters nil :begin 3782 :end 3890 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 3782 :mode nil :granularity nil :parent #108)) (paragraph (:begin 3890 :end 3924 :contents-begin 3890 :contents-end 3923 :post-blank 1 :post-affiliated 3890 :mode nil :granularity nil :parent #108) #("Which should show something like\n" 0 33 (:parent #114))) (fixed-width (:begin 3924 :end 4034 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 3924 :mode nil :granularity nil :parent #108)) (paragraph (:begin 4034 :end 4045 :contents-begin 4034 :contents-end 4044 :post-blank 1 :post-affiliated 4034 :mode nil :granularity nil :parent #108) #("#+end" 0 5 (:parent #116)) (subscript (:begin 4039 :end 4043 :use-brackets-p nil :contents-begin 4040 :contents-end 4043 :post-blank 0 :parent #116) #("src" 0 3 (:parent #120))) #("\n" 0 1 (:parent #116))) (paragraph (:begin 4045 :end 4116 :contents-begin 4045 :contents-end 4115 :post-blank 1 :post-affiliated 4045 :mode nil :granularity nil :parent #108) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #117))) (src-block (:language "bash" :switches nil :parameters nil :begin 4116 :end 4188 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 4116 :mode nil :granularity nil :parent #108)) (paragraph (:begin 4188 :end 4375 :contents-begin 4188 :contents-end 4374 :post-blank 1 :post-affiliated 4188 :mode nil :granularity nil :parent #108) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #119))) (paragraph (:begin 4375 :end 4648 :contents-begin 4375 :contents-end 4648 :post-blank 0 :post-affiliated 4375 :mode nil :granularity nil :parent #108) #("If you need more help we have another writeup in " 0 49 (:parent #120)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 4424 :end 4520 :contents-begin 4508 :contents-end 4518 :post-blank 0 :parent #120) #("guix-notes" 0 10 (:parent #124))) #(". To get\nrid of the locale warning see " 0 39 (:parent #120)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 4559 :end 4646 :contents-begin 4634 :contents-end 4644 :post-blank 0 :parent #120) #("set-locale" 0 10 (:parent #126))) #(".\n" 0 2 (:parent #120))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 4649 :end 5304 :pre-blank 1 :contents-begin 4695 :contents-end 5302 :robust-begin 4697 :robust-end 5300 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4649 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #106))) :mode nil :granularity nil :parent #101) (section (:begin 4695 :end 5304 :contents-begin 4695 :contents-end 5302 :robust-begin 4695 :robust-end 5300 :post-blank 2 :post-affiliated 4695 :mode section :granularity nil :parent #106) (paragraph (:begin 4695 :end 4815 :contents-begin 4695 :contents-end 4814 :post-blank 1 :post-affiliated 4695 :mode planning :granularity nil :parent #109) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #112))) (src-block (:language "bash" :switches nil :parameters nil :begin 4815 :end 4920 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 4815 :mode nil :granularity nil :parent #109)) (paragraph (:begin 4920 :end 4971 :contents-begin 4920 :contents-end 4970 :post-blank 1 :post-affiliated 4920 :mode nil :granularity nil :parent #109) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #114))) (paragraph (:begin 4971 :end 5232 :contents-begin 4971 :contents-end 5231 :post-blank 1 :post-affiliated 4971 :mode nil :granularity nil :parent #109) #("#+begin" 0 7 (:parent #115)) (subscript (:begin 4978 :end 4983 :use-brackets-p nil :contents-begin 4979 :contents-end 4982 :post-blank 1 :parent #115) #("src" 0 3 (:parent #119))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #115)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 5055 :end 5105 :contents-begin nil :contents-end nil :post-blank 0 :parent #115)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #115)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 5147 :end 5183 :contents-begin nil :contents-end nil :post-blank 1 :parent #115)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #115)) (subscript (:begin 5221 :end 5226 :use-brackets-p nil :contents-begin 5222 :contents-end 5225 :post-blank 1 :parent #115) #("src" 0 3 (:parent #125))) #("bash\n" 0 5 (:parent #115))) (paragraph (:begin 5232 :end 5270 :contents-begin 5232 :contents-end 5269 :post-blank 1 :post-affiliated 5232 :mode nil :granularity nil :parent #109) #("To test whether this is working try:\n" 0 37 (:parent #116))) (paragraph (:begin 5270 :end 5302 :contents-begin 5270 :contents-end 5302 :post-blank 0 :post-affiliated 5270 :mode nil :granularity nil :parent #109) #("#+begin" 0 7 (:parent #117)) (subscript (:begin 5277 :end 5282 :use-brackets-p nil :contents-begin 5278 :contents-end 5281 :post-blank 1 :parent #117) #("src" 0 3 (:parent #121))) #("bash\n#+end" 0 10 (:parent #117)) (subscript (:begin 5292 :end 5297 :use-brackets-p nil :contents-begin 5293 :contents-end 5296 :post-blank 1 :parent #117) #("src" 0 3 (:parent #123))) #("bash\n" 0 5 (:parent #117))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 5304 :end 5755 :pre-blank 1 :contents-begin 5345 :contents-end 5754 :robust-begin 5347 :robust-end 5752 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5304 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #107))) :mode nil :granularity nil :parent #101) (section (:begin 5345 :end 5755 :contents-begin 5345 :contents-end 5754 :robust-begin 5345 :robust-end 5752 :post-blank 1 :post-affiliated 5345 :mode section :granularity nil :parent #107) (paragraph (:begin 5345 :end 5445 :contents-begin 5345 :contents-end 5444 :post-blank 1 :post-affiliated 5345 :mode planning :granularity nil :parent #110) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #113))) (src-block (:language "scheme" :switches nil :parameters nil :begin 5445 :end 5589 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 5445 :mode nil :granularity nil :parent #110)) (paragraph (:begin 5589 :end 5621 :contents-begin 5589 :contents-end 5620 :post-blank 1 :post-affiliated 5589 :mode nil :granularity nil :parent #110) #("by pasting it into the command\n" 0 31 (:parent #115))) (src-block (:language "bash" :switches nil :parameters nil :begin 5621 :end 5674 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 5621 :mode nil :granularity nil :parent #110)) (paragraph (:begin 5674 :end 5691 :contents-begin 5674 :contents-end 5690 :post-blank 1 :post-affiliated 5674 :mode nil :granularity nil :parent #110) #("and hit Ctrl-D.\n" 0 16 (:parent #117))) (paragraph (:begin 5691 :end 5754 :contents-begin 5691 :contents-end 5754 :post-blank 0 :post-affiliated 5691 :mode nil :granularity nil :parent #110) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #118))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 5755 :end 7633 :pre-blank 1 :contents-begin 5787 :contents-end 7632 :robust-begin 5789 :robust-end 7630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5755 :title (#("Step 4: Install and run GN2" 0 27 (:parent #108))) :mode nil :granularity nil :parent #101) (section (:begin 5787 :end 7633 :contents-begin 5787 :contents-end 7632 :robust-begin 5787 :robust-end 7630 :post-blank 1 :post-affiliated 5787 :mode section :granularity nil :parent #108) (paragraph (:begin 5787 :end 5927 :contents-begin 5787 :contents-end 5926 :post-blank 1 :post-affiliated 5787 :mode planning :granularity nil :parent #111) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #114))) (src-block (:language "bash" :switches nil :parameters nil :begin 5927 :end 6046 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 5927 :mode nil :granularity nil :parent #111)) (paragraph (:begin 6046 :end 6099 :contents-begin 6046 :contents-end 6098 :post-blank 1 :post-affiliated 6046 :mode nil :granularity nil :parent #111) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #116))) (src-block (:language "bash" :switches nil :parameters nil :begin 6099 :end 6289 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 6099 :mode nil :granularity nil :parent #111)) (paragraph (:begin 6289 :end 6398 :contents-begin 6289 :contents-end 6397 :post-blank 1 :post-affiliated 6289 :mode nil :granularity nil :parent #111) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #118)) (italic (:begin 6360 :end 6366 :post-blank 0 :contents-begin 6361 :contents-end 6365 :parent #118) #("root" 0 4 (:parent #122))) #(".config/guix/latest override).\n" 0 31 (:parent #118))) (paragraph (:begin 6398 :end 6416 :contents-begin 6398 :contents-end 6415 :post-blank 1 :post-affiliated 6398 :mode nil :granularity nil :parent #111) #("And install with\n" 0 17 (:parent #119))) (src-block (:language "bash" :switches nil :parameters nil :begin 6416 :end 6586 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 6416 :mode nil :granularity nil :parent #111)) (paragraph (:begin 6586 :end 6729 :contents-begin 6586 :contents-end 6728 :post-blank 1 :post-affiliated 6586 :mode nil :granularity nil :parent #111) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #121))) (paragraph (:begin 6729 :end 6925 :contents-begin 6729 :contents-end 6924 :post-blank 1 :post-affiliated 6729 :mode nil :granularity nil :parent #111) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #122))) (paragraph (:begin 6925 :end 7056 :contents-begin 6925 :contents-end 7055 :post-blank 1 :post-affiliated 6925 :mode nil :granularity nil :parent #111) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #123))) (src-block (:language "bash" :switches nil :parameters nil :begin 7056 :end 7235 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python2.7/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 7056 :mode nil :granularity nil :parent #111)) (paragraph (:begin 7235 :end 7304 :contents-begin 7235 :contents-end 7303 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #111) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #125))) (src-block (:language "bash" :switches nil :parameters nil :begin 7304 :end 7345 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 7304 :mode nil :granularity nil :parent #111)) (paragraph (:begin 7345 :end 7596 :contents-begin 7345 :contents-end 7595 :post-blank 1 :post-affiliated 7345 :mode nil :granularity nil :parent #111) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #127)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 7567 :end 7593 :contents-begin nil :contents-end nil :post-blank 0 :parent #127)) #(".\n" 0 2 (:parent #127))) (paragraph (:begin 7596 :end 7632 :contents-begin 7596 :contents-end 7632 :post-blank 0 :post-affiliated 7596 :mode nil :granularity nil :parent #111) #("End of the GN2 installation recipe!\n" 0 36 (:parent #128)))))) (headline (:raw-value "Run MySQL server" :begin 7633 :end 9008 :pre-blank 1 :contents-begin 7653 :contents-end 9007 :robust-begin 7655 :robust-end 9005 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7633 :title (#("Run MySQL server" 0 16 (:parent #102))) :mode nil :granularity nil :parent #95) (section (:begin 7653 :end 9008 :contents-begin 7653 :contents-end 9007 :robust-begin 7653 :robust-end 9005 :post-blank 1 :post-affiliated 7653 :mode section :granularity nil :parent #102) (paragraph (:begin 7653 :end 7928 :contents-begin 7653 :contents-end 7927 :post-blank 1 :post-affiliated 7653 :mode planning :granularity nil :parent #105) #("At this point we require the underlying distribution to install and\nrun mysqld. Currently we have two databases for deployment,\n'db" 0 131 (:parent #108)) (subscript (:begin 7784 :end 7791 :use-brackets-p nil :contents-begin 7785 :contents-end 7791 :post-blank 0 :parent #108) #("webqtl" 0 6 (:parent #112))) (subscript (:begin 7791 :end 7793 :use-brackets-p nil :contents-begin 7792 :contents-end 7793 :post-blank 0 :parent #108) #("s" 0 1 (:parent #113))) #("' is the small testing database containing experiments\nfrom BXD mice and 'db" 0 76 (:parent #108)) (subscript (:begin 7869 :end 7876 :use-brackets-p nil :contents-begin 7870 :contents-end 7876 :post-blank 0 :parent #108) #("webqtl" 0 6 (:parent #115))) (subscript (:begin 7876 :end 7882 :use-brackets-p nil :contents-begin 7877 :contents-end 7882 :post-blank 0 :parent #108) #("plant" 0 5 (:parent #116))) #("' which contains all plant related\nmaterial.\n" 0 45 (:parent #108))) (paragraph (:begin 7928 :end 7956 :contents-begin 7928 :contents-end 7955 :post-blank 1 :post-affiliated 7928 :mode nil :granularity nil :parent #105) #("Download one database from\n" 0 27 (:parent #109))) (paragraph (:begin 7956 :end 8054 :contents-begin 7956 :contents-end 8053 :post-blank 1 :post-affiliated 7956 :mode nil :granularity nil :parent #105) (link (:type "http" :path "//files.genenetwork.org/raw_database/" :format plain :raw-link "http://files.genenetwork.org/raw_database/" :application nil :search-option nil :begin 7956 :end 7998 :contents-begin nil :contents-end nil :post-blank 0 :parent #110)) #("\n" 0 1 (:parent #110)) (link (:type "https" :path "//s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :format plain :raw-link "https://s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :application nil :search-option nil :begin 7999 :end 8052 :contents-begin nil :contents-end nil :post-blank 0 :parent #110)) #("\n" 0 1 (:parent #110))) (paragraph (:begin 8054 :end 8073 :contents-begin 8054 :contents-end 8072 :post-blank 1 :post-affiliated 8054 :mode nil :granularity nil :parent #105) #("Check the md5sum.\n" 0 18 (:parent #111))) (paragraph (:begin 8073 :end 8195 :contents-begin 8073 :contents-end 8194 :post-blank 1 :post-affiliated 8073 :mode nil :granularity nil :parent #105) #("After installation inflate the database binary in the MySQL directory\n(this installation path is subject to change soon)\n" 0 121 (:parent #112))) (fixed-width (:begin 8195 :end 8283 :value "chown -R mysql:mysql db_webqtl_s/\nchmod 700 db_webqtl_s/\nchmod 660 db_webqtl_s/*" :post-blank 2 :post-affiliated 8195 :mode nil :granularity nil :parent #105)) (paragraph (:begin 8283 :end 8334 :contents-begin 8283 :contents-end 8333 :post-blank 1 :post-affiliated 8283 :mode nil :granularity nil :parent #105) #("restart MySQL service (mysqld). Login as root and\n" 0 50 (:parent #114))) (fixed-width (:begin 8334 :end 8560 :value "mysql> show databases;\n+--------------------+\n| Database |\n+--------------------+\n| information_schema |\n| db_webqtl_s |\n| mysql |\n| performance_schema |\n+--------------------+" :post-blank 2 :post-affiliated 8334 :mode nil :granularity nil :parent #105)) (paragraph (:begin 8560 :end 8625 :contents-begin 8560 :contents-end 8624 :post-blank 1 :post-affiliated 8560 :mode nil :granularity nil :parent #105) #("Set permissions and match password in your settings file below:\n" 0 64 (:parent #116))) (fixed-width (:begin 8625 :end 8724 :value "mysql> grant all privileges on db_webqtl_s.* to gn2@\"localhost\" identified by 'mysql_password';" :post-blank 2 :post-affiliated 8625 :mode nil :granularity nil :parent #105)) (paragraph (:begin 8724 :end 8875 :contents-begin 8724 :contents-end 8874 :post-blank 1 :post-affiliated 8724 :mode nil :granularity nil :parent #105) #("Note that if the mysql connection is not working, try connecting to\nthe IP address and check server firewall, hosts.allow and mysql IP\nconfiguration.\n" 0 150 (:parent #118))) (paragraph (:begin 8875 :end 9007 :contents-begin 8875 :contents-end 9007 :post-blank 0 :post-affiliated 8875 :mode nil :granularity nil :parent #105) #("Note for the plant database you can rename it to db" 0 51 (:parent #119)) (subscript (:begin 8926 :end 8933 :use-brackets-p nil :contents-begin 8927 :contents-end 8933 :post-blank 0 :parent #119) #("webqtl" 0 6 (:parent #123))) (subscript (:begin 8933 :end 8935 :use-brackets-p nil :contents-begin 8934 :contents-end 8935 :post-blank 0 :parent #119) #("s" 0 1 (:parent #124))) #(", or\nchange the settings in etc/default" 0 39 (:parent #119)) (subscript (:begin 8974 :end 8987 :use-brackets-p nil :contents-begin 8975 :contents-end 8986 :post-blank 1 :parent #119) #("settings.py" 0 11 (:parent #126))) #("to match your path.\n" 0 20 (:parent #119))))) (headline (:raw-value "GN2 Dependency Graph" :begin 9008 :end 9172 :pre-blank 1 :contents-begin 9032 :contents-end 9171 :robust-begin 9034 :robust-end 9169 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9008 :title (#("GN2 Dependency Graph" 0 20 (:parent #103))) :mode nil :granularity nil :parent #95) (section (:begin 9032 :end 9172 :contents-begin 9032 :contents-end 9171 :robust-begin 9032 :robust-end 9169 :post-blank 1 :post-affiliated 9032 :mode section :granularity nil :parent #103) (paragraph (:begin 9032 :end 9093 :contents-begin 9032 :contents-end 9092 :post-blank 1 :post-affiliated 9032 :mode planning :granularity nil :parent #106) #("Graph of all runtime dependencies as installed by GNU Guix.\n" 0 60 (:parent #109))) (paragraph (:begin 9093 :end 9171 :contents-begin 9123 :contents-end 9171 :post-blank 0 :post-affiliated 9123 :attr_html (":title GN2_graph") :mode nil :granularity nil :parent #106) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg" :format plain :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg" :application nil :search-option nil :begin 9123 :end 9170 :contents-begin nil :contents-end nil :post-blank 0 :parent #110)) #("\n" 0 1 (:parent #110))))) (headline (:raw-value "Source deployment" :begin 9172 :end 12840 :pre-blank 1 :contents-begin 9193 :contents-end 12839 :robust-begin 9195 :robust-end 12837 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9172 :title (#("Source deployment" 0 17 (:parent #104))) :mode nil :granularity nil :parent #95) (section (:begin 9193 :end 9612 :contents-begin 9193 :contents-end 9610 :robust-begin 9193 :robust-end 9608 :post-blank 2 :post-affiliated 9193 :mode section :granularity nil :parent #104) (paragraph (:begin 9193 :end 9274 :contents-begin 9193 :contents-end 9273 :post-blank 1 :post-affiliated 9193 :mode planning :granularity nil :parent #107) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #110))) (paragraph (:begin 9274 :end 9304 :contents-begin 9274 :contents-end 9303 :post-blank 1 :post-affiliated 9274 :mode nil :granularity nil :parent #107) #("First execute above 4 steps:\n" 0 29 (:parent #111))) (plain-list (:type unordered :begin 9304 :end 9610 :contents-begin 9304 :contents-end 9610 :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :post-blank 0 :post-affiliated 9304 :mode nil :granularity nil :parent #107) (item (:bullet "- " :begin 9304 :end 9364 :contents-begin 9309 :contents-end 9364 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9304 :tag nil :mode item :granularity nil :parent #112) (paragraph (:begin 9309 :end 9364 :contents-begin 9309 :contents-end 9364 :post-blank 0 :post-affiliated 9309 :mode nil :granularity nil :parent #115) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 9309 :end 9363 :contents-begin 9337 :contents-end 9361 :post-blank 0 :parent #118) #("Step 1: Install GNU Guix" 0 24 (:parent #121))) #("\n" 0 1 (:parent #118)))) (item (:bullet "- " :begin 9364 :end 9458 :contents-begin 9369 :contents-end 9458 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9364 :tag nil :mode item :granularity nil :parent #112) (paragraph (:begin 9369 :end 9458 :contents-begin 9369 :contents-end 9458 :post-blank 0 :post-affiliated 9369 :mode nil :granularity nil :parent #116) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 9369 :end 9457 :contents-begin 9414 :contents-end 9455 :post-blank 0 :parent #119) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #122))) #("\n" 0 1 (:parent #119)))) (item (:bullet "- " :begin 9458 :end 9542 :contents-begin 9463 :contents-end 9542 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9458 :tag nil :mode item :granularity nil :parent #112) (paragraph (:begin 9463 :end 9542 :contents-begin 9463 :contents-end 9542 :post-blank 0 :post-affiliated 9463 :mode nil :granularity nil :parent #117) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 9463 :end 9541 :contents-begin 9503 :contents-end 9539 :post-blank 0 :parent #120) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #123))) #("\n" 0 1 (:parent #120)))) (item (:bullet "- " :begin 9542 :end 9610 :contents-begin 9547 :contents-end 9610 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9542 :tag nil :mode item :granularity nil :parent #112) (paragraph (:begin 9547 :end 9610 :contents-begin 9547 :contents-end 9610 :post-blank 0 :post-affiliated 9547 :mode nil :granularity nil :parent #118) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 9547 :end 9609 :contents-begin 9579 :contents-end 9607 :post-blank 0 :parent #121) #("Step 4: Install and run GN2 " 0 28 (:parent #124))) #("\n" 0 1 (:parent #121)))))) (headline (:raw-value "Run your own copy of GN2" :begin 9612 :end 10722 :pre-blank 1 :contents-begin 9641 :contents-end 10721 :robust-begin 9643 :robust-end 10719 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9612 :title (#("Run your own copy of GN2" 0 24 (:parent #108))) :mode nil :granularity nil :parent #104) (section (:begin 9641 :end 10722 :contents-begin 9641 :contents-end 10721 :robust-begin 9641 :robust-end 10719 :post-blank 1 :post-affiliated 9641 :mode section :granularity nil :parent #108) (paragraph (:begin 9641 :end 9839 :contents-begin 9641 :contents-end 9838 :post-blank 1 :post-affiliated 9641 :mode planning :granularity nil :parent #111) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #114)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 9793 :end 9836 :contents-begin nil :contents-end nil :post-blank 0 :parent #114)) #(".\n" 0 2 (:parent #114))) (paragraph (:begin 9839 :end 9964 :contents-begin 9839 :contents-end 9963 :post-blank 1 :post-affiliated 9839 :mode nil :granularity nil :parent #111) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #115)) (subscript (:begin 9896 :end 9902 :use-brackets-p nil :contents-begin 9897 :contents-end 9901 :post-blank 1 :parent #115) #("PATH" 0 4 (:parent #119))) #("and\nR" 0 5 (:parent #115)) (subscript (:begin 9907 :end 9912 :use-brackets-p nil :contents-begin 9908 :contents-end 9912 :post-blank 0 :parent #115) #("LIBS" 0 4 (:parent #121))) (subscript (:begin 9912 :end 9918 :use-brackets-p nil :contents-begin 9913 :contents-end 9917 :post-blank 1 :parent #115) #("SITE" 0 4 (:parent #122))) #("are set) from the information given by guix:\n" 0 45 (:parent #115))) (fixed-width (:begin 9964 :end 9995 :value "guix package --search-paths" :post-blank 2 :post-affiliated 9964 :mode nil :granularity nil :parent #111)) (paragraph (:begin 9995 :end 10019 :contents-begin 9995 :contents-end 10018 :post-blank 1 :post-affiliated 9995 :mode nil :granularity nil :parent #111) #("Inside the repository:\n" 0 23 (:parent #117))) (fixed-width (:begin 10019 :end 10059 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 10019 :mode nil :granularity nil :parent #111)) (paragraph (:begin 10059 :end 10303 :contents-begin 10059 :contents-end 10302 :post-blank 1 :post-affiliated 10059 :mode nil :granularity nil :parent #111) #("Will fire up your local repo " 0 29 (:parent #119)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 10088 :end 10111 :contents-begin nil :contents-end nil :post-blank 1 :parent #119)) #("using the\nsettings in ./etc/default" 0 35 (:parent #119)) (subscript (:begin 10146 :end 10158 :use-brackets-p nil :contents-begin 10147 :contents-end 10158 :post-blank 0 :parent #119) #("settings.py" 0 11 (:parent #125))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #119)) (subscript (:begin 10263 :end 10276 :use-brackets-p nil :contents-begin 10264 :contents-end 10275 :post-blank 1 :parent #119) #("settings.py" 0 11 (:parent #127))) #("and pass it into GN2 with\n" 0 26 (:parent #119))) (fixed-width (:begin 10303 :end 10346 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 10303 :mode nil :granularity nil :parent #111)) (paragraph (:begin 10346 :end 10492 :contents-begin 10346 :contents-end 10491 :post-blank 1 :post-affiliated 10346 :mode nil :granularity nil :parent #111) #("and everything " 0 15 (:parent #121)) (bold (:begin 10361 :end 10370 :post-blank 1 :contents-begin 10362 :contents-end 10368 :parent #121) #("should" 0 6 (:parent #125))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #121))) (paragraph (:begin 10492 :end 10620 :contents-begin 10492 :contents-end 10619 :post-blank 1 :post-affiliated 10492 :mode nil :granularity nil :parent #111) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #122))) (fixed-width (:begin 10620 :end 10721 :value "cat ~/.guix-profile/lib/python2.7/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 10620 :mode nil :granularity nil :parent #111)))) (headline (:raw-value "Set up nginx port forwarding" :begin 10722 :end 12840 :pre-blank 1 :contents-begin 10755 :contents-end 12839 :robust-begin 10757 :robust-end 12837 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 10722 :title (#("Set up nginx port forwarding" 0 28 (:parent #109))) :mode nil :granularity nil :parent #104) (section (:begin 10755 :end 12840 :contents-begin 10755 :contents-end 12839 :robust-begin 10755 :robust-end 12837 :post-blank 1 :post-affiliated 10755 :mode section :granularity nil :parent #109) (paragraph (:begin 10755 :end 10923 :contents-begin 10755 :contents-end 10922 :post-blank 1 :post-affiliated 10755 :mode planning :granularity nil :parent #112) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #115))) (paragraph (:begin 10923 :end 11063 :contents-begin 10923 :contents-end 11062 :post-blank 1 :post-affiliated 10923 :mode nil :granularity nil :parent #112) #("#+begin" 0 7 (:parent #116)) (subscript (:begin 10930 :end 10935 :use-brackets-p nil :contents-begin 10931 :contents-end 10934 :post-blank 1 :parent #116) #("src" 0 3 (:parent #120))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #116)) (subscript (:begin 10984 :end 10990 :use-brackets-p nil :contents-begin 10985 :contents-end 10989 :post-blank 1 :parent #116) #("name" 0 4 (:parent #122))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #116)) (subscript (:begin 11030 :end 11036 :use-brackets-p nil :contents-begin 11031 :contents-end 11034 :post-blank 2 :parent #116) #("log" 0 3 (:parent #124))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #116))) (paragraph (:begin 11063 :end 11232 :contents-begin 11063 :contents-end 11231 :post-blank 1 :post-affiliated 11063 :mode nil :granularity nil :parent #112) #(" proxy" 0 13 (:parent #117)) (subscript (:begin 11076 :end 11084 :use-brackets-p nil :contents-begin 11077 :contents-end 11084 :post-blank 0 :parent #117) #("connect" 0 7 (:parent #121))) (subscript (:begin 11084 :end 11099 :use-brackets-p nil :contents-begin 11085 :contents-end 11092 :post-blank 7 :parent #117) #("timeout" 0 7 (:parent #122))) #("3000;\n proxy" 0 19 (:parent #117)) (subscript (:begin 11118 :end 11123 :use-brackets-p nil :contents-begin 11119 :contents-end 11123 :post-blank 0 :parent #117) #("send" 0 4 (:parent #124))) (subscript (:begin 11123 :end 11141 :use-brackets-p nil :contents-begin 11124 :contents-end 11131 :post-blank 10 :parent #117) #("timeout" 0 7 (:parent #125))) #("3000;\n proxy" 0 19 (:parent #117)) (subscript (:begin 11160 :end 11165 :use-brackets-p nil :contents-begin 11161 :contents-end 11165 :post-blank 0 :parent #117) #("read" 0 4 (:parent #127))) (subscript (:begin 11165 :end 11183 :use-brackets-p nil :contents-begin 11166 :contents-end 11173 :post-blank 10 :parent #117) #("timeout" 0 7 (:parent #128))) #("3000;\n send" 0 18 (:parent #117)) (subscript (:begin 11201 :end 11225 :use-brackets-p nil :contents-begin 11202 :contents-end 11209 :post-blank 16 :parent #117) #("timeout" 0 7 (:parent #130))) #("3000;\n" 0 6 (:parent #117))) (paragraph (:begin 11232 :end 11632 :contents-begin 11232 :contents-end 11631 :post-blank 1 :post-affiliated 11232 :mode nil :granularity nil :parent #112) #(" location / {\n proxy" 0 38 (:parent #118)) (subscript (:begin 11270 :end 11274 :use-brackets-p nil :contents-begin 11271 :contents-end 11274 :post-blank 0 :parent #118) #("set" 0 3 (:parent #122))) (subscript (:begin 11274 :end 11284 :use-brackets-p nil :contents-begin 11275 :contents-end 11281 :post-blank 3 :parent #118) #("header" 0 6 (:parent #123))) #("Host $http" 0 15 (:parent #118)) (subscript (:begin 11299 :end 11304 :use-brackets-p nil :contents-begin 11300 :contents-end 11304 :post-blank 0 :parent #118) #("host" 0 4 (:parent #125))) #(";\n proxy" 0 19 (:parent #118)) (subscript (:begin 11323 :end 11327 :use-brackets-p nil :contents-begin 11324 :contents-end 11327 :post-blank 0 :parent #118) #("set" 0 3 (:parent #127))) (subscript (:begin 11327 :end 11337 :use-brackets-p nil :contents-begin 11328 :contents-end 11334 :post-blank 3 :parent #118) #("header" 0 6 (:parent #128))) #("Connection keep-alive;\n proxy" 0 40 (:parent #118)) (subscript (:begin 11377 :end 11381 :use-brackets-p nil :contents-begin 11378 :contents-end 11381 :post-blank 0 :parent #118) #("set" 0 3 (:parent #130))) (subscript (:begin 11381 :end 11391 :use-brackets-p nil :contents-begin 11382 :contents-end 11388 :post-blank 3 :parent #118) #("header" 0 6 (:parent #131))) #("X-Real-IP $remote" 0 17 (:parent #118)) (subscript (:begin 11408 :end 11413 :use-brackets-p nil :contents-begin 11409 :contents-end 11413 :post-blank 0 :parent #118) #("addr" 0 4 (:parent #133))) #(";\n proxy" 0 19 (:parent #118)) (subscript (:begin 11432 :end 11436 :use-brackets-p nil :contents-begin 11433 :contents-end 11436 :post-blank 0 :parent #118) #("set" 0 3 (:parent #135))) (subscript (:begin 11436 :end 11446 :use-brackets-p nil :contents-begin 11437 :contents-end 11443 :post-blank 3 :parent #118) #("header" 0 6 (:parent #136))) #("X-Forwarded-For $proxy" 0 22 (:parent #118)) (subscript (:begin 11468 :end 11472 :use-brackets-p nil :contents-begin 11469 :contents-end 11472 :post-blank 0 :parent #118) #("add" 0 3 (:parent #138))) (subscript (:begin 11472 :end 11474 :use-brackets-p nil :contents-begin 11473 :contents-end 11474 :post-blank 0 :parent #118) #("x" 0 1 (:parent #139))) (subscript (:begin 11474 :end 11484 :use-brackets-p nil :contents-begin 11475 :contents-end 11484 :post-blank 0 :parent #118) #("forwarded" 0 9 (:parent #140))) (subscript (:begin 11484 :end 11488 :use-brackets-p nil :contents-begin 11485 :contents-end 11488 :post-blank 0 :parent #118) #("for" 0 3 (:parent #141))) #(";\n proxy" 0 19 (:parent #118)) (subscript (:begin 11507 :end 11511 :use-brackets-p nil :contents-begin 11508 :contents-end 11511 :post-blank 0 :parent #118) #("set" 0 3 (:parent #143))) (subscript (:begin 11511 :end 11521 :use-brackets-p nil :contents-begin 11512 :contents-end 11518 :post-blank 3 :parent #118) #("header" 0 6 (:parent #144))) #("X-Forwarded-Host $server" 0 24 (:parent #118)) (subscript (:begin 11545 :end 11550 :use-brackets-p nil :contents-begin 11546 :contents-end 11550 :post-blank 0 :parent #118) #("name" 0 4 (:parent #146))) #(";\n proxy" 0 19 (:parent #118)) (subscript (:begin 11569 :end 11583 :use-brackets-p nil :contents-begin 11570 :contents-end 11574 :post-blank 9 :parent #118) #("pass" 0 4 (:parent #148))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 11583 :end 11604 :contents-begin nil :contents-end nil :post-blank 0 :parent #118)) #(";\n }\n}\n#+end" 0 19 (:parent #118)) (subscript (:begin 11623 :end 11628 :use-brackets-p nil :contents-begin 11624 :contents-end 11627 :post-blank 1 :parent #118) #("src" 0 3 (:parent #151))) #("js\n" 0 3 (:parent #118))) (paragraph (:begin 11632 :end 11671 :contents-begin 11632 :contents-end 11670 :post-blank 1 :post-affiliated 11632 :mode nil :granularity nil :parent #112) #("Install the nginx webserver (as root)\n" 0 38 (:parent #119))) (fixed-width (:begin 11671 :end 11696 :value "guix package -i nginx" :post-blank 2 :post-affiliated 11671 :mode nil :granularity nil :parent #112)) (paragraph (:begin 11696 :end 11777 :contents-begin 11696 :contents-end 11776 :post-blank 1 :post-affiliated 11696 :mode nil :granularity nil :parent #112) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #121))) (fixed-width (:begin 11777 :end 11964 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 11777 :mode nil :granularity nil :parent #112)) (paragraph (:begin 11964 :end 11979 :contents-begin 11964 :contents-end 11978 :post-blank 1 :post-affiliated 11964 :mode nil :granularity nil :parent #112) #("Use that path\n" 0 14 (:parent #123))) (fixed-width (:begin 11979 :end 12373 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 11979 :mode nil :granularity nil :parent #112)) (paragraph (:begin 12373 :end 12599 :contents-begin 12373 :contents-end 12599 :post-blank 0 :post-affiliated 12373 :mode nil :granularity nil :parent #112) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #125))) (fixed-width (:begin 12599 :end 12646 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 12599 :mode nil :granularity nil :parent #112)) (paragraph (:begin 12646 :end 12657 :contents-begin 12646 :contents-end 12656 :post-blank 1 :post-affiliated 12646 :mode nil :granularity nil :parent #112) #("Make dirs\n" 0 10 (:parent #127))) (fixed-width (:begin 12657 :end 12691 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 12657 :mode nil :granularity nil :parent #112)) (paragraph (:begin 12691 :end 12702 :contents-begin 12691 :contents-end 12701 :post-blank 1 :post-affiliated 12691 :mode nil :granularity nil :parent #112) #("Add users\n" 0 10 (:parent #129))) (fixed-width (:begin 12702 :end 12738 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 12702 :mode nil :granularity nil :parent #112)) (paragraph (:begin 12738 :end 12749 :contents-begin 12738 :contents-end 12748 :post-blank 1 :post-affiliated 12738 :mode nil :granularity nil :parent #112) #("Run nginx\n" 0 10 (:parent #131))) (fixed-width (:begin 12749 :end 12839 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 12749 :mode nil :granularity nil :parent #112))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 12840 :end 13801 :pre-blank 1 :contents-begin 12902 :contents-end 13801 :robust-begin 12904 :robust-end 13799 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12840 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #105))) :mode nil :granularity nil :parent #95) (section (:begin 12902 :end 12959 :contents-begin 12902 :contents-end 12958 :robust-begin 12902 :robust-end 12956 :post-blank 1 :post-affiliated 12902 :mode section :granularity nil :parent #105) (paragraph (:begin 12902 :end 12958 :contents-begin 12902 :contents-end 12958 :post-blank 0 :post-affiliated 12902 :mode planning :granularity nil :parent #108) #("See the document " 0 17 (:parent #111)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 12919 :end 12956 :contents-begin nil :contents-end nil :post-blank 0 :parent #111)) #(".\n" 0 2 (:parent #111)))) (headline (:raw-value "Update to recent guix" :begin 12959 :end 13409 :pre-blank 1 :contents-begin 12985 :contents-end 13408 :robust-begin 12987 :robust-end 13406 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12959 :title (#("Update to recent guix" 0 21 (:parent #109))) :mode nil :granularity nil :parent #105) (section (:begin 12985 :end 13409 :contents-begin 12985 :contents-end 13408 :robust-begin 12985 :robust-end 13406 :post-blank 1 :post-affiliated 12985 :mode section :granularity nil :parent #109) (paragraph (:begin 12985 :end 13020 :contents-begin 12985 :contents-end 13019 :post-blank 1 :post-affiliated 12985 :mode planning :granularity nil :parent #112) #("We now compile Guix from scratch.\n" 0 34 (:parent #115))) (paragraph (:begin 13020 :end 13295 :contents-begin 13020 :contents-end 13294 :post-blank 1 :post-affiliated 13020 :mode nil :granularity nil :parent #112) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #116)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 13159 :end 13272 :contents-begin 13264 :contents-end 13269 :post-blank 1 :parent #116) #("these" 0 5 (:parent #120))) #("steps carefully after\n" 0 22 (:parent #116))) (fixed-width (:begin 13295 :end 13330 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 13295 :mode nil :granularity nil :parent #112)) (paragraph (:begin 13330 :end 13408 :contents-begin 13330 :contents-end 13408 :post-blank 0 :post-affiliated 13330 :mode nil :granularity nil :parent #112) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #118))))) (headline (:raw-value "Install GN2" :begin 13409 :end 13801 :pre-blank 1 :contents-begin 13425 :contents-end 13801 :robust-begin 13427 :robust-end 13799 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 13409 :title (#("Install GN2" 0 11 (:parent #110))) :mode nil :granularity nil :parent #105) (section (:begin 13425 :end 13801 :contents-begin 13425 :contents-end 13801 :robust-begin 13425 :robust-end 13799 :post-blank 0 :post-affiliated 13425 :mode section :granularity nil :parent #110) (paragraph (:begin 13425 :end 13468 :contents-begin 13425 :contents-end 13467 :post-blank 1 :post-affiliated 13425 :mode planning :granularity nil :parent #113) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #116))) (paragraph (:begin 13468 :end 13676 :contents-begin 13468 :contents-end 13675 :post-blank 1 :post-affiliated 13468 :mode nil :granularity nil :parent #113) #("#+begin" 0 7 (:parent #117)) (subscript (:begin 13475 :end 13480 :use-brackets-p nil :contents-begin 13476 :contents-end 13479 :post-blank 1 :parent #117) #("src" 0 3 (:parent #121))) #("bash\nenv GUIX" 0 13 (:parent #117)) (subscript (:begin 13493 :end 13501 :use-brackets-p nil :contents-begin 13494 :contents-end 13501 :post-blank 0 :parent #117) #("PACKAGE" 0 7 (:parent #123))) (subscript (:begin 13501 :end 13506 :use-brackets-p nil :contents-begin 13502 :contents-end 13506 :post-blank 0 :parent #117) #("PATH" 0 4 (:parent #124))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #117)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 13605 :end 13633 :contents-begin nil :contents-end nil :post-blank 1 :parent #117)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 13633 :end 13658 :contents-begin nil :contents-end nil :post-blank 0 :parent #117)) #("\"\n#+end" 0 7 (:parent #117)) (subscript (:begin 13665 :end 13670 :use-brackets-p nil :contents-begin 13666 :contents-end 13669 :post-blank 1 :parent #117) #("src" 0 3 (:parent #129))) #("bash\n" 0 5 (:parent #117))) (paragraph (:begin 13676 :end 13714 :contents-begin 13676 :contents-end 13713 :post-blank 1 :post-affiliated 13676 :mode nil :granularity nil :parent #113) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #118))) (paragraph (:begin 13714 :end 13801 :contents-begin 13714 :contents-end 13801 :post-blank 0 :post-affiliated 13714 :mode nil :granularity nil :parent #113) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #119)))))))) #25)) . #0)) (item (:bullet "- " :begin 121 :end 156 :contents-begin 124 :contents-end 156 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 121 :tag nil :mode item :granularity nil :parent #1) (paragraph (:begin 124 :end 156 :contents-begin 124 :contents-end 156 :post-blank 0 :post-affiliated 124 :mode nil :granularity nil :parent #4) (link (:type "custom-id" :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil :begin 124 :end 155 :contents-begin 141 :contents-end 153 :post-blank 0 :parent #7) #("Introduction" 0 12 (:parent #10))) #("\n" 0 1 (:parent #7)))) (item (:bullet "- " :begin 156 :end 521 :contents-begin 159 :contents-end 521 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 156 :tag nil :mode item :granularity nil :parent #1) (paragraph (:begin 159 :end 217 :contents-begin 159 :contents-end 217 :post-blank 0 :post-affiliated 159 :mode nil :granularity nil :parent #5) (link (:type "custom-id" :path "quick-installation-recipe" :format bracket :raw-link "#quick-installation-recipe" :application nil :search-option nil :begin 159 :end 216 :contents-begin 189 :contents-end 214 :post-blank 0 :parent #8) #("Quick installation recipe" 0 25 (:parent #11))) #("\n" 0 1 (:parent #8))) (plain-list (:type unordered :begin 217 :end 521 :contents-begin 217 :contents-end 521 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 217 :mode nil :granularity nil :parent #5) (item (:bullet "- " :begin 217 :end 277 :contents-begin 222 :contents-end 277 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 217 :tag nil :mode item :granularity nil :parent #9) (paragraph (:begin 222 :end 277 :contents-begin 222 :contents-end 277 :post-blank 0 :post-affiliated 222 :mode nil :granularity nil :parent #12) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 222 :end 276 :contents-begin 250 :contents-end 274 :post-blank 0 :parent #15) #("Step 1: Install GNU Guix" 0 24 (:parent #18))) #("\n" 0 1 (:parent #15)))) (item (:bullet "- " :begin 277 :end 371 :contents-begin 282 :contents-end 371 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 277 :tag nil :mode item :granularity nil :parent #9) (paragraph (:begin 282 :end 371 :contents-begin 282 :contents-end 371 :post-blank 0 :post-affiliated 282 :mode nil :granularity nil :parent #13) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 282 :end 370 :contents-begin 327 :contents-end 368 :post-blank 0 :parent #16) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #19))) #("\n" 0 1 (:parent #16)))) (item (:bullet "- " :begin 371 :end 455 :contents-begin 376 :contents-end 455 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 371 :tag nil :mode item :granularity nil :parent #9) (paragraph (:begin 376 :end 455 :contents-begin 376 :contents-end 455 :post-blank 0 :post-affiliated 376 :mode nil :granularity nil :parent #14) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 376 :end 454 :contents-begin 416 :contents-end 452 :post-blank 0 :parent #17) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #20))) #("\n" 0 1 (:parent #17)))) (item (:bullet "- " :begin 455 :end 521 :contents-begin 460 :contents-end 521 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 455 :tag nil :mode item :granularity nil :parent #9) (paragraph (:begin 460 :end 521 :contents-begin 460 :contents-end 521 :post-blank 0 :post-affiliated 460 :mode nil :granularity nil :parent #15) (link (:type "custom-id" :path "step-4-install-and-run-gn2" :format bracket :raw-link "#step-4-install-and-run-gn2" :application nil :search-option nil :begin 460 :end 520 :contents-begin 491 :contents-end 518 :post-blank 0 :parent #18) #("Step 4: Install and run GN2" 0 27 (:parent #21))) #("\n" 0 1 (:parent #18)))))) (item (:bullet "- " :begin 521 :end 564 :contents-begin 524 :contents-end 564 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 521 :tag nil :mode item :granularity nil :parent #1) (paragraph (:begin 524 :end 564 :contents-begin 524 :contents-end 564 :post-blank 0 :post-affiliated 524 :mode nil :granularity nil :parent #6) (link (:type "custom-id" :path "run-mysql-server" :format bracket :raw-link "#run-mysql-server" :application nil :search-option nil :begin 524 :end 563 :contents-begin 545 :contents-end 561 :post-blank 0 :parent #9) #("Run MySQL server" 0 16 (:parent #12))) #("\n" 0 1 (:parent #9)))) (item (:bullet "- " :begin 564 :end 615 :contents-begin 567 :contents-end 615 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 564 :tag nil :mode item :granularity nil :parent #1) (paragraph (:begin 567 :end 615 :contents-begin 567 :contents-end 615 :post-blank 0 :post-affiliated 567 :mode nil :granularity nil :parent #7) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 567 :end 614 :contents-begin 592 :contents-end 612 :post-blank 0 :parent #10) #("GN2 Dependency Graph" 0 20 (:parent #13))) #("\n" 0 1 (:parent #10)))) (item (:bullet "- " :begin 615 :end 790 :contents-begin 618 :contents-end 790 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 615 :tag nil :mode item :granularity nil :parent #1) (paragraph (:begin 618 :end 660 :contents-begin 618 :contents-end 660 :post-blank 0 :post-affiliated 618 :mode nil :granularity nil :parent #8) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 618 :end 659 :contents-begin 640 :contents-end 657 :post-blank 0 :parent #11) #("Source deployment" 0 17 (:parent #14))) #("\n" 0 1 (:parent #11))) (plain-list (:type unordered :begin 660 :end 790 :contents-begin 660 :contents-end 790 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 660 :mode nil :granularity nil :parent #8) (item (:bullet "- " :begin 660 :end 721 :contents-begin 665 :contents-end 721 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 660 :tag nil :mode item :granularity nil :parent #12) (paragraph (:begin 665 :end 721 :contents-begin 665 :contents-end 721 :post-blank 0 :post-affiliated 665 :mode nil :granularity nil :parent #15) (link (:type "custom-id" :path "run-your-own-copy-of-gn2" :format bracket :raw-link "#run-your-own-copy-of-gn2" :application nil :search-option nil :begin 665 :end 720 :contents-begin 694 :contents-end 718 :post-blank 0 :parent #18) #("Run your own copy of GN2" 0 24 (:parent #21))) #("\n" 0 1 (:parent #18)))) (item (:bullet "- " :begin 721 :end 790 :contents-begin 726 :contents-end 790 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 721 :tag nil :mode item :granularity nil :parent #12) (paragraph (:begin 726 :end 790 :contents-begin 726 :contents-end 790 :post-blank 0 :post-affiliated 726 :mode nil :granularity nil :parent #16) (link (:type "custom-id" :path "set-up-nginx-port-forwarding" :format bracket :raw-link "#set-up-nginx-port-forwarding" :application nil :search-option nil :begin 726 :end 789 :contents-begin 759 :contents-end 787 :post-blank 0 :parent #19) #("Set up nginx port forwarding" 0 28 (:parent #22))) #("\n" 0 1 (:parent #19)))))) (item (:bullet "- " :begin 790 :end 1034 :contents-begin 793 :contents-end 1034 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 790 :tag nil :mode item :granularity nil :parent #1) (paragraph (:begin 793 :end 917 :contents-begin 793 :contents-end 917 :post-blank 0 :post-affiliated 793 :mode nil :granularity nil :parent #9) (link (:type "custom-id" :path "source-deployment-and-other-information-on-reproducibility" :format bracket :raw-link "#source-deployment-and-other-information-on-reproducibility" :application nil :search-option nil :begin 793 :end 916 :contents-begin 856 :contents-end 914 :post-blank 0 :parent #12) #("Source deployment and other information on reproducibility" 0 58 (:parent #15))) #("\n" 0 1 (:parent #12))) (plain-list (:type unordered :begin 917 :end 1034 :contents-begin 917 :contents-end 1034 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 917 :mode nil :granularity nil :parent #9) (item (:bullet "- " :begin 917 :end 972 :contents-begin 922 :contents-end 972 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 917 :tag nil :mode item :granularity nil :parent #13) (paragraph (:begin 922 :end 972 :contents-begin 922 :contents-end 972 :post-blank 0 :post-affiliated 922 :mode nil :granularity nil :parent #16) (link (:type "custom-id" :path "update-to-recent-guix" :format bracket :raw-link "#update-to-recent-guix" :application nil :search-option nil :begin 922 :end 971 :contents-begin 948 :contents-end 969 :post-blank 0 :parent #19) #("Update to recent guix" 0 21 (:parent #22))) #("\n" 0 1 (:parent #19)))) (item (:bullet "- " :begin 972 :end 1007 :contents-begin 977 :contents-end 1007 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 972 :tag nil :mode item :granularity nil :parent #13) (paragraph (:begin 977 :end 1007 :contents-begin 977 :contents-end 1007 :post-blank 0 :post-affiliated 977 :mode nil :granularity nil :parent #17) (link (:type "custom-id" :path "install-gn2" :format bracket :raw-link "#install-gn2" :application nil :search-option nil :begin 977 :end 1006 :contents-begin 993 :contents-end 1004 :post-blank 0 :parent #20) #("Install GN2" 0 11 (:parent #23))) #("\n" 0 1 (:parent #20)))) (item (:bullet "- " :begin 1007 :end 1034 :contents-begin 1012 :contents-end 1034 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1007 :tag nil :mode item :granularity nil :parent #13) (paragraph (:begin 1012 :end 1034 :contents-begin 1012 :contents-end 1034 :post-blank 0 :post-affiliated 1012 :mode nil :granularity nil :parent #18) (link (:type "custom-id" :path "run-gn2" :format bracket :raw-link "#run-gn2" :application nil :search-option nil :begin 1012 :end 1033 :contents-begin 1024 :contents-end 1031 :post-blank 0 :parent #21) #("Run GN2" 0 7 (:parent #24))) #("\n" 0 1 (:parent #21)))))) (item (:bullet "- " :begin 1034 :end 1370 :contents-begin 1037 :contents-end 1370 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1034 :tag nil :mode item :granularity nil :parent #1) (paragraph (:begin 1037 :end 1077 :contents-begin 1037 :contents-end 1077 :post-blank 0 :post-affiliated 1037 :mode nil :granularity nil :parent #10) (link (:type "custom-id" :path "trouble-shooting" :format bracket :raw-link "#trouble-shooting" :application nil :search-option nil :begin 1037 :end 1076 :contents-begin 1058 :contents-end 1074 :post-blank 0 :parent #13) #("Trouble shooting" 0 16 (:parent #16))) #("\n" 0 1 (:parent #13))) (plain-list (:type unordered :begin 1077 :end 1370 :contents-begin 1077 :contents-end 1370 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 1077 :mode nil :granularity nil :parent #10) (item (:bullet "- " :begin 1077 :end 1159 :contents-begin 1082 :contents-end 1159 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1077 :tag nil :mode item :granularity nil :parent #14) (paragraph (:begin 1082 :end 1159 :contents-begin 1082 :contents-end 1159 :post-blank 0 :post-affiliated 1082 :mode nil :granularity nil :parent #17) (link (:type "custom-id" :path "importerror-no-module-named-jinja2" :format bracket :raw-link "#importerror-no-module-named-jinja2" :application nil :search-option nil :begin 1082 :end 1158 :contents-begin 1121 :contents-end 1156 :post-blank 0 :parent #20) #("ImportError: No module named jinja2" 0 35 (:parent #23))) #("\n" 0 1 (:parent #20)))) (item (:bullet "- " :begin 1159 :end 1257 :contents-begin 1164 :contents-end 1257 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1159 :tag nil :mode item :granularity nil :parent #14) (paragraph (:begin 1164 :end 1257 :contents-begin 1164 :contents-end 1257 :post-blank 0 :post-affiliated 1164 :mode nil :granularity nil :parent #18) (link (:type "custom-id" :path "error-can-not-find-directory-homegn2_data" :format bracket :raw-link "#error-can-not-find-directory-homegn2_data" :application nil :search-option nil :begin 1164 :end 1256 :contents-begin 1210 :contents-end 1254 :post-blank 0 :parent #21) #("ERROR: can not find directory $HOME/gn2" 0 39 (:parent #24)) (subscript (:begin 1249 :end 1254 :use-brackets-p nil :contents-begin 1250 :contents-end 1254 :post-blank 0 :parent #24) #("data" 0 4 (:parent #28)))) #("\n" 0 1 (:parent #21)))) (item (:bullet "- " :begin 1257 :end 1305 :contents-begin 1262 :contents-end 1305 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1257 :tag nil :mode item :granularity nil :parent #14) (paragraph (:begin 1262 :end 1305 :contents-begin 1262 :contents-end 1305 :post-blank 0 :post-affiliated 1262 :mode nil :granularity nil :parent #19) (link (:type "custom-id" :path "cant-run-a-module" :format bracket :raw-link "#cant-run-a-module" :application nil :search-option nil :begin 1262 :end 1304 :contents-begin 1284 :contents-end 1302 :post-blank 0 :parent #22) #("Can't run a module" 0 18 (:parent #25))) #("\n" 0 1 (:parent #22)))) (item (:bullet "- " :begin 1305 :end 1370 :contents-begin 1310 :contents-end 1370 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1305 :tag nil :mode item :granularity nil :parent #14) (paragraph (:begin 1310 :end 1370 :contents-begin 1310 :contents-end 1370 :post-blank 0 :post-affiliated 1310 :mode nil :granularity nil :parent #20) (link (:type "custom-id" :path "rpy2-error-show-now-found" :format bracket :raw-link "#rpy2-error-show-now-found" :application nil :search-option nil :begin 1310 :end 1369 :contents-begin 1340 :contents-end 1367 :post-blank 0 :parent #23) #("Rpy2 error 'show' now found" 0 27 (:parent #26))) #("\n" 0 1 (:parent #23)))))) (item (:bullet "- " :begin 1370 :end 1403 :contents-begin 1373 :contents-end 1403 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1370 :tag nil :mode item :granularity nil :parent #1) (paragraph (:begin 1373 :end 1403 :contents-begin 1373 :contents-end 1403 :post-blank 0 :post-affiliated 1373 :mode nil :granularity nil :parent #11) (link (:type "custom-id" :path "irc-session" :format bracket :raw-link "#irc-session" :application nil :search-option nil :begin 1373 :end 1402 :contents-begin 1389 :contents-end 1400 :post-blank 0 :parent #14) #("IRC session" 0 11 (:parent #17))) #("\n" 0 1 (:parent #14)))))) "") org-export-data((section (:begin 121 :end 1404 :contents-begin 121 :contents-end 1403 :robust-begin 121 :robust-end 1401 :post-blank 1 :post-affiliated 121 :mode section :granularity nil :parent (headline (:raw-value "Table of Contents" :begin 43 :end 1404 :pre-blank 0 :contents-begin 121 :contents-end 1403 :robust-begin 123 :robust-end 1401 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 43 :title (#("Table of Contents" 0 17 (:parent #24))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13801 :end 13801 :robust-begin 3 :robust-end 13799 :post-blank 0 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 43 :contents-begin 1 :contents-end 42 :robust-begin 1 :robust-end 40 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #70) (keyword (:key "TITLE" :value "Installing GeneNetwork services" :begin 1 :end 42 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #73))) #24 (headline (:raw-value "Introduction" :begin 1404 :end 2450 :pre-blank 1 :contents-begin 1420 :contents-end 2449 :robust-begin 1422 :robust-end 2447 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1404 :title (#("Introduction" 0 12 (:parent #75))) :mode nil :granularity nil :parent #70) (section (:begin 1420 :end 2450 :contents-begin 1420 :contents-end 2449 :robust-begin 1420 :robust-end 2447 :post-blank 1 :post-affiliated 1420 :mode section :granularity nil :parent #75) (paragraph (:begin 1420 :end 1557 :contents-begin 1420 :contents-end 1556 :post-blank 1 :post-affiliated 1420 :mode planning :granularity nil :parent #78) #("If you want to understand the architecture of GN2 read\n" 0 55 (:parent #81)) (link (:type "fuzzy" :path "Architecture.org" :format bracket :raw-link "Architecture.org" :application nil :search-option nil :begin 1475 :end 1495 :contents-begin nil :contents-end nil :post-blank 0 :parent #81)) #(". The rest of this document is mostly on deployment\nof GN2.\n" 0 61 (:parent #81))) (paragraph (:begin 1557 :end 1943 :contents-begin 1557 :contents-end 1942 :post-blank 1 :post-affiliated 1557 :mode nil :granularity nil :parent #78) #("Large system deployments can get very " 0 38 (:parent #82)) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg " :format bracket :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg " :application nil :search-option nil :begin 1595 :end 1656 :contents-begin 1647 :contents-end 1654 :post-blank 0 :parent #82) #("complex" 0 7 (:parent #86))) #(". In this document we\nexplain the GeneNetwork version 2 (GN2) reproducible deployment system\nwhich is based on GNU Guix (see also " 0 130 (:parent #82)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1786 :end 1860 :contents-begin 1848 :contents-end 1858 :post-blank 0 :parent #82) #("Guix-notes" 0 10 (:parent #88))) #("). The Guix\nsystem can be used to install GN with all its files and dependencies.\n" 0 82 (:parent #82))) (paragraph (:begin 1943 :end 2328 :contents-begin 1943 :contents-end 2327 :post-blank 1 :post-affiliated 1943 :mode nil :granularity nil :parent #78) #("The official installation path is from a checked out version of the\nmain Guix package tree and that of the Genenetwork package\ntree. Current supported versions can be found as the SHA values of\n'gn-latest' branches of " 0 218 (:parent #83)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :application nil :search-option nil :begin 2161 :end 2252 :contents-begin 2230 :contents-end 2249 :post-blank 1 :parent #83) #("Guix bioinformatics" 0 19 (:parent #87))) #("and " 0 4 (:parent #83)) (link (:type "https" :path "//github.com/genenetwork/guix/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix/tree/gn-latest" :application nil :search-option nil :begin 2256 :end 2325 :contents-begin 2310 :contents-end 2323 :post-blank 0 :parent #83) #("GNU Guix main" 0 13 (:parent #89))) #(".\n" 0 2 (:parent #83))) (paragraph (:begin 2328 :end 2449 :contents-begin 2328 :contents-end 2449 :post-blank 0 :post-affiliated 2328 :mode nil :granularity nil :parent #78) #("For a full view of runtime dependencies as defined by GNU Guix, see\nthe " 0 72 (:parent #84)) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 2400 :end 2447 :contents-begin 2425 :contents-end 2445 :post-blank 0 :parent #84) #("GN2 Dependency Graph" 0 20 (:parent #88))) #(".\n" 0 2 (:parent #84))))) (headline (:raw-value "Quick installation recipe" :begin 2450 :end 7633 :pre-blank 1 :contents-begin 2479 :contents-end 7632 :robust-begin 2481 :robust-end 7630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 2450 :title (#("Quick installation recipe" 0 25 (:parent #76))) :mode nil :granularity nil :parent #70) (section (:begin 2479 :end 3022 :contents-begin 2479 :contents-end 3021 :robust-begin 2479 :robust-end 3019 :post-blank 1 :post-affiliated 2479 :mode section :granularity nil :parent #76) (paragraph (:begin 2479 :end 2880 :contents-begin 2479 :contents-end 2879 :post-blank 1 :post-affiliated 2479 :mode planning :granularity nil :parent #79) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS). For more elaborate installation\ninstructions see " 0 357 (:parent #82)) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 2836 :end 2877 :contents-begin 2858 :contents-end 2875 :post-blank 0 :parent #82) #("Source deployment" 0 17 (:parent #86))) #(".\n" 0 2 (:parent #82))) (paragraph (:begin 2880 :end 3021 :contents-begin 2880 :contents-end 3021 :post-blank 0 :post-affiliated 2880 :mode nil :granularity nil :parent #79) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #83)))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 3022 :end 4649 :pre-blank 1 :contents-begin 3051 :contents-end 4648 :robust-begin 3053 :robust-end 4646 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3022 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #80))) :mode nil :granularity nil :parent #76) (section (:begin 3051 :end 4649 :contents-begin 3051 :contents-end 4648 :robust-begin 3051 :robust-end 4646 :post-blank 1 :post-affiliated 3051 :mode section :granularity nil :parent #80) (paragraph (:begin 3051 :end 3504 :contents-begin 3051 :contents-end 3503 :post-blank 1 :post-affiliated 3051 :mode planning :granularity nil :parent #83) #("Fetch the GNU Guix binary from " 0 31 (:parent #86)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 3082 :end 3136 :contents-begin 3129 :contents-end 3133 :post-blank 1 :parent #86) #("here" 0 4 (:parent #90))) #("(middle panel) and follow\n" 0 26 (:parent #86)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 3162 :end 3255 :contents-begin 3241 :contents-end 3253 :post-blank 0 :parent #86) #("instructions" 0 12 (:parent #92))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #86))) (paragraph (:begin 3504 :end 3782 :contents-begin 3504 :contents-end 3781 :post-blank 1 :post-affiliated 3504 :mode nil :granularity nil :parent #83) #("Once you have succeeded, you have to " 0 37 (:parent #87)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 3541 :end 3631 :contents-begin 3617 :contents-end 3628 :post-blank 1 :parent #87) #("set the key" 0 11 (:parent #91))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #87))) (src-block (:language "bash" :switches nil :parameters nil :begin 3782 :end 3890 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 3782 :mode nil :granularity nil :parent #83)) (paragraph (:begin 3890 :end 3924 :contents-begin 3890 :contents-end 3923 :post-blank 1 :post-affiliated 3890 :mode nil :granularity nil :parent #83) #("Which should show something like\n" 0 33 (:parent #89))) (fixed-width (:begin 3924 :end 4034 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 3924 :mode nil :granularity nil :parent #83)) (paragraph (:begin 4034 :end 4045 :contents-begin 4034 :contents-end 4044 :post-blank 1 :post-affiliated 4034 :mode nil :granularity nil :parent #83) #("#+end" 0 5 (:parent #91)) (subscript (:begin 4039 :end 4043 :use-brackets-p nil :contents-begin 4040 :contents-end 4043 :post-blank 0 :parent #91) #("src" 0 3 (:parent #95))) #("\n" 0 1 (:parent #91))) (paragraph (:begin 4045 :end 4116 :contents-begin 4045 :contents-end 4115 :post-blank 1 :post-affiliated 4045 :mode nil :granularity nil :parent #83) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #92))) (src-block (:language "bash" :switches nil :parameters nil :begin 4116 :end 4188 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 4116 :mode nil :granularity nil :parent #83)) (paragraph (:begin 4188 :end 4375 :contents-begin 4188 :contents-end 4374 :post-blank 1 :post-affiliated 4188 :mode nil :granularity nil :parent #83) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #94))) (paragraph (:begin 4375 :end 4648 :contents-begin 4375 :contents-end 4648 :post-blank 0 :post-affiliated 4375 :mode nil :granularity nil :parent #83) #("If you need more help we have another writeup in " 0 49 (:parent #95)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 4424 :end 4520 :contents-begin 4508 :contents-end 4518 :post-blank 0 :parent #95) #("guix-notes" 0 10 (:parent #99))) #(". To get\nrid of the locale warning see " 0 39 (:parent #95)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 4559 :end 4646 :contents-begin 4634 :contents-end 4644 :post-blank 0 :parent #95) #("set-locale" 0 10 (:parent #101))) #(".\n" 0 2 (:parent #95))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 4649 :end 5304 :pre-blank 1 :contents-begin 4695 :contents-end 5302 :robust-begin 4697 :robust-end 5300 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4649 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #81))) :mode nil :granularity nil :parent #76) (section (:begin 4695 :end 5304 :contents-begin 4695 :contents-end 5302 :robust-begin 4695 :robust-end 5300 :post-blank 2 :post-affiliated 4695 :mode section :granularity nil :parent #81) (paragraph (:begin 4695 :end 4815 :contents-begin 4695 :contents-end 4814 :post-blank 1 :post-affiliated 4695 :mode planning :granularity nil :parent #84) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #87))) (src-block (:language "bash" :switches nil :parameters nil :begin 4815 :end 4920 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 4815 :mode nil :granularity nil :parent #84)) (paragraph (:begin 4920 :end 4971 :contents-begin 4920 :contents-end 4970 :post-blank 1 :post-affiliated 4920 :mode nil :granularity nil :parent #84) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #89))) (paragraph (:begin 4971 :end 5232 :contents-begin 4971 :contents-end 5231 :post-blank 1 :post-affiliated 4971 :mode nil :granularity nil :parent #84) #("#+begin" 0 7 (:parent #90)) (subscript (:begin 4978 :end 4983 :use-brackets-p nil :contents-begin 4979 :contents-end 4982 :post-blank 1 :parent #90) #("src" 0 3 (:parent #94))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #90)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 5055 :end 5105 :contents-begin nil :contents-end nil :post-blank 0 :parent #90)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #90)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 5147 :end 5183 :contents-begin nil :contents-end nil :post-blank 1 :parent #90)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #90)) (subscript (:begin 5221 :end 5226 :use-brackets-p nil :contents-begin 5222 :contents-end 5225 :post-blank 1 :parent #90) #("src" 0 3 (:parent #100))) #("bash\n" 0 5 (:parent #90))) (paragraph (:begin 5232 :end 5270 :contents-begin 5232 :contents-end 5269 :post-blank 1 :post-affiliated 5232 :mode nil :granularity nil :parent #84) #("To test whether this is working try:\n" 0 37 (:parent #91))) (paragraph (:begin 5270 :end 5302 :contents-begin 5270 :contents-end 5302 :post-blank 0 :post-affiliated 5270 :mode nil :granularity nil :parent #84) #("#+begin" 0 7 (:parent #92)) (subscript (:begin 5277 :end 5282 :use-brackets-p nil :contents-begin 5278 :contents-end 5281 :post-blank 1 :parent #92) #("src" 0 3 (:parent #96))) #("bash\n#+end" 0 10 (:parent #92)) (subscript (:begin 5292 :end 5297 :use-brackets-p nil :contents-begin 5293 :contents-end 5296 :post-blank 1 :parent #92) #("src" 0 3 (:parent #98))) #("bash\n" 0 5 (:parent #92))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 5304 :end 5755 :pre-blank 1 :contents-begin 5345 :contents-end 5754 :robust-begin 5347 :robust-end 5752 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5304 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #82))) :mode nil :granularity nil :parent #76) (section (:begin 5345 :end 5755 :contents-begin 5345 :contents-end 5754 :robust-begin 5345 :robust-end 5752 :post-blank 1 :post-affiliated 5345 :mode section :granularity nil :parent #82) (paragraph (:begin 5345 :end 5445 :contents-begin 5345 :contents-end 5444 :post-blank 1 :post-affiliated 5345 :mode planning :granularity nil :parent #85) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #88))) (src-block (:language "scheme" :switches nil :parameters nil :begin 5445 :end 5589 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 5445 :mode nil :granularity nil :parent #85)) (paragraph (:begin 5589 :end 5621 :contents-begin 5589 :contents-end 5620 :post-blank 1 :post-affiliated 5589 :mode nil :granularity nil :parent #85) #("by pasting it into the command\n" 0 31 (:parent #90))) (src-block (:language "bash" :switches nil :parameters nil :begin 5621 :end 5674 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 5621 :mode nil :granularity nil :parent #85)) (paragraph (:begin 5674 :end 5691 :contents-begin 5674 :contents-end 5690 :post-blank 1 :post-affiliated 5674 :mode nil :granularity nil :parent #85) #("and hit Ctrl-D.\n" 0 16 (:parent #92))) (paragraph (:begin 5691 :end 5754 :contents-begin 5691 :contents-end 5754 :post-blank 0 :post-affiliated 5691 :mode nil :granularity nil :parent #85) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #93))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 5755 :end 7633 :pre-blank 1 :contents-begin 5787 :contents-end 7632 :robust-begin 5789 :robust-end 7630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5755 :title (#("Step 4: Install and run GN2" 0 27 (:parent #83))) :mode nil :granularity nil :parent #76) (section (:begin 5787 :end 7633 :contents-begin 5787 :contents-end 7632 :robust-begin 5787 :robust-end 7630 :post-blank 1 :post-affiliated 5787 :mode section :granularity nil :parent #83) (paragraph (:begin 5787 :end 5927 :contents-begin 5787 :contents-end 5926 :post-blank 1 :post-affiliated 5787 :mode planning :granularity nil :parent #86) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #89))) (src-block (:language "bash" :switches nil :parameters nil :begin 5927 :end 6046 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 5927 :mode nil :granularity nil :parent #86)) (paragraph (:begin 6046 :end 6099 :contents-begin 6046 :contents-end 6098 :post-blank 1 :post-affiliated 6046 :mode nil :granularity nil :parent #86) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #91))) (src-block (:language "bash" :switches nil :parameters nil :begin 6099 :end 6289 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 6099 :mode nil :granularity nil :parent #86)) (paragraph (:begin 6289 :end 6398 :contents-begin 6289 :contents-end 6397 :post-blank 1 :post-affiliated 6289 :mode nil :granularity nil :parent #86) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #93)) (italic (:begin 6360 :end 6366 :post-blank 0 :contents-begin 6361 :contents-end 6365 :parent #93) #("root" 0 4 (:parent #97))) #(".config/guix/latest override).\n" 0 31 (:parent #93))) (paragraph (:begin 6398 :end 6416 :contents-begin 6398 :contents-end 6415 :post-blank 1 :post-affiliated 6398 :mode nil :granularity nil :parent #86) #("And install with\n" 0 17 (:parent #94))) (src-block (:language "bash" :switches nil :parameters nil :begin 6416 :end 6586 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 6416 :mode nil :granularity nil :parent #86)) (paragraph (:begin 6586 :end 6729 :contents-begin 6586 :contents-end 6728 :post-blank 1 :post-affiliated 6586 :mode nil :granularity nil :parent #86) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #96))) (paragraph (:begin 6729 :end 6925 :contents-begin 6729 :contents-end 6924 :post-blank 1 :post-affiliated 6729 :mode nil :granularity nil :parent #86) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #97))) (paragraph (:begin 6925 :end 7056 :contents-begin 6925 :contents-end 7055 :post-blank 1 :post-affiliated 6925 :mode nil :granularity nil :parent #86) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #98))) (src-block (:language "bash" :switches nil :parameters nil :begin 7056 :end 7235 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python2.7/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 7056 :mode nil :granularity nil :parent #86)) (paragraph (:begin 7235 :end 7304 :contents-begin 7235 :contents-end 7303 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #86) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #100))) (src-block (:language "bash" :switches nil :parameters nil :begin 7304 :end 7345 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 7304 :mode nil :granularity nil :parent #86)) (paragraph (:begin 7345 :end 7596 :contents-begin 7345 :contents-end 7595 :post-blank 1 :post-affiliated 7345 :mode nil :granularity nil :parent #86) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #102)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 7567 :end 7593 :contents-begin nil :contents-end nil :post-blank 0 :parent #102)) #(".\n" 0 2 (:parent #102))) (paragraph (:begin 7596 :end 7632 :contents-begin 7596 :contents-end 7632 :post-blank 0 :post-affiliated 7596 :mode nil :granularity nil :parent #86) #("End of the GN2 installation recipe!\n" 0 36 (:parent #103)))))) (headline (:raw-value "Run MySQL server" :begin 7633 :end 9008 :pre-blank 1 :contents-begin 7653 :contents-end 9007 :robust-begin 7655 :robust-end 9005 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7633 :title (#("Run MySQL server" 0 16 (:parent #77))) :mode nil :granularity nil :parent #70) (section (:begin 7653 :end 9008 :contents-begin 7653 :contents-end 9007 :robust-begin 7653 :robust-end 9005 :post-blank 1 :post-affiliated 7653 :mode section :granularity nil :parent #77) (paragraph (:begin 7653 :end 7928 :contents-begin 7653 :contents-end 7927 :post-blank 1 :post-affiliated 7653 :mode planning :granularity nil :parent #80) #("At this point we require the underlying distribution to install and\nrun mysqld. Currently we have two databases for deployment,\n'db" 0 131 (:parent #83)) (subscript (:begin 7784 :end 7791 :use-brackets-p nil :contents-begin 7785 :contents-end 7791 :post-blank 0 :parent #83) #("webqtl" 0 6 (:parent #87))) (subscript (:begin 7791 :end 7793 :use-brackets-p nil :contents-begin 7792 :contents-end 7793 :post-blank 0 :parent #83) #("s" 0 1 (:parent #88))) #("' is the small testing database containing experiments\nfrom BXD mice and 'db" 0 76 (:parent #83)) (subscript (:begin 7869 :end 7876 :use-brackets-p nil :contents-begin 7870 :contents-end 7876 :post-blank 0 :parent #83) #("webqtl" 0 6 (:parent #90))) (subscript (:begin 7876 :end 7882 :use-brackets-p nil :contents-begin 7877 :contents-end 7882 :post-blank 0 :parent #83) #("plant" 0 5 (:parent #91))) #("' which contains all plant related\nmaterial.\n" 0 45 (:parent #83))) (paragraph (:begin 7928 :end 7956 :contents-begin 7928 :contents-end 7955 :post-blank 1 :post-affiliated 7928 :mode nil :granularity nil :parent #80) #("Download one database from\n" 0 27 (:parent #84))) (paragraph (:begin 7956 :end 8054 :contents-begin 7956 :contents-end 8053 :post-blank 1 :post-affiliated 7956 :mode nil :granularity nil :parent #80) (link (:type "http" :path "//files.genenetwork.org/raw_database/" :format plain :raw-link "http://files.genenetwork.org/raw_database/" :application nil :search-option nil :begin 7956 :end 7998 :contents-begin nil :contents-end nil :post-blank 0 :parent #85)) #("\n" 0 1 (:parent #85)) (link (:type "https" :path "//s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :format plain :raw-link "https://s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :application nil :search-option nil :begin 7999 :end 8052 :contents-begin nil :contents-end nil :post-blank 0 :parent #85)) #("\n" 0 1 (:parent #85))) (paragraph (:begin 8054 :end 8073 :contents-begin 8054 :contents-end 8072 :post-blank 1 :post-affiliated 8054 :mode nil :granularity nil :parent #80) #("Check the md5sum.\n" 0 18 (:parent #86))) (paragraph (:begin 8073 :end 8195 :contents-begin 8073 :contents-end 8194 :post-blank 1 :post-affiliated 8073 :mode nil :granularity nil :parent #80) #("After installation inflate the database binary in the MySQL directory\n(this installation path is subject to change soon)\n" 0 121 (:parent #87))) (fixed-width (:begin 8195 :end 8283 :value "chown -R mysql:mysql db_webqtl_s/\nchmod 700 db_webqtl_s/\nchmod 660 db_webqtl_s/*" :post-blank 2 :post-affiliated 8195 :mode nil :granularity nil :parent #80)) (paragraph (:begin 8283 :end 8334 :contents-begin 8283 :contents-end 8333 :post-blank 1 :post-affiliated 8283 :mode nil :granularity nil :parent #80) #("restart MySQL service (mysqld). Login as root and\n" 0 50 (:parent #89))) (fixed-width (:begin 8334 :end 8560 :value "mysql> show databases;\n+--------------------+\n| Database |\n+--------------------+\n| information_schema |\n| db_webqtl_s |\n| mysql |\n| performance_schema |\n+--------------------+" :post-blank 2 :post-affiliated 8334 :mode nil :granularity nil :parent #80)) (paragraph (:begin 8560 :end 8625 :contents-begin 8560 :contents-end 8624 :post-blank 1 :post-affiliated 8560 :mode nil :granularity nil :parent #80) #("Set permissions and match password in your settings file below:\n" 0 64 (:parent #91))) (fixed-width (:begin 8625 :end 8724 :value "mysql> grant all privileges on db_webqtl_s.* to gn2@\"localhost\" identified by 'mysql_password';" :post-blank 2 :post-affiliated 8625 :mode nil :granularity nil :parent #80)) (paragraph (:begin 8724 :end 8875 :contents-begin 8724 :contents-end 8874 :post-blank 1 :post-affiliated 8724 :mode nil :granularity nil :parent #80) #("Note that if the mysql connection is not working, try connecting to\nthe IP address and check server firewall, hosts.allow and mysql IP\nconfiguration.\n" 0 150 (:parent #93))) (paragraph (:begin 8875 :end 9007 :contents-begin 8875 :contents-end 9007 :post-blank 0 :post-affiliated 8875 :mode nil :granularity nil :parent #80) #("Note for the plant database you can rename it to db" 0 51 (:parent #94)) (subscript (:begin 8926 :end 8933 :use-brackets-p nil :contents-begin 8927 :contents-end 8933 :post-blank 0 :parent #94) #("webqtl" 0 6 (:parent #98))) (subscript (:begin 8933 :end 8935 :use-brackets-p nil :contents-begin 8934 :contents-end 8935 :post-blank 0 :parent #94) #("s" 0 1 (:parent #99))) #(", or\nchange the settings in etc/default" 0 39 (:parent #94)) (subscript (:begin 8974 :end 8987 :use-brackets-p nil :contents-begin 8975 :contents-end 8986 :post-blank 1 :parent #94) #("settings.py" 0 11 (:parent #101))) #("to match your path.\n" 0 20 (:parent #94))))) (headline (:raw-value "GN2 Dependency Graph" :begin 9008 :end 9172 :pre-blank 1 :contents-begin 9032 :contents-end 9171 :robust-begin 9034 :robust-end 9169 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9008 :title (#("GN2 Dependency Graph" 0 20 (:parent #78))) :mode nil :granularity nil :parent #70) (section (:begin 9032 :end 9172 :contents-begin 9032 :contents-end 9171 :robust-begin 9032 :robust-end 9169 :post-blank 1 :post-affiliated 9032 :mode section :granularity nil :parent #78) (paragraph (:begin 9032 :end 9093 :contents-begin 9032 :contents-end 9092 :post-blank 1 :post-affiliated 9032 :mode planning :granularity nil :parent #81) #("Graph of all runtime dependencies as installed by GNU Guix.\n" 0 60 (:parent #84))) (paragraph (:begin 9093 :end 9171 :contents-begin 9123 :contents-end 9171 :post-blank 0 :post-affiliated 9123 :attr_html (":title GN2_graph") :mode nil :granularity nil :parent #81) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg" :format plain :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg" :application nil :search-option nil :begin 9123 :end 9170 :contents-begin nil :contents-end nil :post-blank 0 :parent #85)) #("\n" 0 1 (:parent #85))))) (headline (:raw-value "Source deployment" :begin 9172 :end 12840 :pre-blank 1 :contents-begin 9193 :contents-end 12839 :robust-begin 9195 :robust-end 12837 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9172 :title (#("Source deployment" 0 17 (:parent #79))) :mode nil :granularity nil :parent #70) (section (:begin 9193 :end 9612 :contents-begin 9193 :contents-end 9610 :robust-begin 9193 :robust-end 9608 :post-blank 2 :post-affiliated 9193 :mode section :granularity nil :parent #79) (paragraph (:begin 9193 :end 9274 :contents-begin 9193 :contents-end 9273 :post-blank 1 :post-affiliated 9193 :mode planning :granularity nil :parent #82) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #85))) (paragraph (:begin 9274 :end 9304 :contents-begin 9274 :contents-end 9303 :post-blank 1 :post-affiliated 9274 :mode nil :granularity nil :parent #82) #("First execute above 4 steps:\n" 0 29 (:parent #86))) (plain-list (:type unordered :begin 9304 :end 9610 :contents-begin 9304 :contents-end 9610 :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :post-blank 0 :post-affiliated 9304 :mode nil :granularity nil :parent #82) (item (:bullet "- " :begin 9304 :end 9364 :contents-begin 9309 :contents-end 9364 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9304 :tag nil :mode item :granularity nil :parent #87) (paragraph (:begin 9309 :end 9364 :contents-begin 9309 :contents-end 9364 :post-blank 0 :post-affiliated 9309 :mode nil :granularity nil :parent #90) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 9309 :end 9363 :contents-begin 9337 :contents-end 9361 :post-blank 0 :parent #93) #("Step 1: Install GNU Guix" 0 24 (:parent #96))) #("\n" 0 1 (:parent #93)))) (item (:bullet "- " :begin 9364 :end 9458 :contents-begin 9369 :contents-end 9458 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9364 :tag nil :mode item :granularity nil :parent #87) (paragraph (:begin 9369 :end 9458 :contents-begin 9369 :contents-end 9458 :post-blank 0 :post-affiliated 9369 :mode nil :granularity nil :parent #91) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 9369 :end 9457 :contents-begin 9414 :contents-end 9455 :post-blank 0 :parent #94) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #97))) #("\n" 0 1 (:parent #94)))) (item (:bullet "- " :begin 9458 :end 9542 :contents-begin 9463 :contents-end 9542 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9458 :tag nil :mode item :granularity nil :parent #87) (paragraph (:begin 9463 :end 9542 :contents-begin 9463 :contents-end 9542 :post-blank 0 :post-affiliated 9463 :mode nil :granularity nil :parent #92) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 9463 :end 9541 :contents-begin 9503 :contents-end 9539 :post-blank 0 :parent #95) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #98))) #("\n" 0 1 (:parent #95)))) (item (:bullet "- " :begin 9542 :end 9610 :contents-begin 9547 :contents-end 9610 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9542 :tag nil :mode item :granularity nil :parent #87) (paragraph (:begin 9547 :end 9610 :contents-begin 9547 :contents-end 9610 :post-blank 0 :post-affiliated 9547 :mode nil :granularity nil :parent #93) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 9547 :end 9609 :contents-begin 9579 :contents-end 9607 :post-blank 0 :parent #96) #("Step 4: Install and run GN2 " 0 28 (:parent #99))) #("\n" 0 1 (:parent #96)))))) (headline (:raw-value "Run your own copy of GN2" :begin 9612 :end 10722 :pre-blank 1 :contents-begin 9641 :contents-end 10721 :robust-begin 9643 :robust-end 10719 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9612 :title (#("Run your own copy of GN2" 0 24 (:parent #83))) :mode nil :granularity nil :parent #79) (section (:begin 9641 :end 10722 :contents-begin 9641 :contents-end 10721 :robust-begin 9641 :robust-end 10719 :post-blank 1 :post-affiliated 9641 :mode section :granularity nil :parent #83) (paragraph (:begin 9641 :end 9839 :contents-begin 9641 :contents-end 9838 :post-blank 1 :post-affiliated 9641 :mode planning :granularity nil :parent #86) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #89)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 9793 :end 9836 :contents-begin nil :contents-end nil :post-blank 0 :parent #89)) #(".\n" 0 2 (:parent #89))) (paragraph (:begin 9839 :end 9964 :contents-begin 9839 :contents-end 9963 :post-blank 1 :post-affiliated 9839 :mode nil :granularity nil :parent #86) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #90)) (subscript (:begin 9896 :end 9902 :use-brackets-p nil :contents-begin 9897 :contents-end 9901 :post-blank 1 :parent #90) #("PATH" 0 4 (:parent #94))) #("and\nR" 0 5 (:parent #90)) (subscript (:begin 9907 :end 9912 :use-brackets-p nil :contents-begin 9908 :contents-end 9912 :post-blank 0 :parent #90) #("LIBS" 0 4 (:parent #96))) (subscript (:begin 9912 :end 9918 :use-brackets-p nil :contents-begin 9913 :contents-end 9917 :post-blank 1 :parent #90) #("SITE" 0 4 (:parent #97))) #("are set) from the information given by guix:\n" 0 45 (:parent #90))) (fixed-width (:begin 9964 :end 9995 :value "guix package --search-paths" :post-blank 2 :post-affiliated 9964 :mode nil :granularity nil :parent #86)) (paragraph (:begin 9995 :end 10019 :contents-begin 9995 :contents-end 10018 :post-blank 1 :post-affiliated 9995 :mode nil :granularity nil :parent #86) #("Inside the repository:\n" 0 23 (:parent #92))) (fixed-width (:begin 10019 :end 10059 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 10019 :mode nil :granularity nil :parent #86)) (paragraph (:begin 10059 :end 10303 :contents-begin 10059 :contents-end 10302 :post-blank 1 :post-affiliated 10059 :mode nil :granularity nil :parent #86) #("Will fire up your local repo " 0 29 (:parent #94)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 10088 :end 10111 :contents-begin nil :contents-end nil :post-blank 1 :parent #94)) #("using the\nsettings in ./etc/default" 0 35 (:parent #94)) (subscript (:begin 10146 :end 10158 :use-brackets-p nil :contents-begin 10147 :contents-end 10158 :post-blank 0 :parent #94) #("settings.py" 0 11 (:parent #100))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #94)) (subscript (:begin 10263 :end 10276 :use-brackets-p nil :contents-begin 10264 :contents-end 10275 :post-blank 1 :parent #94) #("settings.py" 0 11 (:parent #102))) #("and pass it into GN2 with\n" 0 26 (:parent #94))) (fixed-width (:begin 10303 :end 10346 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 10303 :mode nil :granularity nil :parent #86)) (paragraph (:begin 10346 :end 10492 :contents-begin 10346 :contents-end 10491 :post-blank 1 :post-affiliated 10346 :mode nil :granularity nil :parent #86) #("and everything " 0 15 (:parent #96)) (bold (:begin 10361 :end 10370 :post-blank 1 :contents-begin 10362 :contents-end 10368 :parent #96) #("should" 0 6 (:parent #100))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #96))) (paragraph (:begin 10492 :end 10620 :contents-begin 10492 :contents-end 10619 :post-blank 1 :post-affiliated 10492 :mode nil :granularity nil :parent #86) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #97))) (fixed-width (:begin 10620 :end 10721 :value "cat ~/.guix-profile/lib/python2.7/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 10620 :mode nil :granularity nil :parent #86)))) (headline (:raw-value "Set up nginx port forwarding" :begin 10722 :end 12840 :pre-blank 1 :contents-begin 10755 :contents-end 12839 :robust-begin 10757 :robust-end 12837 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 10722 :title (#("Set up nginx port forwarding" 0 28 (:parent #84))) :mode nil :granularity nil :parent #79) (section (:begin 10755 :end 12840 :contents-begin 10755 :contents-end 12839 :robust-begin 10755 :robust-end 12837 :post-blank 1 :post-affiliated 10755 :mode section :granularity nil :parent #84) (paragraph (:begin 10755 :end 10923 :contents-begin 10755 :contents-end 10922 :post-blank 1 :post-affiliated 10755 :mode planning :granularity nil :parent #87) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #90))) (paragraph (:begin 10923 :end 11063 :contents-begin 10923 :contents-end 11062 :post-blank 1 :post-affiliated 10923 :mode nil :granularity nil :parent #87) #("#+begin" 0 7 (:parent #91)) (subscript (:begin 10930 :end 10935 :use-brackets-p nil :contents-begin 10931 :contents-end 10934 :post-blank 1 :parent #91) #("src" 0 3 (:parent #95))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #91)) (subscript (:begin 10984 :end 10990 :use-brackets-p nil :contents-begin 10985 :contents-end 10989 :post-blank 1 :parent #91) #("name" 0 4 (:parent #97))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #91)) (subscript (:begin 11030 :end 11036 :use-brackets-p nil :contents-begin 11031 :contents-end 11034 :post-blank 2 :parent #91) #("log" 0 3 (:parent #99))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #91))) (paragraph (:begin 11063 :end 11232 :contents-begin 11063 :contents-end 11231 :post-blank 1 :post-affiliated 11063 :mode nil :granularity nil :parent #87) #(" proxy" 0 13 (:parent #92)) (subscript (:begin 11076 :end 11084 :use-brackets-p nil :contents-begin 11077 :contents-end 11084 :post-blank 0 :parent #92) #("connect" 0 7 (:parent #96))) (subscript (:begin 11084 :end 11099 :use-brackets-p nil :contents-begin 11085 :contents-end 11092 :post-blank 7 :parent #92) #("timeout" 0 7 (:parent #97))) #("3000;\n proxy" 0 19 (:parent #92)) (subscript (:begin 11118 :end 11123 :use-brackets-p nil :contents-begin 11119 :contents-end 11123 :post-blank 0 :parent #92) #("send" 0 4 (:parent #99))) (subscript (:begin 11123 :end 11141 :use-brackets-p nil :contents-begin 11124 :contents-end 11131 :post-blank 10 :parent #92) #("timeout" 0 7 (:parent #100))) #("3000;\n proxy" 0 19 (:parent #92)) (subscript (:begin 11160 :end 11165 :use-brackets-p nil :contents-begin 11161 :contents-end 11165 :post-blank 0 :parent #92) #("read" 0 4 (:parent #102))) (subscript (:begin 11165 :end 11183 :use-brackets-p nil :contents-begin 11166 :contents-end 11173 :post-blank 10 :parent #92) #("timeout" 0 7 (:parent #103))) #("3000;\n send" 0 18 (:parent #92)) (subscript (:begin 11201 :end 11225 :use-brackets-p nil :contents-begin 11202 :contents-end 11209 :post-blank 16 :parent #92) #("timeout" 0 7 (:parent #105))) #("3000;\n" 0 6 (:parent #92))) (paragraph (:begin 11232 :end 11632 :contents-begin 11232 :contents-end 11631 :post-blank 1 :post-affiliated 11232 :mode nil :granularity nil :parent #87) #(" location / {\n proxy" 0 38 (:parent #93)) (subscript (:begin 11270 :end 11274 :use-brackets-p nil :contents-begin 11271 :contents-end 11274 :post-blank 0 :parent #93) #("set" 0 3 (:parent #97))) (subscript (:begin 11274 :end 11284 :use-brackets-p nil :contents-begin 11275 :contents-end 11281 :post-blank 3 :parent #93) #("header" 0 6 (:parent #98))) #("Host $http" 0 15 (:parent #93)) (subscript (:begin 11299 :end 11304 :use-brackets-p nil :contents-begin 11300 :contents-end 11304 :post-blank 0 :parent #93) #("host" 0 4 (:parent #100))) #(";\n proxy" 0 19 (:parent #93)) (subscript (:begin 11323 :end 11327 :use-brackets-p nil :contents-begin 11324 :contents-end 11327 :post-blank 0 :parent #93) #("set" 0 3 (:parent #102))) (subscript (:begin 11327 :end 11337 :use-brackets-p nil :contents-begin 11328 :contents-end 11334 :post-blank 3 :parent #93) #("header" 0 6 (:parent #103))) #("Connection keep-alive;\n proxy" 0 40 (:parent #93)) (subscript (:begin 11377 :end 11381 :use-brackets-p nil :contents-begin 11378 :contents-end 11381 :post-blank 0 :parent #93) #("set" 0 3 (:parent #105))) (subscript (:begin 11381 :end 11391 :use-brackets-p nil :contents-begin 11382 :contents-end 11388 :post-blank 3 :parent #93) #("header" 0 6 (:parent #106))) #("X-Real-IP $remote" 0 17 (:parent #93)) (subscript (:begin 11408 :end 11413 :use-brackets-p nil :contents-begin 11409 :contents-end 11413 :post-blank 0 :parent #93) #("addr" 0 4 (:parent #108))) #(";\n proxy" 0 19 (:parent #93)) (subscript (:begin 11432 :end 11436 :use-brackets-p nil :contents-begin 11433 :contents-end 11436 :post-blank 0 :parent #93) #("set" 0 3 (:parent #110))) (subscript (:begin 11436 :end 11446 :use-brackets-p nil :contents-begin 11437 :contents-end 11443 :post-blank 3 :parent #93) #("header" 0 6 (:parent #111))) #("X-Forwarded-For $proxy" 0 22 (:parent #93)) (subscript (:begin 11468 :end 11472 :use-brackets-p nil :contents-begin 11469 :contents-end 11472 :post-blank 0 :parent #93) #("add" 0 3 (:parent #113))) (subscript (:begin 11472 :end 11474 :use-brackets-p nil :contents-begin 11473 :contents-end 11474 :post-blank 0 :parent #93) #("x" 0 1 (:parent #114))) (subscript (:begin 11474 :end 11484 :use-brackets-p nil :contents-begin 11475 :contents-end 11484 :post-blank 0 :parent #93) #("forwarded" 0 9 (:parent #115))) (subscript (:begin 11484 :end 11488 :use-brackets-p nil :contents-begin 11485 :contents-end 11488 :post-blank 0 :parent #93) #("for" 0 3 (:parent #116))) #(";\n proxy" 0 19 (:parent #93)) (subscript (:begin 11507 :end 11511 :use-brackets-p nil :contents-begin 11508 :contents-end 11511 :post-blank 0 :parent #93) #("set" 0 3 (:parent #118))) (subscript (:begin 11511 :end 11521 :use-brackets-p nil :contents-begin 11512 :contents-end 11518 :post-blank 3 :parent #93) #("header" 0 6 (:parent #119))) #("X-Forwarded-Host $server" 0 24 (:parent #93)) (subscript (:begin 11545 :end 11550 :use-brackets-p nil :contents-begin 11546 :contents-end 11550 :post-blank 0 :parent #93) #("name" 0 4 (:parent #121))) #(";\n proxy" 0 19 (:parent #93)) (subscript (:begin 11569 :end 11583 :use-brackets-p nil :contents-begin 11570 :contents-end 11574 :post-blank 9 :parent #93) #("pass" 0 4 (:parent #123))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 11583 :end 11604 :contents-begin nil :contents-end nil :post-blank 0 :parent #93)) #(";\n }\n}\n#+end" 0 19 (:parent #93)) (subscript (:begin 11623 :end 11628 :use-brackets-p nil :contents-begin 11624 :contents-end 11627 :post-blank 1 :parent #93) #("src" 0 3 (:parent #126))) #("js\n" 0 3 (:parent #93))) (paragraph (:begin 11632 :end 11671 :contents-begin 11632 :contents-end 11670 :post-blank 1 :post-affiliated 11632 :mode nil :granularity nil :parent #87) #("Install the nginx webserver (as root)\n" 0 38 (:parent #94))) (fixed-width (:begin 11671 :end 11696 :value "guix package -i nginx" :post-blank 2 :post-affiliated 11671 :mode nil :granularity nil :parent #87)) (paragraph (:begin 11696 :end 11777 :contents-begin 11696 :contents-end 11776 :post-blank 1 :post-affiliated 11696 :mode nil :granularity nil :parent #87) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #96))) (fixed-width (:begin 11777 :end 11964 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 11777 :mode nil :granularity nil :parent #87)) (paragraph (:begin 11964 :end 11979 :contents-begin 11964 :contents-end 11978 :post-blank 1 :post-affiliated 11964 :mode nil :granularity nil :parent #87) #("Use that path\n" 0 14 (:parent #98))) (fixed-width (:begin 11979 :end 12373 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 11979 :mode nil :granularity nil :parent #87)) (paragraph (:begin 12373 :end 12599 :contents-begin 12373 :contents-end 12599 :post-blank 0 :post-affiliated 12373 :mode nil :granularity nil :parent #87) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #100))) (fixed-width (:begin 12599 :end 12646 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 12599 :mode nil :granularity nil :parent #87)) (paragraph (:begin 12646 :end 12657 :contents-begin 12646 :contents-end 12656 :post-blank 1 :post-affiliated 12646 :mode nil :granularity nil :parent #87) #("Make dirs\n" 0 10 (:parent #102))) (fixed-width (:begin 12657 :end 12691 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 12657 :mode nil :granularity nil :parent #87)) (paragraph (:begin 12691 :end 12702 :contents-begin 12691 :contents-end 12701 :post-blank 1 :post-affiliated 12691 :mode nil :granularity nil :parent #87) #("Add users\n" 0 10 (:parent #104))) (fixed-width (:begin 12702 :end 12738 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 12702 :mode nil :granularity nil :parent #87)) (paragraph (:begin 12738 :end 12749 :contents-begin 12738 :contents-end 12748 :post-blank 1 :post-affiliated 12738 :mode nil :granularity nil :parent #87) #("Run nginx\n" 0 10 (:parent #106))) (fixed-width (:begin 12749 :end 12839 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 12749 :mode nil :granularity nil :parent #87))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 12840 :end 13801 :pre-blank 1 :contents-begin 12902 :contents-end 13801 :robust-begin 12904 :robust-end 13799 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12840 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #80))) :mode nil :granularity nil :parent #70) (section (:begin 12902 :end 12959 :contents-begin 12902 :contents-end 12958 :robust-begin 12902 :robust-end 12956 :post-blank 1 :post-affiliated 12902 :mode section :granularity nil :parent #80) (paragraph (:begin 12902 :end 12958 :contents-begin 12902 :contents-end 12958 :post-blank 0 :post-affiliated 12902 :mode planning :granularity nil :parent #83) #("See the document " 0 17 (:parent #86)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 12919 :end 12956 :contents-begin nil :contents-end nil :post-blank 0 :parent #86)) #(".\n" 0 2 (:parent #86)))) (headline (:raw-value "Update to recent guix" :begin 12959 :end 13409 :pre-blank 1 :contents-begin 12985 :contents-end 13408 :robust-begin 12987 :robust-end 13406 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12959 :title (#("Update to recent guix" 0 21 (:parent #84))) :mode nil :granularity nil :parent #80) (section (:begin 12985 :end 13409 :contents-begin 12985 :contents-end 13408 :robust-begin 12985 :robust-end 13406 :post-blank 1 :post-affiliated 12985 :mode section :granularity nil :parent #84) (paragraph (:begin 12985 :end 13020 :contents-begin 12985 :contents-end 13019 :post-blank 1 :post-affiliated 12985 :mode planning :granularity nil :parent #87) #("We now compile Guix from scratch.\n" 0 34 (:parent #90))) (paragraph (:begin 13020 :end 13295 :contents-begin 13020 :contents-end 13294 :post-blank 1 :post-affiliated 13020 :mode nil :granularity nil :parent #87) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #91)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 13159 :end 13272 :contents-begin 13264 :contents-end 13269 :post-blank 1 :parent #91) #("these" 0 5 (:parent #95))) #("steps carefully after\n" 0 22 (:parent #91))) (fixed-width (:begin 13295 :end 13330 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 13295 :mode nil :granularity nil :parent #87)) (paragraph (:begin 13330 :end 13408 :contents-begin 13330 :contents-end 13408 :post-blank 0 :post-affiliated 13330 :mode nil :granularity nil :parent #87) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #93))))) (headline (:raw-value "Install GN2" :begin 13409 :end 13801 :pre-blank 1 :contents-begin 13425 :contents-end 13801 :robust-begin 13427 :robust-end 13799 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 13409 :title (#("Install GN2" 0 11 (:parent #85))) :mode nil :granularity nil :parent #80) (section (:begin 13425 :end 13801 :contents-begin 13425 :contents-end 13801 :robust-begin 13425 :robust-end 13799 :post-blank 0 :post-affiliated 13425 :mode section :granularity nil :parent #85) (paragraph (:begin 13425 :end 13468 :contents-begin 13425 :contents-end 13467 :post-blank 1 :post-affiliated 13425 :mode planning :granularity nil :parent #88) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #91))) (paragraph (:begin 13468 :end 13676 :contents-begin 13468 :contents-end 13675 :post-blank 1 :post-affiliated 13468 :mode nil :granularity nil :parent #88) #("#+begin" 0 7 (:parent #92)) (subscript (:begin 13475 :end 13480 :use-brackets-p nil :contents-begin 13476 :contents-end 13479 :post-blank 1 :parent #92) #("src" 0 3 (:parent #96))) #("bash\nenv GUIX" 0 13 (:parent #92)) (subscript (:begin 13493 :end 13501 :use-brackets-p nil :contents-begin 13494 :contents-end 13501 :post-blank 0 :parent #92) #("PACKAGE" 0 7 (:parent #98))) (subscript (:begin 13501 :end 13506 :use-brackets-p nil :contents-begin 13502 :contents-end 13506 :post-blank 0 :parent #92) #("PATH" 0 4 (:parent #99))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #92)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 13605 :end 13633 :contents-begin nil :contents-end nil :post-blank 1 :parent #92)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 13633 :end 13658 :contents-begin nil :contents-end nil :post-blank 0 :parent #92)) #("\"\n#+end" 0 7 (:parent #92)) (subscript (:begin 13665 :end 13670 :use-brackets-p nil :contents-begin 13666 :contents-end 13669 :post-blank 1 :parent #92) #("src" 0 3 (:parent #104))) #("bash\n" 0 5 (:parent #92))) (paragraph (:begin 13676 :end 13714 :contents-begin 13676 :contents-end 13713 :post-blank 1 :post-affiliated 13676 :mode nil :granularity nil :parent #88) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #93))) (paragraph (:begin 13714 :end 13801 :contents-begin 13714 :contents-end 13801 :post-blank 0 :post-affiliated 13714 :mode nil :granularity nil :parent #88) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #94)))))))) #0)) (plain-list (:type unordered :begin 121 :end 1403 :contents-begin 121 :contents-end 1403 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 121 :mode planning :granularity nil :parent #0) (item (:bullet "- " :begin 121 :end 156 :contents-begin 124 :contents-end 156 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 121 :tag nil :mode item :granularity nil :parent #3) (paragraph (:begin 124 :end 156 :contents-begin 124 :contents-end 156 :post-blank 0 :post-affiliated 124 :mode nil :granularity nil :parent #6) (link (:type "custom-id" :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil :begin 124 :end 155 :contents-begin 141 :contents-end 153 :post-blank 0 :parent #9) #("Introduction" 0 12 (:parent #12))) #("\n" 0 1 (:parent #9)))) (item (:bullet "- " :begin 156 :end 521 :contents-begin 159 :contents-end 521 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 156 :tag nil :mode item :granularity nil :parent #3) (paragraph (:begin 159 :end 217 :contents-begin 159 :contents-end 217 :post-blank 0 :post-affiliated 159 :mode nil :granularity nil :parent #7) (link (:type "custom-id" :path "quick-installation-recipe" :format bracket :raw-link "#quick-installation-recipe" :application nil :search-option nil :begin 159 :end 216 :contents-begin 189 :contents-end 214 :post-blank 0 :parent #10) #("Quick installation recipe" 0 25 (:parent #13))) #("\n" 0 1 (:parent #10))) (plain-list (:type unordered :begin 217 :end 521 :contents-begin 217 :contents-end 521 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 217 :mode nil :granularity nil :parent #7) (item (:bullet "- " :begin 217 :end 277 :contents-begin 222 :contents-end 277 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 217 :tag nil :mode item :granularity nil :parent #11) (paragraph (:begin 222 :end 277 :contents-begin 222 :contents-end 277 :post-blank 0 :post-affiliated 222 :mode nil :granularity nil :parent #14) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 222 :end 276 :contents-begin 250 :contents-end 274 :post-blank 0 :parent #17) #("Step 1: Install GNU Guix" 0 24 (:parent #20))) #("\n" 0 1 (:parent #17)))) (item (:bullet "- " :begin 277 :end 371 :contents-begin 282 :contents-end 371 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 277 :tag nil :mode item :granularity nil :parent #11) (paragraph (:begin 282 :end 371 :contents-begin 282 :contents-end 371 :post-blank 0 :post-affiliated 282 :mode nil :granularity nil :parent #15) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 282 :end 370 :contents-begin 327 :contents-end 368 :post-blank 0 :parent #18) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #21))) #("\n" 0 1 (:parent #18)))) (item (:bullet "- " :begin 371 :end 455 :contents-begin 376 :contents-end 455 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 371 :tag nil :mode item :granularity nil :parent #11) (paragraph (:begin 376 :end 455 :contents-begin 376 :contents-end 455 :post-blank 0 :post-affiliated 376 :mode nil :granularity nil :parent #16) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 376 :end 454 :contents-begin 416 :contents-end 452 :post-blank 0 :parent #19) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #22))) #("\n" 0 1 (:parent #19)))) (item (:bullet "- " :begin 455 :end 521 :contents-begin 460 :contents-end 521 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 455 :tag nil :mode item :granularity nil :parent #11) (paragraph (:begin 460 :end 521 :contents-begin 460 :contents-end 521 :post-blank 0 :post-affiliated 460 :mode nil :granularity nil :parent #17) (link (:type "custom-id" :path "step-4-install-and-run-gn2" :format bracket :raw-link "#step-4-install-and-run-gn2" :application nil :search-option nil :begin 460 :end 520 :contents-begin 491 :contents-end 518 :post-blank 0 :parent #20) #("Step 4: Install and run GN2" 0 27 (:parent #23))) #("\n" 0 1 (:parent #20)))))) (item (:bullet "- " :begin 521 :end 564 :contents-begin 524 :contents-end 564 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 521 :tag nil :mode item :granularity nil :parent #3) (paragraph (:begin 524 :end 564 :contents-begin 524 :contents-end 564 :post-blank 0 :post-affiliated 524 :mode nil :granularity nil :parent #8) (link (:type "custom-id" :path "run-mysql-server" :format bracket :raw-link "#run-mysql-server" :application nil :search-option nil :begin 524 :end 563 :contents-begin 545 :contents-end 561 :post-blank 0 :parent #11) #("Run MySQL server" 0 16 (:parent #14))) #("\n" 0 1 (:parent #11)))) (item (:bullet "- " :begin 564 :end 615 :contents-begin 567 :contents-end 615 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 564 :tag nil :mode item :granularity nil :parent #3) (paragraph (:begin 567 :end 615 :contents-begin 567 :contents-end 615 :post-blank 0 :post-affiliated 567 :mode nil :granularity nil :parent #9) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 567 :end 614 :contents-begin 592 :contents-end 612 :post-blank 0 :parent #12) #("GN2 Dependency Graph" 0 20 (:parent #15))) #("\n" 0 1 (:parent #12)))) (item (:bullet "- " :begin 615 :end 790 :contents-begin 618 :contents-end 790 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 615 :tag nil :mode item :granularity nil :parent #3) (paragraph (:begin 618 :end 660 :contents-begin 618 :contents-end 660 :post-blank 0 :post-affiliated 618 :mode nil :granularity nil :parent #10) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 618 :end 659 :contents-begin 640 :contents-end 657 :post-blank 0 :parent #13) #("Source deployment" 0 17 (:parent #16))) #("\n" 0 1 (:parent #13))) (plain-list (:type unordered :begin 660 :end 790 :contents-begin 660 :contents-end 790 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 660 :mode nil :granularity nil :parent #10) (item (:bullet "- " :begin 660 :end 721 :contents-begin 665 :contents-end 721 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 660 :tag nil :mode item :granularity nil :parent #14) (paragraph (:begin 665 :end 721 :contents-begin 665 :contents-end 721 :post-blank 0 :post-affiliated 665 :mode nil :granularity nil :parent #17) (link (:type "custom-id" :path "run-your-own-copy-of-gn2" :format bracket :raw-link "#run-your-own-copy-of-gn2" :application nil :search-option nil :begin 665 :end 720 :contents-begin 694 :contents-end 718 :post-blank 0 :parent #20) #("Run your own copy of GN2" 0 24 (:parent #23))) #("\n" 0 1 (:parent #20)))) (item (:bullet "- " :begin 721 :end 790 :contents-begin 726 :contents-end 790 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 721 :tag nil :mode item :granularity nil :parent #14) (paragraph (:begin 726 :end 790 :contents-begin 726 :contents-end 790 :post-blank 0 :post-affiliated 726 :mode nil :granularity nil :parent #18) (link (:type "custom-id" :path "set-up-nginx-port-forwarding" :format bracket :raw-link "#set-up-nginx-port-forwarding" :application nil :search-option nil :begin 726 :end 789 :contents-begin 759 :contents-end 787 :post-blank 0 :parent #21) #("Set up nginx port forwarding" 0 28 (:parent #24))) #("\n" 0 1 (:parent #21)))))) (item (:bullet "- " :begin 790 :end 1034 :contents-begin 793 :contents-end 1034 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 790 :tag nil :mode item :granularity nil :parent #3) (paragraph (:begin 793 :end 917 :contents-begin 793 :contents-end 917 :post-blank 0 :post-affiliated 793 :mode nil :granularity nil :parent #11) (link (:type "custom-id" :path "source-deployment-and-other-information-on-reproducibility" :format bracket :raw-link "#source-deployment-and-other-information-on-reproducibility" :application nil :search-option nil :begin 793 :end 916 :contents-begin 856 :contents-end 914 :post-blank 0 :parent #14) #("Source deployment and other information on reproducibility" 0 58 (:parent #17))) #("\n" 0 1 (:parent #14))) (plain-list (:type unordered :begin 917 :end 1034 :contents-begin 917 :contents-end 1034 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 917 :mode nil :granularity nil :parent #11) (item (:bullet "- " :begin 917 :end 972 :contents-begin 922 :contents-end 972 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 917 :tag nil :mode item :granularity nil :parent #15) (paragraph (:begin 922 :end 972 :contents-begin 922 :contents-end 972 :post-blank 0 :post-affiliated 922 :mode nil :granularity nil :parent #18) (link (:type "custom-id" :path "update-to-recent-guix" :format bracket :raw-link "#update-to-recent-guix" :application nil :search-option nil :begin 922 :end 971 :contents-begin 948 :contents-end 969 :post-blank 0 :parent #21) #("Update to recent guix" 0 21 (:parent #24))) #("\n" 0 1 (:parent #21)))) (item (:bullet "- " :begin 972 :end 1007 :contents-begin 977 :contents-end 1007 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 972 :tag nil :mode item :granularity nil :parent #15) (paragraph (:begin 977 :end 1007 :contents-begin 977 :contents-end 1007 :post-blank 0 :post-affiliated 977 :mode nil :granularity nil :parent #19) (link (:type "custom-id" :path "install-gn2" :format bracket :raw-link "#install-gn2" :application nil :search-option nil :begin 977 :end 1006 :contents-begin 993 :contents-end 1004 :post-blank 0 :parent #22) #("Install GN2" 0 11 (:parent #25))) #("\n" 0 1 (:parent #22)))) (item (:bullet "- " :begin 1007 :end 1034 :contents-begin 1012 :contents-end 1034 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1007 :tag nil :mode item :granularity nil :parent #15) (paragraph (:begin 1012 :end 1034 :contents-begin 1012 :contents-end 1034 :post-blank 0 :post-affiliated 1012 :mode nil :granularity nil :parent #20) (link (:type "custom-id" :path "run-gn2" :format bracket :raw-link "#run-gn2" :application nil :search-option nil :begin 1012 :end 1033 :contents-begin 1024 :contents-end 1031 :post-blank 0 :parent #23) #("Run GN2" 0 7 (:parent #26))) #("\n" 0 1 (:parent #23)))))) (item (:bullet "- " :begin 1034 :end 1370 :contents-begin 1037 :contents-end 1370 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1034 :tag nil :mode item :granularity nil :parent #3) (paragraph (:begin 1037 :end 1077 :contents-begin 1037 :contents-end 1077 :post-blank 0 :post-affiliated 1037 :mode nil :granularity nil :parent #12) (link (:type "custom-id" :path "trouble-shooting" :format bracket :raw-link "#trouble-shooting" :application nil :search-option nil :begin 1037 :end 1076 :contents-begin 1058 :contents-end 1074 :post-blank 0 :parent #15) #("Trouble shooting" 0 16 (:parent #18))) #("\n" 0 1 (:parent #15))) (plain-list (:type unordered :begin 1077 :end 1370 :contents-begin 1077 :contents-end 1370 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 1077 :mode nil :granularity nil :parent #12) (item (:bullet "- " :begin 1077 :end 1159 :contents-begin 1082 :contents-end 1159 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1077 :tag nil :mode item :granularity nil :parent #16) (paragraph (:begin 1082 :end 1159 :contents-begin 1082 :contents-end 1159 :post-blank 0 :post-affiliated 1082 :mode nil :granularity nil :parent #19) (link (:type "custom-id" :path "importerror-no-module-named-jinja2" :format bracket :raw-link "#importerror-no-module-named-jinja2" :application nil :search-option nil :begin 1082 :end 1158 :contents-begin 1121 :contents-end 1156 :post-blank 0 :parent #22) #("ImportError: No module named jinja2" 0 35 (:parent #25))) #("\n" 0 1 (:parent #22)))) (item (:bullet "- " :begin 1159 :end 1257 :contents-begin 1164 :contents-end 1257 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1159 :tag nil :mode item :granularity nil :parent #16) (paragraph (:begin 1164 :end 1257 :contents-begin 1164 :contents-end 1257 :post-blank 0 :post-affiliated 1164 :mode nil :granularity nil :parent #20) (link (:type "custom-id" :path "error-can-not-find-directory-homegn2_data" :format bracket :raw-link "#error-can-not-find-directory-homegn2_data" :application nil :search-option nil :begin 1164 :end 1256 :contents-begin 1210 :contents-end 1254 :post-blank 0 :parent #23) #("ERROR: can not find directory $HOME/gn2" 0 39 (:parent #26)) (subscript (:begin 1249 :end 1254 :use-brackets-p nil :contents-begin 1250 :contents-end 1254 :post-blank 0 :parent #26) #("data" 0 4 (:parent #30)))) #("\n" 0 1 (:parent #23)))) (item (:bullet "- " :begin 1257 :end 1305 :contents-begin 1262 :contents-end 1305 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1257 :tag nil :mode item :granularity nil :parent #16) (paragraph (:begin 1262 :end 1305 :contents-begin 1262 :contents-end 1305 :post-blank 0 :post-affiliated 1262 :mode nil :granularity nil :parent #21) (link (:type "custom-id" :path "cant-run-a-module" :format bracket :raw-link "#cant-run-a-module" :application nil :search-option nil :begin 1262 :end 1304 :contents-begin 1284 :contents-end 1302 :post-blank 0 :parent #24) #("Can't run a module" 0 18 (:parent #27))) #("\n" 0 1 (:parent #24)))) (item (:bullet "- " :begin 1305 :end 1370 :contents-begin 1310 :contents-end 1370 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1305 :tag nil :mode item :granularity nil :parent #16) (paragraph (:begin 1310 :end 1370 :contents-begin 1310 :contents-end 1370 :post-blank 0 :post-affiliated 1310 :mode nil :granularity nil :parent #22) (link (:type "custom-id" :path "rpy2-error-show-now-found" :format bracket :raw-link "#rpy2-error-show-now-found" :application nil :search-option nil :begin 1310 :end 1369 :contents-begin 1340 :contents-end 1367 :post-blank 0 :parent #25) #("Rpy2 error 'show' now found" 0 27 (:parent #28))) #("\n" 0 1 (:parent #25)))))) (item (:bullet "- " :begin 1370 :end 1403 :contents-begin 1373 :contents-end 1403 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1370 :tag nil :mode item :granularity nil :parent #3) (paragraph (:begin 1373 :end 1403 :contents-begin 1373 :contents-end 1403 :post-blank 0 :post-affiliated 1373 :mode nil :granularity nil :parent #13) (link (:type "custom-id" :path "irc-session" :format bracket :raw-link "#irc-session" :application nil :search-option nil :begin 1373 :end 1402 :contents-begin 1389 :contents-end 1400 :post-blank 0 :parent #16) #("IRC session" 0 11 (:parent #19))) #("\n" 0 1 (:parent #16)))))) (:export-options (body-only) :back-end #s(org-export-backend :name html :parent nil :transcoders ((bold . org-html-bold) (center-block . org-html-center-block) (clock . org-html-clock) (code . org-html-code) (drawer . org-html-drawer) (dynamic-block . org-html-dynamic-block) (entity . org-html-entity) (example-block . org-html-example-block) (export-block . org-html-export-block) (export-snippet . org-html-export-snippet) (fixed-width . org-html-fixed-width) (footnote-reference . org-html-footnote-reference) (headline . org-html-headline) (horizontal-rule . org-html-horizontal-rule) (inline-src-block . org-html-inline-src-block) (inlinetask . org-html-inlinetask) (inner-template . org-html-inner-template) (italic . org-html-italic) (item . org-html-item) (keyword . org-html-keyword) (latex-environment . org-html-latex-environment) (latex-fragment . org-html-latex-fragment) (line-break . org-html-line-break) (link . org-html-link) (node-property . org-html-node-property) (paragraph . org-html-paragraph) (plain-list . org-html-plain-list) (plain-text . org-html-plain-text) (planning . org-html-planning) (property-drawer . org-html-property-drawer) (quote-block . org-html-quote-block) (radio-target . org-html-radio-target) (section . org-html-section) (special-block . org-html-special-block) (src-block . org-html-src-block) (statistics-cookie . org-html-statistics-cookie) (strike-through . org-html-strike-through) (subscript . org-html-subscript) (superscript . org-html-superscript) (table . org-html-table) (table-cell . org-html-table-cell) (table-row . org-html-table-row) (target . org-html-target) (template . org-html-template) (timestamp . org-html-timestamp) (underline . org-html-underline) (verbatim . org-html-verbatim) (verse-block . org-html-verse-block)) :options ((:html-doctype "HTML_DOCTYPE" nil org-html-doctype) (:html-container "HTML_CONTAINER" nil org-html-container-element) (:html-content-class "HTML_CONTENT_CLASS" nil org-html-content-class) (:description "DESCRIPTION" nil nil newline) (:keywords "KEYWORDS" nil nil space) (:html-html5-fancy nil "html5-fancy" org-html-html5-fancy) (:html-link-use-abs-url nil "html-link-use-abs-url" org-html-link-use-abs-url) (:html-link-home "HTML_LINK_HOME" nil org-html-link-home) (:html-link-up "HTML_LINK_UP" nil org-html-link-up) (:html-mathjax "HTML_MATHJAX" nil "" space) (:html-equation-reference-format "HTML_EQUATION_REFERENCE_FORMAT" nil org-html-equation-reference-format t) (:html-postamble nil "html-postamble" org-html-postamble) (:html-preamble nil "html-preamble" org-html-preamble) (:html-head "HTML_HEAD" nil org-html-head newline) (:html-head-extra "HTML_HEAD_EXTRA" nil org-html-head-extra newline) (:subtitle "SUBTITLE" nil nil parse) (:html-head-include-default-style nil "html-style" org-html-head-include-default-style) (:html-head-include-scripts nil "html-scripts" org-html-head-include-scripts) (:html-allow-name-attribute-in-anchors nil nil org-html-allow-name-attribute-in-anchors) (:html-divs nil nil org-html-divs) (:html-checkbox-type nil nil org-html-checkbox-type) (:html-extension nil nil org-html-extension) (:html-footnote-format nil nil org-html-footnote-format) (:html-footnote-separator nil nil org-html-footnote-separator) (:html-footnotes-section nil nil org-html-footnotes-section) (:html-format-drawer-function nil nil org-html-format-drawer-function) (:html-format-headline-function nil nil org-html-format-headline-function) (:html-format-inlinetask-function nil nil org-html-format-inlinetask-function) (:html-home/up-format nil nil org-html-home/up-format) (:html-indent nil nil org-html-indent) (:html-infojs-options nil nil org-html-infojs-options) (:html-infojs-template nil nil org-html-infojs-template) (:html-inline-image-rules nil nil org-html-inline-image-rules) (:html-link-org-files-as-html nil nil org-html-link-org-files-as-html) (:html-mathjax-options nil nil org-html-mathjax-options) (:html-mathjax-template nil nil org-html-mathjax-template) (:html-metadata-timestamp-format nil nil org-html-metadata-timestamp-format) (:html-postamble-format nil nil org-html-postamble-format) (:html-preamble-format nil nil org-html-preamble-format) (:html-prefer-user-labels nil nil org-html-prefer-user-labels) (:html-self-link-headlines nil nil org-html-self-link-headlines) (:html-table-align-individual-fields nil nil org-html-table-align-individual-fields) (:html-table-caption-above nil nil org-html-table-caption-above) (:html-table-data-tags nil nil org-html-table-data-tags) (:html-table-header-tags nil nil org-html-table-header-tags) (:html-table-use-header-tags-for-first-column nil nil org-html-table-use-header-tags-for-first-column) (:html-tag-class-prefix nil nil org-html-tag-class-prefix) (:html-text-markup-alist nil nil org-html-text-markup-alist) (:html-todo-kwd-class-prefix nil nil org-html-todo-kwd-class-prefix) (:html-toplevel-hlevel nil nil org-html-toplevel-hlevel) (:html-use-infojs nil nil org-html-use-infojs) (:html-validation-link nil nil org-html-validation-link) (:html-viewport nil nil org-html-viewport) (:html-inline-images nil nil org-html-inline-images) (:html-table-attributes nil nil org-html-table-default-attributes) (:html-table-row-open-tag nil nil org-html-table-row-open-tag) (:html-table-row-close-tag nil nil org-html-table-row-close-tag) (:html-xml-declaration nil nil org-html-xml-declaration) (:html-wrap-src-lines nil nil org-html-wrap-src-lines) (:html-klipsify-src nil nil org-html-klipsify-src) (:html-klipse-css nil nil org-html-klipse-css) (:html-klipse-js nil nil org-html-klipse-js) (:html-klipse-selection-script nil nil org-html-klipse-selection-script) (:infojs-opt "INFOJS_OPT" nil nil) (:creator "CREATOR" nil org-html-creator-string) (:with-latex nil "tex" org-html-with-latex) (:latex-header "LATEX_HEADER" nil nil newline)) :filters ((:filter-options . org-html-infojs-install-script) (:filter-parse-tree . org-html-image-link-filter) (:filter-final-output . org-html-final-function)) :blocks nil :menu (104 "Export to HTML" ((72 "As HTML buffer" org-html-export-as-html) (104 "As HTML file" org-html-export-to-html) (111 "As HTML file and open" (lambda (a s v b) (if a (org-html-export-to-html t s v b) (org-open-file (org-html-export-to-html nil s v b)))))))) :translate-alist ((bold . org-html-bold) (center-block . org-html-center-block) (clock . org-html-clock) (code . org-html-code) (drawer . org-html-drawer) (dynamic-block . org-html-dynamic-block) (entity . org-html-entity) (example-block . org-html-example-block) (export-block . org-html-export-block) (export-snippet . org-html-export-snippet) (fixed-width . org-html-fixed-width) (footnote-reference . org-html-footnote-reference) (headline . org-html-headline) (horizontal-rule . org-html-horizontal-rule) (inline-src-block . org-html-inline-src-block) (inlinetask . org-html-inlinetask) (inner-template . org-html-inner-template) (italic . org-html-italic) (item . org-html-item) (keyword . org-html-keyword) (latex-environment . org-html-latex-environment) (latex-fragment . org-html-latex-fragment) (line-break . org-html-line-break) (link . org-html-link) (node-property . org-html-node-property) (paragraph . org-html-paragraph) (plain-list . org-html-plain-list) (plain-text . org-html-plain-text) (planning . org-html-planning) (property-drawer . org-html-property-drawer) (quote-block . org-html-quote-block) (radio-target . org-html-radio-target) (section . org-html-section) (special-block . org-html-special-block) (src-block . org-html-src-block) (statistics-cookie . org-html-statistics-cookie) (strike-through . org-html-strike-through) (subscript . org-html-subscript) (superscript . org-html-superscript) (table . org-html-table) (table-cell . org-html-table-cell) (table-row . org-html-table-row) (target . org-html-target) (template . org-html-template) (timestamp . org-html-timestamp) (underline . org-html-underline) (verbatim . org-html-verbatim) (verse-block . org-html-verse-block)) :exported-data # :input-buffer " *temp*" :input-file nil :html-doctype "xhtml-strict" :html-container "div" :html-content-class "content" :description nil :keywords nil :html-html5-fancy nil :html-link-use-abs-url nil :html-link-home "" :html-link-up "" :html-mathjax "" :html-equation-reference-format "\\eqref{%s}" :html-postamble auto :html-preamble t :html-head "" :html-head-extra "" :subtitle nil :html-head-include-default-style t :html-head-include-scripts nil :html-allow-name-attribute-in-anchors nil :html-divs ((preamble "div" "preamble") (content "div" "content") (postamble "div" "postamble")) :html-checkbox-type ascii :html-extension "html" :html-footnote-format "%s" :html-footnote-separator ", " :html-footnotes-section "
\n

%s:

\n
\n%s\n
\n
" :html-format-drawer-function #f(compiled-function (name contents) #) :html-format-headline-function org-html-format-headline-default-function :html-format-inlinetask-function org-html-format-inlinetask-default-function :html-home/up-format "
\n UP \n |\n HOME \n
" :html-indent nil :html-infojs-options ((path . "https://orgmode.org/org-info.js") (view . "info") (toc . :with-toc) (ftoc . "0") (tdepth . "max") (sdepth . "max") (mouse . "underline") (buttons . "0") (ltoc . "1") (up . :html-link-up) (home . :html-link-home)) :html-infojs-template "\n\n" :html-inline-image-rules (("file" . "\\(?:\\.\\(?:gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)") ("http" . "\\(?:\\.\\(?:gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)") ("https" . "\\(?:\\.\\(?:gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)")) :html-link-org-files-as-html t :html-mathjax-options ((path "https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js") (scale 1.0) (align "center") (font "mathjax-modern") (overflow "overflow") (tags "ams") (indent "0em") (multlinewidth "85%") (tagindent ".8em") (tagside "right")) :html-mathjax-template "\n\n\n" :html-metadata-timestamp-format "%Y-%m-%d %a %H:%M" :html-postamble-format (("en" "

Author: %a (%e)

\n

Date: %d

\n

%c

\n

%v

")) :html-preamble-format (("en" "")) :html-prefer-user-labels nil :html-self-link-headlines nil :html-table-align-individual-fields t :html-table-caption-above t :html-table-data-tags ("" . "") :html-table-header-tags ("" . "") :html-table-use-header-tags-for-first-column nil :html-tag-class-prefix "" :html-text-markup-alist ((bold . "%s") (code . "%s") (italic . "%s") (strike-through . "%s") (underline . "%s") (verbatim . "%s")) :html-todo-kwd-class-prefix "" :html-toplevel-hlevel 2 :html-use-infojs when-configured :html-validation-link "Validate" :html-viewport ((width "device-width") (initial-scale "1") (minimum-scale "") (maximum-scale "") (user-scalable "")) :html-inline-images t :html-table-attributes (:border "2" :cellspacing "0" :cellpadding "6" :rules "groups" :frame "hsides") :html-table-row-open-tag "" :html-table-row-close-tag "" :html-xml-declaration (("html" . "") ("php" . "\"; ?>")) :html-wrap-src-lines nil :html-klipsify-src nil :html-klipse-css "https://storage.googleapis.com/app.klipse.tech/css/codemirror.css" :html-klipse-js "https://storage.googleapis.com/app.klipse.tech/plugin_prod/js/klipse_plugin.min.js" :html-klipse-selection-script "window.klipse_settings = {selector_eval_html: '.src-html',\n selector_eval_js: '.src-js',\n selector_eval_python_client: '.src-python',\n selector_eval_scheme: '.src-scheme',\n selector: '.src-clojure',\n selector_eval_ruby: '.src-ruby'};" :infojs-opt nil :creator "Emacs 29.4 (Org mode 9.6.15)" :with-latex t :latex-header nil :title (#("Installing GeneNetwork services" 0 31 (:parent #148))) :date nil :author (#("unknown" 0 7 (:parent #152))) :email "unknown@genenetwork-development" :language "en" :select-tags ("export") :exclude-tags ("noexport") :headline-levels 3 :preserve-breaks nil :section-numbers nil :time-stamp-file t :with-archived-trees headline :with-author t :with-broken-links nil :with-clocks nil :with-creator nil :with-date t :with-drawers (not "LOGBOOK") :with-email nil :with-emphasize t :with-entities t :with-fixed-width t :with-footnotes t :with-inlinetasks t :with-planning nil :with-priority nil :with-properties nil :with-smart-quotes nil :with-special-strings t :with-statistics-cookies t :with-sub-superscript t :with-toc nil :with-tables t :with-tags t :with-tasks t :with-timestamps t :with-title t :with-todo-keywords t :cite-export (basic nil nil) :bibliography nil :filter-body nil :filter-bold nil :filter-babel-call nil :filter-center-block nil :filter-clock nil :filter-code nil :filter-diary-sexp nil :filter-drawer nil :filter-dynamic-block nil :filter-entity nil :filter-example-block nil :filter-export-block nil :filter-export-snippet nil :filter-final-output (org-html-final-function) :filter-fixed-width nil :filter-footnote-definition nil :filter-footnote-reference nil :filter-headline nil :filter-horizontal-rule nil :filter-inline-babel-call nil :filter-inline-src-block nil :filter-inlinetask nil :filter-italic nil :filter-item nil :filter-keyword nil :filter-latex-environment nil :filter-latex-fragment nil :filter-line-break nil :filter-link nil :filter-node-property nil :filter-options (org-html-infojs-install-script) :filter-paragraph nil :filter-parse-tree (org-html-image-link-filter) :filter-plain-list nil :filter-plain-text nil :filter-planning nil :filter-property-drawer nil :filter-quote-block nil :filter-radio-target nil :filter-section nil :filter-special-block nil :filter-src-block nil :filter-statistics-cookie nil :filter-strike-through nil :filter-subscript nil :filter-superscript nil :filter-table nil :filter-table-cell nil :filter-table-row nil :filter-target nil :filter-timestamp nil :filter-underline nil :filter-verbatim nil :filter-verse-block nil :ignore-list nil :parse-tree (org-data (:begin 1 :contents-begin 1 :contents-end 13801 :end 13801 :robust-begin 3 :robust-end 13799 :post-blank 0 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 43 :contents-begin 1 :contents-end 42 :robust-begin 1 :robust-end 40 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #338) (keyword (:key "TITLE" :value "Installing GeneNetwork services" :begin 1 :end 42 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #341))) (headline (:raw-value "Table of Contents" :begin 43 :end 1404 :pre-blank 0 :contents-begin 121 :contents-end 1403 :robust-begin 123 :robust-end 1401 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 43 :title (#("Table of Contents" 0 17 (:parent #342))) :mode nil :granularity nil :parent #338) (section (:begin 121 :end 1404 :contents-begin 121 :contents-end 1403 :robust-begin 121 :robust-end 1401 :post-blank 1 :post-affiliated 121 :mode section :granularity nil :parent #342) (plain-list (:type unordered :begin 121 :end 1403 :contents-begin 121 :contents-end 1403 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 121 :mode planning :granularity nil :parent #345) (item (:bullet "- " :begin 121 :end 156 :contents-begin 124 :contents-end 156 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 121 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 124 :end 156 :contents-begin 124 :contents-end 156 :post-blank 0 :post-affiliated 124 :mode nil :granularity nil :parent #351) (link (:type "custom-id" :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil :begin 124 :end 155 :contents-begin 141 :contents-end 153 :post-blank 0 :parent #354) #("Introduction" 0 12 (:parent #357))) #("\n" 0 1 (:parent #354)))) (item (:bullet "- " :begin 156 :end 521 :contents-begin 159 :contents-end 521 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 156 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 159 :end 217 :contents-begin 159 :contents-end 217 :post-blank 0 :post-affiliated 159 :mode nil :granularity nil :parent #352) (link (:type "custom-id" :path "quick-installation-recipe" :format bracket :raw-link "#quick-installation-recipe" :application nil :search-option nil :begin 159 :end 216 :contents-begin 189 :contents-end 214 :post-blank 0 :parent #355) #("Quick installation recipe" 0 25 (:parent #358))) #("\n" 0 1 (:parent #355))) (plain-list (:type unordered :begin 217 :end 521 :contents-begin 217 :contents-end 521 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 217 :mode nil :granularity nil :parent #352) (item (:bullet "- " :begin 217 :end 277 :contents-begin 222 :contents-end 277 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 217 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 222 :end 277 :contents-begin 222 :contents-end 277 :post-blank 0 :post-affiliated 222 :mode nil :granularity nil :parent #359) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 222 :end 276 :contents-begin 250 :contents-end 274 :post-blank 0 :parent #362) #("Step 1: Install GNU Guix" 0 24 (:parent #365))) #("\n" 0 1 (:parent #362)))) (item (:bullet "- " :begin 277 :end 371 :contents-begin 282 :contents-end 371 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 277 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 282 :end 371 :contents-begin 282 :contents-end 371 :post-blank 0 :post-affiliated 282 :mode nil :granularity nil :parent #360) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 282 :end 370 :contents-begin 327 :contents-end 368 :post-blank 0 :parent #363) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #366))) #("\n" 0 1 (:parent #363)))) (item (:bullet "- " :begin 371 :end 455 :contents-begin 376 :contents-end 455 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 371 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 376 :end 455 :contents-begin 376 :contents-end 455 :post-blank 0 :post-affiliated 376 :mode nil :granularity nil :parent #361) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 376 :end 454 :contents-begin 416 :contents-end 452 :post-blank 0 :parent #364) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #367))) #("\n" 0 1 (:parent #364)))) (item (:bullet "- " :begin 455 :end 521 :contents-begin 460 :contents-end 521 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 455 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 460 :end 521 :contents-begin 460 :contents-end 521 :post-blank 0 :post-affiliated 460 :mode nil :granularity nil :parent #362) (link (:type "custom-id" :path "step-4-install-and-run-gn2" :format bracket :raw-link "#step-4-install-and-run-gn2" :application nil :search-option nil :begin 460 :end 520 :contents-begin 491 :contents-end 518 :post-blank 0 :parent #365) #("Step 4: Install and run GN2" 0 27 (:parent #368))) #("\n" 0 1 (:parent #365)))))) (item (:bullet "- " :begin 521 :end 564 :contents-begin 524 :contents-end 564 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 521 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 524 :end 564 :contents-begin 524 :contents-end 564 :post-blank 0 :post-affiliated 524 :mode nil :granularity nil :parent #353) (link (:type "custom-id" :path "run-mysql-server" :format bracket :raw-link "#run-mysql-server" :application nil :search-option nil :begin 524 :end 563 :contents-begin 545 :contents-end 561 :post-blank 0 :parent #356) #("Run MySQL server" 0 16 (:parent #359))) #("\n" 0 1 (:parent #356)))) (item (:bullet "- " :begin 564 :end 615 :contents-begin 567 :contents-end 615 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 564 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 567 :end 615 :contents-begin 567 :contents-end 615 :post-blank 0 :post-affiliated 567 :mode nil :granularity nil :parent #354) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 567 :end 614 :contents-begin 592 :contents-end 612 :post-blank 0 :parent #357) #("GN2 Dependency Graph" 0 20 (:parent #360))) #("\n" 0 1 (:parent #357)))) (item (:bullet "- " :begin 615 :end 790 :contents-begin 618 :contents-end 790 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 615 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 618 :end 660 :contents-begin 618 :contents-end 660 :post-blank 0 :post-affiliated 618 :mode nil :granularity nil :parent #355) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 618 :end 659 :contents-begin 640 :contents-end 657 :post-blank 0 :parent #358) #("Source deployment" 0 17 (:parent #361))) #("\n" 0 1 (:parent #358))) (plain-list (:type unordered :begin 660 :end 790 :contents-begin 660 :contents-end 790 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 660 :mode nil :granularity nil :parent #355) (item (:bullet "- " :begin 660 :end 721 :contents-begin 665 :contents-end 721 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 660 :tag nil :mode item :granularity nil :parent #359) (paragraph (:begin 665 :end 721 :contents-begin 665 :contents-end 721 :post-blank 0 :post-affiliated 665 :mode nil :granularity nil :parent #362) (link (:type "custom-id" :path "run-your-own-copy-of-gn2" :format bracket :raw-link "#run-your-own-copy-of-gn2" :application nil :search-option nil :begin 665 :end 720 :contents-begin 694 :contents-end 718 :post-blank 0 :parent #365) #("Run your own copy of GN2" 0 24 (:parent #368))) #("\n" 0 1 (:parent #365)))) (item (:bullet "- " :begin 721 :end 790 :contents-begin 726 :contents-end 790 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 721 :tag nil :mode item :granularity nil :parent #359) (paragraph (:begin 726 :end 790 :contents-begin 726 :contents-end 790 :post-blank 0 :post-affiliated 726 :mode nil :granularity nil :parent #363) (link (:type "custom-id" :path "set-up-nginx-port-forwarding" :format bracket :raw-link "#set-up-nginx-port-forwarding" :application nil :search-option nil :begin 726 :end 789 :contents-begin 759 :contents-end 787 :post-blank 0 :parent #366) #("Set up nginx port forwarding" 0 28 (:parent #369))) #("\n" 0 1 (:parent #366)))))) (item (:bullet "- " :begin 790 :end 1034 :contents-begin 793 :contents-end 1034 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 790 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 793 :end 917 :contents-begin 793 :contents-end 917 :post-blank 0 :post-affiliated 793 :mode nil :granularity nil :parent #356) (link (:type "custom-id" :path "source-deployment-and-other-information-on-reproducibility" :format bracket :raw-link "#source-deployment-and-other-information-on-reproducibility" :application nil :search-option nil :begin 793 :end 916 :contents-begin 856 :contents-end 914 :post-blank 0 :parent #359) #("Source deployment and other information on reproducibility" 0 58 (:parent #362))) #("\n" 0 1 (:parent #359))) (plain-list (:type unordered :begin 917 :end 1034 :contents-begin 917 :contents-end 1034 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 917 :mode nil :granularity nil :parent #356) (item (:bullet "- " :begin 917 :end 972 :contents-begin 922 :contents-end 972 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 917 :tag nil :mode item :granularity nil :parent #360) (paragraph (:begin 922 :end 972 :contents-begin 922 :contents-end 972 :post-blank 0 :post-affiliated 922 :mode nil :granularity nil :parent #363) (link (:type "custom-id" :path "update-to-recent-guix" :format bracket :raw-link "#update-to-recent-guix" :application nil :search-option nil :begin 922 :end 971 :contents-begin 948 :contents-end 969 :post-blank 0 :parent #366) #("Update to recent guix" 0 21 (:parent #369))) #("\n" 0 1 (:parent #366)))) (item (:bullet "- " :begin 972 :end 1007 :contents-begin 977 :contents-end 1007 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 972 :tag nil :mode item :granularity nil :parent #360) (paragraph (:begin 977 :end 1007 :contents-begin 977 :contents-end 1007 :post-blank 0 :post-affiliated 977 :mode nil :granularity nil :parent #364) (link (:type "custom-id" :path "install-gn2" :format bracket :raw-link "#install-gn2" :application nil :search-option nil :begin 977 :end 1006 :contents-begin 993 :contents-end 1004 :post-blank 0 :parent #367) #("Install GN2" 0 11 (:parent #370))) #("\n" 0 1 (:parent #367)))) (item (:bullet "- " :begin 1007 :end 1034 :contents-begin 1012 :contents-end 1034 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1007 :tag nil :mode item :granularity nil :parent #360) (paragraph (:begin 1012 :end 1034 :contents-begin 1012 :contents-end 1034 :post-blank 0 :post-affiliated 1012 :mode nil :granularity nil :parent #365) (link (:type "custom-id" :path "run-gn2" :format bracket :raw-link "#run-gn2" :application nil :search-option nil :begin 1012 :end 1033 :contents-begin 1024 :contents-end 1031 :post-blank 0 :parent #368) #("Run GN2" 0 7 (:parent #371))) #("\n" 0 1 (:parent #368)))))) (item (:bullet "- " :begin 1034 :end 1370 :contents-begin 1037 :contents-end 1370 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1034 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 1037 :end 1077 :contents-begin 1037 :contents-end 1077 :post-blank 0 :post-affiliated 1037 :mode nil :granularity nil :parent #357) (link (:type "custom-id" :path "trouble-shooting" :format bracket :raw-link "#trouble-shooting" :application nil :search-option nil :begin 1037 :end 1076 :contents-begin 1058 :contents-end 1074 :post-blank 0 :parent #360) #("Trouble shooting" 0 16 (:parent #363))) #("\n" 0 1 (:parent #360))) (plain-list (:type unordered :begin 1077 :end 1370 :contents-begin 1077 :contents-end 1370 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 1077 :mode nil :granularity nil :parent #357) (item (:bullet "- " :begin 1077 :end 1159 :contents-begin 1082 :contents-end 1159 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1077 :tag nil :mode item :granularity nil :parent #361) (paragraph (:begin 1082 :end 1159 :contents-begin 1082 :contents-end 1159 :post-blank 0 :post-affiliated 1082 :mode nil :granularity nil :parent #364) (link (:type "custom-id" :path "importerror-no-module-named-jinja2" :format bracket :raw-link "#importerror-no-module-named-jinja2" :application nil :search-option nil :begin 1082 :end 1158 :contents-begin 1121 :contents-end 1156 :post-blank 0 :parent #367) #("ImportError: No module named jinja2" 0 35 (:parent #370))) #("\n" 0 1 (:parent #367)))) (item (:bullet "- " :begin 1159 :end 1257 :contents-begin 1164 :contents-end 1257 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1159 :tag nil :mode item :granularity nil :parent #361) (paragraph (:begin 1164 :end 1257 :contents-begin 1164 :contents-end 1257 :post-blank 0 :post-affiliated 1164 :mode nil :granularity nil :parent #365) (link (:type "custom-id" :path "error-can-not-find-directory-homegn2_data" :format bracket :raw-link "#error-can-not-find-directory-homegn2_data" :application nil :search-option nil :begin 1164 :end 1256 :contents-begin 1210 :contents-end 1254 :post-blank 0 :parent #368) #("ERROR: can not find directory $HOME/gn2" 0 39 (:parent #371)) (subscript (:begin 1249 :end 1254 :use-brackets-p nil :contents-begin 1250 :contents-end 1254 :post-blank 0 :parent #371) #("data" 0 4 (:parent #375)))) #("\n" 0 1 (:parent #368)))) (item (:bullet "- " :begin 1257 :end 1305 :contents-begin 1262 :contents-end 1305 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1257 :tag nil :mode item :granularity nil :parent #361) (paragraph (:begin 1262 :end 1305 :contents-begin 1262 :contents-end 1305 :post-blank 0 :post-affiliated 1262 :mode nil :granularity nil :parent #366) (link (:type "custom-id" :path "cant-run-a-module" :format bracket :raw-link "#cant-run-a-module" :application nil :search-option nil :begin 1262 :end 1304 :contents-begin 1284 :contents-end 1302 :post-blank 0 :parent #369) #("Can't run a module" 0 18 (:parent #372))) #("\n" 0 1 (:parent #369)))) (item (:bullet "- " :begin 1305 :end 1370 :contents-begin 1310 :contents-end 1370 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1305 :tag nil :mode item :granularity nil :parent #361) (paragraph (:begin 1310 :end 1370 :contents-begin 1310 :contents-end 1370 :post-blank 0 :post-affiliated 1310 :mode nil :granularity nil :parent #367) (link (:type "custom-id" :path "rpy2-error-show-now-found" :format bracket :raw-link "#rpy2-error-show-now-found" :application nil :search-option nil :begin 1310 :end 1369 :contents-begin 1340 :contents-end 1367 :post-blank 0 :parent #370) #("Rpy2 error 'show' now found" 0 27 (:parent #373))) #("\n" 0 1 (:parent #370)))))) (item (:bullet "- " :begin 1370 :end 1403 :contents-begin 1373 :contents-end 1403 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1370 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 1373 :end 1403 :contents-begin 1373 :contents-end 1403 :post-blank 0 :post-affiliated 1373 :mode nil :granularity nil :parent #358) (link (:type "custom-id" :path "irc-session" :format bracket :raw-link "#irc-session" :application nil :search-option nil :begin 1373 :end 1402 :contents-begin 1389 :contents-end 1400 :post-blank 0 :parent #361) #("IRC session" 0 11 (:parent #364))) #("\n" 0 1 (:parent #361))))))) (headline (:raw-value "Introduction" :begin 1404 :end 2450 :pre-blank 1 :contents-begin 1420 :contents-end 2449 :robust-begin 1422 :robust-end 2447 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1404 :title (#("Introduction" 0 12 (:parent #343))) :mode nil :granularity nil :parent #338) (section (:begin 1420 :end 2450 :contents-begin 1420 :contents-end 2449 :robust-begin 1420 :robust-end 2447 :post-blank 1 :post-affiliated 1420 :mode section :granularity nil :parent #343) (paragraph (:begin 1420 :end 1557 :contents-begin 1420 :contents-end 1556 :post-blank 1 :post-affiliated 1420 :mode planning :granularity nil :parent #346) #("If you want to understand the architecture of GN2 read\n" 0 55 (:parent #349)) (link (:type "fuzzy" :path "Architecture.org" :format bracket :raw-link "Architecture.org" :application nil :search-option nil :begin 1475 :end 1495 :contents-begin nil :contents-end nil :post-blank 0 :parent #349)) #(". The rest of this document is mostly on deployment\nof GN2.\n" 0 61 (:parent #349))) (paragraph (:begin 1557 :end 1943 :contents-begin 1557 :contents-end 1942 :post-blank 1 :post-affiliated 1557 :mode nil :granularity nil :parent #346) #("Large system deployments can get very " 0 38 (:parent #350)) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg " :format bracket :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg " :application nil :search-option nil :begin 1595 :end 1656 :contents-begin 1647 :contents-end 1654 :post-blank 0 :parent #350) #("complex" 0 7 (:parent #354))) #(". In this document we\nexplain the GeneNetwork version 2 (GN2) reproducible deployment system\nwhich is based on GNU Guix (see also " 0 130 (:parent #350)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1786 :end 1860 :contents-begin 1848 :contents-end 1858 :post-blank 0 :parent #350) #("Guix-notes" 0 10 (:parent #356))) #("). The Guix\nsystem can be used to install GN with all its files and dependencies.\n" 0 82 (:parent #350))) (paragraph (:begin 1943 :end 2328 :contents-begin 1943 :contents-end 2327 :post-blank 1 :post-affiliated 1943 :mode nil :granularity nil :parent #346) #("The official installation path is from a checked out version of the\nmain Guix package tree and that of the Genenetwork package\ntree. Current supported versions can be found as the SHA values of\n'gn-latest' branches of " 0 218 (:parent #351)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :application nil :search-option nil :begin 2161 :end 2252 :contents-begin 2230 :contents-end 2249 :post-blank 1 :parent #351) #("Guix bioinformatics" 0 19 (:parent #355))) #("and " 0 4 (:parent #351)) (link (:type "https" :path "//github.com/genenetwork/guix/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix/tree/gn-latest" :application nil :search-option nil :begin 2256 :end 2325 :contents-begin 2310 :contents-end 2323 :post-blank 0 :parent #351) #("GNU Guix main" 0 13 (:parent #357))) #(".\n" 0 2 (:parent #351))) (paragraph (:begin 2328 :end 2449 :contents-begin 2328 :contents-end 2449 :post-blank 0 :post-affiliated 2328 :mode nil :granularity nil :parent #346) #("For a full view of runtime dependencies as defined by GNU Guix, see\nthe " 0 72 (:parent #352)) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 2400 :end 2447 :contents-begin 2425 :contents-end 2445 :post-blank 0 :parent #352) #("GN2 Dependency Graph" 0 20 (:parent #356))) #(".\n" 0 2 (:parent #352))))) (headline (:raw-value "Quick installation recipe" :begin 2450 :end 7633 :pre-blank 1 :contents-begin 2479 :contents-end 7632 :robust-begin 2481 :robust-end 7630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 2450 :title (#("Quick installation recipe" 0 25 (:parent #344))) :mode nil :granularity nil :parent #338) (section (:begin 2479 :end 3022 :contents-begin 2479 :contents-end 3021 :robust-begin 2479 :robust-end 3019 :post-blank 1 :post-affiliated 2479 :mode section :granularity nil :parent #344) (paragraph (:begin 2479 :end 2880 :contents-begin 2479 :contents-end 2879 :post-blank 1 :post-affiliated 2479 :mode planning :granularity nil :parent #347) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS). For more elaborate installation\ninstructions see " 0 357 (:parent #350)) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 2836 :end 2877 :contents-begin 2858 :contents-end 2875 :post-blank 0 :parent #350) #("Source deployment" 0 17 (:parent #354))) #(".\n" 0 2 (:parent #350))) (paragraph (:begin 2880 :end 3021 :contents-begin 2880 :contents-end 3021 :post-blank 0 :post-affiliated 2880 :mode nil :granularity nil :parent #347) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #351)))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 3022 :end 4649 :pre-blank 1 :contents-begin 3051 :contents-end 4648 :robust-begin 3053 :robust-end 4646 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3022 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #348))) :mode nil :granularity nil :parent #344) (section (:begin 3051 :end 4649 :contents-begin 3051 :contents-end 4648 :robust-begin 3051 :robust-end 4646 :post-blank 1 :post-affiliated 3051 :mode section :granularity nil :parent #348) (paragraph (:begin 3051 :end 3504 :contents-begin 3051 :contents-end 3503 :post-blank 1 :post-affiliated 3051 :mode planning :granularity nil :parent #351) #("Fetch the GNU Guix binary from " 0 31 (:parent #354)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 3082 :end 3136 :contents-begin 3129 :contents-end 3133 :post-blank 1 :parent #354) #("here" 0 4 (:parent #358))) #("(middle panel) and follow\n" 0 26 (:parent #354)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 3162 :end 3255 :contents-begin 3241 :contents-end 3253 :post-blank 0 :parent #354) #("instructions" 0 12 (:parent #360))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #354))) (paragraph (:begin 3504 :end 3782 :contents-begin 3504 :contents-end 3781 :post-blank 1 :post-affiliated 3504 :mode nil :granularity nil :parent #351) #("Once you have succeeded, you have to " 0 37 (:parent #355)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 3541 :end 3631 :contents-begin 3617 :contents-end 3628 :post-blank 1 :parent #355) #("set the key" 0 11 (:parent #359))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #355))) (src-block (:language "bash" :switches nil :parameters nil :begin 3782 :end 3890 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 3782 :mode nil :granularity nil :parent #351)) (paragraph (:begin 3890 :end 3924 :contents-begin 3890 :contents-end 3923 :post-blank 1 :post-affiliated 3890 :mode nil :granularity nil :parent #351) #("Which should show something like\n" 0 33 (:parent #357))) (fixed-width (:begin 3924 :end 4034 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 3924 :mode nil :granularity nil :parent #351)) (paragraph (:begin 4034 :end 4045 :contents-begin 4034 :contents-end 4044 :post-blank 1 :post-affiliated 4034 :mode nil :granularity nil :parent #351) #("#+end" 0 5 (:parent #359)) (subscript (:begin 4039 :end 4043 :use-brackets-p nil :contents-begin 4040 :contents-end 4043 :post-blank 0 :parent #359) #("src" 0 3 (:parent #363))) #("\n" 0 1 (:parent #359))) (paragraph (:begin 4045 :end 4116 :contents-begin 4045 :contents-end 4115 :post-blank 1 :post-affiliated 4045 :mode nil :granularity nil :parent #351) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #360))) (src-block (:language "bash" :switches nil :parameters nil :begin 4116 :end 4188 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 4116 :mode nil :granularity nil :parent #351)) (paragraph (:begin 4188 :end 4375 :contents-begin 4188 :contents-end 4374 :post-blank 1 :post-affiliated 4188 :mode nil :granularity nil :parent #351) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #362))) (paragraph (:begin 4375 :end 4648 :contents-begin 4375 :contents-end 4648 :post-blank 0 :post-affiliated 4375 :mode nil :granularity nil :parent #351) #("If you need more help we have another writeup in " 0 49 (:parent #363)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 4424 :end 4520 :contents-begin 4508 :contents-end 4518 :post-blank 0 :parent #363) #("guix-notes" 0 10 (:parent #367))) #(". To get\nrid of the locale warning see " 0 39 (:parent #363)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 4559 :end 4646 :contents-begin 4634 :contents-end 4644 :post-blank 0 :parent #363) #("set-locale" 0 10 (:parent #369))) #(".\n" 0 2 (:parent #363))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 4649 :end 5304 :pre-blank 1 :contents-begin 4695 :contents-end 5302 :robust-begin 4697 :robust-end 5300 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4649 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #349))) :mode nil :granularity nil :parent #344) (section (:begin 4695 :end 5304 :contents-begin 4695 :contents-end 5302 :robust-begin 4695 :robust-end 5300 :post-blank 2 :post-affiliated 4695 :mode section :granularity nil :parent #349) (paragraph (:begin 4695 :end 4815 :contents-begin 4695 :contents-end 4814 :post-blank 1 :post-affiliated 4695 :mode planning :granularity nil :parent #352) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #355))) (src-block (:language "bash" :switches nil :parameters nil :begin 4815 :end 4920 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 4815 :mode nil :granularity nil :parent #352)) (paragraph (:begin 4920 :end 4971 :contents-begin 4920 :contents-end 4970 :post-blank 1 :post-affiliated 4920 :mode nil :granularity nil :parent #352) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #357))) (paragraph (:begin 4971 :end 5232 :contents-begin 4971 :contents-end 5231 :post-blank 1 :post-affiliated 4971 :mode nil :granularity nil :parent #352) #("#+begin" 0 7 (:parent #358)) (subscript (:begin 4978 :end 4983 :use-brackets-p nil :contents-begin 4979 :contents-end 4982 :post-blank 1 :parent #358) #("src" 0 3 (:parent #362))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #358)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 5055 :end 5105 :contents-begin nil :contents-end nil :post-blank 0 :parent #358)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #358)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 5147 :end 5183 :contents-begin nil :contents-end nil :post-blank 1 :parent #358)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #358)) (subscript (:begin 5221 :end 5226 :use-brackets-p nil :contents-begin 5222 :contents-end 5225 :post-blank 1 :parent #358) #("src" 0 3 (:parent #368))) #("bash\n" 0 5 (:parent #358))) (paragraph (:begin 5232 :end 5270 :contents-begin 5232 :contents-end 5269 :post-blank 1 :post-affiliated 5232 :mode nil :granularity nil :parent #352) #("To test whether this is working try:\n" 0 37 (:parent #359))) (paragraph (:begin 5270 :end 5302 :contents-begin 5270 :contents-end 5302 :post-blank 0 :post-affiliated 5270 :mode nil :granularity nil :parent #352) #("#+begin" 0 7 (:parent #360)) (subscript (:begin 5277 :end 5282 :use-brackets-p nil :contents-begin 5278 :contents-end 5281 :post-blank 1 :parent #360) #("src" 0 3 (:parent #364))) #("bash\n#+end" 0 10 (:parent #360)) (subscript (:begin 5292 :end 5297 :use-brackets-p nil :contents-begin 5293 :contents-end 5296 :post-blank 1 :parent #360) #("src" 0 3 (:parent #366))) #("bash\n" 0 5 (:parent #360))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 5304 :end 5755 :pre-blank 1 :contents-begin 5345 :contents-end 5754 :robust-begin 5347 :robust-end 5752 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5304 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #350))) :mode nil :granularity nil :parent #344) (section (:begin 5345 :end 5755 :contents-begin 5345 :contents-end 5754 :robust-begin 5345 :robust-end 5752 :post-blank 1 :post-affiliated 5345 :mode section :granularity nil :parent #350) (paragraph (:begin 5345 :end 5445 :contents-begin 5345 :contents-end 5444 :post-blank 1 :post-affiliated 5345 :mode planning :granularity nil :parent #353) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #356))) (src-block (:language "scheme" :switches nil :parameters nil :begin 5445 :end 5589 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 5445 :mode nil :granularity nil :parent #353)) (paragraph (:begin 5589 :end 5621 :contents-begin 5589 :contents-end 5620 :post-blank 1 :post-affiliated 5589 :mode nil :granularity nil :parent #353) #("by pasting it into the command\n" 0 31 (:parent #358))) (src-block (:language "bash" :switches nil :parameters nil :begin 5621 :end 5674 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 5621 :mode nil :granularity nil :parent #353)) (paragraph (:begin 5674 :end 5691 :contents-begin 5674 :contents-end 5690 :post-blank 1 :post-affiliated 5674 :mode nil :granularity nil :parent #353) #("and hit Ctrl-D.\n" 0 16 (:parent #360))) (paragraph (:begin 5691 :end 5754 :contents-begin 5691 :contents-end 5754 :post-blank 0 :post-affiliated 5691 :mode nil :granularity nil :parent #353) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #361))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 5755 :end 7633 :pre-blank 1 :contents-begin 5787 :contents-end 7632 :robust-begin 5789 :robust-end 7630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5755 :title (#("Step 4: Install and run GN2" 0 27 (:parent #351))) :mode nil :granularity nil :parent #344) (section (:begin 5787 :end 7633 :contents-begin 5787 :contents-end 7632 :robust-begin 5787 :robust-end 7630 :post-blank 1 :post-affiliated 5787 :mode section :granularity nil :parent #351) (paragraph (:begin 5787 :end 5927 :contents-begin 5787 :contents-end 5926 :post-blank 1 :post-affiliated 5787 :mode planning :granularity nil :parent #354) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #357))) (src-block (:language "bash" :switches nil :parameters nil :begin 5927 :end 6046 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 5927 :mode nil :granularity nil :parent #354)) (paragraph (:begin 6046 :end 6099 :contents-begin 6046 :contents-end 6098 :post-blank 1 :post-affiliated 6046 :mode nil :granularity nil :parent #354) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #359))) (src-block (:language "bash" :switches nil :parameters nil :begin 6099 :end 6289 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 6099 :mode nil :granularity nil :parent #354)) (paragraph (:begin 6289 :end 6398 :contents-begin 6289 :contents-end 6397 :post-blank 1 :post-affiliated 6289 :mode nil :granularity nil :parent #354) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #361)) (italic (:begin 6360 :end 6366 :post-blank 0 :contents-begin 6361 :contents-end 6365 :parent #361) #("root" 0 4 (:parent #365))) #(".config/guix/latest override).\n" 0 31 (:parent #361))) (paragraph (:begin 6398 :end 6416 :contents-begin 6398 :contents-end 6415 :post-blank 1 :post-affiliated 6398 :mode nil :granularity nil :parent #354) #("And install with\n" 0 17 (:parent #362))) (src-block (:language "bash" :switches nil :parameters nil :begin 6416 :end 6586 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 6416 :mode nil :granularity nil :parent #354)) (paragraph (:begin 6586 :end 6729 :contents-begin 6586 :contents-end 6728 :post-blank 1 :post-affiliated 6586 :mode nil :granularity nil :parent #354) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #364))) (paragraph (:begin 6729 :end 6925 :contents-begin 6729 :contents-end 6924 :post-blank 1 :post-affiliated 6729 :mode nil :granularity nil :parent #354) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #365))) (paragraph (:begin 6925 :end 7056 :contents-begin 6925 :contents-end 7055 :post-blank 1 :post-affiliated 6925 :mode nil :granularity nil :parent #354) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #366))) (src-block (:language "bash" :switches nil :parameters nil :begin 7056 :end 7235 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python2.7/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 7056 :mode nil :granularity nil :parent #354)) (paragraph (:begin 7235 :end 7304 :contents-begin 7235 :contents-end 7303 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #354) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #368))) (src-block (:language "bash" :switches nil :parameters nil :begin 7304 :end 7345 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 7304 :mode nil :granularity nil :parent #354)) (paragraph (:begin 7345 :end 7596 :contents-begin 7345 :contents-end 7595 :post-blank 1 :post-affiliated 7345 :mode nil :granularity nil :parent #354) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #370)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 7567 :end 7593 :contents-begin nil :contents-end nil :post-blank 0 :parent #370)) #(".\n" 0 2 (:parent #370))) (paragraph (:begin 7596 :end 7632 :contents-begin 7596 :contents-end 7632 :post-blank 0 :post-affiliated 7596 :mode nil :granularity nil :parent #354) #("End of the GN2 installation recipe!\n" 0 36 (:parent #371)))))) (headline (:raw-value "Run MySQL server" :begin 7633 :end 9008 :pre-blank 1 :contents-begin 7653 :contents-end 9007 :robust-begin 7655 :robust-end 9005 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7633 :title (#("Run MySQL server" 0 16 (:parent #345))) :mode nil :granularity nil :parent #338) (section (:begin 7653 :end 9008 :contents-begin 7653 :contents-end 9007 :robust-begin 7653 :robust-end 9005 :post-blank 1 :post-affiliated 7653 :mode section :granularity nil :parent #345) (paragraph (:begin 7653 :end 7928 :contents-begin 7653 :contents-end 7927 :post-blank 1 :post-affiliated 7653 :mode planning :granularity nil :parent #348) #("At this point we require the underlying distribution to install and\nrun mysqld. Currently we have two databases for deployment,\n'db" 0 131 (:parent #351)) (subscript (:begin 7784 :end 7791 :use-brackets-p nil :contents-begin 7785 :contents-end 7791 :post-blank 0 :parent #351) #("webqtl" 0 6 (:parent #355))) (subscript (:begin 7791 :end 7793 :use-brackets-p nil :contents-begin 7792 :contents-end 7793 :post-blank 0 :parent #351) #("s" 0 1 (:parent #356))) #("' is the small testing database containing experiments\nfrom BXD mice and 'db" 0 76 (:parent #351)) (subscript (:begin 7869 :end 7876 :use-brackets-p nil :contents-begin 7870 :contents-end 7876 :post-blank 0 :parent #351) #("webqtl" 0 6 (:parent #358))) (subscript (:begin 7876 :end 7882 :use-brackets-p nil :contents-begin 7877 :contents-end 7882 :post-blank 0 :parent #351) #("plant" 0 5 (:parent #359))) #("' which contains all plant related\nmaterial.\n" 0 45 (:parent #351))) (paragraph (:begin 7928 :end 7956 :contents-begin 7928 :contents-end 7955 :post-blank 1 :post-affiliated 7928 :mode nil :granularity nil :parent #348) #("Download one database from\n" 0 27 (:parent #352))) (paragraph (:begin 7956 :end 8054 :contents-begin 7956 :contents-end 8053 :post-blank 1 :post-affiliated 7956 :mode nil :granularity nil :parent #348) (link (:type "http" :path "//files.genenetwork.org/raw_database/" :format plain :raw-link "http://files.genenetwork.org/raw_database/" :application nil :search-option nil :begin 7956 :end 7998 :contents-begin nil :contents-end nil :post-blank 0 :parent #353)) #("\n" 0 1 (:parent #353)) (link (:type "https" :path "//s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :format plain :raw-link "https://s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :application nil :search-option nil :begin 7999 :end 8052 :contents-begin nil :contents-end nil :post-blank 0 :parent #353)) #("\n" 0 1 (:parent #353))) (paragraph (:begin 8054 :end 8073 :contents-begin 8054 :contents-end 8072 :post-blank 1 :post-affiliated 8054 :mode nil :granularity nil :parent #348) #("Check the md5sum.\n" 0 18 (:parent #354))) (paragraph (:begin 8073 :end 8195 :contents-begin 8073 :contents-end 8194 :post-blank 1 :post-affiliated 8073 :mode nil :granularity nil :parent #348) #("After installation inflate the database binary in the MySQL directory\n(this installation path is subject to change soon)\n" 0 121 (:parent #355))) (fixed-width (:begin 8195 :end 8283 :value "chown -R mysql:mysql db_webqtl_s/\nchmod 700 db_webqtl_s/\nchmod 660 db_webqtl_s/*" :post-blank 2 :post-affiliated 8195 :mode nil :granularity nil :parent #348)) (paragraph (:begin 8283 :end 8334 :contents-begin 8283 :contents-end 8333 :post-blank 1 :post-affiliated 8283 :mode nil :granularity nil :parent #348) #("restart MySQL service (mysqld). Login as root and\n" 0 50 (:parent #357))) (fixed-width (:begin 8334 :end 8560 :value "mysql> show databases;\n+--------------------+\n| Database |\n+--------------------+\n| information_schema |\n| db_webqtl_s |\n| mysql |\n| performance_schema |\n+--------------------+" :post-blank 2 :post-affiliated 8334 :mode nil :granularity nil :parent #348)) (paragraph (:begin 8560 :end 8625 :contents-begin 8560 :contents-end 8624 :post-blank 1 :post-affiliated 8560 :mode nil :granularity nil :parent #348) #("Set permissions and match password in your settings file below:\n" 0 64 (:parent #359))) (fixed-width (:begin 8625 :end 8724 :value "mysql> grant all privileges on db_webqtl_s.* to gn2@\"localhost\" identified by 'mysql_password';" :post-blank 2 :post-affiliated 8625 :mode nil :granularity nil :parent #348)) (paragraph (:begin 8724 :end 8875 :contents-begin 8724 :contents-end 8874 :post-blank 1 :post-affiliated 8724 :mode nil :granularity nil :parent #348) #("Note that if the mysql connection is not working, try connecting to\nthe IP address and check server firewall, hosts.allow and mysql IP\nconfiguration.\n" 0 150 (:parent #361))) (paragraph (:begin 8875 :end 9007 :contents-begin 8875 :contents-end 9007 :post-blank 0 :post-affiliated 8875 :mode nil :granularity nil :parent #348) #("Note for the plant database you can rename it to db" 0 51 (:parent #362)) (subscript (:begin 8926 :end 8933 :use-brackets-p nil :contents-begin 8927 :contents-end 8933 :post-blank 0 :parent #362) #("webqtl" 0 6 (:parent #366))) (subscript (:begin 8933 :end 8935 :use-brackets-p nil :contents-begin 8934 :contents-end 8935 :post-blank 0 :parent #362) #("s" 0 1 (:parent #367))) #(", or\nchange the settings in etc/default" 0 39 (:parent #362)) (subscript (:begin 8974 :end 8987 :use-brackets-p nil :contents-begin 8975 :contents-end 8986 :post-blank 1 :parent #362) #("settings.py" 0 11 (:parent #369))) #("to match your path.\n" 0 20 (:parent #362))))) (headline (:raw-value "GN2 Dependency Graph" :begin 9008 :end 9172 :pre-blank 1 :contents-begin 9032 :contents-end 9171 :robust-begin 9034 :robust-end 9169 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9008 :title (#("GN2 Dependency Graph" 0 20 (:parent #346))) :mode nil :granularity nil :parent #338) (section (:begin 9032 :end 9172 :contents-begin 9032 :contents-end 9171 :robust-begin 9032 :robust-end 9169 :post-blank 1 :post-affiliated 9032 :mode section :granularity nil :parent #346) (paragraph (:begin 9032 :end 9093 :contents-begin 9032 :contents-end 9092 :post-blank 1 :post-affiliated 9032 :mode planning :granularity nil :parent #349) #("Graph of all runtime dependencies as installed by GNU Guix.\n" 0 60 (:parent #352))) (paragraph (:begin 9093 :end 9171 :contents-begin 9123 :contents-end 9171 :post-blank 0 :post-affiliated 9123 :attr_html (":title GN2_graph") :mode nil :granularity nil :parent #349) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg" :format plain :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg" :application nil :search-option nil :begin 9123 :end 9170 :contents-begin nil :contents-end nil :post-blank 0 :parent #353)) #("\n" 0 1 (:parent #353))))) (headline (:raw-value "Source deployment" :begin 9172 :end 12840 :pre-blank 1 :contents-begin 9193 :contents-end 12839 :robust-begin 9195 :robust-end 12837 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9172 :title (#("Source deployment" 0 17 (:parent #347))) :mode nil :granularity nil :parent #338) (section (:begin 9193 :end 9612 :contents-begin 9193 :contents-end 9610 :robust-begin 9193 :robust-end 9608 :post-blank 2 :post-affiliated 9193 :mode section :granularity nil :parent #347) (paragraph (:begin 9193 :end 9274 :contents-begin 9193 :contents-end 9273 :post-blank 1 :post-affiliated 9193 :mode planning :granularity nil :parent #350) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #353))) (paragraph (:begin 9274 :end 9304 :contents-begin 9274 :contents-end 9303 :post-blank 1 :post-affiliated 9274 :mode nil :granularity nil :parent #350) #("First execute above 4 steps:\n" 0 29 (:parent #354))) (plain-list (:type unordered :begin 9304 :end 9610 :contents-begin 9304 :contents-end 9610 :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :post-blank 0 :post-affiliated 9304 :mode nil :granularity nil :parent #350) (item (:bullet "- " :begin 9304 :end 9364 :contents-begin 9309 :contents-end 9364 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9304 :tag nil :mode item :granularity nil :parent #355) (paragraph (:begin 9309 :end 9364 :contents-begin 9309 :contents-end 9364 :post-blank 0 :post-affiliated 9309 :mode nil :granularity nil :parent #358) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 9309 :end 9363 :contents-begin 9337 :contents-end 9361 :post-blank 0 :parent #361) #("Step 1: Install GNU Guix" 0 24 (:parent #364))) #("\n" 0 1 (:parent #361)))) (item (:bullet "- " :begin 9364 :end 9458 :contents-begin 9369 :contents-end 9458 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9364 :tag nil :mode item :granularity nil :parent #355) (paragraph (:begin 9369 :end 9458 :contents-begin 9369 :contents-end 9458 :post-blank 0 :post-affiliated 9369 :mode nil :granularity nil :parent #359) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 9369 :end 9457 :contents-begin 9414 :contents-end 9455 :post-blank 0 :parent #362) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #365))) #("\n" 0 1 (:parent #362)))) (item (:bullet "- " :begin 9458 :end 9542 :contents-begin 9463 :contents-end 9542 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9458 :tag nil :mode item :granularity nil :parent #355) (paragraph (:begin 9463 :end 9542 :contents-begin 9463 :contents-end 9542 :post-blank 0 :post-affiliated 9463 :mode nil :granularity nil :parent #360) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 9463 :end 9541 :contents-begin 9503 :contents-end 9539 :post-blank 0 :parent #363) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #366))) #("\n" 0 1 (:parent #363)))) (item (:bullet "- " :begin 9542 :end 9610 :contents-begin 9547 :contents-end 9610 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9542 :tag nil :mode item :granularity nil :parent #355) (paragraph (:begin 9547 :end 9610 :contents-begin 9547 :contents-end 9610 :post-blank 0 :post-affiliated 9547 :mode nil :granularity nil :parent #361) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 9547 :end 9609 :contents-begin 9579 :contents-end 9607 :post-blank 0 :parent #364) #("Step 4: Install and run GN2 " 0 28 (:parent #367))) #("\n" 0 1 (:parent #364)))))) (headline (:raw-value "Run your own copy of GN2" :begin 9612 :end 10722 :pre-blank 1 :contents-begin 9641 :contents-end 10721 :robust-begin 9643 :robust-end 10719 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9612 :title (#("Run your own copy of GN2" 0 24 (:parent #351))) :mode nil :granularity nil :parent #347) (section (:begin 9641 :end 10722 :contents-begin 9641 :contents-end 10721 :robust-begin 9641 :robust-end 10719 :post-blank 1 :post-affiliated 9641 :mode section :granularity nil :parent #351) (paragraph (:begin 9641 :end 9839 :contents-begin 9641 :contents-end 9838 :post-blank 1 :post-affiliated 9641 :mode planning :granularity nil :parent #354) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #357)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 9793 :end 9836 :contents-begin nil :contents-end nil :post-blank 0 :parent #357)) #(".\n" 0 2 (:parent #357))) (paragraph (:begin 9839 :end 9964 :contents-begin 9839 :contents-end 9963 :post-blank 1 :post-affiliated 9839 :mode nil :granularity nil :parent #354) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #358)) (subscript (:begin 9896 :end 9902 :use-brackets-p nil :contents-begin 9897 :contents-end 9901 :post-blank 1 :parent #358) #("PATH" 0 4 (:parent #362))) #("and\nR" 0 5 (:parent #358)) (subscript (:begin 9907 :end 9912 :use-brackets-p nil :contents-begin 9908 :contents-end 9912 :post-blank 0 :parent #358) #("LIBS" 0 4 (:parent #364))) (subscript (:begin 9912 :end 9918 :use-brackets-p nil :contents-begin 9913 :contents-end 9917 :post-blank 1 :parent #358) #("SITE" 0 4 (:parent #365))) #("are set) from the information given by guix:\n" 0 45 (:parent #358))) (fixed-width (:begin 9964 :end 9995 :value "guix package --search-paths" :post-blank 2 :post-affiliated 9964 :mode nil :granularity nil :parent #354)) (paragraph (:begin 9995 :end 10019 :contents-begin 9995 :contents-end 10018 :post-blank 1 :post-affiliated 9995 :mode nil :granularity nil :parent #354) #("Inside the repository:\n" 0 23 (:parent #360))) (fixed-width (:begin 10019 :end 10059 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 10019 :mode nil :granularity nil :parent #354)) (paragraph (:begin 10059 :end 10303 :contents-begin 10059 :contents-end 10302 :post-blank 1 :post-affiliated 10059 :mode nil :granularity nil :parent #354) #("Will fire up your local repo " 0 29 (:parent #362)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 10088 :end 10111 :contents-begin nil :contents-end nil :post-blank 1 :parent #362)) #("using the\nsettings in ./etc/default" 0 35 (:parent #362)) (subscript (:begin 10146 :end 10158 :use-brackets-p nil :contents-begin 10147 :contents-end 10158 :post-blank 0 :parent #362) #("settings.py" 0 11 (:parent #368))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #362)) (subscript (:begin 10263 :end 10276 :use-brackets-p nil :contents-begin 10264 :contents-end 10275 :post-blank 1 :parent #362) #("settings.py" 0 11 (:parent #370))) #("and pass it into GN2 with\n" 0 26 (:parent #362))) (fixed-width (:begin 10303 :end 10346 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 10303 :mode nil :granularity nil :parent #354)) (paragraph (:begin 10346 :end 10492 :contents-begin 10346 :contents-end 10491 :post-blank 1 :post-affiliated 10346 :mode nil :granularity nil :parent #354) #("and everything " 0 15 (:parent #364)) (bold (:begin 10361 :end 10370 :post-blank 1 :contents-begin 10362 :contents-end 10368 :parent #364) #("should" 0 6 (:parent #368))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #364))) (paragraph (:begin 10492 :end 10620 :contents-begin 10492 :contents-end 10619 :post-blank 1 :post-affiliated 10492 :mode nil :granularity nil :parent #354) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #365))) (fixed-width (:begin 10620 :end 10721 :value "cat ~/.guix-profile/lib/python2.7/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 10620 :mode nil :granularity nil :parent #354)))) (headline (:raw-value "Set up nginx port forwarding" :begin 10722 :end 12840 :pre-blank 1 :contents-begin 10755 :contents-end 12839 :robust-begin 10757 :robust-end 12837 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 10722 :title (#("Set up nginx port forwarding" 0 28 (:parent #352))) :mode nil :granularity nil :parent #347) (section (:begin 10755 :end 12840 :contents-begin 10755 :contents-end 12839 :robust-begin 10755 :robust-end 12837 :post-blank 1 :post-affiliated 10755 :mode section :granularity nil :parent #352) (paragraph (:begin 10755 :end 10923 :contents-begin 10755 :contents-end 10922 :post-blank 1 :post-affiliated 10755 :mode planning :granularity nil :parent #355) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #358))) (paragraph (:begin 10923 :end 11063 :contents-begin 10923 :contents-end 11062 :post-blank 1 :post-affiliated 10923 :mode nil :granularity nil :parent #355) #("#+begin" 0 7 (:parent #359)) (subscript (:begin 10930 :end 10935 :use-brackets-p nil :contents-begin 10931 :contents-end 10934 :post-blank 1 :parent #359) #("src" 0 3 (:parent #363))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #359)) (subscript (:begin 10984 :end 10990 :use-brackets-p nil :contents-begin 10985 :contents-end 10989 :post-blank 1 :parent #359) #("name" 0 4 (:parent #365))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #359)) (subscript (:begin 11030 :end 11036 :use-brackets-p nil :contents-begin 11031 :contents-end 11034 :post-blank 2 :parent #359) #("log" 0 3 (:parent #367))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #359))) (paragraph (:begin 11063 :end 11232 :contents-begin 11063 :contents-end 11231 :post-blank 1 :post-affiliated 11063 :mode nil :granularity nil :parent #355) #(" proxy" 0 13 (:parent #360)) (subscript (:begin 11076 :end 11084 :use-brackets-p nil :contents-begin 11077 :contents-end 11084 :post-blank 0 :parent #360) #("connect" 0 7 (:parent #364))) (subscript (:begin 11084 :end 11099 :use-brackets-p nil :contents-begin 11085 :contents-end 11092 :post-blank 7 :parent #360) #("timeout" 0 7 (:parent #365))) #("3000;\n proxy" 0 19 (:parent #360)) (subscript (:begin 11118 :end 11123 :use-brackets-p nil :contents-begin 11119 :contents-end 11123 :post-blank 0 :parent #360) #("send" 0 4 (:parent #367))) (subscript (:begin 11123 :end 11141 :use-brackets-p nil :contents-begin 11124 :contents-end 11131 :post-blank 10 :parent #360) #("timeout" 0 7 (:parent #368))) #("3000;\n proxy" 0 19 (:parent #360)) (subscript (:begin 11160 :end 11165 :use-brackets-p nil :contents-begin 11161 :contents-end 11165 :post-blank 0 :parent #360) #("read" 0 4 (:parent #370))) (subscript (:begin 11165 :end 11183 :use-brackets-p nil :contents-begin 11166 :contents-end 11173 :post-blank 10 :parent #360) #("timeout" 0 7 (:parent #371))) #("3000;\n send" 0 18 (:parent #360)) (subscript (:begin 11201 :end 11225 :use-brackets-p nil :contents-begin 11202 :contents-end 11209 :post-blank 16 :parent #360) #("timeout" 0 7 (:parent #373))) #("3000;\n" 0 6 (:parent #360))) (paragraph (:begin 11232 :end 11632 :contents-begin 11232 :contents-end 11631 :post-blank 1 :post-affiliated 11232 :mode nil :granularity nil :parent #355) #(" location / {\n proxy" 0 38 (:parent #361)) (subscript (:begin 11270 :end 11274 :use-brackets-p nil :contents-begin 11271 :contents-end 11274 :post-blank 0 :parent #361) #("set" 0 3 (:parent #365))) (subscript (:begin 11274 :end 11284 :use-brackets-p nil :contents-begin 11275 :contents-end 11281 :post-blank 3 :parent #361) #("header" 0 6 (:parent #366))) #("Host $http" 0 15 (:parent #361)) (subscript (:begin 11299 :end 11304 :use-brackets-p nil :contents-begin 11300 :contents-end 11304 :post-blank 0 :parent #361) #("host" 0 4 (:parent #368))) #(";\n proxy" 0 19 (:parent #361)) (subscript (:begin 11323 :end 11327 :use-brackets-p nil :contents-begin 11324 :contents-end 11327 :post-blank 0 :parent #361) #("set" 0 3 (:parent #370))) (subscript (:begin 11327 :end 11337 :use-brackets-p nil :contents-begin 11328 :contents-end 11334 :post-blank 3 :parent #361) #("header" 0 6 (:parent #371))) #("Connection keep-alive;\n proxy" 0 40 (:parent #361)) (subscript (:begin 11377 :end 11381 :use-brackets-p nil :contents-begin 11378 :contents-end 11381 :post-blank 0 :parent #361) #("set" 0 3 (:parent #373))) (subscript (:begin 11381 :end 11391 :use-brackets-p nil :contents-begin 11382 :contents-end 11388 :post-blank 3 :parent #361) #("header" 0 6 (:parent #374))) #("X-Real-IP $remote" 0 17 (:parent #361)) (subscript (:begin 11408 :end 11413 :use-brackets-p nil :contents-begin 11409 :contents-end 11413 :post-blank 0 :parent #361) #("addr" 0 4 (:parent #376))) #(";\n proxy" 0 19 (:parent #361)) (subscript (:begin 11432 :end 11436 :use-brackets-p nil :contents-begin 11433 :contents-end 11436 :post-blank 0 :parent #361) #("set" 0 3 (:parent #378))) (subscript (:begin 11436 :end 11446 :use-brackets-p nil :contents-begin 11437 :contents-end 11443 :post-blank 3 :parent #361) #("header" 0 6 (:parent #379))) #("X-Forwarded-For $proxy" 0 22 (:parent #361)) (subscript (:begin 11468 :end 11472 :use-brackets-p nil :contents-begin 11469 :contents-end 11472 :post-blank 0 :parent #361) #("add" 0 3 (:parent #381))) (subscript (:begin 11472 :end 11474 :use-brackets-p nil :contents-begin 11473 :contents-end 11474 :post-blank 0 :parent #361) #("x" 0 1 (:parent #382))) (subscript (:begin 11474 :end 11484 :use-brackets-p nil :contents-begin 11475 :contents-end 11484 :post-blank 0 :parent #361) #("forwarded" 0 9 (:parent #383))) (subscript (:begin 11484 :end 11488 :use-brackets-p nil :contents-begin 11485 :contents-end 11488 :post-blank 0 :parent #361) #("for" 0 3 (:parent #384))) #(";\n proxy" 0 19 (:parent #361)) (subscript (:begin 11507 :end 11511 :use-brackets-p nil :contents-begin 11508 :contents-end 11511 :post-blank 0 :parent #361) #("set" 0 3 (:parent #386))) (subscript (:begin 11511 :end 11521 :use-brackets-p nil :contents-begin 11512 :contents-end 11518 :post-blank 3 :parent #361) #("header" 0 6 (:parent #387))) #("X-Forwarded-Host $server" 0 24 (:parent #361)) (subscript (:begin 11545 :end 11550 :use-brackets-p nil :contents-begin 11546 :contents-end 11550 :post-blank 0 :parent #361) #("name" 0 4 (:parent #389))) #(";\n proxy" 0 19 (:parent #361)) (subscript (:begin 11569 :end 11583 :use-brackets-p nil :contents-begin 11570 :contents-end 11574 :post-blank 9 :parent #361) #("pass" 0 4 (:parent #391))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 11583 :end 11604 :contents-begin nil :contents-end nil :post-blank 0 :parent #361)) #(";\n }\n}\n#+end" 0 19 (:parent #361)) (subscript (:begin 11623 :end 11628 :use-brackets-p nil :contents-begin 11624 :contents-end 11627 :post-blank 1 :parent #361) #("src" 0 3 (:parent #394))) #("js\n" 0 3 (:parent #361))) (paragraph (:begin 11632 :end 11671 :contents-begin 11632 :contents-end 11670 :post-blank 1 :post-affiliated 11632 :mode nil :granularity nil :parent #355) #("Install the nginx webserver (as root)\n" 0 38 (:parent #362))) (fixed-width (:begin 11671 :end 11696 :value "guix package -i nginx" :post-blank 2 :post-affiliated 11671 :mode nil :granularity nil :parent #355)) (paragraph (:begin 11696 :end 11777 :contents-begin 11696 :contents-end 11776 :post-blank 1 :post-affiliated 11696 :mode nil :granularity nil :parent #355) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #364))) (fixed-width (:begin 11777 :end 11964 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 11777 :mode nil :granularity nil :parent #355)) (paragraph (:begin 11964 :end 11979 :contents-begin 11964 :contents-end 11978 :post-blank 1 :post-affiliated 11964 :mode nil :granularity nil :parent #355) #("Use that path\n" 0 14 (:parent #366))) (fixed-width (:begin 11979 :end 12373 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 11979 :mode nil :granularity nil :parent #355)) (paragraph (:begin 12373 :end 12599 :contents-begin 12373 :contents-end 12599 :post-blank 0 :post-affiliated 12373 :mode nil :granularity nil :parent #355) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #368))) (fixed-width (:begin 12599 :end 12646 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 12599 :mode nil :granularity nil :parent #355)) (paragraph (:begin 12646 :end 12657 :contents-begin 12646 :contents-end 12656 :post-blank 1 :post-affiliated 12646 :mode nil :granularity nil :parent #355) #("Make dirs\n" 0 10 (:parent #370))) (fixed-width (:begin 12657 :end 12691 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 12657 :mode nil :granularity nil :parent #355)) (paragraph (:begin 12691 :end 12702 :contents-begin 12691 :contents-end 12701 :post-blank 1 :post-affiliated 12691 :mode nil :granularity nil :parent #355) #("Add users\n" 0 10 (:parent #372))) (fixed-width (:begin 12702 :end 12738 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 12702 :mode nil :granularity nil :parent #355)) (paragraph (:begin 12738 :end 12749 :contents-begin 12738 :contents-end 12748 :post-blank 1 :post-affiliated 12738 :mode nil :granularity nil :parent #355) #("Run nginx\n" 0 10 (:parent #374))) (fixed-width (:begin 12749 :end 12839 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 12749 :mode nil :granularity nil :parent #355))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 12840 :end 13801 :pre-blank 1 :contents-begin 12902 :contents-end 13801 :robust-begin 12904 :robust-end 13799 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12840 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #348))) :mode nil :granularity nil :parent #338) (section (:begin 12902 :end 12959 :contents-begin 12902 :contents-end 12958 :robust-begin 12902 :robust-end 12956 :post-blank 1 :post-affiliated 12902 :mode section :granularity nil :parent #348) (paragraph (:begin 12902 :end 12958 :contents-begin 12902 :contents-end 12958 :post-blank 0 :post-affiliated 12902 :mode planning :granularity nil :parent #351) #("See the document " 0 17 (:parent #354)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 12919 :end 12956 :contents-begin nil :contents-end nil :post-blank 0 :parent #354)) #(".\n" 0 2 (:parent #354)))) (headline (:raw-value "Update to recent guix" :begin 12959 :end 13409 :pre-blank 1 :contents-begin 12985 :contents-end 13408 :robust-begin 12987 :robust-end 13406 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12959 :title (#("Update to recent guix" 0 21 (:parent #352))) :mode nil :granularity nil :parent #348) (section (:begin 12985 :end 13409 :contents-begin 12985 :contents-end 13408 :robust-begin 12985 :robust-end 13406 :post-blank 1 :post-affiliated 12985 :mode section :granularity nil :parent #352) (paragraph (:begin 12985 :end 13020 :contents-begin 12985 :contents-end 13019 :post-blank 1 :post-affiliated 12985 :mode planning :granularity nil :parent #355) #("We now compile Guix from scratch.\n" 0 34 (:parent #358))) (paragraph (:begin 13020 :end 13295 :contents-begin 13020 :contents-end 13294 :post-blank 1 :post-affiliated 13020 :mode nil :granularity nil :parent #355) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #359)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 13159 :end 13272 :contents-begin 13264 :contents-end 13269 :post-blank 1 :parent #359) #("these" 0 5 (:parent #363))) #("steps carefully after\n" 0 22 (:parent #359))) (fixed-width (:begin 13295 :end 13330 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 13295 :mode nil :granularity nil :parent #355)) (paragraph (:begin 13330 :end 13408 :contents-begin 13330 :contents-end 13408 :post-blank 0 :post-affiliated 13330 :mode nil :granularity nil :parent #355) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #361))))) (headline (:raw-value "Install GN2" :begin 13409 :end 13801 :pre-blank 1 :contents-begin 13425 :contents-end 13801 :robust-begin 13427 :robust-end 13799 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 13409 :title (#("Install GN2" 0 11 (:parent #353))) :mode nil :granularity nil :parent #348) (section (:begin 13425 :end 13801 :contents-begin 13425 :contents-end 13801 :robust-begin 13425 :robust-end 13799 :post-blank 0 :post-affiliated 13425 :mode section :granularity nil :parent #353) (paragraph (:begin 13425 :end 13468 :contents-begin 13425 :contents-end 13467 :post-blank 1 :post-affiliated 13425 :mode planning :granularity nil :parent #356) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #359))) (paragraph (:begin 13468 :end 13676 :contents-begin 13468 :contents-end 13675 :post-blank 1 :post-affiliated 13468 :mode nil :granularity nil :parent #356) #("#+begin" 0 7 (:parent #360)) (subscript (:begin 13475 :end 13480 :use-brackets-p nil :contents-begin 13476 :contents-end 13479 :post-blank 1 :parent #360) #("src" 0 3 (:parent #364))) #("bash\nenv GUIX" 0 13 (:parent #360)) (subscript (:begin 13493 :end 13501 :use-brackets-p nil :contents-begin 13494 :contents-end 13501 :post-blank 0 :parent #360) #("PACKAGE" 0 7 (:parent #366))) (subscript (:begin 13501 :end 13506 :use-brackets-p nil :contents-begin 13502 :contents-end 13506 :post-blank 0 :parent #360) #("PATH" 0 4 (:parent #367))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #360)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 13605 :end 13633 :contents-begin nil :contents-end nil :post-blank 1 :parent #360)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 13633 :end 13658 :contents-begin nil :contents-end nil :post-blank 0 :parent #360)) #("\"\n#+end" 0 7 (:parent #360)) (subscript (:begin 13665 :end 13670 :use-brackets-p nil :contents-begin 13666 :contents-end 13669 :post-blank 1 :parent #360) #("src" 0 3 (:parent #372))) #("bash\n" 0 5 (:parent #360))) (paragraph (:begin 13676 :end 13714 :contents-begin 13676 :contents-end 13713 :post-blank 1 :post-affiliated 13676 :mode nil :granularity nil :parent #356) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #361))) (paragraph (:begin 13714 :end 13801 :contents-begin 13714 :contents-end 13801 :post-blank 0 :post-affiliated 13714 :mode nil :granularity nil :parent #356) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #362))))))) :headline-offset 0 :headline-numbering nil :id-alist nil :citations nil :id-local-cache #)) #f(compiled-function (element) #)((section (:begin 121 :end 1404 :contents-begin 121 :contents-end 1403 :robust-begin 121 :robust-end 1401 :post-blank 1 :post-affiliated 121 :mode section :granularity nil :parent (headline (:raw-value "Table of Contents" :begin 43 :end 1404 :pre-blank 0 :contents-begin 121 :contents-end 1403 :robust-begin 123 :robust-end 1401 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 43 :title (#("Table of Contents" 0 17 (:parent #24))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13801 :end 13801 :robust-begin 3 :robust-end 13799 :post-blank 0 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 43 :contents-begin 1 :contents-end 42 :robust-begin 1 :robust-end 40 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #70) (keyword (:key "TITLE" :value "Installing GeneNetwork services" :begin 1 :end 42 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #73))) #24 (headline (:raw-value "Introduction" :begin 1404 :end 2450 :pre-blank 1 :contents-begin 1420 :contents-end 2449 :robust-begin 1422 :robust-end 2447 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1404 :title (#("Introduction" 0 12 (:parent #75))) :mode nil :granularity nil :parent #70) (section (:begin 1420 :end 2450 :contents-begin 1420 :contents-end 2449 :robust-begin 1420 :robust-end 2447 :post-blank 1 :post-affiliated 1420 :mode section :granularity nil :parent #75) (paragraph (:begin 1420 :end 1557 :contents-begin 1420 :contents-end 1556 :post-blank 1 :post-affiliated 1420 :mode planning :granularity nil :parent #78) #("If you want to understand the architecture of GN2 read\n" 0 55 (:parent #81)) (link (:type "fuzzy" :path "Architecture.org" :format bracket :raw-link "Architecture.org" :application nil :search-option nil :begin 1475 :end 1495 :contents-begin nil :contents-end nil :post-blank 0 :parent #81)) #(". The rest of this document is mostly on deployment\nof GN2.\n" 0 61 (:parent #81))) (paragraph (:begin 1557 :end 1943 :contents-begin 1557 :contents-end 1942 :post-blank 1 :post-affiliated 1557 :mode nil :granularity nil :parent #78) #("Large system deployments can get very " 0 38 (:parent #82)) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg " :format bracket :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg " :application nil :search-option nil :begin 1595 :end 1656 :contents-begin 1647 :contents-end 1654 :post-blank 0 :parent #82) #("complex" 0 7 (:parent #86))) #(". In this document we\nexplain the GeneNetwork version 2 (GN2) reproducible deployment system\nwhich is based on GNU Guix (see also " 0 130 (:parent #82)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1786 :end 1860 :contents-begin 1848 :contents-end 1858 :post-blank 0 :parent #82) #("Guix-notes" 0 10 (:parent #88))) #("). The Guix\nsystem can be used to install GN with all its files and dependencies.\n" 0 82 (:parent #82))) (paragraph (:begin 1943 :end 2328 :contents-begin 1943 :contents-end 2327 :post-blank 1 :post-affiliated 1943 :mode nil :granularity nil :parent #78) #("The official installation path is from a checked out version of the\nmain Guix package tree and that of the Genenetwork package\ntree. Current supported versions can be found as the SHA values of\n'gn-latest' branches of " 0 218 (:parent #83)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :application nil :search-option nil :begin 2161 :end 2252 :contents-begin 2230 :contents-end 2249 :post-blank 1 :parent #83) #("Guix bioinformatics" 0 19 (:parent #87))) #("and " 0 4 (:parent #83)) (link (:type "https" :path "//github.com/genenetwork/guix/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix/tree/gn-latest" :application nil :search-option nil :begin 2256 :end 2325 :contents-begin 2310 :contents-end 2323 :post-blank 0 :parent #83) #("GNU Guix main" 0 13 (:parent #89))) #(".\n" 0 2 (:parent #83))) (paragraph (:begin 2328 :end 2449 :contents-begin 2328 :contents-end 2449 :post-blank 0 :post-affiliated 2328 :mode nil :granularity nil :parent #78) #("For a full view of runtime dependencies as defined by GNU Guix, see\nthe " 0 72 (:parent #84)) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 2400 :end 2447 :contents-begin 2425 :contents-end 2445 :post-blank 0 :parent #84) #("GN2 Dependency Graph" 0 20 (:parent #88))) #(".\n" 0 2 (:parent #84))))) (headline (:raw-value "Quick installation recipe" :begin 2450 :end 7633 :pre-blank 1 :contents-begin 2479 :contents-end 7632 :robust-begin 2481 :robust-end 7630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 2450 :title (#("Quick installation recipe" 0 25 (:parent #76))) :mode nil :granularity nil :parent #70) (section (:begin 2479 :end 3022 :contents-begin 2479 :contents-end 3021 :robust-begin 2479 :robust-end 3019 :post-blank 1 :post-affiliated 2479 :mode section :granularity nil :parent #76) (paragraph (:begin 2479 :end 2880 :contents-begin 2479 :contents-end 2879 :post-blank 1 :post-affiliated 2479 :mode planning :granularity nil :parent #79) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS). For more elaborate installation\ninstructions see " 0 357 (:parent #82)) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 2836 :end 2877 :contents-begin 2858 :contents-end 2875 :post-blank 0 :parent #82) #("Source deployment" 0 17 (:parent #86))) #(".\n" 0 2 (:parent #82))) (paragraph (:begin 2880 :end 3021 :contents-begin 2880 :contents-end 3021 :post-blank 0 :post-affiliated 2880 :mode nil :granularity nil :parent #79) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #83)))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 3022 :end 4649 :pre-blank 1 :contents-begin 3051 :contents-end 4648 :robust-begin 3053 :robust-end 4646 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3022 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #80))) :mode nil :granularity nil :parent #76) (section (:begin 3051 :end 4649 :contents-begin 3051 :contents-end 4648 :robust-begin 3051 :robust-end 4646 :post-blank 1 :post-affiliated 3051 :mode section :granularity nil :parent #80) (paragraph (:begin 3051 :end 3504 :contents-begin 3051 :contents-end 3503 :post-blank 1 :post-affiliated 3051 :mode planning :granularity nil :parent #83) #("Fetch the GNU Guix binary from " 0 31 (:parent #86)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 3082 :end 3136 :contents-begin 3129 :contents-end 3133 :post-blank 1 :parent #86) #("here" 0 4 (:parent #90))) #("(middle panel) and follow\n" 0 26 (:parent #86)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 3162 :end 3255 :contents-begin 3241 :contents-end 3253 :post-blank 0 :parent #86) #("instructions" 0 12 (:parent #92))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #86))) (paragraph (:begin 3504 :end 3782 :contents-begin 3504 :contents-end 3781 :post-blank 1 :post-affiliated 3504 :mode nil :granularity nil :parent #83) #("Once you have succeeded, you have to " 0 37 (:parent #87)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 3541 :end 3631 :contents-begin 3617 :contents-end 3628 :post-blank 1 :parent #87) #("set the key" 0 11 (:parent #91))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #87))) (src-block (:language "bash" :switches nil :parameters nil :begin 3782 :end 3890 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 3782 :mode nil :granularity nil :parent #83)) (paragraph (:begin 3890 :end 3924 :contents-begin 3890 :contents-end 3923 :post-blank 1 :post-affiliated 3890 :mode nil :granularity nil :parent #83) #("Which should show something like\n" 0 33 (:parent #89))) (fixed-width (:begin 3924 :end 4034 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 3924 :mode nil :granularity nil :parent #83)) (paragraph (:begin 4034 :end 4045 :contents-begin 4034 :contents-end 4044 :post-blank 1 :post-affiliated 4034 :mode nil :granularity nil :parent #83) #("#+end" 0 5 (:parent #91)) (subscript (:begin 4039 :end 4043 :use-brackets-p nil :contents-begin 4040 :contents-end 4043 :post-blank 0 :parent #91) #("src" 0 3 (:parent #95))) #("\n" 0 1 (:parent #91))) (paragraph (:begin 4045 :end 4116 :contents-begin 4045 :contents-end 4115 :post-blank 1 :post-affiliated 4045 :mode nil :granularity nil :parent #83) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #92))) (src-block (:language "bash" :switches nil :parameters nil :begin 4116 :end 4188 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 4116 :mode nil :granularity nil :parent #83)) (paragraph (:begin 4188 :end 4375 :contents-begin 4188 :contents-end 4374 :post-blank 1 :post-affiliated 4188 :mode nil :granularity nil :parent #83) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #94))) (paragraph (:begin 4375 :end 4648 :contents-begin 4375 :contents-end 4648 :post-blank 0 :post-affiliated 4375 :mode nil :granularity nil :parent #83) #("If you need more help we have another writeup in " 0 49 (:parent #95)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 4424 :end 4520 :contents-begin 4508 :contents-end 4518 :post-blank 0 :parent #95) #("guix-notes" 0 10 (:parent #99))) #(". To get\nrid of the locale warning see " 0 39 (:parent #95)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 4559 :end 4646 :contents-begin 4634 :contents-end 4644 :post-blank 0 :parent #95) #("set-locale" 0 10 (:parent #101))) #(".\n" 0 2 (:parent #95))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 4649 :end 5304 :pre-blank 1 :contents-begin 4695 :contents-end 5302 :robust-begin 4697 :robust-end 5300 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4649 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #81))) :mode nil :granularity nil :parent #76) (section (:begin 4695 :end 5304 :contents-begin 4695 :contents-end 5302 :robust-begin 4695 :robust-end 5300 :post-blank 2 :post-affiliated 4695 :mode section :granularity nil :parent #81) (paragraph (:begin 4695 :end 4815 :contents-begin 4695 :contents-end 4814 :post-blank 1 :post-affiliated 4695 :mode planning :granularity nil :parent #84) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #87))) (src-block (:language "bash" :switches nil :parameters nil :begin 4815 :end 4920 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 4815 :mode nil :granularity nil :parent #84)) (paragraph (:begin 4920 :end 4971 :contents-begin 4920 :contents-end 4970 :post-blank 1 :post-affiliated 4920 :mode nil :granularity nil :parent #84) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #89))) (paragraph (:begin 4971 :end 5232 :contents-begin 4971 :contents-end 5231 :post-blank 1 :post-affiliated 4971 :mode nil :granularity nil :parent #84) #("#+begin" 0 7 (:parent #90)) (subscript (:begin 4978 :end 4983 :use-brackets-p nil :contents-begin 4979 :contents-end 4982 :post-blank 1 :parent #90) #("src" 0 3 (:parent #94))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #90)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 5055 :end 5105 :contents-begin nil :contents-end nil :post-blank 0 :parent #90)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #90)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 5147 :end 5183 :contents-begin nil :contents-end nil :post-blank 1 :parent #90)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #90)) (subscript (:begin 5221 :end 5226 :use-brackets-p nil :contents-begin 5222 :contents-end 5225 :post-blank 1 :parent #90) #("src" 0 3 (:parent #100))) #("bash\n" 0 5 (:parent #90))) (paragraph (:begin 5232 :end 5270 :contents-begin 5232 :contents-end 5269 :post-blank 1 :post-affiliated 5232 :mode nil :granularity nil :parent #84) #("To test whether this is working try:\n" 0 37 (:parent #91))) (paragraph (:begin 5270 :end 5302 :contents-begin 5270 :contents-end 5302 :post-blank 0 :post-affiliated 5270 :mode nil :granularity nil :parent #84) #("#+begin" 0 7 (:parent #92)) (subscript (:begin 5277 :end 5282 :use-brackets-p nil :contents-begin 5278 :contents-end 5281 :post-blank 1 :parent #92) #("src" 0 3 (:parent #96))) #("bash\n#+end" 0 10 (:parent #92)) (subscript (:begin 5292 :end 5297 :use-brackets-p nil :contents-begin 5293 :contents-end 5296 :post-blank 1 :parent #92) #("src" 0 3 (:parent #98))) #("bash\n" 0 5 (:parent #92))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 5304 :end 5755 :pre-blank 1 :contents-begin 5345 :contents-end 5754 :robust-begin 5347 :robust-end 5752 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5304 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #82))) :mode nil :granularity nil :parent #76) (section (:begin 5345 :end 5755 :contents-begin 5345 :contents-end 5754 :robust-begin 5345 :robust-end 5752 :post-blank 1 :post-affiliated 5345 :mode section :granularity nil :parent #82) (paragraph (:begin 5345 :end 5445 :contents-begin 5345 :contents-end 5444 :post-blank 1 :post-affiliated 5345 :mode planning :granularity nil :parent #85) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #88))) (src-block (:language "scheme" :switches nil :parameters nil :begin 5445 :end 5589 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 5445 :mode nil :granularity nil :parent #85)) (paragraph (:begin 5589 :end 5621 :contents-begin 5589 :contents-end 5620 :post-blank 1 :post-affiliated 5589 :mode nil :granularity nil :parent #85) #("by pasting it into the command\n" 0 31 (:parent #90))) (src-block (:language "bash" :switches nil :parameters nil :begin 5621 :end 5674 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 5621 :mode nil :granularity nil :parent #85)) (paragraph (:begin 5674 :end 5691 :contents-begin 5674 :contents-end 5690 :post-blank 1 :post-affiliated 5674 :mode nil :granularity nil :parent #85) #("and hit Ctrl-D.\n" 0 16 (:parent #92))) (paragraph (:begin 5691 :end 5754 :contents-begin 5691 :contents-end 5754 :post-blank 0 :post-affiliated 5691 :mode nil :granularity nil :parent #85) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #93))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 5755 :end 7633 :pre-blank 1 :contents-begin 5787 :contents-end 7632 :robust-begin 5789 :robust-end 7630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5755 :title (#("Step 4: Install and run GN2" 0 27 (:parent #83))) :mode nil :granularity nil :parent #76) (section (:begin 5787 :end 7633 :contents-begin 5787 :contents-end 7632 :robust-begin 5787 :robust-end 7630 :post-blank 1 :post-affiliated 5787 :mode section :granularity nil :parent #83) (paragraph (:begin 5787 :end 5927 :contents-begin 5787 :contents-end 5926 :post-blank 1 :post-affiliated 5787 :mode planning :granularity nil :parent #86) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #89))) (src-block (:language "bash" :switches nil :parameters nil :begin 5927 :end 6046 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 5927 :mode nil :granularity nil :parent #86)) (paragraph (:begin 6046 :end 6099 :contents-begin 6046 :contents-end 6098 :post-blank 1 :post-affiliated 6046 :mode nil :granularity nil :parent #86) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #91))) (src-block (:language "bash" :switches nil :parameters nil :begin 6099 :end 6289 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 6099 :mode nil :granularity nil :parent #86)) (paragraph (:begin 6289 :end 6398 :contents-begin 6289 :contents-end 6397 :post-blank 1 :post-affiliated 6289 :mode nil :granularity nil :parent #86) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #93)) (italic (:begin 6360 :end 6366 :post-blank 0 :contents-begin 6361 :contents-end 6365 :parent #93) #("root" 0 4 (:parent #97))) #(".config/guix/latest override).\n" 0 31 (:parent #93))) (paragraph (:begin 6398 :end 6416 :contents-begin 6398 :contents-end 6415 :post-blank 1 :post-affiliated 6398 :mode nil :granularity nil :parent #86) #("And install with\n" 0 17 (:parent #94))) (src-block (:language "bash" :switches nil :parameters nil :begin 6416 :end 6586 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 6416 :mode nil :granularity nil :parent #86)) (paragraph (:begin 6586 :end 6729 :contents-begin 6586 :contents-end 6728 :post-blank 1 :post-affiliated 6586 :mode nil :granularity nil :parent #86) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #96))) (paragraph (:begin 6729 :end 6925 :contents-begin 6729 :contents-end 6924 :post-blank 1 :post-affiliated 6729 :mode nil :granularity nil :parent #86) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #97))) (paragraph (:begin 6925 :end 7056 :contents-begin 6925 :contents-end 7055 :post-blank 1 :post-affiliated 6925 :mode nil :granularity nil :parent #86) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #98))) (src-block (:language "bash" :switches nil :parameters nil :begin 7056 :end 7235 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python2.7/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 7056 :mode nil :granularity nil :parent #86)) (paragraph (:begin 7235 :end 7304 :contents-begin 7235 :contents-end 7303 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #86) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #100))) (src-block (:language "bash" :switches nil :parameters nil :begin 7304 :end 7345 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 7304 :mode nil :granularity nil :parent #86)) (paragraph (:begin 7345 :end 7596 :contents-begin 7345 :contents-end 7595 :post-blank 1 :post-affiliated 7345 :mode nil :granularity nil :parent #86) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #102)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 7567 :end 7593 :contents-begin nil :contents-end nil :post-blank 0 :parent #102)) #(".\n" 0 2 (:parent #102))) (paragraph (:begin 7596 :end 7632 :contents-begin 7596 :contents-end 7632 :post-blank 0 :post-affiliated 7596 :mode nil :granularity nil :parent #86) #("End of the GN2 installation recipe!\n" 0 36 (:parent #103)))))) (headline (:raw-value "Run MySQL server" :begin 7633 :end 9008 :pre-blank 1 :contents-begin 7653 :contents-end 9007 :robust-begin 7655 :robust-end 9005 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7633 :title (#("Run MySQL server" 0 16 (:parent #77))) :mode nil :granularity nil :parent #70) (section (:begin 7653 :end 9008 :contents-begin 7653 :contents-end 9007 :robust-begin 7653 :robust-end 9005 :post-blank 1 :post-affiliated 7653 :mode section :granularity nil :parent #77) (paragraph (:begin 7653 :end 7928 :contents-begin 7653 :contents-end 7927 :post-blank 1 :post-affiliated 7653 :mode planning :granularity nil :parent #80) #("At this point we require the underlying distribution to install and\nrun mysqld. Currently we have two databases for deployment,\n'db" 0 131 (:parent #83)) (subscript (:begin 7784 :end 7791 :use-brackets-p nil :contents-begin 7785 :contents-end 7791 :post-blank 0 :parent #83) #("webqtl" 0 6 (:parent #87))) (subscript (:begin 7791 :end 7793 :use-brackets-p nil :contents-begin 7792 :contents-end 7793 :post-blank 0 :parent #83) #("s" 0 1 (:parent #88))) #("' is the small testing database containing experiments\nfrom BXD mice and 'db" 0 76 (:parent #83)) (subscript (:begin 7869 :end 7876 :use-brackets-p nil :contents-begin 7870 :contents-end 7876 :post-blank 0 :parent #83) #("webqtl" 0 6 (:parent #90))) (subscript (:begin 7876 :end 7882 :use-brackets-p nil :contents-begin 7877 :contents-end 7882 :post-blank 0 :parent #83) #("plant" 0 5 (:parent #91))) #("' which contains all plant related\nmaterial.\n" 0 45 (:parent #83))) (paragraph (:begin 7928 :end 7956 :contents-begin 7928 :contents-end 7955 :post-blank 1 :post-affiliated 7928 :mode nil :granularity nil :parent #80) #("Download one database from\n" 0 27 (:parent #84))) (paragraph (:begin 7956 :end 8054 :contents-begin 7956 :contents-end 8053 :post-blank 1 :post-affiliated 7956 :mode nil :granularity nil :parent #80) (link (:type "http" :path "//files.genenetwork.org/raw_database/" :format plain :raw-link "http://files.genenetwork.org/raw_database/" :application nil :search-option nil :begin 7956 :end 7998 :contents-begin nil :contents-end nil :post-blank 0 :parent #85)) #("\n" 0 1 (:parent #85)) (link (:type "https" :path "//s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :format plain :raw-link "https://s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :application nil :search-option nil :begin 7999 :end 8052 :contents-begin nil :contents-end nil :post-blank 0 :parent #85)) #("\n" 0 1 (:parent #85))) (paragraph (:begin 8054 :end 8073 :contents-begin 8054 :contents-end 8072 :post-blank 1 :post-affiliated 8054 :mode nil :granularity nil :parent #80) #("Check the md5sum.\n" 0 18 (:parent #86))) (paragraph (:begin 8073 :end 8195 :contents-begin 8073 :contents-end 8194 :post-blank 1 :post-affiliated 8073 :mode nil :granularity nil :parent #80) #("After installation inflate the database binary in the MySQL directory\n(this installation path is subject to change soon)\n" 0 121 (:parent #87))) (fixed-width (:begin 8195 :end 8283 :value "chown -R mysql:mysql db_webqtl_s/\nchmod 700 db_webqtl_s/\nchmod 660 db_webqtl_s/*" :post-blank 2 :post-affiliated 8195 :mode nil :granularity nil :parent #80)) (paragraph (:begin 8283 :end 8334 :contents-begin 8283 :contents-end 8333 :post-blank 1 :post-affiliated 8283 :mode nil :granularity nil :parent #80) #("restart MySQL service (mysqld). Login as root and\n" 0 50 (:parent #89))) (fixed-width (:begin 8334 :end 8560 :value "mysql> show databases;\n+--------------------+\n| Database |\n+--------------------+\n| information_schema |\n| db_webqtl_s |\n| mysql |\n| performance_schema |\n+--------------------+" :post-blank 2 :post-affiliated 8334 :mode nil :granularity nil :parent #80)) (paragraph (:begin 8560 :end 8625 :contents-begin 8560 :contents-end 8624 :post-blank 1 :post-affiliated 8560 :mode nil :granularity nil :parent #80) #("Set permissions and match password in your settings file below:\n" 0 64 (:parent #91))) (fixed-width (:begin 8625 :end 8724 :value "mysql> grant all privileges on db_webqtl_s.* to gn2@\"localhost\" identified by 'mysql_password';" :post-blank 2 :post-affiliated 8625 :mode nil :granularity nil :parent #80)) (paragraph (:begin 8724 :end 8875 :contents-begin 8724 :contents-end 8874 :post-blank 1 :post-affiliated 8724 :mode nil :granularity nil :parent #80) #("Note that if the mysql connection is not working, try connecting to\nthe IP address and check server firewall, hosts.allow and mysql IP\nconfiguration.\n" 0 150 (:parent #93))) (paragraph (:begin 8875 :end 9007 :contents-begin 8875 :contents-end 9007 :post-blank 0 :post-affiliated 8875 :mode nil :granularity nil :parent #80) #("Note for the plant database you can rename it to db" 0 51 (:parent #94)) (subscript (:begin 8926 :end 8933 :use-brackets-p nil :contents-begin 8927 :contents-end 8933 :post-blank 0 :parent #94) #("webqtl" 0 6 (:parent #98))) (subscript (:begin 8933 :end 8935 :use-brackets-p nil :contents-begin 8934 :contents-end 8935 :post-blank 0 :parent #94) #("s" 0 1 (:parent #99))) #(", or\nchange the settings in etc/default" 0 39 (:parent #94)) (subscript (:begin 8974 :end 8987 :use-brackets-p nil :contents-begin 8975 :contents-end 8986 :post-blank 1 :parent #94) #("settings.py" 0 11 (:parent #101))) #("to match your path.\n" 0 20 (:parent #94))))) (headline (:raw-value "GN2 Dependency Graph" :begin 9008 :end 9172 :pre-blank 1 :contents-begin 9032 :contents-end 9171 :robust-begin 9034 :robust-end 9169 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9008 :title (#("GN2 Dependency Graph" 0 20 (:parent #78))) :mode nil :granularity nil :parent #70) (section (:begin 9032 :end 9172 :contents-begin 9032 :contents-end 9171 :robust-begin 9032 :robust-end 9169 :post-blank 1 :post-affiliated 9032 :mode section :granularity nil :parent #78) (paragraph (:begin 9032 :end 9093 :contents-begin 9032 :contents-end 9092 :post-blank 1 :post-affiliated 9032 :mode planning :granularity nil :parent #81) #("Graph of all runtime dependencies as installed by GNU Guix.\n" 0 60 (:parent #84))) (paragraph (:begin 9093 :end 9171 :contents-begin 9123 :contents-end 9171 :post-blank 0 :post-affiliated 9123 :attr_html (":title GN2_graph") :mode nil :granularity nil :parent #81) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg" :format plain :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg" :application nil :search-option nil :begin 9123 :end 9170 :contents-begin nil :contents-end nil :post-blank 0 :parent #85)) #("\n" 0 1 (:parent #85))))) (headline (:raw-value "Source deployment" :begin 9172 :end 12840 :pre-blank 1 :contents-begin 9193 :contents-end 12839 :robust-begin 9195 :robust-end 12837 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9172 :title (#("Source deployment" 0 17 (:parent #79))) :mode nil :granularity nil :parent #70) (section (:begin 9193 :end 9612 :contents-begin 9193 :contents-end 9610 :robust-begin 9193 :robust-end 9608 :post-blank 2 :post-affiliated 9193 :mode section :granularity nil :parent #79) (paragraph (:begin 9193 :end 9274 :contents-begin 9193 :contents-end 9273 :post-blank 1 :post-affiliated 9193 :mode planning :granularity nil :parent #82) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #85))) (paragraph (:begin 9274 :end 9304 :contents-begin 9274 :contents-end 9303 :post-blank 1 :post-affiliated 9274 :mode nil :granularity nil :parent #82) #("First execute above 4 steps:\n" 0 29 (:parent #86))) (plain-list (:type unordered :begin 9304 :end 9610 :contents-begin 9304 :contents-end 9610 :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :post-blank 0 :post-affiliated 9304 :mode nil :granularity nil :parent #82) (item (:bullet "- " :begin 9304 :end 9364 :contents-begin 9309 :contents-end 9364 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9304 :tag nil :mode item :granularity nil :parent #87) (paragraph (:begin 9309 :end 9364 :contents-begin 9309 :contents-end 9364 :post-blank 0 :post-affiliated 9309 :mode nil :granularity nil :parent #90) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 9309 :end 9363 :contents-begin 9337 :contents-end 9361 :post-blank 0 :parent #93) #("Step 1: Install GNU Guix" 0 24 (:parent #96))) #("\n" 0 1 (:parent #93)))) (item (:bullet "- " :begin 9364 :end 9458 :contents-begin 9369 :contents-end 9458 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9364 :tag nil :mode item :granularity nil :parent #87) (paragraph (:begin 9369 :end 9458 :contents-begin 9369 :contents-end 9458 :post-blank 0 :post-affiliated 9369 :mode nil :granularity nil :parent #91) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 9369 :end 9457 :contents-begin 9414 :contents-end 9455 :post-blank 0 :parent #94) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #97))) #("\n" 0 1 (:parent #94)))) (item (:bullet "- " :begin 9458 :end 9542 :contents-begin 9463 :contents-end 9542 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9458 :tag nil :mode item :granularity nil :parent #87) (paragraph (:begin 9463 :end 9542 :contents-begin 9463 :contents-end 9542 :post-blank 0 :post-affiliated 9463 :mode nil :granularity nil :parent #92) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 9463 :end 9541 :contents-begin 9503 :contents-end 9539 :post-blank 0 :parent #95) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #98))) #("\n" 0 1 (:parent #95)))) (item (:bullet "- " :begin 9542 :end 9610 :contents-begin 9547 :contents-end 9610 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9542 :tag nil :mode item :granularity nil :parent #87) (paragraph (:begin 9547 :end 9610 :contents-begin 9547 :contents-end 9610 :post-blank 0 :post-affiliated 9547 :mode nil :granularity nil :parent #93) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 9547 :end 9609 :contents-begin 9579 :contents-end 9607 :post-blank 0 :parent #96) #("Step 4: Install and run GN2 " 0 28 (:parent #99))) #("\n" 0 1 (:parent #96)))))) (headline (:raw-value "Run your own copy of GN2" :begin 9612 :end 10722 :pre-blank 1 :contents-begin 9641 :contents-end 10721 :robust-begin 9643 :robust-end 10719 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9612 :title (#("Run your own copy of GN2" 0 24 (:parent #83))) :mode nil :granularity nil :parent #79) (section (:begin 9641 :end 10722 :contents-begin 9641 :contents-end 10721 :robust-begin 9641 :robust-end 10719 :post-blank 1 :post-affiliated 9641 :mode section :granularity nil :parent #83) (paragraph (:begin 9641 :end 9839 :contents-begin 9641 :contents-end 9838 :post-blank 1 :post-affiliated 9641 :mode planning :granularity nil :parent #86) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #89)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 9793 :end 9836 :contents-begin nil :contents-end nil :post-blank 0 :parent #89)) #(".\n" 0 2 (:parent #89))) (paragraph (:begin 9839 :end 9964 :contents-begin 9839 :contents-end 9963 :post-blank 1 :post-affiliated 9839 :mode nil :granularity nil :parent #86) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #90)) (subscript (:begin 9896 :end 9902 :use-brackets-p nil :contents-begin 9897 :contents-end 9901 :post-blank 1 :parent #90) #("PATH" 0 4 (:parent #94))) #("and\nR" 0 5 (:parent #90)) (subscript (:begin 9907 :end 9912 :use-brackets-p nil :contents-begin 9908 :contents-end 9912 :post-blank 0 :parent #90) #("LIBS" 0 4 (:parent #96))) (subscript (:begin 9912 :end 9918 :use-brackets-p nil :contents-begin 9913 :contents-end 9917 :post-blank 1 :parent #90) #("SITE" 0 4 (:parent #97))) #("are set) from the information given by guix:\n" 0 45 (:parent #90))) (fixed-width (:begin 9964 :end 9995 :value "guix package --search-paths" :post-blank 2 :post-affiliated 9964 :mode nil :granularity nil :parent #86)) (paragraph (:begin 9995 :end 10019 :contents-begin 9995 :contents-end 10018 :post-blank 1 :post-affiliated 9995 :mode nil :granularity nil :parent #86) #("Inside the repository:\n" 0 23 (:parent #92))) (fixed-width (:begin 10019 :end 10059 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 10019 :mode nil :granularity nil :parent #86)) (paragraph (:begin 10059 :end 10303 :contents-begin 10059 :contents-end 10302 :post-blank 1 :post-affiliated 10059 :mode nil :granularity nil :parent #86) #("Will fire up your local repo " 0 29 (:parent #94)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 10088 :end 10111 :contents-begin nil :contents-end nil :post-blank 1 :parent #94)) #("using the\nsettings in ./etc/default" 0 35 (:parent #94)) (subscript (:begin 10146 :end 10158 :use-brackets-p nil :contents-begin 10147 :contents-end 10158 :post-blank 0 :parent #94) #("settings.py" 0 11 (:parent #100))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #94)) (subscript (:begin 10263 :end 10276 :use-brackets-p nil :contents-begin 10264 :contents-end 10275 :post-blank 1 :parent #94) #("settings.py" 0 11 (:parent #102))) #("and pass it into GN2 with\n" 0 26 (:parent #94))) (fixed-width (:begin 10303 :end 10346 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 10303 :mode nil :granularity nil :parent #86)) (paragraph (:begin 10346 :end 10492 :contents-begin 10346 :contents-end 10491 :post-blank 1 :post-affiliated 10346 :mode nil :granularity nil :parent #86) #("and everything " 0 15 (:parent #96)) (bold (:begin 10361 :end 10370 :post-blank 1 :contents-begin 10362 :contents-end 10368 :parent #96) #("should" 0 6 (:parent #100))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #96))) (paragraph (:begin 10492 :end 10620 :contents-begin 10492 :contents-end 10619 :post-blank 1 :post-affiliated 10492 :mode nil :granularity nil :parent #86) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #97))) (fixed-width (:begin 10620 :end 10721 :value "cat ~/.guix-profile/lib/python2.7/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 10620 :mode nil :granularity nil :parent #86)))) (headline (:raw-value "Set up nginx port forwarding" :begin 10722 :end 12840 :pre-blank 1 :contents-begin 10755 :contents-end 12839 :robust-begin 10757 :robust-end 12837 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 10722 :title (#("Set up nginx port forwarding" 0 28 (:parent #84))) :mode nil :granularity nil :parent #79) (section (:begin 10755 :end 12840 :contents-begin 10755 :contents-end 12839 :robust-begin 10755 :robust-end 12837 :post-blank 1 :post-affiliated 10755 :mode section :granularity nil :parent #84) (paragraph (:begin 10755 :end 10923 :contents-begin 10755 :contents-end 10922 :post-blank 1 :post-affiliated 10755 :mode planning :granularity nil :parent #87) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #90))) (paragraph (:begin 10923 :end 11063 :contents-begin 10923 :contents-end 11062 :post-blank 1 :post-affiliated 10923 :mode nil :granularity nil :parent #87) #("#+begin" 0 7 (:parent #91)) (subscript (:begin 10930 :end 10935 :use-brackets-p nil :contents-begin 10931 :contents-end 10934 :post-blank 1 :parent #91) #("src" 0 3 (:parent #95))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #91)) (subscript (:begin 10984 :end 10990 :use-brackets-p nil :contents-begin 10985 :contents-end 10989 :post-blank 1 :parent #91) #("name" 0 4 (:parent #97))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #91)) (subscript (:begin 11030 :end 11036 :use-brackets-p nil :contents-begin 11031 :contents-end 11034 :post-blank 2 :parent #91) #("log" 0 3 (:parent #99))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #91))) (paragraph (:begin 11063 :end 11232 :contents-begin 11063 :contents-end 11231 :post-blank 1 :post-affiliated 11063 :mode nil :granularity nil :parent #87) #(" proxy" 0 13 (:parent #92)) (subscript (:begin 11076 :end 11084 :use-brackets-p nil :contents-begin 11077 :contents-end 11084 :post-blank 0 :parent #92) #("connect" 0 7 (:parent #96))) (subscript (:begin 11084 :end 11099 :use-brackets-p nil :contents-begin 11085 :contents-end 11092 :post-blank 7 :parent #92) #("timeout" 0 7 (:parent #97))) #("3000;\n proxy" 0 19 (:parent #92)) (subscript (:begin 11118 :end 11123 :use-brackets-p nil :contents-begin 11119 :contents-end 11123 :post-blank 0 :parent #92) #("send" 0 4 (:parent #99))) (subscript (:begin 11123 :end 11141 :use-brackets-p nil :contents-begin 11124 :contents-end 11131 :post-blank 10 :parent #92) #("timeout" 0 7 (:parent #100))) #("3000;\n proxy" 0 19 (:parent #92)) (subscript (:begin 11160 :end 11165 :use-brackets-p nil :contents-begin 11161 :contents-end 11165 :post-blank 0 :parent #92) #("read" 0 4 (:parent #102))) (subscript (:begin 11165 :end 11183 :use-brackets-p nil :contents-begin 11166 :contents-end 11173 :post-blank 10 :parent #92) #("timeout" 0 7 (:parent #103))) #("3000;\n send" 0 18 (:parent #92)) (subscript (:begin 11201 :end 11225 :use-brackets-p nil :contents-begin 11202 :contents-end 11209 :post-blank 16 :parent #92) #("timeout" 0 7 (:parent #105))) #("3000;\n" 0 6 (:parent #92))) (paragraph (:begin 11232 :end 11632 :contents-begin 11232 :contents-end 11631 :post-blank 1 :post-affiliated 11232 :mode nil :granularity nil :parent #87) #(" location / {\n proxy" 0 38 (:parent #93)) (subscript (:begin 11270 :end 11274 :use-brackets-p nil :contents-begin 11271 :contents-end 11274 :post-blank 0 :parent #93) #("set" 0 3 (:parent #97))) (subscript (:begin 11274 :end 11284 :use-brackets-p nil :contents-begin 11275 :contents-end 11281 :post-blank 3 :parent #93) #("header" 0 6 (:parent #98))) #("Host $http" 0 15 (:parent #93)) (subscript (:begin 11299 :end 11304 :use-brackets-p nil :contents-begin 11300 :contents-end 11304 :post-blank 0 :parent #93) #("host" 0 4 (:parent #100))) #(";\n proxy" 0 19 (:parent #93)) (subscript (:begin 11323 :end 11327 :use-brackets-p nil :contents-begin 11324 :contents-end 11327 :post-blank 0 :parent #93) #("set" 0 3 (:parent #102))) (subscript (:begin 11327 :end 11337 :use-brackets-p nil :contents-begin 11328 :contents-end 11334 :post-blank 3 :parent #93) #("header" 0 6 (:parent #103))) #("Connection keep-alive;\n proxy" 0 40 (:parent #93)) (subscript (:begin 11377 :end 11381 :use-brackets-p nil :contents-begin 11378 :contents-end 11381 :post-blank 0 :parent #93) #("set" 0 3 (:parent #105))) (subscript (:begin 11381 :end 11391 :use-brackets-p nil :contents-begin 11382 :contents-end 11388 :post-blank 3 :parent #93) #("header" 0 6 (:parent #106))) #("X-Real-IP $remote" 0 17 (:parent #93)) (subscript (:begin 11408 :end 11413 :use-brackets-p nil :contents-begin 11409 :contents-end 11413 :post-blank 0 :parent #93) #("addr" 0 4 (:parent #108))) #(";\n proxy" 0 19 (:parent #93)) (subscript (:begin 11432 :end 11436 :use-brackets-p nil :contents-begin 11433 :contents-end 11436 :post-blank 0 :parent #93) #("set" 0 3 (:parent #110))) (subscript (:begin 11436 :end 11446 :use-brackets-p nil :contents-begin 11437 :contents-end 11443 :post-blank 3 :parent #93) #("header" 0 6 (:parent #111))) #("X-Forwarded-For $proxy" 0 22 (:parent #93)) (subscript (:begin 11468 :end 11472 :use-brackets-p nil :contents-begin 11469 :contents-end 11472 :post-blank 0 :parent #93) #("add" 0 3 (:parent #113))) (subscript (:begin 11472 :end 11474 :use-brackets-p nil :contents-begin 11473 :contents-end 11474 :post-blank 0 :parent #93) #("x" 0 1 (:parent #114))) (subscript (:begin 11474 :end 11484 :use-brackets-p nil :contents-begin 11475 :contents-end 11484 :post-blank 0 :parent #93) #("forwarded" 0 9 (:parent #115))) (subscript (:begin 11484 :end 11488 :use-brackets-p nil :contents-begin 11485 :contents-end 11488 :post-blank 0 :parent #93) #("for" 0 3 (:parent #116))) #(";\n proxy" 0 19 (:parent #93)) (subscript (:begin 11507 :end 11511 :use-brackets-p nil :contents-begin 11508 :contents-end 11511 :post-blank 0 :parent #93) #("set" 0 3 (:parent #118))) (subscript (:begin 11511 :end 11521 :use-brackets-p nil :contents-begin 11512 :contents-end 11518 :post-blank 3 :parent #93) #("header" 0 6 (:parent #119))) #("X-Forwarded-Host $server" 0 24 (:parent #93)) (subscript (:begin 11545 :end 11550 :use-brackets-p nil :contents-begin 11546 :contents-end 11550 :post-blank 0 :parent #93) #("name" 0 4 (:parent #121))) #(";\n proxy" 0 19 (:parent #93)) (subscript (:begin 11569 :end 11583 :use-brackets-p nil :contents-begin 11570 :contents-end 11574 :post-blank 9 :parent #93) #("pass" 0 4 (:parent #123))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 11583 :end 11604 :contents-begin nil :contents-end nil :post-blank 0 :parent #93)) #(";\n }\n}\n#+end" 0 19 (:parent #93)) (subscript (:begin 11623 :end 11628 :use-brackets-p nil :contents-begin 11624 :contents-end 11627 :post-blank 1 :parent #93) #("src" 0 3 (:parent #126))) #("js\n" 0 3 (:parent #93))) (paragraph (:begin 11632 :end 11671 :contents-begin 11632 :contents-end 11670 :post-blank 1 :post-affiliated 11632 :mode nil :granularity nil :parent #87) #("Install the nginx webserver (as root)\n" 0 38 (:parent #94))) (fixed-width (:begin 11671 :end 11696 :value "guix package -i nginx" :post-blank 2 :post-affiliated 11671 :mode nil :granularity nil :parent #87)) (paragraph (:begin 11696 :end 11777 :contents-begin 11696 :contents-end 11776 :post-blank 1 :post-affiliated 11696 :mode nil :granularity nil :parent #87) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #96))) (fixed-width (:begin 11777 :end 11964 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 11777 :mode nil :granularity nil :parent #87)) (paragraph (:begin 11964 :end 11979 :contents-begin 11964 :contents-end 11978 :post-blank 1 :post-affiliated 11964 :mode nil :granularity nil :parent #87) #("Use that path\n" 0 14 (:parent #98))) (fixed-width (:begin 11979 :end 12373 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 11979 :mode nil :granularity nil :parent #87)) (paragraph (:begin 12373 :end 12599 :contents-begin 12373 :contents-end 12599 :post-blank 0 :post-affiliated 12373 :mode nil :granularity nil :parent #87) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #100))) (fixed-width (:begin 12599 :end 12646 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 12599 :mode nil :granularity nil :parent #87)) (paragraph (:begin 12646 :end 12657 :contents-begin 12646 :contents-end 12656 :post-blank 1 :post-affiliated 12646 :mode nil :granularity nil :parent #87) #("Make dirs\n" 0 10 (:parent #102))) (fixed-width (:begin 12657 :end 12691 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 12657 :mode nil :granularity nil :parent #87)) (paragraph (:begin 12691 :end 12702 :contents-begin 12691 :contents-end 12701 :post-blank 1 :post-affiliated 12691 :mode nil :granularity nil :parent #87) #("Add users\n" 0 10 (:parent #104))) (fixed-width (:begin 12702 :end 12738 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 12702 :mode nil :granularity nil :parent #87)) (paragraph (:begin 12738 :end 12749 :contents-begin 12738 :contents-end 12748 :post-blank 1 :post-affiliated 12738 :mode nil :granularity nil :parent #87) #("Run nginx\n" 0 10 (:parent #106))) (fixed-width (:begin 12749 :end 12839 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 12749 :mode nil :granularity nil :parent #87))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 12840 :end 13801 :pre-blank 1 :contents-begin 12902 :contents-end 13801 :robust-begin 12904 :robust-end 13799 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12840 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #80))) :mode nil :granularity nil :parent #70) (section (:begin 12902 :end 12959 :contents-begin 12902 :contents-end 12958 :robust-begin 12902 :robust-end 12956 :post-blank 1 :post-affiliated 12902 :mode section :granularity nil :parent #80) (paragraph (:begin 12902 :end 12958 :contents-begin 12902 :contents-end 12958 :post-blank 0 :post-affiliated 12902 :mode planning :granularity nil :parent #83) #("See the document " 0 17 (:parent #86)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 12919 :end 12956 :contents-begin nil :contents-end nil :post-blank 0 :parent #86)) #(".\n" 0 2 (:parent #86)))) (headline (:raw-value "Update to recent guix" :begin 12959 :end 13409 :pre-blank 1 :contents-begin 12985 :contents-end 13408 :robust-begin 12987 :robust-end 13406 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12959 :title (#("Update to recent guix" 0 21 (:parent #84))) :mode nil :granularity nil :parent #80) (section (:begin 12985 :end 13409 :contents-begin 12985 :contents-end 13408 :robust-begin 12985 :robust-end 13406 :post-blank 1 :post-affiliated 12985 :mode section :granularity nil :parent #84) (paragraph (:begin 12985 :end 13020 :contents-begin 12985 :contents-end 13019 :post-blank 1 :post-affiliated 12985 :mode planning :granularity nil :parent #87) #("We now compile Guix from scratch.\n" 0 34 (:parent #90))) (paragraph (:begin 13020 :end 13295 :contents-begin 13020 :contents-end 13294 :post-blank 1 :post-affiliated 13020 :mode nil :granularity nil :parent #87) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #91)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 13159 :end 13272 :contents-begin 13264 :contents-end 13269 :post-blank 1 :parent #91) #("these" 0 5 (:parent #95))) #("steps carefully after\n" 0 22 (:parent #91))) (fixed-width (:begin 13295 :end 13330 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 13295 :mode nil :granularity nil :parent #87)) (paragraph (:begin 13330 :end 13408 :contents-begin 13330 :contents-end 13408 :post-blank 0 :post-affiliated 13330 :mode nil :granularity nil :parent #87) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #93))))) (headline (:raw-value "Install GN2" :begin 13409 :end 13801 :pre-blank 1 :contents-begin 13425 :contents-end 13801 :robust-begin 13427 :robust-end 13799 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 13409 :title (#("Install GN2" 0 11 (:parent #85))) :mode nil :granularity nil :parent #80) (section (:begin 13425 :end 13801 :contents-begin 13425 :contents-end 13801 :robust-begin 13425 :robust-end 13799 :post-blank 0 :post-affiliated 13425 :mode section :granularity nil :parent #85) (paragraph (:begin 13425 :end 13468 :contents-begin 13425 :contents-end 13467 :post-blank 1 :post-affiliated 13425 :mode planning :granularity nil :parent #88) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #91))) (paragraph (:begin 13468 :end 13676 :contents-begin 13468 :contents-end 13675 :post-blank 1 :post-affiliated 13468 :mode nil :granularity nil :parent #88) #("#+begin" 0 7 (:parent #92)) (subscript (:begin 13475 :end 13480 :use-brackets-p nil :contents-begin 13476 :contents-end 13479 :post-blank 1 :parent #92) #("src" 0 3 (:parent #96))) #("bash\nenv GUIX" 0 13 (:parent #92)) (subscript (:begin 13493 :end 13501 :use-brackets-p nil :contents-begin 13494 :contents-end 13501 :post-blank 0 :parent #92) #("PACKAGE" 0 7 (:parent #98))) (subscript (:begin 13501 :end 13506 :use-brackets-p nil :contents-begin 13502 :contents-end 13506 :post-blank 0 :parent #92) #("PATH" 0 4 (:parent #99))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #92)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 13605 :end 13633 :contents-begin nil :contents-end nil :post-blank 1 :parent #92)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 13633 :end 13658 :contents-begin nil :contents-end nil :post-blank 0 :parent #92)) #("\"\n#+end" 0 7 (:parent #92)) (subscript (:begin 13665 :end 13670 :use-brackets-p nil :contents-begin 13666 :contents-end 13669 :post-blank 1 :parent #92) #("src" 0 3 (:parent #104))) #("bash\n" 0 5 (:parent #92))) (paragraph (:begin 13676 :end 13714 :contents-begin 13676 :contents-end 13713 :post-blank 1 :post-affiliated 13676 :mode nil :granularity nil :parent #88) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #93))) (paragraph (:begin 13714 :end 13801 :contents-begin 13714 :contents-end 13801 :post-blank 0 :post-affiliated 13714 :mode nil :granularity nil :parent #88) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #94)))))))) #0)) (plain-list (:type unordered :begin 121 :end 1403 :contents-begin 121 :contents-end 1403 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 121 :mode planning :granularity nil :parent #0) (item (:bullet "- " :begin 121 :end 156 :contents-begin 124 :contents-end 156 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 121 :tag nil :mode item :granularity nil :parent #3) (paragraph (:begin 124 :end 156 :contents-begin 124 :contents-end 156 :post-blank 0 :post-affiliated 124 :mode nil :granularity nil :parent #6) (link (:type "custom-id" :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil :begin 124 :end 155 :contents-begin 141 :contents-end 153 :post-blank 0 :parent #9) #("Introduction" 0 12 (:parent #12))) #("\n" 0 1 (:parent #9)))) (item (:bullet "- " :begin 156 :end 521 :contents-begin 159 :contents-end 521 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 156 :tag nil :mode item :granularity nil :parent #3) (paragraph (:begin 159 :end 217 :contents-begin 159 :contents-end 217 :post-blank 0 :post-affiliated 159 :mode nil :granularity nil :parent #7) (link (:type "custom-id" :path "quick-installation-recipe" :format bracket :raw-link "#quick-installation-recipe" :application nil :search-option nil :begin 159 :end 216 :contents-begin 189 :contents-end 214 :post-blank 0 :parent #10) #("Quick installation recipe" 0 25 (:parent #13))) #("\n" 0 1 (:parent #10))) (plain-list (:type unordered :begin 217 :end 521 :contents-begin 217 :contents-end 521 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 217 :mode nil :granularity nil :parent #7) (item (:bullet "- " :begin 217 :end 277 :contents-begin 222 :contents-end 277 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 217 :tag nil :mode item :granularity nil :parent #11) (paragraph (:begin 222 :end 277 :contents-begin 222 :contents-end 277 :post-blank 0 :post-affiliated 222 :mode nil :granularity nil :parent #14) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 222 :end 276 :contents-begin 250 :contents-end 274 :post-blank 0 :parent #17) #("Step 1: Install GNU Guix" 0 24 (:parent #20))) #("\n" 0 1 (:parent #17)))) (item (:bullet "- " :begin 277 :end 371 :contents-begin 282 :contents-end 371 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 277 :tag nil :mode item :granularity nil :parent #11) (paragraph (:begin 282 :end 371 :contents-begin 282 :contents-end 371 :post-blank 0 :post-affiliated 282 :mode nil :granularity nil :parent #15) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 282 :end 370 :contents-begin 327 :contents-end 368 :post-blank 0 :parent #18) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #21))) #("\n" 0 1 (:parent #18)))) (item (:bullet "- " :begin 371 :end 455 :contents-begin 376 :contents-end 455 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 371 :tag nil :mode item :granularity nil :parent #11) (paragraph (:begin 376 :end 455 :contents-begin 376 :contents-end 455 :post-blank 0 :post-affiliated 376 :mode nil :granularity nil :parent #16) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 376 :end 454 :contents-begin 416 :contents-end 452 :post-blank 0 :parent #19) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #22))) #("\n" 0 1 (:parent #19)))) (item (:bullet "- " :begin 455 :end 521 :contents-begin 460 :contents-end 521 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 455 :tag nil :mode item :granularity nil :parent #11) (paragraph (:begin 460 :end 521 :contents-begin 460 :contents-end 521 :post-blank 0 :post-affiliated 460 :mode nil :granularity nil :parent #17) (link (:type "custom-id" :path "step-4-install-and-run-gn2" :format bracket :raw-link "#step-4-install-and-run-gn2" :application nil :search-option nil :begin 460 :end 520 :contents-begin 491 :contents-end 518 :post-blank 0 :parent #20) #("Step 4: Install and run GN2" 0 27 (:parent #23))) #("\n" 0 1 (:parent #20)))))) (item (:bullet "- " :begin 521 :end 564 :contents-begin 524 :contents-end 564 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 521 :tag nil :mode item :granularity nil :parent #3) (paragraph (:begin 524 :end 564 :contents-begin 524 :contents-end 564 :post-blank 0 :post-affiliated 524 :mode nil :granularity nil :parent #8) (link (:type "custom-id" :path "run-mysql-server" :format bracket :raw-link "#run-mysql-server" :application nil :search-option nil :begin 524 :end 563 :contents-begin 545 :contents-end 561 :post-blank 0 :parent #11) #("Run MySQL server" 0 16 (:parent #14))) #("\n" 0 1 (:parent #11)))) (item (:bullet "- " :begin 564 :end 615 :contents-begin 567 :contents-end 615 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 564 :tag nil :mode item :granularity nil :parent #3) (paragraph (:begin 567 :end 615 :contents-begin 567 :contents-end 615 :post-blank 0 :post-affiliated 567 :mode nil :granularity nil :parent #9) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 567 :end 614 :contents-begin 592 :contents-end 612 :post-blank 0 :parent #12) #("GN2 Dependency Graph" 0 20 (:parent #15))) #("\n" 0 1 (:parent #12)))) (item (:bullet "- " :begin 615 :end 790 :contents-begin 618 :contents-end 790 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 615 :tag nil :mode item :granularity nil :parent #3) (paragraph (:begin 618 :end 660 :contents-begin 618 :contents-end 660 :post-blank 0 :post-affiliated 618 :mode nil :granularity nil :parent #10) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 618 :end 659 :contents-begin 640 :contents-end 657 :post-blank 0 :parent #13) #("Source deployment" 0 17 (:parent #16))) #("\n" 0 1 (:parent #13))) (plain-list (:type unordered :begin 660 :end 790 :contents-begin 660 :contents-end 790 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 660 :mode nil :granularity nil :parent #10) (item (:bullet "- " :begin 660 :end 721 :contents-begin 665 :contents-end 721 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 660 :tag nil :mode item :granularity nil :parent #14) (paragraph (:begin 665 :end 721 :contents-begin 665 :contents-end 721 :post-blank 0 :post-affiliated 665 :mode nil :granularity nil :parent #17) (link (:type "custom-id" :path "run-your-own-copy-of-gn2" :format bracket :raw-link "#run-your-own-copy-of-gn2" :application nil :search-option nil :begin 665 :end 720 :contents-begin 694 :contents-end 718 :post-blank 0 :parent #20) #("Run your own copy of GN2" 0 24 (:parent #23))) #("\n" 0 1 (:parent #20)))) (item (:bullet "- " :begin 721 :end 790 :contents-begin 726 :contents-end 790 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 721 :tag nil :mode item :granularity nil :parent #14) (paragraph (:begin 726 :end 790 :contents-begin 726 :contents-end 790 :post-blank 0 :post-affiliated 726 :mode nil :granularity nil :parent #18) (link (:type "custom-id" :path "set-up-nginx-port-forwarding" :format bracket :raw-link "#set-up-nginx-port-forwarding" :application nil :search-option nil :begin 726 :end 789 :contents-begin 759 :contents-end 787 :post-blank 0 :parent #21) #("Set up nginx port forwarding" 0 28 (:parent #24))) #("\n" 0 1 (:parent #21)))))) (item (:bullet "- " :begin 790 :end 1034 :contents-begin 793 :contents-end 1034 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 790 :tag nil :mode item :granularity nil :parent #3) (paragraph (:begin 793 :end 917 :contents-begin 793 :contents-end 917 :post-blank 0 :post-affiliated 793 :mode nil :granularity nil :parent #11) (link (:type "custom-id" :path "source-deployment-and-other-information-on-reproducibility" :format bracket :raw-link "#source-deployment-and-other-information-on-reproducibility" :application nil :search-option nil :begin 793 :end 916 :contents-begin 856 :contents-end 914 :post-blank 0 :parent #14) #("Source deployment and other information on reproducibility" 0 58 (:parent #17))) #("\n" 0 1 (:parent #14))) (plain-list (:type unordered :begin 917 :end 1034 :contents-begin 917 :contents-end 1034 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 917 :mode nil :granularity nil :parent #11) (item (:bullet "- " :begin 917 :end 972 :contents-begin 922 :contents-end 972 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 917 :tag nil :mode item :granularity nil :parent #15) (paragraph (:begin 922 :end 972 :contents-begin 922 :contents-end 972 :post-blank 0 :post-affiliated 922 :mode nil :granularity nil :parent #18) (link (:type "custom-id" :path "update-to-recent-guix" :format bracket :raw-link "#update-to-recent-guix" :application nil :search-option nil :begin 922 :end 971 :contents-begin 948 :contents-end 969 :post-blank 0 :parent #21) #("Update to recent guix" 0 21 (:parent #24))) #("\n" 0 1 (:parent #21)))) (item (:bullet "- " :begin 972 :end 1007 :contents-begin 977 :contents-end 1007 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 972 :tag nil :mode item :granularity nil :parent #15) (paragraph (:begin 977 :end 1007 :contents-begin 977 :contents-end 1007 :post-blank 0 :post-affiliated 977 :mode nil :granularity nil :parent #19) (link (:type "custom-id" :path "install-gn2" :format bracket :raw-link "#install-gn2" :application nil :search-option nil :begin 977 :end 1006 :contents-begin 993 :contents-end 1004 :post-blank 0 :parent #22) #("Install GN2" 0 11 (:parent #25))) #("\n" 0 1 (:parent #22)))) (item (:bullet "- " :begin 1007 :end 1034 :contents-begin 1012 :contents-end 1034 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1007 :tag nil :mode item :granularity nil :parent #15) (paragraph (:begin 1012 :end 1034 :contents-begin 1012 :contents-end 1034 :post-blank 0 :post-affiliated 1012 :mode nil :granularity nil :parent #20) (link (:type "custom-id" :path "run-gn2" :format bracket :raw-link "#run-gn2" :application nil :search-option nil :begin 1012 :end 1033 :contents-begin 1024 :contents-end 1031 :post-blank 0 :parent #23) #("Run GN2" 0 7 (:parent #26))) #("\n" 0 1 (:parent #23)))))) (item (:bullet "- " :begin 1034 :end 1370 :contents-begin 1037 :contents-end 1370 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1034 :tag nil :mode item :granularity nil :parent #3) (paragraph (:begin 1037 :end 1077 :contents-begin 1037 :contents-end 1077 :post-blank 0 :post-affiliated 1037 :mode nil :granularity nil :parent #12) (link (:type "custom-id" :path "trouble-shooting" :format bracket :raw-link "#trouble-shooting" :application nil :search-option nil :begin 1037 :end 1076 :contents-begin 1058 :contents-end 1074 :post-blank 0 :parent #15) #("Trouble shooting" 0 16 (:parent #18))) #("\n" 0 1 (:parent #15))) (plain-list (:type unordered :begin 1077 :end 1370 :contents-begin 1077 :contents-end 1370 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 1077 :mode nil :granularity nil :parent #12) (item (:bullet "- " :begin 1077 :end 1159 :contents-begin 1082 :contents-end 1159 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1077 :tag nil :mode item :granularity nil :parent #16) (paragraph (:begin 1082 :end 1159 :contents-begin 1082 :contents-end 1159 :post-blank 0 :post-affiliated 1082 :mode nil :granularity nil :parent #19) (link (:type "custom-id" :path "importerror-no-module-named-jinja2" :format bracket :raw-link "#importerror-no-module-named-jinja2" :application nil :search-option nil :begin 1082 :end 1158 :contents-begin 1121 :contents-end 1156 :post-blank 0 :parent #22) #("ImportError: No module named jinja2" 0 35 (:parent #25))) #("\n" 0 1 (:parent #22)))) (item (:bullet "- " :begin 1159 :end 1257 :contents-begin 1164 :contents-end 1257 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1159 :tag nil :mode item :granularity nil :parent #16) (paragraph (:begin 1164 :end 1257 :contents-begin 1164 :contents-end 1257 :post-blank 0 :post-affiliated 1164 :mode nil :granularity nil :parent #20) (link (:type "custom-id" :path "error-can-not-find-directory-homegn2_data" :format bracket :raw-link "#error-can-not-find-directory-homegn2_data" :application nil :search-option nil :begin 1164 :end 1256 :contents-begin 1210 :contents-end 1254 :post-blank 0 :parent #23) #("ERROR: can not find directory $HOME/gn2" 0 39 (:parent #26)) (subscript (:begin 1249 :end 1254 :use-brackets-p nil :contents-begin 1250 :contents-end 1254 :post-blank 0 :parent #26) #("data" 0 4 (:parent #30)))) #("\n" 0 1 (:parent #23)))) (item (:bullet "- " :begin 1257 :end 1305 :contents-begin 1262 :contents-end 1305 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1257 :tag nil :mode item :granularity nil :parent #16) (paragraph (:begin 1262 :end 1305 :contents-begin 1262 :contents-end 1305 :post-blank 0 :post-affiliated 1262 :mode nil :granularity nil :parent #21) (link (:type "custom-id" :path "cant-run-a-module" :format bracket :raw-link "#cant-run-a-module" :application nil :search-option nil :begin 1262 :end 1304 :contents-begin 1284 :contents-end 1302 :post-blank 0 :parent #24) #("Can't run a module" 0 18 (:parent #27))) #("\n" 0 1 (:parent #24)))) (item (:bullet "- " :begin 1305 :end 1370 :contents-begin 1310 :contents-end 1370 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1305 :tag nil :mode item :granularity nil :parent #16) (paragraph (:begin 1310 :end 1370 :contents-begin 1310 :contents-end 1370 :post-blank 0 :post-affiliated 1310 :mode nil :granularity nil :parent #22) (link (:type "custom-id" :path "rpy2-error-show-now-found" :format bracket :raw-link "#rpy2-error-show-now-found" :application nil :search-option nil :begin 1310 :end 1369 :contents-begin 1340 :contents-end 1367 :post-blank 0 :parent #25) #("Rpy2 error 'show' now found" 0 27 (:parent #28))) #("\n" 0 1 (:parent #25)))))) (item (:bullet "- " :begin 1370 :end 1403 :contents-begin 1373 :contents-end 1403 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1370 :tag nil :mode item :granularity nil :parent #3) (paragraph (:begin 1373 :end 1403 :contents-begin 1373 :contents-end 1403 :post-blank 0 :post-affiliated 1373 :mode nil :granularity nil :parent #13) (link (:type "custom-id" :path "irc-session" :format bracket :raw-link "#irc-session" :application nil :search-option nil :begin 1373 :end 1402 :contents-begin 1389 :contents-end 1400 :post-blank 0 :parent #16) #("IRC session" 0 11 (:parent #19))) #("\n" 0 1 (:parent #16))))))) mapconcat(#f(compiled-function (element) #) ((section (:begin 121 :end 1404 :contents-begin 121 :contents-end 1403 :robust-begin 121 :robust-end 1401 :post-blank 1 :post-affiliated 121 :mode section :granularity nil :parent (headline (:raw-value "Table of Contents" :begin 43 :end 1404 :pre-blank 0 :contents-begin 121 :contents-end 1403 :robust-begin 123 :robust-end 1401 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 43 :title (#("Table of Contents" 0 17 (:parent #25))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13801 :end 13801 :robust-begin 3 :robust-end 13799 :post-blank 0 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 43 :contents-begin 1 :contents-end 42 :robust-begin 1 :robust-end 40 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #71) (keyword (:key "TITLE" :value "Installing GeneNetwork services" :begin 1 :end 42 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #74))) #25 (headline (:raw-value "Introduction" :begin 1404 :end 2450 :pre-blank 1 :contents-begin 1420 :contents-end 2449 :robust-begin 1422 :robust-end 2447 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1404 :title (#("Introduction" 0 12 (:parent #76))) :mode nil :granularity nil :parent #71) (section (:begin 1420 :end 2450 :contents-begin 1420 :contents-end 2449 :robust-begin 1420 :robust-end 2447 :post-blank 1 :post-affiliated 1420 :mode section :granularity nil :parent #76) (paragraph (:begin 1420 :end 1557 :contents-begin 1420 :contents-end 1556 :post-blank 1 :post-affiliated 1420 :mode planning :granularity nil :parent #79) #("If you want to understand the architecture of GN2 read\n" 0 55 (:parent #82)) (link (:type "fuzzy" :path "Architecture.org" :format bracket :raw-link "Architecture.org" :application nil :search-option nil :begin 1475 :end 1495 :contents-begin nil :contents-end nil :post-blank 0 :parent #82)) #(". The rest of this document is mostly on deployment\nof GN2.\n" 0 61 (:parent #82))) (paragraph (:begin 1557 :end 1943 :contents-begin 1557 :contents-end 1942 :post-blank 1 :post-affiliated 1557 :mode nil :granularity nil :parent #79) #("Large system deployments can get very " 0 38 (:parent #83)) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg " :format bracket :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg " :application nil :search-option nil :begin 1595 :end 1656 :contents-begin 1647 :contents-end 1654 :post-blank 0 :parent #83) #("complex" 0 7 (:parent #87))) #(". In this document we\nexplain the GeneNetwork version 2 (GN2) reproducible deployment system\nwhich is based on GNU Guix (see also " 0 130 (:parent #83)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1786 :end 1860 :contents-begin 1848 :contents-end 1858 :post-blank 0 :parent #83) #("Guix-notes" 0 10 (:parent #89))) #("). The Guix\nsystem can be used to install GN with all its files and dependencies.\n" 0 82 (:parent #83))) (paragraph (:begin 1943 :end 2328 :contents-begin 1943 :contents-end 2327 :post-blank 1 :post-affiliated 1943 :mode nil :granularity nil :parent #79) #("The official installation path is from a checked out version of the\nmain Guix package tree and that of the Genenetwork package\ntree. Current supported versions can be found as the SHA values of\n'gn-latest' branches of " 0 218 (:parent #84)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :application nil :search-option nil :begin 2161 :end 2252 :contents-begin 2230 :contents-end 2249 :post-blank 1 :parent #84) #("Guix bioinformatics" 0 19 (:parent #88))) #("and " 0 4 (:parent #84)) (link (:type "https" :path "//github.com/genenetwork/guix/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix/tree/gn-latest" :application nil :search-option nil :begin 2256 :end 2325 :contents-begin 2310 :contents-end 2323 :post-blank 0 :parent #84) #("GNU Guix main" 0 13 (:parent #90))) #(".\n" 0 2 (:parent #84))) (paragraph (:begin 2328 :end 2449 :contents-begin 2328 :contents-end 2449 :post-blank 0 :post-affiliated 2328 :mode nil :granularity nil :parent #79) #("For a full view of runtime dependencies as defined by GNU Guix, see\nthe " 0 72 (:parent #85)) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 2400 :end 2447 :contents-begin 2425 :contents-end 2445 :post-blank 0 :parent #85) #("GN2 Dependency Graph" 0 20 (:parent #89))) #(".\n" 0 2 (:parent #85))))) (headline (:raw-value "Quick installation recipe" :begin 2450 :end 7633 :pre-blank 1 :contents-begin 2479 :contents-end 7632 :robust-begin 2481 :robust-end 7630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 2450 :title (#("Quick installation recipe" 0 25 (:parent #77))) :mode nil :granularity nil :parent #71) (section (:begin 2479 :end 3022 :contents-begin 2479 :contents-end 3021 :robust-begin 2479 :robust-end 3019 :post-blank 1 :post-affiliated 2479 :mode section :granularity nil :parent #77) (paragraph (:begin 2479 :end 2880 :contents-begin 2479 :contents-end 2879 :post-blank 1 :post-affiliated 2479 :mode planning :granularity nil :parent #80) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS). For more elaborate installation\ninstructions see " 0 357 (:parent #83)) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 2836 :end 2877 :contents-begin 2858 :contents-end 2875 :post-blank 0 :parent #83) #("Source deployment" 0 17 (:parent #87))) #(".\n" 0 2 (:parent #83))) (paragraph (:begin 2880 :end 3021 :contents-begin 2880 :contents-end 3021 :post-blank 0 :post-affiliated 2880 :mode nil :granularity nil :parent #80) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #84)))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 3022 :end 4649 :pre-blank 1 :contents-begin 3051 :contents-end 4648 :robust-begin 3053 :robust-end 4646 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3022 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #81))) :mode nil :granularity nil :parent #77) (section (:begin 3051 :end 4649 :contents-begin 3051 :contents-end 4648 :robust-begin 3051 :robust-end 4646 :post-blank 1 :post-affiliated 3051 :mode section :granularity nil :parent #81) (paragraph (:begin 3051 :end 3504 :contents-begin 3051 :contents-end 3503 :post-blank 1 :post-affiliated 3051 :mode planning :granularity nil :parent #84) #("Fetch the GNU Guix binary from " 0 31 (:parent #87)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 3082 :end 3136 :contents-begin 3129 :contents-end 3133 :post-blank 1 :parent #87) #("here" 0 4 (:parent #91))) #("(middle panel) and follow\n" 0 26 (:parent #87)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 3162 :end 3255 :contents-begin 3241 :contents-end 3253 :post-blank 0 :parent #87) #("instructions" 0 12 (:parent #93))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #87))) (paragraph (:begin 3504 :end 3782 :contents-begin 3504 :contents-end 3781 :post-blank 1 :post-affiliated 3504 :mode nil :granularity nil :parent #84) #("Once you have succeeded, you have to " 0 37 (:parent #88)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 3541 :end 3631 :contents-begin 3617 :contents-end 3628 :post-blank 1 :parent #88) #("set the key" 0 11 (:parent #92))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #88))) (src-block (:language "bash" :switches nil :parameters nil :begin 3782 :end 3890 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 3782 :mode nil :granularity nil :parent #84)) (paragraph (:begin 3890 :end 3924 :contents-begin 3890 :contents-end 3923 :post-blank 1 :post-affiliated 3890 :mode nil :granularity nil :parent #84) #("Which should show something like\n" 0 33 (:parent #90))) (fixed-width (:begin 3924 :end 4034 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 3924 :mode nil :granularity nil :parent #84)) (paragraph (:begin 4034 :end 4045 :contents-begin 4034 :contents-end 4044 :post-blank 1 :post-affiliated 4034 :mode nil :granularity nil :parent #84) #("#+end" 0 5 (:parent #92)) (subscript (:begin 4039 :end 4043 :use-brackets-p nil :contents-begin 4040 :contents-end 4043 :post-blank 0 :parent #92) #("src" 0 3 (:parent #96))) #("\n" 0 1 (:parent #92))) (paragraph (:begin 4045 :end 4116 :contents-begin 4045 :contents-end 4115 :post-blank 1 :post-affiliated 4045 :mode nil :granularity nil :parent #84) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #93))) (src-block (:language "bash" :switches nil :parameters nil :begin 4116 :end 4188 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 4116 :mode nil :granularity nil :parent #84)) (paragraph (:begin 4188 :end 4375 :contents-begin 4188 :contents-end 4374 :post-blank 1 :post-affiliated 4188 :mode nil :granularity nil :parent #84) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #95))) (paragraph (:begin 4375 :end 4648 :contents-begin 4375 :contents-end 4648 :post-blank 0 :post-affiliated 4375 :mode nil :granularity nil :parent #84) #("If you need more help we have another writeup in " 0 49 (:parent #96)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 4424 :end 4520 :contents-begin 4508 :contents-end 4518 :post-blank 0 :parent #96) #("guix-notes" 0 10 (:parent #100))) #(". To get\nrid of the locale warning see " 0 39 (:parent #96)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 4559 :end 4646 :contents-begin 4634 :contents-end 4644 :post-blank 0 :parent #96) #("set-locale" 0 10 (:parent #102))) #(".\n" 0 2 (:parent #96))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 4649 :end 5304 :pre-blank 1 :contents-begin 4695 :contents-end 5302 :robust-begin 4697 :robust-end 5300 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4649 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #82))) :mode nil :granularity nil :parent #77) (section (:begin 4695 :end 5304 :contents-begin 4695 :contents-end 5302 :robust-begin 4695 :robust-end 5300 :post-blank 2 :post-affiliated 4695 :mode section :granularity nil :parent #82) (paragraph (:begin 4695 :end 4815 :contents-begin 4695 :contents-end 4814 :post-blank 1 :post-affiliated 4695 :mode planning :granularity nil :parent #85) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #88))) (src-block (:language "bash" :switches nil :parameters nil :begin 4815 :end 4920 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 4815 :mode nil :granularity nil :parent #85)) (paragraph (:begin 4920 :end 4971 :contents-begin 4920 :contents-end 4970 :post-blank 1 :post-affiliated 4920 :mode nil :granularity nil :parent #85) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #90))) (paragraph (:begin 4971 :end 5232 :contents-begin 4971 :contents-end 5231 :post-blank 1 :post-affiliated 4971 :mode nil :granularity nil :parent #85) #("#+begin" 0 7 (:parent #91)) (subscript (:begin 4978 :end 4983 :use-brackets-p nil :contents-begin 4979 :contents-end 4982 :post-blank 1 :parent #91) #("src" 0 3 (:parent #95))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #91)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 5055 :end 5105 :contents-begin nil :contents-end nil :post-blank 0 :parent #91)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #91)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 5147 :end 5183 :contents-begin nil :contents-end nil :post-blank 1 :parent #91)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #91)) (subscript (:begin 5221 :end 5226 :use-brackets-p nil :contents-begin 5222 :contents-end 5225 :post-blank 1 :parent #91) #("src" 0 3 (:parent #101))) #("bash\n" 0 5 (:parent #91))) (paragraph (:begin 5232 :end 5270 :contents-begin 5232 :contents-end 5269 :post-blank 1 :post-affiliated 5232 :mode nil :granularity nil :parent #85) #("To test whether this is working try:\n" 0 37 (:parent #92))) (paragraph (:begin 5270 :end 5302 :contents-begin 5270 :contents-end 5302 :post-blank 0 :post-affiliated 5270 :mode nil :granularity nil :parent #85) #("#+begin" 0 7 (:parent #93)) (subscript (:begin 5277 :end 5282 :use-brackets-p nil :contents-begin 5278 :contents-end 5281 :post-blank 1 :parent #93) #("src" 0 3 (:parent #97))) #("bash\n#+end" 0 10 (:parent #93)) (subscript (:begin 5292 :end 5297 :use-brackets-p nil :contents-begin 5293 :contents-end 5296 :post-blank 1 :parent #93) #("src" 0 3 (:parent #99))) #("bash\n" 0 5 (:parent #93))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 5304 :end 5755 :pre-blank 1 :contents-begin 5345 :contents-end 5754 :robust-begin 5347 :robust-end 5752 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5304 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #83))) :mode nil :granularity nil :parent #77) (section (:begin 5345 :end 5755 :contents-begin 5345 :contents-end 5754 :robust-begin 5345 :robust-end 5752 :post-blank 1 :post-affiliated 5345 :mode section :granularity nil :parent #83) (paragraph (:begin 5345 :end 5445 :contents-begin 5345 :contents-end 5444 :post-blank 1 :post-affiliated 5345 :mode planning :granularity nil :parent #86) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #89))) (src-block (:language "scheme" :switches nil :parameters nil :begin 5445 :end 5589 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 5445 :mode nil :granularity nil :parent #86)) (paragraph (:begin 5589 :end 5621 :contents-begin 5589 :contents-end 5620 :post-blank 1 :post-affiliated 5589 :mode nil :granularity nil :parent #86) #("by pasting it into the command\n" 0 31 (:parent #91))) (src-block (:language "bash" :switches nil :parameters nil :begin 5621 :end 5674 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 5621 :mode nil :granularity nil :parent #86)) (paragraph (:begin 5674 :end 5691 :contents-begin 5674 :contents-end 5690 :post-blank 1 :post-affiliated 5674 :mode nil :granularity nil :parent #86) #("and hit Ctrl-D.\n" 0 16 (:parent #93))) (paragraph (:begin 5691 :end 5754 :contents-begin 5691 :contents-end 5754 :post-blank 0 :post-affiliated 5691 :mode nil :granularity nil :parent #86) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #94))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 5755 :end 7633 :pre-blank 1 :contents-begin 5787 :contents-end 7632 :robust-begin 5789 :robust-end 7630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5755 :title (#("Step 4: Install and run GN2" 0 27 (:parent #84))) :mode nil :granularity nil :parent #77) (section (:begin 5787 :end 7633 :contents-begin 5787 :contents-end 7632 :robust-begin 5787 :robust-end 7630 :post-blank 1 :post-affiliated 5787 :mode section :granularity nil :parent #84) (paragraph (:begin 5787 :end 5927 :contents-begin 5787 :contents-end 5926 :post-blank 1 :post-affiliated 5787 :mode planning :granularity nil :parent #87) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #90))) (src-block (:language "bash" :switches nil :parameters nil :begin 5927 :end 6046 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 5927 :mode nil :granularity nil :parent #87)) (paragraph (:begin 6046 :end 6099 :contents-begin 6046 :contents-end 6098 :post-blank 1 :post-affiliated 6046 :mode nil :granularity nil :parent #87) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #92))) (src-block (:language "bash" :switches nil :parameters nil :begin 6099 :end 6289 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 6099 :mode nil :granularity nil :parent #87)) (paragraph (:begin 6289 :end 6398 :contents-begin 6289 :contents-end 6397 :post-blank 1 :post-affiliated 6289 :mode nil :granularity nil :parent #87) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #94)) (italic (:begin 6360 :end 6366 :post-blank 0 :contents-begin 6361 :contents-end 6365 :parent #94) #("root" 0 4 (:parent #98))) #(".config/guix/latest override).\n" 0 31 (:parent #94))) (paragraph (:begin 6398 :end 6416 :contents-begin 6398 :contents-end 6415 :post-blank 1 :post-affiliated 6398 :mode nil :granularity nil :parent #87) #("And install with\n" 0 17 (:parent #95))) (src-block (:language "bash" :switches nil :parameters nil :begin 6416 :end 6586 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 6416 :mode nil :granularity nil :parent #87)) (paragraph (:begin 6586 :end 6729 :contents-begin 6586 :contents-end 6728 :post-blank 1 :post-affiliated 6586 :mode nil :granularity nil :parent #87) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #97))) (paragraph (:begin 6729 :end 6925 :contents-begin 6729 :contents-end 6924 :post-blank 1 :post-affiliated 6729 :mode nil :granularity nil :parent #87) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #98))) (paragraph (:begin 6925 :end 7056 :contents-begin 6925 :contents-end 7055 :post-blank 1 :post-affiliated 6925 :mode nil :granularity nil :parent #87) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #99))) (src-block (:language "bash" :switches nil :parameters nil :begin 7056 :end 7235 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python2.7/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 7056 :mode nil :granularity nil :parent #87)) (paragraph (:begin 7235 :end 7304 :contents-begin 7235 :contents-end 7303 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #87) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #101))) (src-block (:language "bash" :switches nil :parameters nil :begin 7304 :end 7345 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 7304 :mode nil :granularity nil :parent #87)) (paragraph (:begin 7345 :end 7596 :contents-begin 7345 :contents-end 7595 :post-blank 1 :post-affiliated 7345 :mode nil :granularity nil :parent #87) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #103)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 7567 :end 7593 :contents-begin nil :contents-end nil :post-blank 0 :parent #103)) #(".\n" 0 2 (:parent #103))) (paragraph (:begin 7596 :end 7632 :contents-begin 7596 :contents-end 7632 :post-blank 0 :post-affiliated 7596 :mode nil :granularity nil :parent #87) #("End of the GN2 installation recipe!\n" 0 36 (:parent #104)))))) (headline (:raw-value "Run MySQL server" :begin 7633 :end 9008 :pre-blank 1 :contents-begin 7653 :contents-end 9007 :robust-begin 7655 :robust-end 9005 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7633 :title (#("Run MySQL server" 0 16 (:parent #78))) :mode nil :granularity nil :parent #71) (section (:begin 7653 :end 9008 :contents-begin 7653 :contents-end 9007 :robust-begin 7653 :robust-end 9005 :post-blank 1 :post-affiliated 7653 :mode section :granularity nil :parent #78) (paragraph (:begin 7653 :end 7928 :contents-begin 7653 :contents-end 7927 :post-blank 1 :post-affiliated 7653 :mode planning :granularity nil :parent #81) #("At this point we require the underlying distribution to install and\nrun mysqld. Currently we have two databases for deployment,\n'db" 0 131 (:parent #84)) (subscript (:begin 7784 :end 7791 :use-brackets-p nil :contents-begin 7785 :contents-end 7791 :post-blank 0 :parent #84) #("webqtl" 0 6 (:parent #88))) (subscript (:begin 7791 :end 7793 :use-brackets-p nil :contents-begin 7792 :contents-end 7793 :post-blank 0 :parent #84) #("s" 0 1 (:parent #89))) #("' is the small testing database containing experiments\nfrom BXD mice and 'db" 0 76 (:parent #84)) (subscript (:begin 7869 :end 7876 :use-brackets-p nil :contents-begin 7870 :contents-end 7876 :post-blank 0 :parent #84) #("webqtl" 0 6 (:parent #91))) (subscript (:begin 7876 :end 7882 :use-brackets-p nil :contents-begin 7877 :contents-end 7882 :post-blank 0 :parent #84) #("plant" 0 5 (:parent #92))) #("' which contains all plant related\nmaterial.\n" 0 45 (:parent #84))) (paragraph (:begin 7928 :end 7956 :contents-begin 7928 :contents-end 7955 :post-blank 1 :post-affiliated 7928 :mode nil :granularity nil :parent #81) #("Download one database from\n" 0 27 (:parent #85))) (paragraph (:begin 7956 :end 8054 :contents-begin 7956 :contents-end 8053 :post-blank 1 :post-affiliated 7956 :mode nil :granularity nil :parent #81) (link (:type "http" :path "//files.genenetwork.org/raw_database/" :format plain :raw-link "http://files.genenetwork.org/raw_database/" :application nil :search-option nil :begin 7956 :end 7998 :contents-begin nil :contents-end nil :post-blank 0 :parent #86)) #("\n" 0 1 (:parent #86)) (link (:type "https" :path "//s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :format plain :raw-link "https://s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :application nil :search-option nil :begin 7999 :end 8052 :contents-begin nil :contents-end nil :post-blank 0 :parent #86)) #("\n" 0 1 (:parent #86))) (paragraph (:begin 8054 :end 8073 :contents-begin 8054 :contents-end 8072 :post-blank 1 :post-affiliated 8054 :mode nil :granularity nil :parent #81) #("Check the md5sum.\n" 0 18 (:parent #87))) (paragraph (:begin 8073 :end 8195 :contents-begin 8073 :contents-end 8194 :post-blank 1 :post-affiliated 8073 :mode nil :granularity nil :parent #81) #("After installation inflate the database binary in the MySQL directory\n(this installation path is subject to change soon)\n" 0 121 (:parent #88))) (fixed-width (:begin 8195 :end 8283 :value "chown -R mysql:mysql db_webqtl_s/\nchmod 700 db_webqtl_s/\nchmod 660 db_webqtl_s/*" :post-blank 2 :post-affiliated 8195 :mode nil :granularity nil :parent #81)) (paragraph (:begin 8283 :end 8334 :contents-begin 8283 :contents-end 8333 :post-blank 1 :post-affiliated 8283 :mode nil :granularity nil :parent #81) #("restart MySQL service (mysqld). Login as root and\n" 0 50 (:parent #90))) (fixed-width (:begin 8334 :end 8560 :value "mysql> show databases;\n+--------------------+\n| Database |\n+--------------------+\n| information_schema |\n| db_webqtl_s |\n| mysql |\n| performance_schema |\n+--------------------+" :post-blank 2 :post-affiliated 8334 :mode nil :granularity nil :parent #81)) (paragraph (:begin 8560 :end 8625 :contents-begin 8560 :contents-end 8624 :post-blank 1 :post-affiliated 8560 :mode nil :granularity nil :parent #81) #("Set permissions and match password in your settings file below:\n" 0 64 (:parent #92))) (fixed-width (:begin 8625 :end 8724 :value "mysql> grant all privileges on db_webqtl_s.* to gn2@\"localhost\" identified by 'mysql_password';" :post-blank 2 :post-affiliated 8625 :mode nil :granularity nil :parent #81)) (paragraph (:begin 8724 :end 8875 :contents-begin 8724 :contents-end 8874 :post-blank 1 :post-affiliated 8724 :mode nil :granularity nil :parent #81) #("Note that if the mysql connection is not working, try connecting to\nthe IP address and check server firewall, hosts.allow and mysql IP\nconfiguration.\n" 0 150 (:parent #94))) (paragraph (:begin 8875 :end 9007 :contents-begin 8875 :contents-end 9007 :post-blank 0 :post-affiliated 8875 :mode nil :granularity nil :parent #81) #("Note for the plant database you can rename it to db" 0 51 (:parent #95)) (subscript (:begin 8926 :end 8933 :use-brackets-p nil :contents-begin 8927 :contents-end 8933 :post-blank 0 :parent #95) #("webqtl" 0 6 (:parent #99))) (subscript (:begin 8933 :end 8935 :use-brackets-p nil :contents-begin 8934 :contents-end 8935 :post-blank 0 :parent #95) #("s" 0 1 (:parent #100))) #(", or\nchange the settings in etc/default" 0 39 (:parent #95)) (subscript (:begin 8974 :end 8987 :use-brackets-p nil :contents-begin 8975 :contents-end 8986 :post-blank 1 :parent #95) #("settings.py" 0 11 (:parent #102))) #("to match your path.\n" 0 20 (:parent #95))))) (headline (:raw-value "GN2 Dependency Graph" :begin 9008 :end 9172 :pre-blank 1 :contents-begin 9032 :contents-end 9171 :robust-begin 9034 :robust-end 9169 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9008 :title (#("GN2 Dependency Graph" 0 20 (:parent #79))) :mode nil :granularity nil :parent #71) (section (:begin 9032 :end 9172 :contents-begin 9032 :contents-end 9171 :robust-begin 9032 :robust-end 9169 :post-blank 1 :post-affiliated 9032 :mode section :granularity nil :parent #79) (paragraph (:begin 9032 :end 9093 :contents-begin 9032 :contents-end 9092 :post-blank 1 :post-affiliated 9032 :mode planning :granularity nil :parent #82) #("Graph of all runtime dependencies as installed by GNU Guix.\n" 0 60 (:parent #85))) (paragraph (:begin 9093 :end 9171 :contents-begin 9123 :contents-end 9171 :post-blank 0 :post-affiliated 9123 :attr_html (":title GN2_graph") :mode nil :granularity nil :parent #82) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg" :format plain :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg" :application nil :search-option nil :begin 9123 :end 9170 :contents-begin nil :contents-end nil :post-blank 0 :parent #86)) #("\n" 0 1 (:parent #86))))) (headline (:raw-value "Source deployment" :begin 9172 :end 12840 :pre-blank 1 :contents-begin 9193 :contents-end 12839 :robust-begin 9195 :robust-end 12837 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9172 :title (#("Source deployment" 0 17 (:parent #80))) :mode nil :granularity nil :parent #71) (section (:begin 9193 :end 9612 :contents-begin 9193 :contents-end 9610 :robust-begin 9193 :robust-end 9608 :post-blank 2 :post-affiliated 9193 :mode section :granularity nil :parent #80) (paragraph (:begin 9193 :end 9274 :contents-begin 9193 :contents-end 9273 :post-blank 1 :post-affiliated 9193 :mode planning :granularity nil :parent #83) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #86))) (paragraph (:begin 9274 :end 9304 :contents-begin 9274 :contents-end 9303 :post-blank 1 :post-affiliated 9274 :mode nil :granularity nil :parent #83) #("First execute above 4 steps:\n" 0 29 (:parent #87))) (plain-list (:type unordered :begin 9304 :end 9610 :contents-begin 9304 :contents-end 9610 :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :post-blank 0 :post-affiliated 9304 :mode nil :granularity nil :parent #83) (item (:bullet "- " :begin 9304 :end 9364 :contents-begin 9309 :contents-end 9364 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9304 :tag nil :mode item :granularity nil :parent #88) (paragraph (:begin 9309 :end 9364 :contents-begin 9309 :contents-end 9364 :post-blank 0 :post-affiliated 9309 :mode nil :granularity nil :parent #91) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 9309 :end 9363 :contents-begin 9337 :contents-end 9361 :post-blank 0 :parent #94) #("Step 1: Install GNU Guix" 0 24 (:parent #97))) #("\n" 0 1 (:parent #94)))) (item (:bullet "- " :begin 9364 :end 9458 :contents-begin 9369 :contents-end 9458 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9364 :tag nil :mode item :granularity nil :parent #88) (paragraph (:begin 9369 :end 9458 :contents-begin 9369 :contents-end 9458 :post-blank 0 :post-affiliated 9369 :mode nil :granularity nil :parent #92) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 9369 :end 9457 :contents-begin 9414 :contents-end 9455 :post-blank 0 :parent #95) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #98))) #("\n" 0 1 (:parent #95)))) (item (:bullet "- " :begin 9458 :end 9542 :contents-begin 9463 :contents-end 9542 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9458 :tag nil :mode item :granularity nil :parent #88) (paragraph (:begin 9463 :end 9542 :contents-begin 9463 :contents-end 9542 :post-blank 0 :post-affiliated 9463 :mode nil :granularity nil :parent #93) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 9463 :end 9541 :contents-begin 9503 :contents-end 9539 :post-blank 0 :parent #96) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #99))) #("\n" 0 1 (:parent #96)))) (item (:bullet "- " :begin 9542 :end 9610 :contents-begin 9547 :contents-end 9610 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9542 :tag nil :mode item :granularity nil :parent #88) (paragraph (:begin 9547 :end 9610 :contents-begin 9547 :contents-end 9610 :post-blank 0 :post-affiliated 9547 :mode nil :granularity nil :parent #94) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 9547 :end 9609 :contents-begin 9579 :contents-end 9607 :post-blank 0 :parent #97) #("Step 4: Install and run GN2 " 0 28 (:parent #100))) #("\n" 0 1 (:parent #97)))))) (headline (:raw-value "Run your own copy of GN2" :begin 9612 :end 10722 :pre-blank 1 :contents-begin 9641 :contents-end 10721 :robust-begin 9643 :robust-end 10719 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9612 :title (#("Run your own copy of GN2" 0 24 (:parent #84))) :mode nil :granularity nil :parent #80) (section (:begin 9641 :end 10722 :contents-begin 9641 :contents-end 10721 :robust-begin 9641 :robust-end 10719 :post-blank 1 :post-affiliated 9641 :mode section :granularity nil :parent #84) (paragraph (:begin 9641 :end 9839 :contents-begin 9641 :contents-end 9838 :post-blank 1 :post-affiliated 9641 :mode planning :granularity nil :parent #87) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #90)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 9793 :end 9836 :contents-begin nil :contents-end nil :post-blank 0 :parent #90)) #(".\n" 0 2 (:parent #90))) (paragraph (:begin 9839 :end 9964 :contents-begin 9839 :contents-end 9963 :post-blank 1 :post-affiliated 9839 :mode nil :granularity nil :parent #87) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #91)) (subscript (:begin 9896 :end 9902 :use-brackets-p nil :contents-begin 9897 :contents-end 9901 :post-blank 1 :parent #91) #("PATH" 0 4 (:parent #95))) #("and\nR" 0 5 (:parent #91)) (subscript (:begin 9907 :end 9912 :use-brackets-p nil :contents-begin 9908 :contents-end 9912 :post-blank 0 :parent #91) #("LIBS" 0 4 (:parent #97))) (subscript (:begin 9912 :end 9918 :use-brackets-p nil :contents-begin 9913 :contents-end 9917 :post-blank 1 :parent #91) #("SITE" 0 4 (:parent #98))) #("are set) from the information given by guix:\n" 0 45 (:parent #91))) (fixed-width (:begin 9964 :end 9995 :value "guix package --search-paths" :post-blank 2 :post-affiliated 9964 :mode nil :granularity nil :parent #87)) (paragraph (:begin 9995 :end 10019 :contents-begin 9995 :contents-end 10018 :post-blank 1 :post-affiliated 9995 :mode nil :granularity nil :parent #87) #("Inside the repository:\n" 0 23 (:parent #93))) (fixed-width (:begin 10019 :end 10059 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 10019 :mode nil :granularity nil :parent #87)) (paragraph (:begin 10059 :end 10303 :contents-begin 10059 :contents-end 10302 :post-blank 1 :post-affiliated 10059 :mode nil :granularity nil :parent #87) #("Will fire up your local repo " 0 29 (:parent #95)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 10088 :end 10111 :contents-begin nil :contents-end nil :post-blank 1 :parent #95)) #("using the\nsettings in ./etc/default" 0 35 (:parent #95)) (subscript (:begin 10146 :end 10158 :use-brackets-p nil :contents-begin 10147 :contents-end 10158 :post-blank 0 :parent #95) #("settings.py" 0 11 (:parent #101))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #95)) (subscript (:begin 10263 :end 10276 :use-brackets-p nil :contents-begin 10264 :contents-end 10275 :post-blank 1 :parent #95) #("settings.py" 0 11 (:parent #103))) #("and pass it into GN2 with\n" 0 26 (:parent #95))) (fixed-width (:begin 10303 :end 10346 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 10303 :mode nil :granularity nil :parent #87)) (paragraph (:begin 10346 :end 10492 :contents-begin 10346 :contents-end 10491 :post-blank 1 :post-affiliated 10346 :mode nil :granularity nil :parent #87) #("and everything " 0 15 (:parent #97)) (bold (:begin 10361 :end 10370 :post-blank 1 :contents-begin 10362 :contents-end 10368 :parent #97) #("should" 0 6 (:parent #101))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #97))) (paragraph (:begin 10492 :end 10620 :contents-begin 10492 :contents-end 10619 :post-blank 1 :post-affiliated 10492 :mode nil :granularity nil :parent #87) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #98))) (fixed-width (:begin 10620 :end 10721 :value "cat ~/.guix-profile/lib/python2.7/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 10620 :mode nil :granularity nil :parent #87)))) (headline (:raw-value "Set up nginx port forwarding" :begin 10722 :end 12840 :pre-blank 1 :contents-begin 10755 :contents-end 12839 :robust-begin 10757 :robust-end 12837 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 10722 :title (#("Set up nginx port forwarding" 0 28 (:parent #85))) :mode nil :granularity nil :parent #80) (section (:begin 10755 :end 12840 :contents-begin 10755 :contents-end 12839 :robust-begin 10755 :robust-end 12837 :post-blank 1 :post-affiliated 10755 :mode section :granularity nil :parent #85) (paragraph (:begin 10755 :end 10923 :contents-begin 10755 :contents-end 10922 :post-blank 1 :post-affiliated 10755 :mode planning :granularity nil :parent #88) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #91))) (paragraph (:begin 10923 :end 11063 :contents-begin 10923 :contents-end 11062 :post-blank 1 :post-affiliated 10923 :mode nil :granularity nil :parent #88) #("#+begin" 0 7 (:parent #92)) (subscript (:begin 10930 :end 10935 :use-brackets-p nil :contents-begin 10931 :contents-end 10934 :post-blank 1 :parent #92) #("src" 0 3 (:parent #96))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #92)) (subscript (:begin 10984 :end 10990 :use-brackets-p nil :contents-begin 10985 :contents-end 10989 :post-blank 1 :parent #92) #("name" 0 4 (:parent #98))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #92)) (subscript (:begin 11030 :end 11036 :use-brackets-p nil :contents-begin 11031 :contents-end 11034 :post-blank 2 :parent #92) #("log" 0 3 (:parent #100))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #92))) (paragraph (:begin 11063 :end 11232 :contents-begin 11063 :contents-end 11231 :post-blank 1 :post-affiliated 11063 :mode nil :granularity nil :parent #88) #(" proxy" 0 13 (:parent #93)) (subscript (:begin 11076 :end 11084 :use-brackets-p nil :contents-begin 11077 :contents-end 11084 :post-blank 0 :parent #93) #("connect" 0 7 (:parent #97))) (subscript (:begin 11084 :end 11099 :use-brackets-p nil :contents-begin 11085 :contents-end 11092 :post-blank 7 :parent #93) #("timeout" 0 7 (:parent #98))) #("3000;\n proxy" 0 19 (:parent #93)) (subscript (:begin 11118 :end 11123 :use-brackets-p nil :contents-begin 11119 :contents-end 11123 :post-blank 0 :parent #93) #("send" 0 4 (:parent #100))) (subscript (:begin 11123 :end 11141 :use-brackets-p nil :contents-begin 11124 :contents-end 11131 :post-blank 10 :parent #93) #("timeout" 0 7 (:parent #101))) #("3000;\n proxy" 0 19 (:parent #93)) (subscript (:begin 11160 :end 11165 :use-brackets-p nil :contents-begin 11161 :contents-end 11165 :post-blank 0 :parent #93) #("read" 0 4 (:parent #103))) (subscript (:begin 11165 :end 11183 :use-brackets-p nil :contents-begin 11166 :contents-end 11173 :post-blank 10 :parent #93) #("timeout" 0 7 (:parent #104))) #("3000;\n send" 0 18 (:parent #93)) (subscript (:begin 11201 :end 11225 :use-brackets-p nil :contents-begin 11202 :contents-end 11209 :post-blank 16 :parent #93) #("timeout" 0 7 (:parent #106))) #("3000;\n" 0 6 (:parent #93))) (paragraph (:begin 11232 :end 11632 :contents-begin 11232 :contents-end 11631 :post-blank 1 :post-affiliated 11232 :mode nil :granularity nil :parent #88) #(" location / {\n proxy" 0 38 (:parent #94)) (subscript (:begin 11270 :end 11274 :use-brackets-p nil :contents-begin 11271 :contents-end 11274 :post-blank 0 :parent #94) #("set" 0 3 (:parent #98))) (subscript (:begin 11274 :end 11284 :use-brackets-p nil :contents-begin 11275 :contents-end 11281 :post-blank 3 :parent #94) #("header" 0 6 (:parent #99))) #("Host $http" 0 15 (:parent #94)) (subscript (:begin 11299 :end 11304 :use-brackets-p nil :contents-begin 11300 :contents-end 11304 :post-blank 0 :parent #94) #("host" 0 4 (:parent #101))) #(";\n proxy" 0 19 (:parent #94)) (subscript (:begin 11323 :end 11327 :use-brackets-p nil :contents-begin 11324 :contents-end 11327 :post-blank 0 :parent #94) #("set" 0 3 (:parent #103))) (subscript (:begin 11327 :end 11337 :use-brackets-p nil :contents-begin 11328 :contents-end 11334 :post-blank 3 :parent #94) #("header" 0 6 (:parent #104))) #("Connection keep-alive;\n proxy" 0 40 (:parent #94)) (subscript (:begin 11377 :end 11381 :use-brackets-p nil :contents-begin 11378 :contents-end 11381 :post-blank 0 :parent #94) #("set" 0 3 (:parent #106))) (subscript (:begin 11381 :end 11391 :use-brackets-p nil :contents-begin 11382 :contents-end 11388 :post-blank 3 :parent #94) #("header" 0 6 (:parent #107))) #("X-Real-IP $remote" 0 17 (:parent #94)) (subscript (:begin 11408 :end 11413 :use-brackets-p nil :contents-begin 11409 :contents-end 11413 :post-blank 0 :parent #94) #("addr" 0 4 (:parent #109))) #(";\n proxy" 0 19 (:parent #94)) (subscript (:begin 11432 :end 11436 :use-brackets-p nil :contents-begin 11433 :contents-end 11436 :post-blank 0 :parent #94) #("set" 0 3 (:parent #111))) (subscript (:begin 11436 :end 11446 :use-brackets-p nil :contents-begin 11437 :contents-end 11443 :post-blank 3 :parent #94) #("header" 0 6 (:parent #112))) #("X-Forwarded-For $proxy" 0 22 (:parent #94)) (subscript (:begin 11468 :end 11472 :use-brackets-p nil :contents-begin 11469 :contents-end 11472 :post-blank 0 :parent #94) #("add" 0 3 (:parent #114))) (subscript (:begin 11472 :end 11474 :use-brackets-p nil :contents-begin 11473 :contents-end 11474 :post-blank 0 :parent #94) #("x" 0 1 (:parent #115))) (subscript (:begin 11474 :end 11484 :use-brackets-p nil :contents-begin 11475 :contents-end 11484 :post-blank 0 :parent #94) #("forwarded" 0 9 (:parent #116))) (subscript (:begin 11484 :end 11488 :use-brackets-p nil :contents-begin 11485 :contents-end 11488 :post-blank 0 :parent #94) #("for" 0 3 (:parent #117))) #(";\n proxy" 0 19 (:parent #94)) (subscript (:begin 11507 :end 11511 :use-brackets-p nil :contents-begin 11508 :contents-end 11511 :post-blank 0 :parent #94) #("set" 0 3 (:parent #119))) (subscript (:begin 11511 :end 11521 :use-brackets-p nil :contents-begin 11512 :contents-end 11518 :post-blank 3 :parent #94) #("header" 0 6 (:parent #120))) #("X-Forwarded-Host $server" 0 24 (:parent #94)) (subscript (:begin 11545 :end 11550 :use-brackets-p nil :contents-begin 11546 :contents-end 11550 :post-blank 0 :parent #94) #("name" 0 4 (:parent #122))) #(";\n proxy" 0 19 (:parent #94)) (subscript (:begin 11569 :end 11583 :use-brackets-p nil :contents-begin 11570 :contents-end 11574 :post-blank 9 :parent #94) #("pass" 0 4 (:parent #124))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 11583 :end 11604 :contents-begin nil :contents-end nil :post-blank 0 :parent #94)) #(";\n }\n}\n#+end" 0 19 (:parent #94)) (subscript (:begin 11623 :end 11628 :use-brackets-p nil :contents-begin 11624 :contents-end 11627 :post-blank 1 :parent #94) #("src" 0 3 (:parent #127))) #("js\n" 0 3 (:parent #94))) (paragraph (:begin 11632 :end 11671 :contents-begin 11632 :contents-end 11670 :post-blank 1 :post-affiliated 11632 :mode nil :granularity nil :parent #88) #("Install the nginx webserver (as root)\n" 0 38 (:parent #95))) (fixed-width (:begin 11671 :end 11696 :value "guix package -i nginx" :post-blank 2 :post-affiliated 11671 :mode nil :granularity nil :parent #88)) (paragraph (:begin 11696 :end 11777 :contents-begin 11696 :contents-end 11776 :post-blank 1 :post-affiliated 11696 :mode nil :granularity nil :parent #88) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #97))) (fixed-width (:begin 11777 :end 11964 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 11777 :mode nil :granularity nil :parent #88)) (paragraph (:begin 11964 :end 11979 :contents-begin 11964 :contents-end 11978 :post-blank 1 :post-affiliated 11964 :mode nil :granularity nil :parent #88) #("Use that path\n" 0 14 (:parent #99))) (fixed-width (:begin 11979 :end 12373 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 11979 :mode nil :granularity nil :parent #88)) (paragraph (:begin 12373 :end 12599 :contents-begin 12373 :contents-end 12599 :post-blank 0 :post-affiliated 12373 :mode nil :granularity nil :parent #88) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #101))) (fixed-width (:begin 12599 :end 12646 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 12599 :mode nil :granularity nil :parent #88)) (paragraph (:begin 12646 :end 12657 :contents-begin 12646 :contents-end 12656 :post-blank 1 :post-affiliated 12646 :mode nil :granularity nil :parent #88) #("Make dirs\n" 0 10 (:parent #103))) (fixed-width (:begin 12657 :end 12691 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 12657 :mode nil :granularity nil :parent #88)) (paragraph (:begin 12691 :end 12702 :contents-begin 12691 :contents-end 12701 :post-blank 1 :post-affiliated 12691 :mode nil :granularity nil :parent #88) #("Add users\n" 0 10 (:parent #105))) (fixed-width (:begin 12702 :end 12738 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 12702 :mode nil :granularity nil :parent #88)) (paragraph (:begin 12738 :end 12749 :contents-begin 12738 :contents-end 12748 :post-blank 1 :post-affiliated 12738 :mode nil :granularity nil :parent #88) #("Run nginx\n" 0 10 (:parent #107))) (fixed-width (:begin 12749 :end 12839 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 12749 :mode nil :granularity nil :parent #88))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 12840 :end 13801 :pre-blank 1 :contents-begin 12902 :contents-end 13801 :robust-begin 12904 :robust-end 13799 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12840 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #81))) :mode nil :granularity nil :parent #71) (section (:begin 12902 :end 12959 :contents-begin 12902 :contents-end 12958 :robust-begin 12902 :robust-end 12956 :post-blank 1 :post-affiliated 12902 :mode section :granularity nil :parent #81) (paragraph (:begin 12902 :end 12958 :contents-begin 12902 :contents-end 12958 :post-blank 0 :post-affiliated 12902 :mode planning :granularity nil :parent #84) #("See the document " 0 17 (:parent #87)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 12919 :end 12956 :contents-begin nil :contents-end nil :post-blank 0 :parent #87)) #(".\n" 0 2 (:parent #87)))) (headline (:raw-value "Update to recent guix" :begin 12959 :end 13409 :pre-blank 1 :contents-begin 12985 :contents-end 13408 :robust-begin 12987 :robust-end 13406 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12959 :title (#("Update to recent guix" 0 21 (:parent #85))) :mode nil :granularity nil :parent #81) (section (:begin 12985 :end 13409 :contents-begin 12985 :contents-end 13408 :robust-begin 12985 :robust-end 13406 :post-blank 1 :post-affiliated 12985 :mode section :granularity nil :parent #85) (paragraph (:begin 12985 :end 13020 :contents-begin 12985 :contents-end 13019 :post-blank 1 :post-affiliated 12985 :mode planning :granularity nil :parent #88) #("We now compile Guix from scratch.\n" 0 34 (:parent #91))) (paragraph (:begin 13020 :end 13295 :contents-begin 13020 :contents-end 13294 :post-blank 1 :post-affiliated 13020 :mode nil :granularity nil :parent #88) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #92)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 13159 :end 13272 :contents-begin 13264 :contents-end 13269 :post-blank 1 :parent #92) #("these" 0 5 (:parent #96))) #("steps carefully after\n" 0 22 (:parent #92))) (fixed-width (:begin 13295 :end 13330 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 13295 :mode nil :granularity nil :parent #88)) (paragraph (:begin 13330 :end 13408 :contents-begin 13330 :contents-end 13408 :post-blank 0 :post-affiliated 13330 :mode nil :granularity nil :parent #88) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #94))))) (headline (:raw-value "Install GN2" :begin 13409 :end 13801 :pre-blank 1 :contents-begin 13425 :contents-end 13801 :robust-begin 13427 :robust-end 13799 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 13409 :title (#("Install GN2" 0 11 (:parent #86))) :mode nil :granularity nil :parent #81) (section (:begin 13425 :end 13801 :contents-begin 13425 :contents-end 13801 :robust-begin 13425 :robust-end 13799 :post-blank 0 :post-affiliated 13425 :mode section :granularity nil :parent #86) (paragraph (:begin 13425 :end 13468 :contents-begin 13425 :contents-end 13467 :post-blank 1 :post-affiliated 13425 :mode planning :granularity nil :parent #89) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #92))) (paragraph (:begin 13468 :end 13676 :contents-begin 13468 :contents-end 13675 :post-blank 1 :post-affiliated 13468 :mode nil :granularity nil :parent #89) #("#+begin" 0 7 (:parent #93)) (subscript (:begin 13475 :end 13480 :use-brackets-p nil :contents-begin 13476 :contents-end 13479 :post-blank 1 :parent #93) #("src" 0 3 (:parent #97))) #("bash\nenv GUIX" 0 13 (:parent #93)) (subscript (:begin 13493 :end 13501 :use-brackets-p nil :contents-begin 13494 :contents-end 13501 :post-blank 0 :parent #93) #("PACKAGE" 0 7 (:parent #99))) (subscript (:begin 13501 :end 13506 :use-brackets-p nil :contents-begin 13502 :contents-end 13506 :post-blank 0 :parent #93) #("PATH" 0 4 (:parent #100))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #93)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 13605 :end 13633 :contents-begin nil :contents-end nil :post-blank 1 :parent #93)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 13633 :end 13658 :contents-begin nil :contents-end nil :post-blank 0 :parent #93)) #("\"\n#+end" 0 7 (:parent #93)) (subscript (:begin 13665 :end 13670 :use-brackets-p nil :contents-begin 13666 :contents-end 13669 :post-blank 1 :parent #93) #("src" 0 3 (:parent #105))) #("bash\n" 0 5 (:parent #93))) (paragraph (:begin 13676 :end 13714 :contents-begin 13676 :contents-end 13713 :post-blank 1 :post-affiliated 13676 :mode nil :granularity nil :parent #89) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #94))) (paragraph (:begin 13714 :end 13801 :contents-begin 13714 :contents-end 13801 :post-blank 0 :post-affiliated 13714 :mode nil :granularity nil :parent #89) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #95)))))))) . #0)) (plain-list (:type unordered :begin 121 :end 1403 :contents-begin 121 :contents-end 1403 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 121 :mode planning :granularity nil :parent #1) (item (:bullet "- " :begin 121 :end 156 :contents-begin 124 :contents-end 156 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 121 :tag nil :mode item :granularity nil :parent #4) (paragraph (:begin 124 :end 156 :contents-begin 124 :contents-end 156 :post-blank 0 :post-affiliated 124 :mode nil :granularity nil :parent #7) (link (:type "custom-id" :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil :begin 124 :end 155 :contents-begin 141 :contents-end 153 :post-blank 0 :parent #10) #("Introduction" 0 12 (:parent #13))) #("\n" 0 1 (:parent #10)))) (item (:bullet "- " :begin 156 :end 521 :contents-begin 159 :contents-end 521 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 156 :tag nil :mode item :granularity nil :parent #4) (paragraph (:begin 159 :end 217 :contents-begin 159 :contents-end 217 :post-blank 0 :post-affiliated 159 :mode nil :granularity nil :parent #8) (link (:type "custom-id" :path "quick-installation-recipe" :format bracket :raw-link "#quick-installation-recipe" :application nil :search-option nil :begin 159 :end 216 :contents-begin 189 :contents-end 214 :post-blank 0 :parent #11) #("Quick installation recipe" 0 25 (:parent #14))) #("\n" 0 1 (:parent #11))) (plain-list (:type unordered :begin 217 :end 521 :contents-begin 217 :contents-end 521 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 217 :mode nil :granularity nil :parent #8) (item (:bullet "- " :begin 217 :end 277 :contents-begin 222 :contents-end 277 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 217 :tag nil :mode item :granularity nil :parent #12) (paragraph (:begin 222 :end 277 :contents-begin 222 :contents-end 277 :post-blank 0 :post-affiliated 222 :mode nil :granularity nil :parent #15) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 222 :end 276 :contents-begin 250 :contents-end 274 :post-blank 0 :parent #18) #("Step 1: Install GNU Guix" 0 24 (:parent #21))) #("\n" 0 1 (:parent #18)))) (item (:bullet "- " :begin 277 :end 371 :contents-begin 282 :contents-end 371 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 277 :tag nil :mode item :granularity nil :parent #12) (paragraph (:begin 282 :end 371 :contents-begin 282 :contents-end 371 :post-blank 0 :post-affiliated 282 :mode nil :granularity nil :parent #16) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 282 :end 370 :contents-begin 327 :contents-end 368 :post-blank 0 :parent #19) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #22))) #("\n" 0 1 (:parent #19)))) (item (:bullet "- " :begin 371 :end 455 :contents-begin 376 :contents-end 455 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 371 :tag nil :mode item :granularity nil :parent #12) (paragraph (:begin 376 :end 455 :contents-begin 376 :contents-end 455 :post-blank 0 :post-affiliated 376 :mode nil :granularity nil :parent #17) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 376 :end 454 :contents-begin 416 :contents-end 452 :post-blank 0 :parent #20) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #23))) #("\n" 0 1 (:parent #20)))) (item (:bullet "- " :begin 455 :end 521 :contents-begin 460 :contents-end 521 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 455 :tag nil :mode item :granularity nil :parent #12) (paragraph (:begin 460 :end 521 :contents-begin 460 :contents-end 521 :post-blank 0 :post-affiliated 460 :mode nil :granularity nil :parent #18) (link (:type "custom-id" :path "step-4-install-and-run-gn2" :format bracket :raw-link "#step-4-install-and-run-gn2" :application nil :search-option nil :begin 460 :end 520 :contents-begin 491 :contents-end 518 :post-blank 0 :parent #21) #("Step 4: Install and run GN2" 0 27 (:parent #24))) #("\n" 0 1 (:parent #21)))))) (item (:bullet "- " :begin 521 :end 564 :contents-begin 524 :contents-end 564 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 521 :tag nil :mode item :granularity nil :parent #4) (paragraph (:begin 524 :end 564 :contents-begin 524 :contents-end 564 :post-blank 0 :post-affiliated 524 :mode nil :granularity nil :parent #9) (link (:type "custom-id" :path "run-mysql-server" :format bracket :raw-link "#run-mysql-server" :application nil :search-option nil :begin 524 :end 563 :contents-begin 545 :contents-end 561 :post-blank 0 :parent #12) #("Run MySQL server" 0 16 (:parent #15))) #("\n" 0 1 (:parent #12)))) (item (:bullet "- " :begin 564 :end 615 :contents-begin 567 :contents-end 615 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 564 :tag nil :mode item :granularity nil :parent #4) (paragraph (:begin 567 :end 615 :contents-begin 567 :contents-end 615 :post-blank 0 :post-affiliated 567 :mode nil :granularity nil :parent #10) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 567 :end 614 :contents-begin 592 :contents-end 612 :post-blank 0 :parent #13) #("GN2 Dependency Graph" 0 20 (:parent #16))) #("\n" 0 1 (:parent #13)))) (item (:bullet "- " :begin 615 :end 790 :contents-begin 618 :contents-end 790 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 615 :tag nil :mode item :granularity nil :parent #4) (paragraph (:begin 618 :end 660 :contents-begin 618 :contents-end 660 :post-blank 0 :post-affiliated 618 :mode nil :granularity nil :parent #11) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 618 :end 659 :contents-begin 640 :contents-end 657 :post-blank 0 :parent #14) #("Source deployment" 0 17 (:parent #17))) #("\n" 0 1 (:parent #14))) (plain-list (:type unordered :begin 660 :end 790 :contents-begin 660 :contents-end 790 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 660 :mode nil :granularity nil :parent #11) (item (:bullet "- " :begin 660 :end 721 :contents-begin 665 :contents-end 721 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 660 :tag nil :mode item :granularity nil :parent #15) (paragraph (:begin 665 :end 721 :contents-begin 665 :contents-end 721 :post-blank 0 :post-affiliated 665 :mode nil :granularity nil :parent #18) (link (:type "custom-id" :path "run-your-own-copy-of-gn2" :format bracket :raw-link "#run-your-own-copy-of-gn2" :application nil :search-option nil :begin 665 :end 720 :contents-begin 694 :contents-end 718 :post-blank 0 :parent #21) #("Run your own copy of GN2" 0 24 (:parent #24))) #("\n" 0 1 (:parent #21)))) (item (:bullet "- " :begin 721 :end 790 :contents-begin 726 :contents-end 790 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 721 :tag nil :mode item :granularity nil :parent #15) (paragraph (:begin 726 :end 790 :contents-begin 726 :contents-end 790 :post-blank 0 :post-affiliated 726 :mode nil :granularity nil :parent #19) (link (:type "custom-id" :path "set-up-nginx-port-forwarding" :format bracket :raw-link "#set-up-nginx-port-forwarding" :application nil :search-option nil :begin 726 :end 789 :contents-begin 759 :contents-end 787 :post-blank 0 :parent #22) #("Set up nginx port forwarding" 0 28 (:parent #25))) #("\n" 0 1 (:parent #22)))))) (item (:bullet "- " :begin 790 :end 1034 :contents-begin 793 :contents-end 1034 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 790 :tag nil :mode item :granularity nil :parent #4) (paragraph (:begin 793 :end 917 :contents-begin 793 :contents-end 917 :post-blank 0 :post-affiliated 793 :mode nil :granularity nil :parent #12) (link (:type "custom-id" :path "source-deployment-and-other-information-on-reproducibility" :format bracket :raw-link "#source-deployment-and-other-information-on-reproducibility" :application nil :search-option nil :begin 793 :end 916 :contents-begin 856 :contents-end 914 :post-blank 0 :parent #15) #("Source deployment and other information on reproducibility" 0 58 (:parent #18))) #("\n" 0 1 (:parent #15))) (plain-list (:type unordered :begin 917 :end 1034 :contents-begin 917 :contents-end 1034 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 917 :mode nil :granularity nil :parent #12) (item (:bullet "- " :begin 917 :end 972 :contents-begin 922 :contents-end 972 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 917 :tag nil :mode item :granularity nil :parent #16) (paragraph (:begin 922 :end 972 :contents-begin 922 :contents-end 972 :post-blank 0 :post-affiliated 922 :mode nil :granularity nil :parent #19) (link (:type "custom-id" :path "update-to-recent-guix" :format bracket :raw-link "#update-to-recent-guix" :application nil :search-option nil :begin 922 :end 971 :contents-begin 948 :contents-end 969 :post-blank 0 :parent #22) #("Update to recent guix" 0 21 (:parent #25))) #("\n" 0 1 (:parent #22)))) (item (:bullet "- " :begin 972 :end 1007 :contents-begin 977 :contents-end 1007 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 972 :tag nil :mode item :granularity nil :parent #16) (paragraph (:begin 977 :end 1007 :contents-begin 977 :contents-end 1007 :post-blank 0 :post-affiliated 977 :mode nil :granularity nil :parent #20) (link (:type "custom-id" :path "install-gn2" :format bracket :raw-link "#install-gn2" :application nil :search-option nil :begin 977 :end 1006 :contents-begin 993 :contents-end 1004 :post-blank 0 :parent #23) #("Install GN2" 0 11 (:parent #26))) #("\n" 0 1 (:parent #23)))) (item (:bullet "- " :begin 1007 :end 1034 :contents-begin 1012 :contents-end 1034 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1007 :tag nil :mode item :granularity nil :parent #16) (paragraph (:begin 1012 :end 1034 :contents-begin 1012 :contents-end 1034 :post-blank 0 :post-affiliated 1012 :mode nil :granularity nil :parent #21) (link (:type "custom-id" :path "run-gn2" :format bracket :raw-link "#run-gn2" :application nil :search-option nil :begin 1012 :end 1033 :contents-begin 1024 :contents-end 1031 :post-blank 0 :parent #24) #("Run GN2" 0 7 (:parent #27))) #("\n" 0 1 (:parent #24)))))) (item (:bullet "- " :begin 1034 :end 1370 :contents-begin 1037 :contents-end 1370 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1034 :tag nil :mode item :granularity nil :parent #4) (paragraph (:begin 1037 :end 1077 :contents-begin 1037 :contents-end 1077 :post-blank 0 :post-affiliated 1037 :mode nil :granularity nil :parent #13) (link (:type "custom-id" :path "trouble-shooting" :format bracket :raw-link "#trouble-shooting" :application nil :search-option nil :begin 1037 :end 1076 :contents-begin 1058 :contents-end 1074 :post-blank 0 :parent #16) #("Trouble shooting" 0 16 (:parent #19))) #("\n" 0 1 (:parent #16))) (plain-list (:type unordered :begin 1077 :end 1370 :contents-begin 1077 :contents-end 1370 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 1077 :mode nil :granularity nil :parent #13) (item (:bullet "- " :begin 1077 :end 1159 :contents-begin 1082 :contents-end 1159 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1077 :tag nil :mode item :granularity nil :parent #17) (paragraph (:begin 1082 :end 1159 :contents-begin 1082 :contents-end 1159 :post-blank 0 :post-affiliated 1082 :mode nil :granularity nil :parent #20) (link (:type "custom-id" :path "importerror-no-module-named-jinja2" :format bracket :raw-link "#importerror-no-module-named-jinja2" :application nil :search-option nil :begin 1082 :end 1158 :contents-begin 1121 :contents-end 1156 :post-blank 0 :parent #23) #("ImportError: No module named jinja2" 0 35 (:parent #26))) #("\n" 0 1 (:parent #23)))) (item (:bullet "- " :begin 1159 :end 1257 :contents-begin 1164 :contents-end 1257 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1159 :tag nil :mode item :granularity nil :parent #17) (paragraph (:begin 1164 :end 1257 :contents-begin 1164 :contents-end 1257 :post-blank 0 :post-affiliated 1164 :mode nil :granularity nil :parent #21) (link (:type "custom-id" :path "error-can-not-find-directory-homegn2_data" :format bracket :raw-link "#error-can-not-find-directory-homegn2_data" :application nil :search-option nil :begin 1164 :end 1256 :contents-begin 1210 :contents-end 1254 :post-blank 0 :parent #24) #("ERROR: can not find directory $HOME/gn2" 0 39 (:parent #27)) (subscript (:begin 1249 :end 1254 :use-brackets-p nil :contents-begin 1250 :contents-end 1254 :post-blank 0 :parent #27) #("data" 0 4 (:parent #31)))) #("\n" 0 1 (:parent #24)))) (item (:bullet "- " :begin 1257 :end 1305 :contents-begin 1262 :contents-end 1305 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1257 :tag nil :mode item :granularity nil :parent #17) (paragraph (:begin 1262 :end 1305 :contents-begin 1262 :contents-end 1305 :post-blank 0 :post-affiliated 1262 :mode nil :granularity nil :parent #22) (link (:type "custom-id" :path "cant-run-a-module" :format bracket :raw-link "#cant-run-a-module" :application nil :search-option nil :begin 1262 :end 1304 :contents-begin 1284 :contents-end 1302 :post-blank 0 :parent #25) #("Can't run a module" 0 18 (:parent #28))) #("\n" 0 1 (:parent #25)))) (item (:bullet "- " :begin 1305 :end 1370 :contents-begin 1310 :contents-end 1370 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1305 :tag nil :mode item :granularity nil :parent #17) (paragraph (:begin 1310 :end 1370 :contents-begin 1310 :contents-end 1370 :post-blank 0 :post-affiliated 1310 :mode nil :granularity nil :parent #23) (link (:type "custom-id" :path "rpy2-error-show-now-found" :format bracket :raw-link "#rpy2-error-show-now-found" :application nil :search-option nil :begin 1310 :end 1369 :contents-begin 1340 :contents-end 1367 :post-blank 0 :parent #26) #("Rpy2 error 'show' now found" 0 27 (:parent #29))) #("\n" 0 1 (:parent #26)))))) (item (:bullet "- " :begin 1370 :end 1403 :contents-begin 1373 :contents-end 1403 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1370 :tag nil :mode item :granularity nil :parent #4) (paragraph (:begin 1373 :end 1403 :contents-begin 1373 :contents-end 1403 :post-blank 0 :post-affiliated 1373 :mode nil :granularity nil :parent #14) (link (:type "custom-id" :path "irc-session" :format bracket :raw-link "#irc-session" :application nil :search-option nil :begin 1373 :end 1402 :contents-begin 1389 :contents-end 1400 :post-blank 0 :parent #17) #("IRC session" 0 11 (:parent #20))) #("\n" 0 1 (:parent #17))))))) "") org-export-data((headline (:raw-value "Table of Contents" :begin 43 :end 1404 :pre-blank 0 :contents-begin 121 :contents-end 1403 :robust-begin 123 :robust-end 1401 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 43 :title (#("Table of Contents" 0 17 (:parent #0))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13801 :end 13801 :robust-begin 3 :robust-end 13799 :post-blank 0 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 43 :contents-begin 1 :contents-end 42 :robust-begin 1 :robust-end 40 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #46) (keyword (:key "TITLE" :value "Installing GeneNetwork services" :begin 1 :end 42 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #49))) #0 (headline (:raw-value "Introduction" :begin 1404 :end 2450 :pre-blank 1 :contents-begin 1420 :contents-end 2449 :robust-begin 1422 :robust-end 2447 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1404 :title (#("Introduction" 0 12 (:parent #51))) :mode nil :granularity nil :parent #46) (section (:begin 1420 :end 2450 :contents-begin 1420 :contents-end 2449 :robust-begin 1420 :robust-end 2447 :post-blank 1 :post-affiliated 1420 :mode section :granularity nil :parent #51) (paragraph (:begin 1420 :end 1557 :contents-begin 1420 :contents-end 1556 :post-blank 1 :post-affiliated 1420 :mode planning :granularity nil :parent #54) #("If you want to understand the architecture of GN2 read\n" 0 55 (:parent #57)) (link (:type "fuzzy" :path "Architecture.org" :format bracket :raw-link "Architecture.org" :application nil :search-option nil :begin 1475 :end 1495 :contents-begin nil :contents-end nil :post-blank 0 :parent #57)) #(". The rest of this document is mostly on deployment\nof GN2.\n" 0 61 (:parent #57))) (paragraph (:begin 1557 :end 1943 :contents-begin 1557 :contents-end 1942 :post-blank 1 :post-affiliated 1557 :mode nil :granularity nil :parent #54) #("Large system deployments can get very " 0 38 (:parent #58)) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg " :format bracket :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg " :application nil :search-option nil :begin 1595 :end 1656 :contents-begin 1647 :contents-end 1654 :post-blank 0 :parent #58) #("complex" 0 7 (:parent #62))) #(". In this document we\nexplain the GeneNetwork version 2 (GN2) reproducible deployment system\nwhich is based on GNU Guix (see also " 0 130 (:parent #58)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1786 :end 1860 :contents-begin 1848 :contents-end 1858 :post-blank 0 :parent #58) #("Guix-notes" 0 10 (:parent #64))) #("). The Guix\nsystem can be used to install GN with all its files and dependencies.\n" 0 82 (:parent #58))) (paragraph (:begin 1943 :end 2328 :contents-begin 1943 :contents-end 2327 :post-blank 1 :post-affiliated 1943 :mode nil :granularity nil :parent #54) #("The official installation path is from a checked out version of the\nmain Guix package tree and that of the Genenetwork package\ntree. Current supported versions can be found as the SHA values of\n'gn-latest' branches of " 0 218 (:parent #59)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :application nil :search-option nil :begin 2161 :end 2252 :contents-begin 2230 :contents-end 2249 :post-blank 1 :parent #59) #("Guix bioinformatics" 0 19 (:parent #63))) #("and " 0 4 (:parent #59)) (link (:type "https" :path "//github.com/genenetwork/guix/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix/tree/gn-latest" :application nil :search-option nil :begin 2256 :end 2325 :contents-begin 2310 :contents-end 2323 :post-blank 0 :parent #59) #("GNU Guix main" 0 13 (:parent #65))) #(".\n" 0 2 (:parent #59))) (paragraph (:begin 2328 :end 2449 :contents-begin 2328 :contents-end 2449 :post-blank 0 :post-affiliated 2328 :mode nil :granularity nil :parent #54) #("For a full view of runtime dependencies as defined by GNU Guix, see\nthe " 0 72 (:parent #60)) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 2400 :end 2447 :contents-begin 2425 :contents-end 2445 :post-blank 0 :parent #60) #("GN2 Dependency Graph" 0 20 (:parent #64))) #(".\n" 0 2 (:parent #60))))) (headline (:raw-value "Quick installation recipe" :begin 2450 :end 7633 :pre-blank 1 :contents-begin 2479 :contents-end 7632 :robust-begin 2481 :robust-end 7630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 2450 :title (#("Quick installation recipe" 0 25 (:parent #52))) :mode nil :granularity nil :parent #46) (section (:begin 2479 :end 3022 :contents-begin 2479 :contents-end 3021 :robust-begin 2479 :robust-end 3019 :post-blank 1 :post-affiliated 2479 :mode section :granularity nil :parent #52) (paragraph (:begin 2479 :end 2880 :contents-begin 2479 :contents-end 2879 :post-blank 1 :post-affiliated 2479 :mode planning :granularity nil :parent #55) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS). For more elaborate installation\ninstructions see " 0 357 (:parent #58)) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 2836 :end 2877 :contents-begin 2858 :contents-end 2875 :post-blank 0 :parent #58) #("Source deployment" 0 17 (:parent #62))) #(".\n" 0 2 (:parent #58))) (paragraph (:begin 2880 :end 3021 :contents-begin 2880 :contents-end 3021 :post-blank 0 :post-affiliated 2880 :mode nil :granularity nil :parent #55) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #59)))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 3022 :end 4649 :pre-blank 1 :contents-begin 3051 :contents-end 4648 :robust-begin 3053 :robust-end 4646 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3022 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #56))) :mode nil :granularity nil :parent #52) (section (:begin 3051 :end 4649 :contents-begin 3051 :contents-end 4648 :robust-begin 3051 :robust-end 4646 :post-blank 1 :post-affiliated 3051 :mode section :granularity nil :parent #56) (paragraph (:begin 3051 :end 3504 :contents-begin 3051 :contents-end 3503 :post-blank 1 :post-affiliated 3051 :mode planning :granularity nil :parent #59) #("Fetch the GNU Guix binary from " 0 31 (:parent #62)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 3082 :end 3136 :contents-begin 3129 :contents-end 3133 :post-blank 1 :parent #62) #("here" 0 4 (:parent #66))) #("(middle panel) and follow\n" 0 26 (:parent #62)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 3162 :end 3255 :contents-begin 3241 :contents-end 3253 :post-blank 0 :parent #62) #("instructions" 0 12 (:parent #68))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #62))) (paragraph (:begin 3504 :end 3782 :contents-begin 3504 :contents-end 3781 :post-blank 1 :post-affiliated 3504 :mode nil :granularity nil :parent #59) #("Once you have succeeded, you have to " 0 37 (:parent #63)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 3541 :end 3631 :contents-begin 3617 :contents-end 3628 :post-blank 1 :parent #63) #("set the key" 0 11 (:parent #67))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #63))) (src-block (:language "bash" :switches nil :parameters nil :begin 3782 :end 3890 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 3782 :mode nil :granularity nil :parent #59)) (paragraph (:begin 3890 :end 3924 :contents-begin 3890 :contents-end 3923 :post-blank 1 :post-affiliated 3890 :mode nil :granularity nil :parent #59) #("Which should show something like\n" 0 33 (:parent #65))) (fixed-width (:begin 3924 :end 4034 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 3924 :mode nil :granularity nil :parent #59)) (paragraph (:begin 4034 :end 4045 :contents-begin 4034 :contents-end 4044 :post-blank 1 :post-affiliated 4034 :mode nil :granularity nil :parent #59) #("#+end" 0 5 (:parent #67)) (subscript (:begin 4039 :end 4043 :use-brackets-p nil :contents-begin 4040 :contents-end 4043 :post-blank 0 :parent #67) #("src" 0 3 (:parent #71))) #("\n" 0 1 (:parent #67))) (paragraph (:begin 4045 :end 4116 :contents-begin 4045 :contents-end 4115 :post-blank 1 :post-affiliated 4045 :mode nil :granularity nil :parent #59) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #68))) (src-block (:language "bash" :switches nil :parameters nil :begin 4116 :end 4188 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 4116 :mode nil :granularity nil :parent #59)) (paragraph (:begin 4188 :end 4375 :contents-begin 4188 :contents-end 4374 :post-blank 1 :post-affiliated 4188 :mode nil :granularity nil :parent #59) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #70))) (paragraph (:begin 4375 :end 4648 :contents-begin 4375 :contents-end 4648 :post-blank 0 :post-affiliated 4375 :mode nil :granularity nil :parent #59) #("If you need more help we have another writeup in " 0 49 (:parent #71)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 4424 :end 4520 :contents-begin 4508 :contents-end 4518 :post-blank 0 :parent #71) #("guix-notes" 0 10 (:parent #75))) #(". To get\nrid of the locale warning see " 0 39 (:parent #71)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 4559 :end 4646 :contents-begin 4634 :contents-end 4644 :post-blank 0 :parent #71) #("set-locale" 0 10 (:parent #77))) #(".\n" 0 2 (:parent #71))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 4649 :end 5304 :pre-blank 1 :contents-begin 4695 :contents-end 5302 :robust-begin 4697 :robust-end 5300 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4649 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #57))) :mode nil :granularity nil :parent #52) (section (:begin 4695 :end 5304 :contents-begin 4695 :contents-end 5302 :robust-begin 4695 :robust-end 5300 :post-blank 2 :post-affiliated 4695 :mode section :granularity nil :parent #57) (paragraph (:begin 4695 :end 4815 :contents-begin 4695 :contents-end 4814 :post-blank 1 :post-affiliated 4695 :mode planning :granularity nil :parent #60) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #63))) (src-block (:language "bash" :switches nil :parameters nil :begin 4815 :end 4920 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 4815 :mode nil :granularity nil :parent #60)) (paragraph (:begin 4920 :end 4971 :contents-begin 4920 :contents-end 4970 :post-blank 1 :post-affiliated 4920 :mode nil :granularity nil :parent #60) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #65))) (paragraph (:begin 4971 :end 5232 :contents-begin 4971 :contents-end 5231 :post-blank 1 :post-affiliated 4971 :mode nil :granularity nil :parent #60) #("#+begin" 0 7 (:parent #66)) (subscript (:begin 4978 :end 4983 :use-brackets-p nil :contents-begin 4979 :contents-end 4982 :post-blank 1 :parent #66) #("src" 0 3 (:parent #70))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #66)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 5055 :end 5105 :contents-begin nil :contents-end nil :post-blank 0 :parent #66)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #66)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 5147 :end 5183 :contents-begin nil :contents-end nil :post-blank 1 :parent #66)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #66)) (subscript (:begin 5221 :end 5226 :use-brackets-p nil :contents-begin 5222 :contents-end 5225 :post-blank 1 :parent #66) #("src" 0 3 (:parent #76))) #("bash\n" 0 5 (:parent #66))) (paragraph (:begin 5232 :end 5270 :contents-begin 5232 :contents-end 5269 :post-blank 1 :post-affiliated 5232 :mode nil :granularity nil :parent #60) #("To test whether this is working try:\n" 0 37 (:parent #67))) (paragraph (:begin 5270 :end 5302 :contents-begin 5270 :contents-end 5302 :post-blank 0 :post-affiliated 5270 :mode nil :granularity nil :parent #60) #("#+begin" 0 7 (:parent #68)) (subscript (:begin 5277 :end 5282 :use-brackets-p nil :contents-begin 5278 :contents-end 5281 :post-blank 1 :parent #68) #("src" 0 3 (:parent #72))) #("bash\n#+end" 0 10 (:parent #68)) (subscript (:begin 5292 :end 5297 :use-brackets-p nil :contents-begin 5293 :contents-end 5296 :post-blank 1 :parent #68) #("src" 0 3 (:parent #74))) #("bash\n" 0 5 (:parent #68))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 5304 :end 5755 :pre-blank 1 :contents-begin 5345 :contents-end 5754 :robust-begin 5347 :robust-end 5752 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5304 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #58))) :mode nil :granularity nil :parent #52) (section (:begin 5345 :end 5755 :contents-begin 5345 :contents-end 5754 :robust-begin 5345 :robust-end 5752 :post-blank 1 :post-affiliated 5345 :mode section :granularity nil :parent #58) (paragraph (:begin 5345 :end 5445 :contents-begin 5345 :contents-end 5444 :post-blank 1 :post-affiliated 5345 :mode planning :granularity nil :parent #61) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #64))) (src-block (:language "scheme" :switches nil :parameters nil :begin 5445 :end 5589 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 5445 :mode nil :granularity nil :parent #61)) (paragraph (:begin 5589 :end 5621 :contents-begin 5589 :contents-end 5620 :post-blank 1 :post-affiliated 5589 :mode nil :granularity nil :parent #61) #("by pasting it into the command\n" 0 31 (:parent #66))) (src-block (:language "bash" :switches nil :parameters nil :begin 5621 :end 5674 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 5621 :mode nil :granularity nil :parent #61)) (paragraph (:begin 5674 :end 5691 :contents-begin 5674 :contents-end 5690 :post-blank 1 :post-affiliated 5674 :mode nil :granularity nil :parent #61) #("and hit Ctrl-D.\n" 0 16 (:parent #68))) (paragraph (:begin 5691 :end 5754 :contents-begin 5691 :contents-end 5754 :post-blank 0 :post-affiliated 5691 :mode nil :granularity nil :parent #61) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #69))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 5755 :end 7633 :pre-blank 1 :contents-begin 5787 :contents-end 7632 :robust-begin 5789 :robust-end 7630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5755 :title (#("Step 4: Install and run GN2" 0 27 (:parent #59))) :mode nil :granularity nil :parent #52) (section (:begin 5787 :end 7633 :contents-begin 5787 :contents-end 7632 :robust-begin 5787 :robust-end 7630 :post-blank 1 :post-affiliated 5787 :mode section :granularity nil :parent #59) (paragraph (:begin 5787 :end 5927 :contents-begin 5787 :contents-end 5926 :post-blank 1 :post-affiliated 5787 :mode planning :granularity nil :parent #62) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #65))) (src-block (:language "bash" :switches nil :parameters nil :begin 5927 :end 6046 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 5927 :mode nil :granularity nil :parent #62)) (paragraph (:begin 6046 :end 6099 :contents-begin 6046 :contents-end 6098 :post-blank 1 :post-affiliated 6046 :mode nil :granularity nil :parent #62) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #67))) (src-block (:language "bash" :switches nil :parameters nil :begin 6099 :end 6289 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 6099 :mode nil :granularity nil :parent #62)) (paragraph (:begin 6289 :end 6398 :contents-begin 6289 :contents-end 6397 :post-blank 1 :post-affiliated 6289 :mode nil :granularity nil :parent #62) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #69)) (italic (:begin 6360 :end 6366 :post-blank 0 :contents-begin 6361 :contents-end 6365 :parent #69) #("root" 0 4 (:parent #73))) #(".config/guix/latest override).\n" 0 31 (:parent #69))) (paragraph (:begin 6398 :end 6416 :contents-begin 6398 :contents-end 6415 :post-blank 1 :post-affiliated 6398 :mode nil :granularity nil :parent #62) #("And install with\n" 0 17 (:parent #70))) (src-block (:language "bash" :switches nil :parameters nil :begin 6416 :end 6586 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 6416 :mode nil :granularity nil :parent #62)) (paragraph (:begin 6586 :end 6729 :contents-begin 6586 :contents-end 6728 :post-blank 1 :post-affiliated 6586 :mode nil :granularity nil :parent #62) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #72))) (paragraph (:begin 6729 :end 6925 :contents-begin 6729 :contents-end 6924 :post-blank 1 :post-affiliated 6729 :mode nil :granularity nil :parent #62) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #73))) (paragraph (:begin 6925 :end 7056 :contents-begin 6925 :contents-end 7055 :post-blank 1 :post-affiliated 6925 :mode nil :granularity nil :parent #62) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #74))) (src-block (:language "bash" :switches nil :parameters nil :begin 7056 :end 7235 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python2.7/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 7056 :mode nil :granularity nil :parent #62)) (paragraph (:begin 7235 :end 7304 :contents-begin 7235 :contents-end 7303 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #62) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #76))) (src-block (:language "bash" :switches nil :parameters nil :begin 7304 :end 7345 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 7304 :mode nil :granularity nil :parent #62)) (paragraph (:begin 7345 :end 7596 :contents-begin 7345 :contents-end 7595 :post-blank 1 :post-affiliated 7345 :mode nil :granularity nil :parent #62) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #78)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 7567 :end 7593 :contents-begin nil :contents-end nil :post-blank 0 :parent #78)) #(".\n" 0 2 (:parent #78))) (paragraph (:begin 7596 :end 7632 :contents-begin 7596 :contents-end 7632 :post-blank 0 :post-affiliated 7596 :mode nil :granularity nil :parent #62) #("End of the GN2 installation recipe!\n" 0 36 (:parent #79)))))) (headline (:raw-value "Run MySQL server" :begin 7633 :end 9008 :pre-blank 1 :contents-begin 7653 :contents-end 9007 :robust-begin 7655 :robust-end 9005 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7633 :title (#("Run MySQL server" 0 16 (:parent #53))) :mode nil :granularity nil :parent #46) (section (:begin 7653 :end 9008 :contents-begin 7653 :contents-end 9007 :robust-begin 7653 :robust-end 9005 :post-blank 1 :post-affiliated 7653 :mode section :granularity nil :parent #53) (paragraph (:begin 7653 :end 7928 :contents-begin 7653 :contents-end 7927 :post-blank 1 :post-affiliated 7653 :mode planning :granularity nil :parent #56) #("At this point we require the underlying distribution to install and\nrun mysqld. Currently we have two databases for deployment,\n'db" 0 131 (:parent #59)) (subscript (:begin 7784 :end 7791 :use-brackets-p nil :contents-begin 7785 :contents-end 7791 :post-blank 0 :parent #59) #("webqtl" 0 6 (:parent #63))) (subscript (:begin 7791 :end 7793 :use-brackets-p nil :contents-begin 7792 :contents-end 7793 :post-blank 0 :parent #59) #("s" 0 1 (:parent #64))) #("' is the small testing database containing experiments\nfrom BXD mice and 'db" 0 76 (:parent #59)) (subscript (:begin 7869 :end 7876 :use-brackets-p nil :contents-begin 7870 :contents-end 7876 :post-blank 0 :parent #59) #("webqtl" 0 6 (:parent #66))) (subscript (:begin 7876 :end 7882 :use-brackets-p nil :contents-begin 7877 :contents-end 7882 :post-blank 0 :parent #59) #("plant" 0 5 (:parent #67))) #("' which contains all plant related\nmaterial.\n" 0 45 (:parent #59))) (paragraph (:begin 7928 :end 7956 :contents-begin 7928 :contents-end 7955 :post-blank 1 :post-affiliated 7928 :mode nil :granularity nil :parent #56) #("Download one database from\n" 0 27 (:parent #60))) (paragraph (:begin 7956 :end 8054 :contents-begin 7956 :contents-end 8053 :post-blank 1 :post-affiliated 7956 :mode nil :granularity nil :parent #56) (link (:type "http" :path "//files.genenetwork.org/raw_database/" :format plain :raw-link "http://files.genenetwork.org/raw_database/" :application nil :search-option nil :begin 7956 :end 7998 :contents-begin nil :contents-end nil :post-blank 0 :parent #61)) #("\n" 0 1 (:parent #61)) (link (:type "https" :path "//s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :format plain :raw-link "https://s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :application nil :search-option nil :begin 7999 :end 8052 :contents-begin nil :contents-end nil :post-blank 0 :parent #61)) #("\n" 0 1 (:parent #61))) (paragraph (:begin 8054 :end 8073 :contents-begin 8054 :contents-end 8072 :post-blank 1 :post-affiliated 8054 :mode nil :granularity nil :parent #56) #("Check the md5sum.\n" 0 18 (:parent #62))) (paragraph (:begin 8073 :end 8195 :contents-begin 8073 :contents-end 8194 :post-blank 1 :post-affiliated 8073 :mode nil :granularity nil :parent #56) #("After installation inflate the database binary in the MySQL directory\n(this installation path is subject to change soon)\n" 0 121 (:parent #63))) (fixed-width (:begin 8195 :end 8283 :value "chown -R mysql:mysql db_webqtl_s/\nchmod 700 db_webqtl_s/\nchmod 660 db_webqtl_s/*" :post-blank 2 :post-affiliated 8195 :mode nil :granularity nil :parent #56)) (paragraph (:begin 8283 :end 8334 :contents-begin 8283 :contents-end 8333 :post-blank 1 :post-affiliated 8283 :mode nil :granularity nil :parent #56) #("restart MySQL service (mysqld). Login as root and\n" 0 50 (:parent #65))) (fixed-width (:begin 8334 :end 8560 :value "mysql> show databases;\n+--------------------+\n| Database |\n+--------------------+\n| information_schema |\n| db_webqtl_s |\n| mysql |\n| performance_schema |\n+--------------------+" :post-blank 2 :post-affiliated 8334 :mode nil :granularity nil :parent #56)) (paragraph (:begin 8560 :end 8625 :contents-begin 8560 :contents-end 8624 :post-blank 1 :post-affiliated 8560 :mode nil :granularity nil :parent #56) #("Set permissions and match password in your settings file below:\n" 0 64 (:parent #67))) (fixed-width (:begin 8625 :end 8724 :value "mysql> grant all privileges on db_webqtl_s.* to gn2@\"localhost\" identified by 'mysql_password';" :post-blank 2 :post-affiliated 8625 :mode nil :granularity nil :parent #56)) (paragraph (:begin 8724 :end 8875 :contents-begin 8724 :contents-end 8874 :post-blank 1 :post-affiliated 8724 :mode nil :granularity nil :parent #56) #("Note that if the mysql connection is not working, try connecting to\nthe IP address and check server firewall, hosts.allow and mysql IP\nconfiguration.\n" 0 150 (:parent #69))) (paragraph (:begin 8875 :end 9007 :contents-begin 8875 :contents-end 9007 :post-blank 0 :post-affiliated 8875 :mode nil :granularity nil :parent #56) #("Note for the plant database you can rename it to db" 0 51 (:parent #70)) (subscript (:begin 8926 :end 8933 :use-brackets-p nil :contents-begin 8927 :contents-end 8933 :post-blank 0 :parent #70) #("webqtl" 0 6 (:parent #74))) (subscript (:begin 8933 :end 8935 :use-brackets-p nil :contents-begin 8934 :contents-end 8935 :post-blank 0 :parent #70) #("s" 0 1 (:parent #75))) #(", or\nchange the settings in etc/default" 0 39 (:parent #70)) (subscript (:begin 8974 :end 8987 :use-brackets-p nil :contents-begin 8975 :contents-end 8986 :post-blank 1 :parent #70) #("settings.py" 0 11 (:parent #77))) #("to match your path.\n" 0 20 (:parent #70))))) (headline (:raw-value "GN2 Dependency Graph" :begin 9008 :end 9172 :pre-blank 1 :contents-begin 9032 :contents-end 9171 :robust-begin 9034 :robust-end 9169 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9008 :title (#("GN2 Dependency Graph" 0 20 (:parent #54))) :mode nil :granularity nil :parent #46) (section (:begin 9032 :end 9172 :contents-begin 9032 :contents-end 9171 :robust-begin 9032 :robust-end 9169 :post-blank 1 :post-affiliated 9032 :mode section :granularity nil :parent #54) (paragraph (:begin 9032 :end 9093 :contents-begin 9032 :contents-end 9092 :post-blank 1 :post-affiliated 9032 :mode planning :granularity nil :parent #57) #("Graph of all runtime dependencies as installed by GNU Guix.\n" 0 60 (:parent #60))) (paragraph (:begin 9093 :end 9171 :contents-begin 9123 :contents-end 9171 :post-blank 0 :post-affiliated 9123 :attr_html (":title GN2_graph") :mode nil :granularity nil :parent #57) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg" :format plain :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg" :application nil :search-option nil :begin 9123 :end 9170 :contents-begin nil :contents-end nil :post-blank 0 :parent #61)) #("\n" 0 1 (:parent #61))))) (headline (:raw-value "Source deployment" :begin 9172 :end 12840 :pre-blank 1 :contents-begin 9193 :contents-end 12839 :robust-begin 9195 :robust-end 12837 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9172 :title (#("Source deployment" 0 17 (:parent #55))) :mode nil :granularity nil :parent #46) (section (:begin 9193 :end 9612 :contents-begin 9193 :contents-end 9610 :robust-begin 9193 :robust-end 9608 :post-blank 2 :post-affiliated 9193 :mode section :granularity nil :parent #55) (paragraph (:begin 9193 :end 9274 :contents-begin 9193 :contents-end 9273 :post-blank 1 :post-affiliated 9193 :mode planning :granularity nil :parent #58) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #61))) (paragraph (:begin 9274 :end 9304 :contents-begin 9274 :contents-end 9303 :post-blank 1 :post-affiliated 9274 :mode nil :granularity nil :parent #58) #("First execute above 4 steps:\n" 0 29 (:parent #62))) (plain-list (:type unordered :begin 9304 :end 9610 :contents-begin 9304 :contents-end 9610 :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :post-blank 0 :post-affiliated 9304 :mode nil :granularity nil :parent #58) (item (:bullet "- " :begin 9304 :end 9364 :contents-begin 9309 :contents-end 9364 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9304 :tag nil :mode item :granularity nil :parent #63) (paragraph (:begin 9309 :end 9364 :contents-begin 9309 :contents-end 9364 :post-blank 0 :post-affiliated 9309 :mode nil :granularity nil :parent #66) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 9309 :end 9363 :contents-begin 9337 :contents-end 9361 :post-blank 0 :parent #69) #("Step 1: Install GNU Guix" 0 24 (:parent #72))) #("\n" 0 1 (:parent #69)))) (item (:bullet "- " :begin 9364 :end 9458 :contents-begin 9369 :contents-end 9458 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9364 :tag nil :mode item :granularity nil :parent #63) (paragraph (:begin 9369 :end 9458 :contents-begin 9369 :contents-end 9458 :post-blank 0 :post-affiliated 9369 :mode nil :granularity nil :parent #67) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 9369 :end 9457 :contents-begin 9414 :contents-end 9455 :post-blank 0 :parent #70) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #73))) #("\n" 0 1 (:parent #70)))) (item (:bullet "- " :begin 9458 :end 9542 :contents-begin 9463 :contents-end 9542 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9458 :tag nil :mode item :granularity nil :parent #63) (paragraph (:begin 9463 :end 9542 :contents-begin 9463 :contents-end 9542 :post-blank 0 :post-affiliated 9463 :mode nil :granularity nil :parent #68) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 9463 :end 9541 :contents-begin 9503 :contents-end 9539 :post-blank 0 :parent #71) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #74))) #("\n" 0 1 (:parent #71)))) (item (:bullet "- " :begin 9542 :end 9610 :contents-begin 9547 :contents-end 9610 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9542 :tag nil :mode item :granularity nil :parent #63) (paragraph (:begin 9547 :end 9610 :contents-begin 9547 :contents-end 9610 :post-blank 0 :post-affiliated 9547 :mode nil :granularity nil :parent #69) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 9547 :end 9609 :contents-begin 9579 :contents-end 9607 :post-blank 0 :parent #72) #("Step 4: Install and run GN2 " 0 28 (:parent #75))) #("\n" 0 1 (:parent #72)))))) (headline (:raw-value "Run your own copy of GN2" :begin 9612 :end 10722 :pre-blank 1 :contents-begin 9641 :contents-end 10721 :robust-begin 9643 :robust-end 10719 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9612 :title (#("Run your own copy of GN2" 0 24 (:parent #59))) :mode nil :granularity nil :parent #55) (section (:begin 9641 :end 10722 :contents-begin 9641 :contents-end 10721 :robust-begin 9641 :robust-end 10719 :post-blank 1 :post-affiliated 9641 :mode section :granularity nil :parent #59) (paragraph (:begin 9641 :end 9839 :contents-begin 9641 :contents-end 9838 :post-blank 1 :post-affiliated 9641 :mode planning :granularity nil :parent #62) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #65)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 9793 :end 9836 :contents-begin nil :contents-end nil :post-blank 0 :parent #65)) #(".\n" 0 2 (:parent #65))) (paragraph (:begin 9839 :end 9964 :contents-begin 9839 :contents-end 9963 :post-blank 1 :post-affiliated 9839 :mode nil :granularity nil :parent #62) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #66)) (subscript (:begin 9896 :end 9902 :use-brackets-p nil :contents-begin 9897 :contents-end 9901 :post-blank 1 :parent #66) #("PATH" 0 4 (:parent #70))) #("and\nR" 0 5 (:parent #66)) (subscript (:begin 9907 :end 9912 :use-brackets-p nil :contents-begin 9908 :contents-end 9912 :post-blank 0 :parent #66) #("LIBS" 0 4 (:parent #72))) (subscript (:begin 9912 :end 9918 :use-brackets-p nil :contents-begin 9913 :contents-end 9917 :post-blank 1 :parent #66) #("SITE" 0 4 (:parent #73))) #("are set) from the information given by guix:\n" 0 45 (:parent #66))) (fixed-width (:begin 9964 :end 9995 :value "guix package --search-paths" :post-blank 2 :post-affiliated 9964 :mode nil :granularity nil :parent #62)) (paragraph (:begin 9995 :end 10019 :contents-begin 9995 :contents-end 10018 :post-blank 1 :post-affiliated 9995 :mode nil :granularity nil :parent #62) #("Inside the repository:\n" 0 23 (:parent #68))) (fixed-width (:begin 10019 :end 10059 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 10019 :mode nil :granularity nil :parent #62)) (paragraph (:begin 10059 :end 10303 :contents-begin 10059 :contents-end 10302 :post-blank 1 :post-affiliated 10059 :mode nil :granularity nil :parent #62) #("Will fire up your local repo " 0 29 (:parent #70)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 10088 :end 10111 :contents-begin nil :contents-end nil :post-blank 1 :parent #70)) #("using the\nsettings in ./etc/default" 0 35 (:parent #70)) (subscript (:begin 10146 :end 10158 :use-brackets-p nil :contents-begin 10147 :contents-end 10158 :post-blank 0 :parent #70) #("settings.py" 0 11 (:parent #76))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #70)) (subscript (:begin 10263 :end 10276 :use-brackets-p nil :contents-begin 10264 :contents-end 10275 :post-blank 1 :parent #70) #("settings.py" 0 11 (:parent #78))) #("and pass it into GN2 with\n" 0 26 (:parent #70))) (fixed-width (:begin 10303 :end 10346 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 10303 :mode nil :granularity nil :parent #62)) (paragraph (:begin 10346 :end 10492 :contents-begin 10346 :contents-end 10491 :post-blank 1 :post-affiliated 10346 :mode nil :granularity nil :parent #62) #("and everything " 0 15 (:parent #72)) (bold (:begin 10361 :end 10370 :post-blank 1 :contents-begin 10362 :contents-end 10368 :parent #72) #("should" 0 6 (:parent #76))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #72))) (paragraph (:begin 10492 :end 10620 :contents-begin 10492 :contents-end 10619 :post-blank 1 :post-affiliated 10492 :mode nil :granularity nil :parent #62) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #73))) (fixed-width (:begin 10620 :end 10721 :value "cat ~/.guix-profile/lib/python2.7/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 10620 :mode nil :granularity nil :parent #62)))) (headline (:raw-value "Set up nginx port forwarding" :begin 10722 :end 12840 :pre-blank 1 :contents-begin 10755 :contents-end 12839 :robust-begin 10757 :robust-end 12837 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 10722 :title (#("Set up nginx port forwarding" 0 28 (:parent #60))) :mode nil :granularity nil :parent #55) (section (:begin 10755 :end 12840 :contents-begin 10755 :contents-end 12839 :robust-begin 10755 :robust-end 12837 :post-blank 1 :post-affiliated 10755 :mode section :granularity nil :parent #60) (paragraph (:begin 10755 :end 10923 :contents-begin 10755 :contents-end 10922 :post-blank 1 :post-affiliated 10755 :mode planning :granularity nil :parent #63) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #66))) (paragraph (:begin 10923 :end 11063 :contents-begin 10923 :contents-end 11062 :post-blank 1 :post-affiliated 10923 :mode nil :granularity nil :parent #63) #("#+begin" 0 7 (:parent #67)) (subscript (:begin 10930 :end 10935 :use-brackets-p nil :contents-begin 10931 :contents-end 10934 :post-blank 1 :parent #67) #("src" 0 3 (:parent #71))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #67)) (subscript (:begin 10984 :end 10990 :use-brackets-p nil :contents-begin 10985 :contents-end 10989 :post-blank 1 :parent #67) #("name" 0 4 (:parent #73))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #67)) (subscript (:begin 11030 :end 11036 :use-brackets-p nil :contents-begin 11031 :contents-end 11034 :post-blank 2 :parent #67) #("log" 0 3 (:parent #75))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #67))) (paragraph (:begin 11063 :end 11232 :contents-begin 11063 :contents-end 11231 :post-blank 1 :post-affiliated 11063 :mode nil :granularity nil :parent #63) #(" proxy" 0 13 (:parent #68)) (subscript (:begin 11076 :end 11084 :use-brackets-p nil :contents-begin 11077 :contents-end 11084 :post-blank 0 :parent #68) #("connect" 0 7 (:parent #72))) (subscript (:begin 11084 :end 11099 :use-brackets-p nil :contents-begin 11085 :contents-end 11092 :post-blank 7 :parent #68) #("timeout" 0 7 (:parent #73))) #("3000;\n proxy" 0 19 (:parent #68)) (subscript (:begin 11118 :end 11123 :use-brackets-p nil :contents-begin 11119 :contents-end 11123 :post-blank 0 :parent #68) #("send" 0 4 (:parent #75))) (subscript (:begin 11123 :end 11141 :use-brackets-p nil :contents-begin 11124 :contents-end 11131 :post-blank 10 :parent #68) #("timeout" 0 7 (:parent #76))) #("3000;\n proxy" 0 19 (:parent #68)) (subscript (:begin 11160 :end 11165 :use-brackets-p nil :contents-begin 11161 :contents-end 11165 :post-blank 0 :parent #68) #("read" 0 4 (:parent #78))) (subscript (:begin 11165 :end 11183 :use-brackets-p nil :contents-begin 11166 :contents-end 11173 :post-blank 10 :parent #68) #("timeout" 0 7 (:parent #79))) #("3000;\n send" 0 18 (:parent #68)) (subscript (:begin 11201 :end 11225 :use-brackets-p nil :contents-begin 11202 :contents-end 11209 :post-blank 16 :parent #68) #("timeout" 0 7 (:parent #81))) #("3000;\n" 0 6 (:parent #68))) (paragraph (:begin 11232 :end 11632 :contents-begin 11232 :contents-end 11631 :post-blank 1 :post-affiliated 11232 :mode nil :granularity nil :parent #63) #(" location / {\n proxy" 0 38 (:parent #69)) (subscript (:begin 11270 :end 11274 :use-brackets-p nil :contents-begin 11271 :contents-end 11274 :post-blank 0 :parent #69) #("set" 0 3 (:parent #73))) (subscript (:begin 11274 :end 11284 :use-brackets-p nil :contents-begin 11275 :contents-end 11281 :post-blank 3 :parent #69) #("header" 0 6 (:parent #74))) #("Host $http" 0 15 (:parent #69)) (subscript (:begin 11299 :end 11304 :use-brackets-p nil :contents-begin 11300 :contents-end 11304 :post-blank 0 :parent #69) #("host" 0 4 (:parent #76))) #(";\n proxy" 0 19 (:parent #69)) (subscript (:begin 11323 :end 11327 :use-brackets-p nil :contents-begin 11324 :contents-end 11327 :post-blank 0 :parent #69) #("set" 0 3 (:parent #78))) (subscript (:begin 11327 :end 11337 :use-brackets-p nil :contents-begin 11328 :contents-end 11334 :post-blank 3 :parent #69) #("header" 0 6 (:parent #79))) #("Connection keep-alive;\n proxy" 0 40 (:parent #69)) (subscript (:begin 11377 :end 11381 :use-brackets-p nil :contents-begin 11378 :contents-end 11381 :post-blank 0 :parent #69) #("set" 0 3 (:parent #81))) (subscript (:begin 11381 :end 11391 :use-brackets-p nil :contents-begin 11382 :contents-end 11388 :post-blank 3 :parent #69) #("header" 0 6 (:parent #82))) #("X-Real-IP $remote" 0 17 (:parent #69)) (subscript (:begin 11408 :end 11413 :use-brackets-p nil :contents-begin 11409 :contents-end 11413 :post-blank 0 :parent #69) #("addr" 0 4 (:parent #84))) #(";\n proxy" 0 19 (:parent #69)) (subscript (:begin 11432 :end 11436 :use-brackets-p nil :contents-begin 11433 :contents-end 11436 :post-blank 0 :parent #69) #("set" 0 3 (:parent #86))) (subscript (:begin 11436 :end 11446 :use-brackets-p nil :contents-begin 11437 :contents-end 11443 :post-blank 3 :parent #69) #("header" 0 6 (:parent #87))) #("X-Forwarded-For $proxy" 0 22 (:parent #69)) (subscript (:begin 11468 :end 11472 :use-brackets-p nil :contents-begin 11469 :contents-end 11472 :post-blank 0 :parent #69) #("add" 0 3 (:parent #89))) (subscript (:begin 11472 :end 11474 :use-brackets-p nil :contents-begin 11473 :contents-end 11474 :post-blank 0 :parent #69) #("x" 0 1 (:parent #90))) (subscript (:begin 11474 :end 11484 :use-brackets-p nil :contents-begin 11475 :contents-end 11484 :post-blank 0 :parent #69) #("forwarded" 0 9 (:parent #91))) (subscript (:begin 11484 :end 11488 :use-brackets-p nil :contents-begin 11485 :contents-end 11488 :post-blank 0 :parent #69) #("for" 0 3 (:parent #92))) #(";\n proxy" 0 19 (:parent #69)) (subscript (:begin 11507 :end 11511 :use-brackets-p nil :contents-begin 11508 :contents-end 11511 :post-blank 0 :parent #69) #("set" 0 3 (:parent #94))) (subscript (:begin 11511 :end 11521 :use-brackets-p nil :contents-begin 11512 :contents-end 11518 :post-blank 3 :parent #69) #("header" 0 6 (:parent #95))) #("X-Forwarded-Host $server" 0 24 (:parent #69)) (subscript (:begin 11545 :end 11550 :use-brackets-p nil :contents-begin 11546 :contents-end 11550 :post-blank 0 :parent #69) #("name" 0 4 (:parent #97))) #(";\n proxy" 0 19 (:parent #69)) (subscript (:begin 11569 :end 11583 :use-brackets-p nil :contents-begin 11570 :contents-end 11574 :post-blank 9 :parent #69) #("pass" 0 4 (:parent #99))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 11583 :end 11604 :contents-begin nil :contents-end nil :post-blank 0 :parent #69)) #(";\n }\n}\n#+end" 0 19 (:parent #69)) (subscript (:begin 11623 :end 11628 :use-brackets-p nil :contents-begin 11624 :contents-end 11627 :post-blank 1 :parent #69) #("src" 0 3 (:parent #102))) #("js\n" 0 3 (:parent #69))) (paragraph (:begin 11632 :end 11671 :contents-begin 11632 :contents-end 11670 :post-blank 1 :post-affiliated 11632 :mode nil :granularity nil :parent #63) #("Install the nginx webserver (as root)\n" 0 38 (:parent #70))) (fixed-width (:begin 11671 :end 11696 :value "guix package -i nginx" :post-blank 2 :post-affiliated 11671 :mode nil :granularity nil :parent #63)) (paragraph (:begin 11696 :end 11777 :contents-begin 11696 :contents-end 11776 :post-blank 1 :post-affiliated 11696 :mode nil :granularity nil :parent #63) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #72))) (fixed-width (:begin 11777 :end 11964 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 11777 :mode nil :granularity nil :parent #63)) (paragraph (:begin 11964 :end 11979 :contents-begin 11964 :contents-end 11978 :post-blank 1 :post-affiliated 11964 :mode nil :granularity nil :parent #63) #("Use that path\n" 0 14 (:parent #74))) (fixed-width (:begin 11979 :end 12373 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 11979 :mode nil :granularity nil :parent #63)) (paragraph (:begin 12373 :end 12599 :contents-begin 12373 :contents-end 12599 :post-blank 0 :post-affiliated 12373 :mode nil :granularity nil :parent #63) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #76))) (fixed-width (:begin 12599 :end 12646 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 12599 :mode nil :granularity nil :parent #63)) (paragraph (:begin 12646 :end 12657 :contents-begin 12646 :contents-end 12656 :post-blank 1 :post-affiliated 12646 :mode nil :granularity nil :parent #63) #("Make dirs\n" 0 10 (:parent #78))) (fixed-width (:begin 12657 :end 12691 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 12657 :mode nil :granularity nil :parent #63)) (paragraph (:begin 12691 :end 12702 :contents-begin 12691 :contents-end 12701 :post-blank 1 :post-affiliated 12691 :mode nil :granularity nil :parent #63) #("Add users\n" 0 10 (:parent #80))) (fixed-width (:begin 12702 :end 12738 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 12702 :mode nil :granularity nil :parent #63)) (paragraph (:begin 12738 :end 12749 :contents-begin 12738 :contents-end 12748 :post-blank 1 :post-affiliated 12738 :mode nil :granularity nil :parent #63) #("Run nginx\n" 0 10 (:parent #82))) (fixed-width (:begin 12749 :end 12839 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 12749 :mode nil :granularity nil :parent #63))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 12840 :end 13801 :pre-blank 1 :contents-begin 12902 :contents-end 13801 :robust-begin 12904 :robust-end 13799 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12840 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #56))) :mode nil :granularity nil :parent #46) (section (:begin 12902 :end 12959 :contents-begin 12902 :contents-end 12958 :robust-begin 12902 :robust-end 12956 :post-blank 1 :post-affiliated 12902 :mode section :granularity nil :parent #56) (paragraph (:begin 12902 :end 12958 :contents-begin 12902 :contents-end 12958 :post-blank 0 :post-affiliated 12902 :mode planning :granularity nil :parent #59) #("See the document " 0 17 (:parent #62)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 12919 :end 12956 :contents-begin nil :contents-end nil :post-blank 0 :parent #62)) #(".\n" 0 2 (:parent #62)))) (headline (:raw-value "Update to recent guix" :begin 12959 :end 13409 :pre-blank 1 :contents-begin 12985 :contents-end 13408 :robust-begin 12987 :robust-end 13406 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12959 :title (#("Update to recent guix" 0 21 (:parent #60))) :mode nil :granularity nil :parent #56) (section (:begin 12985 :end 13409 :contents-begin 12985 :contents-end 13408 :robust-begin 12985 :robust-end 13406 :post-blank 1 :post-affiliated 12985 :mode section :granularity nil :parent #60) (paragraph (:begin 12985 :end 13020 :contents-begin 12985 :contents-end 13019 :post-blank 1 :post-affiliated 12985 :mode planning :granularity nil :parent #63) #("We now compile Guix from scratch.\n" 0 34 (:parent #66))) (paragraph (:begin 13020 :end 13295 :contents-begin 13020 :contents-end 13294 :post-blank 1 :post-affiliated 13020 :mode nil :granularity nil :parent #63) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #67)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 13159 :end 13272 :contents-begin 13264 :contents-end 13269 :post-blank 1 :parent #67) #("these" 0 5 (:parent #71))) #("steps carefully after\n" 0 22 (:parent #67))) (fixed-width (:begin 13295 :end 13330 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 13295 :mode nil :granularity nil :parent #63)) (paragraph (:begin 13330 :end 13408 :contents-begin 13330 :contents-end 13408 :post-blank 0 :post-affiliated 13330 :mode nil :granularity nil :parent #63) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #69))))) (headline (:raw-value "Install GN2" :begin 13409 :end 13801 :pre-blank 1 :contents-begin 13425 :contents-end 13801 :robust-begin 13427 :robust-end 13799 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 13409 :title (#("Install GN2" 0 11 (:parent #61))) :mode nil :granularity nil :parent #56) (section (:begin 13425 :end 13801 :contents-begin 13425 :contents-end 13801 :robust-begin 13425 :robust-end 13799 :post-blank 0 :post-affiliated 13425 :mode section :granularity nil :parent #61) (paragraph (:begin 13425 :end 13468 :contents-begin 13425 :contents-end 13467 :post-blank 1 :post-affiliated 13425 :mode planning :granularity nil :parent #64) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #67))) (paragraph (:begin 13468 :end 13676 :contents-begin 13468 :contents-end 13675 :post-blank 1 :post-affiliated 13468 :mode nil :granularity nil :parent #64) #("#+begin" 0 7 (:parent #68)) (subscript (:begin 13475 :end 13480 :use-brackets-p nil :contents-begin 13476 :contents-end 13479 :post-blank 1 :parent #68) #("src" 0 3 (:parent #72))) #("bash\nenv GUIX" 0 13 (:parent #68)) (subscript (:begin 13493 :end 13501 :use-brackets-p nil :contents-begin 13494 :contents-end 13501 :post-blank 0 :parent #68) #("PACKAGE" 0 7 (:parent #74))) (subscript (:begin 13501 :end 13506 :use-brackets-p nil :contents-begin 13502 :contents-end 13506 :post-blank 0 :parent #68) #("PATH" 0 4 (:parent #75))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #68)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 13605 :end 13633 :contents-begin nil :contents-end nil :post-blank 1 :parent #68)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 13633 :end 13658 :contents-begin nil :contents-end nil :post-blank 0 :parent #68)) #("\"\n#+end" 0 7 (:parent #68)) (subscript (:begin 13665 :end 13670 :use-brackets-p nil :contents-begin 13666 :contents-end 13669 :post-blank 1 :parent #68) #("src" 0 3 (:parent #80))) #("bash\n" 0 5 (:parent #68))) (paragraph (:begin 13676 :end 13714 :contents-begin 13676 :contents-end 13713 :post-blank 1 :post-affiliated 13676 :mode nil :granularity nil :parent #64) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #69))) (paragraph (:begin 13714 :end 13801 :contents-begin 13714 :contents-end 13801 :post-blank 0 :post-affiliated 13714 :mode nil :granularity nil :parent #64) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #70)))))))) (section (:begin 121 :end 1404 :contents-begin 121 :contents-end 1403 :robust-begin 121 :robust-end 1401 :post-blank 1 :post-affiliated 121 :mode section :granularity nil :parent #0) (plain-list (:type unordered :begin 121 :end 1403 :contents-begin 121 :contents-end 1403 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 121 :mode planning :granularity nil :parent #3) (item (:bullet "- " :begin 121 :end 156 :contents-begin 124 :contents-end 156 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 121 :tag nil :mode item :granularity nil :parent #6) (paragraph (:begin 124 :end 156 :contents-begin 124 :contents-end 156 :post-blank 0 :post-affiliated 124 :mode nil :granularity nil :parent #9) (link (:type "custom-id" :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil :begin 124 :end 155 :contents-begin 141 :contents-end 153 :post-blank 0 :parent #12) #("Introduction" 0 12 (:parent #15))) #("\n" 0 1 (:parent #12)))) (item (:bullet "- " :begin 156 :end 521 :contents-begin 159 :contents-end 521 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 156 :tag nil :mode item :granularity nil :parent #6) (paragraph (:begin 159 :end 217 :contents-begin 159 :contents-end 217 :post-blank 0 :post-affiliated 159 :mode nil :granularity nil :parent #10) (link (:type "custom-id" :path "quick-installation-recipe" :format bracket :raw-link "#quick-installation-recipe" :application nil :search-option nil :begin 159 :end 216 :contents-begin 189 :contents-end 214 :post-blank 0 :parent #13) #("Quick installation recipe" 0 25 (:parent #16))) #("\n" 0 1 (:parent #13))) (plain-list (:type unordered :begin 217 :end 521 :contents-begin 217 :contents-end 521 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 217 :mode nil :granularity nil :parent #10) (item (:bullet "- " :begin 217 :end 277 :contents-begin 222 :contents-end 277 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 217 :tag nil :mode item :granularity nil :parent #14) (paragraph (:begin 222 :end 277 :contents-begin 222 :contents-end 277 :post-blank 0 :post-affiliated 222 :mode nil :granularity nil :parent #17) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 222 :end 276 :contents-begin 250 :contents-end 274 :post-blank 0 :parent #20) #("Step 1: Install GNU Guix" 0 24 (:parent #23))) #("\n" 0 1 (:parent #20)))) (item (:bullet "- " :begin 277 :end 371 :contents-begin 282 :contents-end 371 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 277 :tag nil :mode item :granularity nil :parent #14) (paragraph (:begin 282 :end 371 :contents-begin 282 :contents-end 371 :post-blank 0 :post-affiliated 282 :mode nil :granularity nil :parent #18) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 282 :end 370 :contents-begin 327 :contents-end 368 :post-blank 0 :parent #21) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #24))) #("\n" 0 1 (:parent #21)))) (item (:bullet "- " :begin 371 :end 455 :contents-begin 376 :contents-end 455 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 371 :tag nil :mode item :granularity nil :parent #14) (paragraph (:begin 376 :end 455 :contents-begin 376 :contents-end 455 :post-blank 0 :post-affiliated 376 :mode nil :granularity nil :parent #19) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 376 :end 454 :contents-begin 416 :contents-end 452 :post-blank 0 :parent #22) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #25))) #("\n" 0 1 (:parent #22)))) (item (:bullet "- " :begin 455 :end 521 :contents-begin 460 :contents-end 521 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 455 :tag nil :mode item :granularity nil :parent #14) (paragraph (:begin 460 :end 521 :contents-begin 460 :contents-end 521 :post-blank 0 :post-affiliated 460 :mode nil :granularity nil :parent #20) (link (:type "custom-id" :path "step-4-install-and-run-gn2" :format bracket :raw-link "#step-4-install-and-run-gn2" :application nil :search-option nil :begin 460 :end 520 :contents-begin 491 :contents-end 518 :post-blank 0 :parent #23) #("Step 4: Install and run GN2" 0 27 (:parent #26))) #("\n" 0 1 (:parent #23)))))) (item (:bullet "- " :begin 521 :end 564 :contents-begin 524 :contents-end 564 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 521 :tag nil :mode item :granularity nil :parent #6) (paragraph (:begin 524 :end 564 :contents-begin 524 :contents-end 564 :post-blank 0 :post-affiliated 524 :mode nil :granularity nil :parent #11) (link (:type "custom-id" :path "run-mysql-server" :format bracket :raw-link "#run-mysql-server" :application nil :search-option nil :begin 524 :end 563 :contents-begin 545 :contents-end 561 :post-blank 0 :parent #14) #("Run MySQL server" 0 16 (:parent #17))) #("\n" 0 1 (:parent #14)))) (item (:bullet "- " :begin 564 :end 615 :contents-begin 567 :contents-end 615 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 564 :tag nil :mode item :granularity nil :parent #6) (paragraph (:begin 567 :end 615 :contents-begin 567 :contents-end 615 :post-blank 0 :post-affiliated 567 :mode nil :granularity nil :parent #12) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 567 :end 614 :contents-begin 592 :contents-end 612 :post-blank 0 :parent #15) #("GN2 Dependency Graph" 0 20 (:parent #18))) #("\n" 0 1 (:parent #15)))) (item (:bullet "- " :begin 615 :end 790 :contents-begin 618 :contents-end 790 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 615 :tag nil :mode item :granularity nil :parent #6) (paragraph (:begin 618 :end 660 :contents-begin 618 :contents-end 660 :post-blank 0 :post-affiliated 618 :mode nil :granularity nil :parent #13) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 618 :end 659 :contents-begin 640 :contents-end 657 :post-blank 0 :parent #16) #("Source deployment" 0 17 (:parent #19))) #("\n" 0 1 (:parent #16))) (plain-list (:type unordered :begin 660 :end 790 :contents-begin 660 :contents-end 790 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 660 :mode nil :granularity nil :parent #13) (item (:bullet "- " :begin 660 :end 721 :contents-begin 665 :contents-end 721 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 660 :tag nil :mode item :granularity nil :parent #17) (paragraph (:begin 665 :end 721 :contents-begin 665 :contents-end 721 :post-blank 0 :post-affiliated 665 :mode nil :granularity nil :parent #20) (link (:type "custom-id" :path "run-your-own-copy-of-gn2" :format bracket :raw-link "#run-your-own-copy-of-gn2" :application nil :search-option nil :begin 665 :end 720 :contents-begin 694 :contents-end 718 :post-blank 0 :parent #23) #("Run your own copy of GN2" 0 24 (:parent #26))) #("\n" 0 1 (:parent #23)))) (item (:bullet "- " :begin 721 :end 790 :contents-begin 726 :contents-end 790 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 721 :tag nil :mode item :granularity nil :parent #17) (paragraph (:begin 726 :end 790 :contents-begin 726 :contents-end 790 :post-blank 0 :post-affiliated 726 :mode nil :granularity nil :parent #21) (link (:type "custom-id" :path "set-up-nginx-port-forwarding" :format bracket :raw-link "#set-up-nginx-port-forwarding" :application nil :search-option nil :begin 726 :end 789 :contents-begin 759 :contents-end 787 :post-blank 0 :parent #24) #("Set up nginx port forwarding" 0 28 (:parent #27))) #("\n" 0 1 (:parent #24)))))) (item (:bullet "- " :begin 790 :end 1034 :contents-begin 793 :contents-end 1034 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 790 :tag nil :mode item :granularity nil :parent #6) (paragraph (:begin 793 :end 917 :contents-begin 793 :contents-end 917 :post-blank 0 :post-affiliated 793 :mode nil :granularity nil :parent #14) (link (:type "custom-id" :path "source-deployment-and-other-information-on-reproducibility" :format bracket :raw-link "#source-deployment-and-other-information-on-reproducibility" :application nil :search-option nil :begin 793 :end 916 :contents-begin 856 :contents-end 914 :post-blank 0 :parent #17) #("Source deployment and other information on reproducibility" 0 58 (:parent #20))) #("\n" 0 1 (:parent #17))) (plain-list (:type unordered :begin 917 :end 1034 :contents-begin 917 :contents-end 1034 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 917 :mode nil :granularity nil :parent #14) (item (:bullet "- " :begin 917 :end 972 :contents-begin 922 :contents-end 972 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 917 :tag nil :mode item :granularity nil :parent #18) (paragraph (:begin 922 :end 972 :contents-begin 922 :contents-end 972 :post-blank 0 :post-affiliated 922 :mode nil :granularity nil :parent #21) (link (:type "custom-id" :path "update-to-recent-guix" :format bracket :raw-link "#update-to-recent-guix" :application nil :search-option nil :begin 922 :end 971 :contents-begin 948 :contents-end 969 :post-blank 0 :parent #24) #("Update to recent guix" 0 21 (:parent #27))) #("\n" 0 1 (:parent #24)))) (item (:bullet "- " :begin 972 :end 1007 :contents-begin 977 :contents-end 1007 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 972 :tag nil :mode item :granularity nil :parent #18) (paragraph (:begin 977 :end 1007 :contents-begin 977 :contents-end 1007 :post-blank 0 :post-affiliated 977 :mode nil :granularity nil :parent #22) (link (:type "custom-id" :path "install-gn2" :format bracket :raw-link "#install-gn2" :application nil :search-option nil :begin 977 :end 1006 :contents-begin 993 :contents-end 1004 :post-blank 0 :parent #25) #("Install GN2" 0 11 (:parent #28))) #("\n" 0 1 (:parent #25)))) (item (:bullet "- " :begin 1007 :end 1034 :contents-begin 1012 :contents-end 1034 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1007 :tag nil :mode item :granularity nil :parent #18) (paragraph (:begin 1012 :end 1034 :contents-begin 1012 :contents-end 1034 :post-blank 0 :post-affiliated 1012 :mode nil :granularity nil :parent #23) (link (:type "custom-id" :path "run-gn2" :format bracket :raw-link "#run-gn2" :application nil :search-option nil :begin 1012 :end 1033 :contents-begin 1024 :contents-end 1031 :post-blank 0 :parent #26) #("Run GN2" 0 7 (:parent #29))) #("\n" 0 1 (:parent #26)))))) (item (:bullet "- " :begin 1034 :end 1370 :contents-begin 1037 :contents-end 1370 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1034 :tag nil :mode item :granularity nil :parent #6) (paragraph (:begin 1037 :end 1077 :contents-begin 1037 :contents-end 1077 :post-blank 0 :post-affiliated 1037 :mode nil :granularity nil :parent #15) (link (:type "custom-id" :path "trouble-shooting" :format bracket :raw-link "#trouble-shooting" :application nil :search-option nil :begin 1037 :end 1076 :contents-begin 1058 :contents-end 1074 :post-blank 0 :parent #18) #("Trouble shooting" 0 16 (:parent #21))) #("\n" 0 1 (:parent #18))) (plain-list (:type unordered :begin 1077 :end 1370 :contents-begin 1077 :contents-end 1370 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 1077 :mode nil :granularity nil :parent #15) (item (:bullet "- " :begin 1077 :end 1159 :contents-begin 1082 :contents-end 1159 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1077 :tag nil :mode item :granularity nil :parent #19) (paragraph (:begin 1082 :end 1159 :contents-begin 1082 :contents-end 1159 :post-blank 0 :post-affiliated 1082 :mode nil :granularity nil :parent #22) (link (:type "custom-id" :path "importerror-no-module-named-jinja2" :format bracket :raw-link "#importerror-no-module-named-jinja2" :application nil :search-option nil :begin 1082 :end 1158 :contents-begin 1121 :contents-end 1156 :post-blank 0 :parent #25) #("ImportError: No module named jinja2" 0 35 (:parent #28))) #("\n" 0 1 (:parent #25)))) (item (:bullet "- " :begin 1159 :end 1257 :contents-begin 1164 :contents-end 1257 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1159 :tag nil :mode item :granularity nil :parent #19) (paragraph (:begin 1164 :end 1257 :contents-begin 1164 :contents-end 1257 :post-blank 0 :post-affiliated 1164 :mode nil :granularity nil :parent #23) (link (:type "custom-id" :path "error-can-not-find-directory-homegn2_data" :format bracket :raw-link "#error-can-not-find-directory-homegn2_data" :application nil :search-option nil :begin 1164 :end 1256 :contents-begin 1210 :contents-end 1254 :post-blank 0 :parent #26) #("ERROR: can not find directory $HOME/gn2" 0 39 (:parent #29)) (subscript (:begin 1249 :end 1254 :use-brackets-p nil :contents-begin 1250 :contents-end 1254 :post-blank 0 :parent #29) #("data" 0 4 (:parent #33)))) #("\n" 0 1 (:parent #26)))) (item (:bullet "- " :begin 1257 :end 1305 :contents-begin 1262 :contents-end 1305 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1257 :tag nil :mode item :granularity nil :parent #19) (paragraph (:begin 1262 :end 1305 :contents-begin 1262 :contents-end 1305 :post-blank 0 :post-affiliated 1262 :mode nil :granularity nil :parent #24) (link (:type "custom-id" :path "cant-run-a-module" :format bracket :raw-link "#cant-run-a-module" :application nil :search-option nil :begin 1262 :end 1304 :contents-begin 1284 :contents-end 1302 :post-blank 0 :parent #27) #("Can't run a module" 0 18 (:parent #30))) #("\n" 0 1 (:parent #27)))) (item (:bullet "- " :begin 1305 :end 1370 :contents-begin 1310 :contents-end 1370 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1305 :tag nil :mode item :granularity nil :parent #19) (paragraph (:begin 1310 :end 1370 :contents-begin 1310 :contents-end 1370 :post-blank 0 :post-affiliated 1310 :mode nil :granularity nil :parent #25) (link (:type "custom-id" :path "rpy2-error-show-now-found" :format bracket :raw-link "#rpy2-error-show-now-found" :application nil :search-option nil :begin 1310 :end 1369 :contents-begin 1340 :contents-end 1367 :post-blank 0 :parent #28) #("Rpy2 error 'show' now found" 0 27 (:parent #31))) #("\n" 0 1 (:parent #28)))))) (item (:bullet "- " :begin 1370 :end 1403 :contents-begin 1373 :contents-end 1403 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1370 :tag nil :mode item :granularity nil :parent #6) (paragraph (:begin 1373 :end 1403 :contents-begin 1373 :contents-end 1403 :post-blank 0 :post-affiliated 1373 :mode nil :granularity nil :parent #16) (link (:type "custom-id" :path "irc-session" :format bracket :raw-link "#irc-session" :application nil :search-option nil :begin 1373 :end 1402 :contents-begin 1389 :contents-end 1400 :post-blank 0 :parent #19) #("IRC session" 0 11 (:parent #22))) #("\n" 0 1 (:parent #19))))))) (:export-options (body-only) :back-end #s(org-export-backend :name html :parent nil :transcoders ((bold . org-html-bold) (center-block . org-html-center-block) (clock . org-html-clock) (code . org-html-code) (drawer . org-html-drawer) (dynamic-block . org-html-dynamic-block) (entity . org-html-entity) (example-block . org-html-example-block) (export-block . org-html-export-block) (export-snippet . org-html-export-snippet) (fixed-width . org-html-fixed-width) (footnote-reference . org-html-footnote-reference) (headline . org-html-headline) (horizontal-rule . org-html-horizontal-rule) (inline-src-block . org-html-inline-src-block) (inlinetask . org-html-inlinetask) (inner-template . org-html-inner-template) (italic . org-html-italic) (item . org-html-item) (keyword . org-html-keyword) (latex-environment . org-html-latex-environment) (latex-fragment . org-html-latex-fragment) (line-break . org-html-line-break) (link . org-html-link) (node-property . org-html-node-property) (paragraph . org-html-paragraph) (plain-list . org-html-plain-list) (plain-text . org-html-plain-text) (planning . org-html-planning) (property-drawer . org-html-property-drawer) (quote-block . org-html-quote-block) (radio-target . org-html-radio-target) (section . org-html-section) (special-block . org-html-special-block) (src-block . org-html-src-block) (statistics-cookie . org-html-statistics-cookie) (strike-through . org-html-strike-through) (subscript . org-html-subscript) (superscript . org-html-superscript) (table . org-html-table) (table-cell . org-html-table-cell) (table-row . org-html-table-row) (target . org-html-target) (template . org-html-template) (timestamp . org-html-timestamp) (underline . org-html-underline) (verbatim . org-html-verbatim) (verse-block . org-html-verse-block)) :options ((:html-doctype "HTML_DOCTYPE" nil org-html-doctype) (:html-container "HTML_CONTAINER" nil org-html-container-element) (:html-content-class "HTML_CONTENT_CLASS" nil org-html-content-class) (:description "DESCRIPTION" nil nil newline) (:keywords "KEYWORDS" nil nil space) (:html-html5-fancy nil "html5-fancy" org-html-html5-fancy) (:html-link-use-abs-url nil "html-link-use-abs-url" org-html-link-use-abs-url) (:html-link-home "HTML_LINK_HOME" nil org-html-link-home) (:html-link-up "HTML_LINK_UP" nil org-html-link-up) (:html-mathjax "HTML_MATHJAX" nil "" space) (:html-equation-reference-format "HTML_EQUATION_REFERENCE_FORMAT" nil org-html-equation-reference-format t) (:html-postamble nil "html-postamble" org-html-postamble) (:html-preamble nil "html-preamble" org-html-preamble) (:html-head "HTML_HEAD" nil org-html-head newline) (:html-head-extra "HTML_HEAD_EXTRA" nil org-html-head-extra newline) (:subtitle "SUBTITLE" nil nil parse) (:html-head-include-default-style nil "html-style" org-html-head-include-default-style) (:html-head-include-scripts nil "html-scripts" org-html-head-include-scripts) (:html-allow-name-attribute-in-anchors nil nil org-html-allow-name-attribute-in-anchors) (:html-divs nil nil org-html-divs) (:html-checkbox-type nil nil org-html-checkbox-type) (:html-extension nil nil org-html-extension) (:html-footnote-format nil nil org-html-footnote-format) (:html-footnote-separator nil nil org-html-footnote-separator) (:html-footnotes-section nil nil org-html-footnotes-section) (:html-format-drawer-function nil nil org-html-format-drawer-function) (:html-format-headline-function nil nil org-html-format-headline-function) (:html-format-inlinetask-function nil nil org-html-format-inlinetask-function) (:html-home/up-format nil nil org-html-home/up-format) (:html-indent nil nil org-html-indent) (:html-infojs-options nil nil org-html-infojs-options) (:html-infojs-template nil nil org-html-infojs-template) (:html-inline-image-rules nil nil org-html-inline-image-rules) (:html-link-org-files-as-html nil nil org-html-link-org-files-as-html) (:html-mathjax-options nil nil org-html-mathjax-options) (:html-mathjax-template nil nil org-html-mathjax-template) (:html-metadata-timestamp-format nil nil org-html-metadata-timestamp-format) (:html-postamble-format nil nil org-html-postamble-format) (:html-preamble-format nil nil org-html-preamble-format) (:html-prefer-user-labels nil nil org-html-prefer-user-labels) (:html-self-link-headlines nil nil org-html-self-link-headlines) (:html-table-align-individual-fields nil nil org-html-table-align-individual-fields) (:html-table-caption-above nil nil org-html-table-caption-above) (:html-table-data-tags nil nil org-html-table-data-tags) (:html-table-header-tags nil nil org-html-table-header-tags) (:html-table-use-header-tags-for-first-column nil nil org-html-table-use-header-tags-for-first-column) (:html-tag-class-prefix nil nil org-html-tag-class-prefix) (:html-text-markup-alist nil nil org-html-text-markup-alist) (:html-todo-kwd-class-prefix nil nil org-html-todo-kwd-class-prefix) (:html-toplevel-hlevel nil nil org-html-toplevel-hlevel) (:html-use-infojs nil nil org-html-use-infojs) (:html-validation-link nil nil org-html-validation-link) (:html-viewport nil nil org-html-viewport) (:html-inline-images nil nil org-html-inline-images) (:html-table-attributes nil nil org-html-table-default-attributes) (:html-table-row-open-tag nil nil org-html-table-row-open-tag) (:html-table-row-close-tag nil nil org-html-table-row-close-tag) (:html-xml-declaration nil nil org-html-xml-declaration) (:html-wrap-src-lines nil nil org-html-wrap-src-lines) (:html-klipsify-src nil nil org-html-klipsify-src) (:html-klipse-css nil nil org-html-klipse-css) (:html-klipse-js nil nil org-html-klipse-js) (:html-klipse-selection-script nil nil org-html-klipse-selection-script) (:infojs-opt "INFOJS_OPT" nil nil) (:creator "CREATOR" nil org-html-creator-string) (:with-latex nil "tex" org-html-with-latex) (:latex-header "LATEX_HEADER" nil nil newline)) :filters ((:filter-options . org-html-infojs-install-script) (:filter-parse-tree . org-html-image-link-filter) (:filter-final-output . org-html-final-function)) :blocks nil :menu (104 "Export to HTML" ((72 "As HTML buffer" org-html-export-as-html) (104 "As HTML file" org-html-export-to-html) (111 "As HTML file and open" (lambda (a s v b) (if a (org-html-export-to-html t s v b) (org-open-file (org-html-export-to-html nil s v b)))))))) :translate-alist ((bold . org-html-bold) (center-block . org-html-center-block) (clock . org-html-clock) (code . org-html-code) (drawer . org-html-drawer) (dynamic-block . org-html-dynamic-block) (entity . org-html-entity) (example-block . org-html-example-block) (export-block . org-html-export-block) (export-snippet . org-html-export-snippet) (fixed-width . org-html-fixed-width) (footnote-reference . org-html-footnote-reference) (headline . org-html-headline) (horizontal-rule . org-html-horizontal-rule) (inline-src-block . org-html-inline-src-block) (inlinetask . org-html-inlinetask) (inner-template . org-html-inner-template) (italic . org-html-italic) (item . org-html-item) (keyword . org-html-keyword) (latex-environment . org-html-latex-environment) (latex-fragment . org-html-latex-fragment) (line-break . org-html-line-break) (link . org-html-link) (node-property . org-html-node-property) (paragraph . org-html-paragraph) (plain-list . org-html-plain-list) (plain-text . org-html-plain-text) (planning . org-html-planning) (property-drawer . org-html-property-drawer) (quote-block . org-html-quote-block) (radio-target . org-html-radio-target) (section . org-html-section) (special-block . org-html-special-block) (src-block . org-html-src-block) (statistics-cookie . org-html-statistics-cookie) (strike-through . org-html-strike-through) (subscript . org-html-subscript) (superscript . org-html-superscript) (table . org-html-table) (table-cell . org-html-table-cell) (table-row . org-html-table-row) (target . org-html-target) (template . org-html-template) (timestamp . org-html-timestamp) (underline . org-html-underline) (verbatim . org-html-verbatim) (verse-block . org-html-verse-block)) :exported-data # :input-buffer " *temp*" :input-file nil :html-doctype "xhtml-strict" :html-container "div" :html-content-class "content" :description nil :keywords nil :html-html5-fancy nil :html-link-use-abs-url nil :html-link-home "" :html-link-up "" :html-mathjax "" :html-equation-reference-format "\\eqref{%s}" :html-postamble auto :html-preamble t :html-head "" :html-head-extra "" :subtitle nil :html-head-include-default-style t :html-head-include-scripts nil :html-allow-name-attribute-in-anchors nil :html-divs ((preamble "div" "preamble") (content "div" "content") (postamble "div" "postamble")) :html-checkbox-type ascii :html-extension "html" :html-footnote-format "%s" :html-footnote-separator ", " :html-footnotes-section "
\n

%s:

\n
\n%s\n
\n
" :html-format-drawer-function #f(compiled-function (name contents) #) :html-format-headline-function org-html-format-headline-default-function :html-format-inlinetask-function org-html-format-inlinetask-default-function :html-home/up-format "
\n UP \n |\n HOME \n
" :html-indent nil :html-infojs-options ((path . "https://orgmode.org/org-info.js") (view . "info") (toc . :with-toc) (ftoc . "0") (tdepth . "max") (sdepth . "max") (mouse . "underline") (buttons . "0") (ltoc . "1") (up . :html-link-up) (home . :html-link-home)) :html-infojs-template "\n\n" :html-inline-image-rules (("file" . "\\(?:\\.\\(?:gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)") ("http" . "\\(?:\\.\\(?:gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)") ("https" . "\\(?:\\.\\(?:gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)")) :html-link-org-files-as-html t :html-mathjax-options ((path "https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js") (scale 1.0) (align "center") (font "mathjax-modern") (overflow "overflow") (tags "ams") (indent "0em") (multlinewidth "85%") (tagindent ".8em") (tagside "right")) :html-mathjax-template "\n\n\n" :html-metadata-timestamp-format "%Y-%m-%d %a %H:%M" :html-postamble-format (("en" "

Author: %a (%e)

\n

Date: %d

\n

%c

\n

%v

")) :html-preamble-format (("en" "")) :html-prefer-user-labels nil :html-self-link-headlines nil :html-table-align-individual-fields t :html-table-caption-above t :html-table-data-tags ("" . "") :html-table-header-tags ("" . "") :html-table-use-header-tags-for-first-column nil :html-tag-class-prefix "" :html-text-markup-alist ((bold . "%s") (code . "%s") (italic . "%s") (strike-through . "%s") (underline . "%s") (verbatim . "%s")) :html-todo-kwd-class-prefix "" :html-toplevel-hlevel 2 :html-use-infojs when-configured :html-validation-link "Validate" :html-viewport ((width "device-width") (initial-scale "1") (minimum-scale "") (maximum-scale "") (user-scalable "")) :html-inline-images t :html-table-attributes (:border "2" :cellspacing "0" :cellpadding "6" :rules "groups" :frame "hsides") :html-table-row-open-tag "" :html-table-row-close-tag "" :html-xml-declaration (("html" . "") ("php" . "\"; ?>")) :html-wrap-src-lines nil :html-klipsify-src nil :html-klipse-css "https://storage.googleapis.com/app.klipse.tech/css/codemirror.css" :html-klipse-js "https://storage.googleapis.com/app.klipse.tech/plugin_prod/js/klipse_plugin.min.js" :html-klipse-selection-script "window.klipse_settings = {selector_eval_html: '.src-html',\n selector_eval_js: '.src-js',\n selector_eval_python_client: '.src-python',\n selector_eval_scheme: '.src-scheme',\n selector: '.src-clojure',\n selector_eval_ruby: '.src-ruby'};" :infojs-opt nil :creator "Emacs 29.4 (Org mode 9.6.15)" :with-latex t :latex-header nil :title (#("Installing GeneNetwork services" 0 31 (:parent #148))) :date nil :author (#("unknown" 0 7 (:parent #152))) :email "unknown@genenetwork-development" :language "en" :select-tags ("export") :exclude-tags ("noexport") :headline-levels 3 :preserve-breaks nil :section-numbers nil :time-stamp-file t :with-archived-trees headline :with-author t :with-broken-links nil :with-clocks nil :with-creator nil :with-date t :with-drawers (not "LOGBOOK") :with-email nil :with-emphasize t :with-entities t :with-fixed-width t :with-footnotes t :with-inlinetasks t :with-planning nil :with-priority nil :with-properties nil :with-smart-quotes nil :with-special-strings t :with-statistics-cookies t :with-sub-superscript t :with-toc nil :with-tables t :with-tags t :with-tasks t :with-timestamps t :with-title t :with-todo-keywords t :cite-export (basic nil nil) :bibliography nil :filter-body nil :filter-bold nil :filter-babel-call nil :filter-center-block nil :filter-clock nil :filter-code nil :filter-diary-sexp nil :filter-drawer nil :filter-dynamic-block nil :filter-entity nil :filter-example-block nil :filter-export-block nil :filter-export-snippet nil :filter-final-output (org-html-final-function) :filter-fixed-width nil :filter-footnote-definition nil :filter-footnote-reference nil :filter-headline nil :filter-horizontal-rule nil :filter-inline-babel-call nil :filter-inline-src-block nil :filter-inlinetask nil :filter-italic nil :filter-item nil :filter-keyword nil :filter-latex-environment nil :filter-latex-fragment nil :filter-line-break nil :filter-link nil :filter-node-property nil :filter-options (org-html-infojs-install-script) :filter-paragraph nil :filter-parse-tree (org-html-image-link-filter) :filter-plain-list nil :filter-plain-text nil :filter-planning nil :filter-property-drawer nil :filter-quote-block nil :filter-radio-target nil :filter-section nil :filter-special-block nil :filter-src-block nil :filter-statistics-cookie nil :filter-strike-through nil :filter-subscript nil :filter-superscript nil :filter-table nil :filter-table-cell nil :filter-table-row nil :filter-target nil :filter-timestamp nil :filter-underline nil :filter-verbatim nil :filter-verse-block nil :ignore-list nil :parse-tree (org-data (:begin 1 :contents-begin 1 :contents-end 13801 :end 13801 :robust-begin 3 :robust-end 13799 :post-blank 0 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 43 :contents-begin 1 :contents-end 42 :robust-begin 1 :robust-end 40 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #338) (keyword (:key "TITLE" :value "Installing GeneNetwork services" :begin 1 :end 42 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #341))) (headline (:raw-value "Table of Contents" :begin 43 :end 1404 :pre-blank 0 :contents-begin 121 :contents-end 1403 :robust-begin 123 :robust-end 1401 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 43 :title (#("Table of Contents" 0 17 (:parent #342))) :mode nil :granularity nil :parent #338) (section (:begin 121 :end 1404 :contents-begin 121 :contents-end 1403 :robust-begin 121 :robust-end 1401 :post-blank 1 :post-affiliated 121 :mode section :granularity nil :parent #342) (plain-list (:type unordered :begin 121 :end 1403 :contents-begin 121 :contents-end 1403 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 121 :mode planning :granularity nil :parent #345) (item (:bullet "- " :begin 121 :end 156 :contents-begin 124 :contents-end 156 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 121 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 124 :end 156 :contents-begin 124 :contents-end 156 :post-blank 0 :post-affiliated 124 :mode nil :granularity nil :parent #351) (link (:type "custom-id" :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil :begin 124 :end 155 :contents-begin 141 :contents-end 153 :post-blank 0 :parent #354) #("Introduction" 0 12 (:parent #357))) #("\n" 0 1 (:parent #354)))) (item (:bullet "- " :begin 156 :end 521 :contents-begin 159 :contents-end 521 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 156 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 159 :end 217 :contents-begin 159 :contents-end 217 :post-blank 0 :post-affiliated 159 :mode nil :granularity nil :parent #352) (link (:type "custom-id" :path "quick-installation-recipe" :format bracket :raw-link "#quick-installation-recipe" :application nil :search-option nil :begin 159 :end 216 :contents-begin 189 :contents-end 214 :post-blank 0 :parent #355) #("Quick installation recipe" 0 25 (:parent #358))) #("\n" 0 1 (:parent #355))) (plain-list (:type unordered :begin 217 :end 521 :contents-begin 217 :contents-end 521 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 217 :mode nil :granularity nil :parent #352) (item (:bullet "- " :begin 217 :end 277 :contents-begin 222 :contents-end 277 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 217 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 222 :end 277 :contents-begin 222 :contents-end 277 :post-blank 0 :post-affiliated 222 :mode nil :granularity nil :parent #359) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 222 :end 276 :contents-begin 250 :contents-end 274 :post-blank 0 :parent #362) #("Step 1: Install GNU Guix" 0 24 (:parent #365))) #("\n" 0 1 (:parent #362)))) (item (:bullet "- " :begin 277 :end 371 :contents-begin 282 :contents-end 371 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 277 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 282 :end 371 :contents-begin 282 :contents-end 371 :post-blank 0 :post-affiliated 282 :mode nil :granularity nil :parent #360) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 282 :end 370 :contents-begin 327 :contents-end 368 :post-blank 0 :parent #363) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #366))) #("\n" 0 1 (:parent #363)))) (item (:bullet "- " :begin 371 :end 455 :contents-begin 376 :contents-end 455 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 371 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 376 :end 455 :contents-begin 376 :contents-end 455 :post-blank 0 :post-affiliated 376 :mode nil :granularity nil :parent #361) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 376 :end 454 :contents-begin 416 :contents-end 452 :post-blank 0 :parent #364) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #367))) #("\n" 0 1 (:parent #364)))) (item (:bullet "- " :begin 455 :end 521 :contents-begin 460 :contents-end 521 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 455 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 460 :end 521 :contents-begin 460 :contents-end 521 :post-blank 0 :post-affiliated 460 :mode nil :granularity nil :parent #362) (link (:type "custom-id" :path "step-4-install-and-run-gn2" :format bracket :raw-link "#step-4-install-and-run-gn2" :application nil :search-option nil :begin 460 :end 520 :contents-begin 491 :contents-end 518 :post-blank 0 :parent #365) #("Step 4: Install and run GN2" 0 27 (:parent #368))) #("\n" 0 1 (:parent #365)))))) (item (:bullet "- " :begin 521 :end 564 :contents-begin 524 :contents-end 564 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 521 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 524 :end 564 :contents-begin 524 :contents-end 564 :post-blank 0 :post-affiliated 524 :mode nil :granularity nil :parent #353) (link (:type "custom-id" :path "run-mysql-server" :format bracket :raw-link "#run-mysql-server" :application nil :search-option nil :begin 524 :end 563 :contents-begin 545 :contents-end 561 :post-blank 0 :parent #356) #("Run MySQL server" 0 16 (:parent #359))) #("\n" 0 1 (:parent #356)))) (item (:bullet "- " :begin 564 :end 615 :contents-begin 567 :contents-end 615 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 564 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 567 :end 615 :contents-begin 567 :contents-end 615 :post-blank 0 :post-affiliated 567 :mode nil :granularity nil :parent #354) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 567 :end 614 :contents-begin 592 :contents-end 612 :post-blank 0 :parent #357) #("GN2 Dependency Graph" 0 20 (:parent #360))) #("\n" 0 1 (:parent #357)))) (item (:bullet "- " :begin 615 :end 790 :contents-begin 618 :contents-end 790 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 615 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 618 :end 660 :contents-begin 618 :contents-end 660 :post-blank 0 :post-affiliated 618 :mode nil :granularity nil :parent #355) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 618 :end 659 :contents-begin 640 :contents-end 657 :post-blank 0 :parent #358) #("Source deployment" 0 17 (:parent #361))) #("\n" 0 1 (:parent #358))) (plain-list (:type unordered :begin 660 :end 790 :contents-begin 660 :contents-end 790 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 660 :mode nil :granularity nil :parent #355) (item (:bullet "- " :begin 660 :end 721 :contents-begin 665 :contents-end 721 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 660 :tag nil :mode item :granularity nil :parent #359) (paragraph (:begin 665 :end 721 :contents-begin 665 :contents-end 721 :post-blank 0 :post-affiliated 665 :mode nil :granularity nil :parent #362) (link (:type "custom-id" :path "run-your-own-copy-of-gn2" :format bracket :raw-link "#run-your-own-copy-of-gn2" :application nil :search-option nil :begin 665 :end 720 :contents-begin 694 :contents-end 718 :post-blank 0 :parent #365) #("Run your own copy of GN2" 0 24 (:parent #368))) #("\n" 0 1 (:parent #365)))) (item (:bullet "- " :begin 721 :end 790 :contents-begin 726 :contents-end 790 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 721 :tag nil :mode item :granularity nil :parent #359) (paragraph (:begin 726 :end 790 :contents-begin 726 :contents-end 790 :post-blank 0 :post-affiliated 726 :mode nil :granularity nil :parent #363) (link (:type "custom-id" :path "set-up-nginx-port-forwarding" :format bracket :raw-link "#set-up-nginx-port-forwarding" :application nil :search-option nil :begin 726 :end 789 :contents-begin 759 :contents-end 787 :post-blank 0 :parent #366) #("Set up nginx port forwarding" 0 28 (:parent #369))) #("\n" 0 1 (:parent #366)))))) (item (:bullet "- " :begin 790 :end 1034 :contents-begin 793 :contents-end 1034 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 790 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 793 :end 917 :contents-begin 793 :contents-end 917 :post-blank 0 :post-affiliated 793 :mode nil :granularity nil :parent #356) (link (:type "custom-id" :path "source-deployment-and-other-information-on-reproducibility" :format bracket :raw-link "#source-deployment-and-other-information-on-reproducibility" :application nil :search-option nil :begin 793 :end 916 :contents-begin 856 :contents-end 914 :post-blank 0 :parent #359) #("Source deployment and other information on reproducibility" 0 58 (:parent #362))) #("\n" 0 1 (:parent #359))) (plain-list (:type unordered :begin 917 :end 1034 :contents-begin 917 :contents-end 1034 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 917 :mode nil :granularity nil :parent #356) (item (:bullet "- " :begin 917 :end 972 :contents-begin 922 :contents-end 972 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 917 :tag nil :mode item :granularity nil :parent #360) (paragraph (:begin 922 :end 972 :contents-begin 922 :contents-end 972 :post-blank 0 :post-affiliated 922 :mode nil :granularity nil :parent #363) (link (:type "custom-id" :path "update-to-recent-guix" :format bracket :raw-link "#update-to-recent-guix" :application nil :search-option nil :begin 922 :end 971 :contents-begin 948 :contents-end 969 :post-blank 0 :parent #366) #("Update to recent guix" 0 21 (:parent #369))) #("\n" 0 1 (:parent #366)))) (item (:bullet "- " :begin 972 :end 1007 :contents-begin 977 :contents-end 1007 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 972 :tag nil :mode item :granularity nil :parent #360) (paragraph (:begin 977 :end 1007 :contents-begin 977 :contents-end 1007 :post-blank 0 :post-affiliated 977 :mode nil :granularity nil :parent #364) (link (:type "custom-id" :path "install-gn2" :format bracket :raw-link "#install-gn2" :application nil :search-option nil :begin 977 :end 1006 :contents-begin 993 :contents-end 1004 :post-blank 0 :parent #367) #("Install GN2" 0 11 (:parent #370))) #("\n" 0 1 (:parent #367)))) (item (:bullet "- " :begin 1007 :end 1034 :contents-begin 1012 :contents-end 1034 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1007 :tag nil :mode item :granularity nil :parent #360) (paragraph (:begin 1012 :end 1034 :contents-begin 1012 :contents-end 1034 :post-blank 0 :post-affiliated 1012 :mode nil :granularity nil :parent #365) (link (:type "custom-id" :path "run-gn2" :format bracket :raw-link "#run-gn2" :application nil :search-option nil :begin 1012 :end 1033 :contents-begin 1024 :contents-end 1031 :post-blank 0 :parent #368) #("Run GN2" 0 7 (:parent #371))) #("\n" 0 1 (:parent #368)))))) (item (:bullet "- " :begin 1034 :end 1370 :contents-begin 1037 :contents-end 1370 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1034 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 1037 :end 1077 :contents-begin 1037 :contents-end 1077 :post-blank 0 :post-affiliated 1037 :mode nil :granularity nil :parent #357) (link (:type "custom-id" :path "trouble-shooting" :format bracket :raw-link "#trouble-shooting" :application nil :search-option nil :begin 1037 :end 1076 :contents-begin 1058 :contents-end 1074 :post-blank 0 :parent #360) #("Trouble shooting" 0 16 (:parent #363))) #("\n" 0 1 (:parent #360))) (plain-list (:type unordered :begin 1077 :end 1370 :contents-begin 1077 :contents-end 1370 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 1077 :mode nil :granularity nil :parent #357) (item (:bullet "- " :begin 1077 :end 1159 :contents-begin 1082 :contents-end 1159 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1077 :tag nil :mode item :granularity nil :parent #361) (paragraph (:begin 1082 :end 1159 :contents-begin 1082 :contents-end 1159 :post-blank 0 :post-affiliated 1082 :mode nil :granularity nil :parent #364) (link (:type "custom-id" :path "importerror-no-module-named-jinja2" :format bracket :raw-link "#importerror-no-module-named-jinja2" :application nil :search-option nil :begin 1082 :end 1158 :contents-begin 1121 :contents-end 1156 :post-blank 0 :parent #367) #("ImportError: No module named jinja2" 0 35 (:parent #370))) #("\n" 0 1 (:parent #367)))) (item (:bullet "- " :begin 1159 :end 1257 :contents-begin 1164 :contents-end 1257 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1159 :tag nil :mode item :granularity nil :parent #361) (paragraph (:begin 1164 :end 1257 :contents-begin 1164 :contents-end 1257 :post-blank 0 :post-affiliated 1164 :mode nil :granularity nil :parent #365) (link (:type "custom-id" :path "error-can-not-find-directory-homegn2_data" :format bracket :raw-link "#error-can-not-find-directory-homegn2_data" :application nil :search-option nil :begin 1164 :end 1256 :contents-begin 1210 :contents-end 1254 :post-blank 0 :parent #368) #("ERROR: can not find directory $HOME/gn2" 0 39 (:parent #371)) (subscript (:begin 1249 :end 1254 :use-brackets-p nil :contents-begin 1250 :contents-end 1254 :post-blank 0 :parent #371) #("data" 0 4 (:parent #375)))) #("\n" 0 1 (:parent #368)))) (item (:bullet "- " :begin 1257 :end 1305 :contents-begin 1262 :contents-end 1305 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1257 :tag nil :mode item :granularity nil :parent #361) (paragraph (:begin 1262 :end 1305 :contents-begin 1262 :contents-end 1305 :post-blank 0 :post-affiliated 1262 :mode nil :granularity nil :parent #366) (link (:type "custom-id" :path "cant-run-a-module" :format bracket :raw-link "#cant-run-a-module" :application nil :search-option nil :begin 1262 :end 1304 :contents-begin 1284 :contents-end 1302 :post-blank 0 :parent #369) #("Can't run a module" 0 18 (:parent #372))) #("\n" 0 1 (:parent #369)))) (item (:bullet "- " :begin 1305 :end 1370 :contents-begin 1310 :contents-end 1370 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1305 :tag nil :mode item :granularity nil :parent #361) (paragraph (:begin 1310 :end 1370 :contents-begin 1310 :contents-end 1370 :post-blank 0 :post-affiliated 1310 :mode nil :granularity nil :parent #367) (link (:type "custom-id" :path "rpy2-error-show-now-found" :format bracket :raw-link "#rpy2-error-show-now-found" :application nil :search-option nil :begin 1310 :end 1369 :contents-begin 1340 :contents-end 1367 :post-blank 0 :parent #370) #("Rpy2 error 'show' now found" 0 27 (:parent #373))) #("\n" 0 1 (:parent #370)))))) (item (:bullet "- " :begin 1370 :end 1403 :contents-begin 1373 :contents-end 1403 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1370 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 1373 :end 1403 :contents-begin 1373 :contents-end 1403 :post-blank 0 :post-affiliated 1373 :mode nil :granularity nil :parent #358) (link (:type "custom-id" :path "irc-session" :format bracket :raw-link "#irc-session" :application nil :search-option nil :begin 1373 :end 1402 :contents-begin 1389 :contents-end 1400 :post-blank 0 :parent #361) #("IRC session" 0 11 (:parent #364))) #("\n" 0 1 (:parent #361))))))) (headline (:raw-value "Introduction" :begin 1404 :end 2450 :pre-blank 1 :contents-begin 1420 :contents-end 2449 :robust-begin 1422 :robust-end 2447 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1404 :title (#("Introduction" 0 12 (:parent #343))) :mode nil :granularity nil :parent #338) (section (:begin 1420 :end 2450 :contents-begin 1420 :contents-end 2449 :robust-begin 1420 :robust-end 2447 :post-blank 1 :post-affiliated 1420 :mode section :granularity nil :parent #343) (paragraph (:begin 1420 :end 1557 :contents-begin 1420 :contents-end 1556 :post-blank 1 :post-affiliated 1420 :mode planning :granularity nil :parent #346) #("If you want to understand the architecture of GN2 read\n" 0 55 (:parent #349)) (link (:type "fuzzy" :path "Architecture.org" :format bracket :raw-link "Architecture.org" :application nil :search-option nil :begin 1475 :end 1495 :contents-begin nil :contents-end nil :post-blank 0 :parent #349)) #(". The rest of this document is mostly on deployment\nof GN2.\n" 0 61 (:parent #349))) (paragraph (:begin 1557 :end 1943 :contents-begin 1557 :contents-end 1942 :post-blank 1 :post-affiliated 1557 :mode nil :granularity nil :parent #346) #("Large system deployments can get very " 0 38 (:parent #350)) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg " :format bracket :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg " :application nil :search-option nil :begin 1595 :end 1656 :contents-begin 1647 :contents-end 1654 :post-blank 0 :parent #350) #("complex" 0 7 (:parent #354))) #(". In this document we\nexplain the GeneNetwork version 2 (GN2) reproducible deployment system\nwhich is based on GNU Guix (see also " 0 130 (:parent #350)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1786 :end 1860 :contents-begin 1848 :contents-end 1858 :post-blank 0 :parent #350) #("Guix-notes" 0 10 (:parent #356))) #("). The Guix\nsystem can be used to install GN with all its files and dependencies.\n" 0 82 (:parent #350))) (paragraph (:begin 1943 :end 2328 :contents-begin 1943 :contents-end 2327 :post-blank 1 :post-affiliated 1943 :mode nil :granularity nil :parent #346) #("The official installation path is from a checked out version of the\nmain Guix package tree and that of the Genenetwork package\ntree. Current supported versions can be found as the SHA values of\n'gn-latest' branches of " 0 218 (:parent #351)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :application nil :search-option nil :begin 2161 :end 2252 :contents-begin 2230 :contents-end 2249 :post-blank 1 :parent #351) #("Guix bioinformatics" 0 19 (:parent #355))) #("and " 0 4 (:parent #351)) (link (:type "https" :path "//github.com/genenetwork/guix/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix/tree/gn-latest" :application nil :search-option nil :begin 2256 :end 2325 :contents-begin 2310 :contents-end 2323 :post-blank 0 :parent #351) #("GNU Guix main" 0 13 (:parent #357))) #(".\n" 0 2 (:parent #351))) (paragraph (:begin 2328 :end 2449 :contents-begin 2328 :contents-end 2449 :post-blank 0 :post-affiliated 2328 :mode nil :granularity nil :parent #346) #("For a full view of runtime dependencies as defined by GNU Guix, see\nthe " 0 72 (:parent #352)) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 2400 :end 2447 :contents-begin 2425 :contents-end 2445 :post-blank 0 :parent #352) #("GN2 Dependency Graph" 0 20 (:parent #356))) #(".\n" 0 2 (:parent #352))))) (headline (:raw-value "Quick installation recipe" :begin 2450 :end 7633 :pre-blank 1 :contents-begin 2479 :contents-end 7632 :robust-begin 2481 :robust-end 7630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 2450 :title (#("Quick installation recipe" 0 25 (:parent #344))) :mode nil :granularity nil :parent #338) (section (:begin 2479 :end 3022 :contents-begin 2479 :contents-end 3021 :robust-begin 2479 :robust-end 3019 :post-blank 1 :post-affiliated 2479 :mode section :granularity nil :parent #344) (paragraph (:begin 2479 :end 2880 :contents-begin 2479 :contents-end 2879 :post-blank 1 :post-affiliated 2479 :mode planning :granularity nil :parent #347) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS). For more elaborate installation\ninstructions see " 0 357 (:parent #350)) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 2836 :end 2877 :contents-begin 2858 :contents-end 2875 :post-blank 0 :parent #350) #("Source deployment" 0 17 (:parent #354))) #(".\n" 0 2 (:parent #350))) (paragraph (:begin 2880 :end 3021 :contents-begin 2880 :contents-end 3021 :post-blank 0 :post-affiliated 2880 :mode nil :granularity nil :parent #347) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #351)))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 3022 :end 4649 :pre-blank 1 :contents-begin 3051 :contents-end 4648 :robust-begin 3053 :robust-end 4646 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3022 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #348))) :mode nil :granularity nil :parent #344) (section (:begin 3051 :end 4649 :contents-begin 3051 :contents-end 4648 :robust-begin 3051 :robust-end 4646 :post-blank 1 :post-affiliated 3051 :mode section :granularity nil :parent #348) (paragraph (:begin 3051 :end 3504 :contents-begin 3051 :contents-end 3503 :post-blank 1 :post-affiliated 3051 :mode planning :granularity nil :parent #351) #("Fetch the GNU Guix binary from " 0 31 (:parent #354)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 3082 :end 3136 :contents-begin 3129 :contents-end 3133 :post-blank 1 :parent #354) #("here" 0 4 (:parent #358))) #("(middle panel) and follow\n" 0 26 (:parent #354)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 3162 :end 3255 :contents-begin 3241 :contents-end 3253 :post-blank 0 :parent #354) #("instructions" 0 12 (:parent #360))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #354))) (paragraph (:begin 3504 :end 3782 :contents-begin 3504 :contents-end 3781 :post-blank 1 :post-affiliated 3504 :mode nil :granularity nil :parent #351) #("Once you have succeeded, you have to " 0 37 (:parent #355)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 3541 :end 3631 :contents-begin 3617 :contents-end 3628 :post-blank 1 :parent #355) #("set the key" 0 11 (:parent #359))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #355))) (src-block (:language "bash" :switches nil :parameters nil :begin 3782 :end 3890 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 3782 :mode nil :granularity nil :parent #351)) (paragraph (:begin 3890 :end 3924 :contents-begin 3890 :contents-end 3923 :post-blank 1 :post-affiliated 3890 :mode nil :granularity nil :parent #351) #("Which should show something like\n" 0 33 (:parent #357))) (fixed-width (:begin 3924 :end 4034 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 3924 :mode nil :granularity nil :parent #351)) (paragraph (:begin 4034 :end 4045 :contents-begin 4034 :contents-end 4044 :post-blank 1 :post-affiliated 4034 :mode nil :granularity nil :parent #351) #("#+end" 0 5 (:parent #359)) (subscript (:begin 4039 :end 4043 :use-brackets-p nil :contents-begin 4040 :contents-end 4043 :post-blank 0 :parent #359) #("src" 0 3 (:parent #363))) #("\n" 0 1 (:parent #359))) (paragraph (:begin 4045 :end 4116 :contents-begin 4045 :contents-end 4115 :post-blank 1 :post-affiliated 4045 :mode nil :granularity nil :parent #351) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #360))) (src-block (:language "bash" :switches nil :parameters nil :begin 4116 :end 4188 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 4116 :mode nil :granularity nil :parent #351)) (paragraph (:begin 4188 :end 4375 :contents-begin 4188 :contents-end 4374 :post-blank 1 :post-affiliated 4188 :mode nil :granularity nil :parent #351) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #362))) (paragraph (:begin 4375 :end 4648 :contents-begin 4375 :contents-end 4648 :post-blank 0 :post-affiliated 4375 :mode nil :granularity nil :parent #351) #("If you need more help we have another writeup in " 0 49 (:parent #363)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 4424 :end 4520 :contents-begin 4508 :contents-end 4518 :post-blank 0 :parent #363) #("guix-notes" 0 10 (:parent #367))) #(". To get\nrid of the locale warning see " 0 39 (:parent #363)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 4559 :end 4646 :contents-begin 4634 :contents-end 4644 :post-blank 0 :parent #363) #("set-locale" 0 10 (:parent #369))) #(".\n" 0 2 (:parent #363))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 4649 :end 5304 :pre-blank 1 :contents-begin 4695 :contents-end 5302 :robust-begin 4697 :robust-end 5300 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4649 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #349))) :mode nil :granularity nil :parent #344) (section (:begin 4695 :end 5304 :contents-begin 4695 :contents-end 5302 :robust-begin 4695 :robust-end 5300 :post-blank 2 :post-affiliated 4695 :mode section :granularity nil :parent #349) (paragraph (:begin 4695 :end 4815 :contents-begin 4695 :contents-end 4814 :post-blank 1 :post-affiliated 4695 :mode planning :granularity nil :parent #352) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #355))) (src-block (:language "bash" :switches nil :parameters nil :begin 4815 :end 4920 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 4815 :mode nil :granularity nil :parent #352)) (paragraph (:begin 4920 :end 4971 :contents-begin 4920 :contents-end 4970 :post-blank 1 :post-affiliated 4920 :mode nil :granularity nil :parent #352) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #357))) (paragraph (:begin 4971 :end 5232 :contents-begin 4971 :contents-end 5231 :post-blank 1 :post-affiliated 4971 :mode nil :granularity nil :parent #352) #("#+begin" 0 7 (:parent #358)) (subscript (:begin 4978 :end 4983 :use-brackets-p nil :contents-begin 4979 :contents-end 4982 :post-blank 1 :parent #358) #("src" 0 3 (:parent #362))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #358)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 5055 :end 5105 :contents-begin nil :contents-end nil :post-blank 0 :parent #358)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #358)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 5147 :end 5183 :contents-begin nil :contents-end nil :post-blank 1 :parent #358)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #358)) (subscript (:begin 5221 :end 5226 :use-brackets-p nil :contents-begin 5222 :contents-end 5225 :post-blank 1 :parent #358) #("src" 0 3 (:parent #368))) #("bash\n" 0 5 (:parent #358))) (paragraph (:begin 5232 :end 5270 :contents-begin 5232 :contents-end 5269 :post-blank 1 :post-affiliated 5232 :mode nil :granularity nil :parent #352) #("To test whether this is working try:\n" 0 37 (:parent #359))) (paragraph (:begin 5270 :end 5302 :contents-begin 5270 :contents-end 5302 :post-blank 0 :post-affiliated 5270 :mode nil :granularity nil :parent #352) #("#+begin" 0 7 (:parent #360)) (subscript (:begin 5277 :end 5282 :use-brackets-p nil :contents-begin 5278 :contents-end 5281 :post-blank 1 :parent #360) #("src" 0 3 (:parent #364))) #("bash\n#+end" 0 10 (:parent #360)) (subscript (:begin 5292 :end 5297 :use-brackets-p nil :contents-begin 5293 :contents-end 5296 :post-blank 1 :parent #360) #("src" 0 3 (:parent #366))) #("bash\n" 0 5 (:parent #360))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 5304 :end 5755 :pre-blank 1 :contents-begin 5345 :contents-end 5754 :robust-begin 5347 :robust-end 5752 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5304 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #350))) :mode nil :granularity nil :parent #344) (section (:begin 5345 :end 5755 :contents-begin 5345 :contents-end 5754 :robust-begin 5345 :robust-end 5752 :post-blank 1 :post-affiliated 5345 :mode section :granularity nil :parent #350) (paragraph (:begin 5345 :end 5445 :contents-begin 5345 :contents-end 5444 :post-blank 1 :post-affiliated 5345 :mode planning :granularity nil :parent #353) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #356))) (src-block (:language "scheme" :switches nil :parameters nil :begin 5445 :end 5589 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 5445 :mode nil :granularity nil :parent #353)) (paragraph (:begin 5589 :end 5621 :contents-begin 5589 :contents-end 5620 :post-blank 1 :post-affiliated 5589 :mode nil :granularity nil :parent #353) #("by pasting it into the command\n" 0 31 (:parent #358))) (src-block (:language "bash" :switches nil :parameters nil :begin 5621 :end 5674 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 5621 :mode nil :granularity nil :parent #353)) (paragraph (:begin 5674 :end 5691 :contents-begin 5674 :contents-end 5690 :post-blank 1 :post-affiliated 5674 :mode nil :granularity nil :parent #353) #("and hit Ctrl-D.\n" 0 16 (:parent #360))) (paragraph (:begin 5691 :end 5754 :contents-begin 5691 :contents-end 5754 :post-blank 0 :post-affiliated 5691 :mode nil :granularity nil :parent #353) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #361))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 5755 :end 7633 :pre-blank 1 :contents-begin 5787 :contents-end 7632 :robust-begin 5789 :robust-end 7630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5755 :title (#("Step 4: Install and run GN2" 0 27 (:parent #351))) :mode nil :granularity nil :parent #344) (section (:begin 5787 :end 7633 :contents-begin 5787 :contents-end 7632 :robust-begin 5787 :robust-end 7630 :post-blank 1 :post-affiliated 5787 :mode section :granularity nil :parent #351) (paragraph (:begin 5787 :end 5927 :contents-begin 5787 :contents-end 5926 :post-blank 1 :post-affiliated 5787 :mode planning :granularity nil :parent #354) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #357))) (src-block (:language "bash" :switches nil :parameters nil :begin 5927 :end 6046 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 5927 :mode nil :granularity nil :parent #354)) (paragraph (:begin 6046 :end 6099 :contents-begin 6046 :contents-end 6098 :post-blank 1 :post-affiliated 6046 :mode nil :granularity nil :parent #354) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #359))) (src-block (:language "bash" :switches nil :parameters nil :begin 6099 :end 6289 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 6099 :mode nil :granularity nil :parent #354)) (paragraph (:begin 6289 :end 6398 :contents-begin 6289 :contents-end 6397 :post-blank 1 :post-affiliated 6289 :mode nil :granularity nil :parent #354) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #361)) (italic (:begin 6360 :end 6366 :post-blank 0 :contents-begin 6361 :contents-end 6365 :parent #361) #("root" 0 4 (:parent #365))) #(".config/guix/latest override).\n" 0 31 (:parent #361))) (paragraph (:begin 6398 :end 6416 :contents-begin 6398 :contents-end 6415 :post-blank 1 :post-affiliated 6398 :mode nil :granularity nil :parent #354) #("And install with\n" 0 17 (:parent #362))) (src-block (:language "bash" :switches nil :parameters nil :begin 6416 :end 6586 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 6416 :mode nil :granularity nil :parent #354)) (paragraph (:begin 6586 :end 6729 :contents-begin 6586 :contents-end 6728 :post-blank 1 :post-affiliated 6586 :mode nil :granularity nil :parent #354) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #364))) (paragraph (:begin 6729 :end 6925 :contents-begin 6729 :contents-end 6924 :post-blank 1 :post-affiliated 6729 :mode nil :granularity nil :parent #354) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #365))) (paragraph (:begin 6925 :end 7056 :contents-begin 6925 :contents-end 7055 :post-blank 1 :post-affiliated 6925 :mode nil :granularity nil :parent #354) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #366))) (src-block (:language "bash" :switches nil :parameters nil :begin 7056 :end 7235 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python2.7/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 7056 :mode nil :granularity nil :parent #354)) (paragraph (:begin 7235 :end 7304 :contents-begin 7235 :contents-end 7303 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #354) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #368))) (src-block (:language "bash" :switches nil :parameters nil :begin 7304 :end 7345 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 7304 :mode nil :granularity nil :parent #354)) (paragraph (:begin 7345 :end 7596 :contents-begin 7345 :contents-end 7595 :post-blank 1 :post-affiliated 7345 :mode nil :granularity nil :parent #354) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #370)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 7567 :end 7593 :contents-begin nil :contents-end nil :post-blank 0 :parent #370)) #(".\n" 0 2 (:parent #370))) (paragraph (:begin 7596 :end 7632 :contents-begin 7596 :contents-end 7632 :post-blank 0 :post-affiliated 7596 :mode nil :granularity nil :parent #354) #("End of the GN2 installation recipe!\n" 0 36 (:parent #371)))))) (headline (:raw-value "Run MySQL server" :begin 7633 :end 9008 :pre-blank 1 :contents-begin 7653 :contents-end 9007 :robust-begin 7655 :robust-end 9005 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7633 :title (#("Run MySQL server" 0 16 (:parent #345))) :mode nil :granularity nil :parent #338) (section (:begin 7653 :end 9008 :contents-begin 7653 :contents-end 9007 :robust-begin 7653 :robust-end 9005 :post-blank 1 :post-affiliated 7653 :mode section :granularity nil :parent #345) (paragraph (:begin 7653 :end 7928 :contents-begin 7653 :contents-end 7927 :post-blank 1 :post-affiliated 7653 :mode planning :granularity nil :parent #348) #("At this point we require the underlying distribution to install and\nrun mysqld. Currently we have two databases for deployment,\n'db" 0 131 (:parent #351)) (subscript (:begin 7784 :end 7791 :use-brackets-p nil :contents-begin 7785 :contents-end 7791 :post-blank 0 :parent #351) #("webqtl" 0 6 (:parent #355))) (subscript (:begin 7791 :end 7793 :use-brackets-p nil :contents-begin 7792 :contents-end 7793 :post-blank 0 :parent #351) #("s" 0 1 (:parent #356))) #("' is the small testing database containing experiments\nfrom BXD mice and 'db" 0 76 (:parent #351)) (subscript (:begin 7869 :end 7876 :use-brackets-p nil :contents-begin 7870 :contents-end 7876 :post-blank 0 :parent #351) #("webqtl" 0 6 (:parent #358))) (subscript (:begin 7876 :end 7882 :use-brackets-p nil :contents-begin 7877 :contents-end 7882 :post-blank 0 :parent #351) #("plant" 0 5 (:parent #359))) #("' which contains all plant related\nmaterial.\n" 0 45 (:parent #351))) (paragraph (:begin 7928 :end 7956 :contents-begin 7928 :contents-end 7955 :post-blank 1 :post-affiliated 7928 :mode nil :granularity nil :parent #348) #("Download one database from\n" 0 27 (:parent #352))) (paragraph (:begin 7956 :end 8054 :contents-begin 7956 :contents-end 8053 :post-blank 1 :post-affiliated 7956 :mode nil :granularity nil :parent #348) (link (:type "http" :path "//files.genenetwork.org/raw_database/" :format plain :raw-link "http://files.genenetwork.org/raw_database/" :application nil :search-option nil :begin 7956 :end 7998 :contents-begin nil :contents-end nil :post-blank 0 :parent #353)) #("\n" 0 1 (:parent #353)) (link (:type "https" :path "//s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :format plain :raw-link "https://s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :application nil :search-option nil :begin 7999 :end 8052 :contents-begin nil :contents-end nil :post-blank 0 :parent #353)) #("\n" 0 1 (:parent #353))) (paragraph (:begin 8054 :end 8073 :contents-begin 8054 :contents-end 8072 :post-blank 1 :post-affiliated 8054 :mode nil :granularity nil :parent #348) #("Check the md5sum.\n" 0 18 (:parent #354))) (paragraph (:begin 8073 :end 8195 :contents-begin 8073 :contents-end 8194 :post-blank 1 :post-affiliated 8073 :mode nil :granularity nil :parent #348) #("After installation inflate the database binary in the MySQL directory\n(this installation path is subject to change soon)\n" 0 121 (:parent #355))) (fixed-width (:begin 8195 :end 8283 :value "chown -R mysql:mysql db_webqtl_s/\nchmod 700 db_webqtl_s/\nchmod 660 db_webqtl_s/*" :post-blank 2 :post-affiliated 8195 :mode nil :granularity nil :parent #348)) (paragraph (:begin 8283 :end 8334 :contents-begin 8283 :contents-end 8333 :post-blank 1 :post-affiliated 8283 :mode nil :granularity nil :parent #348) #("restart MySQL service (mysqld). Login as root and\n" 0 50 (:parent #357))) (fixed-width (:begin 8334 :end 8560 :value "mysql> show databases;\n+--------------------+\n| Database |\n+--------------------+\n| information_schema |\n| db_webqtl_s |\n| mysql |\n| performance_schema |\n+--------------------+" :post-blank 2 :post-affiliated 8334 :mode nil :granularity nil :parent #348)) (paragraph (:begin 8560 :end 8625 :contents-begin 8560 :contents-end 8624 :post-blank 1 :post-affiliated 8560 :mode nil :granularity nil :parent #348) #("Set permissions and match password in your settings file below:\n" 0 64 (:parent #359))) (fixed-width (:begin 8625 :end 8724 :value "mysql> grant all privileges on db_webqtl_s.* to gn2@\"localhost\" identified by 'mysql_password';" :post-blank 2 :post-affiliated 8625 :mode nil :granularity nil :parent #348)) (paragraph (:begin 8724 :end 8875 :contents-begin 8724 :contents-end 8874 :post-blank 1 :post-affiliated 8724 :mode nil :granularity nil :parent #348) #("Note that if the mysql connection is not working, try connecting to\nthe IP address and check server firewall, hosts.allow and mysql IP\nconfiguration.\n" 0 150 (:parent #361))) (paragraph (:begin 8875 :end 9007 :contents-begin 8875 :contents-end 9007 :post-blank 0 :post-affiliated 8875 :mode nil :granularity nil :parent #348) #("Note for the plant database you can rename it to db" 0 51 (:parent #362)) (subscript (:begin 8926 :end 8933 :use-brackets-p nil :contents-begin 8927 :contents-end 8933 :post-blank 0 :parent #362) #("webqtl" 0 6 (:parent #366))) (subscript (:begin 8933 :end 8935 :use-brackets-p nil :contents-begin 8934 :contents-end 8935 :post-blank 0 :parent #362) #("s" 0 1 (:parent #367))) #(", or\nchange the settings in etc/default" 0 39 (:parent #362)) (subscript (:begin 8974 :end 8987 :use-brackets-p nil :contents-begin 8975 :contents-end 8986 :post-blank 1 :parent #362) #("settings.py" 0 11 (:parent #369))) #("to match your path.\n" 0 20 (:parent #362))))) (headline (:raw-value "GN2 Dependency Graph" :begin 9008 :end 9172 :pre-blank 1 :contents-begin 9032 :contents-end 9171 :robust-begin 9034 :robust-end 9169 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9008 :title (#("GN2 Dependency Graph" 0 20 (:parent #346))) :mode nil :granularity nil :parent #338) (section (:begin 9032 :end 9172 :contents-begin 9032 :contents-end 9171 :robust-begin 9032 :robust-end 9169 :post-blank 1 :post-affiliated 9032 :mode section :granularity nil :parent #346) (paragraph (:begin 9032 :end 9093 :contents-begin 9032 :contents-end 9092 :post-blank 1 :post-affiliated 9032 :mode planning :granularity nil :parent #349) #("Graph of all runtime dependencies as installed by GNU Guix.\n" 0 60 (:parent #352))) (paragraph (:begin 9093 :end 9171 :contents-begin 9123 :contents-end 9171 :post-blank 0 :post-affiliated 9123 :attr_html (":title GN2_graph") :mode nil :granularity nil :parent #349) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg" :format plain :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg" :application nil :search-option nil :begin 9123 :end 9170 :contents-begin nil :contents-end nil :post-blank 0 :parent #353)) #("\n" 0 1 (:parent #353))))) (headline (:raw-value "Source deployment" :begin 9172 :end 12840 :pre-blank 1 :contents-begin 9193 :contents-end 12839 :robust-begin 9195 :robust-end 12837 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9172 :title (#("Source deployment" 0 17 (:parent #347))) :mode nil :granularity nil :parent #338) (section (:begin 9193 :end 9612 :contents-begin 9193 :contents-end 9610 :robust-begin 9193 :robust-end 9608 :post-blank 2 :post-affiliated 9193 :mode section :granularity nil :parent #347) (paragraph (:begin 9193 :end 9274 :contents-begin 9193 :contents-end 9273 :post-blank 1 :post-affiliated 9193 :mode planning :granularity nil :parent #350) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #353))) (paragraph (:begin 9274 :end 9304 :contents-begin 9274 :contents-end 9303 :post-blank 1 :post-affiliated 9274 :mode nil :granularity nil :parent #350) #("First execute above 4 steps:\n" 0 29 (:parent #354))) (plain-list (:type unordered :begin 9304 :end 9610 :contents-begin 9304 :contents-end 9610 :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :post-blank 0 :post-affiliated 9304 :mode nil :granularity nil :parent #350) (item (:bullet "- " :begin 9304 :end 9364 :contents-begin 9309 :contents-end 9364 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9304 :tag nil :mode item :granularity nil :parent #355) (paragraph (:begin 9309 :end 9364 :contents-begin 9309 :contents-end 9364 :post-blank 0 :post-affiliated 9309 :mode nil :granularity nil :parent #358) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 9309 :end 9363 :contents-begin 9337 :contents-end 9361 :post-blank 0 :parent #361) #("Step 1: Install GNU Guix" 0 24 (:parent #364))) #("\n" 0 1 (:parent #361)))) (item (:bullet "- " :begin 9364 :end 9458 :contents-begin 9369 :contents-end 9458 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9364 :tag nil :mode item :granularity nil :parent #355) (paragraph (:begin 9369 :end 9458 :contents-begin 9369 :contents-end 9458 :post-blank 0 :post-affiliated 9369 :mode nil :granularity nil :parent #359) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 9369 :end 9457 :contents-begin 9414 :contents-end 9455 :post-blank 0 :parent #362) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #365))) #("\n" 0 1 (:parent #362)))) (item (:bullet "- " :begin 9458 :end 9542 :contents-begin 9463 :contents-end 9542 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9458 :tag nil :mode item :granularity nil :parent #355) (paragraph (:begin 9463 :end 9542 :contents-begin 9463 :contents-end 9542 :post-blank 0 :post-affiliated 9463 :mode nil :granularity nil :parent #360) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 9463 :end 9541 :contents-begin 9503 :contents-end 9539 :post-blank 0 :parent #363) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #366))) #("\n" 0 1 (:parent #363)))) (item (:bullet "- " :begin 9542 :end 9610 :contents-begin 9547 :contents-end 9610 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9542 :tag nil :mode item :granularity nil :parent #355) (paragraph (:begin 9547 :end 9610 :contents-begin 9547 :contents-end 9610 :post-blank 0 :post-affiliated 9547 :mode nil :granularity nil :parent #361) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 9547 :end 9609 :contents-begin 9579 :contents-end 9607 :post-blank 0 :parent #364) #("Step 4: Install and run GN2 " 0 28 (:parent #367))) #("\n" 0 1 (:parent #364)))))) (headline (:raw-value "Run your own copy of GN2" :begin 9612 :end 10722 :pre-blank 1 :contents-begin 9641 :contents-end 10721 :robust-begin 9643 :robust-end 10719 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9612 :title (#("Run your own copy of GN2" 0 24 (:parent #351))) :mode nil :granularity nil :parent #347) (section (:begin 9641 :end 10722 :contents-begin 9641 :contents-end 10721 :robust-begin 9641 :robust-end 10719 :post-blank 1 :post-affiliated 9641 :mode section :granularity nil :parent #351) (paragraph (:begin 9641 :end 9839 :contents-begin 9641 :contents-end 9838 :post-blank 1 :post-affiliated 9641 :mode planning :granularity nil :parent #354) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #357)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 9793 :end 9836 :contents-begin nil :contents-end nil :post-blank 0 :parent #357)) #(".\n" 0 2 (:parent #357))) (paragraph (:begin 9839 :end 9964 :contents-begin 9839 :contents-end 9963 :post-blank 1 :post-affiliated 9839 :mode nil :granularity nil :parent #354) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #358)) (subscript (:begin 9896 :end 9902 :use-brackets-p nil :contents-begin 9897 :contents-end 9901 :post-blank 1 :parent #358) #("PATH" 0 4 (:parent #362))) #("and\nR" 0 5 (:parent #358)) (subscript (:begin 9907 :end 9912 :use-brackets-p nil :contents-begin 9908 :contents-end 9912 :post-blank 0 :parent #358) #("LIBS" 0 4 (:parent #364))) (subscript (:begin 9912 :end 9918 :use-brackets-p nil :contents-begin 9913 :contents-end 9917 :post-blank 1 :parent #358) #("SITE" 0 4 (:parent #365))) #("are set) from the information given by guix:\n" 0 45 (:parent #358))) (fixed-width (:begin 9964 :end 9995 :value "guix package --search-paths" :post-blank 2 :post-affiliated 9964 :mode nil :granularity nil :parent #354)) (paragraph (:begin 9995 :end 10019 :contents-begin 9995 :contents-end 10018 :post-blank 1 :post-affiliated 9995 :mode nil :granularity nil :parent #354) #("Inside the repository:\n" 0 23 (:parent #360))) (fixed-width (:begin 10019 :end 10059 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 10019 :mode nil :granularity nil :parent #354)) (paragraph (:begin 10059 :end 10303 :contents-begin 10059 :contents-end 10302 :post-blank 1 :post-affiliated 10059 :mode nil :granularity nil :parent #354) #("Will fire up your local repo " 0 29 (:parent #362)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 10088 :end 10111 :contents-begin nil :contents-end nil :post-blank 1 :parent #362)) #("using the\nsettings in ./etc/default" 0 35 (:parent #362)) (subscript (:begin 10146 :end 10158 :use-brackets-p nil :contents-begin 10147 :contents-end 10158 :post-blank 0 :parent #362) #("settings.py" 0 11 (:parent #368))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #362)) (subscript (:begin 10263 :end 10276 :use-brackets-p nil :contents-begin 10264 :contents-end 10275 :post-blank 1 :parent #362) #("settings.py" 0 11 (:parent #370))) #("and pass it into GN2 with\n" 0 26 (:parent #362))) (fixed-width (:begin 10303 :end 10346 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 10303 :mode nil :granularity nil :parent #354)) (paragraph (:begin 10346 :end 10492 :contents-begin 10346 :contents-end 10491 :post-blank 1 :post-affiliated 10346 :mode nil :granularity nil :parent #354) #("and everything " 0 15 (:parent #364)) (bold (:begin 10361 :end 10370 :post-blank 1 :contents-begin 10362 :contents-end 10368 :parent #364) #("should" 0 6 (:parent #368))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #364))) (paragraph (:begin 10492 :end 10620 :contents-begin 10492 :contents-end 10619 :post-blank 1 :post-affiliated 10492 :mode nil :granularity nil :parent #354) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #365))) (fixed-width (:begin 10620 :end 10721 :value "cat ~/.guix-profile/lib/python2.7/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 10620 :mode nil :granularity nil :parent #354)))) (headline (:raw-value "Set up nginx port forwarding" :begin 10722 :end 12840 :pre-blank 1 :contents-begin 10755 :contents-end 12839 :robust-begin 10757 :robust-end 12837 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 10722 :title (#("Set up nginx port forwarding" 0 28 (:parent #352))) :mode nil :granularity nil :parent #347) (section (:begin 10755 :end 12840 :contents-begin 10755 :contents-end 12839 :robust-begin 10755 :robust-end 12837 :post-blank 1 :post-affiliated 10755 :mode section :granularity nil :parent #352) (paragraph (:begin 10755 :end 10923 :contents-begin 10755 :contents-end 10922 :post-blank 1 :post-affiliated 10755 :mode planning :granularity nil :parent #355) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #358))) (paragraph (:begin 10923 :end 11063 :contents-begin 10923 :contents-end 11062 :post-blank 1 :post-affiliated 10923 :mode nil :granularity nil :parent #355) #("#+begin" 0 7 (:parent #359)) (subscript (:begin 10930 :end 10935 :use-brackets-p nil :contents-begin 10931 :contents-end 10934 :post-blank 1 :parent #359) #("src" 0 3 (:parent #363))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #359)) (subscript (:begin 10984 :end 10990 :use-brackets-p nil :contents-begin 10985 :contents-end 10989 :post-blank 1 :parent #359) #("name" 0 4 (:parent #365))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #359)) (subscript (:begin 11030 :end 11036 :use-brackets-p nil :contents-begin 11031 :contents-end 11034 :post-blank 2 :parent #359) #("log" 0 3 (:parent #367))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #359))) (paragraph (:begin 11063 :end 11232 :contents-begin 11063 :contents-end 11231 :post-blank 1 :post-affiliated 11063 :mode nil :granularity nil :parent #355) #(" proxy" 0 13 (:parent #360)) (subscript (:begin 11076 :end 11084 :use-brackets-p nil :contents-begin 11077 :contents-end 11084 :post-blank 0 :parent #360) #("connect" 0 7 (:parent #364))) (subscript (:begin 11084 :end 11099 :use-brackets-p nil :contents-begin 11085 :contents-end 11092 :post-blank 7 :parent #360) #("timeout" 0 7 (:parent #365))) #("3000;\n proxy" 0 19 (:parent #360)) (subscript (:begin 11118 :end 11123 :use-brackets-p nil :contents-begin 11119 :contents-end 11123 :post-blank 0 :parent #360) #("send" 0 4 (:parent #367))) (subscript (:begin 11123 :end 11141 :use-brackets-p nil :contents-begin 11124 :contents-end 11131 :post-blank 10 :parent #360) #("timeout" 0 7 (:parent #368))) #("3000;\n proxy" 0 19 (:parent #360)) (subscript (:begin 11160 :end 11165 :use-brackets-p nil :contents-begin 11161 :contents-end 11165 :post-blank 0 :parent #360) #("read" 0 4 (:parent #370))) (subscript (:begin 11165 :end 11183 :use-brackets-p nil :contents-begin 11166 :contents-end 11173 :post-blank 10 :parent #360) #("timeout" 0 7 (:parent #371))) #("3000;\n send" 0 18 (:parent #360)) (subscript (:begin 11201 :end 11225 :use-brackets-p nil :contents-begin 11202 :contents-end 11209 :post-blank 16 :parent #360) #("timeout" 0 7 (:parent #373))) #("3000;\n" 0 6 (:parent #360))) (paragraph (:begin 11232 :end 11632 :contents-begin 11232 :contents-end 11631 :post-blank 1 :post-affiliated 11232 :mode nil :granularity nil :parent #355) #(" location / {\n proxy" 0 38 (:parent #361)) (subscript (:begin 11270 :end 11274 :use-brackets-p nil :contents-begin 11271 :contents-end 11274 :post-blank 0 :parent #361) #("set" 0 3 (:parent #365))) (subscript (:begin 11274 :end 11284 :use-brackets-p nil :contents-begin 11275 :contents-end 11281 :post-blank 3 :parent #361) #("header" 0 6 (:parent #366))) #("Host $http" 0 15 (:parent #361)) (subscript (:begin 11299 :end 11304 :use-brackets-p nil :contents-begin 11300 :contents-end 11304 :post-blank 0 :parent #361) #("host" 0 4 (:parent #368))) #(";\n proxy" 0 19 (:parent #361)) (subscript (:begin 11323 :end 11327 :use-brackets-p nil :contents-begin 11324 :contents-end 11327 :post-blank 0 :parent #361) #("set" 0 3 (:parent #370))) (subscript (:begin 11327 :end 11337 :use-brackets-p nil :contents-begin 11328 :contents-end 11334 :post-blank 3 :parent #361) #("header" 0 6 (:parent #371))) #("Connection keep-alive;\n proxy" 0 40 (:parent #361)) (subscript (:begin 11377 :end 11381 :use-brackets-p nil :contents-begin 11378 :contents-end 11381 :post-blank 0 :parent #361) #("set" 0 3 (:parent #373))) (subscript (:begin 11381 :end 11391 :use-brackets-p nil :contents-begin 11382 :contents-end 11388 :post-blank 3 :parent #361) #("header" 0 6 (:parent #374))) #("X-Real-IP $remote" 0 17 (:parent #361)) (subscript (:begin 11408 :end 11413 :use-brackets-p nil :contents-begin 11409 :contents-end 11413 :post-blank 0 :parent #361) #("addr" 0 4 (:parent #376))) #(";\n proxy" 0 19 (:parent #361)) (subscript (:begin 11432 :end 11436 :use-brackets-p nil :contents-begin 11433 :contents-end 11436 :post-blank 0 :parent #361) #("set" 0 3 (:parent #378))) (subscript (:begin 11436 :end 11446 :use-brackets-p nil :contents-begin 11437 :contents-end 11443 :post-blank 3 :parent #361) #("header" 0 6 (:parent #379))) #("X-Forwarded-For $proxy" 0 22 (:parent #361)) (subscript (:begin 11468 :end 11472 :use-brackets-p nil :contents-begin 11469 :contents-end 11472 :post-blank 0 :parent #361) #("add" 0 3 (:parent #381))) (subscript (:begin 11472 :end 11474 :use-brackets-p nil :contents-begin 11473 :contents-end 11474 :post-blank 0 :parent #361) #("x" 0 1 (:parent #382))) (subscript (:begin 11474 :end 11484 :use-brackets-p nil :contents-begin 11475 :contents-end 11484 :post-blank 0 :parent #361) #("forwarded" 0 9 (:parent #383))) (subscript (:begin 11484 :end 11488 :use-brackets-p nil :contents-begin 11485 :contents-end 11488 :post-blank 0 :parent #361) #("for" 0 3 (:parent #384))) #(";\n proxy" 0 19 (:parent #361)) (subscript (:begin 11507 :end 11511 :use-brackets-p nil :contents-begin 11508 :contents-end 11511 :post-blank 0 :parent #361) #("set" 0 3 (:parent #386))) (subscript (:begin 11511 :end 11521 :use-brackets-p nil :contents-begin 11512 :contents-end 11518 :post-blank 3 :parent #361) #("header" 0 6 (:parent #387))) #("X-Forwarded-Host $server" 0 24 (:parent #361)) (subscript (:begin 11545 :end 11550 :use-brackets-p nil :contents-begin 11546 :contents-end 11550 :post-blank 0 :parent #361) #("name" 0 4 (:parent #389))) #(";\n proxy" 0 19 (:parent #361)) (subscript (:begin 11569 :end 11583 :use-brackets-p nil :contents-begin 11570 :contents-end 11574 :post-blank 9 :parent #361) #("pass" 0 4 (:parent #391))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 11583 :end 11604 :contents-begin nil :contents-end nil :post-blank 0 :parent #361)) #(";\n }\n}\n#+end" 0 19 (:parent #361)) (subscript (:begin 11623 :end 11628 :use-brackets-p nil :contents-begin 11624 :contents-end 11627 :post-blank 1 :parent #361) #("src" 0 3 (:parent #394))) #("js\n" 0 3 (:parent #361))) (paragraph (:begin 11632 :end 11671 :contents-begin 11632 :contents-end 11670 :post-blank 1 :post-affiliated 11632 :mode nil :granularity nil :parent #355) #("Install the nginx webserver (as root)\n" 0 38 (:parent #362))) (fixed-width (:begin 11671 :end 11696 :value "guix package -i nginx" :post-blank 2 :post-affiliated 11671 :mode nil :granularity nil :parent #355)) (paragraph (:begin 11696 :end 11777 :contents-begin 11696 :contents-end 11776 :post-blank 1 :post-affiliated 11696 :mode nil :granularity nil :parent #355) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #364))) (fixed-width (:begin 11777 :end 11964 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 11777 :mode nil :granularity nil :parent #355)) (paragraph (:begin 11964 :end 11979 :contents-begin 11964 :contents-end 11978 :post-blank 1 :post-affiliated 11964 :mode nil :granularity nil :parent #355) #("Use that path\n" 0 14 (:parent #366))) (fixed-width (:begin 11979 :end 12373 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 11979 :mode nil :granularity nil :parent #355)) (paragraph (:begin 12373 :end 12599 :contents-begin 12373 :contents-end 12599 :post-blank 0 :post-affiliated 12373 :mode nil :granularity nil :parent #355) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #368))) (fixed-width (:begin 12599 :end 12646 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 12599 :mode nil :granularity nil :parent #355)) (paragraph (:begin 12646 :end 12657 :contents-begin 12646 :contents-end 12656 :post-blank 1 :post-affiliated 12646 :mode nil :granularity nil :parent #355) #("Make dirs\n" 0 10 (:parent #370))) (fixed-width (:begin 12657 :end 12691 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 12657 :mode nil :granularity nil :parent #355)) (paragraph (:begin 12691 :end 12702 :contents-begin 12691 :contents-end 12701 :post-blank 1 :post-affiliated 12691 :mode nil :granularity nil :parent #355) #("Add users\n" 0 10 (:parent #372))) (fixed-width (:begin 12702 :end 12738 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 12702 :mode nil :granularity nil :parent #355)) (paragraph (:begin 12738 :end 12749 :contents-begin 12738 :contents-end 12748 :post-blank 1 :post-affiliated 12738 :mode nil :granularity nil :parent #355) #("Run nginx\n" 0 10 (:parent #374))) (fixed-width (:begin 12749 :end 12839 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 12749 :mode nil :granularity nil :parent #355))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 12840 :end 13801 :pre-blank 1 :contents-begin 12902 :contents-end 13801 :robust-begin 12904 :robust-end 13799 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12840 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #348))) :mode nil :granularity nil :parent #338) (section (:begin 12902 :end 12959 :contents-begin 12902 :contents-end 12958 :robust-begin 12902 :robust-end 12956 :post-blank 1 :post-affiliated 12902 :mode section :granularity nil :parent #348) (paragraph (:begin 12902 :end 12958 :contents-begin 12902 :contents-end 12958 :post-blank 0 :post-affiliated 12902 :mode planning :granularity nil :parent #351) #("See the document " 0 17 (:parent #354)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 12919 :end 12956 :contents-begin nil :contents-end nil :post-blank 0 :parent #354)) #(".\n" 0 2 (:parent #354)))) (headline (:raw-value "Update to recent guix" :begin 12959 :end 13409 :pre-blank 1 :contents-begin 12985 :contents-end 13408 :robust-begin 12987 :robust-end 13406 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12959 :title (#("Update to recent guix" 0 21 (:parent #352))) :mode nil :granularity nil :parent #348) (section (:begin 12985 :end 13409 :contents-begin 12985 :contents-end 13408 :robust-begin 12985 :robust-end 13406 :post-blank 1 :post-affiliated 12985 :mode section :granularity nil :parent #352) (paragraph (:begin 12985 :end 13020 :contents-begin 12985 :contents-end 13019 :post-blank 1 :post-affiliated 12985 :mode planning :granularity nil :parent #355) #("We now compile Guix from scratch.\n" 0 34 (:parent #358))) (paragraph (:begin 13020 :end 13295 :contents-begin 13020 :contents-end 13294 :post-blank 1 :post-affiliated 13020 :mode nil :granularity nil :parent #355) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #359)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 13159 :end 13272 :contents-begin 13264 :contents-end 13269 :post-blank 1 :parent #359) #("these" 0 5 (:parent #363))) #("steps carefully after\n" 0 22 (:parent #359))) (fixed-width (:begin 13295 :end 13330 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 13295 :mode nil :granularity nil :parent #355)) (paragraph (:begin 13330 :end 13408 :contents-begin 13330 :contents-end 13408 :post-blank 0 :post-affiliated 13330 :mode nil :granularity nil :parent #355) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #361))))) (headline (:raw-value "Install GN2" :begin 13409 :end 13801 :pre-blank 1 :contents-begin 13425 :contents-end 13801 :robust-begin 13427 :robust-end 13799 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 13409 :title (#("Install GN2" 0 11 (:parent #353))) :mode nil :granularity nil :parent #348) (section (:begin 13425 :end 13801 :contents-begin 13425 :contents-end 13801 :robust-begin 13425 :robust-end 13799 :post-blank 0 :post-affiliated 13425 :mode section :granularity nil :parent #353) (paragraph (:begin 13425 :end 13468 :contents-begin 13425 :contents-end 13467 :post-blank 1 :post-affiliated 13425 :mode planning :granularity nil :parent #356) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #359))) (paragraph (:begin 13468 :end 13676 :contents-begin 13468 :contents-end 13675 :post-blank 1 :post-affiliated 13468 :mode nil :granularity nil :parent #356) #("#+begin" 0 7 (:parent #360)) (subscript (:begin 13475 :end 13480 :use-brackets-p nil :contents-begin 13476 :contents-end 13479 :post-blank 1 :parent #360) #("src" 0 3 (:parent #364))) #("bash\nenv GUIX" 0 13 (:parent #360)) (subscript (:begin 13493 :end 13501 :use-brackets-p nil :contents-begin 13494 :contents-end 13501 :post-blank 0 :parent #360) #("PACKAGE" 0 7 (:parent #366))) (subscript (:begin 13501 :end 13506 :use-brackets-p nil :contents-begin 13502 :contents-end 13506 :post-blank 0 :parent #360) #("PATH" 0 4 (:parent #367))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #360)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 13605 :end 13633 :contents-begin nil :contents-end nil :post-blank 1 :parent #360)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 13633 :end 13658 :contents-begin nil :contents-end nil :post-blank 0 :parent #360)) #("\"\n#+end" 0 7 (:parent #360)) (subscript (:begin 13665 :end 13670 :use-brackets-p nil :contents-begin 13666 :contents-end 13669 :post-blank 1 :parent #360) #("src" 0 3 (:parent #372))) #("bash\n" 0 5 (:parent #360))) (paragraph (:begin 13676 :end 13714 :contents-begin 13676 :contents-end 13713 :post-blank 1 :post-affiliated 13676 :mode nil :granularity nil :parent #356) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #361))) (paragraph (:begin 13714 :end 13801 :contents-begin 13714 :contents-end 13801 :post-blank 0 :post-affiliated 13714 :mode nil :granularity nil :parent #356) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #362))))))) :headline-offset 0 :headline-numbering nil :id-alist nil :citations nil :id-local-cache #)) #f(compiled-function (element) #)((headline (:raw-value "Table of Contents" :begin 43 :end 1404 :pre-blank 0 :contents-begin 121 :contents-end 1403 :robust-begin 123 :robust-end 1401 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 43 :title (#("Table of Contents" 0 17 (:parent #0))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13801 :end 13801 :robust-begin 3 :robust-end 13799 :post-blank 0 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 43 :contents-begin 1 :contents-end 42 :robust-begin 1 :robust-end 40 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #46) (keyword (:key "TITLE" :value "Installing GeneNetwork services" :begin 1 :end 42 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #49))) #0 (headline (:raw-value "Introduction" :begin 1404 :end 2450 :pre-blank 1 :contents-begin 1420 :contents-end 2449 :robust-begin 1422 :robust-end 2447 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1404 :title (#("Introduction" 0 12 (:parent #51))) :mode nil :granularity nil :parent #46) (section (:begin 1420 :end 2450 :contents-begin 1420 :contents-end 2449 :robust-begin 1420 :robust-end 2447 :post-blank 1 :post-affiliated 1420 :mode section :granularity nil :parent #51) (paragraph (:begin 1420 :end 1557 :contents-begin 1420 :contents-end 1556 :post-blank 1 :post-affiliated 1420 :mode planning :granularity nil :parent #54) #("If you want to understand the architecture of GN2 read\n" 0 55 (:parent #57)) (link (:type "fuzzy" :path "Architecture.org" :format bracket :raw-link "Architecture.org" :application nil :search-option nil :begin 1475 :end 1495 :contents-begin nil :contents-end nil :post-blank 0 :parent #57)) #(". The rest of this document is mostly on deployment\nof GN2.\n" 0 61 (:parent #57))) (paragraph (:begin 1557 :end 1943 :contents-begin 1557 :contents-end 1942 :post-blank 1 :post-affiliated 1557 :mode nil :granularity nil :parent #54) #("Large system deployments can get very " 0 38 (:parent #58)) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg " :format bracket :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg " :application nil :search-option nil :begin 1595 :end 1656 :contents-begin 1647 :contents-end 1654 :post-blank 0 :parent #58) #("complex" 0 7 (:parent #62))) #(". In this document we\nexplain the GeneNetwork version 2 (GN2) reproducible deployment system\nwhich is based on GNU Guix (see also " 0 130 (:parent #58)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1786 :end 1860 :contents-begin 1848 :contents-end 1858 :post-blank 0 :parent #58) #("Guix-notes" 0 10 (:parent #64))) #("). The Guix\nsystem can be used to install GN with all its files and dependencies.\n" 0 82 (:parent #58))) (paragraph (:begin 1943 :end 2328 :contents-begin 1943 :contents-end 2327 :post-blank 1 :post-affiliated 1943 :mode nil :granularity nil :parent #54) #("The official installation path is from a checked out version of the\nmain Guix package tree and that of the Genenetwork package\ntree. Current supported versions can be found as the SHA values of\n'gn-latest' branches of " 0 218 (:parent #59)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :application nil :search-option nil :begin 2161 :end 2252 :contents-begin 2230 :contents-end 2249 :post-blank 1 :parent #59) #("Guix bioinformatics" 0 19 (:parent #63))) #("and " 0 4 (:parent #59)) (link (:type "https" :path "//github.com/genenetwork/guix/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix/tree/gn-latest" :application nil :search-option nil :begin 2256 :end 2325 :contents-begin 2310 :contents-end 2323 :post-blank 0 :parent #59) #("GNU Guix main" 0 13 (:parent #65))) #(".\n" 0 2 (:parent #59))) (paragraph (:begin 2328 :end 2449 :contents-begin 2328 :contents-end 2449 :post-blank 0 :post-affiliated 2328 :mode nil :granularity nil :parent #54) #("For a full view of runtime dependencies as defined by GNU Guix, see\nthe " 0 72 (:parent #60)) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 2400 :end 2447 :contents-begin 2425 :contents-end 2445 :post-blank 0 :parent #60) #("GN2 Dependency Graph" 0 20 (:parent #64))) #(".\n" 0 2 (:parent #60))))) (headline (:raw-value "Quick installation recipe" :begin 2450 :end 7633 :pre-blank 1 :contents-begin 2479 :contents-end 7632 :robust-begin 2481 :robust-end 7630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 2450 :title (#("Quick installation recipe" 0 25 (:parent #52))) :mode nil :granularity nil :parent #46) (section (:begin 2479 :end 3022 :contents-begin 2479 :contents-end 3021 :robust-begin 2479 :robust-end 3019 :post-blank 1 :post-affiliated 2479 :mode section :granularity nil :parent #52) (paragraph (:begin 2479 :end 2880 :contents-begin 2479 :contents-end 2879 :post-blank 1 :post-affiliated 2479 :mode planning :granularity nil :parent #55) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS). For more elaborate installation\ninstructions see " 0 357 (:parent #58)) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 2836 :end 2877 :contents-begin 2858 :contents-end 2875 :post-blank 0 :parent #58) #("Source deployment" 0 17 (:parent #62))) #(".\n" 0 2 (:parent #58))) (paragraph (:begin 2880 :end 3021 :contents-begin 2880 :contents-end 3021 :post-blank 0 :post-affiliated 2880 :mode nil :granularity nil :parent #55) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #59)))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 3022 :end 4649 :pre-blank 1 :contents-begin 3051 :contents-end 4648 :robust-begin 3053 :robust-end 4646 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3022 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #56))) :mode nil :granularity nil :parent #52) (section (:begin 3051 :end 4649 :contents-begin 3051 :contents-end 4648 :robust-begin 3051 :robust-end 4646 :post-blank 1 :post-affiliated 3051 :mode section :granularity nil :parent #56) (paragraph (:begin 3051 :end 3504 :contents-begin 3051 :contents-end 3503 :post-blank 1 :post-affiliated 3051 :mode planning :granularity nil :parent #59) #("Fetch the GNU Guix binary from " 0 31 (:parent #62)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 3082 :end 3136 :contents-begin 3129 :contents-end 3133 :post-blank 1 :parent #62) #("here" 0 4 (:parent #66))) #("(middle panel) and follow\n" 0 26 (:parent #62)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 3162 :end 3255 :contents-begin 3241 :contents-end 3253 :post-blank 0 :parent #62) #("instructions" 0 12 (:parent #68))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #62))) (paragraph (:begin 3504 :end 3782 :contents-begin 3504 :contents-end 3781 :post-blank 1 :post-affiliated 3504 :mode nil :granularity nil :parent #59) #("Once you have succeeded, you have to " 0 37 (:parent #63)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 3541 :end 3631 :contents-begin 3617 :contents-end 3628 :post-blank 1 :parent #63) #("set the key" 0 11 (:parent #67))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #63))) (src-block (:language "bash" :switches nil :parameters nil :begin 3782 :end 3890 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 3782 :mode nil :granularity nil :parent #59)) (paragraph (:begin 3890 :end 3924 :contents-begin 3890 :contents-end 3923 :post-blank 1 :post-affiliated 3890 :mode nil :granularity nil :parent #59) #("Which should show something like\n" 0 33 (:parent #65))) (fixed-width (:begin 3924 :end 4034 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 3924 :mode nil :granularity nil :parent #59)) (paragraph (:begin 4034 :end 4045 :contents-begin 4034 :contents-end 4044 :post-blank 1 :post-affiliated 4034 :mode nil :granularity nil :parent #59) #("#+end" 0 5 (:parent #67)) (subscript (:begin 4039 :end 4043 :use-brackets-p nil :contents-begin 4040 :contents-end 4043 :post-blank 0 :parent #67) #("src" 0 3 (:parent #71))) #("\n" 0 1 (:parent #67))) (paragraph (:begin 4045 :end 4116 :contents-begin 4045 :contents-end 4115 :post-blank 1 :post-affiliated 4045 :mode nil :granularity nil :parent #59) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #68))) (src-block (:language "bash" :switches nil :parameters nil :begin 4116 :end 4188 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 4116 :mode nil :granularity nil :parent #59)) (paragraph (:begin 4188 :end 4375 :contents-begin 4188 :contents-end 4374 :post-blank 1 :post-affiliated 4188 :mode nil :granularity nil :parent #59) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #70))) (paragraph (:begin 4375 :end 4648 :contents-begin 4375 :contents-end 4648 :post-blank 0 :post-affiliated 4375 :mode nil :granularity nil :parent #59) #("If you need more help we have another writeup in " 0 49 (:parent #71)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 4424 :end 4520 :contents-begin 4508 :contents-end 4518 :post-blank 0 :parent #71) #("guix-notes" 0 10 (:parent #75))) #(". To get\nrid of the locale warning see " 0 39 (:parent #71)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 4559 :end 4646 :contents-begin 4634 :contents-end 4644 :post-blank 0 :parent #71) #("set-locale" 0 10 (:parent #77))) #(".\n" 0 2 (:parent #71))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 4649 :end 5304 :pre-blank 1 :contents-begin 4695 :contents-end 5302 :robust-begin 4697 :robust-end 5300 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4649 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #57))) :mode nil :granularity nil :parent #52) (section (:begin 4695 :end 5304 :contents-begin 4695 :contents-end 5302 :robust-begin 4695 :robust-end 5300 :post-blank 2 :post-affiliated 4695 :mode section :granularity nil :parent #57) (paragraph (:begin 4695 :end 4815 :contents-begin 4695 :contents-end 4814 :post-blank 1 :post-affiliated 4695 :mode planning :granularity nil :parent #60) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #63))) (src-block (:language "bash" :switches nil :parameters nil :begin 4815 :end 4920 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 4815 :mode nil :granularity nil :parent #60)) (paragraph (:begin 4920 :end 4971 :contents-begin 4920 :contents-end 4970 :post-blank 1 :post-affiliated 4920 :mode nil :granularity nil :parent #60) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #65))) (paragraph (:begin 4971 :end 5232 :contents-begin 4971 :contents-end 5231 :post-blank 1 :post-affiliated 4971 :mode nil :granularity nil :parent #60) #("#+begin" 0 7 (:parent #66)) (subscript (:begin 4978 :end 4983 :use-brackets-p nil :contents-begin 4979 :contents-end 4982 :post-blank 1 :parent #66) #("src" 0 3 (:parent #70))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #66)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 5055 :end 5105 :contents-begin nil :contents-end nil :post-blank 0 :parent #66)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #66)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 5147 :end 5183 :contents-begin nil :contents-end nil :post-blank 1 :parent #66)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #66)) (subscript (:begin 5221 :end 5226 :use-brackets-p nil :contents-begin 5222 :contents-end 5225 :post-blank 1 :parent #66) #("src" 0 3 (:parent #76))) #("bash\n" 0 5 (:parent #66))) (paragraph (:begin 5232 :end 5270 :contents-begin 5232 :contents-end 5269 :post-blank 1 :post-affiliated 5232 :mode nil :granularity nil :parent #60) #("To test whether this is working try:\n" 0 37 (:parent #67))) (paragraph (:begin 5270 :end 5302 :contents-begin 5270 :contents-end 5302 :post-blank 0 :post-affiliated 5270 :mode nil :granularity nil :parent #60) #("#+begin" 0 7 (:parent #68)) (subscript (:begin 5277 :end 5282 :use-brackets-p nil :contents-begin 5278 :contents-end 5281 :post-blank 1 :parent #68) #("src" 0 3 (:parent #72))) #("bash\n#+end" 0 10 (:parent #68)) (subscript (:begin 5292 :end 5297 :use-brackets-p nil :contents-begin 5293 :contents-end 5296 :post-blank 1 :parent #68) #("src" 0 3 (:parent #74))) #("bash\n" 0 5 (:parent #68))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 5304 :end 5755 :pre-blank 1 :contents-begin 5345 :contents-end 5754 :robust-begin 5347 :robust-end 5752 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5304 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #58))) :mode nil :granularity nil :parent #52) (section (:begin 5345 :end 5755 :contents-begin 5345 :contents-end 5754 :robust-begin 5345 :robust-end 5752 :post-blank 1 :post-affiliated 5345 :mode section :granularity nil :parent #58) (paragraph (:begin 5345 :end 5445 :contents-begin 5345 :contents-end 5444 :post-blank 1 :post-affiliated 5345 :mode planning :granularity nil :parent #61) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #64))) (src-block (:language "scheme" :switches nil :parameters nil :begin 5445 :end 5589 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 5445 :mode nil :granularity nil :parent #61)) (paragraph (:begin 5589 :end 5621 :contents-begin 5589 :contents-end 5620 :post-blank 1 :post-affiliated 5589 :mode nil :granularity nil :parent #61) #("by pasting it into the command\n" 0 31 (:parent #66))) (src-block (:language "bash" :switches nil :parameters nil :begin 5621 :end 5674 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 5621 :mode nil :granularity nil :parent #61)) (paragraph (:begin 5674 :end 5691 :contents-begin 5674 :contents-end 5690 :post-blank 1 :post-affiliated 5674 :mode nil :granularity nil :parent #61) #("and hit Ctrl-D.\n" 0 16 (:parent #68))) (paragraph (:begin 5691 :end 5754 :contents-begin 5691 :contents-end 5754 :post-blank 0 :post-affiliated 5691 :mode nil :granularity nil :parent #61) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #69))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 5755 :end 7633 :pre-blank 1 :contents-begin 5787 :contents-end 7632 :robust-begin 5789 :robust-end 7630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5755 :title (#("Step 4: Install and run GN2" 0 27 (:parent #59))) :mode nil :granularity nil :parent #52) (section (:begin 5787 :end 7633 :contents-begin 5787 :contents-end 7632 :robust-begin 5787 :robust-end 7630 :post-blank 1 :post-affiliated 5787 :mode section :granularity nil :parent #59) (paragraph (:begin 5787 :end 5927 :contents-begin 5787 :contents-end 5926 :post-blank 1 :post-affiliated 5787 :mode planning :granularity nil :parent #62) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #65))) (src-block (:language "bash" :switches nil :parameters nil :begin 5927 :end 6046 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 5927 :mode nil :granularity nil :parent #62)) (paragraph (:begin 6046 :end 6099 :contents-begin 6046 :contents-end 6098 :post-blank 1 :post-affiliated 6046 :mode nil :granularity nil :parent #62) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #67))) (src-block (:language "bash" :switches nil :parameters nil :begin 6099 :end 6289 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 6099 :mode nil :granularity nil :parent #62)) (paragraph (:begin 6289 :end 6398 :contents-begin 6289 :contents-end 6397 :post-blank 1 :post-affiliated 6289 :mode nil :granularity nil :parent #62) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #69)) (italic (:begin 6360 :end 6366 :post-blank 0 :contents-begin 6361 :contents-end 6365 :parent #69) #("root" 0 4 (:parent #73))) #(".config/guix/latest override).\n" 0 31 (:parent #69))) (paragraph (:begin 6398 :end 6416 :contents-begin 6398 :contents-end 6415 :post-blank 1 :post-affiliated 6398 :mode nil :granularity nil :parent #62) #("And install with\n" 0 17 (:parent #70))) (src-block (:language "bash" :switches nil :parameters nil :begin 6416 :end 6586 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 6416 :mode nil :granularity nil :parent #62)) (paragraph (:begin 6586 :end 6729 :contents-begin 6586 :contents-end 6728 :post-blank 1 :post-affiliated 6586 :mode nil :granularity nil :parent #62) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #72))) (paragraph (:begin 6729 :end 6925 :contents-begin 6729 :contents-end 6924 :post-blank 1 :post-affiliated 6729 :mode nil :granularity nil :parent #62) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #73))) (paragraph (:begin 6925 :end 7056 :contents-begin 6925 :contents-end 7055 :post-blank 1 :post-affiliated 6925 :mode nil :granularity nil :parent #62) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #74))) (src-block (:language "bash" :switches nil :parameters nil :begin 7056 :end 7235 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python2.7/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 7056 :mode nil :granularity nil :parent #62)) (paragraph (:begin 7235 :end 7304 :contents-begin 7235 :contents-end 7303 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #62) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #76))) (src-block (:language "bash" :switches nil :parameters nil :begin 7304 :end 7345 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 7304 :mode nil :granularity nil :parent #62)) (paragraph (:begin 7345 :end 7596 :contents-begin 7345 :contents-end 7595 :post-blank 1 :post-affiliated 7345 :mode nil :granularity nil :parent #62) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #78)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 7567 :end 7593 :contents-begin nil :contents-end nil :post-blank 0 :parent #78)) #(".\n" 0 2 (:parent #78))) (paragraph (:begin 7596 :end 7632 :contents-begin 7596 :contents-end 7632 :post-blank 0 :post-affiliated 7596 :mode nil :granularity nil :parent #62) #("End of the GN2 installation recipe!\n" 0 36 (:parent #79)))))) (headline (:raw-value "Run MySQL server" :begin 7633 :end 9008 :pre-blank 1 :contents-begin 7653 :contents-end 9007 :robust-begin 7655 :robust-end 9005 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7633 :title (#("Run MySQL server" 0 16 (:parent #53))) :mode nil :granularity nil :parent #46) (section (:begin 7653 :end 9008 :contents-begin 7653 :contents-end 9007 :robust-begin 7653 :robust-end 9005 :post-blank 1 :post-affiliated 7653 :mode section :granularity nil :parent #53) (paragraph (:begin 7653 :end 7928 :contents-begin 7653 :contents-end 7927 :post-blank 1 :post-affiliated 7653 :mode planning :granularity nil :parent #56) #("At this point we require the underlying distribution to install and\nrun mysqld. Currently we have two databases for deployment,\n'db" 0 131 (:parent #59)) (subscript (:begin 7784 :end 7791 :use-brackets-p nil :contents-begin 7785 :contents-end 7791 :post-blank 0 :parent #59) #("webqtl" 0 6 (:parent #63))) (subscript (:begin 7791 :end 7793 :use-brackets-p nil :contents-begin 7792 :contents-end 7793 :post-blank 0 :parent #59) #("s" 0 1 (:parent #64))) #("' is the small testing database containing experiments\nfrom BXD mice and 'db" 0 76 (:parent #59)) (subscript (:begin 7869 :end 7876 :use-brackets-p nil :contents-begin 7870 :contents-end 7876 :post-blank 0 :parent #59) #("webqtl" 0 6 (:parent #66))) (subscript (:begin 7876 :end 7882 :use-brackets-p nil :contents-begin 7877 :contents-end 7882 :post-blank 0 :parent #59) #("plant" 0 5 (:parent #67))) #("' which contains all plant related\nmaterial.\n" 0 45 (:parent #59))) (paragraph (:begin 7928 :end 7956 :contents-begin 7928 :contents-end 7955 :post-blank 1 :post-affiliated 7928 :mode nil :granularity nil :parent #56) #("Download one database from\n" 0 27 (:parent #60))) (paragraph (:begin 7956 :end 8054 :contents-begin 7956 :contents-end 8053 :post-blank 1 :post-affiliated 7956 :mode nil :granularity nil :parent #56) (link (:type "http" :path "//files.genenetwork.org/raw_database/" :format plain :raw-link "http://files.genenetwork.org/raw_database/" :application nil :search-option nil :begin 7956 :end 7998 :contents-begin nil :contents-end nil :post-blank 0 :parent #61)) #("\n" 0 1 (:parent #61)) (link (:type "https" :path "//s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :format plain :raw-link "https://s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :application nil :search-option nil :begin 7999 :end 8052 :contents-begin nil :contents-end nil :post-blank 0 :parent #61)) #("\n" 0 1 (:parent #61))) (paragraph (:begin 8054 :end 8073 :contents-begin 8054 :contents-end 8072 :post-blank 1 :post-affiliated 8054 :mode nil :granularity nil :parent #56) #("Check the md5sum.\n" 0 18 (:parent #62))) (paragraph (:begin 8073 :end 8195 :contents-begin 8073 :contents-end 8194 :post-blank 1 :post-affiliated 8073 :mode nil :granularity nil :parent #56) #("After installation inflate the database binary in the MySQL directory\n(this installation path is subject to change soon)\n" 0 121 (:parent #63))) (fixed-width (:begin 8195 :end 8283 :value "chown -R mysql:mysql db_webqtl_s/\nchmod 700 db_webqtl_s/\nchmod 660 db_webqtl_s/*" :post-blank 2 :post-affiliated 8195 :mode nil :granularity nil :parent #56)) (paragraph (:begin 8283 :end 8334 :contents-begin 8283 :contents-end 8333 :post-blank 1 :post-affiliated 8283 :mode nil :granularity nil :parent #56) #("restart MySQL service (mysqld). Login as root and\n" 0 50 (:parent #65))) (fixed-width (:begin 8334 :end 8560 :value "mysql> show databases;\n+--------------------+\n| Database |\n+--------------------+\n| information_schema |\n| db_webqtl_s |\n| mysql |\n| performance_schema |\n+--------------------+" :post-blank 2 :post-affiliated 8334 :mode nil :granularity nil :parent #56)) (paragraph (:begin 8560 :end 8625 :contents-begin 8560 :contents-end 8624 :post-blank 1 :post-affiliated 8560 :mode nil :granularity nil :parent #56) #("Set permissions and match password in your settings file below:\n" 0 64 (:parent #67))) (fixed-width (:begin 8625 :end 8724 :value "mysql> grant all privileges on db_webqtl_s.* to gn2@\"localhost\" identified by 'mysql_password';" :post-blank 2 :post-affiliated 8625 :mode nil :granularity nil :parent #56)) (paragraph (:begin 8724 :end 8875 :contents-begin 8724 :contents-end 8874 :post-blank 1 :post-affiliated 8724 :mode nil :granularity nil :parent #56) #("Note that if the mysql connection is not working, try connecting to\nthe IP address and check server firewall, hosts.allow and mysql IP\nconfiguration.\n" 0 150 (:parent #69))) (paragraph (:begin 8875 :end 9007 :contents-begin 8875 :contents-end 9007 :post-blank 0 :post-affiliated 8875 :mode nil :granularity nil :parent #56) #("Note for the plant database you can rename it to db" 0 51 (:parent #70)) (subscript (:begin 8926 :end 8933 :use-brackets-p nil :contents-begin 8927 :contents-end 8933 :post-blank 0 :parent #70) #("webqtl" 0 6 (:parent #74))) (subscript (:begin 8933 :end 8935 :use-brackets-p nil :contents-begin 8934 :contents-end 8935 :post-blank 0 :parent #70) #("s" 0 1 (:parent #75))) #(", or\nchange the settings in etc/default" 0 39 (:parent #70)) (subscript (:begin 8974 :end 8987 :use-brackets-p nil :contents-begin 8975 :contents-end 8986 :post-blank 1 :parent #70) #("settings.py" 0 11 (:parent #77))) #("to match your path.\n" 0 20 (:parent #70))))) (headline (:raw-value "GN2 Dependency Graph" :begin 9008 :end 9172 :pre-blank 1 :contents-begin 9032 :contents-end 9171 :robust-begin 9034 :robust-end 9169 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9008 :title (#("GN2 Dependency Graph" 0 20 (:parent #54))) :mode nil :granularity nil :parent #46) (section (:begin 9032 :end 9172 :contents-begin 9032 :contents-end 9171 :robust-begin 9032 :robust-end 9169 :post-blank 1 :post-affiliated 9032 :mode section :granularity nil :parent #54) (paragraph (:begin 9032 :end 9093 :contents-begin 9032 :contents-end 9092 :post-blank 1 :post-affiliated 9032 :mode planning :granularity nil :parent #57) #("Graph of all runtime dependencies as installed by GNU Guix.\n" 0 60 (:parent #60))) (paragraph (:begin 9093 :end 9171 :contents-begin 9123 :contents-end 9171 :post-blank 0 :post-affiliated 9123 :attr_html (":title GN2_graph") :mode nil :granularity nil :parent #57) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg" :format plain :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg" :application nil :search-option nil :begin 9123 :end 9170 :contents-begin nil :contents-end nil :post-blank 0 :parent #61)) #("\n" 0 1 (:parent #61))))) (headline (:raw-value "Source deployment" :begin 9172 :end 12840 :pre-blank 1 :contents-begin 9193 :contents-end 12839 :robust-begin 9195 :robust-end 12837 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9172 :title (#("Source deployment" 0 17 (:parent #55))) :mode nil :granularity nil :parent #46) (section (:begin 9193 :end 9612 :contents-begin 9193 :contents-end 9610 :robust-begin 9193 :robust-end 9608 :post-blank 2 :post-affiliated 9193 :mode section :granularity nil :parent #55) (paragraph (:begin 9193 :end 9274 :contents-begin 9193 :contents-end 9273 :post-blank 1 :post-affiliated 9193 :mode planning :granularity nil :parent #58) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #61))) (paragraph (:begin 9274 :end 9304 :contents-begin 9274 :contents-end 9303 :post-blank 1 :post-affiliated 9274 :mode nil :granularity nil :parent #58) #("First execute above 4 steps:\n" 0 29 (:parent #62))) (plain-list (:type unordered :begin 9304 :end 9610 :contents-begin 9304 :contents-end 9610 :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :post-blank 0 :post-affiliated 9304 :mode nil :granularity nil :parent #58) (item (:bullet "- " :begin 9304 :end 9364 :contents-begin 9309 :contents-end 9364 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9304 :tag nil :mode item :granularity nil :parent #63) (paragraph (:begin 9309 :end 9364 :contents-begin 9309 :contents-end 9364 :post-blank 0 :post-affiliated 9309 :mode nil :granularity nil :parent #66) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 9309 :end 9363 :contents-begin 9337 :contents-end 9361 :post-blank 0 :parent #69) #("Step 1: Install GNU Guix" 0 24 (:parent #72))) #("\n" 0 1 (:parent #69)))) (item (:bullet "- " :begin 9364 :end 9458 :contents-begin 9369 :contents-end 9458 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9364 :tag nil :mode item :granularity nil :parent #63) (paragraph (:begin 9369 :end 9458 :contents-begin 9369 :contents-end 9458 :post-blank 0 :post-affiliated 9369 :mode nil :granularity nil :parent #67) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 9369 :end 9457 :contents-begin 9414 :contents-end 9455 :post-blank 0 :parent #70) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #73))) #("\n" 0 1 (:parent #70)))) (item (:bullet "- " :begin 9458 :end 9542 :contents-begin 9463 :contents-end 9542 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9458 :tag nil :mode item :granularity nil :parent #63) (paragraph (:begin 9463 :end 9542 :contents-begin 9463 :contents-end 9542 :post-blank 0 :post-affiliated 9463 :mode nil :granularity nil :parent #68) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 9463 :end 9541 :contents-begin 9503 :contents-end 9539 :post-blank 0 :parent #71) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #74))) #("\n" 0 1 (:parent #71)))) (item (:bullet "- " :begin 9542 :end 9610 :contents-begin 9547 :contents-end 9610 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9542 :tag nil :mode item :granularity nil :parent #63) (paragraph (:begin 9547 :end 9610 :contents-begin 9547 :contents-end 9610 :post-blank 0 :post-affiliated 9547 :mode nil :granularity nil :parent #69) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 9547 :end 9609 :contents-begin 9579 :contents-end 9607 :post-blank 0 :parent #72) #("Step 4: Install and run GN2 " 0 28 (:parent #75))) #("\n" 0 1 (:parent #72)))))) (headline (:raw-value "Run your own copy of GN2" :begin 9612 :end 10722 :pre-blank 1 :contents-begin 9641 :contents-end 10721 :robust-begin 9643 :robust-end 10719 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9612 :title (#("Run your own copy of GN2" 0 24 (:parent #59))) :mode nil :granularity nil :parent #55) (section (:begin 9641 :end 10722 :contents-begin 9641 :contents-end 10721 :robust-begin 9641 :robust-end 10719 :post-blank 1 :post-affiliated 9641 :mode section :granularity nil :parent #59) (paragraph (:begin 9641 :end 9839 :contents-begin 9641 :contents-end 9838 :post-blank 1 :post-affiliated 9641 :mode planning :granularity nil :parent #62) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #65)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 9793 :end 9836 :contents-begin nil :contents-end nil :post-blank 0 :parent #65)) #(".\n" 0 2 (:parent #65))) (paragraph (:begin 9839 :end 9964 :contents-begin 9839 :contents-end 9963 :post-blank 1 :post-affiliated 9839 :mode nil :granularity nil :parent #62) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #66)) (subscript (:begin 9896 :end 9902 :use-brackets-p nil :contents-begin 9897 :contents-end 9901 :post-blank 1 :parent #66) #("PATH" 0 4 (:parent #70))) #("and\nR" 0 5 (:parent #66)) (subscript (:begin 9907 :end 9912 :use-brackets-p nil :contents-begin 9908 :contents-end 9912 :post-blank 0 :parent #66) #("LIBS" 0 4 (:parent #72))) (subscript (:begin 9912 :end 9918 :use-brackets-p nil :contents-begin 9913 :contents-end 9917 :post-blank 1 :parent #66) #("SITE" 0 4 (:parent #73))) #("are set) from the information given by guix:\n" 0 45 (:parent #66))) (fixed-width (:begin 9964 :end 9995 :value "guix package --search-paths" :post-blank 2 :post-affiliated 9964 :mode nil :granularity nil :parent #62)) (paragraph (:begin 9995 :end 10019 :contents-begin 9995 :contents-end 10018 :post-blank 1 :post-affiliated 9995 :mode nil :granularity nil :parent #62) #("Inside the repository:\n" 0 23 (:parent #68))) (fixed-width (:begin 10019 :end 10059 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 10019 :mode nil :granularity nil :parent #62)) (paragraph (:begin 10059 :end 10303 :contents-begin 10059 :contents-end 10302 :post-blank 1 :post-affiliated 10059 :mode nil :granularity nil :parent #62) #("Will fire up your local repo " 0 29 (:parent #70)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 10088 :end 10111 :contents-begin nil :contents-end nil :post-blank 1 :parent #70)) #("using the\nsettings in ./etc/default" 0 35 (:parent #70)) (subscript (:begin 10146 :end 10158 :use-brackets-p nil :contents-begin 10147 :contents-end 10158 :post-blank 0 :parent #70) #("settings.py" 0 11 (:parent #76))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #70)) (subscript (:begin 10263 :end 10276 :use-brackets-p nil :contents-begin 10264 :contents-end 10275 :post-blank 1 :parent #70) #("settings.py" 0 11 (:parent #78))) #("and pass it into GN2 with\n" 0 26 (:parent #70))) (fixed-width (:begin 10303 :end 10346 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 10303 :mode nil :granularity nil :parent #62)) (paragraph (:begin 10346 :end 10492 :contents-begin 10346 :contents-end 10491 :post-blank 1 :post-affiliated 10346 :mode nil :granularity nil :parent #62) #("and everything " 0 15 (:parent #72)) (bold (:begin 10361 :end 10370 :post-blank 1 :contents-begin 10362 :contents-end 10368 :parent #72) #("should" 0 6 (:parent #76))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #72))) (paragraph (:begin 10492 :end 10620 :contents-begin 10492 :contents-end 10619 :post-blank 1 :post-affiliated 10492 :mode nil :granularity nil :parent #62) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #73))) (fixed-width (:begin 10620 :end 10721 :value "cat ~/.guix-profile/lib/python2.7/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 10620 :mode nil :granularity nil :parent #62)))) (headline (:raw-value "Set up nginx port forwarding" :begin 10722 :end 12840 :pre-blank 1 :contents-begin 10755 :contents-end 12839 :robust-begin 10757 :robust-end 12837 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 10722 :title (#("Set up nginx port forwarding" 0 28 (:parent #60))) :mode nil :granularity nil :parent #55) (section (:begin 10755 :end 12840 :contents-begin 10755 :contents-end 12839 :robust-begin 10755 :robust-end 12837 :post-blank 1 :post-affiliated 10755 :mode section :granularity nil :parent #60) (paragraph (:begin 10755 :end 10923 :contents-begin 10755 :contents-end 10922 :post-blank 1 :post-affiliated 10755 :mode planning :granularity nil :parent #63) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #66))) (paragraph (:begin 10923 :end 11063 :contents-begin 10923 :contents-end 11062 :post-blank 1 :post-affiliated 10923 :mode nil :granularity nil :parent #63) #("#+begin" 0 7 (:parent #67)) (subscript (:begin 10930 :end 10935 :use-brackets-p nil :contents-begin 10931 :contents-end 10934 :post-blank 1 :parent #67) #("src" 0 3 (:parent #71))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #67)) (subscript (:begin 10984 :end 10990 :use-brackets-p nil :contents-begin 10985 :contents-end 10989 :post-blank 1 :parent #67) #("name" 0 4 (:parent #73))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #67)) (subscript (:begin 11030 :end 11036 :use-brackets-p nil :contents-begin 11031 :contents-end 11034 :post-blank 2 :parent #67) #("log" 0 3 (:parent #75))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #67))) (paragraph (:begin 11063 :end 11232 :contents-begin 11063 :contents-end 11231 :post-blank 1 :post-affiliated 11063 :mode nil :granularity nil :parent #63) #(" proxy" 0 13 (:parent #68)) (subscript (:begin 11076 :end 11084 :use-brackets-p nil :contents-begin 11077 :contents-end 11084 :post-blank 0 :parent #68) #("connect" 0 7 (:parent #72))) (subscript (:begin 11084 :end 11099 :use-brackets-p nil :contents-begin 11085 :contents-end 11092 :post-blank 7 :parent #68) #("timeout" 0 7 (:parent #73))) #("3000;\n proxy" 0 19 (:parent #68)) (subscript (:begin 11118 :end 11123 :use-brackets-p nil :contents-begin 11119 :contents-end 11123 :post-blank 0 :parent #68) #("send" 0 4 (:parent #75))) (subscript (:begin 11123 :end 11141 :use-brackets-p nil :contents-begin 11124 :contents-end 11131 :post-blank 10 :parent #68) #("timeout" 0 7 (:parent #76))) #("3000;\n proxy" 0 19 (:parent #68)) (subscript (:begin 11160 :end 11165 :use-brackets-p nil :contents-begin 11161 :contents-end 11165 :post-blank 0 :parent #68) #("read" 0 4 (:parent #78))) (subscript (:begin 11165 :end 11183 :use-brackets-p nil :contents-begin 11166 :contents-end 11173 :post-blank 10 :parent #68) #("timeout" 0 7 (:parent #79))) #("3000;\n send" 0 18 (:parent #68)) (subscript (:begin 11201 :end 11225 :use-brackets-p nil :contents-begin 11202 :contents-end 11209 :post-blank 16 :parent #68) #("timeout" 0 7 (:parent #81))) #("3000;\n" 0 6 (:parent #68))) (paragraph (:begin 11232 :end 11632 :contents-begin 11232 :contents-end 11631 :post-blank 1 :post-affiliated 11232 :mode nil :granularity nil :parent #63) #(" location / {\n proxy" 0 38 (:parent #69)) (subscript (:begin 11270 :end 11274 :use-brackets-p nil :contents-begin 11271 :contents-end 11274 :post-blank 0 :parent #69) #("set" 0 3 (:parent #73))) (subscript (:begin 11274 :end 11284 :use-brackets-p nil :contents-begin 11275 :contents-end 11281 :post-blank 3 :parent #69) #("header" 0 6 (:parent #74))) #("Host $http" 0 15 (:parent #69)) (subscript (:begin 11299 :end 11304 :use-brackets-p nil :contents-begin 11300 :contents-end 11304 :post-blank 0 :parent #69) #("host" 0 4 (:parent #76))) #(";\n proxy" 0 19 (:parent #69)) (subscript (:begin 11323 :end 11327 :use-brackets-p nil :contents-begin 11324 :contents-end 11327 :post-blank 0 :parent #69) #("set" 0 3 (:parent #78))) (subscript (:begin 11327 :end 11337 :use-brackets-p nil :contents-begin 11328 :contents-end 11334 :post-blank 3 :parent #69) #("header" 0 6 (:parent #79))) #("Connection keep-alive;\n proxy" 0 40 (:parent #69)) (subscript (:begin 11377 :end 11381 :use-brackets-p nil :contents-begin 11378 :contents-end 11381 :post-blank 0 :parent #69) #("set" 0 3 (:parent #81))) (subscript (:begin 11381 :end 11391 :use-brackets-p nil :contents-begin 11382 :contents-end 11388 :post-blank 3 :parent #69) #("header" 0 6 (:parent #82))) #("X-Real-IP $remote" 0 17 (:parent #69)) (subscript (:begin 11408 :end 11413 :use-brackets-p nil :contents-begin 11409 :contents-end 11413 :post-blank 0 :parent #69) #("addr" 0 4 (:parent #84))) #(";\n proxy" 0 19 (:parent #69)) (subscript (:begin 11432 :end 11436 :use-brackets-p nil :contents-begin 11433 :contents-end 11436 :post-blank 0 :parent #69) #("set" 0 3 (:parent #86))) (subscript (:begin 11436 :end 11446 :use-brackets-p nil :contents-begin 11437 :contents-end 11443 :post-blank 3 :parent #69) #("header" 0 6 (:parent #87))) #("X-Forwarded-For $proxy" 0 22 (:parent #69)) (subscript (:begin 11468 :end 11472 :use-brackets-p nil :contents-begin 11469 :contents-end 11472 :post-blank 0 :parent #69) #("add" 0 3 (:parent #89))) (subscript (:begin 11472 :end 11474 :use-brackets-p nil :contents-begin 11473 :contents-end 11474 :post-blank 0 :parent #69) #("x" 0 1 (:parent #90))) (subscript (:begin 11474 :end 11484 :use-brackets-p nil :contents-begin 11475 :contents-end 11484 :post-blank 0 :parent #69) #("forwarded" 0 9 (:parent #91))) (subscript (:begin 11484 :end 11488 :use-brackets-p nil :contents-begin 11485 :contents-end 11488 :post-blank 0 :parent #69) #("for" 0 3 (:parent #92))) #(";\n proxy" 0 19 (:parent #69)) (subscript (:begin 11507 :end 11511 :use-brackets-p nil :contents-begin 11508 :contents-end 11511 :post-blank 0 :parent #69) #("set" 0 3 (:parent #94))) (subscript (:begin 11511 :end 11521 :use-brackets-p nil :contents-begin 11512 :contents-end 11518 :post-blank 3 :parent #69) #("header" 0 6 (:parent #95))) #("X-Forwarded-Host $server" 0 24 (:parent #69)) (subscript (:begin 11545 :end 11550 :use-brackets-p nil :contents-begin 11546 :contents-end 11550 :post-blank 0 :parent #69) #("name" 0 4 (:parent #97))) #(";\n proxy" 0 19 (:parent #69)) (subscript (:begin 11569 :end 11583 :use-brackets-p nil :contents-begin 11570 :contents-end 11574 :post-blank 9 :parent #69) #("pass" 0 4 (:parent #99))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 11583 :end 11604 :contents-begin nil :contents-end nil :post-blank 0 :parent #69)) #(";\n }\n}\n#+end" 0 19 (:parent #69)) (subscript (:begin 11623 :end 11628 :use-brackets-p nil :contents-begin 11624 :contents-end 11627 :post-blank 1 :parent #69) #("src" 0 3 (:parent #102))) #("js\n" 0 3 (:parent #69))) (paragraph (:begin 11632 :end 11671 :contents-begin 11632 :contents-end 11670 :post-blank 1 :post-affiliated 11632 :mode nil :granularity nil :parent #63) #("Install the nginx webserver (as root)\n" 0 38 (:parent #70))) (fixed-width (:begin 11671 :end 11696 :value "guix package -i nginx" :post-blank 2 :post-affiliated 11671 :mode nil :granularity nil :parent #63)) (paragraph (:begin 11696 :end 11777 :contents-begin 11696 :contents-end 11776 :post-blank 1 :post-affiliated 11696 :mode nil :granularity nil :parent #63) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #72))) (fixed-width (:begin 11777 :end 11964 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 11777 :mode nil :granularity nil :parent #63)) (paragraph (:begin 11964 :end 11979 :contents-begin 11964 :contents-end 11978 :post-blank 1 :post-affiliated 11964 :mode nil :granularity nil :parent #63) #("Use that path\n" 0 14 (:parent #74))) (fixed-width (:begin 11979 :end 12373 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 11979 :mode nil :granularity nil :parent #63)) (paragraph (:begin 12373 :end 12599 :contents-begin 12373 :contents-end 12599 :post-blank 0 :post-affiliated 12373 :mode nil :granularity nil :parent #63) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #76))) (fixed-width (:begin 12599 :end 12646 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 12599 :mode nil :granularity nil :parent #63)) (paragraph (:begin 12646 :end 12657 :contents-begin 12646 :contents-end 12656 :post-blank 1 :post-affiliated 12646 :mode nil :granularity nil :parent #63) #("Make dirs\n" 0 10 (:parent #78))) (fixed-width (:begin 12657 :end 12691 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 12657 :mode nil :granularity nil :parent #63)) (paragraph (:begin 12691 :end 12702 :contents-begin 12691 :contents-end 12701 :post-blank 1 :post-affiliated 12691 :mode nil :granularity nil :parent #63) #("Add users\n" 0 10 (:parent #80))) (fixed-width (:begin 12702 :end 12738 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 12702 :mode nil :granularity nil :parent #63)) (paragraph (:begin 12738 :end 12749 :contents-begin 12738 :contents-end 12748 :post-blank 1 :post-affiliated 12738 :mode nil :granularity nil :parent #63) #("Run nginx\n" 0 10 (:parent #82))) (fixed-width (:begin 12749 :end 12839 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 12749 :mode nil :granularity nil :parent #63))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 12840 :end 13801 :pre-blank 1 :contents-begin 12902 :contents-end 13801 :robust-begin 12904 :robust-end 13799 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12840 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #56))) :mode nil :granularity nil :parent #46) (section (:begin 12902 :end 12959 :contents-begin 12902 :contents-end 12958 :robust-begin 12902 :robust-end 12956 :post-blank 1 :post-affiliated 12902 :mode section :granularity nil :parent #56) (paragraph (:begin 12902 :end 12958 :contents-begin 12902 :contents-end 12958 :post-blank 0 :post-affiliated 12902 :mode planning :granularity nil :parent #59) #("See the document " 0 17 (:parent #62)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 12919 :end 12956 :contents-begin nil :contents-end nil :post-blank 0 :parent #62)) #(".\n" 0 2 (:parent #62)))) (headline (:raw-value "Update to recent guix" :begin 12959 :end 13409 :pre-blank 1 :contents-begin 12985 :contents-end 13408 :robust-begin 12987 :robust-end 13406 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12959 :title (#("Update to recent guix" 0 21 (:parent #60))) :mode nil :granularity nil :parent #56) (section (:begin 12985 :end 13409 :contents-begin 12985 :contents-end 13408 :robust-begin 12985 :robust-end 13406 :post-blank 1 :post-affiliated 12985 :mode section :granularity nil :parent #60) (paragraph (:begin 12985 :end 13020 :contents-begin 12985 :contents-end 13019 :post-blank 1 :post-affiliated 12985 :mode planning :granularity nil :parent #63) #("We now compile Guix from scratch.\n" 0 34 (:parent #66))) (paragraph (:begin 13020 :end 13295 :contents-begin 13020 :contents-end 13294 :post-blank 1 :post-affiliated 13020 :mode nil :granularity nil :parent #63) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #67)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 13159 :end 13272 :contents-begin 13264 :contents-end 13269 :post-blank 1 :parent #67) #("these" 0 5 (:parent #71))) #("steps carefully after\n" 0 22 (:parent #67))) (fixed-width (:begin 13295 :end 13330 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 13295 :mode nil :granularity nil :parent #63)) (paragraph (:begin 13330 :end 13408 :contents-begin 13330 :contents-end 13408 :post-blank 0 :post-affiliated 13330 :mode nil :granularity nil :parent #63) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #69))))) (headline (:raw-value "Install GN2" :begin 13409 :end 13801 :pre-blank 1 :contents-begin 13425 :contents-end 13801 :robust-begin 13427 :robust-end 13799 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 13409 :title (#("Install GN2" 0 11 (:parent #61))) :mode nil :granularity nil :parent #56) (section (:begin 13425 :end 13801 :contents-begin 13425 :contents-end 13801 :robust-begin 13425 :robust-end 13799 :post-blank 0 :post-affiliated 13425 :mode section :granularity nil :parent #61) (paragraph (:begin 13425 :end 13468 :contents-begin 13425 :contents-end 13467 :post-blank 1 :post-affiliated 13425 :mode planning :granularity nil :parent #64) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #67))) (paragraph (:begin 13468 :end 13676 :contents-begin 13468 :contents-end 13675 :post-blank 1 :post-affiliated 13468 :mode nil :granularity nil :parent #64) #("#+begin" 0 7 (:parent #68)) (subscript (:begin 13475 :end 13480 :use-brackets-p nil :contents-begin 13476 :contents-end 13479 :post-blank 1 :parent #68) #("src" 0 3 (:parent #72))) #("bash\nenv GUIX" 0 13 (:parent #68)) (subscript (:begin 13493 :end 13501 :use-brackets-p nil :contents-begin 13494 :contents-end 13501 :post-blank 0 :parent #68) #("PACKAGE" 0 7 (:parent #74))) (subscript (:begin 13501 :end 13506 :use-brackets-p nil :contents-begin 13502 :contents-end 13506 :post-blank 0 :parent #68) #("PATH" 0 4 (:parent #75))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #68)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 13605 :end 13633 :contents-begin nil :contents-end nil :post-blank 1 :parent #68)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 13633 :end 13658 :contents-begin nil :contents-end nil :post-blank 0 :parent #68)) #("\"\n#+end" 0 7 (:parent #68)) (subscript (:begin 13665 :end 13670 :use-brackets-p nil :contents-begin 13666 :contents-end 13669 :post-blank 1 :parent #68) #("src" 0 3 (:parent #80))) #("bash\n" 0 5 (:parent #68))) (paragraph (:begin 13676 :end 13714 :contents-begin 13676 :contents-end 13713 :post-blank 1 :post-affiliated 13676 :mode nil :granularity nil :parent #64) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #69))) (paragraph (:begin 13714 :end 13801 :contents-begin 13714 :contents-end 13801 :post-blank 0 :post-affiliated 13714 :mode nil :granularity nil :parent #64) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #70)))))))) (section (:begin 121 :end 1404 :contents-begin 121 :contents-end 1403 :robust-begin 121 :robust-end 1401 :post-blank 1 :post-affiliated 121 :mode section :granularity nil :parent #0) (plain-list (:type unordered :begin 121 :end 1403 :contents-begin 121 :contents-end 1403 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 121 :mode planning :granularity nil :parent #3) (item (:bullet "- " :begin 121 :end 156 :contents-begin 124 :contents-end 156 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 121 :tag nil :mode item :granularity nil :parent #6) (paragraph (:begin 124 :end 156 :contents-begin 124 :contents-end 156 :post-blank 0 :post-affiliated 124 :mode nil :granularity nil :parent #9) (link (:type "custom-id" :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil :begin 124 :end 155 :contents-begin 141 :contents-end 153 :post-blank 0 :parent #12) #("Introduction" 0 12 (:parent #15))) #("\n" 0 1 (:parent #12)))) (item (:bullet "- " :begin 156 :end 521 :contents-begin 159 :contents-end 521 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 156 :tag nil :mode item :granularity nil :parent #6) (paragraph (:begin 159 :end 217 :contents-begin 159 :contents-end 217 :post-blank 0 :post-affiliated 159 :mode nil :granularity nil :parent #10) (link (:type "custom-id" :path "quick-installation-recipe" :format bracket :raw-link "#quick-installation-recipe" :application nil :search-option nil :begin 159 :end 216 :contents-begin 189 :contents-end 214 :post-blank 0 :parent #13) #("Quick installation recipe" 0 25 (:parent #16))) #("\n" 0 1 (:parent #13))) (plain-list (:type unordered :begin 217 :end 521 :contents-begin 217 :contents-end 521 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 217 :mode nil :granularity nil :parent #10) (item (:bullet "- " :begin 217 :end 277 :contents-begin 222 :contents-end 277 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 217 :tag nil :mode item :granularity nil :parent #14) (paragraph (:begin 222 :end 277 :contents-begin 222 :contents-end 277 :post-blank 0 :post-affiliated 222 :mode nil :granularity nil :parent #17) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 222 :end 276 :contents-begin 250 :contents-end 274 :post-blank 0 :parent #20) #("Step 1: Install GNU Guix" 0 24 (:parent #23))) #("\n" 0 1 (:parent #20)))) (item (:bullet "- " :begin 277 :end 371 :contents-begin 282 :contents-end 371 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 277 :tag nil :mode item :granularity nil :parent #14) (paragraph (:begin 282 :end 371 :contents-begin 282 :contents-end 371 :post-blank 0 :post-affiliated 282 :mode nil :granularity nil :parent #18) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 282 :end 370 :contents-begin 327 :contents-end 368 :post-blank 0 :parent #21) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #24))) #("\n" 0 1 (:parent #21)))) (item (:bullet "- " :begin 371 :end 455 :contents-begin 376 :contents-end 455 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 371 :tag nil :mode item :granularity nil :parent #14) (paragraph (:begin 376 :end 455 :contents-begin 376 :contents-end 455 :post-blank 0 :post-affiliated 376 :mode nil :granularity nil :parent #19) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 376 :end 454 :contents-begin 416 :contents-end 452 :post-blank 0 :parent #22) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #25))) #("\n" 0 1 (:parent #22)))) (item (:bullet "- " :begin 455 :end 521 :contents-begin 460 :contents-end 521 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 455 :tag nil :mode item :granularity nil :parent #14) (paragraph (:begin 460 :end 521 :contents-begin 460 :contents-end 521 :post-blank 0 :post-affiliated 460 :mode nil :granularity nil :parent #20) (link (:type "custom-id" :path "step-4-install-and-run-gn2" :format bracket :raw-link "#step-4-install-and-run-gn2" :application nil :search-option nil :begin 460 :end 520 :contents-begin 491 :contents-end 518 :post-blank 0 :parent #23) #("Step 4: Install and run GN2" 0 27 (:parent #26))) #("\n" 0 1 (:parent #23)))))) (item (:bullet "- " :begin 521 :end 564 :contents-begin 524 :contents-end 564 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 521 :tag nil :mode item :granularity nil :parent #6) (paragraph (:begin 524 :end 564 :contents-begin 524 :contents-end 564 :post-blank 0 :post-affiliated 524 :mode nil :granularity nil :parent #11) (link (:type "custom-id" :path "run-mysql-server" :format bracket :raw-link "#run-mysql-server" :application nil :search-option nil :begin 524 :end 563 :contents-begin 545 :contents-end 561 :post-blank 0 :parent #14) #("Run MySQL server" 0 16 (:parent #17))) #("\n" 0 1 (:parent #14)))) (item (:bullet "- " :begin 564 :end 615 :contents-begin 567 :contents-end 615 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 564 :tag nil :mode item :granularity nil :parent #6) (paragraph (:begin 567 :end 615 :contents-begin 567 :contents-end 615 :post-blank 0 :post-affiliated 567 :mode nil :granularity nil :parent #12) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 567 :end 614 :contents-begin 592 :contents-end 612 :post-blank 0 :parent #15) #("GN2 Dependency Graph" 0 20 (:parent #18))) #("\n" 0 1 (:parent #15)))) (item (:bullet "- " :begin 615 :end 790 :contents-begin 618 :contents-end 790 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 615 :tag nil :mode item :granularity nil :parent #6) (paragraph (:begin 618 :end 660 :contents-begin 618 :contents-end 660 :post-blank 0 :post-affiliated 618 :mode nil :granularity nil :parent #13) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 618 :end 659 :contents-begin 640 :contents-end 657 :post-blank 0 :parent #16) #("Source deployment" 0 17 (:parent #19))) #("\n" 0 1 (:parent #16))) (plain-list (:type unordered :begin 660 :end 790 :contents-begin 660 :contents-end 790 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 660 :mode nil :granularity nil :parent #13) (item (:bullet "- " :begin 660 :end 721 :contents-begin 665 :contents-end 721 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 660 :tag nil :mode item :granularity nil :parent #17) (paragraph (:begin 665 :end 721 :contents-begin 665 :contents-end 721 :post-blank 0 :post-affiliated 665 :mode nil :granularity nil :parent #20) (link (:type "custom-id" :path "run-your-own-copy-of-gn2" :format bracket :raw-link "#run-your-own-copy-of-gn2" :application nil :search-option nil :begin 665 :end 720 :contents-begin 694 :contents-end 718 :post-blank 0 :parent #23) #("Run your own copy of GN2" 0 24 (:parent #26))) #("\n" 0 1 (:parent #23)))) (item (:bullet "- " :begin 721 :end 790 :contents-begin 726 :contents-end 790 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 721 :tag nil :mode item :granularity nil :parent #17) (paragraph (:begin 726 :end 790 :contents-begin 726 :contents-end 790 :post-blank 0 :post-affiliated 726 :mode nil :granularity nil :parent #21) (link (:type "custom-id" :path "set-up-nginx-port-forwarding" :format bracket :raw-link "#set-up-nginx-port-forwarding" :application nil :search-option nil :begin 726 :end 789 :contents-begin 759 :contents-end 787 :post-blank 0 :parent #24) #("Set up nginx port forwarding" 0 28 (:parent #27))) #("\n" 0 1 (:parent #24)))))) (item (:bullet "- " :begin 790 :end 1034 :contents-begin 793 :contents-end 1034 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 790 :tag nil :mode item :granularity nil :parent #6) (paragraph (:begin 793 :end 917 :contents-begin 793 :contents-end 917 :post-blank 0 :post-affiliated 793 :mode nil :granularity nil :parent #14) (link (:type "custom-id" :path "source-deployment-and-other-information-on-reproducibility" :format bracket :raw-link "#source-deployment-and-other-information-on-reproducibility" :application nil :search-option nil :begin 793 :end 916 :contents-begin 856 :contents-end 914 :post-blank 0 :parent #17) #("Source deployment and other information on reproducibility" 0 58 (:parent #20))) #("\n" 0 1 (:parent #17))) (plain-list (:type unordered :begin 917 :end 1034 :contents-begin 917 :contents-end 1034 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 917 :mode nil :granularity nil :parent #14) (item (:bullet "- " :begin 917 :end 972 :contents-begin 922 :contents-end 972 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 917 :tag nil :mode item :granularity nil :parent #18) (paragraph (:begin 922 :end 972 :contents-begin 922 :contents-end 972 :post-blank 0 :post-affiliated 922 :mode nil :granularity nil :parent #21) (link (:type "custom-id" :path "update-to-recent-guix" :format bracket :raw-link "#update-to-recent-guix" :application nil :search-option nil :begin 922 :end 971 :contents-begin 948 :contents-end 969 :post-blank 0 :parent #24) #("Update to recent guix" 0 21 (:parent #27))) #("\n" 0 1 (:parent #24)))) (item (:bullet "- " :begin 972 :end 1007 :contents-begin 977 :contents-end 1007 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 972 :tag nil :mode item :granularity nil :parent #18) (paragraph (:begin 977 :end 1007 :contents-begin 977 :contents-end 1007 :post-blank 0 :post-affiliated 977 :mode nil :granularity nil :parent #22) (link (:type "custom-id" :path "install-gn2" :format bracket :raw-link "#install-gn2" :application nil :search-option nil :begin 977 :end 1006 :contents-begin 993 :contents-end 1004 :post-blank 0 :parent #25) #("Install GN2" 0 11 (:parent #28))) #("\n" 0 1 (:parent #25)))) (item (:bullet "- " :begin 1007 :end 1034 :contents-begin 1012 :contents-end 1034 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1007 :tag nil :mode item :granularity nil :parent #18) (paragraph (:begin 1012 :end 1034 :contents-begin 1012 :contents-end 1034 :post-blank 0 :post-affiliated 1012 :mode nil :granularity nil :parent #23) (link (:type "custom-id" :path "run-gn2" :format bracket :raw-link "#run-gn2" :application nil :search-option nil :begin 1012 :end 1033 :contents-begin 1024 :contents-end 1031 :post-blank 0 :parent #26) #("Run GN2" 0 7 (:parent #29))) #("\n" 0 1 (:parent #26)))))) (item (:bullet "- " :begin 1034 :end 1370 :contents-begin 1037 :contents-end 1370 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1034 :tag nil :mode item :granularity nil :parent #6) (paragraph (:begin 1037 :end 1077 :contents-begin 1037 :contents-end 1077 :post-blank 0 :post-affiliated 1037 :mode nil :granularity nil :parent #15) (link (:type "custom-id" :path "trouble-shooting" :format bracket :raw-link "#trouble-shooting" :application nil :search-option nil :begin 1037 :end 1076 :contents-begin 1058 :contents-end 1074 :post-blank 0 :parent #18) #("Trouble shooting" 0 16 (:parent #21))) #("\n" 0 1 (:parent #18))) (plain-list (:type unordered :begin 1077 :end 1370 :contents-begin 1077 :contents-end 1370 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 1077 :mode nil :granularity nil :parent #15) (item (:bullet "- " :begin 1077 :end 1159 :contents-begin 1082 :contents-end 1159 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1077 :tag nil :mode item :granularity nil :parent #19) (paragraph (:begin 1082 :end 1159 :contents-begin 1082 :contents-end 1159 :post-blank 0 :post-affiliated 1082 :mode nil :granularity nil :parent #22) (link (:type "custom-id" :path "importerror-no-module-named-jinja2" :format bracket :raw-link "#importerror-no-module-named-jinja2" :application nil :search-option nil :begin 1082 :end 1158 :contents-begin 1121 :contents-end 1156 :post-blank 0 :parent #25) #("ImportError: No module named jinja2" 0 35 (:parent #28))) #("\n" 0 1 (:parent #25)))) (item (:bullet "- " :begin 1159 :end 1257 :contents-begin 1164 :contents-end 1257 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1159 :tag nil :mode item :granularity nil :parent #19) (paragraph (:begin 1164 :end 1257 :contents-begin 1164 :contents-end 1257 :post-blank 0 :post-affiliated 1164 :mode nil :granularity nil :parent #23) (link (:type "custom-id" :path "error-can-not-find-directory-homegn2_data" :format bracket :raw-link "#error-can-not-find-directory-homegn2_data" :application nil :search-option nil :begin 1164 :end 1256 :contents-begin 1210 :contents-end 1254 :post-blank 0 :parent #26) #("ERROR: can not find directory $HOME/gn2" 0 39 (:parent #29)) (subscript (:begin 1249 :end 1254 :use-brackets-p nil :contents-begin 1250 :contents-end 1254 :post-blank 0 :parent #29) #("data" 0 4 (:parent #33)))) #("\n" 0 1 (:parent #26)))) (item (:bullet "- " :begin 1257 :end 1305 :contents-begin 1262 :contents-end 1305 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1257 :tag nil :mode item :granularity nil :parent #19) (paragraph (:begin 1262 :end 1305 :contents-begin 1262 :contents-end 1305 :post-blank 0 :post-affiliated 1262 :mode nil :granularity nil :parent #24) (link (:type "custom-id" :path "cant-run-a-module" :format bracket :raw-link "#cant-run-a-module" :application nil :search-option nil :begin 1262 :end 1304 :contents-begin 1284 :contents-end 1302 :post-blank 0 :parent #27) #("Can't run a module" 0 18 (:parent #30))) #("\n" 0 1 (:parent #27)))) (item (:bullet "- " :begin 1305 :end 1370 :contents-begin 1310 :contents-end 1370 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1305 :tag nil :mode item :granularity nil :parent #19) (paragraph (:begin 1310 :end 1370 :contents-begin 1310 :contents-end 1370 :post-blank 0 :post-affiliated 1310 :mode nil :granularity nil :parent #25) (link (:type "custom-id" :path "rpy2-error-show-now-found" :format bracket :raw-link "#rpy2-error-show-now-found" :application nil :search-option nil :begin 1310 :end 1369 :contents-begin 1340 :contents-end 1367 :post-blank 0 :parent #28) #("Rpy2 error 'show' now found" 0 27 (:parent #31))) #("\n" 0 1 (:parent #28)))))) (item (:bullet "- " :begin 1370 :end 1403 :contents-begin 1373 :contents-end 1403 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1370 :tag nil :mode item :granularity nil :parent #6) (paragraph (:begin 1373 :end 1403 :contents-begin 1373 :contents-end 1403 :post-blank 0 :post-affiliated 1373 :mode nil :granularity nil :parent #16) (link (:type "custom-id" :path "irc-session" :format bracket :raw-link "#irc-session" :application nil :search-option nil :begin 1373 :end 1402 :contents-begin 1389 :contents-end 1400 :post-blank 0 :parent #19) #("IRC session" 0 11 (:parent #22))) #("\n" 0 1 (:parent #19)))))))) mapconcat(#f(compiled-function (element) #) ((section (:begin 1 :end 43 :contents-begin 1 :contents-end 42 :robust-begin 1 :robust-end 40 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13801 :end 13801 :robust-begin 3 :robust-end 13799 :post-blank 0 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) . #0)) (keyword (:key "TITLE" :value "Installing GeneNetwork services" :begin 1 :end 42 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #1))) (headline (:raw-value "Table of Contents" :begin 43 :end 1404 :pre-blank 0 :contents-begin 121 :contents-end 1403 :robust-begin 123 :robust-end 1401 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 43 :title (#("Table of Contents" 0 17 (:parent #2))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13801 :end 13801 :robust-begin 3 :robust-end 13799 :post-blank 0 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) . #0)) (section (:begin 121 :end 1404 :contents-begin 121 :contents-end 1403 :robust-begin 121 :robust-end 1401 :post-blank 1 :post-affiliated 121 :mode section :granularity nil :parent #2) (plain-list (:type unordered :begin 121 :end 1403 :contents-begin 121 :contents-end 1403 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 121 :mode planning :granularity nil :parent #5) (item (:bullet "- " :begin 121 :end 156 :contents-begin 124 :contents-end 156 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 121 :tag nil :mode item :granularity nil :parent #8) (paragraph (:begin 124 :end 156 :contents-begin 124 :contents-end 156 :post-blank 0 :post-affiliated 124 :mode nil :granularity nil :parent #11) (link (:type "custom-id" :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil :begin 124 :end 155 :contents-begin 141 :contents-end 153 :post-blank 0 :parent #14) #("Introduction" 0 12 (:parent #17))) #("\n" 0 1 (:parent #14)))) (item (:bullet "- " :begin 156 :end 521 :contents-begin 159 :contents-end 521 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 156 :tag nil :mode item :granularity nil :parent #8) (paragraph (:begin 159 :end 217 :contents-begin 159 :contents-end 217 :post-blank 0 :post-affiliated 159 :mode nil :granularity nil :parent #12) (link (:type "custom-id" :path "quick-installation-recipe" :format bracket :raw-link "#quick-installation-recipe" :application nil :search-option nil :begin 159 :end 216 :contents-begin 189 :contents-end 214 :post-blank 0 :parent #15) #("Quick installation recipe" 0 25 (:parent #18))) #("\n" 0 1 (:parent #15))) (plain-list (:type unordered :begin 217 :end 521 :contents-begin 217 :contents-end 521 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 217 :mode nil :granularity nil :parent #12) (item (:bullet "- " :begin 217 :end 277 :contents-begin 222 :contents-end 277 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 217 :tag nil :mode item :granularity nil :parent #16) (paragraph (:begin 222 :end 277 :contents-begin 222 :contents-end 277 :post-blank 0 :post-affiliated 222 :mode nil :granularity nil :parent #19) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 222 :end 276 :contents-begin 250 :contents-end 274 :post-blank 0 :parent #22) #("Step 1: Install GNU Guix" 0 24 (:parent #25))) #("\n" 0 1 (:parent #22)))) (item (:bullet "- " :begin 277 :end 371 :contents-begin 282 :contents-end 371 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 277 :tag nil :mode item :granularity nil :parent #16) (paragraph (:begin 282 :end 371 :contents-begin 282 :contents-end 371 :post-blank 0 :post-affiliated 282 :mode nil :granularity nil :parent #20) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 282 :end 370 :contents-begin 327 :contents-end 368 :post-blank 0 :parent #23) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #26))) #("\n" 0 1 (:parent #23)))) (item (:bullet "- " :begin 371 :end 455 :contents-begin 376 :contents-end 455 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 371 :tag nil :mode item :granularity nil :parent #16) (paragraph (:begin 376 :end 455 :contents-begin 376 :contents-end 455 :post-blank 0 :post-affiliated 376 :mode nil :granularity nil :parent #21) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 376 :end 454 :contents-begin 416 :contents-end 452 :post-blank 0 :parent #24) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #27))) #("\n" 0 1 (:parent #24)))) (item (:bullet "- " :begin 455 :end 521 :contents-begin 460 :contents-end 521 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 455 :tag nil :mode item :granularity nil :parent #16) (paragraph (:begin 460 :end 521 :contents-begin 460 :contents-end 521 :post-blank 0 :post-affiliated 460 :mode nil :granularity nil :parent #22) (link (:type "custom-id" :path "step-4-install-and-run-gn2" :format bracket :raw-link "#step-4-install-and-run-gn2" :application nil :search-option nil :begin 460 :end 520 :contents-begin 491 :contents-end 518 :post-blank 0 :parent #25) #("Step 4: Install and run GN2" 0 27 (:parent #28))) #("\n" 0 1 (:parent #25)))))) (item (:bullet "- " :begin 521 :end 564 :contents-begin 524 :contents-end 564 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 521 :tag nil :mode item :granularity nil :parent #8) (paragraph (:begin 524 :end 564 :contents-begin 524 :contents-end 564 :post-blank 0 :post-affiliated 524 :mode nil :granularity nil :parent #13) (link (:type "custom-id" :path "run-mysql-server" :format bracket :raw-link "#run-mysql-server" :application nil :search-option nil :begin 524 :end 563 :contents-begin 545 :contents-end 561 :post-blank 0 :parent #16) #("Run MySQL server" 0 16 (:parent #19))) #("\n" 0 1 (:parent #16)))) (item (:bullet "- " :begin 564 :end 615 :contents-begin 567 :contents-end 615 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 564 :tag nil :mode item :granularity nil :parent #8) (paragraph (:begin 567 :end 615 :contents-begin 567 :contents-end 615 :post-blank 0 :post-affiliated 567 :mode nil :granularity nil :parent #14) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 567 :end 614 :contents-begin 592 :contents-end 612 :post-blank 0 :parent #17) #("GN2 Dependency Graph" 0 20 (:parent #20))) #("\n" 0 1 (:parent #17)))) (item (:bullet "- " :begin 615 :end 790 :contents-begin 618 :contents-end 790 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 615 :tag nil :mode item :granularity nil :parent #8) (paragraph (:begin 618 :end 660 :contents-begin 618 :contents-end 660 :post-blank 0 :post-affiliated 618 :mode nil :granularity nil :parent #15) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 618 :end 659 :contents-begin 640 :contents-end 657 :post-blank 0 :parent #18) #("Source deployment" 0 17 (:parent #21))) #("\n" 0 1 (:parent #18))) (plain-list (:type unordered :begin 660 :end 790 :contents-begin 660 :contents-end 790 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 660 :mode nil :granularity nil :parent #15) (item (:bullet "- " :begin 660 :end 721 :contents-begin 665 :contents-end 721 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 660 :tag nil :mode item :granularity nil :parent #19) (paragraph (:begin 665 :end 721 :contents-begin 665 :contents-end 721 :post-blank 0 :post-affiliated 665 :mode nil :granularity nil :parent #22) (link (:type "custom-id" :path "run-your-own-copy-of-gn2" :format bracket :raw-link "#run-your-own-copy-of-gn2" :application nil :search-option nil :begin 665 :end 720 :contents-begin 694 :contents-end 718 :post-blank 0 :parent #25) #("Run your own copy of GN2" 0 24 (:parent #28))) #("\n" 0 1 (:parent #25)))) (item (:bullet "- " :begin 721 :end 790 :contents-begin 726 :contents-end 790 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 721 :tag nil :mode item :granularity nil :parent #19) (paragraph (:begin 726 :end 790 :contents-begin 726 :contents-end 790 :post-blank 0 :post-affiliated 726 :mode nil :granularity nil :parent #23) (link (:type "custom-id" :path "set-up-nginx-port-forwarding" :format bracket :raw-link "#set-up-nginx-port-forwarding" :application nil :search-option nil :begin 726 :end 789 :contents-begin 759 :contents-end 787 :post-blank 0 :parent #26) #("Set up nginx port forwarding" 0 28 (:parent #29))) #("\n" 0 1 (:parent #26)))))) (item (:bullet "- " :begin 790 :end 1034 :contents-begin 793 :contents-end 1034 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 790 :tag nil :mode item :granularity nil :parent #8) (paragraph (:begin 793 :end 917 :contents-begin 793 :contents-end 917 :post-blank 0 :post-affiliated 793 :mode nil :granularity nil :parent #16) (link (:type "custom-id" :path "source-deployment-and-other-information-on-reproducibility" :format bracket :raw-link "#source-deployment-and-other-information-on-reproducibility" :application nil :search-option nil :begin 793 :end 916 :contents-begin 856 :contents-end 914 :post-blank 0 :parent #19) #("Source deployment and other information on reproducibility" 0 58 (:parent #22))) #("\n" 0 1 (:parent #19))) (plain-list (:type unordered :begin 917 :end 1034 :contents-begin 917 :contents-end 1034 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 917 :mode nil :granularity nil :parent #16) (item (:bullet "- " :begin 917 :end 972 :contents-begin 922 :contents-end 972 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 917 :tag nil :mode item :granularity nil :parent #20) (paragraph (:begin 922 :end 972 :contents-begin 922 :contents-end 972 :post-blank 0 :post-affiliated 922 :mode nil :granularity nil :parent #23) (link (:type "custom-id" :path "update-to-recent-guix" :format bracket :raw-link "#update-to-recent-guix" :application nil :search-option nil :begin 922 :end 971 :contents-begin 948 :contents-end 969 :post-blank 0 :parent #26) #("Update to recent guix" 0 21 (:parent #29))) #("\n" 0 1 (:parent #26)))) (item (:bullet "- " :begin 972 :end 1007 :contents-begin 977 :contents-end 1007 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 972 :tag nil :mode item :granularity nil :parent #20) (paragraph (:begin 977 :end 1007 :contents-begin 977 :contents-end 1007 :post-blank 0 :post-affiliated 977 :mode nil :granularity nil :parent #24) (link (:type "custom-id" :path "install-gn2" :format bracket :raw-link "#install-gn2" :application nil :search-option nil :begin 977 :end 1006 :contents-begin 993 :contents-end 1004 :post-blank 0 :parent #27) #("Install GN2" 0 11 (:parent #30))) #("\n" 0 1 (:parent #27)))) (item (:bullet "- " :begin 1007 :end 1034 :contents-begin 1012 :contents-end 1034 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1007 :tag nil :mode item :granularity nil :parent #20) (paragraph (:begin 1012 :end 1034 :contents-begin 1012 :contents-end 1034 :post-blank 0 :post-affiliated 1012 :mode nil :granularity nil :parent #25) (link (:type "custom-id" :path "run-gn2" :format bracket :raw-link "#run-gn2" :application nil :search-option nil :begin 1012 :end 1033 :contents-begin 1024 :contents-end 1031 :post-blank 0 :parent #28) #("Run GN2" 0 7 (:parent #31))) #("\n" 0 1 (:parent #28)))))) (item (:bullet "- " :begin 1034 :end 1370 :contents-begin 1037 :contents-end 1370 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1034 :tag nil :mode item :granularity nil :parent #8) (paragraph (:begin 1037 :end 1077 :contents-begin 1037 :contents-end 1077 :post-blank 0 :post-affiliated 1037 :mode nil :granularity nil :parent #17) (link (:type "custom-id" :path "trouble-shooting" :format bracket :raw-link "#trouble-shooting" :application nil :search-option nil :begin 1037 :end 1076 :contents-begin 1058 :contents-end 1074 :post-blank 0 :parent #20) #("Trouble shooting" 0 16 (:parent #23))) #("\n" 0 1 (:parent #20))) (plain-list (:type unordered :begin 1077 :end 1370 :contents-begin 1077 :contents-end 1370 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 1077 :mode nil :granularity nil :parent #17) (item (:bullet "- " :begin 1077 :end 1159 :contents-begin 1082 :contents-end 1159 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1077 :tag nil :mode item :granularity nil :parent #21) (paragraph (:begin 1082 :end 1159 :contents-begin 1082 :contents-end 1159 :post-blank 0 :post-affiliated 1082 :mode nil :granularity nil :parent #24) (link (:type "custom-id" :path "importerror-no-module-named-jinja2" :format bracket :raw-link "#importerror-no-module-named-jinja2" :application nil :search-option nil :begin 1082 :end 1158 :contents-begin 1121 :contents-end 1156 :post-blank 0 :parent #27) #("ImportError: No module named jinja2" 0 35 (:parent #30))) #("\n" 0 1 (:parent #27)))) (item (:bullet "- " :begin 1159 :end 1257 :contents-begin 1164 :contents-end 1257 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1159 :tag nil :mode item :granularity nil :parent #21) (paragraph (:begin 1164 :end 1257 :contents-begin 1164 :contents-end 1257 :post-blank 0 :post-affiliated 1164 :mode nil :granularity nil :parent #25) (link (:type "custom-id" :path "error-can-not-find-directory-homegn2_data" :format bracket :raw-link "#error-can-not-find-directory-homegn2_data" :application nil :search-option nil :begin 1164 :end 1256 :contents-begin 1210 :contents-end 1254 :post-blank 0 :parent #28) #("ERROR: can not find directory $HOME/gn2" 0 39 (:parent #31)) (subscript (:begin 1249 :end 1254 :use-brackets-p nil :contents-begin 1250 :contents-end 1254 :post-blank 0 :parent #31) #("data" 0 4 (:parent #35)))) #("\n" 0 1 (:parent #28)))) (item (:bullet "- " :begin 1257 :end 1305 :contents-begin 1262 :contents-end 1305 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1257 :tag nil :mode item :granularity nil :parent #21) (paragraph (:begin 1262 :end 1305 :contents-begin 1262 :contents-end 1305 :post-blank 0 :post-affiliated 1262 :mode nil :granularity nil :parent #26) (link (:type "custom-id" :path "cant-run-a-module" :format bracket :raw-link "#cant-run-a-module" :application nil :search-option nil :begin 1262 :end 1304 :contents-begin 1284 :contents-end 1302 :post-blank 0 :parent #29) #("Can't run a module" 0 18 (:parent #32))) #("\n" 0 1 (:parent #29)))) (item (:bullet "- " :begin 1305 :end 1370 :contents-begin 1310 :contents-end 1370 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1305 :tag nil :mode item :granularity nil :parent #21) (paragraph (:begin 1310 :end 1370 :contents-begin 1310 :contents-end 1370 :post-blank 0 :post-affiliated 1310 :mode nil :granularity nil :parent #27) (link (:type "custom-id" :path "rpy2-error-show-now-found" :format bracket :raw-link "#rpy2-error-show-now-found" :application nil :search-option nil :begin 1310 :end 1369 :contents-begin 1340 :contents-end 1367 :post-blank 0 :parent #30) #("Rpy2 error 'show' now found" 0 27 (:parent #33))) #("\n" 0 1 (:parent #30)))))) (item (:bullet "- " :begin 1370 :end 1403 :contents-begin 1373 :contents-end 1403 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1370 :tag nil :mode item :granularity nil :parent #8) (paragraph (:begin 1373 :end 1403 :contents-begin 1373 :contents-end 1403 :post-blank 0 :post-affiliated 1373 :mode nil :granularity nil :parent #18) (link (:type "custom-id" :path "irc-session" :format bracket :raw-link "#irc-session" :application nil :search-option nil :begin 1373 :end 1402 :contents-begin 1389 :contents-end 1400 :post-blank 0 :parent #21) #("IRC session" 0 11 (:parent #24))) #("\n" 0 1 (:parent #21))))))) (headline (:raw-value "Introduction" :begin 1404 :end 2450 :pre-blank 1 :contents-begin 1420 :contents-end 2449 :robust-begin 1422 :robust-end 2447 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1404 :title (#("Introduction" 0 12 (:parent #3))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13801 :end 13801 :robust-begin 3 :robust-end 13799 :post-blank 0 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) . #0)) (section (:begin 1420 :end 2450 :contents-begin 1420 :contents-end 2449 :robust-begin 1420 :robust-end 2447 :post-blank 1 :post-affiliated 1420 :mode section :granularity nil :parent #3) (paragraph (:begin 1420 :end 1557 :contents-begin 1420 :contents-end 1556 :post-blank 1 :post-affiliated 1420 :mode planning :granularity nil :parent #6) #("If you want to understand the architecture of GN2 read\n" 0 55 (:parent #9)) (link (:type "fuzzy" :path "Architecture.org" :format bracket :raw-link "Architecture.org" :application nil :search-option nil :begin 1475 :end 1495 :contents-begin nil :contents-end nil :post-blank 0 :parent #9)) #(". The rest of this document is mostly on deployment\nof GN2.\n" 0 61 (:parent #9))) (paragraph (:begin 1557 :end 1943 :contents-begin 1557 :contents-end 1942 :post-blank 1 :post-affiliated 1557 :mode nil :granularity nil :parent #6) #("Large system deployments can get very " 0 38 (:parent #10)) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg " :format bracket :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg " :application nil :search-option nil :begin 1595 :end 1656 :contents-begin 1647 :contents-end 1654 :post-blank 0 :parent #10) #("complex" 0 7 (:parent #14))) #(". In this document we\nexplain the GeneNetwork version 2 (GN2) reproducible deployment system\nwhich is based on GNU Guix (see also " 0 130 (:parent #10)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1786 :end 1860 :contents-begin 1848 :contents-end 1858 :post-blank 0 :parent #10) #("Guix-notes" 0 10 (:parent #16))) #("). The Guix\nsystem can be used to install GN with all its files and dependencies.\n" 0 82 (:parent #10))) (paragraph (:begin 1943 :end 2328 :contents-begin 1943 :contents-end 2327 :post-blank 1 :post-affiliated 1943 :mode nil :granularity nil :parent #6) #("The official installation path is from a checked out version of the\nmain Guix package tree and that of the Genenetwork package\ntree. Current supported versions can be found as the SHA values of\n'gn-latest' branches of " 0 218 (:parent #11)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :application nil :search-option nil :begin 2161 :end 2252 :contents-begin 2230 :contents-end 2249 :post-blank 1 :parent #11) #("Guix bioinformatics" 0 19 (:parent #15))) #("and " 0 4 (:parent #11)) (link (:type "https" :path "//github.com/genenetwork/guix/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix/tree/gn-latest" :application nil :search-option nil :begin 2256 :end 2325 :contents-begin 2310 :contents-end 2323 :post-blank 0 :parent #11) #("GNU Guix main" 0 13 (:parent #17))) #(".\n" 0 2 (:parent #11))) (paragraph (:begin 2328 :end 2449 :contents-begin 2328 :contents-end 2449 :post-blank 0 :post-affiliated 2328 :mode nil :granularity nil :parent #6) #("For a full view of runtime dependencies as defined by GNU Guix, see\nthe " 0 72 (:parent #12)) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 2400 :end 2447 :contents-begin 2425 :contents-end 2445 :post-blank 0 :parent #12) #("GN2 Dependency Graph" 0 20 (:parent #16))) #(".\n" 0 2 (:parent #12))))) (headline (:raw-value "Quick installation recipe" :begin 2450 :end 7633 :pre-blank 1 :contents-begin 2479 :contents-end 7632 :robust-begin 2481 :robust-end 7630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 2450 :title (#("Quick installation recipe" 0 25 (:parent #4))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13801 :end 13801 :robust-begin 3 :robust-end 13799 :post-blank 0 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) . #0)) (section (:begin 2479 :end 3022 :contents-begin 2479 :contents-end 3021 :robust-begin 2479 :robust-end 3019 :post-blank 1 :post-affiliated 2479 :mode section :granularity nil :parent #4) (paragraph (:begin 2479 :end 2880 :contents-begin 2479 :contents-end 2879 :post-blank 1 :post-affiliated 2479 :mode planning :granularity nil :parent #7) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS). For more elaborate installation\ninstructions see " 0 357 (:parent #10)) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 2836 :end 2877 :contents-begin 2858 :contents-end 2875 :post-blank 0 :parent #10) #("Source deployment" 0 17 (:parent #14))) #(".\n" 0 2 (:parent #10))) (paragraph (:begin 2880 :end 3021 :contents-begin 2880 :contents-end 3021 :post-blank 0 :post-affiliated 2880 :mode nil :granularity nil :parent #7) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #11)))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 3022 :end 4649 :pre-blank 1 :contents-begin 3051 :contents-end 4648 :robust-begin 3053 :robust-end 4646 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3022 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #8))) :mode nil :granularity nil :parent #4) (section (:begin 3051 :end 4649 :contents-begin 3051 :contents-end 4648 :robust-begin 3051 :robust-end 4646 :post-blank 1 :post-affiliated 3051 :mode section :granularity nil :parent #8) (paragraph (:begin 3051 :end 3504 :contents-begin 3051 :contents-end 3503 :post-blank 1 :post-affiliated 3051 :mode planning :granularity nil :parent #11) #("Fetch the GNU Guix binary from " 0 31 (:parent #14)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 3082 :end 3136 :contents-begin 3129 :contents-end 3133 :post-blank 1 :parent #14) #("here" 0 4 (:parent #18))) #("(middle panel) and follow\n" 0 26 (:parent #14)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 3162 :end 3255 :contents-begin 3241 :contents-end 3253 :post-blank 0 :parent #14) #("instructions" 0 12 (:parent #20))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #14))) (paragraph (:begin 3504 :end 3782 :contents-begin 3504 :contents-end 3781 :post-blank 1 :post-affiliated 3504 :mode nil :granularity nil :parent #11) #("Once you have succeeded, you have to " 0 37 (:parent #15)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 3541 :end 3631 :contents-begin 3617 :contents-end 3628 :post-blank 1 :parent #15) #("set the key" 0 11 (:parent #19))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #15))) (src-block (:language "bash" :switches nil :parameters nil :begin 3782 :end 3890 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 3782 :mode nil :granularity nil :parent #11)) (paragraph (:begin 3890 :end 3924 :contents-begin 3890 :contents-end 3923 :post-blank 1 :post-affiliated 3890 :mode nil :granularity nil :parent #11) #("Which should show something like\n" 0 33 (:parent #17))) (fixed-width (:begin 3924 :end 4034 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 3924 :mode nil :granularity nil :parent #11)) (paragraph (:begin 4034 :end 4045 :contents-begin 4034 :contents-end 4044 :post-blank 1 :post-affiliated 4034 :mode nil :granularity nil :parent #11) #("#+end" 0 5 (:parent #19)) (subscript (:begin 4039 :end 4043 :use-brackets-p nil :contents-begin 4040 :contents-end 4043 :post-blank 0 :parent #19) #("src" 0 3 (:parent #23))) #("\n" 0 1 (:parent #19))) (paragraph (:begin 4045 :end 4116 :contents-begin 4045 :contents-end 4115 :post-blank 1 :post-affiliated 4045 :mode nil :granularity nil :parent #11) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #20))) (src-block (:language "bash" :switches nil :parameters nil :begin 4116 :end 4188 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 4116 :mode nil :granularity nil :parent #11)) (paragraph (:begin 4188 :end 4375 :contents-begin 4188 :contents-end 4374 :post-blank 1 :post-affiliated 4188 :mode nil :granularity nil :parent #11) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #22))) (paragraph (:begin 4375 :end 4648 :contents-begin 4375 :contents-end 4648 :post-blank 0 :post-affiliated 4375 :mode nil :granularity nil :parent #11) #("If you need more help we have another writeup in " 0 49 (:parent #23)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 4424 :end 4520 :contents-begin 4508 :contents-end 4518 :post-blank 0 :parent #23) #("guix-notes" 0 10 (:parent #27))) #(". To get\nrid of the locale warning see " 0 39 (:parent #23)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 4559 :end 4646 :contents-begin 4634 :contents-end 4644 :post-blank 0 :parent #23) #("set-locale" 0 10 (:parent #29))) #(".\n" 0 2 (:parent #23))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 4649 :end 5304 :pre-blank 1 :contents-begin 4695 :contents-end 5302 :robust-begin 4697 :robust-end 5300 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4649 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #9))) :mode nil :granularity nil :parent #4) (section (:begin 4695 :end 5304 :contents-begin 4695 :contents-end 5302 :robust-begin 4695 :robust-end 5300 :post-blank 2 :post-affiliated 4695 :mode section :granularity nil :parent #9) (paragraph (:begin 4695 :end 4815 :contents-begin 4695 :contents-end 4814 :post-blank 1 :post-affiliated 4695 :mode planning :granularity nil :parent #12) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #15))) (src-block (:language "bash" :switches nil :parameters nil :begin 4815 :end 4920 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 4815 :mode nil :granularity nil :parent #12)) (paragraph (:begin 4920 :end 4971 :contents-begin 4920 :contents-end 4970 :post-blank 1 :post-affiliated 4920 :mode nil :granularity nil :parent #12) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #17))) (paragraph (:begin 4971 :end 5232 :contents-begin 4971 :contents-end 5231 :post-blank 1 :post-affiliated 4971 :mode nil :granularity nil :parent #12) #("#+begin" 0 7 (:parent #18)) (subscript (:begin 4978 :end 4983 :use-brackets-p nil :contents-begin 4979 :contents-end 4982 :post-blank 1 :parent #18) #("src" 0 3 (:parent #22))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #18)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 5055 :end 5105 :contents-begin nil :contents-end nil :post-blank 0 :parent #18)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #18)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 5147 :end 5183 :contents-begin nil :contents-end nil :post-blank 1 :parent #18)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #18)) (subscript (:begin 5221 :end 5226 :use-brackets-p nil :contents-begin 5222 :contents-end 5225 :post-blank 1 :parent #18) #("src" 0 3 (:parent #28))) #("bash\n" 0 5 (:parent #18))) (paragraph (:begin 5232 :end 5270 :contents-begin 5232 :contents-end 5269 :post-blank 1 :post-affiliated 5232 :mode nil :granularity nil :parent #12) #("To test whether this is working try:\n" 0 37 (:parent #19))) (paragraph (:begin 5270 :end 5302 :contents-begin 5270 :contents-end 5302 :post-blank 0 :post-affiliated 5270 :mode nil :granularity nil :parent #12) #("#+begin" 0 7 (:parent #20)) (subscript (:begin 5277 :end 5282 :use-brackets-p nil :contents-begin 5278 :contents-end 5281 :post-blank 1 :parent #20) #("src" 0 3 (:parent #24))) #("bash\n#+end" 0 10 (:parent #20)) (subscript (:begin 5292 :end 5297 :use-brackets-p nil :contents-begin 5293 :contents-end 5296 :post-blank 1 :parent #20) #("src" 0 3 (:parent #26))) #("bash\n" 0 5 (:parent #20))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 5304 :end 5755 :pre-blank 1 :contents-begin 5345 :contents-end 5754 :robust-begin 5347 :robust-end 5752 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5304 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #10))) :mode nil :granularity nil :parent #4) (section (:begin 5345 :end 5755 :contents-begin 5345 :contents-end 5754 :robust-begin 5345 :robust-end 5752 :post-blank 1 :post-affiliated 5345 :mode section :granularity nil :parent #10) (paragraph (:begin 5345 :end 5445 :contents-begin 5345 :contents-end 5444 :post-blank 1 :post-affiliated 5345 :mode planning :granularity nil :parent #13) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #16))) (src-block (:language "scheme" :switches nil :parameters nil :begin 5445 :end 5589 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 5445 :mode nil :granularity nil :parent #13)) (paragraph (:begin 5589 :end 5621 :contents-begin 5589 :contents-end 5620 :post-blank 1 :post-affiliated 5589 :mode nil :granularity nil :parent #13) #("by pasting it into the command\n" 0 31 (:parent #18))) (src-block (:language "bash" :switches nil :parameters nil :begin 5621 :end 5674 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 5621 :mode nil :granularity nil :parent #13)) (paragraph (:begin 5674 :end 5691 :contents-begin 5674 :contents-end 5690 :post-blank 1 :post-affiliated 5674 :mode nil :granularity nil :parent #13) #("and hit Ctrl-D.\n" 0 16 (:parent #20))) (paragraph (:begin 5691 :end 5754 :contents-begin 5691 :contents-end 5754 :post-blank 0 :post-affiliated 5691 :mode nil :granularity nil :parent #13) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #21))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 5755 :end 7633 :pre-blank 1 :contents-begin 5787 :contents-end 7632 :robust-begin 5789 :robust-end 7630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5755 :title (#("Step 4: Install and run GN2" 0 27 (:parent #11))) :mode nil :granularity nil :parent #4) (section (:begin 5787 :end 7633 :contents-begin 5787 :contents-end 7632 :robust-begin 5787 :robust-end 7630 :post-blank 1 :post-affiliated 5787 :mode section :granularity nil :parent #11) (paragraph (:begin 5787 :end 5927 :contents-begin 5787 :contents-end 5926 :post-blank 1 :post-affiliated 5787 :mode planning :granularity nil :parent #14) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #17))) (src-block (:language "bash" :switches nil :parameters nil :begin 5927 :end 6046 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 5927 :mode nil :granularity nil :parent #14)) (paragraph (:begin 6046 :end 6099 :contents-begin 6046 :contents-end 6098 :post-blank 1 :post-affiliated 6046 :mode nil :granularity nil :parent #14) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #19))) (src-block (:language "bash" :switches nil :parameters nil :begin 6099 :end 6289 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 6099 :mode nil :granularity nil :parent #14)) (paragraph (:begin 6289 :end 6398 :contents-begin 6289 :contents-end 6397 :post-blank 1 :post-affiliated 6289 :mode nil :granularity nil :parent #14) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #21)) (italic (:begin 6360 :end 6366 :post-blank 0 :contents-begin 6361 :contents-end 6365 :parent #21) #("root" 0 4 (:parent #25))) #(".config/guix/latest override).\n" 0 31 (:parent #21))) (paragraph (:begin 6398 :end 6416 :contents-begin 6398 :contents-end 6415 :post-blank 1 :post-affiliated 6398 :mode nil :granularity nil :parent #14) #("And install with\n" 0 17 (:parent #22))) (src-block (:language "bash" :switches nil :parameters nil :begin 6416 :end 6586 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 6416 :mode nil :granularity nil :parent #14)) (paragraph (:begin 6586 :end 6729 :contents-begin 6586 :contents-end 6728 :post-blank 1 :post-affiliated 6586 :mode nil :granularity nil :parent #14) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #24))) (paragraph (:begin 6729 :end 6925 :contents-begin 6729 :contents-end 6924 :post-blank 1 :post-affiliated 6729 :mode nil :granularity nil :parent #14) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #25))) (paragraph (:begin 6925 :end 7056 :contents-begin 6925 :contents-end 7055 :post-blank 1 :post-affiliated 6925 :mode nil :granularity nil :parent #14) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #26))) (src-block (:language "bash" :switches nil :parameters nil :begin 7056 :end 7235 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python2.7/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 7056 :mode nil :granularity nil :parent #14)) (paragraph (:begin 7235 :end 7304 :contents-begin 7235 :contents-end 7303 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #14) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #28))) (src-block (:language "bash" :switches nil :parameters nil :begin 7304 :end 7345 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 7304 :mode nil :granularity nil :parent #14)) (paragraph (:begin 7345 :end 7596 :contents-begin 7345 :contents-end 7595 :post-blank 1 :post-affiliated 7345 :mode nil :granularity nil :parent #14) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #30)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 7567 :end 7593 :contents-begin nil :contents-end nil :post-blank 0 :parent #30)) #(".\n" 0 2 (:parent #30))) (paragraph (:begin 7596 :end 7632 :contents-begin 7596 :contents-end 7632 :post-blank 0 :post-affiliated 7596 :mode nil :granularity nil :parent #14) #("End of the GN2 installation recipe!\n" 0 36 (:parent #31)))))) (headline (:raw-value "Run MySQL server" :begin 7633 :end 9008 :pre-blank 1 :contents-begin 7653 :contents-end 9007 :robust-begin 7655 :robust-end 9005 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7633 :title (#("Run MySQL server" 0 16 (:parent #5))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13801 :end 13801 :robust-begin 3 :robust-end 13799 :post-blank 0 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) . #0)) (section (:begin 7653 :end 9008 :contents-begin 7653 :contents-end 9007 :robust-begin 7653 :robust-end 9005 :post-blank 1 :post-affiliated 7653 :mode section :granularity nil :parent #5) (paragraph (:begin 7653 :end 7928 :contents-begin 7653 :contents-end 7927 :post-blank 1 :post-affiliated 7653 :mode planning :granularity nil :parent #8) #("At this point we require the underlying distribution to install and\nrun mysqld. Currently we have two databases for deployment,\n'db" 0 131 (:parent #11)) (subscript (:begin 7784 :end 7791 :use-brackets-p nil :contents-begin 7785 :contents-end 7791 :post-blank 0 :parent #11) #("webqtl" 0 6 (:parent #15))) (subscript (:begin 7791 :end 7793 :use-brackets-p nil :contents-begin 7792 :contents-end 7793 :post-blank 0 :parent #11) #("s" 0 1 (:parent #16))) #("' is the small testing database containing experiments\nfrom BXD mice and 'db" 0 76 (:parent #11)) (subscript (:begin 7869 :end 7876 :use-brackets-p nil :contents-begin 7870 :contents-end 7876 :post-blank 0 :parent #11) #("webqtl" 0 6 (:parent #18))) (subscript (:begin 7876 :end 7882 :use-brackets-p nil :contents-begin 7877 :contents-end 7882 :post-blank 0 :parent #11) #("plant" 0 5 (:parent #19))) #("' which contains all plant related\nmaterial.\n" 0 45 (:parent #11))) (paragraph (:begin 7928 :end 7956 :contents-begin 7928 :contents-end 7955 :post-blank 1 :post-affiliated 7928 :mode nil :granularity nil :parent #8) #("Download one database from\n" 0 27 (:parent #12))) (paragraph (:begin 7956 :end 8054 :contents-begin 7956 :contents-end 8053 :post-blank 1 :post-affiliated 7956 :mode nil :granularity nil :parent #8) (link (:type "http" :path "//files.genenetwork.org/raw_database/" :format plain :raw-link "http://files.genenetwork.org/raw_database/" :application nil :search-option nil :begin 7956 :end 7998 :contents-begin nil :contents-end nil :post-blank 0 :parent #13)) #("\n" 0 1 (:parent #13)) (link (:type "https" :path "//s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :format plain :raw-link "https://s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :application nil :search-option nil :begin 7999 :end 8052 :contents-begin nil :contents-end nil :post-blank 0 :parent #13)) #("\n" 0 1 (:parent #13))) (paragraph (:begin 8054 :end 8073 :contents-begin 8054 :contents-end 8072 :post-blank 1 :post-affiliated 8054 :mode nil :granularity nil :parent #8) #("Check the md5sum.\n" 0 18 (:parent #14))) (paragraph (:begin 8073 :end 8195 :contents-begin 8073 :contents-end 8194 :post-blank 1 :post-affiliated 8073 :mode nil :granularity nil :parent #8) #("After installation inflate the database binary in the MySQL directory\n(this installation path is subject to change soon)\n" 0 121 (:parent #15))) (fixed-width (:begin 8195 :end 8283 :value "chown -R mysql:mysql db_webqtl_s/\nchmod 700 db_webqtl_s/\nchmod 660 db_webqtl_s/*" :post-blank 2 :post-affiliated 8195 :mode nil :granularity nil :parent #8)) (paragraph (:begin 8283 :end 8334 :contents-begin 8283 :contents-end 8333 :post-blank 1 :post-affiliated 8283 :mode nil :granularity nil :parent #8) #("restart MySQL service (mysqld). Login as root and\n" 0 50 (:parent #17))) (fixed-width (:begin 8334 :end 8560 :value "mysql> show databases;\n+--------------------+\n| Database |\n+--------------------+\n| information_schema |\n| db_webqtl_s |\n| mysql |\n| performance_schema |\n+--------------------+" :post-blank 2 :post-affiliated 8334 :mode nil :granularity nil :parent #8)) (paragraph (:begin 8560 :end 8625 :contents-begin 8560 :contents-end 8624 :post-blank 1 :post-affiliated 8560 :mode nil :granularity nil :parent #8) #("Set permissions and match password in your settings file below:\n" 0 64 (:parent #19))) (fixed-width (:begin 8625 :end 8724 :value "mysql> grant all privileges on db_webqtl_s.* to gn2@\"localhost\" identified by 'mysql_password';" :post-blank 2 :post-affiliated 8625 :mode nil :granularity nil :parent #8)) (paragraph (:begin 8724 :end 8875 :contents-begin 8724 :contents-end 8874 :post-blank 1 :post-affiliated 8724 :mode nil :granularity nil :parent #8) #("Note that if the mysql connection is not working, try connecting to\nthe IP address and check server firewall, hosts.allow and mysql IP\nconfiguration.\n" 0 150 (:parent #21))) (paragraph (:begin 8875 :end 9007 :contents-begin 8875 :contents-end 9007 :post-blank 0 :post-affiliated 8875 :mode nil :granularity nil :parent #8) #("Note for the plant database you can rename it to db" 0 51 (:parent #22)) (subscript (:begin 8926 :end 8933 :use-brackets-p nil :contents-begin 8927 :contents-end 8933 :post-blank 0 :parent #22) #("webqtl" 0 6 (:parent #26))) (subscript (:begin 8933 :end 8935 :use-brackets-p nil :contents-begin 8934 :contents-end 8935 :post-blank 0 :parent #22) #("s" 0 1 (:parent #27))) #(", or\nchange the settings in etc/default" 0 39 (:parent #22)) (subscript (:begin 8974 :end 8987 :use-brackets-p nil :contents-begin 8975 :contents-end 8986 :post-blank 1 :parent #22) #("settings.py" 0 11 (:parent #29))) #("to match your path.\n" 0 20 (:parent #22))))) (headline (:raw-value "GN2 Dependency Graph" :begin 9008 :end 9172 :pre-blank 1 :contents-begin 9032 :contents-end 9171 :robust-begin 9034 :robust-end 9169 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9008 :title (#("GN2 Dependency Graph" 0 20 (:parent #6))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13801 :end 13801 :robust-begin 3 :robust-end 13799 :post-blank 0 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) . #0)) (section (:begin 9032 :end 9172 :contents-begin 9032 :contents-end 9171 :robust-begin 9032 :robust-end 9169 :post-blank 1 :post-affiliated 9032 :mode section :granularity nil :parent #6) (paragraph (:begin 9032 :end 9093 :contents-begin 9032 :contents-end 9092 :post-blank 1 :post-affiliated 9032 :mode planning :granularity nil :parent #9) #("Graph of all runtime dependencies as installed by GNU Guix.\n" 0 60 (:parent #12))) (paragraph (:begin 9093 :end 9171 :contents-begin 9123 :contents-end 9171 :post-blank 0 :post-affiliated 9123 :attr_html (":title GN2_graph") :mode nil :granularity nil :parent #9) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg" :format plain :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg" :application nil :search-option nil :begin 9123 :end 9170 :contents-begin nil :contents-end nil :post-blank 0 :parent #13)) #("\n" 0 1 (:parent #13))))) (headline (:raw-value "Source deployment" :begin 9172 :end 12840 :pre-blank 1 :contents-begin 9193 :contents-end 12839 :robust-begin 9195 :robust-end 12837 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9172 :title (#("Source deployment" 0 17 (:parent #7))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13801 :end 13801 :robust-begin 3 :robust-end 13799 :post-blank 0 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) . #0)) (section (:begin 9193 :end 9612 :contents-begin 9193 :contents-end 9610 :robust-begin 9193 :robust-end 9608 :post-blank 2 :post-affiliated 9193 :mode section :granularity nil :parent #7) (paragraph (:begin 9193 :end 9274 :contents-begin 9193 :contents-end 9273 :post-blank 1 :post-affiliated 9193 :mode planning :granularity nil :parent #10) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #13))) (paragraph (:begin 9274 :end 9304 :contents-begin 9274 :contents-end 9303 :post-blank 1 :post-affiliated 9274 :mode nil :granularity nil :parent #10) #("First execute above 4 steps:\n" 0 29 (:parent #14))) (plain-list (:type unordered :begin 9304 :end 9610 :contents-begin 9304 :contents-end 9610 :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :post-blank 0 :post-affiliated 9304 :mode nil :granularity nil :parent #10) (item (:bullet "- " :begin 9304 :end 9364 :contents-begin 9309 :contents-end 9364 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9304 :tag nil :mode item :granularity nil :parent #15) (paragraph (:begin 9309 :end 9364 :contents-begin 9309 :contents-end 9364 :post-blank 0 :post-affiliated 9309 :mode nil :granularity nil :parent #18) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 9309 :end 9363 :contents-begin 9337 :contents-end 9361 :post-blank 0 :parent #21) #("Step 1: Install GNU Guix" 0 24 (:parent #24))) #("\n" 0 1 (:parent #21)))) (item (:bullet "- " :begin 9364 :end 9458 :contents-begin 9369 :contents-end 9458 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9364 :tag nil :mode item :granularity nil :parent #15) (paragraph (:begin 9369 :end 9458 :contents-begin 9369 :contents-end 9458 :post-blank 0 :post-affiliated 9369 :mode nil :granularity nil :parent #19) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 9369 :end 9457 :contents-begin 9414 :contents-end 9455 :post-blank 0 :parent #22) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #25))) #("\n" 0 1 (:parent #22)))) (item (:bullet "- " :begin 9458 :end 9542 :contents-begin 9463 :contents-end 9542 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9458 :tag nil :mode item :granularity nil :parent #15) (paragraph (:begin 9463 :end 9542 :contents-begin 9463 :contents-end 9542 :post-blank 0 :post-affiliated 9463 :mode nil :granularity nil :parent #20) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 9463 :end 9541 :contents-begin 9503 :contents-end 9539 :post-blank 0 :parent #23) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #26))) #("\n" 0 1 (:parent #23)))) (item (:bullet "- " :begin 9542 :end 9610 :contents-begin 9547 :contents-end 9610 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9542 :tag nil :mode item :granularity nil :parent #15) (paragraph (:begin 9547 :end 9610 :contents-begin 9547 :contents-end 9610 :post-blank 0 :post-affiliated 9547 :mode nil :granularity nil :parent #21) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 9547 :end 9609 :contents-begin 9579 :contents-end 9607 :post-blank 0 :parent #24) #("Step 4: Install and run GN2 " 0 28 (:parent #27))) #("\n" 0 1 (:parent #24)))))) (headline (:raw-value "Run your own copy of GN2" :begin 9612 :end 10722 :pre-blank 1 :contents-begin 9641 :contents-end 10721 :robust-begin 9643 :robust-end 10719 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9612 :title (#("Run your own copy of GN2" 0 24 (:parent #11))) :mode nil :granularity nil :parent #7) (section (:begin 9641 :end 10722 :contents-begin 9641 :contents-end 10721 :robust-begin 9641 :robust-end 10719 :post-blank 1 :post-affiliated 9641 :mode section :granularity nil :parent #11) (paragraph (:begin 9641 :end 9839 :contents-begin 9641 :contents-end 9838 :post-blank 1 :post-affiliated 9641 :mode planning :granularity nil :parent #14) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #17)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 9793 :end 9836 :contents-begin nil :contents-end nil :post-blank 0 :parent #17)) #(".\n" 0 2 (:parent #17))) (paragraph (:begin 9839 :end 9964 :contents-begin 9839 :contents-end 9963 :post-blank 1 :post-affiliated 9839 :mode nil :granularity nil :parent #14) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #18)) (subscript (:begin 9896 :end 9902 :use-brackets-p nil :contents-begin 9897 :contents-end 9901 :post-blank 1 :parent #18) #("PATH" 0 4 (:parent #22))) #("and\nR" 0 5 (:parent #18)) (subscript (:begin 9907 :end 9912 :use-brackets-p nil :contents-begin 9908 :contents-end 9912 :post-blank 0 :parent #18) #("LIBS" 0 4 (:parent #24))) (subscript (:begin 9912 :end 9918 :use-brackets-p nil :contents-begin 9913 :contents-end 9917 :post-blank 1 :parent #18) #("SITE" 0 4 (:parent #25))) #("are set) from the information given by guix:\n" 0 45 (:parent #18))) (fixed-width (:begin 9964 :end 9995 :value "guix package --search-paths" :post-blank 2 :post-affiliated 9964 :mode nil :granularity nil :parent #14)) (paragraph (:begin 9995 :end 10019 :contents-begin 9995 :contents-end 10018 :post-blank 1 :post-affiliated 9995 :mode nil :granularity nil :parent #14) #("Inside the repository:\n" 0 23 (:parent #20))) (fixed-width (:begin 10019 :end 10059 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 10019 :mode nil :granularity nil :parent #14)) (paragraph (:begin 10059 :end 10303 :contents-begin 10059 :contents-end 10302 :post-blank 1 :post-affiliated 10059 :mode nil :granularity nil :parent #14) #("Will fire up your local repo " 0 29 (:parent #22)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 10088 :end 10111 :contents-begin nil :contents-end nil :post-blank 1 :parent #22)) #("using the\nsettings in ./etc/default" 0 35 (:parent #22)) (subscript (:begin 10146 :end 10158 :use-brackets-p nil :contents-begin 10147 :contents-end 10158 :post-blank 0 :parent #22) #("settings.py" 0 11 (:parent #28))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #22)) (subscript (:begin 10263 :end 10276 :use-brackets-p nil :contents-begin 10264 :contents-end 10275 :post-blank 1 :parent #22) #("settings.py" 0 11 (:parent #30))) #("and pass it into GN2 with\n" 0 26 (:parent #22))) (fixed-width (:begin 10303 :end 10346 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 10303 :mode nil :granularity nil :parent #14)) (paragraph (:begin 10346 :end 10492 :contents-begin 10346 :contents-end 10491 :post-blank 1 :post-affiliated 10346 :mode nil :granularity nil :parent #14) #("and everything " 0 15 (:parent #24)) (bold (:begin 10361 :end 10370 :post-blank 1 :contents-begin 10362 :contents-end 10368 :parent #24) #("should" 0 6 (:parent #28))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #24))) (paragraph (:begin 10492 :end 10620 :contents-begin 10492 :contents-end 10619 :post-blank 1 :post-affiliated 10492 :mode nil :granularity nil :parent #14) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #25))) (fixed-width (:begin 10620 :end 10721 :value "cat ~/.guix-profile/lib/python2.7/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 10620 :mode nil :granularity nil :parent #14)))) (headline (:raw-value "Set up nginx port forwarding" :begin 10722 :end 12840 :pre-blank 1 :contents-begin 10755 :contents-end 12839 :robust-begin 10757 :robust-end 12837 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 10722 :title (#("Set up nginx port forwarding" 0 28 (:parent #12))) :mode nil :granularity nil :parent #7) (section (:begin 10755 :end 12840 :contents-begin 10755 :contents-end 12839 :robust-begin 10755 :robust-end 12837 :post-blank 1 :post-affiliated 10755 :mode section :granularity nil :parent #12) (paragraph (:begin 10755 :end 10923 :contents-begin 10755 :contents-end 10922 :post-blank 1 :post-affiliated 10755 :mode planning :granularity nil :parent #15) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #18))) (paragraph (:begin 10923 :end 11063 :contents-begin 10923 :contents-end 11062 :post-blank 1 :post-affiliated 10923 :mode nil :granularity nil :parent #15) #("#+begin" 0 7 (:parent #19)) (subscript (:begin 10930 :end 10935 :use-brackets-p nil :contents-begin 10931 :contents-end 10934 :post-blank 1 :parent #19) #("src" 0 3 (:parent #23))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #19)) (subscript (:begin 10984 :end 10990 :use-brackets-p nil :contents-begin 10985 :contents-end 10989 :post-blank 1 :parent #19) #("name" 0 4 (:parent #25))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #19)) (subscript (:begin 11030 :end 11036 :use-brackets-p nil :contents-begin 11031 :contents-end 11034 :post-blank 2 :parent #19) #("log" 0 3 (:parent #27))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #19))) (paragraph (:begin 11063 :end 11232 :contents-begin 11063 :contents-end 11231 :post-blank 1 :post-affiliated 11063 :mode nil :granularity nil :parent #15) #(" proxy" 0 13 (:parent #20)) (subscript (:begin 11076 :end 11084 :use-brackets-p nil :contents-begin 11077 :contents-end 11084 :post-blank 0 :parent #20) #("connect" 0 7 (:parent #24))) (subscript (:begin 11084 :end 11099 :use-brackets-p nil :contents-begin 11085 :contents-end 11092 :post-blank 7 :parent #20) #("timeout" 0 7 (:parent #25))) #("3000;\n proxy" 0 19 (:parent #20)) (subscript (:begin 11118 :end 11123 :use-brackets-p nil :contents-begin 11119 :contents-end 11123 :post-blank 0 :parent #20) #("send" 0 4 (:parent #27))) (subscript (:begin 11123 :end 11141 :use-brackets-p nil :contents-begin 11124 :contents-end 11131 :post-blank 10 :parent #20) #("timeout" 0 7 (:parent #28))) #("3000;\n proxy" 0 19 (:parent #20)) (subscript (:begin 11160 :end 11165 :use-brackets-p nil :contents-begin 11161 :contents-end 11165 :post-blank 0 :parent #20) #("read" 0 4 (:parent #30))) (subscript (:begin 11165 :end 11183 :use-brackets-p nil :contents-begin 11166 :contents-end 11173 :post-blank 10 :parent #20) #("timeout" 0 7 (:parent #31))) #("3000;\n send" 0 18 (:parent #20)) (subscript (:begin 11201 :end 11225 :use-brackets-p nil :contents-begin 11202 :contents-end 11209 :post-blank 16 :parent #20) #("timeout" 0 7 (:parent #33))) #("3000;\n" 0 6 (:parent #20))) (paragraph (:begin 11232 :end 11632 :contents-begin 11232 :contents-end 11631 :post-blank 1 :post-affiliated 11232 :mode nil :granularity nil :parent #15) #(" location / {\n proxy" 0 38 (:parent #21)) (subscript (:begin 11270 :end 11274 :use-brackets-p nil :contents-begin 11271 :contents-end 11274 :post-blank 0 :parent #21) #("set" 0 3 (:parent #25))) (subscript (:begin 11274 :end 11284 :use-brackets-p nil :contents-begin 11275 :contents-end 11281 :post-blank 3 :parent #21) #("header" 0 6 (:parent #26))) #("Host $http" 0 15 (:parent #21)) (subscript (:begin 11299 :end 11304 :use-brackets-p nil :contents-begin 11300 :contents-end 11304 :post-blank 0 :parent #21) #("host" 0 4 (:parent #28))) #(";\n proxy" 0 19 (:parent #21)) (subscript (:begin 11323 :end 11327 :use-brackets-p nil :contents-begin 11324 :contents-end 11327 :post-blank 0 :parent #21) #("set" 0 3 (:parent #30))) (subscript (:begin 11327 :end 11337 :use-brackets-p nil :contents-begin 11328 :contents-end 11334 :post-blank 3 :parent #21) #("header" 0 6 (:parent #31))) #("Connection keep-alive;\n proxy" 0 40 (:parent #21)) (subscript (:begin 11377 :end 11381 :use-brackets-p nil :contents-begin 11378 :contents-end 11381 :post-blank 0 :parent #21) #("set" 0 3 (:parent #33))) (subscript (:begin 11381 :end 11391 :use-brackets-p nil :contents-begin 11382 :contents-end 11388 :post-blank 3 :parent #21) #("header" 0 6 (:parent #34))) #("X-Real-IP $remote" 0 17 (:parent #21)) (subscript (:begin 11408 :end 11413 :use-brackets-p nil :contents-begin 11409 :contents-end 11413 :post-blank 0 :parent #21) #("addr" 0 4 (:parent #36))) #(";\n proxy" 0 19 (:parent #21)) (subscript (:begin 11432 :end 11436 :use-brackets-p nil :contents-begin 11433 :contents-end 11436 :post-blank 0 :parent #21) #("set" 0 3 (:parent #38))) (subscript (:begin 11436 :end 11446 :use-brackets-p nil :contents-begin 11437 :contents-end 11443 :post-blank 3 :parent #21) #("header" 0 6 (:parent #39))) #("X-Forwarded-For $proxy" 0 22 (:parent #21)) (subscript (:begin 11468 :end 11472 :use-brackets-p nil :contents-begin 11469 :contents-end 11472 :post-blank 0 :parent #21) #("add" 0 3 (:parent #41))) (subscript (:begin 11472 :end 11474 :use-brackets-p nil :contents-begin 11473 :contents-end 11474 :post-blank 0 :parent #21) #("x" 0 1 (:parent #42))) (subscript (:begin 11474 :end 11484 :use-brackets-p nil :contents-begin 11475 :contents-end 11484 :post-blank 0 :parent #21) #("forwarded" 0 9 (:parent #43))) (subscript (:begin 11484 :end 11488 :use-brackets-p nil :contents-begin 11485 :contents-end 11488 :post-blank 0 :parent #21) #("for" 0 3 (:parent #44))) #(";\n proxy" 0 19 (:parent #21)) (subscript (:begin 11507 :end 11511 :use-brackets-p nil :contents-begin 11508 :contents-end 11511 :post-blank 0 :parent #21) #("set" 0 3 (:parent #46))) (subscript (:begin 11511 :end 11521 :use-brackets-p nil :contents-begin 11512 :contents-end 11518 :post-blank 3 :parent #21) #("header" 0 6 (:parent #47))) #("X-Forwarded-Host $server" 0 24 (:parent #21)) (subscript (:begin 11545 :end 11550 :use-brackets-p nil :contents-begin 11546 :contents-end 11550 :post-blank 0 :parent #21) #("name" 0 4 (:parent #49))) #(";\n proxy" 0 19 (:parent #21)) (subscript (:begin 11569 :end 11583 :use-brackets-p nil :contents-begin 11570 :contents-end 11574 :post-blank 9 :parent #21) #("pass" 0 4 (:parent #51))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 11583 :end 11604 :contents-begin nil :contents-end nil :post-blank 0 :parent #21)) #(";\n }\n}\n#+end" 0 19 (:parent #21)) (subscript (:begin 11623 :end 11628 :use-brackets-p nil :contents-begin 11624 :contents-end 11627 :post-blank 1 :parent #21) #("src" 0 3 (:parent #54))) #("js\n" 0 3 (:parent #21))) (paragraph (:begin 11632 :end 11671 :contents-begin 11632 :contents-end 11670 :post-blank 1 :post-affiliated 11632 :mode nil :granularity nil :parent #15) #("Install the nginx webserver (as root)\n" 0 38 (:parent #22))) (fixed-width (:begin 11671 :end 11696 :value "guix package -i nginx" :post-blank 2 :post-affiliated 11671 :mode nil :granularity nil :parent #15)) (paragraph (:begin 11696 :end 11777 :contents-begin 11696 :contents-end 11776 :post-blank 1 :post-affiliated 11696 :mode nil :granularity nil :parent #15) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #24))) (fixed-width (:begin 11777 :end 11964 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 11777 :mode nil :granularity nil :parent #15)) (paragraph (:begin 11964 :end 11979 :contents-begin 11964 :contents-end 11978 :post-blank 1 :post-affiliated 11964 :mode nil :granularity nil :parent #15) #("Use that path\n" 0 14 (:parent #26))) (fixed-width (:begin 11979 :end 12373 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 11979 :mode nil :granularity nil :parent #15)) (paragraph (:begin 12373 :end 12599 :contents-begin 12373 :contents-end 12599 :post-blank 0 :post-affiliated 12373 :mode nil :granularity nil :parent #15) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #28))) (fixed-width (:begin 12599 :end 12646 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 12599 :mode nil :granularity nil :parent #15)) (paragraph (:begin 12646 :end 12657 :contents-begin 12646 :contents-end 12656 :post-blank 1 :post-affiliated 12646 :mode nil :granularity nil :parent #15) #("Make dirs\n" 0 10 (:parent #30))) (fixed-width (:begin 12657 :end 12691 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 12657 :mode nil :granularity nil :parent #15)) (paragraph (:begin 12691 :end 12702 :contents-begin 12691 :contents-end 12701 :post-blank 1 :post-affiliated 12691 :mode nil :granularity nil :parent #15) #("Add users\n" 0 10 (:parent #32))) (fixed-width (:begin 12702 :end 12738 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 12702 :mode nil :granularity nil :parent #15)) (paragraph (:begin 12738 :end 12749 :contents-begin 12738 :contents-end 12748 :post-blank 1 :post-affiliated 12738 :mode nil :granularity nil :parent #15) #("Run nginx\n" 0 10 (:parent #34))) (fixed-width (:begin 12749 :end 12839 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 12749 :mode nil :granularity nil :parent #15))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 12840 :end 13801 :pre-blank 1 :contents-begin 12902 :contents-end 13801 :robust-begin 12904 :robust-end 13799 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12840 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #8))) :mode nil :granularity nil :parent (org-data (:begin 1 :contents-begin 1 :contents-end 13801 :end 13801 :robust-begin 3 :robust-end 13799 :post-blank 0 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) . #0)) (section (:begin 12902 :end 12959 :contents-begin 12902 :contents-end 12958 :robust-begin 12902 :robust-end 12956 :post-blank 1 :post-affiliated 12902 :mode section :granularity nil :parent #8) (paragraph (:begin 12902 :end 12958 :contents-begin 12902 :contents-end 12958 :post-blank 0 :post-affiliated 12902 :mode planning :granularity nil :parent #11) #("See the document " 0 17 (:parent #14)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 12919 :end 12956 :contents-begin nil :contents-end nil :post-blank 0 :parent #14)) #(".\n" 0 2 (:parent #14)))) (headline (:raw-value "Update to recent guix" :begin 12959 :end 13409 :pre-blank 1 :contents-begin 12985 :contents-end 13408 :robust-begin 12987 :robust-end 13406 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12959 :title (#("Update to recent guix" 0 21 (:parent #12))) :mode nil :granularity nil :parent #8) (section (:begin 12985 :end 13409 :contents-begin 12985 :contents-end 13408 :robust-begin 12985 :robust-end 13406 :post-blank 1 :post-affiliated 12985 :mode section :granularity nil :parent #12) (paragraph (:begin 12985 :end 13020 :contents-begin 12985 :contents-end 13019 :post-blank 1 :post-affiliated 12985 :mode planning :granularity nil :parent #15) #("We now compile Guix from scratch.\n" 0 34 (:parent #18))) (paragraph (:begin 13020 :end 13295 :contents-begin 13020 :contents-end 13294 :post-blank 1 :post-affiliated 13020 :mode nil :granularity nil :parent #15) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #19)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 13159 :end 13272 :contents-begin 13264 :contents-end 13269 :post-blank 1 :parent #19) #("these" 0 5 (:parent #23))) #("steps carefully after\n" 0 22 (:parent #19))) (fixed-width (:begin 13295 :end 13330 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 13295 :mode nil :granularity nil :parent #15)) (paragraph (:begin 13330 :end 13408 :contents-begin 13330 :contents-end 13408 :post-blank 0 :post-affiliated 13330 :mode nil :granularity nil :parent #15) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #21))))) (headline (:raw-value "Install GN2" :begin 13409 :end 13801 :pre-blank 1 :contents-begin 13425 :contents-end 13801 :robust-begin 13427 :robust-end 13799 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 13409 :title (#("Install GN2" 0 11 (:parent #13))) :mode nil :granularity nil :parent #8) (section (:begin 13425 :end 13801 :contents-begin 13425 :contents-end 13801 :robust-begin 13425 :robust-end 13799 :post-blank 0 :post-affiliated 13425 :mode section :granularity nil :parent #13) (paragraph (:begin 13425 :end 13468 :contents-begin 13425 :contents-end 13467 :post-blank 1 :post-affiliated 13425 :mode planning :granularity nil :parent #16) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #19))) (paragraph (:begin 13468 :end 13676 :contents-begin 13468 :contents-end 13675 :post-blank 1 :post-affiliated 13468 :mode nil :granularity nil :parent #16) #("#+begin" 0 7 (:parent #20)) (subscript (:begin 13475 :end 13480 :use-brackets-p nil :contents-begin 13476 :contents-end 13479 :post-blank 1 :parent #20) #("src" 0 3 (:parent #24))) #("bash\nenv GUIX" 0 13 (:parent #20)) (subscript (:begin 13493 :end 13501 :use-brackets-p nil :contents-begin 13494 :contents-end 13501 :post-blank 0 :parent #20) #("PACKAGE" 0 7 (:parent #26))) (subscript (:begin 13501 :end 13506 :use-brackets-p nil :contents-begin 13502 :contents-end 13506 :post-blank 0 :parent #20) #("PATH" 0 4 (:parent #27))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #20)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 13605 :end 13633 :contents-begin nil :contents-end nil :post-blank 1 :parent #20)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 13633 :end 13658 :contents-begin nil :contents-end nil :post-blank 0 :parent #20)) #("\"\n#+end" 0 7 (:parent #20)) (subscript (:begin 13665 :end 13670 :use-brackets-p nil :contents-begin 13666 :contents-end 13669 :post-blank 1 :parent #20) #("src" 0 3 (:parent #32))) #("bash\n" 0 5 (:parent #20))) (paragraph (:begin 13676 :end 13714 :contents-begin 13676 :contents-end 13713 :post-blank 1 :post-affiliated 13676 :mode nil :granularity nil :parent #16) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #21))) (paragraph (:begin 13714 :end 13801 :contents-begin 13714 :contents-end 13801 :post-blank 0 :post-affiliated 13714 :mode nil :granularity nil :parent #16) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #22))))))) "") org-export-data((org-data (:begin 1 :contents-begin 1 :contents-end 13801 :end 13801 :robust-begin 3 :robust-end 13799 :post-blank 0 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 43 :contents-begin 1 :contents-end 42 :robust-begin 1 :robust-end 40 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #0) (keyword (:key "TITLE" :value "Installing GeneNetwork services" :begin 1 :end 42 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #3))) (headline (:raw-value "Table of Contents" :begin 43 :end 1404 :pre-blank 0 :contents-begin 121 :contents-end 1403 :robust-begin 123 :robust-end 1401 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 43 :title (#("Table of Contents" 0 17 (:parent #4))) :mode nil :granularity nil :parent #0) (section (:begin 121 :end 1404 :contents-begin 121 :contents-end 1403 :robust-begin 121 :robust-end 1401 :post-blank 1 :post-affiliated 121 :mode section :granularity nil :parent #4) (plain-list (:type unordered :begin 121 :end 1403 :contents-begin 121 :contents-end 1403 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 121 :mode planning :granularity nil :parent #7) (item (:bullet "- " :begin 121 :end 156 :contents-begin 124 :contents-end 156 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 121 :tag nil :mode item :granularity nil :parent #10) (paragraph (:begin 124 :end 156 :contents-begin 124 :contents-end 156 :post-blank 0 :post-affiliated 124 :mode nil :granularity nil :parent #13) (link (:type "custom-id" :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil :begin 124 :end 155 :contents-begin 141 :contents-end 153 :post-blank 0 :parent #16) #("Introduction" 0 12 (:parent #19))) #("\n" 0 1 (:parent #16)))) (item (:bullet "- " :begin 156 :end 521 :contents-begin 159 :contents-end 521 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 156 :tag nil :mode item :granularity nil :parent #10) (paragraph (:begin 159 :end 217 :contents-begin 159 :contents-end 217 :post-blank 0 :post-affiliated 159 :mode nil :granularity nil :parent #14) (link (:type "custom-id" :path "quick-installation-recipe" :format bracket :raw-link "#quick-installation-recipe" :application nil :search-option nil :begin 159 :end 216 :contents-begin 189 :contents-end 214 :post-blank 0 :parent #17) #("Quick installation recipe" 0 25 (:parent #20))) #("\n" 0 1 (:parent #17))) (plain-list (:type unordered :begin 217 :end 521 :contents-begin 217 :contents-end 521 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 217 :mode nil :granularity nil :parent #14) (item (:bullet "- " :begin 217 :end 277 :contents-begin 222 :contents-end 277 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 217 :tag nil :mode item :granularity nil :parent #18) (paragraph (:begin 222 :end 277 :contents-begin 222 :contents-end 277 :post-blank 0 :post-affiliated 222 :mode nil :granularity nil :parent #21) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 222 :end 276 :contents-begin 250 :contents-end 274 :post-blank 0 :parent #24) #("Step 1: Install GNU Guix" 0 24 (:parent #27))) #("\n" 0 1 (:parent #24)))) (item (:bullet "- " :begin 277 :end 371 :contents-begin 282 :contents-end 371 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 277 :tag nil :mode item :granularity nil :parent #18) (paragraph (:begin 282 :end 371 :contents-begin 282 :contents-end 371 :post-blank 0 :post-affiliated 282 :mode nil :granularity nil :parent #22) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 282 :end 370 :contents-begin 327 :contents-end 368 :post-blank 0 :parent #25) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #28))) #("\n" 0 1 (:parent #25)))) (item (:bullet "- " :begin 371 :end 455 :contents-begin 376 :contents-end 455 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 371 :tag nil :mode item :granularity nil :parent #18) (paragraph (:begin 376 :end 455 :contents-begin 376 :contents-end 455 :post-blank 0 :post-affiliated 376 :mode nil :granularity nil :parent #23) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 376 :end 454 :contents-begin 416 :contents-end 452 :post-blank 0 :parent #26) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #29))) #("\n" 0 1 (:parent #26)))) (item (:bullet "- " :begin 455 :end 521 :contents-begin 460 :contents-end 521 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 455 :tag nil :mode item :granularity nil :parent #18) (paragraph (:begin 460 :end 521 :contents-begin 460 :contents-end 521 :post-blank 0 :post-affiliated 460 :mode nil :granularity nil :parent #24) (link (:type "custom-id" :path "step-4-install-and-run-gn2" :format bracket :raw-link "#step-4-install-and-run-gn2" :application nil :search-option nil :begin 460 :end 520 :contents-begin 491 :contents-end 518 :post-blank 0 :parent #27) #("Step 4: Install and run GN2" 0 27 (:parent #30))) #("\n" 0 1 (:parent #27)))))) (item (:bullet "- " :begin 521 :end 564 :contents-begin 524 :contents-end 564 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 521 :tag nil :mode item :granularity nil :parent #10) (paragraph (:begin 524 :end 564 :contents-begin 524 :contents-end 564 :post-blank 0 :post-affiliated 524 :mode nil :granularity nil :parent #15) (link (:type "custom-id" :path "run-mysql-server" :format bracket :raw-link "#run-mysql-server" :application nil :search-option nil :begin 524 :end 563 :contents-begin 545 :contents-end 561 :post-blank 0 :parent #18) #("Run MySQL server" 0 16 (:parent #21))) #("\n" 0 1 (:parent #18)))) (item (:bullet "- " :begin 564 :end 615 :contents-begin 567 :contents-end 615 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 564 :tag nil :mode item :granularity nil :parent #10) (paragraph (:begin 567 :end 615 :contents-begin 567 :contents-end 615 :post-blank 0 :post-affiliated 567 :mode nil :granularity nil :parent #16) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 567 :end 614 :contents-begin 592 :contents-end 612 :post-blank 0 :parent #19) #("GN2 Dependency Graph" 0 20 (:parent #22))) #("\n" 0 1 (:parent #19)))) (item (:bullet "- " :begin 615 :end 790 :contents-begin 618 :contents-end 790 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 615 :tag nil :mode item :granularity nil :parent #10) (paragraph (:begin 618 :end 660 :contents-begin 618 :contents-end 660 :post-blank 0 :post-affiliated 618 :mode nil :granularity nil :parent #17) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 618 :end 659 :contents-begin 640 :contents-end 657 :post-blank 0 :parent #20) #("Source deployment" 0 17 (:parent #23))) #("\n" 0 1 (:parent #20))) (plain-list (:type unordered :begin 660 :end 790 :contents-begin 660 :contents-end 790 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 660 :mode nil :granularity nil :parent #17) (item (:bullet "- " :begin 660 :end 721 :contents-begin 665 :contents-end 721 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 660 :tag nil :mode item :granularity nil :parent #21) (paragraph (:begin 665 :end 721 :contents-begin 665 :contents-end 721 :post-blank 0 :post-affiliated 665 :mode nil :granularity nil :parent #24) (link (:type "custom-id" :path "run-your-own-copy-of-gn2" :format bracket :raw-link "#run-your-own-copy-of-gn2" :application nil :search-option nil :begin 665 :end 720 :contents-begin 694 :contents-end 718 :post-blank 0 :parent #27) #("Run your own copy of GN2" 0 24 (:parent #30))) #("\n" 0 1 (:parent #27)))) (item (:bullet "- " :begin 721 :end 790 :contents-begin 726 :contents-end 790 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 721 :tag nil :mode item :granularity nil :parent #21) (paragraph (:begin 726 :end 790 :contents-begin 726 :contents-end 790 :post-blank 0 :post-affiliated 726 :mode nil :granularity nil :parent #25) (link (:type "custom-id" :path "set-up-nginx-port-forwarding" :format bracket :raw-link "#set-up-nginx-port-forwarding" :application nil :search-option nil :begin 726 :end 789 :contents-begin 759 :contents-end 787 :post-blank 0 :parent #28) #("Set up nginx port forwarding" 0 28 (:parent #31))) #("\n" 0 1 (:parent #28)))))) (item (:bullet "- " :begin 790 :end 1034 :contents-begin 793 :contents-end 1034 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 790 :tag nil :mode item :granularity nil :parent #10) (paragraph (:begin 793 :end 917 :contents-begin 793 :contents-end 917 :post-blank 0 :post-affiliated 793 :mode nil :granularity nil :parent #18) (link (:type "custom-id" :path "source-deployment-and-other-information-on-reproducibility" :format bracket :raw-link "#source-deployment-and-other-information-on-reproducibility" :application nil :search-option nil :begin 793 :end 916 :contents-begin 856 :contents-end 914 :post-blank 0 :parent #21) #("Source deployment and other information on reproducibility" 0 58 (:parent #24))) #("\n" 0 1 (:parent #21))) (plain-list (:type unordered :begin 917 :end 1034 :contents-begin 917 :contents-end 1034 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 917 :mode nil :granularity nil :parent #18) (item (:bullet "- " :begin 917 :end 972 :contents-begin 922 :contents-end 972 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 917 :tag nil :mode item :granularity nil :parent #22) (paragraph (:begin 922 :end 972 :contents-begin 922 :contents-end 972 :post-blank 0 :post-affiliated 922 :mode nil :granularity nil :parent #25) (link (:type "custom-id" :path "update-to-recent-guix" :format bracket :raw-link "#update-to-recent-guix" :application nil :search-option nil :begin 922 :end 971 :contents-begin 948 :contents-end 969 :post-blank 0 :parent #28) #("Update to recent guix" 0 21 (:parent #31))) #("\n" 0 1 (:parent #28)))) (item (:bullet "- " :begin 972 :end 1007 :contents-begin 977 :contents-end 1007 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 972 :tag nil :mode item :granularity nil :parent #22) (paragraph (:begin 977 :end 1007 :contents-begin 977 :contents-end 1007 :post-blank 0 :post-affiliated 977 :mode nil :granularity nil :parent #26) (link (:type "custom-id" :path "install-gn2" :format bracket :raw-link "#install-gn2" :application nil :search-option nil :begin 977 :end 1006 :contents-begin 993 :contents-end 1004 :post-blank 0 :parent #29) #("Install GN2" 0 11 (:parent #32))) #("\n" 0 1 (:parent #29)))) (item (:bullet "- " :begin 1007 :end 1034 :contents-begin 1012 :contents-end 1034 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1007 :tag nil :mode item :granularity nil :parent #22) (paragraph (:begin 1012 :end 1034 :contents-begin 1012 :contents-end 1034 :post-blank 0 :post-affiliated 1012 :mode nil :granularity nil :parent #27) (link (:type "custom-id" :path "run-gn2" :format bracket :raw-link "#run-gn2" :application nil :search-option nil :begin 1012 :end 1033 :contents-begin 1024 :contents-end 1031 :post-blank 0 :parent #30) #("Run GN2" 0 7 (:parent #33))) #("\n" 0 1 (:parent #30)))))) (item (:bullet "- " :begin 1034 :end 1370 :contents-begin 1037 :contents-end 1370 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1034 :tag nil :mode item :granularity nil :parent #10) (paragraph (:begin 1037 :end 1077 :contents-begin 1037 :contents-end 1077 :post-blank 0 :post-affiliated 1037 :mode nil :granularity nil :parent #19) (link (:type "custom-id" :path "trouble-shooting" :format bracket :raw-link "#trouble-shooting" :application nil :search-option nil :begin 1037 :end 1076 :contents-begin 1058 :contents-end 1074 :post-blank 0 :parent #22) #("Trouble shooting" 0 16 (:parent #25))) #("\n" 0 1 (:parent #22))) (plain-list (:type unordered :begin 1077 :end 1370 :contents-begin 1077 :contents-end 1370 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 1077 :mode nil :granularity nil :parent #19) (item (:bullet "- " :begin 1077 :end 1159 :contents-begin 1082 :contents-end 1159 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1077 :tag nil :mode item :granularity nil :parent #23) (paragraph (:begin 1082 :end 1159 :contents-begin 1082 :contents-end 1159 :post-blank 0 :post-affiliated 1082 :mode nil :granularity nil :parent #26) (link (:type "custom-id" :path "importerror-no-module-named-jinja2" :format bracket :raw-link "#importerror-no-module-named-jinja2" :application nil :search-option nil :begin 1082 :end 1158 :contents-begin 1121 :contents-end 1156 :post-blank 0 :parent #29) #("ImportError: No module named jinja2" 0 35 (:parent #32))) #("\n" 0 1 (:parent #29)))) (item (:bullet "- " :begin 1159 :end 1257 :contents-begin 1164 :contents-end 1257 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1159 :tag nil :mode item :granularity nil :parent #23) (paragraph (:begin 1164 :end 1257 :contents-begin 1164 :contents-end 1257 :post-blank 0 :post-affiliated 1164 :mode nil :granularity nil :parent #27) (link (:type "custom-id" :path "error-can-not-find-directory-homegn2_data" :format bracket :raw-link "#error-can-not-find-directory-homegn2_data" :application nil :search-option nil :begin 1164 :end 1256 :contents-begin 1210 :contents-end 1254 :post-blank 0 :parent #30) #("ERROR: can not find directory $HOME/gn2" 0 39 (:parent #33)) (subscript (:begin 1249 :end 1254 :use-brackets-p nil :contents-begin 1250 :contents-end 1254 :post-blank 0 :parent #33) #("data" 0 4 (:parent #37)))) #("\n" 0 1 (:parent #30)))) (item (:bullet "- " :begin 1257 :end 1305 :contents-begin 1262 :contents-end 1305 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1257 :tag nil :mode item :granularity nil :parent #23) (paragraph (:begin 1262 :end 1305 :contents-begin 1262 :contents-end 1305 :post-blank 0 :post-affiliated 1262 :mode nil :granularity nil :parent #28) (link (:type "custom-id" :path "cant-run-a-module" :format bracket :raw-link "#cant-run-a-module" :application nil :search-option nil :begin 1262 :end 1304 :contents-begin 1284 :contents-end 1302 :post-blank 0 :parent #31) #("Can't run a module" 0 18 (:parent #34))) #("\n" 0 1 (:parent #31)))) (item (:bullet "- " :begin 1305 :end 1370 :contents-begin 1310 :contents-end 1370 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1305 :tag nil :mode item :granularity nil :parent #23) (paragraph (:begin 1310 :end 1370 :contents-begin 1310 :contents-end 1370 :post-blank 0 :post-affiliated 1310 :mode nil :granularity nil :parent #29) (link (:type "custom-id" :path "rpy2-error-show-now-found" :format bracket :raw-link "#rpy2-error-show-now-found" :application nil :search-option nil :begin 1310 :end 1369 :contents-begin 1340 :contents-end 1367 :post-blank 0 :parent #32) #("Rpy2 error 'show' now found" 0 27 (:parent #35))) #("\n" 0 1 (:parent #32)))))) (item (:bullet "- " :begin 1370 :end 1403 :contents-begin 1373 :contents-end 1403 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1370 :tag nil :mode item :granularity nil :parent #10) (paragraph (:begin 1373 :end 1403 :contents-begin 1373 :contents-end 1403 :post-blank 0 :post-affiliated 1373 :mode nil :granularity nil :parent #20) (link (:type "custom-id" :path "irc-session" :format bracket :raw-link "#irc-session" :application nil :search-option nil :begin 1373 :end 1402 :contents-begin 1389 :contents-end 1400 :post-blank 0 :parent #23) #("IRC session" 0 11 (:parent #26))) #("\n" 0 1 (:parent #23))))))) (headline (:raw-value "Introduction" :begin 1404 :end 2450 :pre-blank 1 :contents-begin 1420 :contents-end 2449 :robust-begin 1422 :robust-end 2447 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1404 :title (#("Introduction" 0 12 (:parent #5))) :mode nil :granularity nil :parent #0) (section (:begin 1420 :end 2450 :contents-begin 1420 :contents-end 2449 :robust-begin 1420 :robust-end 2447 :post-blank 1 :post-affiliated 1420 :mode section :granularity nil :parent #5) (paragraph (:begin 1420 :end 1557 :contents-begin 1420 :contents-end 1556 :post-blank 1 :post-affiliated 1420 :mode planning :granularity nil :parent #8) #("If you want to understand the architecture of GN2 read\n" 0 55 (:parent #11)) (link (:type "fuzzy" :path "Architecture.org" :format bracket :raw-link "Architecture.org" :application nil :search-option nil :begin 1475 :end 1495 :contents-begin nil :contents-end nil :post-blank 0 :parent #11)) #(". The rest of this document is mostly on deployment\nof GN2.\n" 0 61 (:parent #11))) (paragraph (:begin 1557 :end 1943 :contents-begin 1557 :contents-end 1942 :post-blank 1 :post-affiliated 1557 :mode nil :granularity nil :parent #8) #("Large system deployments can get very " 0 38 (:parent #12)) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg " :format bracket :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg " :application nil :search-option nil :begin 1595 :end 1656 :contents-begin 1647 :contents-end 1654 :post-blank 0 :parent #12) #("complex" 0 7 (:parent #16))) #(". In this document we\nexplain the GeneNetwork version 2 (GN2) reproducible deployment system\nwhich is based on GNU Guix (see also " 0 130 (:parent #12)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1786 :end 1860 :contents-begin 1848 :contents-end 1858 :post-blank 0 :parent #12) #("Guix-notes" 0 10 (:parent #18))) #("). The Guix\nsystem can be used to install GN with all its files and dependencies.\n" 0 82 (:parent #12))) (paragraph (:begin 1943 :end 2328 :contents-begin 1943 :contents-end 2327 :post-blank 1 :post-affiliated 1943 :mode nil :granularity nil :parent #8) #("The official installation path is from a checked out version of the\nmain Guix package tree and that of the Genenetwork package\ntree. Current supported versions can be found as the SHA values of\n'gn-latest' branches of " 0 218 (:parent #13)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :application nil :search-option nil :begin 2161 :end 2252 :contents-begin 2230 :contents-end 2249 :post-blank 1 :parent #13) #("Guix bioinformatics" 0 19 (:parent #17))) #("and " 0 4 (:parent #13)) (link (:type "https" :path "//github.com/genenetwork/guix/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix/tree/gn-latest" :application nil :search-option nil :begin 2256 :end 2325 :contents-begin 2310 :contents-end 2323 :post-blank 0 :parent #13) #("GNU Guix main" 0 13 (:parent #19))) #(".\n" 0 2 (:parent #13))) (paragraph (:begin 2328 :end 2449 :contents-begin 2328 :contents-end 2449 :post-blank 0 :post-affiliated 2328 :mode nil :granularity nil :parent #8) #("For a full view of runtime dependencies as defined by GNU Guix, see\nthe " 0 72 (:parent #14)) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 2400 :end 2447 :contents-begin 2425 :contents-end 2445 :post-blank 0 :parent #14) #("GN2 Dependency Graph" 0 20 (:parent #18))) #(".\n" 0 2 (:parent #14))))) (headline (:raw-value "Quick installation recipe" :begin 2450 :end 7633 :pre-blank 1 :contents-begin 2479 :contents-end 7632 :robust-begin 2481 :robust-end 7630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 2450 :title (#("Quick installation recipe" 0 25 (:parent #6))) :mode nil :granularity nil :parent #0) (section (:begin 2479 :end 3022 :contents-begin 2479 :contents-end 3021 :robust-begin 2479 :robust-end 3019 :post-blank 1 :post-affiliated 2479 :mode section :granularity nil :parent #6) (paragraph (:begin 2479 :end 2880 :contents-begin 2479 :contents-end 2879 :post-blank 1 :post-affiliated 2479 :mode planning :granularity nil :parent #9) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS). For more elaborate installation\ninstructions see " 0 357 (:parent #12)) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 2836 :end 2877 :contents-begin 2858 :contents-end 2875 :post-blank 0 :parent #12) #("Source deployment" 0 17 (:parent #16))) #(".\n" 0 2 (:parent #12))) (paragraph (:begin 2880 :end 3021 :contents-begin 2880 :contents-end 3021 :post-blank 0 :post-affiliated 2880 :mode nil :granularity nil :parent #9) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #13)))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 3022 :end 4649 :pre-blank 1 :contents-begin 3051 :contents-end 4648 :robust-begin 3053 :robust-end 4646 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3022 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #10))) :mode nil :granularity nil :parent #6) (section (:begin 3051 :end 4649 :contents-begin 3051 :contents-end 4648 :robust-begin 3051 :robust-end 4646 :post-blank 1 :post-affiliated 3051 :mode section :granularity nil :parent #10) (paragraph (:begin 3051 :end 3504 :contents-begin 3051 :contents-end 3503 :post-blank 1 :post-affiliated 3051 :mode planning :granularity nil :parent #13) #("Fetch the GNU Guix binary from " 0 31 (:parent #16)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 3082 :end 3136 :contents-begin 3129 :contents-end 3133 :post-blank 1 :parent #16) #("here" 0 4 (:parent #20))) #("(middle panel) and follow\n" 0 26 (:parent #16)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 3162 :end 3255 :contents-begin 3241 :contents-end 3253 :post-blank 0 :parent #16) #("instructions" 0 12 (:parent #22))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #16))) (paragraph (:begin 3504 :end 3782 :contents-begin 3504 :contents-end 3781 :post-blank 1 :post-affiliated 3504 :mode nil :granularity nil :parent #13) #("Once you have succeeded, you have to " 0 37 (:parent #17)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 3541 :end 3631 :contents-begin 3617 :contents-end 3628 :post-blank 1 :parent #17) #("set the key" 0 11 (:parent #21))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #17))) (src-block (:language "bash" :switches nil :parameters nil :begin 3782 :end 3890 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 3782 :mode nil :granularity nil :parent #13)) (paragraph (:begin 3890 :end 3924 :contents-begin 3890 :contents-end 3923 :post-blank 1 :post-affiliated 3890 :mode nil :granularity nil :parent #13) #("Which should show something like\n" 0 33 (:parent #19))) (fixed-width (:begin 3924 :end 4034 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 3924 :mode nil :granularity nil :parent #13)) (paragraph (:begin 4034 :end 4045 :contents-begin 4034 :contents-end 4044 :post-blank 1 :post-affiliated 4034 :mode nil :granularity nil :parent #13) #("#+end" 0 5 (:parent #21)) (subscript (:begin 4039 :end 4043 :use-brackets-p nil :contents-begin 4040 :contents-end 4043 :post-blank 0 :parent #21) #("src" 0 3 (:parent #25))) #("\n" 0 1 (:parent #21))) (paragraph (:begin 4045 :end 4116 :contents-begin 4045 :contents-end 4115 :post-blank 1 :post-affiliated 4045 :mode nil :granularity nil :parent #13) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #22))) (src-block (:language "bash" :switches nil :parameters nil :begin 4116 :end 4188 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 4116 :mode nil :granularity nil :parent #13)) (paragraph (:begin 4188 :end 4375 :contents-begin 4188 :contents-end 4374 :post-blank 1 :post-affiliated 4188 :mode nil :granularity nil :parent #13) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #24))) (paragraph (:begin 4375 :end 4648 :contents-begin 4375 :contents-end 4648 :post-blank 0 :post-affiliated 4375 :mode nil :granularity nil :parent #13) #("If you need more help we have another writeup in " 0 49 (:parent #25)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 4424 :end 4520 :contents-begin 4508 :contents-end 4518 :post-blank 0 :parent #25) #("guix-notes" 0 10 (:parent #29))) #(". To get\nrid of the locale warning see " 0 39 (:parent #25)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 4559 :end 4646 :contents-begin 4634 :contents-end 4644 :post-blank 0 :parent #25) #("set-locale" 0 10 (:parent #31))) #(".\n" 0 2 (:parent #25))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 4649 :end 5304 :pre-blank 1 :contents-begin 4695 :contents-end 5302 :robust-begin 4697 :robust-end 5300 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4649 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #11))) :mode nil :granularity nil :parent #6) (section (:begin 4695 :end 5304 :contents-begin 4695 :contents-end 5302 :robust-begin 4695 :robust-end 5300 :post-blank 2 :post-affiliated 4695 :mode section :granularity nil :parent #11) (paragraph (:begin 4695 :end 4815 :contents-begin 4695 :contents-end 4814 :post-blank 1 :post-affiliated 4695 :mode planning :granularity nil :parent #14) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #17))) (src-block (:language "bash" :switches nil :parameters nil :begin 4815 :end 4920 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 4815 :mode nil :granularity nil :parent #14)) (paragraph (:begin 4920 :end 4971 :contents-begin 4920 :contents-end 4970 :post-blank 1 :post-affiliated 4920 :mode nil :granularity nil :parent #14) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #19))) (paragraph (:begin 4971 :end 5232 :contents-begin 4971 :contents-end 5231 :post-blank 1 :post-affiliated 4971 :mode nil :granularity nil :parent #14) #("#+begin" 0 7 (:parent #20)) (subscript (:begin 4978 :end 4983 :use-brackets-p nil :contents-begin 4979 :contents-end 4982 :post-blank 1 :parent #20) #("src" 0 3 (:parent #24))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #20)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 5055 :end 5105 :contents-begin nil :contents-end nil :post-blank 0 :parent #20)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #20)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 5147 :end 5183 :contents-begin nil :contents-end nil :post-blank 1 :parent #20)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #20)) (subscript (:begin 5221 :end 5226 :use-brackets-p nil :contents-begin 5222 :contents-end 5225 :post-blank 1 :parent #20) #("src" 0 3 (:parent #30))) #("bash\n" 0 5 (:parent #20))) (paragraph (:begin 5232 :end 5270 :contents-begin 5232 :contents-end 5269 :post-blank 1 :post-affiliated 5232 :mode nil :granularity nil :parent #14) #("To test whether this is working try:\n" 0 37 (:parent #21))) (paragraph (:begin 5270 :end 5302 :contents-begin 5270 :contents-end 5302 :post-blank 0 :post-affiliated 5270 :mode nil :granularity nil :parent #14) #("#+begin" 0 7 (:parent #22)) (subscript (:begin 5277 :end 5282 :use-brackets-p nil :contents-begin 5278 :contents-end 5281 :post-blank 1 :parent #22) #("src" 0 3 (:parent #26))) #("bash\n#+end" 0 10 (:parent #22)) (subscript (:begin 5292 :end 5297 :use-brackets-p nil :contents-begin 5293 :contents-end 5296 :post-blank 1 :parent #22) #("src" 0 3 (:parent #28))) #("bash\n" 0 5 (:parent #22))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 5304 :end 5755 :pre-blank 1 :contents-begin 5345 :contents-end 5754 :robust-begin 5347 :robust-end 5752 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5304 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #12))) :mode nil :granularity nil :parent #6) (section (:begin 5345 :end 5755 :contents-begin 5345 :contents-end 5754 :robust-begin 5345 :robust-end 5752 :post-blank 1 :post-affiliated 5345 :mode section :granularity nil :parent #12) (paragraph (:begin 5345 :end 5445 :contents-begin 5345 :contents-end 5444 :post-blank 1 :post-affiliated 5345 :mode planning :granularity nil :parent #15) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #18))) (src-block (:language "scheme" :switches nil :parameters nil :begin 5445 :end 5589 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 5445 :mode nil :granularity nil :parent #15)) (paragraph (:begin 5589 :end 5621 :contents-begin 5589 :contents-end 5620 :post-blank 1 :post-affiliated 5589 :mode nil :granularity nil :parent #15) #("by pasting it into the command\n" 0 31 (:parent #20))) (src-block (:language "bash" :switches nil :parameters nil :begin 5621 :end 5674 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 5621 :mode nil :granularity nil :parent #15)) (paragraph (:begin 5674 :end 5691 :contents-begin 5674 :contents-end 5690 :post-blank 1 :post-affiliated 5674 :mode nil :granularity nil :parent #15) #("and hit Ctrl-D.\n" 0 16 (:parent #22))) (paragraph (:begin 5691 :end 5754 :contents-begin 5691 :contents-end 5754 :post-blank 0 :post-affiliated 5691 :mode nil :granularity nil :parent #15) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #23))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 5755 :end 7633 :pre-blank 1 :contents-begin 5787 :contents-end 7632 :robust-begin 5789 :robust-end 7630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5755 :title (#("Step 4: Install and run GN2" 0 27 (:parent #13))) :mode nil :granularity nil :parent #6) (section (:begin 5787 :end 7633 :contents-begin 5787 :contents-end 7632 :robust-begin 5787 :robust-end 7630 :post-blank 1 :post-affiliated 5787 :mode section :granularity nil :parent #13) (paragraph (:begin 5787 :end 5927 :contents-begin 5787 :contents-end 5926 :post-blank 1 :post-affiliated 5787 :mode planning :granularity nil :parent #16) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #19))) (src-block (:language "bash" :switches nil :parameters nil :begin 5927 :end 6046 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 5927 :mode nil :granularity nil :parent #16)) (paragraph (:begin 6046 :end 6099 :contents-begin 6046 :contents-end 6098 :post-blank 1 :post-affiliated 6046 :mode nil :granularity nil :parent #16) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #21))) (src-block (:language "bash" :switches nil :parameters nil :begin 6099 :end 6289 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 6099 :mode nil :granularity nil :parent #16)) (paragraph (:begin 6289 :end 6398 :contents-begin 6289 :contents-end 6397 :post-blank 1 :post-affiliated 6289 :mode nil :granularity nil :parent #16) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #23)) (italic (:begin 6360 :end 6366 :post-blank 0 :contents-begin 6361 :contents-end 6365 :parent #23) #("root" 0 4 (:parent #27))) #(".config/guix/latest override).\n" 0 31 (:parent #23))) (paragraph (:begin 6398 :end 6416 :contents-begin 6398 :contents-end 6415 :post-blank 1 :post-affiliated 6398 :mode nil :granularity nil :parent #16) #("And install with\n" 0 17 (:parent #24))) (src-block (:language "bash" :switches nil :parameters nil :begin 6416 :end 6586 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 6416 :mode nil :granularity nil :parent #16)) (paragraph (:begin 6586 :end 6729 :contents-begin 6586 :contents-end 6728 :post-blank 1 :post-affiliated 6586 :mode nil :granularity nil :parent #16) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #26))) (paragraph (:begin 6729 :end 6925 :contents-begin 6729 :contents-end 6924 :post-blank 1 :post-affiliated 6729 :mode nil :granularity nil :parent #16) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #27))) (paragraph (:begin 6925 :end 7056 :contents-begin 6925 :contents-end 7055 :post-blank 1 :post-affiliated 6925 :mode nil :granularity nil :parent #16) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #28))) (src-block (:language "bash" :switches nil :parameters nil :begin 7056 :end 7235 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python2.7/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 7056 :mode nil :granularity nil :parent #16)) (paragraph (:begin 7235 :end 7304 :contents-begin 7235 :contents-end 7303 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #16) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #30))) (src-block (:language "bash" :switches nil :parameters nil :begin 7304 :end 7345 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 7304 :mode nil :granularity nil :parent #16)) (paragraph (:begin 7345 :end 7596 :contents-begin 7345 :contents-end 7595 :post-blank 1 :post-affiliated 7345 :mode nil :granularity nil :parent #16) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #32)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 7567 :end 7593 :contents-begin nil :contents-end nil :post-blank 0 :parent #32)) #(".\n" 0 2 (:parent #32))) (paragraph (:begin 7596 :end 7632 :contents-begin 7596 :contents-end 7632 :post-blank 0 :post-affiliated 7596 :mode nil :granularity nil :parent #16) #("End of the GN2 installation recipe!\n" 0 36 (:parent #33)))))) (headline (:raw-value "Run MySQL server" :begin 7633 :end 9008 :pre-blank 1 :contents-begin 7653 :contents-end 9007 :robust-begin 7655 :robust-end 9005 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7633 :title (#("Run MySQL server" 0 16 (:parent #7))) :mode nil :granularity nil :parent #0) (section (:begin 7653 :end 9008 :contents-begin 7653 :contents-end 9007 :robust-begin 7653 :robust-end 9005 :post-blank 1 :post-affiliated 7653 :mode section :granularity nil :parent #7) (paragraph (:begin 7653 :end 7928 :contents-begin 7653 :contents-end 7927 :post-blank 1 :post-affiliated 7653 :mode planning :granularity nil :parent #10) #("At this point we require the underlying distribution to install and\nrun mysqld. Currently we have two databases for deployment,\n'db" 0 131 (:parent #13)) (subscript (:begin 7784 :end 7791 :use-brackets-p nil :contents-begin 7785 :contents-end 7791 :post-blank 0 :parent #13) #("webqtl" 0 6 (:parent #17))) (subscript (:begin 7791 :end 7793 :use-brackets-p nil :contents-begin 7792 :contents-end 7793 :post-blank 0 :parent #13) #("s" 0 1 (:parent #18))) #("' is the small testing database containing experiments\nfrom BXD mice and 'db" 0 76 (:parent #13)) (subscript (:begin 7869 :end 7876 :use-brackets-p nil :contents-begin 7870 :contents-end 7876 :post-blank 0 :parent #13) #("webqtl" 0 6 (:parent #20))) (subscript (:begin 7876 :end 7882 :use-brackets-p nil :contents-begin 7877 :contents-end 7882 :post-blank 0 :parent #13) #("plant" 0 5 (:parent #21))) #("' which contains all plant related\nmaterial.\n" 0 45 (:parent #13))) (paragraph (:begin 7928 :end 7956 :contents-begin 7928 :contents-end 7955 :post-blank 1 :post-affiliated 7928 :mode nil :granularity nil :parent #10) #("Download one database from\n" 0 27 (:parent #14))) (paragraph (:begin 7956 :end 8054 :contents-begin 7956 :contents-end 8053 :post-blank 1 :post-affiliated 7956 :mode nil :granularity nil :parent #10) (link (:type "http" :path "//files.genenetwork.org/raw_database/" :format plain :raw-link "http://files.genenetwork.org/raw_database/" :application nil :search-option nil :begin 7956 :end 7998 :contents-begin nil :contents-end nil :post-blank 0 :parent #15)) #("\n" 0 1 (:parent #15)) (link (:type "https" :path "//s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :format plain :raw-link "https://s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :application nil :search-option nil :begin 7999 :end 8052 :contents-begin nil :contents-end nil :post-blank 0 :parent #15)) #("\n" 0 1 (:parent #15))) (paragraph (:begin 8054 :end 8073 :contents-begin 8054 :contents-end 8072 :post-blank 1 :post-affiliated 8054 :mode nil :granularity nil :parent #10) #("Check the md5sum.\n" 0 18 (:parent #16))) (paragraph (:begin 8073 :end 8195 :contents-begin 8073 :contents-end 8194 :post-blank 1 :post-affiliated 8073 :mode nil :granularity nil :parent #10) #("After installation inflate the database binary in the MySQL directory\n(this installation path is subject to change soon)\n" 0 121 (:parent #17))) (fixed-width (:begin 8195 :end 8283 :value "chown -R mysql:mysql db_webqtl_s/\nchmod 700 db_webqtl_s/\nchmod 660 db_webqtl_s/*" :post-blank 2 :post-affiliated 8195 :mode nil :granularity nil :parent #10)) (paragraph (:begin 8283 :end 8334 :contents-begin 8283 :contents-end 8333 :post-blank 1 :post-affiliated 8283 :mode nil :granularity nil :parent #10) #("restart MySQL service (mysqld). Login as root and\n" 0 50 (:parent #19))) (fixed-width (:begin 8334 :end 8560 :value "mysql> show databases;\n+--------------------+\n| Database |\n+--------------------+\n| information_schema |\n| db_webqtl_s |\n| mysql |\n| performance_schema |\n+--------------------+" :post-blank 2 :post-affiliated 8334 :mode nil :granularity nil :parent #10)) (paragraph (:begin 8560 :end 8625 :contents-begin 8560 :contents-end 8624 :post-blank 1 :post-affiliated 8560 :mode nil :granularity nil :parent #10) #("Set permissions and match password in your settings file below:\n" 0 64 (:parent #21))) (fixed-width (:begin 8625 :end 8724 :value "mysql> grant all privileges on db_webqtl_s.* to gn2@\"localhost\" identified by 'mysql_password';" :post-blank 2 :post-affiliated 8625 :mode nil :granularity nil :parent #10)) (paragraph (:begin 8724 :end 8875 :contents-begin 8724 :contents-end 8874 :post-blank 1 :post-affiliated 8724 :mode nil :granularity nil :parent #10) #("Note that if the mysql connection is not working, try connecting to\nthe IP address and check server firewall, hosts.allow and mysql IP\nconfiguration.\n" 0 150 (:parent #23))) (paragraph (:begin 8875 :end 9007 :contents-begin 8875 :contents-end 9007 :post-blank 0 :post-affiliated 8875 :mode nil :granularity nil :parent #10) #("Note for the plant database you can rename it to db" 0 51 (:parent #24)) (subscript (:begin 8926 :end 8933 :use-brackets-p nil :contents-begin 8927 :contents-end 8933 :post-blank 0 :parent #24) #("webqtl" 0 6 (:parent #28))) (subscript (:begin 8933 :end 8935 :use-brackets-p nil :contents-begin 8934 :contents-end 8935 :post-blank 0 :parent #24) #("s" 0 1 (:parent #29))) #(", or\nchange the settings in etc/default" 0 39 (:parent #24)) (subscript (:begin 8974 :end 8987 :use-brackets-p nil :contents-begin 8975 :contents-end 8986 :post-blank 1 :parent #24) #("settings.py" 0 11 (:parent #31))) #("to match your path.\n" 0 20 (:parent #24))))) (headline (:raw-value "GN2 Dependency Graph" :begin 9008 :end 9172 :pre-blank 1 :contents-begin 9032 :contents-end 9171 :robust-begin 9034 :robust-end 9169 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9008 :title (#("GN2 Dependency Graph" 0 20 (:parent #8))) :mode nil :granularity nil :parent #0) (section (:begin 9032 :end 9172 :contents-begin 9032 :contents-end 9171 :robust-begin 9032 :robust-end 9169 :post-blank 1 :post-affiliated 9032 :mode section :granularity nil :parent #8) (paragraph (:begin 9032 :end 9093 :contents-begin 9032 :contents-end 9092 :post-blank 1 :post-affiliated 9032 :mode planning :granularity nil :parent #11) #("Graph of all runtime dependencies as installed by GNU Guix.\n" 0 60 (:parent #14))) (paragraph (:begin 9093 :end 9171 :contents-begin 9123 :contents-end 9171 :post-blank 0 :post-affiliated 9123 :attr_html (":title GN2_graph") :mode nil :granularity nil :parent #11) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg" :format plain :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg" :application nil :search-option nil :begin 9123 :end 9170 :contents-begin nil :contents-end nil :post-blank 0 :parent #15)) #("\n" 0 1 (:parent #15))))) (headline (:raw-value "Source deployment" :begin 9172 :end 12840 :pre-blank 1 :contents-begin 9193 :contents-end 12839 :robust-begin 9195 :robust-end 12837 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9172 :title (#("Source deployment" 0 17 (:parent #9))) :mode nil :granularity nil :parent #0) (section (:begin 9193 :end 9612 :contents-begin 9193 :contents-end 9610 :robust-begin 9193 :robust-end 9608 :post-blank 2 :post-affiliated 9193 :mode section :granularity nil :parent #9) (paragraph (:begin 9193 :end 9274 :contents-begin 9193 :contents-end 9273 :post-blank 1 :post-affiliated 9193 :mode planning :granularity nil :parent #12) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #15))) (paragraph (:begin 9274 :end 9304 :contents-begin 9274 :contents-end 9303 :post-blank 1 :post-affiliated 9274 :mode nil :granularity nil :parent #12) #("First execute above 4 steps:\n" 0 29 (:parent #16))) (plain-list (:type unordered :begin 9304 :end 9610 :contents-begin 9304 :contents-end 9610 :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :post-blank 0 :post-affiliated 9304 :mode nil :granularity nil :parent #12) (item (:bullet "- " :begin 9304 :end 9364 :contents-begin 9309 :contents-end 9364 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9304 :tag nil :mode item :granularity nil :parent #17) (paragraph (:begin 9309 :end 9364 :contents-begin 9309 :contents-end 9364 :post-blank 0 :post-affiliated 9309 :mode nil :granularity nil :parent #20) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 9309 :end 9363 :contents-begin 9337 :contents-end 9361 :post-blank 0 :parent #23) #("Step 1: Install GNU Guix" 0 24 (:parent #26))) #("\n" 0 1 (:parent #23)))) (item (:bullet "- " :begin 9364 :end 9458 :contents-begin 9369 :contents-end 9458 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9364 :tag nil :mode item :granularity nil :parent #17) (paragraph (:begin 9369 :end 9458 :contents-begin 9369 :contents-end 9458 :post-blank 0 :post-affiliated 9369 :mode nil :granularity nil :parent #21) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 9369 :end 9457 :contents-begin 9414 :contents-end 9455 :post-blank 0 :parent #24) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #27))) #("\n" 0 1 (:parent #24)))) (item (:bullet "- " :begin 9458 :end 9542 :contents-begin 9463 :contents-end 9542 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9458 :tag nil :mode item :granularity nil :parent #17) (paragraph (:begin 9463 :end 9542 :contents-begin 9463 :contents-end 9542 :post-blank 0 :post-affiliated 9463 :mode nil :granularity nil :parent #22) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 9463 :end 9541 :contents-begin 9503 :contents-end 9539 :post-blank 0 :parent #25) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #28))) #("\n" 0 1 (:parent #25)))) (item (:bullet "- " :begin 9542 :end 9610 :contents-begin 9547 :contents-end 9610 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9542 :tag nil :mode item :granularity nil :parent #17) (paragraph (:begin 9547 :end 9610 :contents-begin 9547 :contents-end 9610 :post-blank 0 :post-affiliated 9547 :mode nil :granularity nil :parent #23) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 9547 :end 9609 :contents-begin 9579 :contents-end 9607 :post-blank 0 :parent #26) #("Step 4: Install and run GN2 " 0 28 (:parent #29))) #("\n" 0 1 (:parent #26)))))) (headline (:raw-value "Run your own copy of GN2" :begin 9612 :end 10722 :pre-blank 1 :contents-begin 9641 :contents-end 10721 :robust-begin 9643 :robust-end 10719 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9612 :title (#("Run your own copy of GN2" 0 24 (:parent #13))) :mode nil :granularity nil :parent #9) (section (:begin 9641 :end 10722 :contents-begin 9641 :contents-end 10721 :robust-begin 9641 :robust-end 10719 :post-blank 1 :post-affiliated 9641 :mode section :granularity nil :parent #13) (paragraph (:begin 9641 :end 9839 :contents-begin 9641 :contents-end 9838 :post-blank 1 :post-affiliated 9641 :mode planning :granularity nil :parent #16) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #19)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 9793 :end 9836 :contents-begin nil :contents-end nil :post-blank 0 :parent #19)) #(".\n" 0 2 (:parent #19))) (paragraph (:begin 9839 :end 9964 :contents-begin 9839 :contents-end 9963 :post-blank 1 :post-affiliated 9839 :mode nil :granularity nil :parent #16) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #20)) (subscript (:begin 9896 :end 9902 :use-brackets-p nil :contents-begin 9897 :contents-end 9901 :post-blank 1 :parent #20) #("PATH" 0 4 (:parent #24))) #("and\nR" 0 5 (:parent #20)) (subscript (:begin 9907 :end 9912 :use-brackets-p nil :contents-begin 9908 :contents-end 9912 :post-blank 0 :parent #20) #("LIBS" 0 4 (:parent #26))) (subscript (:begin 9912 :end 9918 :use-brackets-p nil :contents-begin 9913 :contents-end 9917 :post-blank 1 :parent #20) #("SITE" 0 4 (:parent #27))) #("are set) from the information given by guix:\n" 0 45 (:parent #20))) (fixed-width (:begin 9964 :end 9995 :value "guix package --search-paths" :post-blank 2 :post-affiliated 9964 :mode nil :granularity nil :parent #16)) (paragraph (:begin 9995 :end 10019 :contents-begin 9995 :contents-end 10018 :post-blank 1 :post-affiliated 9995 :mode nil :granularity nil :parent #16) #("Inside the repository:\n" 0 23 (:parent #22))) (fixed-width (:begin 10019 :end 10059 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 10019 :mode nil :granularity nil :parent #16)) (paragraph (:begin 10059 :end 10303 :contents-begin 10059 :contents-end 10302 :post-blank 1 :post-affiliated 10059 :mode nil :granularity nil :parent #16) #("Will fire up your local repo " 0 29 (:parent #24)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 10088 :end 10111 :contents-begin nil :contents-end nil :post-blank 1 :parent #24)) #("using the\nsettings in ./etc/default" 0 35 (:parent #24)) (subscript (:begin 10146 :end 10158 :use-brackets-p nil :contents-begin 10147 :contents-end 10158 :post-blank 0 :parent #24) #("settings.py" 0 11 (:parent #30))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #24)) (subscript (:begin 10263 :end 10276 :use-brackets-p nil :contents-begin 10264 :contents-end 10275 :post-blank 1 :parent #24) #("settings.py" 0 11 (:parent #32))) #("and pass it into GN2 with\n" 0 26 (:parent #24))) (fixed-width (:begin 10303 :end 10346 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 10303 :mode nil :granularity nil :parent #16)) (paragraph (:begin 10346 :end 10492 :contents-begin 10346 :contents-end 10491 :post-blank 1 :post-affiliated 10346 :mode nil :granularity nil :parent #16) #("and everything " 0 15 (:parent #26)) (bold (:begin 10361 :end 10370 :post-blank 1 :contents-begin 10362 :contents-end 10368 :parent #26) #("should" 0 6 (:parent #30))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #26))) (paragraph (:begin 10492 :end 10620 :contents-begin 10492 :contents-end 10619 :post-blank 1 :post-affiliated 10492 :mode nil :granularity nil :parent #16) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #27))) (fixed-width (:begin 10620 :end 10721 :value "cat ~/.guix-profile/lib/python2.7/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 10620 :mode nil :granularity nil :parent #16)))) (headline (:raw-value "Set up nginx port forwarding" :begin 10722 :end 12840 :pre-blank 1 :contents-begin 10755 :contents-end 12839 :robust-begin 10757 :robust-end 12837 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 10722 :title (#("Set up nginx port forwarding" 0 28 (:parent #14))) :mode nil :granularity nil :parent #9) (section (:begin 10755 :end 12840 :contents-begin 10755 :contents-end 12839 :robust-begin 10755 :robust-end 12837 :post-blank 1 :post-affiliated 10755 :mode section :granularity nil :parent #14) (paragraph (:begin 10755 :end 10923 :contents-begin 10755 :contents-end 10922 :post-blank 1 :post-affiliated 10755 :mode planning :granularity nil :parent #17) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #20))) (paragraph (:begin 10923 :end 11063 :contents-begin 10923 :contents-end 11062 :post-blank 1 :post-affiliated 10923 :mode nil :granularity nil :parent #17) #("#+begin" 0 7 (:parent #21)) (subscript (:begin 10930 :end 10935 :use-brackets-p nil :contents-begin 10931 :contents-end 10934 :post-blank 1 :parent #21) #("src" 0 3 (:parent #25))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #21)) (subscript (:begin 10984 :end 10990 :use-brackets-p nil :contents-begin 10985 :contents-end 10989 :post-blank 1 :parent #21) #("name" 0 4 (:parent #27))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #21)) (subscript (:begin 11030 :end 11036 :use-brackets-p nil :contents-begin 11031 :contents-end 11034 :post-blank 2 :parent #21) #("log" 0 3 (:parent #29))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #21))) (paragraph (:begin 11063 :end 11232 :contents-begin 11063 :contents-end 11231 :post-blank 1 :post-affiliated 11063 :mode nil :granularity nil :parent #17) #(" proxy" 0 13 (:parent #22)) (subscript (:begin 11076 :end 11084 :use-brackets-p nil :contents-begin 11077 :contents-end 11084 :post-blank 0 :parent #22) #("connect" 0 7 (:parent #26))) (subscript (:begin 11084 :end 11099 :use-brackets-p nil :contents-begin 11085 :contents-end 11092 :post-blank 7 :parent #22) #("timeout" 0 7 (:parent #27))) #("3000;\n proxy" 0 19 (:parent #22)) (subscript (:begin 11118 :end 11123 :use-brackets-p nil :contents-begin 11119 :contents-end 11123 :post-blank 0 :parent #22) #("send" 0 4 (:parent #29))) (subscript (:begin 11123 :end 11141 :use-brackets-p nil :contents-begin 11124 :contents-end 11131 :post-blank 10 :parent #22) #("timeout" 0 7 (:parent #30))) #("3000;\n proxy" 0 19 (:parent #22)) (subscript (:begin 11160 :end 11165 :use-brackets-p nil :contents-begin 11161 :contents-end 11165 :post-blank 0 :parent #22) #("read" 0 4 (:parent #32))) (subscript (:begin 11165 :end 11183 :use-brackets-p nil :contents-begin 11166 :contents-end 11173 :post-blank 10 :parent #22) #("timeout" 0 7 (:parent #33))) #("3000;\n send" 0 18 (:parent #22)) (subscript (:begin 11201 :end 11225 :use-brackets-p nil :contents-begin 11202 :contents-end 11209 :post-blank 16 :parent #22) #("timeout" 0 7 (:parent #35))) #("3000;\n" 0 6 (:parent #22))) (paragraph (:begin 11232 :end 11632 :contents-begin 11232 :contents-end 11631 :post-blank 1 :post-affiliated 11232 :mode nil :granularity nil :parent #17) #(" location / {\n proxy" 0 38 (:parent #23)) (subscript (:begin 11270 :end 11274 :use-brackets-p nil :contents-begin 11271 :contents-end 11274 :post-blank 0 :parent #23) #("set" 0 3 (:parent #27))) (subscript (:begin 11274 :end 11284 :use-brackets-p nil :contents-begin 11275 :contents-end 11281 :post-blank 3 :parent #23) #("header" 0 6 (:parent #28))) #("Host $http" 0 15 (:parent #23)) (subscript (:begin 11299 :end 11304 :use-brackets-p nil :contents-begin 11300 :contents-end 11304 :post-blank 0 :parent #23) #("host" 0 4 (:parent #30))) #(";\n proxy" 0 19 (:parent #23)) (subscript (:begin 11323 :end 11327 :use-brackets-p nil :contents-begin 11324 :contents-end 11327 :post-blank 0 :parent #23) #("set" 0 3 (:parent #32))) (subscript (:begin 11327 :end 11337 :use-brackets-p nil :contents-begin 11328 :contents-end 11334 :post-blank 3 :parent #23) #("header" 0 6 (:parent #33))) #("Connection keep-alive;\n proxy" 0 40 (:parent #23)) (subscript (:begin 11377 :end 11381 :use-brackets-p nil :contents-begin 11378 :contents-end 11381 :post-blank 0 :parent #23) #("set" 0 3 (:parent #35))) (subscript (:begin 11381 :end 11391 :use-brackets-p nil :contents-begin 11382 :contents-end 11388 :post-blank 3 :parent #23) #("header" 0 6 (:parent #36))) #("X-Real-IP $remote" 0 17 (:parent #23)) (subscript (:begin 11408 :end 11413 :use-brackets-p nil :contents-begin 11409 :contents-end 11413 :post-blank 0 :parent #23) #("addr" 0 4 (:parent #38))) #(";\n proxy" 0 19 (:parent #23)) (subscript (:begin 11432 :end 11436 :use-brackets-p nil :contents-begin 11433 :contents-end 11436 :post-blank 0 :parent #23) #("set" 0 3 (:parent #40))) (subscript (:begin 11436 :end 11446 :use-brackets-p nil :contents-begin 11437 :contents-end 11443 :post-blank 3 :parent #23) #("header" 0 6 (:parent #41))) #("X-Forwarded-For $proxy" 0 22 (:parent #23)) (subscript (:begin 11468 :end 11472 :use-brackets-p nil :contents-begin 11469 :contents-end 11472 :post-blank 0 :parent #23) #("add" 0 3 (:parent #43))) (subscript (:begin 11472 :end 11474 :use-brackets-p nil :contents-begin 11473 :contents-end 11474 :post-blank 0 :parent #23) #("x" 0 1 (:parent #44))) (subscript (:begin 11474 :end 11484 :use-brackets-p nil :contents-begin 11475 :contents-end 11484 :post-blank 0 :parent #23) #("forwarded" 0 9 (:parent #45))) (subscript (:begin 11484 :end 11488 :use-brackets-p nil :contents-begin 11485 :contents-end 11488 :post-blank 0 :parent #23) #("for" 0 3 (:parent #46))) #(";\n proxy" 0 19 (:parent #23)) (subscript (:begin 11507 :end 11511 :use-brackets-p nil :contents-begin 11508 :contents-end 11511 :post-blank 0 :parent #23) #("set" 0 3 (:parent #48))) (subscript (:begin 11511 :end 11521 :use-brackets-p nil :contents-begin 11512 :contents-end 11518 :post-blank 3 :parent #23) #("header" 0 6 (:parent #49))) #("X-Forwarded-Host $server" 0 24 (:parent #23)) (subscript (:begin 11545 :end 11550 :use-brackets-p nil :contents-begin 11546 :contents-end 11550 :post-blank 0 :parent #23) #("name" 0 4 (:parent #51))) #(";\n proxy" 0 19 (:parent #23)) (subscript (:begin 11569 :end 11583 :use-brackets-p nil :contents-begin 11570 :contents-end 11574 :post-blank 9 :parent #23) #("pass" 0 4 (:parent #53))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 11583 :end 11604 :contents-begin nil :contents-end nil :post-blank 0 :parent #23)) #(";\n }\n}\n#+end" 0 19 (:parent #23)) (subscript (:begin 11623 :end 11628 :use-brackets-p nil :contents-begin 11624 :contents-end 11627 :post-blank 1 :parent #23) #("src" 0 3 (:parent #56))) #("js\n" 0 3 (:parent #23))) (paragraph (:begin 11632 :end 11671 :contents-begin 11632 :contents-end 11670 :post-blank 1 :post-affiliated 11632 :mode nil :granularity nil :parent #17) #("Install the nginx webserver (as root)\n" 0 38 (:parent #24))) (fixed-width (:begin 11671 :end 11696 :value "guix package -i nginx" :post-blank 2 :post-affiliated 11671 :mode nil :granularity nil :parent #17)) (paragraph (:begin 11696 :end 11777 :contents-begin 11696 :contents-end 11776 :post-blank 1 :post-affiliated 11696 :mode nil :granularity nil :parent #17) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #26))) (fixed-width (:begin 11777 :end 11964 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 11777 :mode nil :granularity nil :parent #17)) (paragraph (:begin 11964 :end 11979 :contents-begin 11964 :contents-end 11978 :post-blank 1 :post-affiliated 11964 :mode nil :granularity nil :parent #17) #("Use that path\n" 0 14 (:parent #28))) (fixed-width (:begin 11979 :end 12373 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 11979 :mode nil :granularity nil :parent #17)) (paragraph (:begin 12373 :end 12599 :contents-begin 12373 :contents-end 12599 :post-blank 0 :post-affiliated 12373 :mode nil :granularity nil :parent #17) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #30))) (fixed-width (:begin 12599 :end 12646 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 12599 :mode nil :granularity nil :parent #17)) (paragraph (:begin 12646 :end 12657 :contents-begin 12646 :contents-end 12656 :post-blank 1 :post-affiliated 12646 :mode nil :granularity nil :parent #17) #("Make dirs\n" 0 10 (:parent #32))) (fixed-width (:begin 12657 :end 12691 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 12657 :mode nil :granularity nil :parent #17)) (paragraph (:begin 12691 :end 12702 :contents-begin 12691 :contents-end 12701 :post-blank 1 :post-affiliated 12691 :mode nil :granularity nil :parent #17) #("Add users\n" 0 10 (:parent #34))) (fixed-width (:begin 12702 :end 12738 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 12702 :mode nil :granularity nil :parent #17)) (paragraph (:begin 12738 :end 12749 :contents-begin 12738 :contents-end 12748 :post-blank 1 :post-affiliated 12738 :mode nil :granularity nil :parent #17) #("Run nginx\n" 0 10 (:parent #36))) (fixed-width (:begin 12749 :end 12839 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 12749 :mode nil :granularity nil :parent #17))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 12840 :end 13801 :pre-blank 1 :contents-begin 12902 :contents-end 13801 :robust-begin 12904 :robust-end 13799 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12840 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #10))) :mode nil :granularity nil :parent #0) (section (:begin 12902 :end 12959 :contents-begin 12902 :contents-end 12958 :robust-begin 12902 :robust-end 12956 :post-blank 1 :post-affiliated 12902 :mode section :granularity nil :parent #10) (paragraph (:begin 12902 :end 12958 :contents-begin 12902 :contents-end 12958 :post-blank 0 :post-affiliated 12902 :mode planning :granularity nil :parent #13) #("See the document " 0 17 (:parent #16)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 12919 :end 12956 :contents-begin nil :contents-end nil :post-blank 0 :parent #16)) #(".\n" 0 2 (:parent #16)))) (headline (:raw-value "Update to recent guix" :begin 12959 :end 13409 :pre-blank 1 :contents-begin 12985 :contents-end 13408 :robust-begin 12987 :robust-end 13406 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12959 :title (#("Update to recent guix" 0 21 (:parent #14))) :mode nil :granularity nil :parent #10) (section (:begin 12985 :end 13409 :contents-begin 12985 :contents-end 13408 :robust-begin 12985 :robust-end 13406 :post-blank 1 :post-affiliated 12985 :mode section :granularity nil :parent #14) (paragraph (:begin 12985 :end 13020 :contents-begin 12985 :contents-end 13019 :post-blank 1 :post-affiliated 12985 :mode planning :granularity nil :parent #17) #("We now compile Guix from scratch.\n" 0 34 (:parent #20))) (paragraph (:begin 13020 :end 13295 :contents-begin 13020 :contents-end 13294 :post-blank 1 :post-affiliated 13020 :mode nil :granularity nil :parent #17) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #21)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 13159 :end 13272 :contents-begin 13264 :contents-end 13269 :post-blank 1 :parent #21) #("these" 0 5 (:parent #25))) #("steps carefully after\n" 0 22 (:parent #21))) (fixed-width (:begin 13295 :end 13330 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 13295 :mode nil :granularity nil :parent #17)) (paragraph (:begin 13330 :end 13408 :contents-begin 13330 :contents-end 13408 :post-blank 0 :post-affiliated 13330 :mode nil :granularity nil :parent #17) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #23))))) (headline (:raw-value "Install GN2" :begin 13409 :end 13801 :pre-blank 1 :contents-begin 13425 :contents-end 13801 :robust-begin 13427 :robust-end 13799 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 13409 :title (#("Install GN2" 0 11 (:parent #15))) :mode nil :granularity nil :parent #10) (section (:begin 13425 :end 13801 :contents-begin 13425 :contents-end 13801 :robust-begin 13425 :robust-end 13799 :post-blank 0 :post-affiliated 13425 :mode section :granularity nil :parent #15) (paragraph (:begin 13425 :end 13468 :contents-begin 13425 :contents-end 13467 :post-blank 1 :post-affiliated 13425 :mode planning :granularity nil :parent #18) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #21))) (paragraph (:begin 13468 :end 13676 :contents-begin 13468 :contents-end 13675 :post-blank 1 :post-affiliated 13468 :mode nil :granularity nil :parent #18) #("#+begin" 0 7 (:parent #22)) (subscript (:begin 13475 :end 13480 :use-brackets-p nil :contents-begin 13476 :contents-end 13479 :post-blank 1 :parent #22) #("src" 0 3 (:parent #26))) #("bash\nenv GUIX" 0 13 (:parent #22)) (subscript (:begin 13493 :end 13501 :use-brackets-p nil :contents-begin 13494 :contents-end 13501 :post-blank 0 :parent #22) #("PACKAGE" 0 7 (:parent #28))) (subscript (:begin 13501 :end 13506 :use-brackets-p nil :contents-begin 13502 :contents-end 13506 :post-blank 0 :parent #22) #("PATH" 0 4 (:parent #29))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #22)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 13605 :end 13633 :contents-begin nil :contents-end nil :post-blank 1 :parent #22)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 13633 :end 13658 :contents-begin nil :contents-end nil :post-blank 0 :parent #22)) #("\"\n#+end" 0 7 (:parent #22)) (subscript (:begin 13665 :end 13670 :use-brackets-p nil :contents-begin 13666 :contents-end 13669 :post-blank 1 :parent #22) #("src" 0 3 (:parent #34))) #("bash\n" 0 5 (:parent #22))) (paragraph (:begin 13676 :end 13714 :contents-begin 13676 :contents-end 13713 :post-blank 1 :post-affiliated 13676 :mode nil :granularity nil :parent #18) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #23))) (paragraph (:begin 13714 :end 13801 :contents-begin 13714 :contents-end 13801 :post-blank 0 :post-affiliated 13714 :mode nil :granularity nil :parent #18) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #24))))))) (:export-options (body-only) :back-end #s(org-export-backend :name html :parent nil :transcoders ((bold . org-html-bold) (center-block . org-html-center-block) (clock . org-html-clock) (code . org-html-code) (drawer . org-html-drawer) (dynamic-block . org-html-dynamic-block) (entity . org-html-entity) (example-block . org-html-example-block) (export-block . org-html-export-block) (export-snippet . org-html-export-snippet) (fixed-width . org-html-fixed-width) (footnote-reference . org-html-footnote-reference) (headline . org-html-headline) (horizontal-rule . org-html-horizontal-rule) (inline-src-block . org-html-inline-src-block) (inlinetask . org-html-inlinetask) (inner-template . org-html-inner-template) (italic . org-html-italic) (item . org-html-item) (keyword . org-html-keyword) (latex-environment . org-html-latex-environment) (latex-fragment . org-html-latex-fragment) (line-break . org-html-line-break) (link . org-html-link) (node-property . org-html-node-property) (paragraph . org-html-paragraph) (plain-list . org-html-plain-list) (plain-text . org-html-plain-text) (planning . org-html-planning) (property-drawer . org-html-property-drawer) (quote-block . org-html-quote-block) (radio-target . org-html-radio-target) (section . org-html-section) (special-block . org-html-special-block) (src-block . org-html-src-block) (statistics-cookie . org-html-statistics-cookie) (strike-through . org-html-strike-through) (subscript . org-html-subscript) (superscript . org-html-superscript) (table . org-html-table) (table-cell . org-html-table-cell) (table-row . org-html-table-row) (target . org-html-target) (template . org-html-template) (timestamp . org-html-timestamp) (underline . org-html-underline) (verbatim . org-html-verbatim) (verse-block . org-html-verse-block)) :options ((:html-doctype "HTML_DOCTYPE" nil org-html-doctype) (:html-container "HTML_CONTAINER" nil org-html-container-element) (:html-content-class "HTML_CONTENT_CLASS" nil org-html-content-class) (:description "DESCRIPTION" nil nil newline) (:keywords "KEYWORDS" nil nil space) (:html-html5-fancy nil "html5-fancy" org-html-html5-fancy) (:html-link-use-abs-url nil "html-link-use-abs-url" org-html-link-use-abs-url) (:html-link-home "HTML_LINK_HOME" nil org-html-link-home) (:html-link-up "HTML_LINK_UP" nil org-html-link-up) (:html-mathjax "HTML_MATHJAX" nil "" space) (:html-equation-reference-format "HTML_EQUATION_REFERENCE_FORMAT" nil org-html-equation-reference-format t) (:html-postamble nil "html-postamble" org-html-postamble) (:html-preamble nil "html-preamble" org-html-preamble) (:html-head "HTML_HEAD" nil org-html-head newline) (:html-head-extra "HTML_HEAD_EXTRA" nil org-html-head-extra newline) (:subtitle "SUBTITLE" nil nil parse) (:html-head-include-default-style nil "html-style" org-html-head-include-default-style) (:html-head-include-scripts nil "html-scripts" org-html-head-include-scripts) (:html-allow-name-attribute-in-anchors nil nil org-html-allow-name-attribute-in-anchors) (:html-divs nil nil org-html-divs) (:html-checkbox-type nil nil org-html-checkbox-type) (:html-extension nil nil org-html-extension) (:html-footnote-format nil nil org-html-footnote-format) (:html-footnote-separator nil nil org-html-footnote-separator) (:html-footnotes-section nil nil org-html-footnotes-section) (:html-format-drawer-function nil nil org-html-format-drawer-function) (:html-format-headline-function nil nil org-html-format-headline-function) (:html-format-inlinetask-function nil nil org-html-format-inlinetask-function) (:html-home/up-format nil nil org-html-home/up-format) (:html-indent nil nil org-html-indent) (:html-infojs-options nil nil org-html-infojs-options) (:html-infojs-template nil nil org-html-infojs-template) (:html-inline-image-rules nil nil org-html-inline-image-rules) (:html-link-org-files-as-html nil nil org-html-link-org-files-as-html) (:html-mathjax-options nil nil org-html-mathjax-options) (:html-mathjax-template nil nil org-html-mathjax-template) (:html-metadata-timestamp-format nil nil org-html-metadata-timestamp-format) (:html-postamble-format nil nil org-html-postamble-format) (:html-preamble-format nil nil org-html-preamble-format) (:html-prefer-user-labels nil nil org-html-prefer-user-labels) (:html-self-link-headlines nil nil org-html-self-link-headlines) (:html-table-align-individual-fields nil nil org-html-table-align-individual-fields) (:html-table-caption-above nil nil org-html-table-caption-above) (:html-table-data-tags nil nil org-html-table-data-tags) (:html-table-header-tags nil nil org-html-table-header-tags) (:html-table-use-header-tags-for-first-column nil nil org-html-table-use-header-tags-for-first-column) (:html-tag-class-prefix nil nil org-html-tag-class-prefix) (:html-text-markup-alist nil nil org-html-text-markup-alist) (:html-todo-kwd-class-prefix nil nil org-html-todo-kwd-class-prefix) (:html-toplevel-hlevel nil nil org-html-toplevel-hlevel) (:html-use-infojs nil nil org-html-use-infojs) (:html-validation-link nil nil org-html-validation-link) (:html-viewport nil nil org-html-viewport) (:html-inline-images nil nil org-html-inline-images) (:html-table-attributes nil nil org-html-table-default-attributes) (:html-table-row-open-tag nil nil org-html-table-row-open-tag) (:html-table-row-close-tag nil nil org-html-table-row-close-tag) (:html-xml-declaration nil nil org-html-xml-declaration) (:html-wrap-src-lines nil nil org-html-wrap-src-lines) (:html-klipsify-src nil nil org-html-klipsify-src) (:html-klipse-css nil nil org-html-klipse-css) (:html-klipse-js nil nil org-html-klipse-js) (:html-klipse-selection-script nil nil org-html-klipse-selection-script) (:infojs-opt "INFOJS_OPT" nil nil) (:creator "CREATOR" nil org-html-creator-string) (:with-latex nil "tex" org-html-with-latex) (:latex-header "LATEX_HEADER" nil nil newline)) :filters ((:filter-options . org-html-infojs-install-script) (:filter-parse-tree . org-html-image-link-filter) (:filter-final-output . org-html-final-function)) :blocks nil :menu (104 "Export to HTML" ((72 "As HTML buffer" org-html-export-as-html) (104 "As HTML file" org-html-export-to-html) (111 "As HTML file and open" (lambda (a s v b) (if a (org-html-export-to-html t s v b) (org-open-file (org-html-export-to-html nil s v b)))))))) :translate-alist ((bold . org-html-bold) (center-block . org-html-center-block) (clock . org-html-clock) (code . org-html-code) (drawer . org-html-drawer) (dynamic-block . org-html-dynamic-block) (entity . org-html-entity) (example-block . org-html-example-block) (export-block . org-html-export-block) (export-snippet . org-html-export-snippet) (fixed-width . org-html-fixed-width) (footnote-reference . org-html-footnote-reference) (headline . org-html-headline) (horizontal-rule . org-html-horizontal-rule) (inline-src-block . org-html-inline-src-block) (inlinetask . org-html-inlinetask) (inner-template . org-html-inner-template) (italic . org-html-italic) (item . org-html-item) (keyword . org-html-keyword) (latex-environment . org-html-latex-environment) (latex-fragment . org-html-latex-fragment) (line-break . org-html-line-break) (link . org-html-link) (node-property . org-html-node-property) (paragraph . org-html-paragraph) (plain-list . org-html-plain-list) (plain-text . org-html-plain-text) (planning . org-html-planning) (property-drawer . org-html-property-drawer) (quote-block . org-html-quote-block) (radio-target . org-html-radio-target) (section . org-html-section) (special-block . org-html-special-block) (src-block . org-html-src-block) (statistics-cookie . org-html-statistics-cookie) (strike-through . org-html-strike-through) (subscript . org-html-subscript) (superscript . org-html-superscript) (table . org-html-table) (table-cell . org-html-table-cell) (table-row . org-html-table-row) (target . org-html-target) (template . org-html-template) (timestamp . org-html-timestamp) (underline . org-html-underline) (verbatim . org-html-verbatim) (verse-block . org-html-verse-block)) :exported-data # :input-buffer " *temp*" :input-file nil :html-doctype "xhtml-strict" :html-container "div" :html-content-class "content" :description nil :keywords nil :html-html5-fancy nil :html-link-use-abs-url nil :html-link-home "" :html-link-up "" :html-mathjax "" :html-equation-reference-format "\\eqref{%s}" :html-postamble auto :html-preamble t :html-head "" :html-head-extra "" :subtitle nil :html-head-include-default-style t :html-head-include-scripts nil :html-allow-name-attribute-in-anchors nil :html-divs ((preamble "div" "preamble") (content "div" "content") (postamble "div" "postamble")) :html-checkbox-type ascii :html-extension "html" :html-footnote-format "%s" :html-footnote-separator ", " :html-footnotes-section "
\n

%s:

\n
\n%s\n
\n
" :html-format-drawer-function #f(compiled-function (name contents) #) :html-format-headline-function org-html-format-headline-default-function :html-format-inlinetask-function org-html-format-inlinetask-default-function :html-home/up-format "
\n UP \n |\n HOME \n
" :html-indent nil :html-infojs-options ((path . "https://orgmode.org/org-info.js") (view . "info") (toc . :with-toc) (ftoc . "0") (tdepth . "max") (sdepth . "max") (mouse . "underline") (buttons . "0") (ltoc . "1") (up . :html-link-up) (home . :html-link-home)) :html-infojs-template "\n\n" :html-inline-image-rules (("file" . "\\(?:\\.\\(?:gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)") ("http" . "\\(?:\\.\\(?:gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)") ("https" . "\\(?:\\.\\(?:gif\\|jp\\(?:e?g\\)\\|png\\|svg\\|webp\\)\\)")) :html-link-org-files-as-html t :html-mathjax-options ((path "https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js") (scale 1.0) (align "center") (font "mathjax-modern") (overflow "overflow") (tags "ams") (indent "0em") (multlinewidth "85%") (tagindent ".8em") (tagside "right")) :html-mathjax-template "\n\n\n" :html-metadata-timestamp-format "%Y-%m-%d %a %H:%M" :html-postamble-format (("en" "

Author: %a (%e)

\n

Date: %d

\n

%c

\n

%v

")) :html-preamble-format (("en" "")) :html-prefer-user-labels nil :html-self-link-headlines nil :html-table-align-individual-fields t :html-table-caption-above t :html-table-data-tags ("" . "") :html-table-header-tags ("" . "") :html-table-use-header-tags-for-first-column nil :html-tag-class-prefix "" :html-text-markup-alist ((bold . "%s") (code . "%s") (italic . "%s") (strike-through . "%s") (underline . "%s") (verbatim . "%s")) :html-todo-kwd-class-prefix "" :html-toplevel-hlevel 2 :html-use-infojs when-configured :html-validation-link "Validate" :html-viewport ((width "device-width") (initial-scale "1") (minimum-scale "") (maximum-scale "") (user-scalable "")) :html-inline-images t :html-table-attributes (:border "2" :cellspacing "0" :cellpadding "6" :rules "groups" :frame "hsides") :html-table-row-open-tag "" :html-table-row-close-tag "" :html-xml-declaration (("html" . "") ("php" . "\"; ?>")) :html-wrap-src-lines nil :html-klipsify-src nil :html-klipse-css "https://storage.googleapis.com/app.klipse.tech/css/codemirror.css" :html-klipse-js "https://storage.googleapis.com/app.klipse.tech/plugin_prod/js/klipse_plugin.min.js" :html-klipse-selection-script "window.klipse_settings = {selector_eval_html: '.src-html',\n selector_eval_js: '.src-js',\n selector_eval_python_client: '.src-python',\n selector_eval_scheme: '.src-scheme',\n selector: '.src-clojure',\n selector_eval_ruby: '.src-ruby'};" :infojs-opt nil :creator "Emacs 29.4 (Org mode 9.6.15)" :with-latex t :latex-header nil :title (#("Installing GeneNetwork services" 0 31 (:parent #148))) :date nil :author (#("unknown" 0 7 (:parent #152))) :email "unknown@genenetwork-development" :language "en" :select-tags ("export") :exclude-tags ("noexport") :headline-levels 3 :preserve-breaks nil :section-numbers nil :time-stamp-file t :with-archived-trees headline :with-author t :with-broken-links nil :with-clocks nil :with-creator nil :with-date t :with-drawers (not "LOGBOOK") :with-email nil :with-emphasize t :with-entities t :with-fixed-width t :with-footnotes t :with-inlinetasks t :with-planning nil :with-priority nil :with-properties nil :with-smart-quotes nil :with-special-strings t :with-statistics-cookies t :with-sub-superscript t :with-toc nil :with-tables t :with-tags t :with-tasks t :with-timestamps t :with-title t :with-todo-keywords t :cite-export (basic nil nil) :bibliography nil :filter-body nil :filter-bold nil :filter-babel-call nil :filter-center-block nil :filter-clock nil :filter-code nil :filter-diary-sexp nil :filter-drawer nil :filter-dynamic-block nil :filter-entity nil :filter-example-block nil :filter-export-block nil :filter-export-snippet nil :filter-final-output (org-html-final-function) :filter-fixed-width nil :filter-footnote-definition nil :filter-footnote-reference nil :filter-headline nil :filter-horizontal-rule nil :filter-inline-babel-call nil :filter-inline-src-block nil :filter-inlinetask nil :filter-italic nil :filter-item nil :filter-keyword nil :filter-latex-environment nil :filter-latex-fragment nil :filter-line-break nil :filter-link nil :filter-node-property nil :filter-options (org-html-infojs-install-script) :filter-paragraph nil :filter-parse-tree (org-html-image-link-filter) :filter-plain-list nil :filter-plain-text nil :filter-planning nil :filter-property-drawer nil :filter-quote-block nil :filter-radio-target nil :filter-section nil :filter-special-block nil :filter-src-block nil :filter-statistics-cookie nil :filter-strike-through nil :filter-subscript nil :filter-superscript nil :filter-table nil :filter-table-cell nil :filter-table-row nil :filter-target nil :filter-timestamp nil :filter-underline nil :filter-verbatim nil :filter-verse-block nil :ignore-list nil :parse-tree (org-data (:begin 1 :contents-begin 1 :contents-end 13801 :end 13801 :robust-begin 3 :robust-end 13799 :post-blank 0 :post-affiliated 1 :path nil :mode org-data :CATEGORY nil :granularity nil) (section (:begin 1 :end 43 :contents-begin 1 :contents-end 42 :robust-begin 1 :robust-end 40 :post-blank 1 :post-affiliated 1 :mode first-section :granularity nil :parent #338) (keyword (:key "TITLE" :value "Installing GeneNetwork services" :begin 1 :end 42 :post-blank 0 :post-affiliated 1 :mode top-comment :granularity nil :parent #341))) (headline (:raw-value "Table of Contents" :begin 43 :end 1404 :pre-blank 0 :contents-begin 121 :contents-end 1403 :robust-begin 123 :robust-end 1401 :level 1 :priority nil :tags ("TOC") :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 43 :title (#("Table of Contents" 0 17 (:parent #342))) :mode nil :granularity nil :parent #338) (section (:begin 121 :end 1404 :contents-begin 121 :contents-end 1403 :robust-begin 121 :robust-end 1401 :post-blank 1 :post-affiliated 121 :mode section :granularity nil :parent #342) (plain-list (:type unordered :begin 121 :end 1403 :contents-begin 121 :contents-end 1403 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 121 :mode planning :granularity nil :parent #345) (item (:bullet "- " :begin 121 :end 156 :contents-begin 124 :contents-end 156 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 121 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 124 :end 156 :contents-begin 124 :contents-end 156 :post-blank 0 :post-affiliated 124 :mode nil :granularity nil :parent #351) (link (:type "custom-id" :path "introduction" :format bracket :raw-link "#introduction" :application nil :search-option nil :begin 124 :end 155 :contents-begin 141 :contents-end 153 :post-blank 0 :parent #354) #("Introduction" 0 12 (:parent #357))) #("\n" 0 1 (:parent #354)))) (item (:bullet "- " :begin 156 :end 521 :contents-begin 159 :contents-end 521 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 156 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 159 :end 217 :contents-begin 159 :contents-end 217 :post-blank 0 :post-affiliated 159 :mode nil :granularity nil :parent #352) (link (:type "custom-id" :path "quick-installation-recipe" :format bracket :raw-link "#quick-installation-recipe" :application nil :search-option nil :begin 159 :end 216 :contents-begin 189 :contents-end 214 :post-blank 0 :parent #355) #("Quick installation recipe" 0 25 (:parent #358))) #("\n" 0 1 (:parent #355))) (plain-list (:type unordered :begin 217 :end 521 :contents-begin 217 :contents-end 521 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 217 :mode nil :granularity nil :parent #352) (item (:bullet "- " :begin 217 :end 277 :contents-begin 222 :contents-end 277 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 217 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 222 :end 277 :contents-begin 222 :contents-end 277 :post-blank 0 :post-affiliated 222 :mode nil :granularity nil :parent #359) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 222 :end 276 :contents-begin 250 :contents-end 274 :post-blank 0 :parent #362) #("Step 1: Install GNU Guix" 0 24 (:parent #365))) #("\n" 0 1 (:parent #362)))) (item (:bullet "- " :begin 277 :end 371 :contents-begin 282 :contents-end 371 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 277 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 282 :end 371 :contents-begin 282 :contents-end 371 :post-blank 0 :post-affiliated 282 :mode nil :granularity nil :parent #360) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 282 :end 370 :contents-begin 327 :contents-end 368 :post-blank 0 :parent #363) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #366))) #("\n" 0 1 (:parent #363)))) (item (:bullet "- " :begin 371 :end 455 :contents-begin 376 :contents-end 455 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 371 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 376 :end 455 :contents-begin 376 :contents-end 455 :post-blank 0 :post-affiliated 376 :mode nil :granularity nil :parent #361) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 376 :end 454 :contents-begin 416 :contents-end 452 :post-blank 0 :parent #364) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #367))) #("\n" 0 1 (:parent #364)))) (item (:bullet "- " :begin 455 :end 521 :contents-begin 460 :contents-end 521 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 455 :tag nil :mode item :granularity nil :parent #356) (paragraph (:begin 460 :end 521 :contents-begin 460 :contents-end 521 :post-blank 0 :post-affiliated 460 :mode nil :granularity nil :parent #362) (link (:type "custom-id" :path "step-4-install-and-run-gn2" :format bracket :raw-link "#step-4-install-and-run-gn2" :application nil :search-option nil :begin 460 :end 520 :contents-begin 491 :contents-end 518 :post-blank 0 :parent #365) #("Step 4: Install and run GN2" 0 27 (:parent #368))) #("\n" 0 1 (:parent #365)))))) (item (:bullet "- " :begin 521 :end 564 :contents-begin 524 :contents-end 564 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 521 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 524 :end 564 :contents-begin 524 :contents-end 564 :post-blank 0 :post-affiliated 524 :mode nil :granularity nil :parent #353) (link (:type "custom-id" :path "run-mysql-server" :format bracket :raw-link "#run-mysql-server" :application nil :search-option nil :begin 524 :end 563 :contents-begin 545 :contents-end 561 :post-blank 0 :parent #356) #("Run MySQL server" 0 16 (:parent #359))) #("\n" 0 1 (:parent #356)))) (item (:bullet "- " :begin 564 :end 615 :contents-begin 567 :contents-end 615 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 564 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 567 :end 615 :contents-begin 567 :contents-end 615 :post-blank 0 :post-affiliated 567 :mode nil :granularity nil :parent #354) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 567 :end 614 :contents-begin 592 :contents-end 612 :post-blank 0 :parent #357) #("GN2 Dependency Graph" 0 20 (:parent #360))) #("\n" 0 1 (:parent #357)))) (item (:bullet "- " :begin 615 :end 790 :contents-begin 618 :contents-end 790 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 615 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 618 :end 660 :contents-begin 618 :contents-end 660 :post-blank 0 :post-affiliated 618 :mode nil :granularity nil :parent #355) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 618 :end 659 :contents-begin 640 :contents-end 657 :post-blank 0 :parent #358) #("Source deployment" 0 17 (:parent #361))) #("\n" 0 1 (:parent #358))) (plain-list (:type unordered :begin 660 :end 790 :contents-begin 660 :contents-end 790 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 660 :mode nil :granularity nil :parent #355) (item (:bullet "- " :begin 660 :end 721 :contents-begin 665 :contents-end 721 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 660 :tag nil :mode item :granularity nil :parent #359) (paragraph (:begin 665 :end 721 :contents-begin 665 :contents-end 721 :post-blank 0 :post-affiliated 665 :mode nil :granularity nil :parent #362) (link (:type "custom-id" :path "run-your-own-copy-of-gn2" :format bracket :raw-link "#run-your-own-copy-of-gn2" :application nil :search-option nil :begin 665 :end 720 :contents-begin 694 :contents-end 718 :post-blank 0 :parent #365) #("Run your own copy of GN2" 0 24 (:parent #368))) #("\n" 0 1 (:parent #365)))) (item (:bullet "- " :begin 721 :end 790 :contents-begin 726 :contents-end 790 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 721 :tag nil :mode item :granularity nil :parent #359) (paragraph (:begin 726 :end 790 :contents-begin 726 :contents-end 790 :post-blank 0 :post-affiliated 726 :mode nil :granularity nil :parent #363) (link (:type "custom-id" :path "set-up-nginx-port-forwarding" :format bracket :raw-link "#set-up-nginx-port-forwarding" :application nil :search-option nil :begin 726 :end 789 :contents-begin 759 :contents-end 787 :post-blank 0 :parent #366) #("Set up nginx port forwarding" 0 28 (:parent #369))) #("\n" 0 1 (:parent #366)))))) (item (:bullet "- " :begin 790 :end 1034 :contents-begin 793 :contents-end 1034 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 790 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 793 :end 917 :contents-begin 793 :contents-end 917 :post-blank 0 :post-affiliated 793 :mode nil :granularity nil :parent #356) (link (:type "custom-id" :path "source-deployment-and-other-information-on-reproducibility" :format bracket :raw-link "#source-deployment-and-other-information-on-reproducibility" :application nil :search-option nil :begin 793 :end 916 :contents-begin 856 :contents-end 914 :post-blank 0 :parent #359) #("Source deployment and other information on reproducibility" 0 58 (:parent #362))) #("\n" 0 1 (:parent #359))) (plain-list (:type unordered :begin 917 :end 1034 :contents-begin 917 :contents-end 1034 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 917 :mode nil :granularity nil :parent #356) (item (:bullet "- " :begin 917 :end 972 :contents-begin 922 :contents-end 972 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 917 :tag nil :mode item :granularity nil :parent #360) (paragraph (:begin 922 :end 972 :contents-begin 922 :contents-end 972 :post-blank 0 :post-affiliated 922 :mode nil :granularity nil :parent #363) (link (:type "custom-id" :path "update-to-recent-guix" :format bracket :raw-link "#update-to-recent-guix" :application nil :search-option nil :begin 922 :end 971 :contents-begin 948 :contents-end 969 :post-blank 0 :parent #366) #("Update to recent guix" 0 21 (:parent #369))) #("\n" 0 1 (:parent #366)))) (item (:bullet "- " :begin 972 :end 1007 :contents-begin 977 :contents-end 1007 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 972 :tag nil :mode item :granularity nil :parent #360) (paragraph (:begin 977 :end 1007 :contents-begin 977 :contents-end 1007 :post-blank 0 :post-affiliated 977 :mode nil :granularity nil :parent #364) (link (:type "custom-id" :path "install-gn2" :format bracket :raw-link "#install-gn2" :application nil :search-option nil :begin 977 :end 1006 :contents-begin 993 :contents-end 1004 :post-blank 0 :parent #367) #("Install GN2" 0 11 (:parent #370))) #("\n" 0 1 (:parent #367)))) (item (:bullet "- " :begin 1007 :end 1034 :contents-begin 1012 :contents-end 1034 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1007 :tag nil :mode item :granularity nil :parent #360) (paragraph (:begin 1012 :end 1034 :contents-begin 1012 :contents-end 1034 :post-blank 0 :post-affiliated 1012 :mode nil :granularity nil :parent #365) (link (:type "custom-id" :path "run-gn2" :format bracket :raw-link "#run-gn2" :application nil :search-option nil :begin 1012 :end 1033 :contents-begin 1024 :contents-end 1031 :post-blank 0 :parent #368) #("Run GN2" 0 7 (:parent #371))) #("\n" 0 1 (:parent #368)))))) (item (:bullet "- " :begin 1034 :end 1370 :contents-begin 1037 :contents-end 1370 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1034 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 1037 :end 1077 :contents-begin 1037 :contents-end 1077 :post-blank 0 :post-affiliated 1037 :mode nil :granularity nil :parent #357) (link (:type "custom-id" :path "trouble-shooting" :format bracket :raw-link "#trouble-shooting" :application nil :search-option nil :begin 1037 :end 1076 :contents-begin 1058 :contents-end 1074 :post-blank 0 :parent #360) #("Trouble shooting" 0 16 (:parent #363))) #("\n" 0 1 (:parent #360))) (plain-list (:type unordered :begin 1077 :end 1370 :contents-begin 1077 :contents-end 1370 :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :post-blank 0 :post-affiliated 1077 :mode nil :granularity nil :parent #357) (item (:bullet "- " :begin 1077 :end 1159 :contents-begin 1082 :contents-end 1159 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1077 :tag nil :mode item :granularity nil :parent #361) (paragraph (:begin 1082 :end 1159 :contents-begin 1082 :contents-end 1159 :post-blank 0 :post-affiliated 1082 :mode nil :granularity nil :parent #364) (link (:type "custom-id" :path "importerror-no-module-named-jinja2" :format bracket :raw-link "#importerror-no-module-named-jinja2" :application nil :search-option nil :begin 1082 :end 1158 :contents-begin 1121 :contents-end 1156 :post-blank 0 :parent #367) #("ImportError: No module named jinja2" 0 35 (:parent #370))) #("\n" 0 1 (:parent #367)))) (item (:bullet "- " :begin 1159 :end 1257 :contents-begin 1164 :contents-end 1257 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1159 :tag nil :mode item :granularity nil :parent #361) (paragraph (:begin 1164 :end 1257 :contents-begin 1164 :contents-end 1257 :post-blank 0 :post-affiliated 1164 :mode nil :granularity nil :parent #365) (link (:type "custom-id" :path "error-can-not-find-directory-homegn2_data" :format bracket :raw-link "#error-can-not-find-directory-homegn2_data" :application nil :search-option nil :begin 1164 :end 1256 :contents-begin 1210 :contents-end 1254 :post-blank 0 :parent #368) #("ERROR: can not find directory $HOME/gn2" 0 39 (:parent #371)) (subscript (:begin 1249 :end 1254 :use-brackets-p nil :contents-begin 1250 :contents-end 1254 :post-blank 0 :parent #371) #("data" 0 4 (:parent #375)))) #("\n" 0 1 (:parent #368)))) (item (:bullet "- " :begin 1257 :end 1305 :contents-begin 1262 :contents-end 1305 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1257 :tag nil :mode item :granularity nil :parent #361) (paragraph (:begin 1262 :end 1305 :contents-begin 1262 :contents-end 1305 :post-blank 0 :post-affiliated 1262 :mode nil :granularity nil :parent #366) (link (:type "custom-id" :path "cant-run-a-module" :format bracket :raw-link "#cant-run-a-module" :application nil :search-option nil :begin 1262 :end 1304 :contents-begin 1284 :contents-end 1302 :post-blank 0 :parent #369) #("Can't run a module" 0 18 (:parent #372))) #("\n" 0 1 (:parent #369)))) (item (:bullet "- " :begin 1305 :end 1370 :contents-begin 1310 :contents-end 1370 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1305 :tag nil :mode item :granularity nil :parent #361) (paragraph (:begin 1310 :end 1370 :contents-begin 1310 :contents-end 1370 :post-blank 0 :post-affiliated 1310 :mode nil :granularity nil :parent #367) (link (:type "custom-id" :path "rpy2-error-show-now-found" :format bracket :raw-link "#rpy2-error-show-now-found" :application nil :search-option nil :begin 1310 :end 1369 :contents-begin 1340 :contents-end 1367 :post-blank 0 :parent #370) #("Rpy2 error 'show' now found" 0 27 (:parent #373))) #("\n" 0 1 (:parent #370)))))) (item (:bullet "- " :begin 1370 :end 1403 :contents-begin 1373 :contents-end 1403 :checkbox nil :counter nil :structure ((121 1 "- " nil nil nil 156) (156 1 "- " nil nil nil 521) (217 3 "- " nil nil nil 277) (277 3 "- " nil nil nil 371) (371 3 "- " nil nil nil 455) (455 3 "- " nil nil nil 521) (521 1 "- " nil nil nil 564) (564 1 "- " nil nil nil 615) (615 1 "- " nil nil nil 790) (660 3 "- " nil nil nil 721) (721 3 "- " nil nil nil 790) (790 1 "- " nil nil nil 1034) (917 3 "- " nil nil nil 972) (972 3 "- " nil nil nil 1007) (1007 3 "- " nil nil nil 1034) (1034 1 "- " nil nil nil 1370) (1077 3 "- " nil nil nil 1159) (1159 3 "- " nil nil nil 1257) (1257 3 "- " nil nil nil 1305) (1305 3 "- " nil nil nil 1370) (1370 1 "- " nil nil nil 1403)) :pre-blank 0 :post-blank 0 :post-affiliated 1370 :tag nil :mode item :granularity nil :parent #348) (paragraph (:begin 1373 :end 1403 :contents-begin 1373 :contents-end 1403 :post-blank 0 :post-affiliated 1373 :mode nil :granularity nil :parent #358) (link (:type "custom-id" :path "irc-session" :format bracket :raw-link "#irc-session" :application nil :search-option nil :begin 1373 :end 1402 :contents-begin 1389 :contents-end 1400 :post-blank 0 :parent #361) #("IRC session" 0 11 (:parent #364))) #("\n" 0 1 (:parent #361))))))) (headline (:raw-value "Introduction" :begin 1404 :end 2450 :pre-blank 1 :contents-begin 1420 :contents-end 2449 :robust-begin 1422 :robust-end 2447 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 1404 :title (#("Introduction" 0 12 (:parent #343))) :mode nil :granularity nil :parent #338) (section (:begin 1420 :end 2450 :contents-begin 1420 :contents-end 2449 :robust-begin 1420 :robust-end 2447 :post-blank 1 :post-affiliated 1420 :mode section :granularity nil :parent #343) (paragraph (:begin 1420 :end 1557 :contents-begin 1420 :contents-end 1556 :post-blank 1 :post-affiliated 1420 :mode planning :granularity nil :parent #346) #("If you want to understand the architecture of GN2 read\n" 0 55 (:parent #349)) (link (:type "fuzzy" :path "Architecture.org" :format bracket :raw-link "Architecture.org" :application nil :search-option nil :begin 1475 :end 1495 :contents-begin nil :contents-end nil :post-blank 0 :parent #349)) #(". The rest of this document is mostly on deployment\nof GN2.\n" 0 61 (:parent #349))) (paragraph (:begin 1557 :end 1943 :contents-begin 1557 :contents-end 1942 :post-blank 1 :post-affiliated 1557 :mode nil :granularity nil :parent #346) #("Large system deployments can get very " 0 38 (:parent #350)) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg " :format bracket :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg " :application nil :search-option nil :begin 1595 :end 1656 :contents-begin 1647 :contents-end 1654 :post-blank 0 :parent #350) #("complex" 0 7 (:parent #354))) #(". In this document we\nexplain the GeneNetwork version 2 (GN2) reproducible deployment system\nwhich is based on GNU Guix (see also " 0 130 (:parent #350)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/README.md" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/README.md" :application nil :search-option nil :begin 1786 :end 1860 :contents-begin 1848 :contents-end 1858 :post-blank 0 :parent #350) #("Guix-notes" 0 10 (:parent #356))) #("). The Guix\nsystem can be used to install GN with all its files and dependencies.\n" 0 82 (:parent #350))) (paragraph (:begin 1943 :end 2328 :contents-begin 1943 :contents-end 2327 :post-blank 1 :post-affiliated 1943 :mode nil :granularity nil :parent #346) #("The official installation path is from a checked out version of the\nmain Guix package tree and that of the Genenetwork package\ntree. Current supported versions can be found as the SHA values of\n'gn-latest' branches of " 0 218 (:parent #351)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix-bioinformatics/tree/gn-latest" :application nil :search-option nil :begin 2161 :end 2252 :contents-begin 2230 :contents-end 2249 :post-blank 1 :parent #351) #("Guix bioinformatics" 0 19 (:parent #355))) #("and " 0 4 (:parent #351)) (link (:type "https" :path "//github.com/genenetwork/guix/tree/gn-latest" :format bracket :raw-link "https://github.com/genenetwork/guix/tree/gn-latest" :application nil :search-option nil :begin 2256 :end 2325 :contents-begin 2310 :contents-end 2323 :post-blank 0 :parent #351) #("GNU Guix main" 0 13 (:parent #357))) #(".\n" 0 2 (:parent #351))) (paragraph (:begin 2328 :end 2449 :contents-begin 2328 :contents-end 2449 :post-blank 0 :post-affiliated 2328 :mode nil :granularity nil :parent #346) #("For a full view of runtime dependencies as defined by GNU Guix, see\nthe " 0 72 (:parent #352)) (link (:type "custom-id" :path "gn2-dependency-graph" :format bracket :raw-link "#gn2-dependency-graph" :application nil :search-option nil :begin 2400 :end 2447 :contents-begin 2425 :contents-end 2445 :post-blank 0 :parent #352) #("GN2 Dependency Graph" 0 20 (:parent #356))) #(".\n" 0 2 (:parent #352))))) (headline (:raw-value "Quick installation recipe" :begin 2450 :end 7633 :pre-blank 1 :contents-begin 2479 :contents-end 7632 :robust-begin 2481 :robust-end 7630 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 2450 :title (#("Quick installation recipe" 0 25 (:parent #344))) :mode nil :granularity nil :parent #338) (section (:begin 2479 :end 3022 :contents-begin 2479 :contents-end 3021 :robust-begin 2479 :robust-end 3019 :post-blank 1 :post-affiliated 2479 :mode section :granularity nil :parent #344) (paragraph (:begin 2479 :end 2880 :contents-begin 2479 :contents-end 2879 :post-blank 1 :post-affiliated 2479 :mode planning :granularity nil :parent #347) #("This is a recipe for quick and dirty installation of GN2. For\nconvenience everything is installed as root, though in reality only\nGNU Guix has to be installed as root. I tested this recipe on a fresh\ninstall of Debian 8.3.0 (in KVM) though it should work on any modern\nLinux distribution (including CentOS). For more elaborate installation\ninstructions see " 0 357 (:parent #350)) (link (:type "custom-id" :path "source-deployment" :format bracket :raw-link "#source-deployment" :application nil :search-option nil :begin 2836 :end 2877 :contents-begin 2858 :contents-end 2875 :post-blank 0 :parent #350) #("Source deployment" 0 17 (:parent #354))) #(".\n" 0 2 (:parent #350))) (paragraph (:begin 2880 :end 3021 :contents-begin 2880 :contents-end 3021 :post-blank 0 :post-affiliated 2880 :mode nil :granularity nil :parent #347) #("Note that GN2 consists of an approx. 5 GB installation including\ndatabase. If you use a virtual machine we recommend to use at least\ndouble.\n" 0 141 (:parent #351)))) (headline (:raw-value "Step 1: Install GNU Guix" :begin 3022 :end 4649 :pre-blank 1 :contents-begin 3051 :contents-end 4648 :robust-begin 3053 :robust-end 4646 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 3022 :title (#("Step 1: Install GNU Guix" 0 24 (:parent #348))) :mode nil :granularity nil :parent #344) (section (:begin 3051 :end 4649 :contents-begin 3051 :contents-end 4648 :robust-begin 3051 :robust-end 4646 :post-blank 1 :post-affiliated 3051 :mode section :granularity nil :parent #348) (paragraph (:begin 3051 :end 3504 :contents-begin 3051 :contents-end 3503 :post-blank 1 :post-affiliated 3051 :mode planning :granularity nil :parent #351) #("Fetch the GNU Guix binary from " 0 31 (:parent #354)) (link (:type "https" :path "//www.gnu.org/software/guix/download/" :format bracket :raw-link "https://www.gnu.org/software/guix/download/" :application nil :search-option nil :begin 3082 :end 3136 :contents-begin 3129 :contents-end 3133 :post-blank 1 :parent #354) #("here" 0 4 (:parent #358))) #("(middle panel) and follow\n" 0 26 (:parent #354)) (link (:type "https" :path "//www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :format bracket :raw-link "https://www.gnu.org/software/guix/manual/html_node/Binary-Installation.html" :application nil :search-option nil :begin 3162 :end 3255 :contents-begin 3241 :contents-end 3253 :post-blank 0 :parent #354) #("instructions" 0 12 (:parent #360))) #(". Essentially, download and unpack the tar ball (which\ncreates directories in /gnu and /var/guix), add build users and group\n(Guix builds software as unpriviliged users) and run the Guix daemon\nafter fixing the paths (also known as the 'profile').\n" 0 248 (:parent #354))) (paragraph (:begin 3504 :end 3782 :contents-begin 3504 :contents-end 3781 :post-blank 1 :post-affiliated 3504 :mode nil :granularity nil :parent #351) #("Once you have succeeded, you have to " 0 37 (:parent #355)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-the-key" :application nil :search-option nil :begin 3541 :end 3631 :contents-begin 3617 :contents-end 3628 :post-blank 1 :parent #355) #("set the key" 0 11 (:parent #359))) #("(getting permission\nto download binaries from the GNU server) and you should be able to\ninstall the hello package using binary packages (no building)\n" 0 150 (:parent #355))) (src-block (:language "bash" :switches nil :parameters nil :begin 3782 :end 3890 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "export PATH=~/.guix-profile/bin:$PATH\nguix pull\nguix package -i hello --dry-run\n" :post-blank 1 :post-affiliated 3782 :mode nil :granularity nil :parent #351)) (paragraph (:begin 3890 :end 3924 :contents-begin 3890 :contents-end 3923 :post-blank 1 :post-affiliated 3890 :mode nil :granularity nil :parent #351) #("Which should show something like\n" 0 33 (:parent #357))) (fixed-width (:begin 3924 :end 4034 :value "The following files would be downloaded:\n /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10\n ..." :post-blank 1 :post-affiliated 3924 :mode nil :granularity nil :parent #351)) (paragraph (:begin 4034 :end 4045 :contents-begin 4034 :contents-end 4044 :post-blank 1 :post-affiliated 4034 :mode nil :granularity nil :parent #351) #("#+end" 0 5 (:parent #359)) (subscript (:begin 4039 :end 4043 :use-brackets-p nil :contents-begin 4040 :contents-end 4043 :post-blank 0 :parent #359) #("src" 0 3 (:parent #363))) #("\n" 0 1 (:parent #359))) (paragraph (:begin 4045 :end 4116 :contents-begin 4045 :contents-end 4115 :post-blank 1 :post-affiliated 4045 :mode nil :granularity nil :parent #351) #("means binary installs. The actual installation command of 'hello' is\n" 0 70 (:parent #360))) (src-block (:language "bash" :switches nil :parameters nil :begin 4116 :end 4188 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i hello\nhello\n Hello, world!\n" :post-blank 1 :post-affiliated 4116 :mode nil :granularity nil :parent #351)) (paragraph (:begin 4188 :end 4375 :contents-begin 4188 :contents-end 4374 :post-blank 1 :post-affiliated 4188 :mode nil :granularity nil :parent #351) #("If you actually see things building it means that Guix is not yet\nproperly installed and up-to-date, i.e., the key is missing or you\nneed to do a 'guix pull'. Press Ctrl-C to interrupt.\n" 0 186 (:parent #362))) (paragraph (:begin 4375 :end 4648 :contents-begin 4375 :contents-end 4648 :post-blank 0 :post-affiliated 4375 :mode nil :granularity nil :parent #351) #("If you need more help we have another writeup in " 0 49 (:parent #363)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#binary-installation" :application nil :search-option nil :begin 4424 :end 4520 :contents-begin 4508 :contents-end 4518 :post-blank 0 :parent #363) #("guix-notes" 0 10 (:parent #367))) #(". To get\nrid of the locale warning see " 0 39 (:parent #363)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#set-locale" :application nil :search-option nil :begin 4559 :end 4646 :contents-begin 4634 :contents-end 4644 :post-blank 0 :parent #363) #("set-locale" 0 10 (:parent #369))) #(".\n" 0 2 (:parent #363))))) (headline (:raw-value "Step 2: Checkout the GN2 git repositories" :begin 4649 :end 5304 :pre-blank 1 :contents-begin 4695 :contents-end 5302 :robust-begin 4697 :robust-end 5300 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 2 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 4649 :title (#("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #349))) :mode nil :granularity nil :parent #344) (section (:begin 4695 :end 5304 :contents-begin 4695 :contents-end 5302 :robust-begin 4695 :robust-end 5300 :post-blank 2 :post-affiliated 4695 :mode section :granularity nil :parent #349) (paragraph (:begin 4695 :end 4815 :contents-begin 4695 :contents-end 4814 :post-blank 1 :post-affiliated 4695 :mode planning :granularity nil :parent #352) #("To fixate the software dependency graph GN2 uses git repositories of\nGuix packages. First install git if it is missing\n" 0 119 (:parent #355))) (src-block (:language "bash" :switches nil :parameters nil :begin 4815 :end 4920 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package -i git\nexport GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt\n" :post-blank 1 :post-affiliated 4815 :mode nil :granularity nil :parent #352)) (paragraph (:begin 4920 :end 4971 :contents-begin 4920 :contents-end 4970 :post-blank 1 :post-affiliated 4920 :mode nil :granularity nil :parent #352) #("check out the git repositories (gn-deploy branch)\n" 0 50 (:parent #357))) (paragraph (:begin 4971 :end 5232 :contents-begin 4971 :contents-end 5231 :post-blank 1 :post-affiliated 4971 :mode nil :granularity nil :parent #352) #("#+begin" 0 7 (:parent #358)) (subscript (:begin 4978 :end 4983 :use-brackets-p nil :contents-begin 4979 :contents-end 4982 :post-blank 1 :parent #358) #("src" 0 3 (:parent #362))) #("bash\ncd ~\nmkdir genenetwork\ncd genenetwork\ngit clone --branch gn-deploy " 0 72 (:parent #358)) (link (:type "https" :path "//github.com/genenetwork/guix-bioinformatics" :format plain :raw-link "https://github.com/genenetwork/guix-bioinformatics" :application nil :search-option nil :begin 5055 :end 5105 :contents-begin nil :contents-end nil :post-blank 0 :parent #358)) #("\ngit clone --branch gn-deploy --recursive " 0 42 (:parent #358)) (link (:type "https" :path "//github.com/genenetwork/guix" :format plain :raw-link "https://github.com/genenetwork/guix" :application nil :search-option nil :begin 5147 :end 5183 :contents-begin nil :contents-end nil :post-blank 1 :parent #358)) #("guix-gn-deploy\ncd guix-gn-deploy\n#+end" 0 38 (:parent #358)) (subscript (:begin 5221 :end 5226 :use-brackets-p nil :contents-begin 5222 :contents-end 5225 :post-blank 1 :parent #358) #("src" 0 3 (:parent #368))) #("bash\n" 0 5 (:parent #358))) (paragraph (:begin 5232 :end 5270 :contents-begin 5232 :contents-end 5269 :post-blank 1 :post-affiliated 5232 :mode nil :granularity nil :parent #352) #("To test whether this is working try:\n" 0 37 (:parent #359))) (paragraph (:begin 5270 :end 5302 :contents-begin 5270 :contents-end 5302 :post-blank 0 :post-affiliated 5270 :mode nil :granularity nil :parent #352) #("#+begin" 0 7 (:parent #360)) (subscript (:begin 5277 :end 5282 :use-brackets-p nil :contents-begin 5278 :contents-end 5281 :post-blank 1 :parent #360) #("src" 0 3 (:parent #364))) #("bash\n#+end" 0 10 (:parent #360)) (subscript (:begin 5292 :end 5297 :use-brackets-p nil :contents-begin 5293 :contents-end 5296 :post-blank 1 :parent #360) #("src" 0 3 (:parent #366))) #("bash\n" 0 5 (:parent #360))))) (headline (:raw-value "Step 3: Authorize the GN Guix server" :begin 5304 :end 5755 :pre-blank 1 :contents-begin 5345 :contents-end 5754 :robust-begin 5347 :robust-end 5752 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5304 :title (#("Step 3: Authorize the GN Guix server" 0 36 (:parent #350))) :mode nil :granularity nil :parent #344) (section (:begin 5345 :end 5755 :contents-begin 5345 :contents-end 5754 :robust-begin 5345 :robust-end 5752 :post-blank 1 :post-affiliated 5345 :mode section :granularity nil :parent #350) (paragraph (:begin 5345 :end 5445 :contents-begin 5345 :contents-end 5444 :post-blank 1 :post-affiliated 5345 :mode planning :granularity nil :parent #353) #("GN2 has its own GNU Guix binary distribution server. To trust it you have\nto add the following key\n" 0 99 (:parent #356))) (src-block (:language "scheme" :switches nil :parameters nil :begin 5445 :end 5589 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "(public-key\n (ecc\n (curve Ed25519)\n (q #11217788B41ADC8D5B8E71BD87EF699C65312EC387752899FE9C888856F5C769#)\n )\n)\n" :post-blank 1 :post-affiliated 5445 :mode nil :granularity nil :parent #353)) (paragraph (:begin 5589 :end 5621 :contents-begin 5589 :contents-end 5620 :post-blank 1 :post-affiliated 5589 :mode nil :granularity nil :parent #353) #("by pasting it into the command\n" 0 31 (:parent #358))) (src-block (:language "bash" :switches nil :parameters nil :begin 5621 :end 5674 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix archive --authorize\n" :post-blank 1 :post-affiliated 5621 :mode nil :granularity nil :parent #353)) (paragraph (:begin 5674 :end 5691 :contents-begin 5674 :contents-end 5690 :post-blank 1 :post-affiliated 5674 :mode nil :granularity nil :parent #353) #("and hit Ctrl-D.\n" 0 16 (:parent #360))) (paragraph (:begin 5691 :end 5754 :contents-begin 5691 :contents-end 5754 :post-blank 0 :post-affiliated 5691 :mode nil :granularity nil :parent #353) #("Now you can use the substitute server to install GN2 binaries.\n" 0 63 (:parent #361))))) (headline (:raw-value "Step 4: Install and run GN2" :begin 5755 :end 7633 :pre-blank 1 :contents-begin 5787 :contents-end 7632 :robust-begin 5789 :robust-end 7630 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 5755 :title (#("Step 4: Install and run GN2" 0 27 (:parent #351))) :mode nil :granularity nil :parent #344) (section (:begin 5787 :end 7633 :contents-begin 5787 :contents-end 7632 :robust-begin 5787 :robust-end 7630 :post-blank 1 :post-affiliated 5787 :mode section :granularity nil :parent #351) (paragraph (:begin 5787 :end 5927 :contents-begin 5787 :contents-end 5926 :post-blank 1 :post-affiliated 5787 :mode planning :granularity nil :parent #354) #("Since this is a quick and dirty install we are going to override the\nGNU Guix package path by pointing the package path to our repository:\n" 0 139 (:parent #357))) (src-block (:language "bash" :switches nil :parameters nil :begin 5927 :end 6046 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "rm /root/.config/guix/latest\nln -s ~/genenetwork/guix-gn-deploy/ /root/.config/guix/latest\n" :post-blank 1 :post-affiliated 5927 :mode nil :granularity nil :parent #354)) (paragraph (:begin 6046 :end 6099 :contents-begin 6046 :contents-end 6098 :post-blank 1 :post-affiliated 6046 :mode nil :granularity nil :parent #354) #("Now check whether you can find the GN2 package with\n" 0 52 (:parent #359))) (src-block (:language "bash" :switches nil :parameters nil :begin 6099 :end 6289 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ guix package -A genenetwork2\n genenetwork2 2.0-a8fcff4 out gn/packages/genenetwork.scm:144:2\n" :post-blank 1 :post-affiliated 6099 :mode nil :granularity nil :parent #354)) (paragraph (:begin 6289 :end 6398 :contents-begin 6289 :contents-end 6397 :post-blank 1 :post-affiliated 6289 :mode nil :granularity nil :parent #354) #("(ignore the source file newer then ... messages, this is caused by the\n" 0 71 (:parent #361)) (italic (:begin 6360 :end 6366 :post-blank 0 :contents-begin 6361 :contents-end 6365 :parent #361) #("root" 0 4 (:parent #365))) #(".config/guix/latest override).\n" 0 31 (:parent #361))) (paragraph (:begin 6398 :end 6416 :contents-begin 6398 :contents-end 6415 :post-blank 1 :post-affiliated 6398 :mode nil :granularity nil :parent #354) #("And install with\n" 0 17 (:parent #362))) (src-block (:language "bash" :switches nil :parameters nil :begin 6416 :end 6586 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "env GUIX_PACKAGE_PATH=~/genenetwork/guix-bioinformatics/ \\\n guix package -i genenetwork2 \\\n --substitute-urls=\"http://guix.genenetwork.org\"\n" :post-blank 1 :post-affiliated 6416 :mode nil :granularity nil :parent #354)) (paragraph (:begin 6586 :end 6729 :contents-begin 6586 :contents-end 6728 :post-blank 1 :post-affiliated 6586 :mode nil :granularity nil :parent #354) #("Note: the order of the substitute url's may make a difference in speed\n(put the one first that is fastest for your location and time of day).\n" 0 142 (:parent #364))) (paragraph (:begin 6729 :end 6925 :contents-begin 6729 :contents-end 6924 :post-blank 1 :post-affiliated 6729 :mode nil :granularity nil :parent #354) #("Note: if your system starts building or gives an error it may well be\nStep 3 did not succeed. The installation should actually be smooth at\nthis point and only do binary installs (no compiling).\n" 0 195 (:parent #365))) (paragraph (:begin 6925 :end 7056 :contents-begin 6925 :contents-end 7055 :post-blank 1 :post-affiliated 6925 :mode nil :granularity nil :parent #354) #("After installation you should be able to run genenetwork2 after updating\nthe Guix suggested environment vars. Check the output of\n" 0 130 (:parent #366))) (src-block (:language "bash" :switches nil :parameters nil :begin 7056 :end 7235 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "guix package --search-paths\nexport PYTHONPATH=\"/root/.guix-profile/lib/python2.7/site-packages\"\nexport R_LIBS_SITE=\"/root/.guix-profile/site-library/\"\n" :post-blank 1 :post-affiliated 7056 :mode nil :granularity nil :parent #354)) (paragraph (:begin 7235 :end 7304 :contents-begin 7235 :contents-end 7303 :post-blank 1 :post-affiliated 7235 :mode nil :granularity nil :parent #354) #("and copy-paste the listed exports into the terminal before running:\n" 0 68 (:parent #368))) (src-block (:language "bash" :switches nil :parameters nil :begin 7304 :end 7345 :number-lines nil :preserve-indent nil :retain-labels t :use-labels t :label-fmt nil :value "genenetwork2\n" :post-blank 1 :post-affiliated 7304 :mode nil :granularity nil :parent #354)) (paragraph (:begin 7345 :end 7596 :contents-begin 7345 :contents-end 7595 :post-blank 1 :post-affiliated 7345 :mode nil :granularity nil :parent #354) #("It will complain that the database is missing. See the next section on\nrunning MySQL server for downloading and installing a MySQL GN2\ndatabase. After installing the database restart genenetwork2 and point\nyour browser at " 0 222 (:parent #370)) (link (:type "http" :path "//localhost:5003/" :format bracket :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 7567 :end 7593 :contents-begin nil :contents-end nil :post-blank 0 :parent #370)) #(".\n" 0 2 (:parent #370))) (paragraph (:begin 7596 :end 7632 :contents-begin 7596 :contents-end 7632 :post-blank 0 :post-affiliated 7596 :mode nil :granularity nil :parent #354) #("End of the GN2 installation recipe!\n" 0 36 (:parent #371)))))) (headline (:raw-value "Run MySQL server" :begin 7633 :end 9008 :pre-blank 1 :contents-begin 7653 :contents-end 9007 :robust-begin 7655 :robust-end 9005 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 7633 :title (#("Run MySQL server" 0 16 (:parent #345))) :mode nil :granularity nil :parent #338) (section (:begin 7653 :end 9008 :contents-begin 7653 :contents-end 9007 :robust-begin 7653 :robust-end 9005 :post-blank 1 :post-affiliated 7653 :mode section :granularity nil :parent #345) (paragraph (:begin 7653 :end 7928 :contents-begin 7653 :contents-end 7927 :post-blank 1 :post-affiliated 7653 :mode planning :granularity nil :parent #348) #("At this point we require the underlying distribution to install and\nrun mysqld. Currently we have two databases for deployment,\n'db" 0 131 (:parent #351)) (subscript (:begin 7784 :end 7791 :use-brackets-p nil :contents-begin 7785 :contents-end 7791 :post-blank 0 :parent #351) #("webqtl" 0 6 (:parent #355))) (subscript (:begin 7791 :end 7793 :use-brackets-p nil :contents-begin 7792 :contents-end 7793 :post-blank 0 :parent #351) #("s" 0 1 (:parent #356))) #("' is the small testing database containing experiments\nfrom BXD mice and 'db" 0 76 (:parent #351)) (subscript (:begin 7869 :end 7876 :use-brackets-p nil :contents-begin 7870 :contents-end 7876 :post-blank 0 :parent #351) #("webqtl" 0 6 (:parent #358))) (subscript (:begin 7876 :end 7882 :use-brackets-p nil :contents-begin 7877 :contents-end 7882 :post-blank 0 :parent #351) #("plant" 0 5 (:parent #359))) #("' which contains all plant related\nmaterial.\n" 0 45 (:parent #351))) (paragraph (:begin 7928 :end 7956 :contents-begin 7928 :contents-end 7955 :post-blank 1 :post-affiliated 7928 :mode nil :granularity nil :parent #348) #("Download one database from\n" 0 27 (:parent #352))) (paragraph (:begin 7956 :end 8054 :contents-begin 7956 :contents-end 8053 :post-blank 1 :post-affiliated 7956 :mode nil :granularity nil :parent #348) (link (:type "http" :path "//files.genenetwork.org/raw_database/" :format plain :raw-link "http://files.genenetwork.org/raw_database/" :application nil :search-option nil :begin 7956 :end 7998 :contents-begin nil :contents-end nil :post-blank 0 :parent #353)) #("\n" 0 1 (:parent #353)) (link (:type "https" :path "//s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :format plain :raw-link "https://s3.amazonaws.com/genenetwork2/db_webqtl_s.zip" :application nil :search-option nil :begin 7999 :end 8052 :contents-begin nil :contents-end nil :post-blank 0 :parent #353)) #("\n" 0 1 (:parent #353))) (paragraph (:begin 8054 :end 8073 :contents-begin 8054 :contents-end 8072 :post-blank 1 :post-affiliated 8054 :mode nil :granularity nil :parent #348) #("Check the md5sum.\n" 0 18 (:parent #354))) (paragraph (:begin 8073 :end 8195 :contents-begin 8073 :contents-end 8194 :post-blank 1 :post-affiliated 8073 :mode nil :granularity nil :parent #348) #("After installation inflate the database binary in the MySQL directory\n(this installation path is subject to change soon)\n" 0 121 (:parent #355))) (fixed-width (:begin 8195 :end 8283 :value "chown -R mysql:mysql db_webqtl_s/\nchmod 700 db_webqtl_s/\nchmod 660 db_webqtl_s/*" :post-blank 2 :post-affiliated 8195 :mode nil :granularity nil :parent #348)) (paragraph (:begin 8283 :end 8334 :contents-begin 8283 :contents-end 8333 :post-blank 1 :post-affiliated 8283 :mode nil :granularity nil :parent #348) #("restart MySQL service (mysqld). Login as root and\n" 0 50 (:parent #357))) (fixed-width (:begin 8334 :end 8560 :value "mysql> show databases;\n+--------------------+\n| Database |\n+--------------------+\n| information_schema |\n| db_webqtl_s |\n| mysql |\n| performance_schema |\n+--------------------+" :post-blank 2 :post-affiliated 8334 :mode nil :granularity nil :parent #348)) (paragraph (:begin 8560 :end 8625 :contents-begin 8560 :contents-end 8624 :post-blank 1 :post-affiliated 8560 :mode nil :granularity nil :parent #348) #("Set permissions and match password in your settings file below:\n" 0 64 (:parent #359))) (fixed-width (:begin 8625 :end 8724 :value "mysql> grant all privileges on db_webqtl_s.* to gn2@\"localhost\" identified by 'mysql_password';" :post-blank 2 :post-affiliated 8625 :mode nil :granularity nil :parent #348)) (paragraph (:begin 8724 :end 8875 :contents-begin 8724 :contents-end 8874 :post-blank 1 :post-affiliated 8724 :mode nil :granularity nil :parent #348) #("Note that if the mysql connection is not working, try connecting to\nthe IP address and check server firewall, hosts.allow and mysql IP\nconfiguration.\n" 0 150 (:parent #361))) (paragraph (:begin 8875 :end 9007 :contents-begin 8875 :contents-end 9007 :post-blank 0 :post-affiliated 8875 :mode nil :granularity nil :parent #348) #("Note for the plant database you can rename it to db" 0 51 (:parent #362)) (subscript (:begin 8926 :end 8933 :use-brackets-p nil :contents-begin 8927 :contents-end 8933 :post-blank 0 :parent #362) #("webqtl" 0 6 (:parent #366))) (subscript (:begin 8933 :end 8935 :use-brackets-p nil :contents-begin 8934 :contents-end 8935 :post-blank 0 :parent #362) #("s" 0 1 (:parent #367))) #(", or\nchange the settings in etc/default" 0 39 (:parent #362)) (subscript (:begin 8974 :end 8987 :use-brackets-p nil :contents-begin 8975 :contents-end 8986 :post-blank 1 :parent #362) #("settings.py" 0 11 (:parent #369))) #("to match your path.\n" 0 20 (:parent #362))))) (headline (:raw-value "GN2 Dependency Graph" :begin 9008 :end 9172 :pre-blank 1 :contents-begin 9032 :contents-end 9171 :robust-begin 9034 :robust-end 9169 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9008 :title (#("GN2 Dependency Graph" 0 20 (:parent #346))) :mode nil :granularity nil :parent #338) (section (:begin 9032 :end 9172 :contents-begin 9032 :contents-end 9171 :robust-begin 9032 :robust-end 9169 :post-blank 1 :post-affiliated 9032 :mode section :granularity nil :parent #346) (paragraph (:begin 9032 :end 9093 :contents-begin 9032 :contents-end 9092 :post-blank 1 :post-affiliated 9032 :mode planning :granularity nil :parent #349) #("Graph of all runtime dependencies as installed by GNU Guix.\n" 0 60 (:parent #352))) (paragraph (:begin 9093 :end 9171 :contents-begin 9123 :contents-end 9171 :post-blank 0 :post-affiliated 9123 :attr_html (":title GN2_graph") :mode nil :granularity nil :parent #349) (link (:type "http" :path "//biogems.info/contrib/genenetwork/gn2.svg" :format plain :raw-link "http://biogems.info/contrib/genenetwork/gn2.svg" :application nil :search-option nil :begin 9123 :end 9170 :contents-begin nil :contents-end nil :post-blank 0 :parent #353)) #("\n" 0 1 (:parent #353))))) (headline (:raw-value "Source deployment" :begin 9172 :end 12840 :pre-blank 1 :contents-begin 9193 :contents-end 12839 :robust-begin 9195 :robust-end 12837 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9172 :title (#("Source deployment" 0 17 (:parent #347))) :mode nil :granularity nil :parent #338) (section (:begin 9193 :end 9612 :contents-begin 9193 :contents-end 9610 :robust-begin 9193 :robust-end 9608 :post-blank 2 :post-affiliated 9193 :mode section :granularity nil :parent #347) (paragraph (:begin 9193 :end 9274 :contents-begin 9193 :contents-end 9273 :post-blank 1 :post-affiliated 9193 :mode planning :granularity nil :parent #350) #("This section gives a more elaborate instruction for installing GN2\nfrom source.\n" 0 80 (:parent #353))) (paragraph (:begin 9274 :end 9304 :contents-begin 9274 :contents-end 9303 :post-blank 1 :post-affiliated 9274 :mode nil :granularity nil :parent #350) #("First execute above 4 steps:\n" 0 29 (:parent #354))) (plain-list (:type unordered :begin 9304 :end 9610 :contents-begin 9304 :contents-end 9610 :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :post-blank 0 :post-affiliated 9304 :mode nil :granularity nil :parent #350) (item (:bullet "- " :begin 9304 :end 9364 :contents-begin 9309 :contents-end 9364 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9304 :tag nil :mode item :granularity nil :parent #355) (paragraph (:begin 9309 :end 9364 :contents-begin 9309 :contents-end 9364 :post-blank 0 :post-affiliated 9309 :mode nil :granularity nil :parent #358) (link (:type "custom-id" :path "step-1-install-gnu-guix" :format bracket :raw-link "#step-1-install-gnu-guix" :application nil :search-option nil :begin 9309 :end 9363 :contents-begin 9337 :contents-end 9361 :post-blank 0 :parent #361) #("Step 1: Install GNU Guix" 0 24 (:parent #364))) #("\n" 0 1 (:parent #361)))) (item (:bullet "- " :begin 9364 :end 9458 :contents-begin 9369 :contents-end 9458 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9364 :tag nil :mode item :granularity nil :parent #355) (paragraph (:begin 9369 :end 9458 :contents-begin 9369 :contents-end 9458 :post-blank 0 :post-affiliated 9369 :mode nil :granularity nil :parent #359) (link (:type "custom-id" :path "step-2-checkout-the-gn2-git-repositories" :format bracket :raw-link "#step-2-checkout-the-gn2-git-repositories" :application nil :search-option nil :begin 9369 :end 9457 :contents-begin 9414 :contents-end 9455 :post-blank 0 :parent #362) #("Step 2: Checkout the GN2 git repositories" 0 41 (:parent #365))) #("\n" 0 1 (:parent #362)))) (item (:bullet "- " :begin 9458 :end 9542 :contents-begin 9463 :contents-end 9542 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9458 :tag nil :mode item :granularity nil :parent #355) (paragraph (:begin 9463 :end 9542 :contents-begin 9463 :contents-end 9542 :post-blank 0 :post-affiliated 9463 :mode nil :granularity nil :parent #360) (link (:type "custom-id" :path "step-3-authorize-the-gn-guix-server" :format bracket :raw-link "#step-3-authorize-the-gn-guix-server" :application nil :search-option nil :begin 9463 :end 9541 :contents-begin 9503 :contents-end 9539 :post-blank 0 :parent #363) #("Step 3: Authorize the GN Guix server" 0 36 (:parent #366))) #("\n" 0 1 (:parent #363)))) (item (:bullet "- " :begin 9542 :end 9610 :contents-begin 9547 :contents-end 9610 :checkbox nil :counter nil :structure ((9304 3 "- " nil nil nil 9364) (9364 3 "- " nil nil nil 9458) (9458 3 "- " nil nil nil 9542) (9542 3 "- " nil nil nil 9610)) :pre-blank 0 :post-blank 0 :post-affiliated 9542 :tag nil :mode item :granularity nil :parent #355) (paragraph (:begin 9547 :end 9610 :contents-begin 9547 :contents-end 9610 :post-blank 0 :post-affiliated 9547 :mode nil :granularity nil :parent #361) (link (:type "custom-id" :path "step-4-install-and-run-gn2-" :format bracket :raw-link "#step-4-install-and-run-gn2-" :application nil :search-option nil :begin 9547 :end 9609 :contents-begin 9579 :contents-end 9607 :post-blank 0 :parent #364) #("Step 4: Install and run GN2 " 0 28 (:parent #367))) #("\n" 0 1 (:parent #364)))))) (headline (:raw-value "Run your own copy of GN2" :begin 9612 :end 10722 :pre-blank 1 :contents-begin 9641 :contents-end 10721 :robust-begin 9643 :robust-end 10719 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 9612 :title (#("Run your own copy of GN2" 0 24 (:parent #351))) :mode nil :granularity nil :parent #347) (section (:begin 9641 :end 10722 :contents-begin 9641 :contents-end 10721 :robust-begin 9641 :robust-end 10719 :post-blank 1 :post-affiliated 9641 :mode section :granularity nil :parent #351) (paragraph (:begin 9641 :end 9839 :contents-begin 9641 :contents-end 9838 :post-blank 1 :post-affiliated 9641 :mode planning :granularity nil :parent #354) #("At some point you may want to fix the source code. Assuming you have\nGuix and Genenetwork2 installed (as described above) clone the GN2\nrepository from " 0 152 (:parent #357)) (link (:type "https" :path "//github.com/genenetwork/genenetwork2" :format plain :raw-link "https://github.com/genenetwork/genenetwork2" :application nil :search-option nil :begin 9793 :end 9836 :contents-begin nil :contents-end nil :post-blank 0 :parent #357)) #(".\n" 0 2 (:parent #357))) (paragraph (:begin 9839 :end 9964 :contents-begin 9839 :contents-end 9963 :post-blank 1 :post-affiliated 9839 :mode nil :granularity nil :parent #354) #("Copy-paste the paths into your terminal (mainly so PYTHON" 0 57 (:parent #358)) (subscript (:begin 9896 :end 9902 :use-brackets-p nil :contents-begin 9897 :contents-end 9901 :post-blank 1 :parent #358) #("PATH" 0 4 (:parent #362))) #("and\nR" 0 5 (:parent #358)) (subscript (:begin 9907 :end 9912 :use-brackets-p nil :contents-begin 9908 :contents-end 9912 :post-blank 0 :parent #358) #("LIBS" 0 4 (:parent #364))) (subscript (:begin 9912 :end 9918 :use-brackets-p nil :contents-begin 9913 :contents-end 9917 :post-blank 1 :parent #358) #("SITE" 0 4 (:parent #365))) #("are set) from the information given by guix:\n" 0 45 (:parent #358))) (fixed-width (:begin 9964 :end 9995 :value "guix package --search-paths" :post-blank 2 :post-affiliated 9964 :mode nil :granularity nil :parent #354)) (paragraph (:begin 9995 :end 10019 :contents-begin 9995 :contents-end 10018 :post-blank 1 :post-affiliated 9995 :mode nil :granularity nil :parent #354) #("Inside the repository:\n" 0 23 (:parent #360))) (fixed-width (:begin 10019 :end 10059 :value "cd genenetwork2\n./bin/genenetwork2" :post-blank 2 :post-affiliated 10019 :mode nil :granularity nil :parent #354)) (paragraph (:begin 10059 :end 10303 :contents-begin 10059 :contents-end 10302 :post-blank 1 :post-affiliated 10059 :mode nil :granularity nil :parent #354) #("Will fire up your local repo " 0 29 (:parent #362)) (link (:type "http" :path "//localhost:5003/" :format plain :raw-link "http://localhost:5003/" :application nil :search-option nil :begin 10088 :end 10111 :contents-begin nil :contents-end nil :post-blank 1 :parent #362)) #("using the\nsettings in ./etc/default" 0 35 (:parent #362)) (subscript (:begin 10146 :end 10158 :use-brackets-p nil :contents-begin 10147 :contents-end 10158 :post-blank 0 :parent #362) #("settings.py" 0 11 (:parent #368))) #(". These settings may\nnot reflect your system. To override settings create your own from a copy of\ndefault" 0 105 (:parent #362)) (subscript (:begin 10263 :end 10276 :use-brackets-p nil :contents-begin 10264 :contents-end 10275 :post-blank 1 :parent #362) #("settings.py" 0 11 (:parent #370))) #("and pass it into GN2 with\n" 0 26 (:parent #362))) (fixed-width (:begin 10303 :end 10346 :value "./bin/genenetwork2 $HOME/my_settings.py" :post-blank 2 :post-affiliated 10303 :mode nil :granularity nil :parent #354)) (paragraph (:begin 10346 :end 10492 :contents-begin 10346 :contents-end 10491 :post-blank 1 :post-affiliated 10346 :mode nil :granularity nil :parent #354) #("and everything " 0 15 (:parent #364)) (bold (:begin 10361 :end 10370 :post-blank 1 :contents-begin 10362 :contents-end 10368 :parent #364) #("should" 0 6 (:parent #368))) #("work (note the full path to the settings\nfile). This way we develop against the exact same dependency graph of\nsoftware.\n" 0 121 (:parent #364))) (paragraph (:begin 10492 :end 10620 :contents-begin 10492 :contents-end 10619 :post-blank 1 :post-affiliated 10492 :mode nil :granularity nil :parent #354) #("If something is not working, take a hint from the settings file\nthat comes in the Guix installation. It sits in something like\n" 0 127 (:parent #365))) (fixed-width (:begin 10620 :end 10721 :value "cat ~/.guix-profile/lib/python2.7/site-packages/genenetwork2-2.0-py2.7.egg/etc/default_settings.py" :post-blank 1 :post-affiliated 10620 :mode nil :granularity nil :parent #354)))) (headline (:raw-value "Set up nginx port forwarding" :begin 10722 :end 12840 :pre-blank 1 :contents-begin 10755 :contents-end 12839 :robust-begin 10757 :robust-end 12837 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 10722 :title (#("Set up nginx port forwarding" 0 28 (:parent #352))) :mode nil :granularity nil :parent #347) (section (:begin 10755 :end 12840 :contents-begin 10755 :contents-end 12839 :robust-begin 10755 :robust-end 12837 :post-blank 1 :post-affiliated 10755 :mode section :granularity nil :parent #352) (paragraph (:begin 10755 :end 10923 :contents-begin 10755 :contents-end 10922 :post-blank 1 :post-affiliated 10755 :mode planning :granularity nil :parent #355) #("nginx can be used as a reverse proxy for GN2. For example, we want to\nexpose GN2 on port 80 while it is running on port 5003. Essentially\nthe configuration looks like\n" 0 167 (:parent #358))) (paragraph (:begin 10923 :end 11063 :contents-begin 10923 :contents-end 11062 :post-blank 1 :post-affiliated 10923 :mode nil :granularity nil :parent #355) #("#+begin" 0 7 (:parent #359)) (subscript (:begin 10930 :end 10935 :use-brackets-p nil :contents-begin 10931 :contents-end 10934 :post-blank 1 :parent #359) #("src" 0 3 (:parent #363))) #("js\n server {\n listen 80;\n server" 0 49 (:parent #359)) (subscript (:begin 10984 :end 10990 :use-brackets-p nil :contents-begin 10985 :contents-end 10989 :post-blank 1 :parent #359) #("name" 0 4 (:parent #365))) #("test-gn2.genenetwork.org;\n access" 0 40 (:parent #359)) (subscript (:begin 11030 :end 11036 :use-brackets-p nil :contents-begin 11031 :contents-end 11034 :post-blank 2 :parent #359) #("log" 0 3 (:parent #367))) #("logs/test-gn2.access.log;\n" 0 26 (:parent #359))) (paragraph (:begin 11063 :end 11232 :contents-begin 11063 :contents-end 11231 :post-blank 1 :post-affiliated 11063 :mode nil :granularity nil :parent #355) #(" proxy" 0 13 (:parent #360)) (subscript (:begin 11076 :end 11084 :use-brackets-p nil :contents-begin 11077 :contents-end 11084 :post-blank 0 :parent #360) #("connect" 0 7 (:parent #364))) (subscript (:begin 11084 :end 11099 :use-brackets-p nil :contents-begin 11085 :contents-end 11092 :post-blank 7 :parent #360) #("timeout" 0 7 (:parent #365))) #("3000;\n proxy" 0 19 (:parent #360)) (subscript (:begin 11118 :end 11123 :use-brackets-p nil :contents-begin 11119 :contents-end 11123 :post-blank 0 :parent #360) #("send" 0 4 (:parent #367))) (subscript (:begin 11123 :end 11141 :use-brackets-p nil :contents-begin 11124 :contents-end 11131 :post-blank 10 :parent #360) #("timeout" 0 7 (:parent #368))) #("3000;\n proxy" 0 19 (:parent #360)) (subscript (:begin 11160 :end 11165 :use-brackets-p nil :contents-begin 11161 :contents-end 11165 :post-blank 0 :parent #360) #("read" 0 4 (:parent #370))) (subscript (:begin 11165 :end 11183 :use-brackets-p nil :contents-begin 11166 :contents-end 11173 :post-blank 10 :parent #360) #("timeout" 0 7 (:parent #371))) #("3000;\n send" 0 18 (:parent #360)) (subscript (:begin 11201 :end 11225 :use-brackets-p nil :contents-begin 11202 :contents-end 11209 :post-blank 16 :parent #360) #("timeout" 0 7 (:parent #373))) #("3000;\n" 0 6 (:parent #360))) (paragraph (:begin 11232 :end 11632 :contents-begin 11232 :contents-end 11631 :post-blank 1 :post-affiliated 11232 :mode nil :granularity nil :parent #355) #(" location / {\n proxy" 0 38 (:parent #361)) (subscript (:begin 11270 :end 11274 :use-brackets-p nil :contents-begin 11271 :contents-end 11274 :post-blank 0 :parent #361) #("set" 0 3 (:parent #365))) (subscript (:begin 11274 :end 11284 :use-brackets-p nil :contents-begin 11275 :contents-end 11281 :post-blank 3 :parent #361) #("header" 0 6 (:parent #366))) #("Host $http" 0 15 (:parent #361)) (subscript (:begin 11299 :end 11304 :use-brackets-p nil :contents-begin 11300 :contents-end 11304 :post-blank 0 :parent #361) #("host" 0 4 (:parent #368))) #(";\n proxy" 0 19 (:parent #361)) (subscript (:begin 11323 :end 11327 :use-brackets-p nil :contents-begin 11324 :contents-end 11327 :post-blank 0 :parent #361) #("set" 0 3 (:parent #370))) (subscript (:begin 11327 :end 11337 :use-brackets-p nil :contents-begin 11328 :contents-end 11334 :post-blank 3 :parent #361) #("header" 0 6 (:parent #371))) #("Connection keep-alive;\n proxy" 0 40 (:parent #361)) (subscript (:begin 11377 :end 11381 :use-brackets-p nil :contents-begin 11378 :contents-end 11381 :post-blank 0 :parent #361) #("set" 0 3 (:parent #373))) (subscript (:begin 11381 :end 11391 :use-brackets-p nil :contents-begin 11382 :contents-end 11388 :post-blank 3 :parent #361) #("header" 0 6 (:parent #374))) #("X-Real-IP $remote" 0 17 (:parent #361)) (subscript (:begin 11408 :end 11413 :use-brackets-p nil :contents-begin 11409 :contents-end 11413 :post-blank 0 :parent #361) #("addr" 0 4 (:parent #376))) #(";\n proxy" 0 19 (:parent #361)) (subscript (:begin 11432 :end 11436 :use-brackets-p nil :contents-begin 11433 :contents-end 11436 :post-blank 0 :parent #361) #("set" 0 3 (:parent #378))) (subscript (:begin 11436 :end 11446 :use-brackets-p nil :contents-begin 11437 :contents-end 11443 :post-blank 3 :parent #361) #("header" 0 6 (:parent #379))) #("X-Forwarded-For $proxy" 0 22 (:parent #361)) (subscript (:begin 11468 :end 11472 :use-brackets-p nil :contents-begin 11469 :contents-end 11472 :post-blank 0 :parent #361) #("add" 0 3 (:parent #381))) (subscript (:begin 11472 :end 11474 :use-brackets-p nil :contents-begin 11473 :contents-end 11474 :post-blank 0 :parent #361) #("x" 0 1 (:parent #382))) (subscript (:begin 11474 :end 11484 :use-brackets-p nil :contents-begin 11475 :contents-end 11484 :post-blank 0 :parent #361) #("forwarded" 0 9 (:parent #383))) (subscript (:begin 11484 :end 11488 :use-brackets-p nil :contents-begin 11485 :contents-end 11488 :post-blank 0 :parent #361) #("for" 0 3 (:parent #384))) #(";\n proxy" 0 19 (:parent #361)) (subscript (:begin 11507 :end 11511 :use-brackets-p nil :contents-begin 11508 :contents-end 11511 :post-blank 0 :parent #361) #("set" 0 3 (:parent #386))) (subscript (:begin 11511 :end 11521 :use-brackets-p nil :contents-begin 11512 :contents-end 11518 :post-blank 3 :parent #361) #("header" 0 6 (:parent #387))) #("X-Forwarded-Host $server" 0 24 (:parent #361)) (subscript (:begin 11545 :end 11550 :use-brackets-p nil :contents-begin 11546 :contents-end 11550 :post-blank 0 :parent #361) #("name" 0 4 (:parent #389))) #(";\n proxy" 0 19 (:parent #361)) (subscript (:begin 11569 :end 11583 :use-brackets-p nil :contents-begin 11570 :contents-end 11574 :post-blank 9 :parent #361) #("pass" 0 4 (:parent #391))) (link (:type "http" :path "//127.0.0.1:5003" :format plain :raw-link "http://127.0.0.1:5003" :application nil :search-option nil :begin 11583 :end 11604 :contents-begin nil :contents-end nil :post-blank 0 :parent #361)) #(";\n }\n}\n#+end" 0 19 (:parent #361)) (subscript (:begin 11623 :end 11628 :use-brackets-p nil :contents-begin 11624 :contents-end 11627 :post-blank 1 :parent #361) #("src" 0 3 (:parent #394))) #("js\n" 0 3 (:parent #361))) (paragraph (:begin 11632 :end 11671 :contents-begin 11632 :contents-end 11670 :post-blank 1 :post-affiliated 11632 :mode nil :granularity nil :parent #355) #("Install the nginx webserver (as root)\n" 0 38 (:parent #362))) (fixed-width (:begin 11671 :end 11696 :value "guix package -i nginx" :post-blank 2 :post-affiliated 11671 :mode nil :granularity nil :parent #355)) (paragraph (:begin 11696 :end 11777 :contents-begin 11696 :contents-end 11776 :post-blank 1 :post-affiliated 11696 :mode nil :granularity nil :parent #355) #("The nginx example configuration examples can be found in the Guix\nstore through\n" 0 80 (:parent #364))) (fixed-width (:begin 11777 :end 11964 :value "ls -l /root/.guix-profile/sbin/nginx\nlrwxrwxrwx 3 root guixbuild 66 Dec 31 1969 /root/.guix-profile/sbin/nginx -> /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/sbin/nginx" :post-blank 2 :post-affiliated 11777 :mode nil :granularity nil :parent #355)) (paragraph (:begin 11964 :end 11979 :contents-begin 11964 :contents-end 11978 :post-blank 1 :post-affiliated 11964 :mode nil :granularity nil :parent #355) #("Use that path\n" 0 14 (:parent #366))) (fixed-width (:begin 11979 :end 12373 :value "ls /gnu/store/g0wrcl5z27rmk5b52rldzvk1bzzbnz2l-nginx-1.8.1/share/nginx/conf/\n fastcgi.conf koi-win scgi_params\n fastcgi.conf.default mime.types scgi_params.default\n fastcgi_params mime.types.default uwsgi_params\n fastcgi_params.default nginx.conf uwsgi_params.default\n koi-utf nginx.conf.default win-utf" :post-blank 2 :post-affiliated 11979 :mode nil :granularity nil :parent #355)) (paragraph (:begin 12373 :end 12599 :contents-begin 12373 :contents-end 12599 :post-blank 0 :post-affiliated 12373 :mode nil :granularity nil :parent #355) #("And copy any relevant files to /etc/nginx. A configuration file for\nGeneNetwork (reverse proxy) port forwarding can be found in the source\nrepository under ./etc/nginx-genenetwork.conf. Copy this file to /etc\n(still as root)\n" 0 226 (:parent #368))) (fixed-width (:begin 12599 :end 12646 :value "cp ./etc/nginx-genenetwork.conf /etc/nginx/" :post-blank 2 :post-affiliated 12599 :mode nil :granularity nil :parent #355)) (paragraph (:begin 12646 :end 12657 :contents-begin 12646 :contents-end 12656 :post-blank 1 :post-affiliated 12646 :mode nil :granularity nil :parent #355) #("Make dirs\n" 0 10 (:parent #370))) (fixed-width (:begin 12657 :end 12691 :value "mkdir -p /var/spool/nginx/logs" :post-blank 2 :post-affiliated 12657 :mode nil :granularity nil :parent #355)) (paragraph (:begin 12691 :end 12702 :contents-begin 12691 :contents-end 12701 :post-blank 1 :post-affiliated 12691 :mode nil :granularity nil :parent #355) #("Add users\n" 0 10 (:parent #372))) (fixed-width (:begin 12702 :end 12738 :value "adduser nobody ; addgroup nobody" :post-blank 2 :post-affiliated 12702 :mode nil :granularity nil :parent #355)) (paragraph (:begin 12738 :end 12749 :contents-begin 12738 :contents-end 12748 :post-blank 1 :post-affiliated 12738 :mode nil :granularity nil :parent #355) #("Run nginx\n" 0 10 (:parent #374))) (fixed-width (:begin 12749 :end 12839 :value "/root/.guix-profile/sbin/nginx -c /etc/nginx/nginx-genenetwork.conf -p /var/spool/nginx" :post-blank 1 :post-affiliated 12749 :mode nil :granularity nil :parent #355))))) (headline (:raw-value "Source deployment and other information on reproducibility" :begin 12840 :end 13801 :pre-blank 1 :contents-begin 12902 :contents-end 13801 :robust-begin 12904 :robust-end 13799 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12840 :title (#("Source deployment and other information on reproducibility" 0 58 (:parent #348))) :mode nil :granularity nil :parent #338) (section (:begin 12902 :end 12959 :contents-begin 12902 :contents-end 12958 :robust-begin 12902 :robust-end 12956 :post-blank 1 :post-affiliated 12902 :mode section :granularity nil :parent #348) (paragraph (:begin 12902 :end 12958 :contents-begin 12902 :contents-end 12958 :post-blank 0 :post-affiliated 12902 :mode planning :granularity nil :parent #351) #("See the document " 0 17 (:parent #354)) (link (:type "fuzzy" :path "GUIX-Reproducible-from-source.org" :format bracket :raw-link "GUIX-Reproducible-from-source.org" :application nil :search-option nil :begin 12919 :end 12956 :contents-begin nil :contents-end nil :post-blank 0 :parent #354)) #(".\n" 0 2 (:parent #354)))) (headline (:raw-value "Update to recent guix" :begin 12959 :end 13409 :pre-blank 1 :contents-begin 12985 :contents-end 13408 :robust-begin 12987 :robust-end 13406 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 1 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 12959 :title (#("Update to recent guix" 0 21 (:parent #352))) :mode nil :granularity nil :parent #348) (section (:begin 12985 :end 13409 :contents-begin 12985 :contents-end 13408 :robust-begin 12985 :robust-end 13406 :post-blank 1 :post-affiliated 12985 :mode section :granularity nil :parent #352) (paragraph (:begin 12985 :end 13020 :contents-begin 12985 :contents-end 13019 :post-blank 1 :post-affiliated 12985 :mode planning :granularity nil :parent #355) #("We now compile Guix from scratch.\n" 0 34 (:parent #358))) (paragraph (:begin 13020 :end 13295 :contents-begin 13020 :contents-end 13294 :post-blank 1 :post-affiliated 13020 :mode nil :granularity nil :parent #355) #("Create, install and run a recent version of the guix-daemon by\ncompiling the guix repository you have installed with git in\nstep 2. Follow " 0 139 (:parent #359)) (link (:type "https" :path "//github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :format bracket :raw-link "https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix" :application nil :search-option nil :begin 13159 :end 13272 :contents-begin 13264 :contents-end 13269 :post-blank 1 :parent #359) #("these" 0 5 (:parent #363))) #("steps carefully after\n" 0 22 (:parent #359))) (fixed-width (:begin 13295 :end 13330 :value "cd ~/genenetwork/guix-gn-deploy" :post-blank 2 :post-affiliated 13295 :mode nil :granularity nil :parent #355)) (paragraph (:begin 13330 :end 13408 :contents-begin 13330 :contents-end 13408 :post-blank 0 :post-affiliated 13330 :mode nil :granularity nil :parent #355) #("Make sure to restart the guix daemon and run guix client from this\ndirectory.\n" 0 78 (:parent #361))))) (headline (:raw-value "Install GN2" :begin 13409 :end 13801 :pre-blank 1 :contents-begin 13425 :contents-end 13801 :robust-begin 13427 :robust-end 13799 :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :post-affiliated 13409 :title (#("Install GN2" 0 11 (:parent #353))) :mode nil :granularity nil :parent #348) (section (:begin 13425 :end 13801 :contents-begin 13425 :contents-end 13801 :robust-begin 13425 :robust-end 13799 :post-blank 0 :post-affiliated 13425 :mode section :granularity nil :parent #353) (paragraph (:begin 13425 :end 13468 :contents-begin 13425 :contents-end 13467 :post-blank 1 :post-affiliated 13425 :mode planning :granularity nil :parent #356) #("Reinstall genenetwork2 using the new tree\n" 0 42 (:parent #359))) (paragraph (:begin 13468 :end 13676 :contents-begin 13468 :contents-end 13675 :post-blank 1 :post-affiliated 13468 :mode nil :granularity nil :parent #356) #("#+begin" 0 7 (:parent #360)) (subscript (:begin 13475 :end 13480 :use-brackets-p nil :contents-begin 13476 :contents-end 13479 :post-blank 1 :parent #360) #("src" 0 3 (:parent #364))) #("bash\nenv GUIX" 0 13 (:parent #360)) (subscript (:begin 13493 :end 13501 :use-brackets-p nil :contents-begin 13494 :contents-end 13501 :post-blank 0 :parent #360) #("PACKAGE" 0 7 (:parent #366))) (subscript (:begin 13501 :end 13506 :use-brackets-p nil :contents-begin 13502 :contents-end 13506 :post-blank 0 :parent #360) #("PATH" 0 4 (:parent #367))) #("=~/genenetwork/guix-bioinformatics/ ./pre-inst-env guix package -i genenetwork2 --substitute-urls=\"" 0 99 (:parent #360)) (link (:type "http" :path "//guix.genenetwork.org" :format plain :raw-link "http://guix.genenetwork.org" :application nil :search-option nil :begin 13605 :end 13633 :contents-begin nil :contents-end nil :post-blank 1 :parent #360)) (link (:type "https" :path "//mirror.guixsd.org" :format plain :raw-link "https://mirror.guixsd.org" :application nil :search-option nil :begin 13633 :end 13658 :contents-begin nil :contents-end nil :post-blank 0 :parent #360)) #("\"\n#+end" 0 7 (:parent #360)) (subscript (:begin 13665 :end 13670 :use-brackets-p nil :contents-begin 13666 :contents-end 13669 :post-blank 1 :parent #360) #("src" 0 3 (:parent #372))) #("bash\n" 0 5 (:parent #360))) (paragraph (:begin 13676 :end 13714 :contents-begin 13676 :contents-end 13713 :post-blank 1 :post-affiliated 13676 :mode nil :granularity nil :parent #356) #("Note the use of ./pre-inst-env here!\n" 0 37 (:parent #361))) (paragraph (:begin 13714 :end 13801 :contents-begin 13714 :contents-end 13801 :post-blank 0 :post-affiliated 13714 :mode nil :granularity nil :parent #356) #("Actually, it should be the same installation as in step 4, so nothing\ngets downloaded.\n" 0 87 (:parent #362))))))) :headline-offset 0 :headline-numbering nil :id-alist nil :citations nil :id-local-cache #)) org-export-as(html nil nil t nil) org-export-to-buffer(html "*Org HTML Export*" nil nil nil t nil #f(compiled-function () #)) org-html-export-as-html(nil nil nil t) (progn (pipe-stdin-into-current-buffer) (org-html-export-as-html nil nil nil t) (princ (buffer-string))) (unwind-protect (progn (pipe-stdin-into-current-buffer) (org-html-export-as-html nil nil nil t) (princ (buffer-string))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (pipe-stdin-into-current-buffer) (org-html-export-as-html nil nil nil t) (princ (buffer-string))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))) (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (pipe-stdin-into-current-buffer) (org-html-export-as-html nil nil nil t) (princ (buffer-string))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) eval-buffer(# nil "/gnu/store/0h55qvzlzmvwgigk6nrzcc6s2g30ddm0-org2html.el" nil t) #f(compiled-function (buffer file) #)(# "/gnu/store/0h55qvzlzmvwgigk6nrzcc6s2g30ddm0-org2html.el") load-with-code-conversion("/gnu/store/0h55qvzlzmvwgigk6nrzcc6s2g30ddm0-org2html.el" "/gnu/store/0h55qvzlzmvwgigk6nrzcc6s2g30ddm0-org2html.el" nil t #f(compiled-function (buffer file) #)) command-line--load-script("/gnu/store/0h55qvzlzmvwgigk6nrzcc6s2g30ddm0-org2html.el") command-line-1(("-scriptload" "/gnu/store/0h55qvzlzmvwgigk6nrzcc6s2g30ddm0-org2html.el")) command-line() normal-top-level()