- PubMed local
document created 3 weeks ago by Pjotr Prins
...(all run from factory/GeneCup):
```
guix shell -L ../guix-bioinformatics -L . edirect-25 coreutils -- env EDIRECT_LOCAL_ARCHIVE=/export3/PubMed/Source archive-pubmed -https -step DAT
guix shell -L...
- Implementation of storing genotypes in LMDB
issue opened 3 weeks ago by Alexander_Kabui, last updated 3 days ago by Alexander_Kabui; 8 of 12 tasks done
...installed.
## Quick Start
### 1. Launch Guix Shell with Dependencies
```
guix shell python-wrapper python-click python-lmdb python-numpy python-pytest
```
### 2. Container (Isolated)
```
guix shell...
- R
document created on Feb 10 2024 by Pjotr Prins, last updated on Feb 12 2024 by Pjotr Prins
...guix shell --share=$HOME/.Rlibs libpng pkg-config openblas gsl grep bzip2 libxml2 xz gfortran-toolchain r-curl zlib gcc-toolchain@10 sed gawk make r r-preprocesscore curl r-tidyverse openssl nss-...
- Utility Scripts
document created on Jun 05 2023 by Frederick Muriuki Muriithi, last updated on Dec 03 2023 by Pjotr Prins
...-sqlite
```
Now start a guix shell in the *genenetwork3* repository (on the host) and run
the utility script(s) you need to run:
```
$ cd /home/fredm/genenetwork3
$ guix shell --container --network...
- Guix: Using guix shell with root file
issue opened on Jan 27 2022 by jgart, last updated on Mar 16 2022 by Frederick Muriuki Muriithi
...guix shell with root file
## Tags
* assigned: jgart
* type: unclear
* status: unclear
* priority: low
* keywords: guix, guix shell, root file
## Description
```
guix shell --root
```
Let's benchmark...
- topics/xapian/xapian-indexing-on-tux01.gmi
document created on Jul 27 2023 by Zachary Sloan, last updated on Dec 03 2023 by Pjotr Prins
...Xapian indexing script
Change to Arun's user:
su aruni
Remove old xapian directory + contents:
sudo -u aruni rm -r /export/data/genenetwork/xapian
Run guix shell:
/home/zas1024/opt/guix/bin/guix shell...
- Guix Rust Bootstrap
document created on Oct 22 2025 by Pjotr Prins, last updated on Nov 05 2025 by Johannes Medagbe
...guix shell command. Let's say we add zlib
```
guix shell --share=$HOME/.cargo --share=$HOME/.rustup -C -N -D -F -v 3 guix gcc-toolchain make libdeflate pkg-config xz coreutils sed zstd zlib nss-certs...
- Deploying genecup
document created on Apr 22 2025 by Pjotr Prins, last updated 7 hours ago by Pjotr Prins
...guix shell
```
The only problem, at this point, is that python is not in the path.
The alternative is to use a guix shell, as described in the README.md
=> https://git.genenetwork.org/genecup/tree/...
- Building Guix packages for RISC-V
document created on Apr 08 2022 by Arun Isaac
...to RISC-V hardware, you can run hello using QEMU like so.
```
$ guix shell qemu -- qemu-riscv64 $(guix build --target=riscv64-linux-gnu hello)/bin/hello
Hello, world!
```
`guix shell qemu' provides...
- Install and use Claude Code using Guix
document created 8 weeks ago by Pjotr Prins, last updated 7 weeks ago by Johannes Medagbe
...shell prompt looks like:
```
mkdir workdir && cd workdir
mkdir -p $HOME/.local $HOME/.cache/claude $HOME/.claude
guix shell -C -N -F curl bash openssl nss-certs coreutils grep sed jq git --share=$HOME/...
- R/qtl2
document created on Oct 07 2024 by Pjotr Prins
...shell with
```
guix shell -C r r-qtl2
R
library(qtl2)
```
R/qtl2 also comes with many tests. When starting up with development tools in the R/qtl2 checked out git repo
```sh
cd qtl2
guix shell -C -D r...
- Python Requests Error in Container
✓ issue opened on Nov 01 2024 by Frederick Muriuki Muriithi, last updated on Nov 07 2024 by Frederick Muriuki Muriithi
...place either, so let's add nss-certs
```
$ guix shell --container --network genenetwork2 coreutils nss-certs
[env]$ ls "${GUIX_ENVIRONMENT}/etc"
bash_completion.d jupyter ld.so.cache profile ssl...
- Update RDF Generation and Ingress to Virtuoso
✓ issue opened on Oct 15 2024 by Munyoki Kilyungi, last updated on Jan 06 2026 by Munyoki Kilyungi
...update the recent modified RIF+WIKI models:
```
# Generate the RDF triples
time guix shell guile-dbi guile-hashing -m manifest.scm -- ./pre-inst-env ./examples/generif.scm --settings conf.scm --output...
- Running postgres in a Guix container
document created on Jan 17 2023 by Pjotr Prins
...-pull/etc/profile
```
Install postgres (here we opt for v14) with
```
guix packages -A postgres
mkdir -p ~/data/pgdata
cd ~/data
guix shell -C -N postgresql@14.4 glibc-locales binutils coreutils which...
- R/qtl2 LMDB Adapter
document created on Sep 04 2025 by Alexander_Kabui, last updated on Oct 20 2025 by Frederick Muriuki Muriithi
...currently supported formats are JSON and YAML.
Example:
```sh
guix shell python-click python-lmdb python-wrapper python-pyyaml -- \
python dump_metadata.py dump-cross [LMDB_PATH] [CROSS_FILE_PATH]...
- Generating Key-Pairs
document created on Apr 18 2024 by Frederick Muriuki Muriithi, last updated on Apr 22 2024 by Frederick Muriuki Muriithi
.../private.pem"
︙
```
The `CLIENTS_SSL_PUBLIC_KEYS_DIR` directory should be writable since that is where the server will put the keys for any registered client.
## Exposing the Key-Pairs to Guix shell/...
- Set-up Virtuoso+Xapian on Production
✓ issue opened on Nov 22 2023 by Munyoki Kilyungi, last updated on Oct 28 2024 by Frederick Muriuki Muriithi; 1 of 1 tasks done
...-server-port 7893)
(dirs-allowed "/var/lib/virtuoso")))
```
* Get into isql:
```
guix shell virtuoso-ose -- isql 7892
```
* Make sure that no pre-existing TTL files exist in "DB.DBA.LOAD_LIST"...
- Mechanical Rob
document created on Aug 23 2022 by Arun Isaac, last updated on Aug 16 2024 by Munyoki Kilyungi
...Mechanical Rob locally by following the steps below:
(note that these steps are mostly the same ones to run GN2 locally).
1. Get a guix shell for GN2 development:
```
$ cd genenetwork2/
$ guix shell...
- Writing a guix package with Claude code
document created 3 weeks ago by Pjotr Prins, last updated 3 days ago by Pjotr Prins
...a guix shell, see
=> install-and-use-claude-code-in-guix-shell
# First attempt creating a shell
```
guix shell -C -N -F ncurses which findutils gawk tmux curl ripgrep fzf guix guile ruby python bash...
- Apps
issue opened on Nov 19 2024 by Pjotr Prins, last updated 3 weeks ago by Pjotr Prins; 34 of 74 tasks done
...guix shell into containers
* [ ] Make sure the container starts up on reboot and/or migrate to a new host
# List of apps
Current apps managed by shepherd/systemd on tux02/balg01 are
=> https://genecup...
- Failing Services' Startup
✓ issue opened on Aug 20 2025 by Frederick Muriuki Muriithi, last updated on Nov 11 2025 by Munyoki Kilyungi
...Running:
```
$ guix shell -C genenetwork2
```
Produces:
```
guix shell: error: unshare: 268566528: Invalid argument
Backtrace:
16 (primitive-load "/export3/local/home/bonfacem/.guix-ext...
- Debug RISC-V assembly with QEMU and GDB
document created on Oct 19 2022 by Arun Isaac
...-base gdb "riscv64")
(cross-binutils "riscv64")
qemu))
```
Put the above in a file manifest.scm, and run
```
$ guix shell -m manifest.scm
```
This drops us into a shell with a gdb, as, ld...
- Profiling GN
✓ issue opened on Jul 23 2025 by Munyoki Kilyungi, last updated on Feb 03 2026 by Munyoki Kilyungi
...to visualise the profile
```
guix shell gprof2dot -- gprof2dot -f pstats 1753202013-GET-show_trait-37931ms.prof > 1753202013-GET-show_trait-37931ms.prof.dot
guix shell xdot -- xdot 1753202013-GET-...
- Running snakemake workflows on octopus
document created on Feb 12 2026 by Arun Isaac
First, drop into a guix shell with snakemake and the slurm plugin.
```
guix shell snakemake python python-snakemake-executor-plugin-slurm python-snakemake-executor-plugin-slurm-jobstep
```
Assuming...
- Guix system containers and how we use them
document created on Mar 31 2023 by Arun Isaac, last updated 3 days ago by Pjotr Prins
...guix shell containers (and the older guix environment containers). guix shell containers are meant for interactive use and are a poor fit for long running services. Other non-Guix ways such as running...
- Deploying gn-auth
document created on Mar 04 2024 by Frederick Muriuki Muriithi, last updated on Mar 12 2024 by Frederick Muriuki Muriithi
...gn-auth
$ git pull origin main
```
4. Now get a guix shell:
```
$ ~/opt/guix/bin/guix shell --container --network --share=../auth-run-migrations.db=/home/fredm/auth-run-migrations.db --development...
- Tasks
issue opened on Jun 27 2023 by GregFa, last updated on Apr 26 2024 by Pjotr Prins; 0 of 2 tasks done
...guix-shell. E.g.
```
guix shell -C -N --share=$HOME/.julia nss-certs openssl julia julia-csv julia-dataframes julia-datastructures
```
```
julia> using Pkg; Pkg.add("Optim")
Updating registry at...
- Building a ~guix pack~ for Environment Sharing
document created on Sep 13 2022 by Frederick Muriuki Muriithi, last updated on Dec 03 2023 by Pjotr Prins
Building a ~guix pack~ for Environment Sharing
## Motivation
Sometimes, you might
* not have access to guix where you want to deploy
* not be able to run a guix shell (due to space constraints...
- Setting up Local Development Database
document created on Aug 19 2022 by Frederick Muriuki Muriithi, last updated on Aug 01 2024 by Arun Isaac
.../guix shell mysql -- mysql -uwebqtlout -pwebqtlout db_webqtl -h 127.0.0.1 --port=3307
```
Please don't use world writeable bind-address 0.0.0.0. If you run it for your own purposes use ssh tunneling...
- Each shepherd service needs its own guix profile.
issue opened on Nov 03 2021 by Efraim Flashner, last updated on Jun 21 2024 by Pjotr Prins
...the guix binary, acting like a time machine. It is
used to fire up a guix shell/environment:
* bnw
* cronjob-gitea
* cronjob-pubmed (genecup)
* genecup
* gitea
* ipfs
* power
* rn6app
* singlecell...
- Remove `bin/genenetwork2` Script
✓ issue opened on Sep 04 2025 by Frederick Muriuki Muriithi, last updated on Oct 14 2025 by Frederick Muriuki Muriithi; 6 of 6 tasks done
...following mandatory environment variables:
* GN2_PROFILE
* GN2_SETTINGS
* JS_GUIX_PATH
* GEMMA_COMMAND
* PLINK_COMMAND
* GEMMA_WRAPPER_COMMAND
* REQUESTS_CA_BUNDLE
Within a guix shell, you could do...
- GEMMA output differs from R/qtl2
✓ issue opened on Aug 01 2024 by Pjotr Prins, last updated on Sep 20 2024 by Pjotr Prins
...guix shell -C r r-qtl2
> library(qtl2)
> bxd <- read_cross2(file = "bxd_cancer_new_GN_July_2024.json")
Warning messages:
1: In recode_geno(sheet, genotypes) :
630519 genotypes treated as missing...
- GN Services
document created on Sep 15 2021 by Pjotr Prins, last updated on Dec 23 2022 by Pjotr Prins
.../guix shell -C -D --network --expose=/home/gn2/production/genotype_files/ -f guix.scm -- gunicorn --bind 0.0.0.0:8087 --workers 8 --keep-alive 6000 --max-requests 10 --max-requests-jitter 5 --timeout...
- Updating Guix profiles (for production and development)
document created on Jun 14 2022 by Arun Isaac, last updated on Jan 24 2026 by Pjotr Prins
.../profile
```
Hack away on any GeneNetwork repository as usual. Now, any development environment you create with `guix shell` will be identical to what others on the team and the continuous integration...
- Debugging and developing code
document created on Mar 19 2024 by Pjotr Prins, last updated on Aug 20 2025 by Pjotr Prins
...able to run gn3 and gn-guile (aka gn4) as a guix shell without anything else
* We should be able to run gn2 with only gn3 and/or gn-guile as a guix shell with external DBs.
* We should be albe to run...
- Virtuoso
document created on Aug 27 2021 by Pjotr Prins, last updated on Aug 20 2025 by Pjotr Prins
...apparent freeze-up. So, it is preferable to handle such deletes manually using a lower-level SQL statement issued via the isql client.
Start isql with something like
```
guix shell --expose=verified-...
- Handling Resource Links in ProbeSet Page
✓ issue opened on Nov 22 2023 by Munyoki Kilyungi, last updated on Dec 14 2023 by Munyoki Kilyungi
...generated file get's too big.
### Resolution
Transforming ProbeSet metadata takes long. The exact command:
```shell
time guix shell guile-dbi \
guile-hashing -m manifest.scm \
-- ./pre-inst-...
- Lisp For Schemers
document created on Dec 29 2021 by jgart, last updated on Mar 16 2022 by Frederick Muriuki Muriithi
...-FROM NIL
(SB-LOOP::LOOP-COLLECT-ANSWER #:LOOP-LIST-HEAD-493))))))
T
```
#### Using iota from the alexandria library with GNU/Guix:
```
guix shell sbcl sbcl-alexandria rlwrap -- rlwrap sbcl...
- IMPG AGC bindings
document created on Oct 22 2025 by Pjotr Prins, last updated on Nov 05 2025 by Johannes Medagbe
...AGC using a guix shell with:
```sh
guix shell -C guix gcc-toolchain make libdeflate pkg-config xz mimalloc coreutils sed minizip-ng lzlib zlib:static zstd:static zstd:lib zstd zlib
make PLATFORM=avx2...
- Dumping Probesets from MariaDB to LMDB
issue opened 4 weeks ago by Alexander_Kabui
...dependencies:
```
guix shell python-wrapper python-mysqlclient python-numpy python-lmdb python-click -- \
python scripts/dump_probesets_lmdb.py list-datasets \
"mysql://user:password@localhost/...
- Pangenotypes
document created on Oct 11 2025 by Pjotr Prins, last updated on Nov 05 2025 by Johannes Medagbe
...4
EDGE 4 5
EDGE 5 1
```
the tooling
=> https://github.com/aprilweilab/grgl.git
builds with
```
guix shell -C -N coreutils gcc-toolchain make cmake openssl nss-certs git pkg-config zlib
```
I did some...
- ProbeSetData
issue opened on Dec 31 2021 by Pjotr Prins, last updated on Mar 13 2023 by Pjotr Prins; 15 of 17 tasks done
~/opt/guix-latest/etc/profile
mkdir var
guix shell -C -N coreutils sed mariadb --share=var=/var
mysqld_safe --datadir='./database' --user=$USER --nowatch --socket=/var/run/mysqld/mysqld.sock
mysql...
- GN2 Time Machines
issue opened on Aug 19 2022 by Pjotr Prins, last updated on Sep 05 2022 by Alexander_Kabui; 4 of 10 tasks done
Typically
```
guix shell -C --network --expose=$HOME/production/genotype_files/ -Df guix.scm
```
where genotype_files is the dir you installed earlier.
Run it with, for example
```
export FLASK_APP...
- Precompute mapping input data
document created on Apr 23 2025 by Pjotr Prins, last updated on Jul 29 2025 by Pjotr Prins
...versatile `guix shell` is for development!
gemma-wrapper shows the following output:
```
NOTE: gemma-wrapper is soon to be replaced
Using GEMMA 0.98.3 (2020-11-28) by Xiang Zhou and team (C) 2012-2020...
- Octopussy needs love
document created on Dec 21 2025 by Pjotr Prins, last updated on Feb 10 2026 by Pjotr Prins
...aging Debian). Future proofing is key.
The following built moosefs in a guix shell:
```
guix shell -C -D -F coreutils make autoconf automake fuse libpcap zlib pkg-config python libtool gcc-toolchain...
- CD is slow
issue opened on Jul 20 2025 by Pjotr Prins, last updated on Jul 24 2025 by Pjotr Prins; 2 of 8 tasks done
...guix shell python-wrapper python-requests -- python time.py
Status: 200
Time taken: 32.989222288131714 seconds
```
From inside the container:
```
12025-07-18 14:46:36 INFO:gn2.wqflask:Landing page...
- Precompute PublishData
document created on Oct 29 2025 by Pjotr Prins, last updated on Dec 19 2025 by Pjotr Prins
...few minutes for 29746544 triples. Not bad at all!
```
guix shell virtuoso-ose -- isql 8891 exec="SELECT * FROM DB.DBA.load_list;"
guix shell virtuoso-ose -- isql 8891 exec="checkpoint;"
```
Let's list...
- Benchmark DuckDB against LMDB for storing genotypes
issue opened 3 days ago by Alexander_Kabui
...LMDB → DataFrame merge
* [ ] measure ingestion pipeline end-to-end time
* [ ] document Guix shell environment (duckdb python package + pyarrow)
* [ ] write ADR if DuckDB proves beneficial
## Open...
- Test pangenome derived genotypes
document created on Nov 04 2025 by Pjotr Prins, last updated on Jan 17 2026 by Pjotr Prins
The SNP annotation was slow, so I moved that to lmdb. Parsing 400 traits now takes 3 minutes. The RDF file is under 1Gb and the SNP annotation RDF is 330Mb. Not too bad!
```
guix shell -C -N --expose...