From fd4449614277c4d2d379ae67edd59c079ab38bbb Mon Sep 17 00:00:00 2001 From: Ksenia Krasheninnikova Date: Mon, 15 Apr 2024 10:52:30 +0100 Subject: [PATCH 01/14] Bump new version --- nextflow.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nextflow.config b/nextflow.config index 06f099e..fa06570 100644 --- a/nextflow.config +++ b/nextflow.config @@ -219,7 +219,7 @@ manifest { description = """A bioinformatics best-practice analysis pipeline for genome assembly from PacBio CCS and HiC reads""" mainScript = 'main.nf' nextflowVersion = '!>=22.10.1' - version = '0.9.1dev' + version = '0.9.1' doi = '10.5281/zenodo.10391851' } From 0eaff6c4ab2e9b11063f6f56b3282e5ebecb111d Mon Sep 17 00:00:00 2001 From: Ksenia Date: Mon, 15 Apr 2024 11:55:43 +0100 Subject: [PATCH 02/14] Update CHANGELOG.md --- CHANGELOG.md | 74 +++++++--------------------------------------------- 1 file changed, 10 insertions(+), 64 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3db051c..5a5e88d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,45 +3,18 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## v0.9.1dev - [date] - -### `Added` - -### `Fixed` - -### `Dependencies` - -### `Deprecated` - -## [[0.9.0](https://github.com/sanger-tol/genomeassembly/releases/tag/0.9.0)] - Night Fury - [2023-12-15] +## [[0.9.1](https://github.com/sanger-tol/genomeassembly/releases/tag/0.9.1)] - Hideous Zippleback - [2024-04-15] Initial release of sanger-tol/genomeassembly, created with the [nf-core](https://nf-co.re/) template. ### Enhancements & fixes -- Created with nf-core/tools template v2.8.0. -- Implements the basic genome assembly pipeline used in ToL -- Subworkflow to generate Genomescope model -- Subworkflow to generate a raw genome assembly -- Subworkflow to purge haplotigs from primary -- Subworkflow for polishing with 10X data -- Subworkflow for HiC mapping -- Subworkflow for scaffolding -- Subworkflow to run organelles assembly -- Subworkflow to estimate statistics using gfastats, BUSCO, MerquryFK. - -### Parameters - -| Old parameter | New parameter | -| ------------- | ---------------------- | -| | --input | -| | --bed_chunks_polishing | -| | --cool_bin | -| | --polishing_on | -| | --hifiasm_hic_on | -| | --organelles_on | - -> **NB:** Parameter has been **added** if just the new parameter information is present. +- OATK module is added into the ORGANELLES subworkflow +- ORGANELLES subworkflow is now called once in the main workflow and runs MITOHIFI in read and assembly mode along with OATK +- ORGANELLES module is now tested in github CI +- NCBI API secret introduced to run MITOHIFI_FINDMITOREFERENCE module +- hifiasm haplotigs are not purged anymore +- Longranger container version is updated ### Software dependencies @@ -49,35 +22,8 @@ Note, since the pipeline is using Nextflow DSL2, each process will be run with i | Dependency | Old version | New version | | --------------- | ----------- | ---------------------------------------- | -| bcftools | | 1.17, 1.16 | -| bed_chunks.sh | | 1.0 | -| bedtools | | 2.31.0 | -| busco | | 5.4.3 | -| bwamem2 | | 2.2.1 | -| coverage.sh | | 1.0 | -| cooler | | 0.8.11 | -| cut | | 8.30 | -| fastk | | f18a4e6d2207539f7b84461daebc54530a9559b0 | -| freebayes | | 1.3.6 | -| gatk4 | | 4.4.0.0 | -| gfastats | | 1.3.5 | -| GNU Awk | | 5.1.0 | -| hifiasm | | 0.19.3-r572 | -| juicer | | 1.1 | -| juicer tools | | 1.9.9 | -| longranger | | 2.2.2 | -| merquryfk | | 8ae344092df5dcaf83cfb7f90f662597a9b1fc61 | -| minimap2 | | 2.24-r1122 | -| mitohifi | | 3.0.0 | -| pigz | | 2.3.4 | -| pretextmap | | 0.1.9 | -| pretextsnapshot | | 0.0.4 | -| purge_dups | | 1.2.5 | -| python | | 3.11.0, 3.8.1 | -| R | | 4.2.0 | -| samtools | | 1.17, 1.16.1 | -| seqtk | | 1.3-r106 | -| yahs | | 1.2a.1 | -| yaml | | 6.0 | +| mitohifi | 3.0.0 | 3.1.1 | +| oatk | | 1.0 | + **NB:** Dependency has been **added** if just the new version information is present. From 0712e8bd6a91c1f8891db343f37950c411b010fa Mon Sep 17 00:00:00 2001 From: Ksenia Krasheninnikova Date: Mon, 15 Apr 2024 11:56:27 +0100 Subject: [PATCH 03/14] Dump software versions out of for ORGANELLES subworkflow --- workflows/genomeassembly.nf | 1 + 1 file changed, 1 insertion(+) diff --git a/workflows/genomeassembly.nf b/workflows/genomeassembly.nf index 7793603..d09221c 100644 --- a/workflows/genomeassembly.nf +++ b/workflows/genomeassembly.nf @@ -153,6 +153,7 @@ workflow GENOMEASSEMBLY { // SUBWORKFLOW: INDETIFY MITO IN THE RAW READS AND ASSEMBLY CONTIGS // ORGANELLES(CAT_CAT_MITOHIFI_READS.out.file_out, merged_pri_alt_raw, PREPARE_INPUT.out.mito) + ch_versions = ch_versions.mix(ORGANELLES.out.versions) } // From a847428a84ab5e35402246a6e465ced869ace16b Mon Sep 17 00:00:00 2001 From: Ksenia Krasheninnikova Date: Mon, 15 Apr 2024 11:57:54 +0100 Subject: [PATCH 04/14] Prettier fix --- CHANGELOG.md | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5a5e88d..85ebef3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,7 +9,7 @@ Initial release of sanger-tol/genomeassembly, created with the [nf-core](https:/ ### Enhancements & fixes -- OATK module is added into the ORGANELLES subworkflow +- OATK module is added into the ORGANELLES subworkflow - ORGANELLES subworkflow is now called once in the main workflow and runs MITOHIFI in read and assembly mode along with OATK - ORGANELLES module is now tested in github CI - NCBI API secret introduced to run MITOHIFI_FINDMITOREFERENCE module @@ -20,10 +20,9 @@ Initial release of sanger-tol/genomeassembly, created with the [nf-core](https:/ Note, since the pipeline is using Nextflow DSL2, each process will be run with its own [Biocontainer](https://biocontainers.pro/#/registry). This means that on occasion it is entirely possible for the pipeline to be using different versions of the same tool. However, the overall software dependency changes compared to the last release have been listed below for reference. -| Dependency | Old version | New version | -| --------------- | ----------- | ---------------------------------------- | -| mitohifi | 3.0.0 | 3.1.1 | -| oatk | | 1.0 | - +| Dependency | Old version | New version | +| ---------- | ----------- | ----------- | +| mitohifi | 3.0.0 | 3.1.1 | +| oatk | | 1.0 | **NB:** Dependency has been **added** if just the new version information is present. From 340a10fdebdd334e912ee4a1f4b8ea0f5fa9af65 Mon Sep 17 00:00:00 2001 From: Ksenia Date: Mon, 15 Apr 2024 13:04:10 +0100 Subject: [PATCH 05/14] Update README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index b1a0e92..33c5d62 100644 --- a/README.md +++ b/README.md @@ -35,7 +35,8 @@ While the steps are described in a sequential order, many of them can be execute 1. Illumina 10X reads to the joined primary and alt contigs. 2. polish initial assembly based on the aligment produced in [9i]. Set polished primary contigs as the primary assembly and polished haplotigs as the haplotig assembly. 3. produce numerical stats, BUSCO score and QV, completeness metrics, and kmer spectra for [9ii]. -10. Run organelles subworkflow on the joined primary and haplotigs contigs. +10. If organelles_on + 1. Run organelles subworkflow on the raw HiFi read data and the joined primary and haplotigs contigs. 11. Map HiC data onto primary contigs. 12. Run scaffolding for primary contigs. 13. Produce numerical stats, BUSCO score and QV, completeness metrics, and kmer spectra for [12]. From 83a46375e5c78d5195b7a6a0241e5af1e0853aee Mon Sep 17 00:00:00 2001 From: Ksenia Krasheninnikova Date: Mon, 15 Apr 2024 13:07:49 +0100 Subject: [PATCH 06/14] Updated organelles image --- docs/images/v1/organelles.drawio | 121 ++++++++++++++++----------- docs/images/v1/organelles.drawio.png | Bin 0 -> 46140 bytes 2 files changed, 74 insertions(+), 47 deletions(-) create mode 100644 docs/images/v1/organelles.drawio.png diff --git a/docs/images/v1/organelles.drawio b/docs/images/v1/organelles.drawio index 1c4ca31..98f46f6 100644 --- a/docs/images/v1/organelles.drawio +++ b/docs/images/v1/organelles.drawio @@ -1,31 +1,13 @@ - + - + - - - - - - - - - - - - - + - - - - - - - + @@ -34,16 +16,7 @@ - - - - - - - - - - + @@ -53,39 +26,93 @@ - + - + - + - + - + - - - - + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + diff --git a/docs/images/v1/organelles.drawio.png b/docs/images/v1/organelles.drawio.png new file mode 100644 index 0000000000000000000000000000000000000000..1b75a03d190c9b62959cb04c84b3f2745fcefc02 GIT binary patch literal 46140 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 I^dkI!063Ik=Kufz literal 0 HcmV?d00001 From 2264b875f8871f474efa48db40d56c6ab07ed601 Mon Sep 17 00:00:00 2001 From: Ksenia Date: Mon, 15 Apr 2024 13:29:37 +0100 Subject: [PATCH 07/14] Update output.md --- docs/output.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/docs/output.md b/docs/output.md index a858863..b4b0e47 100644 --- a/docs/output.md +++ b/docs/output.md @@ -176,10 +176,15 @@ This subworkflow is used to evaluate the quality of sequences. It is performed a - \*.hifiasm.\*/mito..\*/contigs_stats.tsv - summary of mitochondrial findings - output also includes other output files produced by MitoHiFi +- \*.hifiasm.\*/oatk/.*mito.ctg.fasta + - mitochondrion organelle assembly +- \*.hifiasm.\*/oatk/.*mito.gfa + - assembly graph for the mitochondrion assembly +- output also includes other output files produced by oatk -This subworkflow implements assembly of organelles. In the main pipeline it is called twice - for assembling mitochondrion from HiFi reads and as an alternative it runs identification of the mitochondrion for the genome assembly

+This subworkflow implements assembly of organelles. First it identifies a reference mitochondrion assembly by quering NCBI then MitoHiFi is called on raw HIFI reads and separately on the assembled contigs using the queried reference. Separately OATK is called on the raw reads.

![Organelles subworkflow](images/v1/organelles.png) From d5cd163e7757b87ed04f3dfebb93fcb07d0a6801 Mon Sep 17 00:00:00 2001 From: Ksenia Krasheninnikova Date: Mon, 15 Apr 2024 13:31:37 +0100 Subject: [PATCH 08/14] Rename the image file --- docs/images/v1/organelles.drawio.png | Bin 46140 -> 0 bytes docs/images/v1/organelles.png | Bin 31553 -> 46140 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 docs/images/v1/organelles.drawio.png diff --git a/docs/images/v1/organelles.drawio.png b/docs/images/v1/organelles.drawio.png deleted file mode 100644 index 1b75a03d190c9b62959cb04c84b3f2745fcefc02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46140 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 I^dkI!063Ik=Kufz diff --git a/docs/images/v1/organelles.png b/docs/images/v1/organelles.png index 36fa4dc741f450722c1e8c67912d19cade2c14e7..1b75a03d190c9b62959cb04c84b3f2745fcefc02 100644 GIT binary patch delta 28331 zcmb5V1yo#3(=Lhz4K6{0Yp}tByF&;boWS5N!NW#Fa2afHhX@iNxP}A?gA+VB0}1XB z2%OFP{r^4dob%pu*PXQn*6i-CuI{exuIH)RJ?E(H+h~xO=g(9g;!@+HprAZdQ&rSO zK|%Efzf#x_z$aJR;fdfsRBv4sd6eoA+FvLrnwTjN)ki`+{DM6EBKiUXtb%g<{NNu! z2(N&UP)ceF8UzAkMdcu~^OF$O5KM?T4Mt5x#3XF{6e`3jDDUm# zrx0sF5fQKi_7aa0_KKVsY~Ed8OTvi;3x72BkIesi2z&6Du|AN37`5Jxh8gXjk`Hto z|4$Pby*w%`hf)+KOF;#*qam&rVNgbex!@4Otmv3w*Nn#hEvp_*E`kbcWnMrPg(Xm) z)ho0ALH*x#ug~XPc<{eH#6cB<@d^vq6AE;q|8GTDB#@{4|CyQpniv5wSS@Eu{kgEy z{~;Te&q;(15$1=Di^jmL(5cD2d2GD|MFre6b>xM8bd+^OwKRAHV4?U2BtnA!HQ)aw zRZtKX_OOJE|6f|b3Ncw=E40$E90Jk%8Gro$G2^gMIv&^!0Y3S^3FCozGJS(_3lqV* zNo-)XBt)nJu%8q)uzngsbU`707%GbhjF2{q;$Pc71yyH;$udgatHS($Eci=detsd) zNabz)9erMaMj!yoBi4icAt3m_sPf=3DIqVv82|tL2*O+_JkSLMg<#7RDllzKESM!3 zl=5E{65y|&!G)pzzZ43<3b3eP>4H@Cxm+!17}|3B8n6)v6|7H$0;bOoLlfi&SCS1z zDDe8%e1^-uj0HuUIBt;d5=?EuLyfV@86SaHc zsO>EF^p%>tfT*aTz&|U_1e3(bAQpW3znGGsFlZ^PFnr8VvVUs`F8mnzzZKjs;?sXN z;@1b?{46OhQDRvdO`G@Oos^LYxpU_M9@J;Q}FV^R~kRj z9H?LY=Ken7WCI5}Dzz!)w=Cf|lIC*+e%7LVc4u{z6R0=8kr%m|6w0E)rGgp({mSQz z4W#4azg#WRYkfDnLcMP!{$J{m1W=>xQQT?PUbeM z<|w*ePaKyfLsja|z*c++kLV<60^@~Tia#e11oNf z;(YM8>noYx(EBb`Fwzirn9qJvyl#&;h1`q4L{mo+EEGn%#RciI7lGPJGZaGi(XvTe z3H?$miopkrDzbx%!xS7v(Knq_I2>rPp_$kmaCY=8lGaSWR1qT#van>PLTEnP4WPcw z*dhAL1C)D+7WS6?WT&RfB3sCD4U=U=>)m_NmtQdE>TKg2aKsBe_e7_hHj6|QH`!CR^9*0gYYs>tFs&8__uhDh(6u{z}7}>9>Ei!V&d>_gy zQ(L-He%#&<>oKTM(A#1lwIy2CQ4s7N8wVT~{g-O!KI8LwO|YSScqmv{%MB00P7?ta zGc5Ujn2ft%Ewr*>PzD3by$tNO|6d|jgyAxW-RKbC-4_9utI@zFGRK`@uv9@{+YobF?-oXf$fn>&1cJ2Ji zetFdUNeE(CA%-9PY%_A2s$>j0-~H78(Um_=J_>g*l~touHHAqeE8&?OIIdzk)TDuS zgAaxf&$X|BLqFHxpM?fT=Joz0BQtPR;7o|2y-U4{CFd?xPv>GRs5ED<4ZiYX9IlT2 zN1Gx=1_Q`rLA&?{_hsoc?}oG45|yM375ad$)812qoM^GK8_daEa6)P!)dvK$kFHcN zo8@b%_^m>djCO263j>W73zhXmXsr^OuMD7^-J9hh9ys}qkvfBt2`Ile!AdKXpxI4g zm!t+zqfQNh>)y==PId*cGT0EUGLsuLDNCZ~5N+moupP#8KG394yBLVZq4}&D6ao7! zTctWB%H`N67s~)&CZDA*8ZU5rGf`zK%2<5Taj^tT=Qaw&{FvGT7eq;kk9D@w;6x^_>jryYy{ymt}E5d7E-J3{Nuzp0j>*hhU>)YU9&RL2kJ@0aIdE- zGV+uV+{CyPPaYNWOt}4Xn5fdB)(p14_+)*&U6Q08N5NBS{Vg_?Q;)4=*mrNUljLC9i6p_^XYpt%A%yXFEgh^eUk9 z4UWn=Y-O_GS+dzj<1X~hFGtv!?do__(3OJMjN^k*O~(9ZXN|MpKQ_mT6pr_rmcP@u zw==Ro%jM4&n=xzk89ep8y$QJbd$C*w+}#3o{zulFI>m~`c1zXf5}e=(c9_Fra_V`y ztuvS})#h`s^t1GamC1Lp*|S_mWiVH)e$i)A3t8dzvlZz#{n1!&8P)av42TVVOmrBF zm@Ly^cPNgmwMp_#8-%fIR6NVu=)B&C^+aINtTkXroPv|j?YI28X<^i#KaIx}nBGtu z&68-->jEbzb-Kzlr|Tubk&rh2{P7T9*OPuN@Cqq){sAB=}U8Ki@Y)b?K@alDS! zlv=j(gPtnZ`1NVZ)O!OBao=4BRr0+~O*rIuC4%rfc!LH&fM)q*BvleQ4qqF++-_gpHEh> zGL{yN>PipXcm{0c`E6uch6uc_Gt_v&9IzB1;qg~2_|hZwFPFjlG}4|E-;(>2HdfYz z7@T%0{E48mA4X-4ljUB2P92S#-0~JZdLO=7VbB+vp_dBG3UHlo81zpGzP;M=I^Iz8 z&TAWGu)%Kd1lIf9W_lG+CcXuKxpWwttk4#{1M3tdbWrn9qiwB*zv*)N!R38;wHC)G zP8SM6*%(?t--tJk#+9dlk7f%GC12FO>_wn&53&~sAu}F4q-K$Jp(WITNuaP|Np6ft z(yHC=&ef|;zj&w1${xP;-0(j~w)?%Ytgo#B_+kq4S&aNVg>wC0zhZA-rdZqbjSP43 zTwNb@B}^y2{`u41VZ&kAp?4p8dAO>4&F<Pz%n_oH%^Vub+UF&9q)GhdQ8`-sHf*1Zy1URcnoH`k*gWnSyX0T*veZ6T_29s5xc%>ob3cS&u2Lm% zZ@Em#v}hJ7Vr&Em8iy}Drj2RKA=g@5M%7PdhZvm(+=eoElx?;SNl%oc3FzXfFywP3 z{HnzoeE#B3Vs2<(gGbD=!%)V9p&skt;PwEA7rc?2j>vZ@VvWHF_Ku(n5qI>OuG`kD zJym2b*3(WU6nZ;~hTz@x#I=X;Hedn6Xqb+N9^V`@sN+@bcXx#1jn;pr=zfNdZZ41d z9}kBy_#z*NT=w`kSgkj@ApKi65b((?eg^B^8SJRSPnm7k_>=h11WwF4rF!K!B|%>E z)&_xLTA7eVcF4g(Q_WH5Dp5wuB>NH$eiD zSPlE(Zw}x0d<7=j1H4bH)~ZmO`ek7)Z9&PO+nD|7J*vMfz-;qZpOkpRMglmLQ~T*YmIaXxX)NnGPs?nXw3}$`$kOyGiI(*CYWC zPQlk6bXYl;)q<9PR7_X){*&;nT>ur_lcx6uw;LS_UbYu3ivx>4y>Pa@R1R}F zo4>!BG0#*z%(52>7fujOwy4Iw#0k?Mr0sHVm)2iomL(!1E=ysic+XNi|?fd`JQML%Gj52V@W9+Zw8u2&nh>j(i!9GSev-7H3Geue_6Sd-M)_ z$CXlLAx2?iRf~c*IibAwg9ESlq`};3kICM<>|i#3f#MVOzjR$_WTkrB&D-Ed|1nuYX1w&p<>P=o0TR&tx$vM&M@V6OA04jb zb|!9rHP8xP=`1DB+sMN!An8hn8#6jO7{!>Vtlorv;O8g*S!gTxv}SkSlcqBlkXZv&6kqO>Q^LVP)-jNYT?4SH=O}aU|sJ;@@wUeD5e0I4XN+0+m2>3*|Qt2mNuHihDPncs8DC zfucpC9M`u=KX{q016+5WI=V2?sE3)Q(EZhN4mc2mt)C`TlJSwdr%gjS6FmG`kW^qD zR#CO&%y*!Wm47t*Hq24CcfSwL_kZSK5dW@f&9-kC@FiP*8e-CV@BefCgA%;uLxT?} zdiczm$2Km+LT>y?(gsA=o$|+-76JtWBJS~o1Lr?AHONuh?Vf};0lJtrnSSI$!V~J+ z-R{Q|l^kgMM2B$1LHo%_rGgLW?PWV~|MrzS#ADO_F)oSTQ)Al1JJ?NIs#`povUufJ zt_eqzQKRcQ$G+4=Hd-2ovQ-+BqGNpY-HGguA!X0S&JPxXru(EfH$Q!6(a}nJzlhuI z@OC!uhDnD^hhTs^=3J_&_fHkmLIwq44~%ljKox8EeTQ?3tHiFA)fNa>uzbbm+dzBu zj|eq@E~Koy+uh)zt!*V~rMM=`%@AKT3LRTfPR!3 zwndyv5a#D9YHs*~lY|c>HuR3THr7Rgq`i&gwSa&C5VP@&{&K;+%N+Ebx9@NqlThVk z2PGM5oho8OJN~PxbBy#cLda=qAX&WY$G+Qv6xij(?e;ENSRtbo`P`e83he^k6XdWr zbzDvE!Gptz=~&q*hFa$tUbvWdIU-9yp)ZlndD^@yJiaV);P2Ut7l`#PRK|brwdk{Y2kpm=s1w&pp@F_+L;NEF`B+LmUTFAK zXvvrxJT<`KXl9%|tX8=YM0HTq}U)jYOp6xOW;m{dk}L=-7Szm-5C`8iLu&^p#Gm>>+V8 zI0;(i-{$J=0cWP_m0mt|BqNG>v_1wCahT|GuwFiJ8}MuX^9Ot?2n$K3!;UZ~d?7H% z$17I$lA+dj&*a_nqVP0cbCXJ_;wDr23M0tHXy=IV_}8EIs_JW~6-akH4xHeDXSxdZB?>Rd3*LByj^@bbo&PmS=C=89IY}0;f6xj~_*w%9i*)4)@e%XD z2d3n=C@mv{0ne1bu@?mErr?mE=_nwFvxNm6#hcuht0U=4b2Or3o?);(%XQe@Z2x=* zBBOB}d2B;EVd(8)FX2%As5Ez#X_KKmVNXK2f-)tVk>%^pE^~EChSg@A>0Ab})!(8W zKID2E(=N0-rKwFzWrVucM z>E<#t+5*;+_irgV{4VqQkB^O$gvUy#B*qfGk9`9&s!&!f``kv-tN@`=!;#KJ};6l|0z6UM*5Ureo-*r254Fe`~ZTX z$(0Wz{usrnAoGL{*hE=lpcz!R?TZTvS!gD6d2Np|4i?CCU5P@U!37~VKi=u7g#7u% zPWq`i-~>rlp;_%_wx7y;(zG11ASpYrmms@K%BHD$)Ab`DhJdJyIe)`?>gQTgQAeJmKw$A1@{Fqg$j3j&NHdUDt zPbXn`yfJ7qK2KR_E&hx}08`u%I5;-4JV=RL0kUrgPrQ|T^um*AcvX3vCCea~rH+t?(O;|Ev- z?R{2rK_=Q|fVj9v5eIfP+RDdZv-=yw+``ajEAW!S*QEBVi3mJ04hBz8&zRxs^F8P9 z@0IZ2^&UGP(O`N`TO_w_q{a2@tS7*QIY6k?dxvM0A~t`|3^)%&SbbXUjizbi$u8PK ztz?EPG&uaYCjn5`K@^G1{uW1>gFckzg4`ci%!6+t;DYyN9dcPDd4do`c3*v{>BPOu zLG*Ehe)B9Xs}IfcJ9^FG6hzk*lE#L5Foik#(`!9BX<epliX@~KlKBLN8 z2}l9NHdgY_c1a&gL_$-@-#?I7zx7*wmFFPjI555zIXGbzzK64S^@8Vh*P(}!2Jrh` zMYt!o;^rfDq+26kjw2=6g_luqb+q2kYCn?uCRrf;iE$mvICRa)4m==}^s7vM%r?&X zy~SEnF6m!NqVdUqEE_(LUk+{99@BNhnvZ@F-aEnj6<~Fui zfOJo?6h@-#AxIRG$xjH{A+j1r&YU7pZqJ&7cugBMf%p3FiYqZtKthg8)R{#tWSs|MKM3+RGUm)l}80TGUD0{D3E@w zDTBd~Via}56uG_*e0iAf(%HxTj6C>0>bV$qu%iiu*0pM20F~RrFQ!PegKN-Zt!$iW+kdt9i znyRJLW#I0oSwx0q9aK%vBkW21h7$WDJCJ`y7RgbYAr<9$mt+?|59Nr~z|je*nY0CH z1PGUOx1+zT-(R7gtGyr7sHOk@ITM_t8{|2eHg$*ZCJiR+TPHEJ+6`Az@hTpO=d zIkY01)-c3E6X5PXu_TZ5w?ZdsC*GN_7szM+*3vcA*fd>Y3`S0Mj;i*9Z1D#y15P^k0 z&b%_`yiywQ9?9i!35(VPg9V6LN&TnVFP9p^4)vV+(eX%-)Tz&fou?6!Z?mxE^L>`& zfwx(ah@Y$A!SKkN?d7Ix0q7&cNeMGHkXVD!CY?9O8b#gW_M~aYdPjtypKJk=_WNR1 zoN!|^Vefu3Rw9<$0Wvs)JubDxmm*FPe-%jdfU0*~1;)l;4vL5~0hb<=H~phzbXk5(Vm*=`&2>qH$}j3 z4M7&@C;So_3UNyLQK|-uxBKpnvDTZhtBTB$t|hlA?|Jjg6KA&{Wa!S_0Zo?a)hF(F zL{DN07v~U1vBlQJ$j6#24r#OFDRGp1+3Mo{?S-7C*{G;iPd4UX%6qbSzb!aHBhVTjfU`$` z%Cbpi_QrdR(8vnlH!VyrIb##8HV;0nI=ltlaw~*3WMMG;0>NXpoIs51ZbpGvC(_^5ig_fRJM(n^=fW&p0PeB66)m@}Ej&0Yt_ptI7P9oxz-IC$lz5tbcy5rw+~^+Nrsjjr#E&^2}Kte>*>t78v!RnT>H!0^%mh(=>pnv$sEzASKcGK0vN6u;<){4IL!@AcUy z226OUk~|&>8!IUc^z=(v#!oAKd_Kp2G{6Fcv+AGPKa%kM_)fWWP2!$uzHP@)U7-xx z{7w!mt0dHN^O(9u@^EuyD)1BM^HjGO)An>n=b2H?*krNr87z8UaxQ&-IZfK~wb$}i1dQj{&_v2Or{A3i zV&x_y{2Yx5H19*AgZn3JAX`wW&lpOb+5q!S%~vUcF5C1&1(Z>$xA5NQ6Vq#KZ=D$| zM5^T{c#gjiiN*3g?L3l1dCO~X^e~Kq$K(+oE7~VBSl!jMjgQ5q0Ni`!SC&7A_^Nuy zkLq_X$O{f-Q4-og)bM6N?5?|pMrLm+GMJ|s(<=m{i1bM*b)Zva%iSXGL4RWj^zr=*$L93&SJ6##v#aJjO z4^rGOJ=0TL4ray7--#9h1)=!XqJ~P0Ok!=Xc916n8w{W`(Ka|$X@|CK#Zo~)+)zr- z){iguoNEaL)BAK5gN@(`PMR$D`+=!g_EQV)$cZ+I-BTYf+E|j;F`0PTt@9&NN+T_K z>0+s+b{oD%M+9M^$zqm7$9l>2PeHfa&0cXEqHS|Cjr095lL$aFZ*b5718|W?QS6f0 zd~StGgOX#|*G+&XQ)$uR55s+Nnjzn3tyr3(TuaQMU1A|y8>N0)J3Fu4$NiLK2Xf6Q zOFx&kYN*RwGpjxx9iyqP495 zdD6z9Zu%_ERX4yYsABhRr+nDX{`atwva+<}&v;4I5eR_s%xoq-Rrf+TjVZxdyP-=A{?a^*7`m@nslmC@gIi)@uu!&$X5)z}S^xn=A z58d@4qbLmJo7)_yR574Feqr;0r8Z{9exinnR&^LI*ncW`pT;42t~HUHT0s5yB|={R zQ_pUM5jyZUkh^FKp?xsRMs$oB(_T~wk)j0+&wMwxE06x4~Z!K6Yh8HY_ z$Ubvl=Ck+R7451q(|jxaIkJNn=iRcg2JW(s0%Y_1{$7>yhx3g$>{1WJR@Jyau8E;B zvU{ga+Sr$R)O?VA?~jw*l&yH9FARW=6)AU<=^pT@i_}mn?f2!;dYM&ExY{44QK5j! zl$y>z-~H*ENi`v}``F9p%JND`l}z{4IluE1@9U(jUm1H7y5BDxn2qDO!zvnpRVP82 zwyoO3L+Qh7uQ|b2VYHXrjE^NqV4|66?FWYM#(5G8#H{M%yPY*tx(6U0DMMs73}l8DQT@gNv83e{jk zS?aw0c^-jU)W$BhieV|c1v5N1&&Eds9xFq_8{1 zKpMo#VM#xk@kJ=h*+xRSJT5X5jN_W{nl)QZBv{KAeVs)ol(h22WU5enBql%`2VEIX zC4s{_DRTlqLT2OlhZ+&ZL}#d`CJ^6#b3CLxWKY{pIyNDdZUqxVro+!#2fo4VOM4oc zN)PGwmxUzr0HMaXDeSSo^_f(<{rC}S2S1*1b)42h5%e@73kbhc(0-8Zaf@PH@0f|m zAllCaqfv08l-GUjsbBs{7E5ne>x*dF1mUbU$x4rXmQ|%)J~bR>4U-2t2jRw#NUwuN z^QBz1kTlYlauhP6`dkl#6}cWd6#RMSjMs#%=;fB7RiK&j**!^c|J{{aC4<53MI>3X zm?XmEYvo}F@*x$g2J0&fv}Z`pfO;$TE&kLmt=M)C>t^J3H-cTD*9}^vc={BQFr_)dd1opo7*1!2+9Q3RaxYT#Eo`id_J3K0-&be;F$bh zN(4@SJ&8^n`kpBbOJHWB;bX_{aIwF}5?&otCTChI6zDqsX`n_GmYjM82CeM5iq{9N z19E7edUQAAS|bZn#j)~|h2|yLNNz{BlEt*$LuMUf=TiYnxUS_O82cq}@S>-0zlW}f zDf$iB^e&w_Nf5uiEP`uS-Bi+=em2-Qxr_P)|8SWoE3_fFe0ro^_i;w0?}<_C-#p#3 zDs~n&AorjUb5;HOY0={9Vz-~cw?1g1<<)&YlFKFta??dz=O3jip+_S;6(ZXU{MT^2 zTN40fEnyNfsw2wi-0@wULAKa5Bc#mT&15shF@r4srU#eB#}@+L9^!$g4(l0j)!v*Z z%b>yatk59rYSOR$Z3KbUZ=J{U+&DH5OfKa^a_ZkfNAeU*=-{;5tHs544wXVa4!6__ z+gMv4Qx^@Y1xx~07o2B(fmM{$LQmhmg*qTMVKA4rFIk|RG?H%$Ih>R5;8_bVfgFP? zffVRD?TsB1_Tym&wHnyr9z1gS9f>g+0ura;G{vkAw~A?=Hj;NYC&*FS+*{DL*mToY z7$wb#+Rat5x+A{oInI5G2^RH=tr(u1a=SYivNeow(=7}kZ*e_O7CI}Vlwc4sRL_K7_M24%xNiaIW zNG$9}^M$n?kLlZROEqbPoQpL*{cb>X7`dU62z@q2boM~(g&HsFZR@L@cvCWWlqJ=O z>-R(b3eqqLCOXjFu-+yEeYO(@=obIr@tSNx?|_##o)Mvv;VsQGkhSL>)~$Um@HkN& zh;0s-A}cAgeCn&N-ss9;fF@)zTRmHEP^M2oc(!0aPw&~w@p7_2ZwWd(ZVg%u-c#O6Uh53k=@=}Xvz*O zF2nGnZy8P=To{Q$=^cQ*;Ij{w-@o4$sC}b+ocg^+lA7Rfo7Oe9d()c|8nB#Fcl$TS z?oIjwNv8A%^D5}dSMqaA?4(NE9=3*_Nnk*$U_X93FI&B=EsmOru)(*pbO#GLWc0Vg zUW=E4T#2Cy+vVzp(#BT|xQtYLsB^Yg!J-0>6fAv?=f2l20NVj_6?D>tQpJ`SGl0f$ zI9XW!-&XYzaeD+-*!0Mj^kufobzu48rGX6RS+{E|-F?>A(>k9L#?!xDJi_PRirL+(lX&a}pXYVh z9-Jys_Z`&IMFOwAD~CTkjkZh7*ChV?@cd-0I=72s$nsKgy5qX)SBw0CZ(o$alsuc# zG4E=+?+{N@WT1E>?XnGo-4Yiod$v|TmpJq(n9s#pF-e!gx79@h_F$60zA=#c&}(Zg ziB0EqA7&1*f7bAQX=+!FYC=OvfOQe&?b}-YWg-y~&g}*>M zJ_(ho{zw~}G8(O!D@g=mgQhTj5tDKEw2yR>OFky&EkR{}#=Vz zIl!1GAm*{kI%n0lx^_FCDP;?p9cJC8fH@pd7?^^4PSzH@Uv)R#Y-?b@!8uitj=sPv#NDp zBPN-=>ultaNs`BJ9s740Qv*EqLrb_thGILJZATlTQUy#u3bdsKv<7%QpcEhsI)0ks zi(Zcx7QuCQk61Q;uHe8YH#as*Y`;|pgv^X2@h)(5>F=<#e8@=Y12j|u#e%Md*iG3S zX)C!Dyo7c6lI6pUex(iMK7mg;MlHrXV57rOQr8zG99inKY<Xn~*wO?YoS>LsM+UDEo-e-NacW%+w zyE1Kw6?ETe|1dtFmD^6UA;YN0ij|Y>fel~KTEr9|-EiH7-eg8sp8Y1v?k=$qthV_l*87l(h_ zkMWEf*WJ6EwiY_!U?>$}hszHNf$oQniiv36h zbIDeRez6pwrZ~GLb0FY7d~z?}W?^$u3`hFYZ7i<2%x;kJM8FHx4&3%g%^Veew4=d-fh$G$g z)li@b|BSrSBeH@#QVTT?jGj<6srChfLGg!I70Spd#X=7P&Zd~CP(*;l3K&D<$aMT% z@;m!K=Czc1)wwPKowBUaX#aYxBw=}q2&y~keO!h-td=`tIV53orH{g-`HJ;#qEdZl&r$m?^nHzCm2*DyfK1E0rsI8_B%$}&)ea-#MUc+{Fm@0*9D zE+-D#Stnz=5`OzG$Gx&+`ohdrD0UR|MAgLaHZ0iR4nyi!l;hx-kgcN7{tVXU`L&{6 z`v&hDgy|wk_$eYxAr;q_hDqt)7H$vYe5EV)80G|4{aPGvP&miSJ2UG6!U801GRcb# zljen=xR)f)<&)blZ^=3@{fCojEWasWtgYK_c8??Xh&e+JhIO}2I#W6A4GARpwtS zHLt^8bsw#A8_e}&bkhL%Np-xzs8{{#3ukW2f#ACsb7hGx5;cZ|A&cjM7H7e~jSx}@(lQ`pjt4jORf)E$E9#C<%DKdL!*jr&UB_8)J_r0AKR ztDb+r)ks)1FI8Qi4~clW`X#EbGhtd&he{>fhZa=XWh0p_Ive=PmaH5;VB<0cVoZbn zvG+%X^4O0ys1bq=N1StrpN`0V#1jr)b!14Ju;jr2C8XlQ@k9S$v1|S0$2{$hTLG~~ zuQ(y&qjz5oc=xWpx=wpdl&bYn#FQ({$ynF~d@g${5~*JN#3D?Le@&SBA>FPROYvI# zx?GA9a`q`~=mJ>V52UA z0kUKCGeVso71OMziwXs?bnk<0(Pm&UJ{b%jQ#T1)#9Vd7`eA>h7E(5RNbAZgFVXc< z(=rAae7t4O?q*^dP^^mCa{&>CRNSzfJ7Q>)(?8fB$n}{fl47Hxf3V2SLC^AMP0JI^ zOF&Ai?V;!kp9r~oT1gzHBj7)3?lhAzP3_CnBpzqBq$J-|{*0nZm4+RRTZbueo-HwY z6O@hxUNK%XHmV=rCP!d;`LTG1$1xancDDoP($~B7Y6H1^4qjIlW;OlJp?o~>N5qT0 z130~e?pVQ&0dJH03sy?OGNOYLzyOav`KzU@V z^AcVGwbPL~5&B86WSL6=kqLGxh|fN0HEZ@+V&A)2JDNOpT{KVSG!k)qy=#BK?q0&p z;4MT;P;=>Z*t-mp?A%;FU^Fw8&r-Uitj!5&mSfUMxf2NCOWld6)WtY?xbIXAbxT<2 z0swCZ_wGC$4a{EV_~$k9fqKx zkA1JB9HXA(IpVZvyXHCmk{Dik(w?ZCQ;SR^aV?ANM+h$uw(|%EPmE~0E-}Mu0%Yqf z%@wm<|A>ElNr(X_CC>tti9=lJT7Q>Q=mj2S@;5vMr<-SwRu2!%f4e^L?VXJB$0@b? z%jMOZ$)`GPef63;RFr!{*6Q}l=_*%eYKu1Ps8@**BwG+GL{`KHfk z%~q$CseghgX>)CWUk%RcQj2$m*lFaWL#W3Tg3(X7{&FjELF`D|_-L)d%laq5NxAV( z$-eXq4Qo1j$X3>@SqV27K%1?Ri+B()##NV7*m1>FKOMs7EvkKCBC#xJ+j$c*bD~@7 zNcZmUgr*apj(o;H^#Ic~cah$~2P5pTHE|AeFMq~)AdD7Z;0jYfVcN1v+t%5bw?7a_ zDOtiL&S|FV{PX(*eM?>70?^!WF^3@G#cNoXOv)33x@_6=<({icEQ{NzAN?>O6DMqq1*$pX%(qka8%-Lb0g&M_bVvaA{U zg~u*6JrYw{!XcY3Dy|;Yc@gb^6#vLX^a$hG$7Rk-pw#`&E`w?%JJCzt%h?7Ln0C`u6Ykq|TF@kWx{hWKhHFqDa+L&vh-Zk5WDWq%rTRy{!-LP-d8~D zHkGyscq|HV@R;!%LI_u%{2Oz{0ki$8^JX)nQoGpttCRfOI_C-6cNe|fjs(rv zt97p&lo$*!nn#TY9`W=Wx{0_tzg|?R{^es7JF~i}=rIN+oNKYvvO26a^O;n~HQ(vD z)q+XnY{}bSV@Ugq^6=v`F7Tkz!Iy`%6I1B`La(C=ZNcg`0}innZqns2@^l1j+y~Pb zz3b3Nnp^5=bL-Wq{|Zm(tAbgrOjM}FN&;>7nA8|)K)B2+8Xq7%$J%u|p>h13yC!Q2 zzqymC)G0J;P6wu;Av$H$0n+5_PhrXt2fQ=geYG0AW)9} zp={~1-w@9XTg~emvs>cz%%GWhfz0e~wq1`eyfGdH@dW~5Mt!=E@PtU)s z+Mk_a@tR@xk2)&n)UJDOj0pyy(z}~ck^m@`nwV`LVV_w z1qpFgGhgp7v3N7F@(zCD;Flw35^{cYYb`VUO}VmPlw`)rn>>f}m{@_sBUwRjWASB4DC_#AIqjkYcL{`)81aQuGf?aOz% z?QUzkV*}%eaqw$E7UrOYam zKRifGVb&0R^yq!(St&@qPT%C*tY^JAG+{J|XzP8Z{b~Jq+M<+yOX0hPIbZM-YSzLU{S-o@i5yyGJ(0g+{=)&rm-J3aNL8^SsUP_$kW;%X^d#c%| z7FK%~3o-B2Qt0rM5>;Y#kJrjJWHxEqI(lnr?^AHDT3bQM;NspCFy6a~F0X~YFEcndlhG+GH@ zTFk($5skZz(D6s56IR|t{*Xm%VKkwe3yC$rkpC(h3!`h^E~hhN*Ql*2j-Bz;DNnOI z1vC^+?A@DNZ5tYy`W-70*Tq)}hA-VL{|*a_YLqSti&MtF&;jxH%VLaXO`L2@KvmX?vIT9GN^P-mf?)_39rZME2*I0}#T_#ePo# z=N%MgS%O$kIE~sLO{%h=QIRYPoH2q$lxZ11#KEN42iYNRrWn4#*KJSsM9fBZrCF|a z424)M+HIwhkRPrPQsHVen0R6JK?FmDN~UTqDeYdP`v;QLhB!Z&vl>zoh@1V_;>Y`% z;`7f7M3y=}f2Ft@71WIE!o) z{48(2d`SHKiHQgWgO^syR??s`Bqdq$L-1%LPU8`i8lKR#xMcR9_J9-UPzJ!`^?Qm_ zFQpPp$MoubC^{?7ZSA!4!{c^}sIF&Ag6)Rad!8Vb#PxU1;_y-|bJ5nIVYkC}RN7ca zl+FUyqcB$+`|ox6j|b;EqP2X-yndRf9R*3%Ct&$Iy&UgI4S3`-*+&SZDUG(X+vdCR z3P<~$Irgb@kH48R!-t-2C;D}P3$dwtMsnJignE$~Yx^(x1uis4<(0)S8=z05^KZ_wrsZbP z=W8RHQ5dqb*BQ5nwQ!3yPDfq36EPz0<&NKAdplNAAh022?V?g-pD}n)L=U3P9WK{=+q4ig*hv+)3GzJ}MasfAkYaEGM>1r$ zqYM--@EYf1f-r!QeJSe(PlD3~k)>-(*Y;$m_1k89knRh!4!yoCGhr8Nbtw_D5ZCoG z;#qGR&&8H<4q4wUj@%dZ|ICbqAp(dP{EwQ>IM&XN3kv( zOapO}LN1fnV0{75b!wsG_lZvTJZ3g!Um#Gw(oLiOKTI&s^%sg+te+Fi8ZO9caw^k( zId#4B+5$KoB~SnI-&fz4?;oA~QDz*T$sqO$0bDBmQ*ST%7oQ8SE7|xP9ZRaRZ2G+3 zzK=1z9RL$k`10ON;@bA55*Y>a`{BY9Ms*p&0zmWCuL{ah3gG$EQh89)2!5BXSG@_c z;m2u}zh(6V{~_G46S%K3RJ1aM|VWM_TTh{OcL>()%ed2(jN&~$kRm?Lk3Bx-uy z(}7kt2asPz0RPYK_2fcUoV>4EYaGLga>i9{BfSomYDvco@M=5^xxOyO05YZ?;Rz`< zPd1`zbSua_(^xuxF*SS#7h*26v9`wH3|KG^fOxhTQqn0iS?N&cB_#`iq3q&S#&o~6 zZ%7>CGzHw=x}cqDW=S;SKy^bOg!E^rMk^pQe$--;dWC8#EUFW{LiPM_KN^MZ7q2Uo-Fwl!i zL1SJ5FbiBj??ELKDEN(n8%IB4IQofY=H?lA0yvKUV)>vZTn75{b`X2WZ}9_Qo+W-e z0o_8~LbVq#a3Tqt#6U7w>KnECuM4Hfg@pl0%(ULo@BrWfcw}TOK-Q6$nEbTyn=s!2 z6;XX)tVW}@LV!7E+8*q8L)J6TWx72i04e2yAbOfuatS9pCNaD8T8F-VP+xHvs~<~p zi=lvSaNm%0Ob2NlBnlUSm8CdRwdnYRv;lV4&O`+#LqVr~ytJ8z!drWjtgdvddRzyY zL(T6qWM%kY{fguMV$t8E0%!XkSS>ASk=Me z?!UW_v6-)TGA6PTN`b;j6oywpqm|gSk$Boqj|AQh7Sxcb&xnRQJE_70yU=Y-VgrQB zQ|A!G!4aTrKA9p%Iw*Zp>lHOtSi$*le^ZQCKQmo3ff2a|J@^a;Aw#He3~TH;#XE2q zD*Ta8&ULYhS3ly;*<2tlcam60B-ZC;-|LZ(boDxnnyJGUwbM!ov7V*`j3d|gOHOLT zH`iU2Ze4^kQetdOS?EdfWju2J3vTCe8Av(D-biGsi+)9nvw|C?jmt!bHZgl|ZL%gy z2J*n6K|eussXrs_n7_|A*+-lk_!Vi|1DlDpUxV8W}07-Tp(oWFMzR+~A zR{e2E;hgj5&k^FX?o*r~^pygtBV#s}MH+D$66MCHNrIOpoH}x4JP@5{r_&0toTmWM zpa+6Y>S}~GUPOCZ_fK-%zYC_7-=V|`kGODl9#TZg0k|}6#PaV;Sqhvog76zng$m%TZBfv%6yMix5Wj%je49QtGUItaAYd3^Mzo6vb==X}(TYVH-ktSyX*#2QylKc;n9 z&pB?k;vmag3Ta5qK92afsqSAKv;D~kHstoCGyDV(ZWkGz7arpJnZl3T+CCYuu?X4s zgE#`3SedA4--B|3mZ+k!?jwd&#~n7zL+soa*DT4uP_ysfpo-q0L^`CsjQuXJp!e?t zz!t7|f626K@qWB3N17y)XvntyJp(KL{f#16D-4~2wbxbiA8gA{Qsu6Z9v!}VY1B8mBQRu@65et$0BcA_Lh~NZOw4;x@dHDfJaLcZ0Nm)h~?nS>6iR zx7%OVS&?(tMV~Ylq#et}2hJM55!H#qiko>a#9m75?taXR+pKDyb9G;%ULy8cKwCzV z529`GNoP6j?OME5)Amzi#F_AFvdP1`{;UnNfomMF>6>R=jtpZTWThJd^1U;feRrTY zktK1JD)%5iV9tfgQe+VPF4wNjP;Yn0h3r*w`SyOmUAoe@c;=qAGz@Wr#nalG#O93b zV-$&W$zHA&DFw1P)kmNn}!g-mE{WIJBkxtCdu@w zW^}r*Sa;@d?Xm~k#y3~;%R;i~eayuLJ#cr6>`(r3zeTBdPCx0NXmZsI_pQT3#H{kL z{zz{~vn0dwCp#4~>{Pk0JwYaZ8&Er>$`6EG)E7W}F$+|}Z$L2UGA8~T<$;k<=Zvb* z-nCbTN+P?y+<$~o(9-E$TOMey+hx_XhLVQFZJyoBeKE@@KclU&A9+-@V(aQjIqLsU z%DolT{(2Vm2O{G2aMamKVXe>jKL>p0kf;y0l-ufyPYJ0jX<)QegWec1ValU7lGm^4 zaS$_O3}WFzA!S(E#d{|)_y_M2$u5R>QXxb^*mnEh$9K@A9`0FBfmK`JGrFl%i^7Ko zcsGu8eg0v+aY#$Q`pTZj^&jA}s>5fJt@&nvC0Qv0NxRag%fN*dRb^2QGurtk%+FvC zhJ{ZlWDQ5Y+<{th%P%jl#L~>6KH9K!2nP*XFT#lK5b{oc&v)BAaz!Kd%5g*T*|J8^dO7u?r~4lBO*u9;*^8MePvw@BHc8tXxA!G^@k- zxUTnX{M1{yHnGYVWUk&k(Nq<*#$qMy{i?#|X~XvUWS!A6KX+;E{8#@MEUmLVh{DQ3 zcg-0Ulpeq{Z#{0*nq-_@%cNznz0`l3Pjm+T1sc=9kjIyKIUnuz^D0e}cG#3dWyc$ub1BbAo( z4@kV^c^a|WN%>QjW+I(zO^!t@= z6ZUt4uXz9vS`0lI;Ha%;&{tyVe);L(l@u!563wFCrk2DiM}bVsPI#jPN2dfYfN{o9 z9QW_F>`1TnK*lZ;UBff?#b2_X&DNi5c0tnMR^F3%F6iGcwrH&+$AV5zO_$qYAkfBm zsymcE(u2Pf)1aFhk@ES4clfE6C{OgU5=@iF_%3;ikVU04ylqSUJcTJ~N=Me$3nlBk zk~hx+GSq#}#CbaQCwsu?mMjCe?IiO^o$MR7mtG&bcz!zV0HCErzbfD}(pwW?mHO2( zPdNRvpinjqG@oVnfS-XqCiK~Iq1xX}1618W)%d)GoH(~8f;LzTlO_U{2#ZblskFL% ztJD>~7bCb7!x4VFj1B>DWgF?V>#K>u3(QtyW6phN0H%W{0&eBuVqE&3eEatS&J(37`#9Tep#WD1+iih2zr|s>^x)z?L3wN^rz5SVjK%Fy^z{@Z#<OH8437^qa1O`YdD!ltPUw^5=S zoZ`e_N;0-l(PED$ElfSol8?jnd6mPo)rJ|<%uOXkQaBNByxa;{TDg;;Zp?i$#w1%QFHt@ZzQ1UekVGQ0w1kF% zmbz3v@aNE=dJ8$_sQz}=b3WcUEIz(|eWbwj@sv3Eq_*VGu1iMvc0$+URb-!i2lwI= zX7bLfvlh0@29W+(DS}pdW^=qGdQKbeG|03uu;YB{yda>QWGBGtk05*#|0|_Oy)TGs zF5cP)L%0qoed0gVCMKtbNoMf~kjz@=;vXOvNpjgIq2d>=#VMRAIs|GanL9e^biUE* zjPJ_daH$ZS>#3DuB%J3!9I@UdrtGfs2&az-PEl3>rcE1$W?j#VIR`WPc}8^jE%gt} z6&=ROWQB4>u3ej>0F(r`%kvXhglUM*ci>WPGcKGXpA(5#;mVhtb-&T!aNnJTd02a8pV?1!HlCr!t+q6CaW4Y z6k!5iA1z?R6EdChHb4cxZU8CrTDBr)aP3nX4JU(7VhN^<{tfVa}Vx05=bW1DF@SvHotxK>P?f zzQm6ktpm;z&Xp~b_f{B1{(%aM5iH3zUu`&BkJ=r>I;FBVb-wnfuwC6Z9n($!7^JbC z`u*e(a+40iKYjcMcvcWd>7^>d%NEJf%ec_sO3D}BS zP&YoF<@V9xs0syuBm!qV87CxT?1j$zC8C_^%FmRP_v#^cfc^^72VE?yDE7>%aV+Db z*Zwcdj@xqPKWl8nF_T;O1ndWS6A92kp1k#5B^CGKQ=%WaMkN7>@vGN)o(d;fzpdn%2%zbs+lrC zRekx|>lFKU3ZhQ_Z1=eX4yf+t*rbn~T_8)lqD;#nhI(%YIk+$O1hG9#VgPWdu? z4BRWi0&Su^s=I-e8-6Fwkj;?ZkS%Qhuxti7r!u)zjb;y6cLvhDBf|)cfx=D)~<)gxJODB zI%V~FZSX^=C%Yw0PiYPgBIdLBr+Oj#0&sJDWjar+wB;BxP$qhVo-N+U)zJGyk8oT>pWWh4TZ4kLOuR z;Fc)9F5-*tx}@4x*#;d_Qqg8_tDUdqywBzHkd)96%4+Dh0%twTzPKh|(S%#ibVzr` zi2U4f5&qTSx`*uJiPP>>x|g3Oubrs=lQm`Z2>o>PR|Tzw{0$uD(11{w-xQ|ZEVVm6 zy@$NtM2|J+-uLVTYJ`lB|LXlsO$?G(f}D+3n??JUc6?(CCfoeV47@$yjmz3wBBT-; zZaxPaV)8M{jex^ewRqti+kSk1+{Y^H&SL)ynPz}7KWo;EaATJR(QF|nIN8`ptWBqZ{e zSO4^m;3$DH4#QD^2Q)JT%O>pi4XX#i#d%n`mV|x3Kyx+9uFeMQp0&!0>^q3+TRJXW zgby7nIi3#A>qI{#C$GIC{Z912>mAQU&+1A$p{Civt(*r_siolhM5pZahRr*hIns+hv3_UvJHk>Y*3lk}@hi8g#Y36*(RBN_Kb1yv|;D9Zo z)@Hh|g3!Gj*O6_juXy-6Q1v9^-lHcX9XCWLeuIT(n~^Td@Ac={&Vg}*p|iD&g*)M8 zEx!?s&Ptev!qDq4jDud`+QFF`(2vcxg-)$`_n1!|j42h}YDpqjzZ}yKi>07|7eYa* zrbqayB5YRnN|!@rN9Y%~8UauZ0&-n5eOuVICOJHq6J|;(KzzRX4PAKAZD}jA z5$@c@oR-{E;c@tu`DUU?-U5Ha0H>Mf|3$Sp1_SmBSG1#rv%2@-J_NGl8J_JRg7ULUxmQ4s3$s6c@r6e02fd08sN+2PRIR~Kjr;L zx{FOMWkES%*?0yN03Nt1Bh^r4ch zY7>Py;X{QC1*u$(6t4xw-aWVl8P>rps#1fX-{SJvz0bQZf zs|+X4FwMHBfP8Xi>+bV)>dS)2s7nk9IydzhwPHsQ>869hY2Zx6l0{){Cw&i&HPttg zn2(XOF$iJB{lAmP%ZiZM$IvfdS^aqbIC+I>q7#UgFC8dt?dn{Rr-yA&sl&^yW8TFq z^JhB=z!wC>gM3<@H5Ja?D_eAkIU?)9V6HC=Xq98#WV^XKxJd}@pG zmFwbJd{iLUzSzmiWpUIJZz<=p`7EPmPZIRtjK~$er(B`oJ>p|%I0R-X5zuUaK2}~= zj9B3c(=Pl5iySdaOm4UneU8_%ym@E^ z%-G^$KDWhoM4!!~5UM}RmpkBH&$Mp($a(|I-K;-q(v-f21#-!VrRReZo!Iz z9J`q1P~wGpNyYeLXi%!;b`p5;URw`;*(lH|5 zgI(Dxqv7UruTUGCyzSg%|3X-S!#6bDnm*bEfg8)w8d`dozO|8~jiFj^x zL?KSH>e;rfRg9bm3{0*9y?@t~!DON;$)8aZFG<2fePkSByp@Ln#-tfk{0Av{k|n+~ zk4?2oVA{Hx4pv!Kt#f;sFbw@#R!3vn2&c-{BY_@IUeR$%);qTg1Ps*H%*S4S0!uC@ zQyPlvw>dr7G%*t;=lm6Hcr`z~H_7PxE?pN{GLSOIA8kY4Ze85W!&gk(YWxVdz^yI8 zKRMpyG0g*LvKCi%q<@%p#}bLj$>d!9OSfnhPp#@R+u+gHHT*^PBK5 znCw!3AWj@NNWG}WAb5EK(9l`I% zfBdS=utqd|rcZl-EjA(;v#ILvih!RVVm{BMT&0|vwr;J8S*eif*=UxART zDT0hhq7%N?18vK(qCw=rhc^cSL}V-x#5&2Q82t4(ajo<4*DW)8vbeZ7@#qtfvO&M3 zBzJi$!hHrDpHdJ357r*vP}?%TLmu2$+_{&M#lbQi-uE z=j&{IJHK|Iu6r$yEg=a1-pmdJ?7q6>0GUQyoo{t?#e?g~ecn)NmGhcW1o`fOZdw6K zMBmss)ti6^A-N>TwS0PVlzT{?1XBR2y86nWrx*ZsMd}d3j`lL3)SKE@1Y4?hHK!4B zS3i9_8j|1C0m8MxkoTG{qtY}>8**d5(;kE*C3l&>0Ym48l(UJ-B`@GFZQa#Pb<-D^ z={lPaT%;@(!RE=0(;up|tX8&deUql|^BgUDfuR}h(8|es@Nst4`|nC!qHgAOYn~eQ zj{PenT^uOi2Yis|i3aB$sT!m$;q)p_Dv;Y>ab_84_|J+6zgtYCHi0L=huHmmOp(WS@u5PUKxC^PZG0Sdq3G??n(qh;F@uogEQOkc`;T15%MwS0sH?#cQGrSY zi#Xe^PTyaZQF{d@nVU1G(UUIPTq%Oq6SQ?)^P+MOb}GLx4f82(0OEv`iQ2U(%Jsga z5WxSya%Y>_T$CID`iy{evu6gNBO#;i4OoN&T|s}eNHc$~B<-e8hZq1X-@bNEm=OXc z8_OasuMmj<(iew$fcPNOB#=Q$YEkv@>2L3+1DE)VXe5@;n-;2FlvE1;og$^FFrw7) z@8?yApWiI@hOaKReU48G1)@R6($U=$7FEV;$WOx4GuA z5eM&=j^|2nAsa&AA+s}4{V06-ory%NrwU8W9`LTxtvykie1 zyP@CLzE(K2eu70Ip7QJdajYFL@fAJeT1dh|z>0MHVM3>Dg(t=X3!0sV*?&yX4YJAu z>!l{9&Bz}Zwg3vnGJqLa(!1pHdhMB9Q=r+Cd&wYGz_ZF*ZR$c6S;P4(gVt`@oFw5K z$bHiqw*f~_>Dg^pQU}K`m67XtyF9aXrRUC(brCl?;L)~!#thH?4%jgobcql@Y{)M# zc>+`eolnHt|Cl~vT6ww&Kr1ASzX`0cIq;S-B6|a@nvcZY3&17;`FGgdf3~=Q^EJ>S zqBiF&Ld4g~Z9`zm4MG-~+@$^ZFB`B-tl83zo|0($E zJTjkbX{(#`N%KyJy&N=3USS|tch}sl-}+-DOpuxh>T*7WT=WQfgwxLV4SlhipHcyY zdVn*GddJ?4khTKnwS70vGw$P_EazAlc?QucQDhier)JU_~xu>*`hF`IL%*r->}Zxt%f z<1cjmp%st|Sa_>mH9<;w`cpS6l3g5mI=Ek8Qb9h9tnAq#bJfGuBm#DC^EP4S>+cwq z59G595yb=BLCwE6-SGc%)^%0-!_9y2#Jq=A$IL$3@*=<=C*x-)8ZVNb*H$ym5^ZlA zfwhzvFI)dDZZO(9{;{aruz$7BNX{=;)ZwK@)vTU=N)=4a(<=i_#AU+wOf6|ONWm1J z-!_8(oI=yOR+n6b`>C;YJa1l?`LFqn_WBuCa#b>Dvy@H)?f3RRI2DuD8Z=uF&3Q1h zO~Rr}^qrJ_F69J2`SR{rvdv8(TzK30wfa)w+$5`=iIwpqRvk1oSDPOkR$V-wGJw$pm|F>3Td3CS^ zq?=dqa#0*@?_q-3ed!DJXtrI0UiZCsrSW`5MRI6XF4b=y&9ji>m5!ACyvkyjc}dEP z4DNFh97>^q4_tof5$0xQaTYW>=Oc7@eEXK{?)r$v?S=bq{@{tlS3e}!M;hO;8MLa_ zKyTzS+_JbXlKV>y<+Ci)lPCCFEtSc#P>4x0S5QaQ)z)-n=bU$CCrjOnz}p`XC^AkL zI?YdJq+m2$92A2Fp6}!B%)+CR08|8*;AZ4 zS!F#*Ew@@&;bCwu>uYrDxvzVr51FEkzPEUPD7}R&Z>m2;aWC+aP#^w*_|V_f$-nsT z|GlQ4@zbyUH?Kmjy%Mx-4>x|>cxCkUcfZ@1CqISk*B=!?6`ZK*TTA;F=YbflRsRwV zfy_b8k=IO1EtjuUNZ(H;y8!x?-2j*`f zC89fJW1HoJT-WBnumA6sWnL>LPhLCn+lF^b|9mKe4y#08LtXG+*JLU9WbMcZz$7{w zh^C-suR)p_*syl%KX)}hT_DZeJf2QDL?t+t1{S<8-7}{w4gK+p-R1_$@TZuq(N|pJ zUWa#8#R6W)c`b=>qan!ng{w_qRU4Qnh&wwNi|LOM4cIX-C3OuDv0Z;ruOHdGg|Snl z`@MRr^=QAg3S_(k>UMP^#R4MoG?!YtrJ)kFRAvOfb;R4=-iODlY-9$v&7RC5U$`xS zz^KvGBPZiOITdN%E%AzT<{vT~So++SfI{baOSmnuF#){JiYqj_wlYqZpA%dbV zA-en(V4cerNM&n0Y;s?%ubT0r9`ILs_EW>5wf4OLa@x9t})^n8-q z-P!*Q{<32jaxH(>5fUCygj!84os{Fddx$~~MFy>N*_r!n~}GsXYz`r&-| zv)LBBH>>4~cjNDp4%q|#%n*A9-Ez_m_;NGoA=xPTKD0=D4fF>K(X8W%U+)|@*g|m+ z0f(Ia{1N9H8K0xyFNQS!`{!#K6EDWsh2zBCU%>7&OeDXYJZnxyzW+z=U!WslKL3l( zJvjBhy-D`eReb8Fyo`Od{@d>%F!8yg;U8v+c9s7=DTMpY0hpA;?%o0)WJ21erE<%Z zGKdmsN8Ds3{&^V92=kl0S(bd{f1hP{^Ld#P7-fk2&*a_p)2nkD76q8EOcu|Uu5VT} eX4Wfb=QS-2u8h?|f?(UZbGn*F8r5o#BL4^P=z!7y delta 17841 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 From 1b96c57cc9e93b9628c4cc04a0e82b27209d10d3 Mon Sep 17 00:00:00 2001 From: Ksenia Krasheninnikova Date: Mon, 15 Apr 2024 14:48:42 +0100 Subject: [PATCH 09/14] Make sure oatk output is published --- conf/modules.config | 2 +- conf/test.config | 8 -------- docs/output.md | 4 ++-- 3 files changed, 3 insertions(+), 11 deletions(-) diff --git a/conf/modules.config b/conf/modules.config index 399594c..3673f5d 100644 --- a/conf/modules.config +++ b/conf/modules.config @@ -218,7 +218,7 @@ process { saveAs: { filename -> filename.equals('versions.yml') ? null : filename } ] } - withName: '.*OATK' { + withName: '.*ORGANELLES:OATK' { ext.args = "-k1001 -c90 -Ttmp" publishDir = [ path: { "${params.outdir}/${meta.id}.${params.hifiasm}/oatk" }, diff --git a/conf/test.config b/conf/test.config index 4c6c4a7..09b6896 100644 --- a/conf/test.config +++ b/conf/test.config @@ -26,11 +26,3 @@ params { polishing_on = true hifiasm_hic_on = true } - -process { - // Set up of the scffolding pipeline - withName: 'YAHS' { - // Skip the initial assembly error correction step - ext.args = '-r 1000,2000,5000' - } -} diff --git a/docs/output.md b/docs/output.md index b4b0e47..b4fd4af 100644 --- a/docs/output.md +++ b/docs/output.md @@ -176,9 +176,9 @@ This subworkflow is used to evaluate the quality of sequences. It is performed a - \*.hifiasm.\*/mito..\*/contigs_stats.tsv - summary of mitochondrial findings - output also includes other output files produced by MitoHiFi -- \*.hifiasm.\*/oatk/.*mito.ctg.fasta +- \*.hifiasm.\*/oatk/.\*mito.ctg.fasta - mitochondrion organelle assembly -- \*.hifiasm.\*/oatk/.*mito.gfa +- \*.hifiasm.\*/oatk/.\*mito.gfa - assembly graph for the mitochondrion assembly - output also includes other output files produced by oatk From 85310d1c49dff25320c97ab9673fa1f531f6944c Mon Sep 17 00:00:00 2001 From: Ksenia Krasheninnikova Date: Tue, 16 Apr 2024 10:47:20 +0100 Subject: [PATCH 10/14] Add support for plastid for oatk (optional) --- assets/test.yaml | 2 ++ subworkflows/local/organelles.nf | 11 +++++++++-- subworkflows/local/prepare_input.nf | 2 ++ workflows/genomeassembly.nf | 3 ++- 4 files changed, 15 insertions(+), 3 deletions(-) diff --git a/assets/test.yaml b/assets/test.yaml index d58fbb5..783f980 100644 --- a/assets/test.yaml +++ b/assets/test.yaml @@ -16,3 +16,5 @@ mito: min_length: 15000 code: 5 fam: /lustre/scratch124/tol/projects/darwin/users/cz3/organelle_asm/hmm_db/insecta_mito.fam +plastid: + fam: /lustre/scratch124/tol/projects/darwin/users/cz3/organelle_asm/hmm_db/acrogymnospermae_pltd.fam diff --git a/subworkflows/local/organelles.nf b/subworkflows/local/organelles.nf index c23593a..4b5eb96 100644 --- a/subworkflows/local/organelles.nf +++ b/subworkflows/local/organelles.nf @@ -10,6 +10,7 @@ workflow ORGANELLES { reads_input // channel: [ val(meta), datafile ] contigs_input // channel: [ val(meta), datafile ] mito_info // channel: [ val(species), val(min_length), val(code), val(email), val(fam) ] + plastid_info // channel: [ val(fam) ] main: ch_versions = Channel.empty() @@ -54,11 +55,17 @@ workflow ORGANELLES { file(fam.toString()+'.h3i', checkIfExists: true), file(fam.toString()+'.h3m', checkIfExists: true), file(fam.toString()+'.h3p', checkIfExists: true) ]} - .set { hmm_input } + .set { mito_hmm_input } + plastid_info.map{ fam -> fam ? [ file(fam.toString(), checkIfExists: true), + file(fam.toString()+'.h3f', checkIfExists: true), + file(fam.toString()+'.h3i', checkIfExists: true), + file(fam.toString()+'.h3m', checkIfExists: true), + file(fam.toString()+'.h3p', checkIfExists: true) ] : [[],[],[],[],[]]} + .set { plastid_hmm_input } // // MODULE: RUN OATK TO IDENTIFY MITO // - OATK(reads_input, hmm_input, [[],[],[],[],[]]) + OATK(reads_input, mito_hmm_input, plastid_hmm_input) ch_versions = ch_versions.mix(OATK.out.versions.first()) emit: diff --git a/subworkflows/local/prepare_input.nf b/subworkflows/local/prepare_input.nf index 53e660d..3b3848c 100644 --- a/subworkflows/local/prepare_input.nf +++ b/subworkflows/local/prepare_input.nf @@ -27,6 +27,7 @@ workflow PREPARE_INPUT { dataset : (data.dataset ? data.dataset : []) busco : (data.busco ? data.busco : []) mito: ( data.mito ? ['\"'+data.mito.species+'\"', data.mito.min_length, data.mito.code, data.mito.email ? data.mito.email : "\"\"", data.mito.fam ? data.mito.fam : "\"\"" ] : []) + plastid : ( data.plastid ? ( data.plastid.fam ? data.plastid.fam : "\"\"" ) : []) hic_motif : (data.hic_motif ? data.hic_motif : []) } .set{ ch_yml_data } @@ -74,6 +75,7 @@ workflow PREPARE_INPUT { illumina_10X = dataset_ch.illumina_10X_ch busco = busco_ch mito = ch_yml_data.mito + plastid = ch_yml_data.plastid versions = ch_versions.ifEmpty(null) // channel: [ versions.yml ] } diff --git a/workflows/genomeassembly.nf b/workflows/genomeassembly.nf index d09221c..5d6d26c 100644 --- a/workflows/genomeassembly.nf +++ b/workflows/genomeassembly.nf @@ -152,7 +152,8 @@ workflow GENOMEASSEMBLY { // // SUBWORKFLOW: INDETIFY MITO IN THE RAW READS AND ASSEMBLY CONTIGS // - ORGANELLES(CAT_CAT_MITOHIFI_READS.out.file_out, merged_pri_alt_raw, PREPARE_INPUT.out.mito) + ORGANELLES(CAT_CAT_MITOHIFI_READS.out.file_out, merged_pri_alt_raw, + PREPARE_INPUT.out.mito, PREPARE_INPUT.out.plastid) ch_versions = ch_versions.mix(ORGANELLES.out.versions) } From 0d55f1547c6d6832f22a5d09147d9afd04a86bfb Mon Sep 17 00:00:00 2001 From: Ksenia Date: Tue, 16 Apr 2024 10:54:26 +0100 Subject: [PATCH 11/14] Update CHANGELOG.md Updates based on code review --- CHANGELOG.md | 74 +++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 71 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 85ebef3..f57fb82 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,9 +3,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [[0.9.1](https://github.com/sanger-tol/genomeassembly/releases/tag/0.9.1)] - Hideous Zippleback - [2024-04-15] - -Initial release of sanger-tol/genomeassembly, created with the [nf-core](https://nf-co.re/) template. +## [[0.10.0](https://github.com/sanger-tol/genomeassembly/releases/tag/0.10.0)] - Hideous Zippleback - [2024-04-15] ### Enhancements & fixes @@ -26,3 +24,73 @@ Note, since the pipeline is using Nextflow DSL2, each process will be run with i | oatk | | 1.0 | **NB:** Dependency has been **added** if just the new version information is present. + +## [[0.9.0](https://github.com/sanger-tol/genomeassembly/releases/tag/0.9.0)] - Night Fury - [2023-12-15] + +Initial release of sanger-tol/genomeassembly, created with the [nf-core](https://nf-co.re/) template. + +### Enhancements & fixes + +- Created with nf-core/tools template v2.8.0. +- Implements the basic genome assembly pipeline used in ToL +- Subworkflow to generate Genomescope model +- Subworkflow to generate a raw genome assembly +- Subworkflow to purge haplotigs from primary +- Subworkflow for polishing with 10X data +- Subworkflow for HiC mapping +- Subworkflow for scaffolding +- Subworkflow to run organelles assembly +- Subworkflow to estimate statistics using gfastats, BUSCO, MerquryFK. + +### Parameters + +| Old parameter | New parameter | +| ------------- | ---------------------- | +| | --input | +| | --bed_chunks_polishing | +| | --cool_bin | +| | --polishing_on | +| | --hifiasm_hic_on | +| | --organelles_on | + +> **NB:** Parameter has been **added** if just the new parameter information is present. + +### Software dependencies + +Note, since the pipeline is using Nextflow DSL2, each process will be run with its own [Biocontainer](https://biocontainers.pro/#/registry). This means that on occasion it is entirely possible for the pipeline to be using different versions of the same tool. However, the overall software dependency changes compared to the last release have been listed below for reference. + +| Dependency | Old version | New version | +| --------------- | ----------- | ---------------------------------------- | +| bcftools | | 1.17, 1.16 | +| bed_chunks.sh | | 1.0 | +| bedtools | | 2.31.0 | +| busco | | 5.4.3 | +| bwamem2 | | 2.2.1 | +| coverage.sh | | 1.0 | +| cooler | | 0.8.11 | +| cut | | 8.30 | +| fastk | | f18a4e6d2207539f7b84461daebc54530a9559b0 | +| freebayes | | 1.3.6 | +| gatk4 | | 4.4.0.0 | +| genescope | | 380815c420f50171f9234a0fd1ff426b39829b91 | +| gfastats | | 1.3.5 | +| GNU Awk | | 5.1.0 | +| hifiasm | | 0.19.3-r572 | +| juicer | | 1.1 | +| juicer tools | | 1.9.9 | +| longranger | | 2.2.2 | +| merquryfk | | 8ae344092df5dcaf83cfb7f90f662597a9b1fc61 | +| minimap2 | | 2.24-r1122 | +| mitohifi | | 3.0.0 | +| pigz | | 2.3.4 | +| pretextmap | | 0.1.9 | +| pretextsnapshot | | 0.0.4 | +| purge_dups | | 1.2.5 | +| python | | 3.11.0, 3.8.1 | +| R | | 4.2.0 | +| samtools | | 1.17, 1.16.1 | +| seqtk | | 1.3-r106 | +| yahs | | 1.2a.1 | +| yaml | | 6.0 | + +**NB:** Dependency has been **added** if just the new version information is present. From 3dec51b944392b1d78c95bce76657a7c1c44ef72 Mon Sep 17 00:00:00 2001 From: Ksenia Date: Tue, 16 Apr 2024 10:58:37 +0100 Subject: [PATCH 12/14] Update output.md Add description about plastid --- docs/output.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/docs/output.md b/docs/output.md index b4fd4af..5a92b0b 100644 --- a/docs/output.md +++ b/docs/output.md @@ -177,14 +177,18 @@ This subworkflow is used to evaluate the quality of sequences. It is performed a - summary of mitochondrial findings - output also includes other output files produced by MitoHiFi - \*.hifiasm.\*/oatk/.\*mito.ctg.fasta - - mitochondrion organelle assembly + - mitochondrion assembly - \*.hifiasm.\*/oatk/.\*mito.gfa - assembly graph for the mitochondrion assembly +- \*.hifiasm.\*/oatk/.\*pltd.ctg.fasta + - plastid assembly +- \*.hifiasm.\*/oatk/.\*pltd.gfa + - assembly graph for the plastid assembly - output also includes other output files produced by oatk -This subworkflow implements assembly of organelles. First it identifies a reference mitochondrion assembly by quering NCBI then MitoHiFi is called on raw HIFI reads and separately on the assembled contigs using the queried reference. Separately OATK is called on the raw reads.

+This subworkflow implements assembly of organelles. First it identifies a reference mitochondrion assembly by quering NCBI then MitoHiFi is called on raw HIFI reads and separately on the assembled contigs using the queried reference. Separately OATK is called on the raw reads. For plants an optional path to plastid HMM can be provided in YAML then OATK will be tried for both types of organelles

![Organelles subworkflow](images/v1/organelles.png) From 838914f43868a3ddd7e0864827d574be602d9b1d Mon Sep 17 00:00:00 2001 From: Ksenia Krasheninnikova Date: Tue, 16 Apr 2024 11:10:28 +0100 Subject: [PATCH 13/14] Update schema description --- CHANGELOG.md | 2 +- assets/schema_input.json | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f57fb82..a5fc464 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -72,7 +72,7 @@ Note, since the pipeline is using Nextflow DSL2, each process will be run with i | fastk | | f18a4e6d2207539f7b84461daebc54530a9559b0 | | freebayes | | 1.3.6 | | gatk4 | | 4.4.0.0 | -| genescope | | 380815c420f50171f9234a0fd1ff426b39829b91 | +| genescope | | 380815c420f50171f9234a0fd1ff426b39829b91 | | gfastats | | 1.3.5 | | GNU Awk | | 5.1.0 | | hifiasm | | 0.19.3-r572 | diff --git a/assets/schema_input.json b/assets/schema_input.json index 36f31f1..9d5ca36 100644 --- a/assets/schema_input.json +++ b/assets/schema_input.json @@ -44,6 +44,40 @@ "errorMessage": "busco lineage to run" } } + }, + "mito": { + "type": "object", + "properties": { + "species": { + "type": "string", + "errorMessage": "Latin name" + }, + "min_length": { + "type": "string", + "errorMessage": "Minimal allowed length of the mito reference" + }, + "email": { + "type": "string", + "errorMessage": "email to query NCBI" + }, + "code": { + "type": "string", + "errorMessage": "Mitochondrial code" + }, + "fam": { + "type": "string", + "errorMessage": "Path to mitochondrial HMM for OATK" + } + } + }, + "plastid": { + "type": "object", + "properties": { + "fam": { + "type": "string", + "errorMessage": "Path to plastid HMM for OATK" + } + } } }, "required": ["dataset", "busco"] From eb3f9a60a107d8cb38a7b677b2ccaf228c870cfe Mon Sep 17 00:00:00 2001 From: Ksenia Date: Tue, 16 Apr 2024 15:19:19 +0100 Subject: [PATCH 14/14] Update release date --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a5fc464..244fd1f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [[0.10.0](https://github.com/sanger-tol/genomeassembly/releases/tag/0.10.0)] - Hideous Zippleback - [2024-04-15] +## [[0.10.0](https://github.com/sanger-tol/genomeassembly/releases/tag/0.10.0)] - Hideous Zippleback - [2024-04-16] ### Enhancements & fixes