From 02b48e75fa0fa81e51a55655b64d7a1f23e35c2e Mon Sep 17 00:00:00 2001 From: Eric Coissac Date: Thu, 16 Oct 2025 01:07:07 +0200 Subject: [PATCH] First complete version --- .gitignore | 4 + .vscode/settings.json | 3 + Readme.md | 180 +++++---- jupyterhub_volumes/web/.gitignore | 3 + .../web/img/welcome_metabar.webp | Bin 0 -> 221878 bytes jupyterhub_volumes/web/index.html | 206 +++++++++- Caddyfile => obijupyterhub/Caddyfile | 0 Dockerfile => obijupyterhub/Dockerfile | 4 + .../Dockerfile.hub | 0 .../docker-compose.yml | 44 ++- .../jupyterhub_config.py | 35 +- .../sftpgo_config.json | 0 obijupyterhub/start-notebook.sh | 28 ++ start-jupyterhub.sh | 27 ++ tools/generate_pages_json.py | 60 +++ .../install_packages.sh | 7 +- web_src/.gitignore | 3 + web_src/00_home.qmd | 8 + web_src/_quarto.yml | 10 + .../computers/regex/lecture_regex.qmd | 335 ++++++++++++++++ web_src/lectures/computers/regex/slides.css | 6 + .../lectures/computers/regex/slides_regex.qmd | 369 ++++++++++++++++++ web_src/scripts/copy-to-web.sh | 2 + xxx.txt | 41 ++ 24 files changed, 1265 insertions(+), 110 deletions(-) create mode 100644 .vscode/settings.json create mode 100644 jupyterhub_volumes/web/.gitignore create mode 100644 jupyterhub_volumes/web/img/welcome_metabar.webp rename Caddyfile => obijupyterhub/Caddyfile (100%) rename Dockerfile => obijupyterhub/Dockerfile (94%) rename Dockerfile.hub => obijupyterhub/Dockerfile.hub (100%) rename docker-compose.yml => obijupyterhub/docker-compose.yml (75%) rename jupyterhub_config.py => obijupyterhub/jupyterhub_config.py (73%) rename sftpgo_config.json => obijupyterhub/sftpgo_config.json (100%) create mode 100644 obijupyterhub/start-notebook.sh create mode 100644 tools/generate_pages_json.py rename install_packages.sh => tools/install_packages.sh (93%) create mode 100644 web_src/.gitignore create mode 100644 web_src/00_home.qmd create mode 100644 web_src/_quarto.yml create mode 100644 web_src/lectures/computers/regex/lecture_regex.qmd create mode 100644 web_src/lectures/computers/regex/slides.css create mode 100644 web_src/lectures/computers/regex/slides_regex.qmd create mode 100755 web_src/scripts/copy-to-web.sh create mode 100644 xxx.txt diff --git a/.gitignore b/.gitignore index c67bf3f..66611a2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,8 @@ +/Affinity /jupyterhub_volumes/users /jupyterhub_volumes/shared /jupyterhub_volumes/jupyterhub /jupyterhub_volumes/caddy +/**/.DS_Store + +/.luarc.json diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..205df23 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "git.enabled": false +} \ No newline at end of file diff --git a/Readme.md b/Readme.md index 6686220..e9f2a97 100644 --- a/Readme.md +++ b/Readme.md @@ -6,31 +6,70 @@ You must have docker running on your computer - On MacOS, [OrbStack](https://orbstack.dev/ "A Docker implementation optimised for MacOS") is recommanded -## - ## Installation Steps ### 1. Create Directory Structure -``` bash +```bash git clone https://forge.metabarcoding.org/MetabarcodingSchool/OBIJupyterHub.git ``` +Enter into the `OBIJupyterHub` directory + +```bash +cd OBIJupyterHub +``` + #### File Structure -Your `~/OBIJupyterHub` directory should contain: +Your `OBIJupyterHub` directory should contain: ``` -~/OBIJupyterHub/ -├── Dockerfile # Image for students (already created) -├── Dockerfile.hub # Image for JupyterHub (new) -├── jupyterhub_config.py # Configuration -├── docker-compose.yml # Orchestration -└── start-jupyterhub.sh # Startup script +OBIJupyterHub +├── start-jupyterhub.sh - The script used to setup and start the server +├── obijupyterhub - The files describing the docker images and the stack +│   ├── Caddyfile +│   ├── docker-compose.yml +│   ├── Dockerfile +│   ├── Dockerfile.hub +│   ├── jupyterhub_config.py +│   ├── sftpgo_config.json +│   └── start-notebook.sh +├── jupyterhub_volumes - The directory containing the docker volumes +│   ├── caddy +│   ├── course - Read only volume mounted on every student container +│   │   ├── bin +│   │   └── R_packages +│   ├── jupyterhub +│   ├── shared - Read write volume shared in every student container +│   ├── users +│   └── web +│   ├── img +│   │   └── welcome_metabar.webp +│   ├── index.html +│   └── pages +├── Readme.md - This documentation +├── tools +│   ├── generate_pages_json.py +│   └── install_packages.sh +└─── web_src - The quarto document sources used to build the web site +    ├── _output +    ├── _quarto.yml +    ├── 00_home.qmd +    ├── lectures +    │   └── computers +    │   └── regex +    │   ├── lecture_regex.qmd +    │   ├── slides_regex.qmd +    │   └── slides.css +    └── scripts +    └── copy-to-web.sh ``` ### 2. Start JupyterHub +From the terminal, in the `OBIJupyterHub` directory, run the following command: + ``` bash ./start-jupyterhub.sh ``` @@ -39,13 +78,14 @@ Your `~/OBIJupyterHub` directory should contain: Open your browser and go to: **http://localhost:8888** -You can log in with any username and password: `metabar2025` +You can log in as a student with any username and password: `metabar2025` ## Useful Commands ### View JupyterHub logs ``` bash +cd obijupyterhub docker-compose logs -f jupyterhub ``` @@ -58,38 +98,30 @@ docker ps | grep jupyterhub ### Stop JupyterHub ``` bash +cd obijupyterhub docker-compose down ``` ### Restart JupyterHub (after config modification) ``` bash +cd obijupyterhub docker-compose restart jupyterhub ``` -### Rebuild after Dockerfile modification - -``` bash -# For student image -docker build -t jupyterhub-student:latest -f Dockerfile . -docker-compose restart jupyterhub - -# For hub image -docker-compose up -d --build -``` - ### View logs for a specific student ``` bash docker logs jupyter- ``` -Replace `` by the actual user name of the student. +Replace `` by the actual username of the student. ### Clean up after lab ``` bash # Stop and remove all containers +cd obijupyterhub docker-compose down # Remove student containers @@ -111,7 +143,7 @@ docker volume prune -f Each student will see this directory structure in their JupyterLab (everything under `work/` is persistent): ``` -work/ # Personal workspace root (persistent) +work/ # Personal workspace root (persistent) ├── [student files] # Their own files and notebooks ├── R_packages/ # Personal R packages (writable by student) ├── shared/ # Shared workspace (read/write, shared with all) @@ -121,52 +153,46 @@ work/ # Personal workspace root (persistent) └── [course materials] # Your course files ``` -**R Package Priority:** 1. R checks `work/R_packages/` first (personal, writable) 2. Then `work/course/R_packages/` (shared, read-only, installed by prof) 3. Then system libraries +**R Package Priority:** + +1. R checks `work/R_packages/` first (personal, writable) +1. Then `work/course/R_packages/` (shared, read-only, installed by prof) +1. Then system libraries **Important:** Everything is under `work/`, so all student files are automatically saved in their persistent volume. ### User Accounts -**Admin Account:** - Username: `admin` - Password: `admin2025` (change in docker-compose.yml: `JUPYTERHUB_ADMIN_PASSWORD`) - Can write to `course/` directory +**Admin Account:** -**Student Accounts:** - Username: any name - Password: `metabar2025` (change in docker-compose.yml: `JUPYTERHUB_PASSWORD`) - Read-only access to `course/` directory +- Username: `admin` +- Password: `admin2025` (change in docker-compose.yml: `JUPYTERHUB_ADMIN_PASSWORD`) +- Can write to `course/` directory + +**Student Accounts:** + +- Username: any name +- Password: `metabar2025` (change in docker-compose.yml: `JUPYTERHUB_PASSWORD`) +- Read-only access to `course/` directory ### Installing R Packages (Admin Only) **From your Mac (recommended):** ``` bash -chmod +x install-r-packages-admin.sh - # Install packages -./install-r-packages-admin.sh reshape2 plotly knitr +tools/install_packages.sh reshape2 plotly knitr ``` This script: - Installs packages in the `course/R_packages/` directory - All students can use them (read-only) - No need to rebuild the image -**From admin notebook:** - -Login as `admin` and create an R notebook: - -``` r -# Install packages in course/R_packages (admin only, available to all students) -course_lib <- "/home/jovyan/work/course/R_packages" -dir.create(course_lib, recursive = TRUE, showWarnings = FALSE) - -install.packages(c('reshape2', 'plotly', 'knitr'), - lib = course_lib, - repos = 'http://cran.rstudio.com/') -``` - -Note: Admin account has write access to the course directory. - **Students can also install their own packages:** Students can install packages in their personal `work/R_packages/`: -``` r +```r # Install in personal library (each student has their own) -install.packages(c('mypackage')) # Will install in work/R_packages/ +install.packages('mypackage') # Will install in work/R_packages/ ``` ### Using R Packages (Students) @@ -178,7 +204,11 @@ library(reshape2) # R checks: 1) work/R_packages/ 2) work/course/R_packages/ 3) library(plotly) ``` -R automatically searches in this order: 1. Personal packages: `/home/jovyan/work/R_packages/` (R_LIBS_USER) 2. Prof packages: `/home/jovyan/work/course/R_packages/` (R_LIBS_SITE) 3. System packages +R automatically searches in this order: + +1. Personal packages: `/home/jovyan/work/R_packages/` (R_LIBS_USER) +1. Prof packages: `/home/jovyan/work/course/R_packages/` (R_LIBS_SITE) +1. System packages ### List Available Packages @@ -212,34 +242,21 @@ docker run --rm \ alpine sh -c "cp -r /source/* /target/" ``` -### Access Shared Files Between Students - -Students can collaborate via the `shared/` directory: - -``` python -# In a notebook, to read a shared file -import pandas as pd -df = pd.read_csv('/home/jovyan/work/shared/group_data.csv') - -# To write a shared file -df.to_csv('/home/jovyan/work/shared/alice_results.csv') -``` - ### Retrieve Student Work ``` bash # List user volumes -docker volume ls | grep jupyterhub-user +docker volume ls | grep 'obijupyterhub_user-' # Copy files from a specific student docker run --rm \ - -v jupyterhub-user-alice:/source \ + -v obijupyterhub_user-alice:/source \ -v ~/submissions:/target \ alpine sh -c "cp -r /source/* /target/alice/" # Copy all shared work docker run --rm \ - -v jupyterhub-shared:/source \ + -v obijupyterhub_shared:/source \ -v ~/submissions/shared:/target \ alpine sh -c "cp -r /source/* /target/" ``` @@ -266,7 +283,11 @@ c.Authenticator.allow_all = True ## Kernel Verification -Once logged in, create a new notebook and verify you have access to: - **Python 3** (default kernel) - **R** (R kernel) - **Bash** (bash kernel) +Once logged in, create a new notebook and verify you have access to: + +- **Python 3** (default kernel) +- **R** (R kernel) +- **Bash** (bash kernel) ## Customization for Your Labs @@ -278,11 +299,10 @@ Modify the `Dockerfile` (before `USER ${NB_UID}`): RUN R -e "install.packages(c('your_package'), repos='http://cran.rstudio.com/')" ``` -Then rebuild: +Then restart the server (it rebuilds the images if needed): -``` bash -docker build -t jupyterhub-student:latest -f Dockerfile . -docker-compose restart jupyterhub +```bash +./start-jupyterhub.sh ``` ### Add Python Packages @@ -321,23 +341,29 @@ ports: ## Troubleshooting -**Error "Cannot connect to Docker daemon"**: - Check that OrbStack is running - Verify the socket exists: `ls -la /var/run/docker.sock` +**Error "Cannot connect to Docker daemon"**: -**Student containers don't start**: - Check logs: `docker-compose logs jupyterhub` - Verify student image exists: `docker images | grep jupyterhub-student` +- Check that OrbStack is running +- Verify the socket exists: `ls -la /var/run/docker.sock` -**Port 8000 already in use**: - Change port in `docker-compose.yml` +**Student containers don't start**: -**After config modification, changes are not applied**: +- Check logs: `docker-compose logs jupyterhub` +- Verify student image exists: `docker images | grep jupyterhub-student` + +**Port 8000 already in use**: + +- Change port in `docker-compose.yml` -``` bash -docker-compose restart jupyterhub -``` **I want to start from scratch**: ``` bash +push obijupyterhub docker-compose down -v docker rmi jupyterhub-hub jupyterhub-student +popd + # Then rebuild everything ./start-jupyterhub.sh ``` \ No newline at end of file diff --git a/jupyterhub_volumes/web/.gitignore b/jupyterhub_volumes/web/.gitignore new file mode 100644 index 0000000..839827b --- /dev/null +++ b/jupyterhub_volumes/web/.gitignore @@ -0,0 +1,3 @@ +/.quarto/ +**/*.quarto_ipynb +/pages/ \ No newline at end of file diff --git a/jupyterhub_volumes/web/img/welcome_metabar.webp b/jupyterhub_volumes/web/img/welcome_metabar.webp new file mode 100644 index 0000000000000000000000000000000000000000..8bebc61bee5bf88dfeb825cb47f9218ebf2e70c9 GIT binary patch literal 221878 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�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

>9r4H4OrTfV}vzicy&7PXIqC5TzZ<{Sfo{{~G zpruTE-j{OTqG@t-FK#fV7Lmz$?V|Q zb<#tQc+Z$G(LWxJM>`rfhv9Zi@r#dt6CDBxXAjQH$(B&Wx(iyPRqChuPQx_Hn2rm1 zV)a7Zar9tuPZZ2+WhgT;;oaFhMk5uDg!Rt{3UIeZs)z$}-ppy^Yx9<0__4O4T+TJD zBL2nNqad-9=92!|{ST~bG)_XIHqzcj?kMfZHhNtl2~+_1_T9%eoZc^e(VUi*j#|ff z1Tp`DZi+5h0YT+L8KkZx(hfqXQqF8JUpWADLM51(His_dSeN)LE}Ke!ZGm>^z0=x# zkK%zoDN4UX2+*kW772#+Gpa5-FoIH$Prw&cX*YU7q8P?DPe8Wrdl;486c*-M@z(8O z?oN+~-Q)mSSoCAb$rO3PFe%=`kW$^Y#Z+b3Jd!fl;)})rZ|ihDB}8S>atg3gq#9r`GxT&Z1i=iSS{_OyL;Kk6lj?Av5*X^; z@e2|6{Q%K>zmTYejomDRJ>azYbC#n$g#_+xYNCgm7*JpFSlnB^-)k9UHxe2b?XbI|ar2-R z0^9756dYafVGrF`y-DYcD%l*_HmEec`rhh;GaGU6?DhV~3E zr+I}+(G(!FA5DFTKExvRf&Ze06H8alLq3ceRT670FsPGlita+TEtEz%;_NoBOgLV|cvn;G*Py+j; znDl$#|K1EG8^6su6NZy``hF^zr9^7xL+U>H6gJY(G5Ye#^L1EVq=`2mugS`k zlguf2>_g9JFGt52>Hn11-=+HbJ-y|k#_%BDb#c?l2={P8P>St`7#idPKe!?=6k98& zqZthL4pKPq-ll7!!o2GfrPMS#Clpq~t5=y|tS|RiPrr~9znx@4Vm+uH^vrenJ;dzt zwD1tDQoxAxVrg*Cx)~aWtDp$oyq@oM4ss-DtRYgi@9_b=EmoO!9qMjJA7DyP1;Y{T zftmV?CfgKQmmwj{v}jkYnFc3BIy0`p3W{Rz6+6Q&h)#_&B$m$?aQc@VGvuhm4+_7x za`=9)LRw`FK@2R0kEU0lRX-s+^Yl~KO74mjy)_LdbBI&ISS<2Td@yWsOSSq**7`(Xi|{j)3>7!>2!iM z6Y`^ZK-t5Lv|PSK1KtmylM?aIn0dx)g<$W6di*wu54Vep=04_yy=a9r!Qv7;HT z0bMofF|!G;;_H%0!WS7K635$617b-D)v_kPg=b=Yfz<1303R3b|FiUYu9KRTn$x8!OZ7d7?Rj279K&!^;$M@Wnu_SMF!xSJtD>D}#hPdNAp=GbrlV zDi}h2nP*rL(H8vPh%BI)rGNeGy7EnQ_dB}({u8OM&Pj_>idO9vI-@X@1ZyueBAXc> zQWDPVVAq*hd2wgdb9zX!@53@gfKjiLjrl(y3poMDvHniT#gVdPeTunQFtI?dic8g5PFoccM)x zA^L2p)Eur%3V+e<$Kwho$a-9G#rmhTc>jDiCnO_m)=gd{tCqj+6oU(@7aePwHQziC z+sogce1tiCUgEfQv5UzHoe0Q0)~W@1sp$x>J%=QH(Ue9<+`W=ck3k6RrWq0KEG-GH zHDR~#ahG9e*F5ii2)wiI%C}vrx_Vz5hS^mh3rfi;$a}F+*J7ikK1zfUe>hmL*b72} z8|?bS2Fy9lIXygCR`8{liw`?TPT#xVG_WCT2XbV{O*V}d(2&njd#5`Oua1r^SEt$X z;lh(NJ+LhecoaK~zC*XQm1)jnwpM_wnI@T^P-z8J+&jDUBh=gT=z%Ji+N1z+es7Yj zwK0p{0MnQUnyX)N^+y0+#gVm9r4paleeQt!4U7Qr}Un zuiLy3--{aY`^GPqKpu4`BD1=VH)2wixLqiZeFbSS3dBvu@;kqP{OWeS^0|&8Z$^GBCphay!$o#%}Y6R z$uNf*{?ismWZ>GxKJZ>g&}qfmg>!gpN{QRcc=T0Y6S>0V=nW$I85bWLwj~8ex^EGg zJnt?R`$C^oN`e)WL=d;xo~Z`kND$>n#^tTEZ>>w( zsXn95rjTu4JyrJHl4k`(%n>kzHrh`chHbADxa%zK-EUX{;rfGJh>Jl=KMf2szd6FE!BbJ)JWf@fi7Z0Y-glPt6!viH6_@-|dl(k@rh;-Z4dl!7( z)6!(FC+6%@(ZX`?O8{@J1@Ep?MANbnQPj;X`uJkaD$vBDp7q! zGdC4I+Ow`0#JPgw%VMkRE)D?RmNEomFdl6K;CnuA*b32F?tUBl)f0qM51s{eDFOh`XBMoekq}RCYMK zkZ2^4ws!|oh%`%{n0&t7gCXiE2_3FOL?FPU-2bW4=vD=$lI)CyarVG#9FUswR>3kz z*;&Lf&^qKE7D@%Tvpk8doH~rW%4tzpvo400!)=4=3pN)gqORp97*}k1cQ3F7p*->S z>&ugW0w;8p5yLGnKYPMY(#rcVP=LNatnE^);fx$NkQ_r1?tf~sr~kzrLY~%XdX16^ zn~rTHb4MJ~icQf0i3wkK>8Dt1WKK0l?yl<=FXx$?CYH14zm})uh2{-cuj@&e)}f~o z+;0Kbj0KH>i#X#&CO4Z)i~X_Eh_AH^h-&B+t2hrN4Ihv~M_M%o-aAjwh=qjTkytZ? zE~{A{_ZyIbp`>30ZX=||-j*U~v(gd{NEq44>-P3~dOR6sN@<36PV|vT@}7FWST_CC z$-xd2i`eV8hX8Y&X2WxE?TTZxjpG2}jkrK7qXW=M-{`qATX@?V7txq7I%kyWIpEcA zw&##YsoNBwam)Tes1+rw8AI}o#MFOq%eH32KXROsEV{QP$_d!D@93trf-bvaSA1Nj zcFSr1%yq3ozZ*7YKK=27Mh}J47O$|ZhLL{6Ou!VC-Zz5u*3H+uK9Yq24o2G-hAu*I z7C>RF)&yzAan7)dY&_3wt74979mI+rwxF?@MkS3kKX?g$d4Fum6;_1TC7h6_te21( z%rWT+yNCAf?NW?S!-;ZsSgdxj32WAB7vmw6(%_GXZt%Epi~!FHc^s;mv4|;%CEXBkQpuL+Sjc~ zJ2hXyZGs2l)jmg+a_UaYsCw2RhBYLd>1+lnb?OqW*7S>)rX)joah{z3L1&8f+i3dx z#-^IEci#cH`Rs?0=0Z)vWFWPjwH~tfRM?%28_oaP?B9tIAVz7E^r~t)1kEyIU*idl zU4ceBXCjF0uoSi0Tr~U^)6;$c3_xOo50&~ zxeMfl>$w47BPTs(rsHYOpr=YBICwy;2t_{^-|3y}kwQd$Z3piCf}vpk9NYel**h@;DQ%R3;#hiJfo$zF!Z3r$GuWkUO>ugc$=6HU`s z_$*0B8>}l+h+Ra8oOe80V*6lo*Mr3Gnn4uL(=>hLM7=Gq`cbc;Hph$;u{|^);iHUu zdQ)6TB6~}JBZ2*n&z?5Y^$#@UA_Oi=E$B_MhiUP`)-+bQCFTYu8`W9YsN3$BmK%SS zn(|jki||vcki*R>#>>?n4y`y3wEALm4Q?9&bGSi4v668S_Pfdn5(%bnOxgmTXlGtL zoPw`=k2>D^5l`vA2>)*7#?zi;KN%#bTEAKnC|x%sd@dnhrZL~MFa}o%#;d-uw3{ZK zKP~;bJ?MaBJB@MIYWRRO={1Z{yhZ(#^5cdOz$?-6!1;v+x)wFT>-JwX%x>qT7feM1 zs<`7^GfabkVcgDdn4UkaX7*fTKH*+?nXN_8Xa!^ex zo6Prn2;E?^x8j(On&XK9?uEC)#}ZK?ZrO5}^8;+ejgjLz?$z$Gay?}V;(OA1!sSHa zM1*uWO!}KG}_sCMdvVQWuCm1VFxVM*|Au8N8zDB68~9tezS1 zYyW)>_mdpTDo5YvvB?l(H4jW*%OBX#KD))9sCaHm%SP)VwG(%b9KL%e&j&Pa>4xYs zSK9xDCr{sn%y|KZK+0p9ap#gL+mVdgiw^75Ou79yNhKtEm*_Fl2P9>HWG{ngrk@pH z%z{pQz@Sx%*$G5SB3Z4)2Mco(4+n)6dB8Xq3-xBo%>pd*t)8}Oi=JZTDcf?A6gFl* zBz4^eIXnhx0G61tOM{e{C!M;AIquK)$BWFd)F_lpxc&9%&gg#GFK#^Ca{B$n~ z-emVzbTWy-(_HFoN=kGs%_pD8kIY|q^0M2LWvQ!MssT@2796d;5&G$&AvdOEUHOgW zM09Onl4Mt?Qz=oy%2Wi9O3=)XwfL#5C4HpARAO?$nY7|_68}Hv>sJ`GAsES%=Pngk zY~oLnqC;2pnTC(NzhlQW6)-?1KP1-2hr@r#3QAiHs3rIn;!j;44in(f8g*Nf_k)9@ z(5ZEr{h)%Z*>mK%Zq{P#1qASDkq0}HJNCN8o4$Hrb2+32%0iKR4UA8zaPj|;PH@&g zV;Ec;%uWKrb~;xlZ3U0UJ0pIMMt1@`l;Y)@1U*2!`SxvGY5`d(NUo~F7w|>80m!$J zUd_z+)#^0&Wk6)5g#JV)s;>|AkeiNqrjAcBhDzbmpp(q3AEGm4nN&iTYJfC60F_;| zdAx?S$f=g($&l+jOm7n&Rt)mU;mPK+%IY8~C3VoUw~5TVI79ED#I!&d{KPsA!KDsA zgeI9T7!7&H$>ylu&oc5z=6Ia%LHw9K7Wnb{0x!pCg;_Egf?*T~KlQqQ zY}~)22|G?mmhf2OL6%&tw{5iKFAMtzjdvHGOozR5cHFS&l@J!)q=}MYY(}%K%zt?7 z`=H~{TmueIGZ860&5GV_L7kDHkFl3l7Mo%s>RwgpVT-DY`la~(qgD{bbadoJf=-vs z^$W%rXr$P>!4a76VzJOS+ONg`7-lQx0q|t`SGET>TbrpDlE26Z0^~*LMgU1>D%RtR zmYv@(gU4Q_Gu)|)@eX83#=481Y;?GDf1-znC_Ph0P;kV6_v1_*JG>xEp%&XK&0t3dKdR$tD=0@|=t$ztCw1{UUK$d++NTgc zu+9=3z*bLjwtmiG>grC^VjC`rZDbjer#k1x4;3Y~1z3BpzfJE9hOg~XY-h%iq5HOC zN>Nxk!>8wj(1K=6c__2D^b&hBd8ng@rS`D|n?E0Kh-<;Ute)Oqq&lp=Q`&zIFWkm% z{O0F~sHafTeHw}k7IjV;)Ig9E&C5^I#isSg!VohNSgUOeby;LQ=Q~b%B}ruH3LLqQ zSCJYa-pXSunD)g-}mAL^XPmA-U*FJ2jxenE0>K_Zqq({vSl81K| z?H|`blu4{r-Ve)r%d~sXodiwOwpAJoKQhK?sPX8lD7o=@;8stnGo|ruIo%LdV9>LP zoyqTi*7NdMy>p&KcFgTawjzW__I%}sNcpm6Vplhi~A`sJ%gj+ec8f7?}{LyN&@>`fk zVcjA%3y()w$bwJ$^5;FfQ)K|;S$gSDADeO3c?d157x4|sZFEhIX}@mawO#i1#9o2c z?6JiQA)lsg-Rnm91E6JoddpaL!|>D%k%;S>5_QsZ_r#%V`hFC zs?B(kULMGLHN453*c$86kr{_-ZP9=15;67hD^=#45hF(}%WKbOqvXlrRwo)XH&iiC zC0Rr-qvgpbLiN++sV1>HjklaKE9q1jLriy(0!o#E_=i#qE~)08wm2`~%wwhNHiO{M z`SenqS@xmKADXJAT>tTvj(O(NY5o4475Z#pyR}9t*51%A zUOCzGAg-|7W~p-Ge+zeh?x2}38npF~o!}enR^$q{gr_grNz+-T#_-C+YK*UnnWBgp z-eGJAvN>ivZJJ`jCBOBY!Ee_c^tVTO!uC*DB#jfB;cb!-K#$elMvIopA7hojc4`Jd zyuMZ5(P+Lm{R>wi=$|!pFwSxlbLpXeo`!;-cVopJsAO#?(s~&fnFIKjjWwodt9Fe^ z@{Rt=kl33gUX4~%{ewzjuwZyk0+(CQ_5UnO=s#=e<$Ph~)IN#SB{N)Bx*;v>b&(x= zqS^SV<}(Z6eUVZE#z)~Y9>tgs5aJNVpSOszJ}%mbXQ(kM{6eQbV^SC}#c;;Zs4&SM zpm!twg4~Y{?^I{5wvjwNPUVf@EkJ$;4*IvuX?Wf&^5ucSgDn~5xmZ;Z791X%R0*W3}Djr0K)eDZH14b zs+*aiP&G}m=bq@>;Hl51+vrv9DlAH=&ezR?VE(^-!*hR;4SR;*+qK(9eG33xf`X1+ z$WTG~9J1G{$3H`z>gx!QJhXKZ;OHzR=Z|y3E%K1D3by=?e-Y29dZ)FWMWRa8yM4*k zlir&eGEJK~Yp99y+`3_gRU#Ck*Fll{!{QUs0!b<*$#Y=a_$%J_$1o?bg=KizR*<~Vn zs<>J+;5#Fe244wA8iw(^ImZS*D0llD`TkWw$*u{;NJeF6;&frTup`~f($AqNmSNi$ z@z{&04*l?qjFi=!`hPAseZ6lPdym4j_qI7@!{dUW5Mu(m9RvIIawXm-M$Fe5 z{4>14JL=kaDqW7@Q-MGEbk|nE>s1KQ+4uo1{h&5oNuUdpK)GKTPkG@C48j-C0)vZK z@(cHRo#R`LYfsGf!(+;KG`uwx_CKhQ88!lTLo**bYh=9AQR@q0bM}J&b3*BGXcp!P ziV~T$vVn=LC_af!i0;+sJJDZ4x1;Y(h=_)2DN18W0%(qd1BCn^MRxk}lE@CEQu|%& z@qeZ%MwBMf+n(O2AU6Ib$*=W*p^l^uXk)w!yZ;tAn6q+q%mJ@ZK?7O<);(8}fyROe z0741nBS!3?fvN?=_cNk+c(8iNv`A{|R_{=UPm^~)?b2yva}C7|$Ym865 zLN9j8$s>yrjaG>aLY{frFS{RE_WpJE<-zCWg!2^%PEvHY4ER&mK&uc_eVRfQabbW` ze-tNZF;bsIl#}=Sj0EwcE#8t=cV1(TJ4tAMKm@pvQJ&BfDJ05=s8|RxWA&5T=v|7L z8W@N_{PX11G#kW#fj?2i>%+Y-_EjOZo&*U8fZRJn5MTPzXXQ1VBmatm={$!v&*l0F zqI+eQq|AS(rv z;5j_Iwp;Sbx}a;@p=z45$hK{=Sit86jef4`D`?|NW#Q>b3T%XRmpm`_Y(X+;Um$Mg z`Rnk3#o!N^+RREl2uFfsu46-R6ZW;z>kg8y4a}EbqM9u{`LCv&cbVlrFfbn1cW=SnN>{x-oB@LD@f+9PZk0*z@Sjho@*LHO#=WHi_F3e*vR@iJ+- z(!NE^YMN72z!x)AKd3M^9(cw$_nf32@rQamm$wO`nZoHKf+J>s0Z z4}2-w@Ob{57}l6YOXfko`6J7RePUX6kz0|95Z5B`<7GeZ*^m-2HcOE@AQs8t?JiW^ zO#|b9GASIfJ(srmFx^x@yF_zb3q~YI%nWyj+71-NYH&N%4oPj3Z&0y#NDacUPj!JC} zMkLTT*itSevM_`C38OAk%HM9a>HAm1`i+OX%Ir-qpP>Jt{#mkA0S^qkv)>_ZYZysD z{ci75n4&t_UWPW;&ZubfZ8N(%~{BtL8r3wMD?8@|(h44Uil9K}S;Xiz?hPU&!|3kNyAS z%8=iePK~ARE0wp+p2o zN?eY!ps@C*-0diM(UPb%QtE@;5z{$n;Hm!%)yJ1|^C#lc4{Z%Haa@#u_^aRA%PB0U zM!tKoZkRq|+Sdke*gZ62%Z?;A1^>I(86r>f_DdKl;Xr)B`HYhkn3z)l`O}FFzwUC3uH07sl`>LsqY~3rS*}ywI)R-oL%`jzQMf)*njoe0Wk|LzZIGlR z4h+=7Y|P~Zr8WjtPYtL~0ITZA$J<)Hg-DWv$_Y53%Ma=dSxo7Hm)QMTSmf2y_cH)7K+eA?;~)R*KWt!xi~L#Tsf*h0 z^e9ep>2y>YM>f+Z0tW@Nabg zZWTE;@T+YfMSt^9<&noz_uPR}>TQi!#}dN=N725z_yu^x;#l-0=l?f2dAk4@lbRc<}Z*NQS@JmfqZ8a>iXH7~3iEEq3Tu>7;oVIH!ohMn*aN<9Zvi+I0~lS?|-pV)xE6ROzo1=j+?#aGedQ0$}CGV6NR z*Br-G->;6pD096+-%UfX*}GXRi2{mfYLj)zct2hbZ*Oc*m?|#EM0ffO{XD=@!n6Nc#v(ab$?xf-6|c-8KC}ZS1~I1Q>U&<7H`u@I=5N8*i*qsj`zq3-nEWq?yFh2FH#MT`%xp&+t%s$A|_C+ zz=$f)GVN0cYd)`$CrP&=$Mx?$+fc2)90NjfZUF<^c5cj76Jn+tVMxGq&Of(5Di4qP zIBD?JsZtgi=oc{RJOr1}2`-|7p=ImR<4a5jp74FXZ52MB$EkjXdpQ}}g_>a}B~b2} zhVxq#6IeA0i+jJP%sAU%nebT#7Gr-UjQV)d7L)(wbpR%7DxdKr8?7DC5VWrPyuQsh zp%QOgJM3N=+GsAoNW>ybw+!j>P5PTb^4TLv`PCD_Dd0xl)HJVuaKGYmOTCUJ8<~}4 zX^dGN;XFc}Kl6F%2$Y@~{d`3+`EZ+NZiQj^xA#J+LxG@?f&-F~8_Ag-jfS3rrTKu4 z!4zOy@T3$Y${IU?Dz}~k#e=ge=EB1JI6oj$ljL2)BDznIP~G0WzTSBnwJA?IJ|rwi z&0;s=*a}AQMq&0u4RfMO5lw44y|X^mI}O~ij$^K-SA^NmQ9!~&2KrFzTBp^`H#wat zjqY~A8+G2Fi}J7~0ek7gE+c3T9-jx*+p%1& z>xUAInsFc_x0{man(uc>>)sTl@6|tRM+&Ji135lmv*TR>cQdRzuNCI806@Nqn^S4I zo$k&O04HyG1J13xQri8>I6GM@ky4ZjUe}HhoJ;COkN{HGDmN!H?@SG{ve|xv=mTC^>n$6xkHpdT5l`s2%pNTfGU5 ztzpaV0Q#AVSi)#}lV-P*KaOD1+Je`yd()I|`S_ie%vB%{sUHF3hlYneL%IJz_ys`k zow2Q6H$&ha<&L$Y$_jTx<}^>p;=qAy%i5wUQ0*fL!u%zps<+`>5SUW9?&a-F;DWc% zNPL=~TF_xJigEEJVst!U(JnX3<@w>V*Jh}x_gEYw9mrx#BgwTrj+>QR>l&e(Ax=ZM zC5_nnu;DGvh-XWDcoAviq78B!)DAtob(aEFbnpKnqr~;`Dn&M(7gjl#Zg+b?tBlW> z1uOpR8z9cJ)7zMSyZ0hjk`#fpjK~6}$V~o;DUb=mi_JS7Ar;&hsB?>ujm#^xl0ex< zdbx|*cliG(d20@Zn>}9WHKr$k5k#%(Nt*LdndXUgmNKZiM;0-B!jk^p+KGDt=i-K= zbHtvojdK6VJdh>!dHD_j{0@^xxrkq;PF*m+s1$ybqsBcfHSXhqO_Y<`qOo|k5p z>O96imz-P!5Ceu&NA`4+NdGjGalls0G=Xnxi0-3m?s3?F!rY-KEISET;+`49iRcDu z4skXyE!-WInD7ztSo`s^-STCZ*My651Fv=c&4o4+*LHc#9E8*$#=&sa+Z|U!z zq%h`seH|5w6{d3}+|dwp8fW-bwWo8eZXbnm|FzShQ+6&~jdX?g6xo2S0?MN_u^ooeS z7w6ow1VgFRz5#rseelA0e9L*!S>UdgH|(Q$K&)G67nJ18$R-QJs%RY1>7|J=l*>ru zXG?J-x0yU|uLG_Q`~dNAahB)~Af18au(Iu|Kv*9C=v<=Mo*y_1Or~6|GEU@^Y6=h4 zWj0b>zTISmxm}t5a;7k9Px1F#Xf(bB8fsiv>ZXuD)gqq46~r~Q?fL51by?Z;gGV#> z#Z`mJf{;c0xI$c12yj86cH?|7^g!xrj-&Ja}S zr~1GZ!06SPib9x0c0yW6#M!^Pd>fMEL8a7IJ=l1WlT<0?)6ZJu z=nrwsuJ2p?m(BY_ymj9B#Q!g%ku!3nCAbvrP)I7gwbA_yNF}zZ!o_i0^rvTUd zCf*O9RxGJ$qy;=aswNcz2ui%(}{m;&1DZdUYX#N7mD?1m6T>E`Q&V_)lQBa^bOJ zFaP;*H)HaF*0b3)uA;~i!f!)gQ*0|Uq-zTHqRO1=q@h&`fc$aU$mqdKTTTLnAF(YU z%%A<=H^7*fgy0VQc?-Bkvndx;U z23AKXgx72}PspK?Q4P5dLGI4#3;yxG?8B-IXa_aADPVP#Hr-F4s-Jl$Jfdy5m!4Pv ztqTZQc95m9nOAN5`J=r)Ud#?8YrwT_@xu#WumLf&%~jp?7-C4L2p}je`kVb=K;MM6 z>GgEiFzwpktn76UvRXt1sb@P%t6>c~j)~PgvmQ8WIKP6ZSgp%uQ2xjp3urf>P?n#G z+?ppdSS*uw*jwp>?jROtCKVonN}G93gbKspQKMPB^s<%Z+VA2DGE+VJ>z#Dfim~7C zW&}IIsoVO9lZIYFKiBud{_z=(?K3Rd$<`E`Qka8r1~g6&#?0C+R0AB|h?ckGMNA0r z`%kdeSGkkV<#PR|YuUK8RBI)teC8vy+>+(6cG&Xf);99HQxn*~Sz^Vv-e5#*5E)ue zW6>~lUQ$>m@Mih9>fdp2^JBfuDNX*??u%w&TQ>knf8`l{tuD1s1Mg-seHnzIh${Tn zqIwb}pT3%M@A&sKPwAp(sVgrnd^#j-*jE=={zKeTSYVo4k{W|nj|%V!7o%FUay%b; zS%_-So?1e!@V9>EKDn5q&~y<`+Eto?{ij<$zme?v6T}7PG36$xK)AiND4nMt?kH9G zCD_UtVu#z}B}+L9T5V)?{u(nXCc7>cW~huNT$zyP#T@o)KIe_G4^QYv$aS&S262QbXL?(>a~8kF z<~~E7nieF?fANC`&0i`~DD0Rj<)F^i_owmIS@1rfYb*L#~kq-#%v}fH{DA9EHEDYRZuQ zdfGz9f{YYdUuO`gK;%MRp?vV^l0l<>KaF0=s1YWrdB_Up5%9!FzVO*$yNMH=2pvks zsY+fM6%xe7w+dC#1eIUS#cv=9#@Hm75ufLM(SW=L@;v!0Kw4*bbt?+fIRjJWlhR~i zgd6CumSjSbcm!04@UE+{B4rDq^+XCe8MBJ4-MMEaADazv3X>-=A)0N9)aKIQLAZ#F zO^>|~J(vi3KhgISnvr5SdNJ*pH5#f$tyeY|T-evfCeS_>mTKJFfeN1xvC5ZZNNKrK@(IFC#QB^dQ_ zLn@Y!DZ1U~Ce-_mCmF@Euc?tm_i6D51f&4L{pR*SEwXMa6UcbX(o6>&nApGFX8{y1 zNrQQRcZF~~xw}KjTwU28K{mY`2gBBvxP_3^!FS6{-&n(%!I;Nn5!*sgW+;{!#z6#`W;risiA!e`oQQ*R-2qwd- zsaWQzYAstd8G&WFm21uWIAE%_Lk3Vn$>g7r=+2ciW{@scS*kNQ3?|QBqov#6H_qC| z$N^)uYywcumgW_NV0`2#5w=-xe!2oSdy@>3-4+OMSI|E&o zWifQCd<5z#->d}M2z^8&m8K*15}=z1I9pVd16oKTB{+kn(N0|mhn@X?)Xf{LjiVmB zUP327Xc6b#xudcDZph6YMn$uy1;l3NI^_|f)Iuy*{B4A2tG*qeq8Ewezk3lpSVRAq z(^OaZs1o1)7-#xQaKgUKnAz-~AlNAQb@@?m*F+nV%y(laP(EeEt2utJVZKoOpS}%E z1#dUlL2op%`1>a~H75Tm9jU9lKOCj5U=dELK6eu6fhWK|(l!#HJyclwKvC7nwm@5| z`d(g-rAM+E&yqU9#ULn9am62=MYfn@+eU&jMXY9ZHI(%mGH8PEQ3$z1UQS(! z@bY03N6uf#n;1uLr7-U_H;lD3YEyI3&GC$R(UU=DTC|4~_iZbjOxCHCBs;+K}VydvuXiNCxn(Q+!lbe$` zk8N>>+%(TT2ZWnp3V5~E{0h_SHzpb!fMe)Ca0SON=kN4%!d`U5S(zW8O7E_p)n2k- zTA%}z2nN>Jh|ciu?f;5vP3Im$#2CURPzc#Z0V zy7m)%d|C&~MmX;J6))pzQz0qJF`;n~?9i6T>Vsv7c0r!8Ft;##5|`YK}1m znBp(GW;?l%MSCto6K0esfy{ILC9qvddd--us2{~lm_H8G3be{Pfiiito6G75L%@d; z!9SAIj>5o)UG+vf(}W%nw6r|57pE7wln9`T+{d^pM}p~Z&uIBk$-pZdE>Tjb8K-B3 zs?tjpiy<-QWR1KnAW)!&4y)K~sUM!)*S=h=tbxCoKDf8UV1}RrA*>0=%HPUU+vpZj+n$^cpm48Oq6r%S^?^<5tjE5J= z{`=tS*2h||wpX^N(~usz!V7L;HslX{aUO->EGDWqmj-q)|1a4|tLQ%x@zRfgNkaJn z0Dch-C6$@>M&`T4sDwB&CF%O98#}LTLCI~+q{Q&HM&kQ_#~FIX#r{~uVvMx?iTfKU zX1hG-K*B;l+3+G~MaoWjc$Vgb1&^2_dnSrIt-|p}>8RViN)8%(sMfX$VUsTnMSsdy zEN$#_hINQdXiAzBN}C!zalNy60Uq}fB*o(S9ojnXM2jqz)d~UQ-rsT{_DBFMD>=!$ z*20i$84W++D&E6j)z6|M%tR(}Wrke6UO{ULt8 zXo}DGMDlEt%sFEBt!1uzRqycsAM;V%0!KWY3)TggtS2P^yk1n~oj7Oz)txr;@KNa} z1BZt@GW^)9zcm+&h{*)9j&n_9@5>|+0ZO)|D22{AaRCWI1{B*LlRovq0@w$4Ly|d` z*>4$*Ni<#z`eAxjjZI$?{la!Y*ZzNlNZGPwGhabwdMS9M=jumNrikD(>BChtu;q(b=FRC(6iK=>IPu_CrD!x)UKq~FxZ5X!|eNfpv(nWW`EyMrt} z@5^fhjz_#GjB%-Wo+4jwEX*$f!3IzeT3S0erq9jnp9Z*P3rVL4G7XiksO}P~BTF3Z z^A^PmZ&v?s(&+zghM+U{^eqN`|LQ=TO<^@)Yup&2AyqyYqxPi8W+Fo)?HC~`M55AA zld^Kp>};-3M)>1q4>FL{=)UZ|l^fGA&Q6!XbQL7EqXMZzW?dKcOtp;;7lpM0bM+dC zlG4ODdJHw?444j-|55%%`Ip^@)Ml3YR^0&m_WBd1G+oB>c0N1q@)u#y>z?%30@YO? z7EeIWfi_|oTSA;fW@A4{^~x^C>>qY%!WNyuq66JHsz%|m|K;*$*>d7Jkh zcvKm|wwKz6clIf`zYfQRBlZIfwXPRaJykb$DZzekz!{$-$BUvD0^f3jMIyBZe2-$d zWX8peO9@G`wY7tYSLk5YveM%#st>R}o5L%(rVZm+9MNYJ&M;_e2`k-FU8^K)CDSNo zF2ZnHKfgjCCML=E8--*%9<#YKWX0TYP?NLIt+y&I*%hFG@g4UXBL8` zEXY6QL#Rd?-OGQl0SMY3OjNdUfWE0YaIkseqdl`F+-lV;nZao2S~M;`=uie(+Q-oh zfgNHsKL3}Y^C>Jx+A@HqLfB`r)0JDAN%9nKsPuxJ1-mF*w<{ns*+eAs&WI6O)(#kC z+Z1|l0X#G%se%-TpQRu9{w_badf^vcGJ+%<-DLZ-`VYNMay+_n#M5fE4?-?exW|~Z zy;ng0O4utY|JYPIpu)yB<^}t~c?MEzGsD%@k@L|81F_S7yM+>TvZrgzx_sEc0|nrQJ{Ye2B*L2V5w~A886#YREc>C85AD=g%Ppc zDDbOx_oB%2b{C}Z!wA?X6Nk-;V)0H9T(Jv;c4FO}ygi0C;2SC&sZtSsc2W*TiLB2P zE1w1tdRk#Jd+I%*4%)`$w*UuU(Y?%z6_JMsU3hxMz^aHN; zvRs9&llwneB?(pH>Plws?g z&rWY!fDO_Gm%O6WVcEb54D1Ism9shk2^U@FPWTl;lJPq<`}9^l9e25bq0; zb|Xe#9x49ZP8-t`Uu|rnQbrXp&ZrA`Gtt6ce11XX&EA;lBt(Uv5EZfUWyb$t&rV{7 z28GMtVwc?+yD=W&&|orxhC%MA^e;YEpp!pAx??dgt~1icKq-ekWX#pJI>WmgRNI?q zWk&KnxUubUeu?XbCXZXn*{YIiVe*U1ESyYUIn(6a8J@M3_1B~W%q8Iy5xJu!B zK=-ZG9fh^)9X0;!eDA7*?mO5~%!|88rtg3QxP*zg4OM3X*(YoVUYO&`fZDJvML%Aq zj(4Fj%tzop_Y^4Tri!gZZj0<1r8k)HV_DH-5ZcEA zJ(}S+6R=q$e-yQ1mG6ogTgUkh9iRUBa*~3wfQVRb?5t$~R+aTELn(0zB2?gE8&QV5 zV<-N#__MI6UjCcTAbtLfOvFH7b6Q-zUR5wR^9J%dJnIVP>%o*Y=A;jB-S1bzV?^7C z;CV+&eJe{zcsRv)SEJ90FJyB1;CbxB@eoJ5V+!L{`8(RR0+e-s89UT(#_FJn6agBZ zv}{Ef((qmFc)$0vKn=sXD$l~|D8PqOJB=OHJ-~vX%%iW%Q{w&e zFxNWb&t%UpKgCS=tp%KhSh`fmMGx%g_fX;yIx2hyQ~q53*^Lf>;X#Casp71LJ=}&`d??;%uy`GizU=c=yjzt6D=sYUIyQz^%0Tlx5iufxSqy*oB*# zKMVO~&K7nZ!=T~EIjvy|4tL*I^Lu zesg8sQWCS4W`6^{z+jB7jHZ9^ufrHLLsg6<_&`6mc$00)=`R~4g&t>1IpI+-6SIwi zK--zRgZt_)OL*QUpAF)UL#f|qh(Sd)+>!hKjv$%{O6u+@L1T{dq!7tjWy*zMvS zE983~>SK03D}J-+0Q=wE=YM|&Pi?{H*sQ#uIUy`GI+LL^oC)tZCD)jR>Ttpw%hZGS ztCV}k>n>kpekb-?pEfV6A8$k7aHIgVs?pMio!jwHOKGbNd*RgnCL#9*sd=7>0??rv zILCL%`Lz4*7sX$lDQy6q`)XHa%TqZtPN&s0*M|exowghQy|2Im7 z>bbJi{<4hn#56Ls@z4btZu9LpiVunKS~6GiO-asEjYLrnNe)Hx3H)?(v#>qsNL7=W zfO__~jqp)Sn9juGq(*(8mkXm$vadnZNOf6lNN4&v_o?L;&a9G~UW0I0in z)3I1XLcWRc+ZeKn1d;^Mk%@n?>$%65ig^15%s=31JGTpH@wU*W%`wyu>`r9i$kMd7 zH86wAg5%}MjM4+FJVcXXDDT{uisxt;flzGl0l?Ey-{wL~E(<4Sa);T#Okd;LfH}km z@QR=uJ-vV14h`qot%wEQ$;f~)+ak}YZX+fpm=)g%FhzNVP67I~IsztYYP;WE_{sJm zFzP5O)~|M0HH*V~RO7j7bHxj6LRd>9rH9;^Ad0_X&Gc|uiyanSQ%RYwq{GD`n;+ET zcpAtteEm;Y6~-#f_0--QtaprMR-IpdEZr)7%P|d?hFKiOPOqDfs2THe$ zlR+r+s?J!Y_UMlaf@$C3Wy)Jo#$3AEZEiyKkAwY-rfk86)44g!6#=t_L|inu%SE70 zP~4P|D1O@H;_}Tj=nyqg&wWMzW>vA+Ic z#4R+t{$Z^&wJqCf}jZ&f~%xV9`EIa)dB-3v^+V)+6H? zYkhWOLwsR|k67RTo|mAAg2+<*EUgY4t0(tl+!@0@kS zotA;+Kgz|3Qssc5thjgBZasU7nAE?uaO1b{*sOs+{tRJIFAzLU3R$uFCN(5P25YB# zb5?gr@o)#AksloQXCN{I4#34#4S$gFtHFJtR%P!lW0ld99T$W9D<(*aF0c``5dEm7 zE(l($0~U(=dW{K3cNYN9Cv!1sPlxHj<8G#uQr$PbZH><`FtN;k8*j;h1K@b{vTo^D zTS4B};<6e;Ujb0-hIfgwr#bRO;oj36hYQ|e#=G!bnnX(+t=%(6a-56Go}SXIy(r|> zW{C}=@pOMZUXeBiUnpSM&~6iqkx`U(U)(f|0{SZsf{=TMlcgS~TbaZ-R6Z6g)%TM? zk3OURb%RfUWr1hw_G>wFUtVme_E*XbY2eKqQ=-qhTn zTKCL`?P$3SfqNy3lJ1dT-FXZr;-pfizDE?2v_%=70=JX2t8`x!k`=pnaBgxCXb#P; zx>QKMv0F9^#?{6X7&Hito&1u7IxJ?XFYR0ck7_Z=S)!$pjcqdNR%e&ojlleRaZ56; zr-WdYjqxB8x%m+KTZ(<#Fx60jC-4EEv|t(`i?P1Ib~yG{E4T$dw_re2qyy)t$)r8{ zOrJJ1y_W;c6cDEv?U7MjTP4iOi)IxJp^oCtUQX=yeC281*7SuI`Br{xuiV4?EIEj@ z9GVOK&Se60OiP&Nu7DJNx~^)gU3HR_j{M8XCc~mDxh@H9P4Q*@s`FiW@2>X;pDHI0 z>2}Ip-GlyT2%b$+nlxV%KbJVsXMLr{&^!*A;3YytyIcQR0kx7M*^jZ7XC&RlqWkBw zUKn7tbKE?Gh?c1#WXS!j4NZbX&q@08v*iC7pazB{Bo$Ae9|lx>xnHsbub8m%`>>IJf9&i| zm`08QC6IWo_3L$+>%z=wTzLT%Axv^sb&D$u3~ReQB>QE~`7`whRj&3NeHlt4!*IB* zf^(TP(|E9Fx$q(98(C4YhL*tV4%S+0*#M@o8`=nxujwBWbj7M@y8S**?%O;Wjuxsw zT^v#mI*n}#-6|$x7J0}bNG=|0+2hJsbM|3Vp9lVrekuY|W3K40l2?>74w0+SzI@)S zlsy(0J-0PdBGDx9UscGaiMbAl7FkpH8NC&v&yyaObChgMH}<|%qK_`e*+8IYW_>e+ zPFUE(a?=6gzf+mf2mNv{YIqwhG~CVTyNO3*H67ihiV(GBF>5?WYwi($niR z`~U7%gx!cPg1Y|o2iHp9$1*iK`0&SqHWp1LeJ;FgLy60g3;`_e)q3C zow`4KSS;|lSS1KcdmjR+&J*~IEZKweIubv3hMAfsc;i)V19V#%)g}h6d7zFWoQWE6 z)6oA{dY8@J;EDW1w9;)PLZNAzB#P^NZ@3(neQ>d!rxlOF&y{QW3ukpgdDUyRzl(5f zbm_putV9tFaT1#L%qO~qGSZ;EA<%b5AUuI@SA;krLkE+~X6s)#r)sH!&=XEO*^1Ud z<2&HP%tA>;_XFDDcN(LFrOgNRXFBlx;ju!GrDfkXJg!E2mMe_KxLu?b*4fo-$M191 zu@z2kCteiZfQL~vk40@Ikx2Cd56aj#IQe;lF>exEjBUo2N#T_jigxNVH!=r<`PS#- zn?gQ_+h5&yCdCVFvR;8GE!a2pJfuPLC{wcJmrcbukw2XJIzypGfx+un+Oii5s4Vm{2|b46NFo-k_HO z`rH3{$s^}mMj}mNJ)560%x#9+MZJRVd&d_AFTzL88hqBB0S!ucvV^<=a2xj{dU76a zmg@9s?r#!xr2;q(u&jU(x0KF9OTE>;PAO66OV^>B`2};HIPVL;7_W&oQ{m808$yFI zkjV*e$$*1<_Gwj47kiD@sdC-;4An{`lez$(-PTWq>YS;d+DGMpH<)dfeSPj%^KylP zB72WeBmSCy2hRxzNJ$TF3~wrAmxb&UcclpcJLnL^__n?vSRYk#nE)?@SCH;uU+$JCC|9QHS+*{A#VA3w7#!(8gMd4ORbl##VDFdc7PzB| zCvEY7mo(|O-W%b~I73WxR&NVvw5VY@(FBztM!9eVp4NDZ!cUDu2m3#)M(iV@?9(i> zFVLG-_)*gL(57}B=x2aN>-fhn2Nai8x{NnWqr|K@pN;X+=h7*L-S*P57UHQ%U0gap z2rzK2x-~vhtuFK}BXd+>^GoNnS)~Psuhya6dAXJI0(_r~9li`Z-46p^Hcd&;Beq-m zr;QsPsRL9|E%16WFN$~Ky{(WCKHz?k)4TxTMwp&CEW|JW(G5(8U^vys7Ngd>bzU# z#sG9b*t$Gq;H03Pv{=M|Cv@8|k8&q<4Ge0Wg~TV{-2h+i5iuLS!;sd^-Pw505fJJN z*qDPyom2bB)a$C1KFUNoIW7Wb79THZil7p3rf&M_{qOaHpEu55ILVqgvD;SRy++$T zZrNLg1{XG^d(VFIw22@w_P@*_U_j|#;>|k|x-sC?dx9lm-#Zul5&}heGehEPx@QLL zQ~=%rEXL@#B4yNN<}C*L<@kensb0;Oxm~NT4ZbYka)bcfQmRrC;e8yByd-q*DTPT| zJ%Wg|hM+H9{HU_yZ3{Y2Wi`>8hJfsB2vUgNc>_$q$c)=v(L)kOI&}Oc-QTOu?@Qh z{7T3~{n0Zf&Gk+2h;+I?X;${-^^)4fKgLM#{hY!T4-UCna8CKDC!@FVkuCEHu+4+D z2SPX$O>e)cW*|e7`l*hBFafK~)z-SZU%O@{tg$an>!*c(zC-A9*`0zW@{`G?vGy?Z zFXZzcd6LBjje|B`^x>*sP z)OQC!n*hzK(!U1XGJ9d#QGdI!+PN3!=|_vBEPdJ5+`e!g*|9+Nd)Gre(48d2rlYEN zWpF|4wN7aQx zQ}_nkDMmsAb~5pght43iKbt2SL#>196E@&2`SdqYo_rOdyQRYd{m3cieA!&?+dW7d zW!l3mr~Im9xEN@WEXPp9^j%hOH<~qhX|NCLLk-K(Vu<2Myrxm%d89A=YRRyc9)6`1 zS`&0^RRH|i#gsfYs-C2Z-N~wR(DVu|h-AMiIbL)FG55OM*7P?iAX)fd=rCG|b%IS} zjE2?_24LdPWmYC>jaRc>LgxDw(H&q>CR;~Cve|3YZL6y})*Qy`KJq{6$|`Q;PN$e( z7@*iwwC8!+Nzd55-EL}`WyN~rb9cO-8yPqgB+W|eB z*jYxsI-=ve+J@_XFR5=+-#P#`Aq7`(+iezjEWy@2;Bazfm=@T^y22;0gN93ryJ{U* zalZ~_3l>DwaWMKtS!-vop=zJ9*q!JnK2U|T>P(8yxkmg$7+cJfJXPW}6HQz^OkAcM zR7pNK0?jyu*bYNkR263;?Qp@y&CYG3NVFEYaf`=mApAbPcG@+O5a>8{HxTHj@$Vfhy>LVPB$F-V9eS zH)o<363~py9^miKI^e080svZ$4ibe*70+Il)0&u&Cy!+6wk|E(Pm9%+W_on7)I@<- z*_tI%p<3Zs!3Q+=*xCBtHhcXZfqIg0*dHjLLS9KC5c^UB-hAFBF$FI?bnf_BduwpC zU&=nzk{)+ov-M1Py}8$+wVpy}=Br)D)M=DMFra*x%Ili|TUC8; z2=CXhzHWs8Yf>!d00%IU?Z2EXyK6<_=e>n8xvz)Te~goA@9a#aQ-hO}i``gVmzJ_G z@4ih}rXE8v6N%=I-tbXV;V8_V)M40|@`EV#a<0N}FXNId`<4?uD6JqsKW?b|z@f2j z2*y!N)DFMEf{Xq(G;`2d<1O!a;6K(-=O?%oeV&H*XfW>#la(EjkdI&TtpQ58GxoM%p)e1;tMEqt?G03m* zR!56D_|$=#VSeMzp^;z+-N-Kf6Es!=Y~Fb7_qAI!UP%ix`Ss!CSa+uWF=|{JQ5W=A z2bAsHNvIYxc8reojuzf|2Ay_`Rr+2hpZ?C(oi)Nv{+z_krl+_w%g>@1Bh~+l^w$ZK zNMGqkJGnns#v^ivee>T8OzB2IB%W5kY`pHTfaLQO@wqZGI1i_Vh$+CZw#o&NnXy^* zl}c!Y71V^ybf$(?l%zv1wlU*mwCX}t>BW*HlLF_U-sp(BJeq5w9_^iob9NN$yVU#$x7OlHP(7BvC$~NlM77sLKqg z&TTmICW>hsAz1t0$gyjkS-o-tTD8#ZI$j1y?wN|a3t2I`(kgdR=GQ^h`v&L96(MhH zOxSQ`F|^U+wBohwwd~aHyi_Lr*PDWPIGZXDJha;Gs|-@f2mO+zfE+yv?Til{1WXE>#qp~bhm?t}$hdUlENj)=HrQlny*h$@I?#2ts*(bUEO z`+PGS8fRNAzu3r7sH6&0UUIT$u#edaydCR;Am-~e5}|cR$2>o*I|>kcMDxf z^*YPW@*eAj&B^o;-;&W}piRPZ%)2V{7iv5Exx0JWpdr^MsacRuuaK3Af+GuLB(*9G<^01>)GHj z>;=I?ihr2ShYb3(XGQq@0i0;HtwPkb!)6)9P}J4!(EjX<$1bSOg?kHd`JK{xC`Oh? z#LIq3+0DUyYSOJS&BG~L>lLfSv^9xh|Mg``NuBu0>{rtdT>L;LHx<(qEdBA2TlW}P zSU0JxDnS7_vtP23t^~6RWiauK4b$+992T1lrbKuUlq374i)6OTS&@UnBLD$Wj|v=- z6TES@X`=f;{#{SeIb!=PdBQc@1>f#%8&YLWA2YXY5wTFq=+imU1; zX7G=|wg5ayl5lPN7%K2sNV4i`=E5msxYpWdQat#-0K}A1E7XuodZGQ>m3?CP?of$X zc!~iLD)|KD$fyH|^DGJDKGj~*(qHNLzAn5gPqjfTc#2%>qNmpw6nO;&yAFQpYw|_3 zf}@F^Tkkh4pzd^bjo-YQwSOAtSG-=5>YR&pZhFd-ZVWeb``Fc;tE^7y^3#t#GyUIj zpUVL>foJMB|J2+hyt)IKl5*q0vHxiOk2hl~rZWAeTyzI)fnpPzna^@2;iXr* zy-8N8c>Wxt1slIzri`5Ms&tJ~tMo{nN?hFT)nIx{AwP@c!^llBUi3ZO#uS(7K@Y_(Dwq80Xp{yy@!Fui9_kf4^5x-H}_ z%;+$&$=nbeG=$>=`f!`QJ{B5li)|V%TG&6CnMyL%q;&j^IQCGE@buqZ*f zH5P^p$gtI!h@fZ=i2&%a z#Cn)78z8LP;(t`Hz^0xD-_P6@*jSxP91ITkr+>7)hx~ijn-*g~IhqnM^>LJ;i(hB*xpJM|T7fi+B&M~Czip34Y>$+@Zgqd7OIHEUNH`>? zVl~Gv(O1&sk&B8kI0;03lyF{a(j%9SD#Z?C#S%EB*d$b208JmFEQ9v>vR}we+k`kD_k%l4t$faoHF9!e9m zihuhdctloS?-+yOcQIGQ^3qG8gYSn2T5cRcY z1(+MIm{`{HVmAid`Fbqt!MmJzL+TjA>)|`1Vd~053 zu4PE4>P`4!kX*Yr{2c($QCM{HpGxV!f={R$3kC5qk*meaMtxGa8x-hXD4b&{E-2^9 z9Sy06##$zd-8G06O}iF8sAv zVaCO04fZo9>N3%eHEiI6~0V?xA?ZR?3+r) zMqbZl~HC^}YI5KHi`&*M(Row)|^bJ&Gt+1=hS5oKyR!w9|AT3;O zmquDemr&WWC|pGL6+K9^e^GE{`o4OL=W6-z6h0tSX~#zmrK9Zn1)cX;IWl0wWLLDt z%e_PCqhr|mLv5K)W4Hg_noVfZ*%usj}_pJU~eMKaEqVlH?>YrG(rKc2jNfvTZ zXlX~R_TmQ!_E?Y3a{U81UMp>B2`xJkqvge3q9v_$oV<{kuZy9DFlL{!n?|gD;F8h+HqY!O!U(Z~RilvQ=+S*zi60c1`1No2k|)!#^LNvPO!ZBOo} z17y&G9}!enhlemo zBP;-;S6G75EsGN?G5@%{ULg|!-&kh?V;S$G1 zWHkeFB7vcBB>4IJuuf{Qj;*e|^qMTSLms<2M1XFozi9SapCQAMYKl!aL=IO*ko=`+ z%3xnDVFI4VN+%NYTx*5{Sa81aNyF%(Ud~+ zINf$F2I{`YO4MP;+fM+nCY$XByvSxl_dvhNk%HWka~36CQTtUp)h8EhrYBd+U@RTv znO7?kDdAc!pJuz&yj?P z8)M#3gc*18q{_BnQfJ4^TFUHJA4!^@l6>9nug)=Mj5X<;U{QU7{5!Wu3HT_V_SbHz zk3~mU!gyn$&#xLsVkN(_9(6^NtA zAa$`nw%b#hEq4(r4mFG|_5hYRYLA-yKGBq%hqVLW5FWAfL$O53BbZ)4(IRjPuU~^} z?LtlcTpWxKv^`)q1I|xp%vu;<2<;~-i-+8~l+_ZC)ZZft9nPk6ewFjTwFE&}t2ne5 z-l9@$m!#<@tZz5xCx=Pji~ znTGHd?pUL_y%iI(1sQZgG(T?v5*pdq_2j1YaSjS-oNalkyPYI=sP7a+C8Z#JtJ02`& z?eS8851a;))!;g*eDZcYS|++b_{R@lZ&W%IjYGy&Z3=lc)Rf7Vgpl;mH-bBR^68if z1bXaH0Kc{XU+g+*5}H)l&dLEOI^453Ef#iK!X8aNDw0}CyGLj5SVg+ocs%*z#t_fd zzO#1wyv7*FW)5z-CH4kgi$@j5!39}UN?oMsK~BI3{gjgi`%T9Xe%61F7^E(#l_9XC zxw(*xz^=UUtsPxXo-obtcA-fR9t2RR##dqBXH=enfSi{n;QD(K1TcxSFj(9V-HGw9 zsMBqfpAi~4c@5uec46y4C0=7Ko%_9|o@|xH$Ld+A$=%xgO9`baWGo8`5`0}1L$T>8 zZyuD$vkUAs1OYfX5}gWfKJ%T+7|=;n6nyc9l|BM!#k2xrMI!*7$Y&e)!X}J8;rbBQ z{ogfSGpvh>{&7$JRDlI3zFtNQQw1My{#4Yua(3+e>UN->Z6F70nl}h1JgS{@&;Q3& z2K*Ij#-*Z!5Y4-amCIs$gX&QJL)ZL4sxB3>Tc(aV-XfHS5Ji}^?$a{OK5OB;xSVO- z{}XIOHk!XRBa(*E_1)?p=cV{`L8D2Pbbt_6hHxbzwKk;5P?M~K4esH>0@_~)^I(W? zJ1P0G*$|!9Vyj$rZx@1w=pik3l!N_jvZnMO{3nMA2<%iE#eIH-~~bHfX`AJ|TJnc9HRHwEmjR zJq~B=q;6zqOu7Q}Vdfp0gF{n{7E{-EtD*(+Ry@7LLg+$?>~X zr)7*H)qcH`aDy+*Py$55?V)`|oD^o{PtY+sYsp&5Sr+kM#`#cZMi#t*o0_-&OPEe} zj^TKhrs7o~qL+fEBQF=}#qX*WY${Pk#3bimO7)>wT}eC6h(-B@zOGi!a~`>fIVv0$ zcnvpihwWXF?T{W*<~E#p{T$Fa3~u19A#>l6{$8b8|ERDXyhnE%DL%ZhP{%bFS+7&$p}le?c;sut0R_9(Bq0iC$ep4P z0JH{YrpigmBl2N%aYGA~Qdrw2-}~;9!L-+f4@b7=Sp_?6JaR%VLYj9(0i<(tG zAstmboN~cqL2KC{-<5vKNVp}a7)`_fZtoo8V^46D)B398ui@zxs+OAN!O6yfWtuRL z1S(wqiZ~W&`XMVR;vVR`-_3D$pDX!LaowicJ|Z$lb{|;I3=PtrrIwGG(wv_8MONN5 zZI$89)l_kr{48T?Y8*spEV7HGoGp&nxb?mOspb?4b+&9pm;6FT=(wjLXGVT9wef={ zWG;)I-2pU{u6$wu0vA?5BTmf198b_cH2Iz8h^UlbKJ7!*=k4;I>$hwMI#VVc82 zd^;0T1i5XgVUX`H<*iVHiqxii+C{-%hEsnUkPda|-E?nG>Ev$|p=srCql*PfoG}Ud z;2B#91)u@HfpZ|E978{<8^jUolt4=da7F5f__Q3C=1Gs)74`yY6Qz&Ub+Pnnb^^~e z+4Y@iN4ie2bG_*IoTMw_9jS4@bzm{p-sl&JbN9(3NXtpkYBeRs?v#5ho&TXoPK$X4 z?cR9Cg2+wSy3#m87m8up3d$g|^9fC^;im>J8Od|$+(wHVz>02#sX>iYMQU;OfL9)w zxv@kYhyPNOT&KYT8gEXy;*%TMF+g#;2RwVwVtlYp)O<6Qepp0Qva0ZN?fO4?@)T06 zbw3{3`%jMUPf^=ST}$Y(kwPid%!vWZWevPr4m$miLIVKoWd#VLP>+U~sw;7q4$ zP|uCpyGz$UiL0}c!4!x^$cT>=h9+2;E>r*

  • &-E$@>YlDOiXmhsx-D954v>ZwSS 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%0AH~H-ctBf=L>ZbG!ai9~uEw!V(yK5P6ynGz|Tn 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 RUl6yel$ZbjHNoG2005wEO!5E# literal 0 HcmV?d00001 diff --git a/jupyterhub_volumes/web/index.html b/jupyterhub_volumes/web/index.html index 50e94b1..aed6471 100644 --- a/jupyterhub_volumes/web/index.html +++ b/jupyterhub_volumes/web/index.html @@ -1,13 +1,205 @@ - + - Course Portal + +DNA Metabarcoding Learning Server + -

    Welcome

    -
    + + +
    +
    + Welcome Banner +
    + +
    + + diff --git a/Caddyfile b/obijupyterhub/Caddyfile similarity index 100% rename from Caddyfile rename to obijupyterhub/Caddyfile diff --git a/Dockerfile b/obijupyterhub/Dockerfile similarity index 94% rename from Dockerfile rename to obijupyterhub/Dockerfile index d9290fb..cc95d53 100644 --- a/Dockerfile +++ b/obijupyterhub/Dockerfile @@ -39,6 +39,9 @@ RUN cp $HOME/.cargo/bin/csvlens /usr/local/bin/ RUN mkdir -p /home/${NB_USER}/.local/share/jupyter && \ chown -R ${NB_UID}:${NB_GID} /home/${NB_USER} +COPY start-notebook.sh /usr/local/bin/start-notebook.sh +RUN chmod +x /usr/local/bin/start-notebook.sh + # Switch back to Jupyter user USER ${NB_UID}:${NB_GID} WORKDIR /home/${NB_USER}/work @@ -47,3 +50,4 @@ WORKDIR /home/${NB_USER}/work ENV PATH="/home/${NB_USER}/work/course/bin:${PATH}" ENV R_LIBS_USER="/home/${NB_USER}/work/R_packages" ENV R_LIBS_SITE="/home/${NB_USER}/work/course/R_packages:/usr/local/lib/R/site-library:/usr/lib/R/site-library" + diff --git a/Dockerfile.hub b/obijupyterhub/Dockerfile.hub similarity index 100% rename from Dockerfile.hub rename to obijupyterhub/Dockerfile.hub diff --git a/docker-compose.yml b/obijupyterhub/docker-compose.yml similarity index 75% rename from docker-compose.yml rename to obijupyterhub/docker-compose.yml index ca15cd3..ba13735 100644 --- a/docker-compose.yml +++ b/obijupyterhub/docker-compose.yml @@ -12,7 +12,9 @@ services: # Access to Docker socket to spawn student containers - /var/run/docker.sock:/var/run/docker.sock # JupyterHub database persistence - - jupyterhub-data:/srv/jupyterhub + - data:/srv/jupyterhub + # The Jupyter user volumes + - users:/volumes # Mount config file directly (for easy modifications) - ./jupyterhub_config.py:/srv/jupyterhub/jupyterhub_config.py:ro networks: @@ -36,9 +38,9 @@ services: - "8888:80" volumes: - ./Caddyfile:/etc/caddy/Caddyfile - - jupyterhub-caddy-data:/data - - jupyterhub-caddy-config:/config - - jupyterhub-web:/srv # Votre app + - caddy-data:/data + - caddy-config:/config + - web:/srv # Votre app networks: - jupyterhub-network restart: unless-stopped @@ -58,9 +60,9 @@ services: SFTPGO_DEFAULT_ADMIN_PASSWORD: admin2025 SFTPGO_HTTPD__BINDINGS__0__CLIENT_IP_PROXY_HEADER: X-Real-IP volumes: - - jupyterhub-shared:/volumes/shared - - jupyterhub-course:/volumes/course - - jupyterhub-web:/volumes/web + - shared:/volumes/shared + - course:/volumes/course + - web:/volumes/web - ./sftpgo_config.json:/config/local_config.json:ro networks: @@ -73,45 +75,45 @@ networks: driver: bridge volumes: - jupyterhub-data: + data: driver: local driver_opts: type: none o: bind - device: ./jupyterhub_volumes/jupyterhub - jupyterhub-shared: + device: ../jupyterhub_volumes/jupyterhub + shared: driver: local driver_opts: type: none o: bind - device: ./jupyterhub_volumes/shared - jupyterhub-course: + device: ../jupyterhub_volumes/shared + course: driver: local driver_opts: type: none o: bind - device: ./jupyterhub_volumes/course - jupyterhub-web: + device: ../jupyterhub_volumes/course + web: driver: local driver_opts: type: none o: bind - device: ./jupyterhub_volumes/web - jupyterhub-caddy-data: + device: ../jupyterhub_volumes/web + caddy-data: driver: local driver_opts: type: none o: bind - device: ./jupyterhub_volumes/caddy/data - jupyterhub-caddy-config: + device: ../jupyterhub_volumes/caddy/data + caddy-config: driver: local driver_opts: type: none o: bind - device: ./jupyterhub_volumes/caddy/config - jupyterhub-users: + device: ../jupyterhub_volumes/caddy/config + users: driver: local driver_opts: type: none o: bind - device: ./jupyterhub_volumes/users \ No newline at end of file + device: ../jupyterhub_volumes/users \ No newline at end of file diff --git a/jupyterhub_config.py b/obijupyterhub/jupyterhub_config.py similarity index 73% rename from jupyterhub_config.py rename to obijupyterhub/jupyterhub_config.py index 652691f..2d7db66 100644 --- a/jupyterhub_config.py +++ b/obijupyterhub/jupyterhub_config.py @@ -1,4 +1,7 @@ import os +import logging +from pathlib import Path + # Base configuration coucou c.JupyterHub.spawner_class = 'dockerspawner.DockerSpawner' @@ -7,6 +10,8 @@ c.JupyterHub.spawner_class = 'dockerspawner.DockerSpawner' c.JupyterHub.log_level = 'DEBUG' c.Spawner.debug = True +VOLUMES_BASE_PATH = '/volumes' + # Docker image to use for student containers c.DockerSpawner.image = 'jupyterhub-student:latest' @@ -21,6 +26,11 @@ c.DockerSpawner.client_kwargs = {'base_url': 'unix:///var/run/docker.sock'} c.JupyterHub.hub_ip = '0.0.0.0' c.JupyterHub.hub_connect_ip = 'jupyterhub' +c.DockerSpawner.environment = { + # R package library in read-only course directory under work/ + 'R_LIBS_USER': '/home/jovyan/work/R_packages', + 'R_LIBS_SITE': '/home/jovyan/work/course/R_packages:/usr/local/lib/R/site-library:/usr/lib/R/site-library' +} # Network configuration for student containers c.DockerSpawner.use_internal_ip = True c.DockerSpawner.network_name = 'jupyterhub-network' @@ -38,18 +48,34 @@ notebook_dir = '/home/jovyan/work' c.DockerSpawner.notebook_dir = notebook_dir # Personal volume for each student + shared volumes under work/ +# Pre-spawn hook to create user directory +async def create_user_dir(spawner): + """Create user directory if it doesn't exist""" + user_dir = os.path.join(VOLUMES_BASE_PATH, spawner.user.name) + spawner.log.info(f"Ensured user directory exists: {user_dir}") + Path(user_dir).mkdir(parents=True, exist_ok=True) + os.chmod(user_dir, 0o755) + +c.Spawner.pre_spawn_hook = create_user_dir + c.DockerSpawner.volumes = { # Personal volume (persistent) - root directory - 'jupyterhub-user-{username}': '/home/jovyan/work', + 'obijupyterhub_shared-{username}' : '/home/jovyan/work', # Shared volume between all students - under work/ - 'jupyterhub-shared': '/home/jovyan/work/shared', + 'obijupyterhub_shared': '/home/jovyan/work/shared', # Shared read-only volume for course files - under work/ - 'jupyterhub-course': { + 'obijupyterhub_course': { 'bind': '/home/jovyan/work/course', 'mode': 'ro' # read-only } } +c.DockerSpawner.volume_driver = 'local' +c.DockerSpawner.volume_driver_opts = { + 'type': 'none', + 'device': '/volumes', + 'o': 'bind' +} # Memory and CPU configuration (adjust according to your needs) c.DockerSpawner.mem_limit = '2G' c.DockerSpawner.cpu_limit = 1.0 @@ -93,3 +119,6 @@ c.JupyterHub.bind_url = 'http://0.0.0.0:8000/jupyter/' # Timeout c.Spawner.start_timeout = 300 c.Spawner.http_timeout = 120 + +# Post-start hook to create R_packages directory after volumes are mounted +c.DockerSpawner.cmd = ['start-notebook.sh'] diff --git a/sftpgo_config.json b/obijupyterhub/sftpgo_config.json similarity index 100% rename from sftpgo_config.json rename to obijupyterhub/sftpgo_config.json diff --git a/obijupyterhub/start-notebook.sh b/obijupyterhub/start-notebook.sh new file mode 100644 index 0000000..b92fbe8 --- /dev/null +++ b/obijupyterhub/start-notebook.sh @@ -0,0 +1,28 @@ +#!/bin/bash +set -e + +# Function to create directory +create_r_packages_dir() { + local max_attempts=10 + local attempt=1 + + while [ $attempt -le $max_attempts ]; do + if [ -d "/home/jovyan/work" ]; then + mkdir -p /home/jovyan/work/R_packages + echo "R_packages directory created successfully" + return 0 + fi + echo "Waiting for work directory to be mounted (attempt $attempt/$max_attempts)..." + sleep 1 + attempt=$((attempt + 1)) + done + + echo "Warning: Could not verify work directory mount" + return 1 +} + +# Create R_packages directory +create_r_packages_dir + +# Start the single-user server +exec jupyterhub-singleuser "$@" diff --git a/start-jupyterhub.sh b/start-jupyterhub.sh index 294e529..900e4d0 100755 --- a/start-jupyterhub.sh +++ b/start-jupyterhub.sh @@ -3,18 +3,35 @@ # JupyterHub startup script for labs # Usage: ./start-jupyterhub.sh +SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +DOCKER_DIR="${SCRIPT_DIR}/obijupyterhub/" + set -e # Stop on error echo "🚀 Starting JupyterHub for Lab" echo "==============================" echo "" +# Compile the web site +echo "" +echo -e "${BLUE}🔨 Building the volume directories...${NC}" +pushd "${SCRIPT_DIR}/jupyterhub_volumes" +mkdir -p caddy +mkdir -p course/bin +mkdir -p course/R_packages +mkdir -p jupyterhub +mkdir -p shared +mkdir -p users +popd + # Colors for display GREEN='\033[0;32m' BLUE='\033[0;34m' YELLOW='\033[1;33m' NC='\033[0m' # No Color +pushd "${DOCKER_DIR}" + # Check we're in the right directory if [ ! -f "Dockerfile" ] || [ ! -f "docker-compose.yml" ]; then echo "❌ Error: Run this script from the jupyterhub-tp/ directory" @@ -39,6 +56,14 @@ echo "" echo -e "${BLUE}🔨 Building JupyterHub image...${NC}" docker build -t jupyterhub-hub:latest -f Dockerfile.hub . +# Compile the web site +echo "" +echo -e "${BLUE}🔨 Building web site...${NC}" +pushd ../web_src +quarto render +python3 ../tools/generate_pages_json.py +popd + # Start the stack echo "" echo -e "${BLUE}🚀 Starting JupyterHub...${NC}" @@ -49,6 +74,8 @@ echo "" echo -e "${YELLOW}⏳ Waiting for JupyterHub to start...${NC}" sleep 3 +popd + # Check that container is running if docker ps | grep -q jupyterhub; then echo "" diff --git a/tools/generate_pages_json.py b/tools/generate_pages_json.py new file mode 100644 index 0000000..d96af1f --- /dev/null +++ b/tools/generate_pages_json.py @@ -0,0 +1,60 @@ +#!/usr/bin/env python3 +import os +import re +import json + +SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__)) +PAGES_DIR = os.path.join(SCRIPT_DIR,"..","jupyterhub_volumes","web","pages") + +def clean_label(filename): + """Nettoie les préfixes numériques et formate un label lisible.""" + name = os.path.splitext(os.path.basename(filename))[0] + name = re.sub(r'^\d+_', '', name) # Supprime "00_", "01_", etc. + name = name.replace("_", " ") + return name.capitalize() + +def build_tree(directory): + """Construit récursivement la structure de menu à partir du répertoire donné.""" + entries = [] + + for name in sorted(os.listdir(directory)): + path = os.path.join(directory, name) + + # Ignorer les répertoires cachés ou ceux finissant par 'libs' + if os.path.isdir(path): + if name.endswith("libs") or name.startswith("."): + continue + + children = build_tree(path) + if children: + entries.append({ + "label": clean_label(name), + "children": children + }) + + elif name.endswith(".html"): + entries.append({ + "file": os.path.relpath(path, PAGES_DIR).replace("\\", "/"), + "label": clean_label(name) + }) + + return entries + +def count_pages(tree): + """Compte le nombre total de fichiers HTML dans l'arborescence.""" + total = 0 + for node in tree: + if "file" in node: + total += 1 + if "children" in node: + total += count_pages(node["children"]) + return total + +if __name__ == "__main__": + tree = build_tree(PAGES_DIR) + output_path = os.path.join(PAGES_DIR, "pages.json") + + with open(output_path, "w", encoding="utf-8") as out: + json.dump(tree, out, indent=2, ensure_ascii=False) + + print(f"✅ Generated {output_path} with {count_pages(tree)} HTML pages.") diff --git a/install_packages.sh b/tools/install_packages.sh similarity index 93% rename from install_packages.sh rename to tools/install_packages.sh index 099c248..f99ccb5 100755 --- a/install_packages.sh +++ b/tools/install_packages.sh @@ -5,6 +5,9 @@ set -e +SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +VOLUME="obijupyterhub_course" + GREEN='\033[0;32m' BLUE='\033[0;34m' YELLOW='\033[1;33m' @@ -54,7 +57,7 @@ docker run --rm \ echo "" echo -e "${BLUE}💾 Copying to course/R_packages...${NC}" docker run --rm \ - -v jupyterhub-course:/target \ + -v ${VOLUME}:/target \ -v "${TEMP_DIR}:/source" \ alpine sh -c "mkdir -p /target/R_packages && cp -r /source/* /target/R_packages/" @@ -67,7 +70,7 @@ echo -e "${GREEN}✅ Installation complete!${NC}" echo "" echo -e "${BLUE}📦 Installed packages in work/course/R_packages:${NC}" docker run --rm \ - -v jupyterhub-course:/course \ + -v ${VOLUME}:/course \ alpine ls -1 /course/R_packages/ echo "" diff --git a/web_src/.gitignore b/web_src/.gitignore new file mode 100644 index 0000000..d193130 --- /dev/null +++ b/web_src/.gitignore @@ -0,0 +1,3 @@ +/.quarto/ +**/*.quarto_ipynb +/_output/ diff --git a/web_src/00_home.qmd b/web_src/00_home.qmd new file mode 100644 index 0000000..934f1f1 --- /dev/null +++ b/web_src/00_home.qmd @@ -0,0 +1,8 @@ +--- +title: "Home" +format: html +--- + +# Welcome to the DNA Metabarcoding Learning Server + +This is the **home page** of your training platform. Here you can access Jupyter notebooks, learn DNA metabarcoding analysis with OBITools and R, and explore example datasets. diff --git a/web_src/_quarto.yml b/web_src/_quarto.yml new file mode 100644 index 0000000..b35cdf8 --- /dev/null +++ b/web_src/_quarto.yml @@ -0,0 +1,10 @@ +project: + type: default + output-dir: _output + post-render: + - scripts/copy-to-web.sh + +format: + html: + toc: false + self-contained: true diff --git a/web_src/lectures/computers/regex/lecture_regex.qmd b/web_src/lectures/computers/regex/lecture_regex.qmd new file mode 100644 index 0000000..f8e0d26 --- /dev/null +++ b/web_src/lectures/computers/regex/lecture_regex.qmd @@ -0,0 +1,335 @@ +--- +title: "Regular Expressions" +format: + html: + embed-resources: true # pour que les SVG soient inclus + self-contained: true # optionnel : tout est intégré dans le HTML +--- + +Regular expressions allow describing a fragment of text by authorizing variations in that text. As an example, $tot*o$ describes a piece of text starting with a "t" then an "o" followed by an undetermined number of "t"s and a final "o". We can therefore consider a regular expression as a pattern of the actual text being searched. To clarify the rest of this text, we'll admit the following definitions: + +## Definitions + +- **Alphabet**: The set of symbols we are allowed to use. For example, DNA is described using a four-letter alphabet ${A, C, G, T}$. Standard UNIX programs using regular expressions (`egrep`, `awk`, etc...) work on a much larger alphabet including all uppercase and lowercase letters, numbers, punctuation marks, and other characters representing formatting actions like line breaks. + +- **Text**: The sequence of symbols corresponding to the analyzed document. A text corresponds to an alphabet. A text can therefore represent very diverse things: a chromosome or protein sequence, the output of another program, a series of descriptions of biological objects such as those obtainable by downloading "flat" files from biological databases. + +- **Word**: A word is a subset of consecutive symbols from a text. This is a more general definition than that of a word in the French language, which gives word status to a group of letters in a text preceded and followed by a space or punctuation mark. + +We'll say that a regular expression is a pattern representing one or more words in a text. Search engines use this pattern to find occurrences of words matching this pattern in a text. + +## The Simplest Regular Expression + +Any piece of text can be considered as a regular expression that recognizes text identical to itself. For example, $ATG$ recognizes the sequence of three letters A, T, G. + +```{mermaid} +graph LR + D((D)) -->|A| 1((1)) + 1 -->|T| 2((2)) + 2 -->|G| F((F)) + style D fill:#90EE90 + style F fill:#FFC0CB +``` + +## Introducing Ambiguities + +The main interest of regular expressions is their ability to describe words (text fragments) by authorizing certain ambiguities. There are two main classes of ambiguities. The first allows describing alterations on symbols. The second category allows describing the repetition of symbols. Alterations are introduced in the regular expression by using special characters. + +### Symbol Ambiguities + +#### Any Character + +The first special character is the dot ".". It can recognize any character. If we stick to the example of codons, the regular expression `regex{.TG}` recognizes any character followed by a "T" then a "G". + +```{mermaid} +graph LR + D((D)) -->|any| 1((1)) + 1 -->|T| 2((2)) + 2 -->|G| F((F)) + style D fill:#90EE90 + style F fill:#FFC0CB +``` + +#### A Specific Subset of Characters + +The dot sometimes offers too much flexibility. There's another mechanism to list an authorized group of characters. Just list the authorized characters between brackets "[" and "]". The expression `regex{[ACGT]}` recognizes one of the four letters "A", "C", "G", or "T". + +In bacteria, initiation codons are multiple. Most of the time, codons *ATG*, *TTG*, and *GTG* are recognized as translation initiation codons. These three codons only vary by their first letter, which can be an "A", "T", or "G". The regular expression `regex{[ATG]TG}` recognizes words of three letters starting with a symbol "A", "T", or "G" followed by a "T" and a "G". + +```{mermaid} +graph LR + D((D)) -->|A/T/G| 1((1)) + 1 -->|T| 2((2)) + 2 -->|G| F((F)) + style D fill:#90EE90 + style F fill:#FFC0CB +``` + +#### Any Character Except a Subgroup + +Sometimes it's necessary to describe a set of characters as: "any character of the alphabet except for a particular group of symbols." To describe these negated groups, the same notation is used as for character groups described previously. The only difference is that the group must start with the "^" character. The expression `regex{[^A-Z]}` therefore recognizes any character except an uppercase letter, and `regex{[^b]}` recognizes all characters except "b". + +### Variations on Symbol Repetition + +#### A Symbol Present Zero or One Time + +The simplest alteration on the number of occurrences of a symbol is represented by "?". This character added after the description of a symbol indicates that it can be present or absent in the recognized word. That is, present 0 or 1 times. + +```{mermaid} +graph LR + D((D)) -->|b| 1((1)) + 1 -->|a| 2((2)) + 2 -->|l| 3((3)) + 3 -->|l| 4((4)) + 4 -->|o| 5((5)) + 5 -->|n| 6((6)) + 5 -->|s| 7((7)) + 7 -->|n| F((F)) + 6 --> F + style D fill:#90EE90 + style F fill:#FFC0CB +``` + +#### A Symbol Present an Undetermined Number of Times + +A more flexible form regarding the presence or absence of a symbol in words recognized by a regular expression is provided by the "*" character, which indicates the preceding symbol can be absent or present an undetermined number of times. + +```{mermaid} +graph LR + D((D)) -->|T| 1((1)) + 1 -->|T| 2((2)) + 2 -->|A| 2 + 2 -->|T| 3((3)) + 3 -->|T| F((F)) + style D fill:#90EE90 + style F fill:#FFC0CB +``` + +#### A Symbol Present at Least Once + +There's syntax that simplifies writing such a constraint. It uses the "+" character as a marker. Thus, the regular expressions `regex{TTA+TT}` and `regex{TTAA*TT}` are strictly equivalent. + +```{mermaid} +graph LR + D((D)) -->|T| 1((1)) + 1 -->|T| 2((2)) + 2 -->|A| 3((3)) + 3 -->|A| 3 + 3 -->|T| 4((4)) + 4 -->|T| F((F)) + style D fill:#90EE90 + style F fill:#FFC0CB +``` + +#### Describing a Repetition Interval + +A final notation, recently introduced in regular expression syntax, allows giving a lower and upper bound to the number of occurrences of a symbol. The format uses braces "{" and "}" to frame the two bounds. + +### Special Characters + +#### Beginning and End of Line + +By adding a "^" at the beginning of an expression or "$" at the end of an expression, you can force the recognized word to be at the beginning or end of a line. + +#### The Double Meaning of a Character + +Each character has two meanings: +- A primary meaning: the symbol represented by the character +- A meta-meaning: Which gives another meaning to the character + +You switch from one meaning to the other by preceding the character with the backslash "\". + +### Combining Multiple Expressions + +The question arises when combining multiple regular expressions with the logical OR operator. I want to build an expression that recognizes the words "papa" or "mama". For this, combine the two simple expressions `regex{papa}` and `regex{mama}` using the "|" character to get the global expression `regex{papa|mama}`. + +```{mermaid} +graph LR + D((D)) -->|p| 1((1)) + 1 -->|a| 2((2)) + 2 -->|p| 3((3)) + 3 -->|a| F1((F)) + + D -->|m| 4((4)) + 4 -->|a| 5((5)) + 5 -->|m| 6((6)) + 6 -->|a| F2((F)) + + style D fill:#90EE90 + style F1 fill:#FFC0CB + style F2 fill:#FFC0CB +``` + +### Subexpressions + +#### Subexpressions and Combination of Multiple Expressions + +It's possible to isolate a subpart of a regular expression using parentheses "(" and ")". + +#### Reusing a Subexpression + +Normally, each step of a regular expression is independent of what happened before in the automaton. It's possible thanks to subexpressions to go against this principle by memorizing a sequence of previous states using a subexpression. + +## Summary of Authorized Alteration Forms + +### Symbol Ambiguity + +| Symbol | Recognizes | +|--------|------------| +| . | Any character | +| [ ] | One of the characters listed between brackets | +| [^ ] | Any character except those listed between brackets | + +### Repetition Ambiguity + +| Symbol | Number of accepted occurrences | +|--------|--------------------------------| +| * | 0 to ∞ | +| ? | 0 or 1 | +| + | 1 or more | +| {x,y} | between x and y occurrences | +| {x,} | at least x occurrences | + +### Special Characters + +| Symbol | Meaning | +|--------|---------| +| ^ at expression start | beginning of line | +| $ at expression end | end of line | +| \n | line break | +| \t | a tabulation | + +## Exercise: Identifying Genes with a Regular Expression + +To identify a CDS, we need to combine three regular expressions: one for the initiation codon, the second for non-stop codons, and the last for stop codons. + +### Start Codons + +In bacteria, there are three start codons: ATG, TTG, and GTG. The corresponding regular expression is: `regex{[ATG]TG}` + +```{mermaid} +graph LR + D((D)) -->|A/T/G| 1((1)) + 1 -->|T| 2((2)) + 2 -->|G| F((F)) + style D fill:#90EE90 + style F fill:#FFC0CB +``` + +### Stop Codons + +In most bacteria, there are three different termination codons: TAA (ochre), TAG (amber), and TGA (opale). The regular expression recognizing all stop codons is `regex{T(A[AG]\|GA)}` + +```{mermaid} +graph LR + D((D)) -->|T| 1((1)) + 1 -->|A| 2((2)) + 2 -->|A/G| F1((F)) + 1 -->|G| 3((3)) + 3 -->|A| F2((F)) + style D fill:#90EE90 + style F1 fill:#FFC0CB + style F2 fill:#FFC0CB +``` + +### Non-stop Codons + +The regular expression recognizing the 61 non-stop codons is: + +`regex{[ACG][ACGT][ACGT]\|T([CT][ACGT]\|G[CGT]\|A[CT])}` + +```{mermaid} +graph LR + %% État initial + D((D)) + style D fill:#90EE90 + + %% Branche 1: [ACG][ACGT][ACGT] + D -->|A/C/G| A1((1)) + A1 -->|A/C/G/T| A2((2)) + A2 -->|A/C/G/T| F1((F)) + + %% Branche 2: T([CT][ACGT]|G[CGT]|A[CT]) + D -->|T| B1((3)) + + %% Sous-branche 2.1: [CT][ACGT] + B1 -->|C/T| B2a((4)) + B2a -->|A/C/G/T| F2((F)) + + %% Sous-branche 2.2: G[CGT] + B1 -->|G| B2b((5)) + B2b -->|C/G/T| F3((F)) + + %% Sous-branche 2.3: A[CT] + B1 -->|A| B2c((6)) + B2c -->|C/T| F4((F)) + + %% États finaux + style F1 fill:#FFC0CB + style F2 fill:#FFC0CB + style F3 fill:#FFC0CB + style F4 fill:#FFC0CB +``` + +### Recognizing a Complete CDS + +Recognizing a complete CDS now comes down to assembling the regular expression for starts, that for non-stops (authorizing its repetition), then that recognizing stop codons. + +`regex{[ATG]TG([ACG][ACGT][ACGT]\|T([CT][ACGT]\|G[CGT]\|A[CT]))+T(A[GA]\|GA)}` + +```{mermaid} +graph LR + %% État initial + D((D)) + style D fill:#90EE90 + + %% Début: [ATG]TG + D -->|A/T/G| 1((1)) + 1 -->|T| 2((2)) + 2 -->|G| 3((3)) + + %% Boucle principale pour la partie médiane (répétition +) + 3 --> 4((4)) + + %% Alternative 1: [ACG][ACGT][ACGT] + 4 -->|A/C/G| 5((5)) + 5 -->|A/C/G/T| 6((6)) + 6 -->|A/C/G/T| 7((7)) + + %% Alternative 2: T([CT][ACGT]|G[CGT]|A[CT]) + 4 -->|T| 8((8)) + + %% Sous-alternative 2.1: [CT][ACGT] + 8 -->|C/T| 9((9)) + 9 -->|A/C/G/T| 7((7)) + + %% Sous-alternative 2.2: G[CGT] + 8 -->|G| 10((10)) + 10 -->|C/G/T| 7((7)) + + %% Sous-alternative 2.3: A[CT] + 8 -->|A| 11((11)) + 11 -->|C/T| 7((7)) + + %% Boucle de répétition + 7 --> 4 + + %% Fin: T(A[GA]|GA) + 7 -->|T| 12((12)) + + %% Alternative finale 1: A[GA] + 12 -->|A| 13((13)) + 13 -->|A/G| F((F)) + + %% Alternative finale 2: GA + 12 -->|G| 14((14)) + 14 -->|A| F((F)) + + %% État final + style F fill:#FFC0CB +``` + +To impose that the CDS codes for a protein of at least 100 amino acids, just replace the "+" sign with a constraint on the minimum number of repetitions of non-stop codons to 99. + +`[ATG]TG([ACG][ACGT][ACGT]\|T([CT][ACGT]\|G[CGT]\|A[CT])){99,}T(A[GA]\|GA)` + diff --git a/web_src/lectures/computers/regex/slides.css b/web_src/lectures/computers/regex/slides.css new file mode 100644 index 0000000..98d9503 --- /dev/null +++ b/web_src/lectures/computers/regex/slides.css @@ -0,0 +1,6 @@ +/* Centre toutes les images dans les slides */ +.quarto-figure-default { + display: block; + margin-left: auto; + margin-right: auto; +} diff --git a/web_src/lectures/computers/regex/slides_regex.qmd b/web_src/lectures/computers/regex/slides_regex.qmd new file mode 100644 index 0000000..c0bc8ec --- /dev/null +++ b/web_src/lectures/computers/regex/slides_regex.qmd @@ -0,0 +1,369 @@ +--- +title: "Regular Expressions" +format: + revealjs: + theme: beige # thème des slides + transition: fade # effet de transition entre les slides +--- + + +## Regular Expressions + +Pattern matching for text with variations + +Example: `tot*o` matches: + +- "to" + any number of "t" + "o" +- "toto", "totto", "totttto", etc. + +--- + +## Basic Concepts + +**Alphabet**: Set of allowed symbols + +- DNA: {A, C, G, T} +- Text: {letters, digits, punctuation, ...} + +**Text**: Sequence of symbols from alphabet + +**Word**: Subsequence of consecutive symbols + +--- + +## Simple Regular Expression + +`ATG` matches exactly "ATG" + +```{mermaid} +graph LR + D((D)) -->|A| 1((1)) + 1 -->|T| 2((2)) + 2 -->|G| F((F)) + style D fill:#90EE90 + style F fill:#FFC0CB +``` + +--- + +## Symbol Ambiguities + +### Any Character: `.` + +`.TG` matches: + +- "ATG", "TTG", "GTG", "CTG", ... + +```{mermaid} +graph LR + D((D)) -->|any| 1((1)) + 1 -->|T| 2((2)) + 2 -->|G| F((F)) + style D fill:#90EE90 + style F fill:#FFC0CB +``` + +--- + +## Character Classes + +`[ATG]TG` matches only: + +- "ATG", "TTG", "GTG" + +```{mermaid} +graph LR + D((D)) -->|A/T/G| 1((1)) + 1 -->|T| 2((2)) + 2 -->|G| F((F)) + style D fill:#90EE90 + style F fill:#FFC0CB +``` + +--- + +## Ranges and Negation + +**Ranges**: `[A-Z]`, `[0-9]`, `[A-Za-z0-9]` + +**Negation**: `[^A-Z]` (anything except uppercase) + +--- + +## Repetition: Zero or One + +`ballons?` matches: + +- "ballon" (singular) +- "ballons" (plural) + +```{mermaid} +graph LR + D((D)) -->|b| 1((1)) + 1 -->|a| 2((2)) + 2 -->|l| 3((3)) + 3 -->|l| 4((4)) + 4 -->|o| 5((5)) + 5 -->|n| 6((6)) + 5 -->|s| 7((7)) + 7 -->|n| F((F)) + 6 --> F + style D fill:#90EE90 + style F fill:#FFC0CB +``` + +--- + +## Repetition: Zero or More + +`TTA*TT` matches: + +- "TTTT", "TTATT", "TTAAATT", ... + +```{mermaid} +graph LR + D((D)) -->|T| 1((1)) + 1 -->|T| 2((2)) + 2 -->|A| 2 + 2 -->|T| 3((3)) + 3 -->|T| F((F)) + style D fill:#90EE90 + style F fill:#FFC0CB +``` + +--- + +## Repetition: One or More + +`TTA+TT` matches: + +- "TTATT", "TTAATT", "TTAAATT", ... +- But NOT "TTTT" + +```{mermaid} +graph LR + D((D)) -->|T| 1((1)) + 1 -->|T| 2((2)) + 2 -->|A| 3((3)) + 3 -->|A| 3 + 3 -->|T| 4((4)) + 4 -->|T| F((F)) + style D fill:#90EE90 + style F fill:#FFC0CB +``` + +--- + +## Exact Repetition + +`A{3,5}` matches: + +- "AAA", "AAAA", "AAAAA" + +`A{3}` matches exactly "AAA" + +--- + +## Special Characters + +- `^` - Start of line +- `$` - End of line +- `\n` - Newline +- `\t` - Tab + +Examples: + +- `^start` - "start" at beginning of line +- `end$` - "end" at end of line +- `^exact$` - "exact" as entire line + +--- + +## Alternation + +`papa|mama` matches either: + +- "papa" OR "mama" + +```{mermaid} +graph LR + D((D)) -->|p| 1((1)) + 1 -->|a| 2((2)) + 2 -->|p| 3((3)) + 3 -->|a| F1((F)) + + D -->|m| 4((4)) + 4 -->|a| 5((5)) + 5 -->|m| 6((6)) + 6 -->|a| F2((F)) + + style D fill:#90EE90 + style F1 fill:#FFC0CB + style F2 fill:#FFC0CB +``` + +--- + +## Grouping + +`T(AA|AG|GA)` matches: + +- "TAA", "TAG", "TGA" + +Instead of incorrect: `TAA|AG|GA` + +--- + +## Backreferences + +`([ACGT]{3})\1{9,}` matches: + +- Any triplet repeated 10+ times +- Example: "CAGCAGCAGCAG..." + +--- + +## Quick Reference + +### Symbol Ambiguity +| Pattern | Matches | +|---------|---------| +| `.` | Any character | +| `[abc]` | a, b, or c | +| `[^abc]` | Not a, b, or c | + +### Repetition +| Pattern | Matches | +|---------|---------| +| `?` | 0 or 1 | +| `*` | 0 or more | +| `+` | 1 or more | +| `{n,m}` | n to m times | + +--- + +## Biological Application: Gene Finding + +Find Coding Sequences (CDS) in bacterial DNA: + +1. Start codon +2. Multiple non-stop codons +3. Stop codon + +--- + +## Start Codons + +Bacterial start: ATG, TTG, GTG + +Pattern: `[ATG]TG` + +```{mermaid} +graph LR + D((D)) -->|A/T/G| 1((1)) + 1 -->|T| 2((2)) + 2 -->|G| F((F)) + style D fill:#90EE90 + style F fill:#FFC0CB +``` + +--- + +## Stop Codons + +Bacterial stop: TAA, TAG, TGA + +Pattern: `T(A[AG]|GA)` + +```{mermaid} +graph LR + D((D)) -->|T| 1((1)) + 1 -->|A| 2((2)) + 2 -->|A/G| F1((F)) + 1 -->|G| 3((3)) + 3 -->|A| F2((F)) + style D fill:#90EE90 + style F1 fill:#FFC0CB + style F2 fill:#FFC0CB +``` + +--- + +## Non-Stop Codons + +61 codons that aren't stop codons + +Pattern: `[ACG][ACGT][ACGT]|T([CT][ACGT]|G[CGT]|A[CT])` + +```{mermaid} +graph LR + D((D)) -->|A/C/G| A1((1)) + A1 -->|A/C/G/T| A2((2)) + A2 -->|A/C/G/T| F1((F)) + D -->|T| B1((3)) + B1 -->|C/T| B2a((4)) + B2a -->|A/C/G/T| F2((F)) + B1 -->|G| B2b((5)) + B2b -->|C/G/T| F3((F)) + B1 -->|A| B2c((6)) + B2c -->|C/T| F4((F)) + style D fill:#90EE90 + style F1 fill:#FFC0CB + style F2 fill:#FFC0CB + style F3 fill:#FFC0CB + style F4 fill:#FFC0CB +``` + +--- + +## Complete CDS Pattern + +`[ATG]TG([ACG][ACGT][ACGT]|T([CT][ACGT]|G[CGT]|A[CT]))+T(A[GA]|GA)` + +- Start codon +- 1+ non-stop codons +- Stop codon + +```{mermaid} +graph LR + D((D)) -->|A/T/G| 1((1)) + 1 -->|T| 2((2)) + 2 -->|G| 3((3)) + 3 --> 4((4)) + 4 -->|A/C/G| 5((5)) + 5 -->|A/C/G/T| 6((6)) + 6 -->|A/C/G/T| 7((7)) + 4 -->|T| 8((8)) + 8 -->|C/T| 9((9)) + 9 -->|A/C/G/T| 7 + 8 -->|G| 10((10)) + 10 -->|C/G/T| 7 + 8 -->|A| 11((11)) + 11 -->|C/T| 7 + 7 --> 4 + 7 -->|T| 12((12)) + 12 -->|A| 13((13)) + 13 -->|A/G| F((F)) + 12 -->|G| 14((14)) + 14 -->|A| F + style D fill:#90EE90 + style F fill:#FFC0CB +``` + +--- + +## Minimum Length CDS + +`[ATG]TG([ACG][ACGT][ACGT]|T([CT][ACGT]|G[CGT]|A[CT])){99,}T(A[GA]|GA)` + +Requires at least 100 amino acids (99 non-stop codons + stop) + +--- + +## Summary + +- Regular expressions = text patterns +- Symbol ambiguity: `.`, `[]`, `[^]` +- Repetition: `?`, `*`, `+`, `{}` +- Special chars: `^`, `$`, `\n`, `\t` +- Powerful for biological sequence analysis \ No newline at end of file diff --git a/web_src/scripts/copy-to-web.sh b/web_src/scripts/copy-to-web.sh new file mode 100755 index 0000000..cb6309f --- /dev/null +++ b/web_src/scripts/copy-to-web.sh @@ -0,0 +1,2 @@ +#!/bin/bash +rsync -av --delete _output/ ../jupyterhub_volumes/web/pages/ diff --git a/xxx.txt b/xxx.txt new file mode 100644 index 0000000..eda6125 --- /dev/null +++ b/xxx.txt @@ -0,0 +1,41 @@ +. +├── start-jupyterhub.sh +├── docker +│   ├── Caddyfile +│   ├── docker-compose.yml +│   ├── Dockerfile +│   ├── Dockerfile.hub +│   ├── jupyterhub_config.py +│   ├── sftpgo_config.json +│   └── start-notebook.sh +├── jupyterhub_volumes +│   ├── caddy +│   ├── course +│   │   ├── bin +│   │   └── R_packages +│   ├── jupyterhub +│   ├── shared +│   ├── users +│   └── web +│   ├── img +│   │   └── welcome_metabar.webp +│   ├── index.html +│   └── pages +│   └── pages.json +├── Readme.md +├── tools +│   ├── generate_pages_json.py +│   └── install_packages.sh +├── users.json +└─── web_src +    ├── _output +    ├── _quarto.yml +    ├── 00_home.qmd +    ├── lectures +    │   └── computers +    │   └── regex +    │   ├── lecture_regex.qmd +    │   ├── slides_regex.qmd +    │   └── slides.css +    └── scripts +    └── copy-to-web.sh -- 2.49.1